CMenuExtractor.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. /********************************************************************************************************************************
  2. * Licensed Materials - Property of IBM *
  3. * *
  4. * IBM Cognos Products: AGS *
  5. * *
  6. * (C) Copyright IBM Corp. 2005, 2014 *
  7. * *
  8. * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. *
  9. *********************************************************************************************************************************/
  10. /*-----------------------------------------------------------------------------------------------------
  11. Class : CMenuExtractor
  12. Description :
  13. -----------------------------------------------------------------------------------------------------*/
  14. function CMenuExtractor(element, tagName) {
  15. this.m_aMenuData = element.getElementsByTagName(tagName);
  16. }
  17. function CMenuExtractor_getTaskMenuItems() {
  18. var m_aTaskMenuItems = new Array();
  19. // select available items in table "taskContents"
  20. for (var i=0; i<this.m_aMenuData.length; i++) {
  21. if (this.m_aMenuData[i].getAttribute("class") != null && this.m_aMenuData[i].getAttribute("name") != "addAgentTask")
  22. m_aTaskMenuItems.push(this.m_aMenuData[i]);
  23. }
  24. return m_aTaskMenuItems;
  25. }
  26. function CMenuExtractor_initTaskMenuItem() {
  27. var taskMenuData = this.getTaskMenuItems();
  28. var taskMenu = new CMenu("taskMenu", null);
  29. var menuTitleStyle = new CUIStyle('task_inactive', 'task_active', '', '', '');
  30. var taskMenuItems = new Array();
  31. var id, aClass, action, taskMenuItem;
  32. for (i=0; i<taskMenuData.length; i++) {
  33. id = getId(taskMenuData[i]);
  34. aClass = getClass(taskMenuData[i]);
  35. // the "add a task" item has no "onlick" attribute, set with specific one.
  36. if (id == "addAgentTaskButton")
  37. action = "showTaskMenu()";
  38. else
  39. action = getAction(taskMenuData[i]);
  40. // create task menu each item.
  41. taskMenuItems[i] = new CMenuItem(taskMenu,null,id,action,null,menuTitleStyle,null,null,null);
  42. taskMenuItems[i].setMenuType("dynamic");
  43. if (i == 0)
  44. taskMenuItems[i].enableTabindex();
  45. else
  46. taskMenuItems[i].disableTabindex();
  47. }
  48. taskMenu.attachEvents();
  49. }
  50. function CMenuExtractor_getTabMenuItems() {
  51. var m_aTabMenuItems = new Array(6);
  52. var elementId;
  53. // using two dimensional array to store tab menus
  54. for (var i=0; i<m_aTabMenuItems.length; i++) {
  55. m_aTabMenuItems[i] = new Array();
  56. }
  57. for (var i=0; i<this.m_aMenuData.length; i++) {
  58. elementId = this.m_aMenuData[i].getAttribute("id");
  59. // select each tab menu's icon elements
  60. if (elementId != null) {
  61. if (elementId.indexOf("Model") == 3) {
  62. m_aTabMenuItems[0].push(this.m_aMenuData[i]);
  63. }
  64. else if (elementId.indexOf("DataItems") == 3) {
  65. m_aTabMenuItems[1].push(this.m_aMenuData[i]);
  66. }
  67. else if (elementId.indexOf("Functions") == 3) {
  68. m_aTabMenuItems[2].push(this.m_aMenuData[i]);
  69. }
  70. else if (elementId.indexOf("Parameters") == 3) {
  71. m_aTabMenuItems[3].push(this.m_aMenuData[i]);
  72. }
  73. else if (elementId.indexOf("History") == 3) {
  74. m_aTabMenuItems[4].push(this.m_aMenuData[i]);
  75. }
  76. else if (elementId.indexOf("MemberSearch") == 3) {
  77. m_aTabMenuItems[5].push(this.m_aMenuData[i]);
  78. }
  79. }
  80. }
  81. // remove <td> tabindex attribute for each selected tab menu
  82. for (var i=0; i<m_aTabMenuItems.length; i++) {
  83. m_aTabMenuItems[i][i].parentNode.removeAttribute("tabindex");
  84. }
  85. return m_aTabMenuItems;
  86. }
  87. function CMenuExtractor_getSummaryBarItems() {
  88. var m_aSummaryBarItems = new Array();
  89. var elementId;
  90. for (var i=0; i<this.m_aMenuData.length; i++) {
  91. elementId = this.m_aMenuData[i].getAttribute("id");
  92. // select all tasks DOM element which have the id attribute prefix with "id_".
  93. if (elementId != null && elementId.indexOf("id") == 0)
  94. m_aSummaryBarItems.push(this.m_aMenuData[i].parentNode);
  95. }
  96. return m_aSummaryBarItems;
  97. }
  98. CMenuExtractor.prototype.getTaskMenuItems = CMenuExtractor_getTaskMenuItems;
  99. CMenuExtractor.prototype.getTabMenuItems = CMenuExtractor_getTabMenuItems;
  100. CMenuExtractor.prototype.getSummaryBarItems = CMenuExtractor_getSummaryBarItems;
  101. CMenuExtractor.prototype.initTaskMenuItem = CMenuExtractor_initTaskMenuItem;
  102. function getId(element) {
  103. return element.getAttribute("id");
  104. }
  105. function getClass(element) {
  106. return element.getAttribute("class");
  107. }
  108. function getAction(element) {
  109. return element.getAttribute("onclick");
  110. }