123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- // Licensed Materials - Property of IBM
- //
- // IBM Cognos Products: pps
- //
- // (C) Copyright IBM Corp. 2005, 2017
- //
- // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- //
- // This contains the custom javascript functions supplied by the customer
- // to be used for PowerPlay Studio Cognos Viewer Toolbar.
- var PP8CV = new function PP8CognosViewer() {
- var DSCParamterList = new Array("DSC.CONNECTIONNAME",
- "DSC.DATASOURCECONNECTIONSEARCHPATH",
- "DSC.DATASOURCECONNECTIONSTOREID",
- "DSC.DATASOURCENAME",
- "DSC.LOCALCUBEPATH",
- "DSC.MODELSEARCHPATH",
- "DSC.MODELSTOREID",
- "DSC.MODELNAMESPACEID",
- "DSC.NAMESPACE",
- "DSC.PACKAGESEARCHPATH",
- "DSC.PACKAGESTOREID",
- "DSC.READCACHESIZE",
- "DSC.SIGNONNAME");
-
- var ParametersForPWR = new Array("CRNOBJB64",
- "CRNOBJWP",
- "CRNOBJTYPE",
- "CRNRN",
- "DC");
-
- var ParametersForPWQ = new Array("CRNOBJB64",
- "CRNOBJWP",
- "CRNOBJTYPE",
- "CX");
-
- var ParamatersNeccessaryForCurrentState = new Array(
- "LA",
- "LO",
- "FC",
- "DM",
- "SW",
- "Z",
- "PP_SMODE",
- "LS",
- "CU",
- "FO",
- "DP",
- "w2",
- "ENCODING",
- "ui.crnp",
- "ui.crnfrm",
- "ui.backURL",
- "ppes_routingsg",
- "CMAS",
- "CMRS");
-
- this.promptsButton = function(viewer) {
- var paramNames = new Array();
-
- paramNames = paramNames.concat(ParametersForPWR);
- paramNames = paramNames.concat(ParamatersNeccessaryForCurrentState);
- paramNames = paramNames.concat(DSCParamterList);
- paramNames = paramNames.concat(getDimensionListParameters(viewer));
-
- var params = getParametersFromViewer(paramNames,viewer);
-
- params["b_action"] = "powerPlayService";
- params["ui.backURL"] = createURLForCurrentState(viewer);
- params["ui.action"] = "run";
- params["ui.crnp"] = "true";
- params["ui.crnfrm"] = "PDF";
- params["crnobj"] = viewer.envParams["ui.object"];
- params["PWVB"] = createURLForCurrentState(viewer);
-
- createAndSubmitForm(params);
- }
- this.drillButton = function(viewer) {
- var paramNames = new Array();
-
- paramNames = paramNames.concat(ParametersForPWQ);
- paramNames = paramNames.concat(DSCParamterList);
- paramNames[paramNames.length] = "PROTECT";
-
- var params = getParametersFromViewer(paramNames,viewer);
-
- params["b_action"] = "powerPlayService";
- params["RA"] = "4"; //Drill through.
-
- createAndSubmitForm(params, "_blank");
- }
- this.saveButton = function(viewer) {
- var paramNames = new Array();
-
- paramNames = paramNames.concat(ParametersForPWR);
- paramNames = paramNames.concat(ParamatersNeccessaryForCurrentState);
- paramNames = paramNames.concat(DSCParamterList);
- paramNames = paramNames.concat(getDimensionListParameters(viewer));
-
- var params = getParametersFromViewer(paramNames,viewer);
-
- params["b_action"] = "powerPlayService";
- params["ZZ"] = "S";
- params["CO"] = "RU:1";
-
- createAndSubmitForm(params);
- }
- this.saveAsButton = function(viewer) {
- var paramNames = new Array();
-
- paramNames = paramNames.concat(ParametersForPWR);
- paramNames = paramNames.concat(ParamatersNeccessaryForCurrentState);
- paramNames = paramNames.concat(DSCParamterList);
- paramNames = paramNames.concat(getDimensionListParameters(viewer));
- paramNames[paramNames.length] = "PROMPT_PAGE_INVOKED";
-
- var params = getParametersFromViewer(paramNames,viewer);
-
- params["b_action"] = "powerPlayService";
- params["PP_BACK"] = viewer.envParams["ui.backURL"];
- params["ZZ"] = "J";
- params["CO"] = "RU:0";
-
- createAndSubmitForm(params);
- }
- this.ppStudioButton = function(viewer) {
-
- var paramNames = new Array();
-
- paramNames = paramNames.concat(ParametersForPWQ);
- paramNames = paramNames.concat(ParamatersNeccessaryForCurrentState);
- paramNames = paramNames.concat(DSCParamterList);
- paramNames = paramNames.concat(getDimensionListParameters(viewer));
- paramNames[paramNames.length] = "PROTECT";
-
- var params = getParametersFromViewer(paramNames,viewer);
-
- params["b_action"] = "powerPlayService";
- params["ui.backURL"] = createURLForCurrentState(viewer);
-
- //If we don't have an FC and DM, we need to create some for PPStudio
- //Add the dimension parameters.
- if (!params["FC"] || !params["DM"]) {
- var sFC = "";
- for (param in viewer.envParams) {
- if (param.match(/^D\d+$/)) { //Match on D0 --> D<inf#>
- sFC += param.substr(1); // Dim#
- sFC += "\t";
- sFC += viewer.envParams[param]; // value
- sFC += "\t";
- }
- }
-
- params["FC"] = sFC;
- }
-
- createAndSubmitForm(params);
- }
-
- function getDimensionListParameters(viewer) {
- var paramNames = new Array();
-
- paramNames[paramNames.length] = "ND";
-
- //Add the dimension parameters.
- var dimensionParmName = "D0";
- var dimensionCtr = 0;
- while (viewer.envParams[dimensionParmName]) {
- paramNames[paramNames.length] = dimensionParmName;
- paramNames[paramNames.length] = (dimensionParmName + "L");
- paramNames[paramNames.length] = (dimensionParmName + "I");
- paramNames[paramNames.length] = (dimensionParmName + "_CL");
- dimensionCtr++;
- dimensionParmName = "D" + dimensionCtr;
- }
-
- return paramNames;
- }
-
- function getParametersFromViewer(paramNames,viewer) {
- var params = new Array();
-
- for (var i = 0; i < paramNames.length; i++) {
- if (viewer.envParams[paramNames[i]])
- params[paramNames[i]] = viewer.envParams[paramNames[i]];
- }
-
- return params;
- }
-
- function createURLForCurrentState(viewer) {
-
- var paramNames = new Array();
-
- paramNames = paramNames.concat(ParametersForPWR);
- paramNames = paramNames.concat(ParamatersNeccessaryForCurrentState);
- paramNames = paramNames.concat(DSCParamterList);
- paramNames = paramNames.concat(getDimensionListParameters(viewer));
-
- paramNames = paramNames.concat(new Array("ui.object","UI.OBJECT"));
-
- var params = getParametersFromViewer(paramNames,viewer);
-
- //It's possible that the viewer was invoked from a prompt page
- //In this case, the PP_BACK is the real backURL.
- if (viewer.envParams["PP_BACK"]) {
- params["ui.backURL"] = viewer.envParams["PP_BACK"];
- }
-
- params["b_action"] = "powerPlayService";
- params["ui.action"] = "run";
- return createURL(params, viewer);
- }
- function createURL(params, viewer) {
-
- //Get the Gateway URL currently in the browser
-
- var URL = location.pathname;
- if (URL.indexOf("?") != -1)
- URL = URL.substr(0,URL.indexOf("?"));
- URL += "?";
-
- var first = true;
- for (var i in params) {
- if (!first)
- URL += "&";
- first = false;
- URL += i;
- URL += "=";
- URL += encodeURIComponent(params[i]);
- }
-
- return URL;
-
- }
-
- function createAndSubmitForm(params, target) {
- var form = document.createElement("FORM");
- form.action = getFormWarpRequest().action;
- form.method = "post";
-
- if (target)
- form.target = target;
-
- for (var i in params) {
- var input = document.createElement("INPUT");
- input.type = "hidden";
- input.name = i;
- input.value = params[i];
- form.appendChild(input);
- }
-
- document.body.appendChild(form);
- form.submit();
- }
- }
|