Subversion Repositories DevTools

Rev

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

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'|  sdk_main_page.asp
'|  Create a new version of an SDK
'|
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.Expires = 0   ' always load the page, dont store
%>
<!--#include file="common/conf.asp"-->
<!--#include file="common/globals.asp"-->
<!--#include file="common/formating.asp"-->
<!--#include file="common/qstr.asp"-->
<!--#include file="common/common_subs.asp"-->
<%
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_login_optional.asp"-->
<!--#include file="_access_control_general.asp"-->
<%
'------------ Variable Definition -------------
Dim parSdkTag_id

'------------ Constants Declaration -----------
'------------ Variable Init -------------------
parSdkTag_id = Request("sdktag_id")
If parSdkTag_id = "" Then parSdkTag_id = 0
%>
<!DOCTYPE html>
<html>
   <head>
        <title>Release Manager</title>
        <link rel="shortcut icon" href="<%=FavIcon%>"/>
        <meta http-equiv="Pragma" content="no-cache">
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
        <link rel="stylesheet" href="images/navigation.css" type="text/css">
        <script language="JavaScript" src="images/common.js"></script>
        <%bJqueryDataTables = TRUE%>
        <%bJqueryForms = TRUE%>
        <!--#include file="_jquery_includes.asp"-->
        <!-- TIPS -->
        <script language="JavaScript" src="images/tipster.js"></script>
        <script language="JavaScript" src="images/_help_tips.js"></script>
        <!-- DROPDOWN MENUS -->
        <!--#include file="_menu_def.asp"-->
        <script language="JavaScript1.2" src="images/popup_menu.js"></script>
        <!-- Script associated with the display of the SDK Names side panel -->
        <script type="text/javascript" charset="utf-8">
        $(document).ready(function() {
            var tableEl = $('#sdk_names');

            // Disable caching of AJAX responses
            $.ajaxSetup ({
                cache: false 
            });

            //  Configure the Summary Table
            var table = tableEl.DataTable({
                deferRender:    true,
                dom:            "t",
                sScrollY: $( document ).height() - 200,
                scrollCollapse: true,
                processing: true,
                'retrieve': true,
                'serverSide': true,
                'ajaxSource': 'sdk_names_json.asp',
                'ordering': false,
                'columns': [ { data: 1, className: 'dt-nowrap side_panel_data'  } ]
            });
            //
            //  jQuery function to deserialise an encoded parameter list
            //  The opposite of $.param()
            (function ($) {
                $.deserialize = function (str, options) {
                    var pairs = str.split(/&amp;|&/i),
                        h = {},
                        options = options || {};
                    for(var i = 0; i < pairs.length; i++) {
                        var kv = pairs[i].split('=');
                        kv[0] = decodeURIComponent(kv[0]);
                        if(!options.except || options.except.indexOf(kv[0]) == -1) {
                            if((/^\w+\[\w+\]$/).test(kv[0])) {
                                var matches = kv[0].match(/^(\w+)\[(\w+)\]$/);
                                if(typeof h[matches[1]] === 'undefined') {
                                    h[matches[1]] = {};
                                }
                                h[matches[1]][matches[2]] = decodeURIComponent(kv[1]);
                            } else {
                                h[kv[0]] = decodeURIComponent(kv[1]);
                            }
                        }
                    }
                    return h;
                };

                $.fn.deserialize = function (options) {
                    return $.deserialize($(this).serialize(), options);
                };
            })(jQuery);

            //  Function to load a page using data in the window.location.hash
            //      Used on direct page load
            //      Used via navigation buttons
            function load_page_from_hash(mode) {
                if (typeof mode === 'object') mode = 'Indirect';
                var hash = window.location.hash;
                if (hash.charAt(0) == '#')
                {
                    hash = hash.substr(1) ;
                    var locationData = $.deserialize(hash);
                    load_page_body(locationData.url, locationData, false );
                }
            }

            load_page_from_hash('DirectLoad');
            $(window).on('hashchange',load_page_from_hash );


            // Process click on the table row
            // Display versions available for this SDK
            //      this - a DOM node
            //      $(this) - The jquery wrapped node
            //
            tableEl.on( 'click', 'tbody tr', function () {
                    var sdk_id = table.row( this ).data()[0];
                    load_page_body('sdk_versions.asp', {sdk_id: sdk_id}, true);
                    });


<%If canActionControl("AdminSdk") Then %>
            //  Wire up an 'Add New SDK' button
            $( '#addSdkName' ).click(function() {
                load_page_body('sdk_names_body.asp', true);
                });
<%End If%>

        //  Listen for any trigger to force the table to be refreshed
        //  Listen on 'document' as the event will trickle up
        $(document).on("sdkNameEdited", function(){
            table.ajax.reload();
            });

        // Listen for new page body reload requests
        $(document).on("newPageBody", function(e, args){
            load_page_body(args.url, args.data, true);

            });
        });

//  Centralise the loading of the body of the page
//
function load_page_body(url, data, mode) {
    //  Persist these values, but don't add to the stored URL
    var persist = {
        rtag_id : <%=DB_RTAG_ID%>,
        proj_id : <%=DB_PROJ_ID%>,
        pv_id : <%=DB_PV_ID%>
    };

    //  Reflect the current page load in the URL
    //      Shows what we are doing
    //      Allows page reload to work
    //      Allows browser history to work
    var newdata = {};
    newdata['url'] = url;
    if ( typeof(data) !== 'undefined' ){
        for (var key in data) {
            newdata[key] = (data[key]);
        }
    }

    //  Prevent duplicates caused by changing window.location.hash
    //
    var newHash = jQuery.param(newdata);
    if ( newHash !== load_page_body.last || mode === true ) {
        $('#sdk_version').off();
        $('#sdk_version').empty();
        $('#sdk_version').load(url, $.extend({}, data, persist));

        load_page_body.last = newHash;
        window.location.hash = newHash;
   }
}
        </script>
      <!-- Local Style -->
      <style type="text/css">
        input, select, textarea, button {font:11px tahoma,sans-serif;text-decoration:none}
      </style>
   </head>
   <body>
      <!-- HEADER -->
      <!--#include file="_header.asp"-->
      <!-- BODY -->
      <table border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEFEF" style="min-height:500px;width:100%">
         <tr>
            <td valign="top" class=side_panel style="position:relative;height:100%;width:10%;border-right:#999999 solid 1px;">
                <!-- Side panel -->
               <table id=sdk_names class="full_table side_panel_table">
                <thead>
                    <tr class="body_col form_align">
                        <th onclick="load_page_body('sdk_names_body.asp', null, true);">SDK Names
                </thead>
               </table>

            <!-- Side panel Bottom-->
<%If canActionControl("AdminSdk") Then %>
                <img id=addSdkName style="position:absolute;bottom:0;right:0;" src="images/bt_new_project.gif" width="16" height="16" border="0" vspace="5" hspace="5" align="right" alt="Create new SDK Family" title="Create new SDK Family">
<%End If%>
            </td>
            <td width="5%"  rowspan="2" valign="top"></td>
            <td width="80%" rowspan="2" align="center" valign="top">
               <!-- Main display panel -->
               <div id=sdk_version></div>
               <!-- End Main display panel -->
            <td width="5%"  rowspan="2" valign="top"></td>
         </tr>
      </table>
<!-- FOOTER -->
<!--#include file="_footer.asp"-->
</body>
</html>