123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425 |
- // 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 forms the javascript functions used for the display options
- // action pane for PowerPlay Studio.
- // The functions are Internet Explorer specific.
- var XTAB_OBJ_REGULAR_IDX = -1;
- var XTAB_OBJ_CALC_IDX = -1;
- var XTAB_OBJ_RANK_IDX = -1;
- var XTAB_OBJ_8020_IDX = -1;
- var XTAB_OBJ_SUM1_IDX = -1;
- var XTAB_OBJ_SUM2_IDX = -1;
- var XTAB_OBJ_HIGH_EXC_IDX = -1;
- var XTAB_OBJ_LOW_EXC_IDX = -1;
- var XTAB_OBJ_MEASURE_IDX = -1;
- var XTAB_POS_CELL = 0;
- var XTAB_POS_ROW = 1;
- var XTAB_POS_COL = 2;
- var XTAB_POS_ALL = 3;
- var overwriteall = false;
- var xtabOptionsComboBoxes = new Array();
- var xtabOptionComboBoxIds = new Array();
- var currentSelectedItem = "";
- function areFormatsEqual(format1,format2) {
- return ((format1.getAttribute("useDefaults") == format2.getAttribute("useDefaults")) &&
- (format1.getAttribute("fontSize") == format2.getAttribute("fontSize")) &&
- (format1.getAttribute("color") == format2.getAttribute("color")) &&
- (format1.getAttribute("backColor") == format2.getAttribute("backColor")) &&
- (format1.getAttribute("bold") == format2.getAttribute("bold")) &&
- (format1.getAttribute("italic") == format2.getAttribute("italic")) &&
- (format1.getAttribute("underline") == format2.getAttribute("underline")) &&
- (format1.getAttribute("textAlign") == format2.getAttribute("textAlign")));
- }
- function overwriteFormat(format1,format2) {
- format1.setAttribute("useDefaults",format2.getAttribute("useDefaults"));
- format1.setAttribute("fontSize",format2.getAttribute("fontSize"));
- format1.setAttribute("color",format2.getAttribute("color"));
- format1.setAttribute("backColor",format2.getAttribute("backColor"));
- format1.setAttribute("bold",format2.getAttribute("bold"));
- format1.setAttribute("italic",format2.getAttribute("italic"));
- format1.setAttribute("underline",format2.getAttribute("underline"));
- format1.setAttribute("textAlign",format2.getAttribute("textAlign"));
- }
- function init() {
- topparent.openActionPane();
-
- topparent.setActionPaneHeight("300");
-
- removeMessage();
- if (xtabType != 0 && xtabType != 9)
- displayCommonMessage(strErrorMessageNoXtab, MESSAGE_TYPE_INFO, ["OK"], [function() {topparent.closeActionPane();}]);
-
- ContextMenu.initialize(true,false);
-
- notifyColorChange = "paletteColorChanged();";
-
- initializeObjTypeSelect("objectTypeSelect","changeCurrentFormatItem();");
- initializeXtabPositionSelect("xtabPositionSelect","changeCurrentFormatItem();");
- initializeFontSizeSelect("xtabfontsizeselect","formatItemChanged();");
-
- storeOptionsUnderTag(document.body);
- initializeOptionValues();
- changeCurrentFormatItem();
- }
- function initializeObjTypeSelect(comboBoxId,action) {
- var currentSeriesSelect = document.getElementById(comboBoxId);
- if (currentSeriesSelect) {
- var currentComboBox = initComboBox(currentSeriesSelect);
- var ctr = 0;
-
- currentComboBox.addItem(new cbTextItem(strCrosstab, action, true));
- XTAB_OBJ_REGULAR_IDX = ctr++;
-
- currentComboBox.addItem(new cbTextItem(strCalculation, action, false));
- XTAB_OBJ_CALC_IDX = ctr++;
-
- currentComboBox.addItem(new cbTextItem(strRank, action, false));
- XTAB_OBJ_RANK_IDX = ctr++;
-
- currentComboBox.addItem(new cbTextItem(strSuppressed, action, false));
- XTAB_OBJ_8020_IDX = ctr++;
-
- currentComboBox.addItem(new cbTextItem(strSummary1, action, false));
- XTAB_OBJ_SUM1_IDX = ctr++;
-
- currentComboBox.addItem(new cbTextItem(strSummary2, action, false));
- XTAB_OBJ_SUM2_IDX = ctr++;
-
- if (enableHighException) {
- currentComboBox.addItem(new cbTextItem(strHighException, action, false));
- XTAB_OBJ_HIGH_EXC_IDX = ctr++;
- }
-
- if (enableLowException) {
- currentComboBox.addItem(new cbTextItem(strLowException, action, false));
- XTAB_OBJ_LOW_EXC_IDX = ctr++;
- }
-
- currentComboBox.addItem(new cbTextItem(strMeasure, action, false));
- XTAB_OBJ_MEASURE_IDX = ctr++;
- xtabOptionsComboBoxes[comboBoxId] = currentComboBox;
- xtabOptionComboBoxIds[xtabOptionComboBoxIds.length] = comboBoxId;
- }
- }
- function initializeXtabPositionSelect(comboBoxId,action) {
- var currentSeriesSelect = document.getElementById(comboBoxId);
- if (currentSeriesSelect) {
- var currentComboBox = initComboBox(currentSeriesSelect);
-
- currentComboBox.addItem(new cbTextItem(strDataCell, action, true));
- currentComboBox.addItem(new cbTextItem(strRowHeader, action, false));
- currentComboBox.addItem(new cbTextItem(strColHeader, action, false));
- currentComboBox.addItem(new cbTextItem(strAll, action, false));
- xtabOptionsComboBoxes[comboBoxId] = currentComboBox;
- xtabOptionComboBoxIds[xtabOptionComboBoxIds.length] = comboBoxId;
- }
- }
- function initializeFontSizeSelect(comboBoxId,action) {
- var currentFontSizeSelect = document.getElementById(comboBoxId);
- if (currentFontSizeSelect) {
- var currentComboBox = initComboBox(currentFontSizeSelect);
- currentComboBox.addItem(new cbTextItem(strDefault, action, false));
- currentComboBox.addItem(new cbTextItem("4", action, false));
- currentComboBox.addItem(new cbTextItem("6", action, false));
- currentComboBox.addItem(new cbTextItem("7", action, false));
- currentComboBox.addItem(new cbTextItem("8", action, false));
- currentComboBox.addItem(new cbTextItem("9", action, false));
- currentComboBox.addItem(new cbTextItem("10", action, true));
- currentComboBox.addItem(new cbTextItem("11", action, true));
- currentComboBox.addItem(new cbTextItem("12", action, false));
- currentComboBox.addItem(new cbTextItem("13", action, false));
- currentComboBox.addItem(new cbTextItem("14", action, false));
- currentComboBox.addItem(new cbTextItem("15", action, false));
- currentComboBox.addItem(new cbTextItem("16", action, false));
- currentComboBox.addItem(new cbTextItem("18", action, false));
- currentComboBox.addItem(new cbTextItem("20", action, false));
- xtabOptionsComboBoxes[comboBoxId] = currentComboBox;
- xtabOptionComboBoxIds[xtabOptionComboBoxIds.length] = comboBoxId;
- }
- }
- function fontButtonClicked(event) {
- var eventM = new eventManager(event);
- eventM.cancelBubble();
- var button = eventM.getSrc();
- toggleButton(button);
-
- formatItemChanged();
- }
- function toggleButton(button) {
- if (button.getAttribute("isdisabled") == "true")
- return;
- if (button.getAttribute("pressed") == "true") {
- setButtonState(button,false);
- } else {
- setButtonState(button,true);
- }
- }
- function setButtonState(button,pressed) {
- if (pressed) {
- button.className = "chartOptionsFontButtonPressed";
- button.setAttribute("pressed","true");
- } else {
- button.className = "chartOptionsFontButton";
- button.setAttribute("pressed","false");
- }
- }
- function alignButtonClicked(event) {
- var eventM = new eventManager(event);
- eventM.cancelBubble();
- var button = eventM.getSrc();
- setButtonState(document.getElementById("xtab_left"),false);
- setButtonState(document.getElementById("xtab_center"),false);
- setButtonState(document.getElementById("xtab_right"),false);
- setButtonState(button,true);
-
- formatItemChanged();
- }
- function changeCurrentFormatItem() {
- var crosstabLocationShow = true;
- currentSelectedItem = "XF_";
-
- if (xtabOptionsComboBoxes["objectTypeSelect"].getSelectedItem() == XTAB_OBJ_REGULAR_IDX) {
- currentSelectedItem += "R";
- } else if (xtabOptionsComboBoxes["objectTypeSelect"].getSelectedItem() == XTAB_OBJ_CALC_IDX) {
- currentSelectedItem += "C";
- } else if (xtabOptionsComboBoxes["objectTypeSelect"].getSelectedItem() == XTAB_OBJ_RANK_IDX) {
- currentSelectedItem += "RK";
- } else if (xtabOptionsComboBoxes["objectTypeSelect"].getSelectedItem() == XTAB_OBJ_8020_IDX) {
- currentSelectedItem += "O";
- } else if (xtabOptionsComboBoxes["objectTypeSelect"].getSelectedItem() == XTAB_OBJ_SUM1_IDX) {
- currentSelectedItem += "S1";
- } else if (xtabOptionsComboBoxes["objectTypeSelect"].getSelectedItem() == XTAB_OBJ_SUM2_IDX) {
- currentSelectedItem += "S2";
- } else if (xtabOptionsComboBoxes["objectTypeSelect"].getSelectedItem() == XTAB_OBJ_HIGH_EXC_IDX) {
- currentSelectedItem += "H";
- crosstabLocationShow = false;
- } else if (xtabOptionsComboBoxes["objectTypeSelect"].getSelectedItem() == XTAB_OBJ_LOW_EXC_IDX) {
- currentSelectedItem += "L";
- crosstabLocationShow = false;
- } else if (xtabOptionsComboBoxes["objectTypeSelect"].getSelectedItem() == XTAB_OBJ_MEASURE_IDX) {
- currentSelectedItem += "M";
- crosstabLocationShow = false;
- }
-
- overwriteall = false;
- if (crosstabLocationShow) {
- document.getElementById("xtabposspan").style.visibility = "visible";
- if (xtabOptionsComboBoxes["xtabPositionSelect"].getSelectedItem() == XTAB_POS_ROW)
- currentSelectedItem += "R";
- else if (xtabOptionsComboBoxes["xtabPositionSelect"].getSelectedItem() == XTAB_POS_COL)
- currentSelectedItem += "C";
- else if (xtabOptionsComboBoxes["xtabPositionSelect"].getSelectedItem() == XTAB_POS_ALL)
- overwriteall = true;
- } else {
- document.getElementById("xtabposspan").style.visibility = "hidden";
- }
-
- changeCurrentlySelectedFormatItem();
- }
- function paletteColorChanged() {
- formatItemChanged();
- }
- function writeFormatDataToOption(option) {
- option.setAttribute("useDefaults",(document.getElementById("xtabusedefaults").checked)? "true" : "false");
-
- if (document.getElementById("xtabusedefaults").checked) {
- document.getElementById("settingsTable").style.visibility = "hidden";
- } else {
- document.getElementById("settingsTable").style.visibility = "visible";
- }
-
- option.setAttribute("bold",document.getElementById("xtab_bold").getAttribute("pressed"));
- option.setAttribute("italic",document.getElementById("xtab_italic").getAttribute("pressed"));
- option.setAttribute("underline",document.getElementById("xtab_underlined").getAttribute("pressed"));
-
- var fontSizes = new Array(0,4,6,7,8,9,10,11,12,13,14,15,16,18,20);
- option.setAttribute("fontSize",fontSizes[xtabOptionsComboBoxes["xtabfontsizeselect"].getSelectedItem()]);
- option.setAttribute("color",getColorPickerColor("textColor"));
- option.setAttribute("backColor",getColorPickerColor("cellColor"));
-
- var textAlign = 0;
- if (document.getElementById("xtab_center").getAttribute("pressed") == "true")
- textAlign = 1;
- else if (document.getElementById("xtab_right").getAttribute("pressed") == "true")
- textAlign = 2;
- option.setAttribute("textAlign",textAlign);
- }
- function formatItemChanged() {
-
- var option;
- if (!overwriteall) {
- writeFormatDataToOption(document.getElementById("opt_" + currentSelectedItem));
- } else {
- writeFormatDataToOption(document.getElementById("opt_" + currentSelectedItem));
- writeFormatDataToOption(document.getElementById("opt_" + currentSelectedItem + "R"));
- writeFormatDataToOption(document.getElementById("opt_" + currentSelectedItem + "C"));
- }
-
- refreshPreview();
- }
- function selectCellPosition() {
- xtabOptionsComboBoxes["xtabPositionSelect"].setSelectedItem(0);
- }
- function forceAllPositionsToCellFormat() {
- overwriteFormat(document.getElementById("opt_" + currentSelectedItem + "R"), document.getElementById("opt_" + currentSelectedItem));
- overwriteFormat(document.getElementById("opt_" + currentSelectedItem + "C"), document.getElementById("opt_" + currentSelectedItem));
- }
- function changeCurrentlySelectedFormatItem() {
- if (overwriteall) {
-
- var option1 = document.getElementById("opt_" + currentSelectedItem);
- var option2 = document.getElementById("opt_" + currentSelectedItem + "R");
- var option3 = document.getElementById("opt_" + currentSelectedItem + "C");
-
- if (!(areFormatsEqual(option1,option2) && areFormatsEqual(option2,option3))) {
- displayCommonMessage(errAll, MESSAGE_TYPE_INFO, ["OK","Cancel"], [function() {forceAllPositionsToCellFormat();changeCurrentlySelectedFormatItem();removeMessage();},function() {selectCellPosition();removeMessage();}]);
- return;
- }
- }
-
- var option = document.getElementById("opt_" + currentSelectedItem);
- if (option.getAttribute("useDefaults") == "true") {
- document.getElementById("xtabusedefaults").checked = true;
- document.getElementById("settingsTable").style.visibility = "hidden";
- } else {
- document.getElementById("xtabusecustom").checked = true;
- document.getElementById("settingsTable").style.visibility = "visible";
- }
-
- setButtonState(document.getElementById("xtab_bold"),option.getAttribute("bold") == "true");
- setButtonState(document.getElementById("xtab_italic"),option.getAttribute("italic") == "true");
- setButtonState(document.getElementById("xtab_underlined"),option.getAttribute("underline") == "true");
-
- var fontSizeItem = 0;
- switch (option.getAttribute("fontSize")) {
- case 0: fontSizeItem = 0; break;
- case 4: fontSizeItem = 1; break;
- case 6: fontSizeItem = 2; break;
- case 7: fontSizeItem = 3; break;
- case 8: fontSizeItem = 4; break;
- case 9: fontSizeItem = 5; break;
- case 10: fontSizeItem = 6; break;
- case 11: fontSizeItem = 7; break;
- case 12: fontSizeItem = 8; break;
- case 13: fontSizeItem = 9; break;
- case 14: fontSizeItem = 10; break;
- case 15: fontSizeItem = 11; break;
- case 16: fontSizeItem = 12; break;
- case 18: fontSizeItem = 13; break;
- case 20: fontSizeItem = 14; break;
- }
- xtabOptionsComboBoxes["xtabfontsizeselect"].setSelectedItem(fontSizeItem);
-
- setColorPicker("textColor",option.getAttribute("color"));
- setColorPicker("cellColor",option.getAttribute("backColor"));
-
- var textAlign = parseInt(option.getAttribute("textAlign"));
- setButtonState(document.getElementById("xtab_left"),(textAlign == 0));
- setButtonState(document.getElementById("xtab_center"),(textAlign == 1));
- setButtonState(document.getElementById("xtab_right"),(textAlign == 2));
-
- refreshPreview();
- }
- function onOk() {
- applyOptions(true);
- }
- function onCancel() {
- topparent.clearActionPane();
- }
- function onApply() {
- applyOptions(false);
- }
- function applyOptions(closePane) {
- var cmd = createCommand();
- if (cmd != "") {
- cmd = "B:" + cmd;
- if (closePane)
- topparent.getXtabFrame().document.fhidden.ACTPANE.value = "0";
- topparent.getXtabFrame().doit(cmd);
- }
-
- if (closePane) {
- topparent.clearActionPane();
- }
- }
- function clearAllPopups() {
- for (var i = 0; i < xtabOptionComboBoxIds.length; i++) {
- xtabOptionsComboBoxes[xtabOptionComboBoxIds[i]].hideDropDown();
- }
- }
- function refreshPreview() {
- var preview = document.getElementById("xtabPreview");
- var option = document.getElementById("opt_" + currentSelectedItem);
-
- preview.style.color = "#" + option.getAttribute("color");
- preview.style.backgroundColor = "#" + option.getAttribute("backColor");
- (option.getAttribute("bold") == "true")? preview.style.fontWeight = "bold" : preview.style.fontWeight = "normal" ;
- (option.getAttribute("italic") == "true")? preview.style.fontStyle = "italic" : preview.style.fontStyle = "normal" ;
- (option.getAttribute("underline") == "true")? preview.style.textDecoration = "underline" : preview.style.textDecoration = "none" ;
-
- var textAlign = parseInt(option.getAttribute("textAlign"));
- if (textAlign == 0)
- preview.style.textAlign = "left";
- else if (textAlign == 1)
- preview.style.textAlign = "center";
- else
- preview.style.textAlign = "right";
-
- if (option.getAttribute("fontSize") != 0) {
- preview.style.fontSize = option.getAttribute("fontSize") + "pt";
- } else
- preview.style.fontSize = "9pt";
- }
|