diff --git a/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentDrawer.js b/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceiveDrawer.js
similarity index 82%
rename from client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentDrawer.js
rename to client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceiveDrawer.js
index 747085e55..623445283 100644
--- a/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentDrawer.js
+++ b/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceiveDrawer.js
@@ -6,7 +6,7 @@ import { Drawer, DrawerSuspense } from 'components';
import { compose } from 'utils';
const PaymentReceiveDrawerContent = lazy(() =>
- import('containers/Drawers/PaymentPaperTemplate/PaymentPaperTemplate'),
+ import('./PaymentReceiveDrawerContent'),
);
/**
@@ -16,7 +16,7 @@ function PaymentReceiveDrawer({
name,
//#withDrawer
isOpen,
- payload,
+ payload: { paymentReceiveId },
closeDrawer,
}) {
@@ -28,7 +28,7 @@ function PaymentReceiveDrawer({
return (
-
+
);
diff --git a/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceiveDrawerContent.js b/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceiveDrawerContent.js
new file mode 100644
index 000000000..2cbf9c34e
--- /dev/null
+++ b/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceiveDrawerContent.js
@@ -0,0 +1,17 @@
+import React from 'react';
+import { PaymentReceiveDrawerProvider } from './PaymentReceiveDrawerProvider';
+import PaymentReceivePaper from './PaymentReceivePaper';
+/**
+ * payment receive drawer content.
+ */
+export default function PaymentReceiveDrawerContent({
+ // #ownProp
+ paymentReceiveId,
+}) {
+
+ return (
+
+
+
+ );
+}
diff --git a/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceiveDrawerProvider.js b/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceiveDrawerProvider.js
new file mode 100644
index 000000000..6e6b34b82
--- /dev/null
+++ b/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceiveDrawerProvider.js
@@ -0,0 +1,30 @@
+import React, { createContext, useContext } from 'react';
+import { usePaymentReceive } from 'hooks/query';
+import DashboardInsider from 'components/Dashboard/DashboardInsider';
+
+const PaymentReceiveDrawerContext = createContext();
+
+function PaymentReceiveDrawerProvider({ paymentReceiveId, ...props }) {
+ const {
+ data: paymentReceive,
+ isFetching: isPaymentReceiveLoading,
+ } = usePaymentReceive(paymentReceiveId, {
+ enabled: !!paymentReceiveId,
+ });
+
+ // Provider payload.
+ const provider = {
+ paymentReceiveId,
+ paymentReceive,
+ };
+
+ return (
+
+
+
+ );
+}
+const usePaymentReceiveDrawerContext = () =>
+ useContext(PaymentReceiveDrawerContext);
+
+export { PaymentReceiveDrawerProvider, usePaymentReceiveDrawerContext };
diff --git a/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceivePaper.js b/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceivePaper.js
new file mode 100644
index 000000000..50cc17622
--- /dev/null
+++ b/client/src/containers/Sales/PaymentReceives/PaymentDetails/PaymentReceivePaper.js
@@ -0,0 +1,9 @@
+import React from 'react';
+import PaymentPaperTemplate from 'containers/Drawers/PaymentPaperTemplate/PaymentPaperTemplate';
+import { usePaymentReceiveDrawerContext } from './PaymentReceiveDrawerProvider';
+
+export default function PaymentReceivePaper() {
+ const { paymentReceive } = usePaymentReceiveDrawerContext();
+
+ return ;
+}
diff --git a/client/src/containers/Sales/PaymentReceives/PaymentsLanding/PaymentReceivesTable.js b/client/src/containers/Sales/PaymentReceives/PaymentsLanding/PaymentReceivesTable.js
index 0ef260db0..a3b7ac39b 100644
--- a/client/src/containers/Sales/PaymentReceives/PaymentsLanding/PaymentReceivesTable.js
+++ b/client/src/containers/Sales/PaymentReceives/PaymentsLanding/PaymentReceivesTable.js
@@ -58,8 +58,8 @@ function PaymentReceivesDataTable({
};
// Handle drawer payment receive.
- const handleDrawerPaymentReceive = () => {
- openDrawer('payment-receive-drawer', {});
+ const handleDrawerPaymentReceive = ({ id }) => {
+ openDrawer('payment-receive-drawer', { paymentReceiveId: id });
};
// Handle datatable fetch once the table's state changing.
diff --git a/client/src/containers/Sales/PaymentReceives/PaymentsLanding/components.js b/client/src/containers/Sales/PaymentReceives/PaymentsLanding/components.js
index 38878355f..189fb3548 100644
--- a/client/src/containers/Sales/PaymentReceives/PaymentsLanding/components.js
+++ b/client/src/containers/Sales/PaymentReceives/PaymentsLanding/components.js
@@ -37,7 +37,7 @@ export function ActionsMenu({
}
text={formatMessage({ id: 'payment_receive_paper' })}
- onClick={() => onDrawer()}
+ onClick={safeCallback(onDrawer, paymentReceive)}
/>