123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- "use strict";
- /**
- * Licensed Materials - Property of IBM
- * IBM Cognos Products: Cognos Analytics
- * Copyright IBM Corp. 2015, 2016
- * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- */
- define(['bi/admin/nls/StringResource', 'bi/admin/common/utils/CapabilityHelper'], function (StringResource, CapabilityHelper) {
- 'use strict'; // NOSONAR: meant to be strict
- var _singletonInstance = null;
- var PluginsDefinition = function PluginsDefinition() {
- if (PluginsDefinition.prototype._singletonInstance) {
- return PluginsDefinition.prototype._singletonInstance;
- }
- };
- PluginsDefinition.prototype.getPlugins = function (isSysAdmin, tenantID, glassContext, options) {
- // set the glassContext into the capabilities helper
- CapabilityHelper.glassContext = glassContext; // this check if carried down from AdminPanel
- var isPortalAdmin = CapabilityHelper.checkCapabilities('canUsePortalAdministrationTool') && !isSysAdmin ? true : false;
- var canManageVisualizations = CapabilityHelper.checkCapabilities('canManageVisualizations') && !isSysAdmin ? true : false;
- var canUseUsersGroupsAndRoles = CapabilityHelper.checkCapabilities('canUseUsersGroupsAndRolesTool') && !isSysAdmin ? true : false;
- var tabs = [];
- var themesTabSpec = {
- name: StringResource.get('themes'),
- module: 'bi/admin/system/ThemesTab',
- parentView: options.slideout,
- slideout: options.slideout,
- getDefaultThemeCallback: options.getDefaultTheme,
- setDefaultThemeCallback: options.setDefaultTheme,
- isPortalAdmin: isPortalAdmin,
- tenantID: tenantID,
- disableApplyButton: !isSysAdmin && !isPortalAdmin,
- tenantsListController: options.listController
- };
- var extensionsTabSpec = {
- name: StringResource.get('extensions'),
- module: 'bi/admin/system/ExtensionsTab',
- parentView: options.slideout,
- slideout: options.slideout,
- tenantID: tenantID
- };
- var viewsTabSpec = {
- name: StringResource.get('views'),
- module: 'bi/admin/system/ViewsTab',
- parentView: options.slideout,
- slideout: options.slideout,
- isPortalAdmin: isPortalAdmin,
- tenantID: tenantID,
- isSysAdmin: isSysAdmin
- };
- var paletteTabSpec = {
- name: StringResource.get('palettes'),
- module: 'bi/admin/system/PalettesTab',
- parentView: options.slideout,
- slideout: options.slideout
- };
- var defaultProfileTabSpec = {
- name: StringResource.get('profile'),
- module: 'bi/admin/system/DefaultProfileTab',
- parentView: options.slideout,
- slideout: options.slideout
- };
- var customVisualizationsTabSpec = {
- name: StringResource.get('customVisualizations'),
- module: 'bi/admin/system/CustomVisualizationsTab',
- parentView: options.slideout,
- slideout: options.slideout
- }; // tabs used to be protected with canUsePortalAdministrationTool
- if (isSysAdmin || isPortalAdmin) {
- tabs.push(themesTabSpec);
- tabs.push(extensionsTabSpec);
- tabs.push(paletteTabSpec);
- tabs.push(viewsTabSpec);
- }
- if (isSysAdmin || !tenantID && canUseUsersGroupsAndRoles) {
- tabs.push(defaultProfileTabSpec);
- } // parameters used to be protected with canUsePortalAdministrationTool
- if (isSysAdmin || isPortalAdmin) {
- tabs.push({
- name: StringResource.get('globalParameters'),
- module: 'bi/admin/common/GlobalParametersTab',
- parentView: options.slideout,
- slideout: options.slideout,
- getParameters: options.getParameters,
- updateParameters: options.updateParameters,
- isPortalAdmin: isPortalAdmin,
- tenantID: tenantID,
- isSysAdmin: isSysAdmin
- });
- }
- if (isSysAdmin || canManageVisualizations) {
- tabs.push(customVisualizationsTabSpec);
- }
- return tabs;
- };
- var _static = {
- getInstance: function getInstance() {
- if (!_singletonInstance) {
- _singletonInstance = new PluginsDefinition();
- }
- return _singletonInstance;
- }
- };
- return _static.getInstance();
- });
|