mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-21 07:10:33 +00:00
42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
import React, { createContext, useContext } from 'react';
|
|
|
|
import FinancialReportPage from '../FinancialReportPage';
|
|
import { useGeneralLedgerSheet } from 'hooks/query';
|
|
import { transformFilterFormToQuery } from '../common';
|
|
|
|
const GeneralLedgerContext = createContext();
|
|
|
|
/**
|
|
* General ledger provider.
|
|
*/
|
|
function GeneralLedgerProvider({ query, ...props }) {
|
|
// Transformes the report query to request query.
|
|
const requestQuery = React.useMemo(
|
|
() => transformFilterFormToQuery(query),
|
|
[query],
|
|
);
|
|
|
|
const {
|
|
data: generalLedger,
|
|
isFetching,
|
|
isLoading,
|
|
refetch,
|
|
} = useGeneralLedgerSheet(requestQuery, { keepPreviousData: true });
|
|
|
|
const provider = {
|
|
generalLedger,
|
|
sheetRefresh: refetch,
|
|
isFetching,
|
|
isLoading,
|
|
};
|
|
return (
|
|
<FinancialReportPage name={'general-ledger-sheet'}>
|
|
<GeneralLedgerContext.Provider value={provider} {...props} />
|
|
</FinancialReportPage>
|
|
);
|
|
}
|
|
|
|
const useGeneralLedgerContext = () => useContext(GeneralLedgerContext);
|
|
|
|
export { GeneralLedgerProvider, useGeneralLedgerContext };
|