@bigbinary/neeto-approvals-frontend 1.1.0 → 1.2.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Approvals.js","sources":["../../app/javascript/src/common/routes.js","../../app/javascript/src/common/utils.js","../../app/javascript/src/hooks/usePaginate.js","../../app/javascript/src/components/Approvals/History/constants.jsx","../../app/javascript/src/components/Approvals/History/index.jsx","../../app/javascript/src/components/Approvals/PendingRequests/constants.js","../../app/javascript/src/components/Approvals/PendingRequests/index.jsx","../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../app/javascript/src/components/Approvals/Templates/constants.js","../../app/javascript/src/components/Approvals/Templates/MessageEditor.jsx","../../app/javascript/src/components/Approvals/Templates/TemplateForm.jsx","../../app/javascript/src/components/Approvals/Templates/Form.jsx","../../app/javascript/src/components/Approvals/Templates/Create.jsx","../../app/javascript/src/components/Approvals/Templates/Edit.jsx","../../app/javascript/src/components/Approvals/Templates/Show/Field.jsx","../../app/javascript/src/components/Approvals/Templates/Show/index.jsx","../../app/javascript/src/utils.jsx","../../app/javascript/src/components/Approvals/Templates/Table.jsx","../../app/javascript/src/components/Approvals/Templates/utils/columnData.jsx","../../app/javascript/src/components/Approvals/Templates/index.jsx","../../app/javascript/src/components/Approvals/createRoutes.jsx","../../app/javascript/src/components/Approvals/Header.jsx","../../app/javascript/src/apis/views.js","../../app/javascript/src/hooks/reactQuery/views/useViewsApi.js","../../app/javascript/src/components/Approvals/Tab.jsx","../../app/javascript/src/components/Approvals/index.jsx"],"sourcesContent":["export const routes = {\n home: \"/\",\n approvals: \"/approvals/\",\n pending: \"pending\",\n history: \"history\",\n templates: {\n index: \"templates\",\n new: \"templates/new\",\n edit: \"templates/:id/edit\",\n },\n public: \"approvals/public/request/:id\",\n};\n","import { isEmpty } from \"ramda\";\n\nexport const hasPermission = (permissions = \"\") => {\n const type = typeof permissions;\n const userPermissions = window.globalProps?.permissions ?? [];\n\n if (Object.is(type, \"string\")) {\n return userPermissions.includes(permissions);\n } else if (Array.isArray(permissions)) {\n return permissions.some(permission => userPermissions.includes(permission));\n }\n\n return false;\n};\n\nexport const isOverflown = ({\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n}) => scrollHeight > clientHeight || scrollWidth > clientWidth;\n\nexport const handleEmptyPage = (data, pageProperties, handlePageChange) => {\n if (isEmpty(data) && pageProperties.page !== 1) {\n handlePageChange(pageProperties.page - 1, pageProperties.pageSize);\n }\n};\n","import { useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\n\nconst usePaginate = () => {\n const [pageProperties, setPageProperties] = useState({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const resetPageProperties = () =>\n setPageProperties({\n page: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const handlePageChange = (page, pageSize) => {\n setPageProperties({ page, pageSize });\n };\n\n return { pageProperties, resetPageProperties, handlePageChange };\n};\n\nexport default usePaginate;\n","import { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Tag } from \"neetoui\";\n\nimport { STATUS_TAG_STYLE } from \"../constants\";\n\nexport const HISTORY_TABLE_COLUMNS = [\n {\n dataIndex: \"approvalLabel\",\n key: \"approvalLabel\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.id\"),\n render: (approvalLabel, { requestableUrl }) => {\n const url = new URL(requestableUrl || window.location.origin);\n\n return <Button label={approvalLabel} style=\"link\" to={url.pathname} />;\n },\n },\n {\n dataIndex: \"title\",\n key: \"title\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.title\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.status\"),\n render: status => (\n <Tag label={capitalize(status)} style={STATUS_TAG_STYLE[status]} />\n ),\n },\n {\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n sorter: true,\n width: \"25%\",\n title: t(\"neetoApprovals.common.created\"),\n render: createdAt => (\n <DateFormat.FromNow\n date={createdAt}\n typographyProps={{ style: \"body2\" }}\n />\n ),\n },\n];\n","import { useEffect, useState } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table, NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { handleEmptyPage } from \"common/utils\";\nimport { useFetchRequests } from \"hooks/reactQuery/requests/useRequestsApi\";\nimport usePaginate from \"hooks/usePaginate\";\n\nimport { HISTORY_TABLE_COLUMNS } from \"./constants\";\n\nimport {\n DEFAULT_FILTER_VALUES,\n SEARCH_DELAY,\n SORT_ORDER,\n STATUSES,\n} from \"../constants\";\nimport RequestDetailsPane from \"../RequestDetailsPane\";\nimport { updateApprovalDetails } from \"../utils\";\n\nconst History = ({ helpDocUrl, requestUrl }) => {\n const [filters, setFilters] = useState(DEFAULT_FILTER_VALUES);\n const debouncedSearchTerm = useDebounce(filters.searchTerm, SEARCH_DELAY);\n const { pageProperties, handlePageChange } = usePaginate();\n const [approvalDetails, setApprovalDetails] = useState({});\n const { t } = useTranslation();\n\n const { data } = useFetchRequests({\n params: {\n ...pageProperties,\n ...filters,\n searchTerm: debouncedSearchTerm.trim(),\n status: [STATUSES.approved, STATUSES.rejected, STATUSES.cancelled],\n },\n requestUrl,\n });\n\n const { requests: approvalHistories = {}, totalCount = 0 } = data || {};\n\n useEffect(() => {\n if (!data) return;\n handleEmptyPage(data?.requests, pageProperties, handlePageChange);\n setApprovalDetails(approvalDetails =>\n updateApprovalDetails({ requestsData: data?.requests, approvalDetails })\n );\n }, [data]);\n\n const handleTableChange = (_, __, sorter) => {\n setFilters({\n ...filters,\n sortBy: camelToSnakeCase(sorter.field || \"\"),\n orderBy: SORT_ORDER[sorter.order],\n });\n };\n\n return (\n <>\n {!isEmpty(approvalHistories) ? (\n <TableWrapper\n className=\"mt-6\"\n hasPagination={totalCount > pageProperties.pageSize}\n >\n <Table\n {...{ handlePageChange, totalCount }}\n allowRowClick\n fixedHeight\n columnData={HISTORY_TABLE_COLUMNS}\n currentPageNumber={pageProperties.page}\n defaultPageSize={pageProperties.pageSize}\n rowData={approvalHistories}\n paginationProps={{\n hideOnSinglePage:\n approvalHistories?.length < DEFAULT_PAGE_SIZE + 1,\n }}\n onChange={handleTableChange}\n onRowClick={(_, approvalDetails) =>\n setApprovalDetails(approvalDetails)\n }\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n helpText={\n <Trans\n i18nKey=\"neetoApprovals.common.noDataHelpTextLearnMore\"\n style=\"link\"\n values={{ entity: t(\"neetoApprovals.common.history\") }}\n components={{\n a: (\n <Button\n style=\"link\"\n target=\"_blank\"\n to={{ pathname: helpDocUrl }}\n />\n ),\n }}\n />\n }\n title={t(\"neetoApprovals.common.notFound_\", {\n what: t(\"neetoApprovals.common.record\", PLURAL),\n })}\n />\n </div>\n )}\n <RequestDetailsPane\n {...{ approvalDetails }}\n isOpen={isPresent(approvalDetails)}\n onClose={() => setApprovalDetails({})}\n />\n </>\n );\n};\n\nexport default History;\n","import { removeBy } from \"neetocist\";\n\nimport { HISTORY_TABLE_COLUMNS } from \"../History/constants\";\n\nexport const PENDING_TABLE_COLUMNS = removeBy(\n { key: \"status\" },\n HISTORY_TABLE_COLUMNS\n);\n","import { useEffect, useState } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_SIZE, PLURAL } from \"neetocommons/constants\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Button, Table, NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { handleEmptyPage } from \"common/utils\";\nimport { useFetchRequests } from \"hooks/reactQuery/requests/useRequestsApi\";\nimport usePaginate from \"hooks/usePaginate\";\n\nimport { PENDING_TABLE_COLUMNS } from \"./constants\";\n\nimport {\n DEFAULT_FILTER_VALUES,\n SEARCH_DELAY,\n SORT_ORDER,\n STATUSES,\n} from \"../constants\";\nimport RequestDetailsPane from \"../RequestDetailsPane\";\n\nconst PendingRequests = ({ helpDocUrl, requestUrl }) => {\n const [filters, setFilters] = useState(DEFAULT_FILTER_VALUES);\n const [approvalDetails, setApprovalDetails] = useState({});\n const debouncedSearchTerm = useDebounce(filters.searchTerm, SEARCH_DELAY);\n const { pageProperties, handlePageChange } = usePaginate();\n const { t } = useTranslation();\n\n const { data } = useFetchRequests({\n params: {\n ...pageProperties,\n ...filters,\n searchTerm: debouncedSearchTerm.trim(),\n status: [STATUSES.pending],\n },\n requestUrl,\n });\n\n const { requests: pendingRequests = {}, totalCount = 0 } = data || {};\n\n useEffect(() => {\n if (!data) return;\n handleEmptyPage(data?.requests, pageProperties, handlePageChange);\n }, [data]);\n\n const handleTableChange = (_, __, sorter) => {\n setFilters({\n ...filters,\n sortBy: camelToSnakeCase(sorter.field || \"\"),\n orderBy: SORT_ORDER[sorter.order],\n });\n };\n\n return (\n <>\n {!isEmpty(pendingRequests) ? (\n <TableWrapper\n className=\"mt-6\"\n hasPagination={totalCount > pageProperties.pageSize}\n >\n <Table\n {...{ handlePageChange, totalCount }}\n allowRowClick\n fixedHeight\n columnData={PENDING_TABLE_COLUMNS}\n currentPageNumber={pageProperties.page}\n defaultPageSize={pageProperties.pageSize}\n rowData={pendingRequests}\n paginationProps={{\n hideOnSinglePage: pendingRequests?.length < DEFAULT_PAGE_SIZE + 1,\n }}\n onChange={handleTableChange}\n onRowClick={(_, approvalDetails) =>\n setApprovalDetails(approvalDetails)\n }\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n helpText={\n <Trans\n i18nKey=\"neetoApprovals.common.noDataHelpTextLearnMore\"\n style=\"link\"\n components={{\n a: (\n <Button\n style=\"link\"\n target=\"_blank\"\n to={{ pathname: helpDocUrl }}\n />\n ),\n }}\n values={{\n entity: t(\"neetoApprovals.common.pendingApproval\", PLURAL),\n }}\n />\n }\n title={t(\"neetoApprovals.common.notFound_\", {\n what: t(\"neetoApprovals.common.pendingApproval\", PLURAL),\n })}\n />\n </div>\n )}\n <RequestDetailsPane\n {...{ approvalDetails }}\n isPending\n isOpen={isPresent(approvalDetails)}\n onClose={() => setApprovalDetails({})}\n />\n </>\n );\n};\n\nexport default PendingRequests;\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport * as yup from \"yup\";\n\nexport const TEMPLATE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n message: \"\",\n};\n\nexport const TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .trim()\n .required(\n t(\"neetoApprovals.validations.required\", {\n what: t(\"neetoApprovals.common.name\"),\n })\n ),\n message: yup.string().test(\n \"message\",\n t(\"neetoApprovals.validations.required\", {\n what: t(\"neetoApprovals.inputs.labels.message\"),\n }),\n content => !isEditorEmpty(content)\n ),\n});\n","import { withT } from \"neetocommons/react-utils\";\nimport { FormikEditor } from \"neetoeditor\";\n\nconst MessageEditor = withT(({ t, placeholders = [], initialValue = \"\" }) => (\n <FormikEditor\n {...{ initialValue }}\n required\n label={t(\"neetoApprovals.inputs.labels.message\")}\n name=\"message\"\n rows={3}\n variables={placeholders}\n placeholder={t(\"neetoApprovals.inputs.placeholders.enter_\", {\n what: t(\"neetoApprovals.inputs.labels.message\"),\n })}\n />\n));\n\nexport default MessageEditor;\n","import { useFormikContext } from \"formik\";\nimport ToggleFeatureCard from \"neetomolecules/ToggleFeatureCard\";\nimport { Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MessageEditor from \"./MessageEditor\";\n\nconst TemplateForm = ({ placeholders, initialData }) => {\n const { t } = useTranslation();\n const { values, setFieldValue } = useFormikContext();\n\n const handleDescriptionToggle = ({ target: { checked } }) => {\n setFieldValue(\"descriptionEnabled\", checked);\n if (!checked) {\n setFieldValue(\"description\", \"\");\n }\n };\n\n return (\n <div className=\"flex w-full flex-col space-y-6\">\n <Input\n autoFocus\n required\n label={t(\"neetoApprovals.common.name\")}\n name=\"name\"\n placeholder={t(\"neetoApprovals.inputs.placeholders.name\")}\n />\n <ToggleFeatureCard\n switchName=\"descriptionEnabled\"\n title={t(\"neetoApprovals.inputs.labels.description\")}\n switchProps={{\n onChange: handleDescriptionToggle,\n tooltipProps: {\n enabledSwitchText: t(\n \"neetoApprovals.templates.descriptionToggle.enable\"\n ),\n disabledSwitchText: t(\n \"neetoApprovals.templates.descriptionToggle.disable\"\n ),\n },\n }}\n >\n {values.descriptionEnabled && (\n <Textarea\n className=\"w-full\"\n name=\"description\"\n placeholder={t(\"neetoApprovals.inputs.placeholders.description\")}\n />\n )}\n </ToggleFeatureCard>\n <MessageEditor {...{ placeholders }} initialValue={initialData.message} />\n </div>\n );\n};\n\nexport default TemplateForm;\n","import { useRef } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form as FormikForm } from \"neetoui/formik\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n TEMPLATE_FORM_INITIAL_VALUES,\n TEMPLATE_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport TemplateForm from \"./TemplateForm\";\n\nconst Form = ({\n isOpen,\n onClose,\n initialData = {},\n onSubmit = noop,\n isLoading = false,\n placeholders,\n}) => {\n const inputReference = useRef(null);\n\n const { t } = useTranslation();\n\n const header = isEmpty(initialData)\n ? t(\"neetoApprovals.common.addNew_\", {\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n })\n : t(\"neetoApprovals.common.edit_\", {\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n });\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n initialFocusRef={inputReference}\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">{header}</Typography>\n </Pane.Header>\n <FormikForm\n formikProps={{\n enableReinitialize: true,\n initialValues: isPresent(initialData)\n ? initialData\n : TEMPLATE_FORM_INITIAL_VALUES,\n validationSchema: TEMPLATE_FORM_VALIDATION_SCHEMA,\n onSubmit,\n }}\n >\n <Pane.Body>\n <TemplateForm {...{ initialData, placeholders }} />\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n isSubmitting={isLoading}\n cancelButtonProps={{\n \"data-cy\": \"neeto-approvals-templates-close-template-form-btn\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"neeto-approvals-templates-save-template-btn\",\n }}\n />\n </Pane.Footer>\n </FormikForm>\n </Pane>\n );\n};\n\nexport default Form;\n","import { useCreateTemplate } from \"hooks/reactQuery/templates/useTemplatesApi\";\n\nimport Form from \"./Form\";\n\nconst Create = ({ templateUrl, isOpen, onClose, templatePlaceholders }) => {\n const { mutate: createTemplate, isPending } = useCreateTemplate();\n\n const onSubmit = template => {\n const payload = { template };\n\n createTemplate({ url: templateUrl, payload }, { onSuccess: onClose });\n };\n\n return (\n <Form\n {...{ isOpen, onClose, onSubmit }}\n isLoading={isPending}\n placeholders={templatePlaceholders}\n />\n );\n};\n\nexport default Create;\n","import { useUpdateTemplate } from \"hooks/reactQuery/templates/useTemplatesApi\";\n\nimport Form from \"./Form\";\n\nconst Edit = ({\n templateUrl,\n template,\n setTemplate,\n isOpen,\n onClose,\n templatePlaceholders,\n}) => {\n const { mutate: updateTemplate, isPending: isUpdating } = useUpdateTemplate({\n onSuccess: () => setTemplate({}),\n });\n\n const onSubmit = template => {\n const payload = { template };\n updateTemplate({ id: template.id, payload, url: templateUrl });\n };\n\n const initialData = {\n ...template,\n descriptionEnabled: !!template.description,\n };\n\n return (\n <Form\n {...{ initialData, isOpen, onClose, onSubmit }}\n isLoading={isUpdating}\n placeholders={templatePlaceholders}\n />\n );\n};\n\nexport default Edit;\n","import { memo } from \"react\";\n\nimport { Label, Typography } from \"neetoui\";\n\nconst Field = ({ label, value }) => (\n <div className=\"flex flex-col items-start justify-center\">\n <Label className=\"mb-1 font-normal\">{label}</Label>\n <Typography style=\"body1\" weight=\"medium\">\n {value}\n </Typography>\n </div>\n);\n\nexport default memo(Field);\n","import { memo } from \"react\";\n\nimport { EditorContent } from \"neetoeditor\";\nimport { Label, Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Field from \"./Field\";\n\nconst MemoizedEditorContent = memo(EditorContent);\n\nconst TemplateDetails = ({ isOpen, onClose, template }) => {\n const { t } = useTranslation();\n const { name, description, message } = template;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header className=\"space-y-2\">\n <Typography style=\"h2\">\n {t(\"neetoApprovals.common.templateDetails\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"space-y-6\">\n <Field label={t(\"neetoApprovals.common.name\")} value={name} />\n <Field\n label={t(\"neetoApprovals.inputs.labels.description\")}\n value={description}\n />\n <div className=\"flex w-full flex-col space-y-4\">\n <Label className=\"mb-1 font-normal\">\n {t(\"neetoApprovals.inputs.labels.message\")}\n </Label>\n <MemoizedEditorContent\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg p-3\"\n content={message}\n />\n </div>\n </Pane.Body>\n </Pane>\n );\n};\n\nexport default TemplateDetails;\n","import { Button } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nexport const renderNoDataHelpText = ({ entity, url }) => (\n <Trans\n i18nKey=\"neetoApprovals.common.noDataHelpText\"\n style=\"link\"\n values={{ entity: entity.toLocaleLowerCase() }}\n components={{\n a: <Button style=\"link\" target=\"_blank\" to={{ pathname: url }} />,\n }}\n />\n);\n","import { DEFAULT_PAGE_SIZE, SINGULAR } from \"neetocommons/constants\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table as NeetoUITable, NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderNoDataHelpText } from \"utils\";\n\nimport { SORT_ORDER } from \"../constants\";\n\nconst Table = ({\n entity,\n columnData,\n rowData,\n totalCount,\n filters,\n setFilters,\n setIsPaneOpen,\n helpDocUrl,\n onEditClick,\n onDeleteClick,\n pageProperties,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const columns = columnData({ onEditClick, onDeleteClick });\n\n const handleTableChange = (_, __, sorter) => {\n setFilters({\n ...filters,\n sortBy: sorter.field,\n orderBy: SORT_ORDER[sorter.order],\n });\n };\n\n const noDataProps = {\n primaryButtonProps: {\n label: t(\"neetoApprovals.common.addNew_\", {\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n }),\n onClick: () => setIsPaneOpen(true),\n },\n helpText: renderNoDataHelpText({ entity, url: helpDocUrl }),\n };\n\n if (isEmpty(rowData)) {\n return (\n <div className=\"flex h-full w-full flex-grow items-center justify-center\">\n <NoData\n title={t(\"neetoApprovals.common.notFound_\", { what: entity })}\n {...(!filters.searchTerm && noDataProps)}\n />\n </div>\n );\n }\n\n return (\n <TableWrapper\n className=\"mt-6\"\n hasPagination={totalCount > pageProperties.pageSize}\n >\n <NeetoUITable\n fixedHeight\n columnData={columns}\n currentPageNumber={pageProperties.page}\n defaultPageSize={pageProperties.pageSize}\n scroll={{ x: 0 }}\n tableLayout=\"fixed\"\n paginationProps={{\n hideOnSinglePage: rowData?.length < DEFAULT_PAGE_SIZE + 1,\n }}\n onChange={handleTableChange}\n {...{ rowData, totalCount, ...otherProps }}\n />\n </TableWrapper>\n );\n};\n\nexport default Table;\n","import i18next from \"i18next\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nimport { DATA_CY_KEY } from \"components/Approvals/constants\";\n\nconst columnData = ({ onEditClick, onDeleteClick }) => [\n {\n dataIndex: \"name\",\n key: \"name\",\n sorter: true,\n title: i18next.t(\"neetoApprovals.common.name\"),\n ellipsis: true,\n render: (_, template) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography className=\"truncate\" style=\"body2\">\n {template.name}\n </Typography>\n <MoreDropdown\n dropdownProps={{\n strategy: \"fixed\",\n onClick: e => e.stopPropagation(),\n }}\n menuItems={[\n {\n key: \"edit\",\n label: i18next.t(\"neetoApprovals.common.edit\"),\n onClick: event => onEditClick(event, template),\n [DATA_CY_KEY]: \"neeto-approvals-templates-edit-template-btn\",\n },\n {\n key: \"delete\",\n label: i18next.t(\"neetoApprovals.common.delete\"),\n onClick: event => onDeleteClick(event, template),\n [DATA_CY_KEY]: \"neeto-approvals-templates-delete-template-btn\",\n },\n ]}\n />\n </div>\n ),\n },\n {\n dataIndex: \"description\",\n key: \"description\",\n title: i18next.t(\"neetoApprovals.inputs.labels.description\"),\n },\n];\n\nexport default columnData;\n","import { useEffect, useState } from \"react\";\n\nimport { SINGULAR, PLURAL } from \"neetocommons/constants\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Alert } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { handleEmptyPage } from \"common/utils\";\nimport {\n useDeleteTemplate,\n useFetchTemplates,\n} from \"hooks/reactQuery/templates/useTemplatesApi\";\nimport usePaginate from \"hooks/usePaginate\";\n\nimport Create from \"./Create\";\nimport Edit from \"./Edit\";\nimport TemplateDetails from \"./Show\";\nimport Table from \"./Table\";\nimport columnData from \"./utils/columnData\";\n\nimport { DEFAULT_FILTER_VALUES, SEARCH_DELAY } from \"../constants\";\n\nconst Templates = ({\n searchTerm,\n isNewTemplatePaneOpen,\n setIsNewTemplatePaneOpen,\n helpDocUrl,\n ...otherProps\n}) => {\n const [filters, setFilters] = useState(DEFAULT_FILTER_VALUES);\n const [selectedTemplate, setSelectedTemplate] = useState({});\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isEditPaneOpen, setIsEditPaneOpen] = useState(false);\n const [isShowPaneOpen, setIsShowPaneOpen] = useState(false);\n\n const { pageProperties, handlePageChange, resetPageProperties } =\n usePaginate();\n\n const { t } = useTranslation();\n\n const debouncedSearchTerm = useDebounce(searchTerm, SEARCH_DELAY);\n\n useEffect(() => {\n resetPageProperties();\n }, [searchTerm]);\n\n const { data, isLoading: isTemplateLoading } = useFetchTemplates({\n ...pageProperties,\n ...filters,\n searchTerm: debouncedSearchTerm.trim(),\n });\n\n const { templates = [], totalCount = 0 } = data || {};\n\n useEffect(() => {\n if (data) {\n handleEmptyPage(data?.templates, pageProperties, handlePageChange);\n }\n }, [data]);\n\n const { mutate: deleteTemplate, isPending: isDeleting } = useDeleteTemplate();\n\n useEffect(() => {\n if (!isEmpty(selectedTemplate)) return;\n setIsDeleteAlertOpen(false);\n setIsEditPaneOpen(false);\n setIsShowPaneOpen(false);\n }, [selectedTemplate]);\n\n const onEditClick = (event, template) => {\n event.stopPropagation();\n\n setSelectedTemplate(template);\n setIsEditPaneOpen(true);\n };\n\n const onRowClick = (_, templateDetails) => {\n setSelectedTemplate(templateDetails);\n setIsShowPaneOpen(true);\n };\n\n const onDeleteClick = (event, template) => {\n event.stopPropagation();\n\n setSelectedTemplate(template);\n setIsDeleteAlertOpen(true);\n };\n\n const handleDelete = templateId => {\n deleteTemplate({ templateId });\n setSelectedTemplate({});\n };\n\n const entity = t(\"neetoApprovals.common.template\", PLURAL);\n\n return (\n <>\n {isTemplateLoading ? (\n <PageLoader />\n ) : (\n <Table\n {...{\n columnData,\n entity,\n filters,\n handlePageChange,\n helpDocUrl,\n onDeleteClick,\n onEditClick,\n onRowClick,\n pageProperties,\n searchTerm,\n setFilters,\n totalCount,\n }}\n rowData={templates}\n setIsPaneOpen={setIsNewTemplatePaneOpen}\n />\n )}\n <Create\n isOpen={isNewTemplatePaneOpen}\n onClose={() => setIsNewTemplatePaneOpen(false)}\n {...otherProps}\n />\n <Edit\n isOpen={isEditPaneOpen}\n setTemplate={setSelectedTemplate}\n template={selectedTemplate}\n {...otherProps}\n onClose={() => setIsEditPaneOpen(false)}\n />\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoApprovals.buttons.delete\")}\n message={\n <Trans\n i18nKey=\"neetoApprovals.alerts.deleting_\"\n values={{\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n name: selectedTemplate?.name,\n }}\n />\n }\n title={t(\"neetoApprovals.common.delete_\", {\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n })}\n onClose={() => setSelectedTemplate({})}\n onSubmit={() => handleDelete(selectedTemplate?.id)}\n />\n <TemplateDetails\n isOpen={isShowPaneOpen}\n template={selectedTemplate}\n onClose={() => setSelectedTemplate({})}\n />\n </>\n );\n};\n\nexport default Templates;\n","import { t } from \"i18next\";\nimport { PLURAL, SINGULAR } from \"neetocommons/constants\";\nimport { Button } from \"neetoui\";\n\nimport { routes } from \"common/routes\";\n\nimport History from \"./History\";\nimport PendingRequests from \"./PendingRequests\";\nimport Templates from \"./Templates\";\n\nexport const createRoutes = ({\n config,\n isNewTemplatePaneOpen,\n searchTerm,\n setIsNewTemplatePaneOpen,\n}) => [\n {\n component: () => (\n <Templates\n {...{\n isNewTemplatePaneOpen,\n searchTerm,\n setIsNewTemplatePaneOpen,\n ...config,\n }}\n />\n ),\n path: `${config.approvalsPath}${routes.templates.index}`,\n actionBlock: () => (\n <Button\n data-cy=\"neeto-approvals-templates-add-new-button\"\n label={t(\"neetoApprovals.common.addNew_\", {\n what: t(\"neetoApprovals.common.template\", SINGULAR),\n })}\n onClick={() => setIsNewTemplatePaneOpen(true)}\n />\n ),\n searchPlaceholder: t(\"neetoApprovals.inputs.placeholders.search_\", {\n what: t(\"neetoApprovals.common.template\", PLURAL),\n }),\n },\n {\n component: () => <PendingRequests {...config} />,\n path: `${config.approvalsPath}${routes.pending}`,\n },\n {\n component: () => <History {...config} />,\n path: `${config.approvalsPath}${routes.history}`,\n },\n];\n","import { findBy } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nconst Header = ({ appRoutes, breadcrumbs }) => {\n const { t } = useTranslation();\n\n const { pathname } = useLocation();\n\n const currentTab = findBy({ path: pathname }, appRoutes);\n\n return (\n <NeetoHeader\n {...{ breadcrumbs }}\n actionBlock={currentTab?.actionBlock?.()}\n title={t(\"neetoApprovals.common.approval\", PLURAL)}\n searchProps={\n currentTab?.searchPlaceholder && {\n placeholder: currentTab?.searchPlaceholder,\n }\n }\n />\n );\n};\n\nexport default Header;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"common/constants\";\n\nconst fetch = () => axios.get(`${BASE_URL}/views`);\n\nconst viewsApi = { fetch };\n\nexport default viewsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport viewsApi from \"apis/views\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchViews = (options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.VIEWS],\n queryFn: viewsApi.fetch,\n select: response => response.data || response,\n ...options,\n });\n\nexport { useFetchViews };\n","import { Tab as NeetoUITab } from \"neetoui\";\nimport { keys } from \"ramda\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport { routes } from \"common/routes\";\nimport { useFetchViews } from \"hooks/reactQuery/views/useViewsApi\";\n\nimport { getApprovalFilter } from \"./utils\";\n\nconst Tab = ({ approvalsPath }) => {\n const { pathname } = useLocation();\n\n const history = useHistory();\n\n const approvalFilter = getApprovalFilter();\n const approvalFilterKeys = keys(approvalFilter);\n const category = pathname.split(routes.approvals)[1]?.toLocaleUpperCase();\n\n const isActive = filter => category.includes(filter);\n\n const getRoute = filter => `${approvalsPath}${filter.toLowerCase()}`;\n\n const { data: { views = {} } = {} } = useFetchViews();\n\n return (\n <NeetoUITab>\n {approvalFilterKeys.map(filter => (\n <NeetoUITab.Item\n active={isActive(filter)}\n count={views[filter?.toLocaleLowerCase()]}\n key={filter}\n label={approvalFilter[filter].label}\n onClick={() => history.push(getRoute(filter))}\n >\n {approvalFilter[filter].label} (\n {views[filter?.toLocaleLowerCase()] || 0})\n </NeetoUITab.Item>\n ))}\n </NeetoUITab>\n );\n};\n\nexport default Tab;\n","import { useState } from \"react\";\n\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Redirect, Route, Switch } from \"react-router-dom\";\n\nimport { routes } from \"common/routes\";\n\nimport { createRoutes } from \"./createRoutes\";\nimport Header from \"./Header\";\nimport Tabs from \"./Tab\";\n\nconst Approvals = ({ config }) => {\n const { searchTerm = \"\" } = useQueryParams();\n const [isNewTemplatePaneOpen, setIsNewTemplatePaneOpen] = useState(false);\n\n const appRoutes = createRoutes({\n config,\n searchTerm,\n isNewTemplatePaneOpen,\n setIsNewTemplatePaneOpen,\n });\n\n return (\n <div className=\"w-full overflow-y-auto\">\n <Container>\n <Header {...{ appRoutes, ...config }} />\n <Tabs approvalsPath={config.approvalsPath} />\n <Switch>\n {appRoutes.map(({ path, component }) => (\n <Route {...{ component, path }} exact key={path} />\n ))}\n <Redirect\n exact\n from={config.approvalsPath}\n // eslint-disable-next-line @bigbinary/neeto/use-common-routes\n to={`${config.approvalsPath}${routes.pending}`}\n />\n </Switch>\n </Container>\n </div>\n );\n};\n\nexport default Approvals;\n"],"names":["routes","home","approvals","pending","history","templates","index","edit","handleEmptyPage","data","pageProperties","handlePageChange","isEmpty","page","pageSize","usePaginate","_useState","useState","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","_useState2","_slicedToArray","setPageProperties","resetPageProperties","HISTORY_TABLE_COLUMNS","dataIndex","key","sorter","width","title","t","render","approvalLabel","_ref","requestableUrl","url","URL","window","location","origin","_jsx","Button","label","style","to","pathname","status","Tag","capitalize","STATUS_TAG_STYLE","createdAt","DateFormat","FromNow","date","typographyProps","History","helpDocUrl","requestUrl","DEFAULT_FILTER_VALUES","filters","setFilters","debouncedSearchTerm","useDebounce","searchTerm","SEARCH_DELAY","_usePaginate","_useState3","_useState4","approvalDetails","setApprovalDetails","_useTranslation","useTranslation","_useFetchRequests","useFetchRequests","params","_objectSpread","trim","STATUSES","approved","rejected","cancelled","_ref2","_ref2$requests","requests","approvalHistories","_ref2$totalCount","totalCount","useEffect","updateApprovalDetails","requestsData","handleTableChange","_","__","sortBy","camelToSnakeCase","field","orderBy","SORT_ORDER","order","_jsxs","_Fragment","children","TableWrapper","className","hasPagination","Table","allowRowClick","fixedHeight","columnData","currentPageNumber","defaultPageSize","rowData","paginationProps","hideOnSinglePage","length","onChange","onRowClick","NoData","helpText","Trans","i18nKey","values","entity","components","a","target","what","PLURAL","RequestDetailsPane","isOpen","isPresent","onClose","PENDING_TABLE_COLUMNS","removeBy","PendingRequests","pendingRequests","isPending","objectWithoutPropertiesLoose","TEMPLATE_FORM_INITIAL_VALUES","name","description","message","TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","shape","string","required","test","content","isEditorEmpty","MessageEditor","withT","_ref$placeholders","placeholders","_ref$initialValue","initialValue","FormikEditor","rows","variables","placeholder","TemplateForm","initialData","_useFormikContext","useFormikContext","setFieldValue","handleDescriptionToggle","checked","Input","autoFocus","ToggleFeatureCard","switchName","switchProps","tooltipProps","enabledSwitchText","disabledSwitchText","descriptionEnabled","Textarea","Form","_ref$initialData","_ref$onSubmit","onSubmit","noop","_ref$isLoading","isLoading","inputReference","useRef","header","SINGULAR","Pane","initialFocusRef","size","Header","Typography","FormikForm","formikProps","enableReinitialize","initialValues","validationSchema","Body","Footer","ActionBlock","isSubmitting","cancelButtonProps","onClick","submitButtonProps","Create","templateUrl","templatePlaceholders","_useCreateTemplate","useCreateTemplate","createTemplate","mutate","template","payload","onSuccess","Edit","setTemplate","_useUpdateTemplate","useUpdateTemplate","updateTemplate","isUpdating","id","Field","value","Label","weight","memo","MemoizedEditorContent","EditorContent","TemplateDetails","renderNoDataHelpText","toLocaleLowerCase","setIsPaneOpen","onEditClick","onDeleteClick","otherProps","_objectWithoutProperties","_excluded","columns","noDataProps","primaryButtonProps","NeetoUITable","scroll","x","tableLayout","i18next","ellipsis","MoreDropdown","dropdownProps","strategy","e","stopPropagation","menuItems","_defineProperty","event","DATA_CY_KEY","Templates","isNewTemplatePaneOpen","setIsNewTemplatePaneOpen","selectedTemplate","setSelectedTemplate","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isEditPaneOpen","setIsEditPaneOpen","_useState9","_useState10","isShowPaneOpen","setIsShowPaneOpen","_useFetchTemplates","useFetchTemplates","isTemplateLoading","_ref2$templates","_useDeleteTemplate","useDeleteTemplate","deleteTemplate","isDeleting","templateDetails","handleDelete","templateId","PageLoader","Alert","submitButtonLabel","createRoutes","config","component","path","concat","approvalsPath","actionBlock","searchPlaceholder","_currentTab$actionBlo","appRoutes","breadcrumbs","_useLocation","useLocation","currentTab","findBy","NeetoHeader","call","searchProps","fetch","axios","get","BASE_URL","viewsApi","useFetchViews","options","arguments","undefined","useQuery","queryKey","QUERY_KEYS","VIEWS","queryFn","select","response","Tab","_pathname$split$","useHistory","approvalFilter","getApprovalFilter","approvalFilterKeys","keys","category","split","toLocaleUpperCase","isActive","filter","includes","getRoute","toLowerCase","_useFetchViews","_useFetchViews$data","_useFetchViews$data2","_useFetchViews$data2$","views","NeetoUITab","map","Item","active","count","push","Approvals","_useQueryParams","useQueryParams","_useQueryParams$searc","Container","Tabs","Switch","_createElement","Route","exact","Redirect","from"],"mappings":"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"}
@@ -0,0 +1,231 @@
1
+ 'use strict';
2
+
3
+ var constants = require('../constants-d561fb6c.js');
4
+ var react = require('react');
5
+ var constants$1 = require('@bigbinary/neeto-commons-frontend/constants');
6
+ var Pane = require('@bigbinary/neetoui/Pane');
7
+ var Typography = require('@bigbinary/neetoui/Typography');
8
+ var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
9
+ var FormikForm = require('@bigbinary/neetoui/formik/Form');
10
+ var reactI18next = require('react-i18next');
11
+ var formik = require('formik');
12
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
13
+ var FormikEditor = require('@bigbinary/neeto-editor/FormikEditor');
14
+ var Select = require('@bigbinary/neetoui/Select');
15
+ var ramda = require('ramda');
16
+ var reactQuery = require('@tanstack/react-query');
17
+ var axios = require('axios');
18
+ var useTemplatesApi = require('../useTemplatesApi-5d82bdca.js');
19
+ var jsxRuntime = require('react/jsx-runtime');
20
+ require('i18next');
21
+ require('@bigbinary/neeto-editor/utils');
22
+ require('yup');
23
+ require('@bigbinary/neeto-commons-frontend/react-utils');
24
+ require('@bigbinary/neeto-commons-frontend/utils');
25
+
26
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
+
28
+ var Pane__default = /*#__PURE__*/_interopDefaultLegacy(Pane);
29
+ var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
30
+ var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
31
+ var FormikForm__default = /*#__PURE__*/_interopDefaultLegacy(FormikForm);
32
+ var FormikEditor__default = /*#__PURE__*/_interopDefaultLegacy(FormikEditor);
33
+ var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
34
+ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
35
+
36
+ var fetch = function fetch(params) {
37
+ return axios__default["default"].get("".concat(constants.BASE_URL, "/approvers"), {
38
+ params: params
39
+ });
40
+ };
41
+ var approversApi = {
42
+ fetch: fetch
43
+ };
44
+
45
+ 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; }
46
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { constants._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; }
47
+ var useFetchApprovers = function useFetchApprovers() {
48
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
49
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
50
+ return reactQuery.useQuery(_objectSpread({
51
+ queryKey: [constants.QUERY_KEYS.APPROVERS, params],
52
+ queryFn: function queryFn() {
53
+ return approversApi.fetch(params);
54
+ },
55
+ select: function select(response) {
56
+ return response.data || response;
57
+ }
58
+ }, options));
59
+ };
60
+
61
+ var Form$1 = function Form(_ref) {
62
+ var _globalProps$user;
63
+ var _ref$requestableId = _ref.requestableId,
64
+ requestableId = _ref$requestableId === void 0 ? "" : _ref$requestableId,
65
+ selectedTemplateData = _ref.selectedTemplateData,
66
+ setSelectedTemplateData = _ref.setSelectedTemplateData;
67
+ var _useTranslation = reactI18next.useTranslation(),
68
+ t = _useTranslation.t;
69
+ var _useFormikContext = formik.useFormikContext(),
70
+ setFieldValue = _useFormikContext.setFieldValue;
71
+ var inputRef = react.useRef(null);
72
+ var _useState = react.useState(null),
73
+ _useState2 = constants._slicedToArray(_useState, 2),
74
+ approverId = _useState2[0],
75
+ setApproverId = _useState2[1];
76
+ var _useState3 = react.useState(null),
77
+ _useState4 = constants._slicedToArray(_useState3, 2),
78
+ templateId = _useState4[0],
79
+ setTemplateId = _useState4[1];
80
+ var params = {
81
+ requestableId: requestableId,
82
+ approverId: approverId,
83
+ approvalRequestorId: (_globalProps$user = initializers.globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.id
84
+ };
85
+ var _useFetchTemplates = useTemplatesApi.useFetchTemplates(),
86
+ _useFetchTemplates$da = _useFetchTemplates.data,
87
+ _useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
88
+ _useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
89
+ templates = _useFetchTemplates$da3 === void 0 ? [] : _useFetchTemplates$da3;
90
+ var _useFetchTemplate = useTemplatesApi.useFetchTemplate({
91
+ id: templateId,
92
+ params: params
93
+ }),
94
+ _useFetchTemplate$dat = _useFetchTemplate.data,
95
+ _useFetchTemplate$dat2 = _useFetchTemplate$dat === void 0 ? {} : _useFetchTemplate$dat,
96
+ _useFetchTemplate$dat3 = _useFetchTemplate$dat2.template,
97
+ template = _useFetchTemplate$dat3 === void 0 ? {} : _useFetchTemplate$dat3;
98
+ var _useFetchApprovers = useFetchApprovers(),
99
+ _useFetchApprovers$da = _useFetchApprovers.data,
100
+ _useFetchApprovers$da2 = _useFetchApprovers$da === void 0 ? {} : _useFetchApprovers$da,
101
+ _useFetchApprovers$da3 = _useFetchApprovers$da2.approvers,
102
+ approvers = _useFetchApprovers$da3 === void 0 ? [] : _useFetchApprovers$da3;
103
+ var approverOptions = react.useMemo(function () {
104
+ return approvers.map(function (approver) {
105
+ return {
106
+ label: approver.name,
107
+ value: approver.id
108
+ };
109
+ });
110
+ }, [approvers]);
111
+ var templateOptions = templates.map(function (template) {
112
+ return {
113
+ label: template.name,
114
+ value: template.id
115
+ };
116
+ });
117
+ var updateMessage = function updateMessage() {
118
+ var _inputRef$current;
119
+ var message = template.parsedMessage || template.message;
120
+ setFieldValue("message", message);
121
+ inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || (_inputRef$current = _inputRef$current.editor) === null || _inputRef$current === void 0 || (_inputRef$current = _inputRef$current.commands) === null || _inputRef$current === void 0 || _inputRef$current.setContent(message);
122
+ };
123
+ var handleTemplateChange = function handleTemplateChange(selectedTemplate) {
124
+ setTemplateId(selectedTemplate.value);
125
+ };
126
+ var handleApproverChange = function handleApproverChange(approver) {
127
+ setApproverId(approver.value);
128
+ setFieldValue("approver", approver);
129
+ };
130
+ react.useEffect(function () {
131
+ if (ramda.isEmpty(template)) return;
132
+ setSelectedTemplateData(template);
133
+ updateMessage();
134
+ }, [template]);
135
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
136
+ className: "w-full space-y-6",
137
+ children: [/*#__PURE__*/jsxRuntime.jsx(Select__default["default"], {
138
+ label: t("neetoApprovals.select.approval"),
139
+ options: templateOptions,
140
+ onChange: function onChange(selectedTemplate) {
141
+ return handleTemplateChange(selectedTemplate);
142
+ }
143
+ }), (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message) && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
144
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
145
+ className: "flex space-x-6",
146
+ children: /*#__PURE__*/jsxRuntime.jsx(Select__default["default"], {
147
+ required: true,
148
+ label: t("neetoApprovals.inputs.labels.approver"),
149
+ name: "approver",
150
+ options: approverOptions,
151
+ placeholder: t("neetoApprovals.inputs.placeholders.select_", {
152
+ what: t("neetoApprovals.common.approver", constants$1.SINGULAR)
153
+ }),
154
+ onChange: handleApproverChange
155
+ })
156
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
157
+ className: "space-y-2",
158
+ children: /*#__PURE__*/jsxRuntime.jsx(FormikEditor__default["default"], {
159
+ required: true,
160
+ label: t("neetoApprovals.inputs.labels.message"),
161
+ name: "message",
162
+ ref: inputRef,
163
+ rows: 3,
164
+ placeholder: t("neetoApprovals.inputs.placeholders.enter_", {
165
+ what: t("neetoApprovals.inputs.labels.message")
166
+ })
167
+ })
168
+ })]
169
+ })]
170
+ });
171
+ };
172
+
173
+ var Form = function Form(_ref) {
174
+ var isOpen = _ref.isOpen,
175
+ setIsPaneOpen = _ref.setIsPaneOpen,
176
+ onSubmit = _ref.onSubmit,
177
+ isLoading = _ref.isLoading,
178
+ _ref$requestableId = _ref.requestableId,
179
+ requestableId = _ref$requestableId === void 0 ? "" : _ref$requestableId;
180
+ var _useState = react.useState({}),
181
+ _useState2 = constants._slicedToArray(_useState, 2),
182
+ selectedTemplateData = _useState2[0],
183
+ setSelectedTemplateData = _useState2[1];
184
+ var _useTranslation = reactI18next.useTranslation(),
185
+ t = _useTranslation.t;
186
+ var onClose = function onClose() {
187
+ setIsPaneOpen(false);
188
+ setSelectedTemplateData({});
189
+ };
190
+ var handleSubmit = function handleSubmit(values) {
191
+ onSubmit({
192
+ message: values.message,
193
+ approverId: values.approver.value
194
+ }, selectedTemplateData, onClose);
195
+ };
196
+ return /*#__PURE__*/jsxRuntime.jsxs(Pane__default["default"], {
197
+ isOpen: isOpen,
198
+ onClose: onClose,
199
+ children: [/*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Header, {
200
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
201
+ style: "h2",
202
+ children: t("neetoApprovals.common.add_", {
203
+ what: t("neetoApprovals.common.approval", constants$1.SINGULAR)
204
+ })
205
+ })
206
+ }), /*#__PURE__*/jsxRuntime.jsxs(FormikForm__default["default"], {
207
+ formikProps: {
208
+ onSubmit: handleSubmit,
209
+ initialValues: constants.APPROVAL_REQUEST_FORM_INITIAL_VALUES,
210
+ validationSchema: constants.REQUEST_FORM_VALIDATION_SCHEMA
211
+ },
212
+ children: [/*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Body, {
213
+ children: /*#__PURE__*/jsxRuntime.jsx(Form$1, {
214
+ requestableId: requestableId,
215
+ selectedTemplateData: selectedTemplateData,
216
+ setSelectedTemplateData: setSelectedTemplateData
217
+ })
218
+ }), /*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Footer, {
219
+ children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
220
+ cancelButtonProps: {
221
+ onClick: onClose
222
+ },
223
+ isSubmitting: isLoading
224
+ })
225
+ })]
226
+ })]
227
+ });
228
+ };
229
+
230
+ module.exports = Form;
231
+ //# sourceMappingURL=Form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.js","sources":["../../app/javascript/src/apis/approvers.js","../../app/javascript/src/hooks/reactQuery/approvers/useApproversApi.js","../../app/javascript/src/components/Approvals/ApprovalRequestForm.jsx","../../app/javascript/src/components/Approvals/CreateRequestForm.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"common/constants\";\n\nconst fetch = params => axios.get(`${BASE_URL}/approvers`, { params });\n\nconst approversApi = { fetch };\n\nexport default approversApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport approversApi from \"apis/approvers\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchApprovers = (params = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.APPROVERS, params],\n queryFn: () => approversApi.fetch(params),\n select: response => response.data || response,\n ...options,\n });\n\nexport { useFetchApprovers };\n","import { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Select } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchApprovers } from \"hooks/reactQuery/approvers/useApproversApi\";\nimport {\n useFetchTemplate,\n useFetchTemplates,\n} from \"hooks/reactQuery/templates/useTemplatesApi\";\n\nconst Form = ({\n requestableId = \"\",\n selectedTemplateData,\n setSelectedTemplateData,\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue } = useFormikContext();\n const inputRef = useRef(null);\n\n const [approverId, setApproverId] = useState(null);\n const [templateId, setTemplateId] = useState(null);\n\n const params = {\n requestableId,\n approverId,\n approvalRequestorId: globalProps.user?.id,\n };\n\n const { data: { templates = [] } = {} } = useFetchTemplates();\n const { data: { template = {} } = {} } = useFetchTemplate({\n id: templateId,\n params,\n });\n const { data: { approvers = [] } = {} } = useFetchApprovers();\n\n const approverOptions = useMemo(\n () =>\n approvers.map(approver => ({\n label: approver.name,\n value: approver.id,\n })),\n [approvers]\n );\n\n const templateOptions = templates.map(template => ({\n label: template.name,\n value: template.id,\n }));\n\n const updateMessage = () => {\n const message = template.parsedMessage || template.message;\n setFieldValue(\"message\", message);\n inputRef?.current?.editor?.commands?.setContent(message);\n };\n\n const handleTemplateChange = selectedTemplate => {\n setTemplateId(selectedTemplate.value);\n };\n\n const handleApproverChange = approver => {\n setApproverId(approver.value);\n setFieldValue(\"approver\", approver);\n };\n\n useEffect(() => {\n if (isEmpty(template)) return;\n setSelectedTemplateData(template);\n updateMessage();\n }, [template]);\n\n return (\n <div className=\"w-full space-y-6\">\n <Select\n label={t(\"neetoApprovals.select.approval\")}\n options={templateOptions}\n onChange={selectedTemplate => handleTemplateChange(selectedTemplate)}\n />\n {selectedTemplateData?.message && (\n <>\n <div className=\"flex space-x-6\">\n <Select\n required\n label={t(\"neetoApprovals.inputs.labels.approver\")}\n name=\"approver\"\n options={approverOptions}\n placeholder={t(\"neetoApprovals.inputs.placeholders.select_\", {\n what: t(\"neetoApprovals.common.approver\", SINGULAR),\n })}\n onChange={handleApproverChange}\n />\n </div>\n <div className=\"space-y-2\">\n <FormikEditor\n required\n label={t(\"neetoApprovals.inputs.labels.message\")}\n name=\"message\"\n ref={inputRef}\n rows={3}\n placeholder={t(\"neetoApprovals.inputs.placeholders.enter_\", {\n what: t(\"neetoApprovals.inputs.labels.message\"),\n })}\n />\n </div>\n </>\n )}\n </div>\n );\n};\n\nexport default Form;\n","import { useState } from \"react\";\n\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form as FormikForm } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ApprovalRequestForm from \"./ApprovalRequestForm\";\nimport {\n APPROVAL_REQUEST_FORM_INITIAL_VALUES,\n REQUEST_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\n\nconst Form = ({\n isOpen,\n setIsPaneOpen,\n onSubmit,\n isLoading,\n requestableId = \"\",\n}) => {\n const [selectedTemplateData, setSelectedTemplateData] = useState({});\n const { t } = useTranslation();\n\n const onClose = () => {\n setIsPaneOpen(false);\n setSelectedTemplateData({});\n };\n\n const handleSubmit = values => {\n onSubmit(\n { message: values.message, approverId: values.approver.value },\n selectedTemplateData,\n onClose\n );\n };\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoApprovals.common.add_\", {\n what: t(\"neetoApprovals.common.approval\", SINGULAR),\n })}\n </Typography>\n </Pane.Header>\n <FormikForm\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: APPROVAL_REQUEST_FORM_INITIAL_VALUES,\n validationSchema: REQUEST_FORM_VALIDATION_SCHEMA,\n }}\n >\n <Pane.Body>\n <ApprovalRequestForm\n {...{\n requestableId,\n selectedTemplateData,\n setSelectedTemplateData,\n }}\n />\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n isSubmitting={isLoading}\n />\n </Pane.Footer>\n </FormikForm>\n </Pane>\n );\n};\n\nexport default Form;\n"],"names":["fetch","params","axios","get","concat","BASE_URL","approversApi","useFetchApprovers","arguments","length","undefined","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","APPROVERS","queryFn","select","response","data","Form","_ref","_globalProps$user","_ref$requestableId","requestableId","selectedTemplateData","setSelectedTemplateData","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","inputRef","useRef","_useState","useState","_useState2","_slicedToArray","approverId","setApproverId","_useState3","_useState4","templateId","setTemplateId","approvalRequestorId","globalProps","user","id","_useFetchTemplates","useFetchTemplates","_useFetchTemplates$da","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","_useFetchTemplate","useFetchTemplate","_useFetchTemplate$dat","_useFetchTemplate$dat2","_useFetchTemplate$dat3","template","_useFetchApprovers","_useFetchApprovers$da","_useFetchApprovers$da2","_useFetchApprovers$da3","approvers","approverOptions","useMemo","map","approver","label","name","value","templateOptions","updateMessage","_inputRef$current","message","parsedMessage","current","editor","commands","setContent","handleTemplateChange","selectedTemplate","handleApproverChange","useEffect","isEmpty","_jsxs","className","children","_jsx","Select","onChange","_Fragment","required","placeholder","what","SINGULAR","FormikEditor","ref","rows","isOpen","setIsPaneOpen","onSubmit","isLoading","onClose","handleSubmit","values","Pane","Header","Typography","style","FormikForm","formikProps","initialValues","APPROVAL_REQUEST_FORM_INITIAL_VALUES","validationSchema","REQUEST_FORM_VALIDATION_SCHEMA","Body","ApprovalRequestForm","Footer","ActionBlock","cancelButtonProps","onClick","isSubmitting"],"mappings":"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"}