ViewSavedOutputAction.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. /*
  2. *+------------------------------------------------------------------------+
  3. *| Licensed Materials - Property of IBM
  4. *| IBM Cognos Products: Viewer
  5. *| (C) Copyright IBM Corp. 2001, 2011
  6. *|
  7. *| US Government Users Restricted Rights - Use, duplication or
  8. *| disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  9. *|
  10. *+------------------------------------------------------------------------+
  11. */
  12. function ViewSavedOutputAction()
  13. {
  14. this.m_obj = "";
  15. this.creationTime = "";
  16. this.m_mostRecent = false;
  17. }
  18. ViewSavedOutputAction.prototype = new CognosViewerAction();
  19. ViewSavedOutputAction.prototype.addAdditionalRequestParms = function(cognosViewerRequest) {};
  20. ViewSavedOutputAction.prototype.setRequestParms = function(payload) {
  21. this.m_obj = payload.obj;
  22. this.creationTime = payload.creationTime;
  23. this.m_mostRecent = payload.mostRecent;
  24. };
  25. ViewSavedOutputAction.prototype.updateMenu = function() {
  26. // update the menu so the saved output that's going to be viewed is shown as selected
  27. var snapshotsAction = this.getCognosViewer().getAction("Snapshots");
  28. snapshotsAction.populateMenu(false);
  29. };
  30. ViewSavedOutputAction.prototype.execute = function() {
  31. var cognosViewer = this.getCognosViewer();
  32. var widget = cognosViewer.getViewerWidget();
  33. if( cognosViewer.getStatus() === 'fault')
  34. {
  35. widget.clearErrorDlg();
  36. }
  37. // clear the global prompt information
  38. cognosViewer.getViewerWidget().setPromptParametersRetrieved(false);
  39. cognosViewer.envParams["reportPrompts"] = "";
  40. var sAction = cognosViewer.envParams["ui.action"];
  41. var formWarpRequest = document.getElementById("formWarpRequest" + cognosViewer.getId());
  42. if (sAction == "view" && formWarpRequest && formWarpRequest.reRunObj && formWarpRequest.reRunObj.value ) {
  43. cognosViewer.envParams["ui.reRunObj"] = formWarpRequest["reRunObj"].value;
  44. } else if (sAction != "view") {
  45. cognosViewer.envParams["ui.reRunObj"] = cognosViewer.envParams["ui.object"];
  46. }
  47. var searchPath = "storeID('" + this.m_obj + "')";
  48. cognosViewer.envParams["ui.action"] = "buxView";
  49. cognosViewer.envParams["ui.object"] = cognosViewer.envParams["ui.reRunObj"];
  50. cognosViewer.envParams["creationTime"] = this.creationTime;
  51. if (this.m_mostRecent === true) {
  52. widget.setSavedOutputSearchPath(null);
  53. }
  54. else {
  55. widget.setSavedOutputSearchPath(searchPath);
  56. }
  57. // update the menu so the saved output that's going to be viewed is shown as selected
  58. this.updateMenu();
  59. // clear the undo queue
  60. this.getUndoRedoQueue().clearQueue();
  61. // Clear the properties dialog to it'll get rebuilt. This is needed for the 'View report specification' link
  62. cognosViewer.getViewerWidget().clearPropertiesDialog();
  63. if (cognosViewer.getCurrentlySelectedTab() && widget.getSavedOutput()) {
  64. cognosViewer.setKeepTabSelected(cognosViewer.getCurrentlySelectedTab());
  65. }
  66. this.dispatchRequest(searchPath);
  67. this.fireModifiedReportEvent();
  68. };
  69. ViewSavedOutputAction.prototype.dispatchRequest = function(searchPath) {
  70. this.m_request = new ViewerDispatcherEntry(this.m_oCV);
  71. this.m_request.addFormField("ui.action", "buxView");
  72. // we need to include the report name or we'll end up doing 2 CM queries.
  73. this.m_request.addFormField("ui.name", this.m_oCV.envParams["ui.name"]);
  74. this.m_request.addFormField("widget.reloadToolbar", "true");
  75. this.m_request.addFormField("cv.objectPermissions", this.m_oCV.envParams["cv.objectPermissions"]);
  76. this.m_request.addFormField("ui.savedOutputSearchPath", searchPath);
  77. this.m_request.setCallbacks( {"complete" : {"object" : this, "method" : this.onComplete}});
  78. this.addAdditionalRequestParms(this.m_request);
  79. this.m_oCV.dispatchRequest(this.m_request);
  80. };
  81. ViewSavedOutputAction.prototype.onComplete = function(asynchDATAResponse, arg1) {
  82. this.m_oCV.setTracking("");
  83. this.m_oCV.setConversation("");
  84. this.m_request.onComplete(asynchDATAResponse, arg1);
  85. };