historyTree.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /********************************************************************************************************************************
  2. * Licensed Materials - Property of IBM *
  3. * *
  4. * IBM Cognos Products: AGS *
  5. * *
  6. * (C) Copyright IBM Corp. 2005, 2021 *
  7. * *
  8. * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. *
  9. *********************************************************************************************************************************/
  10. var historyTree = null;
  11. var historyItems = null;
  12. //it is called by changeMenu() in the layout.js library
  13. function initHistoryItems() {
  14. if (historyTree == null)
  15. {
  16. if (browserCheck.isNav6Up())
  17. {
  18. document.getElementById("agentHistoryTreeContainer").addEventListener("mouseup", function(e) {if(e.target.toString().indexOf("XULElement") > -1){e.cancelBubble = true;return false;}}, true);
  19. document.getElementById("agentHistoryTreeContainer").addEventListener("dragover", function(e) {cancelBub(e);}, true);
  20. document.getElementById("agentHistoryTreeContainer").addEventListener("dragdrop", function(e) {cancelBub(e);}, true);
  21. }
  22. var historyTreeNode = document.getElementById("agentHistoryTreeContainer");
  23. // at this point - this is the only node with this id
  24. historyTreeNode.setAttribute("container", "true");
  25. historyTreeNode.setAttribute("tabindex", "-1");
  26. // now create and render the tree
  27. historyTree = new CTree (historyTreeNode, "", false, true, "historyTree");
  28. historyTree.setSelectionMode(SINGLE_TREE_SELECTION);
  29. historyTree.setSelectTreeUI(NORMAL_TREE);
  30. historyTree.setAllowDragDrop(true);
  31. historyTree.setDoubleClickFunc(processDoubleClick);
  32. historyTree.setOnDragStart(onDragStartF);
  33. historyTree.setOnDrag(onDragF);
  34. historyTree.setOnDragEnd(onDragEndF);
  35. historyTree.setTrackSelectionOrder(true);
  36. historyTree.setHideOuterTable(true);
  37. historyTree.setContextMenu(function contextMenu(){return false;});
  38. historyTree.setAllowSelectionToggle(true);
  39. // define the root of the tree
  40. historyTree.getRootNode().setName("HistoryTree");
  41. historyTree.getRootNode().setCanHaveChildren(true);
  42. historyTree.setRootNodeType(tntAgentRoot);
  43. initTreeTopics();
  44. }
  45. }
  46. function initTreeTopics() {
  47. var holder = new Object();
  48. holder['m'] = "/ags/translateHistoryTopics.xts";
  49. holder['forceSOAPFault'] = "false";
  50. var dispatcher = new XHTTPDispatcher(createTopics, holder);
  51. applicationActionManager.httpStart();
  52. try{
  53. dispatcher.dispatch();
  54. }catch(ex){
  55. applicationActionManager.httpStop();
  56. }
  57. }
  58. function createTopics(responseArray)
  59. {
  60. var responseXML = responseArray[0];
  61. var responseText = responseArray[1];
  62. applicationActionManager.httpStop();
  63. var topicsNode = responseXML.getElementsByTagName("item");
  64. var parsedResponse = parseResponse(responseXML,responseText);
  65. // decide what we're going to do
  66. //This is a case when getContent in asyncConv faults with either session expiry or
  67. //external logon to a different name space fault.
  68. if (parsedResponse.isLogonFault()) {
  69. doPassportExpire(responseXML,initTreeTopics,parsedResponse);
  70. } else if (parsedResponse.isSoapFault()) {
  71. // we have a fault which is a genuine fault fault
  72. doSOAPFault(responseXML,defaultHistory,parsedResponse);
  73. } else if (topicsNode && topicsNode.length > 0) {
  74. historyItems = new Array(topicsNode.length);
  75. for (var i=0;i<topicsNode.length;i++) {
  76. historyItems[i] = parent.getTextNodeValue(topicsNode[i]);
  77. }
  78. } else {
  79. defaultHistory();
  80. }
  81. //Now it is safe to laod and draw.
  82. loadHistory();
  83. historyTree.drawAll();
  84. historyTree.checkData();
  85. }
  86. function defaultHistory() {
  87. //Default to English incase something is wrong.
  88. historyItems = new Array(6);
  89. historyItems[0] = "Request Time";
  90. historyItems[1] = "Start Time";
  91. historyItems[2] = "Ran by";
  92. historyItems[3] = "Status";
  93. historyItems[4] = "Dispatcher";
  94. historyItems[5] = "Messages";
  95. }
  96. function loadHistory(loadingNode)
  97. {
  98. for (var i=0; historyItems!= null && i<historyItems.length;i++) {
  99. new CTreeNode(historyTree.getRootNode(), tntDataItemHistory, false, historyItems[i], new aiHistory(historyItems[i]), false);
  100. }
  101. }