yao-app-ts-types
Version:
typescript types for yao application
217 lines (204 loc) • 9.55 kB
TypeScript
import { CommonConfig } from "./share_types";
import YaoAction from "./action";
import YaoComponent from "./component";
import YaoField from "./field";
import YaoHook from "./hook";
import { YaoQueryParam } from "./query_param";
export namespace YaoTable {
export type TableDSL = {
// root: string;
/**版本【管理字段】 */
version?: string;
/**描述【管理字段】 */
decription?: string;
/**备注【管理字段】 */
comment?: string;
/**唯一标识 */
id?: string;
/**表格名称, 支持多语言*/
name: string;
/**表格数据交互。用于指定列表检索、保存等操作的处理器,设置数据 Hook,绑定模型等*/
action: ActionDSL;
/**表格界面布局。显示字段、筛选器、批量编辑等*/
layout?: LayoutDSL;
/**表格字段定义。指定表格列字段, 表格筛选器字段定义*/
fields?: FieldsDSL;
/**表格界面配置项。表格满屏显示等配置*/
config?: CommonConfig;
// c_props: field.CloudProps;
// computable: compute.Computable;
// mapping: mapping.Mapping;
$schema?: string;
};
export type ActionDSL = {
guard?: string;
/**绑定 model 或 table。 根据关联 Widget ID 设定表格关联处理器和界面呈现默认值 */
bind: BindActionDSL;
/**关联处理器。返回表格页面配置 */
setting?: YaoAction.Process;
/** */
component?: YaoAction.Process;
/** */
upload?: YaoAction.Process;
/** */
download?: YaoAction.Process;
/**关联处理器。指定列表数据搜索处理器和默认参数, 返回带有分页信息和数据记录数组,默认:models.Widget ID.Paginate*/
search?: YaoAction.Process;
/**关联处理器。指定列表数据搜索处理器和默认参数, 返回数据记录数组 */
get?: YaoAction.Process;
/**关联处理器。指定按主键查询单条数据处理器和默认参数, 返回单条数据记录 */
find?: YaoAction.Process;
/**关联处理器。指定保存单条数据处理器 */
save?: YaoAction.Process;
/**关联处理器。指定新建单条数据处理器 */
create?: YaoAction.Process;
/**关联处理器。指定插入多条数据处理器 */
insert?: YaoAction.Process;
/**关联处理器。指定按主键删除单条数据处理器 */
delete?: YaoAction.Process;
/**关联处理器。指定按一组主键,删除多条数据处理器 */
"delete-in"?: YaoAction.Process;
/**关联处理器。指定按查询条件,删除多条数据处理器 */
"delete-where"?: YaoAction.Process;
/**关联处理器。指定按主键更新单条数据处理器 */
update?: YaoAction.Process;
/**关联处理器。指定按一组主键,更新多条数据处理器 */
"update-in"?: YaoAction.Process;
/**关联处理器。指定按查询条件,更新多条数据处理器 */
"update-where"?: YaoAction.Process;
/**在 Find 处理器之前调用|Find 接口传入数据|输出结果作为 Find 关联处理器输入参数|*/
"before:find"?: YaoHook.Before;
/**在 Find 处理器之后调用|Find 接口关联处理器执行结果|自定义(输出结果作为 Find 处理器的最终输出)|*/
"after:find"?: YaoHook.After;
/**在 Search 处理器之前调用|Search 接口传入数据|输出结果作为 Search 关联处理器输入参数|*/
"before:search"?: YaoHook.Before;
/**在 Search 处理器之后调用|Search 接口关联处理器执行结果|自定义 (输出结果作为 Search 处理器的最终输出)|*/
"after:search"?: YaoHook.After;
/**Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表 */
"before:get"?: YaoHook.Before;
/**After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果 */
"after:get"?: YaoHook.After;
/**在 Save 处理器之前调用|Save 接口传入数据|输出结果作为 Save 关联处理器输入参数|*/
"before:save"?: YaoHook.Before;
/**在 Save 处理器之后调用|Save 接口关联处理器执行结果|自定义 (输出结果作为 Save 接口的最终输出)|*/
"after:save"?: YaoHook.After;
/**Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表 */
"before:create"?: YaoHook.Before;
/**After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果 */
"after:create"?: YaoHook.After;
/**Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表 */
"before:insert"?: YaoHook.Before;
/**After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果 */
"after:insert"?: YaoHook.After;
/**Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表 */
"before:delete"?: YaoHook.Before;
/**After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果 */
"after:delete"?: YaoHook.After;
/**Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表 */
"before:delete-in"?: YaoHook.Before;
/**After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果 */
"after:delete-in"?: YaoHook.After;
/**Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表 */
"before:delete-where"?: YaoHook.Before;
/**After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果 */
"after:delete-where"?: YaoHook.After;
/**Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表 */
"before:update"?: YaoHook.Before;
/**After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果 */
"after:update"?: YaoHook.After;
/**Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表 */
"before:update-in"?: YaoHook.Before;
/**After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果 */
"after:update-in"?: YaoHook.After;
/**Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表 */
"before:update-where"?: YaoHook.Before;
/**After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果 */
"after:update-where"?: YaoHook.After;
};
export type BindActionDSL = {
/**绑定数据模型 */
model?: string;
store?: string;
/**绑定表格 */
table?: string;
/**绑定表单 */
form?: string;
/**指定 Form Widget ID 关联表单, **bind.model 不为空时有效** */
option?: { [key: string]: any } & {
/**表格绑定的表单Key */
form?: string;
/**关联表定义 */
withs?: { [key: string]: YaoQueryParam.QueryWith };
};
};
export type LayoutDSL = {
/**数据主键,默认id */
primary?: string;
/**表格界面头部布局。设置批量操作、导入配置等 */
header: HeaderLayoutDSL;
/**表格筛选器。设置筛选条件和右上角操作按钮等 */
filter?: FilterLayoutDSL;
/**表格布局。设置显示列,行操作按钮等 */
table?: ViewLayoutDSL;
};
export type HeaderLayoutDSL = {
/**批量操作、导入配置等 */
preset?: PresetHeaderDSL;
/**自定义操作按钮,请使用filter.actions */
actions?: YaoComponent.ActionDSL[];
};
export type PresetHeaderDSL = {
/**批量操作 */
batch?: BatchPresetDSL;
/**数据导入 */
import?: ImportPresetDSL;
};
/**批量处理数据 */
export type BatchPresetDSL = {
/**需要显示的列 */
columns?: YaoComponent.LayoutColumnDSL[];
/**是否可以删除 */
deletable?: boolean;
};
export type ImportPresetDSL = {
/**名称 */
name?: string;
/**操作 */
actions?: YaoComponent.Actions;
};
export type FilterLayoutDSL = {
/**自定义操作按钮(界面右上方) */
actions?: YaoComponent.Actions;
/**筛选条件, 在 fields.filter 中定义的筛选条件字段 */
columns?: YaoComponent.LayoutColumns;
};
export type ViewLayoutDSL = {
/**属性配置 */
props?: YaoComponent.PropsDSL;
/**表格列定义 */
columns?: YaoComponent.LayoutColumns;
/**表格行操作区定义,右边的按钮,查看,编辑,删除等 */
operation?: OperationTableDSL;
};
/**表格布局。设置显示列,行操作按钮等 */
export type OperationTableDSL = {
/**行操作区宽度(单位 px) */
width?: number;
/**是否折叠行操作区 */
fold?: boolean;
/**是否隐藏行操作区 */
hide?: boolean;
/**自定义行操作按钮 */
actions: YaoComponent.Actions;
};
/**表格字段定义。指定表格列字段, 表格筛选器字段定义 */
export type FieldsDSL = {
/**表格筛选器字段定义 */
filter?: YaoField.Filters;
/**表格列字段定义 */
table?: YaoField.Columns;
// filter_map: { [key: string]: field.FilterDSL };
// table_map: { [key: string]: field.ColumnDSL };
};
}
export default YaoTable;