Changeset 435 for branches


Ignore:
Timestamp:
03/04/14 16:07:50 (6 years ago)
Author:
jls17
Message:
  • added filtering support to all container list pages
Location:
branches/work_304
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • branches/work_304/ARInside.cpp

    r430 r435  
    714714        indexSummary.fltguideCount = docMain->ContainerList(ARCON_FILTER_GUIDE, "ContainerList (FilterGuide)", "*", ftgObjCount); 
    715715        indexSummary.webserviceCount = docMain->ContainerList(ARCON_WEBSERVICE, "ContainerList (Webservice)", "*", wbsObjCount); 
    716         for (unsigned int i = 0; i < strValue.size(); ++i) 
    717         {                
    718                 docMain->ContainerList(ARCON_GUIDE, "GuideList", std::string(1, strValue.at(i)), algObjCount); 
    719                 docMain->ContainerList(ARCON_APP, "ApplicationList", std::string(1, strValue.at(i)), appObjCount); 
    720                 docMain->ContainerList(ARCON_PACK, "PackinglistList", std::string(1, strValue.at(i)), pklObjCount); 
    721                 docMain->ContainerList(ARCON_FILTER_GUIDE, "FilterGuideList", std::string(1, strValue.at(i)), ftgObjCount); 
    722                 docMain->ContainerList(ARCON_WEBSERVICE, "WebserviceList", std::string(1, strValue.at(i)), wbsObjCount); 
    723         } 
    724716 
    725717        //Application Details 
  • branches/work_304/doc/DocMain.cpp

    r433 r435  
    12141214        try 
    12151215        { 
    1216                 int rootLevel = file->GetRootLevel(); 
    1217                 CContainerTable tbl(*this->pInside); 
     1216                rootLevel = file->GetRootLevel(); 
     1217                CContainerTable tbl(*this->pInside, false); 
    12181218 
    12191219                unsigned int cntCount = this->pInside->containerList.GetCount(); 
     
    12211221                {        
    12221222                        CARContainer cont(cntIndex); 
     1223                        bool bInsert = false; 
    12231224 
    12241225#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764 
     
    12291230                        if (cont.GetType() == nType)    // the type must match 
    12301231                        { 
    1231                                 objCount++; 
    1232                                 bool bInsert = false; 
    12331232                                if(searchChar == "*")  //All objecte 
    12341233                                { 
     
    12581257                                if(bInsert) 
    12591258                                { 
    1260                                         tbl.AddRow(cont, rootLevel); 
     1259                                        objCount++; 
    12611260                                } 
    12621261                        } 
     
    12681267 
    12691268                        stringstream strmTmp; 
    1270                         strmTmp << CWebUtil::LinkToContainer(tbl.NumRows(), rootLevel, nType); 
     1269                        strmTmp << "<span id='containerListResultCount'></span>" << CWebUtil::LinkToContainer(objCount, rootLevel, nType); 
     1270                         
     1271                        if (searchChar == "*") 
     1272                        { 
     1273                                webPage.GetReferenceManager() 
     1274                                        .AddScriptReference("img/object_list.js") 
     1275                                        .AddScriptReference("img/containerList.js") 
     1276                                        .AddScriptReference("img/jquery.timers.js") 
     1277                                        .AddScriptReference("img/jquery.address.min.js"); 
     1278 
     1279                                ContainerListJson(strmTmp, nType); 
     1280                                strmTmp << CreateContainerFilterControl() << endl; 
     1281                        } 
     1282 
    12711283                        strmTmp << ShortMenu(searchChar, file, objCountPerLetter); 
    1272                          
    12731284                        tbl.SetDescription(strmTmp.str()); 
    12741285                        webPage.AddContent(tbl.Print()); 
    12751286 
    1276                         webPage.AddContent("(!) No Active Link / Filter \"CallGuide\" Action uses this Guide."); 
     1287                        if (nType == ARCON_GUIDE || nType == ARCON_FILTER_GUIDE) 
     1288                        { 
     1289                                webPage.AddContent("(!) No Active Link / Filter \"CallGuide\" Action uses this Guide."); 
     1290                        } 
    12771291 
    12781292                        webPage.SaveInFolder(file->GetPath()); 
     
    12841298        } 
    12851299        return objCount; 
     1300} 
     1301 
     1302void CDocMain::ContainerListJson(std::ostream &strm, int nType) 
     1303{ 
     1304        Document document; 
     1305        Document::AllocatorType &alloc = document.GetAllocator(); 
     1306        document.SetArray(); 
     1307 
     1308        unsigned int containerCount = this->pInside->containerList.GetCount(); 
     1309        for (unsigned int containerIndex = 0; containerIndex < containerCount; ++containerIndex) 
     1310        {        
     1311                CARContainer container(containerIndex); 
     1312 
     1313                if (container.GetType() != nType) 
     1314                        continue; 
     1315 
     1316#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764 
     1317                if (pInside->appConfig.bOverlaySupport && !IsVisibleObject(container)) 
     1318                        continue; 
     1319#endif 
     1320 
     1321                CPageParams containerDetailPage(PAGE_DETAILS, &container); 
     1322 
     1323                // create a new json row and make it an array 
     1324                Value containerRow; 
     1325                containerRow.SetArray(); 
     1326 
     1327                // now build the needed temporary variables 
     1328                string strName = container.GetName(); 
     1329                string strModifiedDate = CUtil::DateTimeToString(container.GetTimestamp()); 
     1330                string strLink = CWebUtil::GetRelativeURL(rootLevel, containerDetailPage); 
     1331 
     1332                // build the values 
     1333                Value valName(strName.c_str(), static_cast<SizeType>(strName.size()), alloc); 
     1334                Value valModifiedDate(strModifiedDate.c_str(), static_cast<SizeType>(strModifiedDate.size()), alloc); 
     1335                Value valLink(strLink.c_str(), static_cast<SizeType>(strLink.size()), alloc); 
     1336 
     1337                // add everything to the row 
     1338                containerRow.PushBack(valName, alloc); 
     1339                containerRow.PushBack(valModifiedDate, alloc); 
     1340                containerRow.PushBack(container.GetLastChanged(), alloc); 
     1341                containerRow.PushBack(valLink, alloc); 
     1342 
     1343                document.PushBack(containerRow, alloc); 
     1344        } 
     1345 
     1346        GenericWriteStream output(strm); 
     1347        Writer<GenericWriteStream> writer(output); 
     1348 
     1349        strm << endl << "<script type=\"text/javascript\">" << endl; 
     1350        strm << "var containerList = "; document.Accept(writer); strm << ";"; 
     1351        strm << "var rootLevel = " << rootLevel << ";"; 
     1352        strm << "var containerType = " << nType << ";"; 
     1353        strm << endl; 
     1354        strm << "</script>" << endl; 
    12861355} 
    12871356 
     
    19902059} 
    19912060 
     2061string CDocMain::CreateContainerFilterControl() 
     2062{ 
     2063        stringstream content; 
     2064        content << "<div>" 
     2065                << CreateStandardFilterControl("containerFilter") 
     2066        << "</div>"; 
     2067        return content.str(); 
     2068} 
     2069 
    19922070void CDocMain::SchemaListJson(std::ostream &strm) 
    19932071{ 
  • branches/work_304/doc/DocMain.h

    r433 r435  
    7979        static string CreateEscalationFilterControl(); 
    8080        static string CreateMenuFilterControl(); 
     81        static string CreateContainerFilterControl(); 
    8182 
    8283        void SchemaListJson(std::ostream &strm); 
     
    8586        void EscalationListJson(std::ostream &strm); 
    8687        void MenuListJson(std::ostream &strm); 
     88        void ContainerListJson(std::ostream &strm, int nType); 
    8789}; 
  • branches/work_304/output/ContainerTable.cpp

    r238 r435  
    2020using namespace OUTPUT; 
    2121 
    22 CContainerTable::CContainerTable(CARInside &arIn) 
    23 : CObjectTable("containerLIst", "TblObjectList") 
     22CContainerTable::CContainerTable(CARInside &arIn, bool includeObjTypeColumn) 
     23: CObjectTable("containerList", "TblObjectList") 
    2424{ 
    2525        this->pInside = &arIn; 
    2626 
    27         tbl.AddColumn(40, "Container Name"); 
    28         tbl.AddColumn(20, "Type"); 
     27        tbl.AddColumn((includeObjTypeColumn?40:60), "Container Name"); 
     28        if (includeObjTypeColumn) 
     29        { 
     30                tbl.AddColumn(20, "Type"); 
     31        } 
    2932        tbl.AddColumn(20, "Modified"); 
    3033        tbl.AddColumn(20, "By"); 
     34 
     35        hasObjTypeColumn = includeObjTypeColumn; 
    3136} 
    3237 
     
    6166 
    6267        tblRow.AddCell( CTableCell(cellNameValue)); 
    63         tblRow.AddCell( CTableCell(CAREnum::ContainerType(cont.GetType()))); 
     68        if (this->hasObjTypeColumn) { tblRow.AddCell( CTableCell(CAREnum::ContainerType(cont.GetType()))); } 
    6469        tblRow.AddCell( CTableCell(CUtil::DateTimeToHTMLString(cont.GetTimestamp()))); 
    6570        tblRow.AddCell( CTableCell(this->pInside->LinkToUser(cont.GetLastChanged(), rootLevel))); 
  • branches/work_304/output/ContainerTable.h

    r58 r435  
    2525        { 
    2626        public: 
    27                 CContainerTable(CARInside &arIn); 
     27                CContainerTable(CARInside &arIn, bool includeObjTypeColumn = true); 
    2828                ~CContainerTable(void); 
    2929 
     
    3333                int NumRelatedActiveLinks(CARContainer &obj); 
    3434                int NumRelatedFilters(CARContainer &obj); 
     35 
     36                bool hasObjTypeColumn; 
    3537        }; 
    3638} 
Note: See TracChangeset for help on using the changeset viewer.