'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, 2020 *| *| US Government Users Restricted Rights - Use, duplication or disclosure *| restricted by GSA ADP Schedule Contract with IBM Corp. *+------------------------------------------------------------------------+ */ define(['../../../visualizations/recommender/VisRecommenderBindingFallback'], function (VisRecommenderBindingFallback) { 'use strict'; return function () { function VisRecommenderDelegator(options) { _classCallCheck(this, VisRecommenderDelegator); this.logger = options.logger; this.visDefinitions = options.visDefinitions; } VisRecommenderDelegator.prototype.destroy = function destroy() { this.logger = null; }; VisRecommenderDelegator.prototype.recommendBindingsForNewColumns = function recommendBindingsForNewColumns(visualization, columnIds) { var bindingRecommender = new VisRecommenderBindingFallback(visualization); var recommendation = { slots: {}, unbound: columnIds, visId: visualization.getDefinition().getId() }; visualization.getSlots().getMappingInfoList().forEach(function (mapping) { var cols = recommendation.slots[mapping.slot.getId()]; if (!cols) { cols = []; recommendation.slots[mapping.slot.getId()] = cols; } cols.push(mapping.dataItem.getColumnId()); }); bindingRecommender.assignUnboundColumns(recommendation, visualization.getDefinition().getSlotList()); return Promise.resolve(recommendation); }; VisRecommenderDelegator.prototype._getValidSlotList = function _getValidSlotList(newDefinition) { return newDefinition.getSlotList().filter(function (slotDef) { return !slotDef.isHidden(); }); }; VisRecommenderDelegator.prototype.recommendBindingsForSelectedViz = function recommendBindingsForSelectedViz(visualization, visId) { var newDefinition = this.visDefinitions.getById(visId); var bindingRecommender = new VisRecommenderBindingFallback(visualization); var recommendation = { slots: {}, unbound: visualization.getSlots().getDataItemList().map(function (dataItem) { return dataItem.getColumnId(); }), visId: newDefinition.getId() }; bindingRecommender.assignUnboundColumns(recommendation, this._getValidSlotList(newDefinition)); return Promise.resolve(recommendation); }; VisRecommenderDelegator.prototype.recommendBestAlternateVisualization = function recommendBestAlternateVisualization(visualization) { var mappings = visualization.getSlots().getDataItemList().map(function (dataItem) { return dataItem.getColumnId(); }); return this.recommendAlternateVisualizations(mappings).then(function (arr) { return arr[0]; }); }; VisRecommenderDelegator.prototype.recommendAlternateVisualizations = function recommendAlternateVisualizations(columnIds) { var gridDefinition = this.visDefinitions.getByType('List'); var recommendation = { slots: {}, visId: gridDefinition.getId() }; var mappings = columnIds; recommendation.slots[gridDefinition.getSlotList()[0].getId()] = mappings; return Promise.resolve([recommendation]); }; VisRecommenderDelegator.prototype.recommendRelatedVisualizations = function recommendRelatedVisualizations() { return Promise.resolve([]); }; VisRecommenderDelegator.prototype.recommendCompareVisualizations = function recommendCompareVisualizations() { return Promise.resolve([]); }; VisRecommenderDelegator.prototype.recommendVisualizations = function recommendVisualizations() { return Promise.resolve([]); }; return VisRecommenderDelegator; }(); }); //# sourceMappingURL=FallbackRecommender.js.map