Changeset 423 for branches


Ignore:
Timestamp:
02/23/14 17:32:03 (6 years ago)
Author:
jls17
Message:
  • added filtering support the the escalation-list-page
Location:
branches/work_304
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • branches/work_304/ARInsideLib.vcproj

    r418 r423  
    14571457                                        /> 
    14581458                                </FileConfiguration> 
     1459                        </File> 
     1460                        <File 
     1461                                RelativePath=".\res\escalationList.js" 
     1462                                > 
    14591463                        </File> 
    14601464                        <File 
  • branches/work_304/CMakeLists.txt

    r418 r423  
    288288        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/actlinkList.js ${CMAKE_BINARY_DIR}/img 
    289289        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/filterList.js ${CMAKE_BINARY_DIR}/img 
     290        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/escalationList.js ${CMAKE_BINARY_DIR}/img 
    290291        COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/res/style.css ${CMAKE_BINARY_DIR}/img 
    291292        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

    r418 r423  
    797797        try 
    798798        { 
    799                 int rootLevel = file->GetRootLevel(); 
     799                rootLevel = file->GetRootLevel(); 
    800800                CEscalTable tbl(*this->pInside); 
    801801 
     
    804804                { 
    805805                        CAREscalation escalation(escalIndex); 
     806                        bool bInsert = false; 
    806807 
    807808#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764 
     
    810811#endif 
    811812 
    812                         objCount++; 
    813  
    814                         bool bInsert = false; 
    815813                        if(searchChar == "*")  //All objecte 
    816814                        { 
     
    836834                        if(bInsert) 
    837835                        { 
    838                                 tbl.AddRow(escalIndex, rootLevel); 
     836                                objCount++; 
    839837                        } 
    840838                } 
     
    843841                { 
    844842                        CWebPage webPage(file->GetFileName(), "Escalation List", rootLevel, this->pInside->appConfig); 
    845  
    846843                        stringstream strmTmp; 
    847                         strmTmp << CWebUtil::LinkToEscalationIndex(tbl.NumRows(), rootLevel) << ShortMenu(searchChar, file, objCountPerLetter); 
    848  
     844 
     845                        strmTmp << "<span id='esclationListFilterResultCount'></span>" << CWebUtil::LinkToEscalationIndex(objCount, rootLevel); 
     846 
     847                        if (searchChar == "*") 
     848                        { 
     849                                webPage.GetReferenceManager() 
     850                                        .AddScriptReference("img/object_list.js") 
     851                                        .AddScriptReference("img/escalationList.js") 
     852                                        .AddScriptReference("img/jquery.timers.js") 
     853                                        .AddScriptReference("img/jquery.address.min.js"); 
     854 
     855                                EscalationListJson(strmTmp); 
     856                                strmTmp << CreateEscalationFilterControl() << endl; 
     857                        } 
     858 
     859                        strmTmp << ShortMenu(searchChar, file, objCountPerLetter); 
    849860                        tbl.SetDescription(strmTmp.str()); 
    850861                        webPage.AddContent(tbl.Print()); 
     
    858869        } 
    859870        return objCount; 
     871} 
     872 
     873void CDocMain::EscalationListJson(std::ostream &strm) 
     874{ 
     875        Document document; 
     876        Document::AllocatorType &alloc = document.GetAllocator(); 
     877        document.SetArray(); 
     878 
     879        unsigned int escalCount = this->pInside->escalationList.GetCount(); 
     880        for (unsigned int escalIndex = 0; escalIndex < escalCount; ++escalIndex) 
     881        {        
     882                CAREscalation escalation(escalIndex); 
     883 
     884#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764 
     885                if (pInside->appConfig.bOverlaySupport && !IsVisibleObject(escalation)) 
     886                        continue; 
     887#endif 
     888 
     889                CARProplistHelper props(&escalation.GetPropList()); 
     890                CPageParams escalDetailPage(PAGE_DETAILS, &escalation); 
     891 
     892                // create a new json row and make it an array 
     893                Value escalRow; 
     894                escalRow.SetArray(); 
     895 
     896                // now build the needed temporary variables 
     897                string strName = escalation.GetName();                   
     898                string strExecuteOn = escalation.GetExecuteOn(); 
     899                string strModifiedDate = CUtil::DateTimeToString(escalation.GetTimestamp()); 
     900                string strLink = CWebUtil::GetRelativeURL(rootLevel, escalDetailPage); 
     901                 
     902                // build the values 
     903                Value valName(strName.c_str(), static_cast<SizeType>(strName.size()), alloc); 
     904                Value valExecuteOn(strExecuteOn.c_str(), static_cast<SizeType>(strExecuteOn.size()), alloc); 
     905                Value valModifiedDate(strModifiedDate.c_str(), static_cast<SizeType>(strModifiedDate.size()), alloc); 
     906                Value valLink(strLink.c_str(), static_cast<SizeType>(strLink.size()), alloc); 
     907 
     908                // add everything to the row 
     909                escalRow.PushBack(valName, alloc); 
     910                escalRow.PushBack(escalation.GetEnabled(), alloc); 
     911                escalRow.PushBack(valExecuteOn, alloc); 
     912                escalRow.PushBack(escalation.GetIfActions().numItems, alloc); 
     913                escalRow.PushBack(escalation.GetElseActions().numItems, alloc); 
     914                escalRow.PushBack(valModifiedDate, alloc); 
     915                escalRow.PushBack(escalation.GetLastChanged(), alloc); 
     916                escalRow.PushBack(valLink, alloc); 
     917#if AR_CURRENT_API_VERSION >= AR_API_VERSION_710 
     918                if (pInside->CompareServerVersion(7, 1) >= 0) 
     919                        escalRow.PushBack(escalation.GetPool(), alloc);                  
     920#endif 
     921 
     922                // add the row to the document 
     923                document.PushBack(escalRow, alloc); 
     924        } 
     925 
     926        GenericWriteStream output(strm); 
     927        Writer<GenericWriteStream> writer(output); 
     928 
     929        strm << endl << "<script type=\"text/javascript\">" << endl; 
     930        strm << "var escalationList = "; document.Accept(writer); strm << ";"; 
     931        strm << "var rootLevel = " << rootLevel << ";"; 
     932        strm << endl; 
     933        strm << "</script>" << endl; 
    860934} 
    861935 
     
    18081882                << CreateStandardFilterControl("filterFilter") 
    18091883        << "</div>"; 
    1810         return content.str();} 
     1884        return content.str(); 
     1885} 
     1886 
     1887string CDocMain::CreateEscalationFilterControl() 
     1888{ 
     1889        stringstream content; 
     1890        content << "<div>" 
     1891                << CreateStandardFilterControl("escalationFilter") 
     1892        << "</div>"; 
     1893        return content.str(); 
     1894} 
    18111895 
    18121896void CDocMain::SchemaListJson(std::ostream &strm) 
  • branches/work_304/doc/DocMain.h

    r418 r423  
    7777        static string CreateActlinkFilterControl(); 
    7878        static string CreateFilterFilterControl(); 
     79        static string CreateEscalationFilterControl(); 
    7980 
    8081        void SchemaListJson(std::ostream &strm); 
    8182        void ActiveLinkListJson(std::ostream &strm); 
    8283        void FilterListJson(std::ostream &strm); 
     84        void EscalationListJson(std::ostream &stream); 
    8385}; 
  • branches/work_304/output/EscalTable.cpp

    r421 r423  
    3737        tbl.AddColumn(20, "Changed"); 
    3838        tbl.AddColumn(20, "By"); 
     39 
     40        tbl.SetEmptyMessage(""); 
    3941} 
    4042 
  • branches/work_304/res/arshelper.js

    r385 r423  
    133133    return $("<img>").attr("width", 16).attr("height", 16).attr("alt", alt).attr("src", src); 
    134134} 
     135 
     136function ARPool(poolNum) { 
     137        var n = Number(poolNum);         
     138        if (n !== "NaN" && poolNum > 0) { return n; }    
     139} 
Note: See TracChangeset for help on using the changeset viewer.