From 0ca0a2ee0b7a2efbae1a174ffd916b2b1ac3705d Mon Sep 17 00:00:00 2001
From: elforjani13 <39470382+elforjani13@users.noreply.github.com>
Date: Mon, 20 Dec 2021 11:12:38 +0200
Subject: [PATCH] feat: add context menu.
---
.../BillPaymentTransactions/index.js | 37 ++++++++++++++++++-
.../InvoicePaymentTransactions/index.js | 16 ++++++++
.../ReceiptPaymentTransactions/index.js | 19 +++++++++-
3 files changed, 70 insertions(+), 2 deletions(-)
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/BillPaymentTransactions/index.js b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/BillPaymentTransactions/index.js
index 8c8f3025b..237458ca2 100644
--- a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/BillPaymentTransactions/index.js
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/BillPaymentTransactions/index.js
@@ -1,13 +1,28 @@
import React from 'react';
+import { useHistory } from 'react-router-dom';
+
import { DataTable } from '../../../../../components';
import { useItemDetailDrawerContext } from '../../ItemDetailDrawerProvider';
import { useItemAssociatedBillTransactions } from 'hooks/query';
import { useBillTransactionsColumns, ActionsMenu } from './components';
+import withAlertsActions from 'containers/Alert/withAlertActions';
+import withDrawerActions from 'containers/Drawer/withDrawerActions';
+
+import { compose } from 'utils';
+
/**
* Bill payment transactions data table.
*/
-export default function BillPaymentTransactions() {
+function BillPaymentTransactions({
+ // #withAlertsActions
+ openAlert,
+
+ // #withDrawerActions
+ closeDrawer,
+}) {
+ const history = useHistory();
+
const columns = useBillTransactionsColumns();
const { itemId } = useItemDetailDrawerContext();
@@ -21,6 +36,18 @@ export default function BillPaymentTransactions() {
enabled: !!itemId,
});
+ // Handles delete payment transactions.
+ const handleDeletePaymentTransactons = ({ bill_id }) => {
+ openAlert('bill-delete', {
+ billId: bill_id,
+ });
+ };
+
+ // Handles edit payment transactions.
+ const handleEditPaymentTransactions = ({ bill_id }) => {
+ history.push(`/bills/${bill_id}/edit`);
+ closeDrawer('item-detail-drawer');
+ };
return (
);
}
+export default compose(
+ withAlertsActions,
+ withDrawerActions,
+)(BillPaymentTransactions);
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/InvoicePaymentTransactions/index.js b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/InvoicePaymentTransactions/index.js
index 83181f83b..f1520f2da 100644
--- a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/InvoicePaymentTransactions/index.js
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/InvoicePaymentTransactions/index.js
@@ -38,6 +38,18 @@ function InvoicePaymentTransactions({
enabled: !!itemId,
});
+ // Handles delete payment transactions.
+ const handleDeletePaymentTransactons = ({ invoice_id }) => {
+ openAlert('invoice-delete', {
+ invoiceId: invoice_id,
+ });
+ };
+
+ // Handles edit payment transactions.
+ const handleEditPaymentTransactions = ({ invoice_id }) => {
+ history.push(`/invoices/${invoice_id}/edit`);
+ closeDrawer('item-detail-drawer');
+ };
return (
);
}
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ReceiptPaymentTransactions/index.js b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ReceiptPaymentTransactions/index.js
index b8fc1194a..bd97bc1f5 100644
--- a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ReceiptPaymentTransactions/index.js
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ReceiptPaymentTransactions/index.js
@@ -35,7 +35,20 @@ function ReceiptPaymentTransactions({
} = useItemAssociatedReceiptTransactions(itemId, {
enabled: !!itemId,
});
-
+
+ // Handles delete payment transactions.
+ const handleDeletePaymentTransactons = ({ receipt_id }) => {
+ openAlert('receipt-delete', {
+ receiptId: receipt_id,
+ });
+ };
+
+ // Handles edit payment transactions.
+ const handleEditPaymentTransactions = ({ receipt_id }) => {
+ history.push(`/receipts/${receipt_id}/edit`);
+ closeDrawer('item-detail-drawer');
+ };
+
return (
);
}