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.
65 lines (64 loc) • 2.88 kB
TypeScript
import { Column, SpanParams } from './types';
declare function generateShortUUID(): string;
declare function throttle<T extends (...args: any) => any>(func: T, delay: number | (() => number)): T;
/**
* 根据children获取最大深度
* @param data
* @returns
*/
declare function getMaxRow(data?: Column[]): number;
declare function sortFixed(arr?: Column[]): Column[];
declare function calCrossSpan(arr?: Column[], maxRow?: number, level?: number, parentKey?: string): Column[];
declare function toLeaf(arr?: Column[]): Column[];
declare function filterHiddenColumns(columns: Column[]): Column[];
type DebouncedFunction<F extends (...args: any[]) => any> = (...args: Parameters<F>) => void;
declare function debounce<F extends (...args: any[]) => any>(func: F, delay: number): DebouncedFunction<F>;
/**
* @decodeSpreadsheetStr
* @desc Decode spreadsheet string into array. refer from http://github.com/warpech/sheetclip/
* @param {string} str The string to parse.
* @returns {array}
*/
declare function decodeSpreadsheetStr(str: string): string[][];
/**
* @decodeSpreadsheetStr
* @desc encode array to spreadsheet string. refer from http://github.com/warpech/sheetclip/
* @param {array} str The string to parse.
* @returns {string}
*/
declare function encodeToSpreadsheetStr(arr: string[][]): string;
declare function getSpanArrByRow(list: any, key: string, relationRowKeys?: string[]): number[];
declare function getSpanObjByColumn(row: any, columns: any): any;
declare function mergeRowCell(params: SpanParams, mergeRowkey: string, relationRowKeys?: string[]): {
rowspan: number;
colspan: number;
relationRowKeys: string[];
mergeRow: boolean;
};
declare function mergeColCell(params: SpanParams, mergeColKeys?: string[]): {
rowspan: number;
colspan: any;
relationColKeys: string[];
mergeCol: boolean;
} | undefined;
/**
* 获取某个 CSS 变量的实际值
* @param name 变量名(可以带或不带前缀,例如 "color-primary" 或 "--color-primary")
* @param el 可选元素,默认为 document.documentElement
* @returns CSS 变量的计算值(如 "#1e90ff")
*/
declare function getCssVar(name: string, el?: HTMLElement): string;
/**
* 解析日期字符串,支持多种常见格式
* @param dateStr 日期字符串
* @returns Date 对象
*/
declare function parseDate(dateStr: any): Date;
/**
* 比较两个日期值,支持多种常见格式
* @param a 第一个日期值
* @param b 第二个日期值
* @returns 比较结果:-1 表示 a < b,0 表示 a = b,1 表示 a > b
*/
declare function compareDates(a: any, b: any): number;
export { debounce, throttle, generateShortUUID, toLeaf, sortFixed, calCrossSpan, getMaxRow, decodeSpreadsheetStr, encodeToSpreadsheetStr, mergeRowCell, mergeColCell, getSpanArrByRow, getSpanObjByColumn, getCssVar, parseDate, compareDates, filterHiddenColumns, };