UNPKG

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.

144 lines (143 loc) 3.98 kB
import type { Column, Fixed, Type, Align, VerticalAlign, CellType, Render, FormatterMethod, OverflowTooltipPlacement, SpanInfo, SelectorCellValueType, LineClampType } from './types'; import Context from './Context'; import BaseCell from './BaseCell'; import { Rule, Rules } from './Validator'; 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; domDataset: any; rules: Rules | Rule; message: string; text: string; displayText: string; visibleWidth: number; visibleHeight: number; isHasChanged: boolean; drawX: number; drawY: number; drawCellBgColor: string; drawCellSkyBgColor: string; drawTextColor: string; drawTextFont: string; drawTextX: number; drawTextY: number; drawTextWidth: number; drawTextHeight: number; drawTreeImageX: number; drawTreeImageY: number; drawTreeImageWidth: number; drawTreeImageHeight: number; drawTreeImageName: string; drawTreeImageSource?: HTMLImageElement; drawSelectionImageX: number; drawSelectionImageY: number; drawSelectionImageWidth: number; drawSelectionImageHeight: number; drawSelectionImageName: string; drawSelectionImageSource?: HTMLImageElement; drawHoverImageX: number; drawHoverImageY: number; drawHoverImageWidth: number; drawHoverImageHeight: number; drawHoverImageName: string; drawHoverImageSource?: HTMLImageElement; autoRowHeight: boolean; calculatedHeight: number; ellipsis: boolean; rowExpand: boolean; rowHasChildren: boolean; overflowTooltipShow: boolean; selectorCellValueType: SelectorCellValueType; overflowTooltipMaxWidth: number; overflowTooltipPlacement: OverflowTooltipPlacement; maxLineClamp: LineClampType; constructor(ctx: Context, rowIndex: number, colIndex: number, x: number, y: number, width: number, height: number, column: Column, row: any, cellType?: CellType, isUpdate?: boolean); 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 drawTreeLine; private updateContainer; private updateSelection; private updateHoverIcon; /** * 获取自动高度 * @returns */ getAutoHeight(): number; 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; }; drawContainer(): void; private drawAutofillPiont; draw(): void; /** * 根据列的索引获取列的宽度 * @param {Number} colIndex */ private getWidthByColIndexColSpan; private drawText; private drawImage; private drawSelector; private drawErrorTip; private drawBorder; }