Changeset 510 for branches


Ignore:
Timestamp:
04/06/14 17:11:49 (5 years ago)
Author:
jls17
Message:
  • added filter control to the workflow tab on the schema page
  • fixed a styling issue when controls are placed within a tab-control
Location:
branches/work_311
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/work_311/doc/DocMain.cpp

    r500 r510  
    17791779        stringstream content; 
    17801780        content << "<div>" 
    1781                 << CreateStandardFilterControl("groupFilter", "seach by name or id") << " &nbsp;&nbsp;&nbsp; " 
     1781                << CreateStandardFilterControl("groupFilter", "search by name or id") << " &nbsp;&nbsp;&nbsp; " 
    17821782                << "<span class='multiFilter' id='multiFilter'>Restrict results to: " 
    17831783                << "<input id='typeFilterRegular' type='checkbox' value='0'/><label for='typeFilterRegular'>&nbsp;Regular</label>" 
     
    17941794        stringstream content; 
    17951795        content << "<div>" 
    1796                 << CreateStandardFilterControl("roleFilter", "seach by name or id") 
     1796                << CreateStandardFilterControl("roleFilter", "search by name or id") 
     1797        << "</div>"; 
     1798        return content.str(); 
     1799} 
     1800 
     1801string CDocMain::CreateSchemaReferenceFilterControl() 
     1802{ 
     1803        stringstream content; 
     1804        content << "<div>" 
     1805                << CreateStandardFilterControl("workflowFilter") 
     1806                << "<span class='multiFilter' id='referenceMultiFilter'>Restrict results to: " 
     1807                << "<input id='typeFilterActiveLink' type='checkbox' value='1'/><label for='typeFilterActiveLink'>&nbsp;ActiveLink</label>" 
     1808                << "<input id='typeFilterFilter' type='checkbox' value='2'/><label for='typeFilterFilter'>&nbsp;Filter</label>" 
     1809                << "<input id='typeFilterEscalation' type='checkbox' value='3'/><label for='typeFilterEscalation'>&nbsp;Escalation</label>" 
     1810                << "<input id='typeFilterALGuide' type='checkbox' value='4'/><label for='typeFilterALGuide'>&nbsp;ActiveLinkGuide</label>" 
     1811                << "<input id='typeFilterFilterGuide' type='checkbox' value='5'/><label for='typeFilterFilterGuide'>&nbsp;FilterGuide</label>" 
     1812                << "<input id='typeFilterApplication' type='checkbox' value='6'/><label for='typeFilterApplication'>&nbsp;Application</label>" 
     1813                << "<input id='typeFilterPackList' type='checkbox' value='7'/><label for='typeFilterPackList'>&nbsp;PackingList</label>" 
     1814                << "<input id='typeFilterWebservice' type='checkbox' value='8'/><label for='typeFilterWebservice'>&nbsp;Webservice</label>" 
     1815                << " <button id='typeFilterNone'>Clear All</button>" 
     1816                << "</span>" 
    17971817        << "</div>"; 
    17981818        return content.str(); 
  • branches/work_311/doc/DocMain.h

    r485 r510  
    8888        static string CreateGroupFilterControl(); 
    8989        static string CreateRoleFilterControl(); 
     90        static string CreateSchemaReferenceFilterControl(); 
    9091 
    9192private: 
  • branches/work_311/doc/DocSchemaDetails.cpp

    r509 r510  
    2525#include "../core/ARHandle.h" 
    2626#include "DocOverlayHelper.h" 
     27#include "DocMain.h" 
    2728 
    2829#include "rapidjson/document.h" 
     
    7879                        // add the javascript we need for this page to display correctly 
    7980                        webPage.GetReferenceManager() 
     81                                .AddScriptReference("img/object_list.js") 
    8082                                .AddScriptReference("img/schema_page.js") 
    8183                                .AddScriptReference("img/jquery.timers.js") 
     
    847849 
    848850                strm << "<script type=\"text/javascript\">" << "var schemaWFLInit = false;" << endl; 
    849                 strm << "var schemaWorkflowList = "; document.Accept(genericWriter); strm << ";" << endl 
     851                strm << "var referenceList = "; document.Accept(genericWriter); strm << ";" << endl 
    850852                     << "var rootLevel = " << rootLevel << endl 
    851853                     << "</script>" << endl 
     854                                 << CDocMain::CreateSchemaReferenceFilterControl() << endl 
    852855                     << tblRef; 
    853856                return strm.str(); 
  • branches/work_311/res/schema_page.js

    r473 r510  
    5555} 
    5656 
     57function createReferenceRow(row) { 
     58//      var table_name = 'referenceList'; 
     59//      var table = $("#" + table_name); 
     60//      if (schemaWorkflowList.length > 0) { $("#" + table_name + " tbody").remove(); } 
     61//      $.each(schemaWorkflowList, function(i) { 
     62        var executeOn = function() { return ""; } 
     63        var objType = row[0]; 
     64        if (objType == 6)      { executeOn = function(val) { return ARActLinkExecuteOn(val);};} 
     65        else if (objType == 5) { executeOn = function(val) { return ARFilterOperation(val);};} 
     66        else if (objType == 9) { executeOn = function(val) { return AREscalationTMType(val);};} 
     67 
     68        return ($("<tr>") 
     69                .append($("<td>").text(getObjType(row))) 
     70                .append($("<td>") 
     71                        .append(getIcon(rootLevel, row[0], row[2])) 
     72                        .append($("<a>").attr("href", row[9]).text(row[1])) 
     73                ) 
     74                .append($("<td>").text(getEnabled(row))) 
     75                .append($("<td>").text(row[3])) 
     76                .append($("<td>").text(executeOn(row[4]))) 
     77                .append($("<td>").text(row[5])) 
     78                .append($("<td>").text(row[6])) 
     79                .append($("<td>").text(row[7])) 
     80                .append($("<td>").text(row[8])) 
     81        ); 
     82} 
     83 
    5784function initWorkflowList() { 
    58     var table_name = 'referenceList'; 
    59     var table = $("#" + table_name); 
    60     if (schemaWorkflowList.length > 0) { $("#" + table_name + " tbody").remove(); } 
    61     $.each(schemaWorkflowList, function(i) { 
    62         var executeOn = function() { return ""; } 
    63         var objType = schemaWorkflowList[i][0]; 
    64         if (objType == 6) { 
    65             executeOn = function(val) { 
    66                 return ARActLinkExecuteOn(val); 
    67             }; 
    68         } 
    69         else if (objType == 5) { 
    70             executeOn = function(val) { 
    71                 return ARFilterOperation(val); 
    72             }; 
    73         } 
    74         else if (objType == 9) { 
    75             executeOn = function(val) { 
    76                 return AREscalationTMType(val); 
    77             }; 
    78         } 
     85        $('#workflowReferenceCount').text(referenceList.length); 
     86        referenceListObj = new FilterableTable('referenceList', 'workflowFilter', 'workflowFilterResult'); 
     87        referenceListObj.typeFilterMapping = {6:1,5:2,9:3}; 
     88        referenceListObj.typeFilterContainer = { 1:4, 4:5, 2:6, 3:7, 5:8 }; 
     89        referenceListObj.typeFilter = new Array(); 
     90        referenceListObj 
     91                .onHasTypeFilter(function() {  
     92                        var allTypeOn = true; 
     93                        var allTypeOff = true; 
     94                        for (i = 1; i < 9; i++) { 
     95                                this.typeFilter[i] = $('#referenceMultiFilter input[value="' + i + '"]').attr('checked'); 
     96                                if (this.typeFilter[i]) { allTypeOff = false; } 
     97                                if (!this.typeFilter[i]) { allTypeOn = false; } 
     98                        } 
     99                        return !(allTypeOff || allTypeOn) 
     100                }) 
     101                .onCheckTypeFilterForRow(function(row) { 
     102                        var type; 
     103                        if (row[0]==12) { 
     104                                type = referenceListObj.typeFilterContainer[row[2]]; 
     105                        } 
     106                        else { 
     107                                type = referenceListObj.typeFilterMapping[row[0]]; 
     108                        } 
     109                        return referenceListObj.typeFilter[type]; 
     110                }) 
     111                .setNameIndex(1) 
     112                .onCreateHtmlRow(createReferenceRow); 
     113        referenceListObj.filterTable(); 
     114        schemaWFLInit = true; 
     115        return; 
     116} 
    79117 
    80         var row = ($("<tr>") 
    81                         .append($("<td>").text(getObjType(schemaWorkflowList[i]))) 
    82                         .append($("<td>") 
    83                                 .append(getIcon(rootLevel, schemaWorkflowList[i][0], schemaWorkflowList[i][2])) 
    84                                 .append($("<a>").attr("href", schemaWorkflowList[i][9]).text(schemaWorkflowList[i][1])) 
    85                         ) 
    86                         .append($("<td>").text(getEnabled(schemaWorkflowList[i]))) 
    87                         .append($("<td>").text(schemaWorkflowList[i][3])) 
    88                         .append($("<td>").text(executeOn(schemaWorkflowList[i][4]))) 
    89                         .append($("<td>").text(schemaWorkflowList[i][5])) 
    90                         .append($("<td>").text(schemaWorkflowList[i][6])) 
    91                         .append($("<td>").text(schemaWorkflowList[i][7])) 
    92                         .append($("<td>").text(schemaWorkflowList[i][8])) 
    93                 ); 
    94         table.append(row); 
    95     }); 
    96     schemaWFLInit = true; 
     118function updateReferenceTable() { 
     119    if (referenceListObj != null) { referenceListObj.filterTable(); } 
    97120} 
    98121 
    99122$('document').ready(function() { 
    100     $.address.change(function(event) { 
     123        $.address.change(function(event) { 
    101124                var hash = window.location.hash; 
    102         $("#MainObjectTabCtrl").tabs("select", hash); 
     125                $("#MainObjectTabCtrl").tabs("select", hash); 
    103126                if (hash === '#tab-2') { $("#fieldNameFilter").focus(); } 
    104         if (hash === '#tab-4' && !schemaWFLInit) { initWorkflowList(); } 
    105     }); 
    106     $("#MainObjectTabCtrl").bind("tabsselect", function(event, ui) { 
    107         window.location.hash = ui.tab.hash; 
    108         if (ui.tab.hash === '#tab-4' && !schemaWFLInit) { initWorkflowList(); } 
    109     }); 
    110     $(".clearable").on('propertychange keyup input paste', 'input.data_field', function(e) { 
    111         if (e.keyCode == 27 /*Escape-Key*/) { $(this).val(''); } 
    112         $(this).stopTime().oneTime(300, function() { 
    113             $("#execFieldFilter").click(); 
    114         }); 
    115     }); 
    116     $("#schemaProperties").accordion({ heightStyle: "content", collapsible: true, active: false, animate: false }); 
    117     $("#schemaPermissions").accordion({ heightStyle: "content", collapsible: true, active: false, animate: false }); 
     127                if (hash === '#tab-4' && !schemaWFLInit) { initWorkflowList(); } 
     128        }); 
     129        $("#MainObjectTabCtrl").bind("tabsselect", function(event, ui) { 
     130                window.location.hash = ui.tab.hash; 
     131                if (ui.tab.hash === '#tab-4' && !schemaWFLInit) { initWorkflowList(); } 
     132        }); 
     133        $("#tab-2 .clearable").on('propertychange keyup input paste', 'input.data_field', function(e) { 
     134                if (e.keyCode == 27 /*Escape-Key*/) { $(this).val(''); } 
     135                $(this).stopTime().oneTime(300, function() { 
     136                                $("#execFieldFilter").click(); 
     137                }); 
     138        }); 
     139        $("#schemaProperties").accordion({ heightStyle: "content", collapsible: true, active: false, animate: false }); 
     140        $("#schemaPermissions").accordion({ heightStyle: "content", collapsible: true, active: false, animate: false }); 
    118141 
    119     $("#execFieldFilter").click(function() { 
    120         if (schemaFieldList != null) { 
    121             var table_name = 'fieldListAll'; 
    122             var table = $('#' + table_name); 
    123             var search = $("#fieldNameFilter").val().replace(" +", " ").replace(" ", ".*"); 
    124             var numSearch = search.search("^\\d+$"); 
    125             //var table = $("<table class='TblObjectList'><th>Field Name</th><th>Field ID</th><th>Datatype</th><th>Real Field</th><th>In Views</th><th>Modified</th><th>By</th></tr></table>"); 
    126             var matches = 0; 
    127             var hasRealFieldColumn = ($('#' + table_name + ' tbody tr:eq(0) th:eq(3)').text().lastIndexOf("Real Field", 0) === 0); 
     142        $("#execFieldFilter").click(function() { 
     143                if (schemaFieldList != null) { 
     144                        var table_name = 'fieldListAll'; 
     145                        var table = $('#' + table_name); 
     146                        var search = $("#fieldNameFilter").val().replace(" +", " ").replace(" ", ".*"); 
     147                        var numSearch = search.search("^\\d+$"); 
     148                        var matches = 0; 
     149                        var hasRealFieldColumn = ($('#' + table_name + ' tbody tr:eq(0) th:eq(3)').text().lastIndexOf("Real Field", 0) === 0); 
    128150 
    129             $('#' + table_name + ' tbody').remove(); 
     151                        $('#' + table_name + ' tbody').remove(); 
    130152 
    131             $.each(schemaFieldList, function(i) { 
    132                 var r = new RegExp(search, "i"); 
    133                 if (schemaFieldList[i][1].match(r) || (numSearch == 0 && ("" + schemaFieldList[i][0]).match(search))) { 
    134                     matches++; 
    135                     var row = ($("<tr>") 
     153                        $.each(schemaFieldList, function(i) { 
     154                                var r = new RegExp(search, "i"); 
     155                                if (schemaFieldList[i][1].match(r) || (numSearch == 0 && ("" + schemaFieldList[i][0]).match(search))) { 
     156                                        matches++; 
     157                                        var row = ($("<tr>") 
    136158                                                .append($("<td>") 
    137159                                                        .append($("<a>").attr("href", schemaFieldList[i][6]).text(schemaFieldList[i][1])) 
     
    140162                                                .append($("<td>").text(ARFieldDataTypeToString(schemaFieldList[i][2]))) 
    141163                                        ); 
    142                     if (hasRealFieldColumn) 
    143                         row.append($("<td>").append(schemaFieldManager.renderRealField(i))); 
     164                                        if (hasRealFieldColumn) 
     165                                                row.append($("<td>").append(schemaFieldManager.renderRealField(i))); 
    144166 
    145                     row.append($("<td>").text(schemaFieldList[i][3])) 
    146                                            .append($("<td>").text(schemaFieldList[i][4])) 
    147                                            .append($("<td>").text(schemaFieldList[i][5])); 
     167                                        row.append($("<td>").text(schemaFieldList[i][3])) 
     168                                                .append($("<td>").text(schemaFieldList[i][4])) 
     169                                                .append($("<td>").text(schemaFieldList[i][5])); 
    148170 
    149                     table.append(row); 
    150                 } 
    151             }); 
    152             $('#fieldListFilterResultCount').text((search != null && search.length > 0 ? "showing " + matches + " out of " : "")); 
    153         } 
    154     }); 
    155     if ($("#fieldNameFilter").val() != "") { 
    156         $("#execFieldFilter").click(); 
    157     } 
     171                                        table.append(row); 
     172                                } 
     173                        }); 
     174                        $('#fieldListFilterResultCount').text((search != null && search.length > 0 ? "showing " + matches + " out of " : "")); 
     175                } 
     176        }); 
     177        if ($("#fieldNameFilter").val() != "") { 
     178                $("#execFieldFilter").click(); 
     179        } 
     180  $("#tab-4 .clearable").on('propertychange keyup input paste', 'input.data_field', function(e) { 
     181                if (e.keyCode == 27 /*Escape-Key*/) { $(this).val(''); } 
     182                $(this).stopTime().oneTime(300, updateReferenceTable); 
     183        }) 
     184 
     185        var checkBoxes = $('#referenceMultiFilter input[type="checkbox"]'); 
     186        checkBoxes.change(function() { 
     187                if (this.checked) {     /*window.location.hash="#" + ARSchemaType(Number(this.value)).toLowerCase(); */ } 
     188                updateReferenceTable(); 
     189        }); 
     190        $("#typeFilterNone").click(function() { 
     191                checkBoxes.each(function() { 
     192                        this.checked = false; 
     193                }); 
     194                window.location.hash=""; 
     195                updateReferenceTable(); 
     196        }); 
    158197}); 
  • branches/work_311/res/style.css

    r425 r510  
    434434} 
    435435 
    436 #multiFilter { 
    437     border: 1px solid silver; padding: 5px; 
    438         margin-left: 24px; 
     436.multiFilter { 
     437        border: 1px solid silver; padding: 5px; 
     438        margin-left: 10px; 
    439439} 
    440440 
  • branches/work_311/thirdparty/jquery/jquery-ui-custom.css

    r319 r510  
    230230.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } 
    231231.ui-widget .ui-widget { font-size: 1em; } 
     232/* 
    232233.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; } 
    233 /* 
    234234.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; } 
    235235.ui-widget-content a { color: #222222; } 
Note: See TracChangeset for help on using the changeset viewer.