Subversion Repositories DevTools

Rev

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

<%@LANGUAGE="VBSCRIPT"%>
<%
'   sdk_names_edit.asp
'   This file is designed to be injected (loaded) into a 'div' on a window
'   It is a pop up dialog
%>
<script>
$( "#f1" ).dialog({
autoOpen: true,
width: 500,
modal: true,
draggable: true,
resizable: true,
dialogClass: "rounded_box",
        buttons: [
            {
            text  : 'Save',
            class : 'hideOnError',
            click : function(){
                        clearInfo();
                        $( "#f1" ).submit();
                        },
            },
            {
            text : 'Cancel',
            click : function(){ 
                        $( this ).dialog( "close" ); 
                        },
            },
        ],
open: function( event, ui ) {
        populateSdkForm(this);
        },
close : function(event, ui ){
        // Need to remove DOM elements on close so that
        // When it is opened again - the binds occur correctly
        $(this).dialog('destroy').remove();
        },
});

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

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

$.validate({
    form: '#f1',
    validateOnBlur : false,
    onSuccess : function(f) {
        processSdkForm(f);
    },

});

// Severe Error processing
//  Disable all the inputs on a form
//  Hide dialog buttons marked to be hidden
//  All the user can do is read the erro message and close the form
function disableForm()
{   
    var form = $("#f1");
    form.dialog( "widget" ).find(".hideOnError").hide();
    form.find(":input").prop("disabled",true);
}

function populateSdkForm(f)
{
    getAjaxData (
        "sdk_opr_json.asp",
        { action : "getSdkNameData", sdkId : <%=Request("sdkId")%> },
        function(data){
            $("#sdk_id").val(data.aaData.SDK_ID);
            $("#sdk_name").val(data.aaData.SDK_NAME);
            $("#sdk_comment").val(data.aaData.SDK_COMMENT);
            populateBaseView(data.aaData.VIEW_ID);
        });    
}

//  Populate the Base Views
//      base_id  - Select this entry if possible
function populateBaseView(base_id) {
    getAjaxData (
        "sdk_opr_json.asp",
        { action: "getBaseViews" },
        function(data){
            // Populate selection
            var $options = $("#sdk_base_view").empty();
            var name
            $options.append($("<option disabled/>").val(null).text('Select One'));
            $.each(data.aaData, function (index, value) {
                $options.append($("<option />").val(value.VIEW_ID).text(value.VIEW_NAME));
            });
            $options.val(base_id);
        });    
}

function processSdkForm(f)
{
    getAjaxData (
        f.attr("action"),
        f.serializeArray(),
        function(data){
            $("#sdk_version").trigger('sdkNameEdited');
            f.dialog( "close" );
        });    
}

$( "#f1" ).submit(function(e) {
        e.preventDefault(); //STOP default action
        return false;
        });

//  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();
    $("#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
            if (jQuery.isFunction(success))
            {
                success(data);
            }
        },
        error: function(jqXHR, textStatus, errorThrown)
        {
            setInfo("Error:" + errorThrown);
            disableForm();
            //if fails
        },
        complete : function()
        {
            $("#progressBar").css('visibility', 'hidden');
        }
    });
}

//# sourceURL=sdk_names_edit.js
</script>
<form title="Edit Entry" id=f1 action="sdk_opr_json.asp" class=td>
    <div id="info"></div>
        <DIV id='progressBar' style='visibility:hidden;'>
        <img src='icons/i_processing.gif' width='79' height='14'>
    </DIV>

    <p><label for="sdkName">SDK Name:</label>
    <br><input id=sdk_name type="text" name="sdkName" maxlength=50 size=40 data-validation="length,alphanumeric" data-validation-length="min4" data-validation-allowing="_. -">

    <p>Comment:
    <br><textarea id=sdk_comment name="sdkComment" cols=40  data-validation="length" data-validation-length="5-4000"></textarea>                                              

    <p>Base View:
    <br><select id=sdk_base_view name="sdkBaseView" data-validation="required"></select>                                              

    <input type="hidden" name="action" value="updateSdkName">
    <input id=sdk_id type="hidden" name="sdkid" value="">
</form>