mirror of
https://gitee.com/xuliangzhan_admin/vxe-table.git
synced 2026-01-21 05:27:57 +08:00
178 lines
3.4 KiB
TypeScript
178 lines
3.4 KiB
TypeScript
import { CreateElement, VNode } from 'vue'
|
|
import { VXETableComponent } from './component'
|
|
import { ColumnInfo } from './column'
|
|
import { GridRenderParams, RenderOptions } from './v-x-e-table'
|
|
|
|
/**
|
|
* 工具栏
|
|
*/
|
|
export declare class Toolbar extends VXETableComponent {
|
|
/**
|
|
* 唯一 ID 标识
|
|
*/
|
|
id?: string;
|
|
/**
|
|
* 是否加载中
|
|
*/
|
|
loading?: boolean;
|
|
/**
|
|
* 列宽拖动配置
|
|
*/
|
|
resizable?: boolean | {
|
|
storage?: boolean;
|
|
};
|
|
/**
|
|
* 刷新按钮配置
|
|
*/
|
|
refresh?: boolean | {
|
|
query?(params: { page: any, sort: any, filters: any, form: any }): Promise<any>;
|
|
icon?: string;
|
|
iconLoading?: string;
|
|
};
|
|
/**
|
|
* 导入按钮配置
|
|
*/
|
|
import?: boolean | {
|
|
icon?: string;
|
|
[key: string]: any;
|
|
};
|
|
/**
|
|
* 导出按钮配置
|
|
*/
|
|
export?: boolean | {
|
|
icon?: string;
|
|
[key: string]: any;
|
|
};
|
|
/**
|
|
* 自定义列配置
|
|
*/
|
|
custom?: boolean | {
|
|
trigger?: string,
|
|
immediate?: boolean;
|
|
storage?: boolean;
|
|
checkMethod?(params: { column: ColumnInfo }): boolean;
|
|
isFooter?: Boolean;
|
|
icon?: string;
|
|
[key: string]: any;
|
|
};
|
|
/**
|
|
* 按钮列表
|
|
*/
|
|
buttons?: ToolbarButtonConfig[];
|
|
/**
|
|
* 配套的样式
|
|
*/
|
|
perfect?: boolean;
|
|
}
|
|
|
|
export interface ToolbarOptions {
|
|
/**
|
|
* 唯一 ID 标识
|
|
*/
|
|
id?: string;
|
|
/**
|
|
* 是否加载中
|
|
*/
|
|
loading?: boolean;
|
|
/**
|
|
* 列宽拖动配置
|
|
*/
|
|
resizable?: boolean | {
|
|
storage?: boolean;
|
|
};
|
|
/**
|
|
* 刷新按钮配置
|
|
*/
|
|
refresh?: boolean | {
|
|
query?(params: { page: any, sort: any, filters: any, form: any }): Promise<any>;
|
|
icon?: string;
|
|
iconLoading?: string;
|
|
};
|
|
/**
|
|
* 导入按钮配置
|
|
*/
|
|
import?: boolean | {
|
|
icon?: string;
|
|
[key: string]: any;
|
|
};
|
|
/**
|
|
* 导出按钮配置
|
|
*/
|
|
export?: boolean | {
|
|
icon?: string;
|
|
[key: string]: any;
|
|
};
|
|
/**
|
|
* 自定义列配置
|
|
*/
|
|
custom?: boolean | {
|
|
trigger?: string,
|
|
immediate?: boolean;
|
|
storage?: boolean;
|
|
checkMethod?(params: { column: ColumnInfo }): boolean;
|
|
isFooter?: Boolean;
|
|
icon?: string;
|
|
[key: string]: any;
|
|
};
|
|
/**
|
|
* 按钮列表
|
|
*/
|
|
buttons?: ToolbarButtonConfig[];
|
|
/**
|
|
* 配套的样式
|
|
*/
|
|
perfect?: boolean;
|
|
|
|
slots?: {
|
|
buttons?(params: ToolbarButtonsSlotParams, h: CreateElement): VNode[] | string[];
|
|
tools?(params: ToolbarToolsSlotParams, h: CreateElement): VNode[] | string[];
|
|
};
|
|
[key: string]: any;
|
|
}
|
|
|
|
export interface ToolbarButtonsSlotParams extends GridRenderParams {}
|
|
export interface ToolbarToolsSlotParams extends ToolbarButtonsSlotParams {}
|
|
|
|
/**
|
|
* 按钮渲染配置项
|
|
*/
|
|
export interface ToolbarButtonRenderOptions extends RenderOptions {}
|
|
export interface ToolbarToolRenderOptions extends RenderOptions {}
|
|
|
|
/**
|
|
* 按钮渲染渲染参数
|
|
*/
|
|
export interface ToolbarButtonRenderParams extends GridRenderParams {
|
|
/**
|
|
* 按钮对象
|
|
*/
|
|
button: ToolbarButtonConfig;
|
|
}
|
|
export interface ToolbarToolRenderParams extends GridRenderParams {
|
|
tool: ToolbarToolConfig;
|
|
}
|
|
|
|
export class ToolbarButtonConfig {
|
|
name?: string;
|
|
type?: string;
|
|
status?: string;
|
|
code?: string;
|
|
visible?: boolean;
|
|
disabled?: boolean;
|
|
icon?: string;
|
|
dropdowns?: string;
|
|
buttonRender?: ToolbarButtonRenderOptions;
|
|
}
|
|
|
|
export class ToolbarToolConfig {
|
|
name?: string;
|
|
type?: string;
|
|
status?: string;
|
|
code?: string;
|
|
visible?: boolean;
|
|
disabled?: boolean;
|
|
icon?: string;
|
|
dropdowns?: string;
|
|
toolRender?: ToolbarToolRenderOptions;
|
|
}
|