QueryPostProcessHelper.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. 'use strict';
  2. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  3. /*
  4. *+------------------------------------------------------------------------+
  5. *| Licensed Materials - Property of IBM
  6. *| IBM Cognos Products: Dashboard
  7. *| (C) Copyright IBM Corp. 2019, 2020
  8. *|
  9. *| US Government Users Restricted Rights - Use, duplication or disclosure
  10. *| restricted by GSA ADP Schedule Contract with IBM Corp.
  11. *+------------------------------------------------------------------------+
  12. */
  13. /**
  14. * Helper Class to post process queries.
  15. */
  16. define(['./PostProcessMeasuresAsSeries', './PostProcessLocalSort', './PostProcessCustomSort', './PostProcessMultiEdgeMeasures', './PostProcessOlapProperties'], function (PostProcessMeasuresAsSeries, PostProcessLocalSort, PostProcessCustomSort, PostProcessMultiEdgeMeasures, PostProcessOlapProperties) {
  17. var QueryPostProcessHelper = function () {
  18. function QueryPostProcessHelper() {
  19. _classCallCheck(this, QueryPostProcessHelper);
  20. }
  21. /**
  22. * Query response data postprocessing for measures as series.
  23. * @param {Object} resultData Query result data
  24. * @param {Object} visualization visualization API
  25. **/
  26. QueryPostProcessHelper.postProcessMeasuresAsSeries = function postProcessMeasuresAsSeries(resultData, visualization, queryDefinition) {
  27. if (resultData) {
  28. var processor = new PostProcessMeasuresAsSeries({
  29. queryResultData: resultData,
  30. visualization: visualization,
  31. queryDefinition: queryDefinition
  32. });
  33. processor.processData();
  34. processor.destroy();
  35. }
  36. };
  37. /**
  38. * Query response data postprocessing for client side aggregated sorting.
  39. * @param {Object} resultData Query result data
  40. * @param {Object} visualization visualization API
  41. **/
  42. QueryPostProcessHelper.postProcessAggregatedSort = function postProcessAggregatedSort(resultData, visualization) {
  43. if (resultData) {
  44. var processor = new PostProcessLocalSort({
  45. queryResultData: resultData,
  46. visualization: visualization
  47. });
  48. processor.processData();
  49. processor.destroy();
  50. }
  51. };
  52. /**
  53. * Query response data postprocessing for client side custom sort.
  54. * @param {Object} resultData Query result data
  55. * @param {Object} visualization visualization API
  56. **/
  57. QueryPostProcessHelper.postProcessCustomSort = function postProcessCustomSort(resultData, visualization) {
  58. if (resultData) {
  59. var processor = new PostProcessCustomSort({
  60. queryResultData: resultData,
  61. visualization: visualization
  62. });
  63. processor.processData();
  64. processor.destroy();
  65. }
  66. };
  67. /**
  68. * Query response data postprocessing for multi-edge, multi-measure data.
  69. * @param {Object} resultData Query result data
  70. * @param {Object} queryDefinition query definition
  71. * @param {boolean} [suppressionEnabled=true] - true if suppression is enabled.
  72. **/
  73. QueryPostProcessHelper.postProcessMultiEdgeMeasures = function postProcessMultiEdgeMeasures(resultData, queryDefinition) {
  74. var suppressionEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
  75. if (queryDefinition && resultData && resultData.edges && resultData.edges.length > 1) {
  76. var processor = new PostProcessMultiEdgeMeasures({
  77. queryResultData: resultData,
  78. queryDefinition: queryDefinition,
  79. suppressionEnabled: suppressionEnabled
  80. });
  81. processor.processData();
  82. processor.destroy();
  83. }
  84. };
  85. /**
  86. * Query response data postprocessing for Olap properties.
  87. * @param {Object} queryResultData Query result data
  88. * @param {Object} visualization visualization API
  89. **/
  90. QueryPostProcessHelper.postProcessOlapProperties = function postProcessOlapProperties(queryResultData, visualization) {
  91. if (queryResultData) {
  92. var processor = new PostProcessOlapProperties({ queryResultData: queryResultData, visualization: visualization });
  93. processor.processData();
  94. processor.destroy();
  95. }
  96. };
  97. return QueryPostProcessHelper;
  98. }();
  99. return QueryPostProcessHelper;
  100. });
  101. //# sourceMappingURL=QueryPostProcessHelper.js.map