From 1f81fd213de265f96965147715b6e55346bc258e Mon Sep 17 00:00:00 2001 From: "a.bouhuolia" Date: Thu, 10 Feb 2022 11:44:50 +0200 Subject: [PATCH] refactor(TrialBalanceSheet): refactor with body sheet. --- .../TrialBalanceSheet/TrialBalanceSheet.js | 26 +++++--------- .../TrialBalanceSheetBody.js | 36 +++++++++++++++++++ .../TrialBalanceSheetTable.js | 14 ++++---- .../TrialBalanceSheet/utils.js | 11 ++++++ 4 files changed, 61 insertions(+), 26 deletions(-) create mode 100644 src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetBody.js create mode 100644 src/containers/FinancialStatements/TrialBalanceSheet/utils.js diff --git a/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheet.js b/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheet.js index 5f5f07697..4a3b3346a 100644 --- a/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheet.js +++ b/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheet.js @@ -3,20 +3,21 @@ import moment from 'moment'; import 'style/pages/FinancialStatements/TrialBalanceSheet.scss'; +import { FinancialStatement } from 'components'; import { TrialBalanceSheetProvider } from './TrialBalanceProvider'; import TrialBalanceActionsBar from './TrialBalanceActionsBar'; import TrialBalanceSheetHeader from './TrialBalanceSheetHeader'; -import TrialBalanceSheetTable from './TrialBalanceSheetTable'; import DashboardPageContent from 'components/Dashboard/DashboardPageContent'; import { TrialBalanceSheetAlerts, TrialBalanceSheetLoadingBar, } from './components'; +import { TrialBalanceSheetBody } from './TrialBalanceSheetBody'; import withTrialBalanceActions from './withTrialBalanceActions'; -import withCurrentOrganization from '../../Organization/withCurrentOrganization'; +import { getDefaultTrialBalanceQuery } from './utils'; import { compose } from 'utils'; /** @@ -30,10 +31,7 @@ function TrialBalanceSheet({ toggleTrialBalanceFilterDrawer: toggleFilterDrawer, }) { const [filter, setFilter] = useState({ - fromDate: moment().startOf('year').format('YYYY-MM-DD'), - toDate: moment().endOf('year').format('YYYY-MM-DD'), - basis: 'accural', - filterByOption: 'with-transactions', + ...getDefaultTrialBalanceQuery(), }); // Handle filter form submit. @@ -56,7 +54,6 @@ function TrialBalanceSheet({ numberFormat, }); }; - // Hide the filter drawer once the page unmount. useEffect( () => () => { @@ -75,23 +72,16 @@ function TrialBalanceSheet({ -
+ -
- -
-
+ +
); } -export default compose( - withTrialBalanceActions, - withCurrentOrganization(({ organization }) => ({ - organizationName: organization.name, - })), -)(TrialBalanceSheet); +export default compose(withTrialBalanceActions)(TrialBalanceSheet); diff --git a/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetBody.js b/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetBody.js new file mode 100644 index 000000000..0ca05c56c --- /dev/null +++ b/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetBody.js @@ -0,0 +1,36 @@ +import React from 'react'; +import * as R from 'ramda'; + +import { FinancialSheetSkeleton } from 'components'; +import { FinancialReportBody } from '../FinancialReportPage'; +import TrialBalanceSheetTable from './TrialBalanceSheetTable'; + +import { useTrialBalanceSheetContext } from './TrialBalanceProvider'; +import withCurrentOrganization from '../../Organization/withCurrentOrganization'; + +/** + * Trial balance sheet body. + * @returns {React.JSX} + */ +function TrialBalanceSheetBodyJSX({ + // #withCurrentOrganization + organizationName, +}) { + const { isLoading } = useTrialBalanceSheetContext(); + + return ( + + {isLoading ? ( + + ) : ( + + )} + + ); +} + +export const TrialBalanceSheetBody = R.compose( + withCurrentOrganization(({ organization }) => ({ + organizationName: organization.name, + })), +)(TrialBalanceSheetBodyJSX); diff --git a/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetTable.js b/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetTable.js index 656eb103d..29470d27a 100644 --- a/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetTable.js +++ b/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetTable.js @@ -6,22 +6,20 @@ import { DataTable, FinancialSheet } from 'components'; import { useTrialBalanceSheetContext } from './TrialBalanceProvider'; import { useTrialBalanceTableColumns } from './components'; +import { TableStyle } from 'common'; + /** * Trial Balance sheet data table. */ -export default function TrialBalanceSheetTable({ - companyName, -}) { - - +export default function TrialBalanceSheetTable({ companyName }) { // Trial balance sheet context. const { trialBalanceSheet: { tableRows, query }, - isLoading + isLoading, } = useTrialBalanceSheetContext(); // Trial balance sheet table columns. - const columns = useTrialBalanceTableColumns();; + const columns = useTrialBalanceTableColumns(); const rowClassNames = (row) => { const { original } = row; @@ -48,7 +46,6 @@ export default function TrialBalanceSheetTable({ basis={'cash'} > ); diff --git a/src/containers/FinancialStatements/TrialBalanceSheet/utils.js b/src/containers/FinancialStatements/TrialBalanceSheet/utils.js new file mode 100644 index 000000000..4c0a90a26 --- /dev/null +++ b/src/containers/FinancialStatements/TrialBalanceSheet/utils.js @@ -0,0 +1,11 @@ +import moment from 'moment'; + + +export function getDefaultTrialBalanceQuery() { + return { + fromDate: moment().startOf('year').format('YYYY-MM-DD'), + toDate: moment().endOf('year').format('YYYY-MM-DD'), + basis: 'accural', + filterByOption: 'with-transactions', + }; +} \ No newline at end of file