123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- '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: Dashboard
- *| (C) Copyright IBM Corp. 2018
- *|
- *| US Government Users Restricted Rights - Use, duplication or disclosure
- *| restricted by GSA ADP Schedule Contract with IBM Corp.
- *+------------------------------------------------------------------------+
- */
- define(['../../../apiHelpers/SlotAPIHelper', '../../../visualizations/recommender/IRUtils'], function (SlotAPIHelper, IRUtils) {
- 'use strict';
- return function () {
- function Utils() {
- _classCallCheck(this, Utils);
- }
- // translation of top bottom spec into IR. TODO: use a common utility
- Utils.translateTopBottom2IR = function translateTopBottom2IR(tbEntry) {
- var entry = {};
- entry.filterId = tbEntry.id;
- entry.columnId = tbEntry.itemId;
- entry.topBottomType = IRUtils.IRTopBottomType(tbEntry.selection.topBottom.type);
- entry.method = IRUtils.IRTopBottomMethod(tbEntry.selection.topBottom.type);
- entry.domainSize = tbEntry.selection.topBottom.value;
- if (tbEntry.selection.topBottom.context) {
- entry.byColumn = tbEntry.selection.topBottom.context.itemId;
- }
- entry.type = 'TOP_BOTTOM';
- return entry;
- };
- Utils.getTopBottomItems = function getTopBottomItems(visualization) {
- var mappedSlots = visualization.getSlots().getMappedSlotList();
- if (!mappedSlots || !mappedSlots.length) {
- return;
- }
- var topBottomItems = [];
- // ignore hidden slots which are not considered as part of mappings
- // e.g. 'rank' slot of grid, 'size' slot of scatter
- mappedSlots.filter(function (slot) {
- return slot && !slot.getDefinition().isHidden();
- }).forEach(function (mappedSlot) {
- var dataItemAPIs = Utils.filterInvalidDataItems(mappedSlot.getDataItemList());
- dataItemAPIs.forEach(function (dataItemAPI) {
- var topBottomSpec = dataItemAPI.getTopBottom();
- // Ignore all the non contextual top bottom modifiers
- // smarts only understand top bottom with context
- if (topBottomSpec && topBottomSpec.context) {
- var translatedSpec = Utils.translateTopBottom2IR({
- id: dataItemAPI.getId(),
- itemId: dataItemAPI.getColumnId(),
- selection: {
- topBottom: topBottomSpec
- }
- });
- topBottomItems.push(translatedSpec);
- }
- });
- });
- return topBottomItems;
- };
- Utils.getUnboundColumnsIds = function getUnboundColumnsIds(visualization) {
- return Utils.filterInvalidDataItems(visualization.getSlots().getDataItemList()).map(function (dataItem) {
- return dataItem.getColumnId();
- });
- };
- Utils.filterInvalidDataItems = function filterInvalidDataItems(list) {
- return list.filter(function (dataItem) {
- return !SlotAPIHelper.isMultiMeasuresSeriesOrValueDataItem(dataItem) && !dataItem.isColumnUnavailable();
- });
- };
- Utils.getFilterItems = function getFilterItems(visualization) {
- var result = [];
- IRUtils.localFilters2IRFilters(visualization.getLocalFilters().getFilterList(), result);
- return result;
- };
- return Utils;
- }();
- });
- //# sourceMappingURL=Utils.js.map
|