@bigbinary/neeto-payments-frontend 6.1.14 → 6.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AccountsDashboard.js +2 -1
- package/dist/AccountsDashboard.js.map +1 -1
- package/dist/PaymentsDashboard.js +9 -3
- package/dist/PaymentsDashboard.js.map +1 -1
- package/dist/PayoutsDashboard.js +2 -1
- package/dist/PayoutsDashboard.js.map +1 -1
- package/dist/RefundsDashboard.js +11 -5
- package/dist/RefundsDashboard.js.map +1 -1
- package/dist/cjs/AccountsDashboard.js +4 -3
- package/dist/cjs/AccountsDashboard.js.map +1 -1
- package/dist/cjs/PaymentsDashboard.js +9 -3
- package/dist/cjs/PaymentsDashboard.js.map +1 -1
- package/dist/cjs/PayoutsDashboard.js +4 -3
- package/dist/cjs/PayoutsDashboard.js.map +1 -1
- package/dist/cjs/RefundsDashboard.js +10 -4
- package/dist/cjs/RefundsDashboard.js.map +1 -1
- package/dist/cjs/dashboard-CKAjPwyz.js +82 -0
- package/dist/cjs/dashboard-CKAjPwyz.js.map +1 -0
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{dashboard-B1R6fLcS.js → useExportsApi-DJOI2Dxh.js} +1 -47
- package/dist/cjs/useExportsApi-DJOI2Dxh.js.map +1 -0
- package/dist/dashboard-C6VM90Lt.js +77 -0
- package/dist/dashboard-C6VM90Lt.js.map +1 -0
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/useExportsApi-DPxXEeX2.js +47 -0
- package/dist/useExportsApi-DPxXEeX2.js.map +1 -0
- package/package.json +5 -5
- package/types/PaymentsDashboard.d.ts +21 -0
- package/types/RefundsDashboard.d.ts +20 -0
- package/dist/cjs/dashboard-B1R6fLcS.js.map +0 -1
- package/dist/dashboard-CKB3Vyop.js +0 -90
- package/dist/dashboard-CKB3Vyop.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayoutsDashboard.js","sources":["../../app/javascript/src/components/PayoutsDashboard/constants/index.js","../../app/javascript/src/components/PayoutsDashboard/ExportModal.jsx","../../app/javascript/src/components/PayoutsDashboard/constants/columns.js","../../app/javascript/src/components/PayoutsDashboard/utils/renderFunctions.jsx","../../app/javascript/src/components/PayoutsDashboard/hooks/useFiltersAndPagination.js","../../app/javascript/src/components/PayoutsDashboard/hooks/useFetchData.js","../../app/javascript/src/components/PayoutsDashboard/List.jsx","../../app/javascript/src/components/PayoutsDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TAB = {\n all: \"all\",\n paid: \"paid\",\n inTransit: \"inTransit\",\n failed: \"failed\",\n canceled: \"canceled\",\n pending: \"pending\",\n};\n\nexport const TABS = Object.values(TAB);\n\nexport const SEARCH_PROPS = {\n key: \"keyword\",\n node: \"identifier,destination_identifier\",\n model: \"NeetoPaymentsEngine::Payout\",\n};\n\nexport const DASHBOARD_MANDATORY_COLUMNS = [\"id\", \"status\", \"identifier\"];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"created_at\",\n label: t(\"neetoPayments.common.createdAt\"),\n node: \"created_at\",\n type: \"date\",\n showRuleSelector: true,\n },\n {\n key: \"arrival_date\",\n label: t(\"neetoPayments.common.arrivalDate\"),\n node: \"arrival_date\",\n type: \"date\",\n showRuleSelector: true,\n },\n];\n\nexport const DEFAULT_SORT_PROPERTIES = {\n sortBy: \"created_at\",\n orderBy: \"DESC\",\n};\n\nexport const STRIPE_PAYOUTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY =\n \"stripePayoutsDashboard\";\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Download } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n showExportModal,\n setShowExportModal,\n tab,\n filters,\n sortProperties = {},\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { mutate: exportCsv, isPending } = useExportData();\n const isFileLoading = isPending || isGenerating;\n\n const token = useMemo(() => `payout-report-${uuidV4()}`, []);\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n const handleGenerateClick = () => {\n const payload = {\n kind: \"payout\",\n token,\n filters,\n tab,\n ...sortProperties,\n };\n\n exportCsv(payload, {\n onSuccess: () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n },\n });\n };\n\n useEffect(() => {\n if (showExportModal) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [showExportModal, token]);\n\n const onClose = () => setShowExportModal(false);\n\n return (\n <Modal {...{ onClose }} isOpen={showExportModal}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.export.title.payout\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isFileLoading ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {downloadUrl\n ? t(\"neetoPayments.export.fileReady\")\n : t(\"neetoPayments.export.download.payout\")}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {downloadUrl ? (\n <Button\n data-testid=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-testid=\"cancel-button\"\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n data-testid=\"neeto-payments-export-button\"\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.export\")}\n loading={isFileLoading}\n onClick={handleGenerateClick}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n","import { t } from \"i18next\";\n\nimport { renderDate, renderStatus } from \"utils/renderFunctions\";\n\nexport const COLUMNS = [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: 85,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n render: renderStatus(\"payout\"),\n width: 150,\n sorter: true,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.amount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n width: 150,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n width: 220,\n render: renderDate,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.arrivalDate\"),\n dataIndex: \"arrivalDate\",\n key: \"arrivalDate\",\n width: 220,\n render: renderDate,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.destinationIdentifier\"),\n dataIndex: \"destinationIdentifier\",\n key: \"destinationIdentifier\",\n width: 300,\n },\n];\n\nexport const IDENTIFIER_COLUMN = {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: 300,\n isHidable: false,\n};\n","import { camelToSnakeCase } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport { curry } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\n\nexport const processTab = status =>\n camelToSnakeCase(status).split(\"_\").join(\" \");\n\nexport const renderPayoutIdentifier = curry(\n (route, { identifier = \"\", id = \"\" }) => (\n <CopyButtonWrapper content={identifier}>\n <Button\n label={identifier}\n size=\"small\"\n style=\"link\"\n to={buildUrl(route, { id })}\n />\n </CopyButtonWrapper>\n )\n);\n","import { useState } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { assoc, insert, mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport { buildDefaultPageProperties } from \"utils/dashboard\";\n\nimport { FILTER_COLUMNS, TAB, TABS, SEARCH_PROPS } from \"../constants\";\nimport { COLUMNS, IDENTIFIER_COLUMN } from \"../constants/columns\";\nimport { renderPayoutIdentifier } from \"../utils/renderFunctions\";\n\nexport const useFiltersAndPagination = payoutsPageRoute => {\n const history = useHistory();\n const [isFilterButtonVisible, setIsFilterButtonVisible] = useState(false);\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n const [pageProperties, setPageProperties] = useState(\n buildDefaultPageProperties(TABS)\n );\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const { tab = TAB.all } = useQueryParams();\n\n const { searchTerm = \"\" } = getQueryParams();\n const searchKeywordProps = {\n ...SEARCH_PROPS,\n key: \"search_term\",\n value: searchTerm.trim(),\n };\n\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps])\n );\n const [dataSize, setDataSize] = useState(null);\n\n const identifierColumn = assoc(\n \"render\",\n renderPayoutIdentifier(payoutsPageRoute),\n IDENTIFIER_COLUMN\n );\n\n const columns = insert(1, identifierColumn, COLUMNS);\n\n const columnData =\n tab !== TAB.all ? removeBy({ key: \"status\" }, columns) : columns;\n\n const handleTabChange = tab => {\n setDataSize(null);\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: pageProperties[tab]?.page,\n page_size: pageProperties[tab]?.pageSize,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n };\n};\n","import { snakeToCamelCase } from \"neetocist\";\n\nimport { useFetchStripePayouts } from \"hooks/reactQuery/stripe/useConnectApi\";\nimport { useFetchStripePlatformPayouts } from \"hooks/reactQuery/stripe/usePlatformApi\";\n\nexport const useFetchData = ({ isPlatformEnabled, payload }) => {\n const data = {};\n const kind = isPlatformEnabled ? \"platform\" : \"connected\";\n const tab = snakeToCamelCase(payload?.tab || \"\");\n\n data.connected = useFetchStripePayouts(payload, {\n enabled: !isPlatformEnabled,\n });\n\n data.platform = useFetchStripePlatformPayouts(payload, {\n enabled: isPlatformEnabled,\n });\n\n return {\n data: data[kind]?.data?.payouts,\n dataSize: data[kind]?.data?.views?.[tab],\n isDataLoading: data[kind]?.isLoading,\n isDataFetching: data[kind]?.isFetching,\n };\n};\n","import { useEffect } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useTableConfigurations } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData, Spinner } from \"neetoui\";\nimport { assoc, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { SORT_DIRECTIONS } from \"src/constants\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport { DEFAULT_SORT_PROPERTIES } from \"./constants\";\nimport { useFetchData } from \"./hooks/useFetchData\";\n\nconst List = ({\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n isPlatformEnabled,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n\n const { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(TABLE_KEYS.PAYOUTS_TABLE, columnData);\n\n const {\n data: payouts,\n isDataLoading,\n dataSize,\n isDataFetching,\n } = useFetchData({\n payload: buildPayload({ filters, pageProperties, sortProperties, tab }),\n isPlatformEnabled,\n });\n\n useEffect(() => {\n setIsFilterButtonVisible(isPresent(payouts) || isPresent(filters));\n setDataSize(dataSize);\n }, [payouts]);\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(assoc(tab, { page, pageSize }));\n };\n\n useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(sorter.field),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isDataLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (dataSize <= 0 || !isPresent(payouts)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(`neetoPayments.emptyState.payouts.${tab}`)} />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={dataSize > pageProperties[tab]?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={customizedColumns}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePagination}\n loading={isDataFetching || isTableConfigurationLoading}\n rowData={buildRowData({ data: payouts, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={dataSize}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties[tab]?.pageSize,\n total: dataSize,\n }}\n onChange={handleTableChange}\n onColumnHide={({ key }) => hideColumn(key)}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { useState, useTransition } from \"react\";\n\nimport { t } from \"i18next\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\n\nimport {\n DASHBOARD_MANDATORY_COLUMNS,\n FILTER_COLUMNS,\n TAB,\n TABS,\n} from \"./constants\";\nimport ExportModal from \"./ExportModal\";\nimport { useFiltersAndPagination } from \"./hooks/useFiltersAndPagination\";\nimport List from \"./List\";\nimport { processTab } from \"./utils/renderFunctions\";\n\nconst PayoutsDashboard = ({ payoutsPageRoute, isPlatformEnabled }) => {\n const [_, startTransition] = useTransition();\n const { t } = useTranslation();\n\n const [showExportModal, setShowExportModal] = useState(false);\n const {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n } = useFiltersAndPagination(payoutsPageRoute);\n\n const isTabsVisible = isFilterButtonVisible || tab !== \"all\";\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.payouts\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: t(\"neetoPayments.common.search\"),\n className: \"w-80\",\n }\n }\n />\n {isTabsVisible && (\n <Tab>\n {TABS.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 dataSize > 0 && (\n <Typography\n className=\"neeto-ui-gray-800 me-2 font-semibold\"\n component=\"h4\"\n >\n {tab === TAB.all\n ? t(\"neetoPayments.countOf.payout\", { count: dataSize })\n : t(\"neetoPayments.countOf.payoutWithStatus\", {\n count: dataSize,\n status: processTab(tab),\n })}\n </Typography>\n )\n }\n rightActionBlock={\n isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData,\n fixedColumns: DASHBOARD_MANDATORY_COLUMNS,\n tableKey: TABLE_KEYS.PAYOUTS_TABLE,\n }}\n downloadButtonProps={{\n onClick: () => setShowExportModal(true),\n }}\n filterProps={{\n columns: FILTER_COLUMNS,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )\n }\n />\n <FiltersBar\n columns={FILTER_COLUMNS}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n <List\n {...{\n columnData,\n filters,\n isPlatformEnabled,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n }}\n />\n <ExportModal\n {...{\n filters,\n setShowExportModal,\n showExportModal,\n sortProperties,\n tab,\n }}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(PayoutsDashboard),\n t(\"neetoPayments.title.payouts\")\n);\n"],"names":["TAB","all","paid","inTransit","failed","canceled","pending","TABS","Object","values","SEARCH_PROPS","key","node","model","DASHBOARD_MANDATORY_COLUMNS","FILTER_COLUMNS","label","t","type","showRuleSelector","DEFAULT_SORT_PROPERTIES","sortBy","orderBy","ExportModal","showExportModal","setShowExportModal","tab","filters","sortProperties","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","mutate","exportCsv","isPending","useExportData","isFileLoading","token","useMemo","uuidV4","receivedCallback","data","download_url","handleGenerateClick","payload","kind","onSuccess","useEffect","channel","exportChannel","disconnected","undefined","onClose","_jsxs","Modal","isOpen","children","_jsx","Header","Typography","style","Body","Footer","className","Button","href","icon","Download","onClick","_Fragment","disabled","loading","COLUMNS","title","dataIndex","width","isHidable","render","renderStatus","sorter","renderDate","IDENTIFIER_COLUMN","processTab","status","camelToSnakeCase","split","join","renderPayoutIdentifier","curry","route","identifier","id","CopyButtonWrapper","content","size","to","buildUrl","useFiltersAndPagination","payoutsPageRoute","history","useHistory","isFilterButtonVisible","setIsFilterButtonVisible","isFilterPaneOpen","setIsFilterPaneOpen","pageProperties","setPageProperties","buildDefaultPageProperties","setSortProperties","useQueryParams","searchTerm","getQueryParams","searchKeywordProps","value","trim","setFilters","buildFiltersFromURL","dataSize","setDataSize","identifierColumn","assoc","columns","insert","columnData","removeBy","handleTabChange","queryParams","toCamelCase","newParams","page","page_size","pageSize","push","window","location","pathname","mergeLeft","useFetchData","isPlatformEnabled","snakeToCamelCase","connected","useFetchStripePayouts","enabled","platform","useFetchStripePlatformPayouts","payouts","views","isDataLoading","isLoading","isDataFetching","isFetching","List","isTableConfigurationLoading","customizedColumns","hideColumn","useTableConfigurations","TABLE_KEYS","PAYOUTS_TABLE","buildPayload","isPresent","handleTablePagination","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","handleTableChange","_","__","column","field","order","Spinner","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","handlePageChange","rowData","buildRowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","PayoutsDashboard","startTransition","useTransition","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tab","map","item","Item","active","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","fixedColumns","tableKey","downloadButtonProps","filterProps","keyword","setIsOpen","FiltersBar","setIsPaneOpen","withTitle","withReactQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PayoutsDashboard.js","sources":["../../app/javascript/src/components/PayoutsDashboard/constants/index.js","../../app/javascript/src/components/PayoutsDashboard/ExportModal.jsx","../../app/javascript/src/components/PayoutsDashboard/constants/columns.js","../../app/javascript/src/components/PayoutsDashboard/utils/renderFunctions.jsx","../../app/javascript/src/components/PayoutsDashboard/hooks/useFiltersAndPagination.js","../../app/javascript/src/components/PayoutsDashboard/hooks/useFetchData.js","../../app/javascript/src/components/PayoutsDashboard/List.jsx","../../app/javascript/src/components/PayoutsDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TAB = {\n all: \"all\",\n paid: \"paid\",\n inTransit: \"inTransit\",\n failed: \"failed\",\n canceled: \"canceled\",\n pending: \"pending\",\n};\n\nexport const TABS = Object.values(TAB);\n\nexport const SEARCH_PROPS = {\n key: \"keyword\",\n node: \"identifier,destination_identifier\",\n model: \"NeetoPaymentsEngine::Payout\",\n};\n\nexport const DASHBOARD_MANDATORY_COLUMNS = [\"id\", \"status\", \"identifier\"];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"created_at\",\n label: t(\"neetoPayments.common.createdAt\"),\n node: \"created_at\",\n type: \"date\",\n showRuleSelector: true,\n },\n {\n key: \"arrival_date\",\n label: t(\"neetoPayments.common.arrivalDate\"),\n node: \"arrival_date\",\n type: \"date\",\n showRuleSelector: true,\n },\n];\n\nexport const DEFAULT_SORT_PROPERTIES = {\n sortBy: \"created_at\",\n orderBy: \"DESC\",\n};\n\nexport const STRIPE_PAYOUTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY =\n \"stripePayoutsDashboard\";\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Download } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n showExportModal,\n setShowExportModal,\n tab,\n filters,\n sortProperties = {},\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { mutate: exportCsv, isPending } = useExportData();\n const isFileLoading = isPending || isGenerating;\n\n const token = useMemo(() => `payout-report-${uuidV4()}`, []);\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n const handleGenerateClick = () => {\n const payload = {\n kind: \"payout\",\n token,\n filters,\n tab,\n ...sortProperties,\n };\n\n exportCsv(payload, {\n onSuccess: () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n },\n });\n };\n\n useEffect(() => {\n if (showExportModal) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [showExportModal, token]);\n\n const onClose = () => setShowExportModal(false);\n\n return (\n <Modal {...{ onClose }} isOpen={showExportModal}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.export.title.payout\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isFileLoading ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {downloadUrl\n ? t(\"neetoPayments.export.fileReady\")\n : t(\"neetoPayments.export.download.payout\")}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {downloadUrl ? (\n <Button\n data-testid=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-testid=\"cancel-button\"\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n data-testid=\"neeto-payments-export-button\"\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.export\")}\n loading={isFileLoading}\n onClick={handleGenerateClick}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n","import { t } from \"i18next\";\n\nimport { renderDate, renderStatus } from \"utils/renderFunctions\";\n\nexport const COLUMNS = [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: 85,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n render: renderStatus(\"payout\"),\n width: 150,\n sorter: true,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.amount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n width: 150,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n width: 220,\n render: renderDate,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.arrivalDate\"),\n dataIndex: \"arrivalDate\",\n key: \"arrivalDate\",\n width: 220,\n render: renderDate,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.destinationIdentifier\"),\n dataIndex: \"destinationIdentifier\",\n key: \"destinationIdentifier\",\n width: 300,\n },\n];\n\nexport const IDENTIFIER_COLUMN = {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: 300,\n isHidable: false,\n};\n","import { camelToSnakeCase } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport { curry } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\n\nexport const processTab = status =>\n camelToSnakeCase(status).split(\"_\").join(\" \");\n\nexport const renderPayoutIdentifier = curry(\n (route, { identifier = \"\", id = \"\" }) => (\n <CopyButtonWrapper content={identifier}>\n <Button\n label={identifier}\n size=\"small\"\n style=\"link\"\n to={buildUrl(route, { id })}\n />\n </CopyButtonWrapper>\n )\n);\n","import { useState } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { assoc, insert, mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport { buildDefaultPageProperties } from \"utils/dashboard\";\n\nimport { FILTER_COLUMNS, TAB, TABS, SEARCH_PROPS } from \"../constants\";\nimport { COLUMNS, IDENTIFIER_COLUMN } from \"../constants/columns\";\nimport { renderPayoutIdentifier } from \"../utils/renderFunctions\";\n\nexport const useFiltersAndPagination = payoutsPageRoute => {\n const history = useHistory();\n const [isFilterButtonVisible, setIsFilterButtonVisible] = useState(false);\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n const [pageProperties, setPageProperties] = useState(\n buildDefaultPageProperties(TABS)\n );\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const { tab = TAB.all } = useQueryParams();\n\n const { searchTerm = \"\" } = getQueryParams();\n const searchKeywordProps = {\n ...SEARCH_PROPS,\n key: \"search_term\",\n value: searchTerm.trim(),\n };\n\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps])\n );\n const [dataSize, setDataSize] = useState(null);\n\n const identifierColumn = assoc(\n \"render\",\n renderPayoutIdentifier(payoutsPageRoute),\n IDENTIFIER_COLUMN\n );\n\n const columns = insert(1, identifierColumn, COLUMNS);\n\n const columnData =\n tab !== TAB.all ? removeBy({ key: \"status\" }, columns) : columns;\n\n const handleTabChange = tab => {\n setDataSize(null);\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: pageProperties[tab]?.page,\n page_size: pageProperties[tab]?.pageSize,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n };\n};\n","import { snakeToCamelCase } from \"neetocist\";\n\nimport { useFetchStripePayouts } from \"hooks/reactQuery/stripe/useConnectApi\";\nimport { useFetchStripePlatformPayouts } from \"hooks/reactQuery/stripe/usePlatformApi\";\n\nexport const useFetchData = ({ isPlatformEnabled, payload }) => {\n const data = {};\n const kind = isPlatformEnabled ? \"platform\" : \"connected\";\n const tab = snakeToCamelCase(payload?.tab || \"\");\n\n data.connected = useFetchStripePayouts(payload, {\n enabled: !isPlatformEnabled,\n });\n\n data.platform = useFetchStripePlatformPayouts(payload, {\n enabled: isPlatformEnabled,\n });\n\n return {\n data: data[kind]?.data?.payouts,\n dataSize: data[kind]?.data?.views?.[tab],\n isDataLoading: data[kind]?.isLoading,\n isDataFetching: data[kind]?.isFetching,\n };\n};\n","import { useEffect } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useTableConfigurations } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData, Spinner } from \"neetoui\";\nimport { assoc, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { SORT_DIRECTIONS } from \"src/constants\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport { DEFAULT_SORT_PROPERTIES } from \"./constants\";\nimport { useFetchData } from \"./hooks/useFetchData\";\n\nconst List = ({\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n isPlatformEnabled,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n\n const { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(TABLE_KEYS.PAYOUTS_TABLE, columnData);\n\n const {\n data: payouts,\n isDataLoading,\n dataSize,\n isDataFetching,\n } = useFetchData({\n payload: buildPayload({ filters, pageProperties, sortProperties, tab }),\n isPlatformEnabled,\n });\n\n useEffect(() => {\n setIsFilterButtonVisible(isPresent(payouts) || isPresent(filters));\n setDataSize(dataSize);\n }, [payouts]);\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(assoc(tab, { page, pageSize }));\n };\n\n useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(sorter.field),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isDataLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (dataSize <= 0 || !isPresent(payouts)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(`neetoPayments.emptyState.payouts.${tab}`)} />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={dataSize > pageProperties[tab]?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={customizedColumns}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePagination}\n loading={isDataFetching || isTableConfigurationLoading}\n rowData={buildRowData({ data: payouts, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={dataSize}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties[tab]?.pageSize,\n total: dataSize,\n }}\n onChange={handleTableChange}\n onColumnHide={({ key }) => hideColumn(key)}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { useState, useTransition } from \"react\";\n\nimport { t } from \"i18next\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\n\nimport {\n DASHBOARD_MANDATORY_COLUMNS,\n FILTER_COLUMNS,\n TAB,\n TABS,\n} from \"./constants\";\nimport ExportModal from \"./ExportModal\";\nimport { useFiltersAndPagination } from \"./hooks/useFiltersAndPagination\";\nimport List from \"./List\";\nimport { processTab } from \"./utils/renderFunctions\";\n\nconst PayoutsDashboard = ({ payoutsPageRoute, isPlatformEnabled }) => {\n const [_, startTransition] = useTransition();\n const { t } = useTranslation();\n\n const [showExportModal, setShowExportModal] = useState(false);\n const {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n } = useFiltersAndPagination(payoutsPageRoute);\n\n const isTabsVisible = isFilterButtonVisible || tab !== \"all\";\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.payouts\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: t(\"neetoPayments.common.search\"),\n className: \"w-80\",\n }\n }\n />\n {isTabsVisible && (\n <Tab>\n {TABS.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 dataSize > 0 && (\n <Typography\n className=\"neeto-ui-gray-800 me-2 font-semibold\"\n component=\"h4\"\n >\n {tab === TAB.all\n ? t(\"neetoPayments.countOf.payout\", { count: dataSize })\n : t(\"neetoPayments.countOf.payoutWithStatus\", {\n count: dataSize,\n status: processTab(tab),\n })}\n </Typography>\n )\n }\n rightActionBlock={\n isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData,\n fixedColumns: DASHBOARD_MANDATORY_COLUMNS,\n tableKey: TABLE_KEYS.PAYOUTS_TABLE,\n }}\n downloadButtonProps={{\n onClick: () => setShowExportModal(true),\n }}\n filterProps={{\n columns: FILTER_COLUMNS,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )\n }\n />\n <FiltersBar\n columns={FILTER_COLUMNS}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n <List\n {...{\n columnData,\n filters,\n isPlatformEnabled,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n }}\n />\n <ExportModal\n {...{\n filters,\n setShowExportModal,\n showExportModal,\n sortProperties,\n tab,\n }}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(PayoutsDashboard),\n t(\"neetoPayments.title.payouts\")\n);\n"],"names":["TAB","all","paid","inTransit","failed","canceled","pending","TABS","Object","values","SEARCH_PROPS","key","node","model","DASHBOARD_MANDATORY_COLUMNS","FILTER_COLUMNS","label","t","type","showRuleSelector","DEFAULT_SORT_PROPERTIES","sortBy","orderBy","ExportModal","showExportModal","setShowExportModal","tab","filters","sortProperties","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","mutate","exportCsv","isPending","useExportData","isFileLoading","token","useMemo","uuidV4","receivedCallback","data","download_url","handleGenerateClick","payload","kind","onSuccess","useEffect","channel","exportChannel","disconnected","undefined","onClose","_jsxs","Modal","isOpen","children","_jsx","Header","Typography","style","Body","Footer","className","Button","href","icon","Download","onClick","_Fragment","disabled","loading","COLUMNS","title","dataIndex","width","isHidable","render","renderStatus","sorter","renderDate","IDENTIFIER_COLUMN","processTab","status","camelToSnakeCase","split","join","renderPayoutIdentifier","curry","route","identifier","id","CopyButtonWrapper","content","size","to","buildUrl","useFiltersAndPagination","payoutsPageRoute","history","useHistory","isFilterButtonVisible","setIsFilterButtonVisible","isFilterPaneOpen","setIsFilterPaneOpen","pageProperties","setPageProperties","buildDefaultPageProperties","setSortProperties","useQueryParams","searchTerm","getQueryParams","searchKeywordProps","value","trim","setFilters","buildFiltersFromURL","dataSize","setDataSize","identifierColumn","assoc","columns","insert","columnData","removeBy","handleTabChange","queryParams","toCamelCase","newParams","page","page_size","pageSize","push","window","location","pathname","mergeLeft","useFetchData","isPlatformEnabled","snakeToCamelCase","connected","useFetchStripePayouts","enabled","platform","useFetchStripePlatformPayouts","payouts","views","isDataLoading","isLoading","isDataFetching","isFetching","List","isTableConfigurationLoading","customizedColumns","hideColumn","useTableConfigurations","TABLE_KEYS","PAYOUTS_TABLE","buildPayload","isPresent","handleTablePagination","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","handleTableChange","_","__","column","field","order","Spinner","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","handlePageChange","rowData","buildRowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","PayoutsDashboard","startTransition","useTransition","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tab","map","item","Item","active","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","fixedColumns","tableKey","downloadButtonProps","filterProps","keyword","setIsOpen","FiltersBar","setIsPaneOpen","withTitle","withReactQuery"],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ var reactQuery = require('@tanstack/react-query');
|
|
|
12
12
|
var axios = require('axios');
|
|
13
13
|
var constants = require('./index-C3LUTqjR.js');
|
|
14
14
|
var queryConstants = require('./queryConstants-Dc6wh21D.js');
|
|
15
|
+
var dashboard = require('./dashboard-CKAjPwyz.js');
|
|
15
16
|
var i18next = require('i18next');
|
|
16
17
|
var neetocist = require('neetocist');
|
|
17
18
|
var Columns = require('@bigbinary/neeto-molecules/Columns');
|
|
@@ -397,7 +398,8 @@ const TopSection = ({
|
|
|
397
398
|
const RefundsDashboard = ({
|
|
398
399
|
searchProps,
|
|
399
400
|
payableEntityColumns,
|
|
400
|
-
accountIds
|
|
401
|
+
accountIds,
|
|
402
|
+
enforceFilterValues = []
|
|
401
403
|
}) => {
|
|
402
404
|
const {
|
|
403
405
|
searchTerm = ""
|
|
@@ -412,9 +414,13 @@ const RefundsDashboard = ({
|
|
|
412
414
|
const {
|
|
413
415
|
tab = REFUND_DASHBOARD_TAB.all
|
|
414
416
|
} = utils.getQueryParams();
|
|
417
|
+
|
|
418
|
+
// Merge enforced filters with user-selected filters for API payload
|
|
419
|
+
// Enforced filters are included in API requests but not reflected in URL
|
|
420
|
+
const apiFilters = react.useMemo(() => dashboard.mergeEnforcedFilters(filters, enforceFilterValues, filterableColumns), [filters, enforceFilterValues, filterableColumns]);
|
|
415
421
|
const payload = {
|
|
416
422
|
tab,
|
|
417
|
-
filters,
|
|
423
|
+
filters: apiFilters,
|
|
418
424
|
accountIds,
|
|
419
425
|
...pageProperties,
|
|
420
426
|
...sortProperties
|
|
@@ -473,11 +479,11 @@ const RefundsDashboard = ({
|
|
|
473
479
|
setSortProperties,
|
|
474
480
|
views
|
|
475
481
|
}), /*#__PURE__*/jsxRuntime.jsx(ExportModal.ExportModal, {
|
|
476
|
-
filters,
|
|
477
482
|
isExportModalOpen,
|
|
478
483
|
setIsExportModalOpen,
|
|
479
484
|
sortProperties,
|
|
480
|
-
dashboardKind: constants.DASHBOARD_KIND.refunds
|
|
485
|
+
dashboardKind: constants.DASHBOARD_KIND.refunds,
|
|
486
|
+
filters: apiFilters
|
|
481
487
|
})]
|
|
482
488
|
});
|
|
483
489
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefundsDashboard.js","sources":["../../app/javascript/src/apis/refunds.js","../../app/javascript/src/hooks/reactQuery/useRefundsApi.js","../../app/javascript/src/components/RefundsDashboard/constants.js","../../app/javascript/src/components/RefundsDashboard/columns/utils.jsx","../../app/javascript/src/components/RefundsDashboard/utils.js","../../app/javascript/src/components/RefundsDashboard/List.jsx","../../app/javascript/src/components/RefundsDashboard/TopSection.jsx","../../app/javascript/src/components/RefundsDashboard/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/refunds`, { params: payload });\n\nconst refundsApi = { list };\n\nexport default refundsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport refundsApi from \"apis/refunds\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRefunds = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.REFUNDS_LIST, payload],\n queryFn: () => refundsApi.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 = \"refundsDashboard\";\n\nexport const REFUND_DASHBOARD_TAB = {\n all: \"all\",\n successful: \"successful\",\n declined: \"declined\",\n pending: \"pending\",\n};\n\nexport const SEARCH_PROPS = {\n node: \"identifier,\",\n key: \"search_term\",\n model: \"NeetoPaymentsEngine::Refund,\",\n placeholder: t(\"neetoPayments.common.searchByIdentifier\"),\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.refundAmount\"),\n node: \"amount\",\n type: \"decimal\",\n },\n {\n key: \"payment_amount\",\n label: t(\"neetoPayments.common.paymentAmount\"),\n node: \"payment.amount\",\n model: \"NeetoPaymentsEngine::Payment\",\n type: \"decimal\",\n },\n {\n key: \"refunded_at\",\n label: t(\"neetoPayments.common.refundTime\"),\n node: \"refunded_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, isPresent } 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 style={getTagStyle(processedStatus)}\n label={humanize(\n t(`neetoPayments.tagLabels.${type}.${processedStatus}`)\n )}\n />\n </div>\n </Tooltip>\n );\n});\n\nconst renderDate = date => {\n if (isPresent(date)) {\n return <DateFormat.DateTime {...{ date }} />;\n }\n\n return (\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n );\n};\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: 200,\n render: renderStatus(\"refund\"),\n sorter: true,\n position: 3,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.refundAmount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n width: 203,\n sorter: true,\n render: formatAmount,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.paymentAmount\"),\n dataIndex: [\"payment\", \"amount\"],\n key: \"paymentAmount\",\n width: 210,\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.refundTime\"),\n dataIndex: \"refundedAt\",\n key: \"refundedAt\",\n width: 190,\n render: renderDate,\n sorter: true,\n position: 5,\n },\n {\n title: t(\"neetoPayments.common.paymentIdentifier\"),\n dataIndex: [\"payment\", \"identifier\"],\n key: \"paymentIdentifier\",\n width: 300,\n render: renderIdentifier,\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 = ({ refunds, pageProperties = {} }) =>\n refunds?.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 { useTableConfigurations } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n SORT_DIRECTIONS,\n DEFAULT_SORT_PROPERTIES,\n ASSOCIATED_TABLE_COLUMNS,\n} from \"src/constants\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\nimport { buildDefaultTableColumns, processDataIndex } from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { REFUND_DASHBOARD_TAB } from \"./constants\";\nimport { buildRowData } from \"./utils\";\n\nconst List = ({\n isFetching,\n refunds,\n views,\n payableEntityColumns,\n setSortProperties,\n pageProperties,\n handleTablePagination,\n}) => {\n const { t } = useTranslation();\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n\n const refundsCount = views[tab];\n\n const allColumns = buildDefaultTableColumns({\n payableEntityColumns,\n defaultColumns: getDefaultColumns(),\n isAllTab: tab === REFUND_DASHBOARD_TAB.all,\n });\n\n const { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(`${TABLE_KEYS.REFUNDS_TABLE}-${tab}`, allColumns);\n\n const handleTableChange = (_, __, sorter) => {\n const processedDataIndex = camelToSnakeCase(processDataIndex(sorter.field));\n const sortBy = isPresent(ASSOCIATED_TABLE_COLUMNS[processedDataIndex])\n ? ASSOCIATED_TABLE_COLUMNS[processedDataIndex]\n : processedDataIndex;\n\n setSortProperties(\n isPresent(sorter?.column)\n ? { sortBy, orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\" }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isNotPresent(refunds)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === REFUND_DASHBOARD_TAB.all\n ? t(\"neetoPayments.emptyState.refund\")\n : t(\"neetoPayments.emptyState.refundWithStatus\", {\n status: tab,\n })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={refundsCount > pageProperties?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={customizedColumns}\n currentPageNumber={pageProperties?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching || isTableConfigurationLoading}\n rowData={buildRowData({ refunds, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={refundsCount}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties?.pageSize,\n total: refundsCount,\n }}\n onChange={handleTableChange}\n onColumnHide={({ key }) => hideColumn(key)}\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 { mergeLeft, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { UN_HIDEABLE_COLUMNS } from \"src/constants\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\nimport {\n processDataIndex,\n shouldTabsVisible,\n buildDefaultTableColumns,\n} from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { REFUND_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 = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n\n const refundsCount = views?.[tab];\n const isRefundCountVisible =\n refundsCount > 0 || (refundsCount === 0 && isPresent(filters));\n const isFilterButtonVisible = isRefundCountVisible || 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.refunds\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: searchKeywordProps.placeholder,\n className: \"w-80\",\n }\n }\n />\n {shouldTabsVisible(views) && (\n <Tab>\n {Object.keys(REFUND_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 isRefundCountVisible && (\n <Typography\n className=\"neeto-ui-gray-800 me-2 font-semibold\"\n component=\"h4\"\n >\n {tab === REFUND_DASHBOARD_TAB.all\n ? t(\"neetoPayments.countOf.refund\", { count: refundsCount })\n : t(\"neetoPayments.countOf.refundWithStatus\", {\n count: refundsCount,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData: buildDefaultTableColumns({\n defaultColumns: getDefaultColumns(),\n payableEntityColumns,\n isAllTab: tab === REFUND_DASHBOARD_TAB.all,\n }).map(modify(\"dataIndex\", processDataIndex)),\n fixedColumns: UN_HIDEABLE_COLUMNS,\n tableKey: `${TABLE_KEYS.REFUNDS_TABLE}-${tab}`,\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 { useFetchRefunds } from \"hooks/reactQuery/useRefundsApi\";\nimport {\n DEFAULT_SORT_PROPERTIES,\n DEFAULT_PAGE_VALUES,\n DASHBOARD_KIND,\n} from \"src/constants\";\n\nimport { REFUND_DASHBOARD_TAB } from \"./constants\";\nimport List from \"./List\";\nimport TopSection from \"./TopSection\";\nimport { buildFilterColumns, buildSearchProps } from \"./utils\";\n\nconst RefundsDashboard = ({\n searchProps,\n payableEntityColumns,\n accountIds,\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\n const history = useHistory();\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n const payload = {\n tab,\n filters,\n accountIds,\n ...pageProperties,\n ...sortProperties,\n };\n\n const {\n data: { refunds, views } = {},\n isFetching,\n isPending: isRefundsLoading,\n } = useFetchRefunds(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 (isRefundsLoading) {\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 refunds,\n setSortProperties,\n views,\n }}\n />\n <ExportModal\n {...{\n filters,\n isExportModalOpen,\n setIsExportModalOpen,\n sortProperties,\n }}\n dashboardKind={DASHBOARD_KIND.refunds}\n />\n </>\n );\n};\n\nexport default RefundsDashboard;\n"],"names":["list","payload","axios","get","BASE_URL","params","refundsApi","useFetchRefunds","options","useQuery","queryKey","QUERY_KEYS","REFUNDS_LIST","queryFn","REFUND_DASHBOARD_TAB","all","successful","declined","pending","SEARCH_PROPS","node","key","model","placeholder","t","FILTER_COLUMNS","label","type","values","map","toLabelAndValue","PAYMENT_PROVIDERS","TAG_STYLE","initiated","refunded","renderIdentifier","identifier","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","humanize","renderDate","date","isPresent","DateFormat","DateTime","getDefaultColumns","title","dataIndex","width","isHidable","render","sorter","formatAmount","formatCurrency","buildSearchProps","searchProps","searchTerm","mergeDeepWith","concat","mergeLeft","value","trim","buildFilterColumns","payableEntityColumns","reject","isNil","prop","buildRowData","refunds","pageProperties","element","index","id","isEmpty","pageSize","page","List","isFetching","views","setSortProperties","handleTablePagination","useTranslation","tab","getQueryParams","refundsCount","allColumns","buildDefaultTableColumns","defaultColumns","isAllTab","isTableConfigurationLoading","customizedColumns","hideColumn","useTableConfigurations","TABLE_KEYS","REFUNDS_TABLE","handleTableChange","_","__","processedDataIndex","camelToSnakeCase","processDataIndex","field","sortBy","ASSOCIATED_TABLE_COLUMNS","column","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","isFilterPaneOpen","setIsFilterPaneOpen","useState","history","useHistory","isRefundCountVisible","isFilterButtonVisible","handleFiltersChange","startTransition","handleTabChange","queryParams","toCamelCase","newParams","DEFAULT_PAGE_INDEX","page_size","DEFAULT_PAGE_SIZE","push","buildUrl","window","location","pathname","_jsxs","_Fragment","Header","shouldTabsVisible","Tab","Object","keys","item","Item","active","onClick","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","modify","fixedColumns","UN_HIDEABLE_COLUMNS","tableKey","downloadButtonProps","filterProps","columns","isOpen","keyword","setIsOpen","FiltersBar","setIsPaneOpen","RefundsDashboard","accountIds","sortProperties","setPageProperties","DEFAULT_PAGE_VALUES","isExportModalOpen","buildFiltersFromURL","data","isPending","isRefundsLoading","enabled","useEffect","Spinner","ExportModal","dashboardKind","DASHBOARD_KIND"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RefundsDashboard.js","sources":["../../app/javascript/src/apis/refunds.js","../../app/javascript/src/hooks/reactQuery/useRefundsApi.js","../../app/javascript/src/components/RefundsDashboard/constants.js","../../app/javascript/src/components/RefundsDashboard/columns/utils.jsx","../../app/javascript/src/components/RefundsDashboard/utils.js","../../app/javascript/src/components/RefundsDashboard/List.jsx","../../app/javascript/src/components/RefundsDashboard/TopSection.jsx","../../app/javascript/src/components/RefundsDashboard/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/refunds`, { params: payload });\n\nconst refundsApi = { list };\n\nexport default refundsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport refundsApi from \"apis/refunds\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRefunds = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.REFUNDS_LIST, payload],\n queryFn: () => refundsApi.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 = \"refundsDashboard\";\n\nexport const REFUND_DASHBOARD_TAB = {\n all: \"all\",\n successful: \"successful\",\n declined: \"declined\",\n pending: \"pending\",\n};\n\nexport const SEARCH_PROPS = {\n node: \"identifier,\",\n key: \"search_term\",\n model: \"NeetoPaymentsEngine::Refund,\",\n placeholder: t(\"neetoPayments.common.searchByIdentifier\"),\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.refundAmount\"),\n node: \"amount\",\n type: \"decimal\",\n },\n {\n key: \"payment_amount\",\n label: t(\"neetoPayments.common.paymentAmount\"),\n node: \"payment.amount\",\n model: \"NeetoPaymentsEngine::Payment\",\n type: \"decimal\",\n },\n {\n key: \"refunded_at\",\n label: t(\"neetoPayments.common.refundTime\"),\n node: \"refunded_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, isPresent } 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 style={getTagStyle(processedStatus)}\n label={humanize(\n t(`neetoPayments.tagLabels.${type}.${processedStatus}`)\n )}\n />\n </div>\n </Tooltip>\n );\n});\n\nconst renderDate = date => {\n if (isPresent(date)) {\n return <DateFormat.DateTime {...{ date }} />;\n }\n\n return (\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n );\n};\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: 200,\n render: renderStatus(\"refund\"),\n sorter: true,\n position: 3,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.refundAmount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n width: 203,\n sorter: true,\n render: formatAmount,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.paymentAmount\"),\n dataIndex: [\"payment\", \"amount\"],\n key: \"paymentAmount\",\n width: 210,\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.refundTime\"),\n dataIndex: \"refundedAt\",\n key: \"refundedAt\",\n width: 190,\n render: renderDate,\n sorter: true,\n position: 5,\n },\n {\n title: t(\"neetoPayments.common.paymentIdentifier\"),\n dataIndex: [\"payment\", \"identifier\"],\n key: \"paymentIdentifier\",\n width: 300,\n render: renderIdentifier,\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 = ({ refunds, pageProperties = {} }) =>\n refunds?.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 { useTableConfigurations } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n SORT_DIRECTIONS,\n DEFAULT_SORT_PROPERTIES,\n ASSOCIATED_TABLE_COLUMNS,\n} from \"src/constants\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\nimport { buildDefaultTableColumns, processDataIndex } from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { REFUND_DASHBOARD_TAB } from \"./constants\";\nimport { buildRowData } from \"./utils\";\n\nconst List = ({\n isFetching,\n refunds,\n views,\n payableEntityColumns,\n setSortProperties,\n pageProperties,\n handleTablePagination,\n}) => {\n const { t } = useTranslation();\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n\n const refundsCount = views[tab];\n\n const allColumns = buildDefaultTableColumns({\n payableEntityColumns,\n defaultColumns: getDefaultColumns(),\n isAllTab: tab === REFUND_DASHBOARD_TAB.all,\n });\n\n const { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(`${TABLE_KEYS.REFUNDS_TABLE}-${tab}`, allColumns);\n\n const handleTableChange = (_, __, sorter) => {\n const processedDataIndex = camelToSnakeCase(processDataIndex(sorter.field));\n const sortBy = isPresent(ASSOCIATED_TABLE_COLUMNS[processedDataIndex])\n ? ASSOCIATED_TABLE_COLUMNS[processedDataIndex]\n : processedDataIndex;\n\n setSortProperties(\n isPresent(sorter?.column)\n ? { sortBy, orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\" }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isNotPresent(refunds)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === REFUND_DASHBOARD_TAB.all\n ? t(\"neetoPayments.emptyState.refund\")\n : t(\"neetoPayments.emptyState.refundWithStatus\", {\n status: tab,\n })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={refundsCount > pageProperties?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={customizedColumns}\n currentPageNumber={pageProperties?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching || isTableConfigurationLoading}\n rowData={buildRowData({ refunds, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={refundsCount}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties?.pageSize,\n total: refundsCount,\n }}\n onChange={handleTableChange}\n onColumnHide={({ key }) => hideColumn(key)}\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 { mergeLeft, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { UN_HIDEABLE_COLUMNS } from \"src/constants\";\nimport { TABLE_KEYS } from \"src/constants/tableKeys\";\nimport {\n processDataIndex,\n shouldTabsVisible,\n buildDefaultTableColumns,\n} from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { REFUND_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 = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n\n const refundsCount = views?.[tab];\n const isRefundCountVisible =\n refundsCount > 0 || (refundsCount === 0 && isPresent(filters));\n const isFilterButtonVisible = isRefundCountVisible || 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.refunds\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: searchKeywordProps.placeholder,\n className: \"w-80\",\n }\n }\n />\n {shouldTabsVisible(views) && (\n <Tab>\n {Object.keys(REFUND_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 isRefundCountVisible && (\n <Typography\n className=\"neeto-ui-gray-800 me-2 font-semibold\"\n component=\"h4\"\n >\n {tab === REFUND_DASHBOARD_TAB.all\n ? t(\"neetoPayments.countOf.refund\", { count: refundsCount })\n : t(\"neetoPayments.countOf.refundWithStatus\", {\n count: refundsCount,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData: buildDefaultTableColumns({\n defaultColumns: getDefaultColumns(),\n payableEntityColumns,\n isAllTab: tab === REFUND_DASHBOARD_TAB.all,\n }).map(modify(\"dataIndex\", processDataIndex)),\n fixedColumns: UN_HIDEABLE_COLUMNS,\n tableKey: `${TABLE_KEYS.REFUNDS_TABLE}-${tab}`,\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, useMemo, 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 { useFetchRefunds } from \"hooks/reactQuery/useRefundsApi\";\nimport {\n DASHBOARD_KIND,\n DEFAULT_PAGE_VALUES,\n DEFAULT_SORT_PROPERTIES,\n} from \"src/constants\";\nimport { mergeEnforcedFilters } from \"utils/dashboard\";\n\nimport { REFUND_DASHBOARD_TAB } from \"./constants\";\nimport List from \"./List\";\nimport TopSection from \"./TopSection\";\nimport { buildFilterColumns, buildSearchProps } from \"./utils\";\n\nconst RefundsDashboard = ({\n searchProps,\n payableEntityColumns,\n accountIds,\n enforceFilterValues = [],\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\n const history = useHistory();\n const { tab = REFUND_DASHBOARD_TAB.all } = getQueryParams();\n\n // Merge enforced filters with user-selected filters for API payload\n // Enforced filters are included in API requests but not reflected in URL\n const apiFilters = useMemo(\n () =>\n mergeEnforcedFilters(\n filters,\n enforceFilterValues,\n filterableColumns\n ),\n [filters, enforceFilterValues, filterableColumns]\n );\n\n const payload = {\n tab,\n filters: apiFilters,\n accountIds,\n ...pageProperties,\n ...sortProperties,\n };\n\n const {\n data: { refunds, views } = {},\n isFetching,\n isPending: isRefundsLoading,\n } = useFetchRefunds(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 (isRefundsLoading) {\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 refunds,\n setSortProperties,\n views,\n }}\n />\n <ExportModal\n {...{\n isExportModalOpen,\n setIsExportModalOpen,\n sortProperties,\n }}\n dashboardKind={DASHBOARD_KIND.refunds}\n filters={apiFilters}\n />\n </>\n );\n};\n\nexport default RefundsDashboard;\n"],"names":["list","payload","axios","get","BASE_URL","params","refundsApi","useFetchRefunds","options","useQuery","queryKey","QUERY_KEYS","REFUNDS_LIST","queryFn","REFUND_DASHBOARD_TAB","all","successful","declined","pending","SEARCH_PROPS","node","key","model","placeholder","t","FILTER_COLUMNS","label","type","values","map","toLabelAndValue","PAYMENT_PROVIDERS","TAG_STYLE","initiated","refunded","renderIdentifier","identifier","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","humanize","renderDate","date","isPresent","DateFormat","DateTime","getDefaultColumns","title","dataIndex","width","isHidable","render","sorter","formatAmount","formatCurrency","buildSearchProps","searchProps","searchTerm","mergeDeepWith","concat","mergeLeft","value","trim","buildFilterColumns","payableEntityColumns","reject","isNil","prop","buildRowData","refunds","pageProperties","element","index","id","isEmpty","pageSize","page","List","isFetching","views","setSortProperties","handleTablePagination","useTranslation","tab","getQueryParams","refundsCount","allColumns","buildDefaultTableColumns","defaultColumns","isAllTab","isTableConfigurationLoading","customizedColumns","hideColumn","useTableConfigurations","TABLE_KEYS","REFUNDS_TABLE","handleTableChange","_","__","processedDataIndex","camelToSnakeCase","processDataIndex","field","sortBy","ASSOCIATED_TABLE_COLUMNS","column","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","isFilterPaneOpen","setIsFilterPaneOpen","useState","history","useHistory","isRefundCountVisible","isFilterButtonVisible","handleFiltersChange","startTransition","handleTabChange","queryParams","toCamelCase","newParams","DEFAULT_PAGE_INDEX","page_size","DEFAULT_PAGE_SIZE","push","buildUrl","window","location","pathname","_jsxs","_Fragment","Header","shouldTabsVisible","Tab","Object","keys","item","Item","active","onClick","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","modify","fixedColumns","UN_HIDEABLE_COLUMNS","tableKey","downloadButtonProps","filterProps","columns","isOpen","keyword","setIsOpen","FiltersBar","setIsPaneOpen","RefundsDashboard","accountIds","enforceFilterValues","sortProperties","setPageProperties","DEFAULT_PAGE_VALUES","isExportModalOpen","buildFiltersFromURL","apiFilters","useMemo","mergeEnforcedFilters","data","isPending","isRefundsLoading","enabled","useEffect","Spinner","ExportModal","dashboardKind","DASHBOARD_KIND"],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var neetocist = require('neetocist');
|
|
4
|
+
var ramda = require('ramda');
|
|
5
|
+
var constants = require('./index-C3LUTqjR.js');
|
|
6
|
+
|
|
7
|
+
const buildEnforcedFilter = (enforceFilter, filterableColumns) => {
|
|
8
|
+
const {
|
|
9
|
+
key,
|
|
10
|
+
value,
|
|
11
|
+
rule,
|
|
12
|
+
node
|
|
13
|
+
} = enforceFilter;
|
|
14
|
+
const filterConfig = filterableColumns.find(col => col.key === key);
|
|
15
|
+
if (!filterConfig) return null;
|
|
16
|
+
return {
|
|
17
|
+
conditions: [{
|
|
18
|
+
key,
|
|
19
|
+
node: node || filterConfig.node,
|
|
20
|
+
model: filterConfig.model,
|
|
21
|
+
type: filterConfig.type,
|
|
22
|
+
values: value,
|
|
23
|
+
rule,
|
|
24
|
+
value
|
|
25
|
+
}]
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
const mergeEnforcedFilters = (filters = [], enforceFilterValues = [], filterableColumns = []) => {
|
|
29
|
+
if (ramda.isEmpty(enforceFilterValues)) return filters;
|
|
30
|
+
|
|
31
|
+
// Build full filter objects from enforced values using filterableColumns config
|
|
32
|
+
const enforcedFilters = enforceFilterValues.map(enforceFilter => buildEnforcedFilter(enforceFilter, filterableColumns)).filter(Boolean);
|
|
33
|
+
|
|
34
|
+
// Simply append enforced filters to existing filters
|
|
35
|
+
return ramda.concat(filters, enforcedFilters);
|
|
36
|
+
};
|
|
37
|
+
const processSortProperties = sortProperties => {
|
|
38
|
+
if (sortProperties.sortBy === "payment_amount") {
|
|
39
|
+
return ramda.assoc("sortBy", "neeto_payments_engine_payments.amount", sortProperties);
|
|
40
|
+
}
|
|
41
|
+
if (sortProperties.sortBy === "email" || sortProperties.sortBy === "first_name") {
|
|
42
|
+
return ramda.modify("sortBy", ramda.concat("users."), sortProperties);
|
|
43
|
+
}
|
|
44
|
+
if (sortProperties.sortBy === "payable,ends_at") {
|
|
45
|
+
return ramda.assoc("sortBy", "bookings.ends_at", sortProperties);
|
|
46
|
+
}
|
|
47
|
+
return sortProperties;
|
|
48
|
+
};
|
|
49
|
+
const buildDefaultPageProperties = tabs => tabs.reduce((pageProperties, tab) => ({
|
|
50
|
+
...pageProperties,
|
|
51
|
+
[tab]: constants.DEFAULT_PAGE_VALUES
|
|
52
|
+
}), {});
|
|
53
|
+
const buildPayload = ({
|
|
54
|
+
tab,
|
|
55
|
+
filters,
|
|
56
|
+
pageProperties,
|
|
57
|
+
sortProperties = {},
|
|
58
|
+
payoutId = null
|
|
59
|
+
}) => ({
|
|
60
|
+
tab: neetocist.camelToSnakeCase(tab),
|
|
61
|
+
payoutId,
|
|
62
|
+
page: pageProperties[tab]?.page,
|
|
63
|
+
pageSize: pageProperties[tab]?.pageSize,
|
|
64
|
+
filters,
|
|
65
|
+
...processSortProperties(sortProperties)
|
|
66
|
+
});
|
|
67
|
+
const buildRowData = ({
|
|
68
|
+
data,
|
|
69
|
+
pageProperties = {},
|
|
70
|
+
tab = "all"
|
|
71
|
+
}) => data.map((element, index) => ({
|
|
72
|
+
...element,
|
|
73
|
+
payable: element.payable,
|
|
74
|
+
identifier: element,
|
|
75
|
+
id: ramda.isEmpty(pageProperties) ? index + 1 : pageProperties[tab]?.pageSize * (pageProperties[tab]?.page - 1) + index + 1
|
|
76
|
+
}));
|
|
77
|
+
|
|
78
|
+
exports.buildDefaultPageProperties = buildDefaultPageProperties;
|
|
79
|
+
exports.buildPayload = buildPayload;
|
|
80
|
+
exports.buildRowData = buildRowData;
|
|
81
|
+
exports.mergeEnforcedFilters = mergeEnforcedFilters;
|
|
82
|
+
//# sourceMappingURL=dashboard-CKAjPwyz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-CKAjPwyz.js","sources":["../../app/javascript/src/utils/dashboard.js"],"sourcesContent":["import { camelToSnakeCase } from \"neetocist\";\nimport { assoc, concat, isEmpty, modify } from \"ramda\";\n\nconst buildEnforcedFilter = (enforceFilter, filterableColumns) => {\n const { key, value, rule, node } = enforceFilter;\n const filterConfig = filterableColumns.find(col => col.key === key);\n\n if (!filterConfig) return null;\n\n return {\n conditions: [\n {\n key,\n node: node || filterConfig.node,\n model: filterConfig.model,\n type: filterConfig.type,\n values: value,\n rule,\n value,\n },\n ],\n };\n};\n\nexport const mergeEnforcedFilters = (\n filters = [],\n enforceFilterValues = [],\n filterableColumns = []\n) => {\n if (isEmpty(enforceFilterValues)) return filters;\n\n // Build full filter objects from enforced values using filterableColumns config\n const enforcedFilters = enforceFilterValues\n .map(enforceFilter => buildEnforcedFilter(enforceFilter, filterableColumns))\n .filter(Boolean);\n\n // Simply append enforced filters to existing filters\n return concat(filters, enforcedFilters);\n};\n\nimport { DEFAULT_PAGE_VALUES } from \"src/constants\";\n\nconst processSortProperties = sortProperties => {\n if (sortProperties.sortBy === \"payment_amount\") {\n return assoc(\n \"sortBy\",\n \"neeto_payments_engine_payments.amount\",\n sortProperties\n );\n }\n\n if (\n sortProperties.sortBy === \"email\" ||\n sortProperties.sortBy === \"first_name\"\n ) {\n return modify(\"sortBy\", concat(\"users.\"), sortProperties);\n }\n\n if (sortProperties.sortBy === \"payable,ends_at\") {\n return assoc(\"sortBy\", \"bookings.ends_at\", sortProperties);\n }\n\n return sortProperties;\n};\n\nexport const buildDefaultPageProperties = tabs =>\n tabs.reduce(\n (pageProperties, tab) => ({\n ...pageProperties,\n [tab]: DEFAULT_PAGE_VALUES,\n }),\n {}\n );\n\nexport const buildPayload = ({\n tab,\n filters,\n pageProperties,\n sortProperties = {},\n payoutId = null,\n}) => ({\n tab: camelToSnakeCase(tab),\n payoutId,\n page: pageProperties[tab]?.page,\n pageSize: pageProperties[tab]?.pageSize,\n filters,\n ...processSortProperties(sortProperties),\n});\n\nexport const buildRowData = ({ data, pageProperties = {}, tab = \"all\" }) =>\n data.map((element, index) => ({\n ...element,\n payable: element.payable,\n identifier: element,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties[tab]?.pageSize * (pageProperties[tab]?.page - 1) +\n index +\n 1,\n }));\n"],"names":["buildEnforcedFilter","enforceFilter","filterableColumns","key","value","rule","node","filterConfig","find","col","conditions","model","type","values","mergeEnforcedFilters","filters","enforceFilterValues","isEmpty","enforcedFilters","map","filter","Boolean","concat","processSortProperties","sortProperties","sortBy","assoc","modify","buildDefaultPageProperties","tabs","reduce","pageProperties","tab","DEFAULT_PAGE_VALUES","buildPayload","payoutId","camelToSnakeCase","page","pageSize","buildRowData","data","element","index","payable","identifier","id"],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -36,17 +36,18 @@ require('@bigbinary/neeto-molecules/Header');
|
|
|
36
36
|
require('@bigbinary/neeto-molecules/SubHeader');
|
|
37
37
|
require('@bigbinary/neetoui');
|
|
38
38
|
require('react-i18next');
|
|
39
|
-
require('./
|
|
39
|
+
require('./useExportsApi-DJOI2Dxh.js');
|
|
40
40
|
require('@tanstack/react-query');
|
|
41
41
|
require('@tanstack/react-query-devtools');
|
|
42
42
|
require('neetocommons/constants');
|
|
43
43
|
require('react/jsx-runtime');
|
|
44
44
|
require('axios');
|
|
45
|
-
require('ramda');
|
|
46
45
|
require('./exportChannel-BL2RGGhP.js');
|
|
47
46
|
require('neetocommons/utils');
|
|
48
47
|
require('@bigbinary/neeto-icons');
|
|
48
|
+
require('ramda');
|
|
49
49
|
require('react-router-dom');
|
|
50
|
+
require('./dashboard-CKAjPwyz.js');
|
|
50
51
|
require('./renderFunctions-ghFUoYiM.js');
|
|
51
52
|
require('@bigbinary/neeto-molecules/DateFormat');
|
|
52
53
|
require('@bigbinary/neeto-molecules/CopyToClipboardButton');
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -6,8 +6,6 @@ var constants = require('neetocommons/constants');
|
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
var axios = require('axios');
|
|
8
8
|
var constants$1 = require('./index-C3LUTqjR.js');
|
|
9
|
-
var neetocist = require('neetocist');
|
|
10
|
-
var ramda = require('ramda');
|
|
11
9
|
|
|
12
10
|
/* eslint-disable @bigbinary/neeto/api-connector-name-should-match-filename */
|
|
13
11
|
/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */
|
|
@@ -47,50 +45,6 @@ const useExportData = () => reactQuery.useMutation({
|
|
|
47
45
|
mutationFn: exportsApi.exportData
|
|
48
46
|
});
|
|
49
47
|
|
|
50
|
-
const processSortProperties = sortProperties => {
|
|
51
|
-
if (sortProperties.sortBy === "payment_amount") {
|
|
52
|
-
return ramda.assoc("sortBy", "neeto_payments_engine_payments.amount", sortProperties);
|
|
53
|
-
}
|
|
54
|
-
if (sortProperties.sortBy === "email" || sortProperties.sortBy === "first_name") {
|
|
55
|
-
return ramda.modify("sortBy", ramda.concat("users."), sortProperties);
|
|
56
|
-
}
|
|
57
|
-
if (sortProperties.sortBy === "payable,ends_at") {
|
|
58
|
-
return ramda.assoc("sortBy", "bookings.ends_at", sortProperties);
|
|
59
|
-
}
|
|
60
|
-
return sortProperties;
|
|
61
|
-
};
|
|
62
|
-
const buildDefaultPageProperties = tabs => tabs.reduce((pageProperties, tab) => ({
|
|
63
|
-
...pageProperties,
|
|
64
|
-
[tab]: constants$1.DEFAULT_PAGE_VALUES
|
|
65
|
-
}), {});
|
|
66
|
-
const buildPayload = ({
|
|
67
|
-
tab,
|
|
68
|
-
filters,
|
|
69
|
-
pageProperties,
|
|
70
|
-
sortProperties = {},
|
|
71
|
-
payoutId = null
|
|
72
|
-
}) => ({
|
|
73
|
-
tab: neetocist.camelToSnakeCase(tab),
|
|
74
|
-
payoutId,
|
|
75
|
-
page: pageProperties[tab]?.page,
|
|
76
|
-
pageSize: pageProperties[tab]?.pageSize,
|
|
77
|
-
filters,
|
|
78
|
-
...processSortProperties(sortProperties)
|
|
79
|
-
});
|
|
80
|
-
const buildRowData = ({
|
|
81
|
-
data,
|
|
82
|
-
pageProperties = {},
|
|
83
|
-
tab = "all"
|
|
84
|
-
}) => data.map((element, index) => ({
|
|
85
|
-
...element,
|
|
86
|
-
payable: element.payable,
|
|
87
|
-
identifier: element,
|
|
88
|
-
id: ramda.isEmpty(pageProperties) ? index + 1 : pageProperties[tab]?.pageSize * (pageProperties[tab]?.page - 1) + index + 1
|
|
89
|
-
}));
|
|
90
|
-
|
|
91
|
-
exports.buildDefaultPageProperties = buildDefaultPageProperties;
|
|
92
|
-
exports.buildPayload = buildPayload;
|
|
93
|
-
exports.buildRowData = buildRowData;
|
|
94
48
|
exports.useExportData = useExportData;
|
|
95
49
|
exports.withReactQuery = withReactQuery;
|
|
96
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=useExportsApi-DJOI2Dxh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExportsApi-DJOI2Dxh.js","sources":["../../app/javascript/src/apis/queryClient.js","../../app/javascript/src/components/Common/withReactQuery.jsx","../../app/javascript/src/apis/stripe/holdables/exports.js","../../app/javascript/src/hooks/reactQuery/stripe/useExportsApi.js"],"sourcesContent":["/* eslint-disable @bigbinary/neeto/api-connector-name-should-match-filename */\n/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport {\n QueryCache,\n QueryClient,\n keepPreviousData,\n} from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nconst queryClient = new QueryClient({\n queryCache: new QueryCache(),\n defaultOptions: {\n queries: {\n staleTime: DEFAULT_STALE_TIME,\n placeholderData: keepPreviousData,\n },\n },\n});\n\nexport default queryClient;\n","/* eslint-disable sonarjs/prefer-immediate-return */\n/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport { ReactQueryDevtools } from \"@tanstack/react-query-devtools\";\n\nimport queryClient from \"apis/queryClient\";\n\nconst withReactQuery = Component => {\n const QueryWrapper = props => (\n <QueryClientProvider client={queryClient}>\n <Component {...props} />\n <ReactQueryDevtools initialIsOpen={false} position=\"bottom\" />\n </QueryClientProvider>\n );\n\n return QueryWrapper;\n};\n\nexport default withReactQuery;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst exportData = payload =>\n axios.post(`${BASE_URL}/api/v1/stripe/exports`, payload, {\n showToastr: false,\n });\n\nconst exportsApi = { exportData };\n\nexport default exportsApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport exportsApi from \"apis/stripe/holdables/exports\";\n\nconst useExportData = () => useMutation({ mutationFn: exportsApi.exportData });\n\nexport { useExportData };\n"],"names":["queryClient","QueryClient","queryCache","QueryCache","defaultOptions","queries","staleTime","DEFAULT_STALE_TIME","placeholderData","keepPreviousData","withReactQuery","Component","QueryWrapper","props","_jsxs","QueryClientProvider","client","children","_jsx","ReactQueryDevtools","initialIsOpen","position","exportData","payload","axios","post","BASE_URL","showToastr","exportsApi","useExportData","useMutation","mutationFn"],"mappings":";;;;;;;;;AAAA;AACA;AAQA,MAAMA,WAAW,GAAG,IAAIC,sBAAW,CAAC;AAClCC,EAAAA,UAAU,EAAE,IAAIC,qBAAU,EAAE;AAC5BC,EAAAA,cAAc,EAAE;AACdC,IAAAA,OAAO,EAAE;AACPC,MAAAA,SAAS,EAAEC,4BAAkB;AAC7BC,MAAAA,eAAe,EAAEC;AACnB;AACF;AACF,CAAC,CAAC;;ACjBF;AACA;AAMMC,MAAAA,cAAc,GAAGC,SAAS,IAAI;AAClC,EAAA,MAAMC,YAAY,GAAGC,KAAK,iBACxBC,eAAA,CAACC,8BAAmB,EAAA;AAACC,IAAAA,MAAM,EAAEhB,WAAY;IAAAiB,QAAA,EAAA,cACvCC,cAAA,CAACP,SAAS,EAAA;MAAA,GAAKE;AAAK,KAAG,CAAC,eACxBK,cAAA,CAACC,qCAAkB,EAAA;AAACC,MAAAA,aAAa,EAAE,KAAM;AAACC,MAAAA,QAAQ,EAAC;AAAQ,KAAE,CAAC;AAAA,GAC3C,CACtB;AAED,EAAA,OAAOT,YAAY;AACrB;;ACZA,MAAMU,UAAU,GAAGC,OAAO,IACxBC,KAAK,CAACC,IAAI,CAAC,CAAGC,EAAAA,oBAAQ,CAAwB,sBAAA,CAAA,EAAEH,OAAO,EAAE;AACvDI,EAAAA,UAAU,EAAE;AACd,CAAC,CAAC;AAEJ,MAAMC,UAAU,GAAG;AAAEN,EAAAA;AAAW,CAAC;;ACLjC,MAAMO,aAAa,GAAGA,MAAMC,sBAAW,CAAC;EAAEC,UAAU,EAAEH,UAAU,CAACN;AAAW,CAAC;;;;;"}
|