@bigbinary/neeto-team-members-frontend 4.5.21 → 4.5.22
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/{Permissions-DdepVkPY.js → Permissions-BzrTU6IK.js} +9 -3
- package/dist/Permissions-BzrTU6IK.js.map +1 -0
- package/dist/{Permissions-Cn1UxkGE.js → Permissions-C5aiW8MF.js} +9 -3
- package/dist/Permissions-C5aiW8MF.js.map +1 -0
- package/dist/Permissions.js +1 -1
- package/dist/Roles.js +1 -1
- package/dist/cjs/Permissions.js +1 -1
- package/dist/cjs/Roles.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/Permissions-Cn1UxkGE.js.map +0 -1
- package/dist/Permissions-DdepVkPY.js.map +0 -1
|
@@ -62,7 +62,10 @@ var _attachChildrenRecursively = function attachChildrenRecursively(permission,
|
|
|
62
62
|
children = _ref.children;
|
|
63
63
|
return children ? _objectSpread$1(_objectSpread$1({}, permission), {}, {
|
|
64
64
|
children: children.flatMap(function (childName) {
|
|
65
|
-
|
|
65
|
+
var _permissionsNameMap$c;
|
|
66
|
+
var childPermission = (_permissionsNameMap$c = permissionsNameMap[childName]) === null || _permissionsNameMap$c === void 0 ? void 0 : _permissionsNameMap$c[0];
|
|
67
|
+
if (!childPermission) return [];
|
|
68
|
+
return _attachChildrenRecursively(childPermission, permissionsNameMap, permissionRelationConfig);
|
|
66
69
|
})
|
|
67
70
|
}) : permission;
|
|
68
71
|
};
|
|
@@ -70,7 +73,10 @@ var _findChildIdsRecursively = function findChildIdsRecursively(permission, perm
|
|
|
70
73
|
var _ref2 = permissionRelationConfig[permission.name] || {},
|
|
71
74
|
children = _ref2.children;
|
|
72
75
|
return children ? ramda.concat(children.flatMap(function (childName) {
|
|
73
|
-
|
|
76
|
+
var _permissionsNameMap$c2;
|
|
77
|
+
var childPermission = (_permissionsNameMap$c2 = permissionsNameMap[childName]) === null || _permissionsNameMap$c2 === void 0 ? void 0 : _permissionsNameMap$c2[0];
|
|
78
|
+
if (!childPermission) return [];
|
|
79
|
+
return _findChildIdsRecursively(childPermission, permissionsNameMap, permissionRelationConfig);
|
|
74
80
|
}), [permission.id]) : [permission.id];
|
|
75
81
|
};
|
|
76
82
|
var getChildrenRemovedFromRoot = function getChildrenRemovedFromRoot(_ref3) {
|
|
@@ -226,4 +232,4 @@ exports.getChildrenRemovedFromRoot = getChildrenRemovedFromRoot;
|
|
|
226
232
|
exports.getModifiedPermissions = getModifiedPermissions;
|
|
227
233
|
exports.getPermissionGroups = getPermissionGroups;
|
|
228
234
|
exports.sortPermissionsBySequence = sortPermissionsBySequence;
|
|
229
|
-
//# sourceMappingURL=Permissions-
|
|
235
|
+
//# sourceMappingURL=Permissions-BzrTU6IK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Permissions-BzrTU6IK.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 const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport { 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.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n }) => {\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","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_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","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":"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"}
|
|
@@ -60,7 +60,10 @@ var _attachChildrenRecursively = function attachChildrenRecursively(permission,
|
|
|
60
60
|
children = _ref.children;
|
|
61
61
|
return children ? _objectSpread$1(_objectSpread$1({}, permission), {}, {
|
|
62
62
|
children: children.flatMap(function (childName) {
|
|
63
|
-
|
|
63
|
+
var _permissionsNameMap$c;
|
|
64
|
+
var childPermission = (_permissionsNameMap$c = permissionsNameMap[childName]) === null || _permissionsNameMap$c === void 0 ? void 0 : _permissionsNameMap$c[0];
|
|
65
|
+
if (!childPermission) return [];
|
|
66
|
+
return _attachChildrenRecursively(childPermission, permissionsNameMap, permissionRelationConfig);
|
|
64
67
|
})
|
|
65
68
|
}) : permission;
|
|
66
69
|
};
|
|
@@ -68,7 +71,10 @@ var _findChildIdsRecursively = function findChildIdsRecursively(permission, perm
|
|
|
68
71
|
var _ref2 = permissionRelationConfig[permission.name] || {},
|
|
69
72
|
children = _ref2.children;
|
|
70
73
|
return children ? concat(children.flatMap(function (childName) {
|
|
71
|
-
|
|
74
|
+
var _permissionsNameMap$c2;
|
|
75
|
+
var childPermission = (_permissionsNameMap$c2 = permissionsNameMap[childName]) === null || _permissionsNameMap$c2 === void 0 ? void 0 : _permissionsNameMap$c2[0];
|
|
76
|
+
if (!childPermission) return [];
|
|
77
|
+
return _findChildIdsRecursively(childPermission, permissionsNameMap, permissionRelationConfig);
|
|
72
78
|
}), [permission.id]) : [permission.id];
|
|
73
79
|
};
|
|
74
80
|
var getChildrenRemovedFromRoot = function getChildrenRemovedFromRoot(_ref3) {
|
|
@@ -220,4 +226,4 @@ var Permissions = function Permissions(_ref) {
|
|
|
220
226
|
};
|
|
221
227
|
|
|
222
228
|
export { Permissions as P, getPermissionGroups as a, getModifiedPermissions as b, getChildrenRemovedFromRoot as g, sortPermissionsBySequence as s };
|
|
223
|
-
//# sourceMappingURL=Permissions-
|
|
229
|
+
//# sourceMappingURL=Permissions-C5aiW8MF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Permissions-C5aiW8MF.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 const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport { 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.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n }) => {\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","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_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","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":"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"}
|
package/dist/Permissions.js
CHANGED
|
@@ -9,7 +9,7 @@ import '@bigbinary/neetoui/Checkbox';
|
|
|
9
9
|
import '@bigbinary/neetoui/Tooltip';
|
|
10
10
|
import 'ramda';
|
|
11
11
|
import 'react-i18next';
|
|
12
|
-
export { P as default } from './Permissions-
|
|
12
|
+
export { P as default } from './Permissions-C5aiW8MF.js';
|
|
13
13
|
import 'react/jsx-runtime';
|
|
14
14
|
import './inject-css-DmrvuTKK.js';
|
|
15
15
|
//# sourceMappingURL=Permissions.js.map
|
package/dist/Roles.js
CHANGED
|
@@ -28,7 +28,7 @@ import Form from '@bigbinary/neetoui/formik/Form';
|
|
|
28
28
|
import Input from '@bigbinary/neetoui/formik/Input';
|
|
29
29
|
import Textarea from '@bigbinary/neetoui/formik/Textarea';
|
|
30
30
|
import { object, string } from 'yup';
|
|
31
|
-
import { P as Permissions, g as getChildrenRemovedFromRoot, s as sortPermissionsBySequence, a as getPermissionGroups, b as getModifiedPermissions } from './Permissions-
|
|
31
|
+
import { P as Permissions, g as getChildrenRemovedFromRoot, s as sortPermissionsBySequence, a as getPermissionGroups, b as getModifiedPermissions } from './Permissions-C5aiW8MF.js';
|
|
32
32
|
import NoData from '@bigbinary/neetoui/NoData';
|
|
33
33
|
import classnames from 'classnames';
|
|
34
34
|
import Checkbox from '@bigbinary/neetoui/Checkbox';
|
package/dist/cjs/Permissions.js
CHANGED
|
@@ -11,7 +11,7 @@ require('@bigbinary/neetoui/Checkbox');
|
|
|
11
11
|
require('@bigbinary/neetoui/Tooltip');
|
|
12
12
|
require('ramda');
|
|
13
13
|
require('react-i18next');
|
|
14
|
-
var Permissions = require('../Permissions-
|
|
14
|
+
var Permissions = require('../Permissions-BzrTU6IK.js');
|
|
15
15
|
require('react/jsx-runtime');
|
|
16
16
|
require('../inject-css-vQvjPR2x.js');
|
|
17
17
|
|
package/dist/cjs/Roles.js
CHANGED
|
@@ -30,7 +30,7 @@ var Form = require('@bigbinary/neetoui/formik/Form');
|
|
|
30
30
|
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
31
31
|
var Textarea = require('@bigbinary/neetoui/formik/Textarea');
|
|
32
32
|
var yup = require('yup');
|
|
33
|
-
var Permissions = require('../Permissions-
|
|
33
|
+
var Permissions = require('../Permissions-BzrTU6IK.js');
|
|
34
34
|
var NoData = require('@bigbinary/neetoui/NoData');
|
|
35
35
|
var classnames = require('classnames');
|
|
36
36
|
var Checkbox = require('@bigbinary/neetoui/Checkbox');
|
package/dist/cjs/index.js
CHANGED
|
@@ -4,7 +4,7 @@ var Groups = require('./Groups.js');
|
|
|
4
4
|
var MembersDropdown = require('./MembersDropdown.js');
|
|
5
5
|
var Profile = require('./Profile.js');
|
|
6
6
|
var Roles = require('./Roles.js');
|
|
7
|
-
var Permissions = require('../Permissions-
|
|
7
|
+
var Permissions = require('../Permissions-BzrTU6IK.js');
|
|
8
8
|
var TeamMembers = require('./TeamMembers.js');
|
|
9
9
|
var ManageMember = require('../index-CMMrjr6R.js');
|
|
10
10
|
var RolesRadioGroup = require('../RolesRadioGroup-CWk-AXHw.js');
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export { default as Groups } from './Groups.js';
|
|
|
2
2
|
export { default as MembersDropdown } from './MembersDropdown.js';
|
|
3
3
|
export { default as Profile } from './Profile.js';
|
|
4
4
|
export { default as Roles } from './Roles.js';
|
|
5
|
-
export { P as Permissions } from './Permissions-
|
|
5
|
+
export { P as Permissions } from './Permissions-C5aiW8MF.js';
|
|
6
6
|
export { default as TeamMembers } from './TeamMembers.js';
|
|
7
7
|
export { M as ManageMember } from './index-CvR0tAN3.js';
|
|
8
8
|
export { R as RolesRadioGroup } from './RolesRadioGroup-Dj_Yp_69.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-team-members-frontend",
|
|
3
|
-
"version": "4.5.
|
|
3
|
+
"version": "4.5.22",
|
|
4
4
|
"description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-team-members-nano",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions-Cn1UxkGE.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.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n }) => {\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;AAAA,EAAA,IAAIC,WAAW,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;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;AAAA,GAAA,CAAC,GACrEJ,WAAW;AAAA;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;AAClD,EAAA,IAAMQ,cAAc,GAAGX,yBAAyB,CAACE,WAAW,CAAC;AAE7D,EAAA,IAAMU,kBAAkB,GAAG,IAAIC,GAAG,EAAE;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;AAC5D,MAAA,IAAME,kBAAkB,GAAGF,QAAQ,CAACC,GAAG,CAAC,aAAa,CAAC;AACtD,MAAA,IAAMhB,YAAW,GAAGkB,MAAM,CAACL,UAAU,EAAEI,kBAAkB,CAAC;AAC1DF,MAAAA,QAAQ,CAACI,GAAG,CAAC,aAAa,EAAEnB,YAAW,CAAC;AAC1C,KAAC,MAAM;AACL,MAAA,IAAMoB,KAAK,GAAG,IAAIT,GAAG,EAAE;MACvBS,KAAK,CAACD,GAAG,CAAC,aAAa,EAAED,MAAM,CAACL,UAAU,EAAE,EAAE,CAAC,CAAC;AAChDO,MAAAA,KAAK,CAACD,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC;AACtCT,MAAAA,kBAAkB,CAACS,GAAG,CAACN,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEE,QAAQ,EAAEK,KAAK,CAAC;AACrD;AACF,GAAC,CAAC;AAEF,EAAA,OAAOV,kBAAkB;AAC3B;AAEaW,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;AAAA,EAAA,IAAEsB,aAAa,GAAAtB,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAAA,EAAA,OACnEsB,aAAa,CACVC,GAAG,CAAC,UAAAC,IAAI,EAAI;IACX,IAAMC,cAAc,GAAGC,QAAQ,CAACF,IAAI,CAACG,EAAE,EAAEN,KAAK,CAAC,CAACO,aAAa;IAC7D,IAAIC,MAAM,CAACJ,cAAc,EAAED,IAAI,CAACI,aAAa,CAAC,EAAE,OAAO,KAAK;IAE5D,OAAO;MAAED,EAAE,EAAEH,IAAI,CAACG,EAAE;MAAEC,aAAa,EAAEJ,IAAI,CAACI;KAAe;AAC3D,GAAC,CAAC,CACDE,MAAM,CAACC,OAAO,CAAC;AAAA;AAEb,IAAMC,0BAAyB,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;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,0BAAyB,CACvBC,kBAAkB,CAACO,SAAS,CAAC,CAAC,CAAC,CAAC,EAChCP,kBAAkB,EAClBC,wBACF,CAAC;KACH;AAAC,GAAA,CAAA,GAEHtB,UAAU;AAChB,CAAC;AAEM,IAAM6B,wBAAuB,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;EAEhB,OAAOA,QAAQ,GACXM,MAAM,CACJN,QAAQ,CAACE,OAAO,CAAC,UAAAC,SAAS,EAAA;AAAA,IAAA,OACxBC,wBAAuB,CACrBR,kBAAkB,CAACO,SAAS,CAAC,CAAC,CAAC,CAAC,EAChCP,kBAAkB,EAClBC,wBACF,CAAC;AAAA,GACH,CAAC,EACD,CAACtB,UAAU,CAACe,EAAE,CAChB,CAAC,GACD,CAACf,UAAU,CAACe,EAAE,CAAC;AACrB,CAAC;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;AAExB,EAAA,IAAMY,uBAAuB,GAAG/C,WAAW,CAACwB,GAAG,CAAC,UAAAX,UAAU,EAAA;AAAA,IAAA,OACxDoB,0BAAyB,CACvBpB,UAAU,EACVqB,kBAAkB,EAClBC,wBACF,CAAC;AAAA,GACH,CAAC;AAED,EAAA,IAAMa,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAACf,wBAAwB,CAAC,CAACK,OAAO,CACtEW,IAAI,CAAC,UAAU,CACjB,CAAC;AAED,EAAA,OAAOJ,uBAAuB,CAAChB,MAAM,CACnC,UAAAlB,UAAU,EAAA;IAAA,OAAI,CAACmC,gBAAgB,CAACI,QAAQ,CAACvC,UAAU,CAACwB,IAAI,CAAC;AAAA,GAC3D,CAAC;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;AAE7B,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAAC,iBAAA,GAAkCC,gBAAgB,EAAE;IAA5CC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAEb,MAAM,GAAAW,iBAAA,CAANX,MAAM;AAC7B,EAAA,IAAAc,qBAAA,GAA+Bd,MAAM,CAA7BrB,aAAa;AAAbA,IAAAA,aAAa,GAAAmC,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;EAC1B,IAAM9B,kBAAkB,GAAG+B,OAAO,CAACd,IAAI,CAAC,MAAM,CAAC,CAAC,CAACnD,WAAW,CAAC;AAE7D,EAAA,IAAMkE,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGC,YAAY,EAAI;AAC7C,IAAA,IAAMtD,UAAU,GAAGc,QAAQ,CAACwC,YAAY,EAAEnE,WAAW,CAAC;IACtD,IAAIoE,iBAAiB,GAAG,EAAE;AAC1B,IAAA,IAAIvC,aAAa,CAACuB,QAAQ,CAACe,YAAY,CAAC,EAAE;MACxC,IAAIE,QAAQ,GAAG,EAAE;AACjB,MAAA,IAAIlC,wBAAwB,CAACtB,UAAU,CAACwB,IAAI,CAAC,EAAE;QAC7CgC,QAAQ,GAAG3B,wBAAuB,CAChC7B,UAAU,EACVqB,kBAAkB,EAClBC,wBACF,CAAC;AACH;MAEA,IAAMmC,0BAA0B,IAAIH,YAAY,CAAA,CAAAvB,MAAA,CAAA2B,kBAAA,CAAKF,QAAQ,CAAC,CAAA;AAE9DD,MAAAA,iBAAiB,GAAGvC,aAAa,CAACE,MAAM,CACtC,UAAAH,EAAE,EAAA;AAAA,QAAA,OAAI,CAAC0C,0BAA0B,CAAClB,QAAQ,CAACxB,EAAE,CAAC;AAAA,OAChD,CAAC;AACH,KAAC,MAAM;AAAA,MAAA,IAAA4C,qBAAA;MACL,IAAA7B,KAAA,GACER,wBAAwB,CAACtB,UAAU,CAACwB,IAAI,CAAC,IAAI,EAAE;QADzCoC,eAAe,GAAA9B,KAAA,CAAf8B,eAAe;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;AAAA,OAAA,CAAC,MAAAmC,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAI,EAAE;AAElE,MAAA,IAAMH,SAAQ,GAAGK,0BAA0B,CAAClC,OAAO,CAAC,UAAA3B,UAAU,EAAA;AAAA,QAAA,OAC5D6B,wBAAuB,CACrB7B,UAAU,EACVqB,kBAAkB,EAClBC,wBACF,CAAC;AAAA,OACH,CAAC;AAED,MAAA,IAAMwC,sBAAsB,GAAGC,KAAK,CAAC,IAAI,EAAEF,0BAA0B,CAAC;MACtE,IAAMJ,2BAA0B,GAAA1B,EAAAA,CAAAA,MAAA,CAAA2B,kBAAA,CAC3BI,sBAAsB,CAAAJ,EAAAA,kBAAA,CACtBF,SAAQ,CACZ,CAAA;AAEDD,MAAAA,iBAAiB,GAAGK,eAAe,GAAA7B,EAAAA,CAAAA,MAAA,CAAA2B,kBAAA,CAE1B1C,aAAa,CAACE,MAAM,CACrB,UAAAH,EAAE,EAAA;AAAA,QAAA,OAAI,CAAC0C,2BAA0B,CAAClB,QAAQ,CAACxB,EAAE,CAAC;OAChD,CAAC,CACDuC,EAAAA,CAAAA,YAAY,CAAAvB,CAAAA,GAAAA,EAAAA,CAAAA,MAAA,CAAA2B,kBAAA,CAEV1C,aAAa,CAAEsC,EAAAA,CAAAA,YAAY,CAAC,CAAA;AACtC;IAEAJ,aAAa,CAAC,eAAe,EAAEK,iBAAiB,CAAC/D,IAAI,EAAE,CAAC;GACzD;AAED,EAAA,IAAMK,kBAAkB,GAAGmE,OAAO,CAAC,YAAM;IACvC,IAAMC,uBAAuB,GAAGjC,0BAA0B,CAAC;AACzD7C,MAAAA,WAAW,EAAXA,WAAW;AACXkC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBC,MAAAA,wBAAwB,EAAxBA;AACF,KAAC,CAAC;IAEF,OAAO8B,OAAO,CAACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC2B,uBAAuB,CAAC;AAC3D,GAAC,EAAE,CAAC9E,WAAW,CAAC,CAAC,CAAC;;AAElB,EAAA,IAAM+E,iBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAjC,KAAA,EAMhB;AAAA,IAAA,IAAAkC,qBAAA;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;AAEtB,IAAA,IAAME,cAAc,GAAG9C,QAAQ,IAAIxC,yBAAyB,CAACwC,QAAQ,CAAC;AAEtE,IAAA,IAAM+C,kBAAkB,GAAG,CAACF,eAAe,IAAI3B,UAAU;AACzD,IAAA,IAAM8B,SAAS,GAAGzD,aAAa,CAACuB,QAAQ,CAACxB,EAAE,CAAC;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;AAEjD,IAAA,IAAMe,kBAAkB,GACtBD,wBAAwB,IAAIE,UAAU,CAACF,wBAAwB,CAAC;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,KAAK,CAAC,aAAa,EAAE1C,kBAAkB,CAACG,IAAI,CAAC,CAAC;OAAC,CAAA,CAC/DsD,IAAI,CAAC,IAAI;AACd,KAAC,CAAC;IAEJ,oBACEC,GAAA,CAACC,QAAQ,EAAA;MAAAvD,QAAA,eACPsD,GAAA,CAACE,OAAO,EAAA;AACNC,QAAAA,OAAO,EAAEL,cAAe;AACxBM,QAAAA,QAAQ,EAAE,CAACN,cAAc,IAAIJ,SAAU;AACvCW,QAAAA,QAAQ,EAAC,YAAY;AAAA3D,QAAAA,QAAA,eAErB4D,IAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,4BAA4B;UAAA7D,QAAA,EAAA,cACzCsD,GAAA,CAACQ,QAAQ,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,SAAVA,QAAQA,GAAA;cAAA,OAAQrC,sBAAsB,CAACtC,EAAE,CAAC;AAAA;WAC3C,CAAC,eACFgE,GAAA,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,iBAAgB,CAAAxC,aAAA,CAAAA,aAAA,KACXiE,eAAe,CAAA,EAAA,EAAA,EAAA;AAClBrB,gBAAAA,eAAe,EAAEG;AAAS,eAAA,CAC3B,CAAC;aACJ;AAAC,WACE,CAAC;SACH;OACE;AAAC,KAAA,EAxBG1D,EAyBL,CAAC;GAEd;AAED,EAAA,oBACEsE,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,8BAA8B;AAAA7D,IAAAA,QAAA,gBAC3C4D,IAAA,CAAA,KAAA,EAAA;MAAA5D,QAAA,EAAA,cACEsD,GAAA,CAACa,UAAU,EAAA;AAACC,QAAAA,UAAU,EAAC,QAAQ;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,UAAU;AAAAtE,QAAAA,QAAA,EACzDsB,CAAC,CAAC,oCAAoC,EAAEiD,QAAQ;AAAC,OACxC,CAAC,eACbjB,GAAA,CAACa,UAAU,EAAA;AAACC,QAAAA,UAAU,EAAC,QAAQ;AAACC,QAAAA,KAAK,EAAC,OAAO;QAAArE,QAAA,EAC1CsB,CAAC,CAAC,4CAA4C;AAAC,OACtC,CAAC;AAAA,KACV,CAAC,EACLX,MAAM,CAAC6D,IAAI,CAACpG,kBAAkB,CAAC,CAACc,GAAG,CAAC,UAAAT,QAAQ,EAAA;AAAA,MAAA,oBAC3CmF,IAAA,CAAA,KAAA,EAAA;AACEC,QAAAA,SAAS,EAAC,sBAAsB;AAChC,QAAA,SAAA,EAAQ,2BAA2B;QAAA7D,QAAA,EAAA,cAGnCsD,GAAA,CAACa,UAAU,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;SACS,CAAC,eACb6E,GAAA,CAAA,KAAA,EAAA;AAAKO,UAAAA,SAAS,EAAC,oCAAoC;UAAA7D,QAAA,EAChD5B,kBAAkB,CAACK,QAAQ,CAAC,CAACS,GAAG,CAACuD,iBAAgB;AAAC,SAChD,CAAC;AAAA,OAAA,EAbDhE,QAcF,CAAC;AAAA,KACP,CAAC;AAAA,GACC,CAAC;AAEV;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions-DdepVkPY.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.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n }) => {\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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"}
|