mthb-canvas-table
Version:
62 lines (61 loc) • 2.65 kB
TypeScript
import { CanvasTableMode } from "./CanvasTableMode";
export declare type CanvasTableRowItemRowMode = ICanvasTableIndexsRowMode | ICanvasTableGroupItemRowMode;
export declare type CanvasTableRowItem = number | ICanvasTableGroupItemColMode | CanvasTableRowItemRowMode | null;
export interface ICanvasTableRowItemSelectColMode {
mode: CanvasTableMode.ColMode;
path: Array<ICanvasTableGroupItemsColMode | ICanvasTableIndexsColMode>;
select: number | ICanvasTableGroupItemColMode;
index: number;
}
export interface ICanvasTableRowItemSelectRowMode {
mode: CanvasTableMode.RowMode;
path: Array<ICanvasTableGroupItemsRowMode | ICanvasTableGroupItemsRowMode>;
select: CanvasTableRowItemRowMode;
index: number;
}
export declare type CanvasTableRowItemSelect = null | ICanvasTableRowItemSelectRowMode | ICanvasTableRowItemSelectColMode;
export declare enum CanvasTableIndexType {
GroupItems = 0,
Index = 1,
GroupRows = 2
}
export interface ICanvasTableGroupItemAbstract {
caption: string;
aggregate?: string;
isExpended: boolean;
}
export interface ICanvasTableIndexRowMode {
mode: CanvasTableMode.RowMode;
index: ICanvasTableGroupItemRowsRowMode | ICanvasTableGroupItemsRowMode;
}
export interface ICanvasTableIndexsRowMode extends ICanvasTableGroupItemAbstract {
index: number;
}
export interface ICanvasTableGroupItemRowMode extends ICanvasTableGroupItemAbstract {
child: (ICanvasTableGroupItemsRowMode | ICanvasTableGroupItemRowsRowMode);
}
export interface ICanvasTableGroupItemsRowMode {
type: CanvasTableIndexType.GroupItems;
list: ICanvasTableGroupItemRowMode[];
}
export interface ICanvasTableGroupItemRowsRowMode {
type: CanvasTableIndexType.GroupRows;
list: ICanvasTableIndexsRowMode[];
}
export interface ICanvasTableIndexsColMode {
type: CanvasTableIndexType.Index;
list: number[];
}
export interface ICanvasTableGroupItemColMode extends ICanvasTableGroupItemAbstract {
child: (ICanvasTableGroupItemsColMode | ICanvasTableIndexsColMode);
}
export interface ICanvasTableGroupItemsColMode {
type: CanvasTableIndexType.GroupItems;
list: ICanvasTableGroupItemColMode[];
}
export interface ICanvasTableIndexColMode {
mode: CanvasTableMode.ColMode;
index: ICanvasTableIndexsColMode | ICanvasTableGroupItemsColMode;
}
export declare type CanvasTableIndexs = ICanvasTableIndexsColMode | ICanvasTableGroupItemsColMode | ICanvasTableGroupItemRowsRowMode | ICanvasTableGroupItemsRowMode;
export declare type CanvasTableIndex = ICanvasTableIndexRowMode | ICanvasTableIndexColMode;