Changeset 426 for branches


Ignore:
Timestamp:
02/24/14 15:47:30 (6 years ago)
Author:
jls17
Message:
  • added filtering support to the menu-list-page
Location:
branches/work_304
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • branches/work_304/CMakeLists.txt

    r423 r426  
    289289        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/filterList.js ${CMAKE_BINARY_DIR}/img 
    290290        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/escalationList.js ${CMAKE_BINARY_DIR}/img 
     291        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/menuList.js ${CMAKE_BINARY_DIR}/img 
    291292        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/style.css ${CMAKE_BINARY_DIR}/img 
    292293        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/jquery/jquery-ui-custom.css ${CMAKE_BINARY_DIR}/img 
  • branches/work_304/doc/DocMain.cpp

    r424 r426  
    10731073        try 
    10741074        { 
    1075                 int rootLevel = file->GetRootLevel(); 
     1075                rootLevel = file->GetRootLevel(); 
    10761076                CMenuTable tbl(*this->pInside); 
    10771077 
     
    10851085                                continue; 
    10861086#endif 
    1087  
    1088                         objCount++; 
    10891087 
    10901088                        bool bInsert = false; 
     
    11161114                        if(bInsert) 
    11171115                        { 
    1118                                 tbl.AddRow(menu, rootLevel); 
     1116                                objCount++; 
    11191117                        } 
    11201118                } 
     
    11221120                if (tbl.NumRows() > 0 || searchChar == "*") 
    11231121                { 
    1124                         CWebPage webPage(file->GetFileName(), "CharMenu List", 1, this->pInside->appConfig); 
     1122                        CWebPage webPage(file->GetFileName(), "Menu List", 1, this->pInside->appConfig); 
    11251123 
    11261124                        stringstream strmTmp; 
    1127                         strmTmp << CWebUtil::LinkToMenuIndex(tbl.NumRows(), rootLevel) << ShortMenu(searchChar, file, objCountPerLetter); 
     1125                        strmTmp << "<span id='menuListFilterResultCount'></span>" << CWebUtil::LinkToMenuIndex(objCount, rootLevel); 
     1126 
     1127                        if (searchChar == "*") 
     1128                        { 
     1129                                webPage.GetReferenceManager() 
     1130                                        .AddScriptReference("img/object_list.js") 
     1131                                        .AddScriptReference("img/menuList.js") 
     1132                                        .AddScriptReference("img/jquery.timers.js") 
     1133                                        .AddScriptReference("img/jquery.address.min.js"); 
     1134                                 
     1135                                MenuListJson(strmTmp); 
     1136                                strmTmp << CreateMenuFilterControl() << endl; 
     1137                        } 
    11281138                         
     1139                        strmTmp << ShortMenu(searchChar, file, objCountPerLetter); 
    11291140                        tbl.SetDescription(strmTmp.str()); 
    11301141                        webPage.AddContent(tbl.Print()); 
     
    11391150        } 
    11401151        return objCount; 
     1152} 
     1153 
     1154void CDocMain::MenuListJson(std::ostream &strm) 
     1155{ 
     1156        Document document; 
     1157        Document::AllocatorType &alloc = document.GetAllocator(); 
     1158        document.SetArray(); 
     1159 
     1160        unsigned int menuCount = this->pInside->menuList.GetCount(); 
     1161        for (unsigned int menuIndex = 0; menuIndex < menuCount; ++menuIndex) 
     1162        { 
     1163                CARCharMenu menu(menuIndex); 
     1164 
     1165#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764 
     1166                if (pInside->appConfig.bOverlaySupport && !IsVisibleObject(menu)) 
     1167                        continue; 
     1168#endif 
     1169 
     1170                CPageParams menuDetailPage(PAGE_DETAILS, &menu); 
     1171 
     1172                // create a new json row and make it an array 
     1173                Value menuRow; 
     1174                menuRow.SetArray(); 
     1175 
     1176                // now build the needed temporary variables 
     1177                string strName = menu.GetName(); 
     1178                string strModifiedDate = CUtil::DateTimeToString(menu.GetTimestamp()); 
     1179                string strLink = CWebUtil::GetRelativeURL(rootLevel, menuDetailPage); 
     1180 
     1181                // build the values 
     1182                Value valName(strName.c_str(), static_cast<SizeType>(strName.size()), alloc); 
     1183                Value valModifiedDate(strModifiedDate.c_str(), static_cast<SizeType>(strModifiedDate.size()), alloc); 
     1184                Value valLink(strLink.c_str(), static_cast<SizeType>(strLink.size()), alloc); 
     1185 
     1186                // add everything to the row 
     1187                menuRow.PushBack(valName, alloc); 
     1188                menuRow.PushBack(menu.GetDefinition().menuType, alloc); 
     1189                menuRow.PushBack(menu.GetRefreshCode(), alloc); 
     1190                menuRow.PushBack(valModifiedDate, alloc); 
     1191                menuRow.PushBack(menu.GetLastChanged(), alloc); 
     1192                menuRow.PushBack(valLink, alloc); 
     1193 
     1194                // add the row to the document 
     1195                document.PushBack(menuRow, alloc); 
     1196        } 
     1197 
     1198        GenericWriteStream output(strm); 
     1199        Writer<GenericWriteStream> writer(output); 
     1200 
     1201        strm << endl << "<script type=\"text/javascript\">" << endl; 
     1202        strm << "var menuList = "; document.Accept(writer); strm << ";"; 
     1203        strm << "var rootLevel = " << rootLevel << ";"; 
     1204        strm << endl; 
     1205        strm << "</script>" << endl; 
    11411206} 
    11421207 
     
    19051970} 
    19061971 
     1972string CDocMain::CreateMenuFilterControl() 
     1973{ 
     1974        stringstream content; 
     1975        content << "<div>" 
     1976                << CreateStandardFilterControl("menuFilter") 
     1977                << "<span class='multiFilter' id='multiFilter'>Restrict results to: " 
     1978                << "<input id='typeFilterCharacter' type='checkbox' value='1'/><label for='typeFilterCharacter'>&nbsp;Character</label>" 
     1979                << "<input id='typeFilterSearch' type='checkbox' value='2'/><label for='typeFilterSearch'>&nbsp;Search</label>" 
     1980                << "<input id='typeFilterFile' type='checkbox' value='3'/><label for='typeFilterFile'>&nbsp;File</label>" 
     1981                << "<input id='typeFilterSQL' type='checkbox' value='4'/><label for='typeFilterSQL'>&nbsp;SQL</label>" 
     1982                << "<input id='typeFilterDD' type='checkbox' value='6'/><label for='typeFilterDD'>&nbsp;Data&nbsp;Dictionary</label>" 
     1983                << " <button id='typeFilterNone'>Clear All</button>" 
     1984                << "</span>" 
     1985        << "</div>"; 
     1986        return content.str(); 
     1987} 
     1988 
    19071989void CDocMain::SchemaListJson(std::ostream &strm) 
    19081990{ 
  • branches/work_304/doc/DocMain.h

    r423 r426  
    7878        static string CreateFilterFilterControl(); 
    7979        static string CreateEscalationFilterControl(); 
     80        static string CreateMenuFilterControl(); 
    8081 
    8182        void SchemaListJson(std::ostream &strm); 
    8283        void ActiveLinkListJson(std::ostream &strm); 
    8384        void FilterListJson(std::ostream &strm); 
    84         void EscalationListJson(std::ostream &stream); 
     85        void EscalationListJson(std::ostream &strm); 
     86        void MenuListJson(std::ostream &strm); 
    8587}; 
  • branches/work_304/output/MenuTable.cpp

    r238 r426  
    2121 
    2222CMenuTable::CMenuTable(CARInside &arIn) 
    23 : CObjectTable("charmenuList", "TblObjectList") 
     23: CObjectTable("menuList", "TblObjectList") 
    2424{ 
    2525        this->pInside = &arIn; 
     
    3030        tbl.AddColumn(20, "Changed"); 
    3131        tbl.AddColumn(20, "By"); 
     32 
     33        tbl.SetEmptyMessage(""); 
    3234} 
    3335 
  • branches/work_304/res/arshelper.js

    r423 r426  
    118118        case 5: alt = "filter.gif"; break; 
    119119        case 6: alt = "active_link.gif"; break; 
     120                case 8: alt = "menu.gif"; break; 
    120121        case 9: alt = "escalation.gif"; break; 
    121122        case 12: switch (subtype) { 
     
    138139        if (n !== "NaN" && poolNum > 0) { return n; }    
    139140} 
     141 
     142function ARMenuType(type) { 
     143        switch (type) { 
     144                case 1: return "Character"; 
     145                case 2: return "Search"; 
     146                case 3: return "File"; 
     147                case 4: return "SQL"; 
     148                case 6: return "Data Dictionary"; 
     149                default: return ""; 
     150        } 
     151} 
     152 
     153function ARMenuConnect(type) { 
     154        switch (type) { 
     155                case 1: return "On Connect"; 
     156                case 2: return "On Open"; 
     157                case 3: return "On 15-minute Interval"; 
     158                default: return ""; 
     159        } 
     160} 
Note: See TracChangeset for help on using the changeset viewer.