Subversion Repositories DevTools

Rev

Rev 5506 | Rev 5791 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'   Reference SDK
'   _wform_reference_sdk.asp
'
'   This page is designed to be loaded into a <div>
'   It will create a modal dialog ansd do all of its work within that
'=====================================================
%>
<%
Option explicit
Response.Expires = 0    ' always load the page, dont store
%>
<!--#include file="common/conf.asp"-->
<!--#include file="common/globals.asp"-->
<!--#include file="common/qstr.asp"-->
<!--#include file="common/common_subs.asp"-->
<!--#include file="common/common_dbedit.asp"-->
<%
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_general.asp"-->
<%
'------------ Variable Definition -------------
Dim bLoggedIn, bAuthorised

'------------ Constants Declaration -----------
'------------ Variable Init -------------------
bLoggedIn = objAccessControl.UserLogedIn
bAuthorised = canActionControlInProject("CreateSdk")
'----------------------------------------------
%>
<script language="JavaScript" src="images/tipster.js"></script>
<script>
//# sourceURL=_wform_reference_sdk.asp
$( "#refSdk" ).dialog({
    modal : true,
    autoOpen : true,
    width : 450,
    height : 400,
    position: { my: "top", at: "top+100", of: window },
    dialogClass: "rounded_box",
    title : "Add SDK to Release",
    close: function( event, ui ) { $(this).dialog('destroy').remove();},
    buttons: [
<%If bLoggedIn AND bAuthorised Then%>
        {
        text  : 'Add',
        click : function(){$( "#refSdk" ).submit();},
        },
<%End If%>
        {
        text : 'Cancel',
        click : function(){ $(this).dialog('close');},
        },
    ],

});

//  Initial population of the Ref SDK Names   
populateSdkNames();
$("#sel_sdkname").change(function(){
    populateSdkVersions( $("#sel_sdkname").val());
    getAjaxData (
        "sdk_opr_json.asp",
        { action: "getSdkDetails" , sdk_id : $('#sel_sdkname').val() },
        function(data){
            $("#sel_sdkname_descr").val(data.aaData.SDK_COMMENT);
            $("#sel_sdkversion_descr").val("");
        });    
});

$("#sel_sdkversion").change(function(){
    getAjaxData (
        "sdk_opr_json.asp",
        { action: "getSdkVersionDetails" , sdktag_id : $('#sel_sdkversion').val() },
        function(data){
            $("#sel_sdkversion_descr").val(data.aaData.DESCRIPTION);
        });    
});


// Form Validation processing
//      Load in the required JavaScript support
$.getScript("jquery/form-validator/jquery.form-validator.min.js", registerValidation);

function registerValidation()
{
    $.validate({
        form: '#refSdk',
        validateOnBlur : false,
        onValidate : function() { 
            clearInfo();
            $("#sdkv_progressBar").css('visibility', 'visible');
        },
        onError: function(){
            $("#sdkv_progressBar").css('visibility', 'hidden');
        },
        onSuccess : function(f) {
            var p = $.param({
                rtag_id : '<%=parRtag_id%>',
                sdk_id : $('#sel_sdkname').val(),
                sdktag_id : $('#sel_sdkversion').val(),
                dmode : $('#sel_sdkdmode').val(),
            });
            $('#RelSdkProgressBar').toggle();
            window.location = 'sdk_add_release.asp?' + p;
            f.dialog( "close" );
            return false;
        },
    });
}

//  Populate the Reference Project
function populateSdkNames() {
    getAjaxData (
        "sdk_opr_json.asp",
        { action: "getSdkNames" },
        function(data){
            // Populate selection
            var $options = $("#sel_sdkname").empty();
            var name
            $options.append($("<option selected disabled />").val(null).text('Select One'));
            $.each(data.aaData, function (index, value) {
                $options.append($("<option />").val(value.SDK_ID).text(value.SDK_NAME));
            });
        });    
}

//  Populate the SDK Versions selection drop down
//      sdk_id  - Identify the family to select
//
function populateSdkVersions(sdk_id){
    getAjaxData (
        "sdk_opr_json.asp",
        { action: "getSdkVersions", sdk_id : sdk_id, active: true },
        function(data){
            // Populate selection
            var $options = $("#sel_sdkversion").empty();
            $options.append($("<option selected disabled />").val(null).text('Select One'));
            $.each(data.aaData, function (index, value) {
                $options.append($("<option />").val(value.SDKTAG_ID).text(value.SDKTAG_NAME));
            });
        });    
}


function setInfo(txt) {
    $("#sdkv_info").text( txt).addClass("error");
}

function clearInfo(txt) {
    $("#sdkv_info").text(" ").removeClass("error");
}

//  getAjaxData - with error processing
//      url - url to fetch
//      data    - additional data to pass to ajax request
//      success - function to call on success
function getAjaxData( url, data, success )
{
    clearInfo();
    $("#sdkv_progressBar").css('visibility', 'visible');
    $.ajax(
    {
        url : url,
        type: "POST",
        data : data,
        dataType : "json",
        cache: false,
        success:function(data, textStatus, jqXHR)
        {
            //data: return data from server
            //console.log ("UpdateData", data);
            if (data.result != 0)
            {
                setInfo("Error:" + ((data.error != 0) ? data.emsgSummary : "Reason not given"));
                if (data.error >= 0) disableForm();
                return;
            }
            //  call user success function
            success(data);
        },
        error: function(jqXHR, textStatus, errorThrown)
        {
            setInfo("Error:" + errorThrown);
            disableForm();
            //if fails
        },
        complete : function()
        {
            $("#sdkv_progressBar").css('visibility', 'hidden');
        }
    });
// Local Help
formTips.tips.del_help = stdTip(200, 'Deletion Mode', 
                                     'It is possible to replace packages in the release with packages being imported from the SDK.' +
                                     '<p>It is not possible to replace a package being imported from another SDK.'  );
}
</script>
<link rel="stylesheet" href="jquery/form-validator.css" type="text/css">
<form name="refSdk" id=refSdk>
  <table width="100%" border="0" cellspacing="0" cellpadding="2" height="100%">
    <tr> 
      <td height="100%" width="1%">&nbsp;</td>
      <td valign="top" nowrap colspan="3"> 
        <table width="100%" border="0" cellspacing="1" cellpadding="2"  class="form_txt">
          <tr> 
<%If NOT bLoggedIn Then%>
            <td colspan="2" valign="middle" nowrap class="form_group" style="height:30px"><img src="images/s_critical.gif"></img>You are not logged in</td>
<%ElseIf NOT bAuthorised Then %>    
            <td colspan="2" valign="middle" nowrap class="form_group" style="height:30px"><img src="images/s_critical.gif"></img>You are not Authorized to perform this action</td>
<%Else%>
            <td colspan="2" valign="middle" nowrap class="form_group" style="height:30px"><strong>NOTE:</strong> You can only reference a released SDK.</td>
<%End If%>
          </tr>
          <tr class="form_field_bg"> 
            <td width="1%" nowrap class="form_field">SDK</td>
            <td nowrap width="100%">
                <select id="sel_sdkname" class=form_item>
            </td>
          </tr>

          <tr class="form_field_bg"> 
            <td width="1%" nowrap class="form_field"></td>
            <td width="100%">
                <textarea readonly style="width:100%" id="sel_sdkname_descr" class=form_item>
                </textarea> </td>
          </tr>

          <tr class="form_field_bg"> 
            <td width="1%" nowrap class="form_field">Version</td>
            <td nowrap width="100%"> 
                <select id="sel_sdkversion" data-validation="required">
            </td>
          </tr>

          <tr class="form_field_bg"> 
            <td width="1%" nowrap class="form_field"></td>
            <td width="100%">
                <textarea readonly style="width:100%" id="sel_sdkversion_descr" class=form_item>
                </textarea></td>
          </tr>

          <tr class="form_field_bg"> 
            <td width="1%" nowrap class="form_field">Mode</td>
            <td nowrap width="100%"> 
                <select id="sel_sdkdmode" data-validation="required">
                    <option value="0">No Deletion</option>
                    <option value="1">Replace Packages</option>
                 </select> <%=Quick_Help("del_help")%>
            </td>
          </tr>

        <div style='min-height:25px;position:relative;'>
            <img id='sdkv_progressBar' src='icons/i_processing.gif' width='79' height='14'style='visibility:hidden;position:absolute;'>
            <div id='sdkv_info' style='position:absolute;'></div>
        </div>

        </table>
      </td>
    </tr>
  </table>
</form>