@visactor/vtable
Version:
canvas table width high performance
37 lines (36 loc) • 2.15 kB
TypeScript
import type { BaseTableAPI } from '../ts-types/base-table';
import { type CellRange, type ColumnStyleOption, type CustomCellStyle, type CustomCellStyleArrangement } from '../ts-types';
import type { Style } from '../body-helper/style';
import type { StylePropertyFunctionArg } from '../ts-types/style-define';
export interface ICustomCellStylePlugin {
new (table: BaseTableAPI, customCellStyle: CustomCellStyle[], customCellStyleArrangement: CustomCellStyleArrangement[]): CustomCellStylePlugin;
}
export declare class CustomCellStylePlugin {
table: BaseTableAPI;
customCellStyle: CustomCellStyle[];
customCellStyleArrangement: CustomCellStyleArrangement[];
private _customCellStyleArrangementIndex;
private _customCellStyleArrangementTombstoneCount;
constructor(table: BaseTableAPI, customCellStyle: CustomCellStyle[], customCellStyleArrangement: CustomCellStyleArrangement[]);
private _getCustomCellStyleArrangementKey;
private _rebuildCustomCellStyleArrangementIndex;
private _compactCustomCellStyleArrangementIfNeeded;
clearCustomCellStyleArrangement(): void;
addCustomCellStyleArrangement(cellPosition: {
col: number;
row: number;
}, customStyleId: string | undefined | null): void;
getCustomCellStyle(col: number, row: number): any;
getCustomCellStyleIds(col: number, row: number): string[];
getCustomCellStyleOption(customStyleId: string): CustomCellStyle;
registerCustomCellStyle(customStyleId: string, customStyle: ColumnStyleOption | ((styleArg: StylePropertyFunctionArg) => ColumnStyleOption) | undefined | null): void;
arrangeCustomCellStyle(cellPos: {
col?: number;
row?: number;
range?: CellRange;
}, customStyleId: string | undefined | null, forceFastUpdate?: boolean): void;
updateCustomCell(customCellStyle: CustomCellStyle[], customCellStyleArrangement: CustomCellStyleArrangement[]): void;
hasCustomCellStyle(customStyleId: string): boolean;
}
export declare function mergeStyle(cacheStyle: Style, customCellStyle: ColumnStyleOption): Style;
export declare const registerCustomCellStylePlugin: () => void;