yao-app-ts-types
Version:
typescript types for yao application
1,419 lines • 42.7 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "#/definitions/YaoTable.TableDSL",
"definitions": {
"YaoTable.TableDSL": {
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "版本【管理字段】"
},
"decription": {
"type": "string",
"description": "描述【管理字段】"
},
"comment": {
"type": "string",
"description": "备注【管理字段】"
},
"id": {
"type": "string",
"description": "唯一标识"
},
"name": {
"type": "string",
"description": "表格名称, 支持多语言"
},
"action": {
"$ref": "#/definitions/YaoTable.ActionDSL",
"description": "表格数据交互。用于指定列表检索、保存等操作的处理器,设置数据 Hook,绑定模型等"
},
"layout": {
"$ref": "#/definitions/YaoTable.LayoutDSL",
"description": "表格界面布局。显示字段、筛选器、批量编辑等"
},
"fields": {
"$ref": "#/definitions/YaoTable.FieldsDSL",
"description": "表格字段定义。指定表格列字段, 表格筛选器字段定义"
},
"config": {
"$ref": "#/definitions/CommonConfig",
"description": "表格界面配置项。表格满屏显示等配置"
},
"$schema": {
"type": "string"
}
},
"required": [
"name",
"action"
],
"additionalProperties": false
},
"YaoTable.ActionDSL": {
"type": "object",
"properties": {
"guard": {
"type": "string"
},
"bind": {
"$ref": "#/definitions/YaoTable.BindActionDSL",
"description": "绑定 model 或 table。 根据关联 Widget ID 设定表格关联处理器和界面呈现默认值"
},
"setting": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。返回表格页面配置"
},
"component": {
"$ref": "#/definitions/YaoAction.Process"
},
"upload": {
"$ref": "#/definitions/YaoAction.Process"
},
"download": {
"$ref": "#/definitions/YaoAction.Process"
},
"search": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定列表数据搜索处理器和默认参数, 返回带有分页信息和数据记录数组,默认:models.Widget ID.Paginate"
},
"get": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定列表数据搜索处理器和默认参数, 返回数据记录数组"
},
"find": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定按主键查询单条数据处理器和默认参数, 返回单条数据记录"
},
"save": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定保存单条数据处理器"
},
"create": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定新建单条数据处理器"
},
"insert": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定插入多条数据处理器"
},
"delete": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定按主键删除单条数据处理器"
},
"delete-in": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定按一组主键,删除多条数据处理器"
},
"delete-where": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定按查询条件,删除多条数据处理器"
},
"update": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定按主键更新单条数据处理器"
},
"update-in": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定按一组主键,更新多条数据处理器"
},
"update-where": {
"$ref": "#/definitions/YaoAction.Process",
"description": "关联处理器。指定按查询条件,更新多条数据处理器"
},
"before:find": {
"$ref": "#/definitions/YaoHook.Before",
"description": "在 Find 处理器之前调用|Find 接口传入数据|输出结果作为 Find 关联处理器输入参数|"
},
"after:find": {
"$ref": "#/definitions/YaoHook.After",
"description": "在 Find 处理器之后调用|Find 接口关联处理器执行结果|自定义(输出结果作为 Find 处理器的最终输出)|"
},
"before:search": {
"$ref": "#/definitions/YaoHook.Before",
"description": "在 Search 处理器之前调用|Search 接口传入数据|输出结果作为 Search 关联处理器输入参数|"
},
"after:search": {
"$ref": "#/definitions/YaoHook.After",
"description": "在 Search 处理器之后调用|Search 接口关联处理器执行结果|自定义 (输出结果作为 Search 处理器的最终输出)|"
},
"before:get": {
"$ref": "#/definitions/YaoHook.Before",
"description": "Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表"
},
"after:get": {
"$ref": "#/definitions/YaoHook.After",
"description": "After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果"
},
"before:save": {
"$ref": "#/definitions/YaoHook.Before",
"description": "在 Save 处理器之前调用|Save 接口传入数据|输出结果作为 Save 关联处理器输入参数|"
},
"after:save": {
"$ref": "#/definitions/YaoHook.After",
"description": "在 Save 处理器之后调用|Save 接口关联处理器执行结果|自定义 (输出结果作为 Save 接口的最终输出)|"
},
"before:create": {
"$ref": "#/definitions/YaoHook.Before",
"description": "Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表"
},
"after:create": {
"$ref": "#/definitions/YaoHook.After",
"description": "After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果"
},
"before:insert": {
"$ref": "#/definitions/YaoHook.Before",
"description": "Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表"
},
"after:insert": {
"$ref": "#/definitions/YaoHook.After",
"description": "After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果"
},
"before:delete": {
"$ref": "#/definitions/YaoHook.Before",
"description": "Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表"
},
"after:delete": {
"$ref": "#/definitions/YaoHook.After",
"description": "After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果"
},
"before:delete-in": {
"$ref": "#/definitions/YaoHook.Before",
"description": "Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表"
},
"after:delete-in": {
"$ref": "#/definitions/YaoHook.After",
"description": "After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果"
},
"before:delete-where": {
"$ref": "#/definitions/YaoHook.Before",
"description": "Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表"
},
"after:delete-where": {
"$ref": "#/definitions/YaoHook.After",
"description": "After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果"
},
"before:update": {
"$ref": "#/definitions/YaoHook.Before",
"description": "Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表"
},
"after:update": {
"$ref": "#/definitions/YaoHook.After",
"description": "After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果"
},
"before:update-in": {
"$ref": "#/definitions/YaoHook.Before",
"description": "Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表"
},
"after:update-in": {
"$ref": "#/definitions/YaoHook.After",
"description": "After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果"
},
"before:update-where": {
"$ref": "#/definitions/YaoHook.Before",
"description": "Before Hook。在关联处理器之前运行,输入用户输入的参数表,返回处理后的参数表"
},
"after:update-where": {
"$ref": "#/definitions/YaoHook.After",
"description": "After Hook。在关联处理器之后运行,输入关联处理器返回结果,返回处理后的结果"
}
},
"required": [
"bind"
],
"additionalProperties": false
},
"YaoTable.BindActionDSL": {
"type": "object",
"properties": {
"model": {
"type": "string",
"description": "绑定数据模型"
},
"store": {
"type": "string"
},
"table": {
"type": "string",
"description": "绑定表格"
},
"form": {
"type": "string",
"description": "绑定表单"
},
"option": {
"type": "object",
"properties": {
"form": {
"type": "string",
"description": "表格绑定的表单Key"
},
"withs": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/YaoQueryParam.QueryWith"
},
"description": "关联表定义"
}
},
"description": "指定 Form Widget ID 关联表单, **bind.model 不为空时有效**"
}
},
"additionalProperties": false
},
"YaoQueryParam.QueryWith": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"query": {
"$ref": "#/definitions/YaoQueryParam.QueryParam"
}
},
"additionalProperties": false,
"description": "With relations 关联查询"
},
"YaoQueryParam.QueryParam": {
"type": "object",
"properties": {
"comment": {
"type": "string",
"description": "备注【管理字段】"
},
"model": {
"type": "string",
"description": "模型名称"
},
"table": {
"type": "string",
"description": "表格名称"
},
"alias": {
"type": "string",
"description": "别名"
},
"export": {
"type": "string",
"description": "导出数据时的前缀"
},
"select": {
"type": "array",
"items": {
"type": "string"
},
"description": "选择字段清单"
},
"wheres": {
"type": "array",
"items": {
"$ref": "#/definitions/YaoQueryParam.QueryWhere"
},
"description": "查询条件"
},
"orders": {
"type": "array",
"items": {
"$ref": "#/definitions/YaoQueryParam.QueryOrder"
},
"description": "排序条件"
},
"limit": {
"type": "number",
"description": "限制返回记录条目"
},
"offset": {
"type": "number",
"description": "偏移量"
},
"page": {
"type": "number",
"description": "当前页码"
},
"pagesize": {
"type": "number",
"description": "每页显示记录数量"
},
"withs": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/YaoQueryParam.QueryWith"
},
"description": "读取关联模型"
}
},
"additionalProperties": false,
"description": "QueryParam 数据查询器参数"
},
"YaoQueryParam.QueryWhere": {
"type": "object",
"properties": {
"rel": {
"type": "string",
"description": "如按关联模型的字段查询,则填写关联模型名称"
},
"column": {
"type": "string",
"description": "字段名称"
},
"value": {
"description": "匹配数值"
},
"method": {
"type": "string",
"description": "查询方法 `where`,`orwhere`, `wherein`, `orwherein`... 默认为 `where`,\n\n| 查询方法 | 说明 | | -------- | ------------------------------------- | | where | WHERE 字段 = 数值, WHERE 字段 >= 数值 | | orwhere | ... OR WHERE 字段 = 数值 |"
},
"op": {
"type": "string",
"enum": [
"eq",
"like",
"match",
"gt",
"ge",
"lt",
"le",
"null",
"notnull",
"in",
"ne"
],
"description": "匹配关系 `eq`,`like`,`in`,`gt` 等,默认为 `eq`\n\n| 匹配关系 | 说明 | | -------- | -------------------------------- | | eq | 默认值 等于 WHERE 字段 = 数值 | | like | 匹配 WHERE 字段 like 数值 | | match | 匹配 WHERE 字段 全文检索 | | gt | 大于 WHERE 字段 > 数值 | | ge | 大于等于 WHERE 字段 >= 数值 | | lt | 小于 WHERE 字段 < 数值 | | le | 小于等于 WHERE 字段 <= 数值 | | null | 为空 WHERE 字段 IS NULL | | notnull | 不为空 WHERE 字段 IS NOT NULL | | in | 列表包含 WHERE 字段 IN (数值...) | | ne | 不等于匹配值 |"
},
"wheres": {
"type": "array",
"items": {
"$ref": "#/definitions/YaoQueryParam.QueryWhere"
},
"description": "分组查询"
}
},
"additionalProperties": false,
"description": "QueryWhere Where 查询条件"
},
"YaoQueryParam.QueryOrder": {
"type": "object",
"properties": {
"rel": {
"type": "string",
"description": "如按关联模型的字段排序,则填写关联模型名称"
},
"column": {
"type": "string",
"description": "字段名称"
},
"option": {
"type": "string",
"enum": [
"desc",
"asc"
],
"description": "排序方式, `desc`, `asc`, 默认为 `asc`"
}
},
"required": [
"column"
],
"additionalProperties": false,
"description": "QueryOrder Order 查询排序"
},
"YaoAction.Process": {
"type": "object",
"properties": {
"comment": {
"type": "string",
"description": "备注【管理字段】"
},
"process": {
"type": "string",
"description": "关联处理器名称"
},
"bind": {
"type": "string",
"description": "框架默认的关联处理器名称,如果不指定process,会使用的处理器"
},
"guard": {
"type": "string",
"description": "鉴权方式,可使用多个,使用逗号隔开"
},
"default": {
"type": "array",
"items": {
"$ref": "#/definitions/ActionDefault"
},
"description": "关联处理器默认值,null 表示不设定默认值"
},
"disable": {
"type": "boolean",
"description": "未使用"
}
},
"additionalProperties": false,
"description": "自定义关联处理器"
},
"ActionDefault": {
"anyOf": [
{
"$ref": "#/definitions/YaoQueryParam.QueryParam"
},
{}
]
},
"YaoHook.Before": {
"type": "string"
},
"YaoHook.After": {
"type": "string"
},
"YaoTable.LayoutDSL": {
"type": "object",
"properties": {
"primary": {
"type": "string",
"description": "数据主键,默认id"
},
"header": {
"$ref": "#/definitions/YaoTable.HeaderLayoutDSL",
"description": "表格界面头部布局。设置批量操作、导入配置等"
},
"filter": {
"$ref": "#/definitions/YaoTable.FilterLayoutDSL",
"description": "表格筛选器。设置筛选条件和右上角操作按钮等"
},
"table": {
"$ref": "#/definitions/YaoTable.ViewLayoutDSL",
"description": "表格布局。设置显示列,行操作按钮等"
}
},
"required": [
"header"
],
"additionalProperties": false
},
"YaoTable.HeaderLayoutDSL": {
"type": "object",
"properties": {
"preset": {
"$ref": "#/definitions/YaoTable.PresetHeaderDSL",
"description": "批量操作、导入配置等"
},
"actions": {
"type": "array",
"items": {
"$ref": "#/definitions/YaoComponent.ActionDSL"
},
"description": "自定义操作按钮,请使用filter.actions"
}
},
"additionalProperties": false
},
"YaoTable.PresetHeaderDSL": {
"type": "object",
"properties": {
"batch": {
"$ref": "#/definitions/YaoTable.BatchPresetDSL",
"description": "批量操作"
},
"import": {
"$ref": "#/definitions/YaoTable.ImportPresetDSL",
"description": "数据导入"
}
},
"additionalProperties": false
},
"YaoTable.BatchPresetDSL": {
"type": "object",
"properties": {
"columns": {
"type": "array",
"items": {
"$ref": "#/definitions/YaoComponent.LayoutColumnDSL"
},
"description": "需要显示的列"
},
"deletable": {
"type": "boolean",
"description": "是否可以删除"
}
},
"additionalProperties": false,
"description": "批量处理数据"
},
"YaoComponent.LayoutColumnDSL": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "字段标称名Label"
},
"width": {
"description": "宽度"
},
"height": {
"description": "高度"
},
"fixed": {
"type": "boolean",
"description": "固定"
}
},
"additionalProperties": false
},
"YaoTable.ImportPresetDSL": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "名称"
},
"actions": {
"$ref": "#/definitions/YaoComponent.Actions",
"description": "操作"
}
},
"additionalProperties": false
},
"YaoComponent.Actions": {
"type": "array",
"items": {
"$ref": "#/definitions/YaoComponent.ActionDSL"
}
},
"YaoComponent.ActionDSL": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "唯一标识"
},
"title": {
"type": "string",
"description": "标题"
},
"width": {
"type": "number",
"description": "宽度"
},
"icon": {
"type": "string",
"description": "图标"
},
"style": {
"type": "string",
"description": "样式"
},
"xpath": {
"type": "string"
},
"divideLine": {
"type": "boolean",
"description": "分隔线"
},
"hide": {
"type": "array",
"items": {
"type": "string"
},
"description": "Syntactic sugar [\"add\", \"edit\", \"view\"]"
},
"showWhenAdd": {
"type": "boolean",
"description": "增加数据时显示"
},
"showWhenView": {
"type": "boolean",
"description": "查看数据时显示"
},
"hideWhenEdit": {
"type": "boolean",
"description": "编辑时隐藏"
},
"props": {
"$ref": "#/definitions/YaoComponent.PropsDSL",
"description": "属性"
},
"confirm": {
"$ref": "#/definitions/YaoComponent.ConfirmActionDSL",
"description": "确认提示"
},
"action": {
"$ref": "#/definitions/YaoComponent.ActionNodes",
"description": "用户操作"
},
"disabled": {
"$ref": "#/definitions/YaoComponent.DisabledDSL",
"description": "满足条件时禁用"
}
},
"additionalProperties": false,
"description": "可用自定义操作"
},
"YaoComponent.PropsDSL": {
"type": "object"
},
"YaoComponent.ConfirmActionDSL": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "标题"
},
"desc": {
"type": "string",
"description": "描述"
}
},
"additionalProperties": false
},
"YaoComponent.ActionNodes": {
"type": "array",
"items": {
"$ref": "#/definitions/YaoComponent.ActionNode"
}
},
"YaoComponent.ActionNode": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "操作名称"
},
"type": {
"type": "string",
"description": "操作类型"
},
"payload": {
"type": "object",
"properties": {
"model": {
"type": "string",
"description": "关联模型"
},
"Form": {
"$ref": "#/definitions/YaoComponent.PropsDSL",
"description": "关联Form"
}
},
"description": "操作携带的信息"
}
},
"additionalProperties": false
},
"YaoComponent.DisabledDSL": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "绑定字段"
},
"bind": {
"type": "string",
"description": "绑定字段"
},
"eq": {
"description": "string | array<string> Syntactic sugar eq -> value"
},
"equal": {
"description": "string | array<string> Syntactic sugar equal -> value"
},
"value": {
"description": "string | array<string>"
}
},
"additionalProperties": false
},
"YaoTable.FilterLayoutDSL": {
"type": "object",
"properties": {
"actions": {
"$ref": "#/definitions/YaoComponent.Actions",
"description": "自定义操作按钮(界面右上方)"
},
"columns": {
"$ref": "#/definitions/YaoComponent.LayoutColumns",
"description": "筛选条件, 在 fields.filter 中定义的筛选条件字段"
}
},
"additionalProperties": false
},
"YaoComponent.LayoutColumns": {
"type": "array",
"items": {
"$ref": "#/definitions/YaoComponent.LayoutColumnDSL"
}
},
"YaoTable.ViewLayoutDSL": {
"type": "object",
"properties": {
"props": {
"$ref": "#/definitions/YaoComponent.PropsDSL",
"description": "属性配置"
},
"columns": {
"$ref": "#/definitions/YaoComponent.LayoutColumns",
"description": "表格列定义"
},
"operation": {
"$ref": "#/definitions/YaoTable.OperationTableDSL",
"description": "表格行操作区定义,右边的按钮,查看,编辑,删除等"
}
},
"additionalProperties": false
},
"YaoTable.OperationTableDSL": {
"type": "object",
"properties": {
"width": {
"type": "number",
"description": "行操作区宽度(单位 px)"
},
"fold": {
"type": "boolean",
"description": "是否折叠行操作区"
},
"hide": {
"type": "boolean",
"description": "是否隐藏行操作区"
},
"actions": {
"$ref": "#/definitions/YaoComponent.Actions",
"description": "自定义行操作按钮"
}
},
"required": [
"actions"
],
"additionalProperties": false,
"description": "表格布局。设置显示列,行操作按钮等"
},
"YaoTable.FieldsDSL": {
"type": "object",
"properties": {
"filter": {
"$ref": "#/definitions/YaoField.Filters",
"description": "表格筛选器字段定义"
},
"table": {
"$ref": "#/definitions/YaoField.Columns",
"description": "表格列字段定义"
}
},
"additionalProperties": false,
"description": "表格字段定义。指定表格列字段, 表格筛选器字段定义"
},
"YaoField.Filters": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/YaoField.FilterDSL"
}
},
"YaoField.FilterDSL": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "唯一标识"
},
"key": {
"type": "string"
},
"bind": {
"type": "string",
"description": "绑定字段列标识"
},
"edit": {
"$ref": "#/definitions/YaoComponent.EditComponentDSL",
"description": "关联编辑控件"
}
},
"additionalProperties": false
},
"YaoComponent.EditComponentDSL": {
"type": "object",
"properties": {
"bind": {
"type": "string",
"description": "绑定字段名称,如不指定使用默认值"
},
"type": {
"anyOf": [
{
"$ref": "#/definitions/YaoComponent.EditComponentEnum"
},
{
"type": "string",
"const": "public/xxx"
}
],
"description": "组件名称,可用组件参考文档 https://yaoapps.com/components,public/开关的是远程组件"
},
"compute": {
"anyOf": [
{
"$ref": "#/definitions/YaoComponent.Compute"
},
{
"type": "string"
}
],
"description": "数据数值计算"
},
"props": {
"type": "object",
"properties": {
"xProps": {
"type": "object",
"properties": {
"$search": {
"type": "object",
"properties": {
"process": {
"type": "string",
"description": "处理器"
},
"query": {
"type": "object",
"description": "请求参数绑定,可使用{{}}绑定记录结构"
}
},
"required": [
"process"
],
"additionalProperties": false,
"description": "控件搜索回调api"
},
"$remote": {
"type": "object",
"properties": {
"process": {
"type": "string",
"description": "处理器"
},
"query": {
"type": "object",
"description": "请求参数绑定,可使用{{}}绑定记录结构"
}
},
"required": [
"process"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"$on:change": {
"type": "object",
"properties": {
"process": {
"type": "string",
"description": "处理器"
},
"query": {
"type": "object",
"description": "请求参数绑定,可使用{{}}绑定记录结构"
}
},
"required": [
"process"
],
"additionalProperties": false,
"description": "onchange 事件"
},
"itemProps": {
"type": "object",
"properties": {
"rules": {
"type": "array",
"items": {
"$ref": "#/definitions/RuleObject"
},
"description": "控件规则"
},
"tooltip": {
"type": "string",
"description": "提示"
},
"initialValue": {
"description": "默认值"
}
},
"description": "表单项目配置"
}
},
"description": "控件属性,可参考antd控件"
}
},
"additionalProperties": false
},
"YaoComponent.EditComponentEnum": {
"anyOf": [
{
"type": "string",
"const": "Cascader"
},
{
"type": "string",
"const": "CheckboxGroup"
},
{
"type": "string",
"const": "CodeEditor"
},
{
"type": "string",
"const": "ColorPicker"
},
{
"type": "string",
"const": "DatePicker"
},
{
"type": "string",
"const": "Grant"
},
{
"type": "string",
"const": "Input"
},
{
"type": "string",
"const": "InputNumber"
},
{
"type": "string",
"const": "List"
},
{
"type": "string",
"const": "Mentions"
},
{
"type": "string",
"const": "Password"
},
{
"type": "string",
"const": "RadioGroup"
},
{
"type": "string",
"const": "RangePicker"
},
{
"type": "string",
"const": "RichText"
},
{
"type": "string",
"const": "Select"
},
{
"type": "string",
"const": "Table"
},
{
"type": "string",
"const": "TextArea"
},
{
"type": "string",
"const": "TimePicker"
},
{
"type": "string",
"const": "Tree"
},
{
"type": "string",
"const": "Upload"
},
{
"$ref": "#/definitions/YaoComponent.CustomComponent"
}
]
},
"YaoComponent.CustomComponent": {
"type": "string"
},
"YaoComponent.Compute": {
"type": "object",
"properties": {
"process": {
"type": "string",
"description": "如果compute类型等于字符串,会自动的转换成处理器名,并给处理器传入4个参数,第一个参数是字段的值。"
},
"args": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/YaoComponent.CArg"
}
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "使用表达式,引用传入数据的结构,默认参数表: [\"$C(value)\", \"$C(props)\", \"$C(type)\", \"$C(id)\"]"
}
},
"required": [
"process"
],
"additionalProperties": false,
"description": "数据数值计算 参数表: $C(row) 当前行数据, $C(value) 当前行当前字段数值, $C(props) 当前组件 props, $C(type) 当前组件 type, $C(id) 当前 Widget ID 'hello' 字符串常量 1024 整形常量 0.618 浮点型常量"
},
"YaoComponent.CArg": {
"type": "object",
"properties": {
"isExp": {
"type": "boolean",
"description": "是否表达式,如果是表达式,会使用key对结构进行绑定引用"
},
"key": {
"type": "string",
"description": "在isExp=true时生效,使用key引用model结构中的字段名"
},
"value": {
"description": "在isExp=false时生效,可以是任何对象。如果是字符串,可以使用::作为前缀表示进行格式化输出"
}
},
"required": [
"isExp",
"key",
"value"
],
"additionalProperties": false,
"description": "自定义compute处理器的参数表"
},
"RuleObject": {
"anyOf": [
{
"$ref": "#/definitions/AggregationRule"
},
{
"$ref": "#/definitions/ArrayRule"
}
]
},
"AggregationRule": {
"type": "object",
"additionalProperties": false,
"properties": {
"warningOnly": {
"type": "boolean"
},
"message": {
"type": "string"
},
"enum": {
"type": "array",
"items": {
"$ref": "#/definitions/StoreValue"
}
},
"len": {
"type": "number"
},
"max": {
"type": "number"
},
"min": {
"type": "number"
},
"pattern": {
"type": "string",
"format": "regex"
},
"required": {
"type": "boolean"
},
"type": {
"$ref": "#/definitions/RuleType"
},
"whitespace": {
"type": "boolean"
},
"validateTrigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Customize rule level `validateTrigger`. Must be subset of Field `validateTrigger`"
}
}
},
"StoreValue": {},
"RuleType": {
"type": "string",
"enum": [
"string",
"number",
"boolean",
"method",
"regexp",
"integer",
"float",
"object",
"enum",
"date",
"url",
"hex",
"email"
]
},
"ArrayRule": {
"type": "object",
"properties": {
"warningOnly": {
"type": "boolean"
},
"enum": {
"type": "array",
"items": {
"$ref": "#/definitions/StoreValue"
}
},
"len": {
"type": "number"
},
"max": {
"type": "number"
},
"message": {
"type": "string"
},
"min": {
"type": "number"
},
"pattern": {
"type": "string",
"format": "regex"
},
"required": {
"type": "boolean"
},
"whitespace": {
"type": "boolean"
},
"validateTrigger": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Customize rule level `validateTrigger`. Must be subset of Field `validateTrigger`"
},
"type": {
"type": "string",
"const": "array"
},
"defaultField": {
"$ref": "#/definitions/RuleObject"
}
},
"required": [
"type"
],
"additionalProperties": false
},
"YaoField.Columns": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/YaoField.ColumnDSL"
}
},
"YaoField.ColumnDSL": {
"type": "object",
"properties": {
"comment": {
"type": "string",
"description": "备注【管理字段】"
},
"id": {
"type": "string",
"description": "唯一标识"
},
"$data": {
"$ref": "#/definitions/YaoComponent.CloudPropsDSL",
"description": "远程data数据接口"
},
"key": {
"type": "string",
"description": "列主键名,不需要显式设置"
},
"bind": {
"type": "string",
"description": "默认绑定API接口返回字段名称"
},
"link": {
"type": "string",
"description": "chart图表链接地址,只有图表才会使用"
},
"view": {
"$ref": "#/definitions/YaoComponent.ViewComponentDSL",
"description": "显示控件设置"
},
"edit": {
"$ref": "#/definitions/YaoComponent.EditComponentDSL",
"description": "编辑控件设置"
}
},
"additionalProperties": false
},
"YaoComponent.CloudPropsDSL": {
"type": "object",
"properties": {
"xpath": {
"type": "string"
},
"type": {
"type": "string",
"description": "类型"
},
"name": {
"type": "string",
"description": "名称"
},
"process": {
"type": "string",
"description": "处理器"
},
"query": {
"type": "object",
"description": "处理器参数"
}
},
"additionalProperties": false
},
"YaoComponent.ViewComponentDSL": {
"type": "object",
"properties": {
"bind": {
"type": "string",
"description": "绑定字段名称,如不指定使用默认值"
},
"type": {
"anyOf": [
{
"$ref": "#/definitions/YaoComponent.ViewComponentEnum"
},
{
"type": "string",
"const": "public/xxx"
}
],
"description": "组件名称,可用组件参考文档 https://yaoapps.com/components,public/开关的是远程组件"
},
"compute": {
"anyOf": [
{
"$ref": "#/definitions/YaoComponent.Compute"
},
{
"type": "string"
}
],
"description": "数据数值计算"
},
"props": {
"type": "object",
"properties": {
"xProps": {
"type": "object",
"properties": {
"$remote": {
"type": "object",
"properties": {
"process": {
"type": "string",
"description": "处理器"
},
"query": {
"type": "object",
"description": "请求参数绑定,可使用{{}}绑定记录结构"
}
},
"required": [
"process"
],
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"description": "控件属性,可参考antd控件"
}
},
"additionalProperties": false
},
"YaoComponent.ViewComponentEnum": {
"anyOf": [
{
"type": "string",
"const": "A"
},
{
"type": "string",
"const": "Checkbox"
},
{
"type": "string",
"const": "Color"
},
{
"type": "string",
"const": "Image"
},
{
"type": "string",
"const": "Switch"
},
{
"type": "string",
"const": "Tag"
},
{
"type": "string",
"const": "Text"
},
{
"type": "string",
"const": "Tooltip"
},
{
"$ref": "#/definitions/YaoComponent.CustomComponent"
}
]
},
"CommonConfig": {
"type": "object",
"properties": {
"full": {
"type": "boolean",
"description": "是否满屏显示表格"
}
},
"additionalProperties": false
}
}
}