Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5051 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|  sdk_details.asp
5
'|  Edit an SDK Version
6
'|
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
' Good idea to set when using redirect
12
Response.Expires = 0   ' always load the page, dont store
13
%>
14
<!--#include file="common/conf.asp"-->
15
<!--#include file="common/globals.asp"-->
16
<!--#include file="common/formating.asp"-->
17
<!--#include file="common/qstr.asp"-->
18
<!--#include file="common/common_subs.asp"-->
19
<%
20
'------------ ACCESS CONTROL ------------------
21
%>
22
<!--#include file="_access_control_general.asp"-->
23
<%
24
'------------ Variable Definition -------------
25
Dim parSdkTag_id
26
 
27
'------------ Constants Declaration -----------
28
'------------ Variable Init -------------------
29
parSdkTag_id = Request("sdktag_id")
30
if parSdkTag_id = "" Then parSdkTag_id = 0
31
%>
32
<script language="JavaScript" type="text/javascript">
33
//# sourceURL=sdk_details.asp
5052 dpurdie 34
 
35
//  Get getSdkVersionDetails
36
//      When this is complete we will populate the remainder of the
37
//      page.
38
var sdkDetails = {};
39
getAjaxData (
40
    "sdk_opr_json.asp",
41
    { action: "getSdkVersionDetails", sdktag_id : <%=parSdkTag_id%> },
42
    function(data){
43
        sdkDetails = data.aaData;
44
        $("#sdkd_section_head").text( sdkDetails.SDK_NAME + " : " + sdkDetails.SDKTAG_NAME);
5053 dpurdie 45
         $("#sel_state input[name=state]").val([sdkDetails.SDK_STATE]);
5052 dpurdie 46
        detailsAvailable();
47
    });    
48
 
49
function detailsAvailable()
50
{
51
    //  Initial population of the Ref SDK Names   
5053 dpurdie 52
    populateSdkNames(sdkDetails.SDK_ID);
53
    populateContent(<%=parSdkTag_id%>);    
5052 dpurdie 54
 
55
    $("#sel_sdkname").change(function(){
56
        populateSdkVersions( $("#sel_sdkname").val());
57
    });
58
 
59
    $("#chk_sdkversion").change(function(){
60
        populateSdkVersions( $("#sel_sdkname").val());
61
    });
62
 
63
    $("#sel_sdkversion").change(function(){
64
        setInfo("New Ref SDK Value: " + $(this).val());
65
    });
66
 
67
    //  Detect change to the packages displayed
68
    //      Redisplay on change       
69
    $("#sel_exposed").change(function(){
70
        $('#sdk_content').dataTable().api().ajax.reload();
71
    });
72
 
73
    //  Detect change to the SDK State
74
    $("#sel_state input[type=radio]").change(function(){
75
        setInfo("State Changed " + $(this).val());
76
        getAjaxData (
77
            "sdk_opr_json.asp",
78
            { action: "setSdkState", sdktagId : <%=parSdkTag_id%>, sdk_state : $(this).val() }
79
            );
80
    });
5053 dpurdie 81
 
82
    // Delete the Version
83
    $("#sel_delete").on('click', function(){
84
        if ( confirm("Are you sure that you want to delete this version of the SDK") != true ) {
85
            return;
86
            }
87
 
88
        getAjaxData (
89
            "sdk_opr_json.asp",
90
            { action: "deleteSdkVersion", sdktagId : <%=parSdkTag_id%> },
91
            function(){
92
                $.event.trigger('newPageBody', {url: 'sdk_versions.asp', data : {sdk_id : sdkDetails.SDK_ID}});
93
                }
94
            );
95
    });
5051 dpurdie 96
}
97
 
5052 dpurdie 98
 
5051 dpurdie 99
//  Configure the Summary Table
5053 dpurdie 100
function populateContent(sdktag_id)
5052 dpurdie 101
{
102
    $('#sdk_content').DataTable({
103
        deferRender: true,
104
        dom: "frtiS",
105
        sScrollY: $( document ).height() - 255,
106
        scrollCollapse: true,
107
        processing: true,
108
        retrieve:true,
109
        serverSide: true,
110
        ajaxSource: "sdk_content_json.asp",
111
        "fnServerParams": function ( aoData ) {
5053 dpurdie 112
            aoData.push( { "name": "sdktag_id", "value": sdktag_id } );
5052 dpurdie 113
            aoData.push( { "name": "sdk_statefilter", "value": $("#sel_exposed").is(':checked') } );
114
        },
115
        "ordering": true,
116
        "order": [[ 1, "asc" ]],
5051 dpurdie 117
 
5052 dpurdie 118
         "columns": [
119
            { "data": "PV_ID", visible : false },
120
            { "data": "PKG_NAME" },
121
            { "data": "PKG_VERSION" },
122
            { "data": "SDKPKG_CHECK" },
123
        ],
124
    });
125
}
5051 dpurdie 126
 
127
 
128
//  Process each row of table data before it is presented to the table scroller
129
//  Process the raw Ajax data
130
//      Create a checkbox for the state
131
//      Add a data item to the entry - to allow traceback when saving
132
$('#sdk_content')
133
    .on('xhr.dt', function ( e, settings, json ) {
134
        json.aaData.forEach(function(row){
135
            var checked = row.SDKPKG_STATE == "E" ? 'checked' : '';
136
            row.SDKPKG_CHECK = '<input type="checkbox" class=clickable '+ checked +' data-pvid='+ row.PV_ID +'>';
137
        });
138
    } );
139
 
140
// Process click on checkboxes within the datatable
141
//      this - a DOM node
142
//      $(this) - The jquery wrapped node
143
//
144
$('#sdk_content').on( 'click', 'tbody td :checkbox', function () {
5052 dpurdie 145
    getAjaxData (
146
        "sdk_opr_json.asp",
147
        { action : 'setSdkContentState', 
148
          sdktagId : <%=parSdkTag_id%>, 
149
          pv_id : $(this).data('pvid'), 
150
          sdkpkg_state : this.checked ? 'E' : '-' 
151
        });
152
    });
5051 dpurdie 153
 
5052 dpurdie 154
//  Populate the Reference Project on first use
5053 dpurdie 155
//      sdk_id  - set this as the initial selection
156
function populateSdkNames(sdk_id) {
5052 dpurdie 157
    getAjaxData (
158
        "sdk_opr_json.asp",
159
        { action: "getSdkNames" },
160
        function(data){
161
            // Populate selection
162
            var $options = $("#sel_sdkname").empty();
163
            var name
164
            $options.append($("<option />").val(null).text('Select One'));
165
            $.each(data.aaData, function (index, value) {
166
                $options.append($("<option />").val(value.SDK_ID).text(value.SDK_NAME));
167
            });
5053 dpurdie 168
            $options.val(sdk_id);
169
            populateSdkVersions(sdk_id)
5052 dpurdie 170
        });    
171
}
172
 
173
//  Populate the SDK Versions selection drop down
174
//      sdk_id  - Identify the family to select
175
//
176
function populateSdkVersions(sdk_id){
177
    getAjaxData (
178
        "sdk_opr_json.asp",
179
        { action: "getSdkVersions", sdk_id : sdk_id, mode: $("#chk_sdkversion").is(':checked') },
180
        function(data){
181
            // Populate selection
182
            var $options = $("#sel_sdkversion").empty();
183
            $options.append($("<option />").val(null).text('Select One'));
184
            $.each(data.aaData, function (index, value) {
185
                $options.append($("<option />").val(value.SDKTAG_ID).text(value.SDKTAG_NAME));
186
            });
187
        });    
188
}
5051 dpurdie 189
 
5052 dpurdie 190
function setInfo(txt) {
191
    $("#sdkd_info").text( txt);
192
}
5051 dpurdie 193
 
5052 dpurdie 194
function clearInfo(txt) {
195
    $("#sdkd_info").text(" ");
196
}
197
 
198
//  getAjaxData - with error processing
199
//      url - url to fetch
200
//      data    - additional data to pass to ajax request
201
//      success - function to call on success
202
function getAjaxData( url, data, success )
203
{
204
    clearInfo();
205
    $("#sdkd_progressBar").css('visibility', 'visible');
206
    $.ajax(
207
    {
208
        url : url,
209
        type: "POST",
210
        data : data,
211
        dataType : "json",
212
        cache: false,
213
        success:function(data, textStatus, jqXHR)
5051 dpurdie 214
        {
5052 dpurdie 215
            //data: return data from server
216
            //console.log ("UpdateData", data);
217
            if (data.result != 0)
5051 dpurdie 218
            {
5052 dpurdie 219
                setInfo("Error:" + ((data.error != 0) ? data.emsgSummary : "Reason not given"));
220
                if (data.error >= 0) disableForm();
221
                return;
222
            }
223
            //  call user success function
224
            if (jQuery.isFunction(success))
5051 dpurdie 225
            {
5052 dpurdie 226
                success(data);
5051 dpurdie 227
            }
5052 dpurdie 228
        },
229
        error: function(jqXHR, textStatus, errorThrown)
230
        {
231
            setInfo("Error:" + errorThrown);
232
            //if fails
233
        },
234
        complete : function()
235
        {
236
            $("#sdkd_progressBar").css('visibility', 'hidden');
237
        }
238
    });
239
 
240
}
5051 dpurdie 241
    </script>
5052 dpurdie 242
<!-- Tool Bar -->
243
<div class=rmbutton style="position:relative;background-color:#DAD7c8;height:38px;padding:7px;margin-bottom: 7px;">
244
 
245
    <div style="float:left">
246
        <fieldset style="padding:2px">
247
            <legend>Display</legend>
248
            <span>Show Exposed</span>
249
            <input id=sel_exposed type=checkbox>
250
        </fieldset>
251
    </div>
252
 
253
    <div id=sel_state style="float:left">
254
        <fieldset style="padding:2px">
255
            <legend>State</legend>
5053 dpurdie 256
            <span>Deprecated<input name=state type=radio value=D></span>
257
            <span>Released<input name=state type=radio value=R></span>
258
            <span>WIP<input name=state type=radio value=U></span>
5052 dpurdie 259
        </fieldset>
260
    </div>
261
 
262
    <div style="float:left">
5053 dpurdie 263
        <img id=sel_delete src="images/abtn_remove_pkg.gif" hspace="2" border="0" style="height: 25;">
5052 dpurdie 264
    </div>
265
 
266
    <div style="float:left">
267
        <fieldset style="padding:2px">
268
            <legend>Ref Sdk</legend>
269
            <select id=sel_sdkname>
270
                <option>Select One</option>
271
            </select>
272
            <select id=sel_sdkversion>
273
            </select>
274
            <input id=chk_sdkversion type=checkbox>Show All
275
        </fieldset>
276
    </div>
277
 
278
</div>
279
 
280
<div class="form_ttl tleft" id=sdkd_section_head>
5051 dpurdie 281
  <!-- Section Header ---->
5052 dpurdie 282
DON'T KNOW YET
283
</div>
5051 dpurdie 284
 
5052 dpurdie 285
<!-- Section Body ---->
286
<div class="rounded_box">
287
  <table id=sdk_content class="full_table" >
288
      <thead>
289
      <tr class="body_col form_align">
290
        <th width="1%"> PV_ID
291
        <th width="10%"> Package Name
292
        <th> Package Version
293
        <th width="1%"> State
294
      </thead>
295
  </table>
5051 dpurdie 296
 
5052 dpurdie 297
  <!-- Info / Ajax Progress bar -->
298
  <div class='bg_dialog body_txt' style='position:relative;min-height:1em;' >
299
      <img id='sdkd_progressBar' style='visibility:hidden;position: absolute' src='icons/i_processing.gif' width='79' height='14'>
300
      <div id=sdkd_info  style='position: absolute;'></div>
301
  </div>
5051 dpurdie 302
 
5052 dpurdie 303
</div>