Changeset 418


Ignore:
Timestamp:
02/23/14 17:30:25 (6 years ago)
Author:
jls17
Message:
  • added filtering support to the filter-list-page
Location:
branches/work_304
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • branches/work_304/ARInsideLib.vcproj

    r416 r418  
    14971497                                        /> 
    14981498                                </FileConfiguration> 
     1499                        </File> 
     1500                        <File 
     1501                                RelativePath=".\res\filterList.js" 
     1502                                > 
    14991503                        </File> 
    15001504                        <File 
  • branches/work_304/CMakeLists.txt

    r416 r418  
    287287        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/schemaList.js ${CMAKE_BINARY_DIR}/img 
    288288        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/actlinkList.js ${CMAKE_BINARY_DIR}/img 
     289        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/filterList.js ${CMAKE_BINARY_DIR}/img 
    289290        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/style.css ${CMAKE_BINARY_DIR}/img 
    290291        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

    r416 r418  
    495495        try 
    496496        { 
    497                 int rootLevel = file->GetRootLevel(); 
     497                rootLevel = file->GetRootLevel(); 
    498498                CFilterTable tbl(*this->pInside); 
    499499 
     
    503503                { 
    504504                        CARFilter filter(filterIndex); 
     505                        bool bInsert = false; 
    505506 
    506507#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764 
     
    509510#endif 
    510511 
    511                         objCount++; 
    512  
    513                         bool bInsert = false; 
    514512                        if(searchChar == "*")  //All objecte 
    515513                        { 
     
    535533                        if(bInsert) 
    536534                        { 
    537                                 tbl.AddRow(filterIndex, rootLevel); 
     535                                objCount++; 
    538536                        } 
    539537                } 
     
    544542 
    545543                        stringstream strmTmp; 
    546                         strmTmp << CWebUtil::LinkToFilterIndex(tbl.NumRows(), rootLevel) << ShortMenu(searchChar, file, objCountPerLetter); 
    547  
     544                        strmTmp << "<span id='filterListFilterResultCount'></span>" << CWebUtil::LinkToFilterIndex(objCount, rootLevel); 
     545 
     546                        if (searchChar == "*") 
     547                        { 
     548                                webPage.GetReferenceManager() 
     549                                        .AddScriptReference("img/object_list.js") 
     550                                        .AddScriptReference("img/filterList.js") 
     551                                        .AddScriptReference("img/jquery.timers.js") 
     552                                        .AddScriptReference("img/jquery.address.min.js"); 
     553 
     554                                FilterListJson(strmTmp); 
     555                                strmTmp << CreateFilterFilterControl() << endl; 
     556                        } 
     557 
     558                        strmTmp << ShortMenu(searchChar, file, objCountPerLetter); 
    548559                        tbl.SetDescription(strmTmp.str()); 
    549560                        webPage.AddContent(tbl.Print()); 
     
    557568        } 
    558569        return objCount; 
     570} 
     571 
     572void CDocMain::FilterListJson(std::ostream &strm) 
     573{ 
     574        Document document; 
     575        Document::AllocatorType &alloc = document.GetAllocator(); 
     576        document.SetArray(); 
     577 
     578        unsigned int filterCount = this->pInside->filterList.GetCount(); 
     579        for (unsigned int filterIndex = 0; filterIndex < filterCount; ++filterIndex) 
     580        {        
     581                CARFilter filter(filterIndex); 
     582                 
     583#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764 
     584                if (pInside->appConfig.bOverlaySupport && !IsVisibleObject(filter)) 
     585                        continue; 
     586#endif 
     587 
     588                CPageParams filterDetailPage(PAGE_DETAILS, &filter); 
     589 
     590                // create a new json row and make it an array 
     591                Value filterRow; 
     592                filterRow.SetArray(); 
     593 
     594                // now build the needed temporary variables 
     595                string strName = filter.GetName(); 
     596                string strExecuteOn = filter.GetExecuteOn(true); 
     597                string strModifiedDate = CUtil::DateTimeToString(filter.GetTimestamp()); 
     598                string strLink = CWebUtil::GetRelativeURL(rootLevel, filterDetailPage); 
     599 
     600                // build the values 
     601                Value valName(strName.c_str(), static_cast<SizeType>(strName.size()), alloc); 
     602                Value valExecOn(strExecuteOn.c_str(), static_cast<SizeType>(strExecuteOn.size()), alloc);                
     603                Value valModifiedDate(strModifiedDate.c_str(), static_cast<SizeType>(strModifiedDate.size()), alloc); 
     604                Value valLink(strLink.c_str(), static_cast<SizeType>(strLink.size()), alloc); 
     605 
     606                // add everything to the row 
     607                filterRow.PushBack(valName,alloc); 
     608                filterRow.PushBack(filter.GetEnabled(), alloc); 
     609                filterRow.PushBack(filter.GetOrder(), alloc); 
     610                filterRow.PushBack(valExecOn, alloc); 
     611                filterRow.PushBack(filter.GetIfActions().numItems, alloc); 
     612                filterRow.PushBack(filter.GetElseActions().numItems, alloc); 
     613                filterRow.PushBack(valModifiedDate, alloc); 
     614                filterRow.PushBack(filter.GetLastChanged(), alloc); 
     615                filterRow.PushBack(valLink, alloc); 
     616 
     617                document.PushBack(filterRow, alloc); 
     618        } 
     619 
     620        GenericWriteStream output(strm); 
     621        Writer<GenericWriteStream> writer(output); 
     622 
     623        strm << endl << "<script type=\"text/javascript\">" << endl; 
     624        strm << "var filterList = "; document.Accept(writer); strm << ";"; 
     625        strm << "var rootLevel = " << rootLevel << ";"; 
     626        strm << endl; 
     627        strm << "</script>" << endl; 
    559628} 
    560629 
     
    17331802} 
    17341803 
     1804string CDocMain::CreateFilterFilterControl() 
     1805{ 
     1806        stringstream content; 
     1807        content << "<div>" 
     1808                << CreateStandardFilterControl("filterFilter") 
     1809        << "</div>"; 
     1810        return content.str();} 
     1811 
    17351812void CDocMain::SchemaListJson(std::ostream &strm) 
    17361813{ 
  • branches/work_304/doc/DocMain.h

    r412 r418  
    7676        static string CreateSchemaFilterControl(); 
    7777        static string CreateActlinkFilterControl(); 
     78        static string CreateFilterFilterControl(); 
    7879 
    7980        void SchemaListJson(std::ostream &strm); 
    8081        void ActiveLinkListJson(std::ostream &strm); 
     82        void FilterListJson(std::ostream &strm); 
    8183}; 
  • branches/work_304/output/FilterTable.cpp

    r133 r418  
    3333        tbl.AddColumn(0, "Changed"); 
    3434        tbl.AddColumn(0, "By"); 
     35         
     36        tbl.SetEmptyMessage(""); 
    3537} 
    3638 
Note: See TracChangeset for help on using the changeset viewer.