Subversion Repositories DevTools

Rev

Rev 5684 | Rev 5957 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5684 Rev 5751
Line 53... Line 53...
53
//      Called once the sdkDetails have been delivered 
53
//      Called once the sdkDetails have been delivered 
54
function detailsAvailable()
54
function detailsAvailable()
55
{
55
{
56
    //  Initial population of the Ref SDK Names   
56
    //  Initial population of the Ref SDK Names   
57
    populateSdkNames(sdkDetails.SDK_ID);
57
    populateSdkNames(sdkDetails.SDK_ID);
58
    populateContent(<%=parSdkTag_id%>);    
58
    populateContent(<%=parSdkTag_id%>);
-
 
59
	updateClone();
59
 
60
 
60
    $("#sel_sdkname").change(function(){
61
    $("#sel_sdkname").change(function(){
-
 
62
		$("#sel_sdkversion").empty();
61
        populateSdkVersions( $("#sel_sdkname").val());
63
        populateSdkVersions( $("#sel_sdkname").val());
-
 
64
		updateShowDiffs();
-
 
65
		updateClone();
62
    });
66
    });
63
 
67
 
64
    $("#chk_sdkversion").change(function(){
68
    $("#chk_sdkversion").change(function(){
65
        populateSdkVersions( $("#sel_sdkname").val());
69
        populateSdkVersions( $("#sel_sdkname").val());
66
    });
70
    });
67
        
71
        
68
    $("#sel_sdkversion").change(function(){
72
    $("#sel_sdkversion").change(function(){
69
        $('#sdk_content').dataTable().api().ajax.reload();
73
        $('#sdk_content').dataTable().api().ajax.reload();
-
 
74
		updateShowDiffs();
-
 
75
		updateClone();
70
    });
76
    });
71
 
77
 
72
    //  Detect change to the packages displayed
78
    //  Detect change to the packages displayed
73
    //      Redisplay on change       
79
    //      Redisplay on change       
74
    $("#sel_exposed").change(function(){
80
    $("#sel_exposed").change(function(){
75
        $('#sdk_content').dataTable().api().ajax.reload();
81
        $('#sdk_content').dataTable().api().ajax.reload();
76
    });
82
    });
77
 
83
 
-
 
84
    $("#sel_diff").change(function(){
-
 
85
        $('#sdk_content').dataTable().api().ajax.reload();
-
 
86
    });
-
 
87
 
78
    //  Detect change to the SDK State
88
    //  Detect change to the SDK State
79
    //      Disable all clickable elements - unless a WIP
89
    //      Disable all clickable elements - unless a WIP
80
    $("#sel_state").change(function(){
90
    $("#sel_state").change(function(){
81
        sdkDetails.SDK_STATE = $(this).val();
91
        sdkDetails.SDK_STATE = $(this).val();
82
        $('.clickable').attr('disabled',$(this).val() !== 'U');
92
        $('.clickable').attr('disabled',$(this).val() !== 'U');
-
 
93
		updateClone();
83
 
94
 
84
        getAjaxData (
95
        getAjaxData (
85
            "sdk_opr_json.asp",
96
            "sdk_opr_json.asp",
86
            { action: "setSdkState", sdktagId : <%=parSdkTag_id%>, sdk_state : $(this).val() }
97
            { action: "setSdkState", sdktagId : <%=parSdkTag_id%>, sdk_state : $(this).val() }
87
            );
98
            );
Line 103... Line 114...
103
        ajax : {
114
        ajax : {
104
            url : "sdk_details_json.asp",
115
            url : "sdk_details_json.asp",
105
            data : function (o){
116
            data : function (o){
106
                o.sdktag_id = sdktag_id;
117
                o.sdktag_id = sdktag_id;
107
                o.sdk_statefilter = $("#sel_exposed").is(':checked');
118
                o.sdk_statefilter = $("#sel_exposed").is(':checked');
-
 
119
                o.sdk_difffilter = $("#sel_diff").is(':checked');
108
                var d = $("#sel_sdkversion").val();
120
                var d = $("#sel_sdkversion").val();
109
                if (d != null ) {
121
                if (d != null ) {
110
                    o.sdk_reftag_id = d;
122
                    o.sdk_reftag_id = d;
111
                }
123
                }
112
            },
124
            },
Line 119... Line 131...
119
            { "data": "PKG_NAME" },
131
            { "data": "PKG_NAME" },
120
            { "data": "PKG_VERSION" , width : "5%" },
132
            { "data": "PKG_VERSION" , width : "5%" },
121
            { "data": "REF_PKG_VERSION", width : "5%" },
133
            { "data": "REF_PKG_VERSION", width : "5%" },
122
            { "data": "REF_SDKPKG_CHECK" , width : "1%" },
134
            { "data": "REF_SDKPKG_CHECK" , width : "1%" },
123
            { "data": "SDKPKG_CHECK" , width : "1%"},
135
            { "data": "SDKPKG_CHECK" , width : "1%"},
124
            { "data": "CHECKDIFF" , visible : false},
136
            { "data": "DIFF" , visible : false},
125
        ],
137
        ],
126
        fnRowCallback: function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
138
        fnRowCallback: function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
127
            // Highlight diffs
139
            // Highlight diffs
128
            if (aData.REF_PKG_VERSION != null && aData.REF_PKG_VERSION != aData.PKG_VERSION) {
140
			switch(parseInt(aData.DIFF))
-
 
141
			{
-
 
142
			case 0:  break;
129
                $('td:eq(2)', nRow).css('color', 'red');
143
			case 3:  $('td:eq(2)', nRow).css('color', 'red'); break;
130
            }
-
 
131
 
-
 
132
            if (aData.CHECKDIFF != null ) {
144
			case 4:  $('div:eq(0)', nRow).css({'background-color':'rgba(255, 0, 0, 0.5)', 'width' : '20px'}); break;
133
                $('td:eq(0)', nRow).css('color', 'red');
145
			default: $('td:eq(0)', nRow).css('color', 'red'); break;
134
            }
146
			}
135
        },
147
        },
136
 
-
 
137
    });
148
    });
138
}
149
}
139
 
150
 
140
 
151
 
141
//  Process each row of table data before it is presented to the table scroller
152
//  Process each row of table data before it is presented to the table scroller
Line 143... Line 154...
143
//      Create a checkbox for the state
154
//      Create a checkbox for the state
144
//      Add a data item to the entry - to allow traceback when saving
155
//      Add a data item to the entry - to allow traceback when saving
145
$('#sdk_content').on('xhr.dt', function ( e, settings, json ) {
156
$('#sdk_content').on('xhr.dt', function ( e, settings, json ) {
146
        $.each(json.aaData, function(idx,row){
157
        $.each(json.aaData, function(idx,row){
147
 
158
 
148
            row.CHECKDIFF = null;
-
 
149
            if (row.REF_SDKPKG_STATE != null && row.REF_SDKPKG_STATE != row.SDKPKG_STATE)
-
 
150
            {
-
 
151
                row.CHECKDIFF = '1';
-
 
152
            }
-
 
153
 
-
 
154
            if (row.SDKPKG_STATE != null) {
159
            if (row.SDKPKG_STATE != null) {
155
                var checked = row.SDKPKG_STATE == "E" ? 'checked' : '';
160
                var checked = row.SDKPKG_STATE == "E" ? 'checked' : '';
156
                var disabled = (sdkDetails.SDK_STATE === 'U' ) ? '' : ' disabled ';
161
                var disabled = (sdkDetails.SDK_STATE === 'U' ) ? '' : ' disabled ';
157
                row.SDKPKG_CHECK = '<input type="checkbox" class=clickable <%=modifyState%> '+ checked + disabled + ' data-pvid='+ row.PV_ID +'>';
162
                row.SDKPKG_CHECK = '<div><input type="checkbox" class=clickable <%=modifyState%> '+ checked + disabled + ' data-pvid='+ row.PV_ID +'></div>';
158
            } else {
163
            } else {
159
                row.SDKPKG_CHECK = "";
164
                row.SDKPKG_CHECK = "";
160
            }
165
            }
161
 
166
 
162
            if (row.REF_SDKPKG_STATE != null)
167
            if (row.REF_SDKPKG_STATE != null)
Line 167... Line 172...
167
                row.REF_SDKPKG_CHECK = "";
172
                row.REF_SDKPKG_CHECK = "";
168
            }
173
            }
169
        });
174
        });
170
    } );
175
    } );
171
 
176
 
-
 
177
// Maintain ShowDiff element
-
 
178
// Only when ref sdk is present
-
 
179
function updateShowDiffs()
-
 
180
{
-
 
181
	var el = $("#sel_diff");
-
 
182
	var val = $("#sel_sdkversion").val();
-
 
183
	if (val)
-
 
184
	{
-
 
185
		el.removeAttr('disabled');
-
 
186
	}
-
 
187
	else
-
 
188
	{
-
 
189
		el.attr('disabled', 'disabled')
-
 
190
		el.attr('checked', false);
-
 
191
	}
-
 
192
}
-
 
193
 
-
 
194
 
-
 
195
// Maintain the Clone Action button
-
 
196
// Allow Copy if SDK is a WIP and there is a Referenec to copy from
-
 
197
function updateClone()
-
 
198
{
-
 
199
	var isaWip = sdkDetails.SDK_STATE === 'U';
-
 
200
	var hasaRef = $("#sel_sdkversion").val();
-
 
201
	var enable = !(isaWip && hasaRef); 
-
 
202
	$('#sel_clear').prop('disabled', !isaWip);
-
 
203
	$('#sel_clone').prop('disabled', enable);
-
 
204
	$('#sel_set').prop('disabled',!isaWip);
-
 
205
}
-
 
206
 
-
 
207
// Process the Clone Action
-
 
208
//
-
 
209
$('#sel_clone').on( 'click', function () {
-
 
210
    getAjaxData (
-
 
211
        "sdk_opr_json.asp",
-
 
212
        { action : 'cloneSdkPackages', 
-
 
213
          sdktagId : <%=parSdkTag_id%>,
-
 
214
          sdk_reftag_id : $("#sel_sdkversion").val() 
-
 
215
        },
-
 
216
		function(data){
-
 
217
			$('#sdk_content').dataTable().api().ajax.reload();
-
 
218
		});
-
 
219
    });
-
 
220
 
-
 
221
// Process the Clear Action
-
 
222
//
-
 
223
$('#sel_clear').on( 'click', function () {
-
 
224
    getAjaxData (
-
 
225
        "sdk_opr_json.asp",
-
 
226
        { action : 'setSdkPackages', 
-
 
227
          sdktagId : <%=parSdkTag_id%>,
-
 
228
          sdkpkg_state : '-',
-
 
229
        },
-
 
230
		function(data){
-
 
231
			$('#sdk_content').dataTable().api().ajax.reload();
-
 
232
		});
-
 
233
    });
-
 
234
 
-
 
235
// Process the Set  Action
-
 
236
//
-
 
237
$('#sel_set').on( 'click', function () {
-
 
238
    getAjaxData (
-
 
239
        "sdk_opr_json.asp",
-
 
240
        { action : 'setSdkPackages', 
-
 
241
          sdktagId : <%=parSdkTag_id%>,
-
 
242
          sdkpkg_state : 'E',
-
 
243
        },
-
 
244
		function(data){
-
 
245
			$('#sdk_content').dataTable().api().ajax.reload();
-
 
246
		});
-
 
247
    });
-
 
248
 
-
 
249
 
172
// Process click on checkboxes within the datatable
250
// Process click on checkboxes within the datatable
173
//      this - a DOM node
251
//      this - a DOM node
174
//      $(this) - The jquery wrapped node
252
//      $(this) - The jquery wrapped node
175
//
253
//
176
$('#sdk_content').on( 'click', 'tbody td :checkbox', function () {
254
$('#sdk_content').on( 'click', 'tbody td :checkbox', function () {
Line 291... Line 369...
291
    </script>
369
    </script>
292
<!-- Tool Bar -->
370
<!-- Tool Bar -->
293
<div class=rmbutton style="position:relative;background-color:#DAD7c8;height:38px;padding:7px;margin-bottom: 7px;">
371
<div class=rmbutton style="position:relative;background-color:#DAD7c8;height:38px;padding:7px;margin-bottom: 7px;">
294
 
372
 
295
    <div style="float:left">
373
    <div style="float:left">
296
        <fieldset style="padding:2px">
374
        <fieldset style="padding:2px;height:30px">
297
            <legend>Display</legend>
375
            <legend>Display</legend>
298
            <span>Show Exposed</span>
376
            <span>Show Exposed</span>
299
            <input id=sel_exposed type=checkbox>
377
            <input id=sel_exposed type=checkbox>
-
 
378
            <span>Show Diffs</span>
-
 
379
			<input id=sel_diff type=checkbox disabled>
300
        </fieldset>
380
        </fieldset>
301
    </div>
381
    </div>
302
 
382
 
303
    <div style="float:left">
383
    <div style="float:left">
304
        <fieldset style="padding:2px" <%=modifyState%>>
384
        <fieldset style="padding:2px;height:30px" <%=modifyState%>>
305
            <legend>State</legend>
385
            <legend>State</legend>
306
            <select id=sel_state>
386
            <select id=sel_state>
307
                <option value="U">WIP</option>
387
                <option value="U">WIP</option>
308
                <option value="R">Released</option>
388
                <option value="R">Released</option>
309
                <option value="D">Deprecated</option>
389
                <option value="D">Deprecated</option>
Line 311... Line 391...
311
            <%=Quick_Help("sdk_state")%>
391
            <%=Quick_Help("sdk_state")%>
312
        </fieldset>
392
        </fieldset>
313
    </div>
393
    </div>
314
 
394
 
315
    <div style="float:left">
395
    <div style="float:left">
316
        <fieldset style="padding:2px">
396
        <fieldset style="padding:2px;height:30px">
317
            <legend>Ref Sdk</legend>
397
            <legend>Ref Sdk</legend>
318
            <select id=sel_sdkname>
398
            <select id=sel_sdkname>
319
                <option>Select One</option>
399
                <option>Select One</option>
320
            </select>
400
            </select>
321
            <select id=sel_sdkversion>
401
            <select id=sel_sdkversion>
322
            </select>
402
            </select>
323
            <input id=chk_sdkversion type=checkbox>Show All
403
            <input id=chk_sdkversion type=checkbox>Show All
324
        </fieldset>
404
        </fieldset>
325
    </div>
405
    </div>
326
 
406
 
-
 
407
	<div style="float:right">
-
 
408
		<fieldset style="padding:2px;height:30px">
-
 
409
			<legend>Actions</legend>
-
 
410
			<button id="sel_clear" disabled title="Deselect all">Clear</button>
-
 
411
			<button id="sel_clone" disabled title="Clone exposed reference packages">Merge</button>
-
 
412
			<button id="sel_set" disabled title="Select all">All</button>
-
 
413
		</fieldset>
-
 
414
	</div>
-
 
415
 
327
</div>
416
</div>
328
 
417
 
329
<div class="form_ttl tleft" id=sdkd_section_head>
418
<div class="form_ttl tleft" id=sdkd_section_head>
330
  <!-- Section Header ---->
419
  <!-- Section Header ---->
331
</div>
420
</div>