@bigbinary/neeto-payments-frontend 3.2.0 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentsDashboard.js","sources":["../../app/javascript/src/apis/payments.js","../../app/javascript/src/hooks/reactQuery/usePaymentsApi.js","../../app/javascript/src/components/PaymentsDashboard/constants.js","../../app/javascript/src/components/PaymentsDashboard/columns/utils.jsx","../../app/javascript/src/components/PaymentsDashboard/utils.js","../../app/javascript/src/components/PaymentsDashboard/List.jsx","../../app/javascript/src/components/PaymentsDashboard/TopSection.jsx","../../app/javascript/src/components/PaymentsDashboard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v1/payments`, { params: payload });\n\nconst paymentsApi = { list };\n\nexport default paymentsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport paymentsApi from \"apis/payments\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchPayments = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.PAYMENTS_LIST, payload],\n queryFn: () => paymentsApi.list(payload),\n ...options,\n });\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { map } from \"ramda\";\n\nimport { PAYMENT_PROVIDERS } from \"src/constants\";\n\nexport const COLUMNS_STORAGE_KEY = \"paymentsDashboard\";\n\nexport const PAYMENT_DASHBOARD_TAB = {\n all: \"all\",\n successful: \"successful\",\n declined: \"declined\",\n refunded: \"refunded\",\n pending: \"pending\",\n};\n\nexport const SEARCH_PROPS = {\n node: \"identifier,\",\n key: \"search_term\",\n model: \"NeetoPaymentsEngine::Payment,\",\n};\n\nexport const FILTER_COLUMNS = [\n {\n key: \"payment_provider\",\n label: t(\"neetoPayments.common.paymentProvider\"),\n node: \"payment_provider\",\n type: \"single_option\",\n values: map(toLabelAndValue, PAYMENT_PROVIDERS),\n },\n {\n key: \"amount\",\n label: t(\"neetoPayments.common.amount\"),\n node: \"amount\",\n type: \"decimal\",\n },\n {\n key: \"payment_time\",\n label: t(\"neetoPayments.common.paymentTime\"),\n node: \"payment_at\",\n type: \"date\",\n },\n];\n\nexport const TAG_STYLE = {\n initiated: \"info\",\n declined: \"danger\",\n successful: \"success\",\n refunded: \"secondary\",\n pending: \"warning\",\n};\n","import { t } from \"i18next\";\nimport { snakeToCamelCase, humanize } from \"neetocist\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Tag, Tooltip, Typography } from \"neetoui\";\nimport { curry } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport { DEFAULT_TAG_STYLE } from \"src/constants\";\nimport { formatAmount, formatCurrency } from \"utils\";\n\nimport { TAG_STYLE } from \"../constants\";\n\nconst renderIdentifier = (identifier, { receiptUrl }) => {\n const isTemporaryIdentifier = identifier?.startsWith(\"temp_\");\n\n if (isTemporaryIdentifier) {\n return (\n <Tooltip\n content={t(\"neetoPayments.tooltipContent.paymentIdentifierUnavailable\")}\n position=\"top\"\n >\n <div className=\"text-center\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n </div>\n </Tooltip>\n );\n }\n\n return (\n <CopyButtonWrapper content={identifier}>\n <Button\n href={receiptUrl}\n label={identifier}\n size=\"small\"\n style=\"link\"\n target=\"_blank\"\n />\n </CopyButtonWrapper>\n );\n};\n\nconst getTagStyle = status => TAG_STYLE[status] || DEFAULT_TAG_STYLE;\n\nconst preProcessStatus = (type, status, record = {}) => {\n if (type === \"payment\") {\n return record.isRefunded ? \"refunded\" : status;\n }\n\n return snakeToCamelCase(status);\n};\n\nconst renderStatus = curry((type, status, record) => {\n const processedStatus = preProcessStatus(type, status, record);\n\n return (\n <Tooltip\n content={t(`neetoPayments.tooltipContent.${type}.${processedStatus}`)}\n position=\"top\"\n >\n <div className=\"w-fit\">\n <Tag\n label={t(`neetoPayments.tagLabels.${type}.${processedStatus}`)}\n style={getTagStyle(processedStatus)}\n />\n </div>\n </Tooltip>\n );\n});\n\nconst renderDate = date => <DateFormat.DateTime {...{ date }} />;\n\nexport const getDefaultColumns = () => [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: 85,\n position: 0,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: 300,\n render: renderIdentifier,\n position: 1,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.provider\"),\n dataIndex: \"paymentProvider\",\n key: \"paymentProvider\",\n width: 150,\n render: humanize,\n position: 2,\n sorter: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 150,\n render: renderStatus(\"transaction\"),\n sorter: true,\n position: 3,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.amount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n width: 150,\n sorter: true,\n render: formatAmount,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.currency\"),\n dataIndex: \"currency\",\n key: \"currency\",\n width: 180,\n sorter: true,\n render: formatCurrency,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.paymentTime\"),\n dataIndex: \"paymentAt\",\n key: \"paymentTime\",\n width: 190,\n render: renderDate,\n sorter: true,\n position: 6,\n },\n];\n","import {\n map,\n prop,\n concat,\n mergeDeepWith,\n mergeLeft,\n isNil,\n reject,\n isEmpty,\n} from \"ramda\";\n\nimport { FILTER_COLUMNS, SEARCH_PROPS } from \"./constants\";\n\nexport const buildSearchProps = (searchProps, searchTerm) =>\n mergeDeepWith(\n concat,\n SEARCH_PROPS,\n mergeLeft({ value: searchTerm.trim() }, searchProps)\n );\n\nexport const buildFilterColumns = (payableEntityColumns = []) =>\n reject(\n isNil,\n concat(FILTER_COLUMNS, map(prop(\"filterProps\"), payableEntityColumns))\n );\n\nexport const buildRowData = ({ payments, pageProperties = {} }) =>\n payments?.map((element, index) => ({\n ...element,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties.pageSize * (pageProperties.page - 1) + index + 1,\n }));\n","import { camelToSnakeCase, isNotPresent, isPresent } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { useHiddenColumns } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SORT_DIRECTIONS, DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport {\n buildDefaultTableColumns,\n getUniquePaymentProviders,\n processDataIndex,\n} from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { COLUMNS_STORAGE_KEY, PAYMENT_DASHBOARD_TAB } from \"./constants\";\nimport { buildRowData } from \"./utils\";\n\nconst List = ({\n isFetching,\n payments,\n payableEntityColumns,\n setSortProperties,\n pageProperties,\n handleTablePagination,\n views,\n}) => {\n const { t } = useTranslation();\n\n const { tab = PAYMENT_DASHBOARD_TAB.all } = getQueryParams();\n const { hideColumn, hiddenColumns = [] } =\n useHiddenColumns(COLUMNS_STORAGE_KEY);\n\n const paymentsCount = views[tab];\n const isMultipleProvidersExist =\n getUniquePaymentProviders(payments ?? []).length > 1;\n\n const visibleColumns = buildDefaultTableColumns({\n hiddenColumns,\n payableEntityColumns,\n isMultipleProvidersExist,\n defaultColumns: getDefaultColumns(),\n isAllTab: tab === PAYMENT_DASHBOARD_TAB.all,\n });\n\n const handleColumnHiding = column => {\n hideColumn(processDataIndex(column.dataIndex));\n };\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(processDataIndex(sorter.field)),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isNotPresent(payments)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === PAYMENT_DASHBOARD_TAB.all\n ? t(\"neetoPayments.emptyState.payments\")\n : t(\"neetoPayments.emptyState.paymentsWithStatus\", {\n status: tab,\n })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={paymentsCount > pageProperties?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={visibleColumns}\n currentPageNumber={pageProperties?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching}\n rowData={buildRowData({ payments, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={paymentsCount}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties?.pageSize,\n total: paymentsCount,\n }}\n onChange={handleTableChange}\n onColumnHide={handleColumnHiding}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { startTransition, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { concat, mergeLeft, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { UN_HIDEABLE_COLUMNS } from \"src/constants\";\nimport { processDataIndex, shouldTabsVisible } from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { COLUMNS_STORAGE_KEY, PAYMENT_DASHBOARD_TAB } from \"./constants\";\n\nconst TopSection = ({\n views,\n filters,\n setFilters,\n filterableColumns,\n searchKeywordProps,\n payableEntityColumns,\n setIsExportModalOpen,\n}) => {\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const history = useHistory();\n const { tab = PAYMENT_DASHBOARD_TAB.all } = getQueryParams();\n\n const paymentsCount = views[tab];\n const isPaymentCountVisible = paymentsCount > 0;\n const isFilterButtonVisible = isPaymentCountVisible || isPresent(filters);\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n const handleTabChange = tab => {\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: DEFAULT_PAGE_INDEX,\n page_size: DEFAULT_PAGE_SIZE,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.payments\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: searchKeywordProps.placeholder,\n className:\n searchKeywordProps.placeholder.length > 30 ? \"w-96\" : \"w-64\",\n }\n }\n />\n {shouldTabsVisible(views) && (\n <Tab>\n {Object.keys(PAYMENT_DASHBOARD_TAB).map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"my-4\"\n leftActionBlock={\n isPaymentCountVisible && (\n <Typography\n className=\"neeto-ui-gray-800 mr-2 font-semibold\"\n component=\"h4\"\n >\n {tab === PAYMENT_DASHBOARD_TAB.all\n ? t(\"neetoPayments.countOf.payment\", { count: paymentsCount })\n : t(\"neetoPayments.countOf.paymentWithStatus\", {\n count: paymentsCount,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData: concat(\n getDefaultColumns(),\n payableEntityColumns\n ).map(modify(\"dataIndex\", processDataIndex)),\n fixedColumns: UN_HIDEABLE_COLUMNS,\n localStorageKey: COLUMNS_STORAGE_KEY,\n }}\n downloadButtonProps={{\n onClick: () => setIsExportModalOpen(true),\n }}\n filterProps={{\n columns: filterableColumns,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )\n }\n />\n <FiltersBar\n columns={filterableColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n </>\n );\n};\n\nexport default TopSection;\n","import { useEffect, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { Spinner } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport ExportModal from \"components/Common/ExportModal\";\nimport { useFetchPayments } from \"hooks/reactQuery/usePaymentsApi\";\nimport {\n DEFAULT_SORT_PROPERTIES,\n DEFAULT_PAGE_VALUES,\n DASHBOARD_KIND,\n} from \"src/constants\";\n\nimport { PAYMENT_DASHBOARD_TAB } from \"./constants\";\nimport List from \"./List\";\nimport TopSection from \"./TopSection\";\nimport { buildFilterColumns, buildSearchProps } from \"./utils\";\n\nconst PaymentsDashboard = ({\n searchProps,\n payableEntityColumns,\n holdableIds = {},\n dashboardKind = \"platform\",\n}) => {\n const { searchTerm = \"\" } = getQueryParams();\n const filterableColumns = buildFilterColumns(payableEntityColumns);\n const searchKeywordProps = buildSearchProps(searchProps, searchTerm);\n\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const [pageProperties, setPageProperties] = useState(DEFAULT_PAGE_VALUES);\n const [isExportModalOpen, setIsExportModalOpen] = useState(false);\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...filterableColumns, searchKeywordProps])\n );\n const history = useHistory();\n const { tab = PAYMENT_DASHBOARD_TAB.all } = getQueryParams();\n const payload = {\n dashboardKind,\n holdableIds,\n tab,\n filters,\n ...pageProperties,\n ...sortProperties,\n };\n\n const {\n data: { payments, views } = {},\n isFetching,\n isPending: isPaymentsLoaidng,\n } = useFetchPayments(payload, { enabled: true });\n\n const handleTablePagination = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties({ page, pageSize });\n };\n\n useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\n\n if (isPaymentsLoaidng) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <TopSection\n {...{\n filterableColumns,\n filters,\n pageProperties,\n payableEntityColumns,\n searchKeywordProps,\n setFilters,\n setIsExportModalOpen,\n setPageProperties,\n setSortProperties,\n views,\n }}\n />\n <List\n {...{\n handleTablePagination,\n isFetching,\n pageProperties,\n payableEntityColumns,\n payments,\n setSortProperties,\n views,\n }}\n />\n <ExportModal\n {...{\n filters,\n holdableIds,\n isExportModalOpen,\n setIsExportModalOpen,\n sortProperties,\n }}\n dashboardKind={DASHBOARD_KIND.payments}\n />\n </>\n );\n};\n\nexport default PaymentsDashboard;\n"],"names":["list","payload","axios","get","concat","BASE_URL","params","paymentsApi","useFetchPayments","arguments","length","undefined","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","PAYMENTS_LIST","queryFn","COLUMNS_STORAGE_KEY","PAYMENT_DASHBOARD_TAB","all","successful","declined","refunded","pending","SEARCH_PROPS","node","key","model","FILTER_COLUMNS","label","t","type","values","map","toLabelAndValue","PAYMENT_PROVIDERS","TAG_STYLE","initiated","renderIdentifier","identifier","_ref","receiptUrl","isTemporaryIdentifier","startsWith","_jsx","Tooltip","content","position","children","className","Typography","style","CopyButtonWrapper","Button","href","size","target","getTagStyle","status","DEFAULT_TAG_STYLE","preProcessStatus","record","isRefunded","snakeToCamelCase","renderStatus","curry","processedStatus","Tag","renderDate","date","DateFormat","DateTime","getDefaultColumns","title","dataIndex","width","isHidable","render","humanize","sorter","formatAmount","formatCurrency","buildSearchProps","searchProps","searchTerm","mergeDeepWith","mergeLeft","value","trim","buildFilterColumns","payableEntityColumns","reject","isNil","prop","buildRowData","payments","_ref$pageProperties","pageProperties","element","index","id","isEmpty","pageSize","page","List","isFetching","setSortProperties","handleTablePagination","views","_useTranslation","useTranslation","_getQueryParams","getQueryParams","_getQueryParams$tab","tab","_useHiddenColumns","useHiddenColumns","hideColumn","_useHiddenColumns$hid","hiddenColumns","paymentsCount","isMultipleProvidersExist","getUniquePaymentProviders","visibleColumns","buildDefaultTableColumns","defaultColumns","isAllTab","handleColumnHiding","column","processDataIndex","handleTableChange","_","__","isPresent","sortBy","camelToSnakeCase","field","orderBy","order","DEFAULT_SORT_PROPERTIES","isNotPresent","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","columnData","currentPageNumber","handlePageChange","loading","rowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","TopSection","filters","setFilters","filterableColumns","searchKeywordProps","setIsExportModalOpen","_useState","useState","_useState2","_slicedToArray","isFilterPaneOpen","setIsFilterPaneOpen","history","useHistory","isPaymentCountVisible","isFilterButtonVisible","handleFiltersChange","startTransition","handleTabChange","queryParams","toCamelCase","newParams","DEFAULT_PAGE_INDEX","page_size","DEFAULT_PAGE_SIZE","push","buildUrl","window","location","pathname","_jsxs","_Fragment","Header","placeholder","shouldTabsVisible","Tab","Object","keys","item","Item","active","onClick","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","modify","fixedColumns","UN_HIDEABLE_COLUMNS","localStorageKey","downloadButtonProps","filterProps","columns","isOpen","keyword","setIsOpen","FiltersBar","setIsPaneOpen","PaymentsDashboard","_ref$holdableIds","holdableIds","_ref$dashboardKind","dashboardKind","_getQueryParams$searc","sortProperties","_useState3","DEFAULT_PAGE_VALUES","_useState4","setPageProperties","_useState5","_useState6","isExportModalOpen","_useState7","buildFiltersFromURL","_toConsumableArray","_useState8","_getQueryParams2","_getQueryParams2$tab","_useFetchPayments","enabled","_useFetchPayments$dat","data","_useFetchPayments$dat2","isPaymentsLoaidng","isPending","useEffect","Spinner","ExportModal","DASHBOARD_KIND"],"mappings":"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"}
1
+ {"version":3,"file":"PaymentsDashboard.js","sources":["../../app/javascript/src/apis/payments.js","../../app/javascript/src/hooks/reactQuery/usePaymentsApi.js","../../app/javascript/src/components/PaymentsDashboard/constants.js","../../app/javascript/src/components/PaymentsDashboard/columns/utils.jsx","../../app/javascript/src/components/PaymentsDashboard/utils.js","../../app/javascript/src/components/PaymentsDashboard/List.jsx","../../app/javascript/src/components/PaymentsDashboard/TopSection.jsx","../../app/javascript/src/components/PaymentsDashboard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v1/payments`, { params: payload });\n\nconst paymentsApi = { list };\n\nexport default paymentsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport paymentsApi from \"apis/payments\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchPayments = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.PAYMENTS_LIST, payload],\n queryFn: () => paymentsApi.list(payload),\n ...options,\n });\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { map } from \"ramda\";\n\nimport { PAYMENT_PROVIDERS } from \"src/constants\";\n\nexport const COLUMNS_STORAGE_KEY = \"paymentsDashboard\";\n\nexport const PAYMENT_DASHBOARD_TAB = {\n all: \"all\",\n successful: \"successful\",\n declined: \"declined\",\n refunded: \"refunded\",\n pending: \"pending\",\n};\n\nexport const SEARCH_PROPS = {\n node: \"identifier,\",\n key: \"search_term\",\n model: \"NeetoPaymentsEngine::Payment,\",\n};\n\nexport const FILTER_COLUMNS = [\n {\n key: \"payment_provider\",\n label: t(\"neetoPayments.common.paymentProvider\"),\n node: \"payment_provider\",\n type: \"single_option\",\n values: map(toLabelAndValue, PAYMENT_PROVIDERS),\n },\n {\n key: \"amount\",\n label: t(\"neetoPayments.common.amount\"),\n node: \"amount\",\n type: \"decimal\",\n },\n {\n key: \"payment_time\",\n label: t(\"neetoPayments.common.paymentTime\"),\n node: \"payment_at\",\n type: \"date\",\n },\n];\n\nexport const TAG_STYLE = {\n initiated: \"info\",\n declined: \"danger\",\n successful: \"success\",\n refunded: \"secondary\",\n pending: \"warning\",\n};\n","import { t } from \"i18next\";\nimport { snakeToCamelCase, humanize } from \"neetocist\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Tag, Tooltip, Typography } from \"neetoui\";\nimport { curry } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport { DEFAULT_TAG_STYLE } from \"src/constants\";\nimport { formatAmount, formatCurrency } from \"utils\";\n\nimport { TAG_STYLE } from \"../constants\";\n\nconst renderIdentifier = (identifier, { receiptUrl }) => {\n const isTemporaryIdentifier = identifier?.startsWith(\"temp_\");\n\n if (isTemporaryIdentifier) {\n return (\n <Tooltip\n content={t(\"neetoPayments.tooltipContent.paymentIdentifierUnavailable\")}\n position=\"top\"\n >\n <div className=\"text-center\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n </div>\n </Tooltip>\n );\n }\n\n return (\n <CopyButtonWrapper content={identifier}>\n <Button\n href={receiptUrl}\n label={identifier}\n size=\"small\"\n style=\"link\"\n target=\"_blank\"\n />\n </CopyButtonWrapper>\n );\n};\n\nconst getTagStyle = status => TAG_STYLE[status] || DEFAULT_TAG_STYLE;\n\nconst preProcessStatus = (type, status, record = {}) => {\n if (type === \"payment\") {\n return record.isRefunded ? \"refunded\" : status;\n }\n\n return snakeToCamelCase(status);\n};\n\nconst renderStatus = curry((type, status, record) => {\n const processedStatus = preProcessStatus(type, status, record);\n\n return (\n <Tooltip\n content={t(`neetoPayments.tooltipContent.${type}.${processedStatus}`)}\n position=\"top\"\n >\n <div className=\"w-fit\">\n <Tag\n label={t(`neetoPayments.tagLabels.${type}.${processedStatus}`)}\n style={getTagStyle(processedStatus)}\n />\n </div>\n </Tooltip>\n );\n});\n\nconst renderDate = date => <DateFormat.DateTime {...{ date }} />;\n\nexport const getDefaultColumns = () => [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: 85,\n position: 0,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: 300,\n render: renderIdentifier,\n position: 1,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.provider\"),\n dataIndex: \"paymentProvider\",\n key: \"paymentProvider\",\n width: 150,\n render: humanize,\n position: 2,\n sorter: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 150,\n render: renderStatus(\"transaction\"),\n sorter: true,\n position: 3,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.totalAmount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n width: 200,\n sorter: true,\n render: formatAmount,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.taxAmount\"),\n dataIndex: \"taxAmount\",\n key: \"taxAmount\",\n width: 200,\n sorter: true,\n render: formatAmount,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.currency\"),\n dataIndex: \"currency\",\n key: \"currency\",\n width: 180,\n sorter: true,\n render: formatCurrency,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.paymentTime\"),\n dataIndex: \"paymentAt\",\n key: \"paymentTime\",\n width: 190,\n render: renderDate,\n sorter: true,\n position: 6,\n },\n];\n","import {\n map,\n prop,\n concat,\n mergeDeepWith,\n mergeLeft,\n isNil,\n reject,\n isEmpty,\n} from \"ramda\";\n\nimport { FILTER_COLUMNS, SEARCH_PROPS } from \"./constants\";\n\nexport const buildSearchProps = (searchProps, searchTerm) =>\n mergeDeepWith(\n concat,\n SEARCH_PROPS,\n mergeLeft({ value: searchTerm.trim() }, searchProps)\n );\n\nexport const buildFilterColumns = (payableEntityColumns = []) =>\n reject(\n isNil,\n concat(FILTER_COLUMNS, map(prop(\"filterProps\"), payableEntityColumns))\n );\n\nexport const buildRowData = ({ payments, pageProperties = {} }) =>\n payments?.map((element, index) => ({\n ...element,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties.pageSize * (pageProperties.page - 1) + index + 1,\n }));\n","import { camelToSnakeCase, isNotPresent, isPresent } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { useHiddenColumns } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SORT_DIRECTIONS, DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport {\n buildDefaultTableColumns,\n getUniquePaymentProviders,\n processDataIndex,\n} from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { COLUMNS_STORAGE_KEY, PAYMENT_DASHBOARD_TAB } from \"./constants\";\nimport { buildRowData } from \"./utils\";\n\nconst List = ({\n isFetching,\n payments,\n payableEntityColumns,\n setSortProperties,\n pageProperties,\n handleTablePagination,\n views,\n}) => {\n const { t } = useTranslation();\n\n const { tab = PAYMENT_DASHBOARD_TAB.all } = getQueryParams();\n const { hideColumn, hiddenColumns = [] } =\n useHiddenColumns(COLUMNS_STORAGE_KEY);\n\n const paymentsCount = views[tab];\n const isMultipleProvidersExist =\n getUniquePaymentProviders(payments ?? []).length > 1;\n\n const visibleColumns = buildDefaultTableColumns({\n hiddenColumns,\n payableEntityColumns,\n isMultipleProvidersExist,\n defaultColumns: getDefaultColumns(),\n isAllTab: tab === PAYMENT_DASHBOARD_TAB.all,\n });\n\n const handleColumnHiding = column => {\n hideColumn(processDataIndex(column.dataIndex));\n };\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(processDataIndex(sorter.field)),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isNotPresent(payments)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === PAYMENT_DASHBOARD_TAB.all\n ? t(\"neetoPayments.emptyState.payments\")\n : t(\"neetoPayments.emptyState.paymentsWithStatus\", {\n status: tab,\n })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={paymentsCount > pageProperties?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={visibleColumns}\n currentPageNumber={pageProperties?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching}\n rowData={buildRowData({ payments, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={paymentsCount}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties?.pageSize,\n total: paymentsCount,\n }}\n onChange={handleTableChange}\n onColumnHide={handleColumnHiding}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { startTransition, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { concat, mergeLeft, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { UN_HIDEABLE_COLUMNS } from \"src/constants\";\nimport { processDataIndex, shouldTabsVisible } from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { COLUMNS_STORAGE_KEY, PAYMENT_DASHBOARD_TAB } from \"./constants\";\n\nconst TopSection = ({\n views,\n filters,\n setFilters,\n filterableColumns,\n searchKeywordProps,\n payableEntityColumns,\n setIsExportModalOpen,\n}) => {\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const history = useHistory();\n const { tab = PAYMENT_DASHBOARD_TAB.all } = getQueryParams();\n\n const paymentsCount = views[tab];\n const isPaymentCountVisible = paymentsCount > 0;\n const isFilterButtonVisible = isPaymentCountVisible || isPresent(filters);\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n const handleTabChange = tab => {\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: DEFAULT_PAGE_INDEX,\n page_size: DEFAULT_PAGE_SIZE,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.payments\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: searchKeywordProps.placeholder,\n className:\n searchKeywordProps.placeholder.length > 30 ? \"w-96\" : \"w-64\",\n }\n }\n />\n {shouldTabsVisible(views) && (\n <Tab>\n {Object.keys(PAYMENT_DASHBOARD_TAB).map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"my-4\"\n leftActionBlock={\n isPaymentCountVisible && (\n <Typography\n className=\"neeto-ui-gray-800 mr-2 font-semibold\"\n component=\"h4\"\n >\n {tab === PAYMENT_DASHBOARD_TAB.all\n ? t(\"neetoPayments.countOf.payment\", { count: paymentsCount })\n : t(\"neetoPayments.countOf.paymentWithStatus\", {\n count: paymentsCount,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData: concat(\n getDefaultColumns(),\n payableEntityColumns\n ).map(modify(\"dataIndex\", processDataIndex)),\n fixedColumns: UN_HIDEABLE_COLUMNS,\n localStorageKey: COLUMNS_STORAGE_KEY,\n }}\n downloadButtonProps={{\n onClick: () => setIsExportModalOpen(true),\n }}\n filterProps={{\n columns: filterableColumns,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )\n }\n />\n <FiltersBar\n columns={filterableColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n </>\n );\n};\n\nexport default TopSection;\n","import { useEffect, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { Spinner } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport ExportModal from \"components/Common/ExportModal\";\nimport { useFetchPayments } from \"hooks/reactQuery/usePaymentsApi\";\nimport {\n DEFAULT_SORT_PROPERTIES,\n DEFAULT_PAGE_VALUES,\n DASHBOARD_KIND,\n} from \"src/constants\";\n\nimport { PAYMENT_DASHBOARD_TAB } from \"./constants\";\nimport List from \"./List\";\nimport TopSection from \"./TopSection\";\nimport { buildFilterColumns, buildSearchProps } from \"./utils\";\n\nconst PaymentsDashboard = ({\n searchProps,\n payableEntityColumns,\n holdableIds = {},\n dashboardKind = \"platform\",\n}) => {\n const { searchTerm = \"\" } = getQueryParams();\n const filterableColumns = buildFilterColumns(payableEntityColumns);\n const searchKeywordProps = buildSearchProps(searchProps, searchTerm);\n\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const [pageProperties, setPageProperties] = useState(DEFAULT_PAGE_VALUES);\n const [isExportModalOpen, setIsExportModalOpen] = useState(false);\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...filterableColumns, searchKeywordProps])\n );\n const history = useHistory();\n const { tab = PAYMENT_DASHBOARD_TAB.all } = getQueryParams();\n const payload = {\n dashboardKind,\n holdableIds,\n tab,\n filters,\n ...pageProperties,\n ...sortProperties,\n };\n\n const {\n data: { payments, views } = {},\n isFetching,\n isPending: isPaymentsLoaidng,\n } = useFetchPayments(payload, { enabled: true });\n\n const handleTablePagination = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties({ page, pageSize });\n };\n\n useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\n\n if (isPaymentsLoaidng) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <TopSection\n {...{\n filterableColumns,\n filters,\n pageProperties,\n payableEntityColumns,\n searchKeywordProps,\n setFilters,\n setIsExportModalOpen,\n setPageProperties,\n setSortProperties,\n views,\n }}\n />\n <List\n {...{\n handleTablePagination,\n isFetching,\n pageProperties,\n payableEntityColumns,\n payments,\n setSortProperties,\n views,\n }}\n />\n <ExportModal\n {...{\n filters,\n holdableIds,\n isExportModalOpen,\n setIsExportModalOpen,\n sortProperties,\n }}\n dashboardKind={DASHBOARD_KIND.payments}\n />\n </>\n );\n};\n\nexport default PaymentsDashboard;\n"],"names":["list","payload","axios","get","concat","BASE_URL","params","paymentsApi","useFetchPayments","arguments","length","undefined","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","PAYMENTS_LIST","queryFn","COLUMNS_STORAGE_KEY","PAYMENT_DASHBOARD_TAB","all","successful","declined","refunded","pending","SEARCH_PROPS","node","key","model","FILTER_COLUMNS","label","t","type","values","map","toLabelAndValue","PAYMENT_PROVIDERS","TAG_STYLE","initiated","renderIdentifier","identifier","_ref","receiptUrl","isTemporaryIdentifier","startsWith","_jsx","Tooltip","content","position","children","className","Typography","style","CopyButtonWrapper","Button","href","size","target","getTagStyle","status","DEFAULT_TAG_STYLE","preProcessStatus","record","isRefunded","snakeToCamelCase","renderStatus","curry","processedStatus","Tag","renderDate","date","DateFormat","DateTime","getDefaultColumns","title","dataIndex","width","isHidable","render","humanize","sorter","formatAmount","formatCurrency","buildSearchProps","searchProps","searchTerm","mergeDeepWith","mergeLeft","value","trim","buildFilterColumns","payableEntityColumns","reject","isNil","prop","buildRowData","payments","_ref$pageProperties","pageProperties","element","index","id","isEmpty","pageSize","page","List","isFetching","setSortProperties","handleTablePagination","views","_useTranslation","useTranslation","_getQueryParams","getQueryParams","_getQueryParams$tab","tab","_useHiddenColumns","useHiddenColumns","hideColumn","_useHiddenColumns$hid","hiddenColumns","paymentsCount","isMultipleProvidersExist","getUniquePaymentProviders","visibleColumns","buildDefaultTableColumns","defaultColumns","isAllTab","handleColumnHiding","column","processDataIndex","handleTableChange","_","__","isPresent","sortBy","camelToSnakeCase","field","orderBy","order","DEFAULT_SORT_PROPERTIES","isNotPresent","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","columnData","currentPageNumber","handlePageChange","loading","rowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","TopSection","filters","setFilters","filterableColumns","searchKeywordProps","setIsExportModalOpen","_useState","useState","_useState2","_slicedToArray","isFilterPaneOpen","setIsFilterPaneOpen","history","useHistory","isPaymentCountVisible","isFilterButtonVisible","handleFiltersChange","startTransition","handleTabChange","queryParams","toCamelCase","newParams","DEFAULT_PAGE_INDEX","page_size","DEFAULT_PAGE_SIZE","push","buildUrl","window","location","pathname","_jsxs","_Fragment","Header","placeholder","shouldTabsVisible","Tab","Object","keys","item","Item","active","onClick","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","modify","fixedColumns","UN_HIDEABLE_COLUMNS","localStorageKey","downloadButtonProps","filterProps","columns","isOpen","keyword","setIsOpen","FiltersBar","setIsPaneOpen","PaymentsDashboard","_ref$holdableIds","holdableIds","_ref$dashboardKind","dashboardKind","_getQueryParams$searc","sortProperties","_useState3","DEFAULT_PAGE_VALUES","_useState4","setPageProperties","_useState5","_useState6","isExportModalOpen","_useState7","buildFiltersFromURL","_toConsumableArray","_useState8","_getQueryParams2","_getQueryParams2$tab","_useFetchPayments","enabled","_useFetchPayments$dat","data","_useFetchPayments$dat2","isPaymentsLoaidng","isPending","useEffect","Spinner","ExportModal","DASHBOARD_KIND"],"mappings":"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"}
@@ -73,15 +73,15 @@ var list = function list(payload) {
73
73
  var show = function show(id) {
74
74
  return axios.get("".concat(constants.BASE_URL, "/api/v1/split_transfers/").concat(id));
75
75
  };
76
- var bulkCancellation = function bulkCancellation(payload) {
77
- return axios.post("".concat(constants.BASE_URL, "/api/v1/split_transfers/bulk_cancellation"), {
76
+ var bulkUpdate = function bulkUpdate(payload) {
77
+ return axios.post("".concat(constants.BASE_URL, "/api/v1/split_transfers/bulk_update"), {
78
78
  splitTransfer: payload
79
79
  });
80
80
  };
81
81
  var splitTransfersApi = {
82
82
  list: list,
83
83
  show: show,
84
- bulkCancellation: bulkCancellation
84
+ bulkUpdate: bulkUpdate
85
85
  };
86
86
 
87
87
  function ownKeys$2(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; }
@@ -104,8 +104,8 @@ var useShowSplitTransfers = function useShowSplitTransfers(id, options) {
104
104
  }
105
105
  }, options));
106
106
  };
107
- var useBulkCancellationSplitTransfers = function useBulkCancellationSplitTransfers(options) {
108
- return reactUtils.useMutationWithInvalidation(splitTransfersApi.bulkCancellation, _objectSpread$2({
107
+ var useBulkUpdateSplitTransfers = function useBulkUpdateSplitTransfers(options) {
108
+ return reactUtils.useMutationWithInvalidation(splitTransfersApi.bulkUpdate, _objectSpread$2({
109
109
  keysToInvalidate: [queryConstants.QUERY_KEYS.SPLIT_TRANSFERS_LISTw]
110
110
  }, options));
111
111
  };
@@ -138,18 +138,18 @@ var INITIAL_TRANSFER_DETAILS = {
138
138
  isPaneOpen: false
139
139
  };
140
140
  var VALIDATION_SCHEMA = yup__namespace.object().shape({
141
- cancellationReason: yup__namespace.string().required(i18next.t("neetoPayments.cancelSplitTransfers.cancellationReasonRequired"))
141
+ reason: yup__namespace.string().required(i18next.t("neetoPayments.cancelSplitTransfers.reasonRequired"))
142
142
  });
143
143
 
144
144
  var CancelModal = function CancelModal(_ref) {
145
145
  var isOpen = _ref.isOpen,
146
146
  onClose = _ref.onClose,
147
- handleSplitTransfersCancellation = _ref.handleSplitTransfersCancellation;
147
+ handleSplitTransfersUpdate = _ref.handleSplitTransfersUpdate;
148
148
  var _useTranslation = reactI18next.useTranslation(),
149
149
  t = _useTranslation.t;
150
150
  var handleSubmit = function handleSubmit(_ref2) {
151
- var cancellationReason = _ref2.cancellationReason;
152
- handleSplitTransfersCancellation(cancellationReason);
151
+ var reason = _ref2.reason;
152
+ handleSplitTransfersUpdate("cancelled", reason);
153
153
  };
154
154
  return /*#__PURE__*/jsxRuntime.jsxs(Modal, {
155
155
  isOpen: isOpen,
@@ -164,7 +164,7 @@ var CancelModal = function CancelModal(_ref) {
164
164
  }), /*#__PURE__*/jsxRuntime.jsx(Form, {
165
165
  formikProps: {
166
166
  initialValues: {
167
- cancellationReason: ""
167
+ reason: ""
168
168
  },
169
169
  validationSchema: VALIDATION_SCHEMA,
170
170
  onSubmit: handleSubmit
@@ -175,8 +175,8 @@ var CancelModal = function CancelModal(_ref) {
175
175
  className: "flex flex-col space-y-4",
176
176
  children: /*#__PURE__*/jsxRuntime.jsx(Textarea, {
177
177
  required: true,
178
- name: "cancellationReason",
179
- label: t("neetoPayments.cancelSplitTransfers.modal.cancelReason")
178
+ label: t("neetoPayments.cancelSplitTransfers.modal.reason"),
179
+ name: "reason"
180
180
  })
181
181
  })
182
182
  }), /*#__PURE__*/jsxRuntime.jsx(Modal.Footer, {
@@ -682,17 +682,17 @@ var List = function List(_ref) {
682
682
  hiddenColumns = _useHiddenColumns$hid === void 0 ? [] : _useHiddenColumns$hid;
683
683
  var splitTransfersCount = views[tab];
684
684
  var getRowSelection = function getRowSelection() {
685
- if (tab === SPLIT_TRANSFERS_DASHBOARD_TAB.pending) return true;
685
+ if (tab === SPLIT_TRANSFERS_DASHBOARD_TAB.successful) return false;
686
686
  if (tab === SPLIT_TRANSFERS_DASHBOARD_TAB.all) {
687
687
  return {
688
688
  getCheckboxProps: function getCheckboxProps(record) {
689
689
  return {
690
- disabled: record.status !== SPLIT_TRANSFERS_DASHBOARD_TAB.pending
690
+ disabled: record.status === SPLIT_TRANSFERS_DASHBOARD_TAB.successful
691
691
  };
692
692
  }
693
693
  };
694
694
  }
695
- return false;
695
+ return true;
696
696
  };
697
697
  var visibleColumns = buildTableColumns({
698
698
  tab: tab,
@@ -764,13 +764,71 @@ var List = function List(_ref) {
764
764
  });
765
765
  };
766
766
 
767
+ var ResumeModal = function ResumeModal(_ref) {
768
+ var isOpen = _ref.isOpen,
769
+ onClose = _ref.onClose,
770
+ handleSplitTransfersUpdate = _ref.handleSplitTransfersUpdate;
771
+ var _useTranslation = reactI18next.useTranslation(),
772
+ t = _useTranslation.t;
773
+ var handleSubmit = function handleSubmit(_ref2) {
774
+ var reason = _ref2.reason;
775
+ handleSplitTransfersUpdate("pending", reason);
776
+ };
777
+ return /*#__PURE__*/jsxRuntime.jsxs(Modal, {
778
+ isOpen: isOpen,
779
+ onClose: onClose,
780
+ size: "large",
781
+ children: [/*#__PURE__*/jsxRuntime.jsx(Modal.Header, {
782
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
783
+ style: "h2",
784
+ weight: "medium",
785
+ children: t("neetoPayments.resumeSplitTransfers.modal.title")
786
+ })
787
+ }), /*#__PURE__*/jsxRuntime.jsx(Form, {
788
+ formikProps: {
789
+ initialValues: {
790
+ reason: ""
791
+ },
792
+ validationSchema: VALIDATION_SCHEMA,
793
+ onSubmit: handleSubmit
794
+ },
795
+ children: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
796
+ children: [/*#__PURE__*/jsxRuntime.jsx(Modal.Body, {
797
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
798
+ className: "flex flex-col space-y-4",
799
+ children: /*#__PURE__*/jsxRuntime.jsx(Textarea, {
800
+ required: true,
801
+ label: t("neetoPayments.resumeSplitTransfers.modal.reason"),
802
+ name: "reason"
803
+ })
804
+ })
805
+ }), /*#__PURE__*/jsxRuntime.jsx(Modal.Footer, {
806
+ children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
807
+ position: "right",
808
+ cancelButtonProps: {
809
+ onClick: onClose,
810
+ style: "tertiary"
811
+ },
812
+ submitButtonProps: {
813
+ disabled: false,
814
+ label: t("neetoPayments.common.submit")
815
+ }
816
+ })
817
+ })]
818
+ })
819
+ })]
820
+ });
821
+ };
822
+
767
823
  var Menu = Dropdown.Menu,
768
824
  MenuItem = Dropdown.MenuItem;
769
825
  var TopSection = function TopSection(_ref) {
770
826
  var views = _ref.views,
771
827
  filters = _ref.filters,
772
828
  setIsCancelModalOpen = _ref.setIsCancelModalOpen,
829
+ setIsResumeModalOpen = _ref.setIsResumeModalOpen,
773
830
  selectedRows = _ref.selectedRows,
831
+ selectedRowData = _ref.selectedRowData,
774
832
  setFilters = _ref.setFilters,
775
833
  hasBulkSelectedAllRows = _ref.hasBulkSelectedAllRows,
776
834
  filterableColumns = _ref.filterableColumns,
@@ -791,6 +849,12 @@ var TopSection = function TopSection(_ref) {
791
849
  var splitTransfersCountVisible = splitTransfersCount > 0;
792
850
  var isFilterButtonVisible = splitTransfersCount || neetoCist.isPresent(filters);
793
851
  var isDropdownVisible = neetoCist.isNotEmpty(selectedRows);
852
+ var isCancelButtonDisabled = neetoCist.existsBy({
853
+ status: SPLIT_TRANSFERS_DASHBOARD_TAB.cancelled
854
+ }, selectedRowData);
855
+ var isResumeButtonDisabled = neetoCist.existsBy({
856
+ status: SPLIT_TRANSFERS_DASHBOARD_TAB.pending
857
+ }, selectedRowData);
794
858
  var selectedRecordsCount = hasBulkSelectedAllRows ? splitTransfersCount : selectedRows.length;
795
859
  var handleFiltersChange = function handleFiltersChange(filters) {
796
860
  React.startTransition(function () {
@@ -846,17 +910,32 @@ var TopSection = function TopSection(_ref) {
846
910
  recordsCount: splitTransfersCount
847
911
  }
848
912
  })
849
- }), /*#__PURE__*/jsxRuntime.jsx(Dropdown, {
913
+ }), /*#__PURE__*/jsxRuntime.jsxs(Dropdown, {
850
914
  buttonStyle: "secondary",
851
915
  label: t("neetoPayments.common.takeAction"),
852
- children: /*#__PURE__*/jsxRuntime.jsx(Menu, {
916
+ children: [/*#__PURE__*/jsxRuntime.jsx(Menu, {
853
917
  children: /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, {
918
+ isDisabled: isCancelButtonDisabled,
919
+ tooltipProps: isCancelButtonDisabled ? {
920
+ content: t("neetoPayments.tooltipContent.splitTransfers.cancelledRecordsSelected")
921
+ } : "",
854
922
  onClick: function onClick() {
855
923
  return setIsCancelModalOpen(true);
856
924
  },
857
925
  children: t("neetoPayments.common.cancel")
858
926
  })
859
- })
927
+ }), /*#__PURE__*/jsxRuntime.jsx(Menu, {
928
+ children: /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, {
929
+ isDisabled: isResumeButtonDisabled,
930
+ tooltipProps: isResumeButtonDisabled ? {
931
+ content: t("neetoPayments.tooltipContent.splitTransfers.pendingRecordsSelected")
932
+ } : "",
933
+ onClick: function onClick() {
934
+ return setIsResumeModalOpen(true);
935
+ },
936
+ children: t("neetoPayments.common.resume")
937
+ })
938
+ })]
860
939
  })]
861
940
  }) : /*#__PURE__*/jsxRuntime.jsx(Typography, {
862
941
  className: "neeto-ui-gray-800 mr-2 font-semibold",
@@ -925,20 +1004,24 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
925
1004
  setIsCancelModalOpen = _useState8[1];
926
1005
  var _useState9 = React.useState(false),
927
1006
  _useState10 = _slicedToArray(_useState9, 2),
928
- hasBulkSelectedAllRows = _useState10[0],
929
- setHasBulkSelectedAllRows = _useState10[1];
930
- var _useState11 = React.useState(constants.DEFAULT_SORT_PROPERTIES),
1007
+ isResumeModalOpen = _useState10[0],
1008
+ setIsResumeModalOpen = _useState10[1];
1009
+ var _useState11 = React.useState(false),
931
1010
  _useState12 = _slicedToArray(_useState11, 2),
932
- sortProperties = _useState12[0],
933
- setSortProperties = _useState12[1];
934
- var _useState13 = React.useState(constants.DEFAULT_PAGE_VALUES),
1011
+ hasBulkSelectedAllRows = _useState12[0],
1012
+ setHasBulkSelectedAllRows = _useState12[1];
1013
+ var _useState13 = React.useState(constants.DEFAULT_SORT_PROPERTIES),
935
1014
  _useState14 = _slicedToArray(_useState13, 2),
936
- pageProperties = _useState14[0],
937
- setPageProperties = _useState14[1];
938
- var _useState15 = React.useState(utils$1.buildFiltersFromURL([].concat(_toConsumableArray(filterableColumns), [searchKeywordProps]))),
1015
+ sortProperties = _useState14[0],
1016
+ setSortProperties = _useState14[1];
1017
+ var _useState15 = React.useState(constants.DEFAULT_PAGE_VALUES),
939
1018
  _useState16 = _slicedToArray(_useState15, 2),
940
- filters = _useState16[0],
941
- setFilters = _useState16[1];
1019
+ pageProperties = _useState16[0],
1020
+ setPageProperties = _useState16[1];
1021
+ var _useState17 = React.useState(utils$1.buildFiltersFromURL([].concat(_toConsumableArray(filterableColumns), [searchKeywordProps]))),
1022
+ _useState18 = _slicedToArray(_useState17, 2),
1023
+ filters = _useState18[0],
1024
+ setFilters = _useState18[1];
942
1025
  var history = reactRouterDom.useHistory();
943
1026
  var _getQueryParams2 = utils.getQueryParams(),
944
1027
  _getQueryParams2$tab = _getQueryParams2.tab,
@@ -954,22 +1037,24 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
954
1037
  views = _useFetchSplitTransfe3.views,
955
1038
  isFetching = _useFetchSplitTransfe.isFetching,
956
1039
  isSplitTransfersLoading = _useFetchSplitTransfe.isPending;
957
- var _useBulkCancellationS = useBulkCancellationSplitTransfers({
1040
+ var _useBulkUpdateSplitTr = useBulkUpdateSplitTransfers({
958
1041
  onSuccess: function onSuccess() {
959
1042
  setSelectedRowData([]);
960
1043
  setSelectedRows([]);
961
1044
  }
962
1045
  }),
963
- cancelSplitTransfers = _useBulkCancellationS.mutate,
964
- isCancelling = _useBulkCancellationS.isPending;
965
- var handleSplitTransfersCancellation = function handleSplitTransfersCancellation(cancellationReason) {
1046
+ updateSplitTransfers = _useBulkUpdateSplitTr.mutate,
1047
+ isCancelling = _useBulkUpdateSplitTr.isPending;
1048
+ var handleSplitTransfersUpdate = function handleSplitTransfersUpdate(status, reason) {
966
1049
  var ids = ramda.pluck("id", selectedRowData);
967
- cancelSplitTransfers({
1050
+ updateSplitTransfers({
968
1051
  ids: ids,
969
- cancellationReason: cancellationReason,
1052
+ status: status,
1053
+ reason: reason,
970
1054
  isApplyChangesToAllRequired: hasBulkSelectedAllRows
971
1055
  });
972
1056
  setIsCancelModalOpen(false);
1057
+ setIsResumeModalOpen(false);
973
1058
  };
974
1059
  var handleTablePagination = function handleTablePagination(page, pageSize) {
975
1060
  var queryParams = utils.getQueryParams({
@@ -991,6 +1076,8 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
991
1076
  React.useEffect(function () {
992
1077
  handleTablePagination(constants$1.DEFAULT_PAGE_INDEX, constants$1.DEFAULT_PAGE_SIZE);
993
1078
  setSortProperties(constants.DEFAULT_SORT_PROPERTIES);
1079
+ setSelectedRowData([]);
1080
+ setSelectedRows([]);
994
1081
  }, [filters, tab]);
995
1082
  if (isSplitTransfersLoading || isCancelling) {
996
1083
  return /*#__PURE__*/jsxRuntime.jsx("div", {
@@ -1006,10 +1093,12 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
1006
1093
  pageProperties: pageProperties,
1007
1094
  payableEntityColumns: payableEntityColumns,
1008
1095
  searchKeywordProps: searchKeywordProps,
1096
+ selectedRowData: selectedRowData,
1009
1097
  selectedRows: selectedRows,
1010
1098
  setFilters: setFilters,
1011
1099
  setIsCancelModalOpen: setIsCancelModalOpen,
1012
1100
  setIsExportModalOpen: setIsExportModalOpen,
1101
+ setIsResumeModalOpen: setIsResumeModalOpen,
1013
1102
  setPageProperties: setPageProperties,
1014
1103
  setSortProperties: setSortProperties,
1015
1104
  views: views
@@ -1032,11 +1121,17 @@ var SplitTransfersDashboard = function SplitTransfersDashboard(_ref) {
1032
1121
  sortProperties: sortProperties,
1033
1122
  dashboardKind: constants.DASHBOARD_KIND.splitTransfers
1034
1123
  }), /*#__PURE__*/jsxRuntime.jsx(CancelModal, {
1035
- handleSplitTransfersCancellation: handleSplitTransfersCancellation,
1124
+ handleSplitTransfersUpdate: handleSplitTransfersUpdate,
1036
1125
  isOpen: isCancelModalOpen,
1037
1126
  onClose: function onClose() {
1038
1127
  return setIsCancelModalOpen(false);
1039
1128
  }
1129
+ }), /*#__PURE__*/jsxRuntime.jsx(ResumeModal, {
1130
+ handleSplitTransfersUpdate: handleSplitTransfersUpdate,
1131
+ isOpen: isResumeModalOpen,
1132
+ onClose: function onClose() {
1133
+ return setIsResumeModalOpen(false);
1134
+ }
1040
1135
  })]
1041
1136
  });
1042
1137
  };