mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-17 21:30:31 +00:00
fix: Trial balance sheet adjusted balance (#273)
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
// @ts-nocheck
|
||||
import * as R from 'ramda';
|
||||
import { Align } from '@/constants';
|
||||
import { getColumnWidth } from '@/utils';
|
||||
|
||||
const ACCOUNT_NAME_COLUMN_WIDTH = 320;
|
||||
const AMOUNT_COLUMNS_MIN_WIDTH = 120;
|
||||
const AMOUNT_COLUMNS_MAGIC_SPACING = 10;
|
||||
|
||||
const getTableCellValueAccessor = (index: number) => `cells[${index}].value`;
|
||||
|
||||
const accountNameAccessor = R.curry((data, column) => {
|
||||
const accessor = getTableCellValueAccessor(column.cell_index);
|
||||
|
||||
return {
|
||||
Header: column.label,
|
||||
id: column.key,
|
||||
accessor,
|
||||
className: column.key,
|
||||
width: ACCOUNT_NAME_COLUMN_WIDTH,
|
||||
};
|
||||
});
|
||||
|
||||
const amountAccessor = R.curry((data, column) => {
|
||||
const accessor = getTableCellValueAccessor(column.cell_index);
|
||||
|
||||
return {
|
||||
Header: column.label,
|
||||
id: column.key,
|
||||
accessor,
|
||||
className: column.key,
|
||||
width: getColumnWidth(data, accessor, {
|
||||
magicSpacing: AMOUNT_COLUMNS_MAGIC_SPACING,
|
||||
minWidth: AMOUNT_COLUMNS_MIN_WIDTH,
|
||||
}),
|
||||
align: Align.Right,
|
||||
};
|
||||
});
|
||||
|
||||
const dynamicColumnMapper = R.curry((data, column) => {
|
||||
const accountNameColumn = accountNameAccessor(data);
|
||||
const creditColumn = amountAccessor(data);
|
||||
const debitColumn = amountAccessor(data);
|
||||
const totalColumn = amountAccessor(data);
|
||||
|
||||
return R.compose(
|
||||
R.when(R.pathEq(['key'], 'account_name'), accountNameColumn),
|
||||
R.when(R.pathEq(['key'], 'credit'), creditColumn),
|
||||
R.when(R.pathEq(['key'], 'debit'), debitColumn),
|
||||
R.when(R.pathEq(['key'], 'total'), totalColumn),
|
||||
)(column);
|
||||
});
|
||||
|
||||
export const trialBalancesheetDynamicColumns = (columns, data) => {
|
||||
return R.map(dynamicColumnMapper(data), columns);
|
||||
};
|
||||
Reference in New Issue
Block a user