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={}
+ />