@bigbinary/neeto-team-members-frontend 5.0.61 → 5.0.63
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/.ready +1 -1
- package/dist/ManageMember.js +5 -11
- package/dist/ManageMember.js.map +1 -1
- package/dist/{Permissions-LWRAefeb.js → Permissions-BVkx_S_F.js} +2 -2
- package/dist/Permissions-BVkx_S_F.js.map +1 -0
- package/dist/{Permissions-Bz0SmJzH.js → Permissions-DIdoAJlu.js} +2 -2
- package/dist/Permissions-DIdoAJlu.js.map +1 -0
- package/dist/Profile.js +4 -13
- package/dist/Profile.js.map +1 -1
- package/dist/{ProfileImage-BLnx0E90.js → ProfileImage-BjDA-txF.js} +2 -2
- package/dist/ProfileImage-BjDA-txF.js.map +1 -0
- package/dist/{ProfileImage-V240yfTY.js → ProfileImage-Ca02-i_d.js} +2 -2
- package/dist/ProfileImage-Ca02-i_d.js.map +1 -0
- package/dist/Roles.js +16 -6
- package/dist/Roles.js.map +1 -1
- package/dist/cjs/ManageMember.js +5 -11
- package/dist/cjs/ManageMember.js.map +1 -1
- package/dist/cjs/Profile.js +4 -14
- package/dist/cjs/Profile.js.map +1 -1
- package/dist/cjs/Roles.js +15 -5
- package/dist/cjs/Roles.js.map +1 -1
- package/dist/cjs/v2/Groups.js +1 -1
- package/dist/cjs/v2/Groups.js.map +1 -1
- package/dist/cjs/v2/ManageMember.js +2 -2
- package/dist/cjs/v2/MembersDropdown.js +1 -1
- package/dist/cjs/v2/MembersInvite.js +1 -1
- package/dist/cjs/v2/MembersInvite.js.map +1 -1
- package/dist/cjs/v2/Permissions.js +1 -1
- package/dist/cjs/v2/Profile.js +5 -13
- package/dist/cjs/v2/Profile.js.map +1 -1
- package/dist/cjs/v2/Roles.js +16 -6
- package/dist/cjs/v2/Roles.js.map +1 -1
- package/dist/cjs/v2/TeamMembers.js +2 -2
- package/dist/cjs/v2/TeamsDropdown.js +1 -1
- package/dist/cjs/v2/index.js +4 -4
- package/dist/{index-CBt9gCBK.js → index-81N6f9JN.js} +11 -17
- package/dist/index-81N6f9JN.js.map +1 -0
- package/dist/{index-BRgcqXVL.js → index-BVrpRWeD.js} +3 -3
- package/dist/index-BVrpRWeD.js.map +1 -0
- package/dist/{index-BFScwOib.js → index-Bk0TH8c8.js} +11 -17
- package/dist/index-Bk0TH8c8.js.map +1 -0
- package/dist/{index-BMb0DElQ.js → index-CVZHlIdE.js} +3 -3
- package/dist/index-CVZHlIdE.js.map +1 -0
- package/dist/v2/Groups.js +1 -1
- package/dist/v2/Groups.js.map +1 -1
- package/dist/v2/ManageMember.js +2 -2
- package/dist/v2/MembersDropdown.js +1 -1
- package/dist/v2/MembersInvite.js +1 -1
- package/dist/v2/MembersInvite.js.map +1 -1
- package/dist/v2/Permissions.js +1 -1
- package/dist/v2/Profile.js +6 -14
- package/dist/v2/Profile.js.map +1 -1
- package/dist/v2/Roles.js +17 -7
- package/dist/v2/Roles.js.map +1 -1
- package/dist/v2/TeamMembers.js +2 -2
- package/dist/v2/TeamsDropdown.js +1 -1
- package/dist/v2/index.js +4 -4
- package/package.json +11 -11
- package/types.d.ts +1 -0
- package/dist/Permissions-Bz0SmJzH.js.map +0 -1
- package/dist/Permissions-LWRAefeb.js.map +0 -1
- package/dist/ProfileImage-BLnx0E90.js.map +0 -1
- package/dist/ProfileImage-V240yfTY.js.map +0 -1
- package/dist/index-BFScwOib.js.map +0 -1
- package/dist/index-BMb0DElQ.js.map +0 -1
- package/dist/index-BRgcqXVL.js.map +0 -1
- package/dist/index-CBt9gCBK.js.map +0 -1
package/dist/.ready
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Built at 2026-06-
|
|
1
|
+
Built at 2026-06-22T06:32:08.284Z
|
package/dist/ManageMember.js
CHANGED
|
@@ -462,8 +462,7 @@ var NameInputs = withT(function (_ref) {
|
|
|
462
462
|
|
|
463
463
|
var ProfileSettings = function ProfileSettings(_ref) {
|
|
464
464
|
var member = _ref.member,
|
|
465
|
-
setFieldValue = _ref.setFieldValue
|
|
466
|
-
isTimezoneFieldDisabled = _ref.isTimezoneFieldDisabled;
|
|
465
|
+
setFieldValue = _ref.setFieldValue;
|
|
467
466
|
var _useTranslation = useTranslation(),
|
|
468
467
|
t = _useTranslation.t;
|
|
469
468
|
var setFieldValueRef = useRef(setFieldValue);
|
|
@@ -487,13 +486,12 @@ var ProfileSettings = function ProfileSettings(_ref) {
|
|
|
487
486
|
onChange: function onChange(_ref2) {
|
|
488
487
|
var main = _ref2.main;
|
|
489
488
|
return setFieldValueRef.current("timeZone", main);
|
|
490
|
-
}
|
|
491
|
-
disabled: isTimezoneFieldDisabled
|
|
489
|
+
}
|
|
492
490
|
});
|
|
493
491
|
return function () {
|
|
494
492
|
node.innerHTML = "";
|
|
495
493
|
};
|
|
496
|
-
}, [member.timeZone, member.timeFormat
|
|
494
|
+
}, [member.timeZone, member.timeFormat]);
|
|
497
495
|
useEffect(function () {
|
|
498
496
|
var country = findBy({
|
|
499
497
|
value: member.countryIdentifier
|
|
@@ -532,11 +530,9 @@ var ProfileSettings = function ProfileSettings(_ref) {
|
|
|
532
530
|
children: [/*#__PURE__*/jsx(Label, {
|
|
533
531
|
children: t("neetoTeamMembers.profile.inputs.label.timeZone")
|
|
534
532
|
}), /*#__PURE__*/jsx("div", {
|
|
533
|
+
className: "w-full grow",
|
|
535
534
|
"data-cy": "ntm-edit-member-timezone-select",
|
|
536
|
-
ref: timezoneContainerRef
|
|
537
|
-
className: classnames("w-full grow", {
|
|
538
|
-
"neeto-ui-bg-gray-100 pointer-events-none": isTimezoneFieldDisabled
|
|
539
|
-
})
|
|
535
|
+
ref: timezoneContainerRef
|
|
540
536
|
})]
|
|
541
537
|
}), /*#__PURE__*/jsx(Select, {
|
|
542
538
|
"data-cy": "ntm-edit-member-time-format-select",
|
|
@@ -588,7 +584,6 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
588
584
|
}),
|
|
589
585
|
memberShowData = _useFetchMember.data,
|
|
590
586
|
isMemberDetailLoading = _useFetchMember.isLoading;
|
|
591
|
-
var isTimezoneFieldDisabled = selectedMember && memberShowData && !selectedMember.isOwner && !memberShowData.timezoneChangeEnabled;
|
|
592
587
|
var _useState3 = useState(FORM_PAGES.MAIN),
|
|
593
588
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
594
589
|
currentPage = _useState4[0],
|
|
@@ -887,7 +882,6 @@ var ManageMember = function ManageMember(_ref) {
|
|
|
887
882
|
setCurrentPage: setCurrentPage,
|
|
888
883
|
innerRef: inputReference
|
|
889
884
|
}), selectedMember && /*#__PURE__*/jsx(ProfileSettings, {
|
|
890
|
-
isTimezoneFieldDisabled: isTimezoneFieldDisabled,
|
|
891
885
|
setFieldValue: setFieldValue,
|
|
892
886
|
member: _objectSpread(_objectSpread({}, selectedMember), {}, {
|
|
893
887
|
countryIdentifier: (_memberShowData$membe = memberShowData === null || memberShowData === void 0 || (_memberShowData$membe2 = memberShowData.member) === null || _memberShowData$membe2 === void 0 ? void 0 : _memberShowData$membe2.countryIdentifier) !== null && _memberShowData$membe !== void 0 ? _memberShowData$membe : selectedMember.countryIdentifier
|
package/dist/ManageMember.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageMember.js","sources":["../app/javascript/src/components/TeamMembers/ManageMember/AppList.jsx","../app/javascript/src/components/TeamMembers/ManageMember/Confirmation.jsx","../app/javascript/src/components/TeamMembers/ManageMember/InviteLink.jsx","../app/javascript/src/components/TeamMembers/ManageMember/MultipleEmailInput.jsx","../app/javascript/src/components/TeamMembers/ManageMember/NameInputs.jsx","../app/javascript/src/components/TeamMembers/ManageMember/ProfileSettings.jsx","../app/javascript/src/components/TeamMembers/ManageMember/index.jsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Checkbox, Tooltip, Button, Typography } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { pluck, not } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { NEETO_AUTH_MANAGE_PRODUCT_URL } from \"./constants\";\n\nconst AppList = ({ globalRoles, savedStateRef }) => {\n const { t } = useTranslation();\n const [isAppListEnabled, setIsAppListEnabled] = useState(\n savedStateRef.current.isAppListEnabled\n );\n\n const {\n values: { emails = [], appRoles = [] },\n setFieldValue,\n } = useFormikContext();\n\n const selectedEmail = pluck(\"value\", emails);\n const isManageProductsLinkEnabled =\n globalProps.user?.isOwner && Object.keys(globalRoles).length >= 3;\n\n useEffect(() => {\n if (savedStateRef.current.isAppListEnabled !== isAppListEnabled) {\n appRoles?.forEach((appRole, index) => {\n if (appRole?.appName === globalProps.appName?.substring(5)) {\n setFieldValue(`appRoles[${index}].isEnabled`, true);\n\n return;\n }\n\n setFieldValue(`appRoles[${index}].isEnabled`, isAppListEnabled);\n });\n }\n savedStateRef.current.isAppListEnabled = isAppListEnabled;\n }, [isAppListEnabled]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const buildRoleOptions = roles =>\n roles.map(role => toLabelAndValue(role.name));\n\n return (\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full space-y-3\">\n <Checkbox\n checked={isAppListEnabled}\n className=\"ntm-manage-members__checkbox-align-start\"\n data-testid=\"ntm-manage-members-app-list-checkbox\"\n label={\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.addMembersToNeetoProducts\"\n values={{ emails: selectedEmail }}\n />\n </Typography>\n }\n onChange={() => setIsAppListEnabled(not)}\n />\n {isManageProductsLinkEnabled && (\n <Typography style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.manageProducts\"\n components={{\n button: (\n <Button href={NEETO_AUTH_MANAGE_PRODUCT_URL} style=\"link\" />\n ),\n }}\n />\n </Typography>\n )}\n </div>\n <div className=\"neeto-ui-w-full\">\n {appRoles.map(({ appName, isEnabled }, index) => {\n const isCurrentApp = appName === globalProps.appName?.substring(5);\n const isAppRoleSelectionChecked = isCurrentApp || isEnabled;\n\n return (\n <div className=\"ntm-manage-members__app-roles\" key={appName}>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.hostAppIsRequired\")}\n disabled={!isCurrentApp}\n position=\"left\"\n >\n <span>\n <Switch\n checked={isAppRoleSelectionChecked}\n disabled={isCurrentApp}\n name={`appsRoles[${index}].isEnabled`}\n label={t(\"neetoTeamMembers.labels.neeto_\", {\n product: appName,\n })}\n onChange={({ target }) => {\n setFieldValue(\n `appRoles[${index}].isEnabled`,\n target.checked\n );\n }}\n />\n </span>\n </Tooltip>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.goBackToChangeRole\")}\n disabled={!isCurrentApp}\n position=\"top\"\n >\n <span className=\"ntm-manage-members-app-roles__select-wrapper\">\n <Select\n dataTestid=\"ntm-manage-members-app-roles\"\n isDisabled={isCurrentApp || !isEnabled}\n name={`appRoles[${index}].activeRole`}\n options={buildRoleOptions(globalRoles[appName])}\n size=\"small\"\n strategy=\"fixed\"\n onChange={({ value }) => {\n setFieldValue(`appRoles[${index}].activeRole`, value);\n }}\n />\n </span>\n </Tooltip>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default AppList;\n","import { useFormikContext } from \"formik\";\nimport { filterBy } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { getSingleInvitationTranslationProps } from \"./utils\";\n\nconst Confirmation = () => {\n const { t } = useTranslation();\n const {\n values: { emails, role, appRoles },\n } = useFormikContext();\n\n const selectedEmail = pluck(\"value\", emails);\n const activeAppRoles = filterBy({ isEnabled: true }, appRoles);\n\n return activeAppRoles.length > 1 ? (\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full\">\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.multipleProductInvitation\"\n values={{\n count: selectedEmail.length,\n emails: selectedEmail,\n orgName: globalProps.organization?.name,\n }}\n />\n </Typography>\n </div>\n <table className=\"neeto-ui-w-full ntm-product-roles-table\">\n <thead>\n <tr>\n <th>{t(\"neetoTeamMembers.common.productName\")}</th>\n <th>{t(\"neetoTeamMembers.common.role\", SINGULAR)}</th>\n </tr>\n </thead>\n <tbody>\n {activeAppRoles.map(({ appName, activeRole }) => (\n <tr key={appName}>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {t(\"neetoTeamMembers.labels.neeto_\", { product: appName })}\n </Typography>\n </td>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {activeRole}\n </Typography>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n ) : (\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.singleProductInvitation\"\n values={getSingleInvitationTranslationProps({\n activeAppRoles,\n role,\n selectedEmail,\n })}\n />\n </Typography>\n );\n};\n\nexport default Confirmation;\n","import { useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Dropdown, Spinner, Button, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport {\n useFetchInviteLinks,\n useCreateInviteLinks,\n useRegenerateInviteLink,\n} from \"hooks/reactQuery/useInviteLinksApi\";\n\nimport { getInviteURL, remainingExpiryDays } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\nconst { Button: MenuItemButton } = MenuItem;\n\nconst InviteLink = ({ t, roles }) => {\n const { mutate: createInviteLink, isPending: isCreateLinkPending } =\n useCreateInviteLinks();\n\n const { mutate: regenerateLink } = useRegenerateInviteLink();\n\n const { data: { inviteLinks = [] } = {}, isLoading: isFetchLinkLoading } =\n useFetchInviteLinks();\n\n const { values } = useFormikContext();\n\n const isInviteLinkEmpty = !isFetchLinkLoading && isEmpty(inviteLinks);\n\n const handleRegenerate = () => {\n const { id: roleId } = findBy({ name: values.role }, roles);\n if (isEmpty(inviteLinks)) {\n createInviteLink({ organizationRoleId: roleId });\n\n return;\n }\n\n regenerateLink({\n inviteLinkId: inviteLinks[0].id,\n payload: { organizationRoleId: roleId },\n });\n };\n\n if (isFetchLinkLoading || isCreateLinkPending) {\n return (\n <div className=\"neeto-ui-w-full flex justify-center items-center\">\n <Spinner size=\"large\" />\n </div>\n );\n }\n\n return (\n <div className=\"neeto-ui-w-full space-y-2\">\n <div className=\"flex items-center gap-2 pt-1\">\n <div className=\"neeto-ui-rounded-md neeto-ui-border-gray-300 neeto-ui-bg-gray-50 relative flex min-w-0 grow items-center truncate border leading-none\">\n <div className=\"relative min-w-0 grow truncate p-2 leading-none\">\n {!isInviteLinkEmpty && getInviteURL(inviteLinks?.[0]?.token)}\n </div>\n {isInviteLinkEmpty ? (\n <Button\n className=\"rounded-ss-none rounded-es-none\"\n label={t(\"neetoTeamMembers.buttons.generateLink\")}\n onClick={handleRegenerate}\n />\n ) : (\n <CopyToClipboardButton\n className=\"rounded-ss-none rounded-es-none\"\n label={t(\"neetoTeamMembers.buttons.copyLink\")}\n value={getInviteURL(inviteLinks?.[0]?.token)}\n />\n )}\n </div>\n {!isInviteLinkEmpty && (\n <Dropdown\n buttonProps={{ className: \"shrink-0\" }}\n buttonStyle=\"text\"\n icon={MenuHorizontal}\n >\n <Menu>\n <MenuItem>\n <MenuItemButton onClick={handleRegenerate}>\n {t(\"neetoTeamMembers.buttons.regenerateLink\")}\n </MenuItemButton>\n </MenuItem>\n </Menu>\n </Dropdown>\n )}\n </div>\n <div>\n {!isInviteLinkEmpty && (\n <Typography\n className=\"leading-relaxed neeto-ui-text-gray-500\"\n style=\"body3\"\n >\n <Trans\n components={{ strong: <strong /> }}\n i18nKey=\"neetoTeamMembers.alerts.messages.inviteLink\"\n values={{\n expiryDays: remainingExpiryDays(inviteLinks?.[0]?.expiresAt),\n role: inviteLinks?.[0]?.organizationRole?.name,\n inviteLimit: inviteLinks?.[0]?.inviteLimit,\n appName: globalProps.appName,\n emailDomain: inviteLinks?.[0]?.domain,\n }}\n />\n </Typography>\n )}\n </div>\n </div>\n );\n};\nexport default withT(InviteLink);\n","import { useFormikContext } from \"formik\";\nimport { PLURAL, SINGULAR } from \"neetocommons/constants\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { MultiEmailInput, Input } from \"neetoui/formik\";\nimport { head } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isNeetoAuthApp } from \"utils\";\n\nimport {\n COUNTER_PROPS,\n EMAIL_REGEX,\n FILTER_INVALID_EMAILS,\n FORM_PAGES,\n} from \"./constants\";\n\nconst MultipleEmailInput = ({\n emails = [],\n innerRef,\n selectedMember = null,\n setCurrentPage,\n}) => {\n const isInviteLinkFeatureEnabled = !isNeetoAuthApp();\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n\n const handleInputChange = event => {\n const email = event.target.value;\n const emailList = [\n { label: email, value: email, valid: EMAIL_REGEX.test(email) },\n ];\n setFieldValue(\"emails\", emailList);\n };\n\n return (\n <div className=\"neeto-ui-w-full\">\n {selectedMember ? (\n <Input\n data-testid=\"ntm-manage-member-email-input\"\n name=\"emails\"\n size=\"medium\"\n type=\"email\"\n value={head(emails)?.value}\n label={\n <span className=\"neeto-ui-w-full neeto-ui-flex neeto-ui-justify-between\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoTeamMembers.common.email\", SINGULAR)}\n </Typography>\n </span>\n }\n onChange={handleInputChange}\n />\n ) : (\n <div>\n <div className=\"flex items-center justify-between pb-2\">\n <Label required>{t(\"neetoTeamMembers.common.email\", PLURAL)}</Label>\n {isInviteLinkFeatureEnabled && (\n <Button\n label={t(\"neetoTeamMembers.buttons.inviteLink\")}\n style=\"link\"\n onClick={() => setCurrentPage(FORM_PAGES.INVITE_LINK)}\n />\n )}\n </div>\n <MultiEmailInput\n required\n counter={COUNTER_PROPS}\n data-testid=\"ntm-manage-member-email-input\"\n filterInvalidEmails={FILTER_INVALID_EMAILS}\n helpText={t(\"neetoTeamMembers.helpers.enterMultipleEmails\")}\n label=\"\"\n name=\"emails\"\n placeholder={t(\"neetoTeamMembers.placeholders.email\")}\n ref={innerRef}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default MultipleEmailInput;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Input } from \"neetoui/formik\";\n\nconst NameInputs = withT(({ t, innerRef }) => (\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-gap-4 pt-4 border-t mt-0 neeto-ui-border-gray-200\">\n <Input\n data-testid=\"ntm-edit-member-first-name-text-field\"\n label={t(\"neetoTeamMembers.labels.firstName\")}\n name=\"firstName\"\n ref={innerRef}\n />\n <Input\n data-testid=\"ntm-edit-member-last-name-text-field\"\n label={t(\"neetoTeamMembers.labels.lastName\")}\n name=\"lastName\"\n />\n </div>\n));\n\nexport default NameInputs;\n","import { useEffect, useRef } from \"react\";\n\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport classNames from \"classnames\";\nimport { findBy } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { FormikPhoneNumberInput } from \"neetomolecules/PhoneNumber\";\nimport { Label } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport useCountries from \"components/Profile/hooks/useCountries\";\n\nconst ProfileSettings = ({\n member,\n setFieldValue,\n isTimezoneFieldDisabled,\n}) => {\n const { t } = useTranslation();\n\n const setFieldValueRef = useRef(setFieldValue);\n\n useEffect(() => {\n setFieldValueRef.current = setFieldValue;\n }, [setFieldValue]);\n\n const {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList,\n handleCountryChange,\n } = useCountries();\n\n const timezoneContainerRef = useRef(null);\n\n useEffect(() => {\n const node = timezoneContainerRef.current;\n if (!node) return undefined;\n\n new NeetoTimezoneSelector(node, {\n isTimeFormat24H: member.timeFormat === \"24h\",\n className: \"w-full z-10\",\n position: \"bottom\",\n initialValue: member.timeZone,\n onChange: ({ main }) => setFieldValueRef.current(\"timeZone\", main),\n disabled: isTimezoneFieldDisabled,\n });\n\n return () => {\n node.innerHTML = \"\";\n };\n }, [member.timeZone, member.timeFormat, isTimezoneFieldDisabled]);\n\n useEffect(() => {\n const country = findBy(\n { value: member.countryIdentifier },\n countryDropdownOptions\n );\n if (country) handleCountryChange(country);\n }, [member.countryIdentifier, countryDropdownOptions, handleCountryChange]);\n\n return (\n <div className=\"w-full space-y-4\" data-cy=\"ntm-profile-settings\">\n <FormikPhoneNumberInput\n data-cy=\"ntm-edit-member-phonenumber-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.phonenumber\")}\n name=\"phonenumber\"\n />\n <Select\n data-cy=\"ntm-edit-member-country-select\"\n isLoading={isFetchingCountriesList}\n label={t(\"neetoTeamMembers.profile.inputs.label.country\")}\n name=\"countryId\"\n options={countryDropdownOptions}\n value={selectedCountryOption}\n onChange={option => {\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n setFieldValue(\"countryId\", option?.value);\n }}\n />\n <Select\n data-cy=\"ntm-edit-member-language-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.language\")}\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n onChange={option => setFieldValue(\"language\", option.value)}\n />\n <div className=\"space-y-2\">\n <Label>{t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}</Label>\n <div\n data-cy=\"ntm-edit-member-timezone-select\"\n ref={timezoneContainerRef}\n className={classNames(\"w-full grow\", {\n \"neeto-ui-bg-gray-100 pointer-events-none\": isTimezoneFieldDisabled,\n })}\n />\n </div>\n <Select\n data-cy=\"ntm-edit-member-time-format-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.preferredTimeFormat\")}\n name=\"timeFormat\"\n options={TIME_FORMAT_OPTIONS}\n onChange={option => setFieldValue(\"timeFormat\", option.value)}\n />\n <Select\n data-cy=\"ntm-edit-member-date-format-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.preferredDateFormat\")}\n name=\"dateFormat\"\n options={DATE_FORMAT_OPTIONS}\n onChange={option => setFieldValue(\"dateFormat\", option.value)}\n />\n </div>\n );\n};\n\nexport default ProfileSettings;\n","import { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { globalProps, taxonomies } from \"neetocommons/initializers\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Info, LeftArrow } from \"neetoicons\";\nimport { useProfileImageUpload } from \"neetoimageuploader\";\nimport { Button, Typography, Toastr, Callout, Spinner } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { reverse, isEmpty, groupBy, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport ProfileImage from \"components/Profile/ProfileImage\";\nimport { useFetchGlobalRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport {\n useFetchMember,\n useFetchMembers,\n useCreateMember,\n useUpdateMember,\n useMembersCreationStatus,\n refetchMembers,\n} from \"hooks/teams/useTeamsApi\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/manage-members.css\";\n\nimport AppList from \"./AppList\";\nimport Confirmation from \"./Confirmation\";\nimport {\n DEFAULT_COMPONENT_CONFIG,\n MEMBERS_FORM_COMPONENT_MAPPER,\n FORM_PAGES,\n} from \"./constants\";\nimport InviteLink from \"./InviteLink\";\nimport MultipleEmailInput from \"./MultipleEmailInput\";\nimport NameInputs from \"./NameInputs\";\nimport ProfileSettings from \"./ProfileSettings\";\nimport RolesRadioGroup from \"./RolesRadioGroup\";\nimport {\n buildValidationSchema,\n renderInitialValues,\n renderPayload,\n} from \"./utils\";\n\nimport { getFilteredRoles } from \"../utils\";\n\nconst ManageMember = ({\n config,\n onComplete,\n roles = [],\n selectedMember = null,\n componentConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const [isCreationStatusPollingEnabled, setIsCreationStatusPollingEnabled] =\n useState(false);\n\n const isViewPermissionGranted = config.permissions.view;\n const isNotDevelopment = globalProps.railsEnv !== \"development\";\n\n const { data: team } = useFetchMembers({ enabled: isViewPermissionGranted });\n\n const isManageMemberOpen = !!componentConfig.isOpen;\n\n const { data: memberShowData, isLoading: isMemberDetailLoading } =\n useFetchMember(selectedMember?.id, {\n enabled: !!selectedMember && isManageMemberOpen,\n });\n\n const isTimezoneFieldDisabled =\n selectedMember &&\n memberShowData &&\n !selectedMember.isOwner &&\n !memberShowData.timezoneChangeEnabled;\n\n const [currentPage, setCurrentPage] = useState(FORM_PAGES.MAIN);\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const appListSavedStateReference = useRef({ isAppListEnabled: true });\n const shouldSkipAppListPage = useRef(false);\n const formikValues = useRef(null);\n\n const manageMemberComponentConfig = {\n ...DEFAULT_COMPONENT_CONFIG,\n initialFocusRef: inputReference,\n ...componentConfig,\n };\n\n const Component =\n MEMBERS_FORM_COMPONENT_MAPPER[manageMemberComponentConfig.type || \"pane\"];\n\n const haveToFetchRoles = isEmpty(roles) && isViewPermissionGranted;\n\n const isEditForm = !!selectedMember;\n const isLastPage = currentPage === FORM_PAGES.CONFIRMATION || isEditForm;\n\n const { data: rolesList = roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response => reverse(response.organizationRoles ?? []),\n enabled: haveToFetchRoles,\n });\n\n const { data: globalRoles = {}, isLoading: isGlobalRolesLoading } =\n useFetchGlobalRoles({\n select: response => groupBy(prop(\"appName\"), response ?? []),\n enabled: isNotDevelopment && !selectedMember && isViewPermissionGranted,\n });\n\n const filteredRoles = getFilteredRoles(rolesList, config);\n\n const {\n data: { jobId } = {},\n mutate: createMember,\n isPending: isCreatingMember,\n } = useCreateMember({\n onSuccess: () => setIsCreationStatusPollingEnabled(true),\n });\n\n const refetchInterval = query => {\n const { isCompleted } = query.state.data || {};\n\n if (isCompleted) {\n setIsCreationStatusPollingEnabled(false);\n\n return false;\n }\n\n return 2000;\n };\n\n const { data: creationStatus } = useMembersCreationStatus(jobId, {\n refetchInterval,\n enabled: isCreationStatusPollingEnabled,\n });\n\n useEffect(() => {\n const { isCompleted, isSuccessful, users, error } = creationStatus || {};\n\n if (!isCompleted) return;\n handleClose();\n config?.createMember?.onSuccess?.callback({ users });\n\n if (isSuccessful) {\n showThumbsUpToastr();\n } else {\n Toastr.error(error);\n }\n\n refetchMembers();\n }, [creationStatus]);\n\n const { mutate: updateMember, isPending: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleClose(true);\n config?.updateMember?.onSuccess?.callback();\n if (selectedMember?.id === globalProps.user?.id) {\n window.location.reload();\n }\n },\n }\n );\n\n const hasRoleChanged = ({ submitted, values }) =>\n submitted && values?.role !== selectedMember?.role;\n\n const handleClose = (submitted = false) => {\n onComplete({\n submitted: hasRoleChanged({ submitted, values: formikValues.current }),\n });\n setCurrentPage(FORM_PAGES.MAIN);\n appListSavedStateReference.current = { isAppListEnabled: true };\n setIsCreationStatusPollingEnabled(false);\n };\n\n const { uploadImage, isUploading } = useProfileImageUpload({\n uploadConfig: {\n folder: \"Auth\",\n customMetadata: { appName: \"neetoAuth\" },\n },\n });\n\n const handleUploadImage = async image => {\n let result;\n let didUpload = false;\n await uploadImage(image, uploadedImageData => {\n didUpload = true;\n result = uploadedImageData;\n });\n\n if (!didUpload) {\n throw new Error(t(\"neetoTeamMembers.common.imageUploadFailed\"));\n }\n\n return result;\n };\n\n const isProcessing =\n isCreatingMember ||\n isUpdatingMember ||\n isUploading ||\n isRolesLoading ||\n isGlobalRolesLoading ||\n isMemberDetailLoading;\n\n const handleAddMember = async values => {\n if (selectedMember) {\n const payload = renderPayload(values, selectedMember);\n\n if (values.avatar?.file) {\n if (!payload.profile) payload.profile = {};\n\n if (values.avatar.file === \"_destroy\") {\n payload.profile.avatar = {\n fileId: \"_destroy\",\n filePath: \"\",\n url: \"\",\n };\n } else {\n try {\n const { fileId, filePath, url } = await handleUploadImage(\n values.avatar.file\n );\n payload.profile.avatar = { fileId, filePath, url };\n } catch (error) {\n Toastr.error(error.message);\n\n return;\n }\n }\n }\n\n updateMember({ id: selectedMember.id, payload });\n } else {\n createMember(renderPayload(values));\n }\n };\n\n const handleOnSubmit = async (values, { setSubmitting }) => {\n shouldSkipAppListPage.current = isEmpty(values.appRoles);\n\n if (isLastPage) {\n await handleAddMember(values);\n } else if (\n currentPage === FORM_PAGES.APP_LIST ||\n shouldSkipAppListPage.current\n ) {\n setCurrentPage(FORM_PAGES.CONFIRMATION);\n setSubmitting(false);\n } else if (currentPage === FORM_PAGES.MAIN) {\n setCurrentPage(FORM_PAGES.APP_LIST);\n setSubmitting(false);\n }\n };\n\n const handleBackButton = () => {\n if (\n currentPage === FORM_PAGES.APP_LIST ||\n shouldSkipAppListPage.current ||\n currentPage === FORM_PAGES.INVITE_LINK\n ) {\n setCurrentPage(FORM_PAGES.MAIN);\n } else if (currentPage === FORM_PAGES.CONFIRMATION) {\n setCurrentPage(FORM_PAGES.APP_LIST);\n }\n };\n\n const getTitle = () => {\n const memberLabel = taxonomies.member.singular;\n\n if (selectedMember) {\n return t(\"neetoTeamMembers.common.edit_\", { what: memberLabel });\n }\n\n return currentPage === FORM_PAGES.INVITE_LINK\n ? t(\"neetoTeamMembers.common.inviteViaLink\")\n : t(\"neetoTeamMembers.common.addNew_\", { what: memberLabel });\n };\n\n const renderRolesRadioGroup = role => (\n <div className=\"pt-4 border-t neeto-ui-border-gray-200 w-full\">\n <RolesRadioGroup\n {...{ config, globalRoles, role }}\n isEdit={!!selectedMember}\n roles={filteredRoles}\n />\n </div>\n );\n\n const renderFormPage = (page, emails, role, setFieldValue) => {\n switch (page) {\n case FORM_PAGES.MAIN:\n return (\n <>\n {selectedMember && <ProfileImage />}\n {selectedMember && <NameInputs innerRef={inputReference} />}\n <MultipleEmailInput\n {...{ emails, selectedMember, setCurrentPage }}\n innerRef={inputReference}\n />\n {selectedMember && (\n <ProfileSettings\n {...{ isTimezoneFieldDisabled, setFieldValue }}\n member={{\n ...selectedMember,\n countryIdentifier:\n memberShowData?.member?.countryIdentifier ??\n selectedMember.countryIdentifier,\n }}\n />\n )}\n {renderRolesRadioGroup(role)}\n {config.additionalFields?.component}\n </>\n );\n case FORM_PAGES.APP_LIST:\n return (\n <AppList\n {...{ globalRoles }}\n savedStateRef={appListSavedStateReference}\n />\n );\n case FORM_PAGES.CONFIRMATION:\n return <Confirmation />;\n case FORM_PAGES.INVITE_LINK:\n return (\n <>\n <InviteLink roles={filteredRoles} />\n {renderRolesRadioGroup(role)}\n </>\n );\n default:\n return null;\n }\n };\n\n return (\n <Component\n className={manageMemberComponentConfig.className}\n data-testid=\"ntm-manage-members-pane-wrapper\"\n initialFocusRef={manageMemberComponentConfig.initialFocusRef}\n isOpen={manageMemberComponentConfig.isOpen}\n onClose={() => handleClose(false)}\n >\n <Component.Header\n {...manageMemberComponentConfig.headerProps}\n className={classnames([\n { \"ntm-manage-members__header\": currentPage !== FORM_PAGES.MAIN },\n manageMemberComponentConfig.headerProps?.className,\n ])}\n >\n {currentPage !== FORM_PAGES.MAIN && (\n <Button\n aria-label=\"Back\"\n icon={LeftArrow}\n size=\"medium\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoTeamMembers.buttons.back\"),\n position: \"bottom\",\n }}\n onClick={handleBackButton}\n />\n )}\n <Typography\n className=\"ntm-members-form__header\"\n data-testid=\"ntm-manage-members-pane-header\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {getTitle()}\n </Typography>\n {selectedMember && (\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {t(\"neetoTeamMembers.helpers.editPaneSubtitle\")}\n </Typography>\n )}\n </Component.Header>\n <Form\n ref={formReference}\n formikProps={{\n enableReinitialize: true,\n initialValues: renderInitialValues({\n additionalFieldsInitialValues:\n config.additionalFields?.initialValues,\n globalRoles,\n memberShowData,\n roles: filteredRoles,\n selectedMember,\n }),\n onSubmit: handleOnSubmit,\n validationSchema: buildValidationSchema({\n selectedMember,\n ...team,\n }),\n }}\n >\n {({ values, isValid, dirty, setFieldValue }) => {\n const { emails, role } = values;\n formikValues.current = values;\n\n return (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Component.Body\n {...manageMemberComponentConfig.bodyProps}\n className={classnames([\n \"ntm-members-form__body\",\n manageMemberComponentConfig.bodyProps?.className,\n ])}\n >\n {isCreationStatusPollingEnabled && (\n <Callout className=\"w-full\" icon={Info} style=\"info\">\n <Spinner size=\"small\" />\n {t(\"neetoTeamMembers.helpers.memberCreationStatus\", {\n count: emails.length,\n })}\n </Callout>\n )}\n {renderFormPage(currentPage, emails, role, setFieldValue)}\n </Component.Body>\n {currentPage !== FORM_PAGES.INVITE_LINK && (\n <Component.Footer\n {...manageMemberComponentConfig.footerProps}\n className={classnames([\n \"ntm-members-form__footer\",\n manageMemberComponentConfig.footerProps?.className,\n ])}\n >\n <ActionBlock\n cancelButtonProps={{\n \"data-testid\": \"ntm-manage-member-cancel-button\",\n onClick: () => handleClose(false),\n }}\n isSubmitting={\n isProcessing || isCreationStatusPollingEnabled\n }\n submitButtonProps={{\n \"data-testid\": isLastPage\n ? \"ntm-manage-member-submit-button\"\n : \"ntm-manage-member-continue-button\",\n label: isLastPage\n ? t(\"neetoTeamMembers.buttons.saveChanges\")\n : t(\"neetoTeamMembers.buttons.continue\"),\n disabled:\n !isValid ||\n isProcessing ||\n !dirty ||\n isCreationStatusPollingEnabled,\n }}\n />\n </Component.Footer>\n )}\n </>\n );\n }}\n </Form>\n </Component>\n );\n};\n\nexport default ManageMember;\n"],"names":["AppList","_ref","_globalProps$user","globalRoles","savedStateRef","_useTranslation","useTranslation","t","_useState","useState","current","isAppListEnabled","_useState2","_slicedToArray","setIsAppListEnabled","_useFormikContext","useFormikContext","_useFormikContext$val","values","_useFormikContext$val2","emails","_useFormikContext$val3","appRoles","setFieldValue","selectedEmail","pluck","isManageProductsLinkEnabled","globalProps","user","isOwner","Object","keys","length","useEffect","forEach","appRole","index","_globalProps$appName","appName","substring","concat","buildRoleOptions","roles","map","role","toLabelAndValue","name","_jsxs","className","children","_jsx","Checkbox","checked","label","Typography","component","lineHeight","style","Trans","i18nKey","onChange","not","components","button","Button","href","NEETO_AUTH_MANAGE_PRODUCT_URL","_ref2","_globalProps$appName2","isEnabled","isCurrentApp","isAppRoleSelectionChecked","Tooltip","content","disabled","position","Switch","product","_ref3","target","Select","dataTestid","isDisabled","options","size","strategy","_ref4","value","Confirmation","_globalProps$organiza","activeAppRoles","filterBy","count","orgName","organization","SINGULAR","activeRole","getSingleInvitationTranslationProps","Menu","Dropdown","MenuItem","MenuItemButton","InviteLink","_inviteLinks$","_inviteLinks$2","_inviteLinks$3","_inviteLinks$4","_inviteLinks$5","_inviteLinks$6","_useCreateInviteLinks","useCreateInviteLinks","createInviteLink","mutate","isCreateLinkPending","isPending","_useRegenerateInviteL","useRegenerateInviteLink","regenerateLink","_useFetchInviteLinks","useFetchInviteLinks","_useFetchInviteLinks$","data","_useFetchInviteLinks$2","_useFetchInviteLinks$3","inviteLinks","isFetchLinkLoading","isLoading","isInviteLinkEmpty","isEmpty","handleRegenerate","_findBy","findBy","roleId","id","organizationRoleId","inviteLinkId","payload","Spinner","getInviteURL","token","onClick","CopyToClipboardButton","buttonProps","buttonStyle","icon","MenuHorizontal","strong","expiryDays","remainingExpiryDays","expiresAt","organizationRole","inviteLimit","emailDomain","domain","withT","MultipleEmailInput","_head","_ref$emails","innerRef","_ref$selectedMember","selectedMember","setCurrentPage","isInviteLinkFeatureEnabled","isNeetoAuthApp","handleInputChange","event","email","emailList","valid","EMAIL_REGEX","test","Input","type","head","Label","required","PLURAL","FORM_PAGES","INVITE_LINK","MultiEmailInput","counter","COUNTER_PROPS","filterInvalidEmails","FILTER_INVALID_EMAILS","helpText","placeholder","ref","NameInputs","ProfileSettings","member","isTimezoneFieldDisabled","setFieldValueRef","useRef","_useCountries","useCountries","countryDropdownOptions","selectedCountryOption","isFetchingCountriesList","handleCountryChange","timezoneContainerRef","node","undefined","NeetoTimezoneSelector","isTimeFormat24H","timeFormat","initialValue","timeZone","main","innerHTML","country","countryIdentifier","FormikPhoneNumberInput","option","dependentFields","dateFormat","LANGUAGE_OPTIONS","classNames","TIME_FORMAT_OPTIONS","DATE_FORMAT_OPTIONS","ManageMember","_manageMemberComponen","_config$additionalFie2","config","onComplete","_ref$roles","_ref$componentConfig","componentConfig","isCreationStatusPollingEnabled","setIsCreationStatusPollingEnabled","isViewPermissionGranted","permissions","view","isNotDevelopment","railsEnv","_useFetchMembers","useFetchMembers","enabled","team","isManageMemberOpen","isOpen","_useFetchMember","useFetchMember","memberShowData","isMemberDetailLoading","timezoneChangeEnabled","_useState3","MAIN","_useState4","currentPage","formReference","inputReference","appListSavedStateReference","shouldSkipAppListPage","formikValues","manageMemberComponentConfig","_objectSpread","DEFAULT_COMPONENT_CONFIG","initialFocusRef","Component","MEMBERS_FORM_COMPONENT_MAPPER","haveToFetchRoles","isEditForm","isLastPage","CONFIRMATION","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","_useFetchRoles$data","rolesList","isRolesLoading","_useFetchGlobalRoles","useFetchGlobalRoles","groupBy","prop","_useFetchGlobalRoles$","isGlobalRolesLoading","filteredRoles","getFilteredRoles","_useCreateMember","useCreateMember","onSuccess","_useCreateMember$data","_useCreateMember$data2","jobId","createMember","isCreatingMember","refetchInterval","query","state","isCompleted","_useMembersCreationSt","useMembersCreationStatus","creationStatus","_config$createMember","isSuccessful","users","error","handleClose","callback","showThumbsUpToastr","Toastr","refetchMembers","_useUpdateMember","useUpdateMember","_config$updateMember","updateMember","window","location","reload","isUpdatingMember","hasRoleChanged","submitted","arguments","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","uploadImage","isUploading","handleUploadImage","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","image","result","didUpload","wrap","_callee$","_context","prev","next","uploadedImageData","Error","abrupt","stop","_x","apply","isProcessing","handleAddMember","_ref6","_callee2","_values$avatar","_yield$handleUploadIm","fileId","filePath","url","_callee2$","_context2","renderPayload","avatar","file","profile","sent","t0","message","_x2","handleOnSubmit","_ref8","_callee3","_ref7","setSubmitting","_callee3$","_context3","APP_LIST","_x3","_x4","handleBackButton","getTitle","memberLabel","taxonomies","singular","what","renderRolesRadioGroup","RolesRadioGroup","isEdit","renderFormPage","page","_memberShowData$membe","_memberShowData$membe2","_config$additionalFie","_Fragment","ProfileImage","additionalFields","onClose","Header","headerProps","classnames","LeftArrow","tooltipProps","weight","Form","formikProps","enableReinitialize","initialValues","renderInitialValues","additionalFieldsInitialValues","onSubmit","validationSchema","buildValidationSchema","_ref9","_manageMemberComponen2","_manageMemberComponen3","isValid","dirty","ScrollToErrorField","formRef","Body","bodyProps","Callout","Info","Footer","footerProps","ActionBlock","cancelButtonProps","isSubmitting","submitButtonProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManageMember.js","sources":["../app/javascript/src/components/TeamMembers/ManageMember/AppList.jsx","../app/javascript/src/components/TeamMembers/ManageMember/Confirmation.jsx","../app/javascript/src/components/TeamMembers/ManageMember/InviteLink.jsx","../app/javascript/src/components/TeamMembers/ManageMember/MultipleEmailInput.jsx","../app/javascript/src/components/TeamMembers/ManageMember/NameInputs.jsx","../app/javascript/src/components/TeamMembers/ManageMember/ProfileSettings.jsx","../app/javascript/src/components/TeamMembers/ManageMember/index.jsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Checkbox, Tooltip, Button, Typography } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { pluck, not } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { NEETO_AUTH_MANAGE_PRODUCT_URL } from \"./constants\";\n\nconst AppList = ({ globalRoles, savedStateRef }) => {\n const { t } = useTranslation();\n const [isAppListEnabled, setIsAppListEnabled] = useState(\n savedStateRef.current.isAppListEnabled\n );\n\n const {\n values: { emails = [], appRoles = [] },\n setFieldValue,\n } = useFormikContext();\n\n const selectedEmail = pluck(\"value\", emails);\n const isManageProductsLinkEnabled =\n globalProps.user?.isOwner && Object.keys(globalRoles).length >= 3;\n\n useEffect(() => {\n if (savedStateRef.current.isAppListEnabled !== isAppListEnabled) {\n appRoles?.forEach((appRole, index) => {\n if (appRole?.appName === globalProps.appName?.substring(5)) {\n setFieldValue(`appRoles[${index}].isEnabled`, true);\n\n return;\n }\n\n setFieldValue(`appRoles[${index}].isEnabled`, isAppListEnabled);\n });\n }\n savedStateRef.current.isAppListEnabled = isAppListEnabled;\n }, [isAppListEnabled]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const buildRoleOptions = roles =>\n roles.map(role => toLabelAndValue(role.name));\n\n return (\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full space-y-3\">\n <Checkbox\n checked={isAppListEnabled}\n className=\"ntm-manage-members__checkbox-align-start\"\n data-testid=\"ntm-manage-members-app-list-checkbox\"\n label={\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.addMembersToNeetoProducts\"\n values={{ emails: selectedEmail }}\n />\n </Typography>\n }\n onChange={() => setIsAppListEnabled(not)}\n />\n {isManageProductsLinkEnabled && (\n <Typography style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.manageProducts\"\n components={{\n button: (\n <Button href={NEETO_AUTH_MANAGE_PRODUCT_URL} style=\"link\" />\n ),\n }}\n />\n </Typography>\n )}\n </div>\n <div className=\"neeto-ui-w-full\">\n {appRoles.map(({ appName, isEnabled }, index) => {\n const isCurrentApp = appName === globalProps.appName?.substring(5);\n const isAppRoleSelectionChecked = isCurrentApp || isEnabled;\n\n return (\n <div className=\"ntm-manage-members__app-roles\" key={appName}>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.hostAppIsRequired\")}\n disabled={!isCurrentApp}\n position=\"left\"\n >\n <span>\n <Switch\n checked={isAppRoleSelectionChecked}\n disabled={isCurrentApp}\n name={`appsRoles[${index}].isEnabled`}\n label={t(\"neetoTeamMembers.labels.neeto_\", {\n product: appName,\n })}\n onChange={({ target }) => {\n setFieldValue(\n `appRoles[${index}].isEnabled`,\n target.checked\n );\n }}\n />\n </span>\n </Tooltip>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.goBackToChangeRole\")}\n disabled={!isCurrentApp}\n position=\"top\"\n >\n <span className=\"ntm-manage-members-app-roles__select-wrapper\">\n <Select\n dataTestid=\"ntm-manage-members-app-roles\"\n isDisabled={isCurrentApp || !isEnabled}\n name={`appRoles[${index}].activeRole`}\n options={buildRoleOptions(globalRoles[appName])}\n size=\"small\"\n strategy=\"fixed\"\n onChange={({ value }) => {\n setFieldValue(`appRoles[${index}].activeRole`, value);\n }}\n />\n </span>\n </Tooltip>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default AppList;\n","import { useFormikContext } from \"formik\";\nimport { filterBy } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { getSingleInvitationTranslationProps } from \"./utils\";\n\nconst Confirmation = () => {\n const { t } = useTranslation();\n const {\n values: { emails, role, appRoles },\n } = useFormikContext();\n\n const selectedEmail = pluck(\"value\", emails);\n const activeAppRoles = filterBy({ isEnabled: true }, appRoles);\n\n return activeAppRoles.length > 1 ? (\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full\">\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.multipleProductInvitation\"\n values={{\n count: selectedEmail.length,\n emails: selectedEmail,\n orgName: globalProps.organization?.name,\n }}\n />\n </Typography>\n </div>\n <table className=\"neeto-ui-w-full ntm-product-roles-table\">\n <thead>\n <tr>\n <th>{t(\"neetoTeamMembers.common.productName\")}</th>\n <th>{t(\"neetoTeamMembers.common.role\", SINGULAR)}</th>\n </tr>\n </thead>\n <tbody>\n {activeAppRoles.map(({ appName, activeRole }) => (\n <tr key={appName}>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {t(\"neetoTeamMembers.labels.neeto_\", { product: appName })}\n </Typography>\n </td>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {activeRole}\n </Typography>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n ) : (\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.singleProductInvitation\"\n values={getSingleInvitationTranslationProps({\n activeAppRoles,\n role,\n selectedEmail,\n })}\n />\n </Typography>\n );\n};\n\nexport default Confirmation;\n","import { useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Dropdown, Spinner, Button, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport {\n useFetchInviteLinks,\n useCreateInviteLinks,\n useRegenerateInviteLink,\n} from \"hooks/reactQuery/useInviteLinksApi\";\n\nimport { getInviteURL, remainingExpiryDays } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\nconst { Button: MenuItemButton } = MenuItem;\n\nconst InviteLink = ({ t, roles }) => {\n const { mutate: createInviteLink, isPending: isCreateLinkPending } =\n useCreateInviteLinks();\n\n const { mutate: regenerateLink } = useRegenerateInviteLink();\n\n const { data: { inviteLinks = [] } = {}, isLoading: isFetchLinkLoading } =\n useFetchInviteLinks();\n\n const { values } = useFormikContext();\n\n const isInviteLinkEmpty = !isFetchLinkLoading && isEmpty(inviteLinks);\n\n const handleRegenerate = () => {\n const { id: roleId } = findBy({ name: values.role }, roles);\n if (isEmpty(inviteLinks)) {\n createInviteLink({ organizationRoleId: roleId });\n\n return;\n }\n\n regenerateLink({\n inviteLinkId: inviteLinks[0].id,\n payload: { organizationRoleId: roleId },\n });\n };\n\n if (isFetchLinkLoading || isCreateLinkPending) {\n return (\n <div className=\"neeto-ui-w-full flex justify-center items-center\">\n <Spinner size=\"large\" />\n </div>\n );\n }\n\n return (\n <div className=\"neeto-ui-w-full space-y-2\">\n <div className=\"flex items-center gap-2 pt-1\">\n <div className=\"neeto-ui-rounded-md neeto-ui-border-gray-300 neeto-ui-bg-gray-50 relative flex min-w-0 grow items-center truncate border leading-none\">\n <div className=\"relative min-w-0 grow truncate p-2 leading-none\">\n {!isInviteLinkEmpty && getInviteURL(inviteLinks?.[0]?.token)}\n </div>\n {isInviteLinkEmpty ? (\n <Button\n className=\"rounded-ss-none rounded-es-none\"\n label={t(\"neetoTeamMembers.buttons.generateLink\")}\n onClick={handleRegenerate}\n />\n ) : (\n <CopyToClipboardButton\n className=\"rounded-ss-none rounded-es-none\"\n label={t(\"neetoTeamMembers.buttons.copyLink\")}\n value={getInviteURL(inviteLinks?.[0]?.token)}\n />\n )}\n </div>\n {!isInviteLinkEmpty && (\n <Dropdown\n buttonProps={{ className: \"shrink-0\" }}\n buttonStyle=\"text\"\n icon={MenuHorizontal}\n >\n <Menu>\n <MenuItem>\n <MenuItemButton onClick={handleRegenerate}>\n {t(\"neetoTeamMembers.buttons.regenerateLink\")}\n </MenuItemButton>\n </MenuItem>\n </Menu>\n </Dropdown>\n )}\n </div>\n <div>\n {!isInviteLinkEmpty && (\n <Typography\n className=\"leading-relaxed neeto-ui-text-gray-500\"\n style=\"body3\"\n >\n <Trans\n components={{ strong: <strong /> }}\n i18nKey=\"neetoTeamMembers.alerts.messages.inviteLink\"\n values={{\n expiryDays: remainingExpiryDays(inviteLinks?.[0]?.expiresAt),\n role: inviteLinks?.[0]?.organizationRole?.name,\n inviteLimit: inviteLinks?.[0]?.inviteLimit,\n appName: globalProps.appName,\n emailDomain: inviteLinks?.[0]?.domain,\n }}\n />\n </Typography>\n )}\n </div>\n </div>\n );\n};\nexport default withT(InviteLink);\n","import { useFormikContext } from \"formik\";\nimport { PLURAL, SINGULAR } from \"neetocommons/constants\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { MultiEmailInput, Input } from \"neetoui/formik\";\nimport { head } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isNeetoAuthApp } from \"utils\";\n\nimport {\n COUNTER_PROPS,\n EMAIL_REGEX,\n FILTER_INVALID_EMAILS,\n FORM_PAGES,\n} from \"./constants\";\n\nconst MultipleEmailInput = ({\n emails = [],\n innerRef,\n selectedMember = null,\n setCurrentPage,\n}) => {\n const isInviteLinkFeatureEnabled = !isNeetoAuthApp();\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n\n const handleInputChange = event => {\n const email = event.target.value;\n const emailList = [\n { label: email, value: email, valid: EMAIL_REGEX.test(email) },\n ];\n setFieldValue(\"emails\", emailList);\n };\n\n return (\n <div className=\"neeto-ui-w-full\">\n {selectedMember ? (\n <Input\n data-testid=\"ntm-manage-member-email-input\"\n name=\"emails\"\n size=\"medium\"\n type=\"email\"\n value={head(emails)?.value}\n label={\n <span className=\"neeto-ui-w-full neeto-ui-flex neeto-ui-justify-between\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoTeamMembers.common.email\", SINGULAR)}\n </Typography>\n </span>\n }\n onChange={handleInputChange}\n />\n ) : (\n <div>\n <div className=\"flex items-center justify-between pb-2\">\n <Label required>{t(\"neetoTeamMembers.common.email\", PLURAL)}</Label>\n {isInviteLinkFeatureEnabled && (\n <Button\n label={t(\"neetoTeamMembers.buttons.inviteLink\")}\n style=\"link\"\n onClick={() => setCurrentPage(FORM_PAGES.INVITE_LINK)}\n />\n )}\n </div>\n <MultiEmailInput\n required\n counter={COUNTER_PROPS}\n data-testid=\"ntm-manage-member-email-input\"\n filterInvalidEmails={FILTER_INVALID_EMAILS}\n helpText={t(\"neetoTeamMembers.helpers.enterMultipleEmails\")}\n label=\"\"\n name=\"emails\"\n placeholder={t(\"neetoTeamMembers.placeholders.email\")}\n ref={innerRef}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default MultipleEmailInput;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Input } from \"neetoui/formik\";\n\nconst NameInputs = withT(({ t, innerRef }) => (\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-gap-4 pt-4 border-t mt-0 neeto-ui-border-gray-200\">\n <Input\n data-testid=\"ntm-edit-member-first-name-text-field\"\n label={t(\"neetoTeamMembers.labels.firstName\")}\n name=\"firstName\"\n ref={innerRef}\n />\n <Input\n data-testid=\"ntm-edit-member-last-name-text-field\"\n label={t(\"neetoTeamMembers.labels.lastName\")}\n name=\"lastName\"\n />\n </div>\n));\n\nexport default NameInputs;\n","import { useEffect, useRef } from \"react\";\n\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport { findBy } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { FormikPhoneNumberInput } from \"neetomolecules/PhoneNumber\";\nimport { Label } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport useCountries from \"components/Profile/hooks/useCountries\";\n\nconst ProfileSettings = ({ member, setFieldValue }) => {\n const { t } = useTranslation();\n\n const setFieldValueRef = useRef(setFieldValue);\n\n useEffect(() => {\n setFieldValueRef.current = setFieldValue;\n }, [setFieldValue]);\n\n const {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList,\n handleCountryChange,\n } = useCountries();\n\n const timezoneContainerRef = useRef(null);\n\n useEffect(() => {\n const node = timezoneContainerRef.current;\n if (!node) return undefined;\n\n new NeetoTimezoneSelector(node, {\n isTimeFormat24H: member.timeFormat === \"24h\",\n className: \"w-full z-10\",\n position: \"bottom\",\n initialValue: member.timeZone,\n onChange: ({ main }) => setFieldValueRef.current(\"timeZone\", main),\n });\n\n return () => {\n node.innerHTML = \"\";\n };\n }, [member.timeZone, member.timeFormat]);\n\n useEffect(() => {\n const country = findBy(\n { value: member.countryIdentifier },\n countryDropdownOptions\n );\n if (country) handleCountryChange(country);\n }, [member.countryIdentifier, countryDropdownOptions, handleCountryChange]);\n\n return (\n <div className=\"w-full space-y-4\" data-cy=\"ntm-profile-settings\">\n <FormikPhoneNumberInput\n data-cy=\"ntm-edit-member-phonenumber-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.phonenumber\")}\n name=\"phonenumber\"\n />\n <Select\n data-cy=\"ntm-edit-member-country-select\"\n isLoading={isFetchingCountriesList}\n label={t(\"neetoTeamMembers.profile.inputs.label.country\")}\n name=\"countryId\"\n options={countryDropdownOptions}\n value={selectedCountryOption}\n onChange={option => {\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n setFieldValue(\"countryId\", option?.value);\n }}\n />\n <Select\n data-cy=\"ntm-edit-member-language-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.language\")}\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n onChange={option => setFieldValue(\"language\", option.value)}\n />\n <div className=\"space-y-2\">\n <Label>{t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}</Label>\n <div\n className=\"w-full grow\"\n data-cy=\"ntm-edit-member-timezone-select\"\n ref={timezoneContainerRef}\n />\n </div>\n <Select\n data-cy=\"ntm-edit-member-time-format-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.preferredTimeFormat\")}\n name=\"timeFormat\"\n options={TIME_FORMAT_OPTIONS}\n onChange={option => setFieldValue(\"timeFormat\", option.value)}\n />\n <Select\n data-cy=\"ntm-edit-member-date-format-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.preferredDateFormat\")}\n name=\"dateFormat\"\n options={DATE_FORMAT_OPTIONS}\n onChange={option => setFieldValue(\"dateFormat\", option.value)}\n />\n </div>\n );\n};\n\nexport default ProfileSettings;\n","import { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { globalProps, taxonomies } from \"neetocommons/initializers\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Info, LeftArrow } from \"neetoicons\";\nimport { useProfileImageUpload } from \"neetoimageuploader\";\nimport { Button, Typography, Toastr, Callout, Spinner } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { reverse, isEmpty, groupBy, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport ProfileImage from \"components/Profile/ProfileImage\";\nimport { useFetchGlobalRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport {\n useFetchMember,\n useFetchMembers,\n useCreateMember,\n useUpdateMember,\n useMembersCreationStatus,\n refetchMembers,\n} from \"hooks/teams/useTeamsApi\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/manage-members.css\";\n\nimport AppList from \"./AppList\";\nimport Confirmation from \"./Confirmation\";\nimport {\n DEFAULT_COMPONENT_CONFIG,\n MEMBERS_FORM_COMPONENT_MAPPER,\n FORM_PAGES,\n} from \"./constants\";\nimport InviteLink from \"./InviteLink\";\nimport MultipleEmailInput from \"./MultipleEmailInput\";\nimport NameInputs from \"./NameInputs\";\nimport ProfileSettings from \"./ProfileSettings\";\nimport RolesRadioGroup from \"./RolesRadioGroup\";\nimport {\n buildValidationSchema,\n renderInitialValues,\n renderPayload,\n} from \"./utils\";\n\nimport { getFilteredRoles } from \"../utils\";\n\nconst ManageMember = ({\n config,\n onComplete,\n roles = [],\n selectedMember = null,\n componentConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const [isCreationStatusPollingEnabled, setIsCreationStatusPollingEnabled] =\n useState(false);\n\n const isViewPermissionGranted = config.permissions.view;\n const isNotDevelopment = globalProps.railsEnv !== \"development\";\n\n const { data: team } = useFetchMembers({ enabled: isViewPermissionGranted });\n\n const isManageMemberOpen = !!componentConfig.isOpen;\n\n const { data: memberShowData, isLoading: isMemberDetailLoading } =\n useFetchMember(selectedMember?.id, {\n enabled: !!selectedMember && isManageMemberOpen,\n });\n\n const [currentPage, setCurrentPage] = useState(FORM_PAGES.MAIN);\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const appListSavedStateReference = useRef({ isAppListEnabled: true });\n const shouldSkipAppListPage = useRef(false);\n const formikValues = useRef(null);\n\n const manageMemberComponentConfig = {\n ...DEFAULT_COMPONENT_CONFIG,\n initialFocusRef: inputReference,\n ...componentConfig,\n };\n\n const Component =\n MEMBERS_FORM_COMPONENT_MAPPER[manageMemberComponentConfig.type || \"pane\"];\n\n const haveToFetchRoles = isEmpty(roles) && isViewPermissionGranted;\n\n const isEditForm = !!selectedMember;\n const isLastPage = currentPage === FORM_PAGES.CONFIRMATION || isEditForm;\n\n const { data: rolesList = roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response => reverse(response.organizationRoles ?? []),\n enabled: haveToFetchRoles,\n });\n\n const { data: globalRoles = {}, isLoading: isGlobalRolesLoading } =\n useFetchGlobalRoles({\n select: response => groupBy(prop(\"appName\"), response ?? []),\n enabled: isNotDevelopment && !selectedMember && isViewPermissionGranted,\n });\n\n const filteredRoles = getFilteredRoles(rolesList, config);\n\n const {\n data: { jobId } = {},\n mutate: createMember,\n isPending: isCreatingMember,\n } = useCreateMember({\n onSuccess: () => setIsCreationStatusPollingEnabled(true),\n });\n\n const refetchInterval = query => {\n const { isCompleted } = query.state.data || {};\n\n if (isCompleted) {\n setIsCreationStatusPollingEnabled(false);\n\n return false;\n }\n\n return 2000;\n };\n\n const { data: creationStatus } = useMembersCreationStatus(jobId, {\n refetchInterval,\n enabled: isCreationStatusPollingEnabled,\n });\n\n useEffect(() => {\n const { isCompleted, isSuccessful, users, error } = creationStatus || {};\n\n if (!isCompleted) return;\n handleClose();\n config?.createMember?.onSuccess?.callback({ users });\n\n if (isSuccessful) {\n showThumbsUpToastr();\n } else {\n Toastr.error(error);\n }\n\n refetchMembers();\n }, [creationStatus]);\n\n const { mutate: updateMember, isPending: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleClose(true);\n config?.updateMember?.onSuccess?.callback();\n if (selectedMember?.id === globalProps.user?.id) {\n window.location.reload();\n }\n },\n }\n );\n\n const hasRoleChanged = ({ submitted, values }) =>\n submitted && values?.role !== selectedMember?.role;\n\n const handleClose = (submitted = false) => {\n onComplete({\n submitted: hasRoleChanged({ submitted, values: formikValues.current }),\n });\n setCurrentPage(FORM_PAGES.MAIN);\n appListSavedStateReference.current = { isAppListEnabled: true };\n setIsCreationStatusPollingEnabled(false);\n };\n\n const { uploadImage, isUploading } = useProfileImageUpload({\n uploadConfig: {\n folder: \"Auth\",\n customMetadata: { appName: \"neetoAuth\" },\n },\n });\n\n const handleUploadImage = async image => {\n let result;\n let didUpload = false;\n await uploadImage(image, uploadedImageData => {\n didUpload = true;\n result = uploadedImageData;\n });\n\n if (!didUpload) {\n throw new Error(t(\"neetoTeamMembers.common.imageUploadFailed\"));\n }\n\n return result;\n };\n\n const isProcessing =\n isCreatingMember ||\n isUpdatingMember ||\n isUploading ||\n isRolesLoading ||\n isGlobalRolesLoading ||\n isMemberDetailLoading;\n\n const handleAddMember = async values => {\n if (selectedMember) {\n const payload = renderPayload(values, selectedMember);\n\n if (values.avatar?.file) {\n if (!payload.profile) payload.profile = {};\n\n if (values.avatar.file === \"_destroy\") {\n payload.profile.avatar = {\n fileId: \"_destroy\",\n filePath: \"\",\n url: \"\",\n };\n } else {\n try {\n const { fileId, filePath, url } = await handleUploadImage(\n values.avatar.file\n );\n payload.profile.avatar = { fileId, filePath, url };\n } catch (error) {\n Toastr.error(error.message);\n\n return;\n }\n }\n }\n\n updateMember({ id: selectedMember.id, payload });\n } else {\n createMember(renderPayload(values));\n }\n };\n\n const handleOnSubmit = async (values, { setSubmitting }) => {\n shouldSkipAppListPage.current = isEmpty(values.appRoles);\n\n if (isLastPage) {\n await handleAddMember(values);\n } else if (\n currentPage === FORM_PAGES.APP_LIST ||\n shouldSkipAppListPage.current\n ) {\n setCurrentPage(FORM_PAGES.CONFIRMATION);\n setSubmitting(false);\n } else if (currentPage === FORM_PAGES.MAIN) {\n setCurrentPage(FORM_PAGES.APP_LIST);\n setSubmitting(false);\n }\n };\n\n const handleBackButton = () => {\n if (\n currentPage === FORM_PAGES.APP_LIST ||\n shouldSkipAppListPage.current ||\n currentPage === FORM_PAGES.INVITE_LINK\n ) {\n setCurrentPage(FORM_PAGES.MAIN);\n } else if (currentPage === FORM_PAGES.CONFIRMATION) {\n setCurrentPage(FORM_PAGES.APP_LIST);\n }\n };\n\n const getTitle = () => {\n const memberLabel = taxonomies.member.singular;\n\n if (selectedMember) {\n return t(\"neetoTeamMembers.common.edit_\", { what: memberLabel });\n }\n\n return currentPage === FORM_PAGES.INVITE_LINK\n ? t(\"neetoTeamMembers.common.inviteViaLink\")\n : t(\"neetoTeamMembers.common.addNew_\", { what: memberLabel });\n };\n\n const renderRolesRadioGroup = role => (\n <div className=\"pt-4 border-t neeto-ui-border-gray-200 w-full\">\n <RolesRadioGroup\n {...{ config, globalRoles, role }}\n isEdit={!!selectedMember}\n roles={filteredRoles}\n />\n </div>\n );\n\n const renderFormPage = (page, emails, role, setFieldValue) => {\n switch (page) {\n case FORM_PAGES.MAIN:\n return (\n <>\n {selectedMember && <ProfileImage />}\n {selectedMember && <NameInputs innerRef={inputReference} />}\n <MultipleEmailInput\n {...{ emails, selectedMember, setCurrentPage }}\n innerRef={inputReference}\n />\n {selectedMember && (\n <ProfileSettings\n {...{ setFieldValue }}\n member={{\n ...selectedMember,\n countryIdentifier:\n memberShowData?.member?.countryIdentifier ??\n selectedMember.countryIdentifier,\n }}\n />\n )}\n {renderRolesRadioGroup(role)}\n {config.additionalFields?.component}\n </>\n );\n case FORM_PAGES.APP_LIST:\n return (\n <AppList\n {...{ globalRoles }}\n savedStateRef={appListSavedStateReference}\n />\n );\n case FORM_PAGES.CONFIRMATION:\n return <Confirmation />;\n case FORM_PAGES.INVITE_LINK:\n return (\n <>\n <InviteLink roles={filteredRoles} />\n {renderRolesRadioGroup(role)}\n </>\n );\n default:\n return null;\n }\n };\n\n return (\n <Component\n className={manageMemberComponentConfig.className}\n data-testid=\"ntm-manage-members-pane-wrapper\"\n initialFocusRef={manageMemberComponentConfig.initialFocusRef}\n isOpen={manageMemberComponentConfig.isOpen}\n onClose={() => handleClose(false)}\n >\n <Component.Header\n {...manageMemberComponentConfig.headerProps}\n className={classnames([\n { \"ntm-manage-members__header\": currentPage !== FORM_PAGES.MAIN },\n manageMemberComponentConfig.headerProps?.className,\n ])}\n >\n {currentPage !== FORM_PAGES.MAIN && (\n <Button\n aria-label=\"Back\"\n icon={LeftArrow}\n size=\"medium\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoTeamMembers.buttons.back\"),\n position: \"bottom\",\n }}\n onClick={handleBackButton}\n />\n )}\n <Typography\n className=\"ntm-members-form__header\"\n data-testid=\"ntm-manage-members-pane-header\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {getTitle()}\n </Typography>\n {selectedMember && (\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {t(\"neetoTeamMembers.helpers.editPaneSubtitle\")}\n </Typography>\n )}\n </Component.Header>\n <Form\n ref={formReference}\n formikProps={{\n enableReinitialize: true,\n initialValues: renderInitialValues({\n additionalFieldsInitialValues:\n config.additionalFields?.initialValues,\n globalRoles,\n memberShowData,\n roles: filteredRoles,\n selectedMember,\n }),\n onSubmit: handleOnSubmit,\n validationSchema: buildValidationSchema({\n selectedMember,\n ...team,\n }),\n }}\n >\n {({ values, isValid, dirty, setFieldValue }) => {\n const { emails, role } = values;\n formikValues.current = values;\n\n return (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Component.Body\n {...manageMemberComponentConfig.bodyProps}\n className={classnames([\n \"ntm-members-form__body\",\n manageMemberComponentConfig.bodyProps?.className,\n ])}\n >\n {isCreationStatusPollingEnabled && (\n <Callout className=\"w-full\" icon={Info} style=\"info\">\n <Spinner size=\"small\" />\n {t(\"neetoTeamMembers.helpers.memberCreationStatus\", {\n count: emails.length,\n })}\n </Callout>\n )}\n {renderFormPage(currentPage, emails, role, setFieldValue)}\n </Component.Body>\n {currentPage !== FORM_PAGES.INVITE_LINK && (\n <Component.Footer\n {...manageMemberComponentConfig.footerProps}\n className={classnames([\n \"ntm-members-form__footer\",\n manageMemberComponentConfig.footerProps?.className,\n ])}\n >\n <ActionBlock\n cancelButtonProps={{\n \"data-testid\": \"ntm-manage-member-cancel-button\",\n onClick: () => handleClose(false),\n }}\n isSubmitting={\n isProcessing || isCreationStatusPollingEnabled\n }\n submitButtonProps={{\n \"data-testid\": isLastPage\n ? \"ntm-manage-member-submit-button\"\n : \"ntm-manage-member-continue-button\",\n label: isLastPage\n ? t(\"neetoTeamMembers.buttons.saveChanges\")\n : t(\"neetoTeamMembers.buttons.continue\"),\n disabled:\n !isValid ||\n isProcessing ||\n !dirty ||\n isCreationStatusPollingEnabled,\n }}\n />\n </Component.Footer>\n )}\n </>\n );\n }}\n </Form>\n </Component>\n );\n};\n\nexport default ManageMember;\n"],"names":["AppList","_ref","_globalProps$user","globalRoles","savedStateRef","_useTranslation","useTranslation","t","_useState","useState","current","isAppListEnabled","_useState2","_slicedToArray","setIsAppListEnabled","_useFormikContext","useFormikContext","_useFormikContext$val","values","_useFormikContext$val2","emails","_useFormikContext$val3","appRoles","setFieldValue","selectedEmail","pluck","isManageProductsLinkEnabled","globalProps","user","isOwner","Object","keys","length","useEffect","forEach","appRole","index","_globalProps$appName","appName","substring","concat","buildRoleOptions","roles","map","role","toLabelAndValue","name","_jsxs","className","children","_jsx","Checkbox","checked","label","Typography","component","lineHeight","style","Trans","i18nKey","onChange","not","components","button","Button","href","NEETO_AUTH_MANAGE_PRODUCT_URL","_ref2","_globalProps$appName2","isEnabled","isCurrentApp","isAppRoleSelectionChecked","Tooltip","content","disabled","position","Switch","product","_ref3","target","Select","dataTestid","isDisabled","options","size","strategy","_ref4","value","Confirmation","_globalProps$organiza","activeAppRoles","filterBy","count","orgName","organization","SINGULAR","activeRole","getSingleInvitationTranslationProps","Menu","Dropdown","MenuItem","MenuItemButton","InviteLink","_inviteLinks$","_inviteLinks$2","_inviteLinks$3","_inviteLinks$4","_inviteLinks$5","_inviteLinks$6","_useCreateInviteLinks","useCreateInviteLinks","createInviteLink","mutate","isCreateLinkPending","isPending","_useRegenerateInviteL","useRegenerateInviteLink","regenerateLink","_useFetchInviteLinks","useFetchInviteLinks","_useFetchInviteLinks$","data","_useFetchInviteLinks$2","_useFetchInviteLinks$3","inviteLinks","isFetchLinkLoading","isLoading","isInviteLinkEmpty","isEmpty","handleRegenerate","_findBy","findBy","roleId","id","organizationRoleId","inviteLinkId","payload","Spinner","getInviteURL","token","onClick","CopyToClipboardButton","buttonProps","buttonStyle","icon","MenuHorizontal","strong","expiryDays","remainingExpiryDays","expiresAt","organizationRole","inviteLimit","emailDomain","domain","withT","MultipleEmailInput","_head","_ref$emails","innerRef","_ref$selectedMember","selectedMember","setCurrentPage","isInviteLinkFeatureEnabled","isNeetoAuthApp","handleInputChange","event","email","emailList","valid","EMAIL_REGEX","test","Input","type","head","Label","required","PLURAL","FORM_PAGES","INVITE_LINK","MultiEmailInput","counter","COUNTER_PROPS","filterInvalidEmails","FILTER_INVALID_EMAILS","helpText","placeholder","ref","NameInputs","ProfileSettings","member","setFieldValueRef","useRef","_useCountries","useCountries","countryDropdownOptions","selectedCountryOption","isFetchingCountriesList","handleCountryChange","timezoneContainerRef","node","undefined","NeetoTimezoneSelector","isTimeFormat24H","timeFormat","initialValue","timeZone","main","innerHTML","country","countryIdentifier","FormikPhoneNumberInput","option","dependentFields","dateFormat","LANGUAGE_OPTIONS","TIME_FORMAT_OPTIONS","DATE_FORMAT_OPTIONS","ManageMember","_manageMemberComponen","_config$additionalFie2","config","onComplete","_ref$roles","_ref$componentConfig","componentConfig","isCreationStatusPollingEnabled","setIsCreationStatusPollingEnabled","isViewPermissionGranted","permissions","view","isNotDevelopment","railsEnv","_useFetchMembers","useFetchMembers","enabled","team","isManageMemberOpen","isOpen","_useFetchMember","useFetchMember","memberShowData","isMemberDetailLoading","_useState3","MAIN","_useState4","currentPage","formReference","inputReference","appListSavedStateReference","shouldSkipAppListPage","formikValues","manageMemberComponentConfig","_objectSpread","DEFAULT_COMPONENT_CONFIG","initialFocusRef","Component","MEMBERS_FORM_COMPONENT_MAPPER","haveToFetchRoles","isEditForm","isLastPage","CONFIRMATION","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","_useFetchRoles$data","rolesList","isRolesLoading","_useFetchGlobalRoles","useFetchGlobalRoles","groupBy","prop","_useFetchGlobalRoles$","isGlobalRolesLoading","filteredRoles","getFilteredRoles","_useCreateMember","useCreateMember","onSuccess","_useCreateMember$data","_useCreateMember$data2","jobId","createMember","isCreatingMember","refetchInterval","query","state","isCompleted","_useMembersCreationSt","useMembersCreationStatus","creationStatus","_config$createMember","isSuccessful","users","error","handleClose","callback","showThumbsUpToastr","Toastr","refetchMembers","_useUpdateMember","useUpdateMember","_config$updateMember","updateMember","window","location","reload","isUpdatingMember","hasRoleChanged","submitted","arguments","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","uploadImage","isUploading","handleUploadImage","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","image","result","didUpload","wrap","_callee$","_context","prev","next","uploadedImageData","Error","abrupt","stop","_x","apply","isProcessing","handleAddMember","_ref6","_callee2","_values$avatar","_yield$handleUploadIm","fileId","filePath","url","_callee2$","_context2","renderPayload","avatar","file","profile","sent","t0","message","_x2","handleOnSubmit","_ref8","_callee3","_ref7","setSubmitting","_callee3$","_context3","APP_LIST","_x3","_x4","handleBackButton","getTitle","memberLabel","taxonomies","singular","what","renderRolesRadioGroup","RolesRadioGroup","isEdit","renderFormPage","page","_memberShowData$membe","_memberShowData$membe2","_config$additionalFie","_Fragment","ProfileImage","additionalFields","onClose","Header","headerProps","classnames","LeftArrow","tooltipProps","weight","Form","formikProps","enableReinitialize","initialValues","renderInitialValues","additionalFieldsInitialValues","onSubmit","validationSchema","buildValidationSchema","_ref9","_manageMemberComponen2","_manageMemberComponen3","isValid","dirty","ScrollToErrorField","formRef","Body","bodyProps","Callout","Info","Footer","footerProps","ActionBlock","cancelButtonProps","isSubmitting","submitButtonProps"],"mappings":"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"}
|
|
@@ -232,7 +232,7 @@ var Permissions = function Permissions(_ref) {
|
|
|
232
232
|
weight: "semibold",
|
|
233
233
|
children: category
|
|
234
234
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
235
|
-
className: "ntm-roles-permission-category-card
|
|
235
|
+
className: "ntm-roles-permission-category-card rounded-md border border-border p-2.5 px-5 transition-all duration-300",
|
|
236
236
|
children: groupedPermissions[category].map(_renderPermission)
|
|
237
237
|
})]
|
|
238
238
|
}, category);
|
|
@@ -245,4 +245,4 @@ exports.getChildrenRemovedFromRoot = getChildrenRemovedFromRoot;
|
|
|
245
245
|
exports.getModifiedPermissions = getModifiedPermissions;
|
|
246
246
|
exports.getPermissionGroups = getPermissionGroups;
|
|
247
247
|
exports.sortPermissionsBySequence = sortPermissionsBySequence;
|
|
248
|
-
//# sourceMappingURL=Permissions-
|
|
248
|
+
//# sourceMappingURL=Permissions-BVkx_S_F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Permissions-BVkx_S_F.js","sources":["../app/javascript/src/v2/components/Roles/utils.js","../app/javascript/src/v2/components/Roles/Permissions.jsx"],"sourcesContent":["import { findById } from \"neetocist\";\nimport { append, concat, equals, prop } from \"ramda\";\n\nexport const sortPermissionsBySequence = (permissions = []) =>\n permissions?.[0]?.sequence\n ? [...permissions].sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = sortPermissionsBySequence(permissions);\n\n const groupedPermissions = new Map();\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n\nexport const attachChildrenRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? {\n ...permission,\n children: children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport {\n Checkbox,\n Label,\n Tooltip,\n Typography,\n cn,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findById, hyphenate, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/roles-permissions.css\";\n\nimport {\n findChildIdsRecursively,\n getChildrenRemovedFromRoot,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Permissions = ({\n permissions = [],\n isDisabled = false,\n permissionRelationConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const handleTogglePermission = permissionId => {\n const permission = findById(permissionId, permissions);\n let nextPermissionIds = [];\n if (permissionIds.includes(permissionId)) {\n let childIds = [];\n if (permissionRelationConfig[permission.name]) {\n childIds = findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }\n\n const permissionIdsToBeUnchecked = [permissionId, ...childIds];\n\n nextPermissionIds = permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n );\n } else {\n const { uncheckOnSelect } =\n permissionRelationConfig[permission.name] || {};\n\n const uncheckOnSelectPermissions =\n uncheckOnSelect?.flatMap(name => permissionsNameMap[name]) ?? [];\n\n const childIds = uncheckOnSelectPermissions.flatMap(permission =>\n findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const uncheckedPermissionIds = pluck(\"id\", uncheckOnSelectPermissions);\n const permissionIdsToBeUnchecked = [\n ...uncheckedPermissionIds,\n ...childIds,\n ];\n\n nextPermissionIds = uncheckOnSelect\n ? [\n ...permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n ),\n permissionId,\n ]\n : [...permissionIds, permissionId];\n }\n\n setFieldValue(\"permissionIds\", nextPermissionIds.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n index = 1,\n }) => {\n const sortedChildren = children && sortPermissionsBySequence(children);\n\n const isCheckingDisabled = !isParentChecked || isDisabled;\n const isChecked = permissionIds.includes(id);\n\n const permissionsToBeUnchecked =\n permissionRelationConfig[name]?.uncheckOnSelect;\n\n const hasUnCheckOnSelect =\n permissionsToBeUnchecked && isNotEmpty(permissionsToBeUnchecked);\n\n const tooltipMessage =\n hasUnCheckOnSelect &&\n t(\"neetoTeamMembers.tooltips.uncheckOnSelectPermissions\", {\n permissions: permissionsToBeUnchecked\n .flatMap(name => pluck(\"description\", permissionsNameMap[name]))\n .join(\", \"),\n });\n\n return (\n <Fragment key={id}>\n <Tooltip\n content={tooltipMessage && !isChecked ? tooltipMessage : null}\n position=\"left\"\n >\n <div\n className=\"ntm-roles-permission__card relative flex flex-col gap-3 bg-background py-1.5\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n id={`ntm-role-permission-${id}`}\n >\n <div className=\"flex items-start gap-2\">\n <Checkbox\n checked={isChecked}\n className=\"mt-0.5 shrink-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n id={`permission-${id}`}\n onCheckedChange={() => handleTogglePermission(id)}\n />\n <Label\n htmlFor={`permission-${id}`}\n className={cn(\n \"font-normal leading-relaxed\",\n isCheckingDisabled\n ? \"cursor-not-allowed opacity-50\"\n : \"cursor-pointer\"\n )}\n >\n {description}\n </Label>\n </div>\n <div className=\"ntm-roles-permission__sub-blocks relative pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n index: index + 1,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"space-y-4\">\n <div>\n <Typography variant=\"body1\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-testid=\"ntm-roles-permission-card\"\n id={`ntm-role-permission-category-${hyphenate(category)}`}\n key={category}\n >\n <Typography\n className=\"mb-2 pt-2\"\n data-testid=\"ntm-roles-permission-category-title\"\n variant=\"body3\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card rounded-md border border-border p-2.5 px-5 transition-all duration-300\">\n {groupedPermissions[category].map(renderPermission)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n"],"names":["sortPermissionsBySequence","_permissions$","permissions","arguments","length","undefined","sequence","_toConsumableArray","sort","first","second","getPermissionGroups","sortBySequence","groupedPermissions","Map","forEach","permission","has","category","get","currentPermissions","append","set","value","getModifiedPermissions","roles","modifiedRoles","map","role","oldPermissions","findById","id","permissionIds","equals","filter","Boolean","attachChildrenRecursively","permissionsNameMap","permissionRelationConfig","_ref","name","children","_objectSpread","flatMap","childName","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","_ref3$index","index","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","position","_jsxs","className","Checkbox","checked","disabled","onCheckedChange","Label","htmlFor","cn","Typography","variant","weight","SINGULAR","color","keys","hyphenate"],"mappings":"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"}
|
|
@@ -225,7 +225,7 @@ var Permissions = function Permissions(_ref) {
|
|
|
225
225
|
weight: "semibold",
|
|
226
226
|
children: category
|
|
227
227
|
}), /*#__PURE__*/jsx("div", {
|
|
228
|
-
className: "ntm-roles-permission-category-card
|
|
228
|
+
className: "ntm-roles-permission-category-card rounded-md border border-border p-2.5 px-5 transition-all duration-300",
|
|
229
229
|
children: groupedPermissions[category].map(_renderPermission)
|
|
230
230
|
})]
|
|
231
231
|
}, category);
|
|
@@ -234,4 +234,4 @@ var Permissions = function Permissions(_ref) {
|
|
|
234
234
|
};
|
|
235
235
|
|
|
236
236
|
export { Permissions as P, getPermissionGroups as a, getModifiedPermissions as b, getChildrenRemovedFromRoot as g, sortPermissionsBySequence as s };
|
|
237
|
-
//# sourceMappingURL=Permissions-
|
|
237
|
+
//# sourceMappingURL=Permissions-DIdoAJlu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Permissions-DIdoAJlu.js","sources":["../app/javascript/src/v2/components/Roles/utils.js","../app/javascript/src/v2/components/Roles/Permissions.jsx"],"sourcesContent":["import { findById } from \"neetocist\";\nimport { append, concat, equals, prop } from \"ramda\";\n\nexport const sortPermissionsBySequence = (permissions = []) =>\n permissions?.[0]?.sequence\n ? [...permissions].sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = sortPermissionsBySequence(permissions);\n\n const groupedPermissions = new Map();\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n\nexport const attachChildrenRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? {\n ...permission,\n children: children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport {\n Checkbox,\n Label,\n Tooltip,\n Typography,\n cn,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findById, hyphenate, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/roles-permissions.css\";\n\nimport {\n findChildIdsRecursively,\n getChildrenRemovedFromRoot,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Permissions = ({\n permissions = [],\n isDisabled = false,\n permissionRelationConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const handleTogglePermission = permissionId => {\n const permission = findById(permissionId, permissions);\n let nextPermissionIds = [];\n if (permissionIds.includes(permissionId)) {\n let childIds = [];\n if (permissionRelationConfig[permission.name]) {\n childIds = findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }\n\n const permissionIdsToBeUnchecked = [permissionId, ...childIds];\n\n nextPermissionIds = permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n );\n } else {\n const { uncheckOnSelect } =\n permissionRelationConfig[permission.name] || {};\n\n const uncheckOnSelectPermissions =\n uncheckOnSelect?.flatMap(name => permissionsNameMap[name]) ?? [];\n\n const childIds = uncheckOnSelectPermissions.flatMap(permission =>\n findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const uncheckedPermissionIds = pluck(\"id\", uncheckOnSelectPermissions);\n const permissionIdsToBeUnchecked = [\n ...uncheckedPermissionIds,\n ...childIds,\n ];\n\n nextPermissionIds = uncheckOnSelect\n ? [\n ...permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n ),\n permissionId,\n ]\n : [...permissionIds, permissionId];\n }\n\n setFieldValue(\"permissionIds\", nextPermissionIds.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n index = 1,\n }) => {\n const sortedChildren = children && sortPermissionsBySequence(children);\n\n const isCheckingDisabled = !isParentChecked || isDisabled;\n const isChecked = permissionIds.includes(id);\n\n const permissionsToBeUnchecked =\n permissionRelationConfig[name]?.uncheckOnSelect;\n\n const hasUnCheckOnSelect =\n permissionsToBeUnchecked && isNotEmpty(permissionsToBeUnchecked);\n\n const tooltipMessage =\n hasUnCheckOnSelect &&\n t(\"neetoTeamMembers.tooltips.uncheckOnSelectPermissions\", {\n permissions: permissionsToBeUnchecked\n .flatMap(name => pluck(\"description\", permissionsNameMap[name]))\n .join(\", \"),\n });\n\n return (\n <Fragment key={id}>\n <Tooltip\n content={tooltipMessage && !isChecked ? tooltipMessage : null}\n position=\"left\"\n >\n <div\n className=\"ntm-roles-permission__card relative flex flex-col gap-3 bg-background py-1.5\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n id={`ntm-role-permission-${id}`}\n >\n <div className=\"flex items-start gap-2\">\n <Checkbox\n checked={isChecked}\n className=\"mt-0.5 shrink-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n id={`permission-${id}`}\n onCheckedChange={() => handleTogglePermission(id)}\n />\n <Label\n htmlFor={`permission-${id}`}\n className={cn(\n \"font-normal leading-relaxed\",\n isCheckingDisabled\n ? \"cursor-not-allowed opacity-50\"\n : \"cursor-pointer\"\n )}\n >\n {description}\n </Label>\n </div>\n <div className=\"ntm-roles-permission__sub-blocks relative pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n index: index + 1,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"space-y-4\">\n <div>\n <Typography variant=\"body1\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-testid=\"ntm-roles-permission-card\"\n id={`ntm-role-permission-category-${hyphenate(category)}`}\n key={category}\n >\n <Typography\n className=\"mb-2 pt-2\"\n data-testid=\"ntm-roles-permission-category-title\"\n variant=\"body3\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card rounded-md border border-border p-2.5 px-5 transition-all duration-300\">\n {groupedPermissions[category].map(renderPermission)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n"],"names":["sortPermissionsBySequence","_permissions$","permissions","arguments","length","undefined","sequence","_toConsumableArray","sort","first","second","getPermissionGroups","sortBySequence","groupedPermissions","Map","forEach","permission","has","category","get","currentPermissions","append","set","value","getModifiedPermissions","roles","modifiedRoles","map","role","oldPermissions","findById","id","permissionIds","equals","filter","Boolean","attachChildrenRecursively","permissionsNameMap","permissionRelationConfig","_ref","name","children","_objectSpread","flatMap","childName","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","_ref3$index","index","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","position","_jsxs","className","Checkbox","checked","disabled","onCheckedChange","Label","htmlFor","cn","Typography","variant","weight","SINGULAR","color","keys","hyphenate"],"mappings":"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"}
|