@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,148 @@
|
|
|
1
|
+
import React__default, { useState } from 'react';
|
|
2
|
+
import { noop } from '@bigbinary/neeto-cist';
|
|
3
|
+
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
4
|
+
import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
5
|
+
import Form from '@bigbinary/neetoui/formik/Form';
|
|
6
|
+
import Input from '@bigbinary/neetoui/formik/Input';
|
|
7
|
+
import { useTranslation, Trans } from 'react-i18next';
|
|
8
|
+
import { useHistory } from 'react-router-dom';
|
|
9
|
+
import { t } from 'i18next';
|
|
10
|
+
import * as yup from 'yup';
|
|
11
|
+
import Alert from '@bigbinary/neetoui/Alert';
|
|
12
|
+
import Table from '@bigbinary/neetoui/Table';
|
|
13
|
+
import { isEmpty } from 'ramda';
|
|
14
|
+
import { dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
|
|
15
|
+
import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
|
|
16
|
+
import Typography from '@bigbinary/neetoui/Typography';
|
|
17
|
+
|
|
18
|
+
const VALIDATION_SCHEMA = yup.object({
|
|
19
|
+
upiId: yup.string().matches(/^[a-zA-Z0-9.-]{2,256}@[a-zA-Z][a-zA-Z]{2,64}$/, t("neetoPayments.upi.form.validation.invalidUpi")).required(t("neetoPayments.upi.form.validation.required"))
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const Add = _ref => {
|
|
23
|
+
let {
|
|
24
|
+
handleCreateUpiId
|
|
25
|
+
} = _ref;
|
|
26
|
+
const {
|
|
27
|
+
t
|
|
28
|
+
} = useTranslation();
|
|
29
|
+
const history = useHistory();
|
|
30
|
+
return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Form, {
|
|
31
|
+
formikProps: {
|
|
32
|
+
initialValues: {
|
|
33
|
+
upiId: ""
|
|
34
|
+
},
|
|
35
|
+
onSubmit: handleCreateUpiId,
|
|
36
|
+
validationSchema: VALIDATION_SCHEMA
|
|
37
|
+
}
|
|
38
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
39
|
+
className: "space-y-3"
|
|
40
|
+
}, /*#__PURE__*/React__default.createElement(Input, {
|
|
41
|
+
className: "w-64",
|
|
42
|
+
label: t("neetoPayments.upi.form.enterUpi"),
|
|
43
|
+
name: "upiId",
|
|
44
|
+
placeholder: t("neetoPayments.upi.form.enterUpi")
|
|
45
|
+
}), /*#__PURE__*/React__default.createElement(ActionBlock, {
|
|
46
|
+
cancelButtonProps: {
|
|
47
|
+
onClick: () => history.goBack()
|
|
48
|
+
},
|
|
49
|
+
submitButtonProps: {
|
|
50
|
+
label: t("neetoPayments.upi.form.add")
|
|
51
|
+
}
|
|
52
|
+
}))));
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const getColumnData = handleDeleteClick => [{
|
|
56
|
+
title: t("neetoPayments.common.upiId"),
|
|
57
|
+
dataIndex: "address",
|
|
58
|
+
key: "address",
|
|
59
|
+
width: 272,
|
|
60
|
+
render: (_, upiId) => /*#__PURE__*/React__default.createElement("div", {
|
|
61
|
+
className: "flex items-center justify-between gap-3"
|
|
62
|
+
}, /*#__PURE__*/React__default.createElement(Typography, {
|
|
63
|
+
className: "w-4/5",
|
|
64
|
+
style: "body2"
|
|
65
|
+
}, upiId.address), /*#__PURE__*/React__default.createElement(MoreDropdown, {
|
|
66
|
+
dropdownProps: {
|
|
67
|
+
strategy: "fixed"
|
|
68
|
+
},
|
|
69
|
+
menuItems: [{
|
|
70
|
+
key: "delete-meeting",
|
|
71
|
+
label: t("neetoPayments.common.delete"),
|
|
72
|
+
onClick: () => handleDeleteClick(upiId)
|
|
73
|
+
}]
|
|
74
|
+
}))
|
|
75
|
+
}, {
|
|
76
|
+
title: t("neetoPayments.common.createdAt"),
|
|
77
|
+
dataIndex: "createdAt",
|
|
78
|
+
key: "createdAt",
|
|
79
|
+
render: dateFormat.dateTime
|
|
80
|
+
}];
|
|
81
|
+
|
|
82
|
+
const List = _ref => {
|
|
83
|
+
let {
|
|
84
|
+
handleDeleteUpiId,
|
|
85
|
+
upiIds
|
|
86
|
+
} = _ref;
|
|
87
|
+
const {
|
|
88
|
+
t
|
|
89
|
+
} = useTranslation();
|
|
90
|
+
const [isAlertOpen, setIsAlertOpen] = useState(false);
|
|
91
|
+
const [selectedUpiId, setSelectedUpiId] = useState({});
|
|
92
|
+
const handleOpenDeleteModal = id => {
|
|
93
|
+
setSelectedUpiId(id);
|
|
94
|
+
setIsAlertOpen(true);
|
|
95
|
+
};
|
|
96
|
+
const handleAlertClose = () => {
|
|
97
|
+
setSelectedUpiId({});
|
|
98
|
+
setIsAlertOpen(false);
|
|
99
|
+
};
|
|
100
|
+
const handleAlertSubmit = () => {
|
|
101
|
+
handleDeleteUpiId(selectedUpiId);
|
|
102
|
+
setIsAlertOpen(false);
|
|
103
|
+
};
|
|
104
|
+
if (isEmpty(upiIds)) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Table, {
|
|
108
|
+
columnData: getColumnData(handleOpenDeleteModal),
|
|
109
|
+
rowData: upiIds
|
|
110
|
+
}), /*#__PURE__*/React__default.createElement(Alert, {
|
|
111
|
+
isOpen: isAlertOpen,
|
|
112
|
+
title: t("neetoPayments.upi.alert.title"),
|
|
113
|
+
message: /*#__PURE__*/React__default.createElement(Trans, {
|
|
114
|
+
components: {
|
|
115
|
+
b: /*#__PURE__*/React__default.createElement("strong", null)
|
|
116
|
+
},
|
|
117
|
+
i18nKey: "neetoPayments.upi.alert.message",
|
|
118
|
+
values: {
|
|
119
|
+
upiId: selectedUpiId.address
|
|
120
|
+
}
|
|
121
|
+
}),
|
|
122
|
+
onClose: handleAlertClose,
|
|
123
|
+
onSubmit: handleAlertSubmit
|
|
124
|
+
}));
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
const UpiConnect = _ref => {
|
|
128
|
+
let {
|
|
129
|
+
upiIds = [],
|
|
130
|
+
isLoading = false,
|
|
131
|
+
isDeleting = false,
|
|
132
|
+
handleDeleteUpiId = noop,
|
|
133
|
+
handleCreateUpiId = noop
|
|
134
|
+
} = _ref;
|
|
135
|
+
if (isLoading) return /*#__PURE__*/React__default.createElement(Spinner, null);
|
|
136
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
137
|
+
className: "flex w-full max-w-3xl flex-col items-start space-y-6"
|
|
138
|
+
}, /*#__PURE__*/React__default.createElement(Add, {
|
|
139
|
+
handleCreateUpiId
|
|
140
|
+
}), /*#__PURE__*/React__default.createElement(List, {
|
|
141
|
+
handleDeleteUpiId,
|
|
142
|
+
isDeleting,
|
|
143
|
+
upiIds
|
|
144
|
+
}));
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
export { UpiConnect as default };
|
|
148
|
+
//# sourceMappingURL=UpiConnect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpiConnect.js","sources":["../app/javascript/src/components/UpiConnect/constants.js","../app/javascript/src/components/UpiConnect/Add.jsx","../app/javascript/src/components/UpiConnect/utils.jsx","../app/javascript/src/components/UpiConnect/List.jsx","../app/javascript/src/components/UpiConnect/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as Yup from \"yup\";\n\nexport const VALIDATION_SCHEMA = Yup.object({\n upiId: Yup.string()\n .matches(\n /^[a-zA-Z0-9.-]{2,256}@[a-zA-Z][a-zA-Z]{2,64}$/,\n t(\"neetoPayments.upi.form.validation.invalidUpi\")\n )\n .required(t(\"neetoPayments.upi.form.validation.required\")),\n});\n","import React from \"react\";\n\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { VALIDATION_SCHEMA } from \"./constants\";\n\nconst Add = ({ handleCreateUpiId }) => {\n const { t } = useTranslation();\n\n const history = useHistory();\n\n return (\n <div>\n <Form\n formikProps={{\n initialValues: { upiId: \"\" },\n onSubmit: handleCreateUpiId,\n validationSchema: VALIDATION_SCHEMA,\n }}\n >\n <div className=\"space-y-3\">\n <Input\n className=\"w-64\"\n label={t(\"neetoPayments.upi.form.enterUpi\")}\n name=\"upiId\"\n placeholder={t(\"neetoPayments.upi.form.enterUpi\")}\n />\n <ActionBlock\n cancelButtonProps={{ onClick: () => history.goBack() }}\n submitButtonProps={{ label: t(\"neetoPayments.upi.form.add\") }}\n />\n </div>\n </Form>\n </div>\n );\n};\n\nexport default Add;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography } from \"neetoui\";\n\nexport const getColumnData = handleDeleteClick => [\n {\n title: t(\"neetoPayments.common.upiId\"),\n dataIndex: \"address\",\n key: \"address\",\n width: 272,\n render: (_, upiId) => (\n <div className=\"flex items-center justify-between gap-3\">\n <Typography className=\"w-4/5\" style=\"body2\">\n {upiId.address}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"delete-meeting\",\n label: t(\"neetoPayments.common.delete\"),\n onClick: () => handleDeleteClick(upiId),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoPayments.common.createdAt\"),\n dataIndex: \"createdAt\",\n key: \"createdAt\",\n render: dateFormat.dateTime,\n },\n];\n","import React, { useState } from \"react\";\n\nimport { Alert, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { getColumnData } from \"./utils\";\n\nconst List = ({ handleDeleteUpiId, upiIds }) => {\n const { t } = useTranslation();\n\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n const [selectedUpiId, setSelectedUpiId] = useState({});\n\n const handleOpenDeleteModal = id => {\n setSelectedUpiId(id);\n setIsAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setSelectedUpiId({});\n setIsAlertOpen(false);\n };\n\n const handleAlertSubmit = () => {\n handleDeleteUpiId(selectedUpiId);\n setIsAlertOpen(false);\n };\n\n if (isEmpty(upiIds)) {\n return null;\n }\n\n return (\n <>\n <Table\n columnData={getColumnData(handleOpenDeleteModal)}\n rowData={upiIds}\n />\n <Alert\n isOpen={isAlertOpen}\n title={t(\"neetoPayments.upi.alert.title\")}\n message={\n <Trans\n components={{ b: <strong /> }}\n i18nKey=\"neetoPayments.upi.alert.message\"\n values={{ upiId: selectedUpiId.address }}\n />\n }\n onClose={handleAlertClose}\n onSubmit={handleAlertSubmit}\n />\n </>\n );\n};\n\nexport default List;\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Spinner } from \"neetoui\";\n\nimport Add from \"./Add\";\nimport List from \"./List\";\n\nconst UpiConnect = ({\n upiIds = [],\n isLoading = false,\n isDeleting = false,\n handleDeleteUpiId = noop,\n handleCreateUpiId = noop,\n}) => {\n if (isLoading) return <Spinner />;\n\n return (\n <div className=\"flex w-full max-w-3xl flex-col items-start space-y-6\">\n <Add {...{ handleCreateUpiId }} />\n <List {...{ handleDeleteUpiId, isDeleting, upiIds }} />\n </div>\n );\n};\n\nexport default UpiConnect;\n"],"names":["VALIDATION_SCHEMA","Yup","object","upiId","string","matches","t","required","Add","_ref","handleCreateUpiId","useTranslation","history","useHistory","React","createElement","Form","formikProps","initialValues","onSubmit","validationSchema","className","Input","label","name","placeholder","ActionBlock","cancelButtonProps","onClick","goBack","submitButtonProps","getColumnData","handleDeleteClick","title","dataIndex","key","width","render","_","Typography","style","address","MoreDropdown","dropdownProps","strategy","menuItems","dateFormat","dateTime","List","handleDeleteUpiId","upiIds","isAlertOpen","setIsAlertOpen","useState","selectedUpiId","setSelectedUpiId","handleOpenDeleteModal","id","handleAlertClose","handleAlertSubmit","isEmpty","Fragment","Table","columnData","rowData","Alert","isOpen","message","Trans","components","b","i18nKey","values","onClose","UpiConnect","isLoading","isDeleting","noop","Spinner"],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { noop } from '@bigbinary/neeto-cist';
|
|
3
|
+
import Button from '@bigbinary/neetoui/Button';
|
|
4
|
+
import { useTranslation } from 'react-i18next';
|
|
5
|
+
import { u as useUpdateUpiPayment } from './usePaymentsApi-a801ab15.js';
|
|
6
|
+
import './useMutation-8d67f853.js';
|
|
7
|
+
import './mutation-286611ef.js';
|
|
8
|
+
import './utils-e29db9c9.js';
|
|
9
|
+
import 'react/jsx-runtime';
|
|
10
|
+
import 'axios';
|
|
11
|
+
import './constants.js';
|
|
12
|
+
import 'i18next';
|
|
13
|
+
import '@bigbinary/neeto-commons-frontend/constants';
|
|
14
|
+
|
|
15
|
+
const UpiMarkAsPaidButton = _ref => {
|
|
16
|
+
let {
|
|
17
|
+
paymentId,
|
|
18
|
+
payableId,
|
|
19
|
+
onSuccess = noop
|
|
20
|
+
} = _ref;
|
|
21
|
+
const {
|
|
22
|
+
t
|
|
23
|
+
} = useTranslation();
|
|
24
|
+
const {
|
|
25
|
+
mutate: updateUpiPayment,
|
|
26
|
+
isLoading
|
|
27
|
+
} = useUpdateUpiPayment(paymentId, {
|
|
28
|
+
onSuccess
|
|
29
|
+
});
|
|
30
|
+
const handleClick = () => updateUpiPayment({
|
|
31
|
+
status: "successful",
|
|
32
|
+
payableId
|
|
33
|
+
});
|
|
34
|
+
return /*#__PURE__*/React__default.createElement(Button, {
|
|
35
|
+
label: t("neetoPayments.upi.payment.buttons.markAsPaid"),
|
|
36
|
+
loading: isLoading,
|
|
37
|
+
onClick: handleClick
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { UpiMarkAsPaidButton as default };
|
|
42
|
+
//# sourceMappingURL=UpiMarkAsPaidButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpiMarkAsPaidButton.js","sources":["../app/javascript/src/components/UpiMarkAsPaidButton.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateUpiPayment } from \"hooks/reactQuery/upi/usePaymentsApi\";\n\nconst UpiMarkAsPaidButton = ({ paymentId, payableId, onSuccess = noop }) => {\n const { t } = useTranslation();\n const { mutate: updateUpiPayment, isLoading } = useUpdateUpiPayment(\n paymentId,\n { onSuccess }\n );\n\n const handleClick = () =>\n updateUpiPayment({ status: \"successful\", payableId });\n\n return (\n <Button\n label={t(\"neetoPayments.upi.payment.buttons.markAsPaid\")}\n loading={isLoading}\n onClick={handleClick}\n />\n );\n};\n\nexport default UpiMarkAsPaidButton;\n"],"names":["UpiMarkAsPaidButton","_ref","paymentId","payableId","onSuccess","noop","t","useTranslation","mutate","updateUpiPayment","isLoading","useUpdateUpiPayment","handleClick","status","React","createElement","Button","label","loading","onClick"],"mappings":";;;;;;;;;;;;;;AAQMA,MAAAA,mBAAmB,GAAGC,IAAA,IAAgD;EAAA,IAA/C;IAAEC,SAAS;IAAEC,SAAS;AAAEC,IAAAA,SAAS,GAAGC,IAAAA;AAAK,GAAC,GAAAJ,IAAA,CAAA;EACrE,MAAM;AAAEK,IAAAA,CAAAA;GAAG,GAAGC,cAAc,EAAE,CAAA;EAC9B,MAAM;AAAEC,IAAAA,MAAM,EAAEC,gBAAgB;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAGC,mBAAmB,CACjET,SAAS,EACT;AAAEE,IAAAA,SAAAA;AAAU,GACd,CAAC,CAAA;AAED,EAAA,MAAMQ,WAAW,GAAGA,MAClBH,gBAAgB,CAAC;AAAEI,IAAAA,MAAM,EAAE,YAAY;AAAEV,IAAAA,SAAAA;AAAU,GAAC,CAAC,CAAA;AAEvD,EAAA,oBACEW,cAAA,CAAAC,aAAA,CAACC,MAAM,EAAA;AACLC,IAAAA,KAAK,EAAEX,CAAC,CAAC,8CAA8C,CAAE;AACzDY,IAAAA,OAAO,EAAER,SAAU;AACnBS,IAAAA,OAAO,EAAEP,WAAAA;AAAY,GACtB,CAAC,CAAA;AAEN;;;;"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { isPresent, noop } from '@bigbinary/neeto-cist';
|
|
3
|
+
import Typography from '@bigbinary/neetoui/Typography';
|
|
4
|
+
import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
5
|
+
import Form from '@bigbinary/neetoui/formik/Form';
|
|
6
|
+
import Input from '@bigbinary/neetoui/formik/Input';
|
|
7
|
+
import QRCodeImage from 'qrcode.react';
|
|
8
|
+
import { pluck } from 'ramda';
|
|
9
|
+
import { useTranslation } from 'react-i18next';
|
|
10
|
+
import { a as useCreateUpiPayment } from './usePaymentsApi-a801ab15.js';
|
|
11
|
+
import { t } from 'i18next';
|
|
12
|
+
import * as yup from 'yup';
|
|
13
|
+
import './useMutation-8d67f853.js';
|
|
14
|
+
import './mutation-286611ef.js';
|
|
15
|
+
import './utils-e29db9c9.js';
|
|
16
|
+
import 'react/jsx-runtime';
|
|
17
|
+
import 'axios';
|
|
18
|
+
import './constants.js';
|
|
19
|
+
import '@bigbinary/neeto-commons-frontend/constants';
|
|
20
|
+
|
|
21
|
+
const VALIDATION_SCHEMA = yup.object({
|
|
22
|
+
transactionId: yup.string().required(t("neetoPayments.upi.payment.transaction.required")).min(6, t("neetoPayments.upi.payment.transaction.sixCharacters")).max(6, t("neetoPayments.upi.payment.transaction.sixCharacters"))
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const vpaIdToQrCodeValue = vpaId => `upi://pay?pa=${vpaId}`;
|
|
26
|
+
|
|
27
|
+
const UpiPayment = _ref => {
|
|
28
|
+
let {
|
|
29
|
+
fee = {},
|
|
30
|
+
onSubmit = noop,
|
|
31
|
+
onBackClick = noop,
|
|
32
|
+
payableId
|
|
33
|
+
} = _ref;
|
|
34
|
+
const {
|
|
35
|
+
t
|
|
36
|
+
} = useTranslation();
|
|
37
|
+
const vpaIds = pluck("address", fee?.vpas);
|
|
38
|
+
const {
|
|
39
|
+
mutate: createPayment
|
|
40
|
+
} = useCreateUpiPayment({});
|
|
41
|
+
const handleSubmit = values => {
|
|
42
|
+
const payload = {
|
|
43
|
+
...values,
|
|
44
|
+
payableId
|
|
45
|
+
};
|
|
46
|
+
createPayment(payload);
|
|
47
|
+
onSubmit(values);
|
|
48
|
+
};
|
|
49
|
+
return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Form, {
|
|
50
|
+
className: "space-y-4",
|
|
51
|
+
formikProps: {
|
|
52
|
+
onSubmit: handleSubmit,
|
|
53
|
+
initialValues: {
|
|
54
|
+
transactionId: ""
|
|
55
|
+
},
|
|
56
|
+
validationSchema: VALIDATION_SCHEMA
|
|
57
|
+
}
|
|
58
|
+
}, /*#__PURE__*/React__default.createElement(Typography, {
|
|
59
|
+
style: "body1"
|
|
60
|
+
}, t("neetoPayments.upi.payment.vpaText", {
|
|
61
|
+
count: vpaIds.length
|
|
62
|
+
})), isPresent(vpaIds) && /*#__PURE__*/React__default.createElement("div", {
|
|
63
|
+
className: "grid grid-cols-1 gap-8 gap-y-4 sm:grid-cols-2"
|
|
64
|
+
}, vpaIds.map(vpaId => /*#__PURE__*/React__default.createElement("div", {
|
|
65
|
+
className: "flex flex-col items-center justify-center",
|
|
66
|
+
key: vpaId
|
|
67
|
+
}, /*#__PURE__*/React__default.createElement(QRCodeImage, {
|
|
68
|
+
size: 256,
|
|
69
|
+
style: {
|
|
70
|
+
width: 80,
|
|
71
|
+
height: 80
|
|
72
|
+
},
|
|
73
|
+
value: vpaIdToQrCodeValue(vpaId)
|
|
74
|
+
}), /*#__PURE__*/React__default.createElement(Typography, {
|
|
75
|
+
className: "mt-2 w-full break-words text-center",
|
|
76
|
+
style: "body2"
|
|
77
|
+
}, vpaId)))), /*#__PURE__*/React__default.createElement(Input, {
|
|
78
|
+
required: true,
|
|
79
|
+
label: t("neetoPayments.upi.payment.transaction.label"),
|
|
80
|
+
name: "transactionId",
|
|
81
|
+
placeholder: t("neetoPayments.upi.payment.transaction.placeholder")
|
|
82
|
+
}), /*#__PURE__*/React__default.createElement(ActionBlock, {
|
|
83
|
+
cancelButtonProps: {
|
|
84
|
+
label: t("neetoPayments.upi.payment.buttons.back"),
|
|
85
|
+
onClick: onBackClick
|
|
86
|
+
},
|
|
87
|
+
submitButtonProps: {
|
|
88
|
+
label: t("neetoPayments.upi.payment.buttons.submit")
|
|
89
|
+
}
|
|
90
|
+
})));
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export { UpiPayment as default };
|
|
94
|
+
//# sourceMappingURL=UpiPayment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpiPayment.js","sources":["../app/javascript/src/components/UpiPayment/constants.js","../app/javascript/src/components/UpiPayment/utils.js","../app/javascript/src/components/UpiPayment/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const VALIDATION_SCHEMA = yup.object({\n transactionId: yup\n .string()\n .required(t(\"neetoPayments.upi.payment.transaction.required\"))\n .min(6, t(\"neetoPayments.upi.payment.transaction.sixCharacters\"))\n .max(6, t(\"neetoPayments.upi.payment.transaction.sixCharacters\")),\n});\n","export const vpaIdToQrCodeValue = vpaId => `upi://pay?pa=${vpaId}`;\n","import React from \"react\";\n\nimport { noop, isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport QRCodeImage from \"qrcode.react\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateUpiPayment } from \"hooks/reactQuery/upi/usePaymentsApi\";\n\nimport { VALIDATION_SCHEMA } from \"./constants\";\nimport { vpaIdToQrCodeValue } from \"./utils\";\n\nconst UpiPayment = ({\n fee = {},\n onSubmit = noop,\n onBackClick = noop,\n payableId,\n}) => {\n const { t } = useTranslation();\n\n const vpaIds = pluck(\"address\", fee?.vpas);\n\n const { mutate: createPayment } = useCreateUpiPayment({});\n\n const handleSubmit = values => {\n const payload = { ...values, payableId };\n createPayment(payload);\n onSubmit(values);\n };\n\n return (\n <div>\n <Form\n className=\"space-y-4\"\n formikProps={{\n onSubmit: handleSubmit,\n initialValues: { transactionId: \"\" },\n validationSchema: VALIDATION_SCHEMA,\n }}\n >\n <Typography style=\"body1\">\n {t(\"neetoPayments.upi.payment.vpaText\", { count: vpaIds.length })}\n </Typography>\n {isPresent(vpaIds) && (\n <div className=\"grid grid-cols-1 gap-8 gap-y-4 sm:grid-cols-2\">\n {vpaIds.map(vpaId => (\n <div\n className=\"flex flex-col items-center justify-center\"\n key={vpaId}\n >\n <QRCodeImage\n size={256}\n style={{ width: 80, height: 80 }}\n value={vpaIdToQrCodeValue(vpaId)}\n />\n <Typography\n className=\"mt-2 w-full break-words text-center\"\n style=\"body2\"\n >\n {vpaId}\n </Typography>\n </div>\n ))}\n </div>\n )}\n <Input\n required\n label={t(\"neetoPayments.upi.payment.transaction.label\")}\n name=\"transactionId\"\n placeholder={t(\"neetoPayments.upi.payment.transaction.placeholder\")}\n />\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.back\"),\n onClick: onBackClick,\n }}\n submitButtonProps={{\n label: t(\"neetoPayments.upi.payment.buttons.submit\"),\n }}\n />\n </Form>\n </div>\n );\n};\n\nexport default UpiPayment;\n"],"names":["VALIDATION_SCHEMA","yup","object","transactionId","string","required","t","min","max","vpaIdToQrCodeValue","vpaId","UpiPayment","_ref","fee","onSubmit","noop","onBackClick","payableId","useTranslation","vpaIds","pluck","vpas","mutate","createPayment","useCreateUpiPayment","handleSubmit","values","payload","React","createElement","Form","className","formikProps","initialValues","validationSchema","Typography","style","count","length","isPresent","map","key","QRCodeImage","size","width","height","value","Input","label","name","placeholder","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { _ as _extends } from './extends-093996c9.js';
|
|
2
|
+
import React__default, { useEffect } from 'react';
|
|
3
|
+
import { t } from 'i18next';
|
|
4
|
+
import { withTitle } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
5
|
+
import { useTranslation } from 'react-i18next';
|
|
6
|
+
import { u as useFiltersAndPagination, F as FilterWrapper } from './useFiltersAndPagination-2ab7bc8f.js';
|
|
7
|
+
import { r as renderStatus, c as renderDate, e as buildPayload, w as withReactQuery } from './renderFunctions-97b121a4.js';
|
|
8
|
+
import { isPresent, camelToSnakeCase } from '@bigbinary/neeto-cist';
|
|
9
|
+
import { getQueryParams, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
|
|
10
|
+
import { useHiddenColumns } from '@bigbinary/neeto-molecules/Columns';
|
|
11
|
+
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
12
|
+
import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
|
|
13
|
+
import Table from '@bigbinary/neetoui/Table';
|
|
14
|
+
import NoData from '@bigbinary/neetoui/NoData';
|
|
15
|
+
import { isEmpty, mergeLeft, assoc } from 'ramda';
|
|
16
|
+
import { useHistory } from 'react-router-dom';
|
|
17
|
+
import { u as useQuery, Q as QUERY_KEYS } from './queryConstants-765c8816.js';
|
|
18
|
+
import axios from 'axios';
|
|
19
|
+
import { BASE_URL, SORT_DIRECTIONS, DEFAULT_SORT_PROPERTIES } from './constants.js';
|
|
20
|
+
import { p as processDataIndex } from './index-48f8b281.js';
|
|
21
|
+
import '@bigbinary/neeto-filters-frontend';
|
|
22
|
+
import '@bigbinary/neeto-molecules/Header';
|
|
23
|
+
import '@bigbinary/neeto-molecules/SubHeader';
|
|
24
|
+
import '@bigbinary/neetoui/Tab';
|
|
25
|
+
import '@bigbinary/neetoui/Typography';
|
|
26
|
+
import './index-1aedc364.js';
|
|
27
|
+
import '@bigbinary/neetoui/Button';
|
|
28
|
+
import '@bigbinary/neetoui/Tooltip';
|
|
29
|
+
import './utils-e29db9c9.js';
|
|
30
|
+
import 'react/jsx-runtime';
|
|
31
|
+
import '@bigbinary/neeto-commons-frontend/constants';
|
|
32
|
+
import './mutation-286611ef.js';
|
|
33
|
+
import '@bigbinary/neeto-molecules/DateFormat';
|
|
34
|
+
import '@bigbinary/neetoui/Tag';
|
|
35
|
+
import '@bigbinary/neeto-molecules/CopyToClipboardButton';
|
|
36
|
+
|
|
37
|
+
const TAB = {
|
|
38
|
+
all: "all",
|
|
39
|
+
successful: "successful",
|
|
40
|
+
declined: "declined"
|
|
41
|
+
};
|
|
42
|
+
const TABS = Object.values(TAB);
|
|
43
|
+
const COLUMNS = [{
|
|
44
|
+
title: t("neetoPayments.common.id"),
|
|
45
|
+
dataIndex: "id",
|
|
46
|
+
key: "id",
|
|
47
|
+
width: "72px",
|
|
48
|
+
isHidable: false
|
|
49
|
+
}, {
|
|
50
|
+
title: t("neetoPayments.common.transactionId"),
|
|
51
|
+
dataIndex: "identifier",
|
|
52
|
+
key: "identifier",
|
|
53
|
+
width: "290px",
|
|
54
|
+
isHidable: false
|
|
55
|
+
}, {
|
|
56
|
+
title: t("neetoPayments.common.status"),
|
|
57
|
+
dataIndex: "status",
|
|
58
|
+
key: "status",
|
|
59
|
+
sorter: true,
|
|
60
|
+
width: "150px",
|
|
61
|
+
render: renderStatus("upiTransaction"),
|
|
62
|
+
isHidable: false
|
|
63
|
+
}, {
|
|
64
|
+
title: t("neetoPayments.common.amount"),
|
|
65
|
+
dataIndex: "amount",
|
|
66
|
+
key: "amount",
|
|
67
|
+
sorter: true,
|
|
68
|
+
width: "150px"
|
|
69
|
+
}, {
|
|
70
|
+
title: t("neetoPayments.common.paymentTime"),
|
|
71
|
+
dataIndex: "paymentAt",
|
|
72
|
+
key: "paymentTime",
|
|
73
|
+
sorter: true,
|
|
74
|
+
width: "220px",
|
|
75
|
+
render: renderDate
|
|
76
|
+
}];
|
|
77
|
+
const COLUMN_METADATA = {
|
|
78
|
+
status: {
|
|
79
|
+
isHidden: {
|
|
80
|
+
successful: true,
|
|
81
|
+
declined: true,
|
|
82
|
+
pending: true,
|
|
83
|
+
refunded: true
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const list = payload => axios.get(`${BASE_URL}/api/v2/payments`, {
|
|
89
|
+
params: payload
|
|
90
|
+
});
|
|
91
|
+
const paymentsApi = {
|
|
92
|
+
list
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const useFetchV2Payments = function () {
|
|
96
|
+
let payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
97
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
98
|
+
return useQuery({
|
|
99
|
+
queryKey: [QUERY_KEYS.V2_PAYMENTS, payload],
|
|
100
|
+
queryFn: () => paymentsApi.list(payload),
|
|
101
|
+
...options
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
const buildPaymentColumns = _ref => {
|
|
106
|
+
let {
|
|
107
|
+
tab,
|
|
108
|
+
kind,
|
|
109
|
+
payableEntityColumns = []
|
|
110
|
+
} = _ref;
|
|
111
|
+
return COLUMNS.filter(_ref2 => {
|
|
112
|
+
let {
|
|
113
|
+
key
|
|
114
|
+
} = _ref2;
|
|
115
|
+
return !(COLUMN_METADATA[key]?.isHidden?.[kind] || COLUMN_METADATA[key]?.isHidden?.[tab]);
|
|
116
|
+
}).concat(payableEntityColumns.filter(_ref3 => {
|
|
117
|
+
let {
|
|
118
|
+
isHidden
|
|
119
|
+
} = _ref3;
|
|
120
|
+
return !(isHidden?.[tab] || isHidden?.[kind]);
|
|
121
|
+
}));
|
|
122
|
+
};
|
|
123
|
+
const buildRowData = _ref4 => {
|
|
124
|
+
let {
|
|
125
|
+
data,
|
|
126
|
+
pageProperties = {},
|
|
127
|
+
tab = "all"
|
|
128
|
+
} = _ref4;
|
|
129
|
+
return data.map((element, index) => ({
|
|
130
|
+
...element,
|
|
131
|
+
payable: element.payable,
|
|
132
|
+
identifier: element.identifier,
|
|
133
|
+
id: isEmpty(pageProperties) ? index + 1 : pageProperties[tab]?.pageSize * (pageProperties[tab]?.page - 1) + index + 1
|
|
134
|
+
}));
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
const List = _ref => {
|
|
138
|
+
let {
|
|
139
|
+
kind,
|
|
140
|
+
filters,
|
|
141
|
+
setIsFilterButtonVisible,
|
|
142
|
+
pageProperties,
|
|
143
|
+
payableEntityColumns,
|
|
144
|
+
setPageProperties,
|
|
145
|
+
tab,
|
|
146
|
+
sortProperties,
|
|
147
|
+
setSortProperties,
|
|
148
|
+
setDataSize
|
|
149
|
+
} = _ref;
|
|
150
|
+
const history = useHistory();
|
|
151
|
+
const {
|
|
152
|
+
t
|
|
153
|
+
} = useTranslation();
|
|
154
|
+
const columnData = buildPaymentColumns({
|
|
155
|
+
tab,
|
|
156
|
+
kind,
|
|
157
|
+
payableEntityColumns
|
|
158
|
+
});
|
|
159
|
+
const payload = buildPayload({
|
|
160
|
+
tab,
|
|
161
|
+
filters,
|
|
162
|
+
pageProperties,
|
|
163
|
+
sortProperties
|
|
164
|
+
});
|
|
165
|
+
const {
|
|
166
|
+
hideColumn,
|
|
167
|
+
hiddenColumns = []
|
|
168
|
+
} = useHiddenColumns(`paymentDashboard_${kind}`);
|
|
169
|
+
const {
|
|
170
|
+
data: {
|
|
171
|
+
payments,
|
|
172
|
+
views = {}
|
|
173
|
+
} = {},
|
|
174
|
+
isLoading: isPaymentsLoading,
|
|
175
|
+
isFetching
|
|
176
|
+
} = useFetchV2Payments(payload);
|
|
177
|
+
useEffect(() => {
|
|
178
|
+
setIsFilterButtonVisible(isPresent(payments) || isPresent(filters));
|
|
179
|
+
setDataSize(views[tab]);
|
|
180
|
+
}, [payments]);
|
|
181
|
+
const handleTablePaginaton = (page, pageSize) => {
|
|
182
|
+
const queryParams = getQueryParams({
|
|
183
|
+
toCamelCase: false
|
|
184
|
+
});
|
|
185
|
+
history.push(buildUrl(window.location.pathname, mergeLeft({
|
|
186
|
+
page,
|
|
187
|
+
page_size: pageSize
|
|
188
|
+
}, queryParams)));
|
|
189
|
+
setPageProperties(assoc(tab, {
|
|
190
|
+
page,
|
|
191
|
+
pageSize
|
|
192
|
+
}));
|
|
193
|
+
};
|
|
194
|
+
const handleTableChange = (_, __, sorter) => {
|
|
195
|
+
setSortProperties(isPresent(sorter?.column) ? {
|
|
196
|
+
sortBy: camelToSnakeCase(sorter.field),
|
|
197
|
+
orderBy: sorter.order === "ascend" ? "ASC" : "DESC"
|
|
198
|
+
} : DEFAULT_SORT_PROPERTIES);
|
|
199
|
+
};
|
|
200
|
+
const visibleColumns = columnData.filter(_ref2 => {
|
|
201
|
+
let {
|
|
202
|
+
dataIndex
|
|
203
|
+
} = _ref2;
|
|
204
|
+
return !hiddenColumns.includes(processDataIndex(dataIndex));
|
|
205
|
+
});
|
|
206
|
+
if (isPaymentsLoading) {
|
|
207
|
+
return /*#__PURE__*/React__default.createElement(PageLoader, null);
|
|
208
|
+
}
|
|
209
|
+
if (!isPresent(payments)) {
|
|
210
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
211
|
+
className: "flex h-full w-full items-center justify-center"
|
|
212
|
+
}, /*#__PURE__*/React__default.createElement(NoData, {
|
|
213
|
+
title: tab === TAB.all ? t(`neetoPayments.emptyState.${kind}`) : t(`neetoPayments.emptyState.${kind}WithStatus`, {
|
|
214
|
+
status: tab
|
|
215
|
+
})
|
|
216
|
+
}));
|
|
217
|
+
}
|
|
218
|
+
return /*#__PURE__*/React__default.createElement(TableWrapper, {
|
|
219
|
+
hasPagination: views > pageProperties[tab]?.pageSize
|
|
220
|
+
}, /*#__PURE__*/React__default.createElement(Table, {
|
|
221
|
+
fixedHeight: true,
|
|
222
|
+
allowRowClick: false,
|
|
223
|
+
columnData: visibleColumns,
|
|
224
|
+
currentPageNumber: pageProperties[tab]?.page,
|
|
225
|
+
handlePageChange: handleTablePaginaton,
|
|
226
|
+
loading: isFetching,
|
|
227
|
+
rowData: buildRowData({
|
|
228
|
+
data: payments,
|
|
229
|
+
pageProperties,
|
|
230
|
+
tab
|
|
231
|
+
}),
|
|
232
|
+
rowSelection: false,
|
|
233
|
+
sortDirections: SORT_DIRECTIONS,
|
|
234
|
+
totalCount: views,
|
|
235
|
+
paginationProps: {
|
|
236
|
+
showSizeChanger: true,
|
|
237
|
+
hideOnSinglePage: true,
|
|
238
|
+
pageSize: pageProperties[tab]?.pageSize,
|
|
239
|
+
total: views
|
|
240
|
+
},
|
|
241
|
+
onChange: handleTableChange,
|
|
242
|
+
onColumnHide: columnData => {
|
|
243
|
+
hideColumn(processDataIndex(columnData.dataIndex));
|
|
244
|
+
}
|
|
245
|
+
}));
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
const V2PaymentsDashboard = _ref => {
|
|
249
|
+
let {
|
|
250
|
+
searchProps,
|
|
251
|
+
headerProps = {},
|
|
252
|
+
payableEntityColumns = [],
|
|
253
|
+
kind = "upiPayment"
|
|
254
|
+
} = _ref;
|
|
255
|
+
const {
|
|
256
|
+
t
|
|
257
|
+
} = useTranslation();
|
|
258
|
+
const filterPaginationState = useFiltersAndPagination({
|
|
259
|
+
payableEntityColumns,
|
|
260
|
+
kind,
|
|
261
|
+
initialTabs: TABS,
|
|
262
|
+
tabMetaData: {}
|
|
263
|
+
});
|
|
264
|
+
const {
|
|
265
|
+
filters,
|
|
266
|
+
setIsFilterButtonVisible,
|
|
267
|
+
pageProperties,
|
|
268
|
+
setPageProperties,
|
|
269
|
+
sortProperties,
|
|
270
|
+
setSortProperties,
|
|
271
|
+
tab,
|
|
272
|
+
setDataSize
|
|
273
|
+
} = filterPaginationState;
|
|
274
|
+
return (
|
|
275
|
+
/*#__PURE__*/
|
|
276
|
+
// Note: For now this component would be called UPI payments
|
|
277
|
+
// Note: This cannot be called payments as right now this only shows upi payments.
|
|
278
|
+
// TODO: Once other payments are integrated change the header and subsequent usages of "upi"
|
|
279
|
+
React__default.createElement(FilterWrapper, _extends({
|
|
280
|
+
title: t("neetoPayments.common.upiPayments"),
|
|
281
|
+
headerProps,
|
|
282
|
+
kind,
|
|
283
|
+
payableEntityColumns,
|
|
284
|
+
searchProps
|
|
285
|
+
}, filterPaginationState), /*#__PURE__*/React__default.createElement(List, {
|
|
286
|
+
filters,
|
|
287
|
+
kind,
|
|
288
|
+
pageProperties,
|
|
289
|
+
payableEntityColumns,
|
|
290
|
+
setDataSize,
|
|
291
|
+
setIsFilterButtonVisible,
|
|
292
|
+
setPageProperties,
|
|
293
|
+
setSortProperties,
|
|
294
|
+
sortProperties,
|
|
295
|
+
tab
|
|
296
|
+
}))
|
|
297
|
+
);
|
|
298
|
+
};
|
|
299
|
+
var index = withTitle(withReactQuery(V2PaymentsDashboard), t("neetoPayments.common.upiPayments"));
|
|
300
|
+
|
|
301
|
+
export { index as default };
|
|
302
|
+
//# sourceMappingURL=V2PaymentsDashboard.js.map
|