'use strict'; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* *+------------------------------------------------------------------------+ *| 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(['../../lib/@waca/core-client/js/core-client/ui/core/Class', './SmartsVisRecommenderService', './SmartsToVizMapping', './VisToSmartsMapping', './IRUtils', './SmartsSupportedChartTypes', 'underscore', './SmartsCompareCardRecommenderHelper', '../../apiHelpers/SlotAPIHelper'], function (Class, SmartsVisRecommenderService, SmartsToVizMapping, VisToSmartsMapping, IRUtils, SmartsSupportedChartTypes, _, SmartsCompareCardRecommenderHelper, SlotAPIHelper) { 'use strict'; var UnsupportedSmartsVis = ['com.ibm.vis.rave2network']; var BaseSmartsVisRecommenderWrapper = Class.extend({ // constructor init: function init(_ref) { var moserDataSources = _ref.moserDataSources, ajaxSvc = _ref.ajaxSvc, logger = _ref.logger, glassOptions = _ref.glassOptions, dashboardApi = _ref.dashboardApi, dataSources = _ref.dataSources; BaseSmartsVisRecommenderWrapper.inherited('init', this, arguments); this.moserDataSources = moserDataSources; this._recommenderService = new SmartsVisRecommenderService({ ajaxSvc: ajaxSvc, logger: logger }); this.dataSources = dataSources; this._glassOptions = glassOptions; this._smartsToVisInfoMap = SmartsToVizMapping; this._visToSmartsInfoMap = VisToSmartsMapping; this._supportedVisIds = Object.keys(this._smartsToVisInfoMap); this._recommenderApi = dashboardApi.getFeature('Recommender.internal'); }, destroy: function destroy() { BaseSmartsVisRecommenderWrapper.inherited('destroy', this, arguments); if (this._recommenderService) { this._recommenderService.destroy(); this._recommenderService = null; } this.dataSources = null; this._glassOptions = null; this._smartsToVisInfoMap = null; this._visToSmartsInfoMap = null; this._supportedVisIds = null; this._recommenderApi = null; }, /** * Returns alternate visualizations recommendation for the given columnIds * @params - columnIds * @params - requestOptions * { * assetId, (mandatory) storeId of embeddedModule, uploadedFile or module) * sourceType, (mandatory) 'uploadedFile', 'dataSet2' or 'module' * oneChartPerType, (optional) true or false, default is true - returns one recommendation per chart type. * numResult, (optional) number of recommendations, default is 10 * } * @returns - [recommendations] where recommendation is * { * visId: * slots : {slotId_1 : [columnIds], * slotId_2: [columnIds], * : * } * label: