核心引擎模块
1. 函数列表
函数名 | 说明 |
---|---|
cabQuery | 读取query参数,通常用于<ListXXX/> 组件,_grid -> query 执行qrCombine合并。 |
capForm | (最复杂的配置执行)表单配置初始化。 |
cabTab | <Tabs/> 组件配置初始化专用,构造state.$tabs 节点信息,构造状态数据。 |
configAnchor | 双锚点专用函数,对应锚点生成按钮,这些按钮全是隐藏按钮,可被connectId 触发。 |
configColumn | (高频)表格列主配置方法:<Table/> 中的列配置专用。 |
configDialog | (高频)窗口主配置方法:<Modal/> 的核心配置。 |
configExecutor | (组件专用)内置组件专用$executor配置程序,配置表格列操作。 |
configExecutors | 「2阶」(编程专用)编程过程中专用的配置程序,配置表格列操作。 |
configForm | 表单配置主方法,处理表单配置信息专用。 |
configScroll | 计算表格宽度专用(是否包含滚动条处理)。 |
configTab | <Tabs/> 组件专用配置执行程序。 |
configTable | <Table/> 组件专用配置主程序。 |
createAction | redux-act构造Redux的Action专用核心函数。 |
dataIn | redux中的数据输入,创建DataIn。 |
dataOut | redux中的数据输出,创建DataOut。 |
fnOut | 专用全局redux的store修改函数(统一使用一个函数和不同数据结构执行)。 |
fromHoc | 读取资源文件中(src/cab/cn/ )的数据信息,只读取根节点。 |
fromPath | 读取资源文件中的某个路径下的数据信息。 |
raftForm | 「遗留」内部调用函数,只在@zero 中执行的表单配置构造。 |
rjAssist | 「2阶」Assist专用redux对应的ajax构造,生成函数,简化构造流程,内部调用rxAssist。 |
rjTabular | 「2阶」Tabular专用redux对应的ajax构造,生成函数,简化构造流程,内部调用rxDatum。 |
rxAssist | 执行Assist响应数据的计算(主要针对Array和Object.list的合并运算。 |
rxCheckedRow | 执行<Table/> 中的选择行数据的专用选择方法。 |
rxCheckedTree | 执行<Tree/> 中的选择树相关数据的专用选择方法。 |
rxDatum | 执行Tabular响应数据的计算(支持分组功能,最终生成Assist级别的数据。 |
rxEtat | 「主」资源文件绑定主方法。 |
rxFlow | 「主」综合构造组件之前的Ajax链式结构(redux模式)。 |
rxInit | 「遗留」新版本不再使用zxInit函数,目前只在container遗留系统中使用。 |
rxResize | 执行浏览器界面的resize注入专用方法。 |
storeApp | 「引擎」存储应用程序到LocalStorage中。 |
storeUser | 「引擎」存储登录数据到SessionStorage中。 |
writeAssist | 写数据到redux树中的assist节点。 |
writeClean | 清除redux树上的默认常用核心信息。 |
writeSubmit | 写入状态数据到redux树上实现跨组件、节点、页面的防重复提交状态信息。 |
writeTree | 书写数据到assist/tabular 两个节点中。 |
2. 特殊查询参数
Zero Ui中包含了默认使用的一些查询参数信息,这些参数会使用Base64进行编码解码。
/xxx/yyy?<p1>=<v1>&<p2>=<v2>&....
参数名 | 含义 |
---|---|
mid | Menu主键(主菜单参数值) |
pid | Page主键(页面参数值,二级菜单主键) |
target | callback专用,登录页面使用该参数在登录过程中可直接调用Ux.toOriginal 返回到target指定页面。 |
Methods
(static) assistIn(reference, key, data)
「标准」Ux.assistIn
Parameters:
Name | Type | Description |
---|---|---|
reference |
Object | ReactComponent | React组件。 |
key |
String | 需要读取的 Assist 的键值。 |
data |
Object | 需要执行数据处理的信息 |
(static) cabQuery(reference, key) → {any}
「引擎」Ux.cabQuery
返回绑定资源文件中的_grid
专用列表配置信息,然后生成 query 执行的最终结果,读取位置:
_grid.query
节点的数据读取- 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
(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
属性
配置信息如下:
- 先使用
aiExprColumn
解析原始配置。 - 计算 $render 的不同模式
- 封装操作,底层调用 columnWrapper 专用封装函数(内置的)
- 追加 $filter 列过滤配置。
- 计算排序配置 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 专用的配置信息。
- 先调用
aiExprWindow
解析window
元素。 - 执行
onOk
的锚点连接函数 - 执行
onCancel
流程 - 执行防重复提交流程
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) => {}
- reference:当前组件,如 ExTable
- id:记录的ID
- record:记录数据全部
合并 executor 的方式:
- 来源于 reference.props 中的 $executor 变量
- 标准函数:
- 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) 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) createAction(path) → {EmptyActionCreator}
「引擎」Ux.createAction
创建 redux 中所需要的 Action 信息,内部调用 redux-act
。
Parameters:
Name | Type | Description |
---|---|---|
path |
String | 核心路径信息,不同的 redux 的 Action可以使用不同的值。 |
Returns:
返回创建好的 Action。
- Type
- EmptyActionCreator
(static) dataIn(state) → {StateOut}
「引擎」Ux.dataIn
Redux专用状态树的读取方法,读取数据的调用代码:
Parameters:
Name | Type | Description |
---|---|---|
state |
Object | Redux读取到的状态值相关信息,作为输出。 |
Returns:
返回状态数据。
- Type
- StateOut
(static) dataOut(data) → {Action}
「引擎」Ux.dataOut
处理状态专用输出,以下边两种数据结构写入到 Redux 树中。
- DataObject:数据单记录模型。
- DataArray:数据多记录模型。
Parameters:
Name | Type | Description |
---|---|---|
data |
Object | 初始化数据值。 |
Returns:
返回 redux-act
创建的操作专用。
- Type
- Action
(static) fnOut(state, inState)
「引擎」Ux.fnOut
Redux 树的统一处理 reducer 数据。
Parameters:
Name | Type | Description |
---|---|---|
state |
Object | 原始状态信息。 |
inState |
Object | 初始化状态信息。 |
(static) fromHoc(reference, key) → {null}
「引擎」Ux.fromHoc
资源文件数据读取专用方法,从 $hoc 中读取主键值相关信息。
Parameters:
Name | Type | Description |
---|---|---|
reference |
Object | ReactComponent | React对应组件引用。 |
key |
String | 读取对应属性名。 |
Returns:
- Type
- null
(static) fromPath(reference, …args) → {null}
「引擎」Ux.fromPath
资源文件数据读取专用方法,从 $hoc 中读取主键值相关信息,可以处理深度路径信息。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
reference |
Object | ReactComponent | React对应组件引用。 |
|
args |
Array.<String> |
<repeatable> |
读取属性名核心路径。 |
Returns:
- Type
- null
(static) raftForm() → {Promise.<T>}
「引擎」Ux.raftForm
新函数,两种情况
- 长度为1
- 长度为2
该函数只在内部调用。
Returns:
返回最终的 Promise。
- Type
- Promise.<T>
(static) rxAssist(input, key, order) → {Object}
「标准」Ux.rxAssist
Redux 反向处理器,处理 Assist 第三关联表数据。
Parameters:
Name | Type | Description |
---|---|---|
input |
Array | 传入的数据源信息。 |
key |
String | 当前数据绑定的辅助用key。 |
order |
String | 排序字段。 |
Returns:
最终的数据信息,存储在 assist
节点中。
- Type
- Object
(static) rxCheckedRow(reference, field) → {function}
「标准」Ux.rxCheckedRow
表格 Table 中的专用 selected 函数生成器。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
reference |
Object | React对应组件引用。 |
|
field |
String |
$selected
|
字段名称。 |
Returns:
选中函数。
- Type
- function
(static) rxCheckedTree(reference, input, callback) → {function}
「标准」Ux.rxCheckedTree
树专用组件 Tree 中的专用选择函数,借助 $keySet 集合
Parameters:
Name | Type | Description |
---|---|---|
reference |
Object | React对应组件引用。 |
input |
Array | 当前组中数组,本身为一棵树 |
callback |
function | 回调函数 |
Returns:
选中函数。
- Type
- function
(static) rxDatum(input, orderField, groupField) → {Object}
「标准」Ux.rxDatum
Redux 反向处理器
- 处理 Tabular
- 多种 Tabular 时,仅按类别分组处理
用于处理 tabular(X_TABULAR
)在 redux 层面的状态树专用数据结构。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
input |
Array | 传入的数据源信息。 |
|
orderField |
String |
sort
|
排序专用信息。 |
groupField |
String |
type
|
分组专用信息,如果分组的话执行多个值。 |
Returns:
返回最终的数据信息,存储在 tabular
节点中。
- Type
- Object
(static) rxEtat() → {RxEtat}
「标准」Ux.rxEtat
用于处理专用的资源文件绑定类。
调用代码如:
@Ux.zero(Ux.rxEtat(require('../Cab.json'))
.cab("UI.Filter")
.raft(1)
.form().to()
)
Returns:
返回最终 @zero 注解中的状态,构造资源文件绑定对象。
- Type
- RxEtat
(static) rxFlow() → {rxFlow}
- Deprecated:
- 后期更改掉,取代 rxFlow
「标准」Ux.rxFlow
Stream 模式处理 Redux 初始化过程中的数据读取
- 并且 Ajax
- 串行 Ajax
- 读取 Tabular / Assist / Category
内部调用代码:
const flow = {
fnInited: Ux.rxFlow(Types.fnInited)
.bind(Ajax)
.mount(
'app',
'app.menus'
)
.to()
}
Returns:
返回最终 @zero 注解中的Stream模式的 redux处理器。
- Type
- rxFlow
(static) rxResize(reference) → {function}
「标准」Ux.rxResize
设置窗口 resize 的事件专用。
Parameters:
Name | Type | Description |
---|---|---|
reference |
Object | React对应组件引用。 |
Returns:
返回 resize 回调函数。
- Type
- function
(static) storeApp(data, isKey) → {any}
「引擎」Ux.storeApp
首页一般会读取相关的应用数据,然后将应用存储到 localStorage 中,存储的数值包括:
- App本身数据的存储。
X-App-Id
的存储。X-Sigma
的存储。- 如果开启了 isKey = true,则存储
X-App-Key
。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
data |
Object | 传入的应用数据。 |
|
isKey |
boolean |
false
|
是否存储 appKey。 |
Returns:
返回应用数据。
- Type
- any
(static) storeModule(data, configKey) → {any}
「引擎」Ux.storeModule
模块化存储数据到 KEY_APP 中,存储位置为 configKey
,如果是多个模块则
直接存储多个模块中的配置数据信息,如
mIso = {} mHotel = {} mIoT = {}
Parameters:
Name | Type | Description |
---|---|---|
data |
Object | 传入的模块配置数据。 |
configKey |
String | 模块专用 key 值,配置在 uiConfig 中的 |
Returns:
返回存储的模块配置数据。
- Type
- any
(static) storeUser(data) → {any}
「引擎」Ux.storeUser
登录过后存储用户的专用方法,存储当前用户数据到 sessionStorage 中。
Parameters:
Name | Type | Description |
---|---|---|
data |
Object | 被存储的用户数据。 |
Returns:
返回存储好的数据。
- Type
- any
(static) writeAssist(reference, key, data, isDeleted)
「标准」Ux.writeAssist
Zero UI 中的 redux 树的辅助数据 assist
节点专用方法,用于写 redux 树
Parameters:
Name | Type | Default | Description |
---|---|---|---|
reference |
Object | ReactComponent | React组件。 |
|
key |
String | redux树上的 Assist 辅助数据所需的键。 |
|
data |
Object | 需要保存的记录集。 |
|
isDeleted |
boolean |
false
|
该操作是删除还是保存。 |
(static) writeClean(reference, keys)
「标准」Ux.writeClean
Zero UI 中的 redux 树的清除方法,用于清除该节点上的数据,该清除会清掉默认信息。
datum.data
。datum.menus
。datum.inited
。assist
。state.submitting
.
Parameters:
Name | Type | Description |
---|---|---|
reference |
Object | ReactComponent | React组件。 |
keys |
Array | 被清除的所有节点信息。 |
(static) writeSubmit(reference, loading)
「标准」Ux.writeSubmit
Zero UI 中的 redux 树的防重复提交专用方法,用于检查 redux 引擎下的防重复提交。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
reference |
Object | ReactComponent | React组件。 |
|
loading |
boolean |
true
|
防重复提交专用状态值。 |
(static) writeTree(reference, state, dft)
「标准」Ux.writeTree
Zero UI中和 redux 连接到一起的状态统一修改函数,主要修改节点为 out
根节点下的数据。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
reference |
Object | ReactComponent | React组件。 |
|
state |
Object | 被修改的状态信息。 |
|
dft |
any |
null
|
状态默认值 |