grid multi-select issue
This commit is contained in:
parent
41cb7b0142
commit
b50440a5b7
14
lib/ui/dropdown.d.ts
vendored
14
lib/ui/dropdown.d.ts
vendored
@ -60,17 +60,17 @@ export class Dropdown {
|
|||||||
constructor(options?: DropdownOptions);
|
constructor(options?: DropdownOptions);
|
||||||
|
|
||||||
/** 根据该函数返回数据源 */
|
/** 根据该函数返回数据源 */
|
||||||
sourceFilter: () => Array<DropdownItem | any>;
|
sourceFilter: () => Array<DropdownItem>;
|
||||||
/**
|
/**
|
||||||
* 选中时触发
|
* 选中时触发
|
||||||
* @param item 选中的条目
|
* @param item 选中的条目
|
||||||
*/
|
*/
|
||||||
onSelected: (item: DropdownItem | any) => void;
|
onSelected: (item: DropdownItem) => void;
|
||||||
/**
|
/**
|
||||||
* 选中多个时触发
|
* 选中多个时触发
|
||||||
* @param list 选中的条目数组
|
* @param list 选中的条目数组
|
||||||
*/
|
*/
|
||||||
onSelectedList: (list: Array<DropdownItem | any>) => void;
|
onSelectedList: (list: Array<DropdownItem>) => void;
|
||||||
/** 下拉框展开时触发 */
|
/** 下拉框展开时触发 */
|
||||||
onExpanded: () => void;
|
onExpanded: () => void;
|
||||||
/** 下拉框收缩时触发 */
|
/** 下拉框收缩时触发 */
|
||||||
@ -84,19 +84,19 @@ export class Dropdown {
|
|||||||
*/
|
*/
|
||||||
set disabled(flag: boolean);
|
set disabled(flag: boolean);
|
||||||
/** 获取数据源 */
|
/** 获取数据源 */
|
||||||
get source(): Array<DropdownItem | any>;
|
get source(): Array<DropdownItem>;
|
||||||
/**
|
/**
|
||||||
* 设置数据源
|
* 设置数据源
|
||||||
* @param list 数据源
|
* @param list 数据源
|
||||||
*/
|
*/
|
||||||
set source(list: Array<DropdownItem | any>);
|
set source(list: Array<DropdownItem>);
|
||||||
|
|
||||||
/** 获取是否允许多选 */
|
/** 获取是否允许多选 */
|
||||||
get multiSelect(): boolean;
|
get multiSelect(): boolean;
|
||||||
/** 获取选中的条目 */
|
/** 获取选中的条目 */
|
||||||
get selected(): DropdownItem | any;
|
get selected(): DropdownItem;
|
||||||
/** 获取选中的条目列表 */
|
/** 获取选中的条目列表 */
|
||||||
get selectedList(): Array<DropdownItem | any>;
|
get selectedList(): Array<DropdownItem>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建下拉框元素
|
* 创建下拉框元素
|
||||||
|
36
lib/ui/grid/column.d.ts
vendored
36
lib/ui/grid/column.d.ts
vendored
@ -37,11 +37,11 @@ export interface GridColumnDefinition {
|
|||||||
* 列是否可用(可编辑),允许以下类型<br/><br/>
|
* 列是否可用(可编辑),允许以下类型<br/><br/>
|
||||||
* <code>boolean</code> 则直接使用该值<br/><br/>
|
* <code>boolean</code> 则直接使用该值<br/><br/>
|
||||||
* <code>string</code> 则以该值为关键字从行数据中取值作为判断条件<br/><br/>
|
* <code>string</code> 则以该值为关键字从行数据中取值作为判断条件<br/><br/>
|
||||||
* <code>(item: GridItem | any) => boolean</code> 则调用该函数(上下文为列定义对象),以返回值作为判断条件<br/><br/>
|
* <code>(item: GridItem) => boolean</code> 则调用该函数(上下文为列定义对象),以返回值作为判断条件<br/><br/>
|
||||||
*/
|
*/
|
||||||
enabled?: boolean | string | ((item: GridItem | any) => boolean);
|
enabled?: boolean | string | ((item: GridItem) => boolean);
|
||||||
/** 单元格取值采用该方法返回的值 */
|
/** 单元格取值采用该方法返回的值 */
|
||||||
filter?: (item: GridItem | any) => any;
|
filter?: (item: GridItem) => any;
|
||||||
/** 单元格以该值填充内容,忽略filter与关键字属性 */
|
/** 单元格以该值填充内容,忽略filter与关键字属性 */
|
||||||
text?: string;
|
text?: string;
|
||||||
/** 列是否可见 */
|
/** 列是否可见 */
|
||||||
@ -57,35 +57,35 @@ export interface GridColumnDefinition {
|
|||||||
/** 单元格css样式对象(仅在重建行元素时读取) */
|
/** 单元格css样式对象(仅在重建行元素时读取) */
|
||||||
css?: { [key: string]: string };
|
css?: { [key: string]: string };
|
||||||
/** 根据返回值填充单元格样式(填充行列数据时读取) */
|
/** 根据返回值填充单元格样式(填充行列数据时读取) */
|
||||||
styleFilter?: (item: GridItem | any) => { [key: string]: string };
|
styleFilter?: (item: GridItem) => { [key: string]: string };
|
||||||
/** 根据返回值设置单元格背景色 */
|
/** 根据返回值设置单元格背景色 */
|
||||||
bgFilter?: (item: GridItem | any) => string;
|
bgFilter?: (item: GridItem) => string;
|
||||||
/** 给单元格元素附加事件(事件函数上下文为数据行对象) */
|
/** 给单元格元素附加事件(事件函数上下文为数据行对象) */
|
||||||
events?: { [event: string]: any };
|
events?: { [event: string]: Function };
|
||||||
/** 根据返回值设置单元格元素的附加属性,允许直接设置对象也支持函数返回对象 */
|
/** 根据返回值设置单元格元素的附加属性,允许直接设置对象也支持函数返回对象 */
|
||||||
attrs?: { [key: string]: string } | ((item: GridItem | any) => { [key: string]: string });
|
attrs?: { [key: string]: string } | ((item: GridItem) => { [key: string]: string });
|
||||||
/** 是否允许进行列头过滤 */
|
/** 是否允许进行列头过滤 */
|
||||||
allowFilter?: boolean;
|
allowFilter?: boolean;
|
||||||
/** 自定义列过滤器的数据源(函数上下文为Grid) */
|
/** 自定义列过滤器的数据源(函数上下文为Grid) */
|
||||||
filterSource?: Array<GridItem | any> | ((col: GridColumnDefinition) => Array<GridItem | any>);
|
filterSource?: Array<GridItem> | ((col: GridColumnDefinition) => Array<GridItem>);
|
||||||
/** 自定义列排序函数 */
|
/** 自定义列排序函数 */
|
||||||
sortFilter?: (a: GridItem | any, b: GridItem | any) => -1 | 0 | 1;
|
sortFilter?: (a: GridItem, b: GridItem) => -1 | 0 | 1;
|
||||||
/** 列为下拉列表类型时以该值设置下拉框的参数 */
|
/** 列为下拉列表类型时以该值设置下拉框的参数 */
|
||||||
dropOptions?: DropdownOptions;
|
dropOptions?: DropdownOptions;
|
||||||
/** 列为下拉列表类型时以该值设置下拉列表数据源,支持函数返回,也支持返回异步对象 */
|
/** 列为下拉列表类型时以该值设置下拉列表数据源,支持函数返回,也支持返回异步对象 */
|
||||||
source?: Array<GridSourceItem | any> | ((item: GridItem | any) => Array<GridSourceItem | any> | Promise<Array<GridSourceItem | any>>);
|
source?: Array<GridSourceItem> | ((item: GridItem) => Array<GridSourceItem> | Promise<Array<GridSourceItem>>);
|
||||||
/** 下拉列表数据源是否缓存结果(即行数据未发生变化时仅从source属性获取一次值) */
|
/** 下拉列表数据源是否缓存结果(即行数据未发生变化时仅从source属性获取一次值) */
|
||||||
sourceCache?: boolean;
|
sourceCache?: boolean;
|
||||||
/** 列为图标类型时以该值设置图标样式(函数上下文为列定义对象),允许值为 <code>fa-light</code>、<code>fa-regular</code>、<code>fa-solid</code> */
|
/** 列为图标类型时以该值设置图标样式(函数上下文为列定义对象),允许值为 <code>fa-light</code>、<code>fa-regular</code>、<code>fa-solid</code> */
|
||||||
iconType?: string;
|
iconType?: string;
|
||||||
/** 列为图标类型时以该值作为单元格元素的额外样式类型(函数上下文为列定义对象) */
|
/** 列为图标类型时以该值作为单元格元素的额外样式类型(函数上下文为列定义对象) */
|
||||||
iconClassName?: string | ((item: GridItem | any) => string);
|
iconClassName?: string | ((item: GridItem) => string);
|
||||||
/** 列为日期类型时以该值作为最小可选日期值 */
|
/** 列为日期类型时以该值作为最小可选日期值 */
|
||||||
dateMin?: string;
|
dateMin?: string;
|
||||||
/** 列为日期类型时以该值作为最大可选日期值 */
|
/** 列为日期类型时以该值作为最大可选日期值 */
|
||||||
dateMax?: string;
|
dateMax?: string;
|
||||||
/** 以返回值额外设置单元格的tooltip(函数上下文为列定义对象) */
|
/** 以返回值额外设置单元格的tooltip(函数上下文为列定义对象) */
|
||||||
tooltip?: string | ((item: GridItem | any) => string);
|
tooltip?: string | ((item: GridItem) => string);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 列头复选框改变时触发
|
* 列头复选框改变时触发
|
||||||
@ -102,21 +102,21 @@ export interface GridColumnDefinition {
|
|||||||
* @param oldValue 修改前的值
|
* @param oldValue 修改前的值
|
||||||
* @param e 列修改事件传递过来的任意对象
|
* @param e 列修改事件传递过来的任意对象
|
||||||
*/
|
*/
|
||||||
onChanged?: (this: Grid, item: GridItem | any, value: boolean | any, oldValue: any, e?: any) => void;
|
onChanged?: (this: Grid, item: GridItem, value: boolean | string | Number, oldValue: boolean | string | Number, e?: any) => void;
|
||||||
/**
|
/**
|
||||||
* 文本单元格在输入完成时触发的事件
|
* 文本单元格在输入完成时触发的事件
|
||||||
* @param this 上下文为 Grid 对象
|
* @param this 上下文为 Grid 对象
|
||||||
* @param item 数据行对象
|
* @param item 数据行对象
|
||||||
* @param value 修改后的文本框值
|
* @param value 修改后的文本框值
|
||||||
*/
|
*/
|
||||||
onInputEnded?: (this: Grid, item: GridItem | any, value: string) => void;
|
onInputEnded?: (this: Grid, item: GridItem, value: string) => void;
|
||||||
/**
|
/**
|
||||||
* 列过滤点击OK时触发的事件
|
* 列过滤点击OK时触发的事件
|
||||||
* @param this 上下文为 Grid 对象
|
* @param this 上下文为 Grid 对象
|
||||||
* @param col 列定义对象
|
* @param col 列定义对象
|
||||||
* @param selected 选中的过滤项
|
* @param selected 选中的过滤项
|
||||||
*/
|
*/
|
||||||
onFilterOk?: (this: Grid, col: GridColumnDefinition, selected: Array<GridItem | any>) => void;
|
onFilterOk?: (this: Grid, col: GridColumnDefinition, selected: Array<GridItem>) => void;
|
||||||
/**
|
/**
|
||||||
* 列过滤后触发的事件
|
* 列过滤后触发的事件
|
||||||
* @param this 上下文为 Grid 对象
|
* @param this 上下文为 Grid 对象
|
||||||
@ -129,7 +129,7 @@ export interface GridColumnDefinition {
|
|||||||
* @param item 数据行对象
|
* @param item 数据行对象
|
||||||
* @param drop 下拉框对象
|
* @param drop 下拉框对象
|
||||||
*/
|
*/
|
||||||
onDropExpanded?: (this: GridColumnDefinition, item: GridItem | any, drop: Dropdown) => void;
|
onDropExpanded?: (this: GridColumnDefinition, item: GridItem, drop: Dropdown) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 列定义基类 */
|
/** 列定义基类 */
|
||||||
@ -159,14 +159,14 @@ export class GridColumn {
|
|||||||
* @param col 列定义对象
|
* @param col 列定义对象
|
||||||
* @param grid {@linkcode Grid} 对象
|
* @param grid {@linkcode Grid} 对象
|
||||||
*/
|
*/
|
||||||
static setValue(element: HTMLElement, val: string | boolean | any, 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} 方法中 <code>trigger</code> 函数传递来的对象
|
* @param e 由 {@linkcode createEdit} 方法中 <code>trigger</code> 函数传递来的对象
|
||||||
* @param col 列定义对象
|
* @param col 列定义对象
|
||||||
* @returns 返回单元格的值
|
* @returns 返回单元格的值
|
||||||
*/
|
*/
|
||||||
static getValue(e: any, col: GridColumnDefinition): string | boolean | any;
|
static getValue(e: any, col: GridColumnDefinition): string | boolean | Number;
|
||||||
/**
|
/**
|
||||||
* 设置单元格样式时调用的方法
|
* 设置单元格样式时调用的方法
|
||||||
* @param element 单元格元素
|
* @param element 单元格元素
|
||||||
|
16
lib/ui/grid/grid.d.ts
vendored
16
lib/ui/grid/grid.d.ts
vendored
@ -1,7 +1,7 @@
|
|||||||
import { GridColumnDefinition } from "./column"
|
import { GridColumnDefinition } from "./column"
|
||||||
|
|
||||||
/** 列数据接口 */
|
/** 列数据接口 */
|
||||||
export interface GridItem {
|
interface GridItem {
|
||||||
/** 值 */
|
/** 值 */
|
||||||
Value: any;
|
Value: any;
|
||||||
/** 显示值 */
|
/** 显示值 */
|
||||||
@ -9,7 +9,7 @@ export interface GridItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 列数据行包装接口 */
|
/** 列数据行包装接口 */
|
||||||
export interface GridItemWrapper {
|
interface GridItemWrapper {
|
||||||
/** 真实数据对象 */
|
/** 真实数据对象 */
|
||||||
values: { [key: string]: GridItem | any };
|
values: { [key: string]: GridItem | any };
|
||||||
/** 下拉数据源缓存对象 */
|
/** 下拉数据源缓存对象 */
|
||||||
@ -17,7 +17,7 @@ export interface GridItemWrapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 下拉框列数据源接口 */
|
/** 下拉框列数据源接口 */
|
||||||
export interface GridSourceItem {
|
interface GridSourceItem {
|
||||||
/** 值 */
|
/** 值 */
|
||||||
value: string;
|
value: string;
|
||||||
/** 显示文本 */
|
/** 显示文本 */
|
||||||
@ -154,9 +154,9 @@ export class Grid {
|
|||||||
onBodyScrolled?: (e: Event) => void;
|
onBodyScrolled?: (e: Event) => void;
|
||||||
|
|
||||||
/** 获取数据数组 */
|
/** 获取数据数组 */
|
||||||
get source(): Array<GridItem | any>;
|
get source(): GridItem;
|
||||||
/** 设置数据,并刷新列表 */
|
/** 设置数据,并刷新列表 */
|
||||||
set source(list: Array<GridItem | any>);
|
set source(list: Array<GridItem>);
|
||||||
/** 获取当前选中的行索引的数组 */
|
/** 获取当前选中的行索引的数组 */
|
||||||
get selectedIndexes(): Array<Number>;
|
get selectedIndexes(): Array<Number>;
|
||||||
/** 设置当前选中的行索引的数组,并刷新列表 */
|
/** 设置当前选中的行索引的数组,并刷新列表 */
|
||||||
@ -190,19 +190,19 @@ export class Grid {
|
|||||||
* 设置数据列表,该方法为 set source 属性的语法糖
|
* 设置数据列表,该方法为 set source 属性的语法糖
|
||||||
* @param source 待设置的数据列表
|
* @param source 待设置的数据列表
|
||||||
*/
|
*/
|
||||||
setData(source: Array<GridItem | any>): void;
|
setData(source: Array<GridItem>): void;
|
||||||
/**
|
/**
|
||||||
* 设置单行数据
|
* 设置单行数据
|
||||||
* @param index 行索引
|
* @param index 行索引
|
||||||
* @param item 待设置的行数据值
|
* @param item 待设置的行数据值
|
||||||
*/
|
*/
|
||||||
setItem(index: Number, item: GridItem | any): void;
|
setItem(index: Number, item: GridItem): void;
|
||||||
/**
|
/**
|
||||||
* 添加行数据
|
* 添加行数据
|
||||||
* @param item 待添加的行数据值
|
* @param item 待添加的行数据值
|
||||||
* @param index 待添加的行索引
|
* @param index 待添加的行索引
|
||||||
*/
|
*/
|
||||||
addItem(item: GridItem | any, index?: Number): void;
|
addItem(item: GridItem, index?: Number): void;
|
||||||
/**
|
/**
|
||||||
* 删除行数据
|
* 删除行数据
|
||||||
* @param index 待删除的行索引
|
* @param index 待删除的行索引
|
||||||
|
@ -1583,7 +1583,7 @@ export class Grid {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!flag && selectedIndexes.length !== 1 || selectedIndexes[0] !== selectedIndex) {
|
if (!flag && (selectedIndexes.length !== 1 || selectedIndexes[0] !== selectedIndex)) {
|
||||||
selectedIndexes.splice(0, selectedIndexes.length, selectedIndex);
|
selectedIndexes.splice(0, selectedIndexes.length, selectedIndex);
|
||||||
flag = true;
|
flag = true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user