import { Alignment, CellValueType } from 'app/shared/modules/tables/dataTable/dataTable.types'; import { PoolPointsDataState } from '../root/store/vesselDetails.types'; export enum COLUMN_NAMES { FACTOR = 'Factor', PARAMETER = 'Parameter', POINT_RANGE = 'Point Range', POOL_POINTS= 'Pool Points', } type PoolPointsCellType = 'number' | 'boolean' | 'text' | 'date' | 'fullDate' | 'spacer' export interface PoolPointsColumnConfig { columnName: string; cellType:PoolPointsCellType; getValue: (item: PoolPointsDataState) => CellValueType; width?: number; description?: string; align: Alignment; } export const poolPointsColumns: PoolPointsColumnConfig[] = [ { columnName: COLUMN_NAMES.FACTOR, getValue: (item) => item.label, align: 'left', cellType: 'text', }, { columnName: COLUMN_NAMES.PARAMETER, getValue: (item) => item.value, align: 'right', cellType: 'text', width: 7, }, { columnName: COLUMN_NAMES.POINT_RANGE, getValue: (item) => item.points, align: 'right', cellType: 'text', }, { columnName: COLUMN_NAMES.POOL_POINTS, getValue: (item) => item.vesselPoints, align: 'right', cellType: 'text', }, { columnName: '', getValue: () => null, width: 7, align: 'right', cellType: 'spacer', }, ]; export const poolPointsTotalColumn: PoolPointsColumnConfig[] = [ { columnName: COLUMN_NAMES.FACTOR, getValue: (item) => item.label, align: 'left', cellType: 'text', }, { columnName: '', getValue: () => null, align: 'right', cellType: 'text', }, { columnName: '', getValue: () => null, align: 'right', cellType: 'text', }, { columnName: COLUMN_NAMES.POOL_POINTS, getValue: (item) => item.value, align: 'right', cellType: 'text', }, ];