fix : cash flow statment & inventoey item Details.

This commit is contained in:
elforjani3
2021-06-06 16:21:38 +02:00
parent b45a85c2e4
commit df02935e9b
7 changed files with 104 additions and 18 deletions

View File

@@ -12,7 +12,10 @@ import CashFlowStatementActionsBar from './CashFlowStatementActionsBar';
import withSettings from 'containers/Settings/withSettings';
import withCashFlowStatementActions from './withCashFlowStatementActions';
import { CashFlowStatementProvider } from './CashFlowStatementProvider';
import { CashFlowStatementLoadingBar } from './components';
import {
CashFlowStatementLoadingBar,
CashFlowStatementAlerts,
} from './components';
import { compose } from 'utils';
@@ -65,6 +68,7 @@ function CashFlowStatement({
onNumberFormatSubmit={handleNumberFormatSubmit}
/>
<CashFlowStatementLoadingBar />
<CashFlowStatementAlerts />
<DashboardPageContent>
<FinancialStatement>
<CashFlowStatementHeader

View File

@@ -1,5 +1,6 @@
import React from 'react';
import { If } from 'components';
import { Button } from '@blueprintjs/core';
import { Icon, If } from 'components';
import { dynamicColumns } from './utils';
import { useCashFlowStatementContext } from './CashFlowStatementProvider';
@@ -10,10 +11,13 @@ import FinancialLoadingBar from '../FinancialLoadingBar';
*/
export const useCashFlowStatementColumns = () => {
const {
cashFlowStatement: { columns, data },
cashFlowStatement: { columns, tableRows },
} = useCashFlowStatementContext();
return React.useMemo(() => dynamicColumns(columns, data), [columns, data]);
return React.useMemo(
() => dynamicColumns(columns, tableRows),
[columns, tableRows],
);
};
/**
@@ -27,3 +31,34 @@ export function CashFlowStatementLoadingBar() {
</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} /> Just a moment! We're
calculating your cost transactions and this doesn't take much time.
Please check after sometime.
<Button onClick={handleRecalcReport} minimal={true} small={true}>
Refresh
</Button>
</div>
</If>
);
}

View File

@@ -28,6 +28,7 @@ const dateRangeMapper = (data, index, column) => ({
width: getColumnWidth(data, `cells.${index}.value`, { minWidth: 100 }),
className: `date-period ${column.key}`,
disableSortBy: true,
textOverview: true,
});
/**
@@ -40,11 +41,10 @@ const totalMapper = (data, index, column) => ({
className: 'total',
textOverview: true,
Cell: CellTextSpan,
width: getColumnWidth(data, `cells[${index}].value`, { minWidth: 100 }),
width: getColumnWidth(data, `cells[${index}].value`, { minWidth: 100 }),
disableSortBy: true,
});
/**
* Detarmines the given string starts with `date-range` string.
*/

View File

@@ -12,7 +12,10 @@ import InventoryItemDetailsTable from './InventoryItemDetailsTable';
import withInventoryItemDetailsActions from './withInventoryItemDetailsActions';
import withSettings from 'containers/Settings/withSettings';
import { InventoryItemDetailsProvider } from './InventoryItemDetailsProvider';
import { InventoryItemDetailsLoadingBar } from './components';
import {
InventoryItemDetailsLoadingBar,
InventoryItemDetailsAlerts,
} from './components';
import { compose } from 'utils';
@@ -26,7 +29,6 @@ function InventoryItemDetails({
//#withInventoryItemDetailsActions
toggleInventoryItemDetailsFilterDrawer: toggleFilterDrawer,
}) {
const [filter, setFilter] = useState({
fromDate: moment().startOf('year').format('YYYY-MM-DD'),
toDate: moment().endOf('year').format('YYYY-MM-DD'),
@@ -58,6 +60,8 @@ function InventoryItemDetails({
onNumberFormatSubmit={handleNumberFormatSubmit}
/>
<InventoryItemDetailsLoadingBar />
<InventoryItemDetailsAlerts />
<DashboardPageContent>
<FinancialStatement>
<div className={'financial-statement--inventory-details'}>

View File

@@ -1,5 +1,6 @@
import React from 'react';
import { If } from 'components';
import { Button } from '@blueprintjs/core';
import { Icon, If } from 'components';
import { dynamicColumns } from './utils';
import FinancialLoadingBar from '../FinancialLoadingBar';
@@ -10,14 +11,17 @@ import { useInventoryItemDetailsContext } from './InventoryItemDetailsProvider';
*/
export const useInventoryItemDetailsColumns = () => {
const {
inventoryItemDetails: { columns, data },
inventoryItemDetails: { columns, tableRows },
} = useInventoryItemDetailsContext();
return React.useMemo(() => dynamicColumns(columns, data), [columns, data]);
return React.useMemo(
() => dynamicColumns(columns, tableRows),
[columns, tableRows],
);
};
/**
* Cash inventory item details loading bar.
* inventory item details loading bar.
*/
export function InventoryItemDetailsLoadingBar() {
const { isInventoryItemDetailsLoading } = useInventoryItemDetailsContext();
@@ -27,3 +31,37 @@ export function InventoryItemDetailsLoadingBar() {
</If>
);
}
/**
* inventory item details alerts
*/
export function InventoryItemDetailsAlerts() {
const {
inventoryItemDetails,
isInventoryItemDetailsLoading,
inventoryItemDetailsRefetch,
} = useInventoryItemDetailsContext();
// Handle refetch the report sheet.
const handleRecalcReport = () => {
inventoryItemDetailsRefetch();
};
// Can't display any error if the report is loading
if (isInventoryItemDetailsLoading) {
return null;
}
return (
<If condition={inventoryItemDetails.meta.is_cost_compute_running}>
<div className="alert-compute-running">
<Icon icon="info-block" iconSize={12} /> Just a moment! We're
calculating your cost transactions and this doesn't take much time.
Please check after sometime.
<Button onClick={handleRecalcReport} minimal={true} small={true}>
Refresh
</Button>
</div>
</If>
);
}

View File

@@ -27,6 +27,7 @@ const columnsMapper = (data, index, column) => ({
magicSpacing: 10,
}),
disableSortBy: true,
// textOverview: true,
});
/**

View File

@@ -420,13 +420,15 @@ export function useCashFlowStatementReport(query, props) {
{
select: (res) => ({
columns: res.data.table.columns,
data: res.data.table.data,
query: res.data.query,
meta: res.data.meta,
tableRows: res.data.table.data,
}),
defaultData: {
tableRows: [],
data: [],
columns: [],
query: {},
meta: {},
},
...props,
},
@@ -436,7 +438,7 @@ export function useCashFlowStatementReport(query, props) {
/**
* Retrieve inventory item detail report.
*/
export function useInventoryItemDetailsReport(query, props) {
export function useInventoryItemDetailsReport(query, props) {
return useRequestQuery(
[t.FINANCIAL_REPORT, t.INVENTORY_ITEM_DETAILS, query],
{
@@ -450,15 +452,17 @@ export function useCashFlowStatementReport(query, props) {
{
select: (res) => ({
columns: res.data.table.columns,
data: res.data.table.data,
query: res.data.query,
meta: res.data.meta,
tableRows: res.data.table.data,
}),
defaultData: {
tableRows: [],
data: [],
columns: [],
query: {},
meta: {},
},
...props,
},
);
}
}