Changeset 361 for branches


Ignore:
Timestamp:
10/16/13 02:25:40 (6 years ago)
Author:
jls17
Message:
  • removed left-side schema navigation completely
  • added workflow list directly to the schema page (filtering comes later)
Location:
branches/work_304
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/work_304/doc/DocSchemaDetails.cpp

    r354 r361  
    8989 
    9090                        //Add schema navigation menu     
    91                         webPage.SetNavigation(this->SchemaNavigation()); 
     91                        //webPage.SetNavigation(this->SchemaNavigation()); 
    9292 
    9393                        // add the javascript we need for this page to display correctly 
     
    110110 
    111111                        // Add a section which lists workflow thats reading data from this form 
    112                         tabControl.AddTab("Workflow", ""); 
     112                        tabControl.AddTab("Workflow", WorkflowDoc()); 
    113113 
    114114                        // Add table with all references to the page 
     
    152152 
    153153                        //Workflow 
    154                         this->WorkflowDoc(); 
     154                        //this->WorkflowDoc(); 
    155155 
    156156                        //subadmins 
     
    158158 
    159159                        //active links 
    160                         this->SchemaAlDoc(); 
     160                        //this->SchemaAlDoc(); 
    161161 
    162162 
    163163                        //filter 
    164                         this->SchemaFilterDoc(); 
     164                        //this->SchemaFilterDoc(); 
    165165 
    166166                        //escalation 
    167                         this->SchemaEscalDoc(); 
     167                        //this->SchemaEscalDoc(); 
    168168 
    169169 
     
    806806} 
    807807 
    808 void CDocSchemaDetails::WorkflowDoc() 
     808void AddJsonRow(Document &doc, CARActiveLink &al, int rootLevel) 
     809{ 
     810        CPageParams alDetailPage(PAGE_DETAILS, &al); 
     811        Document::AllocatorType &alloc = doc.GetAllocator(); 
     812        Value item; 
     813        item.SetArray(); 
     814 
     815        string strModDate, strActlinkName, strLink; 
     816        strModDate = CUtil::DateTimeToString(al.GetTimestamp()); 
     817        strActlinkName = al.GetName(); 
     818        strLink = CWebUtil::GetRelativeURL(rootLevel, alDetailPage); 
     819 
     820        Value modDate, alName, alLink; 
     821        modDate.SetString(strModDate.c_str(), strModDate.length(), alloc); 
     822        alName.SetString(strActlinkName.c_str(), strActlinkName.length(), alloc); 
     823        alLink.SetString(strLink.c_str(), strLink.length(), alloc); 
     824 
     825        item.PushBack((al.GetServerObjectTypeXML()-AR_STRUCT_XML_OFFSET), alloc); 
     826        item.PushBack(alName, alloc); 
     827        item.PushBack((al.GetEnabled() ? true : false), alloc); 
     828        item.PushBack(al.GetOrder(), alloc); 
     829        item.PushBack(al.GetExecuteMask(), alloc); 
     830        item.PushBack(al.GetIfActions().numItems, alloc); 
     831        item.PushBack(al.GetElseActions().numItems, alloc); 
     832        item.PushBack(modDate, alloc); 
     833        item.PushBack(al.GetLastChanged(), alloc); 
     834        item.PushBack(alLink, alloc); 
     835         
     836        doc.PushBack(item, alloc); 
     837} 
     838 
     839void AddJsonRow(Document &doc, CARFilter &flt, int rootLevel) 
     840{ 
     841        CPageParams fltDetailPage(PAGE_DETAILS, &flt); 
     842        Document::AllocatorType &alloc = doc.GetAllocator(); 
     843        Value item; 
     844        item.SetArray(); 
     845 
     846        string strModDate, strName, strLink; 
     847        strModDate = CUtil::DateTimeToString(flt.GetTimestamp()); 
     848        strName = flt.GetName(); 
     849        strLink = CWebUtil::GetRelativeURL(rootLevel, fltDetailPage); 
     850 
     851        Value modDate, objName, objLink; 
     852        modDate.SetString(strModDate.c_str(), strModDate.length(), alloc); 
     853        objName.SetString(strName.c_str(), strName.length(), alloc); 
     854        objLink.SetString(strLink.c_str(), strLink.length(), alloc); 
     855 
     856        item.PushBack((flt.GetServerObjectTypeXML()-AR_STRUCT_XML_OFFSET), alloc); 
     857        item.PushBack(objName, alloc); 
     858        item.PushBack((flt.GetEnabled() ? true : false), alloc); 
     859        item.PushBack(flt.GetOrder(), alloc); 
     860        item.PushBack(flt.GetOperation(), alloc); 
     861        item.PushBack(flt.GetIfActions().numItems, alloc); 
     862        item.PushBack(flt.GetElseActions().numItems, alloc); 
     863        item.PushBack(modDate, alloc); 
     864        item.PushBack(flt.GetLastChanged(), alloc); 
     865        item.PushBack(objLink, alloc); 
     866         
     867        doc.PushBack(item, alloc); 
     868} 
     869 
     870void AddJsonRow(Document &doc, CAREscalation &esc, int rootLevel) 
     871{ 
     872        CPageParams escDetailPage(PAGE_DETAILS, &esc); 
     873        Document::AllocatorType &alloc = doc.GetAllocator(); 
     874        Value item; 
     875        item.SetArray(); 
     876 
     877        string strModDate, strName, strLink; 
     878        strModDate = CUtil::DateTimeToString(esc.GetTimestamp()); 
     879        strName = esc.GetName(); 
     880        strLink = CWebUtil::GetRelativeURL(rootLevel, escDetailPage); 
     881 
     882        Value modDate, objName, objLink; 
     883        modDate.SetString(strModDate.c_str(), strModDate.length(), alloc); 
     884        objName.SetString(strName.c_str(), strName.length(), alloc); 
     885        objLink.SetString(strLink.c_str(), strLink.length(), alloc); 
     886 
     887        item.PushBack((esc.GetServerObjectTypeXML()-AR_STRUCT_XML_OFFSET), alloc); 
     888        item.PushBack(objName, alloc); 
     889        item.PushBack((esc.GetEnabled() ? true : false), alloc); 
     890        item.PushBack("", alloc); 
     891        item.PushBack(esc.GetTimeStruct().escalationTmType, alloc); 
     892        item.PushBack(esc.GetIfActions().numItems, alloc); 
     893        item.PushBack(esc.GetElseActions().numItems, alloc); 
     894        item.PushBack(modDate, alloc); 
     895        item.PushBack(esc.GetLastChanged(), alloc); 
     896        item.PushBack(objLink, alloc); 
     897         
     898        doc.PushBack(item, alloc); 
     899} 
     900 
     901void AddJsonRow(Document &doc, CARContainer &cnt, int rootLevel) 
     902{ 
     903        CPageParams cntDetailPage(PAGE_DETAILS, &cnt); 
     904        Document::AllocatorType &alloc = doc.GetAllocator(); 
     905        Value item; 
     906        item.SetArray(); 
     907 
     908        string strModDate, strName, strLink; 
     909        strModDate = CUtil::DateTimeToString(cnt.GetTimestamp()); 
     910        strName = cnt.GetName(); 
     911        strLink = CWebUtil::GetRelativeURL(rootLevel, cntDetailPage); 
     912 
     913        Value modDate, objName, objLink; 
     914        modDate.SetString(strModDate.c_str(), strModDate.length(), alloc); 
     915        objName.SetString(strName.c_str(), strName.length(), alloc); 
     916        objLink.SetString(strLink.c_str(), strLink.length(), alloc); 
     917 
     918        item.PushBack((cnt.GetServerObjectTypeXML()-AR_STRUCT_XML_OFFSET), alloc); 
     919        item.PushBack(objName, alloc); 
     920        item.PushBack(cnt.GetType(), alloc); 
     921        item.PushBack("", alloc); 
     922        item.PushBack("", alloc); 
     923        item.PushBack("", alloc); 
     924        item.PushBack("", alloc); 
     925        item.PushBack(modDate, alloc); 
     926        item.PushBack(cnt.GetLastChanged(), alloc); 
     927        item.PushBack(objLink, alloc); 
     928         
     929        doc.PushBack(item, alloc); 
     930} 
     931 
     932string CDocSchemaDetails::WorkflowDoc() 
    809933{ 
    810934        try 
     
    812936                CPageParams file(PAGE_SCHEMA_WORKFLOW, &this->schema); 
    813937                int rootLevel = file->GetRootLevel(); 
     938 
     939                Document document; 
     940                Document::AllocatorType &alloc = document.GetAllocator(); 
     941                document.SetArray(); 
    814942 
    815943                string title = "Schema " + this->schema.GetName() + " (Workflow)"; 
     
    849977                        CARActiveLink al(*curIt); 
    850978                        AddTableRow(tblRef, al); 
     979                        AddJsonRow(document, al, rootLevel); 
    851980                } 
    852981 
     
    858987                        CARFilter flt(*curIt); 
    859988                        AddTableRow(tblRef, flt); 
     989                        AddJsonRow(document, flt, rootLevel); 
    860990                } 
    861991 
     
    867997                        CAREscalation esc(*curIt); 
    868998                        AddTableRow(tblRef, esc); 
     999                        AddJsonRow(document, esc, rootLevel); 
    8691000                } 
    8701001 
     
    8761007                        CARContainer alg(*curIt); 
    8771008                        AddTableRow(tblRef, alg); 
     1009                        AddJsonRow(document, alg, rootLevel); 
    8781010                } 
    8791011 
     
    8851017                        CARContainer flg(*curIt); 
    8861018                        AddTableRow(tblRef, flg); 
     1019                        AddJsonRow(document, flg, rootLevel); 
    8871020                } 
    8881021 
     
    8941027                        CARContainer ws(*curIt); 
    8951028                        AddTableRow(tblRef, ws); 
     1029                        AddJsonRow(document, ws, rootLevel); 
    8961030                } 
    8971031 
     
    9031037                webPage.AddContent(tblRef.ToXHtml()); 
    9041038                webPage.SaveInFolder(file->GetPath()); 
     1039 
     1040                tblRef.ClearRows(); 
     1041 
     1042                // generate json output struct 
     1043                stringstream strm; 
     1044                GenericWriteStream genericStream(strm); 
     1045                Writer<GenericWriteStream> genericWriter(genericStream); 
     1046 
     1047                strm << "<script type=\"text/javascript\">" << "var schemaWFLInit = false;" << endl; 
     1048                strm << "var schemaWorkflowList = "; document.Accept(genericWriter); strm << ";" << endl 
     1049                     << "</script>" << endl 
     1050                     << tblRef; 
     1051                return strm.str(); 
    9051052        } 
    9061053        catch(exception& e) 
    9071054        { 
    9081055                cout << "EXCEPTION schema workflow doc of '" << this->schema.GetName() << "': " << e.what() << endl; 
     1056                return ""; 
    9091057        } 
    9101058} 
     
    12281376        { 
    12291377                cout << "EXCEPTION creating schema vuilist doc of '" << this->schema.GetName() << "': " << e.what() << endl; 
     1378                return ""; 
    12301379        } 
    12311380} 
  • branches/work_304/doc/DocSchemaDetails.h

    r354 r361  
    4848        void ShowPermissionProperties(std::ostream &strm, CARProplistHelper *propIndex); 
    4949        void SchemaSubadminDoc(); 
    50         void WorkflowDoc(); 
     50        string WorkflowDoc(); 
    5151 
    5252        std::string GenerateReferencesTable(const ARCompoundSchema &compSchema); 
  • branches/work_304/res/arshelper.js

    r321 r361  
    3131    }; 
    3232}; 
     33 
     34function AREnabled(val) { 
     35    if (val) return "Enabled"; 
     36    return "Disabled"; 
     37} 
     38 
     39function ARObjectType(objType) { 
     40    switch (objType) { 
     41        case 5: return "Filter"; 
     42        case 6: return "Active Link"; 
     43        case 9: return "Escalation"; 
     44    } 
     45} 
     46 
     47function ARContainerType(cntType) { 
     48    switch (cntType) { 
     49        case 1: return "Active Link Guide"; 
     50        case 2: return "Application"; 
     51        case 3: return "Packing List"; 
     52        case 4: return "Filter Guide"; 
     53        case 5: return "Webservice"; 
     54    } 
     55} 
     56 
     57function StrAppend(str, val) { 
     58    if (str.length > 0) 
     59        return str + ", " + val; 
     60    return val; 
     61} 
     62 
     63function ARActLinkExecuteOn(val) { 
     64    var result = ""; 
     65    if (val & 1) { result = StrAppend(result, "Button/MenuField") } 
     66    if (val & 2) { result = StrAppend(result, "Return"); } 
     67    if (val & 4) { result = StrAppend(result, "Submit"); } 
     68    if (val & 8) { result = StrAppend(result, "Modify"); } 
     69    if (val & 16) { result = StrAppend(result, "Display"); } 
     70    if (val & 128) { result = StrAppend(result, "Menu Choise"); } 
     71    if (val & 256) { result = StrAppend(result, "Loose Focus"); } 
     72    if (val & 512) { result = StrAppend(result, "Set Default"); } 
     73    if (val & 1024) { result = StrAppend(result, "Search"); } 
     74    if (val & 2048) { result = StrAppend(result, "After Modify"); } 
     75    if (val & 4096) { result = StrAppend(result, "After Submit"); } 
     76    if (val & 8192) { result = StrAppend(result, "Gain Focus"); } 
     77    if (val & 16384) { result = StrAppend(result, "Window Open"); } 
     78    if (val & 32768) { result = StrAppend(result, "Window Close"); } 
     79    if (val & 65536) { result = StrAppend(result, "Un-Display"); } 
     80    if (val & 131072) { result = StrAppend(result, "Copy To New"); } 
     81    if (val & 262144) { result = StrAppend(result, "Window Loaded"); } 
     82    if (result.length == 0) return "None"; 
     83    return result; 
     84} 
     85 
     86function ARFilterOperation(val) { 
     87    var result = ""; 
     88    if (val & 1) { result = StrAppend(result, "Get"); } 
     89    if (val & 2) { result = StrAppend(result, "Modify"); } 
     90    if (val & 4) { result = StrAppend(result, "Submit"); } 
     91    if (val & 8) { result = StrAppend(result, "Delete"); } 
     92    if (val & 16) { result = StrAppend(result, "Merge"); } 
     93    if (val & 64) { result = StrAppend(result, "Service"); } 
     94    if (result.length == 0) return "None"; 
     95    return result; 
     96} 
     97 
     98function AREscalationTMType(val) { 
     99    if (val == 1) { return "Interval"; } 
     100    return "Time"; 
     101} 
  • branches/work_304/res/schema_page.js

    r347 r361  
    4545}; 
    4646 
     47function getIcon(row) { 
     48    var alt = ""; 
     49    switch (row[0]) { 
     50        case 5: alt = "filter.gif"; break; 
     51        case 6: alt = "active_link.gif"; break; 
     52        case 9: alt = "escalation.gif"; break; 
     53        case 12: switch (row[2]) { 
     54                case 1: alt = "al_guide.gif"; break; 
     55                case 2: alt = "application.gif"; break; 
     56                case 3: alt = "packing_list.gif"; break; 
     57                case 4: alt = "filter_guide.gif"; break; 
     58                case 5: alt = "webservice.gif"; break; 
     59            }; break; 
     60        default: return ""; 
     61    }; 
     62    var src = "../../img/" + alt; 
     63    return $("<img>").attr("width", 16).attr("height", 16).attr("alt", alt).attr("src", src); 
     64} 
     65 
     66function getEnabled(row) { 
     67    if (row[0] == 12) return ""; 
     68    return AREnabled(row[2]); 
     69} 
     70 
     71function getObjType(row) { 
     72    if (row[0] == 12) return ARContainerType(row[2]); 
     73    return ARObjectType(row[0]); 
     74} 
     75 
     76function initWorkflowList() { 
     77    var table_name = 'referenceList'; 
     78    var table = $("#" + table_name); 
     79    $("#" + table_name + " tbody tr:gt(0)").remove(); 
     80    $.each(schemaWorkflowList, function(i) { 
     81        var executeOn = function() { return ""; } 
     82        var objType = schemaWorkflowList[i][0]; 
     83        if (objType == 6) { 
     84            executeOn = function(val) { 
     85                return ARActLinkExecuteOn(val); 
     86            }; 
     87        } 
     88        else if (objType == 5) { 
     89            executeOn = function(val) { 
     90                return ARFilterOperation(val); 
     91            }; 
     92        } 
     93        else if (objType == 9) { 
     94            executeOn = function(val) { 
     95                return AREscalationTMType(val); 
     96            }; 
     97        } 
     98 
     99        var row = ($("<tr>") 
     100                        .append($("<td>").text(getObjType(schemaWorkflowList[i]))) 
     101                        .append($("<td>") 
     102                                .append(getIcon(schemaWorkflowList[i])) 
     103                                .append($("<a>").attr("href", schemaWorkflowList[i][9]).text(schemaWorkflowList[i][1])) 
     104                        ) 
     105                        .append($("<td>").text(getEnabled(schemaWorkflowList[i]))) 
     106                        .append($("<td>").text(schemaWorkflowList[i][3])) 
     107                        .append($("<td>").text(executeOn(schemaWorkflowList[i][4]))) 
     108                        .append($("<td>").text(schemaWorkflowList[i][5])) 
     109                        .append($("<td>").text(schemaWorkflowList[i][6])) 
     110                        .append($("<td>").text(schemaWorkflowList[i][7])) 
     111                        .append($("<td>").text(schemaWorkflowList[i][8])) 
     112                ); 
     113        table.append(row); 
     114    }); 
     115    schemaWFLInit = true; 
     116} 
     117 
    47118$('document').ready(function() { 
    48119    $.address.change(function(event) { 
    49120        $("#MainObjectTabCtrl").tabs("select", window.location.hash); 
     121        if (window.location.hash === '#tab-4' && !schemaWFLInit) { initWorkflowList(); } 
    50122    }); 
    51123    $("#MainObjectTabCtrl").bind("tabsselect", function(event, ui) { 
    52124        window.location.hash = ui.tab.hash; 
     125        if (ui.tab.hash === '#tab-4' && !schemaWFLInit) { initWorkflowList(); } 
    53126    }); 
    54127    $(".clearable").on('propertychange keyup input paste', 'input.data_field', function(e) { 
Note: See TracChangeset for help on using the changeset viewer.