config/zest

子系统:配置


Methods

(static) cabQuery(reference, key) → {any}

「引擎」Ux.cabQuery

返回绑定资源文件中的_grid专用列表配置信息,然后生成 query 执行的最终结果,读取位置:

  1. _grid.query节点的数据读取
  2. qrCombine函数执行完成整体解析过程。
{
    "_grid":{
        "query":{
            "criteria":{},
            "sorter": [],
            "pager":{
                "page":1,
                "size":10
            },
            "projection": []
        }
    }
}
Parameters:
Name Type Default Description
reference Object | ReactComponent

React对应组件引用。

key String grid

表单配置读取必须的键。

Returns:
Type
any

(static) cabTab(reference, key) → {*}

「引擎」Ux.cabTab

Parameters:
Name Type Default Description
reference
key tabs
Returns:
Type
*

(async, static) capForm(reference, config, program) → {Promise.<T>}

「引擎」Ux.capForm

配置专用方法,该方法为下层方法,直接使用Object作为配置输入。

cab: Cab.json 中读取的 form 配置

{
    form:{
         className: "表单对应的CSS",
         window: 布局选择,
         columns: 使用 grid 时表单支持的布局
         ui: 布局信息
         hidden: 隐藏字段专用信息
         actions: {
             op: {
                 "Button的id": "SAction的 code"
         }
    },
    control: {
         id: "动态创建时的 control id",
         magic: {
             Ajax专用参数信息
         },
         uri: "默认远程的 uri",
         method: "调用远程的 uri对应的 Ajax 方法,默认 GET"
    }
}

program:通过编程方式传入的配置

{
    key: "form",     // 默认使用 form
    jsx: {
        "字段名": (reference, jsx) => xxx,渲染函数
    },
    dynamic:{
        renders: {},
        extensions: {},
    },
    columns: (优先)使用 grid 时表单支持的布局,
    supplier: (优先)构造 magic 专用的 supplier,和上边的配置结合使用
}

capForm 主要用于设置 addOn 附加信息,最终返回数据结构

{
    form: {
        window,
        className,
        ui,
        hidden,
        actions:{
            op: {}
        }
    },
    addOn: {
        columns:
        renders:
        dynamic:{
            renders: {},
            extensions: {}
        }
    },
}

supplier 响应格式(参考form)

{
    className: "表单对应的CSS",
    window: 布局选择,
    columns: 使用 grid 时表单支持的布局
    ui: 布局信息
    hidden: 隐藏字段专用信息
    actions: {
    op: {
         "Button的id": "SAction的 code"
    }
}
Parameters:
Name Type Description
reference Object | ReactComponent

React对应组件引用。

config Object

基本输入的配置信息。

program Object

编程传入的配置信息。

Returns:

返回异步的 Promise。

Type
Promise.<T>

(static) capTab(reference, key, state) → {any}

「引擎」Ux.cabTab

(异步)Tabs 页签专用函数,用于处理页签级别的配置信息,通常是 _tabs 节点

Parameters:
Name Type Default Description
reference Object | ReactComponent

React对应组件引用。

key String tabs

表单配置读取必须的键。

state Object

专用的状态,会被直接更改,追加 $tabs 变量。

Returns:
Type
any

(static) configAnchor(reference, op, callback) → {Array}

「引擎」Ux.configAnchor

锚点专用函数信息

Array类型

[
   id1, id2
]

Object

{
   key1 = id1,
   key2 = id2
}
Parameters:
Name Type Description
reference Object | ReactComponent

React对应组件引用。

op Array | Object

锚点按钮配置生成器。

callback function

按钮执行函数,可以从callback中执行该函数。

Returns:

配置的最终锚点。

Type
Array

(static) configColumn(reference, columns, ops) → {Array}

「引擎」Ux.configColumn

「标准配置」Ant Design的Table组件的Table组件专用属性columns列处理器,处理每一列的render属性

配置信息如下:

  1. 先使用aiExprColumn解析原始配置。
  2. 计算 $render 的不同模式
  3. 封装操作,底层调用 columnWrapper 专用封装函数(内置的)
  4. 追加 $filter 列过滤配置。
  5. 计算排序配置 sorter = true 时。
Parameters:
Name Type Description
reference Object | ReactComponent

React对应组件引用。

columns Array

当前Table组件的columns配置。

ops Object

当前列是否可操作列:如列中包含了编辑、删除按钮,如果出现扩展则执行扩展替换。

Returns:

返回处理过后的表格列信息。

Type
Array

(static) configDialog(reference, config) → {Object}

「引擎」Ux.configDialog

「标准配置」Dialog 专用的配置信息。

  1. 先调用aiExprWindow解析window元素。
  2. 执行onOk的锚点连接函数
  3. 执行onCancel流程
  4. 执行防重复提交流程
Parameters:
Name Type Description
reference Object | ReactComponent

React对应组件引用。

config Object

窗口配置专用数据。

Returns:

返回处理好的窗口配置。

Type
Object

(static) configExecutor(reference, executors) → {Object}

「引擎」Ux.configExecutor

统一执行 executor

函数格式:

const fun = (reference) => (id, record) => {}
  1. reference:当前组件,如 ExTable
  2. id:记录的ID
  3. record:记录数据全部

合并 executor 的方式:

  1. 来源于 reference.props 中的 $executor 变量
  2. 标准函数:
    • fnEdit:打开编辑Tab页专用
    • fnDelete:删除一行记录专用
Parameters:
Name Type Description
reference Object | ReactComponent

React对应组件引用。

executors Object

待绑定的事件专用信息。

Returns:

返回处理过后的 executors 信息。

Type
Object

(static) configExecutors(reference, executors) → {Object}

「引擎」Ux.configExecutors

「2阶」(略)该操作主要是编程过程中使用。

Parameters:
Name Type Description
reference Object | ReactComponent

React对应组件引用。

executors Object

待绑定的事件专用信息。

Returns:

返回处理过后的 executors 信息。

Type
Object

(static) configForm(form, addOn) → {Object}

「引擎」Ux.configForm

「标准配置」表单配置的标准处理方法,和 React 隔离的独立配置函数,处理 form 配置专用。

Parameters:
Name Type Description
form Object

传入的特殊Form配置,Object类型。

addOn Object

编程专用的Object类型。

Returns:

配置规范化完成后的Form数据。

Type
Object

(static) configIcon(config) → {Object}

「引擎」Ux.configIcon

配置专用基础Icon

Object

{
    "item": {
        "icon": "xxx",
        "iconSize": 14,
        "color": "color"
    }
}
Parameters:
Name Type Description
config Object

解析metadata专用。

Returns:

转换最终icon。

Type
Object

(static) configScroll($table, data, reference)

「引擎」Ux.configScroll

计算表格中的 scroll 列自适应性的专用函数,不同的渲染器计算列宽度方法不同。

Parameters:
Name Type Description
$table Object

传入的表格配置信息。

data Array

传入的表格数据信息。

reference Object | ReactComponent

React对应组件引用。

(static) configTab(reference, config) → {Object}

「引擎」Ux.configTab

「标准配置」Tabs 专用的配置信息。

Parameters:
Name Type Description
reference Object | ReactComponent

React对应组件引用。

config Object

传入的配置数据信息。

Returns:

处理完成的配置数据。

Type
Object

(static) configTable(reference, table, ops) → {Object}

「引擎」Ux.configTable

「标准配置」Table 专用的配置信息。

Parameters:
Name Type Description
reference Object | ReactComponent

React对应组件引用。

table Object

表格配置数据相关信息。

ops Object

外置处理的 executor 专用信息。

Returns:

返回处理好的配置信息。

Type
Object

(static) raftForm() → {Promise.<T>}

「引擎」Ux.raftForm

新函数,两种情况

  1. 长度为1
  2. 长度为2

该函数只在内部调用。

Returns:

返回最终的 Promise。

Type
Promise.<T>