123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668 |
- /****************************************************************
- ** 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 gbDIALOG_IS_DIRTY = false;
- var greCLS_FILTERSELECTED = /\bclsFilterSelected\b/g;
- var gsRowPrefix = 'csrow-';
- var gSelRows = new Array();
- var _lastSelection = null;
- var gsDataType = '';
- var gsSearchAllowed = '';
- function refreshCFR() {
- if (getCSR() != null) {
- getCSR().render(document.getElementById('rangeList'), this);
- }
- for (var i = 0; i < gSelRows.length; i++) {
- CS_selectObj(gSelRows[i], true);
- }
- };
- function insertTS() {
- if(textBoxnewRange && textBoxnewRange.isValid()) {
- getCSR().addThreshold(textBoxnewRange.sGetValue());
- setWindowDirty();
- refreshCFR();
- }
- };
- function changeCSSClass(id) {
- var s = document.getElementById(gsSELECTCLASS + id);
- var p = document.getElementById(gsPREVIEW + id);
- var r = getCSR().getRangeById(id);
- if (r != null) {
- for (var i = 0; i < s.options.length; i++) {
- if (s.options[i].selected) {
- r.setClass(s.options[i].value);
- r.setStyleInfo(getStyleFromClass(r.getClass()));
- refreshCFR();
- setWindowDirty();
- break;
- }
- }
- }
- };
- function delTS(id) {
- getCSR().removeRange(id);
- refreshCFR();
- setWindowDirty();
- };
- function updTS(id) {
- var t = document.getElementById(gsTHRESHOLD + id).value;
- t = sParseByDataType(t, 'number', true);
- if (t) {
- getCSR().updateThreshold(id, t);
- setWindowDirty();
- }
- refreshCFR();
- };
- function moveTSDown(id) {
- var idx = getCSR().indexOf(id);
- var ts1 = getCSR().getRangeAt(idx);
- var ts2 = getCSR().getRangeAt(idx-1);
- ts1.m_fromInclusive = false;
- ts2.m_toInclusive = true;
- ts2.setTo(ts1.getFrom());
- refreshCFR();
- setWindowDirty();
- };
- function moveTSUp(id) {
- var idx = getCSR().indexOf(id);
- var ts1 = getCSR().getRangeAt(idx);
- var ts2 = getCSR().getRangeAt(idx+1);
- ts1.m_toInclusive = false;
- ts2.m_fromInclusive = true;
- refreshCFR();
- setWindowDirty();
- };
- function getCSR() {
- return _oCSR;
- };
- function initCondStyles(column) {
- var oCSR = getCSR();
- var cs = column.findChildByName('CStyle',false);
-
- if (column != null && cs != null && cf.determineDataType(parseInt(column.getAttribute("type"),10)) == cf.determineDataType(parseInt(cs.getAttribute("colType"),10)))
- {
- initDefaults(column);
- initRanges(column);
- initSelectValues(column);
- }
- };
- function initDefaults(column) {
- var oCSR = getCSR();
- var cs = column.findChildByName('CStyle',false);
- if (cs) {
- var def = cs.findChildWithAttribute('default','true');
- if (def) {
- oCSR.setClass(def.getAttribute("className"));
- oCSR.setStyleInfo(def.getAttribute("style").replace(/'/gi, "'"));
- oCSR.setType(cs.getAttribute('type'));
- }
- }
- };
- function initRanges(column) {
- var oCSR = getCSR();
- var cs = column.findChildByName('CStyle',false);
- var FEs = column.getElementsByTagName("FE");
- if (FEs) {
- var decimalSeparator = goDialogManager.getMiniQueryManager().getDecimalSeparator();
- var reDecimalSeparator = new RegExp('\\' + decimalSeparator, 'gi');
-
-
-
- var iFECount = 0;
- for (var i = 0; i < FEs.length; i++) {
- if (FEs[i].getAttribute("default") == "true" || FEs[i].getAttribute("type") == "selectValue") {
- continue;
- }
- iFECount++;
- var to = FEs[i].findChildByName("To", false);
- if (to !== null) {
- var sTO = to.getAttribute('use');
-
- sTO = sTO.replace(reDecimalSeparator, '.');
- oCSR.addThreshold(sTO);
- }
- }
-
- if (oCSR.m_ranges.length >= iFECount) {
- for (var i = 0; i < iFECount; i++) {
- var fe = FEs[i];
- if (fe && oCSR.m_ranges[i])
- {
- if (fe.getAttribute("type") == "selectValue") {
- continue;
- }
-
- oCSR.m_ranges[i].setClass(fe.getAttribute("className"));
- oCSR.m_ranges[i].setStyleInfo(fe.getAttribute("style").replace(/'/gi, "'"));
-
- var from = fe.findChildByName("From", false);
- if (from !== null) {
- oCSR.m_ranges[i].setFromInclusive(fe.getName() == "FE" ? (from.getAttribute("exclusive") != "true") : from.getAttribute("inclusive"));
- }
-
- var to = fe.findChildByName("To", false);
- if (to !== null) {
- oCSR.m_ranges[i].setToInclusive(fe.getName() == "FE" ? (to.getAttribute("exclusive") != "true") : to.getAttribute("inclusive"));
- }
- }
- }
- }
- }
- };
- function initSelectValues(column) {
- var oCSR = getCSR();
- var cs = column.findChildByName('CStyle',false);
- if (cs === null || cs.getAttribute('type') != 'selectValue') {
- return;
- }
- var FEs = cs.getElementsByTagName("FE");
- for (var i = 0; i < FEs.length; i++) {
- var fe = FEs[i];
- if (fe.getAttribute('default')=='true') {
- continue;
- }
- var values = fe.getElementsByTagName("Value");
- var from = fe.findChildByName("From", false);
- var to = fe.findChildByName("To", false);
- if (from !== null || to !== null) {
- from = (from !== null ? cf.sXmlDecode(from.getAttribute('use')) : null);
- to = (to !== null ? cf.sXmlDecode(to.getAttribute('use')) : null);
- var r = oCSR.addRange(from, to);
- r.setClass(cf.sXmlDecode(fe.getAttribute("className")));
- r.setStyleInfo(cf.sXmlDecode(fe.getAttribute("style")));
- }
- else {
-
- var aValues = new Array();
- if (values && values.length) {
- for (var j = 0; j < values.length; j++) {
- aValues[aValues.length] = new cf.CFilterValue(cf.sXmlDecode(values[j].getAttribute("use")), cf.sXmlDecode(values[j].getAttribute("display")), values[j].getAttribute("exclusive"));
- }
- }
-
- var sv = oCSR.addSVList(aValues);
- sv.setClass(cf.sXmlDecode(fe.getAttribute("className")));
- sv.setStyleInfo(cf.sXmlDecode(fe.getAttribute("style")));
- sv.setMissingValues(cf.sXmlDecode(fe.getAttribute("nullOption")));
- }
- }
- };
- function pickStyles(id) {
- var cf = getConfigFrame();
- cf.dlgReset();
- cf.dlgGlobalReset();
- cf.dlgGlobalSetParm("csID", id);
- cf.dlgGlobalSetParm("csCALLBACK", pickStyles_callback);
- var o = getCSR().getRangeById(id);
- if (o) {
- cf.dlgGlobalSetParm("xxStyle", o.getStyleInfo());
- }
- cf.dlgSetParm("m", "/" + cf.qs_dir + "/styleText.xts");
- cf.dlgSetParm("modal", true);
- cf.showModal(gsEDIT_STYLE_TITLE, gsCLOSE_CAPTION, 550, 460);
- };
- function pickStyles_callback(str) {
- var cf = getConfigFrame();
- var id = cf.dlgGlobalGetParm("csID");
-
- setWindowDirty();
- if (id) {
- var o = getCSR().getRangeById(id);
- if (o && o.getStyleInfo() != str) {
- o.setStyleInfo(str);
- o.setClass(gsCSSCLASS_CUSTOM);
- }
- }
- refreshCFR();
- };
- function pickValues(id) {
- var cf = getConfigFrame();
- var oMQMgr = goDialogManager.getMiniQueryManager();
- var modalDlg_height = null;
- var modalDlg_width = null;
- cf.dlgReset();
- cf.dlgGlobalReset();
- cf.dlgGlobalSetParm("csID", id);
- cf.dlgGlobalSetParm("csCALLBACK", pickValues_callback);
-
- for (var i = 0; i < cf.cfgSize("filter_promptValuesXML"); i++)
- {
- cf.dlgGlobalSetParmAt("xxPromptValues", cf.dlgGlobalSize("xxPromptValues"), cf.cfgGetAt("filter_promptValuesXML", i));
- }
- try
- {
- if (goDialogManager.getApplicationManager().getReportManager().getParameterManager().getExecutionParameters())
- {
- cf.dlgGlobalSetParm("xxExecutionParameters", goDialogManager.getApplicationManager().getReportManager().getParameterManager().getExecutionParameters());
- }
- }
- catch (e)
- {
- }
- var o = getCSR().getRangeById(id);
- var title = gsPICKLIST_TITLE;
- if (xxType == 1) {
- modalDlg_height = 300;
- modalDlg_width = 275;
- if (o != null && typeof o.getTo == "function") {
- cf.dlgSetParm("xxDate", o.getTo());
- }
- title = gsPICKDATE_TITLE;
- }
- else if (xxType == 2) {
- modalDlg_height = 200;
- modalDlg_width = 275;
- if (o != null && typeof o.getTo == "function") {
- cf.dlgSetParm("xxTime", o.getTo());
- }
- title = gsPICKTIME_TITLE;
- }
- else if (xxType == 3) {
- modalDlg_height = 425;
- modalDlg_width = 275;
- if (o != null && typeof o.getTo == "function") {
- var s = o.getTo();
- if (typeof s == "string" && s.match(/(\d\d\d\d.\d\d.\d\d)\s*(.*)/gi) ) {
- cf.dlgSetParm("xxDate", RegExp.$1);
- cf.dlgSetParm("xxTime", RegExp.$2);
- }
- }
- title = gsPICKDATETIME_TITLE;
- }
- else if (xxType == 4) {
- modalDlg_height = 170;
- modalDlg_width = 275;
- if (o != null && typeof o.getTo == "function") {
- cf.dlgSetParm("xxInterval", o.getTo());
- }
- title = gsPICKINTERVAL_TITLE;
- }
- else if (xxType == 5) {
- modalDlg_width = 300;
- modalDlg_height = 350;
- if (o != null && typeof o.getValues == "function") {
- var values = o.getValues();
- if (values) {
- for (var i = 0; i < values.length; i++) {
- cf.dlgGlobalSetParmAt("xxPickList", cf.dlgGlobalSize("xxPickList"), values[i]);
- }
- }
- }
-
- cf.dlgGlobalSetParm("xxFullColExpression", xxColExp);
- cf.dlgGlobalSetParm("xxColName", xxColId);
- cf.dlgGlobalSetParm("xxModelName", cf.cfgGet("cmLastModel"));
- cf.dlgSetParm("xxModelName", cf.cEscape(cf.cfgGet("cmLastModel")));
-
-
-
- cf.dlgGlobalSetParm("xxIsNullAllowed", false);
- if (o != null && typeof o.getMissingValues == "function") {
- cf.dlgGlobalSetParm("xxNullOption", o.getMissingValues());
- }
-
- cf.dlgGlobalSetParm("xxColid", cf.getUniqColumnName(xxColId));
- cf.dlgSetParm("xxColid", cf.cEscape(cf.getUniqColumnName(xxColId)));
- cf.retrieveCreds();
- }
- cf.dlgSetParm("xxType", "" + xxType);
- cf.dlgGlobalSetParm("xxType", "" + xxType);
- cf.dlgSetParm("xxLevelNumber", xxLevelNumber);
- cf.dlgGlobalSetParm("xxLevelNumber", xxLevelNumber);
- cf.dlgGlobalSetParm("xxExprLocale", xxExprLocale);
- cf.dlgSetParm("xxDataType", gsDataType);
- cf.dlgSetParm("xxIsSearchAllowed", gsSearchAllowed);
- var oColumnExpression = oMQMgr.getExpression(xxColExp);
- var sCalcOp = oMQMgr.getCalcOp(oColumnExpression);
- if ((sCalcOp !== cf.MINI_QUERY_NO_COLUMN_FOUND && sCalcOp !== cf.MINI_QUERY_ATTRIBUTE_NOT_FOUND) && ((sCalcOp.substring(0, 5) == "range") || (sCalcOp.substring(0, 5) == "group")))
- {
-
-
-
- for (var i = 0; i < oMQMgr.getAllColumns().length; i++)
- {
- if((oMQMgr.getColumnId(i) != oMQMgr.getColumnId(oColumnExpression))&&(oMQMgr.isMeasure(i) === false)&&(oMQMgr.isReportExpression(i)))
- {
- cf.dlgGlobalSetParmAt("xxOtherColIds", cf.dlgGlobalSize('xxOtherColIds'), oMQMgr.getColumnId(i));
- cf.dlgGlobalSetParmAt("xxOtherColExps", cf.dlgGlobalSize('xxOtherColExps'), oMQMgr.getExpression(i).replace(/</g,"<"));
- }
- }
- }
-
- cf.dlgSetParm("m", "/" + cf.qs_dir + "/condStylesPickList.xts");
-
- title = title.replace(/^\s*</,'').replace(/>\s*$/,'');
- cf.showModal(title, gsCLOSE_CAPTION, modalDlg_width, modalDlg_height);
- };
- function pickValues_callback(values, bMissingValues) {
- var cf = getConfigFrame();
- var id = cf.dlgGlobalGetParm("csID");
-
- setWindowDirty();
- if (values == null && !bMissingValues) {
- getCSR().removeRange(id);
- }
- else if (xxType == 1 || xxType == 2 || xxType == 3 || xxType == 4 ) {
- if (id) { getCSR().updateThreshold(id, values); }
- else { getCSR().addThreshold(values); }
- }
- else {
- if (id) {
- getCSR().updateSVList(id, values);
- var obj = getCSR().getRangeById(id);
- if (obj) {
- obj.setMissingValues(bMissingValues);
- }
- }
- else {
- var obj = getCSR().addSVList(values);
- if (obj && bMissingValues) {
- obj.setMissingValues(bMissingValues);
- }
- }
- }
- refreshCFR();
- };
- function CS_SelectRow(e, id)
- {
- var oSrc = document.getElementById(gsRowPrefix + id);
- var bSelected = true;
-
-
- if (oSrc != null) {
- bSelected = !oSrc.className.match(greCLS_FILTERSELECTED);
- }
- if (e.shiftKey && _lastSelection != null) {
- var rangeList = document.getElementById('rangeList');
- var rows = rangeList.getElementsByTagName('tr');
-
- var bInRange = false;
- for (var r = 0; r < rows.length; r++) {
- if ( (/^csrow-/).test(rows[r].id) ) {
- var rid = rows[r].id.replace(/^csrow-/, '');
- if (rid == id || rid == _lastSelection) {
- bInRange = !bInRange;
- CS_selectObj(rid, true);
-
- if (id == _lastSelection) {
-
- bInRange = false;
- }
- }
- else {
- CS_selectObj(rid, bInRange);
- }
- }
- }
- }
- else {
- if (!e.ctrlKey) {
-
- CS_clearAll();
- }
-
- CS_selectObj( id, (e.ctrlKey ? bSelected : true) );
- _lastSelection = id;
- if (e.ctrlKey && !bSelected) {
- _lastSelection = null;
- }
- }
- e.cancelBubble = true;
- e.returnValue = true;
- return true;
- };
- function CS_selectObj(id, bSelected)
- {
- var obj = document.getElementById(gsRowPrefix + id);
- if (obj != null) {
- if (bSelected == null) {
-
- bSelected = !( obj.className.match(greCLS_FILTERSELECTED) );
- }
- if (bSelected) {
-
- obj.className += " clsFilterSelected";
- addToArray(gSelRows, id);
- }
- else {
-
- obj.className = obj.className.replace(greCLS_FILTERSELECTED, "").replace(/^\s+|\s+$/g, "");
- var newArray = new Array();
- for (var i = 0; i < gSelRows.length; i++) {
- if (gSelRows[i] != id) { newArray[newArray.length] = gSelRows[i]; }
- }
- gSelRows = newArray;
- }
- }
- };
- function CS_clearAll() {
- for (var i = 0; i < gSelRows.length; i++) {
- CS_selectObj(gSelRows[i], false);
- }
- gSelRows = new Array();
- _lastSelection = null;
- };
- function CS_removeSel(id) {
- var newArray = new Array();
- for (var i = 0; i < gSelRows.length; i++) {
- if (gSelRows[i] == id) {
- CS_selectObj(id, false);
- }
- else {
- newArray[newArray.length] = gSelRows[i];
- }
- }
- gSelRows = newArray;
- };
- function CS_move(delta, e) {
- if (_lastSelection != null) {
- setWindowDirty(false);
-
- var last = _lastSelection;
-
-
- CS_clearAll();
- _lastSelection = last;
- CS_selectObj(_lastSelection, true);
- getCSR().moveRange(_lastSelection, delta);
- refreshCFR();
- setTimeout(setWindowDirty, 100);
- }
- if (e.returnValue) { e.returnValue = false; }
- else if (e.preventDefault) { e.preventDefault(); }
- else { return false; }
- };
- function CS_delete(e) {
- setWindowDirty(false);
- for (var i = 0; i < gSelRows.length; i++) {
- getCSR().removeRange(gSelRows[i]);
- }
- CS_clearAll();
- refreshCFR();
- setTimeout(setWindowDirty, 100);
- if (e.returnValue) { e.returnValue = false; }
- else if (e.preventDefault) { e.preventDefault(); }
- else { return false; }
- };
- function pickTextRange(id) {
-
- var cf = getConfigFrame();
- var modalDlg_height = null;
- var modalDlg_width = null;
- cf.dlgReset();
- cf.dlgGlobalReset();
- cf.dlgGlobalSetParm("csID", id);
- cf.dlgGlobalSetParm("csCALLBACK", pickTextRange_callback);
- var o = getCSR().getRangeById(id);
- if (o != null && typeof o.getFrom == "function") {
- cf.dlgSetParm("xxFrom", o.getFrom());
- }
- if (o != null && typeof o.getTo == "function") {
- cf.dlgSetParm("xxTo", o.getTo());
- }
-
- cf.dlgGlobalSetParm("xxFullColExpression", xxColExp);
- cf.dlgGlobalSetParm("xxColName", xxColId);
- cf.dlgGlobalSetParm("xxModelName", cf.cfgGet("cmLastModel"));
- cf.dlgSetParm("xxModelName", cf.cEscape(cf.cfgGet("cmLastModel")));
-
- cf.dlgGlobalSetParm("xxColid", cf.getUniqColumnName(xxColId));
- cf.dlgSetParm("xxColid", cf.cEscape(cf.getUniqColumnName(xxColId)));
- cf.retrieveCreds();
- cf.dlgSetParm("xxType", "" + xxType);
- cf.dlgGlobalSetParm("xxType", "" + xxType);
-
- cf.dlgSetParm("m", "/" + cf.qs_dir + "/condStylesPickTextRange.xts");
- cf.showModal(gsTEXT_RANGE_TITLE, gsCLOSE_CAPTION, 200, 200);
- };
- function pickTextRange_callback(values) {
- var cf = getConfigFrame();
- var id = cf.dlgGlobalGetParm("csID");
-
- setWindowDirty();
- if (values == null || (typeof values == "object" && values.join("") === "")) {
- getCSR().removeRange(id);
- }
- else {
- if (id) {
- var o = getCSR().getRangeById(id);
- if (o != null && typeof o.setFrom == "function") {
- o.setFrom(values[0]);
- }
- if (o != null && typeof o.setTo == "function") {
- o.setTo(values[1]);
- }
- }
- else { getCSR().addRange(values[0], values[1]); }
- }
- refreshCFR();
- };
- function getStyleFromClass(c)
- {
- var s = "";
- for (var i = 0; i < document.styleSheets.length; i++)
- {
- var ss = document.styleSheets[i];
- var _rules = (ss.cssRules ? ss.cssRules : ss.rules);
- for (var j = 0; j < _rules.length; j++)
- {
- var cr = _rules[j];
- var reClass = new RegExp('\\b' + c + '\\b', 'g');
- if (cr.selectorText && cr.selectorText.match(reClass))
- {
- s += extractCustomStyles(cr.style);
- }
- }
- }
- return s;
- };
- function extractCustomStyles(oStyle)
- {
- var s = "";
- for (var i = 0; i < STYLE_JS_ATTRIBUTES.length; i++)
- {
- var js_attr = STYLE_JS_ATTRIBUTES[i];
- if (oStyle[js_attr])
- {
- s += STYLE_CSS_ATTRIBUTES[i] + ":" + oStyle[js_attr] + ";";
- }
- }
- return s;
- };
- var STYLE_CSS_ATTRIBUTES = ['border','color','background-color','font-family','font-size','font-weight','font-style','text-decoration','text-align','vertical-align'];
- var STYLE_JS_ATTRIBUTES = ['border','color','backgroundColor','fontFamily','fontSize','fontWeight','fontStyle','textDecoration','textAlign','verticalAlign'];
|