'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(['./FallbackRecommender', '../../../visualizations/recommender/DashboardSmartsVisRecommenderWrapper'], function (FallbackRecommender, DashboardSmartsVisRecommenderWrapper) { 'use strict'; return function () { function VisRecommenderDelegator(options) { _classCallCheck(this, VisRecommenderDelegator); this.classic = new FallbackRecommender(options); this.smarts = new DashboardSmartsVisRecommenderWrapper(options); this.logger = options.logger; } VisRecommenderDelegator.prototype.destroy = function destroy() { this.smarts.destroy(); this.smarts = null; }; VisRecommenderDelegator.prototype.recommendBindingsForNewColumns = function recommendBindingsForNewColumns(visualization, newColumnsIds) { return this.smarts.recommendBindingsForNewColumns(visualization, newColumnsIds).catch(function (error) { this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error); return this.classic.recommendBindingsForNewColumns(visualization, newColumnsIds); }.bind(this)); }; VisRecommenderDelegator.prototype.recommendBindingsForSelectedViz = function recommendBindingsForSelectedViz(visualization, visId) { return this.smarts.recommendBindingsForSelectedViz(visualization, visId).catch(function (error) { this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error); return this.classic.recommendBindingsForSelectedViz(visualization, visId); }.bind(this)); }; VisRecommenderDelegator.prototype.recommendBestAlternateVisualization = function recommendBestAlternateVisualization(visualization, columnIds) { return this.smarts.recommendBestAlternateVisualization(visualization, columnIds).catch(function (error) { this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error); return this.classic.recommendBestAlternateVisualization(visualization, columnIds); }.bind(this)); }; VisRecommenderDelegator.prototype.recommendAlternateVisualizations = function recommendAlternateVisualizations(columnIds, payload) { return this.smarts.recommendAlternateVisualizations(columnIds, payload).catch(function (error) { this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error); return this.classic.recommendAlternateVisualizations(columnIds, payload); }.bind(this)); }; VisRecommenderDelegator.prototype.recommendRelatedVisualizations = function recommendRelatedVisualizations(columnIds, payload) { return this.smarts.recommendRelatedVisualizations(columnIds, payload).catch(function (error) { this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error); return this.classic.recommendRelatedVisualizations(columnIds, payload); }.bind(this)); }; VisRecommenderDelegator.prototype.recommendCompareVisualizations = function recommendCompareVisualizations(columnIds, payload) { return this.smarts.recommendCompareVisualizations(columnIds, payload).catch(function (error) { this.logger.error('Smarts Recommender failed. Falling back to classic. See error in arguments.', error); return this.classic.recommendCompareVisualizations(columnIds, payload); }.bind(this)); }; VisRecommenderDelegator.prototype.getRecommendInfo = function getRecommendInfo(visualization) { if (this.smarts) { return this.smarts.getRecommendInfo(visualization); } else { return Promise.reject('Recommended title not supported'); } }; return VisRecommenderDelegator; }(); }); //# sourceMappingURL=VisRecommenderDelegator.js.map