123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- "use strict";
- /**
- * Licensed Materials - Property of IBM
- * IBM Cognos Products: admin
- * Copyright IBM Corp. 2018
- * US Government Users Restricted Rights - Use, duplication or disclosure
- * restricted by GSA ADP Schedule Contract with IBM Corp.
- */
- define(['underscore', 'bi/content_apps/PropertiesTab', 'bi/glass/app/ContentView', 'bi/admin/nls/StringResource', 'react-dom', 'react', 'mobx', 'ba-react-admin/ba-react-admin.min'], function (_, PropertiesTab, ContentView, StringResource, ReactDOM, React, mobx, AdminReact) {
- 'use strict'; //NOSONAR: meant to be strict
- var SignonMembersTab = ContentView.extend({
- init: function init(options) {
- SignonMembersTab.inherited('init', this, arguments);
- _.extend(this, options);
- },
- addMembers: function addMembers(membersList) {
- var defaultTypes = this.objectInfo.type === 'group' ? ['group', 'account'] : ['group', 'role', 'account'];
- this.membersList = membersList;
- this.addMemberSlideout = this.glassContext.appController.showSlideOut({
- 'parent': this.slideout,
- 'width': "450px",
- 'content': {
- 'module': 'bi/admin/account/slideout/SecurityObjectSelectorPane',
- 'parentView': this,
- 'objectInfo': [this.objectInfo],
- 'allowedSelectionTypes': defaultTypes,
- 'multiSelectCallback': this.addSelection.bind(this),
- targetType: []
- }
- });
- },
- addSelection: function addSelection(selectedItems) {
- var tempList = mobx.toJS(this.membersList);
- _.each(selectedItems, function (item) {
- var memberObject = {
- 'id': item.id,
- 'label': item.defaultName,
- 'searchPath': item.searchPath,
- 'type': item.objectClass
- };
- tempList.push(memberObject);
- }.bind(this));
- var uniqueList = _.uniq(tempList, function (item, key, a) {
- return item.label;
- });
- this.membersList.replace(uniqueList);
- this.objectInfo.membersListObject = mobx.toJS(this.membersList);
- },
- render: function render() {
- this.$el.addClass("reactSignonMemberList");
- ReactDOM.unmountComponentAtNode(this.$el[0]);
- this.signonMemberList = React.createElement(AdminReact.SignonMemberList, {
- 'glassContext': this.glassContext,
- 'slideout': this.slideout,
- 'StringResource': StringResource,
- 'objectInfo': this.objectInfo,
- 'parent': this
- });
- ReactDOM.render(this.signonMemberList, this.$el[0]);
- return Promise.resolve();
- },
- onClose: function onClose() {
- SignonMembersTab.inherited('onClose', this, arguments);
- ReactDOM.unmountComponentAtNode(this.$el[0]);
- this.signonMemberList = null;
- },
- _getBlankHtml: function _getBlankHtml(members) {
- return '<div class="member-pane-empty">' + '<div class="emptyTableImage wft_bee"></div>' + '<div class="emptyTableText">' + StringResource.get(members + 'MemberMsg') + '</div>';
- }
- });
- return SignonMembersTab;
- });
|