Subversion Repositories DevTools

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5048 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'   sdk_names_edit.asp
4
'   This file is designed to be injected (loaded) into a 'div' on a window
5
'   It is a pop up dialog
6
%>
7
<script>
8
$( "#f1" ).dialog({
9
autoOpen: true,
10
width: 500,
5102 dpurdie 11
position: { my: "top", at: "top+100", of: window },
5048 dpurdie 12
modal: true,
13
draggable: true,
14
resizable: true,
15
dialogClass: "rounded_box",
16
        buttons: [
17
            {
18
            text  : 'Save',
19
            class : 'hideOnError',
20
            click : function(){
21
                        clearInfo();
22
                        $( "#f1" ).submit();
23
                        },
24
            },
25
            {
26
            text : 'Cancel',
27
            click : function(){ 
28
                        $( this ).dialog( "close" ); 
29
                        },
30
            },
31
        ],
32
open: function( event, ui ) {
33
        populateSdkForm(this);
34
        },
35
close : function(event, ui ){
36
        // Need to remove DOM elements on close so that
37
        // When it is opened again - the binds occur correctly
38
        $(this).dialog('destroy').remove();
39
        },
40
});
41
 
42
function setInfo(txt) {
43
    $("#info").text( txt).addClass("error");
44
}
45
 
46
function clearInfo(txt) {
47
    $("#info").text("").removeClass("error");
48
}
49
 
50
$.validate({
51
    form: '#f1',
52
    validateOnBlur : false,
53
    onSuccess : function(f) {
54
        processSdkForm(f);
55
    },
56
 
57
});
58
 
59
// Severe Error processing
60
//  Disable all the inputs on a form
61
//  Hide dialog buttons marked to be hidden
62
//  All the user can do is read the erro message and close the form
63
function disableForm()
64
{   
65
    var form = $("#f1");
66
    form.dialog( "widget" ).find(".hideOnError").hide();
67
    form.find(":input").prop("disabled",true);
68
}
69
 
70
function populateSdkForm(f)
71
{
5097 dpurdie 72
    getAjaxData (
73
        "sdk_opr_json.asp",
74
        { action : "getSdkNameData", sdkId : <%=Request("sdkId")%> },
75
        function(data){
5048 dpurdie 76
            $("#sdk_id").val(data.aaData.SDK_ID);
77
            $("#sdk_name").val(data.aaData.SDK_NAME);
78
            $("#sdk_comment").val(data.aaData.SDK_COMMENT);
5102 dpurdie 79
            populateProjects(data.aaData.PROJ_ID);
5097 dpurdie 80
            populateBaseView(data.aaData.VIEW_ID);
81
        });    
5048 dpurdie 82
}
83
 
5102 dpurdie 84
//  Populate the Projects dropdown
85
//      base_id  - Select this entry if possible
86
function populateProjects(base_id) {
87
    getAjaxData (
88
        "sdk_opr_json.asp",
89
        { action: "getProjectList" },
90
        function(data){
91
            // Populate selection
92
            var $options = $("#sdk_projects").empty();
93
            var name
94
            $options.append($("<option disabled/>").val(null).text('Select One'));
95
            $.each(data.aaData, function (index, value) {
96
                $options.append($("<option />").val(value.PROJ_ID).text(value.PROJ_NAME));
97
            });
98
            $options.val(base_id);
99
        });    
100
}
101
 
102
 
5097 dpurdie 103
//  Populate the Base Views
104
//      base_id  - Select this entry if possible
105
function populateBaseView(base_id) {
106
    getAjaxData (
107
        "sdk_opr_json.asp",
108
        { action: "getBaseViews" },
109
        function(data){
110
            // Populate selection
111
            var $options = $("#sdk_base_view").empty();
112
            var name
113
            $options.append($("<option disabled/>").val(null).text('Select One'));
114
            $.each(data.aaData, function (index, value) {
115
                $options.append($("<option />").val(value.VIEW_ID).text(value.VIEW_NAME));
116
            });
117
            $options.val(base_id);
118
        });    
119
}
120
 
5048 dpurdie 121
function processSdkForm(f)
122
{
5097 dpurdie 123
    getAjaxData (
124
        f.attr("action"),
125
        f.serializeArray(),
126
        function(data){
127
            $("#sdk_version").trigger('sdkNameEdited');
128
            f.dialog( "close" );
129
        });    
130
}
131
 
132
$( "#f1" ).submit(function(e) {
133
        e.preventDefault(); //STOP default action
134
        return false;
135
        });
136
 
137
//  getAjaxData - with error processing
138
//      url - url to fetch
139
//      data    - additional data to pass to ajax request
140
//      success - function to call on success
141
function getAjaxData( url, data, success )
142
{
5048 dpurdie 143
    clearInfo();
144
    $("#progressBar").css('visibility', 'visible');
145
    $.ajax(
146
    {
5097 dpurdie 147
        url : url,
5048 dpurdie 148
        type: "POST",
5097 dpurdie 149
        data : data,
5048 dpurdie 150
        dataType : "json",
151
        cache: false,
152
        success:function(data, textStatus, jqXHR)
153
        {
154
            //data: return data from server
155
            //console.log ("UpdateData", data);
156
            if (data.result != 0)
157
            {
158
                setInfo("Error:" + ((data.error != 0) ? data.emsgSummary : "Reason not given"));
159
                if (data.error >= 0) disableForm();
160
                return;
161
            }
5097 dpurdie 162
            //  call user success function
163
            if (jQuery.isFunction(success))
164
            {
165
                success(data);
166
            }
5048 dpurdie 167
        },
168
        error: function(jqXHR, textStatus, errorThrown)
169
        {
170
            setInfo("Error:" + errorThrown);
171
            disableForm();
172
            //if fails
173
        },
174
        complete : function()
175
        {
176
            $("#progressBar").css('visibility', 'hidden');
177
        }
178
    });
5097 dpurdie 179
}
5048 dpurdie 180
 
181
//# sourceURL=sdk_names_edit.js
182
</script>
183
<form title="Edit Entry" id=f1 action="sdk_opr_json.asp" class=td>
184
    <div id="info"></div>
185
	<DIV id='progressBar' style='visibility:hidden;'>
186
        <img src='icons/i_processing.gif' width='79' height='14'>
187
    </DIV>
188
 
189
    <p><label for="sdkName">SDK Name:</label>
5053 dpurdie 190
    <br><input id=sdk_name type="text" name="sdkName" maxlength=50 size=40 data-validation="length,alphanumeric" data-validation-length="min4" data-validation-allowing="_. -">
5048 dpurdie 191
 
192
    <p>Comment:
193
    <br><textarea id=sdk_comment name="sdkComment" cols=40  data-validation="length" data-validation-length="5-4000"></textarea>                                              
194
 
5102 dpurdie 195
    <p>Project:
196
    <br><select id=sdk_projects name="sdkProject" data-validation="required"></select>                                              
197
 
5097 dpurdie 198
    <p>Base View:
199
    <br><select id=sdk_base_view name="sdkBaseView" data-validation="required"></select>                                              
200
 
201
    <input type="hidden" name="action" value="updateSdkName">
5048 dpurdie 202
    <input id=sdk_id type="hidden" name="sdkid" value="">
203
</form>