@bigbinary/neeto-payments-frontend 2.1.4 → 2.2.0
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 +28 -28
- package/dist/AccountsDashboard.js.map +1 -1
- package/dist/Dashboard.js +54 -54
- package/dist/Dashboard.js.map +1 -1
- package/dist/{ExportModal-39bfc053.js → ExportModal-23f4fa34.js} +38 -38
- package/dist/ExportModal-23f4fa34.js.map +1 -0
- package/dist/{IdentifierButton-73cadb18.js → IdentifierButton-81450a91.js} +4 -4
- package/dist/IdentifierButton-81450a91.js.map +1 -0
- package/dist/PaymentKindRestrictionAlert.js +1 -2
- package/dist/PaymentKindRestrictionAlert.js.map +1 -1
- package/dist/PayoutsDashboard.js +29 -29
- package/dist/PayoutsDashboard.js.map +1 -1
- package/dist/PayoutsPage.js +31 -31
- package/dist/PayoutsPage.js.map +1 -1
- package/dist/RazorpayDashboard.js +16 -16
- package/dist/RazorpayDashboard.js.map +1 -1
- package/dist/RazorpayPaymentButton.js +11 -5
- package/dist/RazorpayPaymentButton.js.map +1 -1
- package/dist/StripeConnect.js +47 -47
- package/dist/StripeConnect.js.map +1 -1
- package/dist/UpiConnect.js +16 -16
- package/dist/UpiConnect.js.map +1 -1
- package/dist/UpiMarkAsPaidButton.js +2 -3
- package/dist/UpiMarkAsPaidButton.js.map +1 -1
- package/dist/UpiPayment.js +9 -10
- package/dist/UpiPayment.js.map +1 -1
- package/dist/V2PaymentsDashboard.js +11 -11
- package/dist/V2PaymentsDashboard.js.map +1 -1
- package/dist/buildStripeTransactionLink.js +2 -2
- package/dist/cjs/AccountsDashboard.js +42 -43
- package/dist/cjs/AccountsDashboard.js.map +1 -1
- package/dist/cjs/Dashboard.js +65 -66
- package/dist/cjs/Dashboard.js.map +1 -1
- package/dist/cjs/{ExportModal-bdc93240.js → ExportModal-b94a33bf.js} +42 -43
- package/dist/cjs/ExportModal-b94a33bf.js.map +1 -0
- package/dist/cjs/{IdentifierButton-40b5459d.js → IdentifierButton-c5f8ded9.js} +4 -5
- package/dist/cjs/IdentifierButton-c5f8ded9.js.map +1 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js +1 -3
- package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -1
- package/dist/cjs/PayoutsDashboard.js +43 -44
- package/dist/cjs/PayoutsDashboard.js.map +1 -1
- package/dist/cjs/PayoutsPage.js +31 -32
- package/dist/cjs/PayoutsPage.js.map +1 -1
- package/dist/cjs/RazorpayDashboard.js +18 -19
- package/dist/cjs/RazorpayDashboard.js.map +1 -1
- package/dist/cjs/RazorpayPaymentButton.js +10 -5
- package/dist/cjs/RazorpayPaymentButton.js.map +1 -1
- package/dist/cjs/StripeConnect.js +49 -50
- package/dist/cjs/StripeConnect.js.map +1 -1
- package/dist/cjs/UpiConnect.js +18 -19
- package/dist/cjs/UpiConnect.js.map +1 -1
- package/dist/cjs/UpiMarkAsPaidButton.js +2 -4
- package/dist/cjs/UpiMarkAsPaidButton.js.map +1 -1
- package/dist/cjs/UpiPayment.js +9 -11
- package/dist/cjs/UpiPayment.js.map +1 -1
- package/dist/cjs/V2PaymentsDashboard.js +12 -13
- package/dist/cjs/V2PaymentsDashboard.js.map +1 -1
- package/dist/cjs/buildStripeTransactionLink.js +1 -1
- package/dist/cjs/constants.js +0 -3
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/{exportChannel-25096ec6.js → exportChannel-1c3103ef.js} +1 -1
- package/dist/cjs/{exportChannel-25096ec6.js.map → exportChannel-1c3103ef.js.map} +1 -1
- package/dist/cjs/{index-50640293.js → index-e317e851.js} +1 -1
- package/dist/cjs/{index-50640293.js.map → index-e317e851.js.map} +1 -1
- package/dist/cjs/index.js +10 -10
- package/dist/cjs/{renderFunctions-2078e7e2.js → renderFunctions-621282bb.js} +12 -14
- package/dist/cjs/renderFunctions-621282bb.js.map +1 -0
- package/dist/cjs/{useConnectApi-e7f3de75.js → useConnectApi-a80cbf88.js} +1 -1
- package/dist/cjs/{useConnectApi-e7f3de75.js.map → useConnectApi-a80cbf88.js.map} +1 -1
- package/dist/cjs/{useFiltersAndPagination-5a9347b9.js → useFiltersAndPagination-98eb45d6.js} +21 -22
- package/dist/cjs/useFiltersAndPagination-98eb45d6.js.map +1 -0
- package/dist/cjs/{usePaymentApi-7a0bbf0b.js → usePaymentApi-77803596.js} +1 -1
- package/dist/cjs/{usePaymentApi-7a0bbf0b.js.map → usePaymentApi-77803596.js.map} +1 -1
- package/dist/cjs/{usePaymentsApi-cd592e15.js → usePaymentsApi-239e8d8a.js} +1 -1
- package/dist/cjs/{usePaymentsApi-cd592e15.js.map → usePaymentsApi-239e8d8a.js.map} +1 -1
- package/dist/cjs/{usePlatformApi-1013cf7c.js → usePlatformApi-6740cf80.js} +2 -2
- package/dist/cjs/{usePlatformApi-1013cf7c.js.map → usePlatformApi-6740cf80.js.map} +1 -1
- package/dist/cjs/useRazorpayPayment.js +1 -1
- package/dist/constants.js +0 -3
- package/dist/constants.js.map +1 -1
- package/dist/{exportChannel-adf7b822.js → exportChannel-23e4628c.js} +1 -1
- package/dist/{exportChannel-adf7b822.js.map → exportChannel-23e4628c.js.map} +1 -1
- package/dist/{index-6162b28f.js → index-385083ef.js} +1 -1
- package/dist/{index-6162b28f.js.map → index-385083ef.js.map} +1 -1
- package/dist/index.js +10 -10
- package/dist/{renderFunctions-f7c87474.js → renderFunctions-ac5ef9d0.js} +12 -13
- package/dist/renderFunctions-ac5ef9d0.js.map +1 -0
- package/dist/{useConnectApi-ea17ae47.js → useConnectApi-36a92bd8.js} +1 -1
- package/dist/{useConnectApi-ea17ae47.js.map → useConnectApi-36a92bd8.js.map} +1 -1
- package/dist/{useFiltersAndPagination-78e70378.js → useFiltersAndPagination-8813cdb2.js} +14 -14
- package/dist/useFiltersAndPagination-8813cdb2.js.map +1 -0
- package/dist/{usePaymentApi-66c05a32.js → usePaymentApi-edc45d99.js} +1 -1
- package/dist/{usePaymentApi-66c05a32.js.map → usePaymentApi-edc45d99.js.map} +1 -1
- package/dist/{usePaymentsApi-11e025d2.js → usePaymentsApi-663c4058.js} +1 -1
- package/dist/{usePaymentsApi-11e025d2.js.map → usePaymentsApi-663c4058.js.map} +1 -1
- package/dist/{usePlatformApi-5635c757.js → usePlatformApi-3faabc82.js} +2 -2
- package/dist/{usePlatformApi-5635c757.js.map → usePlatformApi-3faabc82.js.map} +1 -1
- package/dist/useRazorpayPayment.js +1 -1
- package/package.json +9 -9
- package/dist/ExportModal-39bfc053.js.map +0 -1
- package/dist/IdentifierButton-73cadb18.js.map +0 -1
- package/dist/cjs/ExportModal-bdc93240.js.map +0 -1
- package/dist/cjs/IdentifierButton-40b5459d.js.map +0 -1
- package/dist/cjs/renderFunctions-2078e7e2.js.map +0 -1
- package/dist/cjs/useFiltersAndPagination-5a9347b9.js.map +0 -1
- package/dist/renderFunctions-f7c87474.js.map +0 -1
- package/dist/useFiltersAndPagination-78e70378.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var React = require('react');
|
|
3
|
+
var React$1 = require('react');
|
|
4
4
|
var i18next = require('i18next');
|
|
5
5
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
6
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
@@ -10,17 +10,17 @@ var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
|
|
|
10
10
|
var Tab = require('@bigbinary/neetoui/Tab');
|
|
11
11
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
12
12
|
var reactI18next = require('react-i18next');
|
|
13
|
-
var renderFunctions = require('./renderFunctions-
|
|
13
|
+
var renderFunctions = require('./renderFunctions-621282bb.js');
|
|
14
14
|
var Download = require('@bigbinary/neeto-icons/Download');
|
|
15
15
|
var Button = require('@bigbinary/neetoui/Button');
|
|
16
16
|
var Modal = require('@bigbinary/neetoui/Modal');
|
|
17
|
-
var exportChannel = require('./exportChannel-
|
|
18
|
-
var index$1 = require('./index-
|
|
17
|
+
var exportChannel = require('./exportChannel-1c3103ef.js');
|
|
18
|
+
var index$1 = require('./index-e317e851.js');
|
|
19
19
|
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
20
20
|
var ramda = require('ramda');
|
|
21
21
|
var reactRouterDom = require('react-router-dom');
|
|
22
22
|
var constants = require('./constants.js');
|
|
23
|
-
var IdentifierButton = require('./IdentifierButton-
|
|
23
|
+
var IdentifierButton = require('./IdentifierButton-c5f8ded9.js');
|
|
24
24
|
var constants$1 = require('@bigbinary/neeto-commons-frontend/constants');
|
|
25
25
|
var Columns = require('@bigbinary/neeto-molecules/Columns');
|
|
26
26
|
var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
|
|
@@ -38,7 +38,6 @@ require('@bigbinary/neeto-molecules/CopyToClipboardButton');
|
|
|
38
38
|
|
|
39
39
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
40
40
|
|
|
41
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
42
41
|
var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
|
|
43
42
|
var SubHeader__default = /*#__PURE__*/_interopDefaultLegacy(SubHeader);
|
|
44
43
|
var Tab__default = /*#__PURE__*/_interopDefaultLegacy(Tab);
|
|
@@ -85,14 +84,14 @@ const ExportModal = _ref => {
|
|
|
85
84
|
const {
|
|
86
85
|
t
|
|
87
86
|
} = reactI18next.useTranslation();
|
|
88
|
-
const [downloadUrl, setDownloadUrl] = React.useState("");
|
|
89
|
-
const [isGenerating, setIsGenerating] = React.useState(false);
|
|
87
|
+
const [downloadUrl, setDownloadUrl] = React$1.useState("");
|
|
88
|
+
const [isGenerating, setIsGenerating] = React$1.useState(false);
|
|
90
89
|
const {
|
|
91
90
|
mutate: exportCsv,
|
|
92
91
|
isPending
|
|
93
92
|
} = exportChannel.useExportData();
|
|
94
93
|
const isFileLoading = isPending || isGenerating;
|
|
95
|
-
const token = React.useMemo(() => `account-report-${index$1.uuidV4()}`, []);
|
|
94
|
+
const token = React$1.useMemo(() => `account-report-${index$1.uuidV4()}`, []);
|
|
96
95
|
const receivedCallback = data => {
|
|
97
96
|
if (!data.download_url) return;
|
|
98
97
|
setDownloadUrl(data.download_url);
|
|
@@ -113,7 +112,7 @@ const ExportModal = _ref => {
|
|
|
113
112
|
}
|
|
114
113
|
});
|
|
115
114
|
};
|
|
116
|
-
React.useEffect(() => {
|
|
115
|
+
React$1.useEffect(() => {
|
|
117
116
|
if (showExportModal) {
|
|
118
117
|
const channel = exportChannel.exportChannel(token, receivedCallback);
|
|
119
118
|
setDownloadUrl("");
|
|
@@ -125,28 +124,28 @@ const ExportModal = _ref => {
|
|
|
125
124
|
return undefined;
|
|
126
125
|
}, [showExportModal, token]);
|
|
127
126
|
const onClose = () => setShowExportModal(false);
|
|
128
|
-
return /*#__PURE__*/
|
|
127
|
+
return /*#__PURE__*/React.createElement(Modal__default["default"], {
|
|
129
128
|
onClose,
|
|
130
129
|
isOpen: showExportModal
|
|
131
|
-
}, /*#__PURE__*/
|
|
130
|
+
}, /*#__PURE__*/React.createElement(Modal__default["default"].Header, null, /*#__PURE__*/React.createElement(Typography__default["default"], {
|
|
132
131
|
style: "h2"
|
|
133
|
-
}, t("neetoPayments.export.title.account"))), /*#__PURE__*/
|
|
132
|
+
}, t("neetoPayments.export.title.account"))), /*#__PURE__*/React.createElement(Modal__default["default"].Body, null, isFileLoading ? /*#__PURE__*/React.createElement(Typography__default["default"], {
|
|
134
133
|
style: "body2"
|
|
135
|
-
}, t("neetoPayments.export.pleaseWait")) : /*#__PURE__*/
|
|
134
|
+
}, t("neetoPayments.export.pleaseWait")) : /*#__PURE__*/React.createElement(Typography__default["default"], {
|
|
136
135
|
style: "body2"
|
|
137
|
-
}, downloadUrl ? t("neetoPayments.export.fileReady") : t("neetoPayments.export.download.account"))), /*#__PURE__*/
|
|
136
|
+
}, downloadUrl ? t("neetoPayments.export.fileReady") : t("neetoPayments.export.download.account"))), /*#__PURE__*/React.createElement(Modal__default["default"].Footer, {
|
|
138
137
|
className: "space-x-2"
|
|
139
|
-
}, downloadUrl ? /*#__PURE__*/
|
|
138
|
+
}, downloadUrl ? /*#__PURE__*/React.createElement(Button__default["default"], {
|
|
140
139
|
href: downloadUrl,
|
|
141
140
|
icon: Download__default["default"],
|
|
142
141
|
label: t("neetoPayments.common.download"),
|
|
143
142
|
onClick: onClose
|
|
144
|
-
}) : /*#__PURE__*/
|
|
143
|
+
}) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button__default["default"], {
|
|
145
144
|
disabled: isFileLoading,
|
|
146
145
|
label: t("neetoPayments.common.cancel"),
|
|
147
146
|
style: "tertiary",
|
|
148
147
|
onClick: onClose
|
|
149
|
-
}), /*#__PURE__*/
|
|
148
|
+
}), /*#__PURE__*/React.createElement(Button__default["default"], {
|
|
150
149
|
disabled: isFileLoading,
|
|
151
150
|
label: t("neetoPayments.common.export"),
|
|
152
151
|
loading: isFileLoading,
|
|
@@ -159,9 +158,9 @@ const renderIdentifier = function () {
|
|
|
159
158
|
identifier = "",
|
|
160
159
|
isLive = false
|
|
161
160
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
162
|
-
return /*#__PURE__*/
|
|
161
|
+
return /*#__PURE__*/React.createElement(renderFunctions.CopyButtonWrapper, {
|
|
163
162
|
content: identifier
|
|
164
|
-
}, /*#__PURE__*/
|
|
163
|
+
}, /*#__PURE__*/React.createElement(IdentifierButton.IdentifierButton, {
|
|
165
164
|
href: index$1.buildStripeAccountLink(identifier, isLive),
|
|
166
165
|
label: identifier
|
|
167
166
|
}));
|
|
@@ -221,10 +220,10 @@ const COLUMNS = [{
|
|
|
221
220
|
|
|
222
221
|
const useFiltersAndPagination = () => {
|
|
223
222
|
const history = reactRouterDom.useHistory();
|
|
224
|
-
const [isFilterButtonVisible, setIsFilterButtonVisible] = React.useState(false);
|
|
225
|
-
const [isFilterPaneOpen, setIsFilterPaneOpen] = React.useState(false);
|
|
226
|
-
const [pageProperties, setPageProperties] = React.useState(renderFunctions.buildDefaultPageProperties(TABS));
|
|
227
|
-
const [sortProperties, setSortProperties] = React.useState(constants.DEFAULT_SORT_PROPERTIES);
|
|
223
|
+
const [isFilterButtonVisible, setIsFilterButtonVisible] = React$1.useState(false);
|
|
224
|
+
const [isFilterPaneOpen, setIsFilterPaneOpen] = React$1.useState(false);
|
|
225
|
+
const [pageProperties, setPageProperties] = React$1.useState(renderFunctions.buildDefaultPageProperties(TABS));
|
|
226
|
+
const [sortProperties, setSortProperties] = React$1.useState(constants.DEFAULT_SORT_PROPERTIES);
|
|
228
227
|
const {
|
|
229
228
|
tab = TAB.all
|
|
230
229
|
} = reactUtils.useQueryParams();
|
|
@@ -236,8 +235,8 @@ const useFiltersAndPagination = () => {
|
|
|
236
235
|
key: "search_term",
|
|
237
236
|
value: searchTerm.trim()
|
|
238
237
|
};
|
|
239
|
-
const [filters, setFilters] = React.useState(neetoFiltersFrontend.buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps]));
|
|
240
|
-
const [dataSize, setDataSize] = React.useState(null);
|
|
238
|
+
const [filters, setFilters] = React$1.useState(neetoFiltersFrontend.buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps]));
|
|
239
|
+
const [dataSize, setDataSize] = React$1.useState(null);
|
|
241
240
|
const columnData = tab !== TAB.all ? neetoCist.removeBy({
|
|
242
241
|
key: "status"
|
|
243
242
|
}, COLUMNS) : COLUMNS;
|
|
@@ -324,7 +323,7 @@ const List = _ref => {
|
|
|
324
323
|
tab
|
|
325
324
|
}));
|
|
326
325
|
const dataSize = views[tab];
|
|
327
|
-
React.useEffect(() => {
|
|
326
|
+
React$1.useEffect(() => {
|
|
328
327
|
setIsFilterButtonVisible(neetoCist.isPresent(accounts) || neetoCist.isPresent(filters));
|
|
329
328
|
setDataSize(dataSize);
|
|
330
329
|
}, [accounts]);
|
|
@@ -341,7 +340,7 @@ const List = _ref => {
|
|
|
341
340
|
pageSize
|
|
342
341
|
}));
|
|
343
342
|
};
|
|
344
|
-
React.useEffect(() => {
|
|
343
|
+
React$1.useEffect(() => {
|
|
345
344
|
handleTablePagination(constants$1.DEFAULT_PAGE_INDEX, constants$1.DEFAULT_PAGE_SIZE);
|
|
346
345
|
setSortProperties(constants.DEFAULT_SORT_PROPERTIES);
|
|
347
346
|
}, [filters, tab]);
|
|
@@ -352,20 +351,20 @@ const List = _ref => {
|
|
|
352
351
|
} : constants.DEFAULT_SORT_PROPERTIES);
|
|
353
352
|
};
|
|
354
353
|
if (isLoading) {
|
|
355
|
-
return /*#__PURE__*/
|
|
354
|
+
return /*#__PURE__*/React.createElement(PageLoader__default["default"], null);
|
|
356
355
|
}
|
|
357
356
|
if (dataSize <= 0 || !neetoCist.isPresent(accounts)) {
|
|
358
|
-
return /*#__PURE__*/
|
|
357
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
359
358
|
className: "flex h-full w-full items-center justify-center"
|
|
360
|
-
}, /*#__PURE__*/
|
|
359
|
+
}, /*#__PURE__*/React.createElement(NoData__default["default"], {
|
|
361
360
|
title: tab === TAB.all ? t("neetoPayments.emptyState.account") : t("neetoPayments.emptyState.accountWithStatus", {
|
|
362
361
|
status: tab
|
|
363
362
|
})
|
|
364
363
|
}));
|
|
365
364
|
}
|
|
366
|
-
return /*#__PURE__*/
|
|
365
|
+
return /*#__PURE__*/React.createElement(TableWrapper__default["default"], {
|
|
367
366
|
hasPagination: dataSize > pageProperties[tab]?.pageSize
|
|
368
|
-
}, /*#__PURE__*/
|
|
367
|
+
}, /*#__PURE__*/React.createElement(Table__default["default"], {
|
|
369
368
|
fixedHeight: true,
|
|
370
369
|
allowRowClick: false,
|
|
371
370
|
columnData: getVisibleColumnData(columnData),
|
|
@@ -397,11 +396,11 @@ const List = _ref => {
|
|
|
397
396
|
};
|
|
398
397
|
|
|
399
398
|
const AccountsDashboard = () => {
|
|
400
|
-
const [_, startTransition] = React.useTransition();
|
|
399
|
+
const [_, startTransition] = React$1.useTransition();
|
|
401
400
|
const {
|
|
402
401
|
t
|
|
403
402
|
} = reactI18next.useTranslation();
|
|
404
|
-
const [showExportModal, setShowExportModal] = React.useState(false);
|
|
403
|
+
const [showExportModal, setShowExportModal] = React$1.useState(false);
|
|
405
404
|
const {
|
|
406
405
|
isFilterButtonVisible,
|
|
407
406
|
isFilterPaneOpen,
|
|
@@ -426,19 +425,19 @@ const AccountsDashboard = () => {
|
|
|
426
425
|
setFilters(filters);
|
|
427
426
|
});
|
|
428
427
|
};
|
|
429
|
-
return /*#__PURE__*/
|
|
428
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header__default["default"], {
|
|
430
429
|
title: t("neetoPayments.title.account"),
|
|
431
430
|
searchProps: isFilterButtonVisible && {
|
|
432
431
|
placeholder: t("neetoPayments.common.search"),
|
|
433
432
|
className: "w-80"
|
|
434
433
|
}
|
|
435
|
-
}), isTabsVisible && /*#__PURE__*/
|
|
434
|
+
}), isTabsVisible && /*#__PURE__*/React.createElement(Tab__default["default"], null, TABS.map(item => /*#__PURE__*/React.createElement(Tab__default["default"].Item, {
|
|
436
435
|
active: tab === item,
|
|
437
436
|
key: item,
|
|
438
437
|
onClick: () => handleTabChange(item)
|
|
439
|
-
}, t(`neetoPayments.common.${item}`)))), /*#__PURE__*/
|
|
438
|
+
}, t(`neetoPayments.common.${item}`)))), /*#__PURE__*/React.createElement(SubHeader__default["default"], {
|
|
440
439
|
className: "mt-4",
|
|
441
|
-
leftActionBlock: neetoCist.isPresent(dataSize) && /*#__PURE__*/
|
|
440
|
+
leftActionBlock: neetoCist.isPresent(dataSize) && /*#__PURE__*/React.createElement(Typography__default["default"], {
|
|
442
441
|
className: "neeto-ui-gray-800 mr-2 font-semibold",
|
|
443
442
|
component: "h4"
|
|
444
443
|
}, tab === TAB.all ? t("neetoPayments.countOf.account", {
|
|
@@ -447,12 +446,12 @@ const AccountsDashboard = () => {
|
|
|
447
446
|
count: dataSize,
|
|
448
447
|
status: tab
|
|
449
448
|
})),
|
|
450
|
-
rightActionBlock: /*#__PURE__*/
|
|
449
|
+
rightActionBlock: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(neetoFiltersFrontend.Bar, {
|
|
451
450
|
columns: FILTER_COLUMNS,
|
|
452
451
|
keyword: searchKeywordProps,
|
|
453
452
|
setIsPaneOpen: setIsFilterPaneOpen,
|
|
454
453
|
onChange: handleFiltersChange
|
|
455
|
-
}), isFilterButtonVisible && /*#__PURE__*/
|
|
454
|
+
}), isFilterButtonVisible && /*#__PURE__*/React.createElement(SubHeader__default["default"].RightBlock, {
|
|
456
455
|
columnsButtonProps: {
|
|
457
456
|
columnData,
|
|
458
457
|
fixedColumns: DASHBOARD_MANDATORY_COLUMNS,
|
|
@@ -469,7 +468,7 @@ const AccountsDashboard = () => {
|
|
|
469
468
|
onChange: handleFiltersChange
|
|
470
469
|
}
|
|
471
470
|
}))
|
|
472
|
-
}), /*#__PURE__*/
|
|
471
|
+
}), /*#__PURE__*/React.createElement(List, {
|
|
473
472
|
columnData,
|
|
474
473
|
filters,
|
|
475
474
|
pageProperties,
|
|
@@ -479,7 +478,7 @@ const AccountsDashboard = () => {
|
|
|
479
478
|
setSortProperties,
|
|
480
479
|
sortProperties,
|
|
481
480
|
tab
|
|
482
|
-
}), /*#__PURE__*/
|
|
481
|
+
}), /*#__PURE__*/React.createElement(ExportModal, {
|
|
483
482
|
filters,
|
|
484
483
|
setShowExportModal,
|
|
485
484
|
showExportModal,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountsDashboard.js","sources":["../../app/javascript/src/components/AccountsDashboard/constants/index.js","../../app/javascript/src/components/AccountsDashboard/ExportModal.jsx","../../app/javascript/src/components/AccountsDashboard/utils/renderFunctions.jsx","../../app/javascript/src/components/AccountsDashboard/constants/columns.js","../../app/javascript/src/components/AccountsDashboard/hooks/useFiltersAndPagination.js","../../app/javascript/src/apis/stripe/accounts.js","../../app/javascript/src/hooks/reactQuery/stripe/useAccountsApi.js","../../app/javascript/src/components/AccountsDashboard/List.jsx","../../app/javascript/src/components/AccountsDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TAB = {\n all: \"all\",\n connected: \"connected\",\n disconnected: \"disconnected\",\n incomplete: \"incomplete\",\n};\n\nexport const TABS = Object.values(TAB);\n\nexport const SEARCH_PROPS = {\n key: \"keyword\",\n node: \"identifier,user.first_name,last_name,email\",\n model: \"NeetoPaymentsEngine::Stripe::Account,User\",\n};\n\nexport const DASHBOARD_MANDATORY_COLUMNS = [\"id\", \"status\", \"identifier\"];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"created_at\",\n label: t(\"neetoPayments.common.createdAt\"),\n node: \"created_at\",\n type: \"date\",\n showRuleSelector: true,\n },\n];\n\nexport const STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY =\n \"stripeAccountsDashboard\";\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport { Download } from \"neetoicons\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n showExportModal,\n setShowExportModal,\n tab,\n filters,\n sortProperties = {},\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { mutate: exportCsv, isPending } = useExportData();\n const isFileLoading = isPending || isGenerating;\n\n const token = useMemo(() => `account-report-${uuidV4()}`, []);\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n const handleGenerateClick = () => {\n const payload = {\n kind: \"account\",\n token,\n filters,\n tab,\n ...sortProperties,\n };\n\n exportCsv(payload, {\n onSuccess: () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n },\n });\n };\n\n useEffect(() => {\n if (showExportModal) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [showExportModal, token]);\n\n const onClose = () => setShowExportModal(false);\n\n return (\n <Modal {...{ onClose }} isOpen={showExportModal}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.export.title.account\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isFileLoading ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {downloadUrl\n ? t(\"neetoPayments.export.fileReady\")\n : t(\"neetoPayments.export.download.account\")}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {downloadUrl ? (\n <Button\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.export\")}\n loading={isFileLoading}\n onClick={handleGenerateClick}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { join, map, pipe, split } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport IdentifierButton from \"components/Dashboard/IdentifierButton\";\nimport { buildStripeAccountLink } from \"utils\";\n\nexport const renderIdentifier = ({ identifier = \"\", isLive = false } = {}) => (\n <CopyButtonWrapper content={identifier}>\n <IdentifierButton\n href={buildStripeAccountLink(identifier, isLive)}\n label={identifier}\n />\n </CopyButtonWrapper>\n);\n\nexport const renderCountry = pipe(split(\"_\"), map(capitalize), join(\" \"));\n","import { t } from \"i18next\";\n\nimport {\n renderDate,\n renderEmail,\n renderFullName,\n renderStatus,\n} from \"utils/renderFunctions\";\n\nimport { renderCountry, renderIdentifier } from \"../utils/renderFunctions\";\n\nexport const COLUMNS = [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: \"72px\",\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: \"300px\",\n render: renderIdentifier,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: \"150px\",\n render: renderStatus(\"account\"),\n sorter: true,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.name\"),\n dataIndex: \"first_name\",\n key: \"first_name\",\n width: \"300px\",\n sorter: true,\n render: renderFullName,\n },\n {\n title: t(\"neetoPayments.common.email\"),\n dataIndex: \"email\",\n key: \"email\",\n width: \"300px\",\n sorter: true,\n render: renderEmail,\n },\n {\n title: t(\"neetoPayments.common.country\"),\n dataIndex: \"country\",\n key: \"country\",\n width: \"150px\",\n render: renderCountry,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n width: \"220px\",\n render: renderDate,\n sorter: true,\n },\n];\n","import { useState } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport { buildDefaultPageProperties } from \"utils/dashboard\";\n\nimport { FILTER_COLUMNS, TAB, TABS, SEARCH_PROPS } from \"../constants\";\nimport { COLUMNS } from \"../constants/columns\";\n\nexport const useFiltersAndPagination = () => {\n const history = useHistory();\n const [isFilterButtonVisible, setIsFilterButtonVisible] = useState(false);\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n const [pageProperties, setPageProperties] = useState(\n buildDefaultPageProperties(TABS)\n );\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const { tab = TAB.all } = useQueryParams();\n\n const { searchTerm = \"\" } = getQueryParams();\n const searchKeywordProps = {\n ...SEARCH_PROPS,\n key: \"search_term\",\n value: searchTerm.trim(),\n };\n\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps])\n );\n const [dataSize, setDataSize] = useState(null);\n\n const columnData =\n tab !== TAB.all ? removeBy({ key: \"status\" }, COLUMNS) : COLUMNS;\n\n const handleTabChange = tab => {\n setDataSize(null);\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: pageProperties[tab]?.page,\n page_size: pageProperties[tab]?.pageSize,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n };\n};\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v1/stripe/accounts`, {\n params: payload,\n });\n\nconst accountsApi = { list };\n\nexport default accountsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport accountsApi from \"apis/stripe/accounts\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchConnectedAccounts = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.STRIPE_ACCOUNTS_LIST, payload],\n queryFn: () => accountsApi.list(payload),\n ...options,\n });\n","import React, { useEffect } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { 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 { useFetchConnectedAccounts } from \"hooks/reactQuery/stripe/useAccountsApi\";\nimport { DEFAULT_SORT_PROPERTIES, SORT_DIRECTIONS } from \"src/constants\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport {\n TAB,\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n} from \"./constants\";\n\nconst List = ({\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n const { hideColumn, getVisibleColumnData } = useHiddenColumns(\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY\n );\n\n const {\n data: { accounts = [], views = {} } = {},\n isLoading,\n isFetching,\n } = useFetchConnectedAccounts(\n buildPayload({ filters, pageProperties, sortProperties, tab })\n );\n\n const dataSize = views[tab];\n\n useEffect(() => {\n setIsFilterButtonVisible(isPresent(accounts) || isPresent(filters));\n setDataSize(dataSize);\n }, [accounts]);\n\n const handleTablePagination = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties(assoc(tab, { page, pageSize }));\n };\n\n useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(sorter.field),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isLoading) {\n return <PageLoader />;\n }\n\n if (dataSize <= 0 || !isPresent(accounts)) {\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.account\")\n : t(\"neetoPayments.emptyState.accountWithStatus\", { status: tab })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={dataSize > pageProperties[tab]?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={getVisibleColumnData(columnData)}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching}\n rowData={buildRowData({ data: accounts, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={dataSize}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties[tab]?.pageSize,\n total: dataSize,\n }}\n onChange={handleTableChange}\n onColumnHide={({ dataIndex }) => hideColumn(dataIndex)}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import React, { useState, useTransition } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\n\nimport {\n DASHBOARD_MANDATORY_COLUMNS,\n FILTER_COLUMNS,\n TAB,\n TABS,\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n} from \"./constants\";\nimport ExportModal from \"./ExportModal\";\nimport { useFiltersAndPagination } from \"./hooks/useFiltersAndPagination\";\nimport List from \"./List\";\n\nconst AccountsDashboard = () => {\n const [_, startTransition] = useTransition();\n const { t } = useTranslation();\n\n const [showExportModal, setShowExportModal] = useState(false);\n const {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n } = useFiltersAndPagination();\n\n const isTabsVisible = isFilterButtonVisible || tab !== \"all\";\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.account\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: t(\"neetoPayments.common.search\"),\n className: \"w-80\",\n }\n }\n />\n {isTabsVisible && (\n <Tab>\n {TABS.map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"mt-4\"\n leftActionBlock={\n isPresent(dataSize) && (\n <Typography\n className=\"neeto-ui-gray-800 mr-2 font-semibold\"\n component=\"h4\"\n >\n {tab === TAB.all\n ? t(\"neetoPayments.countOf.account\", { count: dataSize })\n : t(\"neetoPayments.countOf.accountWithStatus\", {\n count: dataSize,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n <>\n <FiltersBar\n columns={FILTER_COLUMNS}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n {isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData,\n fixedColumns: DASHBOARD_MANDATORY_COLUMNS,\n localStorageKey:\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n }}\n downloadButtonProps={{\n onClick: () => setShowExportModal(true),\n }}\n filterProps={{\n columns: FILTER_COLUMNS,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )}\n </>\n }\n />\n <List\n {...{\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n }}\n />\n <ExportModal\n {...{\n filters,\n setShowExportModal,\n showExportModal,\n sortProperties,\n tab,\n }}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(AccountsDashboard),\n t(\"neetoPayments.title.account\")\n);\n"],"names":["TAB","all","connected","disconnected","incomplete","TABS","Object","values","SEARCH_PROPS","key","node","model","DASHBOARD_MANDATORY_COLUMNS","FILTER_COLUMNS","label","t","type","showRuleSelector","STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY","ExportModal","_ref","showExportModal","setShowExportModal","tab","filters","sortProperties","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","mutate","exportCsv","isPending","useExportData","isFileLoading","token","useMemo","uuidV4","receivedCallback","data","download_url","handleGenerateClick","payload","kind","onSuccess","useEffect","channel","exportChannel","undefined","onClose","React","createElement","Modal","isOpen","Header","Typography","style","Body","Footer","className","Button","href","icon","Download","onClick","Fragment","disabled","loading","renderIdentifier","identifier","isLive","arguments","length","CopyButtonWrapper","content","IdentifierButton","buildStripeAccountLink","renderCountry","pipe","split","map","capitalize","join","COLUMNS","title","dataIndex","width","isHidable","render","renderStatus","sorter","renderFullName","renderEmail","renderDate","useFiltersAndPagination","history","useHistory","isFilterButtonVisible","setIsFilterButtonVisible","isFilterPaneOpen","setIsFilterPaneOpen","pageProperties","setPageProperties","buildDefaultPageProperties","setSortProperties","DEFAULT_SORT_PROPERTIES","useQueryParams","searchTerm","getQueryParams","searchKeywordProps","value","trim","setFilters","buildFiltersFromURL","dataSize","setDataSize","columnData","removeBy","handleTabChange","queryParams","toCamelCase","newParams","page","page_size","pageSize","push","buildUrl","window","location","pathname","mergeLeft","list","axios","get","BASE_URL","params","accountsApi","useFetchConnectedAccounts","options","useQuery","queryKey","QUERY_KEYS","STRIPE_ACCOUNTS_LIST","queryFn","List","hideColumn","getVisibleColumnData","useHiddenColumns","accounts","views","isLoading","isFetching","buildPayload","isPresent","handleTablePagination","assoc","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","handleTableChange","_","__","column","sortBy","camelToSnakeCase","field","orderBy","order","PageLoader","NoData","status","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","handlePageChange","rowData","buildRowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","_ref2","AccountsDashboard","startTransition","useTransition","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tab","item","Item","active","SubHeader","leftActionBlock","component","count","rightActionBlock","FiltersBar","columns","keyword","setIsPaneOpen","RightBlock","columnsButtonProps","fixedColumns","localStorageKey","downloadButtonProps","filterProps","setIsOpen","withTitle","withReactQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AccountsDashboard.js","sources":["../../app/javascript/src/components/AccountsDashboard/constants/index.js","../../app/javascript/src/components/AccountsDashboard/ExportModal.jsx","../../app/javascript/src/components/AccountsDashboard/utils/renderFunctions.jsx","../../app/javascript/src/components/AccountsDashboard/constants/columns.js","../../app/javascript/src/components/AccountsDashboard/hooks/useFiltersAndPagination.js","../../app/javascript/src/apis/stripe/accounts.js","../../app/javascript/src/hooks/reactQuery/stripe/useAccountsApi.js","../../app/javascript/src/components/AccountsDashboard/List.jsx","../../app/javascript/src/components/AccountsDashboard/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TAB = {\n all: \"all\",\n connected: \"connected\",\n disconnected: \"disconnected\",\n incomplete: \"incomplete\",\n};\n\nexport const TABS = Object.values(TAB);\n\nexport const SEARCH_PROPS = {\n key: \"keyword\",\n node: \"identifier,user.first_name,last_name,email\",\n model: \"NeetoPaymentsEngine::Stripe::Account,User\",\n};\n\nexport const DASHBOARD_MANDATORY_COLUMNS = [\"id\", \"status\", \"identifier\"];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"created_at\",\n label: t(\"neetoPayments.common.createdAt\"),\n node: \"created_at\",\n type: \"date\",\n showRuleSelector: true,\n },\n];\n\nexport const STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY =\n \"stripeAccountsDashboard\";\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { Download } from \"neetoicons\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportData } from \"hooks/reactQuery/stripe/useExportsApi\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n showExportModal,\n setShowExportModal,\n tab,\n filters,\n sortProperties = {},\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { mutate: exportCsv, isPending } = useExportData();\n const isFileLoading = isPending || isGenerating;\n\n const token = useMemo(() => `account-report-${uuidV4()}`, []);\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n const handleGenerateClick = () => {\n const payload = {\n kind: \"account\",\n token,\n filters,\n tab,\n ...sortProperties,\n };\n\n exportCsv(payload, {\n onSuccess: () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n },\n });\n };\n\n useEffect(() => {\n if (showExportModal) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [showExportModal, token]);\n\n const onClose = () => setShowExportModal(false);\n\n return (\n <Modal {...{ onClose }} isOpen={showExportModal}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.export.title.account\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isFileLoading ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {downloadUrl\n ? t(\"neetoPayments.export.fileReady\")\n : t(\"neetoPayments.export.download.account\")}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {downloadUrl ? (\n <Button\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n disabled={isFileLoading}\n label={t(\"neetoPayments.common.export\")}\n loading={isFileLoading}\n onClick={handleGenerateClick}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n","import { capitalize } from \"neetocist\";\nimport { join, map, pipe, split } from \"ramda\";\n\nimport CopyButtonWrapper from \"components/Common/CopyButtonWrapper\";\nimport IdentifierButton from \"components/Dashboard/IdentifierButton\";\nimport { buildStripeAccountLink } from \"utils\";\n\nexport const renderIdentifier = ({ identifier = \"\", isLive = false } = {}) => (\n <CopyButtonWrapper content={identifier}>\n <IdentifierButton\n href={buildStripeAccountLink(identifier, isLive)}\n label={identifier}\n />\n </CopyButtonWrapper>\n);\n\nexport const renderCountry = pipe(split(\"_\"), map(capitalize), join(\" \"));\n","import { t } from \"i18next\";\n\nimport {\n renderDate,\n renderEmail,\n renderFullName,\n renderStatus,\n} from \"utils/renderFunctions\";\n\nimport { renderCountry, renderIdentifier } from \"../utils/renderFunctions\";\n\nexport const COLUMNS = [\n {\n title: t(\"neetoPayments.common.id\"),\n dataIndex: \"id\",\n key: \"id\",\n width: \"72px\",\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.identifier\"),\n dataIndex: \"identifier\",\n key: \"identifier\",\n width: \"300px\",\n render: renderIdentifier,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: \"150px\",\n render: renderStatus(\"account\"),\n sorter: true,\n isHidable: false,\n },\n {\n title: t(\"neetoPayments.common.name\"),\n dataIndex: \"first_name\",\n key: \"first_name\",\n width: \"300px\",\n sorter: true,\n render: renderFullName,\n },\n {\n title: t(\"neetoPayments.common.email\"),\n dataIndex: \"email\",\n key: \"email\",\n width: \"300px\",\n sorter: true,\n render: renderEmail,\n },\n {\n title: t(\"neetoPayments.common.country\"),\n dataIndex: \"country\",\n key: \"country\",\n width: \"150px\",\n render: renderCountry,\n sorter: true,\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n width: \"220px\",\n render: renderDate,\n sorter: true,\n },\n];\n","import { useState } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { DEFAULT_SORT_PROPERTIES } from \"src/constants\";\nimport { buildDefaultPageProperties } from \"utils/dashboard\";\n\nimport { FILTER_COLUMNS, TAB, TABS, SEARCH_PROPS } from \"../constants\";\nimport { COLUMNS } from \"../constants/columns\";\n\nexport const useFiltersAndPagination = () => {\n const history = useHistory();\n const [isFilterButtonVisible, setIsFilterButtonVisible] = useState(false);\n const [isFilterPaneOpen, setIsFilterPaneOpen] = useState(false);\n const [pageProperties, setPageProperties] = useState(\n buildDefaultPageProperties(TABS)\n );\n const [sortProperties, setSortProperties] = useState(DEFAULT_SORT_PROPERTIES);\n const { tab = TAB.all } = useQueryParams();\n\n const { searchTerm = \"\" } = getQueryParams();\n const searchKeywordProps = {\n ...SEARCH_PROPS,\n key: \"search_term\",\n value: searchTerm.trim(),\n };\n\n const [filters, setFilters] = useState(\n buildFiltersFromURL([...FILTER_COLUMNS, searchKeywordProps])\n );\n const [dataSize, setDataSize] = useState(null);\n\n const columnData =\n tab !== TAB.all ? removeBy({ key: \"status\" }, COLUMNS) : COLUMNS;\n\n const handleTabChange = tab => {\n setDataSize(null);\n const queryParams = getQueryParams({ toCamelCase: false });\n const newParams = {\n tab,\n page: pageProperties[tab]?.page,\n page_size: pageProperties[tab]?.pageSize,\n };\n\n history.push(\n buildUrl(window.location.pathname, mergeLeft(newParams, queryParams))\n );\n };\n\n return {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n };\n};\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = payload =>\n axios.get(`${BASE_URL}/api/v1/stripe/accounts`, {\n params: payload,\n });\n\nconst accountsApi = { list };\n\nexport default accountsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport accountsApi from \"apis/stripe/accounts\";\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchConnectedAccounts = (payload = {}, options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.STRIPE_ACCOUNTS_LIST, payload],\n queryFn: () => accountsApi.list(payload),\n ...options,\n });\n","import { useEffect } from \"react\";\n\nimport { camelToSnakeCase, isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { 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 { useFetchConnectedAccounts } from \"hooks/reactQuery/stripe/useAccountsApi\";\nimport { DEFAULT_SORT_PROPERTIES, SORT_DIRECTIONS } from \"src/constants\";\nimport { buildPayload, buildRowData } from \"utils/dashboard\";\n\nimport {\n TAB,\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n} from \"./constants\";\n\nconst List = ({\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n}) => {\n const history = useHistory();\n const { t } = useTranslation();\n const { hideColumn, getVisibleColumnData } = useHiddenColumns(\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY\n );\n\n const {\n data: { accounts = [], views = {} } = {},\n isLoading,\n isFetching,\n } = useFetchConnectedAccounts(\n buildPayload({ filters, pageProperties, sortProperties, tab })\n );\n\n const dataSize = views[tab];\n\n useEffect(() => {\n setIsFilterButtonVisible(isPresent(accounts) || isPresent(filters));\n setDataSize(dataSize);\n }, [accounts]);\n\n const handleTablePagination = (page, pageSize) => {\n const queryParams = getQueryParams({ toCamelCase: false });\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page, page_size: pageSize }, queryParams)\n )\n );\n setPageProperties(assoc(tab, { page, pageSize }));\n };\n\n useEffect(() => {\n handleTablePagination(DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE);\n setSortProperties(DEFAULT_SORT_PROPERTIES);\n }, [filters, tab]);\n\n const handleTableChange = (_, __, sorter) => {\n setSortProperties(\n isPresent(sorter?.column)\n ? {\n sortBy: camelToSnakeCase(sorter.field),\n orderBy: sorter.order === \"ascend\" ? \"ASC\" : \"DESC\",\n }\n : DEFAULT_SORT_PROPERTIES\n );\n };\n\n if (isLoading) {\n return <PageLoader />;\n }\n\n if (dataSize <= 0 || !isPresent(accounts)) {\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.account\")\n : t(\"neetoPayments.emptyState.accountWithStatus\", { status: tab })\n }\n />\n </div>\n );\n }\n\n return (\n <TableWrapper hasPagination={dataSize > pageProperties[tab]?.pageSize}>\n <Table\n fixedHeight\n allowRowClick={false}\n columnData={getVisibleColumnData(columnData)}\n currentPageNumber={pageProperties[tab]?.page}\n handlePageChange={handleTablePagination}\n loading={isFetching}\n rowData={buildRowData({ data: accounts, pageProperties, tab })}\n rowSelection={false}\n sortDirections={SORT_DIRECTIONS}\n totalCount={dataSize}\n paginationProps={{\n showSizeChanger: true,\n hideOnSinglePage: true,\n pageSize: pageProperties[tab]?.pageSize,\n total: dataSize,\n }}\n onChange={handleTableChange}\n onColumnHide={({ dataIndex }) => hideColumn(dataIndex)}\n />\n </TableWrapper>\n );\n};\n\nexport default List;\n","import { useState, useTransition } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport Header from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Tab, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\n\nimport {\n DASHBOARD_MANDATORY_COLUMNS,\n FILTER_COLUMNS,\n TAB,\n TABS,\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n} from \"./constants\";\nimport ExportModal from \"./ExportModal\";\nimport { useFiltersAndPagination } from \"./hooks/useFiltersAndPagination\";\nimport List from \"./List\";\n\nconst AccountsDashboard = () => {\n const [_, startTransition] = useTransition();\n const { t } = useTranslation();\n\n const [showExportModal, setShowExportModal] = useState(false);\n const {\n isFilterButtonVisible,\n isFilterPaneOpen,\n pageProperties,\n filters,\n searchKeywordProps,\n tab,\n sortProperties,\n columnData,\n dataSize,\n setDataSize,\n setIsFilterButtonVisible,\n setIsFilterPaneOpen,\n setPageProperties,\n setFilters,\n handleTabChange,\n setSortProperties,\n } = useFiltersAndPagination();\n\n const isTabsVisible = isFilterButtonVisible || tab !== \"all\";\n\n const handleFiltersChange = filters => {\n startTransition(() => {\n setFilters(filters);\n });\n };\n\n return (\n <>\n <Header\n title={t(\"neetoPayments.title.account\")}\n searchProps={\n isFilterButtonVisible && {\n placeholder: t(\"neetoPayments.common.search\"),\n className: \"w-80\",\n }\n }\n />\n {isTabsVisible && (\n <Tab>\n {TABS.map(item => (\n <Tab.Item\n active={tab === item}\n key={item}\n onClick={() => handleTabChange(item)}\n >\n {t(`neetoPayments.common.${item}`)}\n </Tab.Item>\n ))}\n </Tab>\n )}\n <SubHeader\n className=\"mt-4\"\n leftActionBlock={\n isPresent(dataSize) && (\n <Typography\n className=\"neeto-ui-gray-800 mr-2 font-semibold\"\n component=\"h4\"\n >\n {tab === TAB.all\n ? t(\"neetoPayments.countOf.account\", { count: dataSize })\n : t(\"neetoPayments.countOf.accountWithStatus\", {\n count: dataSize,\n status: tab,\n })}\n </Typography>\n )\n }\n rightActionBlock={\n <>\n <FiltersBar\n columns={FILTER_COLUMNS}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFilterPaneOpen}\n onChange={handleFiltersChange}\n />\n {isFilterButtonVisible && (\n <SubHeader.RightBlock\n columnsButtonProps={{\n columnData,\n fixedColumns: DASHBOARD_MANDATORY_COLUMNS,\n localStorageKey:\n STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY,\n }}\n downloadButtonProps={{\n onClick: () => setShowExportModal(true),\n }}\n filterProps={{\n columns: FILTER_COLUMNS,\n isOpen: isFilterPaneOpen,\n keyword: searchKeywordProps,\n setIsOpen: setIsFilterPaneOpen,\n onChange: handleFiltersChange,\n }}\n />\n )}\n </>\n }\n />\n <List\n {...{\n columnData,\n filters,\n pageProperties,\n setDataSize,\n setIsFilterButtonVisible,\n setPageProperties,\n setSortProperties,\n sortProperties,\n tab,\n }}\n />\n <ExportModal\n {...{\n filters,\n setShowExportModal,\n showExportModal,\n sortProperties,\n tab,\n }}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(AccountsDashboard),\n t(\"neetoPayments.title.account\")\n);\n"],"names":["TAB","all","connected","disconnected","incomplete","TABS","Object","values","SEARCH_PROPS","key","node","model","DASHBOARD_MANDATORY_COLUMNS","FILTER_COLUMNS","label","t","type","showRuleSelector","STRIPE_ACCOUNTS_TABLE_HIDDEN_COLUMNS_STORAGE_KEY","ExportModal","_ref","showExportModal","setShowExportModal","tab","filters","sortProperties","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","mutate","exportCsv","isPending","useExportData","isFileLoading","token","useMemo","uuidV4","receivedCallback","data","download_url","handleGenerateClick","payload","kind","onSuccess","useEffect","channel","exportChannel","undefined","onClose","React","createElement","Modal","isOpen","Header","Typography","style","Body","Footer","className","Button","href","icon","Download","onClick","Fragment","disabled","loading","renderIdentifier","identifier","isLive","arguments","length","CopyButtonWrapper","content","IdentifierButton","buildStripeAccountLink","renderCountry","pipe","split","map","capitalize","join","COLUMNS","title","dataIndex","width","isHidable","render","renderStatus","sorter","renderFullName","renderEmail","renderDate","useFiltersAndPagination","history","useHistory","isFilterButtonVisible","setIsFilterButtonVisible","isFilterPaneOpen","setIsFilterPaneOpen","pageProperties","setPageProperties","buildDefaultPageProperties","setSortProperties","DEFAULT_SORT_PROPERTIES","useQueryParams","searchTerm","getQueryParams","searchKeywordProps","value","trim","setFilters","buildFiltersFromURL","dataSize","setDataSize","columnData","removeBy","handleTabChange","queryParams","toCamelCase","newParams","page","page_size","pageSize","push","buildUrl","window","location","pathname","mergeLeft","list","axios","get","BASE_URL","params","accountsApi","useFetchConnectedAccounts","options","useQuery","queryKey","QUERY_KEYS","STRIPE_ACCOUNTS_LIST","queryFn","List","hideColumn","getVisibleColumnData","useHiddenColumns","accounts","views","isLoading","isFetching","buildPayload","isPresent","handleTablePagination","assoc","DEFAULT_PAGE_INDEX","DEFAULT_PAGE_SIZE","handleTableChange","_","__","column","sortBy","camelToSnakeCase","field","orderBy","order","PageLoader","NoData","status","TableWrapper","hasPagination","Table","fixedHeight","allowRowClick","currentPageNumber","handlePageChange","rowData","buildRowData","rowSelection","sortDirections","SORT_DIRECTIONS","totalCount","paginationProps","showSizeChanger","hideOnSinglePage","total","onChange","onColumnHide","_ref2","AccountsDashboard","startTransition","useTransition","isTabsVisible","handleFiltersChange","searchProps","placeholder","Tab","item","Item","active","SubHeader","leftActionBlock","component","count","rightActionBlock","FiltersBar","columns","keyword","setIsPaneOpen","RightBlock","columnsButtonProps","fixedColumns","localStorageKey","downloadButtonProps","filterProps","setIsOpen","withTitle","withReactQuery"],"mappings":"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"}
|