JAVASCRIPT   31

conf js

Guest on 6th August 2022 01:15:54 AM

  1. /****************************************************************
  2. ** Licensed Materials - Property of IBM
  3. **
  4. ** IBM Cognos Products: drill
  5. **
  6. ** (C) Copyright IBM Corp. 2001, 2010
  7. **
  8. ** US Government Users Restricted Rights - Use, duplication or
  9. ** disclosure restricted by GSA ADP Schedule Contract with
  10. ** IBM Corp.
  11. *****************************************************************/
  12. // Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  13. // Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  14.  
  15. //
  16. //  the variable "cfgValues" must have been defined in one the files including this script file.
  17. //  It is done this way to ensure we have only one valid definition of "cfgValues"
  18. //
  19.  
  20. var cfgValues = new Array();
  21.  
  22. //
  23. //  --- Configuration management functions ---
  24. //
  25.  
  26. function cfgSet(n, v) { cfgValues[n] = v; }
  27. function cfgGet(n)      { return cfgValues[n]; }
  28. function cfgRemove(n) { delete cfgValues[n]; }
  29.  
  30. function cfgIsArray(a) {
  31.         return isArray(cfgValues[a]);
  32. }
  33.  
  34. function cfgPush(a, v) {
  35.         if (!cfgIsArray(a)) cfgValues[a] = cfgMakeArray(a);
  36.         addToArray(cfgValues[a], v);
  37. }
  38.  
  39. function cfgAddParm(n, v) {
  40.         if (!isArray(cfgValues[n]))
  41.                 cfgValues[n] = makeArray(cfgValues[n]);
  42.         addToArray(cfgValues[n], v);
  43. }
  44.  
  45. function cfgSetDefaultAt(i) {
  46.         cfgSetAt("ColFormat", i, new Array("none"));
  47.         cfgSetAt("IsHidden",i, false);
  48.         cfgSetAt("OriginalLabels",i,"");
  49.         cfgSetAt("calcOp",i,"");
  50.         cfgSetAt("SummaryAgg",i,"none");
  51.         cfgSetAt("DetailAgg",i,"none");
  52.         cfgSetAt("RegularAgg",i,"none");
  53.         cfgSetAt("sortOnRef",i,"none");
  54.         cfgSetAt("promptCascadeOnRef",i,"none");
  55.         cfgSetAt("promptFilterItemRef",i,"none");
  56.         cfgSetAt("PromptType",i,"0");
  57.         cfgSetAt("ColFilterIdx",i,new Array());
  58.         cfgSetAt("ColLabels",i,"");
  59.         cfgSetAt("IsFakeMeasure",i,false);
  60.         cfgSetAt("IsMeasure",i,false);
  61.         cfgSetAt("IsCollapsed",i,false);
  62.         cfgSetAt("ColRole",i,"Ungrouped");
  63.         cfgSetAt("HasSummaries",i,false);
  64.         cfgSetAt("displayType",i,"");
  65. }
  66.  
  67. function cfgSetColAt(i, v1, v2, v3, v4, v5, v6, v7) {
  68.         cfgSetAt("QueryIDs",i,v1);
  69.         cfgSetAt("ColType",i,v2);
  70.         cfgSetAt("ColUsage",i,v3);
  71.         cfgSetAt("ColSort",i,v4);
  72.         cfgSetAt("ColSortBy",i,v5);
  73.         cfgSetAt("ColIDs",i,v6);
  74.         cfgSetAt("ColOldType",i,v7);
  75. }
  76.  
  77. function cfgSetAt(a, i, v) {
  78.         if (!cfgIsArray(a)) cfgValues[a] = cfgMakeArray(a);
  79.         insertInArrayAt(cfgValues[a], i, v);
  80. }
  81.  
  82. function cfgGetAt(a, i) {
  83.         if (!cfgIsArray(a)) return null;
  84.         return cfgValues[a][i];
  85. }
  86.  
  87. function cfgPop(a, v) {
  88.         if (!cfgIsArray(a)) return;
  89.  
  90.         var bRemoved=false;
  91.         var size=cfgValues[a].length;
  92.         for (var i=0;i<size;i++) {
  93.                 if (!bRemoved && cfgValues[a][i]==v) bRemoved=true;
  94.                 if (bRemoved && i+1<size) cfgValues[a][i]=cfgValues[a][i+1];
  95.         }
  96.         if (bRemoved) cfgValues[a].length=size-1;
  97. }
  98.  
  99. function cfgSize(a) {
  100.         if (cfgIsArray(a)) return cfgValues[a].length;
  101.         return 0;
  102. }
  103.  
  104. function cfgCountEntriesWithValue(a, v) {
  105.         var count=0;
  106.         if(cfgIsArray(a)) {
  107.                 var size=cfgValues[a].length;
  108.                 for (var i=0;i<size;i++) {
  109.                         if(cfgValues[a][i] == v)
  110.                                 ++count;
  111.                 }
  112.         }
  113.         return count;
  114. }
  115.  
  116. function cfgIndexOf(a, v) {
  117.         if (!cfgIsArray(a)) return -1;
  118.         for (var i=0; i<cfgValues[a].length; i++)
  119.                 if (cfgValues[a][i]==v) return i;
  120.         return -1;
  121. }
  122.  
  123. function cfgMakeArray(a) {
  124.         return makeArray(cfgValues[a]);
  125. }
  126.  
  127. //
  128. //  --- Array management functions ---
  129. //
  130.  
  131. function addToArray(a, v) { if (!contains(a, v)) a[a.length] = v;}
  132.  
  133. function insertInArrayAt(a, i, v) { a[i] = v; }
  134.  
  135. function makeArray(a) {
  136.         if (a == null || typeof a == "undefined")
  137.                 a = new Array();
  138.         else if (typeof a != "object") {
  139.                 var tmp = a; a = new Array(); a[0] = tmp;
  140.         }
  141.         return a;
  142. }
  143.  
  144. function containsByIndice(a, v) {
  145.         for (var i in a)
  146.                 if (i == v) return true;
  147.         return false;
  148. }
  149. function contains(a, v) {
  150.         for (var i in a)
  151.                 if (a[i] == v) return true;
  152.         return false;
  153. }
  154.  
  155. function isArray(a) {
  156.         if (a != null && typeof a == "object") return true;
  157.         return false;
  158. }
  159.  
  160. // -----------------------------------------------------------------------------
  161. //
  162. // --- Configuration utilities functions ---
  163. //
  164. // -----------------------------------------------------------------------------
  165.  
  166. function reinitConfigValues() {
  167.         cfgValues = new Array();
  168.         cfgSet("productLocale", "en");
  169.         cfgSet("contentLocale", "en-US");
  170.         cfgSet("numRows", "20");
  171.         cfgSet("NewReport", false);
  172. }
  173.  
  174. function loadCfgArray(type) {
  175.         cfgSet("doMetadataTree",false);
  176.         cfgSet("BROWSER", browserType);
  177.         cfgSet("SELECT_NODE_AT", selectedNode);
  178.         cfgSet("SERVER_URL", serverURL);
  179.         cfgSet("SCRIPT_ENGINE", scriptEngine);
  180.         cfgSet("cmLastModel", model);
  181.         cfgSet("START_AT", startAt);
  182.         cfgSet("RPT_SVC_PARAM", rptSvcParam);
  183.         cfgSet("FALSE",false);
  184.         cfgSet("TRUE",true);
  185.  
  186.         if (type)
  187.         {
  188.                 cfgSet("activeTree",true);
  189.  
  190.                 cfgSet("SELECT_TYPE",type);
  191.  
  192.                 cfgSet("selectNamespace",false);
  193.                 cfgSet("selectPackage",false);
  194.                 /* cfgSet("selectFolder",false); */
  195.                 cfgSet("selectDimension",true);
  196.                 cfgSet("selectHierarchy",true);
  197.                 cfgSet("selectLevel",true);
  198.                 /* cfgSet("selectQItemFldr",false); */
  199.                 cfgSet("selectQItem",true); /* equivalents : level */
  200.                 cfgSet("selectMeasureFldr",false);
  201.                
  202.                 // These are the setting that are used when we select from meta data tree either for scope or param
  203.                 if (type=="scope" || type=="param")
  204.                 {
  205.                  //Since we don't want the mesaure to be selected when we define the parameters we don't enable these  
  206.                  //If in future we want to enable measure for parameters as well we have to enable these.                
  207.                  //cfgSet("selectMeasureDimn",true);
  208.                  //cfgSet("selectMeasure",true);
  209.                  //cfgSet("rollupMeasure",true);
  210.                 }
  211.                 else
  212.                 {
  213.                         cfgSet("selectMeasureDimn",false);
  214.                         cfgSet("selectMeasure",false);
  215.                         cfgSet("rollupMeasure",false);
  216.                 }
  217.                 // These are the settings that are used when we select the scope
  218.                 // settings that are specific to scope should go here.
  219.                 if (type=="scope")
  220.                 {              
  221.                         cfgSet("selectMeasureDimn",true); // To allow Measure to be selected
  222.                         cfgSet("selectMeasure",true); // To allow Measure to be selected
  223.                         cfgSet("selectHierarchyMesr",true);
  224.                         cfgSet("selectNamedSet",false);
  225.                         cfgSet("selectQSubject",true); /* equivalents : dimension; hierarchy */
  226.                         cfgSet("selectAttributes",false);
  227.                         cfgSet("selectModelFact",false);
  228.                         cfgSet("selectModelAttr",false);
  229.                         cfgSet("selectModelIdent",false);
  230.                 }
  231.                 else
  232.                 {
  233.                          cfgSet("selectHierarchyMesr",false);
  234.                         cfgSet("selectNamedSet",true);
  235.                         cfgSet("selectQSubject",false); /* equivalents : dimension; hierarchy */
  236.                         cfgSet("selectAttributes",true);
  237.                         cfgSet("selectModelFact",true);
  238.                         cfgSet("selectModelAttr",true);
  239.                         cfgSet("selectModelIdent",true);
  240.  
  241.                 }
  242.         }
  243.         else
  244.         {
  245.                         cfgSet("activeTree",false);
  246.                         cfgSet("selectNamespace",false);
  247.                         cfgSet("selectPackage",false);
  248.                         /* cfgSet("selectFolder",true); */
  249.                         cfgSet("selectMeasureDimn",false);
  250.                         cfgSet("selectMeasureFldr",false);
  251.                         cfgSet("selectHierarchyMesr",false);
  252.                         cfgSet("selectMeasure",false);
  253.                         /* cfgSet("selectDimension",true); */
  254.                         /* cfgSet("selectHierarchy",true); */
  255.                         /* cfgSet("selectLevel",true); */
  256.                         cfgSet("selectNamedSet",false);
  257.                         cfgSet("selectQSubject",false); /* equivalents : dimension; hierarchy */
  258.                         cfgSet("selectQItem",false); /* equivalents : level */
  259.                         /* cfgSet("selectQItemFldr",false); */
  260.                         cfgSet("selectAttributes",false);
  261.                         cfgSet("selectModelFact",false);
  262.                         cfgSet("selectModelAttr",false);
  263.                         cfgSet("selectModelIdent",false);
  264.         }
  265.         //<xsl:if test="key('env-param','debug')='true'">cf.cfgSet("__DBG__", true);</xsl:if>
  266.         // cfgSet("queryLoaded",true);
  267. }

Raw Paste


Login or Register to edit or fork this paste. It's free.