Changeset 385 for branches


Ignore:
Timestamp:
02/06/14 15:50:39 (6 years ago)
Author:
jls17
Message:
  • added filtering to the schema-list-page
Location:
branches/work_304
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • branches/work_304/ARInsideLib.vcproj

    r372 r385  
    16341634                                        /> 
    16351635                                </FileConfiguration> 
     1636                        </File> 
     1637                        <File 
     1638                                RelativePath=".\res\object_list.js" 
     1639                                > 
    16361640                        </File> 
    16371641                        <File 
  • branches/work_304/CMakeLists.txt

    r335 r385  
    266266        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/menu.gif ${CMAKE_BINARY_DIR}/img 
    267267        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/next.gif ${CMAKE_BINARY_DIR}/img 
     268        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/object_list.js ${CMAKE_BINARY_DIR}/img 
    268269        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/packing_list.gif ${CMAKE_BINARY_DIR}/img 
    269270        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/prev.gif ${CMAKE_BINARY_DIR}/img 
  • branches/work_304/doc/DocMain.cpp

    r266 r385  
    2020#include "../core/ARServerInfo.h" 
    2121 
     22#include "rapidjson/document.h" 
     23#include "rapidjson/genericwritestream.h" 
     24#include "rapidjson/writer.h" 
     25 
     26using namespace rapidjson; 
     27 
    2228CDocMain::CDocMain() 
    2329{ 
     
    128134        try 
    129135        { 
    130                 int rootLevel = file->GetRootLevel(); 
     136                /*int*/ rootLevel = file->GetRootLevel(); 
    131137                CSchemaTable tbl(*this->pInside); 
    132138 
     
    187193 
    188194                        stringstream strmTmp; 
    189                         strmTmp << CWebUtil::LinkToSchemaIndex(tbl.NumRows(), rootLevel); 
     195                        strmTmp << "<span id='schemaListFilterResultCount'></span>" << CWebUtil::LinkToSchemaIndex(tbl.NumRows(), rootLevel); 
    190196 
    191197                        if(nType != AR_SCHEMA_NONE) 
    192198                                strmTmp << MenuSeparator << CAREnum::SchemaType(nType); 
    193199 
     200 
     201                        if (nType == AR_SCHEMA_NONE && searchChar == "*") 
     202                        { 
     203                                webPage.GetReferenceManager() 
     204                                        .AddScriptReference("img/object_list.js") 
     205                                        .AddScriptReference("img/jquery.timers.js") 
     206                                        .AddScriptReference("img/jquery.address.min.js"); 
     207 
     208                                SchemaListJson(strmTmp); 
     209                                strmTmp << CreateSchemaFilterControl() << endl; 
     210                        } 
     211 
    194212                        strmTmp << ShortMenu(searchChar, file, objCountPerLetter); 
    195  
    196213                        tbl.SetDescription(strmTmp.str()); 
    197214                        webPage.AddContent(tbl.Print()); 
     
    16101627        return ( t1.msgNumber < t2.msgNumber); 
    16111628} 
     1629 
     1630string CDocMain::CreateSchemaFilterControl() 
     1631{ 
     1632        stringstream content;    
     1633        content << "<div>"  
     1634                << "<span class='clearable'><input id='formNameFilter' class='data_field' type='text' /></span><button id='execFormFilter' class>Filter</button> &nbsp;&nbsp;&nbsp; " 
     1635                << "<span class='multiFilter' id='multiFilter' style='border: 1px solid silver; padding: 5px;'>" 
     1636                << "<input id='typeFilterRegular' type='checkbox' value='1'/><label for='typeFilterRegular'>&nbsp;Regular</label>" 
     1637                << "<input id='typeFilterJoin' type='checkbox' value='2'/><label for='typeFilterJoin'>&nbsp;Join</label>" 
     1638                << "<input id='typeFilterView' type='checkbox' value='3'/><label for='typeFilterView'>&nbsp;View</label>" 
     1639                << "<input id='typeFilterDialog' type='checkbox' value='4'/><label for='typeFilterDialog'>&nbsp;Dialog</label>" 
     1640                << "<input id='typeFilterVendor' type='checkbox' value='5'/><label for='typeFilterVendor'>&nbsp;Vendor</label>" 
     1641                << "<button id='typeFilterAll'>V</button>" 
     1642                << "<button id='typeFilterNone'>&nbsp;</button>" 
     1643                << "<button id='typeFilterInvert'>~</button>" 
     1644                << "<span>" 
     1645        << "</div>"; 
     1646 
     1647        return content.str(); 
     1648} 
     1649 
     1650void CDocMain::SchemaListJson(std::ostream &strm) 
     1651{ 
     1652        Document document; 
     1653        Document::AllocatorType &alloc = document.GetAllocator(); 
     1654        document.SetArray(); 
     1655 
     1656        unsigned int schemaCount = this->pInside->schemaList.GetCount(); 
     1657        for (unsigned int schemaIndex = 0; schemaIndex < schemaCount; ++schemaIndex) 
     1658        {        
     1659                CARSchema schema(schemaIndex); 
     1660                CPageParams schemaDetailPage(PAGE_DETAILS, &schema); 
     1661                 
     1662#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764 
     1663                        if (pInside->appConfig.bOverlaySupport && !IsVisibleObject(schema)) 
     1664                                continue; 
     1665#endif 
     1666 
     1667                        // create a new json row and make it an array 
     1668                        Value schemaRow; 
     1669                        schemaRow.SetArray(); 
     1670 
     1671                        // now build the needed temporary variables 
     1672                        string strName = schema.GetName(); 
     1673                        string strWebAlias = schema.WebAlias();                  
     1674                        string strModifiedDate = CUtil::DateTimeToString(schema.GetTimestamp()); 
     1675                        string strLink = CWebUtil::GetRelativeURL(rootLevel, schemaDetailPage); 
     1676 
     1677                        //// try to reduce data size 
     1678                        //if (strLink.compare(strName) == 0) 
     1679                        //      strLink == ""; 
     1680 
     1681                        Value valName(strName.c_str(), static_cast<SizeType>(strName.size()), alloc); 
     1682                        Value valWebAlias(strWebAlias.c_str(), static_cast<SizeType>(strWebAlias.size()), alloc); 
     1683                        Value valModifiedDate(strModifiedDate.c_str(), static_cast<SizeType>(strModifiedDate.size()), alloc); 
     1684                        Value valLink(strLink.c_str(), static_cast<SizeType>(strLink.size()), alloc); 
     1685 
     1686                        // add everything to the row 
     1687                        schemaRow.PushBack(schema.GetDbTableId(), alloc); 
     1688                        schemaRow.PushBack(valName, alloc); 
     1689                        schemaRow.PushBack(valWebAlias, alloc); 
     1690                        schemaRow.PushBack(static_cast<int>(schema.GetFields()->GetCount()), alloc); 
     1691                        schemaRow.PushBack(static_cast<int>(schema.GetVUIs()->GetCount()), alloc); 
     1692                        schemaRow.PushBack(static_cast<int>(schema.GetCompound().schemaType), alloc); 
     1693                        schemaRow.PushBack(valModifiedDate, alloc); 
     1694                        schemaRow.PushBack(schema.GetLastChanged(), alloc); 
     1695                        schemaRow.PushBack(valLink, alloc); 
     1696 
     1697                        // add the row to the document 
     1698                        document.PushBack(schemaRow, alloc); 
     1699        } 
     1700 
     1701        GenericWriteStream output(strm); 
     1702        Writer<GenericWriteStream> writer(output); 
     1703 
     1704        strm << endl << "<script type=\"text/javascript\">" << endl; 
     1705        strm << "var schemaList = "; document.Accept(writer); strm << ";"; 
     1706        strm << "var rootLevel = " << rootLevel << ";"; 
     1707        strm << endl; 
     1708        strm << "</script>" << endl;     
     1709} 
  • branches/work_304/doc/DocMain.h

    r266 r385  
    7272 
    7373        static string ShortMenu(string curCharacter, const CPageParams &curPage, std::vector<int>& objCountPerLetter); 
     74        static string CreateSchemaFilterControl(); 
     75        void SchemaListJson(std::ostream &strm); 
    7476}; 
  • branches/work_304/doc/DocSchemaDetails.cpp

    r365 r385  
    850850                strm << "<script type=\"text/javascript\">" << "var schemaWFLInit = false;" << endl; 
    851851                strm << "var schemaWorkflowList = "; document.Accept(genericWriter); strm << ";" << endl 
     852                     << "var rootLevel = " << rootLevel << endl 
    852853                     << "</script>" << endl 
    853854                     << tblRef; 
  • branches/work_304/res/arshelper.js

    r361 r385  
    100100    return "Time"; 
    101101} 
     102 
     103function ARSchemaType(schemaType) { 
     104    switch (schemaType) { 
     105        case 1: return "Regular"; 
     106        case 2: return "Join"; 
     107        case 3: return "View"; 
     108        case 4: return "Dialog"; 
     109        case 5: return "Vendor"; 
     110        default: return "unknown"; 
     111    } 
     112} 
     113 
     114function getIcon(rootLevel, type, subtype) { 
     115    var alt = ""; 
     116    switch (type) { 
     117        case 1: alt = "schema.gif"; break; 
     118        case 5: alt = "filter.gif"; break; 
     119        case 6: alt = "active_link.gif"; break; 
     120        case 9: alt = "escalation.gif"; break; 
     121        case 12: switch (subtype) { 
     122                case 1: alt = "al_guide.gif"; break; 
     123                case 2: alt = "application.gif"; break; 
     124                case 3: alt = "packing_list.gif"; break; 
     125                case 4: alt = "filter_guide.gif"; break; 
     126                case 5: alt = "webservice.gif"; break; 
     127            }; break; 
     128        default: return ""; 
     129    }; 
     130    var src = ""; 
     131    for (i = 0; i < rootLevel; i++) { src += "../"; } 
     132    src += "img/" + alt; 
     133    return $("<img>").attr("width", 16).attr("height", 16).attr("alt", alt).attr("src", src); 
     134} 
  • branches/work_304/res/schema_page.js

    r361 r385  
    4545}; 
    4646 
    47 function 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  
    6647function getEnabled(row) { 
    6748    if (row[0] == 12) return ""; 
     
    10081                        .append($("<td>").text(getObjType(schemaWorkflowList[i]))) 
    10182                        .append($("<td>") 
    102                                 .append(getIcon(schemaWorkflowList[i])) 
     83                                .append(getIcon(rootLevel, schemaWorkflowList[i][0], schemaWorkflowList[i][2])) 
    10384                                .append($("<a>").attr("href", schemaWorkflowList[i][9]).text(schemaWorkflowList[i][1])) 
    10485                        ) 
Note: See TracChangeset for help on using the changeset viewer.