@bigbinary/neeto-team-members-frontend 5.0.72 → 5.0.74

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.
@@ -1 +1 @@
1
- {"version":3,"file":"TeamMembers.js","sources":["../../app/javascript/src/v2/components/TeamMembers/ActionBlock/constants.js","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/Header.jsx","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/utils.js","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/RolesDropdown.jsx","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/SubHeader.jsx","../../app/javascript/src/v2/components/TeamMembers/ExportPane/constants.js","../../app/javascript/src/v2/components/TeamMembers/ExportPane/index.jsx","../../app/javascript/src/v2/components/TeamMembers/Header.jsx","../../app/javascript/src/v2/components/TeamMembers/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/v2/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/v2/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/v2/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\n data-testid={`change-role-${hyphenate(name)}-button`}\n key={id}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </DropdownMenu.MenuItem>\n ))\n ) : (\n <div className=\"flex justify-center p-1\">\n <Typography color=\"muted\" variant=\"body3\">\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/v2/initializers\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport SubHeaderMolecule from \"neetomolecules/v2/SubHeader\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useBulkUpdateMembers } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\n\nimport { FIXED_COLUMNS } from \"./constants\";\nimport RolesDropdown from \"./RolesDropdown\";\nimport { getDeactivatedButtonVisible } from \"./utils\";\n\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\" variant=\"h6\">\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 disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.common.takeAction\")}\n buttonProps={{\n variant: \"outline\",\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 data-testid=\"ntm-deactivate-members-button\"\n isDisabled={!isUpdatePermissionGranted}\n onClick={() => setAlertType(\"remove\")}\n >\n {t(\"neetoTeamMembers.common.remove\")}\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 } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/v2/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { useExportMembers } from \"hooks/teams/useTeamsApi\";\nimport { EVENTS } from \"src/constants\";\n\nimport { DEFAULT_EXPORT_OPTIONS, EXPORT_OPTIONS } 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 <RadioGroup\n label={description}\n orientation=\"vertical\"\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 </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/v2/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 { Alert, Empty, Spinner, DataTable } from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport {\n withTitle,\n useBreakpoints,\n useQueryParams,\n} from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/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 { useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\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 withReactQuery from \"../Common/withReactQuery\";\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 handleTableChange,\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, noDataDescription, noDataIcon, noDataButtonProps } =\n 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 className=\"pb-10\">\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 {!hasMembers ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n description={noDataDescription}\n icon={noDataIcon}\n primaryButtonProps={noDataButtonProps}\n title={noDataTitle}\n />\n </div>\n ) : team?.membersCount === 0 ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n icon={Search}\n description={t(\n \"neetoTeamMembers.common.memberSearchEmptyDescription\"\n )}\n title={t(\"neetoTeamMembers.common.memberSearchEmptyTitle\", {\n what: taxonomies.member.plural,\n })}\n />\n </div>\n ) : (\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 onSort={handleTableChange}\n />\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":["FIXED_COLUMNS","MANAGE_ROLES_BUTTON_LABEL","t","PLURAL","Header","_ref","isCreatePermissionGranted","otherActionBlock","_ref$onClick","onClick","noop","rolesButtonProps","_useTranslation","useTranslation","isRolesButtonVisible","isOtherActionBlockVisible","_jsxs","_Fragment","children","_jsx","Button","_objectSpread","variant","Tooltip","content","disabled","what","taxonomies","member","singular","memo","filterBySearchTerm","searchTerm","roles","filter","name","includes","trim","toLower","getDeactivatedButtonVisible","selectedRows","config","_config$hiddenBulkAct","active","some","hiddenBulkActions","RolesDropdown","_ref$disabled","hasUpdatePermission","_ref$isSearchable","isSearchable","_ref$roles","_ref$selectedMembersC","selectedMembersCount","setAlertType","setBulkUpdateRole","_useState","useState","_useState2","_slicedToArray","setSearchTerm","filteredRoles","isUpdatingAllowed","handleSearch","_ref2","value","target","handleSelectRole","role","count","DropdownMenu","SubMenu","contentProps","align","label","triggerProps","className","e","stopPropagation","Search","Input","type","placeholder","onChange","isNotEmpty","map","_ref3","id","MenuItem","concat","hyphenate","Typography","color","Left","_selectedRows$keys","_selectedRows$active","_config$otherBulkActi","filteredCount","resetToFirstPage","setSelectedRows","selectedRowsCount","bulkParams","isUpdatePermissionGranted","permissions","update","alertType","_useState3","_useState4","bulkUpdateRole","hasSelectedRows","keys","selectedMembersCountValues","length","metaName","plural","totalCount","hasDeactivateMembers","_useBulkUpdateMembers","useBulkUpdateMembers","onSuccess","_config$bulkUpdateMem","DEFAULT_SELECTED_ROWS","bulkUpdateMembers","callback","bulkUpdateMember","mutate","handleDeactivateMembers","users","emails","filterParams","resetSelectedRows","handleRoleChange","organization_role","alertTypes","message","onSubmit","title","selectedAlert","findBy","handleAlertClose","getButtonLabel","Trans","components","span","values","i18nKey","buttonProps","otherBulkActions","call","isDisabled","Alert","cancelButtonLabel","isOpen","submitButtonLabel","person","displayNames","onClose","Right","withT","columns","filterColumns","handleNeetoFilterChange","isFiltersPaneOpen","searchKeywordProps","setIsDownloadPaneOpen","setIsFiltersPaneOpen","SubHeaderMolecule","RightBlock","columnsButtonProps","columnData","fixedColumns","tableKey","TABLE_KEYS","TEAM_MEMBERS_TABLE","noColumnMessage","searchProps","downloadButtonProps","isVisible","tooltipProps","filterProps","setIsOpen","keyword","SubHeader","EXPORT_TYPES","PDF","CSV","EXCEL","DEFAULT_EXPORT_OPTIONS","exportType","EXPORT_OPTIONS","individualExportLabel","bulkExportLabel","format","dataTestid","ExportPane","appliedFilters","hasBulkSelectedAllRows","selectedMemberIds","exportOptions","setExportOptions","setExportOption","options","mergeLeft","getParams","filters","undefined","considerAllMembers","memberIds","_useExportMembers","useExportMembers","_globalProps$user","toast","success","email","globalProps","user","captureAnalyticsEvent","EVENTS","TEAM_MEMBERS_DOWNLOADED","onError","error","exportMembers","description","Sheet","Title","Body","RadioGroup","orientation","onValueChange","Item","Footer","_config$header","_config$header2","NeetoHeader","actionBlock","HeaderActionBlock","create","header","assoc","otherProps","TeamMembers","_config$fetchApiRespo","_config$table","_config$table$onDropd","_config$table2","_filters$pageSize3","history","useHistory","_useBreakpoints","useBreakpoints","isSize","queryParams","useQueryParams","isViewPermissionGranted","view","isDownloadPaneOpen","_useState5","_useState6","setHasBulkSelectedAllRows","useEffect","handleMemberFilterChange","_useFilters","useFilters","setFilters","_useFetchMembers","useFetchMembers","enabled","team","data","isMembersLoading","isLoading","isMembersFetching","isFetching","neetoFilters","considerAllTeamMembers","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","isRolesLoading","_useUpdateMember","useUpdateMember","_filters$pageSize","_config$updateMember","handlePageChange","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","updateMember","isUpdatingMember","isPending","getFilteredRoles","_useTeams","useTeams","handlePaneClose","handleRowSelect","handleTableChange","handleRemoveMember","handleUpdateRole","handleUpdateStatus","selectedMember","membersCount","fetchApiResponse","hasMembers","activeUsersCount","updateMemberAlertProps","table","onDropdownClick","useMemo","getColumnData","dropdownProps","_useTableConfiguratio","useTableConfigurations","isTableConfigurationLoading","customizedColumns","hideColumn","page","push","buildUrl","window","location","pathname","_generateNoDataConten","generateNoDataContent","noDataTitle","noDataDescription","noDataIcon","noDataButtonProps","Spinner","Container","leftActionBlock","SubHeaderActionBlock","_filters$pageSize2","rightActionBlock","FiltersBar","setIsPaneOpen","Empty","icon","primaryButtonProps","DataTable","enableSorting","fixedHeight","allowRowClick","currentPage","parseInt","DEFAULT_RADIX","members","loading","selectedRowKeys","bulkSelectAllRowsProps","selectAllRowMessage","selectAllRowButtonLabel","setBulkSelectedAllRows","onColumnHide","columnId","onPageChange","onRowSelect","onSort","ManageMember","componentConfig","manageMember","onComplete","alert","isSubmitting","renderUpdateAlert","withTitle","withReactQuery"],"mappings":"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"}
1
+ {"version":3,"file":"TeamMembers.js","sources":["../../app/javascript/src/v2/components/TeamMembers/ActionBlock/constants.js","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/Header.jsx","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/utils.js","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/RolesDropdown.jsx","../../app/javascript/src/v2/components/TeamMembers/ActionBlock/SubHeader.jsx","../../app/javascript/src/v2/components/TeamMembers/ExportPane/constants.js","../../app/javascript/src/v2/components/TeamMembers/ExportPane/index.jsx","../../app/javascript/src/v2/components/TeamMembers/Header.jsx","../../app/javascript/src/v2/components/TeamMembers/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/v2/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/v2/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/v2/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\n data-testid={`change-role-${hyphenate(name)}-button`}\n key={id}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </DropdownMenu.MenuItem>\n ))\n ) : (\n <div className=\"flex justify-center p-1\">\n <Typography color=\"muted\" variant=\"body3\">\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/v2/initializers\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport SubHeaderMolecule from \"neetomolecules/v2/SubHeader\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useBulkUpdateMembers } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\n\nimport { FIXED_COLUMNS } from \"./constants\";\nimport RolesDropdown from \"./RolesDropdown\";\nimport { getDeactivatedButtonVisible } from \"./utils\";\n\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\" variant=\"h6\">\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 disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.common.takeAction\")}\n buttonProps={{\n variant: \"outline\",\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 data-testid=\"ntm-deactivate-members-button\"\n isDisabled={!isUpdatePermissionGranted}\n onClick={() => setAlertType(\"remove\")}\n >\n {t(\"neetoTeamMembers.common.remove\")}\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 } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/v2/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { useExportMembers } from \"hooks/teams/useTeamsApi\";\nimport { EVENTS } from \"src/constants\";\n\nimport { DEFAULT_EXPORT_OPTIONS, EXPORT_OPTIONS } 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 }} size=\"large\">\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 <RadioGroup\n label={description}\n orientation=\"vertical\"\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 </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/v2/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 { Alert, Empty, Spinner, DataTable } from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport {\n withTitle,\n useBreakpoints,\n useQueryParams,\n} from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/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 { useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\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 withReactQuery from \"../Common/withReactQuery\";\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 handleTableChange,\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, noDataDescription, noDataIcon, noDataButtonProps } =\n 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 className=\"pb-10\">\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 {!hasMembers ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n description={noDataDescription}\n icon={noDataIcon}\n primaryButtonProps={noDataButtonProps}\n title={noDataTitle}\n />\n </div>\n ) : team?.membersCount === 0 ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n icon={Search}\n description={t(\n \"neetoTeamMembers.common.memberSearchEmptyDescription\"\n )}\n title={t(\"neetoTeamMembers.common.memberSearchEmptyTitle\", {\n what: taxonomies.member.plural,\n })}\n />\n </div>\n ) : (\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 onSort={handleTableChange}\n />\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":["FIXED_COLUMNS","MANAGE_ROLES_BUTTON_LABEL","t","PLURAL","Header","_ref","isCreatePermissionGranted","otherActionBlock","_ref$onClick","onClick","noop","rolesButtonProps","_useTranslation","useTranslation","isRolesButtonVisible","isOtherActionBlockVisible","_jsxs","_Fragment","children","_jsx","Button","_objectSpread","variant","Tooltip","content","disabled","what","taxonomies","member","singular","memo","filterBySearchTerm","searchTerm","roles","filter","name","includes","trim","toLower","getDeactivatedButtonVisible","selectedRows","config","_config$hiddenBulkAct","active","some","hiddenBulkActions","RolesDropdown","_ref$disabled","hasUpdatePermission","_ref$isSearchable","isSearchable","_ref$roles","_ref$selectedMembersC","selectedMembersCount","setAlertType","setBulkUpdateRole","_useState","useState","_useState2","_slicedToArray","setSearchTerm","filteredRoles","isUpdatingAllowed","handleSearch","_ref2","value","target","handleSelectRole","role","count","DropdownMenu","SubMenu","contentProps","align","label","triggerProps","className","e","stopPropagation","Search","Input","type","placeholder","onChange","isNotEmpty","map","_ref3","id","MenuItem","concat","hyphenate","Typography","color","Left","_selectedRows$keys","_selectedRows$active","_config$otherBulkActi","filteredCount","resetToFirstPage","setSelectedRows","selectedRowsCount","bulkParams","isUpdatePermissionGranted","permissions","update","alertType","_useState3","_useState4","bulkUpdateRole","hasSelectedRows","keys","selectedMembersCountValues","length","metaName","plural","totalCount","hasDeactivateMembers","_useBulkUpdateMembers","useBulkUpdateMembers","onSuccess","_config$bulkUpdateMem","DEFAULT_SELECTED_ROWS","bulkUpdateMembers","callback","bulkUpdateMember","mutate","handleDeactivateMembers","users","emails","filterParams","resetSelectedRows","handleRoleChange","organization_role","alertTypes","message","onSubmit","title","selectedAlert","findBy","handleAlertClose","getButtonLabel","Trans","components","span","values","i18nKey","buttonProps","otherBulkActions","call","isDisabled","Alert","cancelButtonLabel","isOpen","submitButtonLabel","person","displayNames","onClose","Right","withT","columns","filterColumns","handleNeetoFilterChange","isFiltersPaneOpen","searchKeywordProps","setIsDownloadPaneOpen","setIsFiltersPaneOpen","SubHeaderMolecule","RightBlock","columnsButtonProps","columnData","fixedColumns","tableKey","TABLE_KEYS","TEAM_MEMBERS_TABLE","noColumnMessage","searchProps","downloadButtonProps","isVisible","tooltipProps","filterProps","setIsOpen","keyword","SubHeader","EXPORT_TYPES","PDF","CSV","EXCEL","DEFAULT_EXPORT_OPTIONS","exportType","EXPORT_OPTIONS","individualExportLabel","bulkExportLabel","format","dataTestid","ExportPane","appliedFilters","hasBulkSelectedAllRows","selectedMemberIds","exportOptions","setExportOptions","setExportOption","options","mergeLeft","getParams","filters","undefined","considerAllMembers","memberIds","_useExportMembers","useExportMembers","_globalProps$user","toast","success","email","globalProps","user","captureAnalyticsEvent","EVENTS","TEAM_MEMBERS_DOWNLOADED","onError","error","exportMembers","description","Sheet","size","Title","Body","RadioGroup","orientation","onValueChange","Item","Footer","_config$header","_config$header2","NeetoHeader","actionBlock","HeaderActionBlock","create","header","assoc","otherProps","TeamMembers","_config$fetchApiRespo","_config$table","_config$table$onDropd","_config$table2","_filters$pageSize3","history","useHistory","_useBreakpoints","useBreakpoints","isSize","queryParams","useQueryParams","isViewPermissionGranted","view","isDownloadPaneOpen","_useState5","_useState6","setHasBulkSelectedAllRows","useEffect","handleMemberFilterChange","_useFilters","useFilters","setFilters","_useFetchMembers","useFetchMembers","enabled","team","data","isMembersLoading","isLoading","isMembersFetching","isFetching","neetoFilters","considerAllTeamMembers","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","isRolesLoading","_useUpdateMember","useUpdateMember","_filters$pageSize","_config$updateMember","handlePageChange","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","updateMember","isUpdatingMember","isPending","getFilteredRoles","_useTeams","useTeams","handlePaneClose","handleRowSelect","handleTableChange","handleRemoveMember","handleUpdateRole","handleUpdateStatus","selectedMember","membersCount","fetchApiResponse","hasMembers","activeUsersCount","updateMemberAlertProps","table","onDropdownClick","useMemo","getColumnData","dropdownProps","_useTableConfiguratio","useTableConfigurations","isTableConfigurationLoading","customizedColumns","hideColumn","page","push","buildUrl","window","location","pathname","_generateNoDataConten","generateNoDataContent","noDataTitle","noDataDescription","noDataIcon","noDataButtonProps","Spinner","Container","leftActionBlock","SubHeaderActionBlock","_filters$pageSize2","rightActionBlock","FiltersBar","setIsPaneOpen","Empty","icon","primaryButtonProps","DataTable","enableSorting","fixedHeight","allowRowClick","currentPage","parseInt","DEFAULT_RADIX","members","loading","selectedRowKeys","bulkSelectAllRowsProps","selectAllRowMessage","selectAllRowButtonLabel","setBulkSelectedAllRows","onColumnHide","columnId","onPageChange","onRowSelect","onSort","ManageMember","componentConfig","manageMember","onComplete","alert","isSubmitting","renderUpdateAlert","withTitle","withReactQuery"],"mappings":"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"}
package/dist/v2/index.js CHANGED
@@ -6,7 +6,7 @@ export { default as MembersDropdown } from './MembersDropdown.js';
6
6
  export { default as MembersInvite } from './MembersInvite.js';
7
7
  export { default as Profile } from './Profile.js';
8
8
  export { default as Roles } from './Roles.js';
9
- export { P as Permissions } from '../Permissions-DIdoAJlu.js';
9
+ export { P as Permissions } from '../Permissions-j0wOsaaI.js';
10
10
  export { default as TeamMembers } from './TeamMembers.js';
11
11
  export { M as ManageMember } from '../index-CDxa6tOj.js';
12
12
  export { R as RolesRadioGroup } from '../RolesRadioGroup-BfcqSCiE.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-team-members-frontend",
3
- "version": "5.0.72",
3
+ "version": "5.0.74",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-team-members-nano",
@@ -72,13 +72,13 @@
72
72
  "@babel/runtime": "7.29.7",
73
73
  "@bigbinary/babel-preset-neeto": "^1.0.3",
74
74
  "@bigbinary/eslint-plugin-neeto": "1.9.1",
75
- "@bigbinary/neeto-atoms": "1.0.99",
75
+ "@bigbinary/neeto-atoms": "1.0.101",
76
76
  "@bigbinary/neeto-cist": "1.0.17",
77
- "@bigbinary/neeto-commons-frontend": "4.13.144",
77
+ "@bigbinary/neeto-commons-frontend": "4.13.149",
78
78
  "@bigbinary/neeto-filters-frontend": "4.3.42",
79
79
  "@bigbinary/neeto-icons": "1.20.89",
80
80
  "@bigbinary/neeto-image-uploader-frontend": "4.0.13",
81
- "@bigbinary/neeto-molecules": "5.2.17",
81
+ "@bigbinary/neeto-molecules": "5.2.29",
82
82
  "@bigbinary/neeto-time-zones": "0.8.26",
83
83
  "@bigbinary/neetoui": "8.8.3",
84
84
  "@dnd-kit/core": "6.3.1",
@@ -116,7 +116,7 @@
116
116
  "classnames": "2.5.1",
117
117
  "crypto-browserify": "3.12.1",
118
118
  "css-loader": "6.8.1",
119
- "dompurify": "3.4.11",
119
+ "dompurify": "3.4.12",
120
120
  "dotenv-webpack": "^8.0.1",
121
121
  "eslint": "^9.25.1",
122
122
  "eslint-config-prettier": "^10.1.2",
@@ -183,19 +183,19 @@
183
183
  "webpack": "5.94.0",
184
184
  "webpack-assets-manifest": "5.1.0",
185
185
  "webpack-cli": "5.1.4",
186
- "webpack-dev-server": "4.15.1",
186
+ "webpack-dev-server": "5.2.6",
187
187
  "yup": "0.32.11",
188
188
  "zustand": "4.4.2"
189
189
  },
190
190
  "peerDependencies": {
191
191
  "@babel/runtime": "7.29.7",
192
- "@bigbinary/neeto-atoms": "1.0.99",
192
+ "@bigbinary/neeto-atoms": "1.0.101",
193
193
  "@bigbinary/neeto-cist": "1.0.17",
194
- "@bigbinary/neeto-commons-frontend": "4.13.144",
194
+ "@bigbinary/neeto-commons-frontend": "4.13.149",
195
195
  "@bigbinary/neeto-filters-frontend": "4.3.42",
196
196
  "@bigbinary/neeto-icons": "1.20.89",
197
197
  "@bigbinary/neeto-image-uploader-frontend": "4.0.13",
198
- "@bigbinary/neeto-molecules": "5.2.17",
198
+ "@bigbinary/neeto-molecules": "5.2.29",
199
199
  "@bigbinary/neeto-time-zones": "0.8.26",
200
200
  "@bigbinary/neetoui": "8.8.3",
201
201
  "@dnd-kit/core": "6.3.1",
@@ -210,7 +210,7 @@
210
210
  "buffer": "^6.0.3",
211
211
  "classnames": "2.5.1",
212
212
  "crypto-browserify": "3.12.1",
213
- "dompurify": "3.4.11",
213
+ "dompurify": "3.4.12",
214
214
  "formik": "2.4.6",
215
215
  "https-browserify": "1.0.0",
216
216
  "i18next": "22.5.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"Permissions-BVkx_S_F.js","sources":["../app/javascript/src/v2/components/Roles/utils.js","../app/javascript/src/v2/components/Roles/Permissions.jsx"],"sourcesContent":["import { findById } from \"neetocist\";\nimport { append, concat, equals, prop } from \"ramda\";\n\nexport const sortPermissionsBySequence = (permissions = []) =>\n permissions?.[0]?.sequence\n ? [...permissions].sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = sortPermissionsBySequence(permissions);\n\n const groupedPermissions = new Map();\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n\nexport const attachChildrenRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? {\n ...permission,\n children: children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport {\n Checkbox,\n Label,\n Tooltip,\n Typography,\n cn,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findById, hyphenate, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/roles-permissions.css\";\n\nimport {\n findChildIdsRecursively,\n getChildrenRemovedFromRoot,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Permissions = ({\n permissions = [],\n isDisabled = false,\n permissionRelationConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const handleTogglePermission = permissionId => {\n const permission = findById(permissionId, permissions);\n let nextPermissionIds = [];\n if (permissionIds.includes(permissionId)) {\n let childIds = [];\n if (permissionRelationConfig[permission.name]) {\n childIds = findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }\n\n const permissionIdsToBeUnchecked = [permissionId, ...childIds];\n\n nextPermissionIds = permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n );\n } else {\n const { uncheckOnSelect } =\n permissionRelationConfig[permission.name] || {};\n\n const uncheckOnSelectPermissions =\n uncheckOnSelect?.flatMap(name => permissionsNameMap[name]) ?? [];\n\n const childIds = uncheckOnSelectPermissions.flatMap(permission =>\n findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const uncheckedPermissionIds = pluck(\"id\", uncheckOnSelectPermissions);\n const permissionIdsToBeUnchecked = [\n ...uncheckedPermissionIds,\n ...childIds,\n ];\n\n nextPermissionIds = uncheckOnSelect\n ? [\n ...permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n ),\n permissionId,\n ]\n : [...permissionIds, permissionId];\n }\n\n setFieldValue(\"permissionIds\", nextPermissionIds.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n index = 1,\n }) => {\n const sortedChildren = children && sortPermissionsBySequence(children);\n\n const isCheckingDisabled = !isParentChecked || isDisabled;\n const isChecked = permissionIds.includes(id);\n\n const permissionsToBeUnchecked =\n permissionRelationConfig[name]?.uncheckOnSelect;\n\n const hasUnCheckOnSelect =\n permissionsToBeUnchecked && isNotEmpty(permissionsToBeUnchecked);\n\n const tooltipMessage =\n hasUnCheckOnSelect &&\n t(\"neetoTeamMembers.tooltips.uncheckOnSelectPermissions\", {\n permissions: permissionsToBeUnchecked\n .flatMap(name => pluck(\"description\", permissionsNameMap[name]))\n .join(\", \"),\n });\n\n return (\n <Fragment key={id}>\n <Tooltip\n content={tooltipMessage && !isChecked ? tooltipMessage : null}\n position=\"left\"\n >\n <div\n className=\"ntm-roles-permission__card relative flex flex-col gap-3 bg-background py-1.5\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n id={`ntm-role-permission-${id}`}\n >\n <div className=\"flex items-start gap-2\">\n <Checkbox\n checked={isChecked}\n className=\"mt-0.5 shrink-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n id={`permission-${id}`}\n onCheckedChange={() => handleTogglePermission(id)}\n />\n <Label\n htmlFor={`permission-${id}`}\n className={cn(\n \"font-normal leading-relaxed\",\n isCheckingDisabled\n ? \"cursor-not-allowed opacity-50\"\n : \"cursor-pointer\"\n )}\n >\n {description}\n </Label>\n </div>\n <div className=\"ntm-roles-permission__sub-blocks relative pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n index: index + 1,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"space-y-4\">\n <div>\n <Typography variant=\"body1\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-testid=\"ntm-roles-permission-card\"\n id={`ntm-role-permission-category-${hyphenate(category)}`}\n key={category}\n >\n <Typography\n className=\"mb-2 pt-2\"\n data-testid=\"ntm-roles-permission-category-title\"\n variant=\"body3\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card rounded-md border border-border p-2.5 px-5 transition-all duration-300\">\n {groupedPermissions[category].map(renderPermission)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n"],"names":["sortPermissionsBySequence","_permissions$","permissions","arguments","length","undefined","sequence","_toConsumableArray","sort","first","second","getPermissionGroups","sortBySequence","groupedPermissions","Map","forEach","permission","has","category","get","currentPermissions","append","set","value","getModifiedPermissions","roles","modifiedRoles","map","role","oldPermissions","findById","id","permissionIds","equals","filter","Boolean","attachChildrenRecursively","permissionsNameMap","permissionRelationConfig","_ref","name","children","_objectSpread","flatMap","childName","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","_ref3$index","index","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","position","_jsxs","className","Checkbox","checked","disabled","onCheckedChange","Label","htmlFor","cn","Typography","variant","weight","SINGULAR","color","keys","hyphenate"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Permissions-DIdoAJlu.js","sources":["../app/javascript/src/v2/components/Roles/utils.js","../app/javascript/src/v2/components/Roles/Permissions.jsx"],"sourcesContent":["import { findById } from \"neetocist\";\nimport { append, concat, equals, prop } from \"ramda\";\n\nexport const sortPermissionsBySequence = (permissions = []) =>\n permissions?.[0]?.sequence\n ? [...permissions].sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = sortPermissionsBySequence(permissions);\n\n const groupedPermissions = new Map();\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n\nexport const attachChildrenRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? {\n ...permission,\n children: children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport {\n Checkbox,\n Label,\n Tooltip,\n Typography,\n cn,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findById, hyphenate, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/roles-permissions.css\";\n\nimport {\n findChildIdsRecursively,\n getChildrenRemovedFromRoot,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Permissions = ({\n permissions = [],\n isDisabled = false,\n permissionRelationConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const handleTogglePermission = permissionId => {\n const permission = findById(permissionId, permissions);\n let nextPermissionIds = [];\n if (permissionIds.includes(permissionId)) {\n let childIds = [];\n if (permissionRelationConfig[permission.name]) {\n childIds = findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }\n\n const permissionIdsToBeUnchecked = [permissionId, ...childIds];\n\n nextPermissionIds = permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n );\n } else {\n const { uncheckOnSelect } =\n permissionRelationConfig[permission.name] || {};\n\n const uncheckOnSelectPermissions =\n uncheckOnSelect?.flatMap(name => permissionsNameMap[name]) ?? [];\n\n const childIds = uncheckOnSelectPermissions.flatMap(permission =>\n findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const uncheckedPermissionIds = pluck(\"id\", uncheckOnSelectPermissions);\n const permissionIdsToBeUnchecked = [\n ...uncheckedPermissionIds,\n ...childIds,\n ];\n\n nextPermissionIds = uncheckOnSelect\n ? [\n ...permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n ),\n permissionId,\n ]\n : [...permissionIds, permissionId];\n }\n\n setFieldValue(\"permissionIds\", nextPermissionIds.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n index = 1,\n }) => {\n const sortedChildren = children && sortPermissionsBySequence(children);\n\n const isCheckingDisabled = !isParentChecked || isDisabled;\n const isChecked = permissionIds.includes(id);\n\n const permissionsToBeUnchecked =\n permissionRelationConfig[name]?.uncheckOnSelect;\n\n const hasUnCheckOnSelect =\n permissionsToBeUnchecked && isNotEmpty(permissionsToBeUnchecked);\n\n const tooltipMessage =\n hasUnCheckOnSelect &&\n t(\"neetoTeamMembers.tooltips.uncheckOnSelectPermissions\", {\n permissions: permissionsToBeUnchecked\n .flatMap(name => pluck(\"description\", permissionsNameMap[name]))\n .join(\", \"),\n });\n\n return (\n <Fragment key={id}>\n <Tooltip\n content={tooltipMessage && !isChecked ? tooltipMessage : null}\n position=\"left\"\n >\n <div\n className=\"ntm-roles-permission__card relative flex flex-col gap-3 bg-background py-1.5\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n id={`ntm-role-permission-${id}`}\n >\n <div className=\"flex items-start gap-2\">\n <Checkbox\n checked={isChecked}\n className=\"mt-0.5 shrink-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n id={`permission-${id}`}\n onCheckedChange={() => handleTogglePermission(id)}\n />\n <Label\n htmlFor={`permission-${id}`}\n className={cn(\n \"font-normal leading-relaxed\",\n isCheckingDisabled\n ? \"cursor-not-allowed opacity-50\"\n : \"cursor-pointer\"\n )}\n >\n {description}\n </Label>\n </div>\n <div className=\"ntm-roles-permission__sub-blocks relative pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n index: index + 1,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"space-y-4\">\n <div>\n <Typography variant=\"body1\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-testid=\"ntm-roles-permission-card\"\n id={`ntm-role-permission-category-${hyphenate(category)}`}\n key={category}\n >\n <Typography\n className=\"mb-2 pt-2\"\n data-testid=\"ntm-roles-permission-category-title\"\n variant=\"body3\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card rounded-md border border-border p-2.5 px-5 transition-all duration-300\">\n {groupedPermissions[category].map(renderPermission)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n"],"names":["sortPermissionsBySequence","_permissions$","permissions","arguments","length","undefined","sequence","_toConsumableArray","sort","first","second","getPermissionGroups","sortBySequence","groupedPermissions","Map","forEach","permission","has","category","get","currentPermissions","append","set","value","getModifiedPermissions","roles","modifiedRoles","map","role","oldPermissions","findById","id","permissionIds","equals","filter","Boolean","attachChildrenRecursively","permissionsNameMap","permissionRelationConfig","_ref","name","children","_objectSpread","flatMap","childName","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","_ref3$index","index","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","position","_jsxs","className","Checkbox","checked","disabled","onCheckedChange","Label","htmlFor","cn","Typography","variant","weight","SINGULAR","color","keys","hyphenate"],"mappings":"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"}