@bigbinary/neeto-payments-frontend 6.1.11 → 6.1.13
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 +473 -0
- package/dist/AccountsDashboard.js.map +1 -0
- package/dist/AdminCancelRecurringPaymentButton.js +65 -0
- package/dist/AdminCancelRecurringPaymentButton.js.map +1 -0
- package/dist/CashPaymentButton.js +58 -0
- package/dist/CashPaymentButton.js.map +1 -0
- package/dist/ConfirmCashPaymentButton.js +98 -0
- package/dist/ConfirmCashPaymentButton.js.map +1 -0
- package/dist/CopyButtonWrapper-Bp5IVO76.js +26 -0
- package/dist/CopyButtonWrapper-Bp5IVO76.js.map +1 -0
- package/dist/CustomerCancelRecurringPaymentForm.js +103 -0
- package/dist/CustomerCancelRecurringPaymentForm.js.map +1 -0
- package/dist/ExportModal-DyRGg_4o.js +120 -0
- package/dist/ExportModal-DyRGg_4o.js.map +1 -0
- package/dist/ManualUpiConnect.js +228 -0
- package/dist/ManualUpiConnect.js.map +1 -0
- package/dist/ManualUpiPayment.js +125 -0
- package/dist/ManualUpiPayment.js.map +1 -0
- package/dist/ManualUpiPaymentConfirmButton.js +155 -0
- package/dist/ManualUpiPaymentConfirmButton.js.map +1 -0
- package/dist/ManualUpiPaymentRejectButton.js +126 -0
- package/dist/ManualUpiPaymentRejectButton.js.map +1 -0
- package/dist/PaymentKindRestrictionAlert.js +31 -0
- package/dist/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/PaymentsDashboard.js +555 -0
- package/dist/PaymentsDashboard.js.map +1 -0
- package/dist/PayoutsDashboard.js +510 -0
- package/dist/PayoutsDashboard.js.map +1 -0
- package/dist/PayoutsPage.js +158 -0
- package/dist/PayoutsPage.js.map +1 -0
- package/dist/RazorpayConnect.js +115 -0
- package/dist/RazorpayConnect.js.map +1 -0
- package/dist/RazorpayLinkedAccountForm.js +201 -0
- package/dist/RazorpayLinkedAccountForm.js.map +1 -0
- package/dist/RazorpayPaymentButton.js +127 -0
- package/dist/RazorpayPaymentButton.js.map +1 -0
- package/dist/RecurringPaymentSettings.js +119 -0
- package/dist/RecurringPaymentSettings.js.map +1 -0
- package/dist/RefundsDashboard.js +484 -0
- package/dist/RefundsDashboard.js.map +1 -0
- package/dist/SplitTransfersDashboard.js +1042 -0
- package/dist/SplitTransfersDashboard.js.map +1 -0
- package/dist/StripeCheckoutSetting.js +82 -0
- package/dist/StripeCheckoutSetting.js.map +1 -0
- package/dist/StripeConnect.js +376 -0
- package/dist/StripeConnect.js.map +1 -0
- package/dist/StripeManage.js +46 -0
- package/dist/StripeManage.js.map +1 -0
- package/dist/TaxesDashboard.js +355 -0
- package/dist/TaxesDashboard.js.map +1 -0
- package/dist/buildStripeTransactionLink.js +12 -0
- package/dist/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/AccountsDashboard.js +475 -0
- package/dist/cjs/AccountsDashboard.js.map +1 -0
- package/dist/cjs/AdminCancelRecurringPaymentButton.js +67 -0
- package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +1 -0
- package/dist/cjs/CashPaymentButton.js +60 -0
- package/dist/cjs/CashPaymentButton.js.map +1 -0
- package/dist/cjs/ConfirmCashPaymentButton.js +100 -0
- package/dist/cjs/ConfirmCashPaymentButton.js.map +1 -0
- package/dist/cjs/CopyButtonWrapper-I-kdKiiB.js +29 -0
- package/dist/cjs/CopyButtonWrapper-I-kdKiiB.js.map +1 -0
- package/dist/cjs/CustomerCancelRecurringPaymentForm.js +105 -0
- package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +1 -0
- package/dist/cjs/ExportModal-DE-VcN1X.js +122 -0
- package/dist/cjs/ExportModal-DE-VcN1X.js.map +1 -0
- package/dist/cjs/ManualUpiConnect.js +249 -0
- package/dist/cjs/ManualUpiConnect.js.map +1 -0
- package/dist/cjs/ManualUpiPayment.js +146 -0
- package/dist/cjs/ManualUpiPayment.js.map +1 -0
- package/dist/cjs/ManualUpiPaymentConfirmButton.js +176 -0
- package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -0
- package/dist/cjs/ManualUpiPaymentRejectButton.js +128 -0
- package/dist/cjs/ManualUpiPaymentRejectButton.js.map +1 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js +33 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/cjs/PaymentsDashboard.js +557 -0
- package/dist/cjs/PaymentsDashboard.js.map +1 -0
- package/dist/cjs/PayoutsDashboard.js +512 -0
- package/dist/cjs/PayoutsDashboard.js.map +1 -0
- package/dist/cjs/PayoutsPage.js +160 -0
- package/dist/cjs/PayoutsPage.js.map +1 -0
- package/dist/cjs/RazorpayConnect.js +117 -0
- package/dist/cjs/RazorpayConnect.js.map +1 -0
- package/dist/cjs/RazorpayLinkedAccountForm.js +203 -0
- package/dist/cjs/RazorpayLinkedAccountForm.js.map +1 -0
- package/dist/cjs/RazorpayPaymentButton.js +129 -0
- package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
- package/dist/cjs/RecurringPaymentSettings.js +140 -0
- package/dist/cjs/RecurringPaymentSettings.js.map +1 -0
- package/dist/cjs/RefundsDashboard.js +486 -0
- package/dist/cjs/RefundsDashboard.js.map +1 -0
- package/dist/cjs/SplitTransfersDashboard.js +1063 -0
- package/dist/cjs/SplitTransfersDashboard.js.map +1 -0
- package/dist/cjs/StripeCheckoutSetting.js +84 -0
- package/dist/cjs/StripeCheckoutSetting.js.map +1 -0
- package/dist/cjs/StripeConnect.js +397 -0
- package/dist/cjs/StripeConnect.js.map +1 -0
- package/dist/cjs/StripeManage.js +48 -0
- package/dist/cjs/StripeManage.js.map +1 -0
- package/dist/cjs/TaxesDashboard.js +376 -0
- package/dist/cjs/TaxesDashboard.js.map +1 -0
- package/dist/cjs/buildStripeTransactionLink.js +14 -0
- package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/constants.js +38 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/dashboard-BiCB2A6S.js +96 -0
- package/dist/cjs/dashboard-BiCB2A6S.js.map +1 -0
- package/dist/cjs/exportChannel-BL2RGGhP.js +38 -0
- package/dist/cjs/exportChannel-BL2RGGhP.js.map +1 -0
- package/dist/cjs/getAddressElementOptions.js +14 -0
- package/dist/cjs/getAddressElementOptions.js.map +1 -0
- package/dist/cjs/getAmountInLargestCurrencyUnit.js +14 -0
- package/dist/cjs/getAmountInLargestCurrencyUnit.js.map +1 -0
- package/dist/cjs/getAmountInSmallestCurrencyUnit.js +14 -0
- package/dist/cjs/getAmountInSmallestCurrencyUnit.js.map +1 -0
- package/dist/cjs/getAmountWithAppliedTax.js +14 -0
- package/dist/cjs/getAmountWithAppliedTax.js.map +1 -0
- package/dist/cjs/getFormattedAmount.js +14 -0
- package/dist/cjs/getFormattedAmount.js.map +1 -0
- package/dist/cjs/getFormattedDiscountedAmount.js +14 -0
- package/dist/cjs/getFormattedDiscountedAmount.js.map +1 -0
- package/dist/cjs/getFormattedDiscountedPercentage.js +14 -0
- package/dist/cjs/getFormattedDiscountedPercentage.js.map +1 -0
- package/dist/cjs/getFormattedTaxAmount.js +14 -0
- package/dist/cjs/getFormattedTaxAmount.js.map +1 -0
- package/dist/cjs/getFormattedTipAmount.js +14 -0
- package/dist/cjs/getFormattedTipAmount.js.map +1 -0
- package/dist/cjs/getQrCodeValue.js +14 -0
- package/dist/cjs/getQrCodeValue.js.map +1 -0
- package/dist/cjs/getTaxAmount.js +14 -0
- package/dist/cjs/getTaxAmount.js.map +1 -0
- package/dist/cjs/getTipAmount.js +14 -0
- package/dist/cjs/getTipAmount.js.map +1 -0
- package/dist/cjs/hasAmountToPay.js +14 -0
- package/dist/cjs/hasAmountToPay.js.map +1 -0
- package/dist/cjs/index-D6V3Vofs.js +855 -0
- package/dist/cjs/index-D6V3Vofs.js.map +1 -0
- package/dist/cjs/index.js +121 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/queryConstants-Dc6wh21D.js +35 -0
- package/dist/cjs/queryConstants-Dc6wh21D.js.map +1 -0
- package/dist/cjs/renderFunctions-DhCwlBWw.js +48 -0
- package/dist/cjs/renderFunctions-DhCwlBWw.js.map +1 -0
- package/dist/cjs/stripe.esm-CrNYjPcC.js +132 -0
- package/dist/cjs/stripe.esm-CrNYjPcC.js.map +1 -0
- package/dist/cjs/useAccountsApi-B2MZWHMY.js +42 -0
- package/dist/cjs/useAccountsApi-B2MZWHMY.js.map +1 -0
- package/dist/cjs/useIntegrationsApi-CVlTmLKc.js +20 -0
- package/dist/cjs/useIntegrationsApi-CVlTmLKc.js.map +1 -0
- package/dist/cjs/usePaymentApi-BCE_Ql18.js +29 -0
- package/dist/cjs/usePaymentApi-BCE_Ql18.js.map +1 -0
- package/dist/cjs/usePaymentApi-Bl8jWvnG.js +44 -0
- package/dist/cjs/usePaymentApi-Bl8jWvnG.js.map +1 -0
- package/dist/cjs/usePaymentApi-CiwXBe90.js +29 -0
- package/dist/cjs/usePaymentApi-CiwXBe90.js.map +1 -0
- package/dist/cjs/usePlatformApi-CcGVG4Qi.js +55 -0
- package/dist/cjs/usePlatformApi-CcGVG4Qi.js.map +1 -0
- package/dist/cjs/useRazorpayPayment.js +88 -0
- package/dist/cjs/useRazorpayPayment.js.map +1 -0
- package/dist/cjs/useStripePromise.js +31 -0
- package/dist/cjs/useStripePromise.js.map +1 -0
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -0
- package/dist/dashboard-CwvqEeOl.js +90 -0
- package/dist/dashboard-CwvqEeOl.js.map +1 -0
- package/dist/exportChannel-Db0U5gc1.js +35 -0
- package/dist/exportChannel-Db0U5gc1.js.map +1 -0
- package/dist/getAddressElementOptions.js +12 -0
- package/dist/getAddressElementOptions.js.map +1 -0
- package/dist/getAmountInLargestCurrencyUnit.js +12 -0
- package/dist/getAmountInLargestCurrencyUnit.js.map +1 -0
- package/dist/getAmountInSmallestCurrencyUnit.js +12 -0
- package/dist/getAmountInSmallestCurrencyUnit.js.map +1 -0
- package/dist/getAmountWithAppliedTax.js +12 -0
- package/dist/getAmountWithAppliedTax.js.map +1 -0
- package/dist/getFormattedAmount.js +12 -0
- package/dist/getFormattedAmount.js.map +1 -0
- package/dist/getFormattedDiscountedAmount.js +12 -0
- package/dist/getFormattedDiscountedAmount.js.map +1 -0
- package/dist/getFormattedDiscountedPercentage.js +12 -0
- package/dist/getFormattedDiscountedPercentage.js.map +1 -0
- package/dist/getFormattedTaxAmount.js +12 -0
- package/dist/getFormattedTaxAmount.js.map +1 -0
- package/dist/getFormattedTipAmount.js +12 -0
- package/dist/getFormattedTipAmount.js.map +1 -0
- package/dist/getQrCodeValue.js +12 -0
- package/dist/getQrCodeValue.js.map +1 -0
- package/dist/getTaxAmount.js +12 -0
- package/dist/getTaxAmount.js.map +1 -0
- package/dist/getTipAmount.js +12 -0
- package/dist/getTipAmount.js.map +1 -0
- package/dist/hasAmountToPay.js +12 -0
- package/dist/hasAmountToPay.js.map +1 -0
- package/dist/index-CNouM9_z.js +804 -0
- package/dist/index-CNouM9_z.js.map +1 -0
- package/dist/index.js +78 -0
- package/dist/index.js.map +1 -0
- package/dist/queryConstants-C7AqdemO.js +33 -0
- package/dist/queryConstants-C7AqdemO.js.map +1 -0
- package/dist/renderFunctions-Bx5nzyE_.js +44 -0
- package/dist/renderFunctions-Bx5nzyE_.js.map +1 -0
- package/dist/stripe.esm-DuZ_gsAa.js +130 -0
- package/dist/stripe.esm-DuZ_gsAa.js.map +1 -0
- package/dist/useAccountsApi-C9_eNmEZ.js +38 -0
- package/dist/useAccountsApi-C9_eNmEZ.js.map +1 -0
- package/dist/useIntegrationsApi-D9eA_FrB.js +18 -0
- package/dist/useIntegrationsApi-D9eA_FrB.js.map +1 -0
- package/dist/usePaymentApi-B98qoM7U.js +26 -0
- package/dist/usePaymentApi-B98qoM7U.js.map +1 -0
- package/dist/usePaymentApi-DMHHdCK1.js +41 -0
- package/dist/usePaymentApi-DMHHdCK1.js.map +1 -0
- package/dist/usePaymentApi-DSlW_EBq.js +27 -0
- package/dist/usePaymentApi-DSlW_EBq.js.map +1 -0
- package/dist/usePlatformApi-sJUY6wju.js +50 -0
- package/dist/usePlatformApi-sJUY6wju.js.map +1 -0
- package/dist/useRazorpayPayment.js +86 -0
- package/dist/useRazorpayPayment.js.map +1 -0
- package/dist/useStripePromise.js +29 -0
- package/dist/useStripePromise.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,486 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
var constants$1 = require('neetocommons/constants');
|
|
5
|
+
var utils = require('neetocommons/utils');
|
|
6
|
+
var neetoFiltersFrontend = require('@bigbinary/neeto-filters-frontend');
|
|
7
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
8
|
+
var ramda = require('ramda');
|
|
9
|
+
var reactRouterDom = require('react-router-dom');
|
|
10
|
+
var ExportModal = require('./ExportModal-DE-VcN1X.js');
|
|
11
|
+
var reactQuery = require('@tanstack/react-query');
|
|
12
|
+
var axios = require('axios');
|
|
13
|
+
var constants = require('./index-D6V3Vofs.js');
|
|
14
|
+
var queryConstants = require('./queryConstants-Dc6wh21D.js');
|
|
15
|
+
var i18next = require('i18next');
|
|
16
|
+
var neetocist = require('neetocist');
|
|
17
|
+
var Columns = require('@bigbinary/neeto-molecules/Columns');
|
|
18
|
+
var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
|
|
19
|
+
var reactI18next = require('react-i18next');
|
|
20
|
+
var exportChannel = require('./exportChannel-BL2RGGhP.js');
|
|
21
|
+
var DateFormat = require('@bigbinary/neeto-molecules/DateFormat');
|
|
22
|
+
var CopyButtonWrapper = require('./CopyButtonWrapper-I-kdKiiB.js');
|
|
23
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
24
|
+
var Header = require('@bigbinary/neeto-molecules/Header');
|
|
25
|
+
var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
|
|
26
|
+
require('@bigbinary/neeto-icons');
|
|
27
|
+
require('decimal.js');
|
|
28
|
+
require('@bigbinary/neeto-molecules/CopyToClipboardButton');
|
|
29
|
+
|
|
30
|
+
const list = payload => axios.get(`${constants.BASE_URL}/api/v1/refunds`, {
|
|
31
|
+
params: payload
|
|
32
|
+
});
|
|
33
|
+
const refundsApi = {
|
|
34
|
+
list
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const useFetchRefunds = (payload = {}, options = {}) => reactQuery.useQuery({
|
|
38
|
+
queryKey: [queryConstants.QUERY_KEYS.REFUNDS_LIST, payload],
|
|
39
|
+
queryFn: () => refundsApi.list(payload),
|
|
40
|
+
...options
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const REFUND_DASHBOARD_TAB = {
|
|
44
|
+
all: "all",
|
|
45
|
+
successful: "successful",
|
|
46
|
+
declined: "declined",
|
|
47
|
+
pending: "pending"
|
|
48
|
+
};
|
|
49
|
+
const SEARCH_PROPS = {
|
|
50
|
+
node: "identifier,",
|
|
51
|
+
key: "search_term",
|
|
52
|
+
model: "NeetoPaymentsEngine::Refund,",
|
|
53
|
+
placeholder: i18next.t("neetoPayments.common.searchByIdentifier")
|
|
54
|
+
};
|
|
55
|
+
const FILTER_COLUMNS = [{
|
|
56
|
+
key: "payment_provider",
|
|
57
|
+
label: i18next.t("neetoPayments.common.paymentProvider"),
|
|
58
|
+
node: "payment_provider",
|
|
59
|
+
type: "single_option",
|
|
60
|
+
values: ramda.map(neetocist.toLabelAndValue, constants.PAYMENT_PROVIDERS)
|
|
61
|
+
}, {
|
|
62
|
+
key: "amount",
|
|
63
|
+
label: i18next.t("neetoPayments.common.refundAmount"),
|
|
64
|
+
node: "amount",
|
|
65
|
+
type: "decimal"
|
|
66
|
+
}, {
|
|
67
|
+
key: "payment_amount",
|
|
68
|
+
label: i18next.t("neetoPayments.common.paymentAmount"),
|
|
69
|
+
node: "payment.amount",
|
|
70
|
+
model: "NeetoPaymentsEngine::Payment",
|
|
71
|
+
type: "decimal"
|
|
72
|
+
}, {
|
|
73
|
+
key: "refunded_at",
|
|
74
|
+
label: i18next.t("neetoPayments.common.refundTime"),
|
|
75
|
+
node: "refunded_at",
|
|
76
|
+
type: "date"
|
|
77
|
+
}];
|
|
78
|
+
const TAG_STYLE = {
|
|
79
|
+
initiated: "info",
|
|
80
|
+
declined: "danger",
|
|
81
|
+
successful: "success",
|
|
82
|
+
refunded: "secondary",
|
|
83
|
+
pending: "warning"
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
const renderIdentifier = (identifier, {
|
|
87
|
+
receiptUrl
|
|
88
|
+
}) => {
|
|
89
|
+
const isTemporaryIdentifier = identifier?.startsWith("temp_");
|
|
90
|
+
if (isTemporaryIdentifier) {
|
|
91
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoui.Tooltip, {
|
|
92
|
+
content: i18next.t("neetoPayments.tooltipContent.paymentIdentifierUnavailable"),
|
|
93
|
+
position: "top",
|
|
94
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
95
|
+
className: "text-center",
|
|
96
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoui.Typography, {
|
|
97
|
+
style: "body2",
|
|
98
|
+
children: i18next.t("neetoPayments.common.notAvailable")
|
|
99
|
+
})
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return /*#__PURE__*/jsxRuntime.jsx(CopyButtonWrapper.CopyButtonWrapper, {
|
|
104
|
+
content: identifier,
|
|
105
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoui.Button, {
|
|
106
|
+
href: receiptUrl,
|
|
107
|
+
label: identifier,
|
|
108
|
+
size: "small",
|
|
109
|
+
style: "link",
|
|
110
|
+
target: "_blank"
|
|
111
|
+
})
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
const getTagStyle = status => TAG_STYLE[status] || constants.DEFAULT_TAG_STYLE;
|
|
115
|
+
const preProcessStatus = (type, status, record = {}) => {
|
|
116
|
+
if (type === "payment") {
|
|
117
|
+
return record.isRefunded ? "refunded" : status;
|
|
118
|
+
}
|
|
119
|
+
return neetocist.snakeToCamelCase(status);
|
|
120
|
+
};
|
|
121
|
+
const renderStatus = ramda.curry((type, status, record) => {
|
|
122
|
+
const processedStatus = preProcessStatus(type, status, record);
|
|
123
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoui.Tooltip, {
|
|
124
|
+
content: i18next.t(`neetoPayments.tooltipContent.${type}.${processedStatus}`),
|
|
125
|
+
position: "top",
|
|
126
|
+
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
127
|
+
className: "w-fit",
|
|
128
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoui.Tag, {
|
|
129
|
+
style: getTagStyle(processedStatus),
|
|
130
|
+
label: neetocist.humanize(i18next.t(`neetoPayments.tagLabels.${type}.${processedStatus}`))
|
|
131
|
+
})
|
|
132
|
+
})
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
const renderDate = date => {
|
|
136
|
+
if (neetocist.isPresent(date)) {
|
|
137
|
+
return /*#__PURE__*/jsxRuntime.jsx(DateFormat.DateTime, {
|
|
138
|
+
date
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoui.Typography, {
|
|
142
|
+
style: "body2",
|
|
143
|
+
children: i18next.t("neetoPayments.common.notAvailable")
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
const getDefaultColumns = () => [{
|
|
147
|
+
title: i18next.t("neetoPayments.common.id"),
|
|
148
|
+
dataIndex: "id",
|
|
149
|
+
key: "id",
|
|
150
|
+
width: 85,
|
|
151
|
+
position: 0,
|
|
152
|
+
isHidable: false
|
|
153
|
+
}, {
|
|
154
|
+
title: i18next.t("neetoPayments.common.identifier"),
|
|
155
|
+
dataIndex: "identifier",
|
|
156
|
+
key: "identifier",
|
|
157
|
+
width: 300,
|
|
158
|
+
render: renderIdentifier,
|
|
159
|
+
position: 1,
|
|
160
|
+
isHidable: false
|
|
161
|
+
}, {
|
|
162
|
+
title: i18next.t("neetoPayments.common.provider"),
|
|
163
|
+
dataIndex: "paymentProvider",
|
|
164
|
+
key: "paymentProvider",
|
|
165
|
+
width: 150,
|
|
166
|
+
render: neetocist.humanize,
|
|
167
|
+
position: 2,
|
|
168
|
+
sorter: false
|
|
169
|
+
}, {
|
|
170
|
+
title: i18next.t("neetoPayments.common.status"),
|
|
171
|
+
dataIndex: "status",
|
|
172
|
+
key: "status",
|
|
173
|
+
width: 200,
|
|
174
|
+
render: renderStatus("refund"),
|
|
175
|
+
sorter: true,
|
|
176
|
+
position: 3,
|
|
177
|
+
isHidable: false
|
|
178
|
+
}, {
|
|
179
|
+
title: i18next.t("neetoPayments.common.refundAmount"),
|
|
180
|
+
dataIndex: "amount",
|
|
181
|
+
key: "amount",
|
|
182
|
+
width: 203,
|
|
183
|
+
sorter: true,
|
|
184
|
+
render: constants.formatAmount,
|
|
185
|
+
position: 4
|
|
186
|
+
}, {
|
|
187
|
+
title: i18next.t("neetoPayments.common.paymentAmount"),
|
|
188
|
+
dataIndex: ["payment", "amount"],
|
|
189
|
+
key: "paymentAmount",
|
|
190
|
+
width: 210,
|
|
191
|
+
sorter: true,
|
|
192
|
+
render: constants.formatAmount,
|
|
193
|
+
position: 4
|
|
194
|
+
}, {
|
|
195
|
+
title: i18next.t("neetoPayments.common.currency"),
|
|
196
|
+
dataIndex: "currency",
|
|
197
|
+
key: "currency",
|
|
198
|
+
width: 180,
|
|
199
|
+
sorter: true,
|
|
200
|
+
render: constants.formatCurrency,
|
|
201
|
+
position: 4
|
|
202
|
+
}, {
|
|
203
|
+
title: i18next.t("neetoPayments.common.refundTime"),
|
|
204
|
+
dataIndex: "refundedAt",
|
|
205
|
+
key: "refundedAt",
|
|
206
|
+
width: 190,
|
|
207
|
+
render: renderDate,
|
|
208
|
+
sorter: true,
|
|
209
|
+
position: 5
|
|
210
|
+
}, {
|
|
211
|
+
title: i18next.t("neetoPayments.common.paymentIdentifier"),
|
|
212
|
+
dataIndex: ["payment", "identifier"],
|
|
213
|
+
key: "paymentIdentifier",
|
|
214
|
+
width: 300,
|
|
215
|
+
render: renderIdentifier,
|
|
216
|
+
position: 6
|
|
217
|
+
}];
|
|
218
|
+
|
|
219
|
+
const buildSearchProps = (searchProps, searchTerm) => ramda.mergeDeepWith(ramda.concat, SEARCH_PROPS, ramda.mergeLeft({
|
|
220
|
+
value: searchTerm.trim()
|
|
221
|
+
}, searchProps));
|
|
222
|
+
const buildFilterColumns = (payableEntityColumns = []) => ramda.reject(ramda.isNil, ramda.concat(FILTER_COLUMNS, ramda.map(ramda.prop("filterProps"), payableEntityColumns)));
|
|
223
|
+
const buildRowData = ({
|
|
224
|
+
refunds,
|
|
225
|
+
pageProperties = {}
|
|
226
|
+
}) => refunds?.map((element, index) => ({
|
|
227
|
+
...element,
|
|
228
|
+
id: ramda.isEmpty(pageProperties) ? index + 1 : pageProperties.pageSize * (pageProperties.page - 1) + index + 1
|
|
229
|
+
}));
|
|
230
|
+
|
|
231
|
+
const List = ({
|
|
232
|
+
isFetching,
|
|
233
|
+
refunds,
|
|
234
|
+
views,
|
|
235
|
+
payableEntityColumns,
|
|
236
|
+
setSortProperties,
|
|
237
|
+
pageProperties,
|
|
238
|
+
handleTablePagination
|
|
239
|
+
}) => {
|
|
240
|
+
const {
|
|
241
|
+
t
|
|
242
|
+
} = reactI18next.useTranslation();
|
|
243
|
+
const {
|
|
244
|
+
tab = REFUND_DASHBOARD_TAB.all
|
|
245
|
+
} = utils.getQueryParams();
|
|
246
|
+
const refundsCount = views[tab];
|
|
247
|
+
const allColumns = constants.buildDefaultTableColumns({
|
|
248
|
+
payableEntityColumns,
|
|
249
|
+
defaultColumns: getDefaultColumns(),
|
|
250
|
+
isAllTab: tab === REFUND_DASHBOARD_TAB.all
|
|
251
|
+
});
|
|
252
|
+
const {
|
|
253
|
+
isTableConfigurationLoading,
|
|
254
|
+
customizedColumns,
|
|
255
|
+
hideColumn
|
|
256
|
+
} = Columns.useTableConfigurations(`${exportChannel.TABLE_KEYS.REFUNDS_TABLE}-${tab}`, allColumns);
|
|
257
|
+
const handleTableChange = (_, __, sorter) => {
|
|
258
|
+
const processedDataIndex = neetocist.camelToSnakeCase(constants.processDataIndex(sorter.field));
|
|
259
|
+
const sortBy = neetocist.isPresent(constants.ASSOCIATED_TABLE_COLUMNS[processedDataIndex]) ? constants.ASSOCIATED_TABLE_COLUMNS[processedDataIndex] : processedDataIndex;
|
|
260
|
+
setSortProperties(neetocist.isPresent(sorter?.column) ? {
|
|
261
|
+
sortBy,
|
|
262
|
+
orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
|
|
263
|
+
} : constants.DEFAULT_SORT_PROPERTIES);
|
|
264
|
+
};
|
|
265
|
+
if (neetocist.isNotPresent(refunds)) {
|
|
266
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
267
|
+
className: "flex h-full w-full items-center justify-center",
|
|
268
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoui.NoData, {
|
|
269
|
+
title: tab === REFUND_DASHBOARD_TAB.all ? t("neetoPayments.emptyState.refund") : t("neetoPayments.emptyState.refundWithStatus", {
|
|
270
|
+
status: tab
|
|
271
|
+
})
|
|
272
|
+
})
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
return /*#__PURE__*/jsxRuntime.jsx(TableWrapper, {
|
|
276
|
+
hasPagination: refundsCount > pageProperties?.pageSize,
|
|
277
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoui.Table, {
|
|
278
|
+
fixedHeight: true,
|
|
279
|
+
allowRowClick: false,
|
|
280
|
+
columnData: customizedColumns,
|
|
281
|
+
currentPageNumber: pageProperties?.page,
|
|
282
|
+
handlePageChange: handleTablePagination,
|
|
283
|
+
loading: isFetching || isTableConfigurationLoading,
|
|
284
|
+
rowData: buildRowData({
|
|
285
|
+
refunds,
|
|
286
|
+
pageProperties,
|
|
287
|
+
tab
|
|
288
|
+
}),
|
|
289
|
+
rowSelection: false,
|
|
290
|
+
sortDirections: constants.SORT_DIRECTIONS,
|
|
291
|
+
totalCount: refundsCount,
|
|
292
|
+
paginationProps: {
|
|
293
|
+
showSizeChanger: true,
|
|
294
|
+
hideOnSinglePage: true,
|
|
295
|
+
pageSize: pageProperties?.pageSize,
|
|
296
|
+
total: refundsCount
|
|
297
|
+
},
|
|
298
|
+
onChange: handleTableChange,
|
|
299
|
+
onColumnHide: ({
|
|
300
|
+
key
|
|
301
|
+
}) => hideColumn(key)
|
|
302
|
+
})
|
|
303
|
+
});
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
const TopSection = ({
|
|
307
|
+
views,
|
|
308
|
+
filters,
|
|
309
|
+
setFilters,
|
|
310
|
+
filterableColumns,
|
|
311
|
+
searchKeywordProps,
|
|
312
|
+
payableEntityColumns,
|
|
313
|
+
setIsExportModalOpen
|
|
314
|
+
}) => {
|
|
315
|
+
const [isFilterPaneOpen, setIsFilterPaneOpen] = react.useState(false);
|
|
316
|
+
const {
|
|
317
|
+
t
|
|
318
|
+
} = reactI18next.useTranslation();
|
|
319
|
+
const history = reactRouterDom.useHistory();
|
|
320
|
+
const {
|
|
321
|
+
tab = REFUND_DASHBOARD_TAB.all
|
|
322
|
+
} = utils.getQueryParams();
|
|
323
|
+
const refundsCount = views?.[tab];
|
|
324
|
+
const isRefundCountVisible = refundsCount > 0 || refundsCount === 0 && neetocist.isPresent(filters);
|
|
325
|
+
const isFilterButtonVisible = isRefundCountVisible || neetocist.isPresent(filters);
|
|
326
|
+
const handleFiltersChange = filters => {
|
|
327
|
+
react.startTransition(() => {
|
|
328
|
+
setFilters(filters);
|
|
329
|
+
});
|
|
330
|
+
};
|
|
331
|
+
const handleTabChange = tab => {
|
|
332
|
+
const queryParams = utils.getQueryParams({
|
|
333
|
+
toCamelCase: false
|
|
334
|
+
});
|
|
335
|
+
const newParams = {
|
|
336
|
+
tab,
|
|
337
|
+
page: constants$1.DEFAULT_PAGE_INDEX,
|
|
338
|
+
page_size: constants$1.DEFAULT_PAGE_SIZE
|
|
339
|
+
};
|
|
340
|
+
history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft(newParams, queryParams)));
|
|
341
|
+
};
|
|
342
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
343
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
|
|
344
|
+
title: t("neetoPayments.title.refunds"),
|
|
345
|
+
searchProps: isFilterButtonVisible && {
|
|
346
|
+
placeholder: searchKeywordProps.placeholder,
|
|
347
|
+
className: "w-80"
|
|
348
|
+
}
|
|
349
|
+
}), constants.shouldTabsVisible(views) && /*#__PURE__*/jsxRuntime.jsx(neetoui.Tab, {
|
|
350
|
+
children: Object.keys(REFUND_DASHBOARD_TAB).map(item => /*#__PURE__*/jsxRuntime.jsx(neetoui.Tab.Item, {
|
|
351
|
+
active: tab === item,
|
|
352
|
+
onClick: () => handleTabChange(item),
|
|
353
|
+
children: t(`neetoPayments.common.${item}`)
|
|
354
|
+
}, item))
|
|
355
|
+
}), /*#__PURE__*/jsxRuntime.jsx(SubHeader, {
|
|
356
|
+
className: "my-4",
|
|
357
|
+
leftActionBlock: isRefundCountVisible && /*#__PURE__*/jsxRuntime.jsx(neetoui.Typography, {
|
|
358
|
+
className: "neeto-ui-gray-800 me-2 font-semibold",
|
|
359
|
+
component: "h4",
|
|
360
|
+
children: tab === REFUND_DASHBOARD_TAB.all ? t("neetoPayments.countOf.refund", {
|
|
361
|
+
count: refundsCount
|
|
362
|
+
}) : t("neetoPayments.countOf.refundWithStatus", {
|
|
363
|
+
count: refundsCount,
|
|
364
|
+
status: tab
|
|
365
|
+
})
|
|
366
|
+
}),
|
|
367
|
+
rightActionBlock: isFilterButtonVisible && /*#__PURE__*/jsxRuntime.jsx(SubHeader.RightBlock, {
|
|
368
|
+
columnsButtonProps: {
|
|
369
|
+
columnData: constants.buildDefaultTableColumns({
|
|
370
|
+
defaultColumns: getDefaultColumns(),
|
|
371
|
+
payableEntityColumns,
|
|
372
|
+
isAllTab: tab === REFUND_DASHBOARD_TAB.all
|
|
373
|
+
}).map(ramda.modify("dataIndex", constants.processDataIndex)),
|
|
374
|
+
fixedColumns: constants.UN_HIDEABLE_COLUMNS,
|
|
375
|
+
tableKey: `${exportChannel.TABLE_KEYS.REFUNDS_TABLE}-${tab}`
|
|
376
|
+
},
|
|
377
|
+
downloadButtonProps: {
|
|
378
|
+
onClick: () => setIsExportModalOpen(true)
|
|
379
|
+
},
|
|
380
|
+
filterProps: {
|
|
381
|
+
columns: filterableColumns,
|
|
382
|
+
isOpen: isFilterPaneOpen,
|
|
383
|
+
keyword: searchKeywordProps,
|
|
384
|
+
setIsOpen: setIsFilterPaneOpen,
|
|
385
|
+
onChange: handleFiltersChange
|
|
386
|
+
}
|
|
387
|
+
})
|
|
388
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoFiltersFrontend.Bar, {
|
|
389
|
+
columns: filterableColumns,
|
|
390
|
+
keyword: searchKeywordProps,
|
|
391
|
+
setIsPaneOpen: setIsFilterPaneOpen,
|
|
392
|
+
onChange: handleFiltersChange
|
|
393
|
+
})]
|
|
394
|
+
});
|
|
395
|
+
};
|
|
396
|
+
|
|
397
|
+
const RefundsDashboard = ({
|
|
398
|
+
searchProps,
|
|
399
|
+
payableEntityColumns,
|
|
400
|
+
accountIds
|
|
401
|
+
}) => {
|
|
402
|
+
const {
|
|
403
|
+
searchTerm = ""
|
|
404
|
+
} = utils.getQueryParams();
|
|
405
|
+
const filterableColumns = buildFilterColumns(payableEntityColumns);
|
|
406
|
+
const searchKeywordProps = buildSearchProps(searchProps, searchTerm);
|
|
407
|
+
const [sortProperties, setSortProperties] = react.useState(constants.DEFAULT_SORT_PROPERTIES);
|
|
408
|
+
const [pageProperties, setPageProperties] = react.useState(constants.DEFAULT_PAGE_VALUES);
|
|
409
|
+
const [isExportModalOpen, setIsExportModalOpen] = react.useState(false);
|
|
410
|
+
const [filters, setFilters] = react.useState(neetoFiltersFrontend.buildFiltersFromURL([...filterableColumns, searchKeywordProps]));
|
|
411
|
+
const history = reactRouterDom.useHistory();
|
|
412
|
+
const {
|
|
413
|
+
tab = REFUND_DASHBOARD_TAB.all
|
|
414
|
+
} = utils.getQueryParams();
|
|
415
|
+
const payload = {
|
|
416
|
+
tab,
|
|
417
|
+
filters,
|
|
418
|
+
accountIds,
|
|
419
|
+
...pageProperties,
|
|
420
|
+
...sortProperties
|
|
421
|
+
};
|
|
422
|
+
const {
|
|
423
|
+
data: {
|
|
424
|
+
refunds,
|
|
425
|
+
views
|
|
426
|
+
} = {},
|
|
427
|
+
isFetching,
|
|
428
|
+
isPending: isRefundsLoading
|
|
429
|
+
} = useFetchRefunds(payload, {
|
|
430
|
+
enabled: true
|
|
431
|
+
});
|
|
432
|
+
const handleTablePagination = (page, pageSize) => {
|
|
433
|
+
const queryParams = utils.getQueryParams({
|
|
434
|
+
toCamelCase: false
|
|
435
|
+
});
|
|
436
|
+
history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft({
|
|
437
|
+
page,
|
|
438
|
+
page_size: pageSize
|
|
439
|
+
}, queryParams)));
|
|
440
|
+
setPageProperties({
|
|
441
|
+
page,
|
|
442
|
+
pageSize
|
|
443
|
+
});
|
|
444
|
+
};
|
|
445
|
+
react.useEffect(() => {
|
|
446
|
+
handleTablePagination(constants$1.DEFAULT_PAGE_INDEX, constants$1.DEFAULT_PAGE_SIZE);
|
|
447
|
+
setSortProperties(constants.DEFAULT_SORT_PROPERTIES);
|
|
448
|
+
}, [filters, tab]);
|
|
449
|
+
if (isRefundsLoading) {
|
|
450
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
451
|
+
className: "flex h-full w-full items-center justify-center",
|
|
452
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoui.Spinner, {})
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
456
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(TopSection, {
|
|
457
|
+
filterableColumns,
|
|
458
|
+
filters,
|
|
459
|
+
pageProperties,
|
|
460
|
+
payableEntityColumns,
|
|
461
|
+
searchKeywordProps,
|
|
462
|
+
setFilters,
|
|
463
|
+
setIsExportModalOpen,
|
|
464
|
+
setPageProperties,
|
|
465
|
+
setSortProperties,
|
|
466
|
+
views
|
|
467
|
+
}), /*#__PURE__*/jsxRuntime.jsx(List, {
|
|
468
|
+
handleTablePagination,
|
|
469
|
+
isFetching,
|
|
470
|
+
pageProperties,
|
|
471
|
+
payableEntityColumns,
|
|
472
|
+
refunds,
|
|
473
|
+
setSortProperties,
|
|
474
|
+
views
|
|
475
|
+
}), /*#__PURE__*/jsxRuntime.jsx(ExportModal.ExportModal, {
|
|
476
|
+
filters,
|
|
477
|
+
isExportModalOpen,
|
|
478
|
+
setIsExportModalOpen,
|
|
479
|
+
sortProperties,
|
|
480
|
+
dashboardKind: constants.DASHBOARD_KIND.refunds
|
|
481
|
+
})]
|
|
482
|
+
});
|
|
483
|
+
};
|
|
484
|
+
|
|
485
|
+
module.exports = RefundsDashboard;
|
|
486
|
+
//# sourceMappingURL=RefundsDashboard.js.map
|
|
@@ -0,0 +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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"}
|