Changeset 542


Ignore:
Timestamp:
04/24/14 16:27:53 (5 years ago)
Author:
jls17
Message:
  • alguides and fltguide without callers do have a exclamation mark in the overview list again
  • moved the json-row-code for containers from CDocMain to CContainerTable
Location:
branches/work_311
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/work_311/doc/DocMain.cpp

    r524 r542  
    10801080                        { 
    10811081                                letterFilter.IncStartLetterOf(cont); 
     1082                                tbl.AddRowJson(cont, rootLevel); 
    10821083                                objCount++; 
    10831084                        } 
     
    10971098 
    10981099                stringstream strmTmp; 
    1099                 strmTmp << "<span id='containerListResultCount'></span>" << CWebUtil::LinkToContainer(objCount, rootLevel, nType); 
    1100                 ContainerListJson(strmTmp, nType); 
     1100                strmTmp << "<span id='containerListResultCount'></span>" << CWebUtil::LinkToContainer(objCount, rootLevel, nType) << endl; 
     1101                strmTmp << "<script type=\"text/javascript\">" << endl; 
     1102                strmTmp << "var rootLevel = " << rootLevel << ";"; 
     1103                strmTmp << "var containerType = " << nType << ";"; 
     1104                strmTmp << endl; 
     1105                strmTmp << "</script>" << endl; 
    11011106                strmTmp << CreateContainerFilterControl() << endl; 
    11021107                strmTmp << letterFilter; 
     
    11161121        } 
    11171122        return objCount; 
    1118 } 
    1119  
    1120 void CDocMain::ContainerListJson(std::ostream &strm, int nType) 
    1121 { 
    1122         Document document; 
    1123         Document::AllocatorType &alloc = document.GetAllocator(); 
    1124         document.SetArray(); 
    1125  
    1126         unsigned int containerCount = this->pInside->containerList.GetCount(); 
    1127         for (unsigned int containerIndex = 0; containerIndex < containerCount; ++containerIndex) 
    1128         {        
    1129                 CARContainer container(containerIndex); 
    1130  
    1131                 if (container.GetType() != nType) 
    1132                         continue; 
    1133  
    1134 #if AR_CURRENT_API_VERSION >= AR_API_VERSION_764 
    1135                 if (pInside->appConfig.bOverlaySupport && !IsVisibleObject(container)) 
    1136                         continue; 
    1137 #endif 
    1138  
    1139                 CPageParams containerDetailPage(PAGE_DETAILS, &container); 
    1140  
    1141                 // create a new json row and make it an array 
    1142                 Value containerRow; 
    1143                 containerRow.SetArray(); 
    1144  
    1145                 // now build the needed temporary variables 
    1146                 string strName = container.GetName(); 
    1147                 string strModifiedDate = CUtil::DateTimeToString(container.GetTimestamp()); 
    1148                 string strLink = CWebUtil::GetRelativeURL(rootLevel, containerDetailPage); 
    1149  
    1150                 // build the values 
    1151                 Value valName(strName.c_str(), static_cast<SizeType>(strName.size()), alloc); 
    1152                 Value valModifiedDate(strModifiedDate.c_str(), static_cast<SizeType>(strModifiedDate.size()), alloc); 
    1153                 Value valLink(strLink.c_str(), static_cast<SizeType>(strLink.size()), alloc); 
    1154  
    1155                 // add everything to the row 
    1156                 containerRow.PushBack(valName, alloc); 
    1157                 containerRow.PushBack(valModifiedDate, alloc); 
    1158                 containerRow.PushBack(container.GetLastChanged(), alloc); 
    1159                 containerRow.PushBack(valLink, alloc); 
    1160  
    1161                 document.PushBack(containerRow, alloc); 
    1162         } 
    1163  
    1164         GenericWriteStream output(strm); 
    1165         Writer<GenericWriteStream> writer(output); 
    1166  
    1167         strm << endl << "<script type=\"text/javascript\">" << endl; 
    1168         strm << "var containerList = "; document.Accept(writer); strm << ";"; 
    1169         strm << "var rootLevel = " << rootLevel << ";"; 
    1170         strm << "var containerType = " << nType << ";"; 
    1171         strm << endl; 
    1172         strm << "</script>" << endl; 
    11731123} 
    11741124 
  • branches/work_311/doc/DocMain.h

    r510 r542  
    9696        void EscalationListJson(std::ostream &strm); 
    9797        void MenuListJson(std::ostream &strm); 
    98         void ContainerListJson(std::ostream &strm, int nType); 
    9998}; 
  • branches/work_311/output/ContainerTable.cpp

    r524 r542  
    2020 
    2121using namespace OUTPUT; 
     22using namespace rapidjson; 
    2223 
    2324CContainerTable::CContainerTable(CARInside &arIn, bool includeObjTypeColumn) 
     
    5758} 
    5859 
     60void CContainerTable::AddRowJson(CARContainer &cont, int rootLevel) 
     61{ 
     62        CPageParams containerDetailPage(PAGE_DETAILS, &cont); 
     63        Document::AllocatorType &alloc = doc.GetAllocator(); 
     64 
     65        unsigned int contType = cont.GetType(); 
     66        bool unused = IsUnusedContainer(cont); 
     67 
     68        // create a new json row and make it an array 
     69        Value containerRow; 
     70        containerRow.SetArray(); 
     71 
     72        // now build the needed temporary variables 
     73        string strName = cont.GetName(); 
     74        string strModifiedDate = CUtil::DateTimeToString(cont.GetTimestamp()); 
     75        string strLink = CWebUtil::GetRelativeURL(rootLevel, containerDetailPage); 
     76 
     77        // build the values 
     78        Value valName(strName.c_str(), static_cast<SizeType>(strName.size()), alloc); 
     79        Value valModifiedDate(strModifiedDate.c_str(), static_cast<SizeType>(strModifiedDate.size()), alloc); 
     80        Value valLink(strLink.c_str(), static_cast<SizeType>(strLink.size()), alloc); 
     81 
     82        // add everything to the row 
     83        containerRow.PushBack(valName, alloc); 
     84        containerRow.PushBack(valModifiedDate, alloc); 
     85        containerRow.PushBack(cont.GetLastChanged(), alloc); 
     86        containerRow.PushBack(valLink, alloc); 
     87        if (contType == ARCON_GUIDE || contType == ARCON_FILTER_GUIDE) 
     88        { 
     89                containerRow.PushBack((unused?0:1), alloc); 
     90        } 
     91 
     92        doc.PushBack(containerRow, alloc); 
     93} 
     94 
    5995bool CContainerTable::IsUnusedContainer(CARContainer &obj) 
    6096{ 
  • branches/work_311/output/ContainerTable.h

    r436 r542  
    2929 
    3030                void AddRow(CARContainer &cont, int rootLevel); 
     31                void AddRowJson(CARContainer &cont, int rootLevel); 
    3132 
    3233        private: 
  • branches/work_311/res/containerList.js

    r471 r542  
    1717                                        .append(getIcon(rootLevel, 12, containerType)) 
    1818                                        .append($("<a>").attr("href", data[3]).text(data[0])) 
     19                                        .append((data.length>4 && data[4]==0?" (<b>!</b>)":"")) 
    1920                        ) 
    2021                        .append($("<td>").text(data[1])) 
Note: See TracChangeset for help on using the changeset viewer.