mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-15 12:20:31 +00:00
65 lines
1.6 KiB
TypeScript
65 lines
1.6 KiB
TypeScript
// @ts-nocheck
|
|
import React from 'react';
|
|
import { Button } from '@blueprintjs/core';
|
|
|
|
import { Icon, If, FormattedMessage as T } from '@/components';
|
|
import FinancialLoadingBar from '../FinancialLoadingBar';
|
|
|
|
import { dynamicColumns } from './dynamicColumns';
|
|
import { useCashFlowStatementContext } from './CashFlowStatementProvider';
|
|
|
|
/**
|
|
* Retrieve cash flow statement columns.
|
|
*/
|
|
export const useCashFlowStatementColumns = () => {
|
|
const {
|
|
cashFlowStatement: { columns, tableRows },
|
|
} = useCashFlowStatementContext();
|
|
|
|
return React.useMemo(
|
|
() => dynamicColumns(columns, tableRows),
|
|
[columns, tableRows],
|
|
);
|
|
};
|
|
|
|
/**
|
|
* Cash flow statement loading bar.
|
|
*/
|
|
export function CashFlowStatementLoadingBar() {
|
|
const { isCashFlowFetching } = useCashFlowStatementContext();
|
|
return (
|
|
<If condition={isCashFlowFetching}>
|
|
<FinancialLoadingBar />
|
|
</If>
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Cash flow statement alter
|
|
*/
|
|
export function CashFlowStatementAlerts() {
|
|
const { cashFlowStatement, isCashFlowLoading, refetchCashFlow } =
|
|
useCashFlowStatementContext();
|
|
|
|
// Handle refetch the report sheet.
|
|
const handleRecalcReport = () => {
|
|
refetchCashFlow();
|
|
};
|
|
|
|
// Can't display any error if the report is loading
|
|
if (isCashFlowLoading) {
|
|
return null;
|
|
}
|
|
return (
|
|
<If condition={cashFlowStatement.meta.is_cost_compute_running}>
|
|
<div className="alert-compute-running">
|
|
<Icon icon="info-block" iconSize={12} />
|
|
<T id={'just_a_moment_we_re_calculating_your_cost_transactions'} />
|
|
<Button onClick={handleRecalcReport} minimal={true} small={true}>
|
|
<T id={'refresh'} />
|
|
</Button>
|
|
</div>
|
|
</If>
|
|
);
|
|
}
|