@bigbinary/neeto-payments-frontend 1.5.0-beta1 → 1.6.0-beta2
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/README.md +4 -95
- package/app/javascript/src/translations/en.json +0 -15
- package/dist/AccountsDashboard.js +477 -0
- package/dist/AccountsDashboard.js.map +1 -0
- package/dist/Dashboard.js +598 -0
- package/dist/Dashboard.js.map +1 -0
- package/dist/ExportModal-85725c35.js +645 -0
- package/dist/ExportModal-85725c35.js.map +1 -0
- package/dist/IdentifierButton-73cadb18.js +20 -0
- package/dist/IdentifierButton-73cadb18.js.map +1 -0
- package/dist/PaymentKindRestrictionAlert.js +34 -0
- package/dist/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/PayoutsDashboard.js +503 -0
- package/dist/PayoutsDashboard.js.map +1 -0
- package/dist/PayoutsPage.js +185 -0
- package/dist/PayoutsPage.js.map +1 -0
- package/dist/RazorpayDashboard.js +251 -0
- package/dist/RazorpayDashboard.js.map +1 -0
- package/dist/RazorpayPaymentButton.js +111 -0
- package/dist/RazorpayPaymentButton.js.map +1 -0
- package/dist/StripeConnect.js +2071 -0
- package/dist/StripeConnect.js.map +1 -0
- package/dist/U2TDTBMY-c464dc98.js +12081 -0
- package/dist/U2TDTBMY-c464dc98.js.map +1 -0
- package/dist/UpiConnect.js +148 -0
- package/dist/UpiConnect.js.map +1 -0
- package/dist/UpiMarkAsPaidButton.js +42 -0
- package/dist/UpiMarkAsPaidButton.js.map +1 -0
- package/dist/UpiPayment.js +94 -0
- package/dist/UpiPayment.js.map +1 -0
- package/dist/V2PaymentsDashboard.js +302 -0
- package/dist/V2PaymentsDashboard.js.map +1 -0
- package/dist/buildStripeTransactionLink.js +6 -0
- package/dist/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/AccountsDashboard.js +494 -0
- package/dist/cjs/AccountsDashboard.js.map +1 -0
- package/dist/cjs/Dashboard.js +613 -0
- package/dist/cjs/Dashboard.js.map +1 -0
- package/dist/cjs/ExportModal-20f368a1.js +669 -0
- package/dist/cjs/ExportModal-20f368a1.js.map +1 -0
- package/dist/cjs/IdentifierButton-40b5459d.js +27 -0
- package/dist/cjs/IdentifierButton-40b5459d.js.map +1 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js +41 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/cjs/PayoutsDashboard.js +519 -0
- package/dist/cjs/PayoutsDashboard.js.map +1 -0
- package/dist/cjs/PayoutsPage.js +194 -0
- package/dist/cjs/PayoutsPage.js.map +1 -0
- package/dist/cjs/RazorpayDashboard.js +262 -0
- package/dist/cjs/RazorpayDashboard.js.map +1 -0
- package/dist/cjs/RazorpayPaymentButton.js +118 -0
- package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
- package/dist/cjs/StripeConnect.js +2106 -0
- package/dist/cjs/StripeConnect.js.map +1 -0
- package/dist/cjs/U2TDTBMY-e2fad970.js +12083 -0
- package/dist/cjs/U2TDTBMY-e2fad970.js.map +1 -0
- package/dist/cjs/UpiConnect.js +181 -0
- package/dist/cjs/UpiConnect.js.map +1 -0
- package/dist/cjs/UpiMarkAsPaidButton.js +49 -0
- package/dist/cjs/UpiMarkAsPaidButton.js.map +1 -0
- package/dist/cjs/UpiPayment.js +124 -0
- package/dist/cjs/UpiPayment.js.map +1 -0
- package/dist/cjs/V2PaymentsDashboard.js +313 -0
- package/dist/cjs/V2PaymentsDashboard.js.map +1 -0
- package/dist/cjs/buildStripeTransactionLink.js +11 -0
- package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/constants.js +495 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/exportChannel-7bd80952.js +39 -0
- package/dist/cjs/exportChannel-7bd80952.js.map +1 -0
- package/dist/cjs/extends-1b35a664.js +19 -0
- package/dist/cjs/extends-1b35a664.js.map +1 -0
- package/dist/cjs/index-b097dce8.js +41 -0
- package/dist/cjs/index-b097dce8.js.map +1 -0
- package/dist/cjs/index-b7badf96.js +88 -0
- package/dist/cjs/index-b7badf96.js.map +1 -0
- package/dist/cjs/index.js +100 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/mutation-ed7b84fc.js +235 -0
- package/dist/cjs/mutation-ed7b84fc.js.map +1 -0
- package/dist/cjs/queryConstants-de21eed5.js +944 -0
- package/dist/cjs/queryConstants-de21eed5.js.map +1 -0
- package/dist/cjs/renderFunctions-398d3fb5.js +3719 -0
- package/dist/cjs/renderFunctions-398d3fb5.js.map +1 -0
- package/dist/cjs/stripe.esm-4218a1e9.js.map +1 -0
- package/dist/cjs/useConnectApi-f0665633.js +2189 -0
- package/dist/cjs/useConnectApi-f0665633.js.map +1 -0
- package/dist/cjs/useFiltersAndPagination-312c0331.js +277 -0
- package/dist/cjs/useFiltersAndPagination-312c0331.js.map +1 -0
- package/dist/cjs/useMutation-4c7cdbe1.js +154 -0
- package/dist/cjs/useMutation-4c7cdbe1.js.map +1 -0
- package/dist/cjs/usePaymentApi-ae70e5df.js +48 -0
- package/dist/cjs/usePaymentApi-ae70e5df.js.map +1 -0
- package/dist/cjs/usePaymentsApi-815be3da.js +36 -0
- package/dist/cjs/usePaymentsApi-815be3da.js.map +1 -0
- package/dist/cjs/usePlatformApi-830827fa.js +116 -0
- package/dist/cjs/usePlatformApi-830827fa.js.map +1 -0
- package/dist/cjs/useRazorpayPayment.js +91 -0
- package/dist/cjs/useRazorpayPayment.js.map +1 -0
- package/dist/cjs/useStripePromise.js +27 -0
- package/dist/cjs/useStripePromise.js.map +1 -0
- package/dist/cjs/utils-7eba34a4.js +664 -0
- package/dist/cjs/utils-7eba34a4.js.map +1 -0
- package/dist/constants.js +480 -0
- package/dist/constants.js.map +1 -0
- package/dist/exportChannel-250e6f14.js +32 -0
- package/dist/exportChannel-250e6f14.js.map +1 -0
- package/dist/extends-093996c9.js +17 -0
- package/dist/extends-093996c9.js.map +1 -0
- package/dist/index-1aedc364.js +80 -0
- package/dist/index-1aedc364.js.map +1 -0
- package/dist/index-48f8b281.js +32 -0
- package/dist/index-48f8b281.js.map +1 -0
- package/dist/index.js +77 -12558
- package/dist/index.js.map +1 -1
- package/dist/mutation-286611ef.js +232 -0
- package/dist/mutation-286611ef.js.map +1 -0
- package/dist/queryConstants-765c8816.js +920 -0
- package/dist/queryConstants-765c8816.js.map +1 -0
- package/dist/renderFunctions-97b121a4.js +3633 -0
- package/dist/renderFunctions-97b121a4.js.map +1 -0
- package/dist/useConnectApi-87335bf6.js +2174 -0
- package/dist/useConnectApi-87335bf6.js.map +1 -0
- package/dist/useFiltersAndPagination-2ab7bc8f.js +262 -0
- package/dist/useFiltersAndPagination-2ab7bc8f.js.map +1 -0
- package/dist/useMutation-8d67f853.js +132 -0
- package/dist/useMutation-8d67f853.js.map +1 -0
- package/dist/usePaymentApi-12737871.js +41 -0
- package/dist/usePaymentApi-12737871.js.map +1 -0
- package/dist/usePaymentsApi-a801ab15.js +29 -0
- package/dist/usePaymentsApi-a801ab15.js.map +1 -0
- package/dist/usePlatformApi-8adc2a50.js +104 -0
- package/dist/usePlatformApi-8adc2a50.js.map +1 -0
- package/dist/useRazorpayPayment.js +89 -0
- package/dist/useRazorpayPayment.js.map +1 -0
- package/dist/useStripePromise.js +25 -0
- package/dist/useStripePromise.js.map +1 -0
- package/dist/utils-e29db9c9.js +614 -0
- package/dist/utils-e29db9c9.js.map +1 -0
- package/package.json +18 -10
- package/types/AccountsDashboard.d.ts +3 -0
- package/types/Dashboard.d.ts +15 -0
- package/types/PaymentKindRestrictionAlert.d.ts +11 -0
- package/types/PayoutsDashboard.d.ts +10 -0
- package/types/PayoutsPage.d.ts +11 -0
- package/types/StripeConnect.d.ts +13 -0
- package/types/buildStripeTransactionLink.d.ts +6 -0
- package/types/useStripePromise.d.ts +5 -0
- package/types.d.ts +8 -75
- package/dist/index-042b6907.js +0 -6
- package/dist/index-042b6907.js.map +0 -1
- package/dist/index-87824935.js +0 -4
- package/dist/index-87824935.js.map +0 -1
- package/dist/index.cjs.js +0 -12633
- package/dist/index.cjs.js.map +0 -1
- package/dist/stripe.esm-4218a1e9.js.map +0 -1
- /package/dist/{stripe.esm-4218a1e9.js → cjs/stripe.esm-4218a1e9.js} +0 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _extends = require('./extends-1b35a664.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
|
+
var Header = require('@bigbinary/neeto-molecules/Header');
|
|
7
|
+
var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
|
|
8
|
+
var Typography = require('@bigbinary/neetoui/Typography');
|
|
9
|
+
var reactI18next = require('react-i18next');
|
|
10
|
+
var reactRouterDom = require('react-router-dom/cjs/react-router-dom');
|
|
11
|
+
var renderFunctions = require('./renderFunctions-398d3fb5.js');
|
|
12
|
+
var useConnectApi = require('./useConnectApi-f0665633.js');
|
|
13
|
+
var usePlatformApi = require('./usePlatformApi-830827fa.js');
|
|
14
|
+
var IdentifierButton = require('./IdentifierButton-40b5459d.js');
|
|
15
|
+
var index = require('./index-b097dce8.js');
|
|
16
|
+
var Dashboard = require('./Dashboard.js');
|
|
17
|
+
require('./utils-7eba34a4.js');
|
|
18
|
+
require('react/jsx-runtime');
|
|
19
|
+
require('@bigbinary/neeto-commons-frontend/constants');
|
|
20
|
+
require('./queryConstants-de21eed5.js');
|
|
21
|
+
require('./mutation-ed7b84fc.js');
|
|
22
|
+
require('ramda');
|
|
23
|
+
require('./constants.js');
|
|
24
|
+
require('i18next');
|
|
25
|
+
require('@bigbinary/neeto-molecules/DateFormat');
|
|
26
|
+
require('@bigbinary/neetoui/Button');
|
|
27
|
+
require('@bigbinary/neetoui/Tag');
|
|
28
|
+
require('@bigbinary/neetoui/Tooltip');
|
|
29
|
+
require('@bigbinary/neeto-molecules/CopyToClipboardButton');
|
|
30
|
+
require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
31
|
+
require('axios');
|
|
32
|
+
require('util');
|
|
33
|
+
require('@bigbinary/neeto-filters-frontend');
|
|
34
|
+
require('@bigbinary/neeto-molecules/SubHeader');
|
|
35
|
+
require('@bigbinary/neetoui/Tab');
|
|
36
|
+
require('./index-b7badf96.js');
|
|
37
|
+
require('./ExportModal-20f368a1.js');
|
|
38
|
+
require('@bigbinary/neeto-icons');
|
|
39
|
+
require('@bigbinary/neetoui/Modal');
|
|
40
|
+
require('./useMutation-4c7cdbe1.js');
|
|
41
|
+
require('./exportChannel-7bd80952.js');
|
|
42
|
+
require('@bigbinary/neeto-commons-frontend/utils');
|
|
43
|
+
require('react-router-dom');
|
|
44
|
+
require('@bigbinary/neeto-molecules/Columns');
|
|
45
|
+
require('@bigbinary/neeto-molecules/TableWrapper');
|
|
46
|
+
require('@bigbinary/neetoui/Table');
|
|
47
|
+
require('@bigbinary/neetoui/NoData');
|
|
48
|
+
require('@bigbinary/neetoui/Pane');
|
|
49
|
+
|
|
50
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
51
|
+
|
|
52
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
53
|
+
var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
|
|
54
|
+
var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
|
|
55
|
+
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
56
|
+
|
|
57
|
+
const useFetchData = _ref => {
|
|
58
|
+
let {
|
|
59
|
+
id,
|
|
60
|
+
isPlatformEnabled
|
|
61
|
+
} = _ref;
|
|
62
|
+
const data = {};
|
|
63
|
+
const kind = isPlatformEnabled ? "platform" : "connected";
|
|
64
|
+
data.connected = useConnectApi.useShowStripePayout(id, {
|
|
65
|
+
enabled: !isPlatformEnabled
|
|
66
|
+
});
|
|
67
|
+
data.platform = usePlatformApi.useShowStripePlatformPayout(id, {
|
|
68
|
+
enabled: isPlatformEnabled
|
|
69
|
+
});
|
|
70
|
+
return {
|
|
71
|
+
data: data[kind]?.data?.payout,
|
|
72
|
+
isDataLoading: data[kind]?.isLoading
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const renderPayoutIdentifier = function () {
|
|
77
|
+
let identifier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
78
|
+
let isLive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
79
|
+
return /*#__PURE__*/React__default["default"].createElement(renderFunctions.CopyButtonWrapper, {
|
|
80
|
+
content: identifier
|
|
81
|
+
}, /*#__PURE__*/React__default["default"].createElement(IdentifierButton.IdentifierButton, {
|
|
82
|
+
href: index.buildStripePayoutLink(identifier, isLive),
|
|
83
|
+
label: identifier
|
|
84
|
+
}));
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const PayoutsPage = _ref => {
|
|
88
|
+
let {
|
|
89
|
+
isPlatformEnabled,
|
|
90
|
+
indexRoute,
|
|
91
|
+
...otherProps
|
|
92
|
+
} = _ref;
|
|
93
|
+
const {
|
|
94
|
+
t
|
|
95
|
+
} = reactI18next.useTranslation();
|
|
96
|
+
const {
|
|
97
|
+
id
|
|
98
|
+
} = reactRouterDom.useParams();
|
|
99
|
+
const {
|
|
100
|
+
isDataLoading,
|
|
101
|
+
data: {
|
|
102
|
+
amount,
|
|
103
|
+
identifier,
|
|
104
|
+
status,
|
|
105
|
+
destinationIdentifier,
|
|
106
|
+
arrivalDate,
|
|
107
|
+
createdAt,
|
|
108
|
+
isAutomatic,
|
|
109
|
+
failureMessage,
|
|
110
|
+
live
|
|
111
|
+
} = {}
|
|
112
|
+
} = useFetchData({
|
|
113
|
+
id,
|
|
114
|
+
isPlatformEnabled
|
|
115
|
+
});
|
|
116
|
+
const headerBreadCrumbs = [{
|
|
117
|
+
text: t("neetoPayments.title.payouts"),
|
|
118
|
+
link: indexRoute
|
|
119
|
+
}, {
|
|
120
|
+
text: identifier
|
|
121
|
+
}];
|
|
122
|
+
if (isDataLoading) return /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null);
|
|
123
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header__default["default"], {
|
|
124
|
+
breadcrumbs: headerBreadCrumbs,
|
|
125
|
+
title: t("neetoPayments.payoutsPage.title")
|
|
126
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
127
|
+
className: "w-full space-y-6 p-2"
|
|
128
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
129
|
+
className: "w-full space-y-2"
|
|
130
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
131
|
+
className: "flex items-center space-x-2"
|
|
132
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
133
|
+
style: "body2"
|
|
134
|
+
}, t("neetoPayments.payoutsPage.payoutId")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
135
|
+
className: "neeto-ui-text-black font-medium",
|
|
136
|
+
style: "body2"
|
|
137
|
+
}, renderPayoutIdentifier(identifier, live))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
138
|
+
className: "flex items-center space-x-2"
|
|
139
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
140
|
+
style: "body2"
|
|
141
|
+
}, t("neetoPayments.payoutsPage.status")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
142
|
+
className: "neeto-ui-text-black font-medium",
|
|
143
|
+
style: "body2"
|
|
144
|
+
}, renderFunctions.renderStatus("payout", status, {}))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
145
|
+
className: "flex items-center space-x-2"
|
|
146
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
147
|
+
style: "body2"
|
|
148
|
+
}, t("neetoPayments.payoutsPage.amount")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
149
|
+
className: "neeto-ui-text-black font-medium",
|
|
150
|
+
style: "body2"
|
|
151
|
+
}, amount)), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
152
|
+
className: "flex items-center space-x-2"
|
|
153
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
154
|
+
style: "body2"
|
|
155
|
+
}, t("neetoPayments.payoutsPage.arrivalDate")), renderFunctions.renderDate(arrivalDate)), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
156
|
+
className: "flex items-center space-x-2"
|
|
157
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
158
|
+
style: "body2"
|
|
159
|
+
}, t("neetoPayments.payoutsPage.createdAt")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
160
|
+
className: "neeto-ui-text-black font-medium",
|
|
161
|
+
style: "body2"
|
|
162
|
+
}, renderFunctions.renderDate(createdAt))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
163
|
+
className: "flex items-center space-x-2"
|
|
164
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
165
|
+
style: "body2"
|
|
166
|
+
}, t("neetoPayments.payoutsPage.destinationId")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
167
|
+
className: "neeto-ui-text-black font-medium",
|
|
168
|
+
style: "body2"
|
|
169
|
+
}, destinationIdentifier)), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
170
|
+
className: "flex items-center space-x-2"
|
|
171
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
172
|
+
style: "body2"
|
|
173
|
+
}, t("neetoPayments.payoutsPage.automatic")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
174
|
+
className: "neeto-ui-text-black font-medium",
|
|
175
|
+
style: "body2"
|
|
176
|
+
}, isAutomatic ? t("neetoPayments.common.yes") : t("neetoPayments.common.no"))), neetoCist.isPresent(failureMessage) && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
177
|
+
className: "flex items-center space-x-2"
|
|
178
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
179
|
+
style: "body2"
|
|
180
|
+
}, t("neetoPayments.payoutsPage.failureMessage")), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
181
|
+
className: "neeto-ui-text-black font-medium",
|
|
182
|
+
style: "body2"
|
|
183
|
+
}, failureMessage)))), isAutomatic && /*#__PURE__*/React__default["default"].createElement(Dashboard, _extends._extends({}, isPlatformEnabled, {
|
|
184
|
+
kind: "connected"
|
|
185
|
+
}, otherProps, {
|
|
186
|
+
headerProps: {
|
|
187
|
+
size: "nano"
|
|
188
|
+
},
|
|
189
|
+
payoutId: id
|
|
190
|
+
})));
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
module.exports = PayoutsPage;
|
|
194
|
+
//# sourceMappingURL=PayoutsPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayoutsPage.js","sources":["../../app/javascript/src/components/PayoutsPage/hooks/useFetchData.js","../../app/javascript/src/components/PayoutsPage/utils.jsx","../../app/javascript/src/components/PayoutsPage/index.jsx"],"sourcesContent":["import { useShowStripePayout } from \"hooks/reactQuery/stripe/useConnectApi\";\nimport { useShowStripePlatformPayout } from \"hooks/reactQuery/stripe/usePlatformApi\";\n\nexport const useFetchData = ({ id, isPlatformEnabled }) => {\n const data = {};\n const kind = isPlatformEnabled ? \"platform\" : \"connected\";\n\n data.connected = useShowStripePayout(id, {\n enabled: !isPlatformEnabled,\n });\n\n data.platform = useShowStripePlatformPayout(id, {\n enabled: isPlatformEnabled,\n });\n\n return {\n data: data[kind]?.data?.payout,\n isDataLoading: data[kind]?.isLoading,\n };\n};\n","import React from \"react\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport IdentifierButton from \"components/Dashboard/IdentifierButton\";\nimport { buildStripePayoutLink } from \"utils\";\n\nexport const renderPayoutIdentifier = (identifier = \"\", isLive = false) => (\n <CopyButtonWrapper content={identifier}>\n <IdentifierButton\n href={buildStripePayoutLink(identifier, isLive)}\n label={identifier}\n />\n </CopyButtonWrapper>\n);\n","import React from \"react\";\n\nimport { isPresent } from \"@bigbinary/neeto-cist\";\nimport Header from \"neetomolecules/Header\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom/cjs/react-router-dom\";\n\nimport { renderDate, renderStatus } from \"utils/renderFunctions\";\n\nimport { useFetchData } from \"./hooks/useFetchData\";\nimport { renderPayoutIdentifier } from \"./utils\";\n\nimport Dashboard from \"../Dashboard\";\n\nconst PayoutsPage = ({ isPlatformEnabled, indexRoute, ...otherProps }) => {\n const { t } = useTranslation();\n const { id } = useParams();\n\n const {\n isDataLoading,\n data: {\n amount,\n identifier,\n status,\n destinationIdentifier,\n arrivalDate,\n createdAt,\n isAutomatic,\n failureMessage,\n live,\n } = {},\n } = useFetchData({ id, isPlatformEnabled });\n\n const headerBreadCrumbs = [\n { text: t(\"neetoPayments.title.payouts\"), link: indexRoute },\n { text: identifier },\n ];\n\n if (isDataLoading) return <PageLoader />;\n\n return (\n <>\n <Header\n breadcrumbs={headerBreadCrumbs}\n title={t(\"neetoPayments.payoutsPage.title\")}\n />\n <div className=\"w-full space-y-6 p-2\">\n <div className=\"w-full space-y-2\">\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.payoutId\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {renderPayoutIdentifier(identifier, live)}\n </Typography>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.status\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {renderStatus(\"payout\", status, {})}\n </Typography>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.amount\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {amount}\n </Typography>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.arrivalDate\")}\n </Typography>\n {renderDate(arrivalDate)}\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.createdAt\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {renderDate(createdAt)}\n </Typography>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.destinationId\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {destinationIdentifier}\n </Typography>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.automatic\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {isAutomatic\n ? t(\"neetoPayments.common.yes\")\n : t(\"neetoPayments.common.no\")}\n </Typography>\n </div>\n {isPresent(failureMessage) && (\n <div className=\"flex items-center space-x-2\">\n <Typography style=\"body2\">\n {t(\"neetoPayments.payoutsPage.failureMessage\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black font-medium\"\n style=\"body2\"\n >\n {failureMessage}\n </Typography>\n </div>\n )}\n </div>\n </div>\n {isAutomatic && (\n <Dashboard\n {...isPlatformEnabled}\n kind=\"connected\"\n {...otherProps}\n headerProps={{ size: \"nano\" }}\n payoutId={id}\n />\n )}\n </>\n );\n};\n\nexport default PayoutsPage;\n"],"names":["useFetchData","_ref","id","isPlatformEnabled","data","kind","connected","useShowStripePayout","enabled","platform","useShowStripePlatformPayout","payout","isDataLoading","isLoading","renderPayoutIdentifier","identifier","arguments","length","undefined","isLive","React","createElement","CopyButtonWrapper","content","IdentifierButton","href","buildStripePayoutLink","label","PayoutsPage","indexRoute","otherProps","t","useTranslation","useParams","amount","status","destinationIdentifier","arrivalDate","createdAt","isAutomatic","failureMessage","live","headerBreadCrumbs","text","link","PageLoader","Fragment","Header","breadcrumbs","title","className","Typography","style","renderStatus","renderDate","isPresent","Dashboard","_extends","headerProps","size","payoutId"],"mappings":"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"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _extends = require('./extends-1b35a664.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var i18next = require('i18next');
|
|
6
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
7
|
+
var reactI18next = require('react-i18next');
|
|
8
|
+
var useFiltersAndPagination = require('./useFiltersAndPagination-312c0331.js');
|
|
9
|
+
var renderFunctions = require('./renderFunctions-398d3fb5.js');
|
|
10
|
+
var ExportModal = require('./ExportModal-20f368a1.js');
|
|
11
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
12
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
13
|
+
var Columns = require('@bigbinary/neeto-molecules/Columns');
|
|
14
|
+
var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
|
|
15
|
+
var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
|
|
16
|
+
var Table = require('@bigbinary/neetoui/Table');
|
|
17
|
+
var NoData = require('@bigbinary/neetoui/NoData');
|
|
18
|
+
var ramda = require('ramda');
|
|
19
|
+
var reactRouterDom = require('react-router-dom');
|
|
20
|
+
var queryConstants = require('./queryConstants-de21eed5.js');
|
|
21
|
+
var axios = require('axios');
|
|
22
|
+
var constants = require('./constants.js');
|
|
23
|
+
var usePaymentApi = require('./usePaymentApi-ae70e5df.js');
|
|
24
|
+
var index$1 = require('./index-b097dce8.js');
|
|
25
|
+
require('@bigbinary/neeto-filters-frontend');
|
|
26
|
+
require('@bigbinary/neeto-molecules/Header');
|
|
27
|
+
require('@bigbinary/neeto-molecules/SubHeader');
|
|
28
|
+
require('@bigbinary/neetoui/Tab');
|
|
29
|
+
require('@bigbinary/neetoui/Typography');
|
|
30
|
+
require('./index-b7badf96.js');
|
|
31
|
+
require('@bigbinary/neetoui/Button');
|
|
32
|
+
require('@bigbinary/neetoui/Tooltip');
|
|
33
|
+
require('./utils-7eba34a4.js');
|
|
34
|
+
require('react/jsx-runtime');
|
|
35
|
+
require('@bigbinary/neeto-commons-frontend/constants');
|
|
36
|
+
require('./mutation-ed7b84fc.js');
|
|
37
|
+
require('@bigbinary/neeto-molecules/DateFormat');
|
|
38
|
+
require('@bigbinary/neetoui/Tag');
|
|
39
|
+
require('@bigbinary/neeto-molecules/CopyToClipboardButton');
|
|
40
|
+
require('@bigbinary/neeto-icons');
|
|
41
|
+
require('@bigbinary/neetoui/Modal');
|
|
42
|
+
require('./useMutation-4c7cdbe1.js');
|
|
43
|
+
require('./exportChannel-7bd80952.js');
|
|
44
|
+
require('./IdentifierButton-40b5459d.js');
|
|
45
|
+
|
|
46
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
47
|
+
|
|
48
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
49
|
+
var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
|
|
50
|
+
var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
|
|
51
|
+
var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
|
|
52
|
+
var NoData__default = /*#__PURE__*/_interopDefaultLegacy(NoData);
|
|
53
|
+
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
54
|
+
|
|
55
|
+
const TAB = {
|
|
56
|
+
all: "all",
|
|
57
|
+
successful: "successful",
|
|
58
|
+
declined: "declined",
|
|
59
|
+
refunded: "refunded"
|
|
60
|
+
};
|
|
61
|
+
const TABS = Object.values(TAB);
|
|
62
|
+
|
|
63
|
+
const defaultShow = () => axios__default["default"].get(`${constants.BASE_URL}/api/v1/razorpay/holdable/account`);
|
|
64
|
+
const show = holdableId => axios__default["default"].get(`${constants.BASE_URL}/api/v1/razorpay/holdables/${holdableId}/account`);
|
|
65
|
+
const accountsApi = {
|
|
66
|
+
defaultShow,
|
|
67
|
+
show
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
const useFetchRazorpayAccount = function (holdableId) {
|
|
71
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
72
|
+
return queryConstants.useQuery({
|
|
73
|
+
queryKey: [queryConstants.QUERY_KEYS.RAZORPAY_ACCOUNT_DETAILS, holdableId],
|
|
74
|
+
queryFn: () => {
|
|
75
|
+
if (neetoCist.isPresent(holdableId)) return accountsApi.show(holdableId);
|
|
76
|
+
return accountsApi.defaultShow();
|
|
77
|
+
},
|
|
78
|
+
...options
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const List = _ref => {
|
|
83
|
+
let {
|
|
84
|
+
holdableId,
|
|
85
|
+
kind,
|
|
86
|
+
filters,
|
|
87
|
+
setIsFilterButtonVisible,
|
|
88
|
+
pageProperties,
|
|
89
|
+
payableEntityColumns,
|
|
90
|
+
setPageProperties,
|
|
91
|
+
tab,
|
|
92
|
+
sortProperties,
|
|
93
|
+
setSortProperties,
|
|
94
|
+
setDataSize
|
|
95
|
+
} = _ref;
|
|
96
|
+
const history = reactRouterDom.useHistory();
|
|
97
|
+
const {
|
|
98
|
+
t
|
|
99
|
+
} = reactI18next.useTranslation();
|
|
100
|
+
const columnData = useFiltersAndPagination.buildPaymentColumns({
|
|
101
|
+
tab,
|
|
102
|
+
kind,
|
|
103
|
+
payableEntityColumns
|
|
104
|
+
});
|
|
105
|
+
const {
|
|
106
|
+
isLoading: isAccountLoading,
|
|
107
|
+
data: {
|
|
108
|
+
account
|
|
109
|
+
} = {}
|
|
110
|
+
} = useFetchRazorpayAccount();
|
|
111
|
+
const payload = renderFunctions.buildPayload({
|
|
112
|
+
tab,
|
|
113
|
+
filters,
|
|
114
|
+
pageProperties,
|
|
115
|
+
sortProperties
|
|
116
|
+
});
|
|
117
|
+
const {
|
|
118
|
+
hideColumn,
|
|
119
|
+
hiddenColumns = []
|
|
120
|
+
} = Columns.useHiddenColumns(`paymentDashboard_${kind}`);
|
|
121
|
+
const {
|
|
122
|
+
data: {
|
|
123
|
+
payments,
|
|
124
|
+
views = {}
|
|
125
|
+
} = {},
|
|
126
|
+
isLoading: isPaymentsLoaidng,
|
|
127
|
+
isFetching
|
|
128
|
+
} = usePaymentApi.useFetchRazorpayPayments(holdableId, payload, {
|
|
129
|
+
enabled: useFiltersAndPagination.isPaymentKind(kind)
|
|
130
|
+
});
|
|
131
|
+
React.useEffect(() => {
|
|
132
|
+
setIsFilterButtonVisible(neetoCist.isPresent(payments) || neetoCist.isPresent(filters));
|
|
133
|
+
setDataSize(views[tab]);
|
|
134
|
+
}, [payments]);
|
|
135
|
+
const handleTablePaginaton = (page, pageSize) => {
|
|
136
|
+
const queryParams = utils.getQueryParams({
|
|
137
|
+
toCamelCase: false
|
|
138
|
+
});
|
|
139
|
+
history.push(utils.buildUrl(window.location.pathname, ramda.mergeLeft({
|
|
140
|
+
page,
|
|
141
|
+
page_size: pageSize
|
|
142
|
+
}, queryParams)));
|
|
143
|
+
setPageProperties(ramda.assoc(tab, {
|
|
144
|
+
page,
|
|
145
|
+
pageSize
|
|
146
|
+
}));
|
|
147
|
+
};
|
|
148
|
+
const handleTableChange = (_, __, sorter) => {
|
|
149
|
+
setSortProperties(neetoCist.isPresent(sorter?.column) ? {
|
|
150
|
+
sortBy: neetoCist.camelToSnakeCase(sorter.field),
|
|
151
|
+
orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
|
|
152
|
+
} : constants.DEFAULT_SORT_PROPERTIES);
|
|
153
|
+
};
|
|
154
|
+
const visibleColumns = columnData.filter(_ref2 => {
|
|
155
|
+
let {
|
|
156
|
+
dataIndex
|
|
157
|
+
} = _ref2;
|
|
158
|
+
return !hiddenColumns.includes(index$1.processDataIndex(dataIndex));
|
|
159
|
+
});
|
|
160
|
+
if (isAccountLoading || isPaymentsLoaidng) {
|
|
161
|
+
return /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null);
|
|
162
|
+
}
|
|
163
|
+
if (!account?.isConnected && views <= 0 || !neetoCist.isPresent(payments)) {
|
|
164
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
165
|
+
className: "flex h-full w-full items-center justify-center"
|
|
166
|
+
}, /*#__PURE__*/React__default["default"].createElement(NoData__default["default"], {
|
|
167
|
+
title: tab === TAB.all ? t(`neetoPayments.emptyState.${kind}`) : t(`neetoPayments.emptyState.${kind}WithStatus`, {
|
|
168
|
+
status: tab
|
|
169
|
+
})
|
|
170
|
+
}));
|
|
171
|
+
}
|
|
172
|
+
return /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], {
|
|
173
|
+
hasPagination: views > pageProperties[tab]?.pageSize
|
|
174
|
+
}, /*#__PURE__*/React__default["default"].createElement(Table__default["default"], {
|
|
175
|
+
fixedHeight: true,
|
|
176
|
+
allowRowClick: false,
|
|
177
|
+
columnData: visibleColumns,
|
|
178
|
+
currentPageNumber: pageProperties[tab]?.page,
|
|
179
|
+
handlePageChange: handleTablePaginaton,
|
|
180
|
+
loading: isFetching,
|
|
181
|
+
rowData: renderFunctions.buildRowData({
|
|
182
|
+
data: payments,
|
|
183
|
+
pageProperties,
|
|
184
|
+
tab
|
|
185
|
+
}),
|
|
186
|
+
rowSelection: false,
|
|
187
|
+
sortDirections: constants.SORT_DIRECTIONS,
|
|
188
|
+
totalCount: views,
|
|
189
|
+
paginationProps: {
|
|
190
|
+
showSizeChanger: true,
|
|
191
|
+
hideOnSinglePage: true,
|
|
192
|
+
pageSize: pageProperties[tab]?.pageSize,
|
|
193
|
+
total: views
|
|
194
|
+
},
|
|
195
|
+
onChange: handleTableChange,
|
|
196
|
+
onColumnHide: columnData => {
|
|
197
|
+
hideColumn(index$1.processDataIndex(columnData.dataIndex));
|
|
198
|
+
}
|
|
199
|
+
}));
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
const RazorpayDashboard = _ref => {
|
|
203
|
+
let {
|
|
204
|
+
searchProps,
|
|
205
|
+
headerProps = {},
|
|
206
|
+
holdableId = null,
|
|
207
|
+
payableEntityColumns = [],
|
|
208
|
+
kind = "razorpayPayment"
|
|
209
|
+
} = _ref;
|
|
210
|
+
const [showExportModal, setShowExportModal] = React.useState(false);
|
|
211
|
+
const {
|
|
212
|
+
t
|
|
213
|
+
} = reactI18next.useTranslation();
|
|
214
|
+
const filterPaginationState = useFiltersAndPagination.useFiltersAndPagination({
|
|
215
|
+
payableEntityColumns,
|
|
216
|
+
kind,
|
|
217
|
+
initialTabs: TABS,
|
|
218
|
+
tabMetaData: {}
|
|
219
|
+
});
|
|
220
|
+
const {
|
|
221
|
+
filters,
|
|
222
|
+
setIsFilterButtonVisible,
|
|
223
|
+
pageProperties,
|
|
224
|
+
setPageProperties,
|
|
225
|
+
sortProperties,
|
|
226
|
+
setSortProperties,
|
|
227
|
+
tab,
|
|
228
|
+
setDataSize
|
|
229
|
+
} = filterPaginationState;
|
|
230
|
+
return /*#__PURE__*/React__default["default"].createElement(useFiltersAndPagination.FilterWrapper, _extends._extends({
|
|
231
|
+
title: t("neetoPayments.common.razorpayPayments"),
|
|
232
|
+
headerProps,
|
|
233
|
+
kind,
|
|
234
|
+
payableEntityColumns,
|
|
235
|
+
searchProps,
|
|
236
|
+
setShowExportModal
|
|
237
|
+
}, filterPaginationState), /*#__PURE__*/React__default["default"].createElement(List, {
|
|
238
|
+
filters,
|
|
239
|
+
holdableId,
|
|
240
|
+
kind,
|
|
241
|
+
pageProperties,
|
|
242
|
+
payableEntityColumns,
|
|
243
|
+
setDataSize,
|
|
244
|
+
setIsFilterButtonVisible,
|
|
245
|
+
setPageProperties,
|
|
246
|
+
setSortProperties,
|
|
247
|
+
sortProperties,
|
|
248
|
+
tab
|
|
249
|
+
}), /*#__PURE__*/React__default["default"].createElement(ExportModal.ExportModal, {
|
|
250
|
+
filters,
|
|
251
|
+
holdableId,
|
|
252
|
+
kind,
|
|
253
|
+
setShowExportModal,
|
|
254
|
+
showExportModal,
|
|
255
|
+
sortProperties,
|
|
256
|
+
tab
|
|
257
|
+
}));
|
|
258
|
+
};
|
|
259
|
+
var index = reactUtils.withTitle(renderFunctions.withReactQuery(RazorpayDashboard), i18next.t("neetoPayments.common.razorpayPayments"));
|
|
260
|
+
|
|
261
|
+
module.exports = index;
|
|
262
|
+
//# sourceMappingURL=RazorpayDashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RazorpayDashboard.js","sources":["../../app/javascript/src/components/RazorpayDashboard/constants/index.js","../../app/javascript/src/apis/razorpay/accounts.js","../../app/javascript/src/hooks/reactQuery/razorpay/useAccountApi.js","../../app/javascript/src/components/RazorpayDashboard/List.jsx","../../app/javascript/src/components/RazorpayDashboard/index.jsx"],"sourcesContent":["export const TAB = {\n all: \"all\",\n successful: \"successful\",\n declined: \"declined\",\n refunded: \"refunded\",\n};\n\nexport const TABS = Object.values(TAB);\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst defaultShow = () =>\n axios.get(`${BASE_URL}/api/v1/razorpay/holdable/account`);\n\nconst show = holdableId =>\n axios.get(`${BASE_URL}/api/v1/razorpay/holdables/${holdableId}/account`);\n\nconst accountsApi = { defaultShow, show };\n\nexport default accountsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { isPresent } from \"neetocist\";\n\nimport accountsApi from \"apis/razorpay/accounts\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRazorpayAccount = (holdableId, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.RAZORPAY_ACCOUNT_DETAILS, holdableId],\n queryFn: () => {\n if (isPresent(holdableId)) return accountsApi.show(holdableId);\n\n return accountsApi.defaultShow();\n },\n ...options,\n });\n","import React, { useEffect } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { useHiddenColumns } from \"neetomolecules/Columns\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { Table, NoData } from \"neetoui\";\nimport { assoc, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useFetchRazorpayAccount } from \"hooks/reactQuery/razorpay/useAccountApi\";\nimport { useFetchRazorpayPayments } from \"hooks/reactQuery/razorpay/usePaymentApi\";\nimport { DEFAULT_SORT_PROPERTIES, SORT_DIRECTIONS } from \"src/constants\";\nimport { processDataIndex } from \"utils\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport { TAB } from \"./constants\";\nimport { buildPaymentColumns, isPaymentKind } from \"./utils\";\n\nconst List = ({\n holdableId,\n kind,\n filters,\n setIsFilterButtonVisible,\n pageProperties,\n payableEntityColumns,\n setPageProperties,\n tab,\n sortProperties,\n setSortProperties,\n setDataSize,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n const columnData = buildPaymentColumns({\n tab,\n kind,\n payableEntityColumns,\n });\n\n const { isLoading: isAccountLoading, data: { account } = {} } =\n useFetchRazorpayAccount();\n\n const payload = buildPayload({\n tab,\n filters,\n pageProperties,\n sortProperties,\n });\n\n const { hideColumn, hiddenColumns = [] } = useHiddenColumns(\n `paymentDashboard_${kind}`\n );\n\n const {\n data: { payments, views = {} } = {},\n isLoading: isPaymentsLoaidng,\n isFetching,\n } = useFetchRazorpayPayments(holdableId, payload, {\n enabled: isPaymentKind(kind),\n });\n\n useEffect(() => {\n setIsFilterButtonVisible(isPresent(payments) || isPresent(filters));\n setDataSize(views[tab]);\n }, [payments]);\n\n const handleTablePaginaton = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties(assoc(tab, { page, pageSize }));\n };\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(sorter.field),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n const visibleColumns = columnData.filter(\n ({ dataIndex }) => !hiddenColumns.includes(processDataIndex(dataIndex))\n );\n\n if (isAccountLoading || isPaymentsLoaidng) {\n return <PageLoader />;\n }\n\n if ((!account?.isConnected && views <= 0) || !isPresent(payments)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n title={\n tab === TAB.all\n ? t(`neetoPayments.emptyState.${kind}`)\n : t(`neetoPayments.emptyState.${kind}WithStatus`, { status: tab })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={views > pageProperties[tab]?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={visibleColumns}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePaginaton}\n loading={isFetching}\n rowData={buildRowData({ data: payments, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={views}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties[tab]?.pageSize,\n total: views,\n }}\n onChange={handleTableChange}\n onColumnHide={columnData => {\n hideColumn(processDataIndex(columnData.dataIndex));\n }}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import React, { useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FilterWrapper from \"components/Common/FilterWrapper\";\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport ExportModal from \"components/Dashboard/ExportModal\";\nimport { useFiltersAndPagination } from \"hooks/useFiltersAndPagination\";\n\nimport { TABS } from \"./constants\";\nimport List from \"./List\";\n\nconst RazorpayDashboard = ({\n searchProps,\n headerProps = {},\n holdableId = null,\n payableEntityColumns = [],\n kind = \"razorpayPayment\",\n}) => {\n const [showExportModal, setShowExportModal] = useState(false);\n const { t } = useTranslation();\n const filterPaginationState = useFiltersAndPagination({\n payableEntityColumns,\n kind,\n initialTabs: TABS,\n tabMetaData: {},\n });\n\n const {\n filters,\n setIsFilterButtonVisible,\n pageProperties,\n setPageProperties,\n sortProperties,\n setSortProperties,\n tab,\n setDataSize,\n } = filterPaginationState;\n\n return (\n <FilterWrapper\n title={t(\"neetoPayments.common.razorpayPayments\")}\n {...{\n headerProps,\n kind,\n payableEntityColumns,\n searchProps,\n setShowExportModal,\n ...filterPaginationState,\n }}\n >\n <List\n {...{\n filters,\n holdableId,\n kind,\n pageProperties,\n payableEntityColumns,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n }}\n />\n <ExportModal\n {...{\n filters,\n holdableId,\n kind,\n setShowExportModal,\n showExportModal,\n sortProperties,\n tab,\n }}\n />\n </FilterWrapper>\n );\n};\n\nexport default withTitle(\n withReactQuery(RazorpayDashboard),\n t(\"neetoPayments.common.razorpayPayments\")\n);\n"],"names":["TAB","all","successful","declined","refunded","TABS","Object","values","defaultShow","axios","get","BASE_URL","show","holdableId","accountsApi","useFetchRazorpayAccount","options","arguments","length","undefined","useQuery","queryKey","QUERY_KEYS","RAZORPAY_ACCOUNT_DETAILS","queryFn","isPresent","List","_ref","kind","filters","setIsFilterButtonVisible","pageProperties","payableEntityColumns","setPageProperties","tab","sortProperties","setSortProperties","setDataSize","history","useHistory","t","useTranslation","columnData","buildPaymentColumns","isLoading","isAccountLoading","data","account","payload","buildPayload","hideColumn","hiddenColumns","useHiddenColumns","payments","views","isPaymentsLoaidng","isFetching","useFetchRazorpayPayments","enabled","isPaymentKind","useEffect","handleTablePaginaton","page","pageSize","queryParams","getQueryParams","toCamelCase","push","buildUrl","window","location","pathname","mergeLeft","page_size","assoc","handleTableChange","_","__","sorter","column","sortBy","camelToSnakeCase","field","orderBy","order","DEFAULT_SORT_PROPERTIES","visibleColumns","filter","_ref2","dataIndex","includes","processDataIndex","React","createElement","PageLoader","isConnected","className","NoData","title","status","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","handlePageChange","loading","rowData","buildRowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","RazorpayDashboard","searchProps","headerProps","showExportModal","setShowExportModal","useState","filterPaginationState","useFiltersAndPagination","initialTabs","tabMetaData","FilterWrapper","_extends","ExportModal","withTitle","withReactQuery"],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
5
|
+
var Button = require('@bigbinary/neetoui/Button');
|
|
6
|
+
var ramda = require('ramda');
|
|
7
|
+
var reactI18next = require('react-i18next');
|
|
8
|
+
var usePaymentApi = require('./usePaymentApi-ae70e5df.js');
|
|
9
|
+
var constants = require('./constants.js');
|
|
10
|
+
require('./queryConstants-de21eed5.js');
|
|
11
|
+
require('./utils-7eba34a4.js');
|
|
12
|
+
require('react/jsx-runtime');
|
|
13
|
+
require('./useMutation-4c7cdbe1.js');
|
|
14
|
+
require('./mutation-ed7b84fc.js');
|
|
15
|
+
require('axios');
|
|
16
|
+
require('i18next');
|
|
17
|
+
require('@bigbinary/neeto-commons-frontend/constants');
|
|
18
|
+
|
|
19
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
|
+
|
|
21
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
22
|
+
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
23
|
+
|
|
24
|
+
const loadScript = src => new Promise(resolve => {
|
|
25
|
+
const script = document.createElement("script");
|
|
26
|
+
script.src = src;
|
|
27
|
+
script.onload = () => {
|
|
28
|
+
resolve(true);
|
|
29
|
+
};
|
|
30
|
+
script.onerror = () => {
|
|
31
|
+
resolve(false);
|
|
32
|
+
};
|
|
33
|
+
document.body.appendChild(script);
|
|
34
|
+
});
|
|
35
|
+
const RazorpayPaymentButton = _ref => {
|
|
36
|
+
let {
|
|
37
|
+
label,
|
|
38
|
+
payableId,
|
|
39
|
+
discountCode,
|
|
40
|
+
email,
|
|
41
|
+
name,
|
|
42
|
+
isCardPreservable = false,
|
|
43
|
+
onBeforePayment = neetoCist.noop,
|
|
44
|
+
onSuccessfulPayment = neetoCist.noop,
|
|
45
|
+
onFailedPayment = neetoCist.noop
|
|
46
|
+
} = _ref;
|
|
47
|
+
const {
|
|
48
|
+
t
|
|
49
|
+
} = reactI18next.useTranslation();
|
|
50
|
+
const openRazorpayCheckout = async options => {
|
|
51
|
+
const script = await loadScript("https://checkout.razorpay.com/v1/checkout.js");
|
|
52
|
+
if (!script) {
|
|
53
|
+
logger.error(t("neetoPayments.razorpay.loadError"));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const checkout = new window.Razorpay(options);
|
|
57
|
+
checkout.open();
|
|
58
|
+
};
|
|
59
|
+
const handlePayment = response => {
|
|
60
|
+
if (neetoCist.isNotPresent(response?.razorpay_signature)) {
|
|
61
|
+
onFailedPayment();
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
onSuccessfulPayment();
|
|
65
|
+
};
|
|
66
|
+
const handleSuccess = _ref2 => {
|
|
67
|
+
let {
|
|
68
|
+
payment
|
|
69
|
+
} = _ref2;
|
|
70
|
+
if (payment?.status === "successful") {
|
|
71
|
+
return onSuccessfulPayment();
|
|
72
|
+
}
|
|
73
|
+
const save = isCardPreservable ? 1 : 0;
|
|
74
|
+
const options = {
|
|
75
|
+
save,
|
|
76
|
+
key: payment.publicKey,
|
|
77
|
+
order_id: payment.orderIdentifier,
|
|
78
|
+
customer_id: payment.customerIdentifier,
|
|
79
|
+
prefill: {
|
|
80
|
+
name,
|
|
81
|
+
email
|
|
82
|
+
},
|
|
83
|
+
modal: {
|
|
84
|
+
confirm_close: true,
|
|
85
|
+
ondismiss: onFailedPayment
|
|
86
|
+
},
|
|
87
|
+
handler: handlePayment
|
|
88
|
+
};
|
|
89
|
+
return openRazorpayCheckout(ramda.mergeDeepLeft(constants.RAZORPAY_PAYMENT_BUTTON_OPTIONS, options));
|
|
90
|
+
};
|
|
91
|
+
const {
|
|
92
|
+
isLoading,
|
|
93
|
+
mutate: createRazorpayOrder
|
|
94
|
+
} = usePaymentApi.useCreateRazorpayPayment({
|
|
95
|
+
onSuccess: handleSuccess
|
|
96
|
+
});
|
|
97
|
+
const handleClick = () => {
|
|
98
|
+
onBeforePayment();
|
|
99
|
+
const payload = {
|
|
100
|
+
payableId,
|
|
101
|
+
discountCode,
|
|
102
|
+
customerAttributes: {
|
|
103
|
+
email,
|
|
104
|
+
name
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
createRazorpayOrder(payload);
|
|
108
|
+
};
|
|
109
|
+
return /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
110
|
+
disabled: isLoading,
|
|
111
|
+
label: label || t("neetoPayments.common.pay"),
|
|
112
|
+
loading: isLoading,
|
|
113
|
+
onClick: handleClick
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
module.exports = RazorpayPaymentButton;
|
|
118
|
+
//# sourceMappingURL=RazorpayPaymentButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RazorpayPaymentButton.js","sources":["../../app/javascript/src/components/RazorpayPaymentButton.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { isNotPresent, noop } from \"neetocist\";\nimport { Button } from \"neetoui\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateRazorpayPayment } from \"hooks/reactQuery/razorpay/usePaymentApi\";\nimport { RAZORPAY_PAYMENT_BUTTON_OPTIONS } from \"src/constants\";\n\nconst loadScript = src =>\n new Promise(resolve => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = () => {\n resolve(true);\n };\n\n script.onerror = () => {\n resolve(false);\n };\n document.body.appendChild(script);\n });\n\nconst RazorpayPaymentButton = ({\n label,\n payableId,\n discountCode,\n email,\n name,\n isCardPreservable = false,\n onBeforePayment = noop,\n onSuccessfulPayment = noop,\n onFailedPayment = noop,\n}) => {\n const { t } = useTranslation();\n\n const openRazorpayCheckout = async options => {\n const script = await loadScript(\n \"https://checkout.razorpay.com/v1/checkout.js\"\n );\n\n if (!script) {\n logger.error(t(\"neetoPayments.razorpay.loadError\"));\n\n return;\n }\n const checkout = new window.Razorpay(options);\n checkout.open();\n };\n\n const handlePayment = response => {\n if (isNotPresent(response?.razorpay_signature)) {\n onFailedPayment();\n\n return;\n }\n\n onSuccessfulPayment();\n };\n\n const handleSuccess = ({ payment }) => {\n if (payment?.status === \"successful\") {\n return onSuccessfulPayment();\n }\n\n const save = isCardPreservable ? 1 : 0;\n const options = {\n save,\n key: payment.publicKey,\n order_id: payment.orderIdentifier,\n customer_id: payment.customerIdentifier,\n prefill: { name, email },\n modal: { confirm_close: true, ondismiss: onFailedPayment },\n handler: handlePayment,\n };\n\n return openRazorpayCheckout(\n mergeDeepLeft(RAZORPAY_PAYMENT_BUTTON_OPTIONS, options)\n );\n };\n\n const { isLoading, mutate: createRazorpayOrder } = useCreateRazorpayPayment({\n onSuccess: handleSuccess,\n });\n\n const handleClick = () => {\n onBeforePayment();\n const payload = {\n payableId,\n discountCode,\n customerAttributes: { email, name },\n };\n createRazorpayOrder(payload);\n };\n\n return (\n <Button\n disabled={isLoading}\n label={label || t(\"neetoPayments.common.pay\")}\n loading={isLoading}\n onClick={handleClick}\n />\n );\n};\n\nexport default RazorpayPaymentButton;\n"],"names":["loadScript","src","Promise","resolve","script","document","createElement","onload","onerror","body","appendChild","RazorpayPaymentButton","_ref","label","payableId","discountCode","email","name","isCardPreservable","onBeforePayment","noop","onSuccessfulPayment","onFailedPayment","t","useTranslation","openRazorpayCheckout","options","logger","error","checkout","window","Razorpay","open","handlePayment","response","isNotPresent","razorpay_signature","handleSuccess","_ref2","payment","status","save","key","publicKey","order_id","orderIdentifier","customer_id","customerIdentifier","prefill","modal","confirm_close","ondismiss","handler","mergeDeepLeft","RAZORPAY_PAYMENT_BUTTON_OPTIONS","isLoading","mutate","createRazorpayOrder","useCreateRazorpayPayment","onSuccess","handleClick","payload","customerAttributes","React","Button","disabled","loading","onClick"],"mappings":"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"}
|