QueryResults.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. 'use strict';
  2. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  3. /**
  4. * Licensed Materials - Property of IBM
  5. * IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2019
  6. * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. */
  8. define(['underscore', '../../../lib/@waca/dashboard-common/dist/core/APIFactory', './api/QueryResultsAPI'], function (_, APIFactory, QueryResultsAPI) {
  9. var DATA = 'data';
  10. var QueryResults = function () {
  11. function QueryResults(resultTag, warnings) {
  12. _classCallCheck(this, QueryResults);
  13. this._oQueryResults = {};
  14. this._resultTag = resultTag;
  15. this._warnings = warnings;
  16. }
  17. QueryResults.prototype.destroy = function destroy() {
  18. _.each(this._oQueryResults, function (results) {
  19. _.each(results, function (result) {
  20. result.destroy && result.destroy();
  21. });
  22. });
  23. };
  24. QueryResults.prototype.getAPI = function getAPI() {
  25. if (!this.queryResultsAPI) {
  26. this.queryResultsAPI = APIFactory.createAPI(this, [QueryResultsAPI]);
  27. }
  28. return this.queryResultsAPI;
  29. };
  30. QueryResults.prototype.addResult = function addResult(queryResult) {
  31. var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DATA;
  32. var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryResultsAPI.QUERY_RESULT_TYPE.MAIN;
  33. if (!this._oQueryResults[id]) {
  34. this._oQueryResults[id] = {};
  35. }
  36. this._oQueryResults[id][type] = queryResult;
  37. };
  38. QueryResults.prototype.getResult = function getResult() {
  39. var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DATA;
  40. var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : QueryResultsAPI.QUERY_RESULT_TYPE.MAIN;
  41. var result = this._oQueryResults[id] && this._oQueryResults[id][type];
  42. return result && result.getAPI ? result.getAPI() : result;
  43. };
  44. QueryResults.prototype.removeResult = function removeResult() {
  45. var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DATA;
  46. var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : QueryResultsAPI.QUERY_RESULT_TYPE.MAIN;
  47. if (this._oQueryResults[id] && this._oQueryResults[id][type]) {
  48. delete this._oQueryResults[id][type];
  49. }
  50. };
  51. QueryResults.prototype.getQueryResultIdList = function getQueryResultIdList() {
  52. return this._oQueryResults && Object.keys(this._oQueryResults);
  53. };
  54. QueryResults.prototype.getCacheValidateTag = function getCacheValidateTag() {
  55. return this._resultTag;
  56. };
  57. QueryResults.prototype.getWarningList = function getWarningList() {
  58. return this._warnings || [];
  59. };
  60. return QueryResults;
  61. }();
  62. return QueryResults;
  63. });
  64. //# sourceMappingURL=QueryResults.js.map