1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153 |
- // Licensed Materials - Property of IBM
- //
- // IBM Cognos Products: cogadmin
- //
- // (C) Copyright IBM Corp. 2005, 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 (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
- //----------------------------------------------------------
- /*
- * namespace for cogadmin local javascript library.
- */
- if (!window.CognosObjectFactory) {
- window.CognosObjectFactory = function() {
- throw 'RuntimeException: CognosObjectFactory is a static class and may not be instantiated';
- }
- CognosObjectFactory.init = function(objName) {
- var namespace = objName.split(".");
- var obj=window;
- for (var i=0; i < namespace.length;i++) {
- if (!obj[namespace[i]]) {
- obj = obj[namespace[i]] = {};
- } else {
- obj = obj[namespace[i]];
- if (typeof(obj) != "object")
- throw new Error(objName
- + " already exists and is not an object");
- }
- }
- return obj;
- }
- }
- //returns either val or the result of evaluating val
- function evalParm(val) {
- var ret = window[val];
- return ret ? ret : val;
- }
- // table actions: expand/collapse, select row, ...
- function toggleGroupVisibility(imgID, rowID) {
- var row = document.getElementById(rowID);
- if (!row) {
- return;
- }
- var sibling = getNextSibling(row);
- var collapsing = true;
- // get all the siblings until we hit the next group TR
- while (sibling.id == '') {
- if (sibling.style.display == '') {
- sibling.style.display = 'none';
- collapsing = false;
- } else {
- sibling.style.display = '';
- }
-
- sibling = getNextSibling(sibling);
-
- if (!sibling) {
- break;
- }
- }
-
- // change the image
- var image = document.getElementById(imgID);
- if (!image) {
- return;
- }
- if (collapsing) {
- image.src = image.src.substring(0, image.src.indexOf('expand.gif'))
- + 'collapse.gif';
- } else {
- image.src = image.src.substring(0, image.src.indexOf('collapse.gif'))
- + 'expand.gif';
- }
- }
- //getNextSibling
- // We need to do this to workaround a firefox issue since firefox treats
- // linebreaks as nodes.
- function getNextSibling(startNode){
- endNode=startNode.nextSibling;
- while(endNode.nodeType!=1){
- endNode = endNode.nextSibling;
- }
- return endNode;
- }
- // selectTableRow
- // @rowPrefix: the ID prefix used to loop through all the selectable rows in the
- // table
- // @rowID: the ID for the row that will get selected
- // @skipColumns: the number of columns that should get skipped when selecting a
- // row
- function selectTableRow(rowPrefix, rowID, skipColumns) {
- var row = document.getElementById(rowID);
- if (!row) {
- return;
- }
-
- // get the parent of the TR
- var parent = row.parentNode;
-
- if (!parent) {
- return;
- }
- // need to clear all the other selections and select only the one row
- for (rowIndex=0; rowIndex < parent.childNodes.length; rowIndex++) {
- var row = parent.childNodes[rowIndex];
-
- // we found a selectable row
- if (row.nodeName == 'TR' && row.id.indexOf(rowPrefix) == 0) {
- var skippedCols = 0;
- // loop through the TD's of the TR
- for (colIndex=0; colIndex < row.childNodes.length; colIndex++) {
- var col = row.childNodes[colIndex];
-
- if (col.nodeName == 'TD') {
- // is this the row that should be selected?
- if (row.id == rowID) {
- if (skippedCols >= skipColumns) {
- col.style.background = '#DEE7EF';
- } else {
- skippedCols++;
- }
- } else {
- // TODO; this doesn't work in firefox
- // TODO: fix alternating backgrouns
- // if (rowIndex%2) {
- // col.style.background = '#f3f3f3';
- // }
- // else {
- col.style.background = '#ffffff';
- // }
- }
- }
- }
- }
- }
- }
- // @fragID: The ID for the fragment that will get created
- // @divID: The ID of the div that will get updated by the fragment
- // @xtsTargetURL: parameters that will get added to the URL. Should NOT start
- // with &
- function createFragment(fragID, divID, xtsTargetURL) {
- var frag = new fragment("/xts"+encodeURI(xtsTargetURL), fragID, divID);
- if (frag.parent && !document.getElementById(divID)) {
- var div = document.createElement('div');
- div.id = divID;
- document.getElementById(frag.parent.div).appendChild(div);
- }
- return frag;
- }
- // @id; div id for the modal dialog content
- function showModalDialog(style, id, title, height, width,fragment) {
- if (id) {
- var div = document.getElementById(id);
- if (div) {
- div.style.display="";
- if (!width) {
- width=xWidth(div);
- }
- if (!height) {
- height=xHeight(div);
- }
- var left = ((document.body.clientWidth - width) / 2);
- if (left < 0) {
- left = document.body.scrollLeft;
- }
- var top = ((document.body.clientHeight - height) / 2);
- if (top < 0) {
- top = document.body.scrollTop;
- }
- var uiDialog = new ui_dialog(id, title, style, left, top, width,
- height);
- if (fragment) {
- uiDialog.fragment = fragment;
- }
-
- uiDialog.setContent(div.innerHTML);
- div.parentNode.removeChild(div);
- uiDialog.show();
- return uiDialog;
- }
- }
- }
- // @id; div id for the modal dialog
- // @iframeId: iframe id
- function showModalDialogWithIFrame(id, height, width) {
- showModalDialogWithIFrame.triggerElement = document.activeElement;
- var div = $(id);
- if (div) {
- div.style.display = "";
-
- var locker = ui_locker.get();
- locker.show();
-
- if (height) {
- div.style.height = height + 'px';
- }
- if (width) {
- div.style.width = width + 'px';
- }
-
- var left = ((document.body.clientWidth - div.clientWidth) / 2)
- + document.body.scrollLeft - 170;
- if (left < 0) {
- left = document.body.scrollLeft;
- }
- div.style.left = left + 'px';
-
- var top = ((document.body.clientHeight - div.clientHeight) / 2)
- + document.body.scrollTop - 45;
- if (top < 0) {
- top = document.body.scrollTop;
- }
- div.style.top = top + 'px';
- div.style.visibility = 'visible';
- ui_setFocus(div);
- }
- }
- function hideModalDialog(id) {
- div = document.getElementById(id);
- if (div) {
- div.style.display = 'none';
- }
-
- var locker = ui_locker.get();
- while (locker.count > 0){
- locker.hide();
- locker = ui_locker.get();
- }
- setTimeout(function(){var triggerEle=showModalDialogWithIFrame.triggerElement;if(triggerEle){triggerEle.focus()}},500);
- }
- // @event - the event that has taken place (mouseclick, mouseover, ...)
- function cancelBubble(event) {
- event.cancelBubble = true;
- if (event.stopPropagation) {
- event.stopPropagation();
- }
- }
- //highlight row
- function toggleHighlight(fragmentName, object, alternate){
- cleanWhitespace(fragmentName + "tbodyElement");
- var group = document.getElementById(fragmentName + "tbodyElement");
-
- if (group.hasChildNodes()) {
- var children = group.childNodes;
-
- for (var i = 0; children.length > i; i++) {
- if (children[i].id != fragmentName + "footer") {
- if (alternate == true) {
- if (i%2 == 0) {
- children[i].className = "cogstyle-table-row-alternate";
- } else {
- children[i].className = "cogstyle-table-row-default";
- }
- } else {
- children[i].className = "cogstyle-table-row-default";
- }
- }
- }
-
- object.className = "cogstyle-table-row-selected";
- }
- }
- function cleanWhitespace (element) {
- var element = document.getElementById(element);
- for (var i = 0; i < element.childNodes.length; i++) {
- var node = element.childNodes[i];
- if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) {
- node.parentNode.removeChild(node);
- }
- }
- }
- function toggleAllGroups(fragmentName) {
- var i=0;
- var toggle = null;
- var hasNext = true;
- while(hasNext) {
- var tg = new toggleGroup(fragmentName,i++,toggle);
- hasNext = tg.hasNext;
- toggle = tg.toggle;
- }
-
- }
- //expand/collapse group
- function toggleGroup(fragmentName, group_number, toggle){
- var element = null;
- var display = false;
- var image=null;
- // get the next available group
- var next_available_group=0;
- for (var i=group_number; i < group_number+20; i++){
- image = document.getElementById(fragmentName + "group_image_" + i);
- if (image) {
- break;
- }
- }
- next_available_group = i;
-
- if (image && group_number==next_available_group) {
- if ((toggle == 'expand')
- || (!toggle && image.src.indexOf("collapse.gif") >= 0)) {
- image.src = image.src.replace(/collapse/, "expand");
- display = false
- if (!toggle) {
- toggle = 'expand';
- }
- } else {
- image.src = image.src.replace(/expand/, "collapse");
- display = true;
- if (!toggle) {
- toggle = 'collapse';
- }
- }
- image.setAttribute("aria-expanded",toggle != 'expand')
- var summary = document.getElementById(fragmentName + "group_summary_"
- + group_number);
- if (summary != null) {
- summary.style.display=display ? 'none' : '';
- }
-
- var i = 1;
- while (i == 1 || element) {
- element = document.getElementById(fragmentName + "group_"
- + group_number + "_" + (i++));
- if (element) {
- element.style.display = display ? '' : 'none';
- }
- }
- }
-
- this.hasNext = image != null;
- this.toggle = toggle;
-
- }
- //selects all the input checkboxes from a form
- function toggleCheckboxes(source_checkbox, parent_id) {
- var arrayCheckbox = getChildInputs(parent_id, 'checkbox');
-
- for (var i=0; i<arrayCheckbox.length; i++){
- var checkbox = arrayCheckbox[i];
-
- if (checkbox.id != '') {
- if (source_checkbox.checked == true) {
- checkbox.checked = true;
- } else {
- checkbox.checked = false;
- }
- }
- }
- }
- function getChildInputs (parent, typeName) {
- var inputs = document.getElementById(parent).getElementsByTagName('input');
-
- var matchingInputs = new Array();
- for (var i = 0; i < inputs.length; i++) {
- var input = inputs[i];
- if (typeName && input.type != typeName) {
- continue;
- }
- matchingInputs.push(input);
- }
-
- return matchingInputs;
- }
- // given a rowID, will hide/show all the rows with the same ID.
- function toggleRows(rowID, visible) {
- var row = document.getElementById(rowID);
- if (row) {
- row.style.display = visible ? '' : 'none';
-
- while(row.nextSibling) {
- row = row.nextSibling;
- if (row.id == rowID) {
- row.style.display = visible ? '' : 'none';
- }
- }
- }
- }
- // Creates a transient object to be added to an array and passed to the CPS
- // function transientUpdateList
- // Used when you have multiple transient updates to do and you don't want the
- // fragment to refresh multiple times
- function createTransient(name, value, scope, channel) {
- return {
- "name": name,
- "scope": scope,
- "channel": channel,
- "value": value
- }
- }
- function ParamsObject (params) {
- this.value = params;
- this.valueOf = function() {
- return this.value;
- }
-
- this.indexOf = function(value) {
- return this.value.indexOf(value);
- }
- }
- //from-to navigate the table
- function navGo(frag, pagerName , sortParams, interactionParams) {
- var from = document.getElementById(pagerName + "_from");
- var to = document.getElementById(pagerName + "_to");
-
- var fromloc = trim(from.value);
- var toloc = trim(to.value);
- if (fromloc != "") {
- checkPositiveIntegerDefault(from,"");
- fromloc = from.value;
- if ( fromloc == "" ) {
- alert(pager_validation_msg_array['IDS_PAGER_FROM_INVALID']);
- // alert( "The number in the first entry box is not valid; it must
- // be a number greater than 0.");
- return;
- }
- if (toloc !="") {
- checkPositiveIntegerDefault(to,"");
- toloc = to.value;
- if ( toloc == "" ) {
- alert(pager_validation_msg_array['IDS_PAGER_TO_INVALID']);
- // alert( "The number in the second entry box is not valid; it
- // must be a number greater than 0.");
- return;
- }
- if ( Number(toloc) < Number(fromloc)) {
- alert(pager_validation_msg_array['IDS_PAGER_ENTRIES_INVALID']);
- // alert( "The number in the first entry box cannot be greater
- // than the number in the second entry box.");
- return;
- }
- }
- } else {
- if (toloc == "") {
- alert(pager_validation_msg_array['IDS_PAGER_ENTRIES_EMPTY']);
- // alert ("Specify the entry numbers to show and then click the Go
- // to button.");
- return;
- } else {
- checkPositiveIntegerDefault(to,"");
- toloc = to.value;
- if ( toloc == "" ) {
- alert(pager_validation_msg_array['IDS_PAGER_TO_INVALID']);
- // alert( "The number in the second entry box is not valid; it
- // must be a number greater than 0.");
- return;
- }
- }
- }
-
- var skipnum = Number(fromloc) -1;
- if (Number(skipnum) < 0) {
- skipnum=0;
- }
-
- var addtionParams = sortParams;
- if (interactionParams != '') {
- addtionParams = addtionParams + "&" + interactionParams;
- }
-
- var paramsObj = new ParamsObject(pagerName + "_skip=" + skipnum + "&"
- + pagerName + "_from=" + fromloc + "&" + pagerName + "_to=" + toloc
- + "&" + addtionParams);
- frag.retrieve(paramsObj);
- }
- function navOthers (frag,defaultOnClickParams,interactionParams){
- var params = defaultOnClickParams + "&" + interactionParams;
- var paramsObj = new ParamsObject(params);
- frag.retrieve(paramsObj);
- }
- // sort the table
- function sortGo(frag, columnTitle, sortColumn, sortOrder, pageParams,
- interactionParams) {
- var isSortedOn = false;
- if (sortColumn != '' && sortColumn == columnTitle) {
- isSortedOn = true;
- }
- var order = "ascending";
- if (isSortedOn == true) {
- if (sortOrder == "descending") {
- order = '';
- } else {
- if (sortOrder == "ascending") {
- order = "descending";
- }
- }
- }
- var addtionParams = pageParams;
- if (interactionParams != '') {
- addtionParams = addtionParams + "&" + interactionParams;
- }
-
- var paramsObj = new ParamsObject("sort_column=" + columnTitle
- + "&sort_order=" + order + "&" + addtionParams);
- frag.retrieve(paramsObj);
- }
- //return multi-dimensional array where each child element in the array
- //is an array containing the checkbox number, id and value
- function getCheckboxArray(table_name) {
- var checkboxes = new Array();
- var elements = document.getElementsByTagName("INPUT");
- var checkboxNumber = 0;
-
- for (var i=0; i<elements.length; i++) {
- if (elements[i].id != null){
- if (elements[i].id.indexOf(table_name + "_checkbox_") >= 0){
- if (elements[i].checked == true) {
- var checkboxArray = new Array();
- checkboxArray[0] = checkboxNumber;
- checkboxArray[1] = elements[i].id;
- checkboxArray[2] = elements[i].value;
-
- checkboxes[checkboxes.length++] = checkboxArray;
- }
- checkboxNumber++;
- }
- }
- }
- return checkboxes;
- }
- // returns a string with a key/value pair where the key is the id of the
- // checkbox
- function getCheckboxUrlParams(table_name) {
- return getCheckboxParams(table_name, false, null, true);
- }
- // returns a string with a key/value pair where the key name is checkbox_1,
- // checkbox_2...
- function getCheckboxCheckParams(table_name, valueFunc) {
- return getCheckboxParams(table_name, true, "checkbox", true, valueFunc);
- }
- //returns a string with a key/value pair (key=value)
- function getCheckboxParams(table_name, use_parameter_name, parameter_name, use_parameter_index, valueFunc) {
- var array = getCheckboxArray(table_name);
- var params = "";
- var last = array.length - 1;
- for (var i=0; i<array.length; i++) {
- var checkboxArray = array[i];
- var checkboxName = checkboxArray[1];
- var checkboxValue = checkboxArray[2];
- var param;
- if (use_parameter_name) {
- param = parameter_name;
- if (use_parameter_index) {
- param += "_" + (i + 1);
- }
- } else {
- param = checkboxName;
- }
- // This line is to avoid double encode issue, in case of the value of
- // the checkbox has been urlencoded before.
- checkboxValue = decodeURIComponent(checkboxValue);
- params += param + "=" + encodeURIComponent(valueFunc ? valueFunc(checkboxValue) : checkboxValue);
-
- if (i < last) {
- params += "&"
- }
- }
-
- return params;
- }
- function doAction(fragment, table_name, ifrmAction, confirm_msg){
- var checkboxes = getCheckboxCheckParams(table_name);
- actionImpl(fragment, checkboxes, ifrmAction, confirm_msg);
- }
- function actionImpl(fragment, checkboxes, ifrmAction, confirm_msg) {
- if (checkboxes.length == 0) {
- alert(action_no_selection_msg);
- return;
- }
-
- if (!confirm_msg) {
- if (ifrmAction == 'enable') {
- confirm_msg = enable_schecule_confirm_msg;
- } else if (ifrmAction == 'disable') {
- confirm_msg = disable_schecule_confirm_msg;
- } else if (ifrmAction == 'delete') {
- confirm_msg = delete_confirm_msg;
- } else if (ifrmAction == 'deleteDataset') {
- confirm_msg = delete_confirm_msg;
- }
- }
-
- var params = checkboxes;
- if (ifrmAction != '') {
- params += "&ifrmcmd=" + ifrmAction;
- }
- if (confirm_msg) {
- if (confirm(confirm_msg)) {
- fragment.retrieve(params);
- }
- } else {
- fragment.retrieve(params);
- }
- }
- function doDeleteCapability(fragment, table_name) {
- var checkboxes = getCheckboxCheckParams(table_name);
- deleteCapabilityImpl(fragment, checkboxes);
- }
- function deleteCapabilityImpl(fragment, checkboxes) {
- if (checkboxes.length == 0) {
- alert(action_no_selection_msg);
- return;
- }
- var confirm_msg = delete_capability_confirm_msg;
- var params = checkboxes;
- params += "&ifrmcmd=delete";
- if (confirm_msg != '') {
- if (confirm(confirm_msg)) {
- fragment.retrieve(params);
- }
- } else {
- fragment.retrieve(params);
- }
- }
- function doDeleteTenants(fragment, table_name) {
- var checkboxes = getCheckboxCheckParams(table_name);
- deleteTenantsImpl(fragment, checkboxes);
- }
- function deleteTenantsImpl(fragment, checkboxes) {
- if (checkboxes.length == 0) {
- alert(action_no_selection_msg);
- return;
- }
- var confirm_msg = delete_tenants_confirm_msg;
- var params = checkboxes;
- params += "&ifrmcmd=deleteTenants";
- if (confirm_msg != '') {
- if (confirm(confirm_msg)) {
- fragment.retrieve(params);
- }
- } else {
- fragment.retrieve(params);
- }
- }
- function getTenantProfileSearchPath(tenantID) {
- return "/configuration/account[@tenantID='" + encodeURIComponent(tenantID.replace(/'/g,"''")) + "']";
- }
- function doDeleteTenantUserProfile(fragment, table_name) {
- var checkboxes = getCheckboxCheckParams(table_name, getTenantProfileSearchPath);
- if (checkboxes.length == 0) {
- alert(action_no_selection_msg);
- return;
- }
-
- deleteTenantUserProfileImpl(fragment, checkboxes);
- }
- function deleteTenantUserProfileImpl(fragment, checkboxes) {
- var confirm_msg = delete_tenantuserprofile_confirm_msg;
- if (confirm_msg != '') {
- if (confirm(confirm_msg)) {
- var params = checkboxes;
- params+="&ifrmcmd=delete";
- fragment.retrieve(params);
- }
- } else {
- fragment.retrieve();
- }
- }
- function doEditDefaultUserProfile(tenantId, tenantName, backURL) {
- var urlParams = "?b_action=xts.run";
- urlParams += "&m=portal/properties_general.xts";
- urlParams += "&m_class=account";
- urlParams += "&m_obj="+getTenantProfileSearchPath(tenantId);
- urlParams += "&m_tenantId="+encodeURIComponent(tenantId);
- urlParams += "&m_tenantName="+encodeURIComponent(tenantName);
- urlParams += "&backURL=";
- urlParams += backURL;
- ui_modal_dialog.open(urlParams, false, true, true);
- }
- function doExportTenants(table_name, mPath, backURL) {
- var checkboxes = getCheckboxParams(table_name, true, "selectedTenants", false);
- exportTenantsImpl(checkboxes, mPath, backURL);
- }
- function exportTenantsImpl(checkboxes, mPath, backURL) {
- var urlParams = "?b_action=xts.run";
- urlParams += "&m_path=";
- urlParams += mPath;
- urlParams += "&m=portal/new_general.xts";
- urlParams += "&from_tool=true";
- urlParams += "&m_class=exportDeployment";
- urlParams += "&m_setArchiveChanged=true";
- urlParams += "&m_archive";
- urlParams += "&m_setArchiveChanged=true";
- urlParams += "&m_new_class=exportDeployment";
- urlParams += "&m_deploymentWizardPage=tenants";
- urlParams += "&backURL=";
- urlParams += backURL;
- urlParams += "&m_entireContentStoreSelect=true";
- urlParams += "&m_last_value_entireContentStoreSelect=true";
- urlParams += "&m_last_value_personalDataSelect=true";
- urlParams += "&m_personalDataSelect";
- urlParams += "&m_exportMethod=selectTenants";
- urlParams += "&m_wizardOp=update-method";
- if (checkboxes) {
- urlParams += "&" + checkboxes;
- }
- else
- {
- urlParams += "&tenants";
- }
- ui_modal_dialog.open(urlParams, false, true, true);
- }
- function doTerminateSessions(fragment, table_name) {
- var checkboxes = getCheckboxCheckParams(table_name);
- terminateSessionsImpl(fragment, checkboxes);
- }
- function terminateSessionsImpl(fragment, checkboxes) {
- if (checkboxes.length == 0) {
- alert(action_no_selection_msg);
- return;
- }
- var confirm_msg = terminate_sessions_confirm_msg;
- var params = checkboxes;
- params += "&ifrmcmd=terminateSessions";
- if (confirm_msg != '') {
- if (confirm(confirm_msg)) {
- fragment.retrieve(params);
- }
- } else {
- fragment.retrieve(params);
- }
- }
- function doEnableDisableObj(fragment, table_name, isDisable) {
- var checkboxes = getCheckboxArray(table_name);
- var tenantIds = new Array();
- for (var i = 0; i < checkboxes.length; i++) {
- tenantIds[tenantIds.length]=checkboxes[i][2];
- }
- enableDisableObjImpl(fragment, tenantIds, isDisable);
- }
- function enableDisableObjImpl(fragment, tenantIds, isDisable) {
- if (tenantIds.length == 0) {
- alert(action_no_selection_msg);
- return;
- }
- var params = "&ifrmcmd=save&m_p_disabled=" + isDisable + "&m_class=tenant&m_obj=/directory//tenant[";
- for (var i = 0; i < tenantIds.length; i++) {
- if (i > 0) {
- params+=" or ";
- }
- var tenantId = decodeURIComponent(tenantIds[i]);
- params+="@tenantID='" + encodeURIComponent(tenantId.replace(/'/g,"''")) + "'";
- }
- params+="]";
- fragment.retrieve(params);
- }
- function doCreateContentUtilizationInfo(table_name, mPath, backURL) {
- var checkboxes = getCheckboxParams(table_name, true, "selectedTenants", false);
- createContentUtilizationInfoImpl(checkboxes, mPath, backURL);
- }
- function createContentUtilizationInfoImpl(checkboxes, mPath, backURL) {
- var urlParams = "?b_action=xts.run";
- urlParams += "&m_path=";
- urlParams += mPath;
- urlParams += "&m=portal/new_general.xts";
- urlParams += "&from_tool=true";
- urlParams += "&m_class=contentTask";
- urlParams += "&m_new_class=contentTask";
- urlParams += "&backURL=";
- urlParams += backURL;
- urlParams += "&contentTaskType=createContentUtilizationInfo";
- if (checkboxes) {
- urlParams += "&" + checkboxes;
- }
- ui_modal_dialog.open(urlParams, false, true, true);
- }
- function doActionCancelInteractive(fragment, tableName, arguments,
- isGroupAction) {
- var params = '';
-
- if (arguments) {
- params = arguments;
- }
- if (isGroupAction) {
- var checkedPramsArray = getCheckboxArray(tableName);
- if (checkedPramsArray.length == 0) {
- alert(action_no_selection_msg);
- return;
- }
- for (var i=0; i<checkedPramsArray.length; i++) {
- var checkboxArray = checkedPramsArray[i];
- var checkboxIdx = checkboxArray[0];
- var entriesInfo = entriesArray[checkboxIdx];
-
- if (params != '') {
- params += '&';
- }
- params += 'requestID_' + i + '=' + entriesInfo[0]
- + '&dispatcherName_' + i + '='
- + encodeURIComponent(entriesInfo[1]) + '&reportName_' + i
- + '=' + encodeURIComponent(entriesInfo[2]);
- }
- }
- fragment.retrieve(params);
- }
- /*******************************************************************************
- * COGADMIN SYSMGMT WRAPPER FOR FRAGMENT EVENTS
- ******************************************************************************/
-
- var EVTKEY_COGADMIN_PREFIX = "com.cognos.cogadmin.";
- var EVTKEY_RELOAD = "reload";
- var PAGELET_TOP_HEIGHT = 60;
- var FRAGMENT_TOP_HEIGHT = 34;
- var FRAGMENT_MIN_HEIGHT = 500;
- function setContentTableHeight (frgId,windowState,number){
- var defaultPageletHeight = (xClientHeight() < FRAGMENT_MIN_HEIGHT) ? FRAGMENT_MIN_HEIGHT
- : xClientHeight() - PAGELET_TOP_HEIGHT;
- var frgFrameId = frgId + "frame";
- var frgContentTableId = frgId + "contentTable";
- var fragmentOtherHeight = xHeight(frgContentTableId) ? (xHeight(frgFrameId)
- - xHeight(frgContentTableId) + 2) : 85;
- var num = number || 1;
-
- switch (windowState){
- case "maximized":
- xHeight(frgContentTableId,defaultPageletHeight - fragmentOtherHeight);
- break;
-
- case "extended":
- xHeight(frgContentTableId, defaultPageletHeight - FRAGMENT_TOP_HEIGHT
- - fragmentOtherHeight);
- break;
-
- case "normal":
- default:
- xHeight(frgContentTableId, (defaultPageletHeight / num)
- - fragmentOtherHeight);
- }
- }
- var appOnLeaveHandlers = {};
- function regAppOnLeaveEvent (id, handler, context){
- appOnLeaveHandlers[id] = {};
- appOnLeaveHandlers[id]["conext"] = context;
- appOnLeaveHandlers[id]["handler"] = handler;
-
- window.onbeforeunload = function(evt){
- for (o in appOnLeaveHandlers){
- appOnLeaveHandlers[o]["handler"].apply(
- appOnLeaveHandlers[o]["conext"], [ evt ]);
- }
- };
- }
- /*
- * This function is introduced to unload the regestered event when fragment is
- * unloaded.
- */
- function regFragEvent (frag,evt,handler,capture){
- var cap = capture || false;
-
- if (typeof frag == "string")
- frag = $(frag);
-
- if (frag) {
- frag.addEventListener(evt,handler,cap);
- frag.addEventListener("fragment.unload", function() {
- frag.removeEventListener(evt,handler,cap);
- }, cap);
- return true;
- } else
- return false;
-
- }
- function proxyCogadminEvent (frag,evtName,type,payload){
- var evt = new _F_Event.Event();
- evt.initEvent(evtName, type, payload, false, true);
- evt.eventPhase = evt.AT_TARGET;
- frag.proxyEvent(evt);
- }
- function addCogadminEventListener(fragment, key, listener) {
- fragment.addEventListener(EVTKEY_COGADMIN_PREFIX + key, listener);
- }
- function removeCogadminEventListener(fragment, key, listener) {
- fragment.removeEventListener(EVTKEY_COGADMIN_PREFIX + key, listener);
- }
- function raiseCogadminEvent(fragment, key, payload) {
- fragment.raiseEvent(EVTKEY_COGADMIN_PREFIX + key, payload);
- }
- function addReloadEventListener(fragment, listener) {
- addCogadminEventListener(fragment,EVTKEY_RELOAD, listener);
- }
- function removeReloadEventListener(fragment, listener) {
- removeCogadminEventListener(fragment,EVTKEY_RELOAD, listener);
- }
- function raiseReloadEvent(fragment, payload, skipFocus) {
- if (!skipFocus) {
- fragment.afterRetrieve = function(evt) {
- fragment.removeEventListener("fragment.retrieve.after", fragment.afterRetrieve);
- ui_setFocus(fragment.div);
- }
-
- fragment.addEventListener("fragment.retrieve.after", fragment.afterRetrieve);
- }
- raiseCogadminEvent(fragment, EVTKEY_RELOAD, payload);
- }
- /*
- * This function is used for those popup sub fragment only, to prevent the
- * following events (title_change/mode_change/windowstate_change/refresh) from
- * propergation. (This kind of propergation is something we don't want to see.)
- *
- */
- //TODO: It's better to use popup dialog instead of popup fragment.
- function stopDefaultPropagation (fragment) {
- var frag = $(fragment);
-
- frag.addEventListener("fragment.title.change", stopPropagation);
- frag.addEventListener("fragment.mode.change", stopPropagation);
- frag.addEventListener("fragment.windowstate.change", stopPropagation);
- frag.addEventListener("fragment.refresh.change", stopPropagation);
-
- function stopPropagation (evt) {
- evt.stopPropagation();
- }
- }
- /*******************************************************************************
- * END COGADMIN-SYSMGMT WRAPPER FOR FRAGMENT EVENTS
- ******************************************************************************/
- function includeClass(elt,cName) {
- var elt = xGetElementById(elt);
- if (elt && elt.className){
- var reg = new RegExp("(^|\\s)"+cName+"(\\s|$)");
- return reg.test(elt.className);
- } else {
- return false;
- }
- }
- // change the styles for a button during a mouseover
- function mouseoverImage(item) {
- if (includeClass(item,'cogstyle-toolbar-imageNormal')) {
- item.className = 'cogstyle-toolbar-imageOver';
- }
- if (includeClass(item,'cogstyle-toolbar-imagePressed')) {
- item.className = 'cogstyle-toolbar-imageOverPressed';
- }
- }
- // change the styles for a button during a mouseout
- function mouseoutImage(item) {
- if (includeClass(item,'cogstyle-toolbar-imageOver')) {
- item.className = 'cogstyle-toolbar-imageNormal';
- }
- if (includeClass(item,'cogstyle-toolbar-imageOverPressed')) {
- item.className = 'cogstyle-toolbar-imagePressed';
- }
- }
- function switchImageState(itemID_Release, item_Press) {
- var item_Release = document.getElementById(itemID_Release);
- if (item_Release != null) {
- item_Release.className = 'cogstyle-toolbar-imageNormal';
- }
- if (item_Press != null) {
- item_Press.className = 'cogstyle-toolbar-imagePressed';
- }
- }
- // Walk the tree to see if we can find style.display == 'none'
- function isHidden(obj) {
- if (obj.style && obj.style.display == 'none') {
- return true;
- } else if (obj.parentNode) {
- return isHidden(obj.parentNode);
- }
-
- return false;
- }
- // set the target height relative to the first parent that has height defined >
- // minHeight. Otherwise, use minHeight
- function setRelativeHeight(targetId, fragment, minHeight, offset) {
- var parent = fragment.parent;
- var iHeight = minHeight;
- while (parent) {
- if (parent.div) {
- var _height = parseInt($(parent.div).style.height);
- if (_height) {
- if (offset) {
- _height = (_height * offset.percentage) + offset.pixels;
- }
- if (_height > minHeight) {
- iHeight = _height;
- }
- break;
- }
- }
- parent = parent.parent;
- }
- var target = $(targetId);
- if (target) {
- $(targetId).style.height = iHeight + "px";
- }
- }
- function floatMath (operand1,operand2,operator) {
- var f1 = getFixedDecimal(operand1);
- var f2 = getFixedDecimal(operand2);
- var fixedDecimal = ((f1 - f2)>0) ? f1 : f2;
- var result;
-
- switch (operator) {
- case '-':
- result = operand1 - operand2;
- break;
- case '*':
- result = operand1 * operand2;
- fixedDecimal = f1 + f2;
- break;
- default:
- result = operand1 + operand2;
- }
-
- return result.toFixed(fixedDecimal);
-
- function getFixedDecimal (number) {
- var pre = number.toString().indexOf(".");
- if (pre == -1)
- return 0;
- else
- return fixedDecimal = number.toString().length - 1 - pre;
- }
- }
- function getExpandedTableGroups(table) {
- var expandedGroupKeys = new Array();
- var trs = table.getElementsByTagName('tr');
- for (var tr in trs) {
- var row = trs[tr];
- if (includeClass(row,"cogstyle-table-group")) {
- var img = row.getElementsByTagName("img")[0]; // the
- // expand/collapse
- // icon
- if (img.src.indexOf("collapse") >=0) { //the group is expanded
- expandedGroupKeys[expandedGroupKeys.length] = row
- .getAttribute("key");
- }
- }
- }
- return expandedGroupKeys;
- }
- function generateQueryString(currentString, newName, newValue, ignoreEmptyValues) {
- if (!currentString) {
- currentString="";
- }
- if (newName) {
- if (ignoreEmptyValues && (!newValue || newValue.length == 0)) {
- return currentString;
- }
- if (currentString.length > 0) {
- currentString+="&";
- }
- return currentString+newName+"="+newValue;
- }
- return currentString;
- }
- function importUserInterfaceProfiles(parentFrag, msg) {
- if (confirm(msg)) {
- var fragUrl='/cogadmin/controls/importUserInterfaceProfiles.xts';
- var frag = createFragment(parentFrag.id+'importUIProfiles', parentFrag.id+'importUIProfiles_div', fragUrl);
- frag.retrieve();
- }
- }
|