Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5050 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'   sdk_versions.asp
4
'   This file is designed to be injected (loaded) into a 'div' on a window
5
'
6
'   Display the SDK Versions available for the specified SDK
7
'   Allow selection of an SDK Version
8
'       - To be edited
9
'       - Allow filering of SDK Versions
10
'       - Allow state change of versions
11
'       - Allow creation of new versions
12
'   
13
%>
14
<script>
5055 dpurdie 15
//# sourceURL=sdk_versions.asp
5057 dpurdie 16
 
17
//  Populate the header of this page
18
//
19
//  Get getSdkVersionDetails
20
//      When this is complete we will populate the remainder of the
21
//      page.
5050 dpurdie 22
var table;
5057 dpurdie 23
var sdkDetails = {};
24
getAjaxData (
25
    "sdk_opr_json.asp",
26
    { action: "getSdkDetails", sdk_id : <%=Request("sdk_id")%> },
27
    function(data){
28
        sdkDetails = data.aaData;
29
        $("#sdk_section_head").text( sdkDetails.SDK_NAME);
30
        detailsAvailable();
31
    });    
32
 
33
//  Basic details are available
34
//      Configure the remainder of the widgets on the page
35
function detailsAvailable()
36
{
37
    //  Configure the Summary Table
38
    table = $('#sdk_versions').DataTable({
39
            deferRender: true,
40
            dom: "rtiS",
41
            sScrollY: $( document ).height() - 300,
42
            scrollCollapse: true,
43
            processing: true,
44
            retrieve:true,
45
            serverSide: true,
46
            ajax : {
47
                url : "sdk_versions_json.asp",
48
                data : function (o){
49
                    o.sdk_id = <%=Request("sdk_id")%>;
50
                    o.sdkstateFilter = getDisplayFilter();
51
                },
5050 dpurdie 52
            },
5055 dpurdie 53
 
5057 dpurdie 54
            ordering: true,
55
             order: [[ 1, "asc" ]],
56
             columns: [
57
                { data: "SDKTAG_ID", visible : false },
58
                { data: "SDKTAG_NAME", width: "20%", className: "dt-nowrap"  },
59
                { data: "DESCRIPTION" },
60
                { data: "CREATED_STAMP_TXT", className: "dt-nowrap" },
61
                { data: "CREATOR_NAME" , className: "dt-nowrap"},
62
                { data: "SDK_STATE", width: "5%"},
63
                { data: "SDK_EDIT", orderable: false },
64
                { data: "SDK_MODIFY", orderable: false },
65
            ],
66
            });
5050 dpurdie 67
 
5055 dpurdie 68
//  Process each row of table data before it is presented to the table scroller
69
//  Process the raw Ajax data
70
//      Add 'Edit' box
71
//      Decode State
72
$('#sdk_versions').on('xhr.dt', function ( e, settings, json ) {
73
        json.aaData.forEach(function(row){
74
            row.SDK_EDIT   = "<button class='rmbutton editSdk' data-sdktag_id='" + row.SDKTAG_ID + "' title='Edit Version Name and Description'>Edit</button>";
75
            row.SDK_MODIFY = "<button class='rmbutton modifySdk' data-sdktag_id='" + row.SDKTAG_ID + "' title='Modify content of the SDK'>Modify</button>";
76
 
77
            switch (row.SDK_STATE)
78
            {
79
            case 'U' : row.SDK_STATE = 'WIP'; break; 
80
            case 'R' : row.SDK_STATE = 'Released'; break; 
81
            case 'D' : row.SDK_STATE = 'Deprecated'; break; 
82
            default  : row.SDK_STATE = 'Unknown'; break; 
83
            }
84
        });
85
    } );
86
 
87
 
5050 dpurdie 88
// Highlight selected row
89
$('#sdk_versions tbody').on( 'click', 'tr', function () {
90
    if ( $(this).hasClass('selected') ) {
91
        $(this).removeClass('selected');
92
    }
93
    else {
94
        table.$('tr.selected').removeClass('selected');
95
        $(this).addClass('selected');
96
    }
97
} );
98
 
5055 dpurdie 99
// Edit Button
100
$('#sdk_versions tbody').on( 'click', '.editSdk', function (e) {
101
     var sdktag_id = $(this).data().sdktag_id;
102
     $('#popmenu').load('sdk_version_edit.asp', {sdktag_id : sdktag_id});
103
} );
104
 
105
// Modify Button
106
$('#sdk_versions tbody').on( 'click', '.modifySdk', function (e) {
107
     var sdktag_id = $(this).data().sdktag_id;
108
     $("#sdk_versions").trigger('newPageBody', {url: 'sdk_details.asp', data : {sdktag_id : sdktag_id}});
109
} );
110
 
111
//  Double click in row - Select the SDK Version for display/edit
5051 dpurdie 112
$('#sdk_versions tbody').on( 'dblclick', 'tr', function () {
113
    $("#sdk_versions").trigger('newPageBody', {url: 'sdk_details.asp', data : {sdktag_id : table.row(this).data().SDKTAG_ID}});
114
 
115
} );
116
 
5057 dpurdie 117
//  Display control changes
118
$('#sel_display').on('change', function(){
119
    if (getDisplayFilter() == '') {
120
        $('#sel_released').prop('checked', true)
121
    }
122
    console.log("Chnage detected:" + getDisplayFilter());
123
    table.ajax.reload();
124
});
125
 
126
function getDisplayFilter()
127
{
128
    var filter="";
129
    if ($('#sel_deprecated').is(':checked')){ filter += ",'D'"; }
130
    if ($('#sel_released').is(':checked'))  { filter += ",'R'"; }
131
    if ($('#sel_wip').is(':checked'))       { filter += ",'U'"; }
132
 
133
    return filter.substring(1);
134
}
135
 
5050 dpurdie 136
//  Wire up the 'Add' button
137
//  This will pop up a dialog loaded from an external file
138
//
139
$( '#addSdkVersion' ).click(function() {
5053 dpurdie 140
    $('#popmenu').load('sdk_version_add.asp', {sdk_id : <%=Request("sdk_id")%>});
5050 dpurdie 141
    });
142
 
143
//  Listen for any trigger to force the table to be refreshed
144
$('#sdk_versions').on("sdkVersionAdded", function(){
145
    table.ajax.reload();
146
    });
5057 dpurdie 147
}
5050 dpurdie 148
 
5057 dpurdie 149
 
150
function setInfo(txt) {
151
    $("#sdkd_info").text( txt);
152
}
153
 
154
function clearInfo(txt) {
155
    $("#sdkd_info").text(" ");
156
}
157
 
158
//  getAjaxData - with error processing
159
//      url - url to fetch
160
//      data    - additional data to pass to ajax request
161
//      success - function to call on success
162
function getAjaxData( url, data, success )
163
{
164
    clearInfo();
165
    $("#sdkd_progressBar").css('visibility', 'visible');
166
    $.ajax(
167
    {
168
        url : url,
169
        type: "POST",
170
        data : data,
171
        dataType : "json",
172
        cache: false,
173
        success:function(data, textStatus, jqXHR)
174
        {
175
            //data: return data from server
176
            //console.log ("UpdateData", data);
177
            if (data.result != 0)
178
            {
179
                setInfo("Error:" + ((data.error != 0) ? data.emsgSummary : "Reason not given"));
180
                if (data.error >= 0) disableForm();
181
                return;
182
            }
183
            //  call user success function
184
            if (jQuery.isFunction(success))
185
            {
186
                success(data);
187
            }
188
        },
189
        error: function(jqXHR, textStatus, errorThrown)
190
        {
191
            setInfo("Error:" + errorThrown);
192
            //if fails
193
        },
194
        complete : function()
195
        {
196
            $("#sdkd_progressBar").css('visibility', 'hidden');
197
        }
198
    });
199
 
200
}
201
 
5050 dpurdie 202
</script>
5057 dpurdie 203
<div class=rmbutton style="position:relative;background-color:#DAD7c8;height:38px;padding:7px;margin-bottom: 7px;">
204
 
205
    <div id=sel_display style="float:left">
206
        <fieldset style="padding:2px">
207
            <legend>Display</legend>
208
            <span>Deprecated</span> <input id=sel_deprecated type=checkbox>
209
            <span>Released</span>   <input checked id=sel_released type=checkbox>
210
            <span>WIP</span>        <input checked id=sel_wip type=checkbox>
211
        </fieldset>
212
    </div>
213
 
5050 dpurdie 214
</div>
5057 dpurdie 215
 
216
 
217
<div class="form_ttl tleft" id=sdk_section_head>
218
  <!-- Section Header ---->
219
  Sdk Name
220
</div>
5050 dpurdie 221
<div class="rounded_box">
222
    <table id=sdk_versions class="full_table" >
223
        <thead>
224
        <tr class="body_col form_align">
225
          <th width="1%"> SDK&nbsp;ID
226
          <th width="10%"> Version
227
          <th> Description
5055 dpurdie 228
          <th> Created
229
          <th> By
5050 dpurdie 230
          <th width="1%"> State
231
          <th width="1%"> Edit
5055 dpurdie 232
          <th width="1%"> Mod
5050 dpurdie 233
        </thead>
234
    </table>
5057 dpurdie 235
    <div class=bg_dialog style="position:relative">&nbsp;
5050 dpurdie 236
        <span id="addSdkVersion" title="Add New SDK Version" style="float:left;">
237
            <img src="icons/btn_add.gif" width="13" height="13" align="absmiddle" border="0" hspace="3" >
238
            <a class=abtnItem>New</a>
239
        </span>
5057 dpurdie 240
 
241
  <!-- Info / Ajax Progress bar -->
242
  <div class='bg_dialog body_txt' style='float:left;min-height:1em;margin-left:1em' >
243
      <img id='sdkd_progressBar' style='visibility:hidden;position: absolute' src='icons/i_processing.gif' width='79' height='14'>
244
      <div id=sdkd_info  style='position: absolute;'></div>
245
  </div>
246
 
5050 dpurdie 247
    </div>
248
</div>