'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 Business Analytics (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(['underscore', '../../../lib/@waca/dashboard-common/dist/core/APIFactory', './api/QueryDataItemSetAPI'], function (_, APIFactory, QueryDataItemSetAPI) { var QueryDataItemSet = function () { function QueryDataItemSet() { _classCallCheck(this, QueryDataItemSet); this.dataItems = []; this.dataItemSets = []; this.calculations = []; this.summariesEnabled = true; //By default, summaries are shown. } QueryDataItemSet.prototype.getAPI = function getAPI() { if (!this.api) { this.api = APIFactory.createAPI(this, [QueryDataItemSetAPI]); } return this.api; }; QueryDataItemSet.prototype.addDataItem = function addDataItem(dataItem) { this.dataItems.push(dataItem); }; QueryDataItemSet.prototype.addDataItemList = function addDataItemList(dataItems) { var _dataItems; (_dataItems = this.dataItems).splice.apply(_dataItems, [this.dataItems.length, 0].concat(dataItems)); }; QueryDataItemSet.prototype.setDataItemList = function setDataItemList(queryDataItems) { this.dataItems = queryDataItems; }; QueryDataItemSet.prototype.getDataItemList = function getDataItemList() { return this.dataItems.slice(); }; QueryDataItemSet.prototype.addCalculation = function addCalculation(operator, operands) { if (this.isMeasureItemSet()) { this.calculations.push({ operator: operator, operands: operands }); } }; QueryDataItemSet.prototype.getCalculationList = function getCalculationList(columnId) { return columnId ? this.calculations.filter(function (calc) { return calc.operands.indexOf(columnId) > -1; }) : this.calculations; }; QueryDataItemSet.prototype.getAllDataItemsList = function getAllDataItemsList() { return _.flatten([this.getDataItemList(), this.getDataItemSetList().map(function (dataItemSet) { return dataItemSet.getAllDataItemsList(); })]); }; QueryDataItemSet.prototype.createDataItemSet = function createDataItemSet(dataItems) { var dataItemSet = new QueryDataItemSet(); dataItemSet.addDataItemList(dataItems); this.dataItemSets.push(dataItemSet); return dataItemSet.getAPI(); }; QueryDataItemSet.prototype.getDataItemSetList = function getDataItemSetList() { return this.dataItemSets.slice(); }; QueryDataItemSet.prototype.isNestedItemSet = function isNestedItemSet() { return this.dataItemSets.length > 0; }; QueryDataItemSet.prototype.isMeasureItemSet = function isMeasureItemSet() { return this.dataItems && this.dataItems[0] && this.dataItems[0].getType() === 'fact'; }; QueryDataItemSet.prototype.getSummaryItemPrefix = function getSummaryItemPrefix() { return 'summary:'; }; QueryDataItemSet.prototype.isSummaryItemId = function isSummaryItemId(id) { return id.indexOf(this.getSummaryItemPrefix()) === 0; }; return QueryDataItemSet; }(); return QueryDataItemSet; }); //# sourceMappingURL=QueryDataItemSet.js.map