@bigbinary/neeto-team-members-frontend 4.4.2 → 4.4.3
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/Groups.js +24 -25
- package/dist/Groups.js.map +1 -1
- package/dist/ManageMember.js +12 -14
- package/dist/ManageMember.js.map +1 -1
- package/dist/MembersDropdown.js +6 -7
- package/dist/MembersDropdown.js.map +1 -1
- package/dist/{Permissions-952ec2fa.js → Permissions-B2pWJYB4.js} +25 -31
- package/dist/{Permissions-952ec2fa.js.map → Permissions-B2pWJYB4.js.map} +1 -1
- package/dist/{Permissions-1b52172b.js → Permissions-r2Kb80Y_.js} +14 -14
- package/dist/{Permissions-1b52172b.js.map → Permissions-r2Kb80Y_.js.map} +1 -1
- package/dist/Permissions.js +4 -5
- package/dist/Permissions.js.map +1 -1
- package/dist/Profile.js +9 -389
- package/dist/Profile.js.map +1 -1
- package/dist/Roles.js +27 -29
- package/dist/Roles.js.map +1 -1
- package/dist/{RolesRadioGroup-94aca05f.js → RolesRadioGroup-DFPWhs-4.js} +24 -32
- package/dist/{RolesRadioGroup-94aca05f.js.map → RolesRadioGroup-DFPWhs-4.js.map} +1 -1
- package/dist/{RolesRadioGroup-c8486be1.js → RolesRadioGroup-DJ4pOHcX.js} +8 -8
- package/dist/{RolesRadioGroup-c8486be1.js.map → RolesRadioGroup-DJ4pOHcX.js.map} +1 -1
- package/dist/RolesRadioGroup.js +6 -7
- package/dist/RolesRadioGroup.js.map +1 -1
- package/dist/TeamMembers.js +27 -29
- package/dist/TeamMembers.js.map +1 -1
- package/dist/TeamsAndMembersDropdown.js +2 -3
- package/dist/TeamsAndMembersDropdown.js.map +1 -1
- package/dist/TeamsDropdown.js +7 -8
- package/dist/TeamsDropdown.js.map +1 -1
- package/dist/{_commonjsHelpers-1789f0cf.js → _commonjsHelpers-BFTU3MAI.js} +1 -1
- package/dist/_commonjsHelpers-BFTU3MAI.js.map +1 -0
- package/dist/{_commonjsHelpers-b3309d7b.js → _commonjsHelpers-BJu3ubxk.js} +1 -1
- package/dist/_commonjsHelpers-BJu3ubxk.js.map +1 -0
- package/dist/cjs/Groups.js +76 -100
- package/dist/cjs/Groups.js.map +1 -1
- package/dist/cjs/ManageMember.js +12 -14
- package/dist/cjs/ManageMember.js.map +1 -1
- package/dist/cjs/MembersDropdown.js +16 -26
- package/dist/cjs/MembersDropdown.js.map +1 -1
- package/dist/cjs/Permissions.js +4 -5
- package/dist/cjs/Permissions.js.map +1 -1
- package/dist/cjs/Profile.js +50 -450
- package/dist/cjs/Profile.js.map +1 -1
- package/dist/cjs/Roles.js +72 -100
- package/dist/cjs/Roles.js.map +1 -1
- package/dist/cjs/RolesRadioGroup.js +6 -7
- package/dist/cjs/RolesRadioGroup.js.map +1 -1
- package/dist/cjs/TeamMembers.js +73 -93
- package/dist/cjs/TeamMembers.js.map +1 -1
- package/dist/cjs/TeamsAndMembersDropdown.js +19 -31
- package/dist/cjs/TeamsAndMembersDropdown.js.map +1 -1
- package/dist/cjs/TeamsDropdown.js +13 -21
- package/dist/cjs/TeamsDropdown.js.map +1 -1
- package/dist/cjs/constants.js +1 -3
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/hooks.js +7 -10
- package/dist/cjs/hooks.js.map +1 -1
- package/dist/cjs/index.js +23 -22
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils.js +8 -11
- package/dist/cjs/utils.js.map +1 -1
- package/dist/{constants-2685e5d6.js → constants-DK60kZoX.js} +1 -1
- package/dist/{constants-2685e5d6.js.map → constants-DK60kZoX.js.map} +1 -1
- package/dist/{constants-576b89ac.js → constants-Dq8t7rmL.js} +2 -2
- package/dist/{constants-576b89ac.js.map → constants-Dq8t7rmL.js.map} +1 -1
- package/dist/constants.js +1 -1
- package/dist/hooks.js +7 -8
- package/dist/hooks.js.map +1 -1
- package/dist/{index-dc7f5532.js → index-B6-BCFEc.js} +4 -4
- package/dist/{index-dc7f5532.js.map → index-B6-BCFEc.js.map} +1 -1
- package/dist/{index-753ce55b.js → index-D0ixFK_p.js} +76 -102
- package/dist/index-D0ixFK_p.js.map +1 -0
- package/dist/{index-971becfe.js → index-D9EElQrM.js} +22 -32
- package/dist/{index-971becfe.js.map → index-D9EElQrM.js.map} +1 -1
- package/dist/{index-5f1a8667.js → index-DGXXNU_W.js} +25 -29
- package/dist/index-DGXXNU_W.js.map +1 -0
- package/dist/{index-7d531bf6.js → index-DcjmIrWp.js} +14 -14
- package/dist/{index-7d531bf6.js.map → index-DcjmIrWp.js.map} +1 -1
- package/dist/{index-fc3b88e2.js → index-DduR7qdk.js} +17 -17
- package/dist/index-DduR7qdk.js.map +1 -0
- package/dist/index.js +23 -20
- package/dist/index.js.map +1 -1
- package/dist/{inject-css-c86de496.js → inject-css-DmrvuTKK.js} +1 -1
- package/dist/{inject-css-c86de496.js.map → inject-css-DmrvuTKK.js.map} +1 -1
- package/dist/{inject-css-80a5faa3.js → inject-css-vQvjPR2x.js} +1 -1
- package/dist/{inject-css-80a5faa3.js.map → inject-css-vQvjPR2x.js.map} +1 -1
- package/dist/{queryClient-febad37e.js → queryClient-4vAFE3bx.js} +1 -1
- package/dist/{queryClient-febad37e.js.map → queryClient-4vAFE3bx.js.map} +1 -1
- package/dist/{queryClient-71ecdd08.js → queryClient-Dsu-gu4Y.js} +1 -1
- package/dist/{queryClient-71ecdd08.js.map → queryClient-Dsu-gu4Y.js.map} +1 -1
- package/dist/{useMembersSidenav-68b9f94e.js → useMembersSidenav-C1ZO3xIl.js} +2 -2
- package/dist/{useMembersSidenav-68b9f94e.js.map → useMembersSidenav-C1ZO3xIl.js.map} +1 -1
- package/dist/{useMembersSidenav-7aaa6f93.js → useMembersSidenav-uuIPy4H_.js} +3 -7
- package/dist/{useMembersSidenav-7aaa6f93.js.map → useMembersSidenav-uuIPy4H_.js.map} +1 -1
- package/dist/useTeamsApi-BTrW3Vtj.js +143 -0
- package/dist/useTeamsApi-BTrW3Vtj.js.map +1 -0
- package/dist/useTeamsApi-CasIc4Xx.js +152 -0
- package/dist/useTeamsApi-CasIc4Xx.js.map +1 -0
- package/dist/utils.js +8 -9
- package/dist/utils.js.map +1 -1
- package/dist/{withReactQuery-efba53ba.js → withReactQuery-C7a_pGxf.js} +4 -4
- package/dist/{withReactQuery-efba53ba.js.map → withReactQuery-C7a_pGxf.js.map} +1 -1
- package/dist/{withReactQuery-e3d0bd1f.js → withReactQuery-CHybbL5V.js} +3 -3
- package/dist/{withReactQuery-e3d0bd1f.js.map → withReactQuery-CHybbL5V.js.map} +1 -1
- package/package.json +101 -84
- package/dist/_commonjsHelpers-1789f0cf.js.map +0 -1
- package/dist/_commonjsHelpers-b3309d7b.js.map +0 -1
- package/dist/defineProperty-9b13c73c.js +0 -46
- package/dist/defineProperty-9b13c73c.js.map +0 -1
- package/dist/defineProperty-b85f2e0f.js +0 -43
- package/dist/defineProperty-b85f2e0f.js.map +0 -1
- package/dist/index-5f1a8667.js.map +0 -1
- package/dist/index-753ce55b.js.map +0 -1
- package/dist/index-fc3b88e2.js.map +0 -1
- package/dist/objectWithoutProperties-2fed2d7d.js +0 -33
- package/dist/objectWithoutProperties-2fed2d7d.js.map +0 -1
- package/dist/objectWithoutProperties-a0edb288.js +0 -31
- package/dist/objectWithoutProperties-a0edb288.js.map +0 -1
- package/dist/slicedToArray-6674c4b8.js +0 -44
- package/dist/slicedToArray-6674c4b8.js.map +0 -1
- package/dist/slicedToArray-8e69d42b.js +0 -46
- package/dist/slicedToArray-8e69d42b.js.map +0 -1
- package/dist/toConsumableArray-0e395868.js +0 -20
- package/dist/toConsumableArray-0e395868.js.map +0 -1
- package/dist/toConsumableArray-e41a15ba.js +0 -22
- package/dist/toConsumableArray-e41a15ba.js.map +0 -1
- package/dist/unsupportedIterableToArray-7c7192e5.js +0 -17
- package/dist/unsupportedIterableToArray-7c7192e5.js.map +0 -1
- package/dist/unsupportedIterableToArray-fa2816fd.js +0 -20
- package/dist/unsupportedIterableToArray-fa2816fd.js.map +0 -1
- package/dist/useTeamsApi-6277d3a1.js +0 -3860
- package/dist/useTeamsApi-6277d3a1.js.map +0 -1
- package/dist/useTeamsApi-bc52172a.js +0 -3874
- package/dist/useTeamsApi-bc52172a.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MembersDropdown.js","sources":["../app/javascript/src/components/MembersDropdown/AssignDropdownTarget.jsx","../app/javascript/src/components/MembersDropdown/constants.js","../app/javascript/src/components/MembersDropdown/utils.js","../app/javascript/src/components/MembersDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Down } from \"neetoicons\";\nimport { Avatar, Tooltip, Typography } from \"neetoui\";\n\nconst AssignDropdownTarget = ({ selectedMember = {} }) => {\n const { label = \"--\", profileImagePath = \"\" } = selectedMember;\n\n return (\n <div className=\"flex h-10 w-60 cursor-pointer select-none items-center gap-2\">\n {label !== \"--\" && (\n <Avatar\n className=\"flex-shrink-0\"\n user={{ name: label, imageUrl: profileImagePath }}\n />\n )}\n <Tooltip content={label} position=\"top\">\n <Typography className=\"truncate xl:block\" style=\"h5\" weight=\"normal\">\n {label}\n </Typography>\n </Tooltip>\n <Down className=\"flex-shrink-0\" size={16} />\n </div>\n );\n};\n\nexport default memo(AssignDropdownTarget);\n","export const SEARCH_TYPES = {\n MEMBER: \"agent\",\n TEAM: \"group\",\n MEMBER_OR_TEAM: \"agent_or_group\",\n};\n\nexport const TEAM_UNGROUPED = { value: \"ungrouped\", label: \"--\" };\n","import { findBy, isNotEmpty, removeBy } from \"neetocist\";\nimport { includes, toLower, append, pluck, map, any } from \"ramda\";\n\nimport { TEAM_UNGROUPED, SEARCH_TYPES } from \"./constants\";\n\nconst createMembersDropdownOptions = ({\n selectedTeam,\n searchTerm,\n availableTeams,\n onlyMembers = false,\n}) => {\n const tempOptions = [];\n const hasSelectedTeam =\n selectedTeam?.value && selectedTeam.value !== TEAM_UNGROUPED.value;\n\n const filteredTeams = availableTeams.filter(team =>\n isNotEmpty(team.filteredMembers)\n );\n\n const addMembersInTeam = ({ filteredMembers }) =>\n filteredMembers.forEach(member => {\n tempOptions.push({ ...member, type: SEARCH_TYPES.MEMBER });\n });\n\n const containsSearchTerm = includes(toLower(searchTerm));\n\n if (hasSelectedTeam) {\n const selectedTeamData = findBy(\n { value: selectedTeam.value },\n availableTeams\n );\n if (selectedTeamData) addMembersInTeam(selectedTeamData);\n }\n\n if (!hasSelectedTeam) {\n filteredTeams.forEach(team => {\n tempOptions.push({ ...team, type: SEARCH_TYPES.TEAM });\n addMembersInTeam(team);\n });\n }\n\n if (onlyMembers) {\n return removeBy({ type: \"group\" }, tempOptions);\n }\n\n return searchTerm\n ? tempOptions.filter(({ label, filteredMembers = [] }) => {\n const teamAndMembersLabels = map(\n toLower,\n append(label, pluck(\"label\", filteredMembers))\n );\n\n return any(containsSearchTerm, teamAndMembersLabels);\n })\n : tempOptions;\n};\n\nexport { createMembersDropdownOptions };\n","import { Fragment, useMemo, useRef, useState } from \"react\";\n\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Typography, Dropdown, Spinner } from \"neetoui\";\nimport { isEmpty, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/dropdown.scss\";\n\nimport AssignDropdownTarget from \"./AssignDropdownTarget\";\nimport { SEARCH_TYPES } from \"./constants\";\nimport { createMembersDropdownOptions } from \"./utils\";\n\nimport AssignList from \"../Common/AssignList\";\n\nconst MembersDropdown = ({ config }) => {\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const dropdownRef = useRef(null);\n\n const { t } = useTranslation();\n\n useOnClickOutside(dropdownRef, () => setIsDropdownOpen(false));\n\n const options = useMemo(\n () =>\n createMembersDropdownOptions({\n searchTerm,\n selectedTeam: config?.selectedTeam,\n availableTeams: config?.availableTeams || [],\n }),\n [config?.selectedTeam, searchTerm, config?.availableTeams]\n );\n\n const handleClick = value => {\n setIsDropdownOpen(false);\n config?.handleUpdate({\n id: config?.selectedMember.value === value ? null : value,\n });\n };\n\n return (\n <div ref={dropdownRef}>\n <Dropdown\n className=\"w-full\"\n closeOnSelect={config?.closeOnSelect ?? true}\n isOpen={isDropdownOpen}\n position=\"bottom-end\"\n ref={dropdownRef}\n targetClassName=\"w-full\"\n customTarget={() => (\n <AssignDropdownTarget selectedMember={config?.selectedMember} />\n )}\n onClick={() => setIsDropdownOpen(not)}\n onClose={() => setSearchTerm(\"\")}\n >\n <AssignList>\n <AssignList.Search\n {...{ searchTerm }}\n handleClearSearchTerm={() => setSearchTerm(\"\")}\n placeholder={config?.searchPlaceholder}\n onChange={({ target: { value } }) => setSearchTerm(value)}\n />\n {config?.isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <div\n className=\"ntm-assign-droplist__list-wrapper flex flex-col px-3\"\n key={searchTerm}\n >\n {options.map(\n ({ label, value, type, profileImagePath }, index) => (\n <Fragment key={index}>\n {type === SEARCH_TYPES.TEAM && (\n <AssignList.TeamsListItem\n active={config?.selectedTeam.id === value}\n teamName={label}\n onClick={() =>\n config?.handleUpdate({\n id:\n config?.selectedTeam.value === value\n ? null\n : value,\n isTeam: true,\n })\n }\n />\n )}\n {type === SEARCH_TYPES.MEMBER && (\n <AssignList.MembersListItem\n active={config?.selectedMember.value === value}\n imageUrl={profileImagePath}\n memberName={label}\n onClick={() => handleClick(value)}\n />\n )}\n </Fragment>\n )\n )}\n {isEmpty(options) && (\n <div className=\"flex w-full items-center justify-center p-2\">\n <Typography\n data-cy=\"ticket-details-member-no-records-message\"\n style=\"body2\"\n >\n {t(\"neetoTeamMembers.helpers.noRecords\")}\n </Typography>\n </div>\n )}\n </div>\n )}\n </AssignList>\n </Dropdown>\n </div>\n );\n};\n\nexport default MembersDropdown;\n"],"names":["AssignDropdownTarget","_ref","_ref$selectedMember","selectedMember","_selectedMember$label","label","_selectedMember$profi","profileImagePath","_jsxs","className","children","_jsx","Avatar","user","name","imageUrl","Tooltip","content","position","Typography","style","weight","Down","size","memo","SEARCH_TYPES","MEMBER","TEAM","MEMBER_OR_TEAM","TEAM_UNGROUPED","value","createMembersDropdownOptions","selectedTeam","searchTerm","availableTeams","_ref$onlyMembers","onlyMembers","tempOptions","hasSelectedTeam","filteredTeams","filter","team","isNotEmpty","filteredMembers","addMembersInTeam","_ref2","forEach","member","push","_objectSpread","type","containsSearchTerm","includes","toLower","selectedTeamData","findBy","removeBy","_ref3","_ref3$filteredMembers","teamAndMembersLabels","map","append","pluck","any","MembersDropdown","_config$closeOnSelect","config","_useState","useState","_useState2","_slicedToArray","isDropdownOpen","setIsDropdownOpen","_useState3","_useState4","setSearchTerm","dropdownRef","useRef","_useTranslation","useTranslation","t","useOnClickOutside","options","useMemo","handleClick","handleUpdate","id","ref","Dropdown","closeOnSelect","isOpen","targetClassName","customTarget","onClick","not","onClose","AssignList","Search","handleClearSearchTerm","placeholder","searchPlaceholder","onChange","target","isLoading","Spinner","index","Fragment","TeamsListItem","active","teamName","isTeam","MembersListItem","memberName","isEmpty"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MembersDropdown.js","sources":["../app/javascript/src/components/MembersDropdown/AssignDropdownTarget.jsx","../app/javascript/src/components/MembersDropdown/constants.js","../app/javascript/src/components/MembersDropdown/utils.js","../app/javascript/src/components/MembersDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Down } from \"neetoicons\";\nimport { Avatar, Tooltip, Typography } from \"neetoui\";\n\nconst AssignDropdownTarget = ({ selectedMember = {} }) => {\n const { label = \"--\", profileImagePath = \"\" } = selectedMember;\n\n return (\n <div className=\"flex h-10 w-60 cursor-pointer select-none items-center gap-2\">\n {label !== \"--\" && (\n <Avatar\n className=\"flex-shrink-0\"\n user={{ name: label, imageUrl: profileImagePath }}\n />\n )}\n <Tooltip content={label} position=\"top\">\n <Typography className=\"truncate xl:block\" style=\"h5\" weight=\"normal\">\n {label}\n </Typography>\n </Tooltip>\n <Down className=\"flex-shrink-0\" size={16} />\n </div>\n );\n};\n\nexport default memo(AssignDropdownTarget);\n","export const SEARCH_TYPES = {\n MEMBER: \"agent\",\n TEAM: \"group\",\n MEMBER_OR_TEAM: \"agent_or_group\",\n};\n\nexport const TEAM_UNGROUPED = { value: \"ungrouped\", label: \"--\" };\n","import { findBy, isNotEmpty, removeBy } from \"neetocist\";\nimport { includes, toLower, append, pluck, map, any } from \"ramda\";\n\nimport { TEAM_UNGROUPED, SEARCH_TYPES } from \"./constants\";\n\nconst createMembersDropdownOptions = ({\n selectedTeam,\n searchTerm,\n availableTeams,\n onlyMembers = false,\n}) => {\n const tempOptions = [];\n const hasSelectedTeam =\n selectedTeam?.value && selectedTeam.value !== TEAM_UNGROUPED.value;\n\n const filteredTeams = availableTeams.filter(team =>\n isNotEmpty(team.filteredMembers)\n );\n\n const addMembersInTeam = ({ filteredMembers }) =>\n filteredMembers.forEach(member => {\n tempOptions.push({ ...member, type: SEARCH_TYPES.MEMBER });\n });\n\n const containsSearchTerm = includes(toLower(searchTerm));\n\n if (hasSelectedTeam) {\n const selectedTeamData = findBy(\n { value: selectedTeam.value },\n availableTeams\n );\n if (selectedTeamData) addMembersInTeam(selectedTeamData);\n }\n\n if (!hasSelectedTeam) {\n filteredTeams.forEach(team => {\n tempOptions.push({ ...team, type: SEARCH_TYPES.TEAM });\n addMembersInTeam(team);\n });\n }\n\n if (onlyMembers) {\n return removeBy({ type: \"group\" }, tempOptions);\n }\n\n return searchTerm\n ? tempOptions.filter(({ label, filteredMembers = [] }) => {\n const teamAndMembersLabels = map(\n toLower,\n append(label, pluck(\"label\", filteredMembers))\n );\n\n return any(containsSearchTerm, teamAndMembersLabels);\n })\n : tempOptions;\n};\n\nexport { createMembersDropdownOptions };\n","import { Fragment, useMemo, useRef, useState } from \"react\";\n\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Typography, Dropdown, Spinner } from \"neetoui\";\nimport { isEmpty, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/dropdown.scss\";\n\nimport AssignDropdownTarget from \"./AssignDropdownTarget\";\nimport { SEARCH_TYPES } from \"./constants\";\nimport { createMembersDropdownOptions } from \"./utils\";\n\nimport AssignList from \"../Common/AssignList\";\n\nconst MembersDropdown = ({ config }) => {\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const dropdownRef = useRef(null);\n\n const { t } = useTranslation();\n\n useOnClickOutside(dropdownRef, () => setIsDropdownOpen(false));\n\n const options = useMemo(\n () =>\n createMembersDropdownOptions({\n searchTerm,\n selectedTeam: config?.selectedTeam,\n availableTeams: config?.availableTeams || [],\n }),\n [config?.selectedTeam, searchTerm, config?.availableTeams]\n );\n\n const handleClick = value => {\n setIsDropdownOpen(false);\n config?.handleUpdate({\n id: config?.selectedMember.value === value ? null : value,\n });\n };\n\n return (\n <div ref={dropdownRef}>\n <Dropdown\n className=\"w-full\"\n closeOnSelect={config?.closeOnSelect ?? true}\n isOpen={isDropdownOpen}\n position=\"bottom-end\"\n ref={dropdownRef}\n targetClassName=\"w-full\"\n customTarget={() => (\n <AssignDropdownTarget selectedMember={config?.selectedMember} />\n )}\n onClick={() => setIsDropdownOpen(not)}\n onClose={() => setSearchTerm(\"\")}\n >\n <AssignList>\n <AssignList.Search\n {...{ searchTerm }}\n handleClearSearchTerm={() => setSearchTerm(\"\")}\n placeholder={config?.searchPlaceholder}\n onChange={({ target: { value } }) => setSearchTerm(value)}\n />\n {config?.isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <div\n className=\"ntm-assign-droplist__list-wrapper flex flex-col px-3\"\n key={searchTerm}\n >\n {options.map(\n ({ label, value, type, profileImagePath }, index) => (\n <Fragment key={index}>\n {type === SEARCH_TYPES.TEAM && (\n <AssignList.TeamsListItem\n active={config?.selectedTeam.id === value}\n teamName={label}\n onClick={() =>\n config?.handleUpdate({\n id:\n config?.selectedTeam.value === value\n ? null\n : value,\n isTeam: true,\n })\n }\n />\n )}\n {type === SEARCH_TYPES.MEMBER && (\n <AssignList.MembersListItem\n active={config?.selectedMember.value === value}\n imageUrl={profileImagePath}\n memberName={label}\n onClick={() => handleClick(value)}\n />\n )}\n </Fragment>\n )\n )}\n {isEmpty(options) && (\n <div className=\"flex w-full items-center justify-center p-2\">\n <Typography\n data-cy=\"ticket-details-member-no-records-message\"\n style=\"body2\"\n >\n {t(\"neetoTeamMembers.helpers.noRecords\")}\n </Typography>\n </div>\n )}\n </div>\n )}\n </AssignList>\n </Dropdown>\n </div>\n );\n};\n\nexport default MembersDropdown;\n"],"names":["AssignDropdownTarget","_ref","_ref$selectedMember","selectedMember","_selectedMember$label","label","_selectedMember$profi","profileImagePath","_jsxs","className","children","_jsx","Avatar","user","name","imageUrl","Tooltip","content","position","Typography","style","weight","Down","size","memo","SEARCH_TYPES","MEMBER","TEAM","MEMBER_OR_TEAM","TEAM_UNGROUPED","value","createMembersDropdownOptions","selectedTeam","searchTerm","availableTeams","_ref$onlyMembers","onlyMembers","tempOptions","hasSelectedTeam","filteredTeams","filter","team","isNotEmpty","filteredMembers","addMembersInTeam","_ref2","forEach","member","push","_objectSpread","type","containsSearchTerm","includes","toLower","selectedTeamData","findBy","removeBy","_ref3","_ref3$filteredMembers","teamAndMembersLabels","map","append","pluck","any","MembersDropdown","_config$closeOnSelect","config","_useState","useState","_useState2","_slicedToArray","isDropdownOpen","setIsDropdownOpen","_useState3","_useState4","setSearchTerm","dropdownRef","useRef","_useTranslation","useTranslation","t","useOnClickOutside","options","useMemo","handleClick","handleUpdate","id","ref","Dropdown","closeOnSelect","isOpen","targetClassName","customTarget","onClick","not","onClose","AssignList","Search","handleClearSearchTerm","placeholder","searchPlaceholder","onChange","target","isLoading","Spinner","index","Fragment","TeamsListItem","active","teamName","isTeam","MembersListItem","memberName","isEmpty"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
5
5
|
var require$$0 = require('react');
|
|
6
6
|
var formik = require('formik');
|
|
7
7
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
@@ -11,20 +11,14 @@ var Checkbox = require('@bigbinary/neetoui/Checkbox');
|
|
|
11
11
|
var Tooltip = require('@bigbinary/neetoui/Tooltip');
|
|
12
12
|
var ramda = require('ramda');
|
|
13
13
|
var reactI18next = require('react-i18next');
|
|
14
|
-
var injectCss = require('./inject-css-
|
|
14
|
+
var injectCss = require('./inject-css-vQvjPR2x.js');
|
|
15
15
|
var jsxRuntime = require('react/jsx-runtime');
|
|
16
16
|
|
|
17
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
|
-
|
|
19
|
-
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
20
|
-
var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
|
|
21
|
-
var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
|
|
22
|
-
|
|
23
17
|
var css = ".ntm-roles-pane__body{margin-bottom:1.5rem;width:100%}.ntm-roles-pane__body-wrapper>*+*{margin-top:1rem}.ntm-roles-pane__body>*+*{margin-top:1.5rem}.ntm-roles-pane__footer{display:flex;gap:.5rem}.ntm-roles-permission__heading{color:rgb(var(--neeto-ui-gray-500));text-transform:uppercase}.ntm-roles-permission__card{background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:column;gap:.75rem;padding:.4rem 0;position:relative}.ntm-roles-permission__card:after{background-color:rgb(var(--neeto-ui-gray-300));content:\"\";height:1px;left:-15px;position:absolute;top:14px;width:10px}.ntm-roles-permission__card--description{flex-grow:1}.ntm-roles-permission__card--checkbox{padding:0 .5rem}.ntm-roles-permission__card .neeto-ui-checkbox__wrapper .neeto-ui-checkbox__container{align-items:flex-start}.ntm-roles-permission__card .neeto-ui-checkbox__wrapper .neeto-ui-checkbox__container .neeto-ui-checkbox[type=checkbox]:disabled+.neeto-ui-label{cursor:not-allowed;opacity:.5}.ntm-roles-permission__sub-blocks{position:relative}.ntm-roles-permission__sub-blocks:before{background-color:rgb(var(--neeto-ui-gray-300));content:\"\";height:calc(100% - 14px);left:8px;position:absolute;top:0;width:1px}.ntm-roles-permission__sub-blocks:empty{display:none}.ntm-roles-permission-category-card{border:1px solid rgb(var(--neeto-ui-gray-400));border-radius:var(--neeto-ui-rounded);padding:10px 20px}.ntm-roles-permission-category-card>.ntm-roles-permission__card:after{display:none}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19yb2xlcy1wZXJtaXNzaW9ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNFLHNCQUVFLG9CQUFBLENBREEsVUFDSixDQUVJLGtDQUNFLGVBQU4sQ0FHSSwwQkFDRSxpQkFETixDQUtFLHdCQUNFLFlBQUEsQ0FDQSxTQUhKLENBUUUsK0JBQ0UsbUNBQUEsQ0FDQSx3QkFMSixDQVFFLDRCQUNFLDJDQUFBLENBR0EsWUFBQSxDQUNBLHFCQUFBLENBQ0EsVUFBQSxDQUNBLGVBQUEsQ0FMQSxpQkFGSixDQVNJLGtDQUNFLDhDQUFBLENBQ0EsVUFBQSxDQUNBLFVBQUEsQ0FDQSxVQUFBLENBQ0EsaUJBQUEsQ0FDQSxRQUFBLENBQ0EsVUFQTixDQVVJLHlDQUNFLFdBUk4sQ0FXSSxzQ0FDRSxlQVROLENBWUksc0ZBQ0Usc0JBVk4sQ0FZTSxpSkFFRSxrQkFBQSxDQURBLFVBVFIsQ0FlRSxrQ0FDRSxpQkFiSixDQWVJLHlDQUNFLDhDQUFBLENBRUEsVUFBQSxDQUNBLHdCQUFBLENBQ0EsUUFBQSxDQUNBLGlCQUFBLENBSkEsS0FBQSxDQUtBLFNBYk4sQ0FnQkksd0NBQ0UsWUFkTixDQW1CQSxvQ0FHRSw4Q0FBQSxDQURBLHFDQUFBLENBREEsaUJBZEYsQ0FrQkksc0VBQ0UsWUFoQk4iLCJzb3VyY2VzQ29udGVudCI6WyIubnRtLXJvbGVzLXBhbmUge1xuICAmX19ib2R5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAmLXdyYXBwZXIgPiAqICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgICYgPiAqICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC41cmVtO1xuICB9XG59XG5cbi5udG0tcm9sZXMtcGVybWlzc2lvbiB7XG4gICZfX2hlYWRpbmcge1xuICAgIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS01MDApKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXdoaXRlKSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbGVmdDogLTE1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE0cHg7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICB9XG5cbiAgICAmLS1kZXNjcmlwdGlvbiB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgJi0tY2hlY2tib3gge1xuICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgfVxuXG4gICAgLm5lZXRvLXVpLWNoZWNrYm94X193cmFwcGVyIC5uZWV0by11aS1jaGVja2JveF9fY29udGFpbmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAubmVldG8tdWktY2hlY2tib3hbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkICsgLm5lZXRvLXVpLWxhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N1Yi1ibG9ja3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE0cHgpO1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5udG0tcm9sZXMtcGVybWlzc2lvbi1jYXRlZ29yeS1jYXJkIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNDAwKSk7XG4gICYgPiAubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iXX0= */";
|
|
24
18
|
injectCss.n(css,{});
|
|
25
19
|
|
|
26
20
|
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
27
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) {
|
|
21
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
28
22
|
var sortPermissionsBySequence = function sortPermissionsBySequence() {
|
|
29
23
|
var _permissions$;
|
|
30
24
|
var permissions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
@@ -63,20 +57,20 @@ var getModifiedPermissions = function getModifiedPermissions() {
|
|
|
63
57
|
};
|
|
64
58
|
}).filter(Boolean);
|
|
65
59
|
};
|
|
66
|
-
var
|
|
60
|
+
var _attachChildrenRecursively = function attachChildrenRecursively(permission, permissionsNameMap, permissionRelationConfig) {
|
|
67
61
|
var _ref = permissionRelationConfig[permission.name] || {},
|
|
68
62
|
children = _ref.children;
|
|
69
63
|
return children ? _objectSpread$1(_objectSpread$1({}, permission), {}, {
|
|
70
64
|
children: children.flatMap(function (childName) {
|
|
71
|
-
return
|
|
65
|
+
return _attachChildrenRecursively(permissionsNameMap[childName][0], permissionsNameMap, permissionRelationConfig);
|
|
72
66
|
})
|
|
73
67
|
}) : permission;
|
|
74
68
|
};
|
|
75
|
-
var
|
|
69
|
+
var _findChildIdsRecursively = function findChildIdsRecursively(permission, permissionsNameMap, permissionRelationConfig) {
|
|
76
70
|
var _ref2 = permissionRelationConfig[permission.name] || {},
|
|
77
71
|
children = _ref2.children;
|
|
78
72
|
return children ? ramda.concat(children.flatMap(function (childName) {
|
|
79
|
-
return
|
|
73
|
+
return _findChildIdsRecursively(permissionsNameMap[childName][0], permissionsNameMap, permissionRelationConfig);
|
|
80
74
|
}), [permission.id]) : [permission.id];
|
|
81
75
|
};
|
|
82
76
|
var getChildrenRemovedFromRoot = function getChildrenRemovedFromRoot(_ref3) {
|
|
@@ -84,7 +78,7 @@ var getChildrenRemovedFromRoot = function getChildrenRemovedFromRoot(_ref3) {
|
|
|
84
78
|
permissionsNameMap = _ref3.permissionsNameMap,
|
|
85
79
|
permissionRelationConfig = _ref3.permissionRelationConfig;
|
|
86
80
|
var permissionsWithChildren = permissions.map(function (permission) {
|
|
87
|
-
return
|
|
81
|
+
return _attachChildrenRecursively(permission, permissionsNameMap, permissionRelationConfig);
|
|
88
82
|
});
|
|
89
83
|
var childPermissions = Object.values(permissionRelationConfig).flatMap(ramda.prop("children"));
|
|
90
84
|
return permissionsWithChildren.filter(function (permission) {
|
|
@@ -93,7 +87,7 @@ var getChildrenRemovedFromRoot = function getChildrenRemovedFromRoot(_ref3) {
|
|
|
93
87
|
};
|
|
94
88
|
|
|
95
89
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
96
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
|
|
90
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
97
91
|
var Permissions = function Permissions(_ref) {
|
|
98
92
|
var _ref$permissions = _ref.permissions,
|
|
99
93
|
permissions = _ref$permissions === void 0 ? [] : _ref$permissions,
|
|
@@ -115,9 +109,9 @@ var Permissions = function Permissions(_ref) {
|
|
|
115
109
|
if (permissionIds.includes(permissionId)) {
|
|
116
110
|
var childIds = [];
|
|
117
111
|
if (permissionRelationConfig[permission.name]) {
|
|
118
|
-
childIds =
|
|
112
|
+
childIds = _findChildIdsRecursively(permission, permissionsNameMap, permissionRelationConfig);
|
|
119
113
|
}
|
|
120
|
-
var permissionIdsToBeUnchecked = [permissionId].concat(
|
|
114
|
+
var permissionIdsToBeUnchecked = [permissionId].concat(_toConsumableArray(childIds));
|
|
121
115
|
nextPermissionIds = permissionIds.filter(function (id) {
|
|
122
116
|
return !permissionIdsToBeUnchecked.includes(id);
|
|
123
117
|
});
|
|
@@ -129,13 +123,13 @@ var Permissions = function Permissions(_ref) {
|
|
|
129
123
|
return permissionsNameMap[name];
|
|
130
124
|
})) !== null && _uncheckOnSelect$flat !== void 0 ? _uncheckOnSelect$flat : [];
|
|
131
125
|
var _childIds = uncheckOnSelectPermissions.flatMap(function (permission) {
|
|
132
|
-
return
|
|
126
|
+
return _findChildIdsRecursively(permission, permissionsNameMap, permissionRelationConfig);
|
|
133
127
|
});
|
|
134
128
|
var uncheckedPermissionIds = ramda.pluck("id", uncheckOnSelectPermissions);
|
|
135
|
-
var _permissionIdsToBeUnchecked = [].concat(
|
|
136
|
-
nextPermissionIds = uncheckOnSelect ? [].concat(
|
|
129
|
+
var _permissionIdsToBeUnchecked = [].concat(_toConsumableArray(uncheckedPermissionIds), _toConsumableArray(_childIds));
|
|
130
|
+
nextPermissionIds = uncheckOnSelect ? [].concat(_toConsumableArray(permissionIds.filter(function (id) {
|
|
137
131
|
return !_permissionIdsToBeUnchecked.includes(id);
|
|
138
|
-
})), [permissionId]) : [].concat(
|
|
132
|
+
})), [permissionId]) : [].concat(_toConsumableArray(permissionIds), [permissionId]);
|
|
139
133
|
}
|
|
140
134
|
setFieldValue("permissionIds", nextPermissionIds);
|
|
141
135
|
};
|
|
@@ -148,7 +142,7 @@ var Permissions = function Permissions(_ref) {
|
|
|
148
142
|
return ramda.groupBy(ramda.prop("category"))(childrenRemovedFromRoot);
|
|
149
143
|
}, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
150
144
|
|
|
151
|
-
var
|
|
145
|
+
var _renderPermission = function renderPermission(_ref3) {
|
|
152
146
|
var _permissionRelationCo;
|
|
153
147
|
var id = _ref3.id,
|
|
154
148
|
name = _ref3.name,
|
|
@@ -167,13 +161,13 @@ var Permissions = function Permissions(_ref) {
|
|
|
167
161
|
}).join(", ")
|
|
168
162
|
});
|
|
169
163
|
return /*#__PURE__*/jsxRuntime.jsx(require$$0.Fragment, {
|
|
170
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
164
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Tooltip, {
|
|
171
165
|
content: tooltipMessage,
|
|
172
166
|
disabled: !tooltipMessage || isChecked,
|
|
173
167
|
position: "left-start",
|
|
174
168
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
175
169
|
className: "ntm-roles-permission__card",
|
|
176
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
170
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Checkbox, {
|
|
177
171
|
checked: isChecked,
|
|
178
172
|
className: "flex-grow-0",
|
|
179
173
|
"data-cy": "ntm-roles-permission-checkbox",
|
|
@@ -185,7 +179,7 @@ var Permissions = function Permissions(_ref) {
|
|
|
185
179
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
186
180
|
className: "ntm-roles-permission__sub-blocks neeto-ui-relative neeto-ui-pl-6",
|
|
187
181
|
children: sortedChildren === null || sortedChildren === void 0 ? void 0 : sortedChildren.map(function (childPermission) {
|
|
188
|
-
return
|
|
182
|
+
return _renderPermission(_objectSpread(_objectSpread({}, childPermission), {}, {
|
|
189
183
|
isParentChecked: isChecked
|
|
190
184
|
}));
|
|
191
185
|
})
|
|
@@ -197,12 +191,12 @@ var Permissions = function Permissions(_ref) {
|
|
|
197
191
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
198
192
|
className: "ntm-roles-pane__body-wrapper",
|
|
199
193
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
200
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
194
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
201
195
|
lineHeight: "normal",
|
|
202
196
|
style: "h4",
|
|
203
197
|
weight: "semibold",
|
|
204
198
|
children: t("neetoTeamMembers.common.permission", constants.SINGULAR)
|
|
205
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
199
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
206
200
|
lineHeight: "normal",
|
|
207
201
|
style: "body2",
|
|
208
202
|
children: t("neetoTeamMembers.helpers.configPermissions")
|
|
@@ -211,7 +205,7 @@ var Permissions = function Permissions(_ref) {
|
|
|
211
205
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
212
206
|
className: "ntm-roles-permission",
|
|
213
207
|
"data-cy": "ntm-roles-permission-card",
|
|
214
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
208
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
215
209
|
className: "ntm-roles-permission__heading neeto-ui-mb-2",
|
|
216
210
|
"data-cy": "ntm-roles-permission-category-title",
|
|
217
211
|
lineHeight: "normal",
|
|
@@ -220,7 +214,7 @@ var Permissions = function Permissions(_ref) {
|
|
|
220
214
|
children: category
|
|
221
215
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
222
216
|
className: "ntm-roles-permission-category-card",
|
|
223
|
-
children: groupedPermissions[category].map(
|
|
217
|
+
children: groupedPermissions[category].map(_renderPermission)
|
|
224
218
|
})]
|
|
225
219
|
}, category);
|
|
226
220
|
})]
|
|
@@ -232,4 +226,4 @@ exports.getChildrenRemovedFromRoot = getChildrenRemovedFromRoot;
|
|
|
232
226
|
exports.getModifiedPermissions = getModifiedPermissions;
|
|
233
227
|
exports.getPermissionGroups = getPermissionGroups;
|
|
234
228
|
exports.sortPermissionsBySequence = sortPermissionsBySequence;
|
|
235
|
-
//# sourceMappingURL=Permissions-
|
|
229
|
+
//# sourceMappingURL=Permissions-B2pWJYB4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions-952ec2fa.js","sources":["../app/javascript/src/components/Roles/utils.js","../app/javascript/src/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 (\"\");\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 attachChildrenRecursively(\n permissionsNameMap[childName][0],\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 findChildIdsRecursively(\n permissionsNameMap[childName][0],\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 { useFormikContext } from \"formik\";\nimport { findById, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Typography, Checkbox, Tooltip } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/_roles-permissions.scss\";\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);\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 }) => {\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}\n disabled={!tooltipMessage || isChecked}\n position=\"left-start\"\n >\n <div className=\"ntm-roles-permission__card\">\n <Checkbox\n checked={isChecked}\n className=\"flex-grow-0\"\n data-cy=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n label={description}\n onChange={() => handleTogglePermission(id)}\n />\n <div className=\"ntm-roles-permission__sub-blocks neeto-ui-relative neeto-ui-pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"ntm-roles-pane__body-wrapper\">\n <div>\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-cy=\"ntm-roles-permission-card\"\n key={category}\n >\n <Typography\n className=\"ntm-roles-permission__heading neeto-ui-mb-2\"\n data-cy=\"ntm-roles-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"bold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card\">\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","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","findChildIdsRecursively","_ref2","concat","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","_toConsumableArray","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","disabled","position","_jsxs","className","Checkbox","checked","label","onChange","childPermission","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGaA,IAAAA,yBAAyB,GAAG,SAA5BA,yBAAyBA,GAAA;AAAA,EAAA,IAAAC,aAAA,CAAA;AAAA,EAAA,IAAIC,WAAW,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;EAAA,OACxDD,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAAD,KAAAA,CAAAA,IAAAA,CAAAA,aAAA,GAAXC,WAAW,CAAG,CAAC,CAAC,MAAAD,IAAAA,IAAAA,aAAA,eAAhBA,aAAA,CAAkBK,QAAQ,GACtBJ,WAAW,CAACK,IAAI,CAAC,UAACC,KAAK,EAAEC,MAAM,EAAA;AAAA,IAAA,OAAKD,KAAK,CAACF,QAAQ,GAAGG,MAAM,CAACH,QAAQ,CAAA;AAAA,GAAA,CAAC,GACrEJ,WAAW,CAAA;AAAA,EAAA;IAEJQ,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAyB;AAAA,EAAA,IAArBR,WAAW,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAClD,EAAA,IAAMQ,cAAc,GAAGX,yBAAyB,CAACE,WAAW,CAAC,CAAA;AAE7D,EAAA,IAAMU,kBAAkB,GAAG,IAAIC,GAAG,EAAE,CAAA;AAEpCF,EAAAA,cAAc,CAACG,OAAO,CAAC,UAAAC,UAAU,EAAI;AACnC,IAAA,IAAIH,kBAAkB,CAACI,GAAG,CAACD,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEE,QAAQ,CAAC,EAAE;MAChD,IAAMA,QAAQ,GAAGL,kBAAkB,CAACM,GAAG,CAACH,UAAU,CAACE,QAAQ,CAAC,CAAA;AAC5D,MAAA,IAAME,kBAAkB,GAAGF,QAAQ,CAACC,GAAG,CAAC,aAAa,CAAC,CAAA;AACtD,MAAA,IAAMhB,YAAW,GAAGkB,YAAM,CAACL,UAAU,EAAEI,kBAAkB,CAAC,CAAA;AAC1DF,MAAAA,QAAQ,CAACI,GAAG,CAAC,aAAa,EAAEnB,YAAW,CAAC,CAAA;AAC1C,KAAC,MAAM;AACL,MAAA,IAAMoB,KAAK,GAAG,IAAIT,GAAG,EAAE,CAAA;MACvBS,KAAK,CAACD,GAAG,CAAC,aAAa,EAAED,YAAM,CAACL,UAAU,EAAE,EAAE,CAAC,CAAC,CAAA;AAChDO,MAAAA,KAAK,CAACD,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;AACtCT,MAAAA,kBAAkB,CAACS,GAAG,CAACN,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEE,QAAQ,EAAEK,KAAK,CAAC,CAAA;AACrD,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOV,kBAAkB,CAAA;AAC3B,EAAC;AAEYW,IAAAA,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAA;AAAA,EAAA,IAAIC,KAAK,GAAArB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAA,EAAA,IAAEsB,aAAa,GAAAtB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAA,EAAA,OACnEsB,aAAa,CACVC,GAAG,CAAC,UAAAC,IAAI,EAAI;IACX,IAAMC,cAAc,GAAGC,kBAAQ,CAACF,IAAI,CAACG,EAAE,EAAEN,KAAK,CAAC,CAACO,aAAa,CAAA;IAC7D,IAAIC,YAAM,CAACJ,cAAc,EAAED,IAAI,CAACI,aAAa,CAAC,EAAE,OAAO,KAAK,CAAA;IAE5D,OAAO;MAAED,EAAE,EAAEH,IAAI,CAACG,EAAE;MAAEC,aAAa,EAAEJ,IAAI,CAACI,aAAAA;KAAe,CAAA;AAC3D,GAAC,CAAC,CACDE,MAAM,CAACC,OAAO,CAAC,CAAA;AAAA,EAAA;AAEb,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CACpCpB,UAAU,EACVqB,kBAAkB,EAClBC,wBAAwB,EACrB;EACH,IAAAC,IAAA,GAAqBD,wBAAwB,CAACtB,UAAU,CAACwB,IAAI,CAAC,IAAI,EAAE;IAA5DC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAAA;AAEhB,EAAA,OAAOA,QAAQ,GAAAC,eAAA,CAAAA,eAAA,KAEN1B,UAAU,CAAA,EAAA,EAAA,EAAA;AACbyB,IAAAA,QAAQ,EAAEA,QAAQ,CAACE,OAAO,CAAC,UAAAC,SAAS,EAAA;AAAA,MAAA,OAClCR,yBAAyB,CACvBC,kBAAkB,CAACO,SAAS,CAAC,CAAC,CAAC,CAAC,EAChCP,kBAAkB,EAClBC,wBACF,CAAC,CAAA;KACH,CAAA;AAAC,GAAA,CAAA,GAEHtB,UAAU,CAAA;AAChB,CAAC,CAAA;AAEM,IAAM6B,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAClC7B,UAAU,EACVqB,kBAAkB,EAClBC,wBAAwB,EACrB;EACH,IAAAQ,KAAA,GAAqBR,wBAAwB,CAACtB,UAAU,CAACwB,IAAI,CAAC,IAAI,EAAE;IAA5DC,QAAQ,GAAAK,KAAA,CAARL,QAAQ,CAAA;EAEhB,OAAOA,QAAQ,GACXM,YAAM,CACJN,QAAQ,CAACE,OAAO,CAAC,UAAAC,SAAS,EAAA;AAAA,IAAA,OACxBC,uBAAuB,CACrBR,kBAAkB,CAACO,SAAS,CAAC,CAAC,CAAC,CAAC,EAChCP,kBAAkB,EAClBC,wBACF,CAAC,CAAA;AAAA,GACH,CAAC,EACD,CAACtB,UAAU,CAACe,EAAE,CAChB,CAAC,GACD,CAACf,UAAU,CAACe,EAAE,CAAC,CAAA;AACrB,CAAC,CAAA;IAEYiB,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,KAAA,EAIjC;AAAA,EAAA,IAHJ9C,WAAW,GAAA8C,KAAA,CAAX9C,WAAW;IACXkC,kBAAkB,GAAAY,KAAA,CAAlBZ,kBAAkB;IAClBC,wBAAwB,GAAAW,KAAA,CAAxBX,wBAAwB,CAAA;AAExB,EAAA,IAAMY,uBAAuB,GAAG/C,WAAW,CAACwB,GAAG,CAAC,UAAAX,UAAU,EAAA;AAAA,IAAA,OACxDoB,yBAAyB,CACvBpB,UAAU,EACVqB,kBAAkB,EAClBC,wBACF,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAED,EAAA,IAAMa,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAACf,wBAAwB,CAAC,CAACK,OAAO,CACtEW,UAAI,CAAC,UAAU,CACjB,CAAC,CAAA;AAED,EAAA,OAAOJ,uBAAuB,CAAChB,MAAM,CACnC,UAAAlB,UAAU,EAAA;IAAA,OAAI,CAACmC,gBAAgB,CAACI,QAAQ,CAACvC,UAAU,CAACwB,IAAI,CAAC,CAAA;AAAA,GAC3D,CAAC,CAAA;AACH;;;;ACpFA,IAAMgB,WAAW,GAAG,SAAdA,WAAWA,CAAAjB,IAAA,EAIX;AAAA,EAAA,IAAAkB,gBAAA,GAAAlB,IAAA,CAHJpC,WAAW;AAAXA,IAAAA,WAAW,GAAAsD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAC,eAAA,GAAAnB,IAAA,CAChBoB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAAE,qBAAA,GAAArB,IAAA,CAClBD,wBAAwB;AAAxBA,IAAAA,wBAAwB,GAAAsB,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA,CAAA;AAE7B,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAAC,iBAAA,GAAkCC,uBAAgB,EAAE;IAA5CC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAEb,MAAM,GAAAW,iBAAA,CAANX,MAAM,CAAA;AAC7B,EAAA,IAAAc,qBAAA,GAA+Bd,MAAM,CAA7BrB,aAAa;AAAbA,IAAAA,aAAa,GAAAmC,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA,CAAA;EAC1B,IAAM9B,kBAAkB,GAAG+B,aAAO,CAACd,UAAI,CAAC,MAAM,CAAC,CAAC,CAACnD,WAAW,CAAC,CAAA;AAE7D,EAAA,IAAMkE,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGC,YAAY,EAAI;AAC7C,IAAA,IAAMtD,UAAU,GAAGc,kBAAQ,CAACwC,YAAY,EAAEnE,WAAW,CAAC,CAAA;IACtD,IAAIoE,iBAAiB,GAAG,EAAE,CAAA;AAC1B,IAAA,IAAIvC,aAAa,CAACuB,QAAQ,CAACe,YAAY,CAAC,EAAE;MACxC,IAAIE,QAAQ,GAAG,EAAE,CAAA;AACjB,MAAA,IAAIlC,wBAAwB,CAACtB,UAAU,CAACwB,IAAI,CAAC,EAAE;QAC7CgC,QAAQ,GAAG3B,uBAAuB,CAChC7B,UAAU,EACVqB,kBAAkB,EAClBC,wBACF,CAAC,CAAA;AACH,OAAA;MAEA,IAAMmC,0BAA0B,IAAIH,YAAY,CAAA,CAAAvB,MAAA,CAAA2B,oCAAA,CAAKF,QAAQ,CAAC,CAAA,CAAA;AAE9DD,MAAAA,iBAAiB,GAAGvC,aAAa,CAACE,MAAM,CACtC,UAAAH,EAAE,EAAA;AAAA,QAAA,OAAI,CAAC0C,0BAA0B,CAAClB,QAAQ,CAACxB,EAAE,CAAC,CAAA;AAAA,OAChD,CAAC,CAAA;AACH,KAAC,MAAM;AAAA,MAAA,IAAA4C,qBAAA,CAAA;MACL,IAAA7B,KAAA,GACER,wBAAwB,CAACtB,UAAU,CAACwB,IAAI,CAAC,IAAI,EAAE;QADzCoC,eAAe,GAAA9B,KAAA,CAAf8B,eAAe,CAAA;AAGvB,MAAA,IAAMC,0BAA0B,GAAA,CAAAF,qBAAA,GAC9BC,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAe,CAAEjC,OAAO,CAAC,UAAAH,IAAI,EAAA;QAAA,OAAIH,kBAAkB,CAACG,IAAI,CAAC,CAAA;AAAA,OAAA,CAAC,MAAAmC,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAI,EAAE,CAAA;AAElE,MAAA,IAAMH,SAAQ,GAAGK,0BAA0B,CAAClC,OAAO,CAAC,UAAA3B,UAAU,EAAA;AAAA,QAAA,OAC5D6B,uBAAuB,CACrB7B,UAAU,EACVqB,kBAAkB,EAClBC,wBACF,CAAC,CAAA;AAAA,OACH,CAAC,CAAA;AAED,MAAA,IAAMwC,sBAAsB,GAAGC,WAAK,CAAC,IAAI,EAAEF,0BAA0B,CAAC,CAAA;MACtE,IAAMJ,2BAA0B,GAAA1B,EAAAA,CAAAA,MAAA,CAAA2B,oCAAA,CAC3BI,sBAAsB,CAAAJ,EAAAA,oCAAA,CACtBF,SAAQ,CACZ,CAAA,CAAA;AAEDD,MAAAA,iBAAiB,GAAGK,eAAe,GAAA7B,EAAAA,CAAAA,MAAA,CAAA2B,oCAAA,CAE1B1C,aAAa,CAACE,MAAM,CACrB,UAAAH,EAAE,EAAA;AAAA,QAAA,OAAI,CAAC0C,2BAA0B,CAAClB,QAAQ,CAACxB,EAAE,CAAC,CAAA;OAChD,CAAC,CACDuC,EAAAA,CAAAA,YAAY,CAAAvB,CAAAA,GAAAA,EAAAA,CAAAA,MAAA,CAAA2B,oCAAA,CAEV1C,aAAa,CAAEsC,EAAAA,CAAAA,YAAY,CAAC,CAAA,CAAA;AACtC,KAAA;AAEAJ,IAAAA,aAAa,CAAC,eAAe,EAAEK,iBAAiB,CAAC,CAAA;GAClD,CAAA;AAED,EAAA,IAAM1D,kBAAkB,GAAGmE,kBAAO,CAAC,YAAM;IACvC,IAAMC,uBAAuB,GAAGjC,0BAA0B,CAAC;AACzD7C,MAAAA,WAAW,EAAXA,WAAW;AACXkC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBC,MAAAA,wBAAwB,EAAxBA,wBAAAA;AACF,KAAC,CAAC,CAAA;IAEF,OAAO8B,aAAO,CAACd,UAAI,CAAC,UAAU,CAAC,CAAC,CAAC2B,uBAAuB,CAAC,CAAA;AAC3D,GAAC,EAAE,CAAC9E,WAAW,CAAC,CAAC,CAAC;;AAElB,EAAA,IAAM+E,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAjC,KAAA,EAMhB;AAAA,IAAA,IAAAkC,qBAAA,CAAA;AAAA,IAAA,IALJpD,EAAE,GAAAkB,KAAA,CAAFlB,EAAE;MACFS,IAAI,GAAAS,KAAA,CAAJT,IAAI;MACJ4C,WAAW,GAAAnC,KAAA,CAAXmC,WAAW;MACX3C,QAAQ,GAAAQ,KAAA,CAARR,QAAQ;MAAA4C,qBAAA,GAAApC,KAAA,CACRqC,eAAe;AAAfA,MAAAA,eAAe,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA,CAAA;AAEtB,IAAA,IAAME,cAAc,GAAG9C,QAAQ,IAAIxC,yBAAyB,CAACwC,QAAQ,CAAC,CAAA;AAEtE,IAAA,IAAM+C,kBAAkB,GAAG,CAACF,eAAe,IAAI3B,UAAU,CAAA;AACzD,IAAA,IAAM8B,SAAS,GAAGzD,aAAa,CAACuB,QAAQ,CAACxB,EAAE,CAAC,CAAA;AAE5C,IAAA,IAAM2D,wBAAwB,GAAA,CAAAP,qBAAA,GAC5B7C,wBAAwB,CAACE,IAAI,CAAC,MAAA2C,IAAAA,IAAAA,qBAAA,KAA9BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAgCP,eAAe,CAAA;AAEjD,IAAA,IAAMe,kBAAkB,GACtBD,wBAAwB,IAAIE,oBAAU,CAACF,wBAAwB,CAAC,CAAA;AAElE,IAAA,IAAMG,cAAc,GAClBF,kBAAkB,IAClB5B,CAAC,CAAC,sDAAsD,EAAE;AACxD5D,MAAAA,WAAW,EAAEuF,wBAAwB,CAClC/C,OAAO,CAAC,UAAAH,IAAI,EAAA;QAAA,OAAIuC,WAAK,CAAC,aAAa,EAAE1C,kBAAkB,CAACG,IAAI,CAAC,CAAC,CAAA;OAAC,CAAA,CAC/DsD,IAAI,CAAC,IAAI,CAAA;AACd,KAAC,CAAC,CAAA;IAEJ,oBACEC,cAAA,CAACC,mBAAQ,EAAA;MAAAvD,QAAA,eACPsD,cAAA,CAACE,2BAAO,EAAA;AACNC,QAAAA,OAAO,EAAEL,cAAe;AACxBM,QAAAA,QAAQ,EAAE,CAACN,cAAc,IAAIJ,SAAU;AACvCW,QAAAA,QAAQ,EAAC,YAAY;AAAA3D,QAAAA,QAAA,eAErB4D,eAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,4BAA4B;UAAA7D,QAAA,EAAA,cACzCsD,cAAA,CAACQ,4BAAQ,EAAA;AACPC,YAAAA,OAAO,EAAEf,SAAU;AACnBa,YAAAA,SAAS,EAAC,aAAa;AACvB,YAAA,SAAA,EAAQ,+BAA+B;AACvCH,YAAAA,QAAQ,EAAEX,kBAAmB;AAC7BiB,YAAAA,KAAK,EAAErB,WAAY;YACnBsB,QAAQ,EAAE,SAAAA,QAAA,GAAA;cAAA,OAAMrC,sBAAsB,CAACtC,EAAE,CAAC,CAAA;AAAA,aAAA;WAC3C,CAAC,eACFgE,cAAA,CAAA,KAAA,EAAA;AAAKO,YAAAA,SAAS,EAAC,kEAAkE;YAAA7D,QAAA,EAC9E8C,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAE5D,GAAG,CAAC,UAAAgF,eAAe,EAAA;AAAA,cAAA,OAClCzB,gBAAgB,CAAAxC,aAAA,CAAAA,aAAA,KACXiE,eAAe,CAAA,EAAA,EAAA,EAAA;AAClBrB,gBAAAA,eAAe,EAAEG,SAAAA;AAAS,eAAA,CAC3B,CAAC,CAAA;aACJ,CAAA;AAAC,WACE,CAAC,CAAA;SACH,CAAA;OACE,CAAA;AAAC,KAAA,EAxBG1D,EAyBL,CAAC,CAAA;GAEd,CAAA;AAED,EAAA,oBACEsE,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,8BAA8B;AAAA7D,IAAAA,QAAA,gBAC3C4D,eAAA,CAAA,KAAA,EAAA;MAAA5D,QAAA,EAAA,cACEsD,cAAA,CAACa,8BAAU,EAAA;AAACC,QAAAA,UAAU,EAAC,QAAQ;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,UAAU;AAAAtE,QAAAA,QAAA,EACzDsB,CAAC,CAAC,oCAAoC,EAAEiD,kBAAQ,CAAA;AAAC,OACxC,CAAC,eACbjB,cAAA,CAACa,8BAAU,EAAA;AAACC,QAAAA,UAAU,EAAC,QAAQ;AAACC,QAAAA,KAAK,EAAC,OAAO;QAAArE,QAAA,EAC1CsB,CAAC,CAAC,4CAA4C,CAAA;AAAC,OACtC,CAAC,CAAA;AAAA,KACV,CAAC,EACLX,MAAM,CAAC6D,IAAI,CAACpG,kBAAkB,CAAC,CAACc,GAAG,CAAC,UAAAT,QAAQ,EAAA;AAAA,MAAA,oBAC3CmF,eAAA,CAAA,KAAA,EAAA;AACEC,QAAAA,SAAS,EAAC,sBAAsB;AAChC,QAAA,SAAA,EAAQ,2BAA2B;QAAA7D,QAAA,EAAA,cAGnCsD,cAAA,CAACa,8BAAU,EAAA;AACTN,UAAAA,SAAS,EAAC,6CAA6C;AACvD,UAAA,SAAA,EAAQ,qCAAqC;AAC7CO,UAAAA,UAAU,EAAC,QAAQ;AACnBC,UAAAA,KAAK,EAAC,IAAI;AACVC,UAAAA,MAAM,EAAC,MAAM;AAAAtE,UAAAA,QAAA,EAEZvB,QAAAA;SACS,CAAC,eACb6E,cAAA,CAAA,KAAA,EAAA;AAAKO,UAAAA,SAAS,EAAC,oCAAoC;UAAA7D,QAAA,EAChD5B,kBAAkB,CAACK,QAAQ,CAAC,CAACS,GAAG,CAACuD,gBAAgB,CAAA;AAAC,SAChD,CAAC,CAAA;AAAA,OAAA,EAbDhE,QAcF,CAAC,CAAA;AAAA,KACP,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAEV;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"Permissions-B2pWJYB4.js","sources":["../app/javascript/src/components/Roles/utils.js","../app/javascript/src/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 (\"\");\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 attachChildrenRecursively(\n permissionsNameMap[childName][0],\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 findChildIdsRecursively(\n permissionsNameMap[childName][0],\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 { useFormikContext } from \"formik\";\nimport { findById, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Typography, Checkbox, Tooltip } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/_roles-permissions.scss\";\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);\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 }) => {\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}\n disabled={!tooltipMessage || isChecked}\n position=\"left-start\"\n >\n <div className=\"ntm-roles-permission__card\">\n <Checkbox\n checked={isChecked}\n className=\"flex-grow-0\"\n data-cy=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n label={description}\n onChange={() => handleTogglePermission(id)}\n />\n <div className=\"ntm-roles-permission__sub-blocks neeto-ui-relative neeto-ui-pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"ntm-roles-pane__body-wrapper\">\n <div>\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-cy=\"ntm-roles-permission-card\"\n key={category}\n >\n <Typography\n className=\"ntm-roles-permission__heading neeto-ui-mb-2\"\n data-cy=\"ntm-roles-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"bold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card\">\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","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","findChildIdsRecursively","_ref2","concat","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","_toConsumableArray","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","disabled","position","_jsxs","className","Checkbox","checked","label","onChange","childPermission","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
3
3
|
import { useMemo, Fragment } from 'react';
|
|
4
4
|
import { useFormikContext } from 'formik';
|
|
5
5
|
import { findById, isNotEmpty } from '@bigbinary/neeto-cist';
|
|
@@ -9,7 +9,7 @@ import Checkbox from '@bigbinary/neetoui/Checkbox';
|
|
|
9
9
|
import Tooltip from '@bigbinary/neetoui/Tooltip';
|
|
10
10
|
import { prop, append, concat, equals, groupBy, pluck } from 'ramda';
|
|
11
11
|
import { useTranslation } from 'react-i18next';
|
|
12
|
-
import { n } from './inject-css-
|
|
12
|
+
import { n } from './inject-css-DmrvuTKK.js';
|
|
13
13
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
14
14
|
|
|
15
15
|
var css = ".ntm-roles-pane__body{margin-bottom:1.5rem;width:100%}.ntm-roles-pane__body-wrapper>*+*{margin-top:1rem}.ntm-roles-pane__body>*+*{margin-top:1.5rem}.ntm-roles-pane__footer{display:flex;gap:.5rem}.ntm-roles-permission__heading{color:rgb(var(--neeto-ui-gray-500));text-transform:uppercase}.ntm-roles-permission__card{background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:column;gap:.75rem;padding:.4rem 0;position:relative}.ntm-roles-permission__card:after{background-color:rgb(var(--neeto-ui-gray-300));content:\"\";height:1px;left:-15px;position:absolute;top:14px;width:10px}.ntm-roles-permission__card--description{flex-grow:1}.ntm-roles-permission__card--checkbox{padding:0 .5rem}.ntm-roles-permission__card .neeto-ui-checkbox__wrapper .neeto-ui-checkbox__container{align-items:flex-start}.ntm-roles-permission__card .neeto-ui-checkbox__wrapper .neeto-ui-checkbox__container .neeto-ui-checkbox[type=checkbox]:disabled+.neeto-ui-label{cursor:not-allowed;opacity:.5}.ntm-roles-permission__sub-blocks{position:relative}.ntm-roles-permission__sub-blocks:before{background-color:rgb(var(--neeto-ui-gray-300));content:\"\";height:calc(100% - 14px);left:8px;position:absolute;top:0;width:1px}.ntm-roles-permission__sub-blocks:empty{display:none}.ntm-roles-permission-category-card{border:1px solid rgb(var(--neeto-ui-gray-400));border-radius:var(--neeto-ui-rounded);padding:10px 20px}.ntm-roles-permission-category-card>.ntm-roles-permission__card:after{display:none}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9zdHlsZXNoZWV0cy9jb21wb25lbnRzL19yb2xlcy1wZXJtaXNzaW9ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNFLHNCQUVFLG9CQUFBLENBREEsVUFDSixDQUVJLGtDQUNFLGVBQU4sQ0FHSSwwQkFDRSxpQkFETixDQUtFLHdCQUNFLFlBQUEsQ0FDQSxTQUhKLENBUUUsK0JBQ0UsbUNBQUEsQ0FDQSx3QkFMSixDQVFFLDRCQUNFLDJDQUFBLENBR0EsWUFBQSxDQUNBLHFCQUFBLENBQ0EsVUFBQSxDQUNBLGVBQUEsQ0FMQSxpQkFGSixDQVNJLGtDQUNFLDhDQUFBLENBQ0EsVUFBQSxDQUNBLFVBQUEsQ0FDQSxVQUFBLENBQ0EsaUJBQUEsQ0FDQSxRQUFBLENBQ0EsVUFQTixDQVVJLHlDQUNFLFdBUk4sQ0FXSSxzQ0FDRSxlQVROLENBWUksc0ZBQ0Usc0JBVk4sQ0FZTSxpSkFFRSxrQkFBQSxDQURBLFVBVFIsQ0FlRSxrQ0FDRSxpQkFiSixDQWVJLHlDQUNFLDhDQUFBLENBRUEsVUFBQSxDQUNBLHdCQUFBLENBQ0EsUUFBQSxDQUNBLGlCQUFBLENBSkEsS0FBQSxDQUtBLFNBYk4sQ0FnQkksd0NBQ0UsWUFkTixDQW1CQSxvQ0FHRSw4Q0FBQSxDQURBLHFDQUFBLENBREEsaUJBZEYsQ0FrQkksc0VBQ0UsWUFoQk4iLCJzb3VyY2VzQ29udGVudCI6WyIubnRtLXJvbGVzLXBhbmUge1xuICAmX19ib2R5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAmLXdyYXBwZXIgPiAqICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgICYgPiAqICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC41cmVtO1xuICB9XG59XG5cbi5udG0tcm9sZXMtcGVybWlzc2lvbiB7XG4gICZfX2hlYWRpbmcge1xuICAgIGNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS01MDApKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXdoaXRlKSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwLjRyZW0gMDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbGVmdDogLTE1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE0cHg7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICB9XG5cbiAgICAmLS1kZXNjcmlwdGlvbiB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgJi0tY2hlY2tib3gge1xuICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgfVxuXG4gICAgLm5lZXRvLXVpLWNoZWNrYm94X193cmFwcGVyIC5uZWV0by11aS1jaGVja2JveF9fY29udGFpbmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAubmVldG8tdWktY2hlY2tib3hbdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkICsgLm5lZXRvLXVpLWxhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N1Yi1ibG9ja3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE0cHgpO1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5udG0tcm9sZXMtcGVybWlzc2lvbi1jYXRlZ29yeS1jYXJkIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1uZWV0by11aS1yb3VuZGVkKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktNDAwKSk7XG4gICYgPiAubnRtLXJvbGVzLXBlcm1pc3Npb25fX2NhcmQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iXX0= */";
|
|
@@ -55,20 +55,20 @@ var getModifiedPermissions = function getModifiedPermissions() {
|
|
|
55
55
|
};
|
|
56
56
|
}).filter(Boolean);
|
|
57
57
|
};
|
|
58
|
-
var
|
|
58
|
+
var _attachChildrenRecursively = function attachChildrenRecursively(permission, permissionsNameMap, permissionRelationConfig) {
|
|
59
59
|
var _ref = permissionRelationConfig[permission.name] || {},
|
|
60
60
|
children = _ref.children;
|
|
61
61
|
return children ? _objectSpread$1(_objectSpread$1({}, permission), {}, {
|
|
62
62
|
children: children.flatMap(function (childName) {
|
|
63
|
-
return
|
|
63
|
+
return _attachChildrenRecursively(permissionsNameMap[childName][0], permissionsNameMap, permissionRelationConfig);
|
|
64
64
|
})
|
|
65
65
|
}) : permission;
|
|
66
66
|
};
|
|
67
|
-
var
|
|
67
|
+
var _findChildIdsRecursively = function findChildIdsRecursively(permission, permissionsNameMap, permissionRelationConfig) {
|
|
68
68
|
var _ref2 = permissionRelationConfig[permission.name] || {},
|
|
69
69
|
children = _ref2.children;
|
|
70
70
|
return children ? concat(children.flatMap(function (childName) {
|
|
71
|
-
return
|
|
71
|
+
return _findChildIdsRecursively(permissionsNameMap[childName][0], permissionsNameMap, permissionRelationConfig);
|
|
72
72
|
}), [permission.id]) : [permission.id];
|
|
73
73
|
};
|
|
74
74
|
var getChildrenRemovedFromRoot = function getChildrenRemovedFromRoot(_ref3) {
|
|
@@ -76,7 +76,7 @@ var getChildrenRemovedFromRoot = function getChildrenRemovedFromRoot(_ref3) {
|
|
|
76
76
|
permissionsNameMap = _ref3.permissionsNameMap,
|
|
77
77
|
permissionRelationConfig = _ref3.permissionRelationConfig;
|
|
78
78
|
var permissionsWithChildren = permissions.map(function (permission) {
|
|
79
|
-
return
|
|
79
|
+
return _attachChildrenRecursively(permission, permissionsNameMap, permissionRelationConfig);
|
|
80
80
|
});
|
|
81
81
|
var childPermissions = Object.values(permissionRelationConfig).flatMap(prop("children"));
|
|
82
82
|
return permissionsWithChildren.filter(function (permission) {
|
|
@@ -107,7 +107,7 @@ var Permissions = function Permissions(_ref) {
|
|
|
107
107
|
if (permissionIds.includes(permissionId)) {
|
|
108
108
|
var childIds = [];
|
|
109
109
|
if (permissionRelationConfig[permission.name]) {
|
|
110
|
-
childIds =
|
|
110
|
+
childIds = _findChildIdsRecursively(permission, permissionsNameMap, permissionRelationConfig);
|
|
111
111
|
}
|
|
112
112
|
var permissionIdsToBeUnchecked = [permissionId].concat(_toConsumableArray(childIds));
|
|
113
113
|
nextPermissionIds = permissionIds.filter(function (id) {
|
|
@@ -121,7 +121,7 @@ var Permissions = function Permissions(_ref) {
|
|
|
121
121
|
return permissionsNameMap[name];
|
|
122
122
|
})) !== null && _uncheckOnSelect$flat !== void 0 ? _uncheckOnSelect$flat : [];
|
|
123
123
|
var _childIds = uncheckOnSelectPermissions.flatMap(function (permission) {
|
|
124
|
-
return
|
|
124
|
+
return _findChildIdsRecursively(permission, permissionsNameMap, permissionRelationConfig);
|
|
125
125
|
});
|
|
126
126
|
var uncheckedPermissionIds = pluck("id", uncheckOnSelectPermissions);
|
|
127
127
|
var _permissionIdsToBeUnchecked = [].concat(_toConsumableArray(uncheckedPermissionIds), _toConsumableArray(_childIds));
|
|
@@ -140,7 +140,7 @@ var Permissions = function Permissions(_ref) {
|
|
|
140
140
|
return groupBy(prop("category"))(childrenRemovedFromRoot);
|
|
141
141
|
}, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
142
142
|
|
|
143
|
-
var
|
|
143
|
+
var _renderPermission = function renderPermission(_ref3) {
|
|
144
144
|
var _permissionRelationCo;
|
|
145
145
|
var id = _ref3.id,
|
|
146
146
|
name = _ref3.name,
|
|
@@ -177,7 +177,7 @@ var Permissions = function Permissions(_ref) {
|
|
|
177
177
|
}), /*#__PURE__*/jsx("div", {
|
|
178
178
|
className: "ntm-roles-permission__sub-blocks neeto-ui-relative neeto-ui-pl-6",
|
|
179
179
|
children: sortedChildren === null || sortedChildren === void 0 ? void 0 : sortedChildren.map(function (childPermission) {
|
|
180
|
-
return
|
|
180
|
+
return _renderPermission(_objectSpread(_objectSpread({}, childPermission), {}, {
|
|
181
181
|
isParentChecked: isChecked
|
|
182
182
|
}));
|
|
183
183
|
})
|
|
@@ -212,7 +212,7 @@ var Permissions = function Permissions(_ref) {
|
|
|
212
212
|
children: category
|
|
213
213
|
}), /*#__PURE__*/jsx("div", {
|
|
214
214
|
className: "ntm-roles-permission-category-card",
|
|
215
|
-
children: groupedPermissions[category].map(
|
|
215
|
+
children: groupedPermissions[category].map(_renderPermission)
|
|
216
216
|
})]
|
|
217
217
|
}, category);
|
|
218
218
|
})]
|
|
@@ -220,4 +220,4 @@ var Permissions = function Permissions(_ref) {
|
|
|
220
220
|
};
|
|
221
221
|
|
|
222
222
|
export { Permissions as P, getPermissionGroups as a, getModifiedPermissions as b, getChildrenRemovedFromRoot as g, sortPermissionsBySequence as s };
|
|
223
|
-
//# sourceMappingURL=Permissions-
|
|
223
|
+
//# sourceMappingURL=Permissions-r2Kb80Y_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions-1b52172b.js","sources":["../app/javascript/src/components/Roles/utils.js","../app/javascript/src/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 (\"\");\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 attachChildrenRecursively(\n permissionsNameMap[childName][0],\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 findChildIdsRecursively(\n permissionsNameMap[childName][0],\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 { useFormikContext } from \"formik\";\nimport { findById, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Typography, Checkbox, Tooltip } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/_roles-permissions.scss\";\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);\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 }) => {\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}\n disabled={!tooltipMessage || isChecked}\n position=\"left-start\"\n >\n <div className=\"ntm-roles-permission__card\">\n <Checkbox\n checked={isChecked}\n className=\"flex-grow-0\"\n data-cy=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n label={description}\n onChange={() => handleTogglePermission(id)}\n />\n <div className=\"ntm-roles-permission__sub-blocks neeto-ui-relative neeto-ui-pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"ntm-roles-pane__body-wrapper\">\n <div>\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-cy=\"ntm-roles-permission-card\"\n key={category}\n >\n <Typography\n className=\"ntm-roles-permission__heading neeto-ui-mb-2\"\n data-cy=\"ntm-roles-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"bold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card\">\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","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","findChildIdsRecursively","_ref2","concat","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","_toConsumableArray","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","disabled","position","_jsxs","className","Checkbox","checked","label","onChange","childPermission","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Permissions-r2Kb80Y_.js","sources":["../app/javascript/src/components/Roles/utils.js","../app/javascript/src/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 (\"\");\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 attachChildrenRecursively(\n permissionsNameMap[childName][0],\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 findChildIdsRecursively(\n permissionsNameMap[childName][0],\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 { useFormikContext } from \"formik\";\nimport { findById, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Typography, Checkbox, Tooltip } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/_roles-permissions.scss\";\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);\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 }) => {\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}\n disabled={!tooltipMessage || isChecked}\n position=\"left-start\"\n >\n <div className=\"ntm-roles-permission__card\">\n <Checkbox\n checked={isChecked}\n className=\"flex-grow-0\"\n data-cy=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n label={description}\n onChange={() => handleTogglePermission(id)}\n />\n <div className=\"ntm-roles-permission__sub-blocks neeto-ui-relative neeto-ui-pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"ntm-roles-pane__body-wrapper\">\n <div>\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-cy=\"ntm-roles-permission-card\"\n key={category}\n >\n <Typography\n className=\"ntm-roles-permission__heading neeto-ui-mb-2\"\n data-cy=\"ntm-roles-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"bold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card\">\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","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","findChildIdsRecursively","_ref2","concat","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","_toConsumableArray","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","disabled","position","_jsxs","className","Checkbox","checked","label","onChange","childPermission","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":"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"}
|