1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- '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 Cloud (C) Copyright IBM Corp. 2018
- * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- */
- define(['../../app/services/SmartNamingSvc', './BoardModuleFactory', '../../common/templates/HtmlTemplates'], function (SmartNamingSvc, BoardModuleFactory, HtmlTemplates) {
- var DEFAULT_BOARD_MODULES = [{
- type: 'legacy',
- path: 'dashboard-core/js/dashboard/loader/modules/LegacyBoardModule'
- }, {
- type: 'react',
- path: 'dashboard-core/js/dashboard/loader/modules/ReactBoardModule'
- }];
- /**
- * Helper class used to create the core dashboard services and services registry
- */
- var BoardLoaderHelper = function () {
- function BoardLoaderHelper(dashboardApi) {
- _classCallCheck(this, BoardLoaderHelper);
- this.dashboardApi = dashboardApi;
- }
- BoardLoaderHelper.prototype.createBoardServices = function createBoardServices(options) {
- var services = {};
- if (options.widgetRegistry) {
- services.smartNamingSvc = new SmartNamingSvc(options.widgetRegistry, options.boardModel);
- this.dashboardApi.registerDashboardSvc('.SmartNamingSvc', services.smartNamingSvc);
- }
- return services;
- };
- BoardLoaderHelper.prototype.createBoardModuleFactory = function createBoardModuleFactory() {
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- return new BoardModuleFactory({
- modules: options.boardModules || DEFAULT_BOARD_MODULES,
- logger: this.dashboardApi.getGlassCoreSvc('.Logger')
- });
- };
- BoardLoaderHelper.prototype.loadLayoutExtensions = function loadLayoutExtensions(layoutExtensions, boardModuleFactory) {
- var promises = [];
- if (layoutExtensions.consumeViews) {
- Object.keys(layoutExtensions.consumeViews).forEach(function (key) {
- var module = layoutExtensions.consumeViews[key];
- if (typeof module === 'string') {
- module = {
- id: key,
- path: module
- };
- } else {
- module.id = module.id || key;
- }
- var promise = boardModuleFactory.make(module.type || BoardModuleFactory.defaultModuleType).then(function (boardModule) {
- return boardModule.load(module);
- }).then(function (result) {
- result.key = key;
- return result;
- });
- promises.push(promise);
- }, this);
- }
- return Promise.all(promises);
- };
- BoardLoaderHelper.prototype.registerLayoutExtensions = function registerLayoutExtensions(layoutExtensions) {
- var layoutExtensionsTemplates = {};
- layoutExtensions.forEach(function (layoutExtensions) {
- if (layoutExtensions.template) {
- layoutExtensionsTemplates[layoutExtensions.key] = layoutExtensions.template;
- }
- });
- var htmlTemplates = new HtmlTemplates({
- layoutExtensionsTemplates: layoutExtensionsTemplates
- });
- this.dashboardApi.registerDashboardSvc('htmlTemplates', htmlTemplates);
- };
- return BoardLoaderHelper;
- }();
- return BoardLoaderHelper;
- });
- //# sourceMappingURL=BoardLoaderHelper.js.map
|