GetParametersAction.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /*
  2. *+------------------------------------------------------------------------+
  3. *| Licensed Materials - Property of IBM
  4. *| IBM Cognos Products: Viewer
  5. *| (C) Copyright IBM Corp. 2001, 2014
  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 GetParametersAction()
  13. {
  14. this.m_payload = "";
  15. this.isPrimaryPromptWidget = false;
  16. this.m_requestParamsCopy = null;
  17. }
  18. GetParametersAction.prototype = new RunReportAction();
  19. GetParametersAction.prototype.setRequestParms = function(payload)
  20. {
  21. this.m_payload = payload;
  22. };
  23. /*
  24. * Adds the options to the request that is sent to the server
  25. */
  26. GetParametersAction.prototype.addRequestOptions = function(asynchRequest)
  27. {
  28. asynchRequest.addFormField("asynch.alwaysIncludePrimaryRequest", "false" );
  29. asynchRequest.addFormField("ui.action", "getParameters" );
  30. asynchRequest.addFormField("ui.spec", this.m_oCV.envParams["ui.spec"] );
  31. asynchRequest.addFormField("ui.object", this.m_oCV.envParams["ui.object"] );
  32. asynchRequest.addFormField("isPrimaryPromptWidget", this.isPrimaryPromptWidget? "true" : "false" );
  33. asynchRequest.addFormField("parameterValues", this.m_oCV.getExecutionParameters());
  34. if (this.m_oCV.envParams["bux"] == "true") {
  35. asynchRequest.addFormField("bux", "true");
  36. }
  37. };
  38. GetParametersAction.prototype.execute = function()
  39. {
  40. var oCV = this.getCognosViewer();
  41. var asynchRequest = new AsynchJSONDispatcherEntry(oCV);
  42. asynchRequest.setCallbacks({
  43. "complete": {"object": this, "method": this.handleGetParametersResponse}
  44. });
  45. this.addRequestOptions( asynchRequest );
  46. // save prompt params
  47. if (oCV.getActiveRequest()) {
  48. this.m_requestFormFieldsCopy = oCV.getActiveRequest().getFormFields();
  49. }
  50. // special case where we don't want to go through the ViewerDispatcher
  51. // since we don't want this request to get queue. We need to get the parameter information
  52. // asap so the other reports on the canvas can start executing with the new prompt information
  53. asynchRequest.sendRequest();
  54. };
  55. GetParametersAction.prototype.handleGetParametersResponse = function (asynchResponse)
  56. {
  57. try
  58. {
  59. var jsonResponse = asynchResponse.getResult();
  60. var response = jsonResponse.xml;
  61. var cognosViewer = this.getCognosViewer();
  62. var viewerWidget = cognosViewer.getViewerWidget();
  63. if (typeof response != "undefined" && response != null) {
  64. var sReportPrompts = xml_decode(response);
  65. this.m_oCV.envParams["reportPrompts"] = sReportPrompts;
  66. if (this.isPrimaryPromptWidget) {
  67. this.m_oCV.raisePromptEvent(sReportPrompts, this.m_requestFormFieldsCopy);
  68. }
  69. else {
  70. viewerWidget.sharePrompts(this.m_payload);
  71. }
  72. }
  73. if (typeof viewerWidget != "undefined") {
  74. viewerWidget.promptParametersRetrieved = true;
  75. // do we need to re-add the Reprompt button to the toolbar ?
  76. var savedRepromptButton = viewerWidget.getButtonFromSavedToolbarButtons("Reprompt");
  77. if (typeof savedRepromptButton != "undefined" && savedRepromptButton != null) {
  78. var blueDotMenu = cognosViewer.findBlueDotMenu();
  79. if (cognosViewer.addedButtonToToolbar(blueDotMenu, savedRepromptButton.button, "Refresh", savedRepromptButton.position)) {
  80. cognosViewer.resetbHasPromptFlag();
  81. viewerWidget.updateToolbar();
  82. }
  83. viewerWidget.removeFromSavedToolbarButtons("Reprompt");
  84. }
  85. }
  86. }
  87. catch(e) { }
  88. };