UNPKG

mthb-canvas-table

Version:
62 lines (61 loc) 2.65 kB
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;