// Licensed Materials - Property of IBM // // IBM Cognos Products: ps // // (C) Copyright IBM Corp. 2005, 2011 // // 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 (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated). var treeMetadata; var treeRoot; var treeArray = new Array(); var currentlySelectedNode = null; var currentValue = ""; var currentName = ""; var sTreeWebRoot = ".."; // default this to a relative location if (window.g_PS_getWebRoot) { if (g_PS_getWebRoot() != "") sTreeWebRoot = g_PS_getWebRoot(); // set up the official path to the C8 web root } function initTree(rootName, rootCaption, rootIcon) { try { if (typeof oCV == "undefined") { oCV = window; } } catch (e) { oCV = window; } oCV.preProcessControlArray=[]; oCV.p_sSkinFolder= sTreeWebRoot + "/prompting/reportskin"; oCV.bCanFinish=true; oCV.bNextPage=true; oCV.pageNavigationObserverArray=[]; oCV.rangeObserverArray=[]; oCV.multipleObserverArray=[]; oCV.datePickerObserverArray=[]; oCV.hasPromptKeyDown=false; //addHiddenInputHTML("pform", "p_[MULTIPLE]", ""); var treeDiv = document.getElementById("LWMTreeOuterPane"); treeMetadata = new CTree (treeDiv, "", false, false, "treeRoot", null, null, ""); treeRoot = treeMetadata.getRootNode(); var tNode = new CTreeNodeType(TREE_ROOT, true, rootIcon, rootIcon); tNode.setSelectable(true); treeMetadata.setRootNodeType(tNode); treeMetadata.setSelectionMode(SINGLE_TREE_SELECTION); treeMetadata.setForceSelectionAtLowestLevel(true); treeMetadata.setNodesCanHaveChildren(true); treeMetadata.setDisabled(false); treeMetadata.setRootNodeShowing(true); treeMetadata.getRootNode().setName(rootCaption); treeMetadata.setLoadOnTheFlyFunction(null); treeMetadata.setContextMenu(treeContextMenuFunc); treeMetadata.setSingleClickFunc(treeContextMenuFunc); treeMetadata.setRecursiveSelect(false); treeMetadata.setHideOuterTable(false); } function getSelectedNode() { if (currentlySelectedNode != null) { return currentlySelectedNode.getValue(); } } function getSelectedValue() { return currentValue; } function getSelectedName() { return currentName; } function treeFocus () { //no-op } function treeContextMenuFunc(evt) { //get the event in a cross-browser fashion evt = (evt) ? evt : ((event) ? event : null); if ((evt !== null) && (evt.keyCode != null) && (evt.keyCode != 13) && (evt.keyCode !== 0)) { return false; } //cancel any text selection clearSelection(); //prevent the event from bubbling to other elements cancelBub(evt); //get UI Node var uiNode = getUINode(evt); var uiNodeTreeRef = uiNode.getAttribute(gsCTREE_treeRef).toString(); //get the tree object var tree = uiNode.getAttribute(gsCTREE_tree).toString(); //get tree Node var node = getTreeNode(tree, uiNodeTreeRef); var oTree = node.getTree(); currentValue = node.getValue(); currentName = node.getName(); currentlySelectedNode = node; } function addNode(typeNode, level, name, value, icon, parentName, parentCaption, prevSelectedName, prevSelectedValue) { if (typeNode == 'itemGroup') { var nodeType = new CTreeNodeType(TREE_FOLDER, false, icon, icon); nodeType.setSelectable(true); var node = null; var parentNode = treeRoot; if (level > 0 && parentName != 'undefined' && treeArray[parentName] != null) { parentNode = treeArray[parentName]; node = new CTreeNode(parentNode, nodeType, false, name, value, false); parentNode.getTree().childrenReadyForNode(parentNode); } else { node = new CTreeNode(treeRoot, nodeType, false, name, value, false); } node.setTooltip(name); node.setCanHaveChildren(true); node.setOpen(true); treeArray[value] = node; } else if (typeNode == 'item') { var nodeType = new CTreeNodeType(TREE_ITEM, false, icon, icon); nodeType.setSelectable(true); var parentNode = treeRoot; var node = null; var selected = false; if (prevSelectedName != '' && prevSelectedValue != '' && prevSelectedName == name && prevSelectedValue == value) { selected = true; //set the current value and name currentValue = prevSelectedValue; currentName = prevSelectedName; } if (level > 0 && parentName != 'undefined' && treeArray[parentName] != null) { parentNode = treeArray[parentName]; node = new CTreeNode(parentNode, nodeType, false, name, value, selected); } else { node = new CTreeNode(treeRoot, nodeType, false, name, value, selected); } node.setCanHaveChildren(false); } }