From 8390e5ea6b06d38c1d9f75f2b82a58912dcef13e Mon Sep 17 00:00:00 2001
From: elforjani13 <39470382+elforjani13@users.noreply.github.com>
Date: Thu, 16 Dec 2021 21:11:21 +0200
Subject: [PATCH 1/7] fix: fix errors.
---
.../Accounting/MakeJournal/MakeJournalProvider.js | 5 +++--
.../Drawers/BillDrawer/BillDrawerDetails.js | 8 +++++---
.../Drawers/BillDrawer/LocatedLandedCostTable.js | 14 +++++++-------
.../PaymentMades/PaymentForm/PaymentMadeForm.js | 4 +---
src/hooks/query/settings.js | 2 +-
src/style/pages/Expense/PageForm.scss | 4 ++--
src/style/pages/ManualJournal/MakeJournal.scss | 3 +++
7 files changed, 22 insertions(+), 18 deletions(-)
diff --git a/src/containers/Accounting/MakeJournal/MakeJournalProvider.js b/src/containers/Accounting/MakeJournal/MakeJournalProvider.js
index 2241ff28c..e382c1661 100644
--- a/src/containers/Accounting/MakeJournal/MakeJournalProvider.js
+++ b/src/containers/Accounting/MakeJournal/MakeJournalProvider.js
@@ -7,7 +7,8 @@ import {
useJournal,
useCreateJournal,
useEditJournal,
- useSettings
+ useSettings,
+ useSettingsManualJournals
} from 'hooks/query';
const MakeJournalFormContext = createContext();
@@ -40,7 +41,7 @@ function MakeJournalProvider({ journalId, ...props }) {
const { mutateAsync: editJournalMutate } = useEditJournal();
// Loading the journal settings.
- const { isLoading: isSettingsLoading } = useSettings();
+ const { isLoading: isSettingsLoading } = useSettingsManualJournals();
// Submit form payload.
const [submitPayload, setSubmitPayload] = useState({});
diff --git a/src/containers/Drawers/BillDrawer/BillDrawerDetails.js b/src/containers/Drawers/BillDrawer/BillDrawerDetails.js
index 0385670a4..987cd77fb 100644
--- a/src/containers/Drawers/BillDrawer/BillDrawerDetails.js
+++ b/src/containers/Drawers/BillDrawer/BillDrawerDetails.js
@@ -19,12 +19,14 @@ import BillDrawerCls from 'style/components/Drawers/BillDrawer.module.scss';
export default function BillDrawerDetails() {
const {
data: { transactions },
- billId,
} = useBillDrawerContext();
return (
-
+
}
+ panel={}
/>
{
- openAlert('bill-located-cost-delete', { BillId: id });
- };
-
// Handle allocate landed cost button click.
const handleAllocateCostClick = () => {
openDialog('allocate-landed-cost', { billId });
};
+ // Handle the transaction delete action.
+ const handleDeleteTransaction = ({ id }) => {
+ openAlert('bill-located-cost-delete', { BillId: id });
+ };
+
// Handle from transaction link click.
const handleFromTransactionClick = (original) => {
const { from_transaction_type, from_transaction_id } = original;
@@ -64,7 +64,7 @@ function LocatedLandedCostTable({
}
- text={'Allocate landed cost'}
+ text={}
onClick={handleAllocateCostClick}
/>
diff --git a/src/containers/Purchases/PaymentMades/PaymentForm/PaymentMadeForm.js b/src/containers/Purchases/PaymentMades/PaymentForm/PaymentMadeForm.js
index 15771db31..5e9f04151 100644
--- a/src/containers/Purchases/PaymentMades/PaymentForm/PaymentMadeForm.js
+++ b/src/containers/Purchases/PaymentMades/PaymentForm/PaymentMadeForm.js
@@ -107,9 +107,7 @@ function PaymentMadeForm({
const onError = ({
response: {
- error: {
- data: { errors },
- },
+ data: { errors },
},
}) => {
const getError = (errorType) => errors.find((e) => e.type === errorType);
diff --git a/src/hooks/query/settings.js b/src/hooks/query/settings.js
index 4575307aa..bc28b9e57 100644
--- a/src/hooks/query/settings.js
+++ b/src/hooks/query/settings.js
@@ -95,7 +95,7 @@ export function useSettingsReceipts(props) {
export function useSettingsManualJournals(props) {
return useSettingsQuery(
[t.SETTING, t.SETTING_MANUAL_JOURNALS],
- { group: 'sale_receipts' },
+ { group: 'manual_journals' },
props,
);
}
diff --git a/src/style/pages/Expense/PageForm.scss b/src/style/pages/Expense/PageForm.scss
index 102a3819e..6aaf1fade 100644
--- a/src/style/pages/Expense/PageForm.scss
+++ b/src/style/pages/Expense/PageForm.scss
@@ -1,5 +1,5 @@
-.dashboard__insider--expenses {
-
+.dashboard__insider--expense-form {
+ padding-bottom: 64px;
.bigcapital-datatable {
.tbody {
diff --git a/src/style/pages/ManualJournal/MakeJournal.scss b/src/style/pages/ManualJournal/MakeJournal.scss
index d10c11380..1490e7642 100644
--- a/src/style/pages/ManualJournal/MakeJournal.scss
+++ b/src/style/pages/ManualJournal/MakeJournal.scss
@@ -1,3 +1,6 @@
+.dashboard__insider--make-journal-page {
+ padding-bottom: 64px;
+}
.page-form--make-journal-entries{
$self: '.page-form';
From f9fe3506c5f0689fe3c4c811d64c8dadb7eefdc7 Mon Sep 17 00:00:00 2001
From: elforjani13 <39470382+elforjani13@users.noreply.github.com>
Date: Sun, 19 Dec 2021 17:29:25 +0200
Subject: [PATCH 2/7] feat: item payment transactions.
---
src/common/itemPaymentTranactionsOption.js | 8 ++
.../ItemDetailDrawer/ItemContentDetails.js | 10 +-
.../ItemDetailDrawerProvider.js | 5 +
.../ItemDetailDrawer/ItemDetailHeader.js | 130 +++++++++---------
.../Drawers/ItemDetailDrawer/ItemDetailTab.js | 23 ++++
.../BillPaymentTransactionsDataTable.js | 20 ++-
.../EstimatePaymentTransactionsDataTable.js | 20 ++-
.../InvoicePaymentTransactionsDataTable.js | 20 ++-
.../ItemPaymentTransactionContent.js | 21 +++
.../ReceiptPaymentTransactionsDataTable.js | 20 ++-
.../ItemPaymentTransactions/index.js | 52 ++++---
.../ItemPaymentTransactions/utils.js | 38 +++++
src/style/components/Drawers/ItemDrawer.scss | 36 +++--
13 files changed, 235 insertions(+), 168 deletions(-)
create mode 100644 src/common/itemPaymentTranactionsOption.js
create mode 100644 src/containers/Drawers/ItemDetailDrawer/ItemDetailTab.js
create mode 100644 src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ItemPaymentTransactionContent.js
create mode 100644 src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/utils.js
diff --git a/src/common/itemPaymentTranactionsOption.js b/src/common/itemPaymentTranactionsOption.js
new file mode 100644
index 000000000..1df2bb456
--- /dev/null
+++ b/src/common/itemPaymentTranactionsOption.js
@@ -0,0 +1,8 @@
+import intl from 'react-intl-universal';
+
+export default [
+ { name: 'invoices', label: intl.get('invoices') },
+ { name: 'estimates', label: intl.get('estimates') },
+ { name: 'receipts', label: intl.get('receipts') },
+ { name: 'bills', label: intl.get('bills') },
+];
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemContentDetails.js b/src/containers/Drawers/ItemDetailDrawer/ItemContentDetails.js
index 61d94a3a2..e2044c0e1 100644
--- a/src/containers/Drawers/ItemDetailDrawer/ItemContentDetails.js
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemContentDetails.js
@@ -1,10 +1,7 @@
import React from 'react';
+import ItemDetailTab from './ItemDetailTab';
import ItemDetailActionsBar from './ItemDetailActionsBar';
-import ItemDetailHeader from './ItemDetailHeader';
-import { ItemPaymentTransactions } from './ItemPaymentTransactions';
-
-import { Card } from 'components';
/**
* Item detail.
@@ -13,10 +10,7 @@ export default function ItemDetail() {
return (
-
-
-
-
+
);
}
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemDetailDrawerProvider.js b/src/containers/Drawers/ItemDetailDrawer/ItemDetailDrawerProvider.js
index bb83783b3..c748e559b 100644
--- a/src/containers/Drawers/ItemDetailDrawer/ItemDetailDrawerProvider.js
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemDetailDrawerProvider.js
@@ -8,6 +8,9 @@ const ItemDetailDrawerContext = React.createContext();
* Item detail provider
*/
function ItemDetailDrawerProvider({ itemId, ...props }) {
+ // transaction type payload.
+ const [value, setValue] = React.useState('invoices');
+
// Fetches the given item detail.
const { isLoading: isItemLoading, data: item } = useItem(itemId, {
enabled: !!itemId,
@@ -18,6 +21,8 @@ function ItemDetailDrawerProvider({ itemId, ...props }) {
item,
itemId,
isItemLoading,
+ value,
+ setValue,
};
return (
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemDetailHeader.js b/src/containers/Drawers/ItemDetailDrawer/ItemDetailHeader.js
index 0511a2c4f..7eea8ab1b 100644
--- a/src/containers/Drawers/ItemDetailDrawer/ItemDetailHeader.js
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemDetailHeader.js
@@ -3,7 +3,7 @@ import intl from 'react-intl-universal';
import { defaultTo } from 'lodash';
import classNames from 'classnames';
-import { If, DetailsMenu, DetailItem } from 'components';
+import { If, DetailsMenu, DetailItem, Card } from 'components';
import { useItemDetailDrawerContext } from './ItemDetailDrawerProvider';
/**
@@ -13,70 +13,72 @@ export default function ItemDetailHeader() {
const { item } = useItemDetailDrawerContext();
return (
-
-
-
-
-
-
-
-
-
-
-
-
- 0,
- })}
- >
- {defaultTo(item.quantity_on_hand, '-')}
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ 0,
+ })}
+ >
+ {defaultTo(item.quantity_on_hand, '-')}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
);
}
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemDetailTab.js b/src/containers/Drawers/ItemDetailDrawer/ItemDetailTab.js
new file mode 100644
index 000000000..e964d4bd5
--- /dev/null
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemDetailTab.js
@@ -0,0 +1,23 @@
+import React from 'react';
+import { Tab } from '@blueprintjs/core';
+import { DrawerMainTabs, FormattedMessage as T } from 'components';
+import { ItemPaymentTransactions } from './ItemPaymentTransactions';
+import ItemDetailHeader from './ItemDetailHeader';
+
+
+export default function ItemDetailTab() {
+ return (
+
+ }
+ panel={}
+ />
+ }
+ panel={}
+ />
+
+ );
+}
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/BillPaymentTransactionsDataTable.js b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/BillPaymentTransactionsDataTable.js
index b08e709e5..8d0c6d7a6 100644
--- a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/BillPaymentTransactionsDataTable.js
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/BillPaymentTransactionsDataTable.js
@@ -1,5 +1,5 @@
import React from 'react';
-import { DataTable, Card } from '../../../../components';
+import { DataTable } from '../../../../components';
import { useItemDetailDrawerContext } from '../ItemDetailDrawerProvider';
import { useItemAssociatedBillTransactions } from 'hooks/query';
import { useBillTransactionsColumns } from './components';
@@ -22,16 +22,12 @@ export default function BillPaymentTransactions() {
});
return (
-
-
-
-
-
+
);
}
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/EstimatePaymentTransactionsDataTable.js b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/EstimatePaymentTransactionsDataTable.js
index ebab517ab..0bafefb1a 100644
--- a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/EstimatePaymentTransactionsDataTable.js
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/EstimatePaymentTransactionsDataTable.js
@@ -1,5 +1,5 @@
import React from 'react';
-import { DataTable, Card } from '../../../../components';
+import { DataTable } from '../../../../components';
import { useItemDetailDrawerContext } from '../ItemDetailDrawerProvider';
import { useItemAssociatedEstimateTransactions } from 'hooks/query';
import { useEstimateTransactionsColumns } from './components';
@@ -22,16 +22,12 @@ export default function EstimatePaymentTransactions() {
});
return (
-
-
-
-
-
+
);
}
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/InvoicePaymentTransactionsDataTable.js b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/InvoicePaymentTransactionsDataTable.js
index 1299a4118..7900a998a 100644
--- a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/InvoicePaymentTransactionsDataTable.js
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/InvoicePaymentTransactionsDataTable.js
@@ -1,5 +1,5 @@
import React from 'react';
-import { DataTable, Card } from '../../../../components';
+import { DataTable } from '../../../../components';
import { useItemAssociatedInvoiceTransactions } from 'hooks/query';
import { useItemDetailDrawerContext } from '../ItemDetailDrawerProvider';
import { useInvoicePaymentTransactionsColumns } from './components';
@@ -22,16 +22,12 @@ export default function InvoicePaymentTransactionsTable() {
});
return (
-
-
-
-
-
+
);
}
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ItemPaymentTransactionContent.js b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ItemPaymentTransactionContent.js
new file mode 100644
index 000000000..eb6f93d30
--- /dev/null
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ItemPaymentTransactionContent.js
@@ -0,0 +1,21 @@
+import React from 'react';
+import InvoicePaymentTransactionsTable from './InvoicePaymentTransactionsDataTable';
+import EstimatePaymentTransactionsTable from './EstimatePaymentTransactionsDataTable';
+import ReceiptPaymentTransactionsTable from './ReceiptPaymentTransactionsDataTable';
+import BillPaymentTransactionsTable from './BillPaymentTransactionsDataTable';
+
+export default function ItemPaymentTransactionsContent({ tansactionType }) {
+ const handleType = () => {
+ switch (tansactionType) {
+ case 'invoices':
+ return ;
+ case 'estimates':
+ return ;
+ case 'receipts':
+ return ;
+ case 'bills':
+ return ;
+ }
+ };
+ return handleType();
+}
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ReceiptPaymentTransactionsDataTable.js b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ReceiptPaymentTransactionsDataTable.js
index c73f8e20a..dac60ed12 100644
--- a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ReceiptPaymentTransactionsDataTable.js
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/ReceiptPaymentTransactionsDataTable.js
@@ -1,5 +1,5 @@
import React from 'react';
-import { DataTable, Card } from '../../../../components';
+import { DataTable } from '../../../../components';
import { useItemDetailDrawerContext } from '../ItemDetailDrawerProvider';
import { useItemAssociatedReceiptTransactions } from 'hooks/query';
import { useReceiptTransactionsColumns } from './components';
@@ -22,16 +22,12 @@ export default function ReceiptPaymentTransactions() {
});
return (
-
-
-
-
-
+
);
}
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/index.js b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/index.js
index bd2fefae1..16da8be06 100644
--- a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/index.js
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/index.js
@@ -1,34 +1,30 @@
import React from 'react';
-import { Tab } from '@blueprintjs/core';
-import { DrawerMainTabs, FormattedMessage as T } from 'components';
-import InvoicePaymentTransactionsTable from './InvoicePaymentTransactionsDataTable';
-import EstimatePaymentTransactionsTable from './EstimatePaymentTransactionsDataTable';
-import ReceiptPaymentTransactionsTable from './ReceiptPaymentTransactionsDataTable';
-import BillPaymentTransactionsTable from './BillPaymentTransactionsDataTable';
+import styled from 'styled-components';
+import { Card, FormattedMessage as T } from 'components';
+import { ItemManuTransaction } from './utils';
+import { useItemDetailDrawerContext } from '../ItemDetailDrawerProvider';
+import ItemPaymentTransactionContent from './ItemPaymentTransactionContent';
export const ItemPaymentTransactions = () => {
+ const { value } = useItemDetailDrawerContext();
+
return (
-
- }
- panel={}
- />
- }
- panel={}
- />
- }
- panel={}
- />
- }
- />
-
+
+
+
+
+
+
+
);
};
+
+const ItemManuTransactions = styled.div`
+ display: flex;
+ align-items: center;
+ color: #727983;
+ .bp3-button {
+ padding-left: 6px;
+ font-weight: 700;
+ }
+`;
diff --git a/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/utils.js b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/utils.js
new file mode 100644
index 000000000..9e93ea4b2
--- /dev/null
+++ b/src/containers/Drawers/ItemDetailDrawer/ItemPaymentTransactions/utils.js
@@ -0,0 +1,38 @@
+import React from 'react';
+import {
+ Button,
+ MenuItem,
+ Menu,
+ Popover,
+ PopoverInteractionKind,
+ Position,
+} from '@blueprintjs/core';
+import { FormattedMessage as T } from 'components';
+import { useItemDetailDrawerContext } from '../ItemDetailDrawerProvider';
+import transactions from '../../../../common/itemPaymentTranactionsOption';
+
+export const ItemManuTransaction = () => {
+ const { value, setValue } = useItemDetailDrawerContext();
+
+ // const handleClickItem = (item) => {
+ // onChange && onChange(item);
+ // };
+
+ const content = transactions.map(({ name, label }) => (
+