@bigbinary/neeto-team-members-frontend 5.0.61 → 5.0.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/.ready CHANGED
@@ -1 +1 @@
1
- Built at 2026-06-12T08:11:36.104Z
1
+ Built at 2026-06-18T20:13:21.462Z
package/dist/Roles.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
- import { useRef, useEffect, Fragment as Fragment$1, memo, useCallback, useState, useMemo, createElement } from 'react';
2
+ import { useRef, useMemo, useEffect, Fragment as Fragment$1, memo, useCallback, useState, createElement } from 'react';
3
3
  import { g as getScrollBarWidth, i as isOverflown, d as distExports, u as useFetchPermissions } from './utils-CrN1b-Jp.js';
4
4
  import i18next, { t } from 'i18next';
5
5
  import { isPresent, hyphenate, _findBy, noop, isNotEmpty } from '@bigbinary/neeto-cist';
@@ -152,7 +152,6 @@ var ROLE_FORMIK_PROPS = {
152
152
  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; }
153
153
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
154
154
  var ManageRoles = function ManageRoles(_ref) {
155
- var _selectedRole$permiss;
156
155
  var config = _ref.config,
157
156
  _ref$isOpen = _ref.isOpen,
158
157
  isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
@@ -192,10 +191,21 @@ var ManageRoles = function ManageRoles(_ref) {
192
191
  id: selectedRole.id
193
192
  }) : createRole(payload);
194
193
  };
195
- var initialValues = isEdit ? _objectSpread(_objectSpread({}, selectedRole), {}, {
196
- permissionIds: (_selectedRole$permiss = selectedRole.permissionIds) === null || _selectedRole$permiss === void 0 ? void 0 : _selectedRole$permiss.sort(),
197
- description: selectedRole.description || ""
198
- }) : ADD_ROLE_FORM_INITIAL_VALUES;
194
+ var initialValues = useMemo(function () {
195
+ var _selectedRole$permiss, _config$defaultPermis;
196
+ return isEdit ? _objectSpread(_objectSpread({}, selectedRole), {}, {
197
+ permissionIds: (_selectedRole$permiss = selectedRole.permissionIds) === null || _selectedRole$permiss === void 0 ? void 0 : _selectedRole$permiss.sort(),
198
+ description: selectedRole.description || ""
199
+ }) : _objectSpread(_objectSpread({}, ADD_ROLE_FORM_INITIAL_VALUES), {}, {
200
+ permissionIds: ((_config$defaultPermis = config === null || config === void 0 ? void 0 : config.defaultPermissions) !== null && _config$defaultPermis !== void 0 ? _config$defaultPermis : []).flatMap(function (name) {
201
+ return permissions.filter(function (p) {
202
+ return p.name === name;
203
+ }).map(function (p) {
204
+ return p.id;
205
+ });
206
+ }).sort()
207
+ });
208
+ }, [isEdit, selectedRole, config === null || config === void 0 ? void 0 : config.defaultPermissions, permissions]);
199
209
  var formikProps = _objectSpread(_objectSpread({}, ROLE_FORMIK_PROPS), {}, {
200
210
  initialValues: initialValues,
201
211
  onSubmit: handleSubmit
package/dist/Roles.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Roles.js","sources":["../app/javascript/src/components/Roles/Header/utils.js","../app/javascript/src/components/Roles/AddRoleButton.jsx","../app/javascript/src/components/Roles/Header/index.jsx","../app/javascript/src/components/Roles/constants.js","../app/javascript/src/components/Roles/ManageRoles.jsx","../app/javascript/src/components/Roles/Table/constants.js","../app/javascript/src/components/Roles/Table/utils.js","../app/javascript/src/components/Roles/Table/Row.jsx","../app/javascript/src/components/Roles/Table/Sidebar/utils.jsx","../app/javascript/src/components/Roles/Table/TableHeader.jsx","../app/javascript/src/components/Roles/Delete.jsx","../app/javascript/src/components/Roles/Table/Columns.jsx","../app/javascript/src/components/Roles/Table/Sidebar/ToggleDropdown.jsx","../app/javascript/src/components/Roles/Table/Sidebar/index.jsx","../app/javascript/src/components/Roles/Table/index.jsx","../app/javascript/src/components/Roles/index.jsx"],"sourcesContent":["import { taxonomies } from \"neetocommons/initializers\";\n\nexport const renderBreadcrumbs = breadcrumbs =>\n breadcrumbs ?? [{ text: taxonomies.member.plural, link: \"/members\" }];\n","import { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AddRoleButton = ({ config, onClick }) => {\n const { t } = useTranslation();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n return (\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToAddRole\")}\n disabled={isCreatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-add-role-button\"\n disabled={!isCreatePermissionGranted}\n label={t(\"neetoTeamMembers.labels.addNewRole\")}\n onClick={onClick}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import { PLURAL } from \"neetocommons/constants\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderBreadcrumbs } from \"./utils\";\n\nimport AddRoleButton from \"../AddRoleButton\";\n\nconst Header = ({\n config,\n handleReset,\n handleSubmit,\n isDirty = false,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n return (\n <NeetoHeader\n breadcrumbs={renderBreadcrumbs(config?.header?.breadcrumbs)}\n className=\"ntm-roles-header\"\n title={t(\"neetoTeamMembers.common.role\", PLURAL)}\n titleHelpPopoverProps={config?.header?.titleHelpPopoverProps ?? {}}\n actionBlock={\n isDirty ? (\n <>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\")}\n disabled={isUpdatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-role-submission-button\"\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.buttons.saveChanges\")}\n type=\"submit\"\n onClick={handleSubmit}\n />\n </span>\n </Tooltip>\n <Button\n data-testid=\"ntm-role-reset-button\"\n label={t(\"neetoTeamMembers.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n onClick={handleReset}\n />\n </>\n ) : (\n <AddRoleButton\n {...{ config }}\n onClick={() => setIsNewRolePaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Header;\n","import { t } from \"i18next\";\nimport { string, object } from \"yup\";\n\nexport const ROLE_NAME_MAX_LENGTH = 40;\n\nexport const ROLE_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const ADD_ROLE_FORM_VALIDATION_SCHEMA = object({\n name: string()\n .trim()\n .max(\n ROLE_NAME_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.nameLimitExceeded\", {\n limit: ROLE_NAME_MAX_LENGTH,\n })\n )\n // @ts-ignore\n .required(t(\"neetoTeamMembers.validations.enterRoleName\")),\n description: string()\n .nullable()\n .trim()\n .max(\n ROLE_DESCRIPTION_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.descriptionLimitExceeded\", {\n limit: ROLE_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const ADD_ROLE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n permissionIds: [],\n};\n\nexport const ROLE_FORMIK_PROPS = {\n validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA,\n};\n","import { useEffect, useRef } from \"react\";\n\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useCreateRole, useUpdateRole } from \"hooks/roles/useRolesApi\";\n\nimport {\n ADD_ROLE_FORM_INITIAL_VALUES,\n ROLE_DESCRIPTION_MAX_LENGTH,\n ROLE_FORMIK_PROPS,\n ROLE_NAME_MAX_LENGTH,\n} from \"./constants\";\nimport Permissions from \"./Permissions\";\n\nconst ManageRoles = ({\n config,\n isOpen = false,\n onClose,\n permissions = [],\n selectedRole = {},\n scrollTo = null,\n}) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const lastScrollKeyRef = useRef(null);\n const { mutate: createRole, isPending: isCreatingRole } = useCreateRole({\n onSuccess: onClose,\n });\n\n const { mutate: updateRole, isPending: isUpdatingRole } = useUpdateRole({\n onSuccess: onClose,\n });\n const isEdit = isPresent(selectedRole);\n const isSubmitting = isCreatingRole || isUpdatingRole;\n\n const handleSubmit = formValues => {\n const payload = {\n organizationRole: {\n ...formValues,\n name: formValues.name.trim(),\n description: formValues.description.trim(),\n },\n };\n\n isEdit ? updateRole({ payload, id: selectedRole.id }) : createRole(payload);\n };\n\n const initialValues = isEdit\n ? {\n ...selectedRole,\n permissionIds: selectedRole.permissionIds?.sort(),\n description: selectedRole.description || \"\",\n }\n : ADD_ROLE_FORM_INITIAL_VALUES;\n\n const formikProps = {\n ...ROLE_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n };\n\n const isReadOnly = selectedRole.kind === \"system\";\n const isDisabled = ADMIN_ROLES.includes(selectedRole.name) && isReadOnly;\n\n useEffect(() => {\n const activeClassName = \"ntm-roles-permission-category-card--active\";\n const blinkClassName = \"ntm-roles-permission__card--blink\";\n\n const getScrollableParent = node => {\n let current = node?.parentElement;\n while (current) {\n const style = getComputedStyle(current);\n const overflowY = style.overflowY;\n const isScrollable =\n (overflowY === \"auto\" || overflowY === \"scroll\") &&\n current.scrollHeight > current.clientHeight;\n if (isScrollable) return current;\n current = current.parentElement;\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n if (!isOpen) {\n lastScrollKeyRef.current = null;\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n return () => {};\n }\n\n if (!scrollTo) return () => {};\n\n const key = `${selectedRole?.id ?? \"new\"}:${scrollTo.type}:${\n scrollTo.permissionId ?? scrollTo.category ?? \"\"\n }`;\n if (lastScrollKeyRef.current === key) return () => {};\n lastScrollKeyRef.current = key;\n\n let timeoutId;\n let highlightTimeoutId;\n let blinkTimeoutId;\n let scrollEndTimeoutId;\n let attempts = 0;\n let highlightedCard = null;\n let blinkedPermissionCard = null;\n\n const attemptScroll = () => {\n attempts += 1;\n const elementId =\n scrollTo.type === \"permission\"\n ? `ntm-role-permission-${scrollTo.permissionId}`\n : `ntm-role-permission-category-${hyphenate(scrollTo.category || \"\")}`;\n\n const el = document.getElementById(elementId);\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n\n const categoryCard =\n scrollTo.type === \"permission\"\n ? el.closest(\".ntm-roles-permission-category-card\")\n : el.querySelector(\".ntm-roles-permission-category-card\");\n\n const scrollContainer = getScrollableParent(el);\n\n const startHighlight = () => {\n if (!categoryCard) return;\n\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n categoryCard.classList.add(activeClassName);\n highlightedCard = categoryCard;\n\n clearTimeout(highlightTimeoutId);\n highlightTimeoutId = setTimeout(() => {\n categoryCard.classList.remove(activeClassName);\n }, 3000);\n };\n\n if (scrollTo.type === \"permission\") {\n const animationDurationMs = 600;\n const animationIterations = 3;\n const totalDurationMs =\n animationDurationMs * animationIterations + 100;\n\n const startBlink = () => {\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n el.classList.remove(blinkClassName);\n // Restart animation if the class was already present\n void el.offsetWidth;\n el.classList.add(blinkClassName);\n blinkedPermissionCard = el;\n\n clearTimeout(blinkTimeoutId);\n blinkTimeoutId = setTimeout(() => {\n el.classList.remove(blinkClassName);\n }, totalDurationMs);\n };\n\n // Start animation only after scroll settles (or after a max wait).\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n } else {\n // Highlight should also start only after scroll settles.\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n }\n\n return;\n }\n\n // Pane content can mount after open animation; retry briefly.\n if (attempts < 5) timeoutId = setTimeout(attemptScroll, 100);\n };\n\n timeoutId = setTimeout(attemptScroll, 0);\n\n return () => {\n clearTimeout(timeoutId);\n clearTimeout(highlightTimeoutId);\n clearTimeout(blinkTimeoutId);\n clearTimeout(scrollEndTimeoutId);\n highlightedCard?.classList.remove(activeClassName);\n blinkedPermissionCard?.classList.remove(blinkClassName);\n };\n }, [isOpen, scrollTo, selectedRole?.id]);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n initialFocusRef={!isEdit ? inputReference : undefined}\n size=\"large\"\n >\n <Pane.Header>\n <Typography data-testid=\"ntm-add-role-title\" style=\"h2\">\n {isEdit\n ? t(\"neetoTeamMembers.labels.editRole\")\n : t(\"neetoTeamMembers.labels.addNewRole\")}\n </Typography>\n </Pane.Header>\n <Form {...{ formikProps }} ref={formReference}>\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Pane.Body>\n <div className=\"ntm-roles-pane__body\">\n <div className=\"ntm-roles-pane__body-wrapper\">\n <Input\n required\n unlimitedChars\n data-testid=\"ntm-add-role-name-text-field\"\n label={t(\"neetoTeamMembers.common.name\")}\n maxLength={ROLE_NAME_MAX_LENGTH}\n name=\"name\"\n placeholder={t(\"neetoTeamMembers.placeholders.enterName\")}\n readOnly={isReadOnly}\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-testid=\"ntm-add-role-description-text-field\"\n label={t(\"neetoTeamMembers.common.description\")}\n maxLength={ROLE_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n readOnly={isDisabled}\n placeholder={t(\n \"neetoTeamMembers.placeholders.enterDescription\"\n )}\n />\n </div>\n <Permissions\n {...{ isDisabled, permissions }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n className=\"ntm-roles-pane__footer\"\n cancelButtonProps={{\n \"data-testid\": \"ntm-add-role-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-add-role-submit-button\",\n disabled: isSubmitting || isDisabled || !dirty,\n }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default ManageRoles;\n","export const DEFAULT_MANAGE_ROLE_VALUES = {\n isDelete: false,\n isEdit: false,\n selectedRole: {},\n scrollTo: null,\n};\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { _findBy } from \"neetocist\";\nimport { not } from \"ramda\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst deepClone = object => {\n if (!object || true === object) {\n //this also handles boolean as true and false\n return object;\n }\n const objectType = typeof object;\n if (\"number\" === objectType || \"string\" === objectType) {\n // add your immutables here\n return object;\n }\n\n let result = null;\n if (Array.isArray(object)) {\n result = [];\n } else if (!object.constructor) {\n result = {};\n } else {\n result = new object.constructor();\n }\n\n if (object instanceof Map) {\n for (const key of object.keys()) {\n result.set(key, deepClone(object.get(key)));\n }\n }\n\n Object.keys(object).forEach(key => {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n result[key] = deepClone(object[key]);\n }\n });\n\n return result;\n};\n\nexport const renderRolesTooltipContent = roleName =>\n Object.is(roleName, \"Admin\") || Object.is(roleName, \"Owner\")\n ? t(\"neetoTeamMembers.tooltips.adminMustHaveAccess\", { roleName })\n : t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\");\n\nexport const removeDuplicates = array => [...new Set(array)];\n\nexport const updatePermissionVisibility = (categoryName, permissions) => {\n const category = permissions.get(categoryName);\n const isPermissionVisible = category.get(\"isPermissionVisible\");\n category.set(\"isPermissionVisible\", !isPermissionVisible);\n\n return new Map(permissions.set(categoryName, category));\n};\n\nexport const filterPermissionsBySearch = (searchTerm, permissionGroups) => {\n const newValue = deepClone(permissionGroups);\n newValue.forEach(value => {\n const permissions = value.get(\"permissions\");\n\n const filteredPermissions = permissions.filter(permission =>\n permission?.description\n ?.toLowerCase()\n ?.trim()\n ?.includes(searchTerm.toLowerCase().trim())\n );\n value.set(\"permissions\", filteredPermissions);\n });\n\n return newValue;\n};\n\nexport const getMenuItems = ({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n}) => [\n {\n key: MENU_ITEMS.EDIT,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-edit-role-button\",\n isDisabled: not(isUpdatePermissionGranted),\n size: \"small\",\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\"),\n disabled: isUpdatePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.edit\"),\n onClick: () =>\n setManageRole({ isEdit: true, selectedRole: role, scrollTo: null }),\n },\n {\n key: MENU_ITEMS.DELETE,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-delete-role-button\",\n isDisabled: not(isDeletePermissionGranted),\n size: \"small\",\n isVisible: not(isSystemRole),\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToRemoveRoles\"),\n disabled: isDeletePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.delete\"),\n onClick: () =>\n setManageRole({ isDelete: true, selectedRole: role, scrollTo: null }),\n },\n];\n\nexport const getRowClientHeight = permission => {\n const sidebarItems = Array.from(\n document.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n )\n );\n\n const sidebarItem = _findBy(\n { dataset: { name: permission?.description } },\n sidebarItems\n );\n\n return sidebarItem?.clientHeight;\n};\n","import classnames from \"classnames\";\nimport { noop, hyphenate } from \"neetocist\";\nimport { Checkbox, Tooltip } from \"neetoui\";\nimport { __, identical, includes, map, prop } from \"ramda\";\n\nimport { getRowClientHeight, renderRolesTooltipContent } from \"./utils\";\n\nconst Row = ({\n allPermissionsOfCategory = null,\n category = \"\",\n config,\n permission = null,\n roles,\n setManageRole = noop,\n}) => {\n const isUpdatePermissionGranted = config.permissions.update;\n\n const permissions = allPermissionsOfCategory?.get(\"permissions\") || [];\n const allPermissionIdsOfCategory = map(prop(\"id\"), permissions);\n\n const handleSubmit = role => {\n const scrollTo = permission?.id\n ? { type: \"permission\", permissionId: permission.id }\n : { type: \"category\", category };\n\n setManageRole({ isEdit: true, selectedRole: role, scrollTo });\n };\n\n const isCheckboxChecked = role =>\n !allPermissionsOfCategory\n ? includes(permission?.id, role.permissionIds)\n : allPermissionIdsOfCategory.every(includes(__, role.permissionIds));\n\n return (\n <div\n className={classnames(\"ntm-roles-table__row\", {\n \"ntm-roles-table__row--highlighted\": !!allPermissionsOfCategory,\n })}\n >\n {roles.map(role => (\n <div\n className=\"ntm-roles-table__cell\"\n data-testid={`${hyphenate(role.name)}-role-cell`}\n key={role.id}\n style={{ height: getRowClientHeight(permission) }}\n >\n <Tooltip\n content={renderRolesTooltipContent(role.name)}\n position=\"top\"\n disabled={\n isUpdatePermissionGranted &&\n !identical(role.name, \"Admin\") &&\n !identical(role.name, \"Owner\")\n }\n >\n <div className=\"ntm-roles-table-cell__checkbox-wrapper\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox\"\n data-testid=\"ntm-roles-table-permission-checkbox\"\n disabled={\n identical(role.name, \"Admin\") ||\n identical(role.name, \"Owner\") ||\n !isUpdatePermissionGranted\n }\n onChange={() => handleSubmit(role)}\n />\n </div>\n </Tooltip>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Row;\n","import { Fragment } from \"react\";\n\nimport { InfoRound } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport { getScrollBarWidth } from \"common/utils\";\n\nimport { ROLES_TABLE_CELL_HEIGHT_VARIABLE } from \"./constants\";\n\nconst getCurrentTableCellHeight = () =>\n parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE\n ),\n 10\n );\n\nexport const renderDescription = (\n permissions,\n filteredPermissions,\n permissionTooltip = {}\n) =>\n permissions?.map(({ id, name, description, children }) => {\n const tooltipContent = permissionTooltip[name];\n\n return (\n <Fragment key={id}>\n {filteredPermissions.includes(id) && (\n <div\n className=\"ntm-roles-table-sidebar__list-item\"\n data-name={description}\n >\n <Typography\n data-testid=\"ntm-permission-category-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {tooltipContent && (\n <HelpPopover\n description={tooltipContent}\n icon={InfoRound}\n size=\"default\"\n />\n )}\n </div>\n )}\n <div className=\"neeto-ui-relative neeto-ui-pl-6 ntm-roles-table-sidebar__sub-blocks\">\n {renderDescription(children, filteredPermissions, permissionTooltip)}\n </div>\n </Fragment>\n );\n });\n\nexport const getSearchWrapperStyle = () => {\n const scrollBarWidth = getScrollBarWidth();\n\n document.documentElement.style.setProperty(\n \"--ntm-roles-table-default-scroll\",\n `${scrollBarWidth}px`\n );\n\n return { marginBottom: `${scrollBarWidth}px` };\n};\n\nexport const assignRolesTableCellHeight = () => {\n const sidebarItems = [\n ...document.getElementsByClassName(\"ntm-roles-table-sidebar__list-item\"),\n ];\n const clientHeights = pluck(\"clientHeight\", sidebarItems);\n const maxClientHeight = Math.max(...clientHeights);\n const currentTableCellHeight = getCurrentTableCellHeight();\n\n if (maxClientHeight > currentTableCellHeight) {\n document.documentElement.style.setProperty(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE,\n `${maxClientHeight}px`\n );\n }\n};\n\nexport const getFilteredCategories = filteredGroupPermissions =>\n Array.from(filteredGroupPermissions?.keys() || []).filter(category => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const permissions = groupedPermissions.get(\"permissions\") || [];\n\n return permissions.length > 0;\n });\n","import { useEffect, useCallback, useRef, memo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { Typography } from \"neetoui\";\nimport { identical } from \"ramda\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport { isOverflown } from \"common/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\n\nimport { getMenuItems } from \"./utils\";\n\nconst TableHeader = ({ config, roles, setManageRole, setIsScrollPresent }) => {\n const isUpdatePermissionGranted = config.permissions.update;\n const isDeletePermissionGranted = config.permissions.delete;\n\n const scrollSyncElement = useRef(null);\n\n const getOverflowStatus = useCallback(() => {\n if (!scrollSyncElement.current) return;\n\n const headerElement = scrollSyncElement.current.node;\n const isScrollBarPresent = isOverflown(headerElement);\n setIsScrollPresent(isScrollBarPresent);\n }, [setIsScrollPresent]);\n\n useEffect(() => {\n addEventListener(\"resize\", getOverflowStatus);\n\n return () => removeEventListener(\"resize\", getOverflowStatus);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(getOverflowStatus, [getOverflowStatus, scrollSyncElement, roles]);\n\n return (\n <ScrollSyncPane group=\"horizontal\" ref={scrollSyncElement}>\n <div className=\"ntm-roles-table__header\" data-testid=\"ntm-roles-table-header\">\n {roles?.map((role, index) => {\n const isSystemRole = identical(\"system\", role.kind);\n const isAdminRole = ADMIN_ROLES.includes(role.name) && isSystemRole;\n\n return (\n <div className=\"ntm-roles-table__cell\" key={`ntm-roles-${index}`}>\n <div\n className=\"ntm-roles-table-header-cell__container\"\n data-testid=\"ntm-roles-table-role-header\"\n >\n <Typography\n className=\"ntm-roles-table-header__role-name\"\n data-testid=\"ntm-roles-table-header-role-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!isAdminRole && (\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n dropdownButtonProps={{\n className: \"ntm-roles-table-header__dropdown\",\n \"data-testid\": \"ntm-roles-table-header-role-dropdown-button\",\n }}\n menuItems={getMenuItems({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n })}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n );\n};\n\nexport default memo(TableHeader);\n","import { Alert } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDestroyRole } from \"hooks/roles/useRolesApi\";\n\nconst Delete = ({ isOpen, onClose, selectedRole, roles }) => {\n const { t } = useTranslation();\n const { mutate: deleteRole, isPending: isDeleting } = useDestroyRole({\n onSuccess: onClose,\n });\n\n const handleDelete = () => {\n const { id } = selectedRole;\n const payload = { newRoleId: roles.find(role => role.id !== id)?.id };\n deleteRole({ id, payload });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.delete\")}\n title={t(\"neetoTeamMembers.labels.deleteRole\")}\n message={\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.deletingRole\"\n values={{ name: selectedRole?.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","import { useState, useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { hyphenate } from \"neetocist\";\n\nimport { DEFAULT_MANAGE_ROLE_VALUES } from \"./constants\";\nimport Row from \"./Row\";\nimport { getFilteredCategories } from \"./Sidebar/utils\";\nimport TableHeader from \"./TableHeader\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Columns = ({\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n}) => {\n const [manageRole, setManageRole] = useState(DEFAULT_MANAGE_ROLE_VALUES);\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const onClose = () => setManageRole(DEFAULT_MANAGE_ROLE_VALUES);\n\n return (\n <div className=\"ntm-roles-table__columns\">\n <TableHeader\n {...{ config, setIsScrollPresent, setManageRole }}\n roles={filteredRoles}\n />\n <ScrollSyncPane group={[\"horizontal\", \"vertical\"]}>\n <div className=\"ntm-roles-table__rows\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table__empty-row\">\n <div className=\"ntm-roles-table__row\">\n <div className=\"ntm-roles-table__cell\">\n <div className=\"ntm-roles-table__cell-content\">&nbsp;</div>\n </div>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div\n data-testid={`${hyphenate(category)}-permission-card`}\n key={index}\n >\n <Row\n {...{ category, config, setManageRole }}\n allPermissionsOfCategory={groupedPermissions}\n roles={filteredRoles}\n />\n {isPermissionVisible &&\n permissions.map(permission => (\n <Row\n {...{ config, permission, setManageRole }}\n data-testid={`${hyphenate(permission)}-permission-row`}\n key={permission.id}\n roles={filteredRoles}\n />\n ))}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n <ManageRoles\n {...{ config, onClose, permissions }}\n isOpen={manageRole.isEdit}\n scrollTo={manageRole.scrollTo}\n selectedRole={manageRole.selectedRole}\n />\n <Delete\n {...{ onClose, roles }}\n isOpen={manageRole.isDelete}\n selectedRole={manageRole.selectedRole}\n />\n </div>\n );\n};\n\nexport default Columns;\n","import { Right, Up } from \"neetoicons\";\n\nconst ToggleDropdown = ({ isVisible }) =>\n isVisible ? (\n <Up\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n />\n ) : (\n <Right\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-show-button\"\n size={16}\n strokeWidth={2}\n />\n );\n\nexport default ToggleDropdown;\n","import { useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport Search from \"neetomolecules/Search\";\nimport { Typography } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getChildrenRemovedFromRoot } from \"components/Roles/utils\";\n\nimport ToggleDropdown from \"./ToggleDropdown\";\nimport {\n getSearchWrapperStyle,\n renderDescription,\n getFilteredCategories,\n} from \"./utils\";\n\nconst Sidebar = ({\n filteredGroupPermissions,\n toggleDropdown,\n isScrollPresent,\n permissions = [],\n permissionRelationConfig = {},\n permissionTooltip = {},\n}) => {\n const { t } = useTranslation();\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};\n\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const groupedPermissionsWithChildren = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]);\n\n return (\n <div className=\"ntm-roles-table__sidebar\">\n <div\n className=\"ntm-roles-table-sidebar__search\"\n style={searchWrapperStyle}\n >\n <Search\n enableUrlSync\n data-testid=\"ntm-search-permissions-input\"\n searchParamName=\"permission_search_term\"\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchPermission\",\n PLURAL\n )}\n />\n </div>\n <ScrollSyncPane group=\"vertical\">\n <div className=\"ntm-roles-table-sidebar__list\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table-sidebar__list-item-cell\">\n <div className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted\">\n <Typography\n data-testid=\"ntm-empty-category-row\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoTeamMembers.labels.permissionsNotFound\")}\n </Typography>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n\n return (\n <div\n className=\"ntm-roles-table-sidebar__list-item-cell\"\n key={index}\n >\n <div\n className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted cursor-pointer\"\n onClick={() => toggleDropdown(category)}\n >\n <Typography\n className=\"ntm-roles-table-sidebar__list-item-title\"\n data-testid=\"ntm-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <ToggleDropdown isVisible={isPermissionVisible} />\n </div>\n {isPermissionVisible && (\n <div className=\"ntm-roles-table-sidebar__list-item-spacing-handler ms-[12px] px-[24px]\">\n {renderDescription(\n groupedPermissionsWithChildren[category],\n pluck(\n \"id\",\n filteredGroupPermissions\n .get(category)\n .get(\"permissions\") || []\n ),\n permissionTooltip\n )}\n </div>\n )}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n </div>\n );\n};\n\nexport default Sidebar;\n","import { useEffect, useState } from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport { filterPermissionsBySearch, updatePermissionVisibility } from \"./utils\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Table = ({\n config,\n filteredRoles,\n roles,\n permissionGroups,\n permissions,\n setModifiedRoles,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const { permissionSearchTerm = \"\" } = useQueryParams();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n const [filteredGroupPermissions, setFilteredGroupPermissions] =\n useState(permissionGroups);\n const [isScrollPresent, setIsScrollPresent] = useState(false);\n\n const [selectedRole, setSelectedRole] = useState(undefined);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isEditPaneOpen, setIsEditPaneOpen] = useState(false);\n\n const toggleDropdown = category => {\n const permissions = updatePermissionVisibility(\n category,\n filteredGroupPermissions\n );\n setFilteredGroupPermissions(permissions);\n };\n\n useEffect(() => {\n const newValue = filterPermissionsBySearch(\n permissionSearchTerm,\n permissionGroups\n );\n setFilteredGroupPermissions(newValue);\n }, [permissionGroups, permissionSearchTerm]);\n\n return (\n <>\n <div className=\"ntm-roles-table__wrapper\">\n <div className=\"ntm-roles-table__container\">\n {isEmpty(filteredRoles) ? (\n <div className=\"ntm-empty-state\">\n <NoData\n title={t(\"neetoTeamMembers.labels.roleNotFound\", PLURAL)}\n primaryButtonProps={{\n \"data-testid\": \"ntm-add-role-button\",\n disabled: !isCreatePermissionGranted,\n label: t(\"neetoTeamMembers.labels.addNewRole\"),\n onClick: () => setIsNewRolePaneOpen(true),\n }}\n />\n </div>\n ) : (\n <>\n <Sidebar\n {...{\n filteredGroupPermissions,\n isScrollPresent,\n permissions,\n toggleDropdown,\n }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n permissionTooltip={config?.permissionTooltip ?? {}}\n />\n <Columns\n {...{\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n setModifiedRoles,\n }}\n />\n </>\n )}\n </div>\n </div>\n <ManageRoles\n {...{ config, permissions, selectedRole }}\n isOpen={isEditPaneOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsEditPaneOpen(false);\n }}\n />\n <Delete\n {...{ roles, selectedRole }}\n isOpen={isDeleteAlertOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsDeleteAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { ScrollSync } from \"@bigbinary/react-scroll-sync\";\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchPermissions } from \"hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/pages/roles.css\";\n\nimport Header from \"./Header\";\nimport ManageRoles from \"./ManageRoles\";\nimport Table from \"./Table\";\nimport {\n getModifiedPermissions,\n getPermissionGroups,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Roles = ({ config }) => {\n const isViewPermissionGranted = config.permissions.view;\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [modifiedRoles, setModifiedRoles] = useState([]);\n const [isNewRolePaneOpen, setIsNewRolePaneOpen] = useState(false);\n const {\n data: roles = [],\n isLoading: isRolesLoading,\n status,\n } = useFetchRoles({ enabled: isViewPermissionGranted });\n\n const { data: permissionData, isLoading: isPermissionsLoading } =\n useFetchPermissions({ enabled: isViewPermissionGranted });\n\n const { mutate: bulkUpdate } = useBulkUpdateRoles({\n enabled: isUpdatePermissionGranted,\n });\n\n const permissions = sortPermissionsBySequence(permissionData);\n const permissionGroups = getPermissionGroups(permissions);\n\n const filteredRoles = isNotEmpty(modifiedRoles) ? modifiedRoles : roles;\n\n const handleSubmit = () => {\n const updatedRoles = getModifiedPermissions(roles, modifiedRoles);\n bulkUpdate({ organizationRoles: { updatedRoles } });\n };\n\n const handleReset = () => setModifiedRoles(roles);\n\n useEffect(() => {\n if (status !== \"success\") return;\n setModifiedRoles(roles);\n }, [roles, status]);\n if (isRolesLoading || isPermissionsLoading) {\n return (\n <div className=\"flex h-full min-h-screen w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <ScrollSync>\n <Container isHeaderFixed>\n <Header\n {...{\n config,\n handleReset,\n handleSubmit,\n setIsNewRolePaneOpen,\n }}\n />\n <Table\n {...{\n config,\n filteredRoles,\n permissionGroups,\n permissions,\n roles,\n setIsNewRolePaneOpen,\n setModifiedRoles,\n }}\n />\n </Container>\n </ScrollSync>\n <ManageRoles\n {...{ config, permissions }}\n isOpen={isNewRolePaneOpen}\n onClose={() => setIsNewRolePaneOpen(false)}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(Roles),\n i18next.t(\"neetoTeamMembers.common.role\", PLURAL)\n);\n"],"names":["renderBreadcrumbs","breadcrumbs","text","taxonomies","member","plural","link","AddRoleButton","_ref","config","onClick","_useTranslation","useTranslation","t","isCreatePermissionGranted","permissions","create","_jsx","Tooltip","content","disabled","position","children","Button","label","Header","_config$header","_config$header$titleH","_config$header2","handleReset","handleSubmit","_ref$isDirty","isDirty","setIsNewRolePaneOpen","isUpdatePermissionGranted","update","NeetoHeader","header","className","title","PLURAL","titleHelpPopoverProps","actionBlock","_jsxs","_Fragment","type","style","ROLE_NAME_MAX_LENGTH","ROLE_DESCRIPTION_MAX_LENGTH","ADD_ROLE_FORM_VALIDATION_SCHEMA","object","name","string","trim","max","limit","required","description","nullable","ADD_ROLE_FORM_INITIAL_VALUES","permissionIds","ROLE_FORMIK_PROPS","validationSchema","ManageRoles","_selectedRole$permiss","_ref$isOpen","isOpen","onClose","_ref$permissions","_ref$selectedRole","selectedRole","_ref$scrollTo","scrollTo","formReference","useRef","inputReference","lastScrollKeyRef","_useCreateRole","useCreateRole","onSuccess","createRole","mutate","isCreatingRole","isPending","_useUpdateRole","useUpdateRole","updateRole","isUpdatingRole","isEdit","isPresent","isSubmitting","formValues","payload","organizationRole","_objectSpread","id","initialValues","sort","formikProps","onSubmit","isReadOnly","kind","isDisabled","ADMIN_ROLES","includes","useEffect","_selectedRole$id","_ref2","_scrollTo$permissionI","activeClassName","blinkClassName","getScrollableParent","node","current","parentElement","getComputedStyle","overflowY","isScrollable","scrollHeight","clientHeight","document","scrollingElement","documentElement","querySelectorAll","concat","forEach","classList","remove","key","permissionId","category","timeoutId","highlightTimeoutId","blinkTimeoutId","scrollEndTimeoutId","attempts","highlightedCard","blinkedPermissionCard","attemptScroll","elementId","hyphenate","el","getElementById","scrollIntoView","behavior","block","categoryCard","closest","querySelector","scrollContainer","startHighlight","add","clearTimeout","setTimeout","animationDurationMs","animationIterations","totalDurationMs","startBlink","offsetWidth","started","maxWaitTimeoutId","removeEventListener","scheduleStart","addEventListener","passive","_highlightedCard","_blinkedPermissionCar","Pane","initialFocusRef","undefined","size","Typography","Form","ref","_ref3","_config$permissionRel","dirty","ScrollToErrorField","formRef","Body","Input","unlimitedChars","maxLength","placeholder","readOnly","Textarea","Permissions","permissionRelationConfig","permissionRelation","Footer","ActionBlock","cancelButtonProps","submitButtonProps","DEFAULT_MANAGE_ROLE_VALUES","isDelete","MENU_ITEMS","EDIT","DELETE","deepClone","objectType","_typeof","result","Array","isArray","constructor","Map","_iterator","_createForOfIteratorHelper","keys","_step","s","n","done","value","set","get","err","e","f","Object","prototype","hasOwnProperty","call","renderRolesTooltipContent","roleName","is","updatePermissionVisibility","categoryName","isPermissionVisible","filterPermissionsBySearch","searchTerm","permissionGroups","newValue","filteredPermissions","filter","permission","_permission$descripti","toLowerCase","getMenuItems","isDeletePermissionGranted","role","setManageRole","isSystemRole","not","tooltipProps","isVisible","getRowClientHeight","sidebarItems","from","sidebarItem","_findBy","dataset","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$category","_ref$permission","roles","_ref$setManageRole","noop","allPermissionIdsOfCategory","map","prop","isCheckboxChecked","every","__","classnames","height","identical","Checkbox","checked","onChange","renderDescription","permissionTooltip","arguments","length","tooltipContent","Fragment","lineHeight","HelpPopover","icon","InfoRound","getSearchWrapperStyle","scrollBarWidth","getScrollBarWidth","setProperty","marginBottom","getFilteredCategories","filteredGroupPermissions","groupedPermissions","TableHeader","setIsScrollPresent","scrollSyncElement","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","isOverflown","ScrollSyncPane","group","index","isAdminRole","weight","MoreDropdown","dropdownProps","autoWidth","dropdownButtonProps","menuItems","memo","Delete","_useDestroyRole","useDestroyRole","deleteRole","isDeleting","handleDelete","_roles$find","newRoleId","find","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","values","Columns","filteredRoles","_useState","useState","_useState2","_slicedToArray","manageRole","categories","useMemo","_createElement","ToggleDropdown","Up","strokeWidth","Right","Sidebar","toggleDropdown","isScrollPresent","_ref$permissionRelati","_ref$permissionToolti","searchWrapperStyle","permissionsNameMap","groupBy","groupedPermissionsWithChildren","childrenRemovedFromRoot","getChildrenRemovedFromRoot","Search","enableUrlSync","searchParamName","pluck","Table","_config$permissionToo","setModifiedRoles","_useQueryParams","useQueryParams","_useQueryParams$permi","permissionSearchTerm","setFilteredGroupPermissions","_useState3","_useState4","_useState5","_useState6","setSelectedRole","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState9","_useState10","isEditPaneOpen","setIsEditPaneOpen","isEmpty","NoData","primaryButtonProps","Roles","isViewPermissionGranted","view","modifiedRoles","isNewRolePaneOpen","_useFetchRoles","useFetchRoles","enabled","_useFetchRoles$data","data","isRolesLoading","isLoading","status","_useFetchPermissions","useFetchPermissions","permissionData","isPermissionsLoading","_useBulkUpdateRoles","useBulkUpdateRoles","bulkUpdate","sortPermissionsBySequence","getPermissionGroups","isNotEmpty","updatedRoles","getModifiedPermissions","organizationRoles","Spinner","ScrollSync","Container","isHeaderFixed","withTitle","withReactQuery","i18next"],"mappings":"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"}
1
+ {"version":3,"file":"Roles.js","sources":["../app/javascript/src/components/Roles/Header/utils.js","../app/javascript/src/components/Roles/AddRoleButton.jsx","../app/javascript/src/components/Roles/Header/index.jsx","../app/javascript/src/components/Roles/constants.js","../app/javascript/src/components/Roles/ManageRoles.jsx","../app/javascript/src/components/Roles/Table/constants.js","../app/javascript/src/components/Roles/Table/utils.js","../app/javascript/src/components/Roles/Table/Row.jsx","../app/javascript/src/components/Roles/Table/Sidebar/utils.jsx","../app/javascript/src/components/Roles/Table/TableHeader.jsx","../app/javascript/src/components/Roles/Delete.jsx","../app/javascript/src/components/Roles/Table/Columns.jsx","../app/javascript/src/components/Roles/Table/Sidebar/ToggleDropdown.jsx","../app/javascript/src/components/Roles/Table/Sidebar/index.jsx","../app/javascript/src/components/Roles/Table/index.jsx","../app/javascript/src/components/Roles/index.jsx"],"sourcesContent":["import { taxonomies } from \"neetocommons/initializers\";\n\nexport const renderBreadcrumbs = breadcrumbs =>\n breadcrumbs ?? [{ text: taxonomies.member.plural, link: \"/members\" }];\n","import { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AddRoleButton = ({ config, onClick }) => {\n const { t } = useTranslation();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n return (\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToAddRole\")}\n disabled={isCreatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-add-role-button\"\n disabled={!isCreatePermissionGranted}\n label={t(\"neetoTeamMembers.labels.addNewRole\")}\n onClick={onClick}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import { PLURAL } from \"neetocommons/constants\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderBreadcrumbs } from \"./utils\";\n\nimport AddRoleButton from \"../AddRoleButton\";\n\nconst Header = ({\n config,\n handleReset,\n handleSubmit,\n isDirty = false,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n return (\n <NeetoHeader\n breadcrumbs={renderBreadcrumbs(config?.header?.breadcrumbs)}\n className=\"ntm-roles-header\"\n title={t(\"neetoTeamMembers.common.role\", PLURAL)}\n titleHelpPopoverProps={config?.header?.titleHelpPopoverProps ?? {}}\n actionBlock={\n isDirty ? (\n <>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\")}\n disabled={isUpdatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-role-submission-button\"\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.buttons.saveChanges\")}\n type=\"submit\"\n onClick={handleSubmit}\n />\n </span>\n </Tooltip>\n <Button\n data-testid=\"ntm-role-reset-button\"\n label={t(\"neetoTeamMembers.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n onClick={handleReset}\n />\n </>\n ) : (\n <AddRoleButton\n {...{ config }}\n onClick={() => setIsNewRolePaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Header;\n","import { t } from \"i18next\";\nimport { string, object } from \"yup\";\n\nexport const ROLE_NAME_MAX_LENGTH = 40;\n\nexport const ROLE_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const ADD_ROLE_FORM_VALIDATION_SCHEMA = object({\n name: string()\n .trim()\n .max(\n ROLE_NAME_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.nameLimitExceeded\", {\n limit: ROLE_NAME_MAX_LENGTH,\n })\n )\n // @ts-ignore\n .required(t(\"neetoTeamMembers.validations.enterRoleName\")),\n description: string()\n .nullable()\n .trim()\n .max(\n ROLE_DESCRIPTION_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.descriptionLimitExceeded\", {\n limit: ROLE_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const ADD_ROLE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n permissionIds: [],\n};\n\nexport const ROLE_FORMIK_PROPS = {\n validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA,\n};\n","import { useEffect, useMemo, useRef } from \"react\";\n\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useCreateRole, useUpdateRole } from \"hooks/roles/useRolesApi\";\n\nimport {\n ADD_ROLE_FORM_INITIAL_VALUES,\n ROLE_DESCRIPTION_MAX_LENGTH,\n ROLE_FORMIK_PROPS,\n ROLE_NAME_MAX_LENGTH,\n} from \"./constants\";\nimport Permissions from \"./Permissions\";\n\nconst ManageRoles = ({\n config,\n isOpen = false,\n onClose,\n permissions = [],\n selectedRole = {},\n scrollTo = null,\n}) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const lastScrollKeyRef = useRef(null);\n const { mutate: createRole, isPending: isCreatingRole } = useCreateRole({\n onSuccess: onClose,\n });\n\n const { mutate: updateRole, isPending: isUpdatingRole } = useUpdateRole({\n onSuccess: onClose,\n });\n const isEdit = isPresent(selectedRole);\n const isSubmitting = isCreatingRole || isUpdatingRole;\n\n const handleSubmit = formValues => {\n const payload = {\n organizationRole: {\n ...formValues,\n name: formValues.name.trim(),\n description: formValues.description.trim(),\n },\n };\n\n isEdit ? updateRole({ payload, id: selectedRole.id }) : createRole(payload);\n };\n\n const initialValues = useMemo(\n () =>\n isEdit\n ? {\n ...selectedRole,\n permissionIds: selectedRole.permissionIds?.sort(),\n description: selectedRole.description || \"\",\n }\n : {\n ...ADD_ROLE_FORM_INITIAL_VALUES,\n permissionIds: (config?.defaultPermissions ?? [])\n .flatMap(name =>\n permissions.filter(p => p.name === name).map(p => p.id)\n )\n .sort(),\n },\n [isEdit, selectedRole, config?.defaultPermissions, permissions]\n );\n\n const formikProps = {\n ...ROLE_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n };\n\n const isReadOnly = selectedRole.kind === \"system\";\n const isDisabled = ADMIN_ROLES.includes(selectedRole.name) && isReadOnly;\n\n useEffect(() => {\n const activeClassName = \"ntm-roles-permission-category-card--active\";\n const blinkClassName = \"ntm-roles-permission__card--blink\";\n\n const getScrollableParent = node => {\n let current = node?.parentElement;\n while (current) {\n const style = getComputedStyle(current);\n const overflowY = style.overflowY;\n const isScrollable =\n (overflowY === \"auto\" || overflowY === \"scroll\") &&\n current.scrollHeight > current.clientHeight;\n if (isScrollable) return current;\n current = current.parentElement;\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n if (!isOpen) {\n lastScrollKeyRef.current = null;\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n return () => {};\n }\n\n if (!scrollTo) return () => {};\n\n const key = `${selectedRole?.id ?? \"new\"}:${scrollTo.type}:${\n scrollTo.permissionId ?? scrollTo.category ?? \"\"\n }`;\n if (lastScrollKeyRef.current === key) return () => {};\n lastScrollKeyRef.current = key;\n\n let timeoutId;\n let highlightTimeoutId;\n let blinkTimeoutId;\n let scrollEndTimeoutId;\n let attempts = 0;\n let highlightedCard = null;\n let blinkedPermissionCard = null;\n\n const attemptScroll = () => {\n attempts += 1;\n const elementId =\n scrollTo.type === \"permission\"\n ? `ntm-role-permission-${scrollTo.permissionId}`\n : `ntm-role-permission-category-${hyphenate(scrollTo.category || \"\")}`;\n\n const el = document.getElementById(elementId);\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n\n const categoryCard =\n scrollTo.type === \"permission\"\n ? el.closest(\".ntm-roles-permission-category-card\")\n : el.querySelector(\".ntm-roles-permission-category-card\");\n\n const scrollContainer = getScrollableParent(el);\n\n const startHighlight = () => {\n if (!categoryCard) return;\n\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n categoryCard.classList.add(activeClassName);\n highlightedCard = categoryCard;\n\n clearTimeout(highlightTimeoutId);\n highlightTimeoutId = setTimeout(() => {\n categoryCard.classList.remove(activeClassName);\n }, 3000);\n };\n\n if (scrollTo.type === \"permission\") {\n const animationDurationMs = 600;\n const animationIterations = 3;\n const totalDurationMs =\n animationDurationMs * animationIterations + 100;\n\n const startBlink = () => {\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n el.classList.remove(blinkClassName);\n // Restart animation if the class was already present\n void el.offsetWidth;\n el.classList.add(blinkClassName);\n blinkedPermissionCard = el;\n\n clearTimeout(blinkTimeoutId);\n blinkTimeoutId = setTimeout(() => {\n el.classList.remove(blinkClassName);\n }, totalDurationMs);\n };\n\n // Start animation only after scroll settles (or after a max wait).\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n } else {\n // Highlight should also start only after scroll settles.\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n }\n\n return;\n }\n\n // Pane content can mount after open animation; retry briefly.\n if (attempts < 5) timeoutId = setTimeout(attemptScroll, 100);\n };\n\n timeoutId = setTimeout(attemptScroll, 0);\n\n return () => {\n clearTimeout(timeoutId);\n clearTimeout(highlightTimeoutId);\n clearTimeout(blinkTimeoutId);\n clearTimeout(scrollEndTimeoutId);\n highlightedCard?.classList.remove(activeClassName);\n blinkedPermissionCard?.classList.remove(blinkClassName);\n };\n }, [isOpen, scrollTo, selectedRole?.id]);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n initialFocusRef={!isEdit ? inputReference : undefined}\n size=\"large\"\n >\n <Pane.Header>\n <Typography data-testid=\"ntm-add-role-title\" style=\"h2\">\n {isEdit\n ? t(\"neetoTeamMembers.labels.editRole\")\n : t(\"neetoTeamMembers.labels.addNewRole\")}\n </Typography>\n </Pane.Header>\n <Form {...{ formikProps }} ref={formReference}>\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Pane.Body>\n <div className=\"ntm-roles-pane__body\">\n <div className=\"ntm-roles-pane__body-wrapper\">\n <Input\n required\n unlimitedChars\n data-testid=\"ntm-add-role-name-text-field\"\n label={t(\"neetoTeamMembers.common.name\")}\n maxLength={ROLE_NAME_MAX_LENGTH}\n name=\"name\"\n placeholder={t(\"neetoTeamMembers.placeholders.enterName\")}\n readOnly={isReadOnly}\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-testid=\"ntm-add-role-description-text-field\"\n label={t(\"neetoTeamMembers.common.description\")}\n maxLength={ROLE_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n readOnly={isDisabled}\n placeholder={t(\n \"neetoTeamMembers.placeholders.enterDescription\"\n )}\n />\n </div>\n <Permissions\n {...{ isDisabled, permissions }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n className=\"ntm-roles-pane__footer\"\n cancelButtonProps={{\n \"data-testid\": \"ntm-add-role-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-add-role-submit-button\",\n disabled: isSubmitting || isDisabled || !dirty,\n }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default ManageRoles;\n","export const DEFAULT_MANAGE_ROLE_VALUES = {\n isDelete: false,\n isEdit: false,\n selectedRole: {},\n scrollTo: null,\n};\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { _findBy } from \"neetocist\";\nimport { not } from \"ramda\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst deepClone = object => {\n if (!object || true === object) {\n //this also handles boolean as true and false\n return object;\n }\n const objectType = typeof object;\n if (\"number\" === objectType || \"string\" === objectType) {\n // add your immutables here\n return object;\n }\n\n let result = null;\n if (Array.isArray(object)) {\n result = [];\n } else if (!object.constructor) {\n result = {};\n } else {\n result = new object.constructor();\n }\n\n if (object instanceof Map) {\n for (const key of object.keys()) {\n result.set(key, deepClone(object.get(key)));\n }\n }\n\n Object.keys(object).forEach(key => {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n result[key] = deepClone(object[key]);\n }\n });\n\n return result;\n};\n\nexport const renderRolesTooltipContent = roleName =>\n Object.is(roleName, \"Admin\") || Object.is(roleName, \"Owner\")\n ? t(\"neetoTeamMembers.tooltips.adminMustHaveAccess\", { roleName })\n : t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\");\n\nexport const removeDuplicates = array => [...new Set(array)];\n\nexport const updatePermissionVisibility = (categoryName, permissions) => {\n const category = permissions.get(categoryName);\n const isPermissionVisible = category.get(\"isPermissionVisible\");\n category.set(\"isPermissionVisible\", !isPermissionVisible);\n\n return new Map(permissions.set(categoryName, category));\n};\n\nexport const filterPermissionsBySearch = (searchTerm, permissionGroups) => {\n const newValue = deepClone(permissionGroups);\n newValue.forEach(value => {\n const permissions = value.get(\"permissions\");\n\n const filteredPermissions = permissions.filter(permission =>\n permission?.description\n ?.toLowerCase()\n ?.trim()\n ?.includes(searchTerm.toLowerCase().trim())\n );\n value.set(\"permissions\", filteredPermissions);\n });\n\n return newValue;\n};\n\nexport const getMenuItems = ({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n}) => [\n {\n key: MENU_ITEMS.EDIT,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-edit-role-button\",\n isDisabled: not(isUpdatePermissionGranted),\n size: \"small\",\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\"),\n disabled: isUpdatePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.edit\"),\n onClick: () =>\n setManageRole({ isEdit: true, selectedRole: role, scrollTo: null }),\n },\n {\n key: MENU_ITEMS.DELETE,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-delete-role-button\",\n isDisabled: not(isDeletePermissionGranted),\n size: \"small\",\n isVisible: not(isSystemRole),\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToRemoveRoles\"),\n disabled: isDeletePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.delete\"),\n onClick: () =>\n setManageRole({ isDelete: true, selectedRole: role, scrollTo: null }),\n },\n];\n\nexport const getRowClientHeight = permission => {\n const sidebarItems = Array.from(\n document.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n )\n );\n\n const sidebarItem = _findBy(\n { dataset: { name: permission?.description } },\n sidebarItems\n );\n\n return sidebarItem?.clientHeight;\n};\n","import classnames from \"classnames\";\nimport { noop, hyphenate } from \"neetocist\";\nimport { Checkbox, Tooltip } from \"neetoui\";\nimport { __, identical, includes, map, prop } from \"ramda\";\n\nimport { getRowClientHeight, renderRolesTooltipContent } from \"./utils\";\n\nconst Row = ({\n allPermissionsOfCategory = null,\n category = \"\",\n config,\n permission = null,\n roles,\n setManageRole = noop,\n}) => {\n const isUpdatePermissionGranted = config.permissions.update;\n\n const permissions = allPermissionsOfCategory?.get(\"permissions\") || [];\n const allPermissionIdsOfCategory = map(prop(\"id\"), permissions);\n\n const handleSubmit = role => {\n const scrollTo = permission?.id\n ? { type: \"permission\", permissionId: permission.id }\n : { type: \"category\", category };\n\n setManageRole({ isEdit: true, selectedRole: role, scrollTo });\n };\n\n const isCheckboxChecked = role =>\n !allPermissionsOfCategory\n ? includes(permission?.id, role.permissionIds)\n : allPermissionIdsOfCategory.every(includes(__, role.permissionIds));\n\n return (\n <div\n className={classnames(\"ntm-roles-table__row\", {\n \"ntm-roles-table__row--highlighted\": !!allPermissionsOfCategory,\n })}\n >\n {roles.map(role => (\n <div\n className=\"ntm-roles-table__cell\"\n data-testid={`${hyphenate(role.name)}-role-cell`}\n key={role.id}\n style={{ height: getRowClientHeight(permission) }}\n >\n <Tooltip\n content={renderRolesTooltipContent(role.name)}\n position=\"top\"\n disabled={\n isUpdatePermissionGranted &&\n !identical(role.name, \"Admin\") &&\n !identical(role.name, \"Owner\")\n }\n >\n <div className=\"ntm-roles-table-cell__checkbox-wrapper\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox\"\n data-testid=\"ntm-roles-table-permission-checkbox\"\n disabled={\n identical(role.name, \"Admin\") ||\n identical(role.name, \"Owner\") ||\n !isUpdatePermissionGranted\n }\n onChange={() => handleSubmit(role)}\n />\n </div>\n </Tooltip>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Row;\n","import { Fragment } from \"react\";\n\nimport { InfoRound } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport { getScrollBarWidth } from \"common/utils\";\n\nimport { ROLES_TABLE_CELL_HEIGHT_VARIABLE } from \"./constants\";\n\nconst getCurrentTableCellHeight = () =>\n parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE\n ),\n 10\n );\n\nexport const renderDescription = (\n permissions,\n filteredPermissions,\n permissionTooltip = {}\n) =>\n permissions?.map(({ id, name, description, children }) => {\n const tooltipContent = permissionTooltip[name];\n\n return (\n <Fragment key={id}>\n {filteredPermissions.includes(id) && (\n <div\n className=\"ntm-roles-table-sidebar__list-item\"\n data-name={description}\n >\n <Typography\n data-testid=\"ntm-permission-category-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {tooltipContent && (\n <HelpPopover\n description={tooltipContent}\n icon={InfoRound}\n size=\"default\"\n />\n )}\n </div>\n )}\n <div className=\"neeto-ui-relative neeto-ui-pl-6 ntm-roles-table-sidebar__sub-blocks\">\n {renderDescription(children, filteredPermissions, permissionTooltip)}\n </div>\n </Fragment>\n );\n });\n\nexport const getSearchWrapperStyle = () => {\n const scrollBarWidth = getScrollBarWidth();\n\n document.documentElement.style.setProperty(\n \"--ntm-roles-table-default-scroll\",\n `${scrollBarWidth}px`\n );\n\n return { marginBottom: `${scrollBarWidth}px` };\n};\n\nexport const assignRolesTableCellHeight = () => {\n const sidebarItems = [\n ...document.getElementsByClassName(\"ntm-roles-table-sidebar__list-item\"),\n ];\n const clientHeights = pluck(\"clientHeight\", sidebarItems);\n const maxClientHeight = Math.max(...clientHeights);\n const currentTableCellHeight = getCurrentTableCellHeight();\n\n if (maxClientHeight > currentTableCellHeight) {\n document.documentElement.style.setProperty(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE,\n `${maxClientHeight}px`\n );\n }\n};\n\nexport const getFilteredCategories = filteredGroupPermissions =>\n Array.from(filteredGroupPermissions?.keys() || []).filter(category => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const permissions = groupedPermissions.get(\"permissions\") || [];\n\n return permissions.length > 0;\n });\n","import { useEffect, useCallback, useRef, memo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { Typography } from \"neetoui\";\nimport { identical } from \"ramda\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport { isOverflown } from \"common/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\n\nimport { getMenuItems } from \"./utils\";\n\nconst TableHeader = ({ config, roles, setManageRole, setIsScrollPresent }) => {\n const isUpdatePermissionGranted = config.permissions.update;\n const isDeletePermissionGranted = config.permissions.delete;\n\n const scrollSyncElement = useRef(null);\n\n const getOverflowStatus = useCallback(() => {\n if (!scrollSyncElement.current) return;\n\n const headerElement = scrollSyncElement.current.node;\n const isScrollBarPresent = isOverflown(headerElement);\n setIsScrollPresent(isScrollBarPresent);\n }, [setIsScrollPresent]);\n\n useEffect(() => {\n addEventListener(\"resize\", getOverflowStatus);\n\n return () => removeEventListener(\"resize\", getOverflowStatus);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(getOverflowStatus, [getOverflowStatus, scrollSyncElement, roles]);\n\n return (\n <ScrollSyncPane group=\"horizontal\" ref={scrollSyncElement}>\n <div className=\"ntm-roles-table__header\" data-testid=\"ntm-roles-table-header\">\n {roles?.map((role, index) => {\n const isSystemRole = identical(\"system\", role.kind);\n const isAdminRole = ADMIN_ROLES.includes(role.name) && isSystemRole;\n\n return (\n <div className=\"ntm-roles-table__cell\" key={`ntm-roles-${index}`}>\n <div\n className=\"ntm-roles-table-header-cell__container\"\n data-testid=\"ntm-roles-table-role-header\"\n >\n <Typography\n className=\"ntm-roles-table-header__role-name\"\n data-testid=\"ntm-roles-table-header-role-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!isAdminRole && (\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n dropdownButtonProps={{\n className: \"ntm-roles-table-header__dropdown\",\n \"data-testid\": \"ntm-roles-table-header-role-dropdown-button\",\n }}\n menuItems={getMenuItems({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n })}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n );\n};\n\nexport default memo(TableHeader);\n","import { Alert } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDestroyRole } from \"hooks/roles/useRolesApi\";\n\nconst Delete = ({ isOpen, onClose, selectedRole, roles }) => {\n const { t } = useTranslation();\n const { mutate: deleteRole, isPending: isDeleting } = useDestroyRole({\n onSuccess: onClose,\n });\n\n const handleDelete = () => {\n const { id } = selectedRole;\n const payload = { newRoleId: roles.find(role => role.id !== id)?.id };\n deleteRole({ id, payload });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.delete\")}\n title={t(\"neetoTeamMembers.labels.deleteRole\")}\n message={\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.deletingRole\"\n values={{ name: selectedRole?.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","import { useState, useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { hyphenate } from \"neetocist\";\n\nimport { DEFAULT_MANAGE_ROLE_VALUES } from \"./constants\";\nimport Row from \"./Row\";\nimport { getFilteredCategories } from \"./Sidebar/utils\";\nimport TableHeader from \"./TableHeader\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Columns = ({\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n}) => {\n const [manageRole, setManageRole] = useState(DEFAULT_MANAGE_ROLE_VALUES);\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const onClose = () => setManageRole(DEFAULT_MANAGE_ROLE_VALUES);\n\n return (\n <div className=\"ntm-roles-table__columns\">\n <TableHeader\n {...{ config, setIsScrollPresent, setManageRole }}\n roles={filteredRoles}\n />\n <ScrollSyncPane group={[\"horizontal\", \"vertical\"]}>\n <div className=\"ntm-roles-table__rows\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table__empty-row\">\n <div className=\"ntm-roles-table__row\">\n <div className=\"ntm-roles-table__cell\">\n <div className=\"ntm-roles-table__cell-content\">&nbsp;</div>\n </div>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div\n data-testid={`${hyphenate(category)}-permission-card`}\n key={index}\n >\n <Row\n {...{ category, config, setManageRole }}\n allPermissionsOfCategory={groupedPermissions}\n roles={filteredRoles}\n />\n {isPermissionVisible &&\n permissions.map(permission => (\n <Row\n {...{ config, permission, setManageRole }}\n data-testid={`${hyphenate(permission)}-permission-row`}\n key={permission.id}\n roles={filteredRoles}\n />\n ))}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n <ManageRoles\n {...{ config, onClose, permissions }}\n isOpen={manageRole.isEdit}\n scrollTo={manageRole.scrollTo}\n selectedRole={manageRole.selectedRole}\n />\n <Delete\n {...{ onClose, roles }}\n isOpen={manageRole.isDelete}\n selectedRole={manageRole.selectedRole}\n />\n </div>\n );\n};\n\nexport default Columns;\n","import { Right, Up } from \"neetoicons\";\n\nconst ToggleDropdown = ({ isVisible }) =>\n isVisible ? (\n <Up\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n />\n ) : (\n <Right\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-show-button\"\n size={16}\n strokeWidth={2}\n />\n );\n\nexport default ToggleDropdown;\n","import { useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport Search from \"neetomolecules/Search\";\nimport { Typography } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getChildrenRemovedFromRoot } from \"components/Roles/utils\";\n\nimport ToggleDropdown from \"./ToggleDropdown\";\nimport {\n getSearchWrapperStyle,\n renderDescription,\n getFilteredCategories,\n} from \"./utils\";\n\nconst Sidebar = ({\n filteredGroupPermissions,\n toggleDropdown,\n isScrollPresent,\n permissions = [],\n permissionRelationConfig = {},\n permissionTooltip = {},\n}) => {\n const { t } = useTranslation();\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};\n\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const groupedPermissionsWithChildren = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]);\n\n return (\n <div className=\"ntm-roles-table__sidebar\">\n <div\n className=\"ntm-roles-table-sidebar__search\"\n style={searchWrapperStyle}\n >\n <Search\n enableUrlSync\n data-testid=\"ntm-search-permissions-input\"\n searchParamName=\"permission_search_term\"\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchPermission\",\n PLURAL\n )}\n />\n </div>\n <ScrollSyncPane group=\"vertical\">\n <div className=\"ntm-roles-table-sidebar__list\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table-sidebar__list-item-cell\">\n <div className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted\">\n <Typography\n data-testid=\"ntm-empty-category-row\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoTeamMembers.labels.permissionsNotFound\")}\n </Typography>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n\n return (\n <div\n className=\"ntm-roles-table-sidebar__list-item-cell\"\n key={index}\n >\n <div\n className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted cursor-pointer\"\n onClick={() => toggleDropdown(category)}\n >\n <Typography\n className=\"ntm-roles-table-sidebar__list-item-title\"\n data-testid=\"ntm-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <ToggleDropdown isVisible={isPermissionVisible} />\n </div>\n {isPermissionVisible && (\n <div className=\"ntm-roles-table-sidebar__list-item-spacing-handler ms-[12px] px-[24px]\">\n {renderDescription(\n groupedPermissionsWithChildren[category],\n pluck(\n \"id\",\n filteredGroupPermissions\n .get(category)\n .get(\"permissions\") || []\n ),\n permissionTooltip\n )}\n </div>\n )}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n </div>\n );\n};\n\nexport default Sidebar;\n","import { useEffect, useState } from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport { filterPermissionsBySearch, updatePermissionVisibility } from \"./utils\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Table = ({\n config,\n filteredRoles,\n roles,\n permissionGroups,\n permissions,\n setModifiedRoles,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const { permissionSearchTerm = \"\" } = useQueryParams();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n const [filteredGroupPermissions, setFilteredGroupPermissions] =\n useState(permissionGroups);\n const [isScrollPresent, setIsScrollPresent] = useState(false);\n\n const [selectedRole, setSelectedRole] = useState(undefined);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isEditPaneOpen, setIsEditPaneOpen] = useState(false);\n\n const toggleDropdown = category => {\n const permissions = updatePermissionVisibility(\n category,\n filteredGroupPermissions\n );\n setFilteredGroupPermissions(permissions);\n };\n\n useEffect(() => {\n const newValue = filterPermissionsBySearch(\n permissionSearchTerm,\n permissionGroups\n );\n setFilteredGroupPermissions(newValue);\n }, [permissionGroups, permissionSearchTerm]);\n\n return (\n <>\n <div className=\"ntm-roles-table__wrapper\">\n <div className=\"ntm-roles-table__container\">\n {isEmpty(filteredRoles) ? (\n <div className=\"ntm-empty-state\">\n <NoData\n title={t(\"neetoTeamMembers.labels.roleNotFound\", PLURAL)}\n primaryButtonProps={{\n \"data-testid\": \"ntm-add-role-button\",\n disabled: !isCreatePermissionGranted,\n label: t(\"neetoTeamMembers.labels.addNewRole\"),\n onClick: () => setIsNewRolePaneOpen(true),\n }}\n />\n </div>\n ) : (\n <>\n <Sidebar\n {...{\n filteredGroupPermissions,\n isScrollPresent,\n permissions,\n toggleDropdown,\n }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n permissionTooltip={config?.permissionTooltip ?? {}}\n />\n <Columns\n {...{\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n setModifiedRoles,\n }}\n />\n </>\n )}\n </div>\n </div>\n <ManageRoles\n {...{ config, permissions, selectedRole }}\n isOpen={isEditPaneOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsEditPaneOpen(false);\n }}\n />\n <Delete\n {...{ roles, selectedRole }}\n isOpen={isDeleteAlertOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsDeleteAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { ScrollSync } from \"@bigbinary/react-scroll-sync\";\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchPermissions } from \"hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/pages/roles.css\";\n\nimport Header from \"./Header\";\nimport ManageRoles from \"./ManageRoles\";\nimport Table from \"./Table\";\nimport {\n getModifiedPermissions,\n getPermissionGroups,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Roles = ({ config }) => {\n const isViewPermissionGranted = config.permissions.view;\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [modifiedRoles, setModifiedRoles] = useState([]);\n const [isNewRolePaneOpen, setIsNewRolePaneOpen] = useState(false);\n const {\n data: roles = [],\n isLoading: isRolesLoading,\n status,\n } = useFetchRoles({ enabled: isViewPermissionGranted });\n\n const { data: permissionData, isLoading: isPermissionsLoading } =\n useFetchPermissions({ enabled: isViewPermissionGranted });\n\n const { mutate: bulkUpdate } = useBulkUpdateRoles({\n enabled: isUpdatePermissionGranted,\n });\n\n const permissions = sortPermissionsBySequence(permissionData);\n const permissionGroups = getPermissionGroups(permissions);\n\n const filteredRoles = isNotEmpty(modifiedRoles) ? modifiedRoles : roles;\n\n const handleSubmit = () => {\n const updatedRoles = getModifiedPermissions(roles, modifiedRoles);\n bulkUpdate({ organizationRoles: { updatedRoles } });\n };\n\n const handleReset = () => setModifiedRoles(roles);\n\n useEffect(() => {\n if (status !== \"success\") return;\n setModifiedRoles(roles);\n }, [roles, status]);\n if (isRolesLoading || isPermissionsLoading) {\n return (\n <div className=\"flex h-full min-h-screen w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <ScrollSync>\n <Container isHeaderFixed>\n <Header\n {...{\n config,\n handleReset,\n handleSubmit,\n setIsNewRolePaneOpen,\n }}\n />\n <Table\n {...{\n config,\n filteredRoles,\n permissionGroups,\n permissions,\n roles,\n setIsNewRolePaneOpen,\n setModifiedRoles,\n }}\n />\n </Container>\n </ScrollSync>\n <ManageRoles\n {...{ config, permissions }}\n isOpen={isNewRolePaneOpen}\n onClose={() => setIsNewRolePaneOpen(false)}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(Roles),\n i18next.t(\"neetoTeamMembers.common.role\", PLURAL)\n);\n"],"names":["renderBreadcrumbs","breadcrumbs","text","taxonomies","member","plural","link","AddRoleButton","_ref","config","onClick","_useTranslation","useTranslation","t","isCreatePermissionGranted","permissions","create","_jsx","Tooltip","content","disabled","position","children","Button","label","Header","_config$header","_config$header$titleH","_config$header2","handleReset","handleSubmit","_ref$isDirty","isDirty","setIsNewRolePaneOpen","isUpdatePermissionGranted","update","NeetoHeader","header","className","title","PLURAL","titleHelpPopoverProps","actionBlock","_jsxs","_Fragment","type","style","ROLE_NAME_MAX_LENGTH","ROLE_DESCRIPTION_MAX_LENGTH","ADD_ROLE_FORM_VALIDATION_SCHEMA","object","name","string","trim","max","limit","required","description","nullable","ADD_ROLE_FORM_INITIAL_VALUES","permissionIds","ROLE_FORMIK_PROPS","validationSchema","ManageRoles","_ref$isOpen","isOpen","onClose","_ref$permissions","_ref$selectedRole","selectedRole","_ref$scrollTo","scrollTo","formReference","useRef","inputReference","lastScrollKeyRef","_useCreateRole","useCreateRole","onSuccess","createRole","mutate","isCreatingRole","isPending","_useUpdateRole","useUpdateRole","updateRole","isUpdatingRole","isEdit","isPresent","isSubmitting","formValues","payload","organizationRole","_objectSpread","id","initialValues","useMemo","_selectedRole$permiss","_config$defaultPermis","sort","defaultPermissions","flatMap","filter","p","map","formikProps","onSubmit","isReadOnly","kind","isDisabled","ADMIN_ROLES","includes","useEffect","_selectedRole$id","_ref2","_scrollTo$permissionI","activeClassName","blinkClassName","getScrollableParent","node","current","parentElement","getComputedStyle","overflowY","isScrollable","scrollHeight","clientHeight","document","scrollingElement","documentElement","querySelectorAll","concat","forEach","classList","remove","key","permissionId","category","timeoutId","highlightTimeoutId","blinkTimeoutId","scrollEndTimeoutId","attempts","highlightedCard","blinkedPermissionCard","attemptScroll","elementId","hyphenate","el","getElementById","scrollIntoView","behavior","block","categoryCard","closest","querySelector","scrollContainer","startHighlight","add","clearTimeout","setTimeout","animationDurationMs","animationIterations","totalDurationMs","startBlink","offsetWidth","started","maxWaitTimeoutId","removeEventListener","scheduleStart","addEventListener","passive","_highlightedCard","_blinkedPermissionCar","Pane","initialFocusRef","undefined","size","Typography","Form","ref","_ref3","_config$permissionRel","dirty","ScrollToErrorField","formRef","Body","Input","unlimitedChars","maxLength","placeholder","readOnly","Textarea","Permissions","permissionRelationConfig","permissionRelation","Footer","ActionBlock","cancelButtonProps","submitButtonProps","DEFAULT_MANAGE_ROLE_VALUES","isDelete","MENU_ITEMS","EDIT","DELETE","deepClone","objectType","_typeof","result","Array","isArray","constructor","Map","_iterator","_createForOfIteratorHelper","keys","_step","s","n","done","value","set","get","err","e","f","Object","prototype","hasOwnProperty","call","renderRolesTooltipContent","roleName","is","updatePermissionVisibility","categoryName","isPermissionVisible","filterPermissionsBySearch","searchTerm","permissionGroups","newValue","filteredPermissions","permission","_permission$descripti","toLowerCase","getMenuItems","isDeletePermissionGranted","role","setManageRole","isSystemRole","not","tooltipProps","isVisible","getRowClientHeight","sidebarItems","from","sidebarItem","_findBy","dataset","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$category","_ref$permission","roles","_ref$setManageRole","noop","allPermissionIdsOfCategory","prop","isCheckboxChecked","every","__","classnames","height","identical","Checkbox","checked","onChange","renderDescription","permissionTooltip","arguments","length","tooltipContent","Fragment","lineHeight","HelpPopover","icon","InfoRound","getSearchWrapperStyle","scrollBarWidth","getScrollBarWidth","setProperty","marginBottom","getFilteredCategories","filteredGroupPermissions","groupedPermissions","TableHeader","setIsScrollPresent","scrollSyncElement","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","isOverflown","ScrollSyncPane","group","index","isAdminRole","weight","MoreDropdown","dropdownProps","autoWidth","dropdownButtonProps","menuItems","memo","Delete","_useDestroyRole","useDestroyRole","deleteRole","isDeleting","handleDelete","_roles$find","newRoleId","find","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","values","Columns","filteredRoles","_useState","useState","_useState2","_slicedToArray","manageRole","categories","_createElement","ToggleDropdown","Up","strokeWidth","Right","Sidebar","toggleDropdown","isScrollPresent","_ref$permissionRelati","_ref$permissionToolti","searchWrapperStyle","permissionsNameMap","groupBy","groupedPermissionsWithChildren","childrenRemovedFromRoot","getChildrenRemovedFromRoot","Search","enableUrlSync","searchParamName","pluck","Table","_config$permissionToo","setModifiedRoles","_useQueryParams","useQueryParams","_useQueryParams$permi","permissionSearchTerm","setFilteredGroupPermissions","_useState3","_useState4","_useState5","_useState6","setSelectedRole","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState9","_useState10","isEditPaneOpen","setIsEditPaneOpen","isEmpty","NoData","primaryButtonProps","Roles","isViewPermissionGranted","view","modifiedRoles","isNewRolePaneOpen","_useFetchRoles","useFetchRoles","enabled","_useFetchRoles$data","data","isRolesLoading","isLoading","status","_useFetchPermissions","useFetchPermissions","permissionData","isPermissionsLoading","_useBulkUpdateRoles","useBulkUpdateRoles","bulkUpdate","sortPermissionsBySequence","getPermissionGroups","isNotEmpty","updatedRoles","getModifiedPermissions","organizationRoles","Spinner","ScrollSync","Container","isHeaderFixed","withTitle","withReactQuery","i18next"],"mappings":"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"}
package/dist/cjs/Roles.js CHANGED
@@ -182,7 +182,6 @@ var ROLE_FORMIK_PROPS = {
182
182
  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; }
183
183
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty__default.default(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; }
184
184
  var ManageRoles = function ManageRoles(_ref) {
185
- var _selectedRole$permiss;
186
185
  var config = _ref.config,
187
186
  _ref$isOpen = _ref.isOpen,
188
187
  isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
@@ -222,10 +221,21 @@ var ManageRoles = function ManageRoles(_ref) {
222
221
  id: selectedRole.id
223
222
  }) : createRole(payload);
224
223
  };
225
- var initialValues = isEdit ? _objectSpread(_objectSpread({}, selectedRole), {}, {
226
- permissionIds: (_selectedRole$permiss = selectedRole.permissionIds) === null || _selectedRole$permiss === void 0 ? void 0 : _selectedRole$permiss.sort(),
227
- description: selectedRole.description || ""
228
- }) : ADD_ROLE_FORM_INITIAL_VALUES;
224
+ var initialValues = React.useMemo(function () {
225
+ var _selectedRole$permiss, _config$defaultPermis;
226
+ return isEdit ? _objectSpread(_objectSpread({}, selectedRole), {}, {
227
+ permissionIds: (_selectedRole$permiss = selectedRole.permissionIds) === null || _selectedRole$permiss === void 0 ? void 0 : _selectedRole$permiss.sort(),
228
+ description: selectedRole.description || ""
229
+ }) : _objectSpread(_objectSpread({}, ADD_ROLE_FORM_INITIAL_VALUES), {}, {
230
+ permissionIds: ((_config$defaultPermis = config === null || config === void 0 ? void 0 : config.defaultPermissions) !== null && _config$defaultPermis !== void 0 ? _config$defaultPermis : []).flatMap(function (name) {
231
+ return permissions.filter(function (p) {
232
+ return p.name === name;
233
+ }).map(function (p) {
234
+ return p.id;
235
+ });
236
+ }).sort()
237
+ });
238
+ }, [isEdit, selectedRole, config === null || config === void 0 ? void 0 : config.defaultPermissions, permissions]);
229
239
  var formikProps = _objectSpread(_objectSpread({}, ROLE_FORMIK_PROPS), {}, {
230
240
  initialValues: initialValues,
231
241
  onSubmit: handleSubmit