From cffcef6f43fa84c5a69dfffcbe1d9feba1a112a7 Mon Sep 17 00:00:00 2001 From: elforjani13 <39470382+elforjani13@users.noreply.github.com> Date: Wed, 16 Feb 2022 20:43:00 +0200 Subject: [PATCH] feat(financial reports): add branch multi select. --- .../BalanceSheetHeaderDimensionsPanel.js | 32 ++++++++------- .../BalanceSheetHeaderDimensionsProvider.js | 32 +++++++++++++++ .../CashFlowStatementDimensionsPanel.js | 20 +++++++-- ...ashFlowStatementDimensionsPanelProvider.js | 37 +++++++++++++++++ .../GeneralLedger/GeneralLedgerHeader.js | 8 ++++ .../GeneralLedgerHeaderDimensionsPanel.js | 41 +++++++++++++++++++ ...eralLedgerHeaderDimensionsPanelProvider.js | 38 +++++++++++++++++ .../Journal/JournalSheetHeaderDimensions.js | 22 +++++++--- .../JournalSheetHeaderDimensionsProvider.js | 38 +++++++++++++++++ .../ProfitLossSheet/ProfitLossSheetHeader.js | 8 +++- .../ProfitLossSheetHeaderDimensionsPanel.js | 41 +++++++++++++++++++ ...ProfitLossSheetHeaderDimensionsProvider.js | 38 +++++++++++++++++ .../ProfitLossSheet/utils.js | 2 + .../TrialBalanceSheetHeaderDimensionsPanel.js | 23 ++++++++--- ...lanceSheetHeaderDimensionsPanelProvider.js | 31 ++++++++++++++ .../TrialBalanceSheet/utils.js | 3 +- src/lang/en/index.json | 5 ++- src/style/App.scss | 4 ++ 18 files changed, 392 insertions(+), 31 deletions(-) create mode 100644 src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeaderDimensionsProvider.js create mode 100644 src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementDimensionsPanelProvider.js create mode 100644 src/containers/FinancialStatements/GeneralLedger/GeneralLedgerHeaderDimensionsPanel.js create mode 100644 src/containers/FinancialStatements/GeneralLedger/GeneralLedgerHeaderDimensionsPanelProvider.js create mode 100644 src/containers/FinancialStatements/Journal/JournalSheetHeaderDimensionsProvider.js create mode 100644 src/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheetHeaderDimensionsPanel.js create mode 100644 src/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheetHeaderDimensionsProvider.js create mode 100644 src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetHeaderDimensionsPanelProvider.js diff --git a/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeaderDimensionsPanel.js b/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeaderDimensionsPanel.js index 6b93d6c04..697a42f42 100644 --- a/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeaderDimensionsPanel.js +++ b/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeaderDimensionsPanel.js @@ -1,19 +1,31 @@ import React from 'react'; -import styled from 'styled-components'; import intl from 'react-intl-universal'; import { FormGroup, Classes } from '@blueprintjs/core'; import { BranchMultiSelect, Row, Col } from 'components'; -import { FinancialHeaderLoadingSkeleton } from '../FinancialHeaderLoadingSkeleton'; -import { useBranches } from 'hooks/query'; +import { + BalanceSheetHeaderDimensionsProvider, + useBalanceSheetHeaderDimensionsPanelContext, +} from './BalanceSheetHeaderDimensionsProvider'; /** * Balance sheet header dismension panel. * @returns */ -function BalanceSheetHeaderDimensionsPanel() { - // Fetches the branches list. - const { isLoading: isBranchesLoading, data: branches } = useBranches(); +export default function BalanceSheetHeaderDimensionsPanel() { + return ( + + + + ); +} +/** + * Balance sheet header dismension panel content. + * @returns + */ +function BalanceSheetHeaderDimensionsPanelContent() { + const { branches } = useBalanceSheetHeaderDimensionsPanelContext(); + return ( @@ -27,11 +39,3 @@ function BalanceSheetHeaderDimensionsPanel() { ); } - -export default BalanceSheetHeaderDimensionsPanel; - -const BalanceMulitSelectRoot = styled.div` - .bp3-tag-input { - height: auto; - } -`; diff --git a/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeaderDimensionsProvider.js b/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeaderDimensionsProvider.js new file mode 100644 index 000000000..a3ea4de19 --- /dev/null +++ b/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeaderDimensionsProvider.js @@ -0,0 +1,32 @@ +import React from 'react'; + +import { useBranches } from 'hooks/query'; +import { FinancialHeaderLoadingSkeleton } from '../FinancialHeaderLoadingSkeleton'; + +const BalanceSheetHeaderDimensionsPanelConext = React.createContext(); + +/** + * BL sheet header provider. + * @returns + */ +function BalanceSheetHeaderDimensionsProvider({ ...props }) { + // Fetches the branches list. + const { isLoading: isBranchesLoading, data: branches } = useBranches(); + + // Provider + const provider = { + branches, + isBranchesLoading, + }; + + return isBranchesLoading ? ( + + ) : ( + + ); +} + +const useBalanceSheetHeaderDimensionsPanelContext = () => + React.useContext(BalanceSheetHeaderDimensionsPanelConext); + +export { BalanceSheetHeaderDimensionsProvider, useBalanceSheetHeaderDimensionsPanelContext }; diff --git a/src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementDimensionsPanel.js b/src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementDimensionsPanel.js index 14b59aee3..902a29bb9 100644 --- a/src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementDimensionsPanel.js +++ b/src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementDimensionsPanel.js @@ -2,16 +2,30 @@ import React from 'react'; import intl from 'react-intl-universal'; import { FormGroup, Classes } from '@blueprintjs/core'; import { BranchMultiSelect, Row, Col } from 'components'; -import { FinancialHeaderLoadingSkeleton } from '../FinancialHeaderLoadingSkeleton'; -import { useBranches } from 'hooks/query'; +import { + CashFlowStatementDimensionsPanelProvider, + useCashFlowStatementDimensionsPanelContext, +} from './CashFlowStatementDimensionsPanelProvider'; /** * Cash flow statement dismension panel. * @returns */ export default function CashFlowStatementDimensionsPanel() { + return ( + + + + ); +} + +/** + * Cash flow statement dismension panel content. + * @returns + */ +function CashFlowStatementDimensionsPanelContent() { // Fetches the branches list. - const { isLoading: isBranchesLoading, data: branches } = useBranches(); + const { branches } = useCashFlowStatementDimensionsPanelContext(); return ( diff --git a/src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementDimensionsPanelProvider.js b/src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementDimensionsPanelProvider.js new file mode 100644 index 000000000..90f304924 --- /dev/null +++ b/src/containers/FinancialStatements/CashFlowStatement/CashFlowStatementDimensionsPanelProvider.js @@ -0,0 +1,37 @@ +import React from 'react'; + +import { useBranches } from 'hooks/query'; +import { FinancialHeaderLoadingSkeleton } from '../FinancialHeaderLoadingSkeleton'; + +const CashFlowStatementDimensionsPanelContext = React.createContext(); + +/** + * cash flow statement dimensions panel provider. + * @returns + */ +function CashFlowStatementDimensionsPanelProvider({ ...props }) { + // Fetches the branches list. + const { isLoading: isBranchesLoading, data: branches } = useBranches(); + + // Provider + const provider = { + branches, + isBranchesLoading, + }; + return isBranchesLoading ? ( + + ) : ( + + ); +} + +const useCashFlowStatementDimensionsPanelContext = () => + React.useContext(CashFlowStatementDimensionsPanelContext); + +export { + CashFlowStatementDimensionsPanelProvider, + useCashFlowStatementDimensionsPanelContext, +}; diff --git a/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerHeader.js b/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerHeader.js index 80b2de834..2d631a4c9 100644 --- a/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerHeader.js +++ b/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerHeader.js @@ -7,6 +7,7 @@ import { FormattedMessage as T } from 'components'; import FinancialStatementHeader from 'containers/FinancialStatements/FinancialStatementHeader'; import GeneralLedgerHeaderGeneralPane from './GeneralLedgerHeaderGeneralPane'; +import GeneralLedgerHeaderDimensionsPanel from './GeneralLedgerHeaderDimensionsPanel'; import withGeneralLedger from './withGeneralLedger'; import withGeneralLedgerActions from './withGeneralLedgerActions'; @@ -31,6 +32,7 @@ function GeneralLedgerHeader({ const defaultValues = { fromDate: moment().toDate(), toDate: moment().toDate(), + branchesIds: [], }; // Initial values. @@ -39,6 +41,7 @@ function GeneralLedgerHeader({ ...pageFilter, fromDate: moment(pageFilter.fromDate).toDate(), toDate: moment(pageFilter.toDate).toDate(), + branchesIds: [], }, defaultValues, ); @@ -84,6 +87,11 @@ function GeneralLedgerHeader({ title={} panel={} /> + } + panel={} + />