mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-22 15:50:32 +00:00
refactor(TrialBalanceSheet): refactor with body sheet.
This commit is contained in:
@@ -3,20 +3,21 @@ import moment from 'moment';
|
|||||||
|
|
||||||
import 'style/pages/FinancialStatements/TrialBalanceSheet.scss';
|
import 'style/pages/FinancialStatements/TrialBalanceSheet.scss';
|
||||||
|
|
||||||
|
import { FinancialStatement } from 'components';
|
||||||
import { TrialBalanceSheetProvider } from './TrialBalanceProvider';
|
import { TrialBalanceSheetProvider } from './TrialBalanceProvider';
|
||||||
import TrialBalanceActionsBar from './TrialBalanceActionsBar';
|
import TrialBalanceActionsBar from './TrialBalanceActionsBar';
|
||||||
import TrialBalanceSheetHeader from './TrialBalanceSheetHeader';
|
import TrialBalanceSheetHeader from './TrialBalanceSheetHeader';
|
||||||
import TrialBalanceSheetTable from './TrialBalanceSheetTable';
|
|
||||||
|
|
||||||
import DashboardPageContent from 'components/Dashboard/DashboardPageContent';
|
import DashboardPageContent from 'components/Dashboard/DashboardPageContent';
|
||||||
import {
|
import {
|
||||||
TrialBalanceSheetAlerts,
|
TrialBalanceSheetAlerts,
|
||||||
TrialBalanceSheetLoadingBar,
|
TrialBalanceSheetLoadingBar,
|
||||||
} from './components';
|
} from './components';
|
||||||
|
import { TrialBalanceSheetBody } from './TrialBalanceSheetBody';
|
||||||
|
|
||||||
import withTrialBalanceActions from './withTrialBalanceActions';
|
import withTrialBalanceActions from './withTrialBalanceActions';
|
||||||
import withCurrentOrganization from '../../Organization/withCurrentOrganization';
|
|
||||||
|
|
||||||
|
import { getDefaultTrialBalanceQuery } from './utils';
|
||||||
import { compose } from 'utils';
|
import { compose } from 'utils';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -30,10 +31,7 @@ function TrialBalanceSheet({
|
|||||||
toggleTrialBalanceFilterDrawer: toggleFilterDrawer,
|
toggleTrialBalanceFilterDrawer: toggleFilterDrawer,
|
||||||
}) {
|
}) {
|
||||||
const [filter, setFilter] = useState({
|
const [filter, setFilter] = useState({
|
||||||
fromDate: moment().startOf('year').format('YYYY-MM-DD'),
|
...getDefaultTrialBalanceQuery(),
|
||||||
toDate: moment().endOf('year').format('YYYY-MM-DD'),
|
|
||||||
basis: 'accural',
|
|
||||||
filterByOption: 'with-transactions',
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Handle filter form submit.
|
// Handle filter form submit.
|
||||||
@@ -56,7 +54,6 @@ function TrialBalanceSheet({
|
|||||||
numberFormat,
|
numberFormat,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// Hide the filter drawer once the page unmount.
|
// Hide the filter drawer once the page unmount.
|
||||||
useEffect(
|
useEffect(
|
||||||
() => () => {
|
() => () => {
|
||||||
@@ -75,23 +72,16 @@ function TrialBalanceSheet({
|
|||||||
<TrialBalanceSheetAlerts />
|
<TrialBalanceSheetAlerts />
|
||||||
|
|
||||||
<DashboardPageContent>
|
<DashboardPageContent>
|
||||||
<div class="financial-statement">
|
<FinancialStatement>
|
||||||
<TrialBalanceSheetHeader
|
<TrialBalanceSheetHeader
|
||||||
pageFilter={filter}
|
pageFilter={filter}
|
||||||
onSubmitFilter={handleFilterSubmit}
|
onSubmitFilter={handleFilterSubmit}
|
||||||
/>
|
/>
|
||||||
<div class="financial-statement__body">
|
<TrialBalanceSheetBody />
|
||||||
<TrialBalanceSheetTable companyName={organizationName} />
|
</FinancialStatement>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</DashboardPageContent>
|
</DashboardPageContent>
|
||||||
</TrialBalanceSheetProvider>
|
</TrialBalanceSheetProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default compose(
|
export default compose(withTrialBalanceActions)(TrialBalanceSheet);
|
||||||
withTrialBalanceActions,
|
|
||||||
withCurrentOrganization(({ organization }) => ({
|
|
||||||
organizationName: organization.name,
|
|
||||||
})),
|
|
||||||
)(TrialBalanceSheet);
|
|
||||||
|
|||||||
@@ -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 (
|
||||||
|
<FinancialReportBody>
|
||||||
|
{isLoading ? (
|
||||||
|
<FinancialSheetSkeleton />
|
||||||
|
) : (
|
||||||
|
<TrialBalanceSheetTable companyName={organizationName} />
|
||||||
|
)}
|
||||||
|
</FinancialReportBody>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export const TrialBalanceSheetBody = R.compose(
|
||||||
|
withCurrentOrganization(({ organization }) => ({
|
||||||
|
organizationName: organization.name,
|
||||||
|
})),
|
||||||
|
)(TrialBalanceSheetBodyJSX);
|
||||||
@@ -6,22 +6,20 @@ import { DataTable, FinancialSheet } from 'components';
|
|||||||
import { useTrialBalanceSheetContext } from './TrialBalanceProvider';
|
import { useTrialBalanceSheetContext } from './TrialBalanceProvider';
|
||||||
import { useTrialBalanceTableColumns } from './components';
|
import { useTrialBalanceTableColumns } from './components';
|
||||||
|
|
||||||
|
import { TableStyle } from 'common';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Trial Balance sheet data table.
|
* Trial Balance sheet data table.
|
||||||
*/
|
*/
|
||||||
export default function TrialBalanceSheetTable({
|
export default function TrialBalanceSheetTable({ companyName }) {
|
||||||
companyName,
|
|
||||||
}) {
|
|
||||||
|
|
||||||
|
|
||||||
// Trial balance sheet context.
|
// Trial balance sheet context.
|
||||||
const {
|
const {
|
||||||
trialBalanceSheet: { tableRows, query },
|
trialBalanceSheet: { tableRows, query },
|
||||||
isLoading
|
isLoading,
|
||||||
} = useTrialBalanceSheetContext();
|
} = useTrialBalanceSheetContext();
|
||||||
|
|
||||||
// Trial balance sheet table columns.
|
// Trial balance sheet table columns.
|
||||||
const columns = useTrialBalanceTableColumns();;
|
const columns = useTrialBalanceTableColumns();
|
||||||
|
|
||||||
const rowClassNames = (row) => {
|
const rowClassNames = (row) => {
|
||||||
const { original } = row;
|
const { original } = row;
|
||||||
@@ -48,7 +46,6 @@ export default function TrialBalanceSheetTable({
|
|||||||
basis={'cash'}
|
basis={'cash'}
|
||||||
>
|
>
|
||||||
<DataTable
|
<DataTable
|
||||||
className="bigcapital-datatable--financial-report"
|
|
||||||
columns={columns}
|
columns={columns}
|
||||||
data={tableRows}
|
data={tableRows}
|
||||||
expandable={true}
|
expandable={true}
|
||||||
@@ -56,6 +53,7 @@ export default function TrialBalanceSheetTable({
|
|||||||
expandColumnSpace={1}
|
expandColumnSpace={1}
|
||||||
sticky={true}
|
sticky={true}
|
||||||
rowClassNames={rowClassNames}
|
rowClassNames={rowClassNames}
|
||||||
|
styleName={TableStyle.Constrant}
|
||||||
/>
|
/>
|
||||||
</FinancialSheet>
|
</FinancialSheet>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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',
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user