'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /** * Licensed Materials - Property of IBM * IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2019, 2020 * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ define(['../../../lib/@waca/dashboard-common/dist/core/APIFactory', './api/QueryDefinitionModifierAPI', './DataQueryUtils'], function (APIFactory, QueryDefinitionModifierAPI, DataQueryUtils) { var QueryDefinitionModifier = function () { function QueryDefinitionModifier(_ref) { var content = _ref.content, dashboardAPI = _ref.dashboardAPI; _classCallCheck(this, QueryDefinitionModifier); this.content = content; this.dashboard = dashboardAPI; this.content.getFeature('DataQueryExecution').registerQueryDefinitionModifier(this.getAPI()); } QueryDefinitionModifier.prototype.getAPI = function getAPI() { if (!this.api) { this.api = APIFactory.createAPI(this, [QueryDefinitionModifierAPI]); } return this.api; }; QueryDefinitionModifier.prototype.getType = function getType() { return 'main'; }; QueryDefinitionModifier.prototype.modifyQueryDefinitionList = function modifyQueryDefinitionList(definitions) { var visualization = this.content.getFeature('Visualization'); var filterSpecList = DataQueryUtils.getFilterSpecListByVisualization(this.content, this.dashboard); var updatedFilterSpecList = DataQueryUtils.convertExcludeEmptyValuesFilters(filterSpecList, visualization.getDataSource()); var preferredModelItems = DataQueryUtils.getRelatedModelItemsForQueryHint(this.content, this.dashboard); var refreshProperty = this.content.getPropertyValue('queryRefresh'); for (var i = 0; i < definitions.length; i++) { var definition = definitions[i]; definition.addFilters(updatedFilterSpecList); this._modifyQueryHints(definition, preferredModelItems, refreshProperty); } return definitions; }; QueryDefinitionModifier.prototype._modifyQueryHints = function _modifyQueryHints(definition, preferredModelItems, refreshProperty) { if (!preferredModelItems) { preferredModelItems = DataQueryUtils.getRelatedModelItemsForQueryHint(this.content, this.dashboard); } if (preferredModelItems.length) { definition.addQueryHint({ key: 'preferredModelItems', spec: { preferredModelItems: preferredModelItems } }); } if (!refreshProperty) { refreshProperty = this.content.getPropertyValue('queryRefresh'); } if (!(refreshProperty && refreshProperty.autoRefresh)) { var dataCache = this.dashboard.getCanvas().getPropertyValue('dataCache'); if (dataCache !== 'automatic') { definition.addQueryHint({ key: 'dataCacheExpiry', spec: { dataCacheExpiry: dataCache === 'yes' ? '3600' : '0' } }); } } else { definition.addQueryHint({ key: 'autoRefreshTime', spec: { autoRefreshTime: '' + Date.now() } }); } }; return QueryDefinitionModifier; }(); return QueryDefinitionModifier; }); //# sourceMappingURL=QueryDefinitionModifier.js.map