import { IEvent } from "../events"; import { ControlDisplayModeEnum } from "../../typeDefinition"; export interface ButtonBaseSet { /** * 按钮标题 */ title: string; /** * 按钮提示信息,默认无提示信息 */ tip?: string; /** * 执行该按钮操作时,需要用户进一步的确认 */ confirm?: { /** * 确认框的描述 */ title?: string; }; /** * 关联的控制器id,默认不关联 */ controllerId?: string; /** 需要传递给按钮的参数 */ params?: any; displayMode?: ControlDisplayModeEnum; /** * 事件集合 */ events?: ButtonEvents; } /** * 列表行按钮 */ export interface GridButtonType extends ButtonBaseSet { /** * 按钮显示规则 * * 根据`set`中的`rowDisabledId`获取当前行状态,通过判断行状态进行是否显示按钮 * * eg. disabled 当值为`disabled`时,数据源值disabled为true则不显示按钮 * * eg. !disabled 当值为`!disabled`时,数据源值disabled为true则显示按钮 * * eg. true 当值为`true`时,按钮始终不显示 * * eg. false 当值为`false`时,按钮始终显示 */ displayRule?: boolean | string; } /** * 按钮控件 */ export interface ButtonControlType extends ButtonBaseSet { /** * 按钮图标,默认不显示图标 */ icon?: string; /** * 按钮非激活时的样式, 默认是 button */ theme?: "button" | "dashed" | "danger" | "a"; /** 右边按钮类型,存在时显示 */ rightIcon?: string; /** * 是否高亮显示,默认为:false */ active?: boolean; /** 按钮是否隐藏,默认为:false */ hide?: boolean; /** 按钮是否不可用,默认为:false */ disabled?: boolean; } export interface ButtonEvents { /** * 单击执行前事件 */ clickBefore?: IEvent[]; /** * 单击执行后事件 */ clickAfter?: IEvent[]; }