12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165 |
- /****************************************************************
- ** Licensed Materials - Property of IBM
- **
- ** BI and PM: qs
- **
- ** (C) Copyright IBM Corp. 2001, 2015
- **
- ** US Government Users Restricted Rights - Use, duplication or
- ** disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- *****************************************************************/
- // Copyright (C) 2008 Cognos ULC, an IBM Company. All Rights Reserved.
- // Cognos and the Cognos logo are trademarks of Cognos ULC (formerly Cognos Incorporated) in the United States and/or other countries. IBM and the IBM logo are trademarks of International Business Machines Corporation in the United States, or other countries, or both. Other company, product, or service names may be trademarks or service marks of others.
-
- var REPORT_MANAGER = -1;
- function CReportManager()
- {
- this.m_oWindowMgr = null;
- this.m_oReportFrame = null;
- this.m_oCVObject = null;
- this.m_oApplicationMgr = null;
- this.m_oParameterManager = null;
- this.m_oUndoManager = null;
- this.m_oDrillThroughParameterValues = null;
-
-
- this.m_bIsCommandRunning = false;
-
-
- this.m_aQueuedRequests = new Array();
- };
- CReportManager.prototype = new CDictionary();
- CReportManager.prototype.init = function ()
- {
- if (typeof CWindowManager == "function")
- {
- this.m_oWindowMgr = goApplicationManager.getWindowManager();
- }
- else
- {
- this.m_oWindowMgr = self;
- }
- this.m_oReportFrame = goApplicationManager.getReportFrame();
-
- this.setupDefaultVariables();
- this.m_oParameterManager = new CParameterManager();
- this.m_oParameterManager.init();
- this.createNewUndoManager();
- };
- CReportManager.prototype.setupDefaultVariables = function ()
- {
-
- this.add("currentMode", "reporting");
- this.add("bReportReady", false);
- this.add("reportState", "");
- this.add("onloadState", -1);
- };
- CReportManager.prototype.onLoadSetup = function (iReportState)
- {
- this.add("onloadState", iReportState);
- this.setupValuesFromCVObj();
- this.updateStateFromCVObj();
- clearReportFrameOnUnload();
-
-
- if (typeof goApplicationManager != "undefined" && typeof goApplicationManager.getReportFrame == "function" && goApplicationManager.getReportFrame() && typeof goApplicationManager.getReportFrame().window == "object")
- {
- var iframeWindow = goApplicationManager.getReportFrame().window;
- if (iframeWindow.attachEvent)
- {
- iframeWindow.attachEvent("onunload", unloadReportFrame);
- }
- else if (iframeWindow.addEventListener)
- {
- iframeWindow.addEventListener("unload", unloadReportFrame, false);
- }
- else
- {
-
- try
- {
- var oUnload = iframeWindow.onunload;
-
- if ( !(""+oUnload).match(/unloadReportFrame/gi) )
- {
- iframeWindow.oUnloadQS_onunload = window.onunload;
- iframeWindow.onunload = function()
- {
- iframeWindow.oUnloadQS_onunload();
- unloadReportFrame();
- };
- }
- }
- catch (e)
- {
-
- }
- }
- }
-
-
-
-
- var oCVObj = this.getCVObj();
- if (oCVObj !== null)
- {
- if (oCVObj.getStatus() === "working" || oCVObj.getStatus() === "stillWorking")
- {
- this.showSpinner(true);
- }
- else
- {
- this.showSpinner(false);
- }
- }
- };
- CReportManager.prototype.asyncSubmit = function(bLeaveDialog, oQSRequest)
- {
-
- if (!bLeaveDialog && typeof (hideDialogFrame) == "function")
- {
- hideDialogFrame();
- }
-
-
-
-
-
- if (this.isCommandRunning() == true)
- {
- this.queueRequest(oQSRequest);
- return;
- }
-
-
-
- this.setCommandRunning(true);
-
- var bUpdateMiniQueryWithUserPreference = cfgGet("updateMiniQueryWithUserPreference");
-
- var bOverwriteSetting = cfgGet("overwriteSetting");
- var bIsNewReport = cfgGet("NewReport");
- if ( bOverwriteSetting === "true" )
- {
- this.persistQueryOptions();
- }
- else if (bIsNewReport || bUpdateMiniQueryWithUserPreference === "true")
- {
- this.updateMiniQueryWithUserPreference();
- this.persistQueryOptions();
- }
- else
- {
- this.persistQueryOptions();
- }
- if (bUpdateMiniQueryWithUserPreference === "true")
- {
- cfgRemove("updateMiniQueryWithUserPreference");
- }
-
-
-
-
- if (! oQSRequest.getOption("ui.spec"))
- {
- var sMiniQuery = this.getApplicationManager().getMiniQueryManager().toString();
- oQSRequest.addOption("ui.spec", sMiniQuery);
-
-
-
-
- var aPromptValues = this.getParameterManager().getPromptPageParameters();
- if (this.isFilterCommand(oQSRequest.getOption("ui.command")) && oQSRequest.getOption("qs.addParameterValues") === "true")
- {
- aPromptValues = this.getParameterManager().getPreviousPromptPageParameters();
- }
-
-
-
-
- this.getUndoManager().addToUndo(cfgGet("conversation_qs_spec"), null, aPromptValues);
- }
-
- var sTracking = cfgGet("m_tracking");
- if (sTracking != null && sTracking != "")
- {
- oQSRequest.addOption("m_tracking", sTracking);
- }
-
-
- if (oQSRequest.getOption("ui.conversation"))
- {
- oQSRequest.addOption("ui.conversation", this.get("uiConversation"));
- }
-
-
-
- if (typeof cafContextId === "string")
- {
- oQSRequest.addOption("ui.cafcontextid", cafContextId);
- }
-
-
- if (typeof routingServerGroup == "string")
- {
- oQSRequest.addOption("ui.routingServerGroup", routingServerGroup);
- }
-
- var oldUnload = window.onbeforeunload;
- window.onbeforeunload = null;
-
- this.sendQSRequest(oQSRequest);
-
- window.onbeforeunload = oldUnload;
- };
- CReportManager.prototype.setDrillAndQueryParameters = function (spec)
- {
- if(!spec)
- return;
-
- var CRQReport = XMLBuilderLoadXMLFromString(spec);
- if(CRQReport!== null && CRQReport.documentElement!== null)
- {
- var selectionController = this.getCVSelectionController();
-
- if(typeof selectionController !== "undefined")
- {
- var sEnableModelDrill = CRQReport.documentElement.getAttribute("enableModelDrill");
- if(sEnableModelDrill === "true")
- selectionController.setModelDrillThroughEnabled(true);
- else
- selectionController.setModelDrillThroughEnabled(false);
-
- var sEnableDrill = CRQReport.documentElement.getAttribute("enableDrill")
- if(sEnableDrill === "true")
- selectionController.setDrillUpDownEnabled(true);
- else
- selectionController.setDrillUpDownEnabled(false);
-
-
-
- if (cfgGet("manageFileMode") != "true")
- {
- cfgSet("enableDrill", sEnableDrill);
- cfgSet("enableModelDrill", sEnableModelDrill);
-
-
- var sAutoSummary = CRQReport.documentElement.getAttribute("autoSummary");
- if (sAutoSummary == null)
- {
- cfgSet("autoSummary", true);
- } else {
- cfgSet("autoSummary", sAutoSummary);
- }
-
- var sAutoFooterSummary = CRQReport.documentElement.getAttribute("autoFooterSummary");
- if (sAutoFooterSummary == null)
- {
- cfgSet("autoFooterSummary", true);
- } else {
- cfgSet("autoFooterSummary", sAutoFooterSummary);
- }
- }
- }
- }
- };
- CReportManager.prototype.setupLiveReport = function ()
- {
- if (this.get("setNewReport") === true && cfgGet("ReportName") == null && cfgGet("NewReport") == null)
- {
- cfgSet("NewReport", true);
- }
- if (this.get("asyncObjValue") !== null)
- {
- cfgSet("ASYNC_OBJ", this.get("asyncObjValue"));
- }
- this.add("bReportReady", true);
- cfgSet("SearchPath", this.get("searchPathValue"));
- if (typeof clearCommandBuffer == "function")
- {
- clearCommandBuffer();
- }
-
-
- this.setupMiniQuery(this.get("sMiniQueryMarkup"));
- qsDefaults();
- var oMQMgr = this.getApplicationManager().getMiniQueryManager();
- if (oMQMgr != null)
- {
- var aAllCols = oMQMgr.getAllColumns();
- for (var idxSize = 0; idxSize < aAllCols.length; idxSize++)
- {
- cfgSetDefaultAt(idxSize);
- if (aAllCols[idxSize].hasChildNodes() === true)
- {
- for (var idxCol = 0; idxCol < aAllCols[idxSize].childNodes.length; idxCol++)
- {
- if ((aAllCols[idxSize].childNodes[idxCol].nodeName == "format" || aAllCols[idxSize].childNodes[idxCol].nodeName == "defaultFormat") && aAllCols[idxSize].childNodes[idxCol].hasChildNodes())
- {
- var aColFormat = [aAllCols[idxSize].childNodes[idxCol].childNodes[0].nodeName];
- for (var idxAttr = 0; idxAttr < aAllCols[idxSize].childNodes[idxCol].childNodes[0].attributes.length; idxAttr++)
- {
- aColFormat[aColFormat.length] = aAllCols[idxSize].childNodes[idxCol].childNodes[0].attributes[idxAttr].nodeName;
- aColFormat[aColFormat.length] = aAllCols[idxSize].childNodes[idxCol].childNodes[0].attributes[idxAttr].nodeValue;
- }
- cf.cfgSetAt("ColFormat", idxSize, aColFormat);
- }
- }
- }
- }
- }
-
-
- if (typeof gsUiSpec !== "undefined" && typeof this.m_oReportFrame !== "undefined" && typeof this.m_oReportFrame.document.formWarpRequest !== "undefined")
- {
- this.m_oReportFrame.document.formWarpRequest['ui.spec'].value = gsUiSpec;
- }
- this.setDataModeFromMiniQuery();
-
- this.drawPreview();
- this.handleNotifiers();
- this.setConversationHiddenInputInFormWarpRequest();
- if (this.getCVSelectionController())
- {
- this.getCVSelectionController().onSelectionChange();
- }
- if (typeof reselectColumns == "function")
- {
- reselectColumns();
- }
- if (typeof showMetadataLoading == "function")
- {
- this.getApplicationManager().getFeatureManager().launchFeature("DBar");
- showMetadataLoading();
- }
- this.loadTextInStartPage();
-
-
- this.setDataModeAfterPreview();
-
-
-
-
- cfgSet("conversation_qs_spec", oMQMgr.toString());
- cfgSet("MiniQueryObj", XMLParser(XMLBuilderSerializeNode(oMQMgr.getCRQReportNode())));
-
-
-
-
- this.setCommandRunning(false);
- var oNextQSRequest = this.getNextRequest();
- if (oNextQSRequest && typeof oNextQSRequest === "object")
- {
- this.asyncSubmit(false, oNextQSRequest);
- }
- };
- CReportManager.prototype.setupMiniQuery = function (sMiniQuery)
- {
- if (sMiniQuery !== null)
- {
- var oMQMgr = this.getApplicationManager().getMiniQueryManager();
- oMQMgr.setMiniQuery(stripSignature(sMiniQuery));
-
-
-
-
-
-
- var reportName = cfgGet("ReportName");
- if (typeof reportName != "undefined" && reportName.length)
- {
- oMQMgr.getCRQReportNode().setAttribute("queryName", reportName);
- }
- }
- };
- CReportManager.prototype.handleNotifiers = function ()
- {
- try
- {
- if (typeof toolbarNotifier != "undefined")
- {
- var oObserver = null;
- if (this.getCVSelectionController() && typeof this.getCVSelectionController().attachObserver == "function")
- {
- oObserver = this.getCVSelectionController().getObservers();
- if (!oObserver.hasObserver(toolbarNotifier))
- {
- this.getCVSelectionController().attachObserver(toolbarNotifier);
- }
- }
- if (this.m_oReportFrame.g_reportSelectionController && typeof this.m_oReportFrame.g_reportSelectionController.attachObserver == "function")
- {
- oObserver = this.m_oReportFrame.g_reportSelectionController.getObservers();
- if (!oObserver.hasObserver(toolbarNotifier))
- {
- this.m_oReportFrame.g_reportSelectionController.attachObserver(toolbarNotifier);
- }
- }
- }
- if (typeof this.m_oReportFrame.reselectReportSelections == "function")
- {
- this.m_oReportFrame.reselectReportSelections();
- }
- this.setupReportEvents();
- }
- catch (e)
- {
- }
- };
- CReportManager.prototype.cancel = function ()
- {
-
- this.setCommandRunning(false);
-
- clearReportFrameOnUnload();
- if (this.get("bReportReady") === false && this.get("currentMode") == "prompting")
- {
-
- this.cancelFirstPrompt();
- }
- else if (this.get("bReportReady") === false)
- {
- closeLink(true);
- }
- else if (this.get("currentMode") == "busy")
- {
- this.cancelBusy();
- }
- else if (this.get("currentMode") == "prompting")
- {
- this.cancelPrompting();
- }
- };
- CReportManager.prototype.cancelFirstPrompt = function ()
- {
-
-
-
-
- var oUndoManager = this.getUndoManager();
- if (typeof oUndoManager === "object" && oUndoManager)
- {
- var sMiniQuery = this.get("sMiniQueryMarkup");
- if (sMiniQuery && sMiniQuery.length)
- {
- oUndoManager.executeSpec(sMiniQuery);
- }
- else
- {
-
-
- bannerHome(cfgGet("gsCognosHome"));
- }
- }
- };
- CReportManager.prototype.cancelPrompting = function ()
- {
-
-
-
- var oUndoManager = this.getUndoManager();
- if (typeof oUndoManager === "object" && oUndoManager)
- {
- if (oUndoManager.canUndo())
- {
- oUndoManager.undo();
- }
- else
- {
-
- window.history.back();
- }
- }
- };
- CReportManager.prototype.cancelBusy = function ()
- {
- if (!this.get("cancelClicked"))
- {
- this.add("cancelClicked", true);
- }
- };
- CReportManager.prototype.setReportParameters = function (oParams)
- {
- if (typeof oParams == "object")
- {
- for (var idxParams in oParams)
- {
- this.add(idxParams, oParams[idxParams]);
- }
- }
- this.setupCVCallbacksForQS();
- };
- CReportManager.prototype.drawPreview = function ()
- {
-
- if (typeof showPreview === "undefined")
- {
- return;
- }
-
- var oMQMgr = this.getApplicationManager().getMiniQueryManager();
- var oCRQReport = oMQMgr.getCRQReportNode();
- if (typeof oCRQReport == "object" && (oCRQReport.getAttribute("limitData") == "partial" || oCRQReport.getAttribute("limitData") == "none"))
- {
- redrawSelf();
- showPreview(true);
- }
- else
- {
- showPreview();
- }
- };
- CReportManager.prototype.loadTextInStartPage = function ()
- {
- var oMQMgr = this.getApplicationManager().getMiniQueryManager();
- var aAllColumns = oMQMgr.getAllColumns();
- var aAllHiddenColumns = oMQMgr.getElementsByAttribute("hide", "true");
- if ((aAllColumns.length == 0 || (typeof aAllHiddenColumns == "object" && (aAllColumns.length == aAllHiddenColumns.length)) || this.m_oReportFrame.document.getElementById("startPageDragDropLine1")) && this.m_oReportFrame)
- {
- this.getApplicationManager().add("showStartPage", true);
- var oStartPageDragDropLine1 = this.m_oReportFrame.document.getElementById("startPageDragDropLine1");
- if (oStartPageDragDropLine1)
- {
- while (oStartPageDragDropLine1.hasChildNodes())
- {
- oStartPageDragDropLine1.removeChild(oStartPageDragDropLine1.firstChild);
- }
- oStartPageDragDropLine1.appendChild(this.m_oReportFrame.document.createTextNode(StartPageDragDropLine1));
- }
- var oStartPageDragDropLine2 = this.m_oReportFrame.document.getElementById("startPageDragDropLine2");
- if (oStartPageDragDropLine2)
- {
- while (oStartPageDragDropLine2.hasChildNodes())
- {
- oStartPageDragDropLine2.removeChild(oStartPageDragDropLine2.firstChild);
- }
- oStartPageDragDropLine2.appendChild(this.m_oReportFrame.document.createTextNode(StartPageDragDropLine2));
- }
- var oStartPageTipsLine1 = this.m_oReportFrame.document.getElementById("startPageTipsLine1");
- if (oStartPageTipsLine1)
- {
- while (oStartPageTipsLine1.hasChildNodes())
- {
- oStartPageTipsLine1.removeChild(oStartPageTipsLine1.firstChild);
- }
- oStartPageTipsLine1.appendChild(this.m_oReportFrame.document.createTextNode(StartPageTipsLine1));
- }
- var oStartPageTipsLine2 = this.m_oReportFrame.document.getElementById("startPageTipsLine2");
- if (oStartPageTipsLine2)
- {
- while (oStartPageTipsLine2.hasChildNodes())
- {
- oStartPageTipsLine2.removeChild(oStartPageTipsLine2.firstChild);
- }
- oStartPageTipsLine2.appendChild(this.m_oReportFrame.document.createTextNode(StartPageTipsLine2));
- }
- }
- else
- {
- this.getApplicationManager().remove("showStartPage");
- }
- };
- CReportManager.prototype.setConversationHiddenInputInFormWarpRequest = function ()
- {
- var oRepMgr = this.getApplicationManager().getReportManager();
-
-
- if (! oRepMgr.m_oReportFrame)
- {
- return;
- }
-
- var sPrimReq = cfgGet('conversation_primaryRequest');
- if (sPrimReq !== null && oRepMgr.get("bReportReady"))
- {
- var oFWR = oRepMgr.m_oReportFrame.document.formWarpRequest;
- if (oFWR)
- {
- if (oFWR["ui.conversation"])
- {
- oFWR["ui.conversation"].value = sPrimReq;
- }
- if (oFWR.parameterValues)
- {
- oFWR.parameterValues.value = cfgGet('parameterValues');
- }
- if (oFWR.m_tracking)
- {
- oFWR.m_tracking.value = cfgGet('m_tracking');
- }
-
- if (oFWR.m_tracking)
- {
- oFWR.m_tracking.value = cfgGet('m_tracking');
- }
- }
- }
- else
- {
- setTimeout(oRepMgr.setConversationHiddenInputInFormWarpRequest, 10);
- }
- var oReportTitleLink = oRepMgr.m_oReportFrame.document.getElementById("reportTitleLink");
- if (oReportTitleLink)
- {
- oReportTitleLink.setAttribute("title", reportTitleTip);
- }
- };
- CReportManager.prototype.setupReportEvents = function ()
- {
- if (document.all)
- {
- var oReportDocumentBody = this.m_oReportFrame.document.body;
- oReportDocumentBody.attachEvent("onkeydown", keydown);
- oReportDocumentBody.attachEvent("onmouseup", mainMouseUp);
- oReportDocumentBody.attachEvent("onmousemove", mouseMove);
-
- oReportDocumentBody.attachEvent("ondragenter", dragEnter);
- oReportDocumentBody.attachEvent("ondragover", dragOver);
- oReportDocumentBody.attachEvent("ondragleave", dragLeave);
- oReportDocumentBody.attachEvent("ondrop", tempDropColumn);
- }
- else
- {
- var oReportDocumentBody = this.m_oReportFrame.document;
- oReportDocumentBody.addEventListener("keydown", keydown, true);
- oReportDocumentBody.addEventListener("mouseup", mainMouseUp, true);
- oReportDocumentBody.addEventListener("mousemove", mouseMove, true);
- oReportDocumentBody.addEventListener("dragenter", dragEnter, true);
- oReportDocumentBody.addEventListener("dragover", dragOver, true);
- oReportDocumentBody.addEventListener("dragleave", dragLeave, true);
- oReportDocumentBody.addEventListener("drop", tempDropColumn ,true);
- }
- };
- CReportManager.prototype.getCVObj = function ()
- {
- if (typeof this.m_oReportFrame == "undefined" || this.m_oReportFrame === null)
- {
- this.m_oReportFrame = goApplicationManager.getReportFrame();
- }
- if (!this.m_oReportFrame)
- {
- return null;
- }
- var oCVQS = this.m_oReportFrame.oCVQS;
- if (typeof oCVQS == "undefined" || oCVQS === null)
- {
- return null;
- }
- this.setupCVCallbacksForQS(oCVQS);
- return oCVQS;
- };
- CReportManager.prototype.getCVSelectionController = function ()
- {
- if (typeof this.m_oReportFrame == "undefined" || this.m_oReportFrame === null)
- {
- this.m_oReportFrame = goApplicationManager.getReportFrame();
- }
- if (!this.m_oReportFrame)
- {
- return null;
- }
-
-
-
- try
- {
- if (typeof this.m_oReportFrame.oCVSCQS == "undefined")
- {
- return null;
- }
- return this.m_oReportFrame.oCVSCQS;
- }
- catch (exception)
- {
- }
-
- return null;
- };
- CReportManager.prototype.setupCVCallbacksForQS = function (oCVObj)
- {
- if (typeof oCVObj == "undefined")
- {
- oCVObj = this.getCVObj();
- }
- if (oCVObj !== null && !oCVObj.QSCallbacksSet)
- {
- oCVObj.addCallback("cancel", cancelRequest, false);
- oCVObj.addCallback("done", reportIsReadyCallback, false);
- oCVObj.addCallback("error", reportHasErrorCallback, false);
- oCVObj.addCallback("prompt", reportIsPromptingCallback, true);
- oCVObj.addCallback("wait", reportIsWaitingCallback, false);
- oCVObj.QSCallbacksSet = true;
- }
- };
- CReportManager.prototype.createRequest = function (sAction)
- {
- var oQSRequest = new CCognosViewerRequest(sAction);
- var oCVObj = this.getCVObj();
- if (oCVObj !== null && typeof sAction == "string")
- {
- this.m_oReportFrame.oQSRequest = oQSRequest;
- }
- return oQSRequest;
- };
- CReportManager.prototype.sendRequest = function (oQSRequest)
- {
-
-
- var oCVObj = this.getCVObj();
- if (oCVObj === null || typeof oQSRequest != "object")
- {
- return this.sendQSRequest(oQSRequest);
- }
-
- clearReportFrameOnUnload();
- oCVObj.setUsePageRequest(true);
-
-
- if (! oQSRequest.hasOption("b_action"))
- {
-
- oQSRequest.addOption("b_action", "cognosViewer");
- oQSRequest.addOption("cv.responseFormat", "qs");
- oQSRequest.addOption("run.outputFormat", "HTMLFragment");
- oQSRequest.addOption("run.xslURL", "qs.xsl");
- oQSRequest.addOption("specificationType", "reportServiceQuerySpecification");
- oQSRequest.addOption("cv.id", "QS");
- oQSRequest.addOption("cv.header", "false");
- oQSRequest.addOption("cv.toolbar", "false");
- oQSRequest.addOption("cv.useAjax", "false");
- if (cfgGet("FirstRunQS"))
- {
- oQSRequest.addOption("qs.firstRun", "true");
- }
- var sParams = this.getParameterManager().getParameterValues(false);
- if (sParams != "")
- {
- oQSRequest.addOption("parameterValues", sParams);
- oQSRequest.addOption("qs.addParameterValues", "true");
- }
- }
-
- oCVObj.sendRequest(oQSRequest);
- return true;
- };
- CReportManager.prototype.sendQSRequest = function (oQSRequest)
- {
-
- var rf = goApplicationManager.getReportFrame();
- if (!rf)
- {
- return false;
- }
-
- var f = rf.document.createElement("FORM");
- f.method = "POST";
- f.action = goApplicationManager.get("scriptEngine");
- f.target = "";
- f.style.margin = "0px";
- var b = rf.document.getElementsByTagName("BODY");
- if (b != null && b[0] != null)
- {
- b = b[0];
- }
- else
- {
- b = rf.document.documentElement;
- }
- b.appendChild(f);
- while (f.hasChildNodes())
- {
- f.removeChild(f.firstChild);
- }
-
- for (var n in oQSRequest.m_oOptions.m_aValues)
- {
- var values = makeArray(oQSRequest.m_oOptions.m_aValues[n]);
- for (var v in values)
- {
- createHiddenInput(rf, f, n, values[v]);
- }
- }
-
- var oldUnload = window.onbeforeunload;
- window.onbeforeunload = null;
-
- clearReportFrameOnUnload();
-
- f.submit();
- window.onbeforeunload = oldUnload;
-
- return true;
- };
- CReportManager.prototype.setRequestDefaultOptions = function (oQSRequest)
- {
- if (!oQSRequest || ! typeof oQSRequest === "object")
- {
- return;
- }
- oQSRequest.addOption("b_action", "xts.run");
- oQSRequest.addOption("app", cfgGet("APPLICATION_NAME"));
- var productLocale = goApplicationManager.get("productLocale");
- if (productLocale != null && productLocale != "")
- oQSRequest.addOption("productLocale", productLocale);
- var contentLocale = goApplicationManager.get("contentLocale");
- if (contentLocale != null && contentLocale != "")
- oQSRequest.addOption("contentLocale", contentLocale);
-
- return oQSRequest;
- };
- CReportManager.prototype.setRequestDefaultOptionsForCV = function (bPassConversation, bPassURLParameters, sPassParameterValues, oQSRequest)
- {
- oQSRequest.addOption("b_action", "cognosViewer");
- oQSRequest.addOption("cv.responseFormat", "qs");
- oQSRequest.addOption("run.outputFormat", "HTMLFragment");
- oQSRequest.addOption("run.xslURL", "qs.xsl");
- oQSRequest.addOption("specificationType", "reportServiceQuerySpecification");
- oQSRequest.addOption("cv.id", "QS");
- oQSRequest.addOption("cv.header", "false");
- oQSRequest.addOption("cv.toolbar", "false");
- oQSRequest.addOption("cv.useAjax", "false");
- if (cfgGet("FirstRunQS"))
- {
- oQSRequest.addOption("qs.firstRun", "true");
-
- if (this.getParameterManager().getDrillThroughParameterValues())
- {
- oQSRequest.addOption("ui.drillThroughTargetParameterValues", this.getParameterManager().getDrillThroughParameterValues().toString());
- }
- }
- var oParamMgr = this.getParameterManager();
- if (bPassConversation === true)
- {
- oQSRequest.addOption("ui.conversation", this.get("uiConversation"));
- }
- if (bPassURLParameters !== false)
- {
- var aParams = oParamMgr.getParametersArray();
- if (getArrayLength(aParams) > 0)
- {
- for (var idxParm in aParams)
- {
- oQSRequest.addOption(idxParm, aParams[idxParm]);
- }
- }
- }
- if (typeof sPassParameterValues == "string")
- {
- var sMetaParams = oParamMgr.getMetadataParameters();
- if (sMetaParams !== null && oParamMgr.getMetadataParametersPassed() === false && sPassParameterValues.match(/any|meta/))
- {
- oQSRequest.addOption("parameterValues", oParamMgr.getCompleteMetadataParameters());
- oQSRequest.addOption("qs.addParameterValues", "true");
- oParamMgr.setMetadataParametersPassed(true);
- }
- else if (oParamMgr.getExecutionParameters() && sPassParameterValues.match(/any|exec/))
- {
- oQSRequest.addOption("parameterValues", oParamMgr.getExecutionParameters());
- oQSRequest.addOption("qs.addParameterValues", "true");
- }
- else if (cfgGet("parameterValues") && sPassParameterValues.match(/any|pv/))
- {
- oQSRequest.addOption("parameterValues", cfgGet("parameterValues"));
- oQSRequest.addOption("qs.addParameterValues", "true");
- }
- }
- };
- CReportManager.prototype.queueRequest = function (oQSRequest)
- {
- this.m_aQueuedRequests.push(oQSRequest);
- };
- CReportManager.prototype.getNextRequest = function ()
- {
- return this.m_aQueuedRequests.shift();
- };
- CReportManager.prototype.handleNavigationLinks = function ()
- {
- var oCVObj = this.getCVObj();
- if (oCVObj !== null)
- {
- var aSecondaryRequests = oCVObj.m_aSecRequests;
- var bHasNextPage = false;
- var bHasPreviousPage = false;
- for (var idxSecReqs = 0; idxSecReqs < aSecondaryRequests.length; idxSecReqs++)
- {
- if (aSecondaryRequests[idxSecReqs] == "nextPage")
- {
- bHasNextPage = true;
- continue;
- }
- if (aSecondaryRequests[idxSecReqs] == "previousPage")
- {
- bHasPreviousPage = true;
- continue;
- }
- }
- changeNavigationLinks(bHasPreviousPage, bHasNextPage, false, false);
- }
- };
- CReportManager.prototype.setupValuesFromCVObj = function ()
- {
- var oCVObj = this.getCVObj();
- if (oCVObj !== null)
- {
- if (typeof oLimitedDataPreference === "object" && oLimitedDataPreference.getProperty("noDataAfterCancel") === false)
- {
-
-
- if (cfgGet("qsBrowserBackPerformedOnCancel") != true)
- {
- cfgSet("m_tracking", oCVObj.getTracking());
- }
- cfgRemove("qsBrowserBackPerformedOnCancel");
- }
- else
- {
- cfgSet("m_tracking", oCVObj.getTracking());
- }
- this.add("uiConversation", oCVObj.getConversation());
- }
- this.getParameterManager().setupParameters();
- };
- CReportManager.prototype.getApplicationManager = function ()
- {
- if (this.m_oApplicationMgr === null)
- {
- this.m_oApplicationMgr = this.getApplicationFrame().goApplicationManager;
- }
- return this.m_oApplicationMgr;
- };
- CReportManager.prototype.getApplicationFrame = function ()
- {
- return this.m_oWindowMgr.getApplicationFrame();
- };
- CReportManager.prototype.updateStateFromCVObj = function ()
- {
- var oCVObj = this.getCVObj();
- if (oCVObj !== null)
- {
- var sStatus = oCVObj.getStatus();
- if (oCVObj.getResponseSpecification())
- {
- this.add("sMiniQueryMarkup", stripSignature(oCVObj.getResponseSpecification()));
- var spec = this.get("sMiniQueryMarkup");
-
- this.setDrillAndQueryParameters(spec);
- }
-
-
- if (this.get("currentMode") == "reporting")
- {
- this.handleNotifiers();
- if (this.getCVSelectionController())
- {
- this.getCVSelectionController().onSelectionChange();
-
-
- }
- }
- var sCurrentMode = "reporting";
- if (sStatus == "working" || sStatus == "stillWorking")
- {
- sCurrentMode = "busy";
- }
- else if (sStatus == "prompting")
- {
- sCurrentMode = "prompting";
- }
- this.add("currentMode", sCurrentMode);
- this.add("reportState", sStatus);
- }
- };
- CReportManager.prototype.getParameterManager = function ()
- {
- return this.m_oParameterManager;
- };
- CReportManager.prototype.handlePromptAction = function (sAction, sUrl)
- {
-
- var oReq = new this.m_oReportFrame.CCognosViewerRequest( sAction == "back" ? "back" : "forward" );
- if (typeof oReq == "object" && oReq != null)
- {
- oReq = this.getCVObj().preparePromptValues(oReq);
- if (typeof oReq == "object" && oReq != null)
- {
- if (typeof oReq.m_oParams == "object" && oReq.m_oParams != null)
- {
- var oParamsDict = oReq.m_oParams;
- var aAllPrompts = [];
- var aParamsKeys = oParamsDict.keys();
- for (var idxParams = 0; idxParams < aParamsKeys.length; idxParams++)
- {
- var sKey = aParamsKeys[idxParams];
- var sKeyNoP = stripPFromParam(sKey);
- aAllPrompts[sKeyNoP] = oReq.getParameter(sKey);
- }
- if ( sAction == "cancel" )
- {
- this.getParameterManager().deletePromptPageParameter( sKeyNoP );
- }
- else
- {
- this.getParameterManager().addPromptPageParameters(aAllPrompts);
- }
- }
- oReq = null;
- return true;
- }
- }
- oReq = null;
- return false;
- };
- CReportManager.prototype.getUndoManager = function()
- {
- return this.m_oUndoManager;
- };
- CReportManager.prototype.handleUndoRedoBackJax = function()
- {
- if (this.get("currentMode") != "reporting")
- {
- return;
- }
- var stateForm = this.m_oReportFrame.document.backJaxState;
- if (stateForm == null)
- {
- return;
- }
- var id = stateForm.id;
- var undoCnt = stateForm.undoCnt;
- var redoCnt = stateForm.redoCnt;
- if (id.value != "empty" && id.value != this.m_oUndoManager.getId())
- {
-
-
-
- this.m_oUndoManager.init();
- }
- else if (undoCnt.value == "empty" && redoCnt.value == "empty" && id.value == "empty")
- {
- stateForm.id.value = this.m_oUndoManager.getId();
- undoCnt.value = this.m_oUndoManager.getUndoStackSize();
- redoCnt.value = this.m_oUndoManager.getRedoStackSize();
- this.m_oUndoManager.m_sCurrentSpec = this.get("sMiniQueryMarkup");
- }
- else
- {
-
-
-
- var iUndoCnt = undoCnt.value == "empty" ? 0 : parseInt(undoCnt.value);
- var iRedoCnt = redoCnt.value == "empty" ? 0 : parseInt(redoCnt.value);
- this.m_oUndoManager.updateUndoManagerState(iUndoCnt, iRedoCnt, this.get("sMiniQueryMarkup"), this.getParameterManager().getPromptPageParameters());
- }
- };
- CReportManager.prototype.createNewUndoManager = function()
- {
- this.m_oUndoManager = new CUndoManager();
- };
- CReportManager.prototype.updateMiniQueryWithUserPreference = function()
- {
- var oMQMgr = this.getApplicationManager().getMiniQueryManager();
- var oUserPreferenceManager = this.getApplicationManager().getUserPreferenceManager();
- var oAutoSummaryUserPreference = oUserPreferenceManager.getPreference("autoSummary");
- var oAutoFooterSummaryUserPreference = oUserPreferenceManager.getPreference("autoFooterSummary");
- var oEnableDrillUserPreference = oUserPreferenceManager.getPreference("enableDrill");
- var oEnableModelDrillUserPreference = oUserPreferenceManager.getPreference("enableModelDrill");
- var sAutoFooterSummary;
- var sAutoSummary;
- var sEnableDrill;
- var sEnableModelDrill;
-
-
- if (typeof oAutoFooterSummaryUserPreference === "object")
- {
- sAutoFooterSummary = oAutoFooterSummaryUserPreference.getValue();
- }
- if (typeof oAutoSummaryUserPreference === "object")
- {
- sAutoSummary = oAutoSummaryUserPreference.getValue();
- }
- if (typeof oEnableDrillUserPreference === "object")
- {
- sEnableDrill = oEnableDrillUserPreference.getValue();
- }
- if (typeof oEnableModelDrillUserPreference === "object")
- {
- sEnableModelDrill = oEnableModelDrillUserPreference.getValue();
- }
-
- oMQMgr.setAutoFooterSummary(sAutoFooterSummary);
- oMQMgr.setAutoSummary(sAutoSummary);
- oMQMgr.setEnableDrill(sEnableDrill);
- oMQMgr.setEnableModelDrill(sEnableModelDrill);
-
- };
- CReportManager.prototype.setDataModeFromMiniQuery = function()
- {
-
- if (!cfgGet("NewReportFirstRun"))
- {
-
-
-
- if (! (typeof oLimitedDataPreference === "object" && oLimitedDataPreference.getProperty("forceNoDataOnNextRun") === true))
- {
- return;
- }
- }
-
- cfgSet("NewReportFirstRun", false);
- cfgRemove("amountOfData");
- var oMQMgr = this.getApplicationManager().getMiniQueryManager();
- var oUserPreferenceManager = this.getApplicationManager().getUserPreferenceManager();
- var oCRQReportNode = oMQMgr.getCRQReportNode();
- if (typeof oCRQReportNode == "object")
- {
- var oDataDisplayUserPreference = oUserPreferenceManager.getPreference("limitedDataMode");
- if (typeof oDataDisplayUserPreference === "object")
- {
- var sLimitData = oCRQReportNode.getAttribute("limitData");
- if (sLimitData && sLimitData.length)
- {
-
- oDataDisplayUserPreference.setSystemValue(sLimitData);
- oLimitedDataPreference.setUserOverrideAllowed(false);
- }
- else
- {
-
- sLimitData = oDataDisplayUserPreference.getValue();
- this.getApplicationManager().getMiniQueryManager().setLimitData(sLimitData);
- }
-
-
- oLimitedDataPreference.setProperty("forceNoDataOnNextRun", false);
- }
- }
- };
- CReportManager.prototype.setDataModeAfterPreview = function()
- {
-
- var sRunType;
- if (cfgGet("isRunAsPreview"))
- {
- var oMQMgr = this.getApplicationManager().getMiniQueryManager();
- var oCRQReportNode = oMQMgr.getCRQReportNode();
- if (typeof oCRQReportNode == "object")
- {
- sRunType = cfgGet("amountOfData");
- if (sRunType)
- {
- this.getApplicationManager().getMiniQueryManager().setLimitData(sRunType);
- }
- cfgRemove("isRunAsPreview");
- }
- }
- return sRunType;
- };
- CReportManager.prototype.isCommandRunning = function ()
- {
- return this.m_bIsCommandRunning;
- };
- CReportManager.prototype.setCommandRunning = function (bRunning)
- {
- if (bRunning)
- {
- this.m_bIsCommandRunning = true;
- this.showSpinner(true);
- }
- else
- {
- this.m_bIsCommandRunning = false;
- this.showSpinner(false);
- }
- };
- CReportManager.prototype.showSpinner = function (bShowSpinner)
- {
- var oSpinnerDiv = document.getElementById("spinner");
- if (bShowSpinner)
- {
- if (oSpinnerDiv)
- {
- oSpinnerDiv.style.visibility = "visible";
- }
- }
- else
- {
- if (oSpinnerDiv)
- {
- oSpinnerDiv.style.visibility = "hidden";
- }
- }
- };
- CReportManager.prototype.clearReportFrameOnUnload = clearReportFrameOnUnload;
- function clearReportFrameOnUnload()
- {
- if (goApplicationManager.getReportFrame() && goApplicationManager.getReportFrame().window)
- {
-
- if (document.all)
- {
- goApplicationManager.getReportFrame().window.detachEvent("onunload", unloadReportFrame);
- }
- else
- {
- goApplicationManager.getReportFrame().window.removeEventListener("unload", unloadReportFrame, false);
- }
- }
- };
- CReportManager.prototype.unloadReportFrame = unloadReportFrame;
- function unloadReportFrame()
- {
- if (goApplicationManager && goApplicationManager.getReportFrame())
- {
-
-
- goApplicationManager.getReportFrame().frameClicked();
- }
- };
- CReportManager.prototype.isFilterCommand = function (sCommand)
- {
- var bMatch = false;
- if (sCommand)
- {
- var sMatch = sCommand.match(/^OD:/)
- || sCommand.match(/^OX:/)
- || sCommand.match(/[A-Z][A-Z];OD:./)
- || sCommand.match(/[A-Z][A-Z];OX:./);
- bMatch = (sMatch && sMatch.length > 0) ? true : false;
- }
- return bMatch;
- };
- CReportManager.prototype.persistQueryOptions = function ()
- {
- var bUpdateMiniQueryWithUserPreference = cfgGet("updateMiniQueryWithUserPreference");
- if (bUpdateMiniQueryWithUserPreference !== "true")
- {
-
-
- var bPersistOptions = cfgGet("persistOptions");
- if ((bPersistOptions == null) || (bPersistOptions == "undefined"))
- {
- cfgSet("manageFileMode", "true");
- return;
- }
-
- if (bPersistOptions === "false")
- {
-
-
- cfgSet("manageFileMode", "false");
- cfgRemove("persistOptions");
- return;
- }
- }
-
- var oMQMgr = this.getApplicationManager().getMiniQueryManager();
- if(typeof oMQMgr != "undefined" && oMQMgr !== null)
- {
- cfgSet("autoFooterSummary", oMQMgr.getAutoFooterSummary());
- cfgSet("autoSummary", oMQMgr.getAutoSummary());
- cfgSet("enableDrill", oMQMgr.getEnableDrill());
- cfgSet("enableModelDrill", oMQMgr.getEnableModelDrill());
- }
-
- cfgSet("manageFileMode", "true");
- };
- CReportManager.prototype.restoreQueryOptions = function ()
- {
- if(this.getApplicationManager().getMiniQueryManager().toString() != null)
- {
- this.setupMiniQuery(this.get("sMiniQueryMarkup"));
- var oMQMgr = this.getApplicationManager().getMiniQueryManager();
- var sAutoFooterSummary = cfgGet("autoFooterSummary");
- var sAutoSummary = cfgGet("autoSummary");
- var sEnableDrill = cfgGet("enableDrill");
- var sEnableModelDrill = cfgGet("enableModelDrill");
-
-
- typeof sAutoFooterSummary == "undefined" ? oMQMgr.setAutoFooterSummary("true") : oMQMgr.setAutoFooterSummary(sAutoFooterSummary);
- typeof sAutoSummary == "undefined" ? oMQMgr.setAutoSummary("true") : oMQMgr.setAutoSummary(sAutoSummary);
- typeof sEnableDrill == "undefined" ? oMQMgr.setEnableDrill("true") : oMQMgr.setEnableDrill(sEnableDrill);
- typeof sEnableModelDrill == "undefined" ? oMQMgr.setEnableModelDrill("true") : oMQMgr.setEnableModelDrill(sEnableModelDrill);
-
- this.add("sMiniQueryMarkup", oMQMgr.toString());
- }
- };
- function CParameterManager()
- {
- this.m_oReportManager = null;
- };
- CParameterManager.prototype = new CDictionary();
- CParameterManager.prototype.init = function ()
- {
- this.m_oReportManager = goApplicationManager.getReportManager();
- this.add("metadataParametersPassed", false);
- this.add("aPromptPageParameters", []);
- };
- CParameterManager.prototype.getReportManager = function ()
- {
- return this.m_oReportManager;
- };
- CParameterManager.prototype.setupParameters = function ()
- {
- var oCVObj = this.getReportManager().getCVObj();
- if (oCVObj !== null)
- {
- if (this.getExecutionParameters() != oCVObj.getExecutionParameters())
- {
- this.add("executionParameters", oCVObj.getExecutionParameters());
- }
- }
- };
- CParameterManager.prototype.getExecutionParameters = function ()
- {
- return this.get("executionParameters");
- };
- CParameterManager.prototype.clearExecutionParameters = function ()
- {
- this.remove("executionParameters");
- };
- CParameterManager.prototype.setMetadataParameters = function (sValue)
- {
- this.add("metadataParameters", sValue);
- };
- CParameterManager.prototype.getMetadataParameters = function ()
- {
- return this.get("metadataParameters");
- };
- CParameterManager.prototype.getMetadataParametersPassed = function ()
- {
- return this.get("metadataParametersPassed");
- };
- CParameterManager.prototype.getPromptPageParameters = function ()
- {
- return this.get("aPromptPageParameters");
- };
- CParameterManager.prototype.getPreviousPromptPageParameters = function ()
- {
- return this.get("aPreviousPromptPageParameters");
- };
- CParameterManager.prototype.addPromptPageParameter = function (sParamName, sValue)
- {
- if (typeof sParamName == "number" || typeof sParamName == "string")
- {
- var aNewParams = [];
- try
- {
- aNewParams[sParamName] = sValue;
- }
- catch (e)
- {
- }
- if (getArrayLength(aNewParams) > 0)
- {
- this.addPromptPageParameters(aNewParams);
- }
- }
- };
- CParameterManager.prototype.deletePromptPageParameter = function (sParamName)
- {
- if (typeof sParamName == "number" || typeof sParamName == "string")
- {
- var aPromptPageParams = this.getPromptPageParameters();
- if (getArrayLength(aPromptPageParams) > 0)
- {
- var aNewParams = [];
- var bIsFound = false;
- for (var idxParm in aPromptPageParams)
- {
- if (idxParm == sParamName)
- {
- bIsFound = true;
- }
- else
- {
- aNewParams[idxParm] = aPromptPageParams[idxParm];
- }
- }
- if (bIsFound === true)
- {
- if (getArrayLength(aNewParams) == 0)
- {
- this.clearPromptPageParameters();
- }
- else
- {
- this.add("aPromptPageParameters", aNewParams);
- }
- this.clearExecutionParameters();
- this.setMetadataParametersPassed(false);
- }
- }
- }
- };
- CParameterManager.prototype.addPromptPageParameters = function (aNewParams)
- {
-
-
- var aCurrentParams = this.getPromptPageParameters();
- if (aCurrentParams instanceof Array)
- {
- this.add("aPreviousPromptPageParameters", aCurrentParams);
- }
-
- if (aNewParams instanceof Array)
- {
- this.add("aPromptPageParameters", concatAssociativeArrays(this.getPromptPageParameters(), aNewParams));
- }
- };
- CParameterManager.prototype.clearPromptPageParameters = function ()
- {
- this.add("aPromptPageParameters", []);
- };
- CParameterManager.prototype.setMetadataParametersPassed = function (bValue)
- {
- if (bValue === true)
- {
- this.add("metadataParametersPassed", true);
- }
- else
- {
- this.add("metadataParametersPassed", false);
- }
- };
- CParameterManager.prototype.getParametersURL = function (bSetMetaParamsPassed)
- {
- var oParameters = this.getAllParametersAsObject();
- var sParameters = "";
- if (oParameters.promptPageParameters !== null)
- {
- for (var idxParams in oParameters.promptPageParameters)
- {
- if (sParameters !== "")
- {
- sParameters += "&";
- }
- if (typeof idxParm == "string" && idxParm.length > 0 && idxParm.charAt(0) != "_")
- {
- sParameters += "p_";
- }
- sParameters += idxParams + "=" + oParameters.promptPageParameters[idxParams];
- }
- }
- return sParameters;
- };
- CParameterManager.prototype.getParametersArray = function (bSetMetaParamsPassed)
- {
- var aParams = this.getPromptPageParameters();
- if (getArrayLength(aParams) > 0)
- {
- var aParametersWithP = [];
- for (var idxParm in aParams)
- {
- if (typeof idxParm == "string" && idxParm.length > 0 && idxParm.charAt(0) != "_")
- {
- aParametersWithP["p_" + idxParm] = aParams[idxParm];
- }
- else
- {
- aParametersWithP[idxParm] = aParams[idxParm];
- }
- }
- return aParametersWithP;
- }
- return aParams;
- };
- CParameterManager.prototype.getParameterValues = function (bSetMetaParamsPassed)
- {
- var oParameters = this.getAllParametersAsObject();
- var sParameters = "";
- if (oParameters.metadataParameters !== null && this.getMetadataParametersPassed() === false)
- {
- sParameters = oParameters.metadataParameters;
- if (bSetMetaParamsPassed === true)
- {
- this.setMetadataParametersPassed(true);
- }
- }
- else if (oParameters.executionParameters !== null)
- {
- sParameters = oParameters.executionParameters;
- }
- else if (oParameters.parameterValues !== null)
- {
- sParameters = oParameters.parameterValues;
- }
- return sParameters;
- };
- CParameterManager.prototype.getAllParametersAsObject = function ()
- {
- var oParameters = {};
- if (getArrayLength(this.getPromptPageParameters()) > 0)
- {
- oParameters.promptPageParameters = this.getPromptPageParameters();
- }
- else
- {
- oParameters.promptPageParameters = null;
- }
- if (this.getMetadataParameters() !== null)
- {
- oParameters.metadataParameters = this.getCompleteMetadataParameters();
- }
- else
- {
- oParameters.metadataParameters = null;
- }
- if (this.getExecutionParameters())
- {
- oParameters.executionParameters = this.getExecutionParameters();
- }
- else
- {
- oParameters.executionParameters = null;
- }
- if (cfgGet("parameterValues"))
- {
- oParameters.parameterValues = cfgGet("parameterValues");
- }
- else
- {
- oParameters.parameterValues = null;
- }
- return oParameters;
- };
- CParameterManager.prototype.isPrompted = function (sPromptParamName)
- {
- var bIsPrompted = false;
- if (getArrayLength(this.get("aPromptPageParameters")) > 0)
- {
- var oPromptParameters = this.get("aPromptPageParameters");
- for (var idxObj in oPromptParameters)
- {
- if (typeof idxObj == "string" && idxObj.length > 0 && idxObj.charAt(0) != "_" && idxObj == sPromptParamName)
- {
- bIsPrompted = true;
- break;
- }
- }
- }
- return bIsPrompted;
- };
- CParameterManager.prototype.getCompleteMetadataParameters = function ()
- {
- return this.getCompleteParameters(this.getMetadataParameters());
- };
- CParameterManager.prototype.getCompleteParameters = function (sParams)
- {
- var sParams = "<parameterValues xmlns:bus=\"http://developer.cognos.com/schemas/bibus/3/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"SOAP-ENC:Array\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" SOAP-ENC:arrayType=\"bus:parameterValue[]\">" + sParams + "</parameterValues>";
- return sParams;
- };
- CParameterManager.prototype.getValueForParameter = function (sName)
- {
- var nRetval = null;
- var aPPP = this.getPromptPageParameters();
- var sValue = aPPP[sName];
- if (sValue)
- {
- nRetval = new XMLParser( sValue );
- }
- return nRetval;
- };
- CParameterManager.prototype.getRangePromptValues = function( sFromUse, sFromDisplay, sToUse, sToDisplay, bFromInclusive, bToInclusive )
- {
- if ( typeof sFromUse == "undefined" ) { sFromUse = null; }
- if ( typeof sFromDisplay == "undefined" ) { sFromDisplay = sFromUse; }
- if ( typeof sToUse == "undefined" ) { sToUse = null; }
- if ( typeof sToDisplay == "undefined" ) { sToDisplay = sToUse; }
- if ( typeof bFromInclusive == "undefined" ) { bFromInclusive = null; }
- if ( typeof bToInclusive == "undefined" ) { bToInclusive = null; }
- var promptValues = '<selectChoices>';
- if (sFromUse === null && sToUse === null)
- {
- if ( typeof onlyPrompt != "undefined")
- {
- onlyPrompt = true;
- }
- promptValues = '<selectChoices/>';
- }
- else
- {
- if (sFromUse === null)
- {
- promptValues += '<selectUnboundedStartRange selected="true">';
- promptValues += '<end displayValue="' + sXmlEncode(sToDisplay) + '" useValue="' + sXmlEncode(sToUse) + '"' + (bToInclusive === false ? ' inclusive="false"' : '') + '/>';
- promptValues += '</selectUnboundedStartRange>';
- }
- else if (sToUse === null)
- {
- promptValues += '<selectUnboundedEndRange selected="true">';
- promptValues += '<start displayValue="' + sXmlEncode(sFromDisplay) + '" useValue="' + sXmlEncode(sFromUse) + '"' + (bFromInclusive === false ? ' inclusive="false"' : '') + '/>';
- promptValues += '</selectUnboundedEndRange>';
- }
- else if (sFromUse == sToUse)
- {
- promptValues += '<selectOption displayValue="' + sXmlEncode(sFromDisplay) + '" useValue="' + sXmlEncode(sFromUse) + '" selected="true"/>';
- }
- else
- {
- if (sFromDisplay !== null && sToDisplay !== null) {
- promptValues += '<selectBoundRange selected="true">';
- promptValues += '<start displayValue="' + sXmlEncode(sFromDisplay) + '" useValue="' + sXmlEncode(sFromUse) + '"' + (bFromInclusive === false ? ' inclusive="false"' : '') + '/>';
- promptValues += '<end displayValue="' + sXmlEncode(sToDisplay) + '" useValue="' + sXmlEncode(sToUse) + '"' + (bToInclusive === false ? ' inclusive="false"' : '') + '/>';
- promptValues += '</selectBoundRange>';
- }
- else
- {
- promptValues += '<selectBoundRange selected="true">';
- promptValues += '<start useValue="' + sXmlEncode(sFromUse) + '"' + (bFromInclusive === false ? ' inclusive="false"' : '') + '/>';
- promptValues += '<end useValue="' + sXmlEncode(sToUse) + '"' + (bToInclusive === false ? ' inclusive="false"' : '') + '/>';
- promptValues += '</selectBoundRange>';
- }
- }
- promptValues += '</selectChoices>';
- }
- return promptValues;
- };
- CParameterManager.prototype.getOptionPromptValues = function (aUseDisplayValues)
- {
- var sPromptValues = '<selectChoices>';
- for (var sKey in aUseDisplayValues)
- {
- sPromptValues += '<selectOption displayValue="' + sXmlEncode(aUseDisplayValues[sKey]);
- sPromptValues += '" useValue="' + sXmlEncode(sKey);
- sPromptValues += '" selected="true"/>';
- }
- sPromptValues += '</selectChoices>';
- return (sPromptValues);
- };
- CParameterManager.prototype.setDrillThroughParameterValues = function (sDrillThroughXML)
- {
-
- var oDrillXML = new XMLParser("<dummyDrillRoot>" + sDrillThroughXML + "</dummyDrillRoot>");
- var oBusElements = oDrillXML.getElementsByTagName('bus:parameters', false);
- var oDrillBusParameterElement = oBusElements[0];
- for (var iBusElementIndex = 1; iBusElementIndex < oBusElements.length; iBusElementIndex++)
- {
- var oItemElements = oBusElements[iBusElementIndex].getElementsByTagName('item', false);
- for (var iItemElementIndex = 0; iItemElementIndex < oItemElements.length; iItemElementIndex++)
- {
- oDrillBusParameterElement.appendChild(oItemElements[iItemElementIndex]);
- }
- }
-
- this.m_oDrillThroughParameterValues = oDrillBusParameterElement;
- this.convertDrillThroughParametersToPromptParameters();
- };
- CParameterManager.prototype.getDrillThroughParameterValues = function ()
- {
- return this.m_oDrillThroughParameterValues;
- };
- CParameterManager.prototype.convertDrillThroughParametersToPromptParameters = function ()
- {
-
-
-
- var oDrillThroughXML = this.getDrillThroughParameterValues();
- if (oDrillThroughXML instanceof XMLElement)
- {
- var oItemElements = oDrillThroughXML.getElementsByTagName('item', false);
- for (var iItemElementIndex = 0; iItemElementIndex < oItemElements.length; iItemElementIndex++)
- {
- var aPromptValues = new Object();
- var sPromptId = "";
-
-
- var oItem = oItemElements[iItemElementIndex];
- var oName = oItem.findChildByName('bus:name');
- if (oName)
- {
- sPromptId = oName.nodeValue;
- }
-
-
- var oValueItemElements = oItem.getElementsByTagName('item', true);
- for (var iValueItemElementIndex = 0; iValueItemElementIndex < oValueItemElements.length; iValueItemElementIndex++)
- {
-
- var sInclusive = "";
- var sDisplay = "";
- var sUse = "";
-
-
-
- var oValueItem = oValueItemElements[iValueItemElementIndex];
- var oStart = oValueItem.findChildByName('bus:start');
- if(oStart)
- {
- var sFromInclusive = null;
- var sFromDisplay = null;
- var sFromUse = null;
- var sToInclusive = null;
- var sToDisplay = null;
- var sToUse = null;
-
- var oFromInclusive = oStart.findChildByName('bus:inclusive');
- if(oFromInclusive)
- sFromInclusive = sXmlDecode(oFromInclusive.nodeValue);
-
- var oFromDisplay = oStart.findChildByName('bus:display');
- if(oFromDisplay)
- sFromDisplay = sXmlDecode(oFromDisplay.nodeValue);
-
- var oFromUse = oStart.findChildByName('bus:use');
- if(oFromUse)
- sFromUse = sXmlDecode(oFromUse.nodeValue);
-
- var oEnd = oValueItem.findChildByName('bus:end');
- if(oEnd)
- {
- var oToInclusive = oEnd.findChildByName('bus:inclusive');
- if(oToInclusive)
- sToInclusive = sXmlDecode(oToInclusive.nodeValue);
-
- var oToDisplay = oEnd.findChildByName('bus:display');
- if(oFromDisplay)
- sToDisplay = sXmlDecode(oToDisplay.nodeValue);
-
- var oToUse = oEnd.findChildByName('bus:use');
- if(oFromUse)
- sToUse = sXmlDecode(oToUse.nodeValue);
- }
-
- var sPromptValues = this.getRangePromptValues( sFromUse, sFromDisplay, sToUse, sToDisplay, sFromInclusive, sToInclusive );
- }
-
- else
- {
- var oInclusive = oValueItem.findChildByName('bus:inclusive');
- if (oInclusive)
- {
- sInclusive = sXmlDecode(oInclusive.nodeValue);
- }
-
- var oDisplay = oValueItem.findChildByName('bus:display');
- if (oDisplay)
- {
- sDisplay = sXmlDecode(oDisplay.nodeValue);
- }
- var oUse = oValueItem.findChildByName('bus:use');
- if (oUse)
- {
- sUse = sXmlDecode(oUse.nodeValue);
- }
-
-
-
- aPromptValues[sUse] = sDisplay;
-
-
- var sPromptValues = this.getOptionPromptValues(aPromptValues);
- }
- }
- this.addPromptPageParameter(sPromptId, sPromptValues);
- }
- }
- return null;
- };
-
- function reportIsReadyCallback()
- {
- var oRepMgr = goApplicationManager.getReportManager();
- oRepMgr.add("bReportReady", true);
- oRepMgr.updateStateFromCVObj();
- oRepMgr.restoreQueryOptions();
- oRepMgr.handleNavigationLinks();
- oRepMgr.handleUndoRedoBackJax();
- oRepMgr.getParameterManager().setupParameters();
- oRepMgr.setupLiveReport();
- };
- function reportHasErrorCallback()
- {
- var oRepMgr = goApplicationManager.getReportManager();
- oRepMgr.getUndoManager().m_redoStack = new Array();
- };
- function reportIsPromptingCallback()
- {
- var oRepMgr = goApplicationManager.getReportManager();
- oRepMgr.updateStateFromCVObj();
- oRepMgr.handleNavigationLinks();
- oRepMgr.getParameterManager().setupParameters();
- oRepMgr.getCVObj().showWaitPage(false);
-
-
-
- oRepMgr.getCVObj().cancelPrompt = function()
- {
- goApplicationManager.getReportManager().cancel();
- }
-
- if (typeof oRepMgr.getCVObj().promptActionOrig != "function")
- {
- oRepMgr.getCVObj().promptActionOrig = oRepMgr.getCVObj().promptAction;
- }
- oRepMgr.getCVObj().promptAction = function(sAction, sUrl)
- {
- var bProceedWithPrompt = goApplicationManager.getReportManager().handlePromptAction(sAction, sUrl);
- if (bProceedWithPrompt && typeof this.promptActionOrig == "function")
- {
- oRepMgr.setCommandRunning(true);
- this.promptActionOrig(sAction, sUrl);
- }
- }
- };
- function reportIsWaitingCallback()
- {
- var oRepMgr = goApplicationManager.getReportManager();
- oRepMgr.updateStateFromCVObj();
- oRepMgr.handleNavigationLinks();
- };
- function tempDropColumn(event)
- {
- if(dropColumn)
- {
- dropColumn(event, null);
- }
- };
- function mouseMove(event)
- {
- if (typeof resizeMenuPane === "function")
- {
- resizeMenuPane(event, true);
- }
- if (typeof resizeDialogFrame === "function")
- {
- var iTop = 0;
- if (document.all)
- {
- var oRepFrame = document.getElementById("reportFrame");
- while (oRepFrame !== null)
- {
- if (oRepFrame.tagName != "TR" && typeof oRepFrame.offsetTop == "number")
- {
- iTop += oRepFrame.offsetTop;
- }
- oRepFrame = oRepFrame.offsetParent;
- }
- }
- resizeDialogFrame(event, event.clientY + iTop);
- }
- };
- function dragEnter(event)
- {
- if (goApplicationManager.get("showStartPage") === true)
- {
- dragStartPageLeaveColumn(event);
- }
- else
- {
- dragEnterColumn(event);
- }
- if (!window.ie)
- {
- event.preventDefault();
- }
- };
- function dragOver(event)
- {
- if (goApplicationManager.get("showStartPage") === true)
- {
- dragStartPageLeaveColumn(event);
- }
- else
- {
- dragOverColumn(event);
- }
- if (!window.ie)
- {
- event.preventDefault();
- }
- };
- function dragLeave(event, bForceHide)
- {
- if (typeof bForceHide == "undefined")
- {
- bForceHide = false;
- }
- if (goApplicationManager.get("showStartPage") === true)
- {
- dragStartPageLeaveColumn(event);
- }
- else
- {
- dragLeaveColumn(event, bForceHide);
- if (!window.ie) {
- dragEnterColumn(event);
- }
- }
- if (!window.ie)
- {
- event.preventDefault();
- }
- };
- function errorExit()
- {
- var repMgr = null;
- var oMQ = null;
- if (typeof cf === "object" && cf.goApplicationManager)
- {
- repMgr = cf.goApplicationManager.getReportManager();
- oMQ = cf.goApplicationManager.getMiniQueryManager();
- }
- if (repMgr !== null && oMQ !== null)
- {
- var sMQ = oMQ.toString();
- if(repMgr.isCommandRunning() == true && sMQ && sMQ.length)
- {
- repMgr.setCommandRunning(false);
- var sUndoManager = repMgr.getUndoManager();
- sUndoManager.setReuseConversation(false);
-
- var undoResult = false;
- var addToUndoResult = false;
-
- if (oMQ.m_sPreviousDataMode === "none")
- {
-
- sUndoManager.undo();
- undoResult = true;
- }
- else if (sUndoManager.canUndo())
- {
-
-
- var sLastUndoSpec = sUndoManager.m_undoStack[sUndoManager.m_undoStack.length - 1];
-
-
-
-
- if (sLastUndoSpec === sMQ)
- {
- undoResult = sUndoManager.undo();
- }
-
-
-
- else
- {
- var aPromptValues = repMgr.getParameterManager().getPromptPageParameters();
- addToUndoResult = sUndoManager.addToUndo(sMQ, null, aPromptValues);
- if (addToUndoResult)
- undoResult = sUndoManager.undo();
- }
- }
- else {
-
-
-
- var aPromptValues = repMgr.getParameterManager().getPromptPageParameters();
- addToUndoResult = sUndoManager.addToUndo(sMQ, null, aPromptValues);
- if (addToUndoResult)
- undoResult = sUndoManager.undo();
- }
-
- if (!undoResult)
- bannerHome(cfgGet("gsCognosHome"));
- }
- else
- {
-
- if(goApplicationManager.getWindowManager().isDialogFrameOpen())
- {
- hideDialogFrame();
- }
- else
- {
-
-
- if (! sMQ || sMQ.length == 0)
- {
-
- closeLink(true);
- }
- else
- {
- bannerHome(cfgGet("gsCognosHome"));
- }
- }
- }
- }
- };
|