@bigbinary/neeto-team-members-frontend 2.2.6 → 2.2.7

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/README.md CHANGED
@@ -18,7 +18,7 @@ command:
18
18
  2. Now install the latest **neetoTeamMembers** package using the below command:
19
19
 
20
20
  ```zsh
21
- yarn add @bigbinary/neeto-team-members-frontend@2.2.6
21
+ yarn add @bigbinary/neeto-team-members-frontend@2.2.7
22
22
  ```
23
23
 
24
24
  ## Usage
package/dist/index.cjs.js CHANGED
@@ -3934,6 +3934,14 @@ var placeholders$1 = {
3934
3934
  enterRoleName: "Please enter the role name",
3935
3935
  role: "Please select a role"
3936
3936
  };
3937
+ var tooltips$1 = {
3938
+ activateUserToEdit: "Please activate the user to edit their role.",
3939
+ editAdminRoleNotAllowed: "Sorry, you are not allowed to edit the admin role.",
3940
+ editCurrentUserNotAllowed: "Sorry, you are not allowed to edit your role.",
3941
+ noPermissionToAddMember: "Sorry, you do not have permission to add a member.",
3942
+ noPermissionToAddRole: "Sorry, you do not have permission to add a new role.",
3943
+ noPermissionToEditMembers: "Sorry, you do not have permission to edit members."
3944
+ };
3937
3945
  var validations$1 = {
3938
3946
  enterRoleName: "Please enter a valid role name.",
3939
3947
  filterInvalidEmails: "Click here to remove invalid emails.",
@@ -3948,6 +3956,7 @@ var en = {
3948
3956
  helpers: helpers$1,
3949
3957
  metaNames: metaNames$1,
3950
3958
  placeholders: placeholders$1,
3959
+ tooltips: tooltips$1,
3951
3960
  validations: validations$1
3952
3961
  };
3953
3962
 
@@ -4022,6 +4031,14 @@ var placeholders = {
4022
4031
  enterRoleName: "Veuillez entrer le nom du rôle",
4023
4032
  role: "Veuillez sélectionner un rôle"
4024
4033
  };
4034
+ var tooltips = {
4035
+ activateUserToEdit: "Veuillez activer l'utilisateur pour modifier son rôle.",
4036
+ editAdminRoleNotAllowed: "Désolé, vous n'êtes pas autorisé à modifier le rôle admin.",
4037
+ editCurrentUserNotAllowed: "Désolé, vous n'êtes pas autorisé à modifier votre rôle.",
4038
+ noPermissionToAddMember: "Désolé, vous n'avez pas la permission d'ajouter un membre.",
4039
+ noPermissionToAddRole: "Désolé, vous n'avez pas la permission d'ajouter un nouveau rôle.",
4040
+ noPermissionToEditMembers: "Désolé, vous n'avez pas la permission de modifier les membres."
4041
+ };
4025
4042
  var validations = {
4026
4043
  filterInvalidEmails: "Cliquez ici pour supprimer les e-mails invalides.",
4027
4044
  minOneEmail: "Veuillez saisir au moins une adresse e-mail.",
@@ -4035,6 +4052,7 @@ var fr = {
4035
4052
  helpers: helpers,
4036
4053
  metaNames: metaNames,
4037
4054
  placeholders: placeholders,
4055
+ tooltips: tooltips,
4038
4056
  validations: validations
4039
4057
  };
4040
4058
 
@@ -11110,7 +11128,11 @@ const AddRoleButton = _ref => {
11110
11128
  const _useTranslation = useTranslation(),
11111
11129
  t = _useTranslation.t;
11112
11130
 
11113
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
11131
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
11132
+ content: t("tooltips.noPermissionToAddRole"),
11133
+ disabled: hasPermission(MANAGE_MEMBER_PERMISSIONS),
11134
+ position: "bottom"
11135
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
11114
11136
  icon: neetoIcons.Plus,
11115
11137
  size: "large",
11116
11138
  label: t("common.add_", {
@@ -11119,7 +11141,7 @@ const AddRoleButton = _ref => {
11119
11141
  onClick: onClick,
11120
11142
  disabled: !hasPermission(MANAGE_MEMBER_PERMISSIONS),
11121
11143
  "data-cy": "new-role-button"
11122
- });
11144
+ })));
11123
11145
  };
11124
11146
 
11125
11147
  const Header$1 = _ref => {
@@ -11461,6 +11483,10 @@ const Row = _ref => {
11461
11483
  }, roles.map((role, index) => /*#__PURE__*/React__default["default"].createElement("div", {
11462
11484
  key: index,
11463
11485
  className: "ntm-roles-table__cell"
11486
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
11487
+ content: instance.t("tooltips.editAdminRoleNotAllowed"),
11488
+ disabled: !ramda.identical(role.name, "Admin"),
11489
+ position: "top"
11464
11490
  }, /*#__PURE__*/React__default["default"].createElement("div", {
11465
11491
  className: "ntm-roles-table-cell__checkbox-wrapper"
11466
11492
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Checkbox, {
@@ -11471,7 +11497,7 @@ const Row = _ref => {
11471
11497
  let checked = _ref2.target.checked;
11472
11498
  return handleSubmit(role, checked);
11473
11499
  }
11474
- })), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
11500
+ }))), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
11475
11501
  style: "body2",
11476
11502
  lineHeight: "normal"
11477
11503
  }, permission === null || permission === void 0 ? void 0 : permission.description))));
@@ -12487,7 +12513,11 @@ const Header = _ref => {
12487
12513
  metaName = _ref$metaName === void 0 ? "" : _ref$metaName,
12488
12514
  _ref$onClick = _ref.onClick,
12489
12515
  onClick = _ref$onClick === void 0 ? noop : _ref$onClick;
12490
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
12516
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
12517
+ content: instance.t("tooltips.noPermissionToAddMember"),
12518
+ disabled: hasPermission(MANAGE_MEMBER_PERMISSIONS),
12519
+ position: "bottom"
12520
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
12491
12521
  icon: neetoIcons.Plus,
12492
12522
  size: "large",
12493
12523
  label: instance.t("common.add_", {
@@ -12495,7 +12525,7 @@ const Header = _ref => {
12495
12525
  }),
12496
12526
  disabled: !hasPermission(MANAGE_MEMBER_PERMISSIONS),
12497
12527
  onClick: onClick
12498
- });
12528
+ })));
12499
12529
  };
12500
12530
 
12501
12531
  const Left = _ref => {
@@ -12594,22 +12624,38 @@ const renderNameColumn = (_ref, diplayStatusTag) => {
12594
12624
  }));
12595
12625
  };
12596
12626
 
12627
+ const isCurrentUserEmail = email => {
12628
+ const user = window.globalProps.user;
12629
+ return (user === null || user === void 0 ? void 0 : user.email) === email;
12630
+ };
12631
+
12632
+ const isDropDownButtonDisabled = email => !hasPermission(MANAGE_MEMBER_PERMISSIONS) || isCurrentUserEmail(email);
12633
+
12634
+ const getDropDownTooltipContent = email => isCurrentUserEmail(email) ? instance.t("tooltips.editCurrentUserNotAllowed") : instance.t("tooltips.noPermissionToEditMembers");
12635
+
12597
12636
  const renderDropdownButton = (_ref2, handleUpdateStatus, handleUpdateRole) => {
12598
12637
  let displayName = _ref2.displayName,
12599
12638
  id = _ref2.id,
12600
12639
  active = _ref2.active,
12601
12640
  email = _ref2.email,
12602
12641
  role = _ref2.role;
12603
- const user = window.globalProps.user;
12604
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
12642
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
12643
+ content: getDropDownTooltipContent(email),
12644
+ disabled: !isDropDownButtonDisabled(email),
12645
+ position: "top"
12646
+ }, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
12605
12647
  icon: neetoIcons.MenuHorizontal,
12606
12648
  buttonStyle: "text",
12607
12649
  buttonProps: DROPDOWN_BUTTON_PROPS,
12608
12650
  strategy: "fixed",
12609
- disabled: !hasPermission(MANAGE_MEMBER_PERMISSIONS) || (user === null || user === void 0 ? void 0 : user.email) === email
12651
+ disabled: isDropDownButtonDisabled(email)
12652
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
12653
+ content: instance.t("tooltips.activateUserToEdit"),
12654
+ disabled: active,
12655
+ position: "top"
12610
12656
  }, /*#__PURE__*/React__default["default"].createElement("li", {
12611
12657
  className: "ntm-dropdown__item",
12612
- onClick: () => handleUpdateRole({
12658
+ onClick: () => active && handleUpdateRole({
12613
12659
  id,
12614
12660
  email,
12615
12661
  role
@@ -12619,7 +12665,7 @@ const renderDropdownButton = (_ref2, handleUpdateStatus, handleUpdateRole) => {
12619
12665
  label: instance.t("common.edit"),
12620
12666
  disabled: !active,
12621
12667
  style: "text"
12622
- })), /*#__PURE__*/React__default["default"].createElement("li", {
12668
+ }))), /*#__PURE__*/React__default["default"].createElement("li", {
12623
12669
  className: "ntm-dropdown__item",
12624
12670
  onClick: () => handleUpdateStatus({
12625
12671
  id,
@@ -12630,7 +12676,7 @@ const renderDropdownButton = (_ref2, handleUpdateStatus, handleUpdateRole) => {
12630
12676
  className: "ntm-dropdown__button",
12631
12677
  label: active ? instance.t("common.deactivate") : instance.t("common.activate"),
12632
12678
  style: active ? "danger-text" : "text"
12633
- })));
12679
+ })))));
12634
12680
  };
12635
12681
 
12636
12682
  const getColumnData = _ref3 => {