@eclipse-scout/core
Version:
Eclipse Scout runtime
79 lines • 2.7 kB
TypeScript
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