@visactor/vtable
Version:
canvas table width high performance
115 lines (114 loc) • 5.79 kB
TypeScript
import type { FieldData, FieldDef, PivotTableAPI, SortRules, CellAddress, ICellHeaderPaths, DropDownMenuEventInfo, FieldKeyDef, PivotTableConstructorOptions, IHeaderTreeDefine, IDimensionInfo, SortOrder, IPagination, CellLocation, FilterRules } from './ts-types';
import { HierarchyState } from './ts-types';
import { FlatDataToObjects } from './dataset/flatDataToObject';
import { PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';
import { Dataset } from './dataset/dataset';
import { BaseTable } from './core/BaseTable';
import type { PivotTableProtected } from './ts-types/base-table';
import { type LayouTreeNode } from './layout/tree-helper';
import type { IEditor } from '@visactor/vtable-editors';
export declare class PivotTable extends BaseTable implements PivotTableAPI {
layoutNodeId: {
seqId: number;
};
internalProps: PivotTableProtected;
options: PivotTableConstructorOptions;
pivotSortState: {
dimensions: IDimensionInfo[];
order: SortOrder;
}[];
dataset?: Dataset;
flatDataToObjects?: FlatDataToObjects;
constructor(options: PivotTableConstructorOptions);
constructor(container: HTMLElement, options: PivotTableConstructorOptions);
static get EVENT_TYPE(): typeof PIVOT_TABLE_EVENT_TYPE;
isListTable(): false;
isPivotTable(): true;
isPivotChart(): false;
get recordsCount(): any;
_canResizeColumn(col: number, row: number): boolean;
updateOption(options: PivotTableConstructorOptions, updateConfig?: {
clearColWidthCache?: boolean;
clearRowHeightCache?: boolean;
}): Promise<unknown>;
updatePagination(pagination?: IPagination): void;
refreshHeader(): void;
refreshRowColCount(): void;
protected _getSortFuncFromHeaderOption(columns: undefined, field: FieldDef, fieldKey?: FieldKeyDef): ((v1: any, v2: any, order: SortOrder) => 0 | 1 | -1) | undefined;
get rowHierarchyType(): 'grid' | 'tree' | 'grid-tree';
get columnHierarchyType(): 'grid' | 'grid-tree';
_syncHierarchyState(sourceNode: any, targetNode: IHeaderTreeDefine): void;
getRecordShowIndexByCell(col: number, row: number): number;
getTableIndexByRecordIndex(recordIndex: number): number;
getTableIndexByField(field: FieldDef): number;
getCellAddrByFieldRecord(field: FieldDef, recordIndex: number): CellAddress;
getBodyIndexByRow(row: number): number;
getBodyIndexByCol(col: number): number;
getFieldData(field: string, col: number, row: number): FieldData;
getCellValue(col: number, row: number, skipCustomMerge?: boolean): FieldData;
getCellOriginValue(col: number, row: number): FieldData;
getCellRawValue(col: number, row: number): FieldData;
getCellOriginRecord(col: number, row: number): any;
getCellRawRecord(col: number, row: number): any;
updateSortRules(sortRules: SortRules, col?: number, row?: number): void;
_changePivotSortStateBySortRules(): void;
_filterHideIndicatorNode(): void;
updatePivotSortState(pivotSortStateConfig: {
dimensions: IDimensionInfo[];
order: SortOrder;
}[]): void;
sort(col: number, row: number, order: SortOrder): void;
getPivotSortState(col: number, row: number): SortOrder;
_moveHeaderPosition(source: CellAddress, target: CellAddress): {
sourceIndex: number;
targetIndex: any;
sourceSize: any;
targetSize: any;
moveType: "row" | "column";
};
toggleHierarchyState(col: number, row: number, recalculateColWidths?: boolean): void;
_refreshHierarchyState(col: number, row: number, recalculateColWidths?: boolean, beforeUpdateCell?: Function): void;
getHeaderCellAddressByPath(dimensionPaths: IDimensionInfo[]): CellAddress;
getCellAddressByHeaderPaths(dimensionPaths: {
colHeaderPaths: IDimensionInfo[];
rowHeaderPaths: IDimensionInfo[];
cellLocation: CellLocation;
} | IDimensionInfo[]): CellAddress;
getHeaderPathByXY(coordinate?: {
x: number;
y: number;
}): ICellHeaderPaths;
getHierarchyState(col: number, row: number): HierarchyState;
getLayoutColumnTree(): LayouTreeNode[];
getLayoutColumnTreeCount(): number;
getLayoutRowTree(): LayouTreeNode[];
getLayoutRowTreeCount(): number;
getCellHeaderTreeNodes(col: number, row: number): ICellHeaderPaths;
getMenuInfo(col: number, row: number, type: string): DropDownMenuEventInfo;
setRecords(records: Array<any>): void;
startEditCell(col?: number, row?: number, value?: string | number): void;
completeEditCell(): void;
cancelEditCell(): void;
getEditor(col: number, row: number): IEditor<any, any>;
isHasEditorDefine(col: number, row: number): boolean;
changeCellValue(col: number, row: number, value: string | undefined, workOnEditableCell?: boolean): void;
changeCellValues(startCol: number, startRow: number, values: string[][], workOnEditableCell?: boolean): void;
private _changeCellValueToDataSet;
_hasCustomRenderOrLayout(): boolean;
changeRecordOrder(source: number, target: number): void;
setTreeNodeChildren(children: IHeaderTreeDefine[], records: any[], col: number, row: number): void;
updateFilterRules(filterRules: FilterRules, isResetTree?: boolean): void;
getFilteredRecords(): any[] | Record<string, any[]>;
getCellPivotRole(col: number, row: number): {
colRole: "normal";
rowRole: "normal";
cellLocation: CellLocation;
};
getCellRowHeaderFullPaths(col: number): IDimensionInfo[];
setLoadingHierarchyState(col: number, row: number): void;
expandAllForRowTree(): void;
collapseAllForRowTree(): void;
expandAllForColumnTree(): void;
collapseAllForColumnTree(): void;
release(): void;
}