123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- "use strict";
- /**
- * Licensed Materials - Property of IBM
- * IBM Cognos Products: Cognos Analytics
- * Copyright IBM Corp. 2018, 2018
- * US Government Users Restricted Rights - Use, duplication or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- */
- define(['underscore', 'bi/admin/common/slideout/BasePane', 'doT', 'bi/admin/nls/StringResource', 'text!bi/admin/common/templates/ManagePaneTemplate.html', '../../ba-graphics/dist/icons-js/user_32', '../../ba-graphics/dist/icons-js/email_32', '../../ba-graphics/dist/icons-js/capability_32', 'jquery'], function (_, BasePane, dot, StringResource, template, user32, email32, capability32, $) {
- /**
- * Sample content view that extends the glass AdminPane class
- *
- */
- var PeoplePane = BasePane.extend({
- init: function init(options) {
- PeoplePane.inherited('init', this, arguments);
- $.extend(this, options);
- this.moduleMap = {
- 'people_accounts': {
- 'moduleName': 'bi/admin/account/slideout/AccountListPane',
- 'size': '550px'
- },
- 'people_capabilities': {
- 'moduleName': 'bi/admin/account/slideout/CapabilitiesListPane',
- 'size': '400px'
- },
- 'people_contacts': {
- 'moduleName': 'bi/admin/account/slideout/ContactListPane',
- 'size': '350px'
- }
- };
- },
- _getMenuItems: function _getMenuItems() {
- var items = [];
- if (this._checkCapabilities('canUseUsersGroupsAndRolesTool')) {
- items.push({
- id: 'people_accounts',
- title: StringResource.get('accounts'),
- description: StringResource.get('accountsDetail'),
- icon: user32.default.id
- });
- }
- if (this.glassContext.isDevInstall() && this._checkCapabilities('canUseUsersGroupsAndRolesTool')) {
- items.push({
- id: 'people_accounts_newlist',
- title: StringResource.get('accounts_newlist'),
- description: StringResource.get('accountsDetail_newlist'),
- icon: user32.default.id
- });
- }
- if (this._checkCapabilities('canUseCapabilitiesTool')) {
- items.push({
- id: 'people_capabilities',
- title: StringResource.get('capabilities'),
- description: StringResource.get('capabilitiesDetail'),
- icon: capability32.default.id
- });
- }
- if (this._checkCapabilities('canUseDistributionListsAndContactsTool')) {
- items.push({
- id: 'people_contacts',
- title: StringResource.get('contacts'),
- description: StringResource.get('contactsDetail'),
- icon: email32.default.id
- });
- }
- return items;
- },
- _checkCapabilities: function _checkCapabilities(capabilityName) {
- return _.find(this.glassContext.services.userProfile.capabilities, function (capability) {
- return capability === capabilityName;
- });
- },
- _buildSlideout: function _buildSlideout(id, title) {
- this.glassContext.appController.showSlideOut({
- parent: this.slideout,
- overlay: true,
- width: this.moduleMap[id].size,
- label: title,
- content: {
- module: this.moduleMap[id].moduleName,
- title: title,
- showGobackButton: true
- }
- });
- },
- renderBody: function renderBody($body) {
- var $html = $(dot.template(template)({
- 'items': this._getMenuItems()
- }));
- $body.html($html);
- $body.addClass('bi-admin-entrance-pane');
- $body.find('.manage-sub-menu .adminentry').on('primaryaction', function (e) {
- if (this.slideout.child) {
- this.slideout.child.hide();
- }
- var childTitle = $(e.currentTarget).attr('title');
- if (this.glassContext.isDevInstall() && e.currentTarget.id === 'people_accounts_newlist') {
- this.glassContext.appController.openAppView('namespaces', {});
- } else {
- this._buildSlideout(e.currentTarget.id, childTitle);
- }
- }.bind(this));
- return Promise.resolve();
- }
- });
- return PeoplePane;
- });
|