@bigbinary/neeto-team-members-frontend 5.0.34 → 5.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.ready +1 -1
- package/dist/{Permissions-Ds61VDtG.js → Permissions-DzZb1CP-.js} +2 -2
- package/dist/{Permissions-Ds61VDtG.js.map → Permissions-DzZb1CP-.js.map} +1 -1
- package/dist/cjs/v2/ManageMember.js +2 -2
- package/dist/cjs/v2/Profile.js +1 -1
- package/dist/cjs/v2/TeamMembers.js +5 -5
- package/dist/cjs/v2/TeamMembers.js.map +1 -1
- package/dist/cjs/v2/hooks.js +8 -16
- package/dist/cjs/v2/hooks.js.map +1 -1
- package/dist/cjs/v2/index.js +98 -0
- package/dist/cjs/v2/index.js.map +1 -0
- package/dist/{index-B2PgGcMs.js → index-DIkLao3b.js} +2 -2
- package/dist/{index-B2PgGcMs.js.map → index-DIkLao3b.js.map} +1 -1
- package/dist/{index-BBIYGX2C.js → index-tIO9arWz.js} +2 -2
- package/dist/{index-BBIYGX2C.js.map → index-tIO9arWz.js.map} +1 -1
- package/dist/{timezone-selector-BGpvIcKU.js → timezone-selector-B331adFN.js} +70 -70
- package/dist/timezone-selector-B331adFN.js.map +1 -0
- package/dist/{timezone-selector-ojZT6BkF.js → timezone-selector-BMtLnRmu.js} +71 -71
- package/dist/timezone-selector-BMtLnRmu.js.map +1 -0
- package/dist/useMembersSidenav-CTK2-tT0.js +19 -0
- package/dist/useMembersSidenav-CTK2-tT0.js.map +1 -0
- package/dist/useMembersSidenav-Dj60wgFC.js +17 -0
- package/dist/useMembersSidenav-Dj60wgFC.js.map +1 -0
- package/dist/v2/ManageMember.js +2 -2
- package/dist/v2/Permissions.js +1 -1
- package/dist/v2/Profile.js +1 -1
- package/dist/v2/Roles.js +1 -1
- package/dist/v2/TeamMembers.js +5 -5
- package/dist/v2/TeamMembers.js.map +1 -1
- package/dist/v2/hooks.js +6 -18
- package/dist/v2/hooks.js.map +1 -1
- package/dist/v2/index.js +74 -0
- package/dist/v2/index.js.map +1 -0
- package/package.json +7 -7
- package/dist/timezone-selector-BGpvIcKU.js.map +0 -1
- package/dist/timezone-selector-ojZT6BkF.js.map +0 -1
package/dist/.ready
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Built at 2026-04-
|
|
1
|
+
Built at 2026-04-22T11:37:04.955Z
|
|
@@ -5,7 +5,7 @@ import { Typography, Tooltip, Checkbox, Label, cn } from '@bigbinary/neeto-atoms
|
|
|
5
5
|
import { useFormikContext } from 'formik';
|
|
6
6
|
import { findById, hyphenate, isNotEmpty } from '@bigbinary/neeto-cist';
|
|
7
7
|
import { SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
|
|
8
|
-
import { prop,
|
|
8
|
+
import { prop, concat, append, equals, groupBy, pluck } from 'ramda';
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
|
10
10
|
import { n } from './inject-css-C2dztUxs.js';
|
|
11
11
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -230,4 +230,4 @@ var Permissions = function Permissions(_ref) {
|
|
|
230
230
|
};
|
|
231
231
|
|
|
232
232
|
export { Permissions as P, getPermissionGroups as a, getModifiedPermissions as b, getChildrenRemovedFromRoot as g, sortPermissionsBySequence as s };
|
|
233
|
-
//# sourceMappingURL=Permissions-
|
|
233
|
+
//# sourceMappingURL=Permissions-DzZb1CP-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions-Ds61VDtG.js","sources":["../app/javascript/src/components/v2/Roles/utils.js","../app/javascript/src/components/v2/Roles/Permissions.jsx"],"sourcesContent":["import { findById } from \"neetocist\";\nimport { append, concat, equals, prop } from \"ramda\";\n\nexport const sortPermissionsBySequence = (permissions = []) =>\n permissions?.[0]?.sequence\n ? [...permissions].sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = sortPermissionsBySequence(permissions);\n\n const groupedPermissions = new Map();\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n\nexport const attachChildrenRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? {\n ...permission,\n children: children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport {\n Checkbox,\n Label,\n Tooltip,\n Typography,\n cn,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findById, hyphenate, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n findChildIdsRecursively,\n getChildrenRemovedFromRoot,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nimport \"../styles/roles-permissions.css\";\n\nconst Permissions = ({\n permissions = [],\n isDisabled = false,\n permissionRelationConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const handleTogglePermission = permissionId => {\n const permission = findById(permissionId, permissions);\n let nextPermissionIds = [];\n if (permissionIds.includes(permissionId)) {\n let childIds = [];\n if (permissionRelationConfig[permission.name]) {\n childIds = findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }\n\n const permissionIdsToBeUnchecked = [permissionId, ...childIds];\n\n nextPermissionIds = permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n );\n } else {\n const { uncheckOnSelect } =\n permissionRelationConfig[permission.name] || {};\n\n const uncheckOnSelectPermissions =\n uncheckOnSelect?.flatMap(name => permissionsNameMap[name]) ?? [];\n\n const childIds = uncheckOnSelectPermissions.flatMap(permission =>\n findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const uncheckedPermissionIds = pluck(\"id\", uncheckOnSelectPermissions);\n const permissionIdsToBeUnchecked = [\n ...uncheckedPermissionIds,\n ...childIds,\n ];\n\n nextPermissionIds = uncheckOnSelect\n ? [\n ...permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n ),\n permissionId,\n ]\n : [...permissionIds, permissionId];\n }\n\n setFieldValue(\"permissionIds\", nextPermissionIds.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n index = 1,\n }) => {\n const sortedChildren = children && sortPermissionsBySequence(children);\n\n const isCheckingDisabled = !isParentChecked || isDisabled;\n const isChecked = permissionIds.includes(id);\n\n const permissionsToBeUnchecked =\n permissionRelationConfig[name]?.uncheckOnSelect;\n\n const hasUnCheckOnSelect =\n permissionsToBeUnchecked && isNotEmpty(permissionsToBeUnchecked);\n\n const tooltipMessage =\n hasUnCheckOnSelect &&\n t(\"neetoTeamMembers.tooltips.uncheckOnSelectPermissions\", {\n permissions: permissionsToBeUnchecked\n .flatMap(name => pluck(\"description\", permissionsNameMap[name]))\n .join(\", \"),\n });\n\n return (\n <Fragment key={id}>\n <Tooltip\n content={tooltipMessage && !isChecked ? tooltipMessage : null}\n position=\"left\"\n >\n <div\n className=\"ntm-roles-permission__card relative flex flex-col gap-3 bg-background py-1.5\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n id={`ntm-role-permission-${id}`}\n >\n <div className=\"flex items-start gap-2\">\n <Checkbox\n checked={isChecked}\n className=\"mt-0.5 shrink-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n id={`permission-${id}`}\n onCheckedChange={() => handleTogglePermission(id)}\n />\n <Label\n htmlFor={`permission-${id}`}\n className={cn(\n \"font-normal leading-relaxed\",\n isCheckingDisabled\n ? \"cursor-not-allowed opacity-50\"\n : \"cursor-pointer\"\n )}\n >\n {description}\n </Label>\n </div>\n <div className=\"ntm-roles-permission__sub-blocks relative pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n index: index + 1,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"space-y-4\">\n <div>\n <Typography className=\"text-base font-semibold leading-normal\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography className=\"text-sm leading-normal text-muted-foreground\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-testid=\"ntm-roles-permission-card\"\n id={`ntm-role-permission-category-${hyphenate(category)}`}\n key={category}\n >\n <Typography\n className=\"mb-2 pt-2 text-sm font-semibold leading-normal\"\n data-testid=\"ntm-roles-permission-category-title\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card rounded-md border border-border p-2.5 px-5 transition-all duration-300\">\n {groupedPermissions[category].map(renderPermission)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n"],"names":["sortPermissionsBySequence","_permissions$","permissions","arguments","length","undefined","sequence","_toConsumableArray","sort","first","second","getPermissionGroups","sortBySequence","groupedPermissions","Map","forEach","permission","has","category","get","currentPermissions","append","set","value","getModifiedPermissions","roles","modifiedRoles","map","role","oldPermissions","findById","id","permissionIds","equals","filter","Boolean","attachChildrenRecursively","permissionsNameMap","permissionRelationConfig","_ref","name","children","_objectSpread","flatMap","childName","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","_ref3$index","index","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","position","_jsxs","className","Checkbox","checked","disabled","onCheckedChange","Label","htmlFor","cn","Typography","SINGULAR","keys","hyphenate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Permissions-DzZb1CP-.js","sources":["../app/javascript/src/components/v2/Roles/utils.js","../app/javascript/src/components/v2/Roles/Permissions.jsx"],"sourcesContent":["import { findById } from \"neetocist\";\nimport { append, concat, equals, prop } from \"ramda\";\n\nexport const sortPermissionsBySequence = (permissions = []) =>\n permissions?.[0]?.sequence\n ? [...permissions].sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = sortPermissionsBySequence(permissions);\n\n const groupedPermissions = new Map();\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n\nexport const attachChildrenRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? {\n ...permission,\n children: children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport {\n Checkbox,\n Label,\n Tooltip,\n Typography,\n cn,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findById, hyphenate, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n findChildIdsRecursively,\n getChildrenRemovedFromRoot,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nimport \"../styles/roles-permissions.css\";\n\nconst Permissions = ({\n permissions = [],\n isDisabled = false,\n permissionRelationConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const handleTogglePermission = permissionId => {\n const permission = findById(permissionId, permissions);\n let nextPermissionIds = [];\n if (permissionIds.includes(permissionId)) {\n let childIds = [];\n if (permissionRelationConfig[permission.name]) {\n childIds = findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }\n\n const permissionIdsToBeUnchecked = [permissionId, ...childIds];\n\n nextPermissionIds = permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n );\n } else {\n const { uncheckOnSelect } =\n permissionRelationConfig[permission.name] || {};\n\n const uncheckOnSelectPermissions =\n uncheckOnSelect?.flatMap(name => permissionsNameMap[name]) ?? [];\n\n const childIds = uncheckOnSelectPermissions.flatMap(permission =>\n findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const uncheckedPermissionIds = pluck(\"id\", uncheckOnSelectPermissions);\n const permissionIdsToBeUnchecked = [\n ...uncheckedPermissionIds,\n ...childIds,\n ];\n\n nextPermissionIds = uncheckOnSelect\n ? [\n ...permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n ),\n permissionId,\n ]\n : [...permissionIds, permissionId];\n }\n\n setFieldValue(\"permissionIds\", nextPermissionIds.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n index = 1,\n }) => {\n const sortedChildren = children && sortPermissionsBySequence(children);\n\n const isCheckingDisabled = !isParentChecked || isDisabled;\n const isChecked = permissionIds.includes(id);\n\n const permissionsToBeUnchecked =\n permissionRelationConfig[name]?.uncheckOnSelect;\n\n const hasUnCheckOnSelect =\n permissionsToBeUnchecked && isNotEmpty(permissionsToBeUnchecked);\n\n const tooltipMessage =\n hasUnCheckOnSelect &&\n t(\"neetoTeamMembers.tooltips.uncheckOnSelectPermissions\", {\n permissions: permissionsToBeUnchecked\n .flatMap(name => pluck(\"description\", permissionsNameMap[name]))\n .join(\", \"),\n });\n\n return (\n <Fragment key={id}>\n <Tooltip\n content={tooltipMessage && !isChecked ? tooltipMessage : null}\n position=\"left\"\n >\n <div\n className=\"ntm-roles-permission__card relative flex flex-col gap-3 bg-background py-1.5\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n id={`ntm-role-permission-${id}`}\n >\n <div className=\"flex items-start gap-2\">\n <Checkbox\n checked={isChecked}\n className=\"mt-0.5 shrink-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n id={`permission-${id}`}\n onCheckedChange={() => handleTogglePermission(id)}\n />\n <Label\n htmlFor={`permission-${id}`}\n className={cn(\n \"font-normal leading-relaxed\",\n isCheckingDisabled\n ? \"cursor-not-allowed opacity-50\"\n : \"cursor-pointer\"\n )}\n >\n {description}\n </Label>\n </div>\n <div className=\"ntm-roles-permission__sub-blocks relative pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n index: index + 1,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"space-y-4\">\n <div>\n <Typography className=\"text-base font-semibold leading-normal\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography className=\"text-sm leading-normal text-muted-foreground\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-testid=\"ntm-roles-permission-card\"\n id={`ntm-role-permission-category-${hyphenate(category)}`}\n key={category}\n >\n <Typography\n className=\"mb-2 pt-2 text-sm font-semibold leading-normal\"\n data-testid=\"ntm-roles-permission-category-title\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card rounded-md border border-border p-2.5 px-5 transition-all duration-300\">\n {groupedPermissions[category].map(renderPermission)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n"],"names":["sortPermissionsBySequence","_permissions$","permissions","arguments","length","undefined","sequence","_toConsumableArray","sort","first","second","getPermissionGroups","sortBySequence","groupedPermissions","Map","forEach","permission","has","category","get","currentPermissions","append","set","value","getModifiedPermissions","roles","modifiedRoles","map","role","oldPermissions","findById","id","permissionIds","equals","filter","Boolean","attachChildrenRecursively","permissionsNameMap","permissionRelationConfig","_ref","name","children","_objectSpread","flatMap","childName","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","_ref3$index","index","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","position","_jsxs","className","Checkbox","checked","disabled","onCheckedChange","Label","htmlFor","cn","Typography","SINGULAR","keys","hyphenate"],"mappings":"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"}
|
|
@@ -20,9 +20,9 @@ require('@babel/runtime/helpers/objectWithoutProperties');
|
|
|
20
20
|
require('formik');
|
|
21
21
|
require('react/jsx-runtime');
|
|
22
22
|
require('../../index-BkEJugj1.js');
|
|
23
|
-
require('../../timezone-selector-
|
|
23
|
+
require('../../timezone-selector-B331adFN.js');
|
|
24
24
|
require('../../useTeamsApi-Ch5sHR2_.js');
|
|
25
|
-
var v2_ManageMember = require('../../index-
|
|
25
|
+
var v2_ManageMember = require('../../index-tIO9arWz.js');
|
|
26
26
|
require('../../RolesRadioGroup-bXyHmk_Q.js');
|
|
27
27
|
require('@tanstack/react-query');
|
|
28
28
|
require('@bigbinary/neeto-cist');
|
package/dist/cjs/v2/Profile.js
CHANGED
|
@@ -24,7 +24,7 @@ require('formik');
|
|
|
24
24
|
var jsxRuntime = require('react/jsx-runtime');
|
|
25
25
|
var reactQuery = require('@tanstack/react-query');
|
|
26
26
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
27
|
-
var timezoneSelector = require('../../timezone-selector-
|
|
27
|
+
var timezoneSelector = require('../../timezone-selector-B331adFN.js');
|
|
28
28
|
var i18next = require('i18next');
|
|
29
29
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
30
30
|
var yup = require('yup');
|
|
@@ -19,7 +19,7 @@ var withReactQuery = require('../../withReactQuery-DvSkXhEx.js');
|
|
|
19
19
|
var index$1 = require('../../index-BkEJugj1.js');
|
|
20
20
|
var useTeamsApi = require('../../useTeamsApi-Ch5sHR2_.js');
|
|
21
21
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
22
|
-
var v2_ManageMember = require('../../index-
|
|
22
|
+
var v2_ManageMember = require('../../index-tIO9arWz.js');
|
|
23
23
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
24
24
|
var i18next = require('i18next');
|
|
25
25
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -40,7 +40,7 @@ require('classnames');
|
|
|
40
40
|
require('@bigbinary/neeto-image-uploader-frontend/hooks');
|
|
41
41
|
require('../../ActionBlock-C9Iy0jGZ.js');
|
|
42
42
|
require('../../Select-CshPoN2b.js');
|
|
43
|
-
require('../../timezone-selector-
|
|
43
|
+
require('../../timezone-selector-B331adFN.js');
|
|
44
44
|
require('../../inject-css-B6qYtOJe.js');
|
|
45
45
|
require('../../RolesRadioGroup-bXyHmk_Q.js');
|
|
46
46
|
require('yup');
|
|
@@ -886,6 +886,7 @@ var TeamMembers = function TeamMembers(_ref) {
|
|
|
886
886
|
return setIsDownloadPaneOpen(false);
|
|
887
887
|
}
|
|
888
888
|
}), (team === null || team === void 0 ? void 0 : team.membersCount) !== 0 ? /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DataTable, {
|
|
889
|
+
enableSorting: true,
|
|
889
890
|
fixedHeight: true,
|
|
890
891
|
allowRowClick: false,
|
|
891
892
|
columns: customizedColumns,
|
|
@@ -905,9 +906,8 @@ var TeamMembers = function TeamMembers(_ref) {
|
|
|
905
906
|
}),
|
|
906
907
|
setBulkSelectedAllRows: setHasBulkSelectedAllRows
|
|
907
908
|
},
|
|
908
|
-
onColumnHide: function onColumnHide(
|
|
909
|
-
|
|
910
|
-
return hideColumn(key);
|
|
909
|
+
onColumnHide: function onColumnHide(columnId) {
|
|
910
|
+
return hideColumn(columnId);
|
|
911
911
|
},
|
|
912
912
|
onPageChange: v2_ManageMember.handlePageChange(setFilters, history),
|
|
913
913
|
onRowSelect: handleRowSelect
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TeamMembers.js","sources":["../../../app/javascript/src/components/v2/hooks/useFilters.js","../../../app/javascript/src/components/v2/hooks/useTeams.js","../../../app/javascript/src/components/v2/TeamMembers/ActionBlock/constants.js","../../../app/javascript/src/components/v2/TeamMembers/ActionBlock/Header.jsx","../../../app/javascript/src/components/v2/TeamMembers/ActionBlock/utils.js","../../../app/javascript/src/components/v2/TeamMembers/ActionBlock/RolesDropdown.jsx","../../../app/javascript/src/components/v2/TeamMembers/ActionBlock/SubHeader.jsx","../../../app/javascript/src/components/v2/TeamMembers/ExportPane/constants.js","../../../app/javascript/src/components/v2/TeamMembers/ExportPane/index.jsx","../../../app/javascript/src/components/v2/TeamMembers/Header.jsx","../../../app/javascript/src/components/v2/TeamMembers/index.jsx"],"sourcesContent":["import { useMemo, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport {\n useDebounce,\n useFuncDebounce,\n useQueryParams,\n} from \"neetocommons/react-utils\";\nimport { buildFiltersFromURL } from \"neetofilters/v2\";\nimport { isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchFilterOptions } from \"v2/hooks/teams/useTeamsApi\";\n\nimport { DEFAULT_FILTER_VALUES } from \"../TeamMembers/constants\";\nimport {\n buildFilterColumns,\n defaultNeetoFiltersColumns,\n} from \"../TeamMembers/utils\";\n\nconst useFilters = ({ config }) => {\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n const searchKeywordProps = {\n node: \"first_name,last_name,email\",\n value: searchTerm,\n key: \"search_term\",\n };\n\n const [emailSearchTerm, setEmailSearchTerm] = useState(\"\");\n const defaultNeetoFilters = buildFiltersFromURL([\n ...(config?.filterColumns ?? defaultNeetoFiltersColumns()),\n searchKeywordProps,\n ]);\n\n const [filters, setFilters] = useState({\n ...DEFAULT_FILTER_VALUES,\n ...config?.defaultFilterValues,\n neetoFilters: defaultNeetoFilters,\n });\n\n const resetPage = useFuncDebounce(() =>\n setFilters(mergeLeft({ page: DEFAULT_PAGE_INDEX }))\n );\n const debouncedEmailSearchTerm = useDebounce(emailSearchTerm, 750);\n\n const shouldFetchFilterOptions = isNil(config?.filterColumns);\n const { data: filterOptions = {}, isLoading: isFilterOptionsLoading } =\n useFetchFilterOptions({\n params: { emailSearchTerm: debouncedEmailSearchTerm },\n options: { enabled: shouldFetchFilterOptions },\n });\n\n const filterColumns = shouldFetchFilterOptions\n ? buildFilterColumns({\n options: filterOptions,\n emailConfig: {\n setSearchTerm: setEmailSearchTerm,\n isLoading: isFilterOptionsLoading,\n },\n })\n : config?.filterColumns;\n\n const searchProps = useMemo(\n () => ({\n \"data-testid\": \"ntm-search-members-input\",\n placeholder: t(\"neetoTeamMembers.common.search_\", {\n what: taxonomies.member.plural,\n }),\n onChange: resetPage,\n }),\n []\n );\n\n return {\n filters,\n setFilters,\n filterColumns,\n searchProps,\n searchKeywordProps,\n };\n};\n\nexport default useFilters;\n","import { useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { assoc, mergeLeft, pluck } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n DEFAULT_IS_OPEN_VALUES,\n DEFAULT_SELECTED_ROWS,\n} from \"../TeamMembers/constants\";\nimport { handlePageChange } from \"../TeamMembers/utils\";\n\nconst useTeams = ({ config, filters, setFilters, updateMember }) => {\n const history = useHistory();\n const [selectedMember, setSelectedMember] = useState(null);\n const [isOpen, setIsOpen] = useState(DEFAULT_IS_OPEN_VALUES);\n const [selectedRows, setSelectedRows] = useState(DEFAULT_SELECTED_ROWS);\n\n const handleRemoveMember = () => {\n if (!selectedMember) return;\n\n const { id } = selectedMember;\n const payload = { active: false };\n updateMember({ id, payload });\n };\n\n const handleUpdateStatus = user => {\n setSelectedMember(user);\n setIsOpen(assoc(\"alert\", true));\n };\n\n const handleUpdateRole = user => {\n setSelectedMember(user);\n setIsOpen(assoc(\"manageMember\", true));\n };\n\n const handleAlertClose = () => {\n setIsOpen(assoc(\"alert\", false));\n setSelectedMember(null);\n };\n\n const handlePaneClose = () => {\n setIsOpen(assoc(\"manageMember\", false));\n setSelectedMember(null);\n };\n\n const resetSelectedRows = () => setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n const handleMemberFilterChange = () => {\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n );\n };\n\n const handleTableChange = (_, __, sorter) => {\n setFilters(mergeLeft({ sortBy: sorter.field, orderBy: sorter.order }));\n };\n\n const handleRowSelect = (keys, rowData) => {\n const rows = {\n active: pluck(\"active\", rowData),\n displayNames: pluck(\"displayName\", rowData),\n emails: pluck(\"email\", rowData),\n keys,\n };\n setSelectedRows({ ...rows });\n config?.table?.onRowSelect?.({ rows, resetSelectedRows, rowData });\n };\n\n return {\n handleAlertClose,\n handleMemberFilterChange,\n handlePaneClose,\n handleRowSelect,\n handleTableChange,\n handleRemoveMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n };\n};\n\nexport default useTeams;\n","import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\n\nexport const FIXED_COLUMNS = [\"name\", \"actions\"];\n\nexport const MANAGE_ROLES_BUTTON_LABEL = t(\n \"neetoTeamMembers.labels.manageRole\",\n PLURAL\n);\n","import { memo } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MANAGE_ROLES_BUTTON_LABEL } from \"./constants\";\n\nconst Header = ({\n isCreatePermissionGranted,\n otherActionBlock,\n onClick = noop,\n rolesButtonProps,\n}) => {\n const { t } = useTranslation();\n\n const isRolesButtonVisible = !!rolesButtonProps;\n const isOtherActionBlockVisible = !!otherActionBlock;\n\n return (\n <>\n {isOtherActionBlockVisible && otherActionBlock()}\n {isRolesButtonVisible ? (\n <Button\n data-testid=\"ntm-manage-roles-button\"\n variant=\"outline\"\n {...rolesButtonProps}\n >\n {MANAGE_ROLES_BUTTON_LABEL}\n </Button>\n ) : null}\n <Tooltip\n content={\n !isCreatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToAddMember\")\n : null\n }\n >\n <span>\n <Button\n {...{ onClick }}\n data-testid=\"ntm-add-member-button\"\n disabled={!isCreatePermissionGranted}\n >\n {t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.member.singular,\n })}\n </Button>\n </span>\n </Tooltip>\n </>\n );\n};\n\nexport default memo(Header);\n","import { filter, includes, toLower, trim } from \"ramda\";\n\nexport const filterBySearchTerm = (searchTerm, roles) =>\n filter(\n ({ name }) => includes(trim(toLower(searchTerm)), trim(toLower(name))),\n roles\n );\n\nexport const getDeactivatedButtonVisible = (selectedRows, config) =>\n selectedRows.active.some(active => active === true) &&\n !config?.hiddenBulkActions?.includes(\"remove\");\n","import { useState } from \"react\";\n\nimport {\n DropdownMenu,\n Input,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, hyphenate } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { filterBySearchTerm } from \"./utils\";\n\nconst RolesDropdown = ({\n disabled = false,\n hasUpdatePermission,\n isSearchable = false,\n roles = [],\n selectedMembersCount = 0,\n setAlertType,\n setBulkUpdateRole,\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const filteredRoles = filterBySearchTerm(searchTerm, roles);\n const isUpdatingAllowed = hasUpdatePermission && !disabled;\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const handleSelectRole = role => {\n setBulkUpdateRole(role);\n setAlertType(\"role\");\n };\n\n return (\n <Tooltip\n content={\n !isUpdatingAllowed\n ? t(\"neetoTeamMembers.tooltips.activateUserToEdit\", {\n count: selectedMembersCount,\n })\n : null\n }\n >\n <span>\n <DropdownMenu.SubMenu\n contentProps={{ align: \"end\" }}\n label={t(\"neetoTeamMembers.buttons.changeRole\")}\n triggerProps={{ disabled: !isUpdatingAllowed }}\n >\n {isSearchable && (\n <div className=\"px-3 py-2\" onClick={e => e.stopPropagation()}>\n <div className=\"relative\">\n <Search className=\"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n className=\"ps-8\"\n data-testid=\"ntm-members-roles-search-input\"\n type=\"search\"\n value={searchTerm}\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchRole\",\n PLURAL\n )}\n onChange={handleSearch}\n />\n </div>\n </div>\n )}\n {isNotEmpty(filteredRoles) ? (\n filteredRoles.map(({ id, name }) => (\n <DropdownMenu.MenuItem key={id}>\n <DropdownMenu.MenuItem.Button\n data-testid={`change-role-${hyphenate(name)}-button`}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </DropdownMenu.MenuItem.Button>\n </DropdownMenu.MenuItem>\n ))\n ) : (\n <div className=\"flex justify-center p-1\">\n <Typography className=\"text-muted-foreground text-sm\">\n {t(\"neetoTeamMembers.helpers.noRolesFound\")}\n </Typography>\n </div>\n )}\n </DropdownMenu.SubMenu>\n </span>\n </Tooltip>\n );\n};\n\nexport default RolesDropdown;\n","import { useState } from \"react\";\n\nimport {\n Alert,\n DropdownMenu,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { findBy, isNotEmpty } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { withT } from \"neetocommons/react-utils\";\nimport SubHeaderMolecule from \"neetomolecules/v2/SubHeader\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useBulkUpdateMembers } from \"v2/hooks/teams/useTeamsApi\";\n\nimport { FIXED_COLUMNS } from \"./constants\";\nimport RolesDropdown from \"./RolesDropdown\";\nimport { getDeactivatedButtonVisible } from \"./utils\";\n\nimport { TABLE_KEYS } from \"../../constants\";\nimport { DEFAULT_SELECTED_ROWS } from \"../constants\";\n\nconst Left = ({\n config,\n filteredCount,\n resetToFirstPage,\n roles,\n selectedRows,\n setSelectedRows,\n selectedRowsCount,\n bulkParams,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [alertType, setAlertType] = useState(\"\");\n const [bulkUpdateRole, setBulkUpdateRole] = useState(\"\");\n const hasSelectedRows = isNotEmpty(selectedRows?.keys);\n\n const selectedMembersCountValues = {\n count:\n (selectedRowsCount || selectedRows?.keys?.length || filteredCount) ?? 0,\n metaName:\n hasSelectedRows && selectedRows?.keys.length > 1\n ? taxonomies.member.plural\n : taxonomies.member.singular,\n totalCount: filteredCount ?? 0,\n };\n\n const hasDeactivateMembers = selectedRows?.active?.some(active => !active);\n\n const { mutate: bulkUpdateMember } = useBulkUpdateMembers({\n onSuccess: () => {\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n resetToFirstPage();\n config?.bulkUpdateMembers?.onSuccess?.callback();\n },\n });\n\n const handleDeactivateMembers = () => {\n bulkUpdateMember({\n users: { active: false, emails: selectedRows?.emails },\n filterParams: bulkParams,\n });\n };\n\n const resetSelectedRows = () => setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n const handleRoleChange = role => {\n bulkUpdateMember({\n users: {\n active: true,\n emails: selectedRows?.emails,\n organization_role: role,\n },\n filterParams: bulkParams,\n });\n };\n\n const alertTypes = [\n {\n message: \"neetoTeamMembers.alerts.messages.removeMember\",\n onSubmit: handleDeactivateMembers,\n title: t(\"neetoTeamMembers.common.remove_\", {\n what: selectedMembersCountValues?.metaName,\n }),\n type: \"remove\",\n },\n {\n message: \"neetoTeamMembers.alerts.messages.changeRole\",\n onSubmit: handleRoleChange,\n title: t(\"neetoTeamMembers.common.changeRole\"),\n type: \"role\",\n },\n ];\n\n const selectedAlert = findBy({ type: alertType }, alertTypes);\n\n const handleAlertClose = () => {\n selectedAlert.onSubmit(bulkUpdateRole);\n setAlertType(\"\");\n };\n\n const getButtonLabel = type => {\n if (type === \"role\") {\n return t(\"neetoTeamMembers.buttons.changeRole\");\n }\n\n return t(\"neetoTeamMembers.buttons.remove\");\n };\n\n return (\n <div className=\"flex items-center gap-4\">\n <Typography data-testid=\"ntm-filtered-members-count\">\n <Trans\n components={{ span: <span className=\"text-muted-foreground\" /> }}\n values={selectedMembersCountValues}\n i18nKey={\n hasSelectedRows\n ? \"neetoTeamMembers.helpers.selectedMembersCount\"\n : \"neetoTeamMembers.helpers.metaNameWithCount\"\n }\n />\n </Typography>\n {hasSelectedRows && (\n <Tooltip\n content={\n !isUpdatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToEditMembers\")\n : null\n }\n >\n <span>\n <DropdownMenu\n buttonStyle=\"tertiary\"\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.common.takeAction\")}\n buttonProps={{\n \"data-testid\": \"ntm-members-take-action-dropdown-button\",\n }}\n >\n {!config?.hiddenBulkActions?.includes(\"role\") && (\n <RolesDropdown\n {...{ roles, setAlertType, setBulkUpdateRole }}\n disabled={hasDeactivateMembers}\n hasUpdatePermission={isUpdatePermissionGranted}\n selectedMembersCount={selectedMembersCountValues?.count}\n />\n )}\n {config?.otherBulkActions?.(resetSelectedRows, selectedRows)}\n {getDeactivatedButtonVisible(selectedRows, config) && (\n <DropdownMenu.MenuItem>\n <DropdownMenu.MenuItem.Button\n data-testid=\"ntm-deactivate-members-button\"\n isDisabled={!isUpdatePermissionGranted}\n onClick={() => setAlertType(\"remove\")}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenu.MenuItem.Button>\n </DropdownMenu.MenuItem>\n )}\n </DropdownMenu>\n </span>\n </Tooltip>\n )}\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={!!selectedAlert}\n submitButtonLabel={getButtonLabel(selectedAlert?.type)}\n title={selectedAlert?.title}\n message={\n <Trans\n i18nKey={selectedAlert?.message}\n values={{\n ...selectedMembersCountValues,\n person: selectedRows.displayNames[0],\n role: bulkUpdateRole,\n }}\n />\n }\n onClose={() => setAlertType(\"\")}\n onSubmit={handleAlertClose}\n />\n </div>\n );\n};\n\nconst Right = withT(\n ({\n t,\n columns,\n filterColumns,\n handleNeetoFilterChange,\n isFiltersPaneOpen,\n searchKeywordProps,\n setIsDownloadPaneOpen,\n setIsFiltersPaneOpen,\n }) => (\n <SubHeaderMolecule.RightBlock\n columnsButtonProps={{\n columnData: columns,\n fixedColumns: FIXED_COLUMNS,\n tableKey: TABLE_KEYS.TEAM_MEMBERS_TABLE,\n noColumnMessage: t(\"neetoTeamMembers.columns.noColumnsFound\"),\n searchProps: { placeholder: t(\"neetoTeamMembers.columns.search\") },\n }}\n downloadButtonProps={{\n isVisible: true,\n tooltipProps: { content: t(\"neetoTeamMembers.buttons.export\") },\n onClick: () => setIsDownloadPaneOpen(true),\n }}\n filterProps={{\n columns: filterColumns,\n isOpen: isFiltersPaneOpen,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleNeetoFilterChange,\n keyword: searchKeywordProps,\n }}\n />\n )\n);\n\nconst SubHeader = { Left, Right };\n\nexport default SubHeader;\n","import { t } from \"i18next\";\n\nconst EXPORT_TYPES = { PDF: \"pdf\", CSV: \"csv\", EXCEL: \"xlsx\" };\n\nexport const DEFAULT_EXPORT_OPTIONS = {\n exportType: EXPORT_TYPES.EXCEL,\n};\n\nexport const EXPORT_OPTIONS = [\n {\n type: EXPORT_TYPES.EXCEL,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.xlsx\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.xlsx\"),\n }),\n dataTestid: \"download-as-excel-radio-item\",\n },\n {\n type: EXPORT_TYPES.CSV,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.csv\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.csv\"),\n }),\n dataTestid: \"download-as-csv-radio-item\",\n },\n {\n type: EXPORT_TYPES.PDF,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.pdf\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.pdf\"),\n }),\n dataTestid: \"download-as-pdf-radio-item\",\n },\n];\n","import { useState } from \"react\";\n\nimport { Button, RadioGroup, Sheet, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { useExportMembers } from \"v2/hooks/teams/useTeamsApi\";\n\nimport { DEFAULT_EXPORT_OPTIONS, EXPORT_OPTIONS } from \"./constants\";\n\nimport { EVENTS } from \"../../constants\";\n\nconst ExportPane = ({\n isOpen,\n onClose,\n appliedFilters,\n hasBulkSelectedAllRows,\n selectedMemberIds,\n selectedRowsCount,\n}) => {\n const [exportOptions, setExportOptions] = useState(DEFAULT_EXPORT_OPTIONS);\n\n const { t } = useTranslation();\n\n const setExportOption = options => setExportOptions(mergeLeft(options));\n\n const { exportType } = exportOptions;\n\n const getParams = () => ({\n ...exportOptions,\n filters: appliedFilters || undefined,\n considerAllMembers: hasBulkSelectedAllRows,\n memberIds: hasBulkSelectedAllRows ? undefined : selectedMemberIds,\n });\n\n const { mutate: exportMembers } = useExportMembers({\n onSuccess: () => {\n onClose();\n setExportOptions(DEFAULT_EXPORT_OPTIONS);\n\n toast.success(\n <Trans\n i18nKey=\"toastr.success.exportMembers\"\n values={{ email: globalProps.user?.email }}\n />\n );\n\n captureAnalyticsEvent(EVENTS.TEAM_MEMBERS_DOWNLOADED, {\n ...exportOptions,\n });\n },\n onError: error => toast.error(error.message),\n });\n\n const description =\n isNotEmpty(selectedMemberIds) || hasBulkSelectedAllRows\n ? t(\"neetoTeamMembers.exportPane.description.selectedMembers\", {\n count: selectedRowsCount,\n })\n : t(\"neetoTeamMembers.exportPane.description.allMembers\");\n\n return (\n <Sheet {...{ isOpen, onClose }}>\n <Sheet.Header>\n <Sheet.Title data-testid=\"export-member-heading\">\n {t(\"neetoTeamMembers.exportPane.title\")}\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <div className=\"space-y-4\">\n <Typography className=\"text-sm\">{description}</Typography>\n <RadioGroup\n value={exportType}\n onValueChange={type => setExportOption({ exportType: type })}\n >\n {EXPORT_OPTIONS.map(({ type, bulkExportLabel, dataTestid }) => (\n <RadioGroup.Item\n data-testid={dataTestid}\n id={type}\n key={type}\n label={bulkExportLabel}\n value={type}\n />\n ))}\n </RadioGroup>\n </div>\n </Sheet.Body>\n <Sheet.Footer className=\"gap-x-2\">\n <Button\n data-testid=\"export-submit-button\"\n onClick={() => exportMembers({ export: getParams() })}\n >\n {t(\"neetoTeamMembers.buttons.export\")}\n </Button>\n <Button\n data-testid=\"export-cancel-button\"\n variant=\"ghost\"\n onClick={onClose}\n >\n {t(\"neetoTeamMembers.buttons.cancel\")}\n </Button>\n </Sheet.Footer>\n </Sheet>\n );\n};\n\nexport default ExportPane;\n","import { memo } from \"react\";\n\nimport { taxonomies } from \"neetocommons/initializers\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\nimport { assoc } from \"ramda\";\n\nimport { Header as HeaderActionBlock } from \"./ActionBlock\";\n\nconst Header = ({ config, setIsOpen, searchProps }) => (\n <NeetoHeader\n {...{ searchProps }}\n title={taxonomies.member.plural}\n actionBlock={\n <HeaderActionBlock\n isCreatePermissionGranted={config.permissions.create}\n otherActionBlock={config.header?.otherActionBlock}\n rolesButtonProps={config.rolesButtonProps}\n onClick={() => setIsOpen(assoc(\"manageMember\", true))}\n />\n }\n {...config?.header?.otherProps}\n />\n);\n\nexport default memo(Header);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport {\n Alert,\n Button,\n Empty,\n Spinner,\n DataTable,\n} from \"@bigbinary/neeto-atoms\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport {\n withTitle,\n useBreakpoints,\n useQueryParams,\n} from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Bar as FiltersBar } from \"neetofilters/v2\";\nimport { useTableConfigurations } from \"neetomolecules/v2/Columns\";\nimport Container from \"neetomolecules/v2/Container\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\nimport { assoc, mergeLeft, reverse } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport withReactQuery from \"v2/common/withReactQuery\";\nimport { useFetchRoles } from \"v2/hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"v2/hooks/teams/useTeamsApi\";\nimport useFilters from \"v2/hooks/useFilters\";\nimport useTeams from \"v2/hooks/useTeams\";\n\nimport { SubHeader as SubHeaderActionBlock } from \"./ActionBlock\";\nimport { DEFAULT_RADIX, DEFAULT_SELECTED_ROWS } from \"./constants\";\nimport ExportPane from \"./ExportPane\";\nimport Header from \"./Header\";\nimport ManageMember from \"./ManageMember\";\nimport {\n generateNoDataContent,\n getColumnData,\n getFilteredRoles,\n handlePageChange,\n renderUpdateAlert,\n} from \"./utils\";\n\nimport { TABLE_KEYS } from \"../constants\";\n\nconst TeamMembers = ({ config }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { isSize } = useBreakpoints();\n const queryParams = useQueryParams();\n\n const isViewPermissionGranted = config.permissions.view;\n const isCreatePermissionGranted = config.permissions.create;\n\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [isDownloadPaneOpen, setIsDownloadPaneOpen] = useState(false);\n const [hasBulkSelectedAllRows, setHasBulkSelectedAllRows] = useState(false);\n\n useEffect(() => {\n handleMemberFilterChange();\n }, []);\n\n const {\n filters,\n setFilters,\n filterColumns,\n searchProps,\n searchKeywordProps,\n } = useFilters({ config });\n\n const {\n data: team,\n isLoading: isMembersLoading,\n isFetching: isMembersFetching,\n } = useFetchMembers({ ...filters }, { enabled: isViewPermissionGranted });\n\n const bulkParams = {\n neetoFilters: filters[\"neetoFilters\"],\n considerAllTeamMembers: hasBulkSelectedAllRows,\n };\n\n const { data: roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response => reverse(response?.organizationRoles ?? []),\n enabled: isViewPermissionGranted,\n });\n\n const { mutate: updateMember, isPending: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleAlertClose();\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n );\n config?.updateMember?.onSuccess?.callback();\n },\n }\n );\n\n const filteredRoles = getFilteredRoles(roles, config);\n\n const {\n handleAlertClose,\n handleMemberFilterChange,\n handlePaneClose,\n handleRowSelect,\n handleRemoveMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n } = useTeams({ config, filters, setFilters, updateMember });\n\n const selectedRowsCount = hasBulkSelectedAllRows\n ? team?.membersCount\n : selectedRows.keys.length;\n\n config?.fetchApiResponse?.({ team });\n\n const hasMembers = team?.activeUsersCount > 0;\n\n const updateMemberAlertProps = { member: selectedMember, config };\n\n config?.table?.onDropdownClick?.({ handleUpdateRole, handleUpdateStatus });\n\n const columns = useMemo(\n () =>\n getColumnData({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n isSize,\n }),\n [config.table?.dropdownProps] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(TABLE_KEYS.TEAM_MEMBERS_TABLE, columns);\n\n const handleNeetoFilterChange = filters => {\n setFilters(mergeLeft({ neetoFilters: filters, page: DEFAULT_PAGE_INDEX }));\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page: DEFAULT_PAGE_INDEX }, queryParams)\n )\n );\n };\n\n const { noDataTitle, noDataButtonProps } = generateNoDataContent({\n buttonProps: {\n onClick: () => setIsOpen(assoc(\"manageMember\", true)),\n disabled: !isCreatePermissionGranted,\n },\n });\n\n if (isRolesLoading || isMembersLoading) {\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 <Container>\n <Header\n {...{ config, setIsOpen }}\n searchProps={hasMembers ? searchProps : null}\n />\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n hasMembers && (\n <SubHeaderActionBlock.Left\n {...{\n bulkParams,\n config,\n selectedRows,\n selectedRowsCount,\n setSelectedRows,\n }}\n filteredCount={team?.membersCount}\n roles={filteredRoles}\n resetToFirstPage={() =>\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n )\n }\n />\n )\n }\n rightActionBlock={\n hasMembers && (\n <SubHeaderActionBlock.Right\n {...{\n columns,\n filterColumns,\n handleNeetoFilterChange,\n isFiltersPaneOpen,\n searchKeywordProps,\n setIsDownloadPaneOpen,\n setIsFiltersPaneOpen,\n }}\n />\n )\n }\n />\n <FiltersBar\n className=\"mb-4\"\n columns={filterColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFiltersPaneOpen}\n onChange={handleNeetoFilterChange}\n />\n <ExportPane\n {...{ hasBulkSelectedAllRows, selectedRowsCount }}\n appliedFilters={filters}\n isOpen={isDownloadPaneOpen}\n selectedMemberIds={selectedRows.keys}\n onClose={() => setIsDownloadPaneOpen(false)}\n />\n {team?.membersCount !== 0 ? (\n <DataTable\n fixedHeight\n allowRowClick={false}\n columns={customizedColumns}\n currentPage={parseInt(filters.page, DEFAULT_RADIX)}\n data={team?.members || []}\n data-testid=\"ntm-members-table\"\n loading={isMembersFetching || isTableConfigurationLoading}\n pageSize={filters.pageSize ?? DEFAULT_PAGE_SIZE}\n selectedRowKeys={selectedRows.keys}\n totalCount={team?.membersCount}\n bulkSelectAllRowsProps={{\n selectAllRowMessage: t(\n \"neetoTeamMembers.helpers.selectedMembers\",\n { count: selectedRowsCount }\n ),\n selectAllRowButtonLabel: t(\"neetoTeamMembers.helpers.selectAll\", {\n count: team?.membersCount,\n }),\n setBulkSelectedAllRows: setHasBulkSelectedAllRows,\n }}\n onColumnHide={({ key }) => hideColumn(key)}\n onPageChange={handlePageChange(setFilters, history)}\n onRowSelect={handleRowSelect}\n />\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Empty title={noDataTitle}>\n <Button\n data-testid={noDataButtonProps[\"data-testid\"]}\n disabled={noDataButtonProps.disabled}\n onClick={noDataButtonProps.onClick}\n >\n {noDataButtonProps.label}\n </Button>\n </Empty>\n </div>\n )}\n </Container>\n <ManageMember\n {...{ config, selectedMember }}\n componentConfig={{ isOpen: isOpen.manageMember }}\n roles={filteredRoles}\n onComplete={handlePaneClose}\n />\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={isOpen.alert}\n isSubmitting={isUpdatingMember}\n message={renderUpdateAlert(\"message\", updateMemberAlertProps)}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.remove\")}\n title={renderUpdateAlert(\"title\", updateMemberAlertProps)}\n onClose={handleAlertClose}\n onSubmit={handleRemoveMember}\n />\n </>\n );\n};\n\nexport default withTitle(withReactQuery(TeamMembers), taxonomies.member.plural);\n"],"names":["useFilters","_ref","_config$filterColumns","config","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","searchKeywordProps","node","value","key","_useState","useState","_useState2","_slicedToArray","emailSearchTerm","setEmailSearchTerm","defaultNeetoFilters","buildFiltersFromURL","concat","_toConsumableArray","filterColumns","defaultNeetoFiltersColumns","_useState3","_objectSpread","DEFAULT_FILTER_VALUES","defaultFilterValues","neetoFilters","_useState4","filters","setFilters","resetPage","useFuncDebounce","mergeLeft","page","DEFAULT_PAGE_INDEX","debouncedEmailSearchTerm","useDebounce","shouldFetchFilterOptions","isNil","_useFetchFilterOption","useFetchFilterOptions","params","options","enabled","_useFetchFilterOption2","data","filterOptions","isFilterOptionsLoading","isLoading","buildFilterColumns","emailConfig","setSearchTerm","searchProps","useMemo","placeholder","what","taxonomies","member","plural","onChange","useTeams","updateMember","history","useHistory","selectedMember","setSelectedMember","DEFAULT_IS_OPEN_VALUES","isOpen","setIsOpen","_useState5","DEFAULT_SELECTED_ROWS","_useState6","selectedRows","setSelectedRows","handleRemoveMember","id","payload","active","handleUpdateStatus","user","assoc","handleUpdateRole","handleAlertClose","handlePaneClose","resetSelectedRows","handleMemberFilterChange","_filters$pageSize","handlePageChange","pageSize","DEFAULT_PAGE_SIZE","handleTableChange","_","__","sorter","sortBy","field","orderBy","order","handleRowSelect","keys","rowData","_config$table","_config$table$onRowSe","rows","pluck","displayNames","emails","table","onRowSelect","call","FIXED_COLUMNS","MANAGE_ROLES_BUTTON_LABEL","PLURAL","Header","isCreatePermissionGranted","otherActionBlock","_ref$onClick","onClick","noop","rolesButtonProps","isRolesButtonVisible","isOtherActionBlockVisible","_jsxs","_Fragment","children","_jsx","Button","variant","Tooltip","content","disabled","singular","memo","filterBySearchTerm","roles","filter","name","includes","trim","toLower","getDeactivatedButtonVisible","_config$hiddenBulkAct","some","hiddenBulkActions","RolesDropdown","_ref$disabled","hasUpdatePermission","_ref$isSearchable","isSearchable","_ref$roles","_ref$selectedMembersC","selectedMembersCount","setAlertType","setBulkUpdateRole","filteredRoles","isUpdatingAllowed","handleSearch","_ref2","target","handleSelectRole","role","count","DropdownMenu","SubMenu","contentProps","align","label","triggerProps","className","e","stopPropagation","Search","Input","type","isNotEmpty","map","_ref3","MenuItem","hyphenate","Typography","Left","_selectedRows$keys","_selectedRows$active","_config$otherBulkActi","filteredCount","resetToFirstPage","selectedRowsCount","bulkParams","isUpdatePermissionGranted","permissions","update","alertType","bulkUpdateRole","hasSelectedRows","selectedMembersCountValues","length","metaName","totalCount","hasDeactivateMembers","_useBulkUpdateMembers","useBulkUpdateMembers","onSuccess","_config$bulkUpdateMem","bulkUpdateMembers","callback","bulkUpdateMember","mutate","handleDeactivateMembers","users","filterParams","handleRoleChange","organization_role","alertTypes","message","onSubmit","title","selectedAlert","findBy","getButtonLabel","Trans","components","span","values","i18nKey","buttonStyle","buttonProps","otherBulkActions","isDisabled","Alert","cancelButtonLabel","submitButtonLabel","person","onClose","Right","withT","columns","handleNeetoFilterChange","isFiltersPaneOpen","setIsDownloadPaneOpen","setIsFiltersPaneOpen","SubHeaderMolecule","RightBlock","columnsButtonProps","columnData","fixedColumns","tableKey","TABLE_KEYS","TEAM_MEMBERS_TABLE","noColumnMessage","downloadButtonProps","isVisible","tooltipProps","filterProps","keyword","SubHeader","EXPORT_TYPES","PDF","CSV","EXCEL","DEFAULT_EXPORT_OPTIONS","exportType","EXPORT_OPTIONS","individualExportLabel","bulkExportLabel","format","dataTestid","ExportPane","appliedFilters","hasBulkSelectedAllRows","selectedMemberIds","exportOptions","setExportOptions","setExportOption","getParams","undefined","considerAllMembers","memberIds","_useExportMembers","useExportMembers","_globalProps$user","toast","success","email","globalProps","captureAnalyticsEvent","EVENTS","TEAM_MEMBERS_DOWNLOADED","onError","error","exportMembers","description","Sheet","Title","Body","RadioGroup","onValueChange","Item","Footer","_config$header","_config$header2","NeetoHeader","actionBlock","HeaderActionBlock","create","header","otherProps","TeamMembers","_config$fetchApiRespo","_config$table$onDropd","_config$table2","_filters$pageSize3","_useBreakpoints","useBreakpoints","isSize","queryParams","isViewPermissionGranted","view","isDownloadPaneOpen","setHasBulkSelectedAllRows","useEffect","_useFilters","_useFetchMembers","useFetchMembers","team","isMembersLoading","isMembersFetching","isFetching","considerAllTeamMembers","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","isRolesLoading","_useUpdateMember","useUpdateMember","_config$updateMember","isUpdatingMember","isPending","getFilteredRoles","_useTeams","membersCount","fetchApiResponse","hasMembers","activeUsersCount","updateMemberAlertProps","onDropdownClick","getColumnData","dropdownProps","_useTableConfiguratio","useTableConfigurations","isTableConfigurationLoading","customizedColumns","hideColumn","push","buildUrl","window","location","pathname","_generateNoDataConten","generateNoDataContent","noDataTitle","noDataButtonProps","Spinner","Container","leftActionBlock","SubHeaderActionBlock","_filters$pageSize2","rightActionBlock","FiltersBar","setIsPaneOpen","DataTable","fixedHeight","allowRowClick","currentPage","parseInt","DEFAULT_RADIX","members","loading","selectedRowKeys","bulkSelectAllRowsProps","selectAllRowMessage","selectAllRowButtonLabel","setBulkSelectedAllRows","onColumnHide","onPageChange","Empty","ManageMember","componentConfig","manageMember","onComplete","alert","isSubmitting","renderUpdateAlert","withTitle","withReactQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TeamMembers.js","sources":["../../../app/javascript/src/components/v2/hooks/useFilters.js","../../../app/javascript/src/components/v2/hooks/useTeams.js","../../../app/javascript/src/components/v2/TeamMembers/ActionBlock/constants.js","../../../app/javascript/src/components/v2/TeamMembers/ActionBlock/Header.jsx","../../../app/javascript/src/components/v2/TeamMembers/ActionBlock/utils.js","../../../app/javascript/src/components/v2/TeamMembers/ActionBlock/RolesDropdown.jsx","../../../app/javascript/src/components/v2/TeamMembers/ActionBlock/SubHeader.jsx","../../../app/javascript/src/components/v2/TeamMembers/ExportPane/constants.js","../../../app/javascript/src/components/v2/TeamMembers/ExportPane/index.jsx","../../../app/javascript/src/components/v2/TeamMembers/Header.jsx","../../../app/javascript/src/components/v2/TeamMembers/index.jsx"],"sourcesContent":["import { useMemo, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport {\n useDebounce,\n useFuncDebounce,\n useQueryParams,\n} from \"neetocommons/react-utils\";\nimport { buildFiltersFromURL } from \"neetofilters/v2\";\nimport { isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchFilterOptions } from \"v2/hooks/teams/useTeamsApi\";\n\nimport { DEFAULT_FILTER_VALUES } from \"../TeamMembers/constants\";\nimport {\n buildFilterColumns,\n defaultNeetoFiltersColumns,\n} from \"../TeamMembers/utils\";\n\nconst useFilters = ({ config }) => {\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n const searchKeywordProps = {\n node: \"first_name,last_name,email\",\n value: searchTerm,\n key: \"search_term\",\n };\n\n const [emailSearchTerm, setEmailSearchTerm] = useState(\"\");\n const defaultNeetoFilters = buildFiltersFromURL([\n ...(config?.filterColumns ?? defaultNeetoFiltersColumns()),\n searchKeywordProps,\n ]);\n\n const [filters, setFilters] = useState({\n ...DEFAULT_FILTER_VALUES,\n ...config?.defaultFilterValues,\n neetoFilters: defaultNeetoFilters,\n });\n\n const resetPage = useFuncDebounce(() =>\n setFilters(mergeLeft({ page: DEFAULT_PAGE_INDEX }))\n );\n const debouncedEmailSearchTerm = useDebounce(emailSearchTerm, 750);\n\n const shouldFetchFilterOptions = isNil(config?.filterColumns);\n const { data: filterOptions = {}, isLoading: isFilterOptionsLoading } =\n useFetchFilterOptions({\n params: { emailSearchTerm: debouncedEmailSearchTerm },\n options: { enabled: shouldFetchFilterOptions },\n });\n\n const filterColumns = shouldFetchFilterOptions\n ? buildFilterColumns({\n options: filterOptions,\n emailConfig: {\n setSearchTerm: setEmailSearchTerm,\n isLoading: isFilterOptionsLoading,\n },\n })\n : config?.filterColumns;\n\n const searchProps = useMemo(\n () => ({\n \"data-testid\": \"ntm-search-members-input\",\n placeholder: t(\"neetoTeamMembers.common.search_\", {\n what: taxonomies.member.plural,\n }),\n onChange: resetPage,\n }),\n []\n );\n\n return {\n filters,\n setFilters,\n filterColumns,\n searchProps,\n searchKeywordProps,\n };\n};\n\nexport default useFilters;\n","import { useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { assoc, mergeLeft, pluck } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n DEFAULT_IS_OPEN_VALUES,\n DEFAULT_SELECTED_ROWS,\n} from \"../TeamMembers/constants\";\nimport { handlePageChange } from \"../TeamMembers/utils\";\n\nconst useTeams = ({ config, filters, setFilters, updateMember }) => {\n const history = useHistory();\n const [selectedMember, setSelectedMember] = useState(null);\n const [isOpen, setIsOpen] = useState(DEFAULT_IS_OPEN_VALUES);\n const [selectedRows, setSelectedRows] = useState(DEFAULT_SELECTED_ROWS);\n\n const handleRemoveMember = () => {\n if (!selectedMember) return;\n\n const { id } = selectedMember;\n const payload = { active: false };\n updateMember({ id, payload });\n };\n\n const handleUpdateStatus = user => {\n setSelectedMember(user);\n setIsOpen(assoc(\"alert\", true));\n };\n\n const handleUpdateRole = user => {\n setSelectedMember(user);\n setIsOpen(assoc(\"manageMember\", true));\n };\n\n const handleAlertClose = () => {\n setIsOpen(assoc(\"alert\", false));\n setSelectedMember(null);\n };\n\n const handlePaneClose = () => {\n setIsOpen(assoc(\"manageMember\", false));\n setSelectedMember(null);\n };\n\n const resetSelectedRows = () => setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n const handleMemberFilterChange = () => {\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n );\n };\n\n const handleTableChange = (_, __, sorter) => {\n setFilters(mergeLeft({ sortBy: sorter.field, orderBy: sorter.order }));\n };\n\n const handleRowSelect = (keys, rowData) => {\n const rows = {\n active: pluck(\"active\", rowData),\n displayNames: pluck(\"displayName\", rowData),\n emails: pluck(\"email\", rowData),\n keys,\n };\n setSelectedRows({ ...rows });\n config?.table?.onRowSelect?.({ rows, resetSelectedRows, rowData });\n };\n\n return {\n handleAlertClose,\n handleMemberFilterChange,\n handlePaneClose,\n handleRowSelect,\n handleTableChange,\n handleRemoveMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n };\n};\n\nexport default useTeams;\n","import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\n\nexport const FIXED_COLUMNS = [\"name\", \"actions\"];\n\nexport const MANAGE_ROLES_BUTTON_LABEL = t(\n \"neetoTeamMembers.labels.manageRole\",\n PLURAL\n);\n","import { memo } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MANAGE_ROLES_BUTTON_LABEL } from \"./constants\";\n\nconst Header = ({\n isCreatePermissionGranted,\n otherActionBlock,\n onClick = noop,\n rolesButtonProps,\n}) => {\n const { t } = useTranslation();\n\n const isRolesButtonVisible = !!rolesButtonProps;\n const isOtherActionBlockVisible = !!otherActionBlock;\n\n return (\n <>\n {isOtherActionBlockVisible && otherActionBlock()}\n {isRolesButtonVisible ? (\n <Button\n data-testid=\"ntm-manage-roles-button\"\n variant=\"outline\"\n {...rolesButtonProps}\n >\n {MANAGE_ROLES_BUTTON_LABEL}\n </Button>\n ) : null}\n <Tooltip\n content={\n !isCreatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToAddMember\")\n : null\n }\n >\n <span>\n <Button\n {...{ onClick }}\n data-testid=\"ntm-add-member-button\"\n disabled={!isCreatePermissionGranted}\n >\n {t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.member.singular,\n })}\n </Button>\n </span>\n </Tooltip>\n </>\n );\n};\n\nexport default memo(Header);\n","import { filter, includes, toLower, trim } from \"ramda\";\n\nexport const filterBySearchTerm = (searchTerm, roles) =>\n filter(\n ({ name }) => includes(trim(toLower(searchTerm)), trim(toLower(name))),\n roles\n );\n\nexport const getDeactivatedButtonVisible = (selectedRows, config) =>\n selectedRows.active.some(active => active === true) &&\n !config?.hiddenBulkActions?.includes(\"remove\");\n","import { useState } from \"react\";\n\nimport {\n DropdownMenu,\n Input,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, hyphenate } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { filterBySearchTerm } from \"./utils\";\n\nconst RolesDropdown = ({\n disabled = false,\n hasUpdatePermission,\n isSearchable = false,\n roles = [],\n selectedMembersCount = 0,\n setAlertType,\n setBulkUpdateRole,\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const filteredRoles = filterBySearchTerm(searchTerm, roles);\n const isUpdatingAllowed = hasUpdatePermission && !disabled;\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const handleSelectRole = role => {\n setBulkUpdateRole(role);\n setAlertType(\"role\");\n };\n\n return (\n <Tooltip\n content={\n !isUpdatingAllowed\n ? t(\"neetoTeamMembers.tooltips.activateUserToEdit\", {\n count: selectedMembersCount,\n })\n : null\n }\n >\n <span>\n <DropdownMenu.SubMenu\n contentProps={{ align: \"end\" }}\n label={t(\"neetoTeamMembers.buttons.changeRole\")}\n triggerProps={{ disabled: !isUpdatingAllowed }}\n >\n {isSearchable && (\n <div className=\"px-3 py-2\" onClick={e => e.stopPropagation()}>\n <div className=\"relative\">\n <Search className=\"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n className=\"ps-8\"\n data-testid=\"ntm-members-roles-search-input\"\n type=\"search\"\n value={searchTerm}\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchRole\",\n PLURAL\n )}\n onChange={handleSearch}\n />\n </div>\n </div>\n )}\n {isNotEmpty(filteredRoles) ? (\n filteredRoles.map(({ id, name }) => (\n <DropdownMenu.MenuItem key={id}>\n <DropdownMenu.MenuItem.Button\n data-testid={`change-role-${hyphenate(name)}-button`}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </DropdownMenu.MenuItem.Button>\n </DropdownMenu.MenuItem>\n ))\n ) : (\n <div className=\"flex justify-center p-1\">\n <Typography className=\"text-muted-foreground text-sm\">\n {t(\"neetoTeamMembers.helpers.noRolesFound\")}\n </Typography>\n </div>\n )}\n </DropdownMenu.SubMenu>\n </span>\n </Tooltip>\n );\n};\n\nexport default RolesDropdown;\n","import { useState } from \"react\";\n\nimport {\n Alert,\n DropdownMenu,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { findBy, isNotEmpty } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { withT } from \"neetocommons/react-utils\";\nimport SubHeaderMolecule from \"neetomolecules/v2/SubHeader\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useBulkUpdateMembers } from \"v2/hooks/teams/useTeamsApi\";\n\nimport { FIXED_COLUMNS } from \"./constants\";\nimport RolesDropdown from \"./RolesDropdown\";\nimport { getDeactivatedButtonVisible } from \"./utils\";\n\nimport { TABLE_KEYS } from \"../../constants\";\nimport { DEFAULT_SELECTED_ROWS } from \"../constants\";\n\nconst Left = ({\n config,\n filteredCount,\n resetToFirstPage,\n roles,\n selectedRows,\n setSelectedRows,\n selectedRowsCount,\n bulkParams,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [alertType, setAlertType] = useState(\"\");\n const [bulkUpdateRole, setBulkUpdateRole] = useState(\"\");\n const hasSelectedRows = isNotEmpty(selectedRows?.keys);\n\n const selectedMembersCountValues = {\n count:\n (selectedRowsCount || selectedRows?.keys?.length || filteredCount) ?? 0,\n metaName:\n hasSelectedRows && selectedRows?.keys.length > 1\n ? taxonomies.member.plural\n : taxonomies.member.singular,\n totalCount: filteredCount ?? 0,\n };\n\n const hasDeactivateMembers = selectedRows?.active?.some(active => !active);\n\n const { mutate: bulkUpdateMember } = useBulkUpdateMembers({\n onSuccess: () => {\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n resetToFirstPage();\n config?.bulkUpdateMembers?.onSuccess?.callback();\n },\n });\n\n const handleDeactivateMembers = () => {\n bulkUpdateMember({\n users: { active: false, emails: selectedRows?.emails },\n filterParams: bulkParams,\n });\n };\n\n const resetSelectedRows = () => setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n const handleRoleChange = role => {\n bulkUpdateMember({\n users: {\n active: true,\n emails: selectedRows?.emails,\n organization_role: role,\n },\n filterParams: bulkParams,\n });\n };\n\n const alertTypes = [\n {\n message: \"neetoTeamMembers.alerts.messages.removeMember\",\n onSubmit: handleDeactivateMembers,\n title: t(\"neetoTeamMembers.common.remove_\", {\n what: selectedMembersCountValues?.metaName,\n }),\n type: \"remove\",\n },\n {\n message: \"neetoTeamMembers.alerts.messages.changeRole\",\n onSubmit: handleRoleChange,\n title: t(\"neetoTeamMembers.common.changeRole\"),\n type: \"role\",\n },\n ];\n\n const selectedAlert = findBy({ type: alertType }, alertTypes);\n\n const handleAlertClose = () => {\n selectedAlert.onSubmit(bulkUpdateRole);\n setAlertType(\"\");\n };\n\n const getButtonLabel = type => {\n if (type === \"role\") {\n return t(\"neetoTeamMembers.buttons.changeRole\");\n }\n\n return t(\"neetoTeamMembers.buttons.remove\");\n };\n\n return (\n <div className=\"flex items-center gap-4\">\n <Typography data-testid=\"ntm-filtered-members-count\">\n <Trans\n components={{ span: <span className=\"text-muted-foreground\" /> }}\n values={selectedMembersCountValues}\n i18nKey={\n hasSelectedRows\n ? \"neetoTeamMembers.helpers.selectedMembersCount\"\n : \"neetoTeamMembers.helpers.metaNameWithCount\"\n }\n />\n </Typography>\n {hasSelectedRows && (\n <Tooltip\n content={\n !isUpdatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToEditMembers\")\n : null\n }\n >\n <span>\n <DropdownMenu\n buttonStyle=\"tertiary\"\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.common.takeAction\")}\n buttonProps={{\n \"data-testid\": \"ntm-members-take-action-dropdown-button\",\n }}\n >\n {!config?.hiddenBulkActions?.includes(\"role\") && (\n <RolesDropdown\n {...{ roles, setAlertType, setBulkUpdateRole }}\n disabled={hasDeactivateMembers}\n hasUpdatePermission={isUpdatePermissionGranted}\n selectedMembersCount={selectedMembersCountValues?.count}\n />\n )}\n {config?.otherBulkActions?.(resetSelectedRows, selectedRows)}\n {getDeactivatedButtonVisible(selectedRows, config) && (\n <DropdownMenu.MenuItem>\n <DropdownMenu.MenuItem.Button\n data-testid=\"ntm-deactivate-members-button\"\n isDisabled={!isUpdatePermissionGranted}\n onClick={() => setAlertType(\"remove\")}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenu.MenuItem.Button>\n </DropdownMenu.MenuItem>\n )}\n </DropdownMenu>\n </span>\n </Tooltip>\n )}\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={!!selectedAlert}\n submitButtonLabel={getButtonLabel(selectedAlert?.type)}\n title={selectedAlert?.title}\n message={\n <Trans\n i18nKey={selectedAlert?.message}\n values={{\n ...selectedMembersCountValues,\n person: selectedRows.displayNames[0],\n role: bulkUpdateRole,\n }}\n />\n }\n onClose={() => setAlertType(\"\")}\n onSubmit={handleAlertClose}\n />\n </div>\n );\n};\n\nconst Right = withT(\n ({\n t,\n columns,\n filterColumns,\n handleNeetoFilterChange,\n isFiltersPaneOpen,\n searchKeywordProps,\n setIsDownloadPaneOpen,\n setIsFiltersPaneOpen,\n }) => (\n <SubHeaderMolecule.RightBlock\n columnsButtonProps={{\n columnData: columns,\n fixedColumns: FIXED_COLUMNS,\n tableKey: TABLE_KEYS.TEAM_MEMBERS_TABLE,\n noColumnMessage: t(\"neetoTeamMembers.columns.noColumnsFound\"),\n searchProps: { placeholder: t(\"neetoTeamMembers.columns.search\") },\n }}\n downloadButtonProps={{\n isVisible: true,\n tooltipProps: { content: t(\"neetoTeamMembers.buttons.export\") },\n onClick: () => setIsDownloadPaneOpen(true),\n }}\n filterProps={{\n columns: filterColumns,\n isOpen: isFiltersPaneOpen,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleNeetoFilterChange,\n keyword: searchKeywordProps,\n }}\n />\n )\n);\n\nconst SubHeader = { Left, Right };\n\nexport default SubHeader;\n","import { t } from \"i18next\";\n\nconst EXPORT_TYPES = { PDF: \"pdf\", CSV: \"csv\", EXCEL: \"xlsx\" };\n\nexport const DEFAULT_EXPORT_OPTIONS = {\n exportType: EXPORT_TYPES.EXCEL,\n};\n\nexport const EXPORT_OPTIONS = [\n {\n type: EXPORT_TYPES.EXCEL,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.xlsx\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.xlsx\"),\n }),\n dataTestid: \"download-as-excel-radio-item\",\n },\n {\n type: EXPORT_TYPES.CSV,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.csv\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.csv\"),\n }),\n dataTestid: \"download-as-csv-radio-item\",\n },\n {\n type: EXPORT_TYPES.PDF,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.pdf\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.pdf\"),\n }),\n dataTestid: \"download-as-pdf-radio-item\",\n },\n];\n","import { useState } from \"react\";\n\nimport { Button, RadioGroup, Sheet, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { useExportMembers } from \"v2/hooks/teams/useTeamsApi\";\n\nimport { DEFAULT_EXPORT_OPTIONS, EXPORT_OPTIONS } from \"./constants\";\n\nimport { EVENTS } from \"../../constants\";\n\nconst ExportPane = ({\n isOpen,\n onClose,\n appliedFilters,\n hasBulkSelectedAllRows,\n selectedMemberIds,\n selectedRowsCount,\n}) => {\n const [exportOptions, setExportOptions] = useState(DEFAULT_EXPORT_OPTIONS);\n\n const { t } = useTranslation();\n\n const setExportOption = options => setExportOptions(mergeLeft(options));\n\n const { exportType } = exportOptions;\n\n const getParams = () => ({\n ...exportOptions,\n filters: appliedFilters || undefined,\n considerAllMembers: hasBulkSelectedAllRows,\n memberIds: hasBulkSelectedAllRows ? undefined : selectedMemberIds,\n });\n\n const { mutate: exportMembers } = useExportMembers({\n onSuccess: () => {\n onClose();\n setExportOptions(DEFAULT_EXPORT_OPTIONS);\n\n toast.success(\n <Trans\n i18nKey=\"toastr.success.exportMembers\"\n values={{ email: globalProps.user?.email }}\n />\n );\n\n captureAnalyticsEvent(EVENTS.TEAM_MEMBERS_DOWNLOADED, {\n ...exportOptions,\n });\n },\n onError: error => toast.error(error.message),\n });\n\n const description =\n isNotEmpty(selectedMemberIds) || hasBulkSelectedAllRows\n ? t(\"neetoTeamMembers.exportPane.description.selectedMembers\", {\n count: selectedRowsCount,\n })\n : t(\"neetoTeamMembers.exportPane.description.allMembers\");\n\n return (\n <Sheet {...{ isOpen, onClose }}>\n <Sheet.Header>\n <Sheet.Title data-testid=\"export-member-heading\">\n {t(\"neetoTeamMembers.exportPane.title\")}\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <div className=\"space-y-4\">\n <Typography className=\"text-sm\">{description}</Typography>\n <RadioGroup\n value={exportType}\n onValueChange={type => setExportOption({ exportType: type })}\n >\n {EXPORT_OPTIONS.map(({ type, bulkExportLabel, dataTestid }) => (\n <RadioGroup.Item\n data-testid={dataTestid}\n id={type}\n key={type}\n label={bulkExportLabel}\n value={type}\n />\n ))}\n </RadioGroup>\n </div>\n </Sheet.Body>\n <Sheet.Footer className=\"gap-x-2\">\n <Button\n data-testid=\"export-submit-button\"\n onClick={() => exportMembers({ export: getParams() })}\n >\n {t(\"neetoTeamMembers.buttons.export\")}\n </Button>\n <Button\n data-testid=\"export-cancel-button\"\n variant=\"ghost\"\n onClick={onClose}\n >\n {t(\"neetoTeamMembers.buttons.cancel\")}\n </Button>\n </Sheet.Footer>\n </Sheet>\n );\n};\n\nexport default ExportPane;\n","import { memo } from \"react\";\n\nimport { taxonomies } from \"neetocommons/initializers\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\nimport { assoc } from \"ramda\";\n\nimport { Header as HeaderActionBlock } from \"./ActionBlock\";\n\nconst Header = ({ config, setIsOpen, searchProps }) => (\n <NeetoHeader\n {...{ searchProps }}\n title={taxonomies.member.plural}\n actionBlock={\n <HeaderActionBlock\n isCreatePermissionGranted={config.permissions.create}\n otherActionBlock={config.header?.otherActionBlock}\n rolesButtonProps={config.rolesButtonProps}\n onClick={() => setIsOpen(assoc(\"manageMember\", true))}\n />\n }\n {...config?.header?.otherProps}\n />\n);\n\nexport default memo(Header);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport {\n Alert,\n Button,\n Empty,\n Spinner,\n DataTable,\n} from \"@bigbinary/neeto-atoms\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport {\n withTitle,\n useBreakpoints,\n useQueryParams,\n} from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Bar as FiltersBar } from \"neetofilters/v2\";\nimport { useTableConfigurations } from \"neetomolecules/v2/Columns\";\nimport Container from \"neetomolecules/v2/Container\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\nimport { assoc, mergeLeft, reverse } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport withReactQuery from \"v2/common/withReactQuery\";\nimport { useFetchRoles } from \"v2/hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"v2/hooks/teams/useTeamsApi\";\nimport useFilters from \"v2/hooks/useFilters\";\nimport useTeams from \"v2/hooks/useTeams\";\n\nimport { SubHeader as SubHeaderActionBlock } from \"./ActionBlock\";\nimport { DEFAULT_RADIX, DEFAULT_SELECTED_ROWS } from \"./constants\";\nimport ExportPane from \"./ExportPane\";\nimport Header from \"./Header\";\nimport ManageMember from \"./ManageMember\";\nimport {\n generateNoDataContent,\n getColumnData,\n getFilteredRoles,\n handlePageChange,\n renderUpdateAlert,\n} from \"./utils\";\n\nimport { TABLE_KEYS } from \"../constants\";\n\nconst TeamMembers = ({ config }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { isSize } = useBreakpoints();\n const queryParams = useQueryParams();\n\n const isViewPermissionGranted = config.permissions.view;\n const isCreatePermissionGranted = config.permissions.create;\n\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [isDownloadPaneOpen, setIsDownloadPaneOpen] = useState(false);\n const [hasBulkSelectedAllRows, setHasBulkSelectedAllRows] = useState(false);\n\n useEffect(() => {\n handleMemberFilterChange();\n }, []);\n\n const {\n filters,\n setFilters,\n filterColumns,\n searchProps,\n searchKeywordProps,\n } = useFilters({ config });\n\n const {\n data: team,\n isLoading: isMembersLoading,\n isFetching: isMembersFetching,\n } = useFetchMembers({ ...filters }, { enabled: isViewPermissionGranted });\n\n const bulkParams = {\n neetoFilters: filters[\"neetoFilters\"],\n considerAllTeamMembers: hasBulkSelectedAllRows,\n };\n\n const { data: roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response => reverse(response?.organizationRoles ?? []),\n enabled: isViewPermissionGranted,\n });\n\n const { mutate: updateMember, isPending: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleAlertClose();\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n );\n config?.updateMember?.onSuccess?.callback();\n },\n }\n );\n\n const filteredRoles = getFilteredRoles(roles, config);\n\n const {\n handleAlertClose,\n handleMemberFilterChange,\n handlePaneClose,\n handleRowSelect,\n handleRemoveMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n } = useTeams({ config, filters, setFilters, updateMember });\n\n const selectedRowsCount = hasBulkSelectedAllRows\n ? team?.membersCount\n : selectedRows.keys.length;\n\n config?.fetchApiResponse?.({ team });\n\n const hasMembers = team?.activeUsersCount > 0;\n\n const updateMemberAlertProps = { member: selectedMember, config };\n\n config?.table?.onDropdownClick?.({ handleUpdateRole, handleUpdateStatus });\n\n const columns = useMemo(\n () =>\n getColumnData({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n isSize,\n }),\n [config.table?.dropdownProps] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(TABLE_KEYS.TEAM_MEMBERS_TABLE, columns);\n\n const handleNeetoFilterChange = filters => {\n setFilters(mergeLeft({ neetoFilters: filters, page: DEFAULT_PAGE_INDEX }));\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page: DEFAULT_PAGE_INDEX }, queryParams)\n )\n );\n };\n\n const { noDataTitle, noDataButtonProps } = generateNoDataContent({\n buttonProps: {\n onClick: () => setIsOpen(assoc(\"manageMember\", true)),\n disabled: !isCreatePermissionGranted,\n },\n });\n\n if (isRolesLoading || isMembersLoading) {\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 <Container>\n <Header\n {...{ config, setIsOpen }}\n searchProps={hasMembers ? searchProps : null}\n />\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n hasMembers && (\n <SubHeaderActionBlock.Left\n {...{\n bulkParams,\n config,\n selectedRows,\n selectedRowsCount,\n setSelectedRows,\n }}\n filteredCount={team?.membersCount}\n roles={filteredRoles}\n resetToFirstPage={() =>\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n )\n }\n />\n )\n }\n rightActionBlock={\n hasMembers && (\n <SubHeaderActionBlock.Right\n {...{\n columns,\n filterColumns,\n handleNeetoFilterChange,\n isFiltersPaneOpen,\n searchKeywordProps,\n setIsDownloadPaneOpen,\n setIsFiltersPaneOpen,\n }}\n />\n )\n }\n />\n <FiltersBar\n className=\"mb-4\"\n columns={filterColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFiltersPaneOpen}\n onChange={handleNeetoFilterChange}\n />\n <ExportPane\n {...{ hasBulkSelectedAllRows, selectedRowsCount }}\n appliedFilters={filters}\n isOpen={isDownloadPaneOpen}\n selectedMemberIds={selectedRows.keys}\n onClose={() => setIsDownloadPaneOpen(false)}\n />\n {team?.membersCount !== 0 ? (\n <DataTable\n enableSorting\n fixedHeight\n allowRowClick={false}\n columns={customizedColumns}\n currentPage={parseInt(filters.page, DEFAULT_RADIX)}\n data={team?.members || []}\n data-testid=\"ntm-members-table\"\n loading={isMembersFetching || isTableConfigurationLoading}\n pageSize={filters.pageSize ?? DEFAULT_PAGE_SIZE}\n selectedRowKeys={selectedRows.keys}\n totalCount={team?.membersCount}\n bulkSelectAllRowsProps={{\n selectAllRowMessage: t(\n \"neetoTeamMembers.helpers.selectedMembers\",\n { count: selectedRowsCount }\n ),\n selectAllRowButtonLabel: t(\"neetoTeamMembers.helpers.selectAll\", {\n count: team?.membersCount,\n }),\n setBulkSelectedAllRows: setHasBulkSelectedAllRows,\n }}\n onColumnHide={columnId => hideColumn(columnId)}\n onPageChange={handlePageChange(setFilters, history)}\n onRowSelect={handleRowSelect}\n />\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Empty title={noDataTitle}>\n <Button\n data-testid={noDataButtonProps[\"data-testid\"]}\n disabled={noDataButtonProps.disabled}\n onClick={noDataButtonProps.onClick}\n >\n {noDataButtonProps.label}\n </Button>\n </Empty>\n </div>\n )}\n </Container>\n <ManageMember\n {...{ config, selectedMember }}\n componentConfig={{ isOpen: isOpen.manageMember }}\n roles={filteredRoles}\n onComplete={handlePaneClose}\n />\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={isOpen.alert}\n isSubmitting={isUpdatingMember}\n message={renderUpdateAlert(\"message\", updateMemberAlertProps)}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.remove\")}\n title={renderUpdateAlert(\"title\", updateMemberAlertProps)}\n onClose={handleAlertClose}\n onSubmit={handleRemoveMember}\n />\n </>\n );\n};\n\nexport default withTitle(withReactQuery(TeamMembers), taxonomies.member.plural);\n"],"names":["useFilters","_ref","_config$filterColumns","config","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","searchKeywordProps","node","value","key","_useState","useState","_useState2","_slicedToArray","emailSearchTerm","setEmailSearchTerm","defaultNeetoFilters","buildFiltersFromURL","concat","_toConsumableArray","filterColumns","defaultNeetoFiltersColumns","_useState3","_objectSpread","DEFAULT_FILTER_VALUES","defaultFilterValues","neetoFilters","_useState4","filters","setFilters","resetPage","useFuncDebounce","mergeLeft","page","DEFAULT_PAGE_INDEX","debouncedEmailSearchTerm","useDebounce","shouldFetchFilterOptions","isNil","_useFetchFilterOption","useFetchFilterOptions","params","options","enabled","_useFetchFilterOption2","data","filterOptions","isFilterOptionsLoading","isLoading","buildFilterColumns","emailConfig","setSearchTerm","searchProps","useMemo","placeholder","what","taxonomies","member","plural","onChange","useTeams","updateMember","history","useHistory","selectedMember","setSelectedMember","DEFAULT_IS_OPEN_VALUES","isOpen","setIsOpen","_useState5","DEFAULT_SELECTED_ROWS","_useState6","selectedRows","setSelectedRows","handleRemoveMember","id","payload","active","handleUpdateStatus","user","assoc","handleUpdateRole","handleAlertClose","handlePaneClose","resetSelectedRows","handleMemberFilterChange","_filters$pageSize","handlePageChange","pageSize","DEFAULT_PAGE_SIZE","handleTableChange","_","__","sorter","sortBy","field","orderBy","order","handleRowSelect","keys","rowData","_config$table","_config$table$onRowSe","rows","pluck","displayNames","emails","table","onRowSelect","call","FIXED_COLUMNS","MANAGE_ROLES_BUTTON_LABEL","PLURAL","Header","isCreatePermissionGranted","otherActionBlock","_ref$onClick","onClick","noop","rolesButtonProps","isRolesButtonVisible","isOtherActionBlockVisible","_jsxs","_Fragment","children","_jsx","Button","variant","Tooltip","content","disabled","singular","memo","filterBySearchTerm","roles","filter","name","includes","trim","toLower","getDeactivatedButtonVisible","_config$hiddenBulkAct","some","hiddenBulkActions","RolesDropdown","_ref$disabled","hasUpdatePermission","_ref$isSearchable","isSearchable","_ref$roles","_ref$selectedMembersC","selectedMembersCount","setAlertType","setBulkUpdateRole","filteredRoles","isUpdatingAllowed","handleSearch","_ref2","target","handleSelectRole","role","count","DropdownMenu","SubMenu","contentProps","align","label","triggerProps","className","e","stopPropagation","Search","Input","type","isNotEmpty","map","_ref3","MenuItem","hyphenate","Typography","Left","_selectedRows$keys","_selectedRows$active","_config$otherBulkActi","filteredCount","resetToFirstPage","selectedRowsCount","bulkParams","isUpdatePermissionGranted","permissions","update","alertType","bulkUpdateRole","hasSelectedRows","selectedMembersCountValues","length","metaName","totalCount","hasDeactivateMembers","_useBulkUpdateMembers","useBulkUpdateMembers","onSuccess","_config$bulkUpdateMem","bulkUpdateMembers","callback","bulkUpdateMember","mutate","handleDeactivateMembers","users","filterParams","handleRoleChange","organization_role","alertTypes","message","onSubmit","title","selectedAlert","findBy","getButtonLabel","Trans","components","span","values","i18nKey","buttonStyle","buttonProps","otherBulkActions","isDisabled","Alert","cancelButtonLabel","submitButtonLabel","person","onClose","Right","withT","columns","handleNeetoFilterChange","isFiltersPaneOpen","setIsDownloadPaneOpen","setIsFiltersPaneOpen","SubHeaderMolecule","RightBlock","columnsButtonProps","columnData","fixedColumns","tableKey","TABLE_KEYS","TEAM_MEMBERS_TABLE","noColumnMessage","downloadButtonProps","isVisible","tooltipProps","filterProps","keyword","SubHeader","EXPORT_TYPES","PDF","CSV","EXCEL","DEFAULT_EXPORT_OPTIONS","exportType","EXPORT_OPTIONS","individualExportLabel","bulkExportLabel","format","dataTestid","ExportPane","appliedFilters","hasBulkSelectedAllRows","selectedMemberIds","exportOptions","setExportOptions","setExportOption","getParams","undefined","considerAllMembers","memberIds","_useExportMembers","useExportMembers","_globalProps$user","toast","success","email","globalProps","captureAnalyticsEvent","EVENTS","TEAM_MEMBERS_DOWNLOADED","onError","error","exportMembers","description","Sheet","Title","Body","RadioGroup","onValueChange","Item","Footer","_config$header","_config$header2","NeetoHeader","actionBlock","HeaderActionBlock","create","header","otherProps","TeamMembers","_config$fetchApiRespo","_config$table$onDropd","_config$table2","_filters$pageSize3","_useBreakpoints","useBreakpoints","isSize","queryParams","isViewPermissionGranted","view","isDownloadPaneOpen","setHasBulkSelectedAllRows","useEffect","_useFilters","_useFetchMembers","useFetchMembers","team","isMembersLoading","isMembersFetching","isFetching","considerAllTeamMembers","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","isRolesLoading","_useUpdateMember","useUpdateMember","_config$updateMember","isUpdatingMember","isPending","getFilteredRoles","_useTeams","membersCount","fetchApiResponse","hasMembers","activeUsersCount","updateMemberAlertProps","onDropdownClick","getColumnData","dropdownProps","_useTableConfiguratio","useTableConfigurations","isTableConfigurationLoading","customizedColumns","hideColumn","push","buildUrl","window","location","pathname","_generateNoDataConten","generateNoDataContent","noDataTitle","noDataButtonProps","Spinner","Container","leftActionBlock","SubHeaderActionBlock","_filters$pageSize2","rightActionBlock","FiltersBar","setIsPaneOpen","DataTable","enableSorting","fixedHeight","allowRowClick","currentPage","parseInt","DEFAULT_RADIX","members","loading","selectedRowKeys","bulkSelectAllRowsProps","selectAllRowMessage","selectAllRowButtonLabel","setBulkSelectedAllRows","onColumnHide","columnId","onPageChange","Empty","ManageMember","componentConfig","manageMember","onComplete","alert","isSubmitting","renderUpdateAlert","withTitle","withReactQuery"],"mappings":"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"}
|