@visactor/vtable
Version:
canvas table width high performance
111 lines (110 loc) • 5.17 kB
TypeScript
import type { FieldData, FieldDef, PivotSortState, CellAddress, ICellHeaderPaths, DropDownMenuEventInfo, FieldKeyDef, IDimensionInfo, SortOrder, PivotChartConstructorOptions, AnyFunction, FilterRules, IPivotTableCellHeaderPaths, PivotChartAPI } from './ts-types';
import type { HierarchyState } from './ts-types';
import { PIVOT_CHART_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';
import { Dataset } from './dataset/dataset';
import { BaseTable } from './core/BaseTable';
import type { PivotChartProtected } from './ts-types/base-table';
import type { ITableAxisOption } from './ts-types/component/axis';
import { type LayouTreeNode } from './layout/tree-helper';
export declare class PivotChart extends BaseTable implements PivotChartAPI {
layoutNodeId: {
seqId: number;
};
internalProps: PivotChartProtected;
options: PivotChartConstructorOptions;
pivotSortState: PivotSortState[];
dataset?: Dataset;
_selectedDataItemsInChart: any[];
_selectedDataMode: 'click' | 'brush' | 'multiple-select';
_selectedDimensionInChart: {
key: string;
value: string;
}[];
_chartEventMap: Record<string, {
query?: any;
callback: AnyFunction;
}[]>;
_axes: ITableAxisOption[];
constructor(options: PivotChartConstructorOptions);
constructor(container: HTMLElement, options: PivotChartConstructorOptions);
static get EVENT_TYPE(): typeof PIVOT_CHART_EVENT_TYPE;
get pivotChartAxes(): any[];
get recordsCount(): any;
isListTable(): false;
isPivotTable(): true;
isPivotChart(): true;
_canResizeColumn(col: number, row: number): boolean;
updateOption(options: PivotChartConstructorOptions, updateConfig?: {
clearColWidthCache?: boolean;
clearRowHeightCache?: boolean;
}): Promise<unknown>;
updatePagination(): void;
refreshHeader(): void;
refreshRowColCount(): void;
protected _getSortFuncFromHeaderOption(columns: undefined, field: FieldDef, fieldKey?: FieldKeyDef): ((v1: any, v2: any, order: SortOrder) => 0 | 1 | -1) | undefined;
private syncHierarchyState;
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;
getCellValue(col: number, row: number, skipCustomMerge?: boolean): FieldData;
getCellOriginValue(col: number, row: number): FieldData;
getCellRawValue(col: number, row: number): any;
getCellOriginRecord(col: number, row: number): any[];
getCellRawRecord(col: number, row: number): any[];
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;
getHeaderCellAddressByPath(dimensionPaths: IDimensionInfo[]): CellAddress;
getCellAddressByHeaderPaths(dimensionPaths: IPivotTableCellHeaderPaths | IDimensionInfo[]): CellAddress;
getHeaderPathByXY(coordinate?: {
x: number;
y: number;
}): ICellHeaderPaths;
getHierarchyState(col: number, row: number): HierarchyState;
getMenuInfo(col: number, row: number, type: string): DropDownMenuEventInfo;
private _generateCollectValuesConfig;
private _generateAggregationRules;
private setCustomStateNameToSpec;
updateFilterRules(filterRules: FilterRules): void;
private _throttleTimer;
private _latestFilterRules;
private _throttledUpdateFilterRules;
private _executeFilterUpdate;
clearChartCacheImage(col?: number, row?: number): void;
getLegendSelected(): any[];
setLegendSelected(selectedData: (string | number)[]): void;
getChartDatumPosition(datum: any, cellHeaderPaths: IPivotTableCellHeaderPaths): {
x: number;
y: number;
};
getCellAddressByRecord(record: any): CellAddress;
getChartInstance(cellHeaderPaths: IPivotTableCellHeaderPaths): {
chartInstance: any;
bounds: import("@visactor/vutils").Bounds;
} | {
chartInstance?: undefined;
bounds?: undefined;
};
activateChartInstance(cellHeaderPaths: IPivotTableCellHeaderPaths): any;
replaceChartCacheImage(cellHeaderPaths: IPivotTableCellHeaderPaths, chartInstance: any): void;
_getDimensionSortArray(): string[] | undefined;
setRecords(records: Array<any>): void;
_hasCustomRenderOrLayout(): boolean;
changeRecordOrder(source: number, target: number): void;
getLayoutColumnTree(): LayouTreeNode[];
getLayoutColumnTreeCount(): number;
getLayoutRowTree(): LayouTreeNode[];
getLayoutRowTreeCount(): number;
getCellHeaderTreeNodes(col: number, row: number): ICellHeaderPaths;
disableTooltipToAllChartInstances(): void;
enableTooltipToAllChartInstances(): void;
}