diff --git a/client/src/containers/FinancialStatements/SalesByItems/SalesByItemsHeaderGeneralPanelProvider.js b/client/src/containers/FinancialStatements/SalesByItems/SalesByItemsHeaderGeneralPanelProvider.js
new file mode 100644
index 000000000..75fde4417
--- /dev/null
+++ b/client/src/containers/FinancialStatements/SalesByItems/SalesByItemsHeaderGeneralPanelProvider.js
@@ -0,0 +1,40 @@
+import React, { createContext, useContext } from 'react';
+import { useItems } from 'hooks/query';
+import { FinancialHeaderLoadingSkeleton } from '../FinancialHeaderLoadingSkeleton';
+
+const SalesByItemGeneralPanelContext = createContext();
+
+/**
+ * Sales by items - General panel - Booting.
+ */
+function SalesByItemGeneralPanelProvider({ query, ...props }) {
+ // Handle fetching the items based on the given query.
+ const {
+ data: { items },
+ isLoading: isItemsLoading,
+ isFetching: isItemsFetching,
+ } = useItems({
+ page_size: 10000,
+ stringified_filter_roles: JSON.stringify([
+ { fieldKey: 'type', comparator: 'is', value: 'inventory', index: 1 },
+ ]),
+ });
+
+ const provider = {
+ items,
+ isItemsLoading,
+ isItemsFetching,
+ };
+ const loading = isItemsLoading;
+
+ return loading ? (
+
+ ) : (
+
+ );
+}
+
+const useSalesByItemsGeneralPanelContext = () =>
+ useContext(SalesByItemGeneralPanelContext);
+
+export { SalesByItemGeneralPanelProvider, useSalesByItemsGeneralPanelContext };
diff --git a/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryHeaderGeneral.js b/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryHeaderGeneral.js
index e599fc02d..94438b15f 100644
--- a/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryHeaderGeneral.js
+++ b/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryHeaderGeneral.js
@@ -1,94 +1,14 @@
import React from 'react';
-import { Field, FastField } from 'formik';
-import { DateInput } from '@blueprintjs/datetime';
-import classNames from 'classnames';
-import { FormGroup, Position, Classes, Checkbox } from '@blueprintjs/core';
-import { ContactsMultiSelect, FormattedMessage as T } from 'components';
-import { Row, Col, FieldHint } from 'components';
-import {
- momentFormatter,
- tansformDateValue,
- inputIntent,
- handleDateChange,
-} from 'utils';
-import { useVendorsBalanceSummaryContext } from './VendorsBalanceSummaryProvider';
+import VendorsBalanceSummaryHeaderGeneralContent from './VendorsBalanceSummaryHeaderGeneralContent';
+import { VendorsBalanceSummaryGeneralPanelProvider } from './VendorsBalanceSummaryHeaderGeneralProvider';
/**
- * Vendors balance header -general panel.
+ * Vendors balance header - General panel.
*/
export default function VendorsBalanceSummaryHeaderGeneral() {
- const { vendors } = useVendorsBalanceSummaryContext();
-
return (
-
-
-
-
- {({ form, field: { value }, meta: { error } }) => (
- }
- labelInfo={}
- fill={true}
- intent={inputIntent({ error })}
- >
- {
- form.setFieldValue('asDate', selectedDate);
- })}
- popoverProps={{ position: Position.BOTTOM, minimal: true }}
- minimal={true}
- fill={true}
- />
-
- )}
-
-
-
-
-
-
-
- {({ field }) => (
- }>
- }
- name={'percentage'}
- {...field}
- />
-
- )}
-
-
-
-
-
-
-
- {({
- form: { setFieldValue },
- field: { value },
- meta: { error, touched },
- }) => (
- }
- className={classNames('form-group--select-list', Classes.FILL)}
- >
- {
- setFieldValue('vendorsIds', contactsIds);
- }}
- contacts={vendors}
- contactsSelected={value}
- />
-
- )}
-
-
-
-
+
+
+
);
}
diff --git a/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryHeaderGeneralContent.js b/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryHeaderGeneralContent.js
new file mode 100644
index 000000000..d833d7092
--- /dev/null
+++ b/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryHeaderGeneralContent.js
@@ -0,0 +1,86 @@
+import React from 'react';
+import { Field, FastField } from 'formik';
+import { DateInput } from '@blueprintjs/datetime';
+import classNames from 'classnames';
+import { FormGroup, Position, Classes, Checkbox } from '@blueprintjs/core';
+
+import { Row, Col, FieldHint, FormattedMessage as T } from 'components';
+import {
+ momentFormatter,
+ tansformDateValue,
+ inputIntent,
+ handleDateChange,
+} from 'utils';
+import { useVendorsBalanceSummaryGeneralPanelContext } from './VendorsBalanceSummaryHeaderGeneralProvider';
+
+/**
+ * Vendors balance header - General panel - Content.
+ */
+export default function VendorsBalanceSummaryHeaderGeneralContent() {
+ const { vendors } = useVendorsBalanceSummaryGeneralPanelContext();
+
+ return (
+
+
+
+
+ {({ form, field: { value }, meta: { error } }) => (
+ }
+ labelInfo={}
+ fill={true}
+ intent={inputIntent({ error })}
+ >
+ {
+ form.setFieldValue('asDate', selectedDate);
+ })}
+ popoverProps={{ position: Position.BOTTOM, minimal: true }}
+ minimal={true}
+ fill={true}
+ />
+
+ )}
+
+
+
+
+
+
+
+ {({ field }) => (
+ }>
+ }
+ name={'percentage'}
+ {...field}
+ />
+
+ )}
+
+
+
+
+
+
+
+ {({
+ form: { setFieldValue },
+ field: { value },
+ meta: { error, touched },
+ }) => (
+ }
+ className={classNames('form-group--select-list', Classes.FILL)}
+ >
+ )}
+
+
+
+
+ );
+}
diff --git a/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryHeaderGeneralProvider.js b/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryHeaderGeneralProvider.js
new file mode 100644
index 000000000..4dd7232a8
--- /dev/null
+++ b/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryHeaderGeneralProvider.js
@@ -0,0 +1,44 @@
+import React from 'react';
+
+import { FinancialHeaderLoadingSkeleton } from '../FinancialHeaderLoadingSkeleton';
+import { useVendors } from '../../../hooks/query';
+
+const VendorsBalanceSummaryGeneralPanelContext = React.createContext();
+
+/**
+ * Vendors balance summary provider.
+ */
+function VendorsBalanceSummaryGeneralPanelProvider({ filter, ...props }) {
+ // Fetch vendors list with pagination meta.
+ const {
+ data: { vendors },
+ isLoading: isVendorsLoading,
+ isFetching: isVendorsFetching,
+ } = useVendors({ page_size: 1000000 });
+
+ // Provider.
+ const provider = {
+ vendors,
+ isVendorsFetching,
+ isVendorsLoading,
+ };
+
+ const loading = isVendorsLoading;
+
+ return loading ? (
+
+ ) : (
+
+ );
+}
+
+const useVendorsBalanceSummaryGeneralPanelContext = () =>
+ React.useContext(VendorsBalanceSummaryGeneralPanelContext);
+
+export {
+ VendorsBalanceSummaryGeneralPanelProvider,
+ useVendorsBalanceSummaryGeneralPanelContext,
+};
diff --git a/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryProvider.js b/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryProvider.js
index db2847d64..79ff52a59 100644
--- a/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryProvider.js
+++ b/client/src/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummaryProvider.js
@@ -1,6 +1,6 @@
import React from 'react';
import FinancialReportPage from '../FinancialReportPage';
-import { useVendorsBalanceSummaryReport, useVendors } from 'hooks/query';
+import { useVendorsBalanceSummaryReport } from 'hooks/query';
import { transformFilterFormToQuery } from '../common';
const VendorsBalanceSummaryContext = React.createContext();
@@ -23,23 +23,12 @@ function VendorsBalanceSummaryProvider({ filter, ...props }) {
keepPreviousData: true,
});
- // Fetch vendors list with pagination meta.
- const {
- data: { vendors },
- isLoading: isVendorsLoading,
- isFetching: isVendorsFetching,
- } = useVendors({ page_size: 1000000 });
-
// Provider.
const provider = {
VendorBalanceSummary,
isVendorsBalanceLoading,
isVendorsBalanceFetching,
- vendors,
- isVendorsFetching,
- isVendorsLoading,
-
refetch,
};
diff --git a/client/src/containers/FinancialStatements/VendorsTransactions/VendorsTransactionsHeaderGeneralPanel.js b/client/src/containers/FinancialStatements/VendorsTransactions/VendorsTransactionsHeaderGeneralPanel.js
index ac7f354da..2681440d2 100644
--- a/client/src/containers/FinancialStatements/VendorsTransactions/VendorsTransactionsHeaderGeneralPanel.js
+++ b/client/src/containers/FinancialStatements/VendorsTransactions/VendorsTransactionsHeaderGeneralPanel.js
@@ -2,16 +2,35 @@ import React from 'react';
import { Field } from 'formik';
import classNames from 'classnames';
import { Classes, FormGroup } from '@blueprintjs/core';
-import FinancialStatementDateRange from 'containers/FinancialStatements/FinancialStatementDateRange';
-import { Row, Col } from 'components';
-import { ContactsMultiSelect, FormattedMessage as T } from 'components';
-import { useVendorsTransactionsContext } from './VendorsTransactionsProvider';
+
+import FinancialStatementDateRange from '../FinancialStatementDateRange';
+import {
+ Row,
+ Col,
+ ContactsMultiSelect,
+ FormattedMessage as T,
+} from 'components';
+import {
+ VendorsTransactionsGeneralPanelProvider,
+ useVendorsTransactionsGeneralPanelContext,
+} from './VendorsTransactionsHeaderGeneralPanelProvider';
/**
- * Vendors transactions header - General panel.
+ * Vendors transactions header - General panel
*/
export default function VendorsTransactionsHeaderGeneralPanel() {
- const { vendors } = useVendorsTransactionsContext();
+ return (
+
+
+
+ );
+}
+
+/**
+ * Vendors transactions header - General panel - Content.
+ */
+function VendorsTransactionsHeaderGeneralPanelContent() {
+ const { vendors } = useVendorsTransactionsGeneralPanelContext();
return (
diff --git a/client/src/containers/FinancialStatements/VendorsTransactions/VendorsTransactionsHeaderGeneralPanelProvider.js b/client/src/containers/FinancialStatements/VendorsTransactions/VendorsTransactionsHeaderGeneralPanelProvider.js
new file mode 100644
index 000000000..8cc17cc39
--- /dev/null
+++ b/client/src/containers/FinancialStatements/VendorsTransactions/VendorsTransactionsHeaderGeneralPanelProvider.js
@@ -0,0 +1,42 @@
+import React, { createContext, useContext } from 'react';
+import { useVendors } from 'hooks/query';
+import { FinancialHeaderLoadingSkeleton } from '../FinancialHeaderLoadingSkeleton';
+
+const VendorsTransactionsGeneralPanelContext = createContext();
+
+/**
+ * Vendors transactions provider.
+ */
+function VendorsTransactionsGeneralPanelProvider({ ...props }) {
+ // Fetch vendors list based on the given query.
+ const {
+ data: { vendors },
+ isLoading: isVendorsLoading,
+ isFetching: isVendorsFetching,
+ } = useVendors({ page_size: 100000 });
+
+ const provider = {
+ vendors,
+ isVendorsLoading,
+ isVendorsFetching,
+ };
+
+ const loading = isVendorsLoading;
+
+ return loading ? (
+
+ ) : (
+
+ );
+}
+
+const useVendorsTransactionsGeneralPanelContext = () =>
+ useContext(VendorsTransactionsGeneralPanelContext);
+
+export {
+ VendorsTransactionsGeneralPanelProvider,
+ useVendorsTransactionsGeneralPanelContext,
+};
diff --git a/client/src/containers/FinancialStatements/VendorsTransactions/VendorsTransactionsProvider.js b/client/src/containers/FinancialStatements/VendorsTransactions/VendorsTransactionsProvider.js
index a15a40f23..96a2912fb 100644
--- a/client/src/containers/FinancialStatements/VendorsTransactions/VendorsTransactionsProvider.js
+++ b/client/src/containers/FinancialStatements/VendorsTransactions/VendorsTransactionsProvider.js
@@ -1,6 +1,6 @@
import React, { createContext, useContext, useMemo } from 'react';
import FinancialReportPage from '../FinancialReportPage';
-import { useVendorsTransactionsReport, useVendors } from 'hooks/query';
+import { useVendorsTransactionsReport } from 'hooks/query';
import { transformFilterFormToQuery } from '../common';
const VendorsTransactionsContext = createContext();
@@ -19,22 +19,11 @@ function VendorsTransactionsProvider({ filter, ...props }) {
refetch,
} = useVendorsTransactionsReport(query, { keepPreviousData: true });
- // Fetch vendors list based on the given query.
- const {
- data: { vendors },
- isLoading: isVendorsLoading,
- isFetching: isVendorsFetching,
- } = useVendors({ page_size: 100000 });
-
const provider = {
vendorsTransactions,
isVendorsTransactionsLoading,
isVendorsTransactionFetching,
- vendors,
- isVendorsLoading,
-
- isVendorsFetching,
refetch,
filter,
query,
diff --git a/client/src/style/containers/FinancialStatements/DrawerHeader.scss b/client/src/style/containers/FinancialStatements/DrawerHeader.scss
index 2c8beb92f..c06323539 100644
--- a/client/src/style/containers/FinancialStatements/DrawerHeader.scss
+++ b/client/src/style/containers/FinancialStatements/DrawerHeader.scss
@@ -25,6 +25,7 @@
max-height: 550px;
height: 100%;
padding-bottom: 49px;
+ background-color: #fff;
> form {
display: flex;