'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: BI (C) Copyright IBM Corp. 2020 * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ define(['underscore', './ToolbarAPI', '../../../lib/@waca/dashboard-common/dist/core/APIFactory'], function (_, ToolbarAPI, APIFactory) { var Toolbar = function () { function Toolbar(_ref) { var dashboardAPI = _ref.dashboardAPI, content = _ref.content; _classCallCheck(this, Toolbar); this._toolbarDock = dashboardAPI.getFeature('ToolbarDock'); this._dashboardPreferences = dashboardAPI.getFeature('DashboardPreferences'); this._contentActions = dashboardAPI.getFeature('ContentActions'); this._transactionApi = dashboardAPI.getFeature('Transaction'); this._content = content; this.type = dashboardAPI.getType(); } Toolbar.prototype.initialize = function initialize() { var isExplore = this.type.toUpperCase() === 'EXPLORE'; if (!isExplore) { this._internalApi = APIFactory.createAPI(this, [ToolbarAPI]); this._registerEvents(); } }; Toolbar.prototype.getAPI = function getAPI(type) { if (type === 'internal') { return this._internalApi; } }; Toolbar.prototype._registerEvents = function _registerEvents() { this._visEvents = { 'change:visualization:slots:dataitems:addMapping': this._refreshHandler, 'change:visualization:slots:dataitems:removeMapping': this._refreshHandler }; for (var key in this._visEvents) { this._content.on(key, this._visEvents[key], this); } }; Toolbar.prototype._deregisterEvents = function _deregisterEvents() { for (var key in this._visEvents) { this._content.off(key, this._visEvents[key], this); } }; Toolbar.prototype.destroy = function destroy() { this._deregisterEvents(); this._content = null; }; Toolbar.prototype._refreshHandler = function _refreshHandler(options) { var transactionToken = options && options.transactionToken; return this._transactionApi.registerTransactionHandler(transactionToken || {}, this, function () { this.refresh(); }.bind(this), options); }; Toolbar.prototype.refresh = function refresh() { var docked = this._dashboardPreferences.getPreference('isToolbarDocked'); if (docked) { var IDList = [this._content.getId()]; if (_.isEqual(IDList, this._toolbarDock.getOwnerIDs())) { var actions = this._contentActions.getContentActionList(IDList); this._toolbarDock.updateODTState(actions, IDList); } } }; return Toolbar; }(); return Toolbar; }); //# sourceMappingURL=Toolbar.js.map