add internal sort panel.

This commit is contained in:
2024-01-26 17:27:24 +08:00
parent 984496e08e
commit ac605895c5
7 changed files with 520 additions and 121 deletions

View File

@@ -30,7 +30,7 @@ export interface GridColumnDefinition {
/** 列标题的元素样式 */
captionStyle?: { [key: string]: string };
/** 大于 0 则设置为该宽度,否则根据列内容自动调整列宽 */
width?: Number;
width?: number;
/** 列对齐方式 */
align?: "left" | "center" | "right";
/**
@@ -89,6 +89,8 @@ export interface GridColumnDefinition {
dateMin?: string;
/** 列为日期类型时以该值作为最大可选日期值 */
dateMax?: string;
/** 列为日期类型时自定义日期转字符串函数 */
dateValueFormatter?: (date: Date) => string;
/** 以返回值额外设置单元格的tooltip函数上下文为列定义对象 */
tooltip?: string | ((item: GridItem) => string);
@@ -109,7 +111,7 @@ export interface GridColumnDefinition {
* @param e 列修改事件传递过来的任意对象
* @eventProperty
*/
onChanged?: (this: Grid, item: GridItem, value: boolean | string | Number, oldValue: boolean | string | Number, e?: any) => void;
onChanged?: (this: Grid, item: GridItem, value: boolean | string | number, oldValue: boolean | string | number, e?: any) => void;
/**
* 文本单元格在输入完成时触发的事件
* @param this 上下文为 Grid 对象
@@ -145,6 +147,8 @@ export interface GridColumnDefinition {
/** 列定义基类 */
export class GridColumn {
/** @ignore */
constructor();
/**
* 创建显示单元格时调用的方法
* @param col 列定义对象
@@ -180,7 +184,7 @@ export class GridColumn {
* @param grid {@linkcode Grid} 对象
* @virtual
*/
static setValue(element: HTMLElement, val: string | boolean | Number, vals: GridItemWrapper, col: GridColumnDefinition, grid: Grid): void;
static setValue(element: HTMLElement, val: string | boolean | number, vals: GridItemWrapper, col: GridColumnDefinition, grid: Grid): void;
/**
* 获取编辑状态单元格值时调用的方法
* @param e 由 {@linkcode createEdit} 方法中 `trigger` 函数传递来的对象
@@ -188,7 +192,7 @@ export class GridColumn {
* @returns 返回单元格的值
* @virtual
*/
static getValue(e: any, col: GridColumnDefinition): string | boolean | Number;
static getValue(e: any, col: GridColumnDefinition): string | boolean | number;
/**
* 设置单元格样式时调用的方法
* @param element 单元格元素
@@ -336,15 +340,22 @@ export class GridDateColumn extends GridColumn {
*/
static createEdit(trigger: (e: any) => void, col: GridColumnDefinition, container: HTMLElement, vals: GridItemWrapper): HTMLElement;
/**
* @inheritdoc GridColumn.setValue
* 设置单元格值时调用的方法<br/><br/>
* 支持以下几种数据类型<br/><br/>
* `"2024-01-26"`<br/>
* `"1/26/2024"`<br/>
* `"638418240000000000"`<br/>
* `new Date('2024-01-26')`<br/>
* @param element 单元格元素
* @param val 待设置的单元格值
* @override
*/
static setValue(element: HTMLElement, val: string | Number): void;
static setValue(element: HTMLElement, val: string | number): void;
/**
* @inheritdoc GridColumn.getValue
* @override
*/
static getValue(e: any): string | Number;
static getValue(e: any): string | number;
/**
* @inheritdoc GridColumn.setEnabled
* @override