UNPKG

@eclipse-scout/core

Version:
79 lines 2.7 kB
import { Column, EnumObject, Locale, Session, Table, TableRow } from '../index'; export declare class TableMatrix { session: Session; locale: Locale; protected _allData: TableMatrixDataAxis[]; protected _allAxis: TableMatrixKeyAxis[]; protected _rows: TableRow[]; protected _table: Table; constructor(table: Table, session: Session); static DateGroup: { readonly NONE: 0; readonly YEAR: 256; readonly MONTH: 257; readonly WEEKDAY: 258; readonly DATE: 259; }; static NumberGroup: { readonly COUNT: -1; readonly SUM: 1; readonly AVG: 2; }; /** * add data axis */ addData(data: Column<any>, dataGroup: TableMatrixNumberGroup): TableMatrixDataAxis; addAxis(axis: Column<any>, axisGroup: TableMatrixNumberGroup | TableMatrixDateGroup): TableMatrixKeyAxis; /** * @returns a cube containing the results */ calculate(): TableMatrixResult; /** * * @returns Array holding an entry for each column. Each entry consists of an array with the column at index 0 and the count at index 1. */ columnCount(filterNumberColumns?: boolean): Array<Array<Column<any> | number>>; isEmpty(): boolean; /** * @returns valid columns for table-matrix (not instance of NumberColumn and not guiOnly) * @param filterNumberColumns whether or not to filter NumberColumn, default is true */ columns(filterNumberColumns?: boolean): Column<any>[]; /** * Table rows and columns are not always in a consistent state. * @returns true, if table is in a valid, consistent state */ isMatrixValid(): boolean; } export type TableMatrixNumberGroup = EnumObject<typeof TableMatrix.NumberGroup>; export type TableMatrixDateGroup = EnumObject<typeof TableMatrix.DateGroup>; export type TableMatrixKeyAxis = number[] & { column: Column<any>; normTable: string[]; sortCodeMap: Record<number, number>; isIcon?: boolean; iconId?: string; min: number; max: number; format(n: number): string; keyToDeterministicKey(n: number): number | string; deterministicKeyToKey(f: string | number): number; normDeterministic(f: any): string | number; norm(f: any): number; add(k: number): any; reorder(): void; }; export type TableMatrixDataAxis = { column: Column<any>; total: number; min: number; max: number; format(n: number): string; norm(f: any): number; group(array: number[]): number; }; export type TableMatrixResult = Record<string, number[]> & { length: number; getValue(keys: number[]): number[]; }; //# sourceMappingURL=TableMatrix.d.ts.map