From 31fef21362a1fcea5f6c4b70bf47bb4d48ab4199 Mon Sep 17 00:00:00 2001
From: elforjani13 <39470382+elforjani13@users.noreply.github.com>
Date: Thu, 30 Jun 2022 22:05:35 +0200
Subject: [PATCH] feat: add purchases & sales tables.
---
src/common/tables.js | 2 +
.../ProjectDetailActionsBar.tsx | 18 ++--
.../ProjectDetails/ProjectDetailTabs.tsx | 26 ++++--
.../Purchases/PurchasesTable.tsx | 71 ++++++++++++++
.../ProjectDetails/Purchases/components.tsx | 92 +++++++++++++++++++
.../ProjectDetails/Purchases/index.tsx | 35 +++++++
.../ProjectDetails/Sales/SalesTable.tsx | 71 ++++++++++++++
.../ProjectDetails/Sales/components.tsx | 92 +++++++++++++++++++
.../containers/ProjectDetails/Sales/index.tsx | 18 ++++
.../TimesheetsHeader.tsx | 0
.../TimesheetsTable.tsx | 11 +--
.../components.tsx | 3 +-
.../index.tsx | 10 +-
.../components/FinancialSection.tsx | 8 +-
.../containers/ProjectFormDialog/index.tsx | 1 +
.../TaskFormDialog/TaskFormFields.tsx | 15 +--
src/containers/Settings/withSettings.js | 4 +-
src/lang/en/index.json | 51 +++++++++-
src/store/settings/settings.reducer.js | 6 ++
19 files changed, 496 insertions(+), 38 deletions(-)
create mode 100644 src/containers/Projects/containers/ProjectDetails/Purchases/PurchasesTable.tsx
create mode 100644 src/containers/Projects/containers/ProjectDetails/Purchases/components.tsx
create mode 100644 src/containers/Projects/containers/ProjectDetails/Purchases/index.tsx
create mode 100644 src/containers/Projects/containers/ProjectDetails/Sales/SalesTable.tsx
create mode 100644 src/containers/Projects/containers/ProjectDetails/Sales/components.tsx
create mode 100644 src/containers/Projects/containers/ProjectDetails/Sales/index.tsx
rename src/containers/Projects/containers/ProjectDetails/{ProjectTimesheet => Timesheets}/TimesheetsHeader.tsx (100%)
rename src/containers/Projects/containers/ProjectDetails/{ProjectTimesheet => Timesheets}/TimesheetsTable.tsx (96%)
rename src/containers/Projects/containers/ProjectDetails/{ProjectTimesheet => Timesheets}/components.tsx (98%)
rename src/containers/Projects/containers/ProjectDetails/{ProjectTimesheet => Timesheets}/index.tsx (70%)
diff --git a/src/common/tables.js b/src/common/tables.js
index c6927fad7..b34020d99 100644
--- a/src/common/tables.js
+++ b/src/common/tables.js
@@ -19,6 +19,8 @@ export const TABLES = {
WAREHOUSE_TRANSFERS: 'warehouse_transfers',
PROJECTS: 'projects',
TIMESHEETS: 'timesheets',
+ PURCHASES: 'purchases',
+ SALES: 'sales',
};
export const TABLE_SIZE = {
diff --git a/src/containers/Projects/containers/ProjectDetails/ProjectDetailActionsBar.tsx b/src/containers/Projects/containers/ProjectDetails/ProjectDetailActionsBar.tsx
index 09608d960..23e666949 100644
--- a/src/containers/Projects/containers/ProjectDetails/ProjectDetailActionsBar.tsx
+++ b/src/containers/Projects/containers/ProjectDetails/ProjectDetailActionsBar.tsx
@@ -40,7 +40,13 @@ function ProjectDetailActionsBar({
// Handle new transaction button click.
const handleNewTransactionBtnClick = ({ path }) => {
- history.push(`/${path}`);
+ switch (path) {
+ case 'expense':
+ openDialog('expense-form', { projectId });
+ break;
+ case 'estimatedExpense':
+ openDialog('estimated-expense-form', { projectId });
+ }
};
const handleEditProjectBtnClick = () => {
@@ -50,7 +56,9 @@ function ProjectDetailActionsBar({
};
// Handle table row size change.
const handleTableRowSizeChange = (size) => {
- addSetting('timesheets', 'tableSize', size);
+ addSetting('timesheets', 'tableSize', size) &&
+ addSetting('sales', 'tableSize', size) &&
+ addSetting('purchases', 'tableSize', size);
};
const handleTimeEntryBtnClick = () => {
@@ -67,8 +75,8 @@ function ProjectDetailActionsBar({
@@ -105,8 +113,6 @@ function ProjectDetailActionsBar({
initialValue={timesheetsTableSize}
onChange={handleTableRowSizeChange}
/>
-
- } minimal={true} />