e-virt-table
Version:
A powerful data table based on canvas. You can use it as data grid、Microsoft Excel or Google sheets. It supports virtual scroll、cell edit etc.
116 lines (115 loc) • 3.04 kB
TypeScript
import type { Column, Fixed, Type, Align, VerticalAlign, CellType, Render, FormatterMethod, OverflowTooltipPlacement, Rules, SpanInfo } from './types';
import Context from './Context';
import BaseCell from './BaseCell';
export default class Cell extends BaseCell {
formatter?: FormatterMethod;
formatterFooter?: FormatterMethod;
hoverIconName?: string;
operation: boolean;
align: Align;
verticalAlign: VerticalAlign;
fixed?: Fixed;
type: Type | '';
editorType: string;
editorProps: any;
cellType: CellType;
level: number;
colspan: number;
rowspan: number;
mergeRow: boolean;
mergeCol: boolean;
relationRowKeys: string[];
relationColKeys: string[];
key: string;
column: Column;
rowIndex: number;
colIndex: number;
rowKey: string;
row: any;
value: any;
render: Render;
renderFooter: Render;
style: any;
rules: Rules;
message: string;
text: string;
displayText: string;
visibleWidth: number;
visibleHeight: number;
isHasChanged: boolean;
drawX: number;
drawY: number;
drawCellBgColor: string;
drawCellSkyBgColor: string;
drawTextColor: string;
drawTextX: number;
drawTextY: number;
drawImageX: number;
drawImageY: number;
drawImageWidth: number;
drawImageHeight: number;
drawImageName: string;
drawImageSource?: HTMLImageElement;
ellipsis: boolean;
rowExpand: boolean;
rowHasChildren: boolean;
overflowTooltipShow: boolean;
overflowTooltipMaxWidth: number;
overflowTooltipPlacement: OverflowTooltipPlacement;
constructor(ctx: Context, rowIndex: number, colIndex: number, x: number, y: number, width: number, height: number, column: Column, row: any, cellType?: CellType);
setWidthHeight(width: number, height: number): void;
getValidationMessage(): string;
update(): void;
updateSpan(): void;
updateSpanInfo(): void;
updateType(): void;
updateEditor(): void;
updateRender(): void;
validate(): void;
/**
* 更新样式
*/
updateStyle(): void;
private updateTree;
private updateContainer;
private updateSelection;
private updateHoverIcon;
getSpanInfo(): SpanInfo;
/**
* 获取显示文本
* @returns
*/
getDisplayText(): string;
/**
* 获取文本
* @returns
*/
getText(): any;
getValue(): any;
setValue(value: any): void;
/**
* 获取样式
*/
getOverlayerViewsStyle(): {
position: string;
overflow: string;
left: string;
top: string;
width: string;
height: string;
pointerEvents: string;
userSelect: string;
};
draw(): void;
/**
* 根据列的索引获取列的宽度
* @param {Number} colIndex
*/
private getWidthByColIndexColSpan;
private drawText;
private drawImage;
private drawAutofillPiont;
private drawSelector;
private drawErrorTip;
private drawBorder;
}