1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- 'use strict';
- /*
- *+------------------------------------------------------------------------+
- *| Licensed Materials - Property of IBM
- *| IBM Cognos Products: Content Explorer
- *| (C) Copyright IBM Corp. 2015, 2020
- *|
- *| US Government Users Restricted Rights - Use, duplication or disclosure
- *| restricted by GSA ADP Schedule Contract with IBM Corp.
- *+------------------------------------------------------------------------+
- */
- define(['../../../lib/@waca/dashboard-common/dist/glass/controllers/WidgetBaseActionHandler', '../../../app/nls/StringResources', '../../../lib/@waca/core-client/js/core-client/utils/ClassFactory', 'underscore'], function (BaseClass, stringResources, ClassFactory, _) {
- return BaseClass.extend({
- getDashboardView: function getDashboardView(context) {
- return context.glassContext.appController.getCurrentContentView();
- },
- getUiHelperClass: function getUiHelperClass() {
- return ClassFactory.loadModule('dashboard-core/js/lib/@waca/dashboard-common/dist/ui/WidgetAddUIHelper');
- },
- getOptions: function getOptions(context) {
- var _this = this;
- var view = this.getDashboardView(context);
- var dashboardApi = view.getDashboardApi();
- var options = {
- module: 'dashboard-core/js/dashboard/views/CustomWidgetListView',
- label: stringResources.get('customWidgetsTitle'),
- getEntries: this.getEntries.bind(this),
- className: 'customWidgetSlideout',
- services: view.services,
- dashboardApi: dashboardApi
- };
- return this._createWidgetAddUIHelper(context, dashboardApi).then(function (widgetHelper) {
- options.onItemClick = function (entry, event) {
- return _this._onItemClickHandler(entry, event, widgetHelper, dashboardApi);
- };
- options.onItemStartDrag = widgetHelper.addWidgetByDrag.bind(widgetHelper);
- return options;
- });
- },
- _onItemClickHandler: function _onItemClickHandler(entry, event, widgetHelper, dashboardApi) {
- var logger = dashboardApi.getFeature('Logger');
- var canvas = dashboardApi.getFeature('Canvas');
- var contentRegistryFeature = dashboardApi.getFeature('ContentTypeRegistry');
- if (contentRegistryFeature.isTypeRegistered(entry.type)) {
- return canvas.addContent(entry.defaultSpec).catch(function (error) {
- logger.log(error);
- });
- }
- return widgetHelper.addWidgetBySelection(entry, event);
- },
- getEntries: function getEntries(context) {
- var view = this.getDashboardView(context);
- var dashboardApi = view.getDashboardApi();
- var contentRegistryFeature = dashboardApi.getFeature('ContentTypeRegistry');
- return this._createWidgetAddUIHelper(context, dashboardApi).then(function (widgetHelper) {
- return widgetHelper.fetchWidgetListFromPerspective('com.ibm.bi.dashboard.widgets', context.glassContext);
- }).then(function (entries) {
- entries.list = _.filter(entries.list, function (entry) {
- return entry.builtin ? false : true;
- });
- entries.list = entries.list.concat(contentRegistryFeature.getExposedContents());
- return entries;
- });
- },
- // Private
- _createWidgetAddUIHelper: function _createWidgetAddUIHelper(context, dashboardApi) {
- var view = this.getDashboardView(context);
- var uiHelperClassOptions = {
- services: view.services,
- dashboardApi: dashboardApi
- };
- return this.getUiHelperClass().then(function (UIHelperClass) {
- var widgetAddUIHelper = new UIHelperClass(uiHelperClassOptions);
- widgetAddUIHelper.panelAttributes = {
- cdnUrl: dashboardApi.getCDNUrl(),
- glassContext: context.glassContext
- };
- return widgetAddUIHelper;
- });
- }
- });
- });
- //# sourceMappingURL=CustomWidgetActionHandler.js.map
|