'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 Business Analytics (C) Copyright IBM Corp. 2020 * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /** * @class Renderer * @hideconstructor * @classdesc API class that is used to provide a renderer provider extension point */ define(['../../../lib/@waca/dashboard-common/dist/core/APIFactory', './api/ReactRendererAPI'], function (APIFactory, ReactRendererAPI) { var TooltipRenderer = function () { function TooltipRenderer(options) { _classCallCheck(this, TooltipRenderer); this._api = APIFactory.createAPI(this, [ReactRendererAPI]); this._providers = []; this._features = options.features; } TooltipRenderer.prototype.registerProvider = function registerProvider(provider) { if (this._providers.indexOf(provider) === -1 && typeof provider.getComponent === 'function') { this._providers.push(provider); } }; TooltipRenderer.prototype.deregisterProvider = function deregisterProvider(provider) { var idx = this._providers.indexOf(provider); if (idx !== -1) { this._providers.splice(idx, 1); } }; TooltipRenderer.prototype.getAPI = function getAPI() { return this._api; }; TooltipRenderer.prototype.canRender = function canRender() { return this._providers.length > 0; }; TooltipRenderer.prototype.getComponentList = function getComponentList(state) { var contentList = []; if (this._providers.length > 0) { for (var i = 0; i < this._providers.length; i++) { var component = void 0; try { component = this._providers[i].getComponent(state); } catch (error) { this._features['Logger'].error('Renderer error ', error); } if (component) { contentList.push(component); } } } return contentList; }; return TooltipRenderer; }(); return TooltipRenderer; }); //# sourceMappingURL=Renderer.js.map