1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- '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
|