@bigbinary/neeto-payments-frontend 6.1.11 → 6.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AccountsDashboard.js +473 -0
- package/dist/AccountsDashboard.js.map +1 -0
- package/dist/AdminCancelRecurringPaymentButton.js +65 -0
- package/dist/AdminCancelRecurringPaymentButton.js.map +1 -0
- package/dist/CashPaymentButton.js +58 -0
- package/dist/CashPaymentButton.js.map +1 -0
- package/dist/ConfirmCashPaymentButton.js +98 -0
- package/dist/ConfirmCashPaymentButton.js.map +1 -0
- package/dist/CopyButtonWrapper-Bp5IVO76.js +26 -0
- package/dist/CopyButtonWrapper-Bp5IVO76.js.map +1 -0
- package/dist/CustomerCancelRecurringPaymentForm.js +103 -0
- package/dist/CustomerCancelRecurringPaymentForm.js.map +1 -0
- package/dist/ExportModal-DyRGg_4o.js +120 -0
- package/dist/ExportModal-DyRGg_4o.js.map +1 -0
- package/dist/ManualUpiConnect.js +228 -0
- package/dist/ManualUpiConnect.js.map +1 -0
- package/dist/ManualUpiPayment.js +125 -0
- package/dist/ManualUpiPayment.js.map +1 -0
- package/dist/ManualUpiPaymentConfirmButton.js +155 -0
- package/dist/ManualUpiPaymentConfirmButton.js.map +1 -0
- package/dist/ManualUpiPaymentRejectButton.js +126 -0
- package/dist/ManualUpiPaymentRejectButton.js.map +1 -0
- package/dist/PaymentKindRestrictionAlert.js +31 -0
- package/dist/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/PaymentsDashboard.js +555 -0
- package/dist/PaymentsDashboard.js.map +1 -0
- package/dist/PayoutsDashboard.js +510 -0
- package/dist/PayoutsDashboard.js.map +1 -0
- package/dist/PayoutsPage.js +158 -0
- package/dist/PayoutsPage.js.map +1 -0
- package/dist/RazorpayConnect.js +115 -0
- package/dist/RazorpayConnect.js.map +1 -0
- package/dist/RazorpayLinkedAccountForm.js +201 -0
- package/dist/RazorpayLinkedAccountForm.js.map +1 -0
- package/dist/RazorpayPaymentButton.js +127 -0
- package/dist/RazorpayPaymentButton.js.map +1 -0
- package/dist/RecurringPaymentSettings.js +119 -0
- package/dist/RecurringPaymentSettings.js.map +1 -0
- package/dist/RefundsDashboard.js +484 -0
- package/dist/RefundsDashboard.js.map +1 -0
- package/dist/SplitTransfersDashboard.js +1042 -0
- package/dist/SplitTransfersDashboard.js.map +1 -0
- package/dist/StripeCheckoutSetting.js +82 -0
- package/dist/StripeCheckoutSetting.js.map +1 -0
- package/dist/StripeConnect.js +376 -0
- package/dist/StripeConnect.js.map +1 -0
- package/dist/StripeManage.js +46 -0
- package/dist/StripeManage.js.map +1 -0
- package/dist/TaxesDashboard.js +355 -0
- package/dist/TaxesDashboard.js.map +1 -0
- package/dist/buildStripeTransactionLink.js +12 -0
- package/dist/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/AccountsDashboard.js +475 -0
- package/dist/cjs/AccountsDashboard.js.map +1 -0
- package/dist/cjs/AdminCancelRecurringPaymentButton.js +67 -0
- package/dist/cjs/AdminCancelRecurringPaymentButton.js.map +1 -0
- package/dist/cjs/CashPaymentButton.js +60 -0
- package/dist/cjs/CashPaymentButton.js.map +1 -0
- package/dist/cjs/ConfirmCashPaymentButton.js +100 -0
- package/dist/cjs/ConfirmCashPaymentButton.js.map +1 -0
- package/dist/cjs/CopyButtonWrapper-I-kdKiiB.js +29 -0
- package/dist/cjs/CopyButtonWrapper-I-kdKiiB.js.map +1 -0
- package/dist/cjs/CustomerCancelRecurringPaymentForm.js +105 -0
- package/dist/cjs/CustomerCancelRecurringPaymentForm.js.map +1 -0
- package/dist/cjs/ExportModal-DE-VcN1X.js +122 -0
- package/dist/cjs/ExportModal-DE-VcN1X.js.map +1 -0
- package/dist/cjs/ManualUpiConnect.js +249 -0
- package/dist/cjs/ManualUpiConnect.js.map +1 -0
- package/dist/cjs/ManualUpiPayment.js +146 -0
- package/dist/cjs/ManualUpiPayment.js.map +1 -0
- package/dist/cjs/ManualUpiPaymentConfirmButton.js +176 -0
- package/dist/cjs/ManualUpiPaymentConfirmButton.js.map +1 -0
- package/dist/cjs/ManualUpiPaymentRejectButton.js +128 -0
- package/dist/cjs/ManualUpiPaymentRejectButton.js.map +1 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js +33 -0
- package/dist/cjs/PaymentKindRestrictionAlert.js.map +1 -0
- package/dist/cjs/PaymentsDashboard.js +557 -0
- package/dist/cjs/PaymentsDashboard.js.map +1 -0
- package/dist/cjs/PayoutsDashboard.js +512 -0
- package/dist/cjs/PayoutsDashboard.js.map +1 -0
- package/dist/cjs/PayoutsPage.js +160 -0
- package/dist/cjs/PayoutsPage.js.map +1 -0
- package/dist/cjs/RazorpayConnect.js +117 -0
- package/dist/cjs/RazorpayConnect.js.map +1 -0
- package/dist/cjs/RazorpayLinkedAccountForm.js +203 -0
- package/dist/cjs/RazorpayLinkedAccountForm.js.map +1 -0
- package/dist/cjs/RazorpayPaymentButton.js +129 -0
- package/dist/cjs/RazorpayPaymentButton.js.map +1 -0
- package/dist/cjs/RecurringPaymentSettings.js +140 -0
- package/dist/cjs/RecurringPaymentSettings.js.map +1 -0
- package/dist/cjs/RefundsDashboard.js +486 -0
- package/dist/cjs/RefundsDashboard.js.map +1 -0
- package/dist/cjs/SplitTransfersDashboard.js +1063 -0
- package/dist/cjs/SplitTransfersDashboard.js.map +1 -0
- package/dist/cjs/StripeCheckoutSetting.js +84 -0
- package/dist/cjs/StripeCheckoutSetting.js.map +1 -0
- package/dist/cjs/StripeConnect.js +397 -0
- package/dist/cjs/StripeConnect.js.map +1 -0
- package/dist/cjs/StripeManage.js +48 -0
- package/dist/cjs/StripeManage.js.map +1 -0
- package/dist/cjs/TaxesDashboard.js +376 -0
- package/dist/cjs/TaxesDashboard.js.map +1 -0
- package/dist/cjs/buildStripeTransactionLink.js +14 -0
- package/dist/cjs/buildStripeTransactionLink.js.map +1 -0
- package/dist/cjs/constants.js +38 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/dashboard-BiCB2A6S.js +96 -0
- package/dist/cjs/dashboard-BiCB2A6S.js.map +1 -0
- package/dist/cjs/exportChannel-BL2RGGhP.js +38 -0
- package/dist/cjs/exportChannel-BL2RGGhP.js.map +1 -0
- package/dist/cjs/getAddressElementOptions.js +14 -0
- package/dist/cjs/getAddressElementOptions.js.map +1 -0
- package/dist/cjs/getAmountInLargestCurrencyUnit.js +14 -0
- package/dist/cjs/getAmountInLargestCurrencyUnit.js.map +1 -0
- package/dist/cjs/getAmountInSmallestCurrencyUnit.js +14 -0
- package/dist/cjs/getAmountInSmallestCurrencyUnit.js.map +1 -0
- package/dist/cjs/getAmountWithAppliedTax.js +14 -0
- package/dist/cjs/getAmountWithAppliedTax.js.map +1 -0
- package/dist/cjs/getFormattedAmount.js +14 -0
- package/dist/cjs/getFormattedAmount.js.map +1 -0
- package/dist/cjs/getFormattedDiscountedAmount.js +14 -0
- package/dist/cjs/getFormattedDiscountedAmount.js.map +1 -0
- package/dist/cjs/getFormattedDiscountedPercentage.js +14 -0
- package/dist/cjs/getFormattedDiscountedPercentage.js.map +1 -0
- package/dist/cjs/getFormattedTaxAmount.js +14 -0
- package/dist/cjs/getFormattedTaxAmount.js.map +1 -0
- package/dist/cjs/getFormattedTipAmount.js +14 -0
- package/dist/cjs/getFormattedTipAmount.js.map +1 -0
- package/dist/cjs/getQrCodeValue.js +14 -0
- package/dist/cjs/getQrCodeValue.js.map +1 -0
- package/dist/cjs/getTaxAmount.js +14 -0
- package/dist/cjs/getTaxAmount.js.map +1 -0
- package/dist/cjs/getTipAmount.js +14 -0
- package/dist/cjs/getTipAmount.js.map +1 -0
- package/dist/cjs/hasAmountToPay.js +14 -0
- package/dist/cjs/hasAmountToPay.js.map +1 -0
- package/dist/cjs/index-D6V3Vofs.js +855 -0
- package/dist/cjs/index-D6V3Vofs.js.map +1 -0
- package/dist/cjs/index.js +121 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/queryConstants-Dc6wh21D.js +35 -0
- package/dist/cjs/queryConstants-Dc6wh21D.js.map +1 -0
- package/dist/cjs/renderFunctions-DhCwlBWw.js +48 -0
- package/dist/cjs/renderFunctions-DhCwlBWw.js.map +1 -0
- package/dist/cjs/stripe.esm-CrNYjPcC.js +132 -0
- package/dist/cjs/stripe.esm-CrNYjPcC.js.map +1 -0
- package/dist/cjs/useAccountsApi-B2MZWHMY.js +42 -0
- package/dist/cjs/useAccountsApi-B2MZWHMY.js.map +1 -0
- package/dist/cjs/useIntegrationsApi-CVlTmLKc.js +20 -0
- package/dist/cjs/useIntegrationsApi-CVlTmLKc.js.map +1 -0
- package/dist/cjs/usePaymentApi-BCE_Ql18.js +29 -0
- package/dist/cjs/usePaymentApi-BCE_Ql18.js.map +1 -0
- package/dist/cjs/usePaymentApi-Bl8jWvnG.js +44 -0
- package/dist/cjs/usePaymentApi-Bl8jWvnG.js.map +1 -0
- package/dist/cjs/usePaymentApi-CiwXBe90.js +29 -0
- package/dist/cjs/usePaymentApi-CiwXBe90.js.map +1 -0
- package/dist/cjs/usePlatformApi-CcGVG4Qi.js +55 -0
- package/dist/cjs/usePlatformApi-CcGVG4Qi.js.map +1 -0
- package/dist/cjs/useRazorpayPayment.js +88 -0
- package/dist/cjs/useRazorpayPayment.js.map +1 -0
- package/dist/cjs/useStripePromise.js +31 -0
- package/dist/cjs/useStripePromise.js.map +1 -0
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -0
- package/dist/dashboard-CwvqEeOl.js +90 -0
- package/dist/dashboard-CwvqEeOl.js.map +1 -0
- package/dist/exportChannel-Db0U5gc1.js +35 -0
- package/dist/exportChannel-Db0U5gc1.js.map +1 -0
- package/dist/getAddressElementOptions.js +12 -0
- package/dist/getAddressElementOptions.js.map +1 -0
- package/dist/getAmountInLargestCurrencyUnit.js +12 -0
- package/dist/getAmountInLargestCurrencyUnit.js.map +1 -0
- package/dist/getAmountInSmallestCurrencyUnit.js +12 -0
- package/dist/getAmountInSmallestCurrencyUnit.js.map +1 -0
- package/dist/getAmountWithAppliedTax.js +12 -0
- package/dist/getAmountWithAppliedTax.js.map +1 -0
- package/dist/getFormattedAmount.js +12 -0
- package/dist/getFormattedAmount.js.map +1 -0
- package/dist/getFormattedDiscountedAmount.js +12 -0
- package/dist/getFormattedDiscountedAmount.js.map +1 -0
- package/dist/getFormattedDiscountedPercentage.js +12 -0
- package/dist/getFormattedDiscountedPercentage.js.map +1 -0
- package/dist/getFormattedTaxAmount.js +12 -0
- package/dist/getFormattedTaxAmount.js.map +1 -0
- package/dist/getFormattedTipAmount.js +12 -0
- package/dist/getFormattedTipAmount.js.map +1 -0
- package/dist/getQrCodeValue.js +12 -0
- package/dist/getQrCodeValue.js.map +1 -0
- package/dist/getTaxAmount.js +12 -0
- package/dist/getTaxAmount.js.map +1 -0
- package/dist/getTipAmount.js +12 -0
- package/dist/getTipAmount.js.map +1 -0
- package/dist/hasAmountToPay.js +12 -0
- package/dist/hasAmountToPay.js.map +1 -0
- package/dist/index-CNouM9_z.js +804 -0
- package/dist/index-CNouM9_z.js.map +1 -0
- package/dist/index.js +78 -0
- package/dist/index.js.map +1 -0
- package/dist/queryConstants-C7AqdemO.js +33 -0
- package/dist/queryConstants-C7AqdemO.js.map +1 -0
- package/dist/renderFunctions-Bx5nzyE_.js +44 -0
- package/dist/renderFunctions-Bx5nzyE_.js.map +1 -0
- package/dist/stripe.esm-DuZ_gsAa.js +130 -0
- package/dist/stripe.esm-DuZ_gsAa.js.map +1 -0
- package/dist/useAccountsApi-C9_eNmEZ.js +38 -0
- package/dist/useAccountsApi-C9_eNmEZ.js.map +1 -0
- package/dist/useIntegrationsApi-D9eA_FrB.js +18 -0
- package/dist/useIntegrationsApi-D9eA_FrB.js.map +1 -0
- package/dist/usePaymentApi-B98qoM7U.js +26 -0
- package/dist/usePaymentApi-B98qoM7U.js.map +1 -0
- package/dist/usePaymentApi-DMHHdCK1.js +41 -0
- package/dist/usePaymentApi-DMHHdCK1.js.map +1 -0
- package/dist/usePaymentApi-DSlW_EBq.js +27 -0
- package/dist/usePaymentApi-DSlW_EBq.js.map +1 -0
- package/dist/usePlatformApi-sJUY6wju.js +50 -0
- package/dist/usePlatformApi-sJUY6wju.js.map +1 -0
- package/dist/useRazorpayPayment.js +86 -0
- package/dist/useRazorpayPayment.js.map +1 -0
- package/dist/useStripePromise.js +29 -0
- package/dist/useStripePromise.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { noop } from 'neetocist';
|
|
2
|
+
import { useTranslation } from 'react-i18next';
|
|
3
|
+
import { u as useCreateCashPayment } from './usePaymentApi-B98qoM7U.js';
|
|
4
|
+
import { Button } from '@bigbinary/neetoui';
|
|
5
|
+
import { jsx } from 'react/jsx-runtime';
|
|
6
|
+
import '@tanstack/react-query';
|
|
7
|
+
import 'axios';
|
|
8
|
+
import './index-CNouM9_z.js';
|
|
9
|
+
import 'i18next';
|
|
10
|
+
import 'neetocommons/constants';
|
|
11
|
+
import 'decimal.js';
|
|
12
|
+
import 'neetocommons/utils';
|
|
13
|
+
import 'ramda';
|
|
14
|
+
|
|
15
|
+
const CashPaymentButton = ({
|
|
16
|
+
label,
|
|
17
|
+
payableId,
|
|
18
|
+
payableType,
|
|
19
|
+
tip,
|
|
20
|
+
discountCode,
|
|
21
|
+
customAmount,
|
|
22
|
+
isDisabled = false,
|
|
23
|
+
isLoading = false,
|
|
24
|
+
onBeforePayment = noop,
|
|
25
|
+
onFailedPayment = noop,
|
|
26
|
+
onSuccessfulPayment = noop
|
|
27
|
+
}) => {
|
|
28
|
+
const {
|
|
29
|
+
t
|
|
30
|
+
} = useTranslation();
|
|
31
|
+
const {
|
|
32
|
+
isPending,
|
|
33
|
+
mutate: createCashPayment
|
|
34
|
+
} = useCreateCashPayment({
|
|
35
|
+
onSuccess: onSuccessfulPayment,
|
|
36
|
+
onError: onFailedPayment
|
|
37
|
+
});
|
|
38
|
+
const handleSubmit = () => {
|
|
39
|
+
onBeforePayment();
|
|
40
|
+
createCashPayment({
|
|
41
|
+
payableId,
|
|
42
|
+
payableType,
|
|
43
|
+
discountCode,
|
|
44
|
+
customAmount,
|
|
45
|
+
tipAttributes: tip
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
return /*#__PURE__*/jsx(Button, {
|
|
49
|
+
"data-testid": "payment-submit-button",
|
|
50
|
+
disabled: isPending || isDisabled,
|
|
51
|
+
label: label || t("neetoPayments.common.proceed"),
|
|
52
|
+
loading: isPending || isLoading,
|
|
53
|
+
onClick: handleSubmit
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export { CashPaymentButton as default };
|
|
58
|
+
//# sourceMappingURL=CashPaymentButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CashPaymentButton.js","sources":["../app/javascript/src/components/CashPaymentButton.jsx"],"sourcesContent":["import { noop } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateCashPayment } from \"hooks/reactQuery/cash/usePaymentApi\";\nimport { Button } from \"neetoui\";\n\nconst CashPaymentButton = ({\n label,\n payableId,\n payableType,\n tip,\n discountCode,\n customAmount,\n isDisabled = false,\n isLoading = false,\n onBeforePayment = noop,\n onFailedPayment = noop,\n onSuccessfulPayment = noop,\n}) => {\n const { t } = useTranslation();\n\n const { isPending, mutate: createCashPayment } = useCreateCashPayment({\n onSuccess: onSuccessfulPayment,\n onError: onFailedPayment,\n });\n\n const handleSubmit = () => {\n onBeforePayment();\n createCashPayment({\n payableId,\n payableType,\n discountCode,\n customAmount,\n tipAttributes: tip,\n });\n };\n\n return (\n <Button\n data-testid=\"payment-submit-button\"\n disabled={isPending || isDisabled}\n label={label || t(\"neetoPayments.common.proceed\")}\n loading={isPending || isLoading}\n onClick={handleSubmit}\n />\n );\n};\n\nexport default CashPaymentButton;\n"],"names":["CashPaymentButton","label","payableId","payableType","tip","discountCode","customAmount","isDisabled","isLoading","onBeforePayment","noop","onFailedPayment","onSuccessfulPayment","t","useTranslation","isPending","mutate","createCashPayment","useCreateCashPayment","onSuccess","onError","handleSubmit","tipAttributes","_jsx","Button","disabled","loading","onClick"],"mappings":";;;;;;;;;;;;;;AAMMA,MAAAA,iBAAiB,GAAGA,CAAC;EACzBC,KAAK;EACLC,SAAS;EACTC,WAAW;EACXC,GAAG;EACHC,YAAY;EACZC,YAAY;AACZC,EAAAA,UAAU,GAAG,KAAK;AAClBC,EAAAA,SAAS,GAAG,KAAK;AACjBC,EAAAA,eAAe,GAAGC,IAAI;AACtBC,EAAAA,eAAe,GAAGD,IAAI;AACtBE,EAAAA,mBAAmB,GAAGF;AACxB,CAAC,KAAK;EACJ,MAAM;AAAEG,IAAAA;GAAG,GAAGC,cAAc,EAAE;EAE9B,MAAM;IAAEC,SAAS;AAAEC,IAAAA,MAAM,EAAEC;GAAmB,GAAGC,oBAAoB,CAAC;AACpEC,IAAAA,SAAS,EAAEP,mBAAmB;AAC9BQ,IAAAA,OAAO,EAAET;AACX,GAAC,CAAC;EAEF,MAAMU,YAAY,GAAGA,MAAM;AACzBZ,IAAAA,eAAe,EAAE;AACjBQ,IAAAA,iBAAiB,CAAC;MAChBf,SAAS;MACTC,WAAW;MACXE,YAAY;MACZC,YAAY;AACZgB,MAAAA,aAAa,EAAElB;AACjB,KAAC,CAAC;GACH;EAED,oBACEmB,GAAA,CAACC,MAAM,EAAA;AACL,IAAA,aAAA,EAAY,uBAAuB;IACnCC,QAAQ,EAAEV,SAAS,IAAIR,UAAW;AAClCN,IAAAA,KAAK,EAAEA,KAAK,IAAIY,CAAC,CAAC,8BAA8B,CAAE;IAClDa,OAAO,EAAEX,SAAS,IAAIP,SAAU;AAChCmB,IAAAA,OAAO,EAAEN;AAAa,GACvB,CAAC;AAEN;;;;"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import { noop } from 'neetocist';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import { a as useUpdateCashPayment } from './usePaymentApi-B98qoM7U.js';
|
|
5
|
+
import { Button, Modal, Typography } from '@bigbinary/neetoui';
|
|
6
|
+
import { Form, Textarea, ActionBlock } from '@bigbinary/neetoui/formik';
|
|
7
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
8
|
+
import '@tanstack/react-query';
|
|
9
|
+
import 'axios';
|
|
10
|
+
import './index-CNouM9_z.js';
|
|
11
|
+
import 'i18next';
|
|
12
|
+
import 'neetocommons/constants';
|
|
13
|
+
import 'decimal.js';
|
|
14
|
+
import 'neetocommons/utils';
|
|
15
|
+
import 'ramda';
|
|
16
|
+
|
|
17
|
+
const ConfirmCashPaymentButton = ({
|
|
18
|
+
paymentId,
|
|
19
|
+
payableId,
|
|
20
|
+
onSuccess = noop
|
|
21
|
+
}) => {
|
|
22
|
+
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
23
|
+
const {
|
|
24
|
+
t
|
|
25
|
+
} = useTranslation();
|
|
26
|
+
const {
|
|
27
|
+
mutate: updateUpiPayment,
|
|
28
|
+
isPending
|
|
29
|
+
} = useUpdateCashPayment(paymentId, {
|
|
30
|
+
onSuccess
|
|
31
|
+
});
|
|
32
|
+
const onClose = () => setIsModalOpen(false);
|
|
33
|
+
const handleSubmit = ({
|
|
34
|
+
notes
|
|
35
|
+
}) => {
|
|
36
|
+
const payload = {
|
|
37
|
+
notes,
|
|
38
|
+
payableId,
|
|
39
|
+
status: "successful"
|
|
40
|
+
};
|
|
41
|
+
updateUpiPayment(payload);
|
|
42
|
+
};
|
|
43
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
44
|
+
children: [/*#__PURE__*/jsx(Button, {
|
|
45
|
+
"data-testid": "confirm-cash-payment-button",
|
|
46
|
+
label: t("neetoPayments.common.confirmPayment"),
|
|
47
|
+
loading: isPending,
|
|
48
|
+
size: "small",
|
|
49
|
+
onClick: () => setIsModalOpen(true)
|
|
50
|
+
}), /*#__PURE__*/jsxs(Modal, {
|
|
51
|
+
onClose,
|
|
52
|
+
isOpen: isModalOpen,
|
|
53
|
+
size: "large",
|
|
54
|
+
children: [/*#__PURE__*/jsx(Modal.Header, {
|
|
55
|
+
children: /*#__PURE__*/jsx(Typography, {
|
|
56
|
+
style: "h2",
|
|
57
|
+
children: t("neetoPayments.cash.confirmModal.title")
|
|
58
|
+
})
|
|
59
|
+
}), /*#__PURE__*/jsx(Form, {
|
|
60
|
+
formikProps: {
|
|
61
|
+
initialValues: {
|
|
62
|
+
notes: ""
|
|
63
|
+
},
|
|
64
|
+
onSubmit: handleSubmit
|
|
65
|
+
},
|
|
66
|
+
children: ({
|
|
67
|
+
isSubmitting
|
|
68
|
+
}) => /*#__PURE__*/jsxs(Fragment, {
|
|
69
|
+
children: [/*#__PURE__*/jsx(Modal.Body, {
|
|
70
|
+
children: /*#__PURE__*/jsx(Textarea, {
|
|
71
|
+
"data-testid": "confirm-booking-modal-input-textfield",
|
|
72
|
+
label: t("neetoPayments.cash.confirmModal.notes"),
|
|
73
|
+
name: "notes",
|
|
74
|
+
placeholder: t("neetoPayments.cash.confirmModal.notesPlaceholder")
|
|
75
|
+
})
|
|
76
|
+
}), /*#__PURE__*/jsx(Modal.Footer, {
|
|
77
|
+
className: "space-x-2",
|
|
78
|
+
children: /*#__PURE__*/jsx(ActionBlock, {
|
|
79
|
+
isSubmitting: isPending,
|
|
80
|
+
position: "right",
|
|
81
|
+
cancelButtonProps: {
|
|
82
|
+
onClick: onClose,
|
|
83
|
+
style: "tertiary"
|
|
84
|
+
},
|
|
85
|
+
submitButtonProps: {
|
|
86
|
+
disabled: isSubmitting || isPending,
|
|
87
|
+
label: t("neetoPayments.common.confirm")
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
})]
|
|
91
|
+
})
|
|
92
|
+
})]
|
|
93
|
+
})]
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export { ConfirmCashPaymentButton as default };
|
|
98
|
+
//# sourceMappingURL=ConfirmCashPaymentButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmCashPaymentButton.js","sources":["../app/javascript/src/components/ConfirmCashPaymentButton.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateCashPayment } from \"hooks/reactQuery/cash/usePaymentApi\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { Form, Textarea, ActionBlock } from \"neetoui/formik\";\n\nconst ConfirmCashPaymentButton = ({\n paymentId,\n payableId,\n onSuccess = noop,\n}) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const { mutate: updateUpiPayment, isPending } = useUpdateCashPayment(\n paymentId,\n { onSuccess }\n );\n\n const onClose = () => setIsModalOpen(false);\n\n const handleSubmit = ({ notes }) => {\n const payload = { notes, payableId, status: \"successful\" };\n updateUpiPayment(payload);\n };\n\n return (\n <>\n <Button\n data-testid=\"confirm-cash-payment-button\"\n label={t(\"neetoPayments.common.confirmPayment\")}\n loading={isPending}\n size=\"small\"\n onClick={() => setIsModalOpen(true)}\n />\n <Modal {...{ onClose }} isOpen={isModalOpen} size=\"large\">\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPayments.cash.confirmModal.title\")}\n </Typography>\n </Modal.Header>\n <Form\n formikProps={{\n initialValues: { notes: \"\" },\n onSubmit: handleSubmit,\n }}\n >\n {({ isSubmitting }) => (\n <>\n <Modal.Body>\n <Textarea\n data-testid=\"confirm-booking-modal-input-textfield\"\n label={t(\"neetoPayments.cash.confirmModal.notes\")}\n name=\"notes\"\n placeholder={t(\n \"neetoPayments.cash.confirmModal.notesPlaceholder\"\n )}\n />\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <ActionBlock\n isSubmitting={isPending}\n position=\"right\"\n cancelButtonProps={{\n onClick: onClose,\n style: \"tertiary\",\n }}\n submitButtonProps={{\n disabled: isSubmitting || isPending,\n label: t(\"neetoPayments.common.confirm\"),\n }}\n />\n </Modal.Footer>\n </>\n )}\n </Form>\n </Modal>\n </>\n );\n};\n\nexport default ConfirmCashPaymentButton;\n"],"names":["ConfirmCashPaymentButton","paymentId","payableId","onSuccess","noop","isModalOpen","setIsModalOpen","useState","t","useTranslation","mutate","updateUpiPayment","isPending","useUpdateCashPayment","onClose","handleSubmit","notes","payload","status","_jsxs","_Fragment","children","_jsx","Button","label","loading","size","onClick","Modal","isOpen","Header","Typography","style","Form","formikProps","initialValues","onSubmit","isSubmitting","Body","Textarea","name","placeholder","Footer","className","ActionBlock","position","cancelButtonProps","submitButtonProps","disabled"],"mappings":";;;;;;;;;;;;;;;;AASMA,MAAAA,wBAAwB,GAAGA,CAAC;EAChCC,SAAS;EACTC,SAAS;AACTC,EAAAA,SAAS,GAAGC;AACd,CAAC,KAAK;EACJ,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC;EAErD,MAAM;AAAEC,IAAAA;GAAG,GAAGC,cAAc,EAAE;EAE9B,MAAM;AAAEC,IAAAA,MAAM,EAAEC,gBAAgB;AAAEC,IAAAA;AAAU,GAAC,GAAGC,oBAAoB,CAClEZ,SAAS,EACT;AAAEE,IAAAA;AAAU,GACd,CAAC;AAED,EAAA,MAAMW,OAAO,GAAGA,MAAMR,cAAc,CAAC,KAAK,CAAC;EAE3C,MAAMS,YAAY,GAAGA,CAAC;AAAEC,IAAAA;AAAM,GAAC,KAAK;AAClC,IAAA,MAAMC,OAAO,GAAG;MAAED,KAAK;MAAEd,SAAS;AAAEgB,MAAAA,MAAM,EAAE;KAAc;IAC1DP,gBAAgB,CAACM,OAAO,CAAC;GAC1B;EAED,oBACEE,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,cACEC,GAAA,CAACC,MAAM,EAAA;AACL,MAAA,aAAA,EAAY,6BAA6B;AACzCC,MAAAA,KAAK,EAAEhB,CAAC,CAAC,qCAAqC,CAAE;AAChDiB,MAAAA,OAAO,EAAEb,SAAU;AACnBc,MAAAA,IAAI,EAAC,OAAO;AACZC,MAAAA,OAAO,EAAEA,MAAMrB,cAAc,CAAC,IAAI;AAAE,KACrC,CAAC,eACFa,IAAA,CAACS,KAAK,EAAA;MAAOd,OAAO;AAAIe,MAAAA,MAAM,EAAExB,WAAY;AAACqB,MAAAA,IAAI,EAAC,OAAO;AAAAL,MAAAA,QAAA,EACvDC,cAAAA,GAAA,CAACM,KAAK,CAACE,MAAM,EAAA;QAAAT,QAAA,eACXC,GAAA,CAACS,UAAU,EAAA;AAACC,UAAAA,KAAK,EAAC,IAAI;UAAAX,QAAA,EACnBb,CAAC,CAAC,uCAAuC;SAChC;AAAC,OACD,CAAC,eACfc,GAAA,CAACW,IAAI,EAAA;AACHC,QAAAA,WAAW,EAAE;AACXC,UAAAA,aAAa,EAAE;AAAEnB,YAAAA,KAAK,EAAE;WAAI;AAC5BoB,UAAAA,QAAQ,EAAErB;SACV;AAAAM,QAAAA,QAAA,EAEDA,CAAC;AAAEgB,UAAAA;SAAc,kBAChBlB,IAAA,CAAAC,QAAA,EAAA;AAAAC,UAAAA,QAAA,EACEC,cAAAA,GAAA,CAACM,KAAK,CAACU,IAAI,EAAA;YAAAjB,QAAA,eACTC,GAAA,CAACiB,QAAQ,EAAA;AACP,cAAA,aAAA,EAAY,uCAAuC;AACnDf,cAAAA,KAAK,EAAEhB,CAAC,CAAC,uCAAuC,CAAE;AAClDgC,cAAAA,IAAI,EAAC,OAAO;cACZC,WAAW,EAAEjC,CAAC,CACZ,kDACF;aACD;AAAC,WACQ,CAAC,eACbc,GAAA,CAACM,KAAK,CAACc,MAAM,EAAA;AAACC,YAAAA,SAAS,EAAC,WAAW;YAAAtB,QAAA,eACjCC,GAAA,CAACsB,WAAW,EAAA;AACVP,cAAAA,YAAY,EAAEzB,SAAU;AACxBiC,cAAAA,QAAQ,EAAC,OAAO;AAChBC,cAAAA,iBAAiB,EAAE;AACjBnB,gBAAAA,OAAO,EAAEb,OAAO;AAChBkB,gBAAAA,KAAK,EAAE;eACP;AACFe,cAAAA,iBAAiB,EAAE;gBACjBC,QAAQ,EAAEX,YAAY,IAAIzB,SAAS;gBACnCY,KAAK,EAAEhB,CAAC,CAAC,8BAA8B;AACzC;aACD;AAAC,WACU,CAAC;SACf;AACH,OACG,CAAC;AAAA,KACF,CAAC;AAAA,GACR,CAAC;AAEP;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isPresent } from 'neetocist';
|
|
2
|
+
import CopyToClipboardButton from '@bigbinary/neeto-molecules/CopyToClipboardButton';
|
|
3
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
6
|
+
|
|
7
|
+
var css = ".ant-table-cell-row-hover .identifier-copy-button{visibility:visible!important}";
|
|
8
|
+
n(css,{});
|
|
9
|
+
|
|
10
|
+
const CopyButtonWrapper = ({
|
|
11
|
+
content,
|
|
12
|
+
children
|
|
13
|
+
}) => /*#__PURE__*/jsxs("div", {
|
|
14
|
+
className: "flex items-center space-x-2",
|
|
15
|
+
children: [children, isPresent(content) && /*#__PURE__*/jsx("div", {
|
|
16
|
+
className: "identifier-copy-button invisible",
|
|
17
|
+
children: /*#__PURE__*/jsx(CopyToClipboardButton, {
|
|
18
|
+
size: "small",
|
|
19
|
+
style: "text",
|
|
20
|
+
value: content
|
|
21
|
+
})
|
|
22
|
+
})]
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export { CopyButtonWrapper as C, n };
|
|
26
|
+
//# sourceMappingURL=CopyButtonWrapper-Bp5IVO76.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CopyButtonWrapper-Bp5IVO76.js","sources":["../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../app/javascript/src/components/Common/CopyButtonWrapper.jsx"],"sourcesContent":["var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import { isPresent } from \"neetocist\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/copy-button.css\";\n\nconst CopyButtonWrapper = ({ content, children }) => (\n <div className=\"flex items-center space-x-2\">\n {children}\n {isPresent(content) && (\n <div className=\"identifier-copy-button invisible\">\n <CopyToClipboardButton size=\"small\" style=\"text\" value={content} />\n </div>\n )}\n </div>\n);\n\nexport default CopyButtonWrapper;\n"],"names":["CopyButtonWrapper","content","children","_jsxs","className","isPresent","_jsx","CopyToClipboardButton","size","style","value"],"mappings":";;;;AAAA,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;ACM/tBA,MAAAA,iBAAiB,GAAGA,CAAC;EAAEC,OAAO;AAAEC,EAAAA;AAAS,CAAC,kBAC9CC,IAAA,CAAA,KAAA,EAAA;AAAKC,EAAAA,SAAS,EAAC,6BAA6B;EAAAF,QAAA,EAAA,CACzCA,QAAQ,EACRG,SAAS,CAACJ,OAAO,CAAC,iBACjBK,GAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAC,kCAAkC;IAAAF,QAAA,eAC/CI,GAAA,CAACC,qBAAqB,EAAA;AAACC,MAAAA,IAAI,EAAC,OAAO;AAACC,MAAAA,KAAK,EAAC,MAAM;AAACC,MAAAA,KAAK,EAAET;KAAU;AAAC,GAChE,CACN;AAAA,CACE;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { useTranslation } from 'react-i18next';
|
|
2
|
+
import { useMutationWithInvalidation } from 'neetocommons/react-utils';
|
|
3
|
+
import axios from 'axios';
|
|
4
|
+
import { B as BASE_URL } from './index-CNouM9_z.js';
|
|
5
|
+
import { useQuery } from '@tanstack/react-query';
|
|
6
|
+
import { isNotNil } from 'ramda';
|
|
7
|
+
import { Q as QUERY_KEYS } from './queryConstants-C7AqdemO.js';
|
|
8
|
+
import { Spinner, Typography } from '@bigbinary/neetoui';
|
|
9
|
+
import { Form, Textarea, Button } from '@bigbinary/neetoui/formik';
|
|
10
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
11
|
+
import 'i18next';
|
|
12
|
+
import 'neetocommons/constants';
|
|
13
|
+
import 'decimal.js';
|
|
14
|
+
import 'neetocist';
|
|
15
|
+
import 'neetocommons/utils';
|
|
16
|
+
|
|
17
|
+
const show = payableId => axios.get(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`);
|
|
18
|
+
const update = ({
|
|
19
|
+
payableId,
|
|
20
|
+
payload
|
|
21
|
+
}) => axios.put(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`, {
|
|
22
|
+
recurring_payment: payload
|
|
23
|
+
});
|
|
24
|
+
const recurringPaymentsApi = {
|
|
25
|
+
show,
|
|
26
|
+
update
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const useFetchRecurringPayment = payableId => useQuery({
|
|
30
|
+
queryKey: [QUERY_KEYS.RECURRING_PAYMENT, payableId],
|
|
31
|
+
queryFn: () => recurringPaymentsApi.show(payableId),
|
|
32
|
+
enabled: isNotNil(payableId)
|
|
33
|
+
});
|
|
34
|
+
const useUpdateRecurringPayments = payableId => useMutationWithInvalidation(recurringPaymentsApi.update, {
|
|
35
|
+
keysToInvalidate: [QUERY_KEYS.RECURRING_PAYMENT, payableId]
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
const CustomerCancelRecurringPaymentForm = ({
|
|
39
|
+
payableId
|
|
40
|
+
}) => {
|
|
41
|
+
const {
|
|
42
|
+
t
|
|
43
|
+
} = useTranslation();
|
|
44
|
+
const {
|
|
45
|
+
isLoading,
|
|
46
|
+
data: {
|
|
47
|
+
recurringPayment
|
|
48
|
+
} = {}
|
|
49
|
+
} = useFetchRecurringPayment(payableId);
|
|
50
|
+
const {
|
|
51
|
+
isPending,
|
|
52
|
+
mutate: updateRecurringPayment
|
|
53
|
+
} = useUpdateRecurringPayments(payableId);
|
|
54
|
+
if (isLoading) {
|
|
55
|
+
return /*#__PURE__*/jsx("div", {
|
|
56
|
+
className: "flex h-full w-full items-center justify-center",
|
|
57
|
+
children: /*#__PURE__*/jsx(Spinner, {})
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
if (recurringPayment?.status === "cancelled") {
|
|
61
|
+
return /*#__PURE__*/jsx("div", {
|
|
62
|
+
className: "flex h-full w-full items-center justify-center",
|
|
63
|
+
children: /*#__PURE__*/jsx(Typography, {
|
|
64
|
+
children: t("neetoPayments.recurringPaymentCancel.message")
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return /*#__PURE__*/jsx("div", {
|
|
69
|
+
className: "flex h-full w-full items-center justify-center",
|
|
70
|
+
children: /*#__PURE__*/jsxs(Form, {
|
|
71
|
+
className: "space-y-6",
|
|
72
|
+
formikProps: {
|
|
73
|
+
onSubmit: ({
|
|
74
|
+
cancelReason
|
|
75
|
+
}) => updateRecurringPayment({
|
|
76
|
+
payableId,
|
|
77
|
+
payload: {
|
|
78
|
+
status: "cancelled",
|
|
79
|
+
cancelReason
|
|
80
|
+
}
|
|
81
|
+
}),
|
|
82
|
+
initialValues: {
|
|
83
|
+
cancelReason: ""
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
children: [/*#__PURE__*/jsx(Textarea, {
|
|
87
|
+
"data-testid": "cancel-meeting-input-textfield",
|
|
88
|
+
label: t("neetoPayments.recurringPaymentCancel.reasonLabel"),
|
|
89
|
+
name: "cancelReason",
|
|
90
|
+
placeholder: t("neetoPayments.recurringPaymentCancel.reasonPlaceholder")
|
|
91
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
92
|
+
"data-testid": "cancel-meeting-submit-button",
|
|
93
|
+
disabled: isPending,
|
|
94
|
+
label: t("neetoPayments.recurringPaymentCancel.buttonLabel"),
|
|
95
|
+
loading: isPending,
|
|
96
|
+
style: "danger"
|
|
97
|
+
})]
|
|
98
|
+
})
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
export { CustomerCancelRecurringPaymentForm as default };
|
|
103
|
+
//# sourceMappingURL=CustomerCancelRecurringPaymentForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomerCancelRecurringPaymentForm.js","sources":["../app/javascript/src/apis/public/recurring_payments.js","../app/javascript/src/hooks/reactQuery/public/useRecurringPaymentsApi.js","../app/javascript/src/components/CustomerCancelRecurringPaymentForm/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = payableId =>\n axios.get(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`);\n\nconst update = ({ payableId, payload }) =>\n axios.put(`${BASE_URL}/api/v1/public/recurring_payments/${payableId}`, {\n recurring_payment: payload,\n });\n\nconst recurringPaymentsApi = { show, update };\n\nexport default recurringPaymentsApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport recurringPaymentsApi from \"apis/public/recurring_payments\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { isNotNil } from \"ramda\";\n\nimport { QUERY_KEYS } from \"src/common/queryConstants\";\n\nexport const useFetchRecurringPayment = payableId =>\n useQuery({\n queryKey: [QUERY_KEYS.RECURRING_PAYMENT, payableId],\n queryFn: () => recurringPaymentsApi.show(payableId),\n enabled: isNotNil(payableId),\n });\n\nexport const useUpdateRecurringPayments = payableId =>\n useMutationWithInvalidation(recurringPaymentsApi.update, {\n keysToInvalidate: [QUERY_KEYS.RECURRING_PAYMENT, payableId],\n });\n","import { useTranslation } from \"react-i18next\";\n\nimport {\n useUpdateRecurringPayments,\n useFetchRecurringPayment,\n} from \"hooks/reactQuery/public/useRecurringPaymentsApi\";\nimport { Typography, Spinner } from \"neetoui\";\nimport { Form, Textarea, Button } from \"neetoui/formik\";\n\nconst CustomerCancelRecurringPaymentForm = ({ payableId }) => {\n const { t } = useTranslation();\n\n const { isLoading, data: { recurringPayment } = {} } =\n useFetchRecurringPayment(payableId);\n\n const { isPending, mutate: updateRecurringPayment } =\n useUpdateRecurringPayments(payableId);\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (recurringPayment?.status === \"cancelled\") {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Typography>\n {t(\"neetoPayments.recurringPaymentCancel.message\")}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Form\n className=\"space-y-6\"\n formikProps={{\n onSubmit: ({ cancelReason }) =>\n updateRecurringPayment({\n payableId,\n payload: { status: \"cancelled\", cancelReason },\n }),\n initialValues: { cancelReason: \"\" },\n }}\n >\n <Textarea\n data-testid=\"cancel-meeting-input-textfield\"\n label={t(\"neetoPayments.recurringPaymentCancel.reasonLabel\")}\n name=\"cancelReason\"\n placeholder={t(\n \"neetoPayments.recurringPaymentCancel.reasonPlaceholder\"\n )}\n />\n <Button\n data-testid=\"cancel-meeting-submit-button\"\n disabled={isPending}\n label={t(\"neetoPayments.recurringPaymentCancel.buttonLabel\")}\n loading={isPending}\n style=\"danger\"\n />\n </Form>\n </div>\n );\n};\n\nexport default CustomerCancelRecurringPaymentForm;\n"],"names":["show","payableId","axios","get","BASE_URL","update","payload","put","recurring_payment","recurringPaymentsApi","useFetchRecurringPayment","useQuery","queryKey","QUERY_KEYS","RECURRING_PAYMENT","queryFn","enabled","isNotNil","useUpdateRecurringPayments","useMutationWithInvalidation","keysToInvalidate","CustomerCancelRecurringPaymentForm","t","useTranslation","isLoading","data","recurringPayment","isPending","mutate","updateRecurringPayment","_jsx","className","children","Spinner","status","Typography","_jsxs","Form","formikProps","onSubmit","cancelReason","initialValues","Textarea","label","name","placeholder","Button","disabled","loading","style"],"mappings":";;;;;;;;;;;;;;;;AAIA,MAAMA,IAAI,GAAGC,SAAS,IACpBC,KAAK,CAACC,GAAG,CAAC,CAAGC,EAAAA,QAAQ,CAAqCH,kCAAAA,EAAAA,SAAS,EAAE,CAAC;AAExE,MAAMI,MAAM,GAAGA,CAAC;EAAEJ,SAAS;AAAEK,EAAAA;AAAQ,CAAC,KACpCJ,KAAK,CAACK,GAAG,CAAC,GAAGH,QAAQ,CAAA,kCAAA,EAAqCH,SAAS,CAAA,CAAE,EAAE;AACrEO,EAAAA,iBAAiB,EAAEF;AACrB,CAAC,CAAC;AAEJ,MAAMG,oBAAoB,GAAG;EAAET,IAAI;AAAEK,EAAAA;AAAO,CAAC;;ACHtC,MAAMK,wBAAwB,GAAGT,SAAS,IAC/CU,QAAQ,CAAC;AACPC,EAAAA,QAAQ,EAAE,CAACC,UAAU,CAACC,iBAAiB,EAAEb,SAAS,CAAC;EACnDc,OAAO,EAAEA,MAAMN,oBAAoB,CAACT,IAAI,CAACC,SAAS,CAAC;EACnDe,OAAO,EAAEC,QAAQ,CAAChB,SAAS;AAC7B,CAAC,CAAC;AAEG,MAAMiB,0BAA0B,GAAGjB,SAAS,IACjDkB,2BAA2B,CAACV,oBAAoB,CAACJ,MAAM,EAAE;AACvDe,EAAAA,gBAAgB,EAAE,CAACP,UAAU,CAACC,iBAAiB,EAAEb,SAAS;AAC5D,CAAC,CAAC;;ACVEoB,MAAAA,kCAAkC,GAAGA,CAAC;AAAEpB,EAAAA;AAAU,CAAC,KAAK;EAC5D,MAAM;AAAEqB,IAAAA;GAAG,GAAGC,cAAc,EAAE;EAE9B,MAAM;IAAEC,SAAS;AAAEC,IAAAA,IAAI,EAAE;AAAEC,MAAAA;AAAiB,KAAC,GAAG;AAAG,GAAC,GAClDhB,wBAAwB,CAACT,SAAS,CAAC;EAErC,MAAM;IAAE0B,SAAS;AAAEC,IAAAA,MAAM,EAAEC;AAAuB,GAAC,GACjDX,0BAA0B,CAACjB,SAAS,CAAC;AAEvC,EAAA,IAAIuB,SAAS,EAAE;AACb,IAAA,oBACEM,GAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,gDAAgD;AAAAC,MAAAA,QAAA,eAC7DF,GAAA,CAACG,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;AAEA,EAAA,IAAIP,gBAAgB,EAAEQ,MAAM,KAAK,WAAW,EAAE;AAC5C,IAAA,oBACEJ,GAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,gDAAgD;MAAAC,QAAA,eAC7DF,GAAA,CAACK,UAAU,EAAA;QAAAH,QAAA,EACRV,CAAC,CAAC,8CAA8C;OACvC;AAAC,KACV,CAAC;AAEV;AAEA,EAAA,oBACEQ,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,gDAAgD;IAAAC,QAAA,eAC7DI,IAAA,CAACC,IAAI,EAAA;AACHN,MAAAA,SAAS,EAAC,WAAW;AACrBO,MAAAA,WAAW,EAAE;AACXC,QAAAA,QAAQ,EAAEA,CAAC;AAAEC,UAAAA;SAAc,KACzBX,sBAAsB,CAAC;UACrB5B,SAAS;AACTK,UAAAA,OAAO,EAAE;AAAE4B,YAAAA,MAAM,EAAE,WAAW;AAAEM,YAAAA;AAAa;AAC/C,SAAC,CAAC;AACJC,QAAAA,aAAa,EAAE;AAAED,UAAAA,YAAY,EAAE;AAAG;OAClC;MAAAR,QAAA,EAAA,cAEFF,GAAA,CAACY,QAAQ,EAAA;AACP,QAAA,aAAA,EAAY,gCAAgC;AAC5CC,QAAAA,KAAK,EAAErB,CAAC,CAAC,kDAAkD,CAAE;AAC7DsB,QAAAA,IAAI,EAAC,cAAc;QACnBC,WAAW,EAAEvB,CAAC,CACZ,wDACF;AAAE,OACH,CAAC,eACFQ,GAAA,CAACgB,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,8BAA8B;AAC1CC,QAAAA,QAAQ,EAAEpB,SAAU;AACpBgB,QAAAA,KAAK,EAAErB,CAAC,CAAC,kDAAkD,CAAE;AAC7D0B,QAAAA,OAAO,EAAErB,SAAU;AACnBsB,QAAAA,KAAK,EAAC;AAAQ,OACf,CAAC;KACE;AAAC,GACJ,CAAC;AAEV;;;;"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { useState, useMemo, useEffect } from 'react';
|
|
2
|
+
import { isPresent, camelToSnakeCase } from 'neetocist';
|
|
3
|
+
import { Download } from '@bigbinary/neeto-icons';
|
|
4
|
+
import { mergeLeft } from 'ramda';
|
|
5
|
+
import { useTranslation } from 'react-i18next';
|
|
6
|
+
import { useMutation } from '@tanstack/react-query';
|
|
7
|
+
import axios from 'axios';
|
|
8
|
+
import { B as BASE_URL, u as uuidV4 } from './index-CNouM9_z.js';
|
|
9
|
+
import { getQueryParams } from 'neetocommons/utils';
|
|
10
|
+
import { Modal, Typography, Button } from '@bigbinary/neetoui';
|
|
11
|
+
import { e as exportChannel } from './exportChannel-Db0U5gc1.js';
|
|
12
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
13
|
+
|
|
14
|
+
const create = payload => axios.post(`${BASE_URL}/api/v1/exports`, {
|
|
15
|
+
export: payload
|
|
16
|
+
}, {
|
|
17
|
+
showToastr: false
|
|
18
|
+
});
|
|
19
|
+
const exportsApi = {
|
|
20
|
+
create
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const useExportsData = () => useMutation({
|
|
24
|
+
mutationFn: exportsApi.create
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const ExportModal = ({
|
|
28
|
+
filters,
|
|
29
|
+
dashboardKind,
|
|
30
|
+
holdableIds,
|
|
31
|
+
sortProperties,
|
|
32
|
+
isExportModalOpen,
|
|
33
|
+
setIsExportModalOpen
|
|
34
|
+
}) => {
|
|
35
|
+
const {
|
|
36
|
+
t
|
|
37
|
+
} = useTranslation();
|
|
38
|
+
const [downloadUrl, setDownloadUrl] = useState("");
|
|
39
|
+
const [isGenerating, setIsGenerating] = useState(false);
|
|
40
|
+
const {
|
|
41
|
+
tab = "all"
|
|
42
|
+
} = getQueryParams();
|
|
43
|
+
const {
|
|
44
|
+
mutate: exportsData
|
|
45
|
+
} = useExportsData();
|
|
46
|
+
const token = useMemo(() => `${dashboardKind}-report-${uuidV4()}`, [dashboardKind]);
|
|
47
|
+
const receivedCallback = data => {
|
|
48
|
+
if (!data.download_url) return;
|
|
49
|
+
setDownloadUrl(data.download_url);
|
|
50
|
+
setIsGenerating(false);
|
|
51
|
+
};
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
if (isExportModalOpen) {
|
|
54
|
+
const channel = exportChannel(token, receivedCallback);
|
|
55
|
+
setDownloadUrl("");
|
|
56
|
+
setIsGenerating(false);
|
|
57
|
+
return () => {
|
|
58
|
+
channel.disconnected();
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
}, [isExportModalOpen, token]);
|
|
63
|
+
const onClose = () => setIsExportModalOpen(false);
|
|
64
|
+
const handleExport = () => {
|
|
65
|
+
setDownloadUrl("");
|
|
66
|
+
setIsGenerating(true);
|
|
67
|
+
const payload = mergeLeft(sortProperties, {
|
|
68
|
+
token,
|
|
69
|
+
filters,
|
|
70
|
+
tab,
|
|
71
|
+
holdableIds,
|
|
72
|
+
dashboard: camelToSnakeCase(dashboardKind)
|
|
73
|
+
});
|
|
74
|
+
exportsData(payload);
|
|
75
|
+
};
|
|
76
|
+
return /*#__PURE__*/jsxs(Modal, {
|
|
77
|
+
onClose,
|
|
78
|
+
isOpen: isExportModalOpen,
|
|
79
|
+
children: [/*#__PURE__*/jsx(Modal.Header, {
|
|
80
|
+
children: /*#__PURE__*/jsx(Typography, {
|
|
81
|
+
style: "h2",
|
|
82
|
+
children: t(`neetoPayments.export.title.${dashboardKind}`)
|
|
83
|
+
})
|
|
84
|
+
}), /*#__PURE__*/jsx(Modal.Body, {
|
|
85
|
+
children: isGenerating ? /*#__PURE__*/jsx(Typography, {
|
|
86
|
+
style: "body2",
|
|
87
|
+
children: t("neetoPayments.export.pleaseWait")
|
|
88
|
+
}) : /*#__PURE__*/jsx(Typography, {
|
|
89
|
+
style: "body2",
|
|
90
|
+
children: isPresent(downloadUrl) ? t("neetoPayments.export.fileReady") : t(`neetoPayments.export.download.${dashboardKind}`)
|
|
91
|
+
})
|
|
92
|
+
}), /*#__PURE__*/jsx(Modal.Footer, {
|
|
93
|
+
className: "space-x-2",
|
|
94
|
+
children: isPresent(downloadUrl) ? /*#__PURE__*/jsx(Button, {
|
|
95
|
+
"data-testid": "neeto-payments-download-button",
|
|
96
|
+
href: downloadUrl,
|
|
97
|
+
icon: Download,
|
|
98
|
+
label: t("neetoPayments.common.download"),
|
|
99
|
+
onClick: onClose
|
|
100
|
+
}) : /*#__PURE__*/jsxs(Fragment, {
|
|
101
|
+
children: [/*#__PURE__*/jsx(Button, {
|
|
102
|
+
"data-testid": "cancel-button",
|
|
103
|
+
disabled: isGenerating,
|
|
104
|
+
label: t("neetoPayments.common.cancel"),
|
|
105
|
+
style: "tertiary",
|
|
106
|
+
onClick: onClose
|
|
107
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
108
|
+
"data-testid": "neeto-payments-export-button",
|
|
109
|
+
disabled: isGenerating,
|
|
110
|
+
label: t("neetoPayments.common.export"),
|
|
111
|
+
loading: isGenerating,
|
|
112
|
+
onClick: handleExport
|
|
113
|
+
})]
|
|
114
|
+
})
|
|
115
|
+
})]
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export { ExportModal as E };
|
|
120
|
+
//# sourceMappingURL=ExportModal-DyRGg_4o.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportModal-DyRGg_4o.js","sources":["../app/javascript/src/apis/exports.js","../app/javascript/src/hooks/reactQuery/useExportsApi.js","../app/javascript/src/components/Common/ExportModal.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst create = payload =>\n axios.post(\n `${BASE_URL}/api/v1/exports`,\n { export: payload },\n { showToastr: false }\n );\n\nconst exportsApi = { create };\n\nexport default exportsApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport exportsApi from \"apis/exports\";\n\nexport const useExportsData = () =>\n useMutation({ mutationFn: exportsApi.create });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { isPresent, camelToSnakeCase } from \"neetocist\";\nimport { Download } from \"neetoicons\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useExportsData } from \"hooks/reactQuery/useExportsApi\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport exportChannel from \"src/channels/exportChannel\";\nimport { uuidV4 } from \"utils\";\n\nconst ExportModal = ({\n filters,\n dashboardKind,\n holdableIds,\n sortProperties,\n isExportModalOpen,\n setIsExportModalOpen,\n}) => {\n const { t } = useTranslation();\n const [downloadUrl, setDownloadUrl] = useState(\"\");\n const [isGenerating, setIsGenerating] = useState(false);\n\n const { tab = \"all\" } = getQueryParams();\n\n const { mutate: exportsData } = useExportsData();\n\n const token = useMemo(\n () => `${dashboardKind}-report-${uuidV4()}`,\n [dashboardKind]\n );\n\n const receivedCallback = data => {\n if (!data.download_url) return;\n setDownloadUrl(data.download_url);\n setIsGenerating(false);\n };\n\n useEffect(() => {\n if (isExportModalOpen) {\n const channel = exportChannel(token, receivedCallback);\n setDownloadUrl(\"\");\n setIsGenerating(false);\n\n return () => {\n channel.disconnected();\n };\n }\n\n return undefined;\n }, [isExportModalOpen, token]);\n\n const onClose = () => setIsExportModalOpen(false);\n\n const handleExport = () => {\n setDownloadUrl(\"\");\n setIsGenerating(true);\n const payload = mergeLeft(sortProperties, {\n token,\n filters,\n tab,\n holdableIds,\n dashboard: camelToSnakeCase(dashboardKind),\n });\n\n exportsData(payload);\n };\n\n return (\n <Modal {...{ onClose }} isOpen={isExportModalOpen}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(`neetoPayments.export.title.${dashboardKind}`)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n {isGenerating ? (\n <Typography style=\"body2\">\n {t(\"neetoPayments.export.pleaseWait\")}\n </Typography>\n ) : (\n <Typography style=\"body2\">\n {isPresent(downloadUrl)\n ? t(\"neetoPayments.export.fileReady\")\n : t(`neetoPayments.export.download.${dashboardKind}`)}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n {isPresent(downloadUrl) ? (\n <Button\n data-testid=\"neeto-payments-download-button\"\n href={downloadUrl}\n icon={Download}\n label={t(\"neetoPayments.common.download\")}\n onClick={onClose}\n />\n ) : (\n <>\n <Button\n data-testid=\"cancel-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.cancel\")}\n style=\"tertiary\"\n onClick={onClose}\n />\n <Button\n data-testid=\"neeto-payments-export-button\"\n disabled={isGenerating}\n label={t(\"neetoPayments.common.export\")}\n loading={isGenerating}\n onClick={handleExport}\n />\n </>\n )}\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default ExportModal;\n"],"names":["create","payload","axios","post","BASE_URL","export","showToastr","exportsApi","useExportsData","useMutation","mutationFn","ExportModal","filters","dashboardKind","holdableIds","sortProperties","isExportModalOpen","setIsExportModalOpen","t","useTranslation","downloadUrl","setDownloadUrl","useState","isGenerating","setIsGenerating","tab","getQueryParams","mutate","exportsData","token","useMemo","uuidV4","receivedCallback","data","download_url","useEffect","channel","exportChannel","disconnected","undefined","onClose","handleExport","mergeLeft","dashboard","camelToSnakeCase","_jsxs","Modal","isOpen","children","_jsx","Header","Typography","style","Body","isPresent","Footer","className","Button","href","icon","Download","label","onClick","_Fragment","disabled","loading"],"mappings":"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"}
|