@bigbinary/neeto-payments-frontend 3.3.31 → 3.3.32

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.
Files changed (133) hide show
  1. package/dist/AccountsDashboard.js +545 -0
  2. package/dist/AccountsDashboard.js.map +1 -0
  3. package/dist/AdminCancelRecurringPaymentButton.js +79 -0
  4. package/dist/AdminCancelRecurringPaymentButton.js.map +1 -0
  5. package/dist/ConfirmUpiPaymentButton.js +151 -0
  6. package/dist/ConfirmUpiPaymentButton.js.map +1 -0
  7. package/dist/CopyButtonWrapper-SoJkwX-d.js +27 -0
  8. package/dist/CopyButtonWrapper-SoJkwX-d.js.map +1 -0
  9. package/dist/CustomerCancelRecurringPaymentForm.js +111 -0
  10. package/dist/CustomerCancelRecurringPaymentForm.js.map +1 -0
  11. package/dist/ExportModal-DCGDM_Fa.js +131 -0
  12. package/dist/ExportModal-DCGDM_Fa.js.map +1 -0
  13. package/dist/ManualUpiPaymentConfirmButton.js +188 -0
  14. package/dist/ManualUpiPaymentConfirmButton.js.map +1 -0
  15. package/dist/PaymentKindRestrictionAlert.js +39 -0
  16. package/dist/PaymentKindRestrictionAlert.js.map +1 -0
  17. package/dist/PaymentsDashboard.js +586 -0
  18. package/dist/PaymentsDashboard.js.map +1 -0
  19. package/dist/PayoutsDashboard.js +559 -0
  20. package/dist/PayoutsDashboard.js.map +1 -0
  21. package/dist/PayoutsPage.js +162 -0
  22. package/dist/PayoutsPage.js.map +1 -0
  23. package/dist/RazorpayPaymentButton.js +145 -0
  24. package/dist/RazorpayPaymentButton.js.map +1 -0
  25. package/dist/RecurringPaymentSettings.js +132 -0
  26. package/dist/RecurringPaymentSettings.js.map +1 -0
  27. package/dist/RefundsDashboard.js +531 -0
  28. package/dist/RefundsDashboard.js.map +1 -0
  29. package/dist/SplitTransfersDashboard.js +1119 -0
  30. package/dist/SplitTransfersDashboard.js.map +1 -0
  31. package/dist/TaxesDashboard.js +411 -0
  32. package/dist/TaxesDashboard.js.map +1 -0
  33. package/dist/UpiConnect.js +171 -0
  34. package/dist/UpiConnect.js.map +1 -0
  35. package/dist/UpiPayment.js +120 -0
  36. package/dist/UpiPayment.js.map +1 -0
  37. package/dist/buildStripeTransactionLink.js +11 -0
  38. package/dist/buildStripeTransactionLink.js.map +1 -0
  39. package/dist/cjs/AccountsDashboard.js +547 -0
  40. package/dist/cjs/AccountsDashboard.js.map +1 -0
  41. package/dist/cjs/AdminCancelRecurringPaymentButton.js +81 -0
  42. package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +1 -0
  43. package/dist/cjs/ConfirmUpiPaymentButton.js +172 -0
  44. package/dist/cjs/ConfirmUpiPaymentButton.js.map +1 -0
  45. package/dist/cjs/CopyButtonWrapper-Ds1k64E0.js +30 -0
  46. package/dist/cjs/CopyButtonWrapper-Ds1k64E0.js.map +1 -0
  47. package/dist/cjs/CustomerCancelRecurringPaymentForm.js +113 -0
  48. package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +1 -0
  49. package/dist/cjs/ExportModal-BZWbo5JF.js +133 -0
  50. package/dist/cjs/ExportModal-BZWbo5JF.js.map +1 -0
  51. package/dist/cjs/ManualUpiPaymentConfirmButton.js +209 -0
  52. package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -0
  53. package/dist/cjs/PaymentKindRestrictionAlert.js +41 -0
  54. package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
  55. package/dist/cjs/PaymentsDashboard.js +588 -0
  56. package/dist/cjs/PaymentsDashboard.js.map +1 -0
  57. package/dist/cjs/PayoutsDashboard.js +561 -0
  58. package/dist/cjs/PayoutsDashboard.js.map +1 -0
  59. package/dist/cjs/PayoutsPage.js +164 -0
  60. package/dist/cjs/PayoutsPage.js.map +1 -0
  61. package/dist/cjs/RazorpayPaymentButton.js +147 -0
  62. package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
  63. package/dist/cjs/RecurringPaymentSettings.js +153 -0
  64. package/dist/cjs/RecurringPaymentSettings.js.map +1 -0
  65. package/dist/cjs/RefundsDashboard.js +533 -0
  66. package/dist/cjs/RefundsDashboard.js.map +1 -0
  67. package/dist/cjs/SplitTransfersDashboard.js +1140 -0
  68. package/dist/cjs/SplitTransfersDashboard.js.map +1 -0
  69. package/dist/cjs/TaxesDashboard.js +432 -0
  70. package/dist/cjs/TaxesDashboard.js.map +1 -0
  71. package/dist/cjs/UpiConnect.js +192 -0
  72. package/dist/cjs/UpiConnect.js.map +1 -0
  73. package/dist/cjs/UpiPayment.js +141 -0
  74. package/dist/cjs/UpiPayment.js.map +1 -0
  75. package/dist/cjs/buildStripeTransactionLink.js +13 -0
  76. package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
  77. package/dist/cjs/constants.js +32 -0
  78. package/dist/cjs/constants.js.map +1 -0
  79. package/dist/cjs/dashboard-H1ov-J3v.js +112 -0
  80. package/dist/cjs/dashboard-H1ov-J3v.js.map +1 -0
  81. package/dist/cjs/exportChannel-BsZ3fusx.js +24 -0
  82. package/dist/cjs/exportChannel-BsZ3fusx.js.map +1 -0
  83. package/dist/cjs/getAmountInSmallestCurrencyUnit.js +13 -0
  84. package/dist/cjs/getAmountInSmallestCurrencyUnit.js.map +1 -0
  85. package/dist/cjs/index-BYewZJN8.js +638 -0
  86. package/dist/cjs/index-BYewZJN8.js.map +1 -0
  87. package/dist/cjs/index.js +114 -0
  88. package/dist/cjs/index.js.map +1 -0
  89. package/dist/cjs/queryConstants-DGg4cX3r.js +29 -0
  90. package/dist/cjs/queryConstants-DGg4cX3r.js.map +1 -0
  91. package/dist/cjs/renderFunctions-CovxUt9o.js +56 -0
  92. package/dist/cjs/renderFunctions-CovxUt9o.js.map +1 -0
  93. package/dist/cjs/stripe.esm-CrNYjPcC.js +132 -0
  94. package/dist/cjs/stripe.esm-CrNYjPcC.js.map +1 -0
  95. package/dist/cjs/usePaymentApi-CcdKGxJD.js +39 -0
  96. package/dist/cjs/usePaymentApi-CcdKGxJD.js.map +1 -0
  97. package/dist/cjs/usePaymentsApi-Dz6uXFhx.js +41 -0
  98. package/dist/cjs/usePaymentsApi-Dz6uXFhx.js.map +1 -0
  99. package/dist/cjs/usePlatformApi-DB_N-Ua_.js +84 -0
  100. package/dist/cjs/usePlatformApi-DB_N-Ua_.js.map +1 -0
  101. package/dist/cjs/useRazorpayPayment.js +112 -0
  102. package/dist/cjs/useRazorpayPayment.js.map +1 -0
  103. package/dist/cjs/useStripePromise.js +57 -0
  104. package/dist/cjs/useStripePromise.js.map +1 -0
  105. package/dist/constants.js +7 -0
  106. package/dist/constants.js.map +1 -0
  107. package/dist/dashboard-D6ZJpJ3n.js +106 -0
  108. package/dist/dashboard-D6ZJpJ3n.js.map +1 -0
  109. package/dist/exportChannel-CViICC6x.js +22 -0
  110. package/dist/exportChannel-CViICC6x.js.map +1 -0
  111. package/dist/getAmountInSmallestCurrencyUnit.js +11 -0
  112. package/dist/getAmountInSmallestCurrencyUnit.js.map +1 -0
  113. package/dist/index-ER2sofJn.js +604 -0
  114. package/dist/index-ER2sofJn.js.map +1 -0
  115. package/dist/index.js +90 -0
  116. package/dist/index.js.map +1 -0
  117. package/dist/queryConstants-mgjK5Hgk.js +27 -0
  118. package/dist/queryConstants-mgjK5Hgk.js.map +1 -0
  119. package/dist/renderFunctions-Cmo1gJ6o.js +52 -0
  120. package/dist/renderFunctions-Cmo1gJ6o.js.map +1 -0
  121. package/dist/stripe.esm-DuZ_gsAa.js +130 -0
  122. package/dist/stripe.esm-DuZ_gsAa.js.map +1 -0
  123. package/dist/usePaymentApi-DBEceBVs.js +37 -0
  124. package/dist/usePaymentApi-DBEceBVs.js.map +1 -0
  125. package/dist/usePaymentsApi-K6rhWzss.js +38 -0
  126. package/dist/usePaymentsApi-K6rhWzss.js.map +1 -0
  127. package/dist/usePlatformApi-36ZLH1ga.js +79 -0
  128. package/dist/usePlatformApi-36ZLH1ga.js.map +1 -0
  129. package/dist/useRazorpayPayment.js +110 -0
  130. package/dist/useRazorpayPayment.js.map +1 -0
  131. package/dist/useStripePromise.js +55 -0
  132. package/dist/useStripePromise.js.map +1 -0
  133. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentsDashboard.js","sources":["../../app/javascript/src/apis/payments.js","../../app/javascript/src/hooks/reactQuery/usePaymentsApi.js","../../app/javascript/src/components/PaymentsDashboard/constants.js","../../app/javascript/src/components/PaymentsDashboard/columns/utils.jsx","../../app/javascript/src/components/PaymentsDashboard/utils.js","../../app/javascript/src/components/PaymentsDashboard/List.jsx","../../app/javascript/src/components/PaymentsDashboard/TopSection.jsx","../../app/javascript/src/components/PaymentsDashboard/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v1/payments`, { params: payload });\n\nconst paymentsApi = { list };\n\nexport default paymentsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport paymentsApi from \"apis/payments\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchPayments = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.PAYMENTS_LIST, payload],\n queryFn: () => paymentsApi.list(payload),\n ...options,\n });\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { map } from \"ramda\";\n\nimport { PAYMENT_PROVIDERS } from \"src/constants\";\n\nexport const COLUMNS_STORAGE_KEY = \"paymentsDashboard\";\n\nexport const PAYMENT_DASHBOARD_TAB = {\n all: \"all\",\n successful: \"successful\",\n declined: \"declined\",\n refunded: \"refunded\",\n pending: \"pending\",\n};\n\nexport const SEARCH_PROPS = {\n node: \"identifier,\",\n key: \"search_term\",\n model: \"NeetoPaymentsEngine::Payment,\",\n};\n\nexport const FILTER_COLUMNS = [\n {\n key: \"payment_provider\",\n label: t(\"neetoPayments.common.paymentProvider\"),\n node: \"payment_provider\",\n type: \"single_option\",\n values: [\n ...map(toLabelAndValue, PAYMENT_PROVIDERS),\n { label: t(\"neetoPayments.common.upi\").toUpperCase(), value: \"eupi\" },\n ],\n },\n {\n key: \"amount\",\n label: t(\"neetoPayments.common.amount\"),\n node: \"amount\",\n type: \"decimal\",\n },\n {\n key: \"payment_time\",\n label: t(\"neetoPayments.common.paymentTime\"),\n node: \"payment_at\",\n type: \"date\",\n },\n];\n\nexport const TAG_STYLE = {\n initiated: \"info\",\n declined: \"danger\",\n successful: \"success\",\n refunded: \"secondary\",\n cancelled: \"secondary\",\n pending: \"warning\",\n paid: \"success\",\n failed: \"danger\",\n in_transit: \"info\",\n};\n\nexport const PAYMENT_PROVIDER = { eupi: \"eupi\" };\n\nexport const DEFAULT_SORT_PROPERTIES = {\n sortBy: \"payment_at\",\n orderBy: \"DESC\",\n};\n","import { t } from \"i18next\";\nimport { snakeToCamelCase, humanize, isPresent, isNotPresent } from \"neetocist\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Tag, Tooltip, Typography } from \"neetoui\";\nimport { concat, 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, PAYMENT_PROVIDER } 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 if (isNotPresent(status)) {\n return (\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n );\n }\n\n const processedStatus = preProcessStatus(type, status, record);\n\n return (\n <Tooltip\n content={t(`neetoPayments.tooltipContent.${type}.${processedStatus}`)}\n position=\"top\"\n >\n <div className=\"w-fit\">\n <Tag\n label={t(`neetoPayments.tagLabels.${type}.${processedStatus}`)}\n style={getTagStyle(processedStatus)}\n />\n </div>\n </Tooltip>\n );\n});\n\nconst renderPaymentProvider = paymentProvider => {\n if (paymentProvider === PAYMENT_PROVIDER.eupi) {\n return t(\"neetoPayments.common.upi\");\n }\n\n return humanize(paymentProvider);\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\nconst renderPayoutTraceId = value => {\n if (isPresent(value)) return value;\n\n return (\n <Typography style=\"body2\">\n {t(\"neetoPayments.common.notAvailable\")}\n </Typography>\n );\n};\n\nexport const getDefaultColumns = dashboardKind => {\n let columns = [\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: renderPaymentProvider,\n position: 2,\n sorter: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 150,\n render: renderStatus(\"transaction\"),\n sorter: true,\n position: 3,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.totalAmount\"),\n dataIndex: \"amount\",\n key: \"amount\",\n width: 200,\n sorter: true,\n render: formatAmount,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.taxAmount\"),\n dataIndex: \"taxAmount\",\n key: \"taxAmount\",\n width: 200,\n sorter: true,\n render: formatAmount,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.currency\"),\n dataIndex: \"currency\",\n key: \"currency\",\n width: 180,\n sorter: true,\n render: formatCurrency,\n position: 4,\n },\n {\n title: t(\"neetoPayments.common.paymentTime\"),\n dataIndex: \"paymentAt\",\n key: \"paymentTime\",\n width: 190,\n render: renderDate,\n sorter: true,\n position: 6,\n },\n ];\n\n if (dashboardKind === \"connected\") {\n columns = concat(\n [\n {\n title: t(\"neetoPayments.common.payoutStatus\"),\n dataIndex: [\"payout\", \"status\"],\n key: \"payoutStatus\",\n width: 200,\n render: renderStatus(\"payout\"),\n sorter: false,\n position: 7,\n },\n {\n title: t(\"neetoPayments.common.payoutArrivalDate\"),\n dataIndex: [\"payout\", \"arrivalDate\"],\n key: \"payoutArrivalDate\",\n width: 235,\n render: renderDate,\n sorter: true,\n position: 8,\n },\n {\n title: t(\"neetoPayments.common.payoutTraceId\"),\n dataIndex: [\"payout\", \"traceId\", \"value\"],\n key: \"payoutTraceId\",\n width: 205,\n render: renderPayoutTraceId,\n sorter: false,\n position: 9,\n },\n ],\n columns\n );\n }\n\n return columns;\n};\n","import {\n map,\n prop,\n concat,\n mergeDeepWith,\n mergeLeft,\n isNil,\n reject,\n isEmpty,\n} from \"ramda\";\n\nimport { FILTER_COLUMNS, SEARCH_PROPS } from \"./constants\";\n\nexport const buildSearchProps = (searchProps, searchTerm) =>\n mergeDeepWith(\n concat,\n SEARCH_PROPS,\n mergeLeft({ value: searchTerm.trim() }, searchProps)\n );\n\nexport const buildFilterColumns = (payableEntityColumns = []) =>\n reject(\n isNil,\n concat(FILTER_COLUMNS, map(prop(\"filterProps\"), payableEntityColumns))\n );\n\nexport const buildRowData = ({ payments, pageProperties = {} }) =>\n payments?.map((element, index) => ({\n ...element,\n id: isEmpty(pageProperties)\n ? index + 1\n : pageProperties.pageSize * (pageProperties.page - 1) + index + 1,\n }));\n","import { camelToSnakeCase, isNotPresent, isPresent } from \"neetocist\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { useHiddenColumns } from \"neetomolecules/Columns\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SORT_DIRECTIONS } from \"src/constants\";\nimport {\n buildDefaultTableColumns,\n getUniquePaymentProviders,\n processDataIndex,\n} from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport {\n COLUMNS_STORAGE_KEY,\n PAYMENT_DASHBOARD_TAB,\n DEFAULT_SORT_PROPERTIES,\n} from \"./constants\";\nimport { buildRowData } from \"./utils\";\n\nconst List = ({\n dashboardKind,\n isFetching,\n payments,\n payableEntityColumns,\n setSortProperties,\n pageProperties,\n handleTablePagination,\n views,\n}) => {\n const { t } = useTranslation();\n\n const { tab = PAYMENT_DASHBOARD_TAB.all } = getQueryParams();\n const { hideColumn, hiddenColumns = [] } =\n useHiddenColumns(COLUMNS_STORAGE_KEY);\n\n const paymentsCount = views[tab];\n const isMultipleProvidersExist =\n getUniquePaymentProviders(payments ?? []).length > 1;\n\n const visibleColumns = buildDefaultTableColumns({\n hiddenColumns,\n payableEntityColumns,\n isMultipleProvidersExist,\n defaultColumns: getDefaultColumns(dashboardKind),\n isAllTab: tab === PAYMENT_DASHBOARD_TAB.all,\n });\n\n const handleColumnHiding = column => {\n hideColumn(processDataIndex(column.dataIndex));\n };\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(processDataIndex(sorter.field)),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isNotPresent(payments)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === PAYMENT_DASHBOARD_TAB.all\n ? t(\"neetoPayments.emptyState.payments\")\n : t(\"neetoPayments.emptyState.paymentsWithStatus\", {\n status: tab,\n })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={paymentsCount > pageProperties?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={visibleColumns}\n currentPageNumber={pageProperties?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching}\n rowData={buildRowData({ payments, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={paymentsCount}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties?.pageSize,\n total: paymentsCount,\n }}\n onChange={handleTableChange}\n onColumnHide={handleColumnHiding}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { startTransition, useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { concat, mergeLeft, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { UN_HIDEABLE_COLUMNS } from \"src/constants\";\nimport { processDataIndex, shouldTabsVisible } from \"utils\";\n\nimport { getDefaultColumns } from \"./columns/utils\";\nimport { COLUMNS_STORAGE_KEY, PAYMENT_DASHBOARD_TAB } from \"./constants\";\n\nconst TopSection = ({\n views,\n filters,\n setFilters,\n filterableColumns,\n searchKeywordProps,\n payableEntityColumns,\n setIsExportModalOpen,\n}) => {\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n\n const { t } = useTranslation();\n const history = useHistory();\n const { tab = PAYMENT_DASHBOARD_TAB.all } = getQueryParams();\n\n const paymentsCount = views[tab];\n const isPaymentCountVisible =\n paymentsCount > 0 || (paymentsCount === 0 && isPresent(filters));\n const isFilterButtonVisible = isPaymentCountVisible || isPresent(filters);\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n const handleTabChange = tab => {\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: DEFAULT_PAGE_INDEX,\n page_size: DEFAULT_PAGE_SIZE,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.payments\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: searchKeywordProps.placeholder,\n className:\n searchKeywordProps.placeholder.length > 30 ? \"w-96\" : \"w-64\",\n }\n }\n />\n {shouldTabsVisible(views) && (\n <Tab>\n {Object.keys(PAYMENT_DASHBOARD_TAB).map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"my-4\"\n leftActionBlock={\n isPaymentCountVisible && (\n <Typography\n className=\"neeto-ui-gray-800 mr-2 font-semibold\"\n component=\"h4\"\n >\n {tab === PAYMENT_DASHBOARD_TAB.all\n ? t(\"neetoPayments.countOf.payment\", { count: paymentsCount })\n : t(\"neetoPayments.countOf.paymentWithStatus\", {\n count: paymentsCount,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData: concat(\n getDefaultColumns(),\n payableEntityColumns\n ).map(modify(\"dataIndex\", processDataIndex)),\n fixedColumns: UN_HIDEABLE_COLUMNS,\n localStorageKey: COLUMNS_STORAGE_KEY,\n }}\n downloadButtonProps={{\n onClick: () => setIsExportModalOpen(true),\n }}\n filterProps={{\n columns: filterableColumns,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )\n }\n />\n <FiltersBar\n columns={filterableColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n </>\n );\n};\n\nexport default TopSection;\n","import { useEffect, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { Spinner } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport ExportModal from \"components/Common/ExportModal\";\nimport { useFetchPayments } from \"hooks/reactQuery/usePaymentsApi\";\nimport { DEFAULT_PAGE_VALUES, DASHBOARD_KIND } from \"src/constants\";\n\nimport { PAYMENT_DASHBOARD_TAB, DEFAULT_SORT_PROPERTIES } from \"./constants\";\nimport List from \"./List\";\nimport TopSection from \"./TopSection\";\nimport { buildFilterColumns, buildSearchProps } from \"./utils\";\n\nconst PaymentsDashboard = ({\n searchProps,\n payableEntityColumns,\n holdableIds = {},\n dashboardKind = \"platform\",\n}) => {\n const { searchTerm = \"\" } = getQueryParams();\n const filterableColumns = buildFilterColumns(payableEntityColumns);\n const searchKeywordProps = buildSearchProps(searchProps, searchTerm);\n\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const [pageProperties, setPageProperties] = useState(DEFAULT_PAGE_VALUES);\n const [isExportModalOpen, setIsExportModalOpen] = useState(false);\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...filterableColumns, searchKeywordProps])\n );\n const history = useHistory();\n const { tab = PAYMENT_DASHBOARD_TAB.all } = getQueryParams();\n const payload = {\n dashboardKind,\n holdableIds,\n tab,\n filters,\n ...pageProperties,\n ...sortProperties,\n };\n\n const {\n data: { payments, views } = {},\n isFetching,\n isPending: isPaymentsLoaidng,\n } = useFetchPayments(payload, { enabled: true });\n\n const handleTablePagination = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties({ page, pageSize });\n };\n\n useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\n\n if (isPaymentsLoaidng) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <TopSection\n {...{\n filterableColumns,\n filters,\n pageProperties,\n payableEntityColumns,\n searchKeywordProps,\n setFilters,\n setIsExportModalOpen,\n setPageProperties,\n setSortProperties,\n views,\n }}\n />\n <List\n {...{\n dashboardKind,\n handleTablePagination,\n isFetching,\n pageProperties,\n payableEntityColumns,\n payments,\n setSortProperties,\n views,\n }}\n />\n <ExportModal\n {...{\n filters,\n holdableIds,\n isExportModalOpen,\n setIsExportModalOpen,\n sortProperties,\n }}\n dashboardKind={DASHBOARD_KIND.payments}\n />\n </>\n );\n};\n\nexport default PaymentsDashboard;\n"],"names":["list","payload","axios","get","concat","BASE_URL","params","paymentsApi","useFetchPayments","arguments","length","undefined","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","PAYMENTS_LIST","queryFn","COLUMNS_STORAGE_KEY","PAYMENT_DASHBOARD_TAB","all","successful","declined","refunded","pending","SEARCH_PROPS","node","key","model","FILTER_COLUMNS","label","t","type","values","_toConsumableArray","map","toLabelAndValue","PAYMENT_PROVIDERS","toUpperCase","value","TAG_STYLE","initiated","cancelled","paid","failed","in_transit","PAYMENT_PROVIDER","eupi","DEFAULT_SORT_PROPERTIES","sortBy","orderBy","renderIdentifier","identifier","_ref","receiptUrl","isTemporaryIdentifier","startsWith","_jsx","Tooltip","content","position","children","className","Typography","style","CopyButtonWrapper","Button","href","size","target","getTagStyle","status","DEFAULT_TAG_STYLE","preProcessStatus","record","isRefunded","snakeToCamelCase","renderStatus","curry","isNotPresent","processedStatus","Tag","renderPaymentProvider","paymentProvider","humanize","renderDate","date","isPresent","DateFormat","DateTime","renderPayoutTraceId","getDefaultColumns","dashboardKind","columns","title","dataIndex","width","isHidable","render","sorter","formatAmount","formatCurrency","buildSearchProps","searchProps","searchTerm","mergeDeepWith","mergeLeft","trim","buildFilterColumns","payableEntityColumns","reject","isNil","prop","buildRowData","payments","_ref$pageProperties","pageProperties","element","index","id","isEmpty","pageSize","page","List","isFetching","setSortProperties","handleTablePagination","views","_useTranslation","useTranslation","_getQueryParams","getQueryParams","_getQueryParams$tab","tab","_useHiddenColumns","useHiddenColumns","hideColumn","_useHiddenColumns$hid","hiddenColumns","paymentsCount","isMultipleProvidersExist","getUniquePaymentProviders","visibleColumns","buildDefaultTableColumns","defaultColumns","isAllTab","handleColumnHiding","column","processDataIndex","handleTableChange","_","__","camelToSnakeCase","field","order","NoData","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","columnData","currentPageNumber","handlePageChange","loading","rowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","TopSection","filters","setFilters","filterableColumns","searchKeywordProps","setIsExportModalOpen","_useState","useState","_useState2","_slicedToArray","isFilterPaneOpen","setIsFilterPaneOpen","history","useHistory","isPaymentCountVisible","isFilterButtonVisible","handleFiltersChange","startTransition","handleTabChange","queryParams","toCamelCase","newParams","DEFAULT_PAGE_INDEX","page_size","DEFAULT_PAGE_SIZE","push","buildUrl","window","location","pathname","_jsxs","_Fragment","Header","placeholder","shouldTabsVisible","Tab","Object","keys","item","Item","active","onClick","SubHeader","leftActionBlock","component","count","rightActionBlock","RightBlock","columnsButtonProps","modify","fixedColumns","UN_HIDEABLE_COLUMNS","localStorageKey","downloadButtonProps","filterProps","isOpen","keyword","setIsOpen","FiltersBar","setIsPaneOpen","PaymentsDashboard","_ref$holdableIds","holdableIds","_ref$dashboardKind","_getQueryParams$searc","sortProperties","_useState3","DEFAULT_PAGE_VALUES","_useState4","setPageProperties","_useState5","_useState6","isExportModalOpen","_useState7","buildFiltersFromURL","_useState8","_getQueryParams2","_getQueryParams2$tab","_useFetchPayments","enabled","_useFetchPayments$dat","data","_useFetchPayments$dat2","isPaymentsLoaidng","isPending","useEffect","Spinner","ExportModal","DASHBOARD_KIND"],"mappings":"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"}
@@ -0,0 +1,561 @@
1
+ 'use strict';
2
+
3
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
+ var react = require('react');
5
+ var i18next = require('i18next');
6
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
7
+ var FiltersBar = require('@bigbinary/neeto-filters-frontend/Bar');
8
+ var Header = require('@bigbinary/neeto-molecules/Header');
9
+ var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
10
+ var Tab = require('@bigbinary/neetoui/Tab');
11
+ var Typography = require('@bigbinary/neetoui/Typography');
12
+ var reactI18next = require('react-i18next');
13
+ var dashboard = require('./dashboard-H1ov-J3v.js');
14
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
15
+ var Download = require('@bigbinary/neeto-icons/Download');
16
+ var Button = require('@bigbinary/neetoui/Button');
17
+ var Modal = require('@bigbinary/neetoui/Modal');
18
+ var exportChannel = require('./exportChannel-BsZ3fusx.js');
19
+ var constants = require('./index-BYewZJN8.js');
20
+ var jsxRuntime = require('react/jsx-runtime');
21
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
22
+ var neetoCist = require('@bigbinary/neeto-cist');
23
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
24
+ var utils$1 = require('@bigbinary/neeto-filters-frontend/utils');
25
+ var ramda = require('ramda');
26
+ var reactRouterDom = require('react-router-dom');
27
+ var renderFunctions = require('./renderFunctions-CovxUt9o.js');
28
+ var CopyButtonWrapper = require('./CopyButtonWrapper-Ds1k64E0.js');
29
+ var constants$1 = require('@bigbinary/neeto-commons-frontend/constants');
30
+ var Columns = require('@bigbinary/neeto-molecules/Columns');
31
+ var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
32
+ var Table = require('@bigbinary/neetoui/Table');
33
+ var NoData = require('@bigbinary/neetoui/NoData');
34
+ var Spinner = require('@bigbinary/neetoui/Spinner');
35
+ var usePlatformApi = require('./usePlatformApi-DB_N-Ua_.js');
36
+ require('@tanstack/react-query');
37
+ require('@tanstack/react-query-devtools');
38
+ require('axios');
39
+ require('@bigbinary/neeto-molecules/DateFormat');
40
+ require('@bigbinary/neetoui/Tag');
41
+ require('@bigbinary/neetoui/Tooltip');
42
+ require('@bigbinary/neeto-molecules/CopyToClipboardButton');
43
+ require('qs');
44
+ require('./queryConstants-DGg4cX3r.js');
45
+
46
+ var TAB = {
47
+ all: "all",
48
+ paid: "paid",
49
+ inTransit: "inTransit",
50
+ failed: "failed",
51
+ canceled: "canceled",
52
+ pending: "pending"
53
+ };
54
+ var TABS = Object.values(TAB);
55
+ var SEARCH_PROPS = {
56
+ key: "keyword",
57
+ node: "identifier,destination_identifier",
58
+ model: "NeetoPaymentsEngine::Payout"
59
+ };
60
+ var DASHBOARD_MANDATORY_COLUMNS = ["id", "status", "identifier"];
61
+ var FILTER_COLUMNS = [{
62
+ key: "created_at",
63
+ label: i18next.t("neetoPayments.common.createdAt"),
64
+ node: "created_at",
65
+ type: "date",
66
+ showRuleSelector: true
67
+ }, {
68
+ key: "arrival_date",
69
+ label: i18next.t("neetoPayments.common.arrivalDate"),
70
+ node: "arrival_date",
71
+ type: "date",
72
+ showRuleSelector: true
73
+ }];
74
+ var DEFAULT_SORT_PROPERTIES = {
75
+ sortBy: "created_at",
76
+ orderBy: "DESC"
77
+ };
78
+ var STRIPE_PAYOUTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY = "stripePayoutsDashboard";
79
+
80
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
81
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
82
+ var ExportModal = function ExportModal(_ref) {
83
+ var showExportModal = _ref.showExportModal,
84
+ setShowExportModal = _ref.setShowExportModal,
85
+ tab = _ref.tab,
86
+ filters = _ref.filters,
87
+ _ref$sortProperties = _ref.sortProperties,
88
+ sortProperties = _ref$sortProperties === void 0 ? {} : _ref$sortProperties;
89
+ var _useTranslation = reactI18next.useTranslation(),
90
+ t = _useTranslation.t;
91
+ var _useState = react.useState(""),
92
+ _useState2 = _slicedToArray(_useState, 2),
93
+ downloadUrl = _useState2[0],
94
+ setDownloadUrl = _useState2[1];
95
+ var _useState3 = react.useState(false),
96
+ _useState4 = _slicedToArray(_useState3, 2),
97
+ isGenerating = _useState4[0],
98
+ setIsGenerating = _useState4[1];
99
+ var _useExportData = dashboard.useExportData(),
100
+ exportCsv = _useExportData.mutate,
101
+ isPending = _useExportData.isPending;
102
+ var isFileLoading = isPending || isGenerating;
103
+ var token = react.useMemo(function () {
104
+ return "payout-report-".concat(constants.uuidV4());
105
+ }, []);
106
+ var receivedCallback = function receivedCallback(data) {
107
+ if (!data.download_url) return;
108
+ setDownloadUrl(data.download_url);
109
+ setIsGenerating(false);
110
+ };
111
+ var handleGenerateClick = function handleGenerateClick() {
112
+ var payload = _objectSpread$1({
113
+ kind: "payout",
114
+ token: token,
115
+ filters: filters,
116
+ tab: tab
117
+ }, sortProperties);
118
+ exportCsv(payload, {
119
+ onSuccess: function onSuccess() {
120
+ setDownloadUrl("");
121
+ setIsGenerating(true);
122
+ }
123
+ });
124
+ };
125
+ react.useEffect(function () {
126
+ if (showExportModal) {
127
+ var channel = exportChannel.exportChannel(token, receivedCallback);
128
+ setDownloadUrl("");
129
+ setIsGenerating(false);
130
+ return function () {
131
+ channel.disconnected();
132
+ };
133
+ }
134
+ return undefined;
135
+ }, [showExportModal, token]);
136
+ var onClose = function onClose() {
137
+ return setShowExportModal(false);
138
+ };
139
+ return /*#__PURE__*/jsxRuntime.jsxs(Modal, {
140
+ onClose: onClose,
141
+ isOpen: showExportModal,
142
+ children: [/*#__PURE__*/jsxRuntime.jsx(Modal.Header, {
143
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
144
+ style: "h2",
145
+ children: t("neetoPayments.export.title.payout")
146
+ })
147
+ }), /*#__PURE__*/jsxRuntime.jsx(Modal.Body, {
148
+ children: isFileLoading ? /*#__PURE__*/jsxRuntime.jsx(Typography, {
149
+ style: "body2",
150
+ children: t("neetoPayments.export.pleaseWait")
151
+ }) : /*#__PURE__*/jsxRuntime.jsx(Typography, {
152
+ style: "body2",
153
+ children: downloadUrl ? t("neetoPayments.export.fileReady") : t("neetoPayments.export.download.payout")
154
+ })
155
+ }), /*#__PURE__*/jsxRuntime.jsx(Modal.Footer, {
156
+ className: "space-x-2",
157
+ children: downloadUrl ? /*#__PURE__*/jsxRuntime.jsx(Button, {
158
+ href: downloadUrl,
159
+ icon: Download,
160
+ label: t("neetoPayments.common.download"),
161
+ onClick: onClose
162
+ }) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
163
+ children: [/*#__PURE__*/jsxRuntime.jsx(Button, {
164
+ disabled: isFileLoading,
165
+ label: t("neetoPayments.common.cancel"),
166
+ style: "tertiary",
167
+ onClick: onClose
168
+ }), /*#__PURE__*/jsxRuntime.jsx(Button, {
169
+ disabled: isFileLoading,
170
+ label: t("neetoPayments.common.export"),
171
+ loading: isFileLoading,
172
+ onClick: handleGenerateClick
173
+ })]
174
+ })
175
+ })]
176
+ });
177
+ };
178
+
179
+ var COLUMNS = [{
180
+ title: i18next.t("neetoPayments.common.id"),
181
+ dataIndex: "id",
182
+ key: "id",
183
+ width: "85px",
184
+ isHidable: false
185
+ }, {
186
+ title: i18next.t("neetoPayments.common.status"),
187
+ dataIndex: "status",
188
+ key: "status",
189
+ render: renderFunctions.renderStatus("payout"),
190
+ width: "150px",
191
+ sorter: true,
192
+ isHidable: false
193
+ }, {
194
+ title: i18next.t("neetoPayments.common.amount"),
195
+ dataIndex: "amount",
196
+ key: "amount",
197
+ width: "150px",
198
+ sorter: true
199
+ }, {
200
+ title: i18next.t("neetoPayments.common.createdAt"),
201
+ dataIndex: "createdAt",
202
+ key: "createdAt",
203
+ width: "220px",
204
+ render: renderFunctions.renderDate,
205
+ sorter: true
206
+ }, {
207
+ title: i18next.t("neetoPayments.common.arrivalDate"),
208
+ dataIndex: "arrivalDate",
209
+ key: "arrivalDate",
210
+ width: "220px",
211
+ render: renderFunctions.renderDate,
212
+ sorter: true
213
+ }, {
214
+ title: i18next.t("neetoPayments.common.destinationIdentifier"),
215
+ dataIndex: "destinationIdentifier",
216
+ key: "destinationIdentifier",
217
+ width: "300px"
218
+ }];
219
+ var IDENTIFIER_COLUMN = {
220
+ title: i18next.t("neetoPayments.common.identifier"),
221
+ dataIndex: "identifier",
222
+ key: "identifier",
223
+ width: "300px",
224
+ isHidable: false
225
+ };
226
+
227
+ var processTab = function processTab(status) {
228
+ return neetoCist.camelToSnakeCase(status).split("_").join(" ");
229
+ };
230
+ var renderPayoutIdentifier = ramda.curry(function (route, _ref) {
231
+ var _ref$identifier = _ref.identifier,
232
+ identifier = _ref$identifier === void 0 ? "" : _ref$identifier,
233
+ _ref$id = _ref.id,
234
+ id = _ref$id === void 0 ? "" : _ref$id;
235
+ return /*#__PURE__*/jsxRuntime.jsx(CopyButtonWrapper.CopyButtonWrapper, {
236
+ content: identifier,
237
+ children: /*#__PURE__*/jsxRuntime.jsx(Button, {
238
+ label: identifier,
239
+ size: "small",
240
+ style: "link",
241
+ to: utils.buildUrl(route, {
242
+ id: id
243
+ })
244
+ })
245
+ });
246
+ });
247
+
248
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
249
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
250
+ var useFiltersAndPagination = function useFiltersAndPagination(payoutsPageRoute) {
251
+ var history = reactRouterDom.useHistory();
252
+ var _useState = react.useState(false),
253
+ _useState2 = _slicedToArray(_useState, 2),
254
+ isFilterButtonVisible = _useState2[0],
255
+ setIsFilterButtonVisible = _useState2[1];
256
+ var _useState3 = react.useState(false),
257
+ _useState4 = _slicedToArray(_useState3, 2),
258
+ isFilterPaneOpen = _useState4[0],
259
+ setIsFilterPaneOpen = _useState4[1];
260
+ var _useState5 = react.useState(dashboard.buildDefaultPageProperties(TABS)),
261
+ _useState6 = _slicedToArray(_useState5, 2),
262
+ pageProperties = _useState6[0],
263
+ setPageProperties = _useState6[1];
264
+ var _useState7 = react.useState(constants.DEFAULT_SORT_PROPERTIES),
265
+ _useState8 = _slicedToArray(_useState7, 2),
266
+ sortProperties = _useState8[0],
267
+ setSortProperties = _useState8[1];
268
+ var _useQueryParams = reactUtils.useQueryParams(),
269
+ _useQueryParams$tab = _useQueryParams.tab,
270
+ tab = _useQueryParams$tab === void 0 ? TAB.all : _useQueryParams$tab;
271
+ var _getQueryParams = utils.getQueryParams(),
272
+ _getQueryParams$searc = _getQueryParams.searchTerm,
273
+ searchTerm = _getQueryParams$searc === void 0 ? "" : _getQueryParams$searc;
274
+ var searchKeywordProps = _objectSpread(_objectSpread({}, SEARCH_PROPS), {}, {
275
+ key: "search_term",
276
+ value: searchTerm.trim()
277
+ });
278
+ var _useState9 = react.useState(utils$1.buildFiltersFromURL([].concat(_toConsumableArray(FILTER_COLUMNS), [searchKeywordProps]))),
279
+ _useState10 = _slicedToArray(_useState9, 2),
280
+ filters = _useState10[0],
281
+ setFilters = _useState10[1];
282
+ var _useState11 = react.useState(null),
283
+ _useState12 = _slicedToArray(_useState11, 2),
284
+ dataSize = _useState12[0],
285
+ setDataSize = _useState12[1];
286
+ var identifierColumn = ramda.assoc("render", renderPayoutIdentifier(payoutsPageRoute), IDENTIFIER_COLUMN);
287
+ var columns = ramda.insert(1, identifierColumn, COLUMNS);
288
+ var columnData = tab !== TAB.all ? neetoCist.removeBy({
289
+ key: "status"
290
+ }, columns) : columns;
291
+ var handleTabChange = function handleTabChange(tab) {
292
+ var _pageProperties$tab, _pageProperties$tab2;
293
+ setDataSize(null);
294
+ var queryParams = utils.getQueryParams({
295
+ toCamelCase: false
296
+ });
297
+ var newParams = {
298
+ tab: tab,
299
+ page: (_pageProperties$tab = pageProperties[tab]) === null || _pageProperties$tab === void 0 ? void 0 : _pageProperties$tab.page,
300
+ page_size: (_pageProperties$tab2 = pageProperties[tab]) === null || _pageProperties$tab2 === void 0 ? void 0 : _pageProperties$tab2.pageSize
301
+ };
302
+ history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft(newParams, queryParams)));
303
+ };
304
+ return {
305
+ isFilterButtonVisible: isFilterButtonVisible,
306
+ isFilterPaneOpen: isFilterPaneOpen,
307
+ pageProperties: pageProperties,
308
+ filters: filters,
309
+ searchKeywordProps: searchKeywordProps,
310
+ tab: tab,
311
+ sortProperties: sortProperties,
312
+ columnData: columnData,
313
+ dataSize: dataSize,
314
+ setDataSize: setDataSize,
315
+ setIsFilterButtonVisible: setIsFilterButtonVisible,
316
+ setIsFilterPaneOpen: setIsFilterPaneOpen,
317
+ setPageProperties: setPageProperties,
318
+ setFilters: setFilters,
319
+ handleTabChange: handleTabChange,
320
+ setSortProperties: setSortProperties
321
+ };
322
+ };
323
+
324
+ var useFetchData = function useFetchData(_ref) {
325
+ var _data$kind, _data$kind2, _data$kind3, _data$kind4;
326
+ var isPlatformEnabled = _ref.isPlatformEnabled,
327
+ payload = _ref.payload;
328
+ var data = {};
329
+ var kind = isPlatformEnabled ? "platform" : "connected";
330
+ var tab = neetoCist.snakeToCamelCase((payload === null || payload === void 0 ? void 0 : payload.tab) || "");
331
+ data.connected = usePlatformApi.useFetchStripePayouts(payload, {
332
+ enabled: !isPlatformEnabled
333
+ });
334
+ data.platform = usePlatformApi.useFetchStripePlatformPayouts(payload, {
335
+ enabled: isPlatformEnabled
336
+ });
337
+ return {
338
+ data: (_data$kind = data[kind]) === null || _data$kind === void 0 || (_data$kind = _data$kind.data) === null || _data$kind === void 0 ? void 0 : _data$kind.payouts,
339
+ dataSize: (_data$kind2 = data[kind]) === null || _data$kind2 === void 0 || (_data$kind2 = _data$kind2.data) === null || _data$kind2 === void 0 || (_data$kind2 = _data$kind2.views) === null || _data$kind2 === void 0 ? void 0 : _data$kind2[tab],
340
+ isDataLoading: (_data$kind3 = data[kind]) === null || _data$kind3 === void 0 ? void 0 : _data$kind3.isLoading,
341
+ isDataFetching: (_data$kind4 = data[kind]) === null || _data$kind4 === void 0 ? void 0 : _data$kind4.isFetching
342
+ };
343
+ };
344
+
345
+ var List = function List(_ref) {
346
+ var _pageProperties$tab, _pageProperties$tab2, _pageProperties$tab3;
347
+ var columnData = _ref.columnData,
348
+ filters = _ref.filters,
349
+ pageProperties = _ref.pageProperties,
350
+ setDataSize = _ref.setDataSize,
351
+ setIsFilterButtonVisible = _ref.setIsFilterButtonVisible,
352
+ setPageProperties = _ref.setPageProperties,
353
+ setSortProperties = _ref.setSortProperties,
354
+ sortProperties = _ref.sortProperties,
355
+ tab = _ref.tab,
356
+ isPlatformEnabled = _ref.isPlatformEnabled;
357
+ var history = reactRouterDom.useHistory();
358
+ var _useTranslation = reactI18next.useTranslation(),
359
+ t = _useTranslation.t;
360
+ var _useHiddenColumns = Columns.useHiddenColumns(STRIPE_PAYOUTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY),
361
+ hideColumn = _useHiddenColumns.hideColumn,
362
+ getVisibleColumnData = _useHiddenColumns.getVisibleColumnData;
363
+ var _useFetchData = useFetchData({
364
+ payload: dashboard.buildPayload({
365
+ filters: filters,
366
+ pageProperties: pageProperties,
367
+ sortProperties: sortProperties,
368
+ tab: tab
369
+ }),
370
+ isPlatformEnabled: isPlatformEnabled
371
+ }),
372
+ payouts = _useFetchData.data,
373
+ isDataLoading = _useFetchData.isDataLoading,
374
+ dataSize = _useFetchData.dataSize,
375
+ isDataFetching = _useFetchData.isDataFetching;
376
+ react.useEffect(function () {
377
+ setIsFilterButtonVisible(neetoCist.isPresent(payouts) || neetoCist.isPresent(filters));
378
+ setDataSize(dataSize);
379
+ }, [payouts]);
380
+ var handleTablePagination = function handleTablePagination(page, pageSize) {
381
+ var queryParams = utils.getQueryParams({
382
+ toCamelCase: false
383
+ });
384
+ history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft({
385
+ page: page,
386
+ page_size: pageSize
387
+ }, queryParams)));
388
+ setPageProperties(ramda.assoc(tab, {
389
+ page: page,
390
+ pageSize: pageSize
391
+ }));
392
+ };
393
+ react.useEffect(function () {
394
+ handleTablePagination(constants$1.DEFAULT_PAGE_INDEX, constants$1.DEFAULT_PAGE_SIZE);
395
+ setSortProperties(DEFAULT_SORT_PROPERTIES);
396
+ }, [filters, tab]);
397
+ var handleTableChange = function handleTableChange(_, __, sorter) {
398
+ setSortProperties(neetoCist.isPresent(sorter === null || sorter === void 0 ? void 0 : sorter.column) ? {
399
+ sortBy: neetoCist.camelToSnakeCase(sorter.field),
400
+ orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
401
+ } : DEFAULT_SORT_PROPERTIES);
402
+ };
403
+ if (isDataLoading) {
404
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
405
+ className: "flex h-full w-full items-center justify-center",
406
+ children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
407
+ });
408
+ }
409
+ if (dataSize <= 0 || !neetoCist.isPresent(payouts)) {
410
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
411
+ className: "flex h-full w-full items-center justify-center",
412
+ children: /*#__PURE__*/jsxRuntime.jsx(NoData, {
413
+ title: t("neetoPayments.emptyState.payouts.".concat(tab))
414
+ })
415
+ });
416
+ }
417
+ return /*#__PURE__*/jsxRuntime.jsx(TableWrapper, {
418
+ hasPagination: dataSize > ((_pageProperties$tab = pageProperties[tab]) === null || _pageProperties$tab === void 0 ? void 0 : _pageProperties$tab.pageSize),
419
+ children: /*#__PURE__*/jsxRuntime.jsx(Table, {
420
+ fixedHeight: true,
421
+ allowRowClick: false,
422
+ columnData: getVisibleColumnData(columnData),
423
+ currentPageNumber: (_pageProperties$tab2 = pageProperties[tab]) === null || _pageProperties$tab2 === void 0 ? void 0 : _pageProperties$tab2.page,
424
+ handlePageChange: handleTablePagination,
425
+ loading: isDataFetching,
426
+ rowData: dashboard.buildRowData({
427
+ data: payouts,
428
+ pageProperties: pageProperties,
429
+ tab: tab
430
+ }),
431
+ rowSelection: false,
432
+ sortDirections: constants.SORT_DIRECTIONS,
433
+ totalCount: dataSize,
434
+ paginationProps: {
435
+ showSizeChanger: true,
436
+ hideOnSinglePage: true,
437
+ pageSize: (_pageProperties$tab3 = pageProperties[tab]) === null || _pageProperties$tab3 === void 0 ? void 0 : _pageProperties$tab3.pageSize,
438
+ total: dataSize
439
+ },
440
+ onChange: handleTableChange,
441
+ onColumnHide: function onColumnHide(_ref2) {
442
+ var dataIndex = _ref2.dataIndex;
443
+ return hideColumn(dataIndex);
444
+ }
445
+ })
446
+ });
447
+ };
448
+
449
+ var PayoutsDashboard = function PayoutsDashboard(_ref) {
450
+ var payoutsPageRoute = _ref.payoutsPageRoute,
451
+ isPlatformEnabled = _ref.isPlatformEnabled;
452
+ var _useTransition = react.useTransition(),
453
+ _useTransition2 = _slicedToArray(_useTransition, 2);
454
+ _useTransition2[0];
455
+ var startTransition = _useTransition2[1];
456
+ var _useTranslation = reactI18next.useTranslation(),
457
+ t = _useTranslation.t;
458
+ var _useState = react.useState(false),
459
+ _useState2 = _slicedToArray(_useState, 2),
460
+ showExportModal = _useState2[0],
461
+ setShowExportModal = _useState2[1];
462
+ var _useFiltersAndPaginat = useFiltersAndPagination(payoutsPageRoute),
463
+ isFilterButtonVisible = _useFiltersAndPaginat.isFilterButtonVisible,
464
+ isFilterPaneOpen = _useFiltersAndPaginat.isFilterPaneOpen,
465
+ pageProperties = _useFiltersAndPaginat.pageProperties,
466
+ filters = _useFiltersAndPaginat.filters,
467
+ searchKeywordProps = _useFiltersAndPaginat.searchKeywordProps,
468
+ tab = _useFiltersAndPaginat.tab,
469
+ sortProperties = _useFiltersAndPaginat.sortProperties,
470
+ columnData = _useFiltersAndPaginat.columnData,
471
+ dataSize = _useFiltersAndPaginat.dataSize,
472
+ setDataSize = _useFiltersAndPaginat.setDataSize,
473
+ setIsFilterButtonVisible = _useFiltersAndPaginat.setIsFilterButtonVisible,
474
+ setIsFilterPaneOpen = _useFiltersAndPaginat.setIsFilterPaneOpen,
475
+ setPageProperties = _useFiltersAndPaginat.setPageProperties,
476
+ setFilters = _useFiltersAndPaginat.setFilters,
477
+ handleTabChange = _useFiltersAndPaginat.handleTabChange,
478
+ setSortProperties = _useFiltersAndPaginat.setSortProperties;
479
+ var isTabsVisible = isFilterButtonVisible || tab !== "all";
480
+ var handleFiltersChange = function handleFiltersChange(filters) {
481
+ startTransition(function () {
482
+ setFilters(filters);
483
+ });
484
+ };
485
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
486
+ children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
487
+ title: t("neetoPayments.title.payouts"),
488
+ searchProps: isFilterButtonVisible && {
489
+ placeholder: t("neetoPayments.common.search"),
490
+ className: "w-80"
491
+ }
492
+ }), isTabsVisible && /*#__PURE__*/jsxRuntime.jsx(Tab, {
493
+ children: TABS.map(function (item) {
494
+ return /*#__PURE__*/jsxRuntime.jsx(Tab.Item, {
495
+ active: tab === item,
496
+ onClick: function onClick() {
497
+ return handleTabChange(item);
498
+ },
499
+ children: t("neetoPayments.common.".concat(item))
500
+ }, item);
501
+ })
502
+ }), /*#__PURE__*/jsxRuntime.jsx(SubHeader, {
503
+ className: "my-4",
504
+ leftActionBlock: dataSize > 0 && /*#__PURE__*/jsxRuntime.jsx(Typography, {
505
+ className: "neeto-ui-gray-800 mr-2 font-semibold",
506
+ component: "h4",
507
+ children: tab === TAB.all ? t("neetoPayments.countOf.payout", {
508
+ count: dataSize
509
+ }) : t("neetoPayments.countOf.payoutWithStatus", {
510
+ count: dataSize,
511
+ status: processTab(tab)
512
+ })
513
+ }),
514
+ rightActionBlock: isFilterButtonVisible && /*#__PURE__*/jsxRuntime.jsx(SubHeader.RightBlock, {
515
+ columnsButtonProps: {
516
+ columnData: columnData,
517
+ fixedColumns: DASHBOARD_MANDATORY_COLUMNS,
518
+ localStorageKey: STRIPE_PAYOUTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY
519
+ },
520
+ downloadButtonProps: {
521
+ onClick: function onClick() {
522
+ return setShowExportModal(true);
523
+ }
524
+ },
525
+ filterProps: {
526
+ columns: FILTER_COLUMNS,
527
+ isOpen: isFilterPaneOpen,
528
+ keyword: searchKeywordProps,
529
+ setIsOpen: setIsFilterPaneOpen,
530
+ onChange: handleFiltersChange
531
+ }
532
+ })
533
+ }), /*#__PURE__*/jsxRuntime.jsx(FiltersBar, {
534
+ columns: FILTER_COLUMNS,
535
+ keyword: searchKeywordProps,
536
+ setIsPaneOpen: setIsFilterPaneOpen,
537
+ onChange: handleFiltersChange
538
+ }), /*#__PURE__*/jsxRuntime.jsx(List, {
539
+ columnData: columnData,
540
+ filters: filters,
541
+ isPlatformEnabled: isPlatformEnabled,
542
+ pageProperties: pageProperties,
543
+ setDataSize: setDataSize,
544
+ setIsFilterButtonVisible: setIsFilterButtonVisible,
545
+ setPageProperties: setPageProperties,
546
+ setSortProperties: setSortProperties,
547
+ sortProperties: sortProperties,
548
+ tab: tab
549
+ }), /*#__PURE__*/jsxRuntime.jsx(ExportModal, {
550
+ filters: filters,
551
+ setShowExportModal: setShowExportModal,
552
+ showExportModal: showExportModal,
553
+ sortProperties: sortProperties,
554
+ tab: tab
555
+ })]
556
+ });
557
+ };
558
+ var index = reactUtils.withTitle(dashboard.withReactQuery(PayoutsDashboard), i18next.t("neetoPayments.title.payouts"));
559
+
560
+ module.exports = index;
561
+ //# sourceMappingURL=PayoutsDashboard.js.map