@bigbinary/neeto-team-members-frontend 2.8.0 → 2.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -6,21 +6,21 @@ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
6
6
  var React = require('react');
7
7
  var pure = require('@bigbinary/neeto-commons-frontend/pure');
8
8
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
9
- var neetoIcons = require('@bigbinary/neeto-icons');
10
9
  var Container = require('@bigbinary/neeto-molecules/Container');
11
10
  var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
12
- var SubHeaderMolecule = require('@bigbinary/neeto-molecules/SubHeader');
13
- var neetoui = require('@bigbinary/neetoui');
14
11
  var ramda = require('ramda');
15
12
  var reactQuery = require('react-query');
16
13
  var devtools = require('react-query/devtools');
17
14
  var axios = require('axios');
15
+ var neetoIcons = require('@bigbinary/neeto-icons');
18
16
  var NeetoHeader = require('@bigbinary/neeto-molecules/Header');
17
+ var neetoui = require('@bigbinary/neetoui');
19
18
  var formik$1 = require('@bigbinary/neetoui/formik');
20
19
  var formik = require('formik');
21
20
  var yup = require('yup');
22
21
  var classnames = require('classnames');
23
22
  var neetoFiltersFrontend = require('@bigbinary/neeto-filters-frontend');
23
+ var SubHeaderMolecule = require('@bigbinary/neeto-molecules/SubHeader');
24
24
  var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
25
25
  var reactRouterDom = require('react-router-dom');
26
26
  var require$$0 = require('util');
@@ -49,11 +49,11 @@ function _interopNamespace(e) {
49
49
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
50
50
  var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
51
51
  var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
52
- var SubHeaderMolecule__default = /*#__PURE__*/_interopDefaultLegacy(SubHeaderMolecule);
53
52
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
54
53
  var NeetoHeader__default = /*#__PURE__*/_interopDefaultLegacy(NeetoHeader);
55
54
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
56
55
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
56
+ var SubHeaderMolecule__default = /*#__PURE__*/_interopDefaultLegacy(SubHeaderMolecule);
57
57
  var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
58
58
  var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
59
59
  var MenuBar__default = /*#__PURE__*/_interopDefaultLegacy(MenuBar);
@@ -4193,7 +4193,7 @@ var I18n = function (_EventEmitter) {
4193
4193
  this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);
4194
4194
  return false;
4195
4195
  }
4196
- var lng = this.resolvedLanguage || this.languages[0];
4196
+ var lng = options.lng || this.resolvedLanguage || this.languages[0];
4197
4197
  var fallbackLng = this.options ? this.options.fallbackLng : false;
4198
4198
  var lastLng = this.languages[this.languages.length - 1];
4199
4199
  if (lng.toLowerCase() === 'cimode') return true;
@@ -4763,8 +4763,9 @@ function warnOnce() {
4763
4763
  if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();
4764
4764
  warn.apply(void 0, args);
4765
4765
  }
4766
- function loadNamespaces(i18n, ns, cb) {
4767
- i18n.loadNamespaces(ns, function () {
4766
+
4767
+ var loadedClb = function loadedClb(i18n, cb) {
4768
+ return function () {
4768
4769
  if (i18n.isInitialized) {
4769
4770
  cb();
4770
4771
  } else {
@@ -4777,7 +4778,18 @@ function loadNamespaces(i18n, ns, cb) {
4777
4778
 
4778
4779
  i18n.on('initialized', initialized);
4779
4780
  }
4781
+ };
4782
+ };
4783
+
4784
+ function loadNamespaces(i18n, ns, cb) {
4785
+ i18n.loadNamespaces(ns, loadedClb(i18n, cb));
4786
+ }
4787
+ function loadLanguages(i18n, lng, ns, cb) {
4788
+ if (typeof ns === 'string') ns = [ns];
4789
+ ns.forEach(function (n) {
4790
+ if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);
4780
4791
  });
4792
+ i18n.loadLanguages(lng, loadedClb(i18n, cb));
4781
4793
  }
4782
4794
 
4783
4795
  function oldI18nextHasLoadedNamespace(ns, i18n) {
@@ -4814,6 +4826,7 @@ function hasLoadedNamespace(ns, i18n) {
4814
4826
  }
4815
4827
 
4816
4828
  return i18n.hasLoadedNamespace(ns, {
4829
+ lng: options.lng,
4817
4830
  precheck: function precheck(i18nInstance, loadNotPending) {
4818
4831
  if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;
4819
4832
  }
@@ -5310,7 +5323,7 @@ function useTranslation(ns) {
5310
5323
  });
5311
5324
 
5312
5325
  function getT() {
5313
- return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);
5326
+ return i18n.getFixedT(props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);
5314
5327
  }
5315
5328
 
5316
5329
  var _useState = React.useState(getT),
@@ -5319,6 +5332,7 @@ function useTranslation(ns) {
5319
5332
  setT = _useState2[1];
5320
5333
 
5321
5334
  var joinedNS = namespaces.join();
5335
+ if (props.lng) joinedNS = "".concat(props.lng).concat(joinedNS);
5322
5336
  var previousJoinedNS = usePrevious(joinedNS);
5323
5337
  var isMounted = React.useRef(true);
5324
5338
  React.useEffect(function () {
@@ -5327,9 +5341,15 @@ function useTranslation(ns) {
5327
5341
  isMounted.current = true;
5328
5342
 
5329
5343
  if (!ready && !useSuspense) {
5330
- loadNamespaces(i18n, namespaces, function () {
5331
- if (isMounted.current) setT(getT);
5332
- });
5344
+ if (props.lng) {
5345
+ loadLanguages(i18n, props.lng, namespaces, function () {
5346
+ if (isMounted.current) setT(getT);
5347
+ });
5348
+ } else {
5349
+ loadNamespaces(i18n, namespaces, function () {
5350
+ if (isMounted.current) setT(getT);
5351
+ });
5352
+ }
5333
5353
  }
5334
5354
 
5335
5355
  if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {
@@ -5367,9 +5387,15 @@ function useTranslation(ns) {
5367
5387
  if (ready) return ret;
5368
5388
  if (!ready && !useSuspense) return ret;
5369
5389
  throw new Promise(function (resolve) {
5370
- loadNamespaces(i18n, namespaces, function () {
5371
- resolve();
5372
- });
5390
+ if (props.lng) {
5391
+ loadLanguages(i18n, props.lng, namespaces, function () {
5392
+ return resolve();
5393
+ });
5394
+ } else {
5395
+ loadNamespaces(i18n, namespaces, function () {
5396
+ return resolve();
5397
+ });
5398
+ }
5373
5399
  });
5374
5400
  }
5375
5401
 
@@ -7087,8 +7113,6 @@ var SINGULAR = {
7087
7113
  var PLURAL = {
7088
7114
  count: 2
7089
7115
  };
7090
- var MANAGE_MEMBER_PERMISSIONS = ["members.manage_members", "agents.manage_agents"];
7091
- var DEFAULT_PERMISSION = true;
7092
7116
  var DEFAULT_PAGE_SIZE = 30;
7093
7117
  var ADMIN_ROLE_NAME = "Admin";
7094
7118
  var OWNER_ROLE_NAME = "Owner";
@@ -7279,18 +7303,18 @@ var renderBreadcrumbs = function renderBreadcrumbs(breadcrumbs) {
7279
7303
  };
7280
7304
 
7281
7305
  var AddRoleButton = function AddRoleButton(_ref) {
7282
- var _permissions$create, _permissions$create2;
7283
- var onClick = _ref.onClick,
7284
- permissions = _ref.permissions;
7306
+ var config = _ref.config,
7307
+ onClick = _ref.onClick;
7285
7308
  var _useTranslation = useTranslation(),
7286
7309
  t = _useTranslation.t;
7310
+ var isCreatePermissionGranted = config.permissions.create;
7287
7311
  return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
7288
7312
  content: t("tooltips.noPermissionToAddRole"),
7289
- disabled: (_permissions$create = permissions === null || permissions === void 0 ? void 0 : permissions.create) !== null && _permissions$create !== void 0 ? _permissions$create : hasPermission(MANAGE_MEMBER_PERMISSIONS),
7313
+ disabled: isCreatePermissionGranted,
7290
7314
  position: "bottom"
7291
7315
  }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
7292
7316
  "data-cy": "ntm-add-role-button",
7293
- disabled: !((_permissions$create2 = permissions === null || permissions === void 0 ? void 0 : permissions.create) !== null && _permissions$create2 !== void 0 ? _permissions$create2 : hasPermission(MANAGE_MEMBER_PERMISSIONS)),
7317
+ disabled: !isCreatePermissionGranted,
7294
7318
  label: t("common.addNew_", {
7295
7319
  what: t("common.role", SINGULAR).toLocaleLowerCase()
7296
7320
  }),
@@ -7299,7 +7323,7 @@ var AddRoleButton = function AddRoleButton(_ref) {
7299
7323
  };
7300
7324
 
7301
7325
  var Header$1 = function Header(_ref) {
7302
- var _config$permissions$u, _config$permissions, _config$header;
7326
+ var _config$header;
7303
7327
  var config = _ref.config,
7304
7328
  handleReset = _ref.handleReset,
7305
7329
  handleSubmit = _ref.handleSubmit,
@@ -7309,18 +7333,18 @@ var Header$1 = function Header(_ref) {
7309
7333
  setIsNewRolePaneOpen = _ref.setIsNewRolePaneOpen;
7310
7334
  var _useTranslation = useTranslation(),
7311
7335
  t = _useTranslation.t;
7312
- var hasUpdateRolePermission = (_config$permissions$u = config === null || config === void 0 ? void 0 : (_config$permissions = config.permissions) === null || _config$permissions === void 0 ? void 0 : _config$permissions.update) !== null && _config$permissions$u !== void 0 ? _config$permissions$u : hasPermission(MANAGE_MEMBER_PERMISSIONS);
7336
+ var isUpdatePermissionGranted = config.permissions.update;
7313
7337
  return /*#__PURE__*/React__default["default"].createElement(NeetoHeader__default["default"], {
7314
7338
  breadcrumbs: renderBreadcrumbs(config === null || config === void 0 ? void 0 : (_config$header = config.header) === null || _config$header === void 0 ? void 0 : _config$header.breadcrumbs),
7315
7339
  className: "ntm-roles-header",
7316
7340
  searchProps: renderSearchProps(searchString, setSearchString),
7317
7341
  actionBlock: isDirty ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
7318
7342
  content: t("tooltips.noPermissionToEditRoles"),
7319
- disabled: hasUpdateRolePermission,
7343
+ disabled: isUpdatePermissionGranted,
7320
7344
  position: "bottom"
7321
7345
  }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
7322
7346
  "data-cy": "ntm-role-submission-button",
7323
- disabled: !hasUpdateRolePermission,
7347
+ disabled: !isUpdatePermissionGranted,
7324
7348
  label: t("buttons.saveChanges"),
7325
7349
  type: "submit",
7326
7350
  onClick: handleSubmit
@@ -7331,7 +7355,7 @@ var Header$1 = function Header(_ref) {
7331
7355
  type: "reset",
7332
7356
  onClick: handleReset
7333
7357
  })) : /*#__PURE__*/React__default["default"].createElement(AddRoleButton, {
7334
- permissions: config === null || config === void 0 ? void 0 : config.permissions,
7358
+ config: config,
7335
7359
  onClick: function onClick() {
7336
7360
  return setIsNewRolePaneOpen(true);
7337
7361
  }
@@ -7828,6 +7852,7 @@ var Row = function Row(_ref) {
7828
7852
  permission = _ref$permission === void 0 ? null : _ref$permission,
7829
7853
  roles = _ref.roles,
7830
7854
  setModifiedRoles = _ref.setModifiedRoles;
7855
+ var isUpdatePermissionGranted = config.permissions.update;
7831
7856
  var permissions = (allPermissionsOfCategory === null || allPermissionsOfCategory === void 0 ? void 0 : allPermissionsOfCategory.get("permissions")) || [];
7832
7857
  var allPermissionIdsOfCategory = ramda.map(ramda.prop("id"), permissions);
7833
7858
  var handleSubmit = function handleSubmit(role, checked) {
@@ -7847,14 +7872,13 @@ var Row = function Row(_ref) {
7847
7872
  "ntm-roles-table__row--highlighted": !!allPermissionsOfCategory
7848
7873
  })
7849
7874
  }, roles.map(function (role) {
7850
- var _config$permissions$u, _config$permissions;
7851
7875
  return /*#__PURE__*/React__default["default"].createElement("div", {
7852
7876
  className: "ntm-roles-table__cell",
7853
7877
  key: role.id
7854
7878
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
7855
7879
  content: renderRolesTooltipContent(role.name),
7856
7880
  position: "top",
7857
- disabled: ((_config$permissions$u = config === null || config === void 0 ? void 0 : (_config$permissions = config.permissions) === null || _config$permissions === void 0 ? void 0 : _config$permissions.update) !== null && _config$permissions$u !== void 0 ? _config$permissions$u : DEFAULT_PERMISSION) && !ramda.identical(role.name, "Admin")
7881
+ disabled: isUpdatePermissionGranted && !ramda.identical(role.name, "Admin")
7858
7882
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7859
7883
  className: "ntm-roles-table-cell__checkbox-wrapper"
7860
7884
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Checkbox, {
@@ -7879,6 +7903,8 @@ var TableHeader = function TableHeader(_ref) {
7879
7903
  setIsScrollPresent = _ref.setIsScrollPresent;
7880
7904
  var _useTranslation = useTranslation(),
7881
7905
  t = _useTranslation.t;
7906
+ var isUpdatePermissionGranted = config.permissions.update;
7907
+ var isDeletePermissionGranted = config.permissions["delete"];
7882
7908
  var scrollSyncElement = React.useRef(null);
7883
7909
  var getOverflowStatus = React.useCallback(function () {
7884
7910
  if (scrollSyncElement.current) {
@@ -7896,7 +7922,6 @@ var TableHeader = function TableHeader(_ref) {
7896
7922
  }, /*#__PURE__*/React__default["default"].createElement("div", {
7897
7923
  className: "ntm-roles-table__header"
7898
7924
  }, roles === null || roles === void 0 ? void 0 : roles.map(function (role, index) {
7899
- var _config$permissions$u, _config$permissions, _config$permissions$u2, _config$permissions2, _config$permissions$d, _config$permissions3, _config$permissions$d2, _config$permissions4;
7900
7925
  var isSystemRole = ramda.identical("system", role.kind);
7901
7926
  var isAdminRole = ADMIN_ROLES.includes(role.name) && isSystemRole;
7902
7927
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -7921,13 +7946,13 @@ var TableHeader = function TableHeader(_ref) {
7921
7946
  }, /*#__PURE__*/React__default["default"].createElement(Menu$4, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
7922
7947
  content: t("tooltips.noPermissionToEditRoles"),
7923
7948
  position: "left",
7924
- disabled: (_config$permissions$u = config === null || config === void 0 ? void 0 : (_config$permissions = config.permissions) === null || _config$permissions === void 0 ? void 0 : _config$permissions.update) !== null && _config$permissions$u !== void 0 ? _config$permissions$u : DEFAULT_PERMISSION
7949
+ disabled: isUpdatePermissionGranted
7925
7950
  }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(MenuItem$3.Button, {
7926
7951
  className: "ntm-dropdown__button",
7927
7952
  "data-cy": "ntm-roles-table-edit-role-button",
7928
7953
  size: "small",
7929
7954
  style: "text",
7930
- disabled: !((_config$permissions$u2 = config === null || config === void 0 ? void 0 : (_config$permissions2 = config.permissions) === null || _config$permissions2 === void 0 ? void 0 : _config$permissions2.update) !== null && _config$permissions$u2 !== void 0 ? _config$permissions$u2 : DEFAULT_PERMISSION),
7955
+ disabled: !isUpdatePermissionGranted,
7931
7956
  onClick: function onClick() {
7932
7957
  return setManageRole({
7933
7958
  isEdit: true,
@@ -7937,12 +7962,12 @@ var TableHeader = function TableHeader(_ref) {
7937
7962
  }, t("common.edit")))), !isSystemRole && /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
7938
7963
  content: t("tooltips.noPermissionToRemoveRoles"),
7939
7964
  position: "left",
7940
- disabled: (_config$permissions$d = config === null || config === void 0 ? void 0 : (_config$permissions3 = config.permissions) === null || _config$permissions3 === void 0 ? void 0 : _config$permissions3["delete"]) !== null && _config$permissions$d !== void 0 ? _config$permissions$d : DEFAULT_PERMISSION
7965
+ disabled: isDeletePermissionGranted
7941
7966
  }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(MenuItem$3.Button, {
7942
7967
  className: "ntm-dropdown__button",
7943
7968
  "data-cy": "ntm-roles-table-delete-role-button",
7944
7969
  size: "small",
7945
- disabled: !((_config$permissions$d2 = config === null || config === void 0 ? void 0 : (_config$permissions4 = config.permissions) === null || _config$permissions4 === void 0 ? void 0 : _config$permissions4["delete"]) !== null && _config$permissions$d2 !== void 0 ? _config$permissions$d2 : DEFAULT_PERMISSION),
7970
+ disabled: !isDeletePermissionGranted,
7946
7971
  onClick: function onClick() {
7947
7972
  return setManageRole({
7948
7973
  isDelete: true,
@@ -8173,7 +8198,6 @@ var Sidebar = function Sidebar(_ref) {
8173
8198
  };
8174
8199
 
8175
8200
  var Table = function Table(_ref) {
8176
- var _config$permissions$c, _config$permissions;
8177
8201
  var config = _ref.config,
8178
8202
  filteredRoles = _ref.filteredRoles,
8179
8203
  roles = _ref.roles,
@@ -8183,6 +8207,7 @@ var Table = function Table(_ref) {
8183
8207
  setIsNewRolePaneOpen = _ref.setIsNewRolePaneOpen;
8184
8208
  var _useTranslation = useTranslation(),
8185
8209
  t = _useTranslation.t;
8210
+ var isCreatePermissionGranted = config.permissions.create;
8186
8211
  var _useState = React.useState(""),
8187
8212
  _useState2 = _slicedToArray(_useState, 2),
8188
8213
  searchTerm = _useState2[0],
@@ -8207,7 +8232,6 @@ var Table = function Table(_ref) {
8207
8232
  _useState12 = _slicedToArray(_useState11, 2),
8208
8233
  isEditPaneOpen = _useState12[0],
8209
8234
  setIsEditPaneOpen = _useState12[1];
8210
- var isAddRoleDisabled = !((_config$permissions$c = (_config$permissions = config.permissions) === null || _config$permissions === void 0 ? void 0 : _config$permissions.create) !== null && _config$permissions$c !== void 0 ? _config$permissions$c : hasPermission(MANAGE_MEMBER_PERMISSIONS));
8211
8235
  var toggleDropdown = function toggleDropdown(category) {
8212
8236
  var permissions = updatePermissionVisibility(category, filteredGroupPermissions);
8213
8237
  setFilteredGroupPermissions(permissions);
@@ -8229,7 +8253,7 @@ var Table = function Table(_ref) {
8229
8253
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, {
8230
8254
  primaryButtonProps: {
8231
8255
  "data-cy": "ntm-add-role-button",
8232
- disabled: isAddRoleDisabled,
8256
+ disabled: !isCreatePermissionGranted,
8233
8257
  label: t("common.addNew_", {
8234
8258
  what: t("common.role", SINGULAR).toLocaleLowerCase()
8235
8259
  }),
@@ -8269,10 +8293,11 @@ var Table = function Table(_ref) {
8269
8293
  };
8270
8294
 
8271
8295
  var Roles = function Roles(_ref) {
8272
- var _config$permissions$v, _config$permissions, _config$permissions$v2, _config$permissions2, _config$permissions$u, _config$permissions3;
8273
8296
  var config = _ref.config;
8274
8297
  var _useTranslation = useTranslation();
8275
8298
  _useTranslation.t;
8299
+ var isViewPermissionGranted = config.permissions.view;
8300
+ var isUpdatePermissionGranted = config.permissions.update;
8276
8301
  var _useState = React.useState(""),
8277
8302
  _useState2 = _slicedToArray(_useState, 2),
8278
8303
  searchString = _useState2[0],
@@ -8289,17 +8314,17 @@ var Roles = function Roles(_ref) {
8289
8314
  onSuccess: function onSuccess(roles) {
8290
8315
  return setModifiedRoles(roles);
8291
8316
  },
8292
- enabled: (_config$permissions$v = config === null || config === void 0 ? void 0 : (_config$permissions = config.permissions) === null || _config$permissions === void 0 ? void 0 : _config$permissions.view) !== null && _config$permissions$v !== void 0 ? _config$permissions$v : DEFAULT_PERMISSION
8317
+ enabled: isViewPermissionGranted
8293
8318
  }),
8294
8319
  roles = _useFetchRoles.data,
8295
8320
  isRolesLoading = _useFetchRoles.isLoading;
8296
8321
  var _useFetchPermissions = useFetchPermissions({
8297
- enabled: (_config$permissions$v2 = config === null || config === void 0 ? void 0 : (_config$permissions2 = config.permissions) === null || _config$permissions2 === void 0 ? void 0 : _config$permissions2.view) !== null && _config$permissions$v2 !== void 0 ? _config$permissions$v2 : DEFAULT_PERMISSION
8322
+ enabled: isViewPermissionGranted
8298
8323
  }),
8299
8324
  permissionData = _useFetchPermissions.data,
8300
8325
  isPermissionsLoading = _useFetchPermissions.isLoading;
8301
8326
  var _useBulkUpdateRoles = useBulkUpdateRoles({
8302
- enabled: (_config$permissions$u = config === null || config === void 0 ? void 0 : (_config$permissions3 = config.permissions) === null || _config$permissions3 === void 0 ? void 0 : _config$permissions3.update) !== null && _config$permissions$u !== void 0 ? _config$permissions$u : DEFAULT_PERMISSION
8327
+ enabled: isUpdatePermissionGranted
8303
8328
  }),
8304
8329
  bulkUpdate = _useBulkUpdateRoles.mutate;
8305
8330
  var _useState7 = React.useState(roles),
@@ -11133,10 +11158,6 @@ var renderNameColumn = function renderNameColumn(_ref) {
11133
11158
  label: active ? MEMBER_FILTER.ACTIVE.label : MEMBER_FILTER.DEACTIVATED.label
11134
11159
  })), renderDropdownButton(tableData, handleUpdateRole, handleUpdateStatus, permissions));
11135
11160
  };
11136
- var isDropDownButtonDisabled = function isDropDownButtonDisabled(permissions) {
11137
- var _permissions$update;
11138
- return !((_permissions$update = permissions === null || permissions === void 0 ? void 0 : permissions.update) !== null && _permissions$update !== void 0 ? _permissions$update : hasPermission(MANAGE_MEMBER_PERMISSIONS));
11139
- };
11140
11161
  var renderDropdownButton = function renderDropdownButton(_ref2, handleUpdateRole, handleUpdateStatus, permissions) {
11141
11162
  var active = _ref2.active,
11142
11163
  displayName = _ref2.displayName,
@@ -11154,12 +11175,12 @@ var renderDropdownButton = function renderDropdownButton(_ref2, handleUpdateRole
11154
11175
  "data-cy": "ntm-members-table-row-dropdown-button",
11155
11176
  tooltipProps: {
11156
11177
  content: instance.t("tooltips.noPermissionToEditMembers"),
11157
- disabled: !isDropDownButtonDisabled(permissions),
11178
+ disabled: permissions.update,
11158
11179
  position: "top"
11159
11180
  }
11160
11181
  },
11161
11182
  buttonStyle: "text",
11162
- disabled: isDropDownButtonDisabled(permissions),
11183
+ disabled: !permissions.update,
11163
11184
  icon: neetoIcons.MenuHorizontal,
11164
11185
  strategy: "fixed"
11165
11186
  }, /*#__PURE__*/React__default["default"].createElement(Menu$3, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
@@ -11286,7 +11307,7 @@ var getColumnData = function getColumnData(_ref7) {
11286
11307
  displayStatusTag: displayStatusTag,
11287
11308
  handleUpdateRole: handleUpdateRole,
11288
11309
  handleUpdateStatus: handleUpdateStatus,
11289
- permissions: config === null || config === void 0 ? void 0 : config.permissions
11310
+ permissions: config.permissions
11290
11311
  });
11291
11312
  var otherColumns = (_config$otherColumns = config === null || config === void 0 ? void 0 : config.otherColumns) !== null && _config$otherColumns !== void 0 ? _config$otherColumns : [];
11292
11313
  var columns = defaultColumns.map(function (column) {
@@ -11958,17 +11979,16 @@ var MANAGE_ROLES_BUTTON_LABEL = instance.t("common.manage_", {
11958
11979
  });
11959
11980
 
11960
11981
  var Header = function Header(_ref) {
11961
- var _permissions$create, _config$header;
11982
+ var _config$header;
11962
11983
  var config = _ref.config,
11963
11984
  metaName = _ref.metaName,
11964
11985
  _ref$onClick = _ref.onClick,
11965
11986
  onClick = _ref$onClick === void 0 ? pure.noop : _ref$onClick,
11966
- permissions = _ref.permissions,
11967
11987
  rolesButtonProps = _ref.rolesButtonProps;
11968
11988
  var _useTranslation = useTranslation(),
11969
11989
  t = _useTranslation.t;
11990
+ var isCreatePermissionGranted = config.permissions.create;
11970
11991
  var isRolesButtonVisible = !!rolesButtonProps;
11971
- var hasCreatePermission = (_permissions$create = permissions === null || permissions === void 0 ? void 0 : permissions.create) !== null && _permissions$create !== void 0 ? _permissions$create : hasPermission(MANAGE_MEMBER_PERMISSIONS);
11972
11992
  var isOtherActionBlockVisible = !!(config !== null && config !== void 0 && (_config$header = config.header) !== null && _config$header !== void 0 && _config$header.otherActionBlock);
11973
11993
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isOtherActionBlockVisible && config.header.otherActionBlock(), isRolesButtonVisible ? /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends({
11974
11994
  "data-cy": "ntm-manage-roles-button",
@@ -11976,11 +11996,11 @@ var Header = function Header(_ref) {
11976
11996
  style: "secondary"
11977
11997
  }, rolesButtonProps)) : null, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
11978
11998
  content: t("tooltips.noPermissionToAddMember"),
11979
- disabled: hasCreatePermission,
11999
+ disabled: isCreatePermissionGranted,
11980
12000
  position: "bottom"
11981
12001
  }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
11982
12002
  "data-cy": "ntm-add-member-button",
11983
- disabled: !hasCreatePermission,
12003
+ disabled: !isCreatePermissionGranted,
11984
12004
  label: t("common.addNew_", {
11985
12005
  what: metaName(SINGULAR).toLocaleLowerCase()
11986
12006
  }),
@@ -12030,7 +12050,7 @@ var RolesDropdown = function RolesDropdown(_ref) {
12030
12050
  searchTerm = _useState4[0],
12031
12051
  setSearchTerm = _useState4[1];
12032
12052
  var filteredRoles = filterBySearchTerm(searchTerm, roles);
12033
- var isUpdationAllowed = hasUpdatePermission && !disabled;
12053
+ var isUpdatingAllowed = hasUpdatePermission && !disabled;
12034
12054
  var handleSearch = function handleSearch(_ref2) {
12035
12055
  var value = _ref2.target.value;
12036
12056
  return setSearchTerm(value);
@@ -12050,17 +12070,17 @@ var RolesDropdown = function RolesDropdown(_ref) {
12050
12070
  };
12051
12071
  return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
12052
12072
  content: t("tooltips.activateUserToEdit", PLURAL),
12053
- disabled: isUpdationAllowed,
12073
+ disabled: isUpdatingAllowed,
12054
12074
  position: "top"
12055
12075
  }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
12056
12076
  buttonStyle: "secondary",
12057
12077
  closeOnSelect: false,
12058
12078
  "data-cy": "ntm-members-roles-update-dropdown-button",
12059
- disabled: !isUpdationAllowed,
12060
- isOpen: isUpdationAllowed && isDropdownOpen,
12079
+ disabled: !isUpdatingAllowed,
12080
+ isOpen: isUpdatingAllowed && isDropdownOpen,
12061
12081
  position: "auto-end",
12062
12082
  customTarget: /*#__PURE__*/React__default["default"].createElement(MenuItem$1.Button, {
12063
- disabled: !isUpdationAllowed,
12083
+ disabled: !isUpdatingAllowed,
12064
12084
  suffix: /*#__PURE__*/React__default["default"].createElement(neetoIcons.Right, {
12065
12085
  size: 16
12066
12086
  })
@@ -12099,7 +12119,7 @@ var RolesDropdown = function RolesDropdown(_ref) {
12099
12119
  var Menu$1 = neetoui.Dropdown.Menu,
12100
12120
  MenuItem = neetoui.Dropdown.MenuItem;
12101
12121
  var Left = function Left(_ref) {
12102
- var _selectedRows$keys$le, _selectedRows$keys, _config$permissions$u, _config$permissions, _selectedRows$active, _config$hiddenBulkAct, _config$otherBulkActi;
12122
+ var _selectedRows$keys$le, _selectedRows$keys, _selectedRows$active, _config$hiddenBulkAct, _config$otherBulkActi;
12103
12123
  var config = _ref.config,
12104
12124
  filteredCount = _ref.filteredCount,
12105
12125
  metaName = _ref.metaName,
@@ -12108,6 +12128,7 @@ var Left = function Left(_ref) {
12108
12128
  setSelectedRows = _ref.setSelectedRows;
12109
12129
  var _useTranslation = useTranslation(),
12110
12130
  t = _useTranslation.t;
12131
+ var isUpdatePermissionGranted = config.permissions.update;
12111
12132
  var _useState = React.useState(""),
12112
12133
  _useState2 = _slicedToArray(_useState, 2),
12113
12134
  alertType = _useState2[0],
@@ -12124,7 +12145,6 @@ var Left = function Left(_ref) {
12124
12145
  }).toLocaleLowerCase(),
12125
12146
  totalCount: filteredCount
12126
12147
  };
12127
- var hasUpdatePermission = (_config$permissions$u = config === null || config === void 0 ? void 0 : (_config$permissions = config.permissions) === null || _config$permissions === void 0 ? void 0 : _config$permissions.update) !== null && _config$permissions$u !== void 0 ? _config$permissions$u : DEFAULT_PERMISSION;
12128
12148
  var hasDeactivateMembers = selectedRows === null || selectedRows === void 0 ? void 0 : (_selectedRows$active = selectedRows.active) === null || _selectedRows$active === void 0 ? void 0 : _selectedRows$active.some(function (active) {
12129
12149
  return !active;
12130
12150
  });
@@ -12161,10 +12181,6 @@ var Left = function Left(_ref) {
12161
12181
  }
12162
12182
  });
12163
12183
  };
12164
- var handleAlertClose = function handleAlertClose() {
12165
- selectedAlert.onSubmit();
12166
- setAlertType("");
12167
- };
12168
12184
  var alertTypes = [{
12169
12185
  message: "alerts.messages.deactivateMember",
12170
12186
  onSubmit: handleDeactivateMembers,
@@ -12188,6 +12204,10 @@ var Left = function Left(_ref) {
12188
12204
  var selectedAlert = pure.findBy({
12189
12205
  type: alertType
12190
12206
  }, alertTypes);
12207
+ var handleAlertClose = function handleAlertClose() {
12208
+ selectedAlert.onSubmit(bulkUpdateRole);
12209
+ setAlertType("");
12210
+ };
12191
12211
  return /*#__PURE__*/React__default["default"].createElement("div", {
12192
12212
  className: "neeto-ui-flex neeto-ui-items-center neeto-ui-gap-4"
12193
12213
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
@@ -12204,28 +12224,28 @@ var Left = function Left(_ref) {
12204
12224
  i18nKey: hasSelectedRows ? "helpers.selectedMembersCount" : "helpers.metaNameWithCount_"
12205
12225
  })), hasSelectedRows && /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
12206
12226
  content: t("tooltips.noPermissionToEditMembers"),
12207
- disabled: hasUpdatePermission,
12227
+ disabled: isUpdatePermissionGranted,
12208
12228
  position: "top"
12209
12229
  }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
12210
12230
  buttonStyle: "secondary",
12211
12231
  "data-cy": "ntm-members-take-action-dropdown-button",
12212
- disabled: !hasUpdatePermission,
12232
+ disabled: !isUpdatePermissionGranted,
12213
12233
  label: t("common.takeAction")
12214
12234
  }, /*#__PURE__*/React__default["default"].createElement(Menu$1, null, getDeactivatedButtonVisible(selectedRows, config) && /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
12215
12235
  "data-cy": "ntm-deactivate-members-button",
12216
- disabled: !hasUpdatePermission,
12236
+ disabled: !isUpdatePermissionGranted,
12217
12237
  onClick: function onClick() {
12218
12238
  return setAlertType("deactivate");
12219
12239
  }
12220
12240
  }, t("common.deactivate")), getActivateButtonVisible(selectedRows, config) && /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
12221
12241
  "data-cy": "ntm-activate-members-button",
12222
- disabled: !hasUpdatePermission,
12242
+ disabled: !isUpdatePermissionGranted,
12223
12243
  onClick: function onClick() {
12224
12244
  return setAlertType("activate");
12225
12245
  }
12226
12246
  }, t("common.activate")), !(config !== null && config !== void 0 && (_config$hiddenBulkAct = config.hiddenBulkActions) !== null && _config$hiddenBulkAct !== void 0 && _config$hiddenBulkAct.includes("role")) && /*#__PURE__*/React__default["default"].createElement(RolesDropdown, {
12227
12247
  disabled: hasDeactivateMembers,
12228
- hasUpdatePermission: hasUpdatePermission,
12248
+ hasUpdatePermission: isUpdatePermissionGranted,
12229
12249
  roles: roles,
12230
12250
  setAlertType: setAlertType,
12231
12251
  setBulkUpdateRole: setBulkUpdateRole
@@ -12759,7 +12779,7 @@ var RolesRadioGroup = function RolesRadioGroup(_ref) {
12759
12779
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12760
12780
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12761
12781
  var ManageMember = function ManageMember(_ref) {
12762
- var _config$permissions$v, _config$permissions, _manageMemberComponen;
12782
+ var _manageMemberComponen;
12763
12783
  var config = _ref.config,
12764
12784
  onComplete = _ref.onComplete,
12765
12785
  _ref$roles = _ref.roles,
@@ -12770,6 +12790,7 @@ var ManageMember = function ManageMember(_ref) {
12770
12790
  componentConfig = _ref$componentConfig === void 0 ? {} : _ref$componentConfig;
12771
12791
  var _useTranslation = useTranslation(),
12772
12792
  t = _useTranslation.t;
12793
+ var isViewPermissionGranted = config.permissions.view;
12773
12794
  var _useState = React.useState(false),
12774
12795
  _useState2 = _slicedToArray(_useState, 2),
12775
12796
  hasSubmitted = _useState2[0],
@@ -12788,8 +12809,7 @@ var ManageMember = function ManageMember(_ref) {
12788
12809
  initialFocusRef: inputReference
12789
12810
  }, componentConfig);
12790
12811
  var Component = MEMBERS_FORM_COMPONENT_MAPPER[manageMemberComponentConfig.type || "pane"];
12791
- var isPermissionsGranted = (_config$permissions$v = config === null || config === void 0 ? void 0 : (_config$permissions = config.permissions) === null || _config$permissions === void 0 ? void 0 : _config$permissions.view) !== null && _config$permissions$v !== void 0 ? _config$permissions$v : DEFAULT_PERMISSION;
12792
- var haveToFetchRoles = ramda.isEmpty(roles) && isPermissionsGranted;
12812
+ var haveToFetchRoles = ramda.isEmpty(roles) && isViewPermissionGranted;
12793
12813
  var isEditForm = !!selectedMember;
12794
12814
  var isLastPage = currentPage === FORM_PAGES.CONFIRMATION || isEditForm;
12795
12815
  var _useFetchRoles = useFetchRoles({
@@ -12806,7 +12826,7 @@ var ManageMember = function ManageMember(_ref) {
12806
12826
  select: function select(response) {
12807
12827
  return ramda.groupBy(ramda.prop("appName"), response !== null && response !== void 0 ? response : []);
12808
12828
  },
12809
- enabled: !selectedMember && isPermissionsGranted
12829
+ enabled: !selectedMember && isViewPermissionGranted
12810
12830
  }),
12811
12831
  _useFetchGlobalRoles$ = _useFetchGlobalRoles.data,
12812
12832
  globalRoles = _useFetchGlobalRoles$ === void 0 ? {} : _useFetchGlobalRoles$,
@@ -12840,7 +12860,9 @@ var ManageMember = function ManageMember(_ref) {
12840
12860
  };
12841
12861
  var isSubmitting = isCreatingMember || isUpdatingMember || isRolesLoading || isGlobalRolesLoading;
12842
12862
  var handleAddMember = function handleAddMember(values) {
12843
- selectedMember ? updateMember({
12863
+ selectedMember
12864
+ // @ts-ignore
12865
+ ? updateMember({
12844
12866
  id: selectedMember.id,
12845
12867
  payload: renderPayload(values, selectedMember)
12846
12868
  }) : createMember(renderPayload(values));
@@ -12989,11 +13011,13 @@ var Menu = function Menu(_ref) {
12989
13011
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12990
13012
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12991
13013
  var TeamMembers = function TeamMembers(_ref) {
12992
- var _config$permissions$c, _config$permissions, _config$permissions$v, _config$permissions2, _config$permissions$v2, _config$permissions3, _config$fetchApiRespo, _config$table, _config$table$onDropd, _config$header;
13014
+ var _config$fetchApiRespo, _config$table, _config$table$onDropd, _config$header;
12993
13015
  var config = _ref.config;
12994
13016
  var _useTranslation = useTranslation(),
12995
13017
  t = _useTranslation.t;
12996
13018
  var history = reactRouterDom.useHistory();
13019
+ var isViewPermissionGranted = config.permissions.view;
13020
+ var isCreatePermissionGranted = config.permissions.create;
12997
13021
  var metaName = getMetaName((config === null || config === void 0 ? void 0 : config.metaName) || "member");
12998
13022
  var _useState = React.useState([]),
12999
13023
  _useState2 = _slicedToArray(_useState, 2),
@@ -13003,7 +13027,6 @@ var TeamMembers = function TeamMembers(_ref) {
13003
13027
  _useState4 = _slicedToArray(_useState3, 2),
13004
13028
  isFiltersPaneOpen = _useState4[0],
13005
13029
  setIsFiltersPaneOpen = _useState4[1];
13006
- var hasCreatePermission = (_config$permissions$c = config === null || config === void 0 ? void 0 : (_config$permissions = config.permissions) === null || _config$permissions === void 0 ? void 0 : _config$permissions.create) !== null && _config$permissions$c !== void 0 ? _config$permissions$c : hasPermission(MANAGE_MEMBER_PERMISSIONS);
13007
13030
  React.useEffect(function () {
13008
13031
  if (!localStorage.getItem("TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS")) {
13009
13032
  localStorage.setItem("TEAM_MEMBERS_TABLE_HIDDEN_COLUMNS", JSON.stringify(["inviteStatus"]));
@@ -13021,7 +13044,7 @@ var TeamMembers = function TeamMembers(_ref) {
13021
13044
  search: debouncedSearch.trim(),
13022
13045
  category: filters.category.toLowerCase()
13023
13046
  }), {
13024
- enabled: (_config$permissions$v = config === null || config === void 0 ? void 0 : (_config$permissions2 = config.permissions) === null || _config$permissions2 === void 0 ? void 0 : _config$permissions2.view) !== null && _config$permissions$v !== void 0 ? _config$permissions$v : DEFAULT_PERMISSION
13047
+ enabled: isViewPermissionGranted
13025
13048
  }),
13026
13049
  team = _useFetchMembers.data,
13027
13050
  isMembersLoading = _useFetchMembers.isLoading,
@@ -13031,7 +13054,7 @@ var TeamMembers = function TeamMembers(_ref) {
13031
13054
  var _response$organizatio;
13032
13055
  return ramda.reverse((_response$organizatio = response === null || response === void 0 ? void 0 : response.organizationRoles) !== null && _response$organizatio !== void 0 ? _response$organizatio : []);
13033
13056
  },
13034
- enabled: (_config$permissions$v2 = config === null || config === void 0 ? void 0 : (_config$permissions3 = config.permissions) === null || _config$permissions3 === void 0 ? void 0 : _config$permissions3.view) !== null && _config$permissions$v2 !== void 0 ? _config$permissions$v2 : DEFAULT_PERMISSION
13057
+ enabled: isViewPermissionGranted
13035
13058
  }),
13036
13059
  roles = _useFetchRoles.data,
13037
13060
  isRolesLoading = _useFetchRoles.isLoading;
@@ -13116,7 +13139,6 @@ var TeamMembers = function TeamMembers(_ref) {
13116
13139
  actionBlock: /*#__PURE__*/React__default["default"].createElement(Header, {
13117
13140
  config: config,
13118
13141
  metaName: metaName,
13119
- permissions: config === null || config === void 0 ? void 0 : config.permissions,
13120
13142
  rolesButtonProps: config.rolesButtonProps,
13121
13143
  onClick: function onClick() {
13122
13144
  return setIsOpen(ramda.assoc("manageMember", true));
@@ -13173,7 +13195,7 @@ var TeamMembers = function TeamMembers(_ref) {
13173
13195
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, {
13174
13196
  primaryButtonProps: {
13175
13197
  "data-cy": "ntm-add-member-button",
13176
- disabled: !hasCreatePermission,
13198
+ disabled: !isCreatePermissionGranted,
13177
13199
  label: t("common.addNew_", {
13178
13200
  what: metaName(SINGULAR).toLocaleLowerCase()
13179
13201
  }),