dimtreetoolbar.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. // Licensed Materials - Property of IBM
  2. //
  3. // IBM Cognos Products: pps
  4. //
  5. // (C) Copyright IBM Corp. 2005, 2017
  6. //
  7. // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  8. var BTN_NORMAL = 0;
  9. var BTN_RAISED = 1;
  10. var BTN_PRESSED = 2;
  11. var dimtreeToolBarImages = new Array();
  12. //In order to add a new button or change an image, modify this function.
  13. function initDimToolbarImages() {
  14. addButtonToPreloadArray("NRI",buttonPath + "insert_after_rows");
  15. addButtonToPreloadArray("NRO",buttonPath + "insert_before_rows");
  16. addButtonToPreloadArray("RR",buttonPath + "replace_rows");
  17. addButtonToPreloadArray("NCI",buttonPath + "insert_after_columns");
  18. addButtonToPreloadArray("NCO",buttonPath + "insert_before_columns");
  19. addButtonToPreloadArray("RC",buttonPath + "replace_columns");
  20. addButtonToPreloadArray("RM",buttonPath + "replace_measures");
  21. setAllButtons();
  22. }
  23. //In order to add a new button or modify the actions of existing buttons, modify this function.
  24. function doButtonAction(button) {
  25. if (topparent.getXtabFrame()) {
  26. switch (button.id) {
  27. case "NRI": dimtreeNestRowsInner(); break;
  28. case "NRO": dimtreeNestRowsOuter(); break;
  29. case "RR": dimtreeReplaceRows(); break;
  30. case "NCI": dimtreeNestColsInner(); break;
  31. case "NCO": dimtreeNestColsOuter(); break;
  32. case "RC": dimtreeReplaceCols(); break;
  33. case "RM": dimtreeReplaceMeasure(); break;
  34. }
  35. }
  36. }
  37. function dimtreeNestRowsInner() {
  38. if (topparent.getGlobal("dndManager").isCarrying)
  39. nestRowsInner(topparent.getGlobal("dndManager").clickedItem);
  40. else
  41. createMessage(1);
  42. }
  43. function dimtreeNestRowsOuter() {
  44. if (topparent.getGlobal("dndManager").isCarrying)
  45. nestRowsOuter(topparent.getGlobal("dndManager").clickedItem);
  46. else
  47. createMessage(1);
  48. }
  49. function dimtreeReplaceRows() {
  50. if (topparent.getGlobal("dndManager").isCarrying)
  51. replaceRows(topparent.getGlobal("dndManager").clickedItem);
  52. else
  53. createMessage(1);
  54. }
  55. function dimtreeNestColsInner() {
  56. if (topparent.getGlobal("dndManager").isCarrying)
  57. nestColsInner(topparent.getGlobal("dndManager").clickedItem);
  58. else
  59. createMessage(1);
  60. }
  61. function dimtreeNestColsOuter() {
  62. if (topparent.getGlobal("dndManager").isCarrying)
  63. nestColsOuter(topparent.getGlobal("dndManager").clickedItem);
  64. else
  65. createMessage(1);
  66. }
  67. function dimtreeReplaceCols() {
  68. if (topparent.getGlobal("dndManager").isCarrying)
  69. replaceCols(topparent.getGlobal("dndManager").clickedItem);
  70. else
  71. createMessage(1);
  72. }
  73. function dimtreeReplaceMeasure() {
  74. if (topparent.getGlobal("dndManager").isCarrying && topparent.getGlobal("dndManager").isMeasure)
  75. replaceMeasure(topparent.getGlobal("dndManager").clickedItem);
  76. else
  77. createMessage(2);
  78. }
  79. function addButtonToPreloadArray(btnName, btnFileName) {
  80. var btnImage = new Image();
  81. btnImage.src = btnFileName + ".gif";
  82. dimtreeToolBarImages[btnName] = btnImage;
  83. }
  84. function setButton(button, type) {
  85. //Check if the button has been loaded
  86. if (dimtreeToolBarImages[button.id]) {
  87. button.src = dimtreeToolBarImages[button.id].src;
  88. button.className = getButtonClass(type);
  89. }
  90. }
  91. function getButtonClass(type) {
  92. switch (type) {
  93. case BTN_RAISED: return "toolbarButtonRollOver";
  94. case BTN_PRESSED: return "toolbarButtonPressed";
  95. }
  96. return "toolbarButtonNormal";
  97. }
  98. function setAllButtons() {
  99. var buttons = document.getElementById("dimtreeButtons").childNodes;
  100. for (var i = 0; i < buttons.length; i++)
  101. if (buttons[i].id != 'sep')
  102. setButton(buttons[i],BTN_NORMAL);
  103. else
  104. buttons[i].src= buttonPath + "sep.gif";
  105. }
  106. function buttonMouseOver(button) {
  107. setButton(button, BTN_RAISED);
  108. window.status = button.getAttribute("help");
  109. return true;
  110. }
  111. function buttonMouseOut(button) {
  112. setButton(button, BTN_NORMAL);
  113. window.status = "";
  114. return true;
  115. }
  116. function buttonMouseDown(button) {
  117. setButton(button, BTN_PRESSED);
  118. }
  119. function buttonMouseUp(button) {
  120. setButton(button, BTN_RAISED);
  121. }
  122. function initDimToolbar(){
  123. initDimToolbarImages();
  124. }
  125. function createMessage(message) {
  126. if (topparent.getXtabFrame() && !topparent.isXtabStillLoading()) {
  127. var hiddenform = topparent.getXtabFrame().fh;
  128. hiddenform.target = "TreeMessagePane";
  129. hiddenform.CNCT.value = 17;
  130. hiddenform.CO.value = "MM:" + message;
  131. topparent.getXtabFrame().parseAndSubmit(hiddenform);
  132. }
  133. }