123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- '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, 2021
- * 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/QueryDefinitionProviderAPI'], function (APIFactory, QueryDefinitionProviderAPI) {
- var _class, _temp;
- var QueryDefinitionProvider = (_temp = _class = function () {
- function QueryDefinitionProvider(_ref) {
- var content = _ref.content,
- features = _ref.features;
- _classCallCheck(this, QueryDefinitionProvider);
- this.content = content;
- this.features = features;
- }
- QueryDefinitionProvider.prototype.initialize = function initialize() {
- this.features['DataQueryExecution'].registerQueryDefinitionProvider(this.getAPI());
- };
- QueryDefinitionProvider.prototype.supports = function supports() {
- return true;
- };
- QueryDefinitionProvider.prototype.getAPI = function getAPI() {
- if (!this.api) {
- this.api = APIFactory.createAPI(this, [QueryDefinitionProviderAPI]);
- }
- return this.api;
- };
- QueryDefinitionProvider.prototype.getType = function getType() {
- return 'main';
- };
- QueryDefinitionProvider.prototype.getQueryDefinitionList = function getQueryDefinitionList() {
- var _this = this;
- var definitionList = [];
- var queryService = this.features['Dashboard.QueryService2'];
- var visualization = this.features['Visualization'];
- var summariesEnabled = !this.content.getPropertyValue('hideSummaries');
- var expandEnabled = this.content.getPropertyValue('expandCollapse');
- var suppressionEnabled = this.content.getPropertyValue('suppression') !== QueryDefinitionProvider.SUPPRESSION_NONE;
- var slotsByDataset = this._getSlotsByDataset(visualization);
- var internalVisualization = this.features['Visualization.internal'];
- var filters = [];
- if (visualization) {
- filters = [].concat(visualization.getLocalFilters().getFilterList(), internalVisualization.getSearchFilterList());
- }
- var _loop = function _loop(datasetId) {
- var definition = queryService.createQueryDefinition(datasetId, _this.getType());
- definition.setSummariesEnabled(summariesEnabled);
- definition.setExpandEnabled(expandEnabled);
- //There are only two values for suppression: rowsAndColumns and none
- definition.setSuppressionEnabled(suppressionEnabled);
- definition.setDataSource(visualization.getDataSource());
- slotsByDataset[datasetId].forEach(function (slot) {
- var dataItems = slot.getDataItemList();
- if (slot.getDefinition().isStackItems()) {
- return _this._nestDataItems({ definition: definition, dataItems: dataItems });
- } else {
- return _this._composeDataItems({ definition: definition, dataItems: dataItems });
- }
- });
- if (filters && filters.length > 0) {
- definition.addFilters(filters);
- }
- definitionList.push(definition);
- };
- for (var datasetId in slotsByDataset) {
- _loop(datasetId);
- }
- return Promise.resolve(definitionList);
- };
- /**
- * Get list of slots for each datasets
- * @param {VisualizationAPI} visualization
- * @returns {Object} array of slots mapped by the datasetId as the key
- */
- QueryDefinitionProvider.prototype._getSlotsByDataset = function _getSlotsByDataset(visualization) {
- var slotMap = {};
- var mappedSlots = visualization && visualization.getSlots().getMappedSlotList() || [];
- mappedSlots.forEach(function (slot) {
- var slotDefinition = slot.getDefinition();
- var datasetIds = slotDefinition.getDatasetIdList() || [];
- // single slot can be shared among multiple datasets
- datasetIds.forEach(function (datasetId) {
- if (!slotMap[datasetId]) {
- slotMap[datasetId] = [slot];
- } else {
- slotMap[datasetId].push(slot);
- }
- });
- });
- return slotMap;
- };
- QueryDefinitionProvider.prototype._composeDataItems = function _composeDataItems(_ref2) {
- var definition = _ref2.definition,
- dataItems = _ref2.dataItems;
- definition.createDataItemSet(dataItems);
- };
- QueryDefinitionProvider.prototype._nestDataItems = function _nestDataItems(_ref3) {
- var definition = _ref3.definition,
- dataItems = _ref3.dataItems;
- var parent = definition;
- dataItems.forEach(function (dataItem) {
- parent = parent.createDataItemSet([dataItem]);
- });
- };
- return QueryDefinitionProvider;
- }(), _class.DEFAULT_ROWLIMIT = 3000, _class.SUPPRESSION_NONE = 'none', _temp);
- return QueryDefinitionProvider;
- });
- //# sourceMappingURL=QueryDefinitionProvider.js.map
|