@bigbinary/neeto-team-members-frontend 4.6.12 → 4.6.13

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.
Files changed (53) hide show
  1. package/dist/Groups.js +4 -4
  2. package/dist/Groups.js.map +1 -1
  3. package/dist/ManageMember.js +2 -2
  4. package/dist/MembersDropdown.js +1 -1
  5. package/dist/{Permissions-CxtZWRF9.js → Permissions-B-mY9zek.js} +2 -2
  6. package/dist/{Permissions-CxtZWRF9.js.map → Permissions-B-mY9zek.js.map} +1 -1
  7. package/dist/{Permissions-ClBlYjuM.js → Permissions-BYnGvgdP.js} +2 -2
  8. package/dist/{Permissions-ClBlYjuM.js.map → Permissions-BYnGvgdP.js.map} +1 -1
  9. package/dist/Permissions.js +1 -1
  10. package/dist/Profile.js +1 -1
  11. package/dist/Profile.js.map +1 -1
  12. package/dist/Roles.js +3 -3
  13. package/dist/Roles.js.map +1 -1
  14. package/dist/{RolesRadioGroup-Cmt92y9-.js → RolesRadioGroup-D_c864VH.js} +2 -2
  15. package/dist/{RolesRadioGroup-Cmt92y9-.js.map → RolesRadioGroup-D_c864VH.js.map} +1 -1
  16. package/dist/{RolesRadioGroup-CRD3oB2c.js → RolesRadioGroup-PfJ8yeOo.js} +2 -2
  17. package/dist/{RolesRadioGroup-CRD3oB2c.js.map → RolesRadioGroup-PfJ8yeOo.js.map} +1 -1
  18. package/dist/RolesRadioGroup.js +1 -1
  19. package/dist/TeamMembers.js +4 -4
  20. package/dist/TeamMembers.js.map +1 -1
  21. package/dist/TeamsAndMembersDropdown.js +2 -2
  22. package/dist/TeamsAndMembersDropdown.js.map +1 -1
  23. package/dist/TeamsDropdown.js +1 -1
  24. package/dist/cjs/Groups.js +4 -4
  25. package/dist/cjs/Groups.js.map +1 -1
  26. package/dist/cjs/ManageMember.js +2 -2
  27. package/dist/cjs/MembersDropdown.js +1 -1
  28. package/dist/cjs/Permissions.js +1 -1
  29. package/dist/cjs/Profile.js +1 -1
  30. package/dist/cjs/Profile.js.map +1 -1
  31. package/dist/cjs/Roles.js +3 -3
  32. package/dist/cjs/Roles.js.map +1 -1
  33. package/dist/cjs/RolesRadioGroup.js +1 -1
  34. package/dist/cjs/TeamMembers.js +4 -4
  35. package/dist/cjs/TeamMembers.js.map +1 -1
  36. package/dist/cjs/TeamsAndMembersDropdown.js +2 -2
  37. package/dist/cjs/TeamsAndMembersDropdown.js.map +1 -1
  38. package/dist/cjs/TeamsDropdown.js +1 -1
  39. package/dist/cjs/index.js +4 -4
  40. package/dist/{index-BXIIgvsz.js → index-0DxC5Cwu.js} +5 -5
  41. package/dist/index-0DxC5Cwu.js.map +1 -0
  42. package/dist/{index-JehGwqEf.js → index-C6n5fCKc.js} +10 -7
  43. package/dist/index-C6n5fCKc.js.map +1 -0
  44. package/dist/{index-CrRjxA09.js → index-COZyb1oK.js} +10 -7
  45. package/dist/index-COZyb1oK.js.map +1 -0
  46. package/dist/{index-CydUiAGI.js → index-Dni0XtJI.js} +5 -5
  47. package/dist/index-Dni0XtJI.js.map +1 -0
  48. package/dist/index.js +4 -4
  49. package/package.json +14 -14
  50. package/dist/index-BXIIgvsz.js.map +0 -1
  51. package/dist/index-CrRjxA09.js.map +0 -1
  52. package/dist/index-CydUiAGI.js.map +0 -1
  53. package/dist/index-JehGwqEf.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TeamMembers.js","sources":["../app/javascript/src/hooks/useFilters.js","../app/javascript/src/hooks/useTeams.js","../app/javascript/src/components/TeamMembers/ActionBlock/constants.js","../app/javascript/src/components/TeamMembers/ActionBlock/Header.jsx","../app/javascript/src/components/TeamMembers/ActionBlock/utils.js","../app/javascript/src/components/TeamMembers/ActionBlock/RolesDropdown.jsx","../app/javascript/src/components/TeamMembers/ActionBlock/SubHeader.jsx","../app/javascript/src/components/TeamMembers/ExportPane/constants.js","../app/javascript/src/components/TeamMembers/ExportPane/index.jsx","../app/javascript/src/components/TeamMembers/Header.jsx","../app/javascript/src/components/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\";\nimport { isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchFilterOptions } from \"hooks/teams/useTeamsApi\";\n\nimport { DEFAULT_FILTER_VALUES } from \"../components/TeamMembers/constants\";\nimport {\n buildFilterColumns,\n defaultNeetoFiltersColumns,\n} from \"../components/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-cy\": \"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 } 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 \"../components/TeamMembers/constants\";\nimport { handlePageChange } from \"../components/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)(DEFAULT_PAGE_INDEX, filters.pageSize);\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 { noop } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { Button, Tooltip } from \"neetoui\";\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-cy=\"ntm-manage-roles-button\"\n label={MANAGE_ROLES_BUTTON_LABEL}\n style=\"secondary\"\n {...rolesButtonProps}\n />\n ) : null}\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToAddMember\")}\n disabled={isCreatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n {...{ onClick }}\n data-cy=\"ntm-add-member-button\"\n disabled={!isCreatePermissionGranted}\n label={t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.member.singular,\n })}\n />\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 { isNotEmpty, hyphenate } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { Right, Search } from \"neetoicons\";\nimport { Dropdown, Input, Tooltip, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { filterBySearchTerm } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\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 [isDropdownOpen, setIsDropdownOpen] = useState(false);\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 setIsDropdownOpen(false);\n };\n\n const handleOnClose = () => {\n setSearchTerm(\"\");\n setIsDropdownOpen(false);\n };\n\n const handleClick = event => {\n event.stopPropagation();\n setIsDropdownOpen(!isDropdownOpen);\n };\n\n return (\n <Tooltip\n disabled={isUpdatingAllowed}\n position=\"top\"\n content={t(\"neetoTeamMembers.tooltips.activateUserToEdit\", {\n count: selectedMembersCount,\n })}\n >\n <span>\n <Dropdown\n buttonStyle=\"secondary\"\n closeOnSelect={false}\n data-cy=\"ntm-members-roles-update-dropdown-button\"\n disabled={!isUpdatingAllowed}\n isOpen={isUpdatingAllowed && isDropdownOpen}\n position=\"auto-end\"\n customTarget={\n <MenuItem.Button\n data-cy=\"take-action-dropdown-change-role-button\"\n disabled={!isUpdatingAllowed}\n suffix={<Right size={16} />}\n >\n {t(\"neetoTeamMembers.buttons.changeRole\")}\n </MenuItem.Button>\n }\n onClick={handleClick}\n onClose={handleOnClose}\n >\n <Menu>\n {isSearchable && (\n <div\n className=\"neeto-ui-px-3 neeto-ui-py-2\"\n onClick={event => {\n event.stopPropagation();\n }}\n >\n <Input\n data-cy=\"ntm-members-roles-search-input\"\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchRole\",\n PLURAL\n )}\n onChange={handleSearch}\n />\n </div>\n )}\n {isNotEmpty(filteredRoles) ? (\n filteredRoles.map(({ id, name }) => (\n <MenuItem.Button\n data-cy={`change-role-${hyphenate(name)}-button`}\n key={id}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </MenuItem.Button>\n ))\n ) : (\n <div className=\"neeto-ui-flex neeto-ui-justify-center neeto-ui-p-1\">\n <Typography className=\"neeto-ui-text-gray-700\" style=\"body2\">\n {t(\"neetoTeamMembers.helpers.noRolesFound\")}\n </Typography>\n </div>\n )}\n </Menu>\n </Dropdown>\n </span>\n </Tooltip>\n );\n};\n\nexport default RolesDropdown;\n","import { useState } from \"react\";\n\nimport { findBy, isNotEmpty } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { withT } from \"neetocommons/react-utils\";\nimport SubHeaderMolecule from \"neetomolecules/SubHeader\";\nimport { Alert, Dropdown, Tooltip, Typography } from \"neetoui\";\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 { Menu, MenuItem } = Dropdown;\n\nconst Left = ({\n config,\n filteredCount,\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 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=\"neeto-ui-flex neeto-ui-items-center neeto-ui-gap-4\">\n <Typography\n component=\"h4\"\n data-cy=\"ntm-filtered-members-count\"\n style=\"h4\"\n >\n <Trans\n components={{ span: <span className=\"neeto-ui-text-gray-600\" /> }}\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={t(\"neetoTeamMembers.tooltips.noPermissionToEditMembers\")}\n disabled={isUpdatePermissionGranted}\n position=\"top\"\n >\n <span>\n <Dropdown\n buttonStyle=\"secondary\"\n data-cy=\"ntm-members-take-action-dropdown-button\"\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.common.takeAction\")}\n >\n <Menu>\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 <MenuItem.Button\n data-cy=\"ntm-deactivate-members-button\"\n disabled={!isUpdatePermissionGranted}\n onClick={() => setAlertType(\"remove\")}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </MenuItem.Button>\n )}\n </Menu>\n </Dropdown>\n </span>\n </Tooltip>\n )}\n <Alert\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 dataCy: \"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 dataCy: \"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 dataCy: \"download-as-pdf-radio-item\",\n },\n];\n","import { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { Button, Pane, Radio, Toastr, Typography } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\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 = exportOptions =>\n setExportOptions(mergeLeft(exportOptions));\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 Toastr.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 => Toastr.error(error),\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 <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography data-cy=\"export-member-heading\" style=\"h2\">\n {t(\"neetoTeamMembers.exportPane.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Radio stacked className=\"grow-0 space-y-4\" label={description}>\n {EXPORT_OPTIONS.map(({ type, bulkExportLabel, dataCy }) => (\n <Radio.Item\n checked={exportType === type}\n data-cy={dataCy}\n key={type}\n label={bulkExportLabel}\n onChange={() => setExportOption({ exportType: type })}\n />\n ))}\n </Radio>\n </Pane.Body>\n <Pane.Footer className=\"gap-x-2\">\n <Button\n data-cy=\"export-submit-button\"\n label={t(\"neetoTeamMembers.buttons.export\")}\n onClick={() => exportMembers({ export: getParams() })}\n />\n <Button\n className=\"mr-2\"\n data-cy=\"export-cancel-button\"\n label={t(\"neetoTeamMembers.buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\n\nexport default ExportPane;\n","import { memo } from \"react\";\n\nimport { taxonomies } from \"neetocommons/initializers\";\nimport NeetoHeader from \"neetomolecules/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 { DEFAULT_PAGE_INDEX } 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\";\nimport { useTableConfigurations } from \"neetomolecules/Columns\";\nimport Container from \"neetomolecules/Container\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Alert, NoData, Table, Spinner } from \"neetoui\";\nimport { assoc, mergeLeft, reverse } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\nimport useFilters from \"src/hooks/useFilters\";\nimport useTeams from \"src/hooks/useTeams\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/pages/members.css\";\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 renderPaginationProps,\n renderUpdateAlert,\n} from \"./utils\";\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 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, 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 className=\"ntm-members\">\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 />\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 <TableWrapper hasPagination={team?.membersCount > filters.pageSize}>\n {team?.membersCount !== 0 ? (\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={customizedColumns}\n currentPageNumber={parseInt(filters.page, DEFAULT_RADIX)}\n data-cy=\"ntm-members-table\"\n handlePageChange={handlePageChange(setFilters, history)}\n loading={isMembersFetching || isTableConfigurationLoading}\n paginationProps={renderPaginationProps(filters.pageSize)}\n rowData={team?.members}\n selectedRowKeys={selectedRows.keys}\n tableLayout=\"fixed\"\n totalCount={team?.membersCount}\n bulkSelectAllRowsProps={{\n selectAllRowMessage: t(\n \"neetoTeamMembers.helpers.selectedMembers\",\n { count: selectedRowsCount }\n ),\n selectAllRowButtonLabel: t(\n \"neetoTeamMembers.helpers.selectAll\",\n { count: team?.membersCount }\n ),\n setBulkSelectedAllRows: setHasBulkSelectedAllRows,\n }}\n rowSelection={{\n getCheckboxProps: () => ({\n \"data-cy\": \"row-selection-checkbox\",\n }),\n }}\n onChange={handleTableChange}\n onColumnHide={({ key }) => hideColumn(key)}\n onRowSelect={handleRowSelect}\n />\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n primaryButtonProps={noDataButtonProps}\n title={noDataTitle}\n />\n </div>\n )}\n </TableWrapper>\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","handlePageChange","pageSize","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","label","style","Tooltip","content","disabled","position","singular","memo","filterBySearchTerm","roles","filter","name","includes","trim","toLower","getDeactivatedButtonVisible","_config$hiddenBulkAct","some","hiddenBulkActions","Menu","Dropdown","MenuItem","RolesDropdown","_ref$disabled","hasUpdatePermission","_ref$isSearchable","isSearchable","_ref$roles","_ref$selectedMembersC","selectedMembersCount","setAlertType","setBulkUpdateRole","isDropdownOpen","setIsDropdownOpen","filteredRoles","isUpdatingAllowed","handleSearch","_ref2","target","handleSelectRole","role","handleOnClose","handleClick","event","stopPropagation","count","buttonStyle","closeOnSelect","customTarget","suffix","Right","size","onClose","className","Input","prefix","Search","type","isNotEmpty","map","_ref3","hyphenate","Typography","Left","_selectedRows$keys","_selectedRows$active","_config$otherBulkActi","filteredCount","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","component","Trans","components","span","values","i18nKey","otherBulkActions","Alert","submitButtonLabel","person","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","dataCy","ExportPane","appliedFilters","hasBulkSelectedAllRows","selectedMemberIds","exportOptions","setExportOptions","setExportOption","getParams","undefined","considerAllMembers","memberIds","_useExportMembers","useExportMembers","_globalProps$user","Toastr","success","email","globalProps","captureAnalyticsEvent","EVENTS","TEAM_MEMBERS_DOWNLOADED","onError","error","exportMembers","description","Pane","Body","Radio","stacked","Item","checked","Footer","_config$header","_config$header2","NeetoHeader","actionBlock","HeaderActionBlock","create","header","otherProps","TeamMembers","_config$fetchApiRespo","_config$table$onDropd","_config$table2","_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","buttonProps","noDataTitle","noDataButtonProps","Spinner","Container","leftActionBlock","SubHeaderActionBlock","rightActionBlock","FiltersBar","setIsPaneOpen","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","parseInt","DEFAULT_RADIX","loading","paginationProps","renderPaginationProps","members","selectedRowKeys","tableLayout","bulkSelectAllRowsProps","selectAllRowMessage","selectAllRowButtonLabel","setBulkSelectedAllRows","rowSelection","getCheckboxProps","onColumnHide","NoData","primaryButtonProps","ManageMember","componentConfig","manageMember","onComplete","cancelButtonLabel","alert","isSubmitting","renderUpdateAlert","withTitle","withReactQuery"],"mappings":"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"}
1
+ {"version":3,"file":"TeamMembers.js","sources":["../app/javascript/src/hooks/useFilters.js","../app/javascript/src/hooks/useTeams.js","../app/javascript/src/components/TeamMembers/ActionBlock/constants.js","../app/javascript/src/components/TeamMembers/ActionBlock/Header.jsx","../app/javascript/src/components/TeamMembers/ActionBlock/utils.js","../app/javascript/src/components/TeamMembers/ActionBlock/RolesDropdown.jsx","../app/javascript/src/components/TeamMembers/ActionBlock/SubHeader.jsx","../app/javascript/src/components/TeamMembers/ExportPane/constants.js","../app/javascript/src/components/TeamMembers/ExportPane/index.jsx","../app/javascript/src/components/TeamMembers/Header.jsx","../app/javascript/src/components/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\";\nimport { isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchFilterOptions } from \"hooks/teams/useTeamsApi\";\n\nimport { DEFAULT_FILTER_VALUES } from \"../components/TeamMembers/constants\";\nimport {\n buildFilterColumns,\n defaultNeetoFiltersColumns,\n} from \"../components/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-cy\": \"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 } 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 \"../components/TeamMembers/constants\";\nimport { handlePageChange } from \"../components/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)(DEFAULT_PAGE_INDEX, filters.pageSize);\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 { noop } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { Button, Tooltip } from \"neetoui\";\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-cy=\"ntm-manage-roles-button\"\n label={MANAGE_ROLES_BUTTON_LABEL}\n style=\"secondary\"\n {...rolesButtonProps}\n />\n ) : null}\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToAddMember\")}\n disabled={isCreatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n {...{ onClick }}\n data-cy=\"ntm-add-member-button\"\n disabled={!isCreatePermissionGranted}\n label={t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.member.singular,\n })}\n />\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 { isNotEmpty, hyphenate } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { Right, Search } from \"neetoicons\";\nimport { Dropdown, Input, Tooltip, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { filterBySearchTerm } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\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 [isDropdownOpen, setIsDropdownOpen] = useState(false);\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 setIsDropdownOpen(false);\n };\n\n const handleOnClose = () => {\n setSearchTerm(\"\");\n setIsDropdownOpen(false);\n };\n\n const handleClick = event => {\n event.stopPropagation();\n setIsDropdownOpen(!isDropdownOpen);\n };\n\n return (\n <Tooltip\n disabled={isUpdatingAllowed}\n position=\"top\"\n content={t(\"neetoTeamMembers.tooltips.activateUserToEdit\", {\n count: selectedMembersCount,\n })}\n >\n <span>\n <Dropdown\n buttonStyle=\"secondary\"\n closeOnSelect={false}\n data-cy=\"ntm-members-roles-update-dropdown-button\"\n disabled={!isUpdatingAllowed}\n isOpen={isUpdatingAllowed && isDropdownOpen}\n position=\"auto-end\"\n customTarget={\n <MenuItem.Button\n data-cy=\"take-action-dropdown-change-role-button\"\n disabled={!isUpdatingAllowed}\n suffix={<Right size={16} />}\n >\n {t(\"neetoTeamMembers.buttons.changeRole\")}\n </MenuItem.Button>\n }\n onClick={handleClick}\n onClose={handleOnClose}\n >\n <Menu>\n {isSearchable && (\n <div\n className=\"neeto-ui-px-3 neeto-ui-py-2\"\n onClick={event => {\n event.stopPropagation();\n }}\n >\n <Input\n data-cy=\"ntm-members-roles-search-input\"\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchRole\",\n PLURAL\n )}\n onChange={handleSearch}\n />\n </div>\n )}\n {isNotEmpty(filteredRoles) ? (\n filteredRoles.map(({ id, name }) => (\n <MenuItem.Button\n data-cy={`change-role-${hyphenate(name)}-button`}\n key={id}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </MenuItem.Button>\n ))\n ) : (\n <div className=\"neeto-ui-flex neeto-ui-justify-center neeto-ui-p-1\">\n <Typography className=\"neeto-ui-text-gray-700\" style=\"body2\">\n {t(\"neetoTeamMembers.helpers.noRolesFound\")}\n </Typography>\n </div>\n )}\n </Menu>\n </Dropdown>\n </span>\n </Tooltip>\n );\n};\n\nexport default RolesDropdown;\n","import { useState } from \"react\";\n\nimport { findBy, isNotEmpty } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { withT } from \"neetocommons/react-utils\";\nimport SubHeaderMolecule from \"neetomolecules/SubHeader\";\nimport { Alert, Dropdown, Tooltip, Typography } from \"neetoui\";\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 { Menu, MenuItem } = Dropdown;\n\nconst Left = ({\n config,\n filteredCount,\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 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=\"neeto-ui-flex neeto-ui-items-center neeto-ui-gap-4\">\n <Typography\n component=\"h4\"\n data-cy=\"ntm-filtered-members-count\"\n style=\"h4\"\n >\n <Trans\n components={{ span: <span className=\"neeto-ui-text-gray-600\" /> }}\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={t(\"neetoTeamMembers.tooltips.noPermissionToEditMembers\")}\n disabled={isUpdatePermissionGranted}\n position=\"top\"\n >\n <span>\n <Dropdown\n buttonStyle=\"secondary\"\n data-cy=\"ntm-members-take-action-dropdown-button\"\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.common.takeAction\")}\n >\n <Menu>\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 <MenuItem.Button\n data-cy=\"ntm-deactivate-members-button\"\n disabled={!isUpdatePermissionGranted}\n onClick={() => setAlertType(\"remove\")}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </MenuItem.Button>\n )}\n </Menu>\n </Dropdown>\n </span>\n </Tooltip>\n )}\n <Alert\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 dataCy: \"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 dataCy: \"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 dataCy: \"download-as-pdf-radio-item\",\n },\n];\n","import { useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { Button, Pane, Radio, Toastr, Typography } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\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 = exportOptions =>\n setExportOptions(mergeLeft(exportOptions));\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 Toastr.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 => Toastr.error(error),\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 <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography data-cy=\"export-member-heading\" style=\"h2\">\n {t(\"neetoTeamMembers.exportPane.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Radio stacked className=\"grow-0 space-y-4\" label={description}>\n {EXPORT_OPTIONS.map(({ type, bulkExportLabel, dataCy }) => (\n <Radio.Item\n checked={exportType === type}\n data-cy={dataCy}\n key={type}\n label={bulkExportLabel}\n onChange={() => setExportOption({ exportType: type })}\n />\n ))}\n </Radio>\n </Pane.Body>\n <Pane.Footer className=\"gap-x-2\">\n <Button\n data-cy=\"export-submit-button\"\n label={t(\"neetoTeamMembers.buttons.export\")}\n onClick={() => exportMembers({ export: getParams() })}\n />\n <Button\n className=\"me-2\"\n data-cy=\"export-cancel-button\"\n label={t(\"neetoTeamMembers.buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\n\nexport default ExportPane;\n","import { memo } from \"react\";\n\nimport { taxonomies } from \"neetocommons/initializers\";\nimport NeetoHeader from \"neetomolecules/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 { DEFAULT_PAGE_INDEX } 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\";\nimport { useTableConfigurations } from \"neetomolecules/Columns\";\nimport Container from \"neetomolecules/Container\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Alert, NoData, Table, Spinner } from \"neetoui\";\nimport { assoc, mergeLeft, reverse } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\nimport useFilters from \"src/hooks/useFilters\";\nimport useTeams from \"src/hooks/useTeams\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/pages/members.css\";\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 renderPaginationProps,\n renderUpdateAlert,\n} from \"./utils\";\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 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, 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 className=\"ntm-members\">\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 />\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 <TableWrapper hasPagination={team?.membersCount > filters.pageSize}>\n {team?.membersCount !== 0 ? (\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={customizedColumns}\n currentPageNumber={parseInt(filters.page, DEFAULT_RADIX)}\n data-cy=\"ntm-members-table\"\n handlePageChange={handlePageChange(setFilters, history)}\n loading={isMembersFetching || isTableConfigurationLoading}\n paginationProps={renderPaginationProps(filters.pageSize)}\n rowData={team?.members}\n selectedRowKeys={selectedRows.keys}\n tableLayout=\"fixed\"\n totalCount={team?.membersCount}\n bulkSelectAllRowsProps={{\n selectAllRowMessage: t(\n \"neetoTeamMembers.helpers.selectedMembers\",\n { count: selectedRowsCount }\n ),\n selectAllRowButtonLabel: t(\n \"neetoTeamMembers.helpers.selectAll\",\n { count: team?.membersCount }\n ),\n setBulkSelectedAllRows: setHasBulkSelectedAllRows,\n }}\n rowSelection={{\n getCheckboxProps: () => ({\n \"data-cy\": \"row-selection-checkbox\",\n }),\n }}\n onChange={handleTableChange}\n onColumnHide={({ key }) => hideColumn(key)}\n onRowSelect={handleRowSelect}\n />\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n primaryButtonProps={noDataButtonProps}\n title={noDataTitle}\n />\n </div>\n )}\n </TableWrapper>\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","handlePageChange","pageSize","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","label","style","Tooltip","content","disabled","position","singular","memo","filterBySearchTerm","roles","filter","name","includes","trim","toLower","getDeactivatedButtonVisible","_config$hiddenBulkAct","some","hiddenBulkActions","Menu","Dropdown","MenuItem","RolesDropdown","_ref$disabled","hasUpdatePermission","_ref$isSearchable","isSearchable","_ref$roles","_ref$selectedMembersC","selectedMembersCount","setAlertType","setBulkUpdateRole","isDropdownOpen","setIsDropdownOpen","filteredRoles","isUpdatingAllowed","handleSearch","_ref2","target","handleSelectRole","role","handleOnClose","handleClick","event","stopPropagation","count","buttonStyle","closeOnSelect","customTarget","suffix","Right","size","onClose","className","Input","prefix","Search","type","isNotEmpty","map","_ref3","hyphenate","Typography","Left","_selectedRows$keys","_selectedRows$active","_config$otherBulkActi","filteredCount","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","component","Trans","components","span","values","i18nKey","otherBulkActions","Alert","submitButtonLabel","person","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","dataCy","ExportPane","appliedFilters","hasBulkSelectedAllRows","selectedMemberIds","exportOptions","setExportOptions","setExportOption","getParams","undefined","considerAllMembers","memberIds","_useExportMembers","useExportMembers","_globalProps$user","Toastr","success","email","globalProps","captureAnalyticsEvent","EVENTS","TEAM_MEMBERS_DOWNLOADED","onError","error","exportMembers","description","Pane","Body","Radio","stacked","Item","checked","Footer","_config$header","_config$header2","NeetoHeader","actionBlock","HeaderActionBlock","create","header","otherProps","TeamMembers","_config$fetchApiRespo","_config$table$onDropd","_config$table2","_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","buttonProps","noDataTitle","noDataButtonProps","Spinner","Container","leftActionBlock","SubHeaderActionBlock","rightActionBlock","FiltersBar","setIsPaneOpen","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","parseInt","DEFAULT_RADIX","loading","paginationProps","renderPaginationProps","members","selectedRowKeys","tableLayout","bulkSelectAllRowsProps","selectAllRowMessage","selectAllRowButtonLabel","setBulkSelectedAllRows","rowSelection","getCheckboxProps","onColumnHide","NoData","primaryButtonProps","ManageMember","componentConfig","manageMember","onComplete","cancelButtonLabel","alert","isSubmitting","renderUpdateAlert","withTitle","withReactQuery"],"mappings":"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"}
@@ -200,7 +200,7 @@ var Tab = withT(function (_ref) {
200
200
  style: "text",
201
201
  onClick: removeValue
202
202
  }), /*#__PURE__*/jsx("span", {
203
- className: "neeto-ui-text-gray-800 ml-1 truncate font-medium",
203
+ className: "neeto-ui-text-gray-800 ms-1 truncate font-medium",
204
204
  children: value
205
205
  })]
206
206
  }) : /*#__PURE__*/jsx("span", {
@@ -322,7 +322,7 @@ var Button = function Button(_ref) {
322
322
  _ref$handleClick = _ref.handleClick,
323
323
  handleClick = _ref$handleClick === void 0 ? noop : _ref$handleClick;
324
324
  return /*#__PURE__*/jsx("button", {
325
- className: "w-full text-left",
325
+ className: "w-full text-start",
326
326
  onClick: handleClick,
327
327
  children: /*#__PURE__*/jsxs("a", {
328
328
  className: classnames([{
@@ -1 +1 @@
1
- {"version":3,"file":"TeamsAndMembersDropdown.js","sources":["../app/javascript/src/components/TeamsAndMembersDropdown/constants.js","../app/javascript/src/components/TeamsAndMembersDropdown/SelectMember.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/SelectTeam.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/TabBody.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/TabHeader.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/DropDownContent.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/Button.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/Target.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/index.jsx"],"sourcesContent":["export const TABS = { TEAMS_TAB: \"teams\", MEMBERS_TAB: \"members\" };\n\nexport const MEMBER_FILTERS = {\n CONTINUE_ASSIGNING: \"availableForDesk\",\n};\n","import classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nconst SelectMember = withT(\n ({ t, members, setMember, selectedMember, loadingMember }) => (\n <>\n {isNotEmpty(members) ? (\n members?.map(member => (\n <li\n data-cy=\"agent-options\"\n key={member.value}\n className={classnames({\n active: selectedMember && selectedMember.value === member.value,\n loading: loadingMember && loadingMember === member.value,\n })}\n onClick={event => {\n event.preventDefault();\n if (!loadingMember) {\n setMember(member);\n }\n }}\n >\n <span className=\"truncate\">{member.label}</span>\n </li>\n ))\n ) : (\n <li className=\"flex justify-center\">\n <Typography className=\"px-3\">\n {t(\"neetoTeamMembers.helpers.noRecords\")}\n </Typography>\n </li>\n )}\n </>\n )\n);\n\nexport default SelectMember;\n","import classnames from \"classnames\";\n\nconst SelectTeam = ({ teams, setTeam, selectedTeam, loadingTeam }) => (\n <>\n {teams?.map(group => (\n <li\n data-cy=\"group-options\"\n key={group.value}\n className={classnames({\n active: selectedTeam && selectedTeam.value === group.value,\n loading: loadingTeam && loadingTeam === group.value,\n })}\n onClick={event => {\n event.preventDefault();\n if (!loadingTeam) {\n setTeam(group);\n }\n }}\n >\n {group.label}\n </li>\n ))}\n </>\n);\n\nexport default SelectTeam;\n","import { useState, useEffect, useMemo } from \"react\";\n\nimport { slugify } from \"neetocist\";\nimport { Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TABS } from \"./constants\";\nimport SelectMember from \"./SelectMember\";\nimport SelectTeam from \"./SelectTeam\";\n\nconst TabBody = ({\n selectedTab,\n teams,\n teamTitle,\n members,\n setMember,\n setTeam,\n selectedMember,\n selectedTeam,\n loading,\n memberTitle,\n showTeams,\n}) => {\n const [memberString, setMemberString] = useState(\"\");\n const [teamString, setTeamString] = useState(\"\");\n\n const { t } = useTranslation();\n\n useEffect(() => {\n setMemberString(\"\");\n }, [selectedMember]);\n\n useEffect(() => {\n setTeamString(\"\");\n }, [selectedTeam]);\n\n const filteredMembers = useMemo(\n () =>\n members?.filter(\n member =>\n member.label?.toLowerCase().indexOf(memberString.toLowerCase()) > -1\n ),\n [members, memberString]\n );\n\n const filteredTeams = useMemo(\n () =>\n teams?.filter(\n team => team.label?.toLowerCase().indexOf(teamString.toLowerCase()) > -1\n ),\n [teams, teamString]\n );\n\n const teamInputProps = {\n value: teamString,\n placeholder: t(\"neetoTeamMembers.placeholders.searchEntity\", {\n entity: teamTitle,\n }),\n onChange: event => setTeamString(event.target.value.trimStart()),\n };\n\n const memberInputProps = {\n value: memberString,\n placeholder: t(\"neetoTeamMembers.placeholders.searchEntity\", {\n entity: memberTitle,\n }),\n onChange: event => setMemberString(event.target.value.trimStart()),\n };\n\n const isTeamTab = useMemo(\n () => selectedTab === TABS.TEAMS_TAB && showTeams,\n [selectedTab]\n );\n\n const inputProps = isTeamTab ? teamInputProps : memberInputProps;\n\n return (\n <>\n <div className=\"px-4 py-2\">\n <Input\n {...inputProps}\n data-test-id={`tickets-${slugify(inputProps.placeholder)}`}\n />\n </div>\n <div className=\"max-h-56 w-72 overflow-y-auto\">\n {isTeamTab ? (\n <SelectTeam\n {...{ selectedTeam, setTeam }}\n loadingTeam={loading.team}\n teams={filteredTeams}\n />\n ) : (\n <SelectMember\n {...{ selectedMember, setMember }}\n loadingMember={loading.member}\n members={filteredMembers}\n />\n )}\n </div>\n </>\n );\n};\n\nexport default TabBody;\n","import classnames from \"classnames\";\nimport { slugify } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { RemoveCircle } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nimport { TABS } from \"./constants\";\n\nconst Tab = withT(\n ({ t, title, value, onClick, active, removeValue, loading }) => (\n <div className=\"w-1/2 cursor-pointer\">\n <div\n {...{ onClick }}\n className={classnames([\"neeto-ui-text-gray-500 border-b-2 px-4 py-4\"], {\n \"neeto-ui-text-gray-600 neeto-ui-border-primary-500 neeto-ui-bg-white\":\n active,\n })}\n >\n <div\n className=\"neeto-ui-text-gray-800 mb-1.5 text-xs font-semibold uppercase tracking-wide\"\n data-cy=\"select-group-or-agent\"\n data-test-id={`select-${slugify(title)}`}\n >\n {title}\n </div>\n <div\n className=\"neeto-ui-text-gray-400 flex flex-row items-center justify-start text-sm font-normal\"\n data-cy=\"ticket-table-assignee-or-group\"\n >\n {loading && (\n <span className=\"bp3-skeleton flex justify-center\">\n {t(\"neetoTeamMembers.common.loading\")}\n </span>\n )}\n {!loading &&\n (value ? (\n <>\n <Button\n className=\"neeto-ui-text-error-600 shrink-0\"\n icon={RemoveCircle}\n style=\"text\"\n onClick={removeValue}\n />\n <span className=\"neeto-ui-text-gray-800 ml-1 truncate font-medium\">\n {value}\n </span>\n </>\n ) : (\n <span className=\"neeto-ui-text-gray-600 py-1.5\">--</span>\n ))}\n </div>\n </div>\n </div>\n )\n);\n\nconst TabHeader = ({\n selectedTab,\n setSelectedTab,\n selectedMember,\n selectedTeam,\n onClearMember,\n onClearTeam,\n loading,\n showTeams,\n teamTitle,\n memberTitle,\n}) => {\n const teamTab = selectedTab === TABS.TEAMS_TAB;\n const memberTab = selectedTab === TABS.MEMBERS_TAB;\n\n return (\n <div className=\"neeto-ui-bg-gray-100 -mt-2 flex w-72 flex-row items-center justify-start\">\n {showTeams && (\n <Tab\n active={teamTab}\n loading={!!loading.team}\n removeValue={onClearTeam}\n title={teamTitle}\n value={selectedTeam?.value ? selectedTeam.label : null}\n onClick={() => setSelectedTab(TABS.TEAMS_TAB)}\n />\n )}\n <Tab\n active={memberTab}\n loading={!!loading.member}\n removeValue={onClearMember}\n title={memberTitle}\n value={selectedMember?.value ? selectedMember.label : null}\n onClick={() => setSelectedTab(TABS.MEMBERS_TAB)}\n />\n </div>\n );\n};\n\nexport default TabHeader;\n","import { useMemo, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { prop, filter } from \"ramda\";\n\nimport { TABS } from \"./constants\";\nimport TabBody from \"./TabBody\";\nimport TabHeader from \"./TabHeader\";\n\nconst DropDownContent = ({\n selectedMember,\n selectedTeam,\n setSelectedTeam,\n setSelectedMember,\n members,\n teams,\n filterMembersBy,\n loading,\n teamTitle,\n memberTitle,\n}) => {\n const [selectedTab, setSelectedTab] = useState(TABS.TEAMS_TAB);\n\n const showTeams = useMemo(() => isNotEmpty(teams), [teams]);\n\n const handleSelectTeam = team => {\n setSelectedTeam(team);\n setSelectedTab(TABS.MEMBERS_TAB);\n };\n\n const handleSelectMember = member => {\n setSelectedMember(member);\n };\n\n const filterMembers = members => {\n if (filterMembersBy === null) {\n return members;\n }\n\n return filter(prop(filterMembersBy), members);\n };\n\n return (\n <>\n <TabHeader\n {...{\n loading,\n memberTitle,\n selectedMember,\n selectedTab,\n selectedTeam,\n setSelectedTab,\n showTeams,\n teamTitle,\n }}\n onClearMember={() => setSelectedMember({ id: null })}\n onClearTeam={() => setSelectedTeam({ id: null })}\n />\n <TabBody\n {...{\n loading,\n memberTitle,\n selectedMember,\n selectedTab,\n selectedTeam,\n showTeams,\n teamTitle,\n teams,\n }}\n setMember={handleSelectMember}\n setTeam={handleSelectTeam}\n members={\n selectedTeam?.members ? filterMembers(selectedTeam.members) : members\n }\n />\n </>\n );\n};\n\nexport default DropDownContent;\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Down } from \"neetoicons\";\n\nconst Button = ({ label, disabled = false, handleClick = noop }) => (\n <button className=\"w-full text-left\" onClick={handleClick}>\n <a\n className={classnames([\n { \"cursor-not-allowed opacity-50\": disabled },\n \"neeto-ui-btn neeto-ui-btn--style-text neeto-ui-btn--width-full neeto-ui-btn--size-medium justify-start\",\n ])}\n >\n <span\n className=\"neeto-ui-btn__label overflow-hidden text-ellipsis whitespace-nowrap\"\n style={{\n width: label !== \"--\" ? \"calc(100% - 24px)\" : \"15%\",\n }}\n >\n {label}\n </span>\n <Down className=\"neeto-ui-btn__icon\" size={16} />\n </a>\n </button>\n);\n\nexport default Button;\n","import { memo } from \"react\";\n\nimport { Tooltip } from \"neetoui\";\n\nimport Button from \"./Button\";\n\nconst Target = ({\n isOpen,\n setIsOpen,\n selectedTeam,\n selectedMember,\n canManageTicket,\n module,\n}) => {\n const isChatModule = module === \"chats\";\n\n const clippedString = (string, cap = null) =>\n string && cap && string.length > cap\n ? `${string.substring(0, cap)}...`\n : string;\n\n const renderContent = (charLimit = 0) => {\n if (selectedTeam?.label && selectedMember?.label) {\n return `${clippedString(selectedTeam.label, charLimit)}/${clippedString(\n selectedMember.label,\n charLimit\n )}`;\n }\n\n if (selectedTeam?.label) {\n return `${clippedString(selectedTeam.label, charLimit)}/--`;\n }\n\n return selectedMember?.label || \"--\";\n };\n\n return (\n <Tooltip content={renderContent()}>\n <span>\n {canManageTicket || isChatModule ? (\n <Button\n handleClick={() => setIsOpen(!isOpen)}\n label={renderContent(isChatModule ? 20 : 8)}\n />\n ) : (\n <Button disabled label={renderContent(isChatModule ? 20 : 8)} />\n )}\n </span>\n </Tooltip>\n );\n};\nexport default memo(Target);\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Dropdown } from \"neetoui\";\nimport { prop, filter } from \"ramda\";\n\nimport DropDownContent from \"./DropDownContent\";\nimport Target from \"./Target\";\n\nconst TeamsAndMembersDropdown = ({ config }) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const dropdownRef = useRef(null);\n\n useOnClickOutside(dropdownRef, () => setIsOpen(false));\n\n useEffect(() => {\n if (config?.loading.member) return;\n setIsOpen(false);\n }, [config?.loading.member]);\n\n return (\n <div className=\"inline\" ref={dropdownRef}>\n <div className=\"max-w-40\">\n <Dropdown\n {...{ isOpen }}\n closeOnSelect={false}\n strategy=\"fixed\"\n customTarget={() => (\n <Target\n {...{ isOpen, setIsOpen }}\n canManageTicket={config?.canManageTicket}\n module={config?.module}\n selectedMember={config?.selectedMember}\n selectedTeam={config?.selectedTeam}\n />\n )}\n onClose={() => setIsOpen(false)}\n >\n <DropDownContent\n filterMembersBy={config?.filterMembersBy}\n loading={config?.loading}\n memberTitle={config?.memberTitle}\n selectedMember={config?.selectedMember}\n selectedTeam={config?.selectedTeam}\n setSelectedMember={config?.setSelectedMember}\n setSelectedTeam={config?.setSelectedTeam}\n teamTitle={config?.teamTitle}\n teams={config?.teams}\n members={\n config?.filterMembersBy\n ? filter(prop(config?.filterMembersBy), config?.members)\n : config?.members\n }\n />\n </Dropdown>\n </div>\n </div>\n );\n};\n\nexport default TeamsAndMembersDropdown;\n"],"names":["TABS","TEAMS_TAB","MEMBERS_TAB","SelectMember","withT","_ref","t","members","setMember","selectedMember","loadingMember","_jsx","_Fragment","children","isNotEmpty","map","member","className","classnames","active","value","loading","onClick","event","preventDefault","label","Typography","SelectTeam","teams","setTeam","selectedTeam","loadingTeam","group","TabBody","selectedTab","teamTitle","memberTitle","showTeams","_useState","useState","_useState2","_slicedToArray","memberString","setMemberString","_useState3","_useState4","teamString","setTeamString","_useTranslation","useTranslation","useEffect","filteredMembers","useMemo","filter","_member$label","toLowerCase","indexOf","filteredTeams","team","_team$label","teamInputProps","placeholder","entity","onChange","target","trimStart","memberInputProps","isTeamTab","inputProps","_jsxs","Input","_objectSpread","concat","slugify","Tab","title","removeValue","Button","icon","RemoveCircle","style","TabHeader","_ref2","setSelectedTab","onClearMember","onClearTeam","teamTab","memberTab","DropDownContent","setSelectedTeam","setSelectedMember","filterMembersBy","handleSelectTeam","handleSelectMember","filterMembers","prop","id","_ref$disabled","disabled","_ref$handleClick","handleClick","noop","width","Down","size","Target","isOpen","setIsOpen","canManageTicket","module","isChatModule","clippedString","string","cap","arguments","length","undefined","substring","renderContent","charLimit","Tooltip","content","memo","TeamsAndMembersDropdown","config","dropdownRef","useRef","useOnClickOutside","ref","Dropdown","closeOnSelect","strategy","customTarget","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"TeamsAndMembersDropdown.js","sources":["../app/javascript/src/components/TeamsAndMembersDropdown/constants.js","../app/javascript/src/components/TeamsAndMembersDropdown/SelectMember.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/SelectTeam.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/TabBody.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/TabHeader.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/DropDownContent.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/Button.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/Target.jsx","../app/javascript/src/components/TeamsAndMembersDropdown/index.jsx"],"sourcesContent":["export const TABS = { TEAMS_TAB: \"teams\", MEMBERS_TAB: \"members\" };\n\nexport const MEMBER_FILTERS = {\n CONTINUE_ASSIGNING: \"availableForDesk\",\n};\n","import classnames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Typography } from \"neetoui\";\n\nconst SelectMember = withT(\n ({ t, members, setMember, selectedMember, loadingMember }) => (\n <>\n {isNotEmpty(members) ? (\n members?.map(member => (\n <li\n data-cy=\"agent-options\"\n key={member.value}\n className={classnames({\n active: selectedMember && selectedMember.value === member.value,\n loading: loadingMember && loadingMember === member.value,\n })}\n onClick={event => {\n event.preventDefault();\n if (!loadingMember) {\n setMember(member);\n }\n }}\n >\n <span className=\"truncate\">{member.label}</span>\n </li>\n ))\n ) : (\n <li className=\"flex justify-center\">\n <Typography className=\"px-3\">\n {t(\"neetoTeamMembers.helpers.noRecords\")}\n </Typography>\n </li>\n )}\n </>\n )\n);\n\nexport default SelectMember;\n","import classnames from \"classnames\";\n\nconst SelectTeam = ({ teams, setTeam, selectedTeam, loadingTeam }) => (\n <>\n {teams?.map(group => (\n <li\n data-cy=\"group-options\"\n key={group.value}\n className={classnames({\n active: selectedTeam && selectedTeam.value === group.value,\n loading: loadingTeam && loadingTeam === group.value,\n })}\n onClick={event => {\n event.preventDefault();\n if (!loadingTeam) {\n setTeam(group);\n }\n }}\n >\n {group.label}\n </li>\n ))}\n </>\n);\n\nexport default SelectTeam;\n","import { useState, useEffect, useMemo } from \"react\";\n\nimport { slugify } from \"neetocist\";\nimport { Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TABS } from \"./constants\";\nimport SelectMember from \"./SelectMember\";\nimport SelectTeam from \"./SelectTeam\";\n\nconst TabBody = ({\n selectedTab,\n teams,\n teamTitle,\n members,\n setMember,\n setTeam,\n selectedMember,\n selectedTeam,\n loading,\n memberTitle,\n showTeams,\n}) => {\n const [memberString, setMemberString] = useState(\"\");\n const [teamString, setTeamString] = useState(\"\");\n\n const { t } = useTranslation();\n\n useEffect(() => {\n setMemberString(\"\");\n }, [selectedMember]);\n\n useEffect(() => {\n setTeamString(\"\");\n }, [selectedTeam]);\n\n const filteredMembers = useMemo(\n () =>\n members?.filter(\n member =>\n member.label?.toLowerCase().indexOf(memberString.toLowerCase()) > -1\n ),\n [members, memberString]\n );\n\n const filteredTeams = useMemo(\n () =>\n teams?.filter(\n team => team.label?.toLowerCase().indexOf(teamString.toLowerCase()) > -1\n ),\n [teams, teamString]\n );\n\n const teamInputProps = {\n value: teamString,\n placeholder: t(\"neetoTeamMembers.placeholders.searchEntity\", {\n entity: teamTitle,\n }),\n onChange: event => setTeamString(event.target.value.trimStart()),\n };\n\n const memberInputProps = {\n value: memberString,\n placeholder: t(\"neetoTeamMembers.placeholders.searchEntity\", {\n entity: memberTitle,\n }),\n onChange: event => setMemberString(event.target.value.trimStart()),\n };\n\n const isTeamTab = useMemo(\n () => selectedTab === TABS.TEAMS_TAB && showTeams,\n [selectedTab]\n );\n\n const inputProps = isTeamTab ? teamInputProps : memberInputProps;\n\n return (\n <>\n <div className=\"px-4 py-2\">\n <Input\n {...inputProps}\n data-test-id={`tickets-${slugify(inputProps.placeholder)}`}\n />\n </div>\n <div className=\"max-h-56 w-72 overflow-y-auto\">\n {isTeamTab ? (\n <SelectTeam\n {...{ selectedTeam, setTeam }}\n loadingTeam={loading.team}\n teams={filteredTeams}\n />\n ) : (\n <SelectMember\n {...{ selectedMember, setMember }}\n loadingMember={loading.member}\n members={filteredMembers}\n />\n )}\n </div>\n </>\n );\n};\n\nexport default TabBody;\n","import classnames from \"classnames\";\nimport { slugify } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { RemoveCircle } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nimport { TABS } from \"./constants\";\n\nconst Tab = withT(\n ({ t, title, value, onClick, active, removeValue, loading }) => (\n <div className=\"w-1/2 cursor-pointer\">\n <div\n {...{ onClick }}\n className={classnames([\"neeto-ui-text-gray-500 border-b-2 px-4 py-4\"], {\n \"neeto-ui-text-gray-600 neeto-ui-border-primary-500 neeto-ui-bg-white\":\n active,\n })}\n >\n <div\n className=\"neeto-ui-text-gray-800 mb-1.5 text-xs font-semibold uppercase tracking-wide\"\n data-cy=\"select-group-or-agent\"\n data-test-id={`select-${slugify(title)}`}\n >\n {title}\n </div>\n <div\n className=\"neeto-ui-text-gray-400 flex flex-row items-center justify-start text-sm font-normal\"\n data-cy=\"ticket-table-assignee-or-group\"\n >\n {loading && (\n <span className=\"bp3-skeleton flex justify-center\">\n {t(\"neetoTeamMembers.common.loading\")}\n </span>\n )}\n {!loading &&\n (value ? (\n <>\n <Button\n className=\"neeto-ui-text-error-600 shrink-0\"\n icon={RemoveCircle}\n style=\"text\"\n onClick={removeValue}\n />\n <span className=\"neeto-ui-text-gray-800 ms-1 truncate font-medium\">\n {value}\n </span>\n </>\n ) : (\n <span className=\"neeto-ui-text-gray-600 py-1.5\">--</span>\n ))}\n </div>\n </div>\n </div>\n )\n);\n\nconst TabHeader = ({\n selectedTab,\n setSelectedTab,\n selectedMember,\n selectedTeam,\n onClearMember,\n onClearTeam,\n loading,\n showTeams,\n teamTitle,\n memberTitle,\n}) => {\n const teamTab = selectedTab === TABS.TEAMS_TAB;\n const memberTab = selectedTab === TABS.MEMBERS_TAB;\n\n return (\n <div className=\"neeto-ui-bg-gray-100 -mt-2 flex w-72 flex-row items-center justify-start\">\n {showTeams && (\n <Tab\n active={teamTab}\n loading={!!loading.team}\n removeValue={onClearTeam}\n title={teamTitle}\n value={selectedTeam?.value ? selectedTeam.label : null}\n onClick={() => setSelectedTab(TABS.TEAMS_TAB)}\n />\n )}\n <Tab\n active={memberTab}\n loading={!!loading.member}\n removeValue={onClearMember}\n title={memberTitle}\n value={selectedMember?.value ? selectedMember.label : null}\n onClick={() => setSelectedTab(TABS.MEMBERS_TAB)}\n />\n </div>\n );\n};\n\nexport default TabHeader;\n","import { useMemo, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { prop, filter } from \"ramda\";\n\nimport { TABS } from \"./constants\";\nimport TabBody from \"./TabBody\";\nimport TabHeader from \"./TabHeader\";\n\nconst DropDownContent = ({\n selectedMember,\n selectedTeam,\n setSelectedTeam,\n setSelectedMember,\n members,\n teams,\n filterMembersBy,\n loading,\n teamTitle,\n memberTitle,\n}) => {\n const [selectedTab, setSelectedTab] = useState(TABS.TEAMS_TAB);\n\n const showTeams = useMemo(() => isNotEmpty(teams), [teams]);\n\n const handleSelectTeam = team => {\n setSelectedTeam(team);\n setSelectedTab(TABS.MEMBERS_TAB);\n };\n\n const handleSelectMember = member => {\n setSelectedMember(member);\n };\n\n const filterMembers = members => {\n if (filterMembersBy === null) {\n return members;\n }\n\n return filter(prop(filterMembersBy), members);\n };\n\n return (\n <>\n <TabHeader\n {...{\n loading,\n memberTitle,\n selectedMember,\n selectedTab,\n selectedTeam,\n setSelectedTab,\n showTeams,\n teamTitle,\n }}\n onClearMember={() => setSelectedMember({ id: null })}\n onClearTeam={() => setSelectedTeam({ id: null })}\n />\n <TabBody\n {...{\n loading,\n memberTitle,\n selectedMember,\n selectedTab,\n selectedTeam,\n showTeams,\n teamTitle,\n teams,\n }}\n setMember={handleSelectMember}\n setTeam={handleSelectTeam}\n members={\n selectedTeam?.members ? filterMembers(selectedTeam.members) : members\n }\n />\n </>\n );\n};\n\nexport default DropDownContent;\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Down } from \"neetoicons\";\n\nconst Button = ({ label, disabled = false, handleClick = noop }) => (\n <button className=\"w-full text-start\" onClick={handleClick}>\n <a\n className={classnames([\n { \"cursor-not-allowed opacity-50\": disabled },\n \"neeto-ui-btn neeto-ui-btn--style-text neeto-ui-btn--width-full neeto-ui-btn--size-medium justify-start\",\n ])}\n >\n <span\n className=\"neeto-ui-btn__label overflow-hidden text-ellipsis whitespace-nowrap\"\n style={{\n width: label !== \"--\" ? \"calc(100% - 24px)\" : \"15%\",\n }}\n >\n {label}\n </span>\n <Down className=\"neeto-ui-btn__icon\" size={16} />\n </a>\n </button>\n);\n\nexport default Button;\n","import { memo } from \"react\";\n\nimport { Tooltip } from \"neetoui\";\n\nimport Button from \"./Button\";\n\nconst Target = ({\n isOpen,\n setIsOpen,\n selectedTeam,\n selectedMember,\n canManageTicket,\n module,\n}) => {\n const isChatModule = module === \"chats\";\n\n const clippedString = (string, cap = null) =>\n string && cap && string.length > cap\n ? `${string.substring(0, cap)}...`\n : string;\n\n const renderContent = (charLimit = 0) => {\n if (selectedTeam?.label && selectedMember?.label) {\n return `${clippedString(selectedTeam.label, charLimit)}/${clippedString(\n selectedMember.label,\n charLimit\n )}`;\n }\n\n if (selectedTeam?.label) {\n return `${clippedString(selectedTeam.label, charLimit)}/--`;\n }\n\n return selectedMember?.label || \"--\";\n };\n\n return (\n <Tooltip content={renderContent()}>\n <span>\n {canManageTicket || isChatModule ? (\n <Button\n handleClick={() => setIsOpen(!isOpen)}\n label={renderContent(isChatModule ? 20 : 8)}\n />\n ) : (\n <Button disabled label={renderContent(isChatModule ? 20 : 8)} />\n )}\n </span>\n </Tooltip>\n );\n};\nexport default memo(Target);\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Dropdown } from \"neetoui\";\nimport { prop, filter } from \"ramda\";\n\nimport DropDownContent from \"./DropDownContent\";\nimport Target from \"./Target\";\n\nconst TeamsAndMembersDropdown = ({ config }) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const dropdownRef = useRef(null);\n\n useOnClickOutside(dropdownRef, () => setIsOpen(false));\n\n useEffect(() => {\n if (config?.loading.member) return;\n setIsOpen(false);\n }, [config?.loading.member]);\n\n return (\n <div className=\"inline\" ref={dropdownRef}>\n <div className=\"max-w-40\">\n <Dropdown\n {...{ isOpen }}\n closeOnSelect={false}\n strategy=\"fixed\"\n customTarget={() => (\n <Target\n {...{ isOpen, setIsOpen }}\n canManageTicket={config?.canManageTicket}\n module={config?.module}\n selectedMember={config?.selectedMember}\n selectedTeam={config?.selectedTeam}\n />\n )}\n onClose={() => setIsOpen(false)}\n >\n <DropDownContent\n filterMembersBy={config?.filterMembersBy}\n loading={config?.loading}\n memberTitle={config?.memberTitle}\n selectedMember={config?.selectedMember}\n selectedTeam={config?.selectedTeam}\n setSelectedMember={config?.setSelectedMember}\n setSelectedTeam={config?.setSelectedTeam}\n teamTitle={config?.teamTitle}\n teams={config?.teams}\n members={\n config?.filterMembersBy\n ? filter(prop(config?.filterMembersBy), config?.members)\n : config?.members\n }\n />\n </Dropdown>\n </div>\n </div>\n );\n};\n\nexport default TeamsAndMembersDropdown;\n"],"names":["TABS","TEAMS_TAB","MEMBERS_TAB","SelectMember","withT","_ref","t","members","setMember","selectedMember","loadingMember","_jsx","_Fragment","children","isNotEmpty","map","member","className","classnames","active","value","loading","onClick","event","preventDefault","label","Typography","SelectTeam","teams","setTeam","selectedTeam","loadingTeam","group","TabBody","selectedTab","teamTitle","memberTitle","showTeams","_useState","useState","_useState2","_slicedToArray","memberString","setMemberString","_useState3","_useState4","teamString","setTeamString","_useTranslation","useTranslation","useEffect","filteredMembers","useMemo","filter","_member$label","toLowerCase","indexOf","filteredTeams","team","_team$label","teamInputProps","placeholder","entity","onChange","target","trimStart","memberInputProps","isTeamTab","inputProps","_jsxs","Input","_objectSpread","concat","slugify","Tab","title","removeValue","Button","icon","RemoveCircle","style","TabHeader","_ref2","setSelectedTab","onClearMember","onClearTeam","teamTab","memberTab","DropDownContent","setSelectedTeam","setSelectedMember","filterMembersBy","handleSelectTeam","handleSelectMember","filterMembers","prop","id","_ref$disabled","disabled","_ref$handleClick","handleClick","noop","width","Down","size","Target","isOpen","setIsOpen","canManageTicket","module","isChatModule","clippedString","string","cap","arguments","length","undefined","substring","renderContent","charLimit","Tooltip","content","memo","TeamsAndMembersDropdown","config","dropdownRef","useRef","useOnClickOutside","ref","Dropdown","closeOnSelect","strategy","customTarget","onClose"],"mappings":"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"}
@@ -5,7 +5,7 @@ import Dropdown from '@bigbinary/neetoui/Dropdown';
5
5
  import Spinner from '@bigbinary/neetoui/Spinner';
6
6
  import { isEmpty } from 'ramda';
7
7
  import { useTranslation } from 'react-i18next';
8
- import { A as AssignList } from './index-CydUiAGI.js';
8
+ import { A as AssignList } from './index-Dni0XtJI.js';
9
9
  import Down from '@bigbinary/neeto-icons/Down';
10
10
  import { jsxs, jsx } from 'react/jsx-runtime';
11
11
  import './inject-css-DmrvuTKK.js';