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