@bigbinary/neeto-team-members-frontend 5.0.29 → 5.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.ready +1 -1
- package/dist/ActionBlock-C9Iy0jGZ.js +53 -0
- package/dist/ActionBlock-C9Iy0jGZ.js.map +1 -0
- package/dist/ActionBlock-jgw1N-As.js +46 -0
- package/dist/ActionBlock-jgw1N-As.js.map +1 -0
- package/dist/Groups.js +1 -0
- package/dist/Groups.js.map +1 -1
- package/dist/InviteLinkError-AphtWLhe.js +63 -0
- package/dist/InviteLinkError-AphtWLhe.js.map +1 -0
- package/dist/InviteLinkError-C6OLGrD0.js +41 -0
- package/dist/InviteLinkError-C6OLGrD0.js.map +1 -0
- package/dist/ManageMember.js +1 -0
- package/dist/ManageMember.js.map +1 -1
- package/dist/MembersInvite.js +1 -38
- package/dist/MembersInvite.js.map +1 -1
- package/dist/Permissions-3L2jJkiY.js +233 -0
- package/dist/Permissions-3L2jJkiY.js.map +1 -0
- package/dist/Permissions-CpmpfRk1.js +244 -0
- package/dist/Permissions-CpmpfRk1.js.map +1 -0
- package/dist/Roles.js +3 -1398
- package/dist/Roles.js.map +1 -1
- package/dist/RolesRadioGroup-fBmS68cW.js +393 -0
- package/dist/RolesRadioGroup-fBmS68cW.js.map +1 -0
- package/dist/RolesRadioGroup-tSNC-Wtu.js +352 -0
- package/dist/RolesRadioGroup-tSNC-Wtu.js.map +1 -0
- package/dist/Select-CshPoN2b.js +119 -0
- package/dist/Select-CshPoN2b.js.map +1 -0
- package/dist/Select-DZ56UG-l.js +109 -0
- package/dist/Select-DZ56UG-l.js.map +1 -0
- package/dist/TeamMembers.js +1 -0
- package/dist/TeamMembers.js.map +1 -1
- package/dist/cjs/Groups.js +1 -0
- package/dist/cjs/Groups.js.map +1 -1
- package/dist/cjs/ManageMember.js +1 -0
- package/dist/cjs/ManageMember.js.map +1 -1
- package/dist/cjs/MembersInvite.js +2 -39
- package/dist/cjs/MembersInvite.js.map +1 -1
- package/dist/cjs/Roles.js +6 -1402
- package/dist/cjs/Roles.js.map +1 -1
- package/dist/cjs/TeamMembers.js +1 -0
- package/dist/cjs/TeamMembers.js.map +1 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils.js +3 -512
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/v2/Groups.js +781 -0
- package/dist/cjs/v2/Groups.js.map +1 -0
- package/dist/cjs/v2/ManageMember.js +49 -0
- package/dist/cjs/v2/ManageMember.js.map +1 -0
- package/dist/cjs/v2/MembersDropdown.js +200 -0
- package/dist/cjs/v2/MembersDropdown.js.map +1 -0
- package/dist/cjs/v2/MembersInvite.js +270 -0
- package/dist/cjs/v2/MembersInvite.js.map +1 -0
- package/dist/cjs/v2/Permissions.js +19 -0
- package/dist/cjs/v2/Permissions.js.map +1 -0
- package/dist/cjs/v2/Profile.js +686 -0
- package/dist/cjs/v2/Profile.js.map +1 -0
- package/dist/cjs/v2/Roles.js +1258 -0
- package/dist/cjs/v2/Roles.js.map +1 -0
- package/dist/cjs/v2/RolesRadioGroup.js +26 -0
- package/dist/cjs/v2/RolesRadioGroup.js.map +1 -0
- package/dist/cjs/v2/TeamMembers.js +947 -0
- package/dist/cjs/v2/TeamMembers.js.map +1 -0
- package/dist/cjs/v2/TeamsAndMembersDropdown.js +438 -0
- package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -0
- package/dist/cjs/v2/TeamsDropdown.js +112 -0
- package/dist/cjs/v2/TeamsDropdown.js.map +1 -0
- package/dist/cjs/v2/constants.js +28 -0
- package/dist/cjs/v2/constants.js.map +1 -0
- package/dist/cjs/v2/hooks.js +33 -0
- package/dist/cjs/v2/hooks.js.map +1 -0
- package/dist/cjs/v2/utils.js +34 -0
- package/dist/cjs/v2/utils.js.map +1 -0
- package/dist/constants-B1L6arSR.js +49 -0
- package/dist/constants-B1L6arSR.js.map +1 -0
- package/dist/constants-CMNbKvoF.js +61 -0
- package/dist/constants-CMNbKvoF.js.map +1 -0
- package/dist/index-BkEJugj1.js +184 -0
- package/dist/index-BkEJugj1.js.map +1 -0
- package/dist/index-C6ph58Vg.js +169 -0
- package/dist/index-C6ph58Vg.js.map +1 -0
- package/dist/index-DFIYLo4H.js +1334 -0
- package/dist/index-DFIYLo4H.js.map +1 -0
- package/dist/index-DXwn-_HJ.js +1309 -0
- package/dist/index-DXwn-_HJ.js.map +1 -0
- package/dist/index-DeYRFiJy.js +119 -0
- package/dist/index-DeYRFiJy.js.map +1 -0
- package/dist/index-DqqXniGT.js +126 -0
- package/dist/index-DqqXniGT.js.map +1 -0
- package/dist/index-Dus0cbgo.js +1407 -0
- package/dist/index-Dus0cbgo.js.map +1 -0
- package/dist/index-ureO6U2w.js +1401 -0
- package/dist/index-ureO6U2w.js.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/pluralize-BoSEafiC.js +514 -0
- package/dist/pluralize-BoSEafiC.js.map +1 -0
- package/dist/pluralize-CFlSRsRn.js +516 -0
- package/dist/pluralize-CFlSRsRn.js.map +1 -0
- package/dist/queryClient-B-JFya8X.js +16 -0
- package/dist/queryClient-B-JFya8X.js.map +1 -0
- package/dist/queryClient-BncpekSV.js +14 -0
- package/dist/queryClient-BncpekSV.js.map +1 -0
- package/dist/useCountries-CQdvJz0R.js +249 -0
- package/dist/useCountries-CQdvJz0R.js.map +1 -0
- package/dist/useCountries-DePOPtue.js +235 -0
- package/dist/useCountries-DePOPtue.js.map +1 -0
- package/dist/useTeamsApi-CWp4G7JZ.js +179 -0
- package/dist/useTeamsApi-CWp4G7JZ.js.map +1 -0
- package/dist/useTeamsApi-Ch5sHR2_.js +197 -0
- package/dist/useTeamsApi-Ch5sHR2_.js.map +1 -0
- package/dist/utils.js +2 -511
- package/dist/utils.js.map +1 -1
- package/dist/v2/Groups.js +749 -0
- package/dist/v2/Groups.js.map +1 -0
- package/dist/v2/ManageMember.js +43 -0
- package/dist/v2/ManageMember.js.map +1 -0
- package/dist/v2/MembersDropdown.js +193 -0
- package/dist/v2/MembersDropdown.js.map +1 -0
- package/dist/v2/MembersInvite.js +242 -0
- package/dist/v2/MembersInvite.js.map +1 -0
- package/dist/v2/Permissions.js +13 -0
- package/dist/v2/Permissions.js.map +1 -0
- package/dist/v2/Profile.js +656 -0
- package/dist/v2/Profile.js.map +1 -0
- package/dist/v2/Roles.js +1242 -0
- package/dist/v2/Roles.js.map +1 -0
- package/dist/v2/RolesRadioGroup.js +20 -0
- package/dist/v2/RolesRadioGroup.js.map +1 -0
- package/dist/v2/TeamMembers.js +936 -0
- package/dist/v2/TeamMembers.js.map +1 -0
- package/dist/v2/TeamsAndMembersDropdown.js +430 -0
- package/dist/v2/TeamsAndMembersDropdown.js.map +1 -0
- package/dist/v2/TeamsDropdown.js +106 -0
- package/dist/v2/TeamsDropdown.js.map +1 -0
- package/dist/v2/constants.js +21 -0
- package/dist/v2/constants.js.map +1 -0
- package/dist/v2/hooks.js +29 -0
- package/dist/v2/hooks.js.map +1 -0
- package/dist/v2/utils.js +30 -0
- package/dist/v2/utils.js.map +1 -0
- package/dist/withReactQuery-CSuiy5RK.js +20 -0
- package/dist/withReactQuery-CSuiy5RK.js.map +1 -0
- package/dist/withReactQuery-DvSkXhEx.js +26 -0
- package/dist/withReactQuery-DvSkXhEx.js.map +1 -0
- package/package.json +25 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Groups.js","sources":["../../app/javascript/src/components/v2/apis/groups.js","../../app/javascript/src/components/v2/hooks/reactQuery/useGroupsApi.js","../../app/javascript/src/components/v2/common/PaneSpinner.jsx","../../app/javascript/src/components/v2/apis/users.js","../../app/javascript/src/components/v2/hooks/reactQuery/useUsersApi.js","../../app/javascript/src/components/v2/Groups/constants.js","../../app/javascript/src/components/v2/Groups/Members/Member.jsx","../../app/javascript/src/components/v2/Groups/Members/index.jsx","../../app/javascript/src/components/v2/Groups/Form.jsx","../../app/javascript/src/components/v2/Groups/Create.jsx","../../app/javascript/src/components/v2/Groups/Edit.jsx","../../app/javascript/src/components/v2/Groups/utils.jsx","../../app/javascript/src/components/v2/Groups/List.jsx","../../app/javascript/src/components/v2/Groups/index.jsx"],"sourcesContent":["// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\n\nimport { BASE_URL } from \"v2/common/constants\";\n\nconst list = params => axios.get(`${BASE_URL}/api/v1/groups`, { params });\n\nconst show = id => axios.get(`${BASE_URL}/api/v1/groups/${id}`);\n\nconst create = payload => axios.post(`${BASE_URL}/api/v1/groups`, payload);\n\nconst update = (id, payload) =>\n axios.patch(`${BASE_URL}/api/v1/groups/${id}`, payload);\n\nconst destroy = id => axios.delete(`${BASE_URL}/api/v1/groups/${id}`);\n\nconst groupsApi = { create, list, update, show, destroy };\n\nexport default groupsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport groupsApi from \"v2/apis/groups\";\nimport { QUERY_KEYS } from \"v2/common/constants\";\n\nconst useFetchGroups = ({ page, pageSize, searchTerm = \"\" }) =>\n useQuery({\n queryKey: [QUERY_KEYS.GROUPS, searchTerm, page, pageSize],\n queryFn: () =>\n groupsApi.list({ searchTerm, page, pageSize, loadDetails: true }),\n });\n\nconst useCreateGroup = (config = {}) =>\n useMutationWithInvalidation(payload => groupsApi.create(payload), {\n keysToInvalidate: [\n [QUERY_KEYS.GROUPS],\n ...(config?.form?.otherKeysToInvalidate ?? []),\n ],\n });\n\nconst useDeleteGroup = (config = {}) =>\n useMutationWithInvalidation(id => groupsApi.destroy(id), {\n keysToInvalidate: [\n [QUERY_KEYS.GROUPS],\n ...(config?.form?.otherKeysToInvalidate ?? []),\n ],\n });\n\nconst useFetchGroup = id =>\n useQuery({\n queryKey: [QUERY_KEYS.GROUPS, id],\n queryFn: () => groupsApi.show(id),\n select: prop(\"group\"),\n enabled: !!id,\n });\n\nconst useUpdateGroup = (config = {}) =>\n useMutationWithInvalidation(\n ({ id, payload }) => groupsApi.update(id, payload),\n {\n keysToInvalidate: [\n [QUERY_KEYS.GROUPS],\n ...(config?.form?.otherKeysToInvalidate ?? []),\n ],\n }\n );\n\nexport {\n useCreateGroup,\n useDeleteGroup,\n useFetchGroup,\n useUpdateGroup,\n useFetchGroups,\n};\n","import { Spinner } from \"@bigbinary/neeto-atoms\";\n\nconst PaneSpinner = () => (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n);\n\nexport default PaneSpinner;\n","// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\n\nimport { BASE_URL } from \"v2/common/constants\";\n\nconst list = () => axios.get(`${BASE_URL}/api/v1/users`);\n\nconst usersApi = { list };\n\nexport default usersApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport usersApi from \"v2/apis/users\";\nimport { QUERY_KEYS } from \"v2/common/constants\";\n\nexport const useFetchUsers = () =>\n useQuery({ queryKey: [QUERY_KEYS.USERS], queryFn: usersApi.list });\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nconst MAXIMUM_NAME_LENGTH = 25;\n\nexport const GROUP_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .required(\n t(\"neetoTeamMembers.validations.required\", {\n what: t(\"neetoTeamMembers.common.name\"),\n })\n )\n .trim(\n t(\"neetoTeamMembers.validations.noWhiteSpaces\", {\n what: t(\"neetoTeamMembers.common.name\"),\n })\n )\n .max(\n MAXIMUM_NAME_LENGTH,\n t(\"neetoTeamMembers.validations.max\", { size: MAXIMUM_NAME_LENGTH })\n ),\n});\n\nexport const GROUP_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n members: [],\n};\n\nexport const DEFAULT_DELETE_GROUP_DATA = { isDeleting: false, group: {} };\n\nexport const DEFAULT_EDIT_GROUP = { isVisible: false, groupId: \"\" };\n\nexport const EVENTS = { GROUP_CREATED: \"group_created\" };\n","import { useState } from \"react\";\n\nimport { Alert, Avatar, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nconst Member = ({ member }) => {\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const { t } = useTranslation();\n const { setFieldValue, values } = useFormikContext();\n\n const handleRemoveMember = memberToRemove => {\n setFieldValue(\n \"members\",\n values.members.filter(id => id !== memberToRemove.value)\n );\n setIsDeleteAlertOpen(false);\n };\n\n return (\n <>\n <div className=\"flex items-center justify-between neeto-ui-rounded-lg border p-2\">\n <div className=\"flex items-center space-x-2\">\n <Avatar className=\"size-8 shrink-0\" user={{ name: member?.label }} />\n <div className=\"ms-2 w-auto\">\n <Typography className=\"mb-1 text-sm font-medium capitalize\">\n {member?.label}\n </Typography>\n <Typography className=\"text-xs text-muted-foreground\">\n {taxonomies.groupMember.singular}\n </Typography>\n </div>\n </div>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\", position: \"bottom-end\" }}\n menuItems={[\n {\n key: \"delete-menu\",\n \"data-testid\": \"member-remove-button\",\n label: t(\"neetoTeamMembers.common.remove\"),\n onClick: () => setIsDeleteAlertOpen(true),\n },\n ]}\n />\n </div>\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={isDeleteAlertOpen}\n submitButtonLabel={t(\"neetoTeamMembers.common.remove\")}\n message={\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.removeMember\"\n values={{ member: member?.label }}\n />\n }\n title={t(\"neetoTeamMembers.labels.removeMember\", {\n member: member?.label,\n })}\n onClose={() => setIsDeleteAlertOpen(false)}\n onSubmit={() => handleRemoveMember(member)}\n />\n </>\n );\n};\n\nexport default Member;\n","import { useState } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Member from \"./Member\";\n\nconst Members = ({ members, membersSelectbox }) => {\n const [isAddNewMemberDropdownVisible, setIsAddNewMemberDropdownVisible] =\n useState(false);\n const { values } = useFormikContext();\n const selectedMembers = members?.filter(member =>\n values?.members?.includes(member.value)\n );\n const { t } = useTranslation();\n\n return (\n <div className=\"w-full space-y-4\">\n <Typography className=\"text-base font-semibold\">\n {taxonomies.groupMember.plural} ({selectedMembers?.length ?? 0})\n </Typography>\n {isAddNewMemberDropdownVisible ? (\n membersSelectbox\n ) : (\n <Button\n data-testid=\"new-member-button\"\n variant=\"outline\"\n onClick={() => setIsAddNewMemberDropdownVisible(true)}\n >\n {t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.groupMember.singular,\n })}\n </Button>\n )}\n <div className=\"w-full space-y-1\">\n {selectedMembers?.map(member => (\n <Member {...{ member }} key={member.value} />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Members;\n","import { useMemo } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\nimport {\n Input as FormikInput,\n Textarea as FormikTextarea,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { noop } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FormikActionBlock, FormikForm, FormikSelect } from \"v2/common/formik\";\nimport PaneSpinner from \"v2/common/PaneSpinner\";\nimport {\n useCreateGroup,\n useUpdateGroup,\n} from \"v2/hooks/reactQuery/useGroupsApi\";\nimport { useFetchUsers } from \"v2/hooks/reactQuery/useUsersApi\";\n\nimport {\n GROUP_FORM_VALIDATION_SCHEMA,\n GROUP_FORM_INITIAL_VALUES,\n EVENTS,\n} from \"./constants\";\nimport Members from \"./Members\";\n\nconst Form = ({ group = {}, config = {}, isEdit = false, onClose = noop }) => {\n const { t } = useTranslation();\n\n const { data: { users } = {}, isLoading } = useFetchUsers();\n const { mutate: create, isPending: isCreating } = useCreateGroup(config);\n const { mutate: update, isPending: isUpdating } = useUpdateGroup(config);\n\n const initialValues = isEdit\n ? { ...group, members: group.members?.map(m => String(m.id)) ?? [] }\n : mergeLeft(config?.form?.initialValues ?? {}, GROUP_FORM_INITIAL_VALUES);\n\n const validationSchema = GROUP_FORM_VALIDATION_SCHEMA.concat(\n config?.form?.validationSchema\n );\n\n const memberOptions = useMemo(\n () => users?.map(u => ({ label: u.name, value: String(u.id) })) ?? [],\n [users]\n );\n\n const handleSubmit = values => {\n const payload = {\n group: mergeLeft(\n {\n name: values.name,\n description: values.description,\n userIds: values.members ?? [],\n },\n config?.form?.otherPayloadData?.(values)\n ),\n };\n if (isEdit) {\n update({ id: group.id, payload }, { onSuccess: () => onClose() });\n } else {\n create(payload, {\n onSuccess: () => {\n captureAnalyticsEvent(EVENTS.GROUP_CREATED);\n onClose();\n },\n });\n }\n };\n\n if (isLoading || config?.pane?.isLoading) return <PaneSpinner />;\n\n const membersSelect = (\n <FormikSelect\n isMulti\n closeMenuOnSelect={false}\n id=\"members-autocomplete\"\n label={taxonomies.groupMember.plural}\n name=\"members\"\n options={memberOptions}\n placeholder={taxonomies.groupMember.plural}\n />\n );\n\n return (\n <FormikForm\n formProps={{\n noValidate: true,\n className: \"flex w-full flex-col gap-y-4 pb-6\",\n }}\n formikProps={{\n enableReinitialize: true,\n initialValues,\n validationSchema,\n onSubmit: handleSubmit,\n }}\n >\n {({ values }) => (\n <>\n <FormikInput\n required\n data-testid=\"group-name-text-field\"\n label={t(\"neetoTeamMembers.common.name\")}\n name=\"name\"\n />\n <FormikTextarea\n data-testid=\"group-description-text-area\"\n label={t(\"neetoTeamMembers.common.description\")}\n name=\"description\"\n rows={4}\n />\n {config?.form?.otherElements?.(values)}\n {isEdit ? (\n <Members members={memberOptions} membersSelectbox={membersSelect} />\n ) : (\n membersSelect\n )}\n {config?.form?.otherElementsAtLast?.(values)}\n <Sheet.Footer className=\"absolute bottom-0 start-0 gap-x-2\">\n <FormikActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isCreating || isUpdating}\n />\n </Sheet.Footer>\n </>\n )}\n </FormikForm>\n );\n};\n\nexport default Form;\n","import { Sheet } from \"@bigbinary/neeto-atoms\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { withT } from \"neetocommons/react-utils\";\n\nimport Form from \"./Form\";\n\nconst Create = withT(({ t, config, isOpen, onClose }) => (\n <Sheet {...{ isOpen, onClose }} modal={false}>\n <Sheet.Header>\n <Sheet.Title>\n {t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.group.singular,\n })}\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.Body hasFooter={false}>\n <Form {...{ config, onClose }} />\n </Sheet.Body>\n </Sheet>\n));\n\nexport default Create;\n","import { Sheet, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchGroup } from \"v2/hooks/reactQuery/useGroupsApi\";\n\nimport Form from \"./Form\";\n\nconst Edit = ({ config, groupId, isOpen, onClose }) => {\n const { t } = useTranslation();\n const { data: group, isLoading } = useFetchGroup(groupId);\n\n return (\n <Sheet {...{ isOpen, onClose }} modal={false}>\n <Sheet.Header>\n <Sheet.Title>\n {t(\"neetoTeamMembers.common.edit_\", {\n what: taxonomies.group.singular,\n })}\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.Body hasFooter={false}>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <Form {...{ config, group, onClose }} isEdit />\n )}\n </Sheet.Body>\n </Sheet>\n );\n};\n\nexport default Edit;\n","import { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\n\nconst renderName = ({\n name,\n group,\n config,\n setEditGroupDetail,\n setDeleteGroup,\n getGroupDetail,\n}) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={name} position=\"bottom\">\n <Typography className=\"truncate text-sm\">{name}</Typography>\n </Tooltip>\n <MoreDropdown\n dropdownButtonProps={{ className: \"me-1 my-1\" }}\n dropdownProps={{\n strategy: \"fixed\",\n position: \"bottom-end\",\n appendTo: () => document.body,\n }}\n menuItems={[\n {\n key: \"edit-menu\",\n label: t(\"neetoTeamMembers.common.edit\"),\n onClick: () =>\n setEditGroupDetail({ isVisible: true, groupId: group.id }),\n },\n {\n key: \"delete-menu\",\n label: t(\"neetoTeamMembers.common.delete\"),\n onClick: () => {\n config?.groupDependency?.isCheckEnabled\n ? config?.table?.onBeforeDelete?.(group)\n : setDeleteGroup({\n isDeleting: true,\n group: getGroupDetail(group.id),\n });\n },\n },\n ]}\n />\n </div>\n);\n\nexport const getColumnData = ({\n config = {},\n setEditGroupDetail,\n setDeleteGroup,\n getGroupDetail,\n}) => [\n {\n accessorKey: \"name\",\n id: \"name\",\n header: t(\"neetoTeamMembers.common.name\"),\n size: 250,\n cell: ({ row }) =>\n renderName({\n name: row.original.name,\n group: row.original,\n config,\n setEditGroupDetail,\n setDeleteGroup,\n getGroupDetail,\n }),\n },\n {\n accessorKey: \"description\",\n id: \"description\",\n header: t(\"neetoTeamMembers.common.description\"),\n cell: ({ getValue }) => getValue() || \"-\",\n size: 300,\n },\n ...(config?.table?.columnsData?.() ?? []),\n];\n","import { useEffect, useState } from \"react\";\n\nimport {\n Alert,\n Button,\n Empty,\n Spinner,\n DataTable,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { isPresent, findById } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDeleteGroup } from \"v2/hooks/reactQuery/useGroupsApi\";\n\nimport { DEFAULT_DELETE_GROUP_DATA, DEFAULT_EDIT_GROUP } from \"./constants\";\nimport Edit from \"./Edit\";\nimport { getColumnData } from \"./utils\";\n\nimport { pluralizeLabelUsingTaxonomy } from \"../utils\";\n\nconst List = ({\n config,\n groups,\n isLoading,\n searchTerm,\n pageProperties,\n setPageProperties,\n emptyStateAction,\n}) => {\n const [editGroupDetail, setEditGroupDetail] = useState(DEFAULT_EDIT_GROUP);\n const [deleteGroup, setDeleteGroup] = useState(DEFAULT_DELETE_GROUP_DATA);\n\n const { t } = useTranslation();\n\n const totalCount = groups?.length;\n\n const { mutate: groupDelete, isPending: isDeleting } = useDeleteGroup(config);\n const getGroupDetail = id => findById(id, groups);\n\n const handleGroupDelete = group => {\n groupDelete(group.id, {\n onSuccess: () => {\n setDeleteGroup(DEFAULT_DELETE_GROUP_DATA);\n },\n });\n };\n\n const columnData = getColumnData({\n config,\n setEditGroupDetail,\n setDeleteGroup,\n getGroupDetail,\n });\n\n useEffect(() => {\n if (\n config?.groupDependency?.isCheckEnabled &&\n config.groupDependency?.verificationStatus === \"successful\" &&\n !config?.groupDependency?.isDependent &&\n isPresent(config?.groupDependency?.selectedGroup)\n ) {\n setDeleteGroup({\n isDeleting: true,\n group: config?.groupDependency?.selectedGroup,\n });\n }\n }, [config?.groupDependency]);\n\n if (isLoading || isDeleting) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n {!isEmpty(groups) ? (\n <>\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n totalCount > 0 && (\n <Typography\n className=\"me-4 text-base font-semibold\"\n data-testid=\"item-count\"\n >\n {pluralizeLabelUsingTaxonomy(\n taxonomies.group.singular,\n totalCount\n )}\n </Typography>\n )\n }\n />\n <div>\n <DataTable\n {...{ totalCount }}\n fixedHeight\n allowRowClick={false}\n columns={columnData}\n currentPage={pageProperties.index}\n data={groups || []}\n loading={isLoading}\n pageSize={pageProperties.size}\n onPageChange={(index, size) => setPageProperties({ index, size })}\n />\n </div>\n </>\n ) : (\n <div className=\"flex h-full w-full grow items-center justify-center\">\n <Empty\n title={t(\"neetoTeamMembers.helpers.emptyTable\", {\n entity: taxonomies.group.plural,\n })}\n >\n {!searchTerm && (\n <Button onClick={emptyStateAction}>\n {t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.group.singular,\n })}\n </Button>\n )}\n {config?.noDataProps && null}\n </Empty>\n </div>\n )}\n <Edit\n {...{ config }}\n groupId={editGroupDetail.groupId}\n isOpen={editGroupDetail.isVisible}\n onClose={() => setEditGroupDetail(DEFAULT_EDIT_GROUP)}\n />\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={deleteGroup.isDeleting}\n submitButtonLabel={t(\"neetoTeamMembers.common.delete\")}\n message={\n config?.table?.deleteAlertMessage?.(deleteGroup.group) ?? (\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.delete\"\n values={{\n resource: taxonomies.group.singular,\n name: deleteGroup.group.name,\n }}\n />\n )\n }\n title={t(\"neetoTeamMembers.labels.deleteTitle\", {\n resource: taxonomies.group.singular,\n })}\n onClose={() => setDeleteGroup(DEFAULT_DELETE_GROUP_DATA)}\n onSubmit={() => handleGroupDelete(deleteGroup.group)}\n />\n </>\n );\n};\n\nexport default List;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/v2/Container\";\nimport Header from \"neetomolecules/v2/Header\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_PAGE_PROPERTIES } from \"v2/common/constants\";\nimport { useFetchGroups } from \"v2/hooks/reactQuery/useGroupsApi\";\n\nimport Create from \"./Create\";\nimport List from \"./List\";\n\nconst Groups = ({ config = {} }) => {\n const { searchTerm = \"\" } = useQueryParams();\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [pageProperties, setPageProperties] = useState(DEFAULT_PAGE_PROPERTIES);\n\n const { t } = useTranslation();\n\n const { data: { groups } = {}, isLoading } = useFetchGroups({\n page: pageProperties.index,\n pageSize: pageProperties.size,\n searchTerm,\n });\n\n const isFiltersVisible = isNotEmpty(groups) || isPresent(searchTerm);\n\n useEffect(() => {\n setPageProperties(DEFAULT_PAGE_PROPERTIES);\n }, [searchTerm]);\n\n return (\n <Container>\n <Header\n breadcrumbs={config?.header?.breadcrumbs ?? []}\n title={taxonomies.group.plural}\n titleHelpPopoverProps={config?.header?.titleHelpPopoverProps ?? {}}\n actionBlock={\n <div className=\"flex flex-row items-center justify-end\">\n <Button\n data-testid=\"add-new-group-button\"\n onClick={() => setIsPaneOpen(true)}\n >\n {t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.group.singular,\n })}\n </Button>\n </div>\n }\n searchProps={\n isFiltersVisible && {\n placeholder: t(\"neetoTeamMembers.placeholders.searchEntity\", {\n entity: taxonomies.group.plural,\n }),\n }\n }\n />\n <List\n {...{\n config,\n groups,\n isLoading,\n pageProperties,\n searchTerm,\n setPageProperties,\n }}\n emptyStateAction={() => setIsPaneOpen(true)}\n onClose={() => setIsPaneOpen(false)}\n />\n <Create\n {...{ config }}\n isOpen={isPaneOpen}\n onClose={() => setIsPaneOpen(false)}\n />\n </Container>\n );\n};\n\nexport default Groups;\n"],"names":["list","params","axios","get","concat","BASE_URL","show","id","create","payload","post","update","patch","destroy","groupsApi","useFetchGroups","_ref","page","pageSize","_ref$searchTerm","searchTerm","useQuery","queryKey","QUERY_KEYS","GROUPS","queryFn","loadDetails","useCreateGroup","_config$form$otherKey","_config$form","config","arguments","length","undefined","useMutationWithInvalidation","keysToInvalidate","_toConsumableArray","form","otherKeysToInvalidate","useDeleteGroup","_config$form$otherKey2","_config$form2","useFetchGroup","select","prop","enabled","useUpdateGroup","_config$form$otherKey3","_config$form3","_ref2","PaneSpinner","_jsx","className","children","Spinner","usersApi","useFetchUsers","USERS","MAXIMUM_NAME_LENGTH","GROUP_FORM_VALIDATION_SCHEMA","yup","object","name","string","required","t","what","trim","max","size","GROUP_FORM_INITIAL_VALUES","description","members","DEFAULT_DELETE_GROUP_DATA","isDeleting","group","DEFAULT_EDIT_GROUP","isVisible","groupId","EVENTS","GROUP_CREATED","Member","member","_useState","useState","_useState2","_slicedToArray","isDeleteAlertOpen","setIsDeleteAlertOpen","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","values","handleRemoveMember","memberToRemove","filter","value","_jsxs","_Fragment","Avatar","user","label","Typography","taxonomies","groupMember","singular","MoreDropdown","dropdownProps","strategy","position","menuItems","key","onClick","Alert","cancelButtonLabel","isOpen","submitButtonLabel","message","Trans","i18nKey","title","onClose","onSubmit","Members","_selectedMembers$leng","membersSelectbox","isAddNewMemberDropdownVisible","setIsAddNewMemberDropdownVisible","selectedMembers","_values$members","includes","plural","Button","variant","map","_createElement","Form","_group$members$map","_group$members","_config$form$initialV","_config$pane","_ref$group","_ref$config","_ref$isEdit","isEdit","_ref$onClose","noop","_useFetchUsers","_useFetchUsers$data","data","_useFetchUsers$data2","users","isLoading","_useCreateGroup","mutate","isCreating","isPending","_useUpdateGroup","isUpdating","initialValues","_objectSpread","m","String","mergeLeft","validationSchema","memberOptions","useMemo","_users$map","u","handleSubmit","_config$form3$otherPa","userIds","otherPayloadData","call","onSuccess","captureAnalyticsEvent","pane","membersSelect","FormikSelect","isMulti","closeMenuOnSelect","options","placeholder","FormikForm","formProps","noValidate","formikProps","enableReinitialize","_config$form4","_config$form4$otherEl","_config$form5","_config$form5$otherEl","FormikInput","FormikTextarea","rows","otherElements","otherElementsAtLast","Sheet","Footer","FormikActionBlock","cancelButtonProps","isSubmitting","Create","withT","modal","Header","Title","Body","hasFooter","Edit","_useFetchGroup","renderName","setEditGroupDetail","setDeleteGroup","getGroupDetail","Tooltip","content","dropdownButtonProps","appendTo","document","body","_config$groupDependen","_config$table","_config$table$onBefor","groupDependency","isCheckEnabled","table","onBeforeDelete","getColumnData","_config$table$columns","_config$table2","_config$table2$column","_ref2$config","accessorKey","header","cell","_ref3","row","original","_ref4","getValue","columnsData","List","_config$table$deleteA","_config$table$deleteA2","groups","pageProperties","setPageProperties","emptyStateAction","editGroupDetail","_useState3","_useState4","deleteGroup","totalCount","_useDeleteGroup","groupDelete","findById","handleGroupDelete","columnData","useEffect","_config$groupDependen2","_config$groupDependen3","_config$groupDependen4","verificationStatus","isDependent","isPresent","selectedGroup","_config$groupDependen5","isEmpty","SubHeader","leftActionBlock","pluralizeLabelUsingTaxonomy","DataTable","fixedHeight","allowRowClick","columns","currentPage","index","loading","onPageChange","Empty","entity","noDataProps","deleteAlertMessage","resource","Groups","_config$header$breadc","_config$header","_config$header$titleH","_config$header2","_useQueryParams","useQueryParams","_useQueryParams$searc","isPaneOpen","setIsPaneOpen","DEFAULT_PAGE_PROPERTIES","_useFetchGroups","_useFetchGroups$data","_useFetchGroups$data2","isFiltersVisible","isNotEmpty","Container","breadcrumbs","titleHelpPopoverProps","actionBlock","searchProps"],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import '@babel/runtime/helpers/asyncToGenerator';
|
|
2
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
3
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
4
|
+
import '@babel/runtime/regenerator';
|
|
5
|
+
import 'react';
|
|
6
|
+
import '@bigbinary/neeto-atoms';
|
|
7
|
+
import 'classnames';
|
|
8
|
+
import 'lucide-react';
|
|
9
|
+
import '@bigbinary/neeto-commons-frontend/initializers';
|
|
10
|
+
import '@bigbinary/neeto-commons-frontend/utils';
|
|
11
|
+
import '@bigbinary/neeto-image-uploader-frontend/hooks';
|
|
12
|
+
import 'ramda';
|
|
13
|
+
import 'react-i18next';
|
|
14
|
+
import 'sonner';
|
|
15
|
+
import '../ActionBlock-jgw1N-As.js';
|
|
16
|
+
import '../Select-DZ56UG-l.js';
|
|
17
|
+
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
18
|
+
import 'formik';
|
|
19
|
+
import 'react/jsx-runtime';
|
|
20
|
+
import '../index-C6ph58Vg.js';
|
|
21
|
+
import '../useCountries-DePOPtue.js';
|
|
22
|
+
import '../useTeamsApi-CWp4G7JZ.js';
|
|
23
|
+
export { M as default } from '../index-DXwn-_HJ.js';
|
|
24
|
+
import '../RolesRadioGroup-tSNC-Wtu.js';
|
|
25
|
+
import '@tanstack/react-query';
|
|
26
|
+
import '@bigbinary/neeto-cist';
|
|
27
|
+
import '@bigbinary/neeto-commons-frontend/react-utils';
|
|
28
|
+
import 'axios';
|
|
29
|
+
import '../constants-B1L6arSR.js';
|
|
30
|
+
import 'i18next';
|
|
31
|
+
import '@bigbinary/neeto-commons-frontend/constants';
|
|
32
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
33
|
+
import 'qs';
|
|
34
|
+
import '../queryClient-BncpekSV.js';
|
|
35
|
+
import '@bigbinary/neeto-atoms/formik';
|
|
36
|
+
import './utils.js';
|
|
37
|
+
import '../pluralize-BoSEafiC.js';
|
|
38
|
+
import '../_commonjsHelpers-BFTU3MAI.js';
|
|
39
|
+
import '@bigbinary/neeto-time-zones';
|
|
40
|
+
import '@bigbinary/neeto-atoms/primitives';
|
|
41
|
+
import '@bigbinary/neeto-molecules/v2/MoreDropdown';
|
|
42
|
+
import 'yup';
|
|
43
|
+
//# sourceMappingURL=ManageMember.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManageMember.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
|
+
import { memo, useState, useMemo, Fragment } from 'react';
|
|
3
|
+
import { Avatar, Tooltip, Typography, DropdownMenu, Spinner } from '@bigbinary/neeto-atoms';
|
|
4
|
+
import { includes, toLower, map, append, pluck, any, isEmpty } from 'ramda';
|
|
5
|
+
import { useTranslation } from 'react-i18next';
|
|
6
|
+
import { A as AssignList } from '../index-DeYRFiJy.js';
|
|
7
|
+
import { ChevronDown } from 'lucide-react';
|
|
8
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
9
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
10
|
+
import { isNotEmpty, findBy, removeBy } from '@bigbinary/neeto-cist';
|
|
11
|
+
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
12
|
+
|
|
13
|
+
var AssignDropdownTarget$1 = function AssignDropdownTarget(_ref) {
|
|
14
|
+
var _ref$selectedMember = _ref.selectedMember,
|
|
15
|
+
selectedMember = _ref$selectedMember === void 0 ? {} : _ref$selectedMember;
|
|
16
|
+
var _selectedMember$label = selectedMember.label,
|
|
17
|
+
label = _selectedMember$label === void 0 ? "--" : _selectedMember$label,
|
|
18
|
+
_selectedMember$profi = selectedMember.profileImagePath,
|
|
19
|
+
profileImagePath = _selectedMember$profi === void 0 ? "" : _selectedMember$profi;
|
|
20
|
+
return /*#__PURE__*/jsxs("div", {
|
|
21
|
+
className: "flex h-10 w-60 cursor-pointer select-none items-center gap-2",
|
|
22
|
+
"data-testid": "assignee-dropdown",
|
|
23
|
+
children: [label !== "--" && /*#__PURE__*/jsx(Avatar, {
|
|
24
|
+
className: "shrink-0 size-6",
|
|
25
|
+
user: {
|
|
26
|
+
name: label,
|
|
27
|
+
imageUrl: profileImagePath
|
|
28
|
+
}
|
|
29
|
+
}), /*#__PURE__*/jsx(Tooltip, {
|
|
30
|
+
content: label,
|
|
31
|
+
position: "top",
|
|
32
|
+
children: /*#__PURE__*/jsx(Typography, {
|
|
33
|
+
className: "truncate xl:block",
|
|
34
|
+
style: "h5",
|
|
35
|
+
weight: "normal",
|
|
36
|
+
children: label
|
|
37
|
+
})
|
|
38
|
+
}), /*#__PURE__*/jsx(ChevronDown, {
|
|
39
|
+
className: "shrink-0",
|
|
40
|
+
size: 16
|
|
41
|
+
})]
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var AssignDropdownTarget = /*#__PURE__*/memo(AssignDropdownTarget$1);
|
|
45
|
+
|
|
46
|
+
var SEARCH_TYPES = {
|
|
47
|
+
MEMBER: "agent",
|
|
48
|
+
TEAM: "group"};
|
|
49
|
+
var TEAM_UNGROUPED = {
|
|
50
|
+
value: "ungrouped"};
|
|
51
|
+
|
|
52
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
53
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
54
|
+
var createMembersDropdownOptions = function createMembersDropdownOptions(_ref) {
|
|
55
|
+
var selectedTeam = _ref.selectedTeam,
|
|
56
|
+
searchTerm = _ref.searchTerm,
|
|
57
|
+
availableTeams = _ref.availableTeams,
|
|
58
|
+
_ref$onlyMembers = _ref.onlyMembers,
|
|
59
|
+
onlyMembers = _ref$onlyMembers === void 0 ? false : _ref$onlyMembers;
|
|
60
|
+
var tempOptions = [];
|
|
61
|
+
var hasSelectedTeam = (selectedTeam === null || selectedTeam === void 0 ? void 0 : selectedTeam.value) && selectedTeam.value !== TEAM_UNGROUPED.value;
|
|
62
|
+
var filteredTeams = availableTeams.filter(function (team) {
|
|
63
|
+
return isNotEmpty(team.filteredMembers);
|
|
64
|
+
});
|
|
65
|
+
var addMembersInTeam = function addMembersInTeam(_ref2) {
|
|
66
|
+
var filteredMembers = _ref2.filteredMembers;
|
|
67
|
+
return filteredMembers.forEach(function (member) {
|
|
68
|
+
tempOptions.push(_objectSpread(_objectSpread({}, member), {}, {
|
|
69
|
+
type: SEARCH_TYPES.MEMBER
|
|
70
|
+
}));
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
var containsSearchTerm = includes(toLower(searchTerm));
|
|
74
|
+
if (hasSelectedTeam) {
|
|
75
|
+
var selectedTeamData = findBy({
|
|
76
|
+
value: selectedTeam.value
|
|
77
|
+
}, availableTeams);
|
|
78
|
+
if (selectedTeamData) addMembersInTeam(selectedTeamData);
|
|
79
|
+
}
|
|
80
|
+
if (!hasSelectedTeam) {
|
|
81
|
+
filteredTeams.forEach(function (team) {
|
|
82
|
+
tempOptions.push(_objectSpread(_objectSpread({}, team), {}, {
|
|
83
|
+
type: SEARCH_TYPES.TEAM
|
|
84
|
+
}));
|
|
85
|
+
addMembersInTeam(team);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
if (onlyMembers) {
|
|
89
|
+
return removeBy({
|
|
90
|
+
type: "group"
|
|
91
|
+
}, tempOptions);
|
|
92
|
+
}
|
|
93
|
+
return searchTerm ? tempOptions.filter(function (_ref3) {
|
|
94
|
+
var label = _ref3.label,
|
|
95
|
+
_ref3$filteredMembers = _ref3.filteredMembers,
|
|
96
|
+
filteredMembers = _ref3$filteredMembers === void 0 ? [] : _ref3$filteredMembers;
|
|
97
|
+
var teamAndMembersLabels = map(toLower, append(label, pluck("label", filteredMembers)));
|
|
98
|
+
return any(containsSearchTerm, teamAndMembersLabels);
|
|
99
|
+
}) : tempOptions;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
var MembersDropdown = function MembersDropdown(_ref) {
|
|
103
|
+
var config = _ref.config;
|
|
104
|
+
var _useState = useState(""),
|
|
105
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
106
|
+
searchTerm = _useState2[0],
|
|
107
|
+
setSearchTerm = _useState2[1];
|
|
108
|
+
var _useTranslation = useTranslation(),
|
|
109
|
+
t = _useTranslation.t;
|
|
110
|
+
var options = useMemo(function () {
|
|
111
|
+
return createMembersDropdownOptions({
|
|
112
|
+
searchTerm: searchTerm,
|
|
113
|
+
selectedTeam: config === null || config === void 0 ? void 0 : config.selectedTeam,
|
|
114
|
+
availableTeams: (config === null || config === void 0 ? void 0 : config.availableTeams) || []
|
|
115
|
+
});
|
|
116
|
+
}, [config === null || config === void 0 ? void 0 : config.selectedTeam, searchTerm, config === null || config === void 0 ? void 0 : config.availableTeams]);
|
|
117
|
+
var handleClick = function handleClick(value) {
|
|
118
|
+
config === null || config === void 0 || config.handleUpdate({
|
|
119
|
+
id: (config === null || config === void 0 ? void 0 : config.selectedMember.value) === value ? null : value
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
return /*#__PURE__*/jsx("div", {
|
|
123
|
+
children: /*#__PURE__*/jsx(DropdownMenu, {
|
|
124
|
+
closeOnSelect: false,
|
|
125
|
+
dropdownProps: {
|
|
126
|
+
className: "w-64 p-0"
|
|
127
|
+
},
|
|
128
|
+
position: "bottom-end",
|
|
129
|
+
customTarget: /*#__PURE__*/jsx("div", {
|
|
130
|
+
className: "w-full",
|
|
131
|
+
children: /*#__PURE__*/jsx(AssignDropdownTarget, {
|
|
132
|
+
selectedMember: config === null || config === void 0 ? void 0 : config.selectedMember
|
|
133
|
+
})
|
|
134
|
+
}),
|
|
135
|
+
onClose: function onClose() {
|
|
136
|
+
return setSearchTerm("");
|
|
137
|
+
},
|
|
138
|
+
children: /*#__PURE__*/jsxs(AssignList, {
|
|
139
|
+
children: [/*#__PURE__*/jsx(AssignList.Search, {
|
|
140
|
+
searchTerm: searchTerm,
|
|
141
|
+
handleClearSearchTerm: function handleClearSearchTerm() {
|
|
142
|
+
return setSearchTerm("");
|
|
143
|
+
},
|
|
144
|
+
placeholder: config === null || config === void 0 ? void 0 : config.searchPlaceholder,
|
|
145
|
+
onChange: function onChange(_ref2) {
|
|
146
|
+
var value = _ref2.target.value;
|
|
147
|
+
return setSearchTerm(value);
|
|
148
|
+
}
|
|
149
|
+
}), config !== null && config !== void 0 && config.isLoading ? /*#__PURE__*/jsx("div", {
|
|
150
|
+
className: "flex w-full items-center justify-center py-8",
|
|
151
|
+
children: /*#__PURE__*/jsx(Spinner, {})
|
|
152
|
+
}) : /*#__PURE__*/jsxs("div", {
|
|
153
|
+
className: "flex max-h-56 flex-col overflow-y-auto px-3",
|
|
154
|
+
children: [options.map(function (_ref3, index) {
|
|
155
|
+
var label = _ref3.label,
|
|
156
|
+
value = _ref3.value,
|
|
157
|
+
type = _ref3.type,
|
|
158
|
+
profileImagePath = _ref3.profileImagePath;
|
|
159
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
160
|
+
children: [type === SEARCH_TYPES.TEAM && /*#__PURE__*/jsx(AssignList.TeamsListItem, {
|
|
161
|
+
active: (config === null || config === void 0 ? void 0 : config.selectedTeam.id) === value,
|
|
162
|
+
teamName: label,
|
|
163
|
+
onClick: function onClick() {
|
|
164
|
+
return config === null || config === void 0 ? void 0 : config.handleUpdate({
|
|
165
|
+
id: (config === null || config === void 0 ? void 0 : config.selectedTeam.value) === value ? null : value,
|
|
166
|
+
isTeam: true
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}), type === SEARCH_TYPES.MEMBER && /*#__PURE__*/jsx(AssignList.MembersListItem, {
|
|
170
|
+
active: (config === null || config === void 0 ? void 0 : config.selectedMember.value) === value,
|
|
171
|
+
imageUrl: profileImagePath,
|
|
172
|
+
memberName: label,
|
|
173
|
+
onClick: function onClick() {
|
|
174
|
+
return handleClick(value);
|
|
175
|
+
}
|
|
176
|
+
})]
|
|
177
|
+
}, index);
|
|
178
|
+
}), isEmpty(options) && /*#__PURE__*/jsx("div", {
|
|
179
|
+
className: "flex w-full items-center justify-center p-2",
|
|
180
|
+
children: /*#__PURE__*/jsx(Typography, {
|
|
181
|
+
"data-testid": "ticket-details-member-no-records-message",
|
|
182
|
+
style: "body2",
|
|
183
|
+
children: t("neetoTeamMembers.helpers.noRecords")
|
|
184
|
+
})
|
|
185
|
+
})]
|
|
186
|
+
}, searchTerm)]
|
|
187
|
+
})
|
|
188
|
+
})
|
|
189
|
+
});
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
export { MembersDropdown as default };
|
|
193
|
+
//# sourceMappingURL=MembersDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MembersDropdown.js","sources":["../../app/javascript/src/components/v2/MembersDropdown/AssignDropdownTarget.jsx","../../app/javascript/src/components/v2/MembersDropdown/constants.js","../../app/javascript/src/components/v2/MembersDropdown/utils.js","../../app/javascript/src/components/v2/MembersDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Avatar, Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport { ChevronDown } from \"lucide-react\";\n\nconst AssignDropdownTarget = ({ selectedMember = {} }) => {\n const { label = \"--\", profileImagePath = \"\" } = selectedMember;\n\n return (\n <div\n className=\"flex h-10 w-60 cursor-pointer select-none items-center gap-2\"\n data-testid=\"assignee-dropdown\"\n >\n {label !== \"--\" && (\n <Avatar\n className=\"shrink-0 size-6\"\n user={{ name: label, imageUrl: profileImagePath }}\n />\n )}\n <Tooltip content={label} position=\"top\">\n <Typography className=\"truncate xl:block\" style=\"h5\" weight=\"normal\">\n {label}\n </Typography>\n </Tooltip>\n <ChevronDown className=\"shrink-0\" size={16} />\n </div>\n );\n};\n\nexport default memo(AssignDropdownTarget);\n","export const SEARCH_TYPES = {\n MEMBER: \"agent\",\n TEAM: \"group\",\n MEMBER_OR_TEAM: \"agent_or_group\",\n};\n\nexport const TEAM_UNGROUPED = { value: \"ungrouped\", label: \"--\" };\n","import { findBy, isNotEmpty, removeBy } from \"neetocist\";\nimport { includes, toLower, append, pluck, map, any } from \"ramda\";\n\nimport { TEAM_UNGROUPED, SEARCH_TYPES } from \"./constants\";\n\nconst createMembersDropdownOptions = ({\n selectedTeam,\n searchTerm,\n availableTeams,\n onlyMembers = false,\n}) => {\n const tempOptions = [];\n const hasSelectedTeam =\n selectedTeam?.value && selectedTeam.value !== TEAM_UNGROUPED.value;\n\n const filteredTeams = availableTeams.filter(team =>\n isNotEmpty(team.filteredMembers)\n );\n\n const addMembersInTeam = ({ filteredMembers }) =>\n filteredMembers.forEach(member => {\n tempOptions.push({ ...member, type: SEARCH_TYPES.MEMBER });\n });\n\n const containsSearchTerm = includes(toLower(searchTerm));\n\n if (hasSelectedTeam) {\n const selectedTeamData = findBy(\n { value: selectedTeam.value },\n availableTeams\n );\n if (selectedTeamData) addMembersInTeam(selectedTeamData);\n }\n\n if (!hasSelectedTeam) {\n filteredTeams.forEach(team => {\n tempOptions.push({ ...team, type: SEARCH_TYPES.TEAM });\n addMembersInTeam(team);\n });\n }\n\n if (onlyMembers) {\n return removeBy({ type: \"group\" }, tempOptions);\n }\n\n return searchTerm\n ? tempOptions.filter(({ label, filteredMembers = [] }) => {\n const teamAndMembersLabels = map(\n toLower,\n append(label, pluck(\"label\", filteredMembers))\n );\n\n return any(containsSearchTerm, teamAndMembersLabels);\n })\n : tempOptions;\n};\n\nexport { createMembersDropdownOptions };\n","import { Fragment, useMemo, useState } from \"react\";\n\nimport { DropdownMenu, Spinner, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AssignList from \"v2/common/AssignList\";\n\nimport AssignDropdownTarget from \"./AssignDropdownTarget\";\nimport { SEARCH_TYPES } from \"./constants\";\nimport { createMembersDropdownOptions } from \"./utils\";\n\nconst MembersDropdown = ({ config }) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const { t } = useTranslation();\n\n const options = useMemo(\n () =>\n createMembersDropdownOptions({\n searchTerm,\n selectedTeam: config?.selectedTeam,\n availableTeams: config?.availableTeams || [],\n }),\n [config?.selectedTeam, searchTerm, config?.availableTeams]\n );\n\n const handleClick = value => {\n config?.handleUpdate({\n id: config?.selectedMember.value === value ? null : value,\n });\n };\n\n return (\n <div>\n <DropdownMenu\n closeOnSelect={false}\n dropdownProps={{ className: \"w-64 p-0\" }}\n position=\"bottom-end\"\n customTarget={\n <div className=\"w-full\">\n <AssignDropdownTarget selectedMember={config?.selectedMember} />\n </div>\n }\n onClose={() => setSearchTerm(\"\")}\n >\n <AssignList>\n <AssignList.Search\n {...{ searchTerm }}\n handleClearSearchTerm={() => setSearchTerm(\"\")}\n placeholder={config?.searchPlaceholder}\n onChange={({ target: { value } }) => setSearchTerm(value)}\n />\n {config?.isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <div\n className=\"flex max-h-56 flex-col overflow-y-auto px-3\"\n key={searchTerm}\n >\n {options.map(\n ({ label, value, type, profileImagePath }, index) => (\n <Fragment key={index}>\n {type === SEARCH_TYPES.TEAM && (\n <AssignList.TeamsListItem\n active={config?.selectedTeam.id === value}\n teamName={label}\n onClick={() =>\n config?.handleUpdate({\n id:\n config?.selectedTeam.value === value\n ? null\n : value,\n isTeam: true,\n })\n }\n />\n )}\n {type === SEARCH_TYPES.MEMBER && (\n <AssignList.MembersListItem\n active={config?.selectedMember.value === value}\n imageUrl={profileImagePath}\n memberName={label}\n onClick={() => handleClick(value)}\n />\n )}\n </Fragment>\n )\n )}\n {isEmpty(options) && (\n <div className=\"flex w-full items-center justify-center p-2\">\n <Typography\n data-testid=\"ticket-details-member-no-records-message\"\n style=\"body2\"\n >\n {t(\"neetoTeamMembers.helpers.noRecords\")}\n </Typography>\n </div>\n )}\n </div>\n )}\n </AssignList>\n </DropdownMenu>\n </div>\n );\n};\n\nexport default MembersDropdown;\n"],"names":["AssignDropdownTarget","_ref","_ref$selectedMember","selectedMember","_selectedMember$label","label","_selectedMember$profi","profileImagePath","_jsxs","className","children","_jsx","Avatar","user","name","imageUrl","Tooltip","content","position","Typography","style","weight","ChevronDown","size","memo","SEARCH_TYPES","MEMBER","TEAM","TEAM_UNGROUPED","value","createMembersDropdownOptions","selectedTeam","searchTerm","availableTeams","_ref$onlyMembers","onlyMembers","tempOptions","hasSelectedTeam","filteredTeams","filter","team","isNotEmpty","filteredMembers","addMembersInTeam","_ref2","forEach","member","push","_objectSpread","type","containsSearchTerm","includes","toLower","selectedTeamData","findBy","removeBy","_ref3","_ref3$filteredMembers","teamAndMembersLabels","map","append","pluck","any","MembersDropdown","config","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useTranslation","useTranslation","t","options","useMemo","handleClick","handleUpdate","id","DropdownMenu","closeOnSelect","dropdownProps","customTarget","onClose","AssignList","Search","handleClearSearchTerm","placeholder","searchPlaceholder","onChange","target","isLoading","Spinner","index","Fragment","TeamsListItem","active","teamName","onClick","isTeam","MembersListItem","memberName","isEmpty"],"mappings":"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"}
|