@bigbinary/neeto-approvals-frontend 1.0.1 → 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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"}
package/dist/Form.js ADDED
@@ -0,0 +1,219 @@
1
+ import { B as BASE_URL, c as _defineProperty, Q as QUERY_KEYS, _ as _slicedToArray, A as APPROVAL_REQUEST_FORM_INITIAL_VALUES, R as REQUEST_FORM_VALIDATION_SCHEMA } from './constants-752da2ba.js';
2
+ import { useRef, useState, useMemo, useEffect } from 'react';
3
+ import { SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
4
+ import Pane from '@bigbinary/neetoui/Pane';
5
+ import Typography from '@bigbinary/neetoui/Typography';
6
+ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
7
+ import FormikForm from '@bigbinary/neetoui/formik/Form';
8
+ import { useTranslation } from 'react-i18next';
9
+ import { useFormikContext } from 'formik';
10
+ import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
11
+ import FormikEditor from '@bigbinary/neeto-editor/FormikEditor';
12
+ import Select from '@bigbinary/neetoui/Select';
13
+ import { isEmpty } from 'ramda';
14
+ import { useQuery } from '@tanstack/react-query';
15
+ import axios from 'axios';
16
+ import { b as useFetchTemplates, d as useFetchTemplate } from './useTemplatesApi-dc60dcdd.js';
17
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
18
+ import 'i18next';
19
+ import '@bigbinary/neeto-editor/utils';
20
+ import 'yup';
21
+ import '@bigbinary/neeto-commons-frontend/react-utils';
22
+ import '@bigbinary/neeto-commons-frontend/utils';
23
+
24
+ var fetch = function fetch(params) {
25
+ return axios.get("".concat(BASE_URL, "/approvers"), {
26
+ params: params
27
+ });
28
+ };
29
+ var approversApi = {
30
+ fetch: fetch
31
+ };
32
+
33
+ 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; }
34
+ 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) { _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; }
35
+ var useFetchApprovers = function useFetchApprovers() {
36
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
37
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
38
+ return useQuery(_objectSpread({
39
+ queryKey: [QUERY_KEYS.APPROVERS, params],
40
+ queryFn: function queryFn() {
41
+ return approversApi.fetch(params);
42
+ },
43
+ select: function select(response) {
44
+ return response.data || response;
45
+ }
46
+ }, options));
47
+ };
48
+
49
+ var Form$1 = function Form(_ref) {
50
+ var _globalProps$user;
51
+ var _ref$requestableId = _ref.requestableId,
52
+ requestableId = _ref$requestableId === void 0 ? "" : _ref$requestableId,
53
+ selectedTemplateData = _ref.selectedTemplateData,
54
+ setSelectedTemplateData = _ref.setSelectedTemplateData;
55
+ var _useTranslation = useTranslation(),
56
+ t = _useTranslation.t;
57
+ var _useFormikContext = useFormikContext(),
58
+ setFieldValue = _useFormikContext.setFieldValue;
59
+ var inputRef = useRef(null);
60
+ var _useState = useState(null),
61
+ _useState2 = _slicedToArray(_useState, 2),
62
+ approverId = _useState2[0],
63
+ setApproverId = _useState2[1];
64
+ var _useState3 = useState(null),
65
+ _useState4 = _slicedToArray(_useState3, 2),
66
+ templateId = _useState4[0],
67
+ setTemplateId = _useState4[1];
68
+ var params = {
69
+ requestableId: requestableId,
70
+ approverId: approverId,
71
+ approvalRequestorId: (_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.id
72
+ };
73
+ var _useFetchTemplates = useFetchTemplates(),
74
+ _useFetchTemplates$da = _useFetchTemplates.data,
75
+ _useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
76
+ _useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
77
+ templates = _useFetchTemplates$da3 === void 0 ? [] : _useFetchTemplates$da3;
78
+ var _useFetchTemplate = useFetchTemplate({
79
+ id: templateId,
80
+ params: params
81
+ }),
82
+ _useFetchTemplate$dat = _useFetchTemplate.data,
83
+ _useFetchTemplate$dat2 = _useFetchTemplate$dat === void 0 ? {} : _useFetchTemplate$dat,
84
+ _useFetchTemplate$dat3 = _useFetchTemplate$dat2.template,
85
+ template = _useFetchTemplate$dat3 === void 0 ? {} : _useFetchTemplate$dat3;
86
+ var _useFetchApprovers = useFetchApprovers(),
87
+ _useFetchApprovers$da = _useFetchApprovers.data,
88
+ _useFetchApprovers$da2 = _useFetchApprovers$da === void 0 ? {} : _useFetchApprovers$da,
89
+ _useFetchApprovers$da3 = _useFetchApprovers$da2.approvers,
90
+ approvers = _useFetchApprovers$da3 === void 0 ? [] : _useFetchApprovers$da3;
91
+ var approverOptions = useMemo(function () {
92
+ return approvers.map(function (approver) {
93
+ return {
94
+ label: approver.name,
95
+ value: approver.id
96
+ };
97
+ });
98
+ }, [approvers]);
99
+ var templateOptions = templates.map(function (template) {
100
+ return {
101
+ label: template.name,
102
+ value: template.id
103
+ };
104
+ });
105
+ var updateMessage = function updateMessage() {
106
+ var _inputRef$current;
107
+ var message = template.parsedMessage || template.message;
108
+ setFieldValue("message", message);
109
+ 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);
110
+ };
111
+ var handleTemplateChange = function handleTemplateChange(selectedTemplate) {
112
+ setTemplateId(selectedTemplate.value);
113
+ };
114
+ var handleApproverChange = function handleApproverChange(approver) {
115
+ setApproverId(approver.value);
116
+ setFieldValue("approver", approver);
117
+ };
118
+ useEffect(function () {
119
+ if (isEmpty(template)) return;
120
+ setSelectedTemplateData(template);
121
+ updateMessage();
122
+ }, [template]);
123
+ return /*#__PURE__*/jsxs("div", {
124
+ className: "w-full space-y-6",
125
+ children: [/*#__PURE__*/jsx(Select, {
126
+ label: t("neetoApprovals.select.approval"),
127
+ options: templateOptions,
128
+ onChange: function onChange(selectedTemplate) {
129
+ return handleTemplateChange(selectedTemplate);
130
+ }
131
+ }), (selectedTemplateData === null || selectedTemplateData === void 0 ? void 0 : selectedTemplateData.message) && /*#__PURE__*/jsxs(Fragment, {
132
+ children: [/*#__PURE__*/jsx("div", {
133
+ className: "flex space-x-6",
134
+ children: /*#__PURE__*/jsx(Select, {
135
+ required: true,
136
+ label: t("neetoApprovals.inputs.labels.approver"),
137
+ name: "approver",
138
+ options: approverOptions,
139
+ placeholder: t("neetoApprovals.inputs.placeholders.select_", {
140
+ what: t("neetoApprovals.common.approver", SINGULAR)
141
+ }),
142
+ onChange: handleApproverChange
143
+ })
144
+ }), /*#__PURE__*/jsx("div", {
145
+ className: "space-y-2",
146
+ children: /*#__PURE__*/jsx(FormikEditor, {
147
+ required: true,
148
+ label: t("neetoApprovals.inputs.labels.message"),
149
+ name: "message",
150
+ ref: inputRef,
151
+ rows: 3,
152
+ placeholder: t("neetoApprovals.inputs.placeholders.enter_", {
153
+ what: t("neetoApprovals.inputs.labels.message")
154
+ })
155
+ })
156
+ })]
157
+ })]
158
+ });
159
+ };
160
+
161
+ var Form = function Form(_ref) {
162
+ var isOpen = _ref.isOpen,
163
+ setIsPaneOpen = _ref.setIsPaneOpen,
164
+ onSubmit = _ref.onSubmit,
165
+ isLoading = _ref.isLoading,
166
+ _ref$requestableId = _ref.requestableId,
167
+ requestableId = _ref$requestableId === void 0 ? "" : _ref$requestableId;
168
+ var _useState = useState({}),
169
+ _useState2 = _slicedToArray(_useState, 2),
170
+ selectedTemplateData = _useState2[0],
171
+ setSelectedTemplateData = _useState2[1];
172
+ var _useTranslation = useTranslation(),
173
+ t = _useTranslation.t;
174
+ var onClose = function onClose() {
175
+ setIsPaneOpen(false);
176
+ setSelectedTemplateData({});
177
+ };
178
+ var handleSubmit = function handleSubmit(values) {
179
+ onSubmit({
180
+ message: values.message,
181
+ approverId: values.approver.value
182
+ }, selectedTemplateData, onClose);
183
+ };
184
+ return /*#__PURE__*/jsxs(Pane, {
185
+ isOpen: isOpen,
186
+ onClose: onClose,
187
+ children: [/*#__PURE__*/jsx(Pane.Header, {
188
+ children: /*#__PURE__*/jsx(Typography, {
189
+ style: "h2",
190
+ children: t("neetoApprovals.common.add_", {
191
+ what: t("neetoApprovals.common.approval", SINGULAR)
192
+ })
193
+ })
194
+ }), /*#__PURE__*/jsxs(FormikForm, {
195
+ formikProps: {
196
+ onSubmit: handleSubmit,
197
+ initialValues: APPROVAL_REQUEST_FORM_INITIAL_VALUES,
198
+ validationSchema: REQUEST_FORM_VALIDATION_SCHEMA
199
+ },
200
+ children: [/*#__PURE__*/jsx(Pane.Body, {
201
+ children: /*#__PURE__*/jsx(Form$1, {
202
+ requestableId: requestableId,
203
+ selectedTemplateData: selectedTemplateData,
204
+ setSelectedTemplateData: setSelectedTemplateData
205
+ })
206
+ }), /*#__PURE__*/jsx(Pane.Footer, {
207
+ children: /*#__PURE__*/jsx(ActionBlock, {
208
+ cancelButtonProps: {
209
+ onClick: onClose
210
+ },
211
+ isSubmitting: isLoading
212
+ })
213
+ })]
214
+ })]
215
+ });
216
+ };
217
+
218
+ export { Form as default };
219
+ //# 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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"}
package/dist/Public.js ADDED
@@ -0,0 +1,174 @@
1
+ import { B as BASE_URL, c as _defineProperty, Q as QUERY_KEYS, _ as _slicedToArray, b as STATUSES } from './constants-752da2ba.js';
2
+ import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
3
+ import NeetoHeader from '@bigbinary/neeto-molecules/Header';
4
+ import Container from '@bigbinary/neeto-molecules/Container';
5
+ import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
6
+ import EditorContent from '@bigbinary/neeto-editor/EditorContent';
7
+ import Button from '@bigbinary/neetoui/Button';
8
+ import Callout from '@bigbinary/neetoui/Callout';
9
+ import Textarea from '@bigbinary/neetoui/Textarea';
10
+ import Typography from '@bigbinary/neetoui/Typography';
11
+ import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
12
+ import { useQuery } from '@tanstack/react-query';
13
+ import axios from 'axios';
14
+ import { useState, useEffect } from 'react';
15
+ import { useParams } from 'react-router-dom';
16
+ import { useTranslation, Trans } from 'react-i18next';
17
+ import { isEmpty } from 'ramda';
18
+ import { withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils';
19
+ import { jsx, jsxs } from 'react/jsx-runtime';
20
+ import 'i18next';
21
+ import '@bigbinary/neeto-editor/utils';
22
+ import 'yup';
23
+
24
+ var show = function show(id) {
25
+ return axios.get("".concat(BASE_URL, "/public/requests/").concat(id));
26
+ };
27
+ var accept = function accept(_ref) {
28
+ var id = _ref.id,
29
+ note = _ref.note;
30
+ return axios.patch("".concat(BASE_URL, "/public/requests/").concat(id, "/accept"), {
31
+ note: note
32
+ });
33
+ };
34
+ var decline = function decline(_ref2) {
35
+ var id = _ref2.id,
36
+ note = _ref2.note;
37
+ return axios.patch("".concat(BASE_URL, "/public/requests/").concat(id, "/decline"), {
38
+ note: note
39
+ });
40
+ };
41
+ var publicRequestsApi = {
42
+ show: show,
43
+ accept: accept,
44
+ decline: decline
45
+ };
46
+
47
+ 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; }
48
+ 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) { _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; }
49
+ var useFetchPublicRequest = function useFetchPublicRequest(_ref, options) {
50
+ var requestId = _ref.requestId;
51
+ return useQuery(_objectSpread({
52
+ queryKey: [QUERY_KEYS.SHOW_PUBLIC_REQUEST, requestId],
53
+ queryFn: function queryFn() {
54
+ return publicRequestsApi.show(requestId);
55
+ }
56
+ }, options));
57
+ };
58
+ var useAcceptPendingRequest = function useAcceptPendingRequest(options) {
59
+ return useMutationWithInvalidation(publicRequestsApi.accept, _objectSpread({
60
+ keysToInvalidate: [[QUERY_KEYS.SHOW_PUBLIC_REQUEST], [QUERY_KEYS.REQUESTS], [QUERY_KEYS.VIEWS]]
61
+ }, options));
62
+ };
63
+ var useDeclinePendingRequest = function useDeclinePendingRequest(options) {
64
+ return useMutationWithInvalidation(publicRequestsApi.decline, _objectSpread({
65
+ keysToInvalidate: [[QUERY_KEYS.SHOW_PUBLIC_REQUEST], [QUERY_KEYS.REQUESTS], [QUERY_KEYS.VIEWS]]
66
+ }, options));
67
+ };
68
+
69
+ var Public = function Public() {
70
+ var _t;
71
+ var _useState = useState(""),
72
+ _useState2 = _slicedToArray(_useState, 2),
73
+ note = _useState2[0],
74
+ setNote = _useState2[1];
75
+ var _useParams = useParams(),
76
+ id = _useParams.id;
77
+ var _useTranslation = useTranslation(),
78
+ t = _useTranslation.t;
79
+ var _useFetchPublicReques = useFetchPublicRequest({
80
+ requestId: id
81
+ }),
82
+ data = _useFetchPublicReques.data,
83
+ isLoading = _useFetchPublicReques.isLoading;
84
+ var _ref = data || {},
85
+ _ref$approvalRequest = _ref.approvalRequest,
86
+ approvalRequest = _ref$approvalRequest === void 0 ? {} : _ref$approvalRequest;
87
+ useEffect(function () {
88
+ var _data$approvalRequest;
89
+ if (data !== null && data !== void 0 && (_data$approvalRequest = data.approvalRequest) !== null && _data$approvalRequest !== void 0 && _data$approvalRequest.note) {
90
+ setNote(data.approvalRequest.note);
91
+ }
92
+ }, [data]);
93
+ var _useAcceptPendingRequ = useAcceptPendingRequest(),
94
+ acceptPendingRequest = _useAcceptPendingRequ.mutate,
95
+ isAccepting = _useAcceptPendingRequ.isPending;
96
+ var _useDeclinePendingReq = useDeclinePendingRequest(),
97
+ declinePendingRequest = _useDeclinePendingReq.mutate,
98
+ isDeclining = _useDeclinePendingReq.isPending;
99
+ var calloutStyle = approvalRequest.status === STATUSES.approved ? "success" : "danger";
100
+ var hideTextArea = approvalRequest.status !== STATUSES.pending && isEmpty(note);
101
+ if (isLoading) {
102
+ return /*#__PURE__*/jsx("div", {
103
+ className: "h-screen items-center justify-center",
104
+ children: /*#__PURE__*/jsx(PageLoader, {})
105
+ });
106
+ }
107
+ return /*#__PURE__*/jsxs(Container, {
108
+ children: [/*#__PURE__*/jsx(NeetoHeader, {
109
+ title: t("neetoApprovals.common.approval", PLURAL)
110
+ }), /*#__PURE__*/jsx("div", {
111
+ className: "flex h-screen w-full flex-col items-center",
112
+ children: /*#__PURE__*/jsx("div", {
113
+ className: "neeto-ui-shadow-s w-2/5 rounded border p-6",
114
+ children: approvalRequest ? /*#__PURE__*/jsxs("div", {
115
+ className: "flex w-full flex-col space-y-6",
116
+ children: [/*#__PURE__*/jsx(Typography, {
117
+ style: "h2",
118
+ children: approvalRequest.title
119
+ }), /*#__PURE__*/jsx(EditorContent, {
120
+ content: approvalRequest.message
121
+ }), !hideTextArea && /*#__PURE__*/jsx(Textarea, {
122
+ label: t("neetoApprovals.common.note"),
123
+ placeholder: t("neetoApprovals.inputs.placeholders.add_", {
124
+ what: (_t = t("neetoApprovals.common.note")) === null || _t === void 0 ? void 0 : _t.toLocaleLowerCase()
125
+ }),
126
+ value: note,
127
+ disabled: approvalRequest.status !== STATUSES.pending,
128
+ onChange: withEventTargetValue(setNote)
129
+ }), approvalRequest.status === STATUSES.pending ? /*#__PURE__*/jsxs("div", {
130
+ className: "mx-auto mt-8 flex space-x-6",
131
+ children: [/*#__PURE__*/jsx(Button, {
132
+ label: t("neetoApprovals.buttons.approve"),
133
+ onClick: function onClick() {
134
+ return acceptPendingRequest({
135
+ id: approvalRequest.id,
136
+ note: note
137
+ });
138
+ },
139
+ loading: isAccepting
140
+ }), /*#__PURE__*/jsx(Button, {
141
+ label: t("neetoApprovals.buttons.decline"),
142
+ onClick: function onClick() {
143
+ return declinePendingRequest({
144
+ id: approvalRequest.id,
145
+ note: note
146
+ });
147
+ },
148
+ style: "secondary",
149
+ loading: isDeclining
150
+ })]
151
+ }) : /*#__PURE__*/jsx(Callout, {
152
+ style: calloutStyle,
153
+ children: /*#__PURE__*/jsx(Typography, {
154
+ style: "body1",
155
+ children: /*#__PURE__*/jsx(Trans, {
156
+ i18nKey: "neetoApprovals.typography.approvalRequest",
157
+ values: {
158
+ status: approvalRequest.status
159
+ }
160
+ })
161
+ })
162
+ })]
163
+ }) : /*#__PURE__*/jsx(Typography, {
164
+ style: "h4",
165
+ className: "text-center",
166
+ children: t("neetoApprovals.common.notFound")
167
+ })
168
+ })
169
+ })]
170
+ });
171
+ };
172
+
173
+ export { Public as default };
174
+ //# sourceMappingURL=Public.js.map