@ibiz-template/runtime 0.7.41-alpha.124 → 0.7.41-alpha.126
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +45309 -44911
- package/dist/index.system.min.js +1 -1
- package/out/application.d.ts +7 -0
- package/out/application.d.ts.map +1 -1
- package/out/application.js +21 -0
- package/out/controller/control/app-menu/app-menu.controller.js +1 -1
- package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-item/form-item.controller.js +1 -1
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +1 -1
- package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.js +1 -1
- package/out/controller/control/toolbar/toolbar.controller.js +1 -1
- package/out/controller/control/tree/tree.service.d.ts.map +1 -1
- package/out/controller/control/tree/tree.service.js +1 -1
- package/out/controller/utils/view-msg/view-msg-controller.d.ts.map +1 -1
- package/out/controller/utils/view-msg/view-msg-controller.js +1 -1
- package/out/de-logic/de-logic-context.d.ts +4 -13
- package/out/de-logic/de-logic-context.d.ts.map +1 -1
- package/out/de-logic/de-logic-context.js +2 -3
- package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.d.ts +15 -5
- package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.d.ts.map +1 -1
- package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.js +3 -4
- package/out/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.d.ts +2 -1
- package/out/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.d.ts.map +1 -1
- package/out/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.d.ts +2 -1
- package/out/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.d.ts.map +1 -1
- package/out/de-logic/de-logic-link/de-logic-link.d.ts +6 -7
- package/out/de-logic/de-logic-link/de-logic-link.d.ts.map +1 -1
- package/out/de-logic/de-logic-link/de-logic-link.js +3 -4
- package/out/de-logic/de-logic-node/de-logic-node.d.ts +2 -1
- package/out/de-logic/de-logic-node/de-logic-node.d.ts.map +1 -1
- package/out/de-logic/de-logic-node/index.d.ts +1 -0
- package/out/de-logic/de-logic-node/index.d.ts.map +1 -1
- package/out/de-logic/de-logic-node/index.js +1 -0
- package/out/de-logic/de-logic.d.ts +31 -37
- package/out/de-logic/de-logic.d.ts.map +1 -1
- package/out/de-logic/de-logic.js +49 -98
- package/out/de-logic/index.d.ts +31 -40
- package/out/de-logic/index.d.ts.map +1 -1
- package/out/de-logic/index.js +57 -76
- package/out/de-logic/provider.d.ts +6 -0
- package/out/de-logic/provider.d.ts.map +1 -0
- package/out/de-logic/provider.js +25 -0
- package/out/install.d.ts.map +1 -1
- package/out/install.js +6 -0
- package/out/interface/api/common/i-api-de-logic-params.d.ts +9 -0
- package/out/interface/api/common/i-api-de-logic-params.d.ts.map +1 -0
- package/out/interface/api/common/i-api-logic-context.d.ts +83 -0
- package/out/interface/api/common/i-api-logic-context.d.ts.map +1 -0
- package/out/interface/api/common/i-api-logic-context.js +1 -0
- package/out/interface/api/common/i-api-logic-params.d.ts +27 -0
- package/out/interface/api/common/i-api-logic-params.d.ts.map +1 -0
- package/out/interface/api/common/i-api-logic-params.js +1 -0
- package/out/interface/api/common/i-api-ui-logic-params.d.ts +3 -21
- package/out/interface/api/common/i-api-ui-logic-params.d.ts.map +1 -1
- package/out/interface/api/common/index.d.ts +2 -0
- package/out/interface/api/common/index.d.ts.map +1 -1
- package/out/interface/api/controller/control/form-detail/i-api-form-detail.controller.d.ts +1 -1
- package/out/interface/common/i-logic-context/i-logic-context.d.ts +27 -0
- package/out/interface/common/i-logic-context/i-logic-context.d.ts.map +1 -0
- package/out/interface/common/i-logic-context/i-logic-context.js +1 -0
- package/out/interface/common/i-logic-link-cond/i-logic-link-cond.d.ts +18 -0
- package/out/interface/common/i-logic-link-cond/i-logic-link-cond.d.ts.map +1 -0
- package/out/interface/common/i-logic-link-cond/i-logic-link-cond.js +1 -0
- package/out/interface/common/index.d.ts +2 -1
- package/out/interface/common/index.d.ts.map +1 -1
- package/out/interface/de-logic/i-de-logic-context.d.ts +10 -0
- package/out/interface/de-logic/i-de-logic-context.d.ts.map +1 -0
- package/out/interface/de-logic/i-de-logic-context.js +1 -0
- package/out/interface/de-logic/i-de-logic-link-cond.d.ts +33 -0
- package/out/interface/de-logic/i-de-logic-link-cond.d.ts.map +1 -0
- package/out/interface/de-logic/i-de-logic-link-cond.js +1 -0
- package/out/interface/de-logic/i-de-logic-link.d.ts +43 -0
- package/out/interface/de-logic/i-de-logic-link.d.ts.map +1 -0
- package/out/interface/de-logic/i-de-logic-link.js +1 -0
- package/out/interface/de-logic/i-de-logic-node.d.ts +10 -0
- package/out/interface/de-logic/i-de-logic-node.d.ts.map +1 -0
- package/out/interface/de-logic/i-de-logic-node.js +1 -0
- package/out/interface/de-logic/i-de-logic-params.d.ts +10 -0
- package/out/interface/de-logic/i-de-logic-params.d.ts.map +1 -0
- package/out/interface/de-logic/i-de-logic-params.js +1 -0
- package/out/interface/de-logic/i-de-logic.d.ts +23 -0
- package/out/interface/de-logic/i-de-logic.d.ts.map +1 -0
- package/out/interface/de-logic/i-de-logic.js +1 -0
- package/out/interface/de-logic/index.d.ts +7 -0
- package/out/interface/de-logic/index.d.ts.map +1 -0
- package/out/interface/de-logic/index.js +1 -0
- package/out/interface/index.d.ts +1 -0
- package/out/interface/index.d.ts.map +1 -1
- package/out/interface/index.js +1 -0
- package/out/interface/provider/i-de-logic-node.provider.d.ts +29 -0
- package/out/interface/provider/i-de-logic-node.provider.d.ts.map +1 -0
- package/out/interface/provider/i-de-logic-node.provider.js +1 -0
- package/out/interface/provider/i-de-logic.provider.d.ts +22 -0
- package/out/interface/provider/i-de-logic.provider.d.ts.map +1 -0
- package/out/interface/provider/i-de-logic.provider.js +1 -0
- package/out/interface/provider/i-ui-action.provider.d.ts +2 -1
- package/out/interface/provider/i-ui-action.provider.d.ts.map +1 -1
- package/out/interface/provider/i-ui-logic-node.provider.d.ts +20 -14
- package/out/interface/provider/i-ui-logic-node.provider.d.ts.map +1 -1
- package/out/interface/provider/i-ui-logic.provider.d.ts +22 -0
- package/out/interface/provider/i-ui-logic.provider.d.ts.map +1 -0
- package/out/interface/provider/i-ui-logic.provider.js +1 -0
- package/out/interface/provider/index.d.ts +3 -0
- package/out/interface/provider/index.d.ts.map +1 -1
- package/out/interface/register/i-register-params.d.ts +29 -34
- package/out/interface/register/i-register-params.d.ts.map +1 -1
- package/out/interface/ui-logic/i-ui-logic-context.d.ts +8 -83
- package/out/interface/ui-logic/i-ui-logic-context.d.ts.map +1 -1
- package/out/interface/ui-logic/i-ui-logic-link-cond.d.ts +33 -0
- package/out/interface/ui-logic/i-ui-logic-link-cond.d.ts.map +1 -0
- package/out/interface/ui-logic/i-ui-logic-link-cond.js +1 -0
- package/out/interface/ui-logic/i-ui-logic-link.d.ts +43 -0
- package/out/interface/ui-logic/i-ui-logic-link.d.ts.map +1 -0
- package/out/interface/ui-logic/i-ui-logic-link.js +1 -0
- package/out/interface/ui-logic/i-ui-logic-node.d.ts +10 -0
- package/out/interface/ui-logic/i-ui-logic-node.d.ts.map +1 -0
- package/out/interface/ui-logic/i-ui-logic-node.js +1 -0
- package/out/interface/{common/i-ui-logic-params → ui-logic}/i-ui-logic-params.d.ts +3 -5
- package/out/interface/ui-logic/i-ui-logic-params.d.ts.map +1 -0
- package/out/interface/ui-logic/i-ui-logic-params.js +1 -0
- package/out/interface/ui-logic/i-ui-logic.d.ts +23 -0
- package/out/interface/ui-logic/i-ui-logic.d.ts.map +1 -0
- package/out/interface/ui-logic/i-ui-logic.js +1 -0
- package/out/interface/ui-logic/index.d.ts +5 -0
- package/out/interface/ui-logic/index.d.ts.map +1 -1
- package/out/locale/en/index.d.ts +21 -0
- package/out/locale/en/index.d.ts.map +1 -1
- package/out/locale/en/index.js +21 -0
- package/out/locale/zh-CN/index.d.ts +21 -0
- package/out/locale/zh-CN/index.d.ts.map +1 -1
- package/out/locale/zh-CN/index.js +21 -0
- package/out/register/custom-register.d.ts +54 -22
- package/out/register/custom-register.d.ts.map +1 -1
- package/out/register/custom-register.js +172 -78
- package/out/register/helper/app-menu-item-register.d.ts +2 -2
- package/out/register/helper/app-menu-item-register.d.ts.map +1 -1
- package/out/register/helper/app-menu-item-register.js +18 -10
- package/out/register/helper/control-register.js +2 -2
- package/out/register/helper/de-logic-node-register.d.ts +24 -0
- package/out/register/helper/de-logic-node-register.d.ts.map +1 -0
- package/out/register/helper/de-logic-node-register.js +50 -0
- package/out/register/helper/de-logic-register.d.ts +20 -0
- package/out/register/helper/de-logic-register.d.ts.map +1 -0
- package/out/register/helper/de-logic-register.js +41 -0
- package/out/register/helper/de-method-register.d.ts +1 -1
- package/out/register/helper/de-method-register.d.ts.map +1 -1
- package/out/register/helper/de-method-register.js +4 -4
- package/out/register/helper/editor-register.d.ts +2 -3
- package/out/register/helper/editor-register.d.ts.map +1 -1
- package/out/register/helper/editor-register.js +4 -6
- package/out/register/helper/form-detail-register.js +3 -3
- package/out/register/helper/grid-column-register.d.ts +3 -3
- package/out/register/helper/grid-column-register.d.ts.map +1 -1
- package/out/register/helper/grid-column-register.js +9 -9
- package/out/register/helper/index.d.ts +3 -0
- package/out/register/helper/index.d.ts.map +1 -1
- package/out/register/helper/index.js +3 -0
- package/out/register/helper/panel-item-register.js +4 -4
- package/out/register/helper/portlet-register.d.ts +3 -5
- package/out/register/helper/portlet-register.d.ts.map +1 -1
- package/out/register/helper/portlet-register.js +20 -19
- package/out/register/helper/toolbar-item-register.d.ts +5 -7
- package/out/register/helper/toolbar-item-register.d.ts.map +1 -1
- package/out/register/helper/toolbar-item-register.js +24 -16
- package/out/register/helper/ui-action-register.js +2 -2
- package/out/register/helper/ui-logic-node-register.d.ts +13 -9
- package/out/register/helper/ui-logic-node-register.d.ts.map +1 -1
- package/out/register/helper/ui-logic-node-register.js +51 -17
- package/out/register/helper/ui-logic-register.d.ts +20 -0
- package/out/register/helper/ui-logic-register.d.ts.map +1 -0
- package/out/register/helper/ui-logic-register.js +41 -0
- package/out/register/helper/view-register.d.ts.map +1 -1
- package/out/register/helper/view-register.js +14 -0
- package/out/service/service/entity/method/de-action.d.ts.map +1 -1
- package/out/service/service/entity/method/de-action.js +1 -1
- package/out/ui-logic/index.d.ts +5 -10
- package/out/ui-logic/index.d.ts.map +1 -1
- package/out/ui-logic/index.js +12 -14
- package/out/ui-logic/provider.d.ts +6 -0
- package/out/ui-logic/provider.d.ts.map +1 -0
- package/out/ui-logic/provider.js +32 -0
- package/out/ui-logic/ui-logic-context.d.ts +1 -1
- package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.d.ts +16 -5
- package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.js +3 -4
- package/out/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.d.ts +2 -1
- package/out/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.d.ts +2 -1
- package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-link/ui-logic-link.d.ts +6 -8
- package/out/ui-logic/ui-logic-link/ui-logic-link.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-link/ui-logic-link.js +3 -5
- package/out/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.js +3 -3
- package/out/ui-logic/ui-logic-node/ui-logic-node.d.ts +9 -14
- package/out/ui-logic/ui-logic-node/ui-logic-node.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-node/ui-logic-node.js +2 -4
- package/out/ui-logic/ui-logic.d.ts +27 -36
- package/out/ui-logic/ui-logic.d.ts.map +1 -1
- package/out/ui-logic/ui-logic.js +35 -108
- package/out/utils/dr-ctrl-util/index.d.ts.map +1 -1
- package/out/utils/dr-ctrl-util/index.js +1 -1
- package/package.json +2 -2
- package/src/application.ts +23 -0
- package/src/controller/control/app-menu/app-menu.controller.ts +1 -1
- package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +0 -1
- package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +0 -1
- package/src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts +0 -1
- package/src/controller/control/toolbar/toolbar.controller.ts +1 -1
- package/src/controller/control/tree/tree.service.ts +1 -0
- package/src/controller/utils/view-msg/view-msg-controller.ts +7 -1
- package/src/de-logic/de-logic-context.ts +4 -16
- package/src/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.ts +17 -5
- package/src/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.ts +5 -1
- package/src/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.ts +5 -1
- package/src/de-logic/de-logic-link/de-logic-link.ts +6 -6
- package/src/de-logic/de-logic-node/de-logic-node.ts +2 -1
- package/src/de-logic/de-logic-node/index.ts +1 -0
- package/src/de-logic/de-logic.ts +60 -123
- package/src/de-logic/index.ts +66 -85
- package/src/de-logic/provider.ts +83 -0
- package/src/install.ts +6 -0
- package/src/interface/api/common/i-api-de-logic-params.ts +8 -0
- package/src/interface/api/common/i-api-logic-context.ts +83 -0
- package/src/interface/api/common/i-api-logic-params.ts +29 -0
- package/src/interface/api/common/i-api-ui-logic-params.ts +3 -24
- package/src/interface/api/common/index.ts +2 -0
- package/src/interface/api/controller/control/form-detail/i-api-form-detail.controller.ts +1 -1
- package/src/interface/common/i-logic-context/i-logic-context.ts +27 -0
- package/src/interface/common/i-logic-link-cond/i-logic-link-cond.ts +18 -0
- package/src/interface/common/index.ts +2 -1
- package/src/interface/de-logic/i-de-logic-context.ts +9 -0
- package/src/interface/de-logic/i-de-logic-link-cond.ts +33 -0
- package/src/interface/de-logic/i-de-logic-link.ts +47 -0
- package/src/interface/de-logic/i-de-logic-node.ts +9 -0
- package/src/interface/de-logic/i-de-logic-params.ts +9 -0
- package/src/interface/de-logic/i-de-logic.ts +23 -0
- package/src/interface/de-logic/index.ts +10 -0
- package/src/interface/index.ts +1 -0
- package/src/interface/provider/i-de-logic-node.provider.ts +29 -0
- package/src/interface/provider/i-de-logic.provider.ts +22 -0
- package/src/interface/provider/i-ui-action.provider.ts +2 -1
- package/src/interface/provider/i-ui-logic-node.provider.ts +20 -14
- package/src/interface/provider/i-ui-logic.provider.ts +22 -0
- package/src/interface/provider/index.ts +3 -0
- package/src/interface/register/i-register-params.ts +49 -35
- package/src/interface/ui-logic/i-ui-logic-context.ts +9 -95
- package/src/interface/ui-logic/i-ui-logic-link-cond.ts +33 -0
- package/src/interface/ui-logic/i-ui-logic-link.ts +47 -0
- package/src/interface/ui-logic/i-ui-logic-node.ts +9 -0
- package/src/interface/{common/i-ui-logic-params → ui-logic}/i-ui-logic-params.ts +3 -5
- package/src/interface/ui-logic/i-ui-logic.ts +23 -0
- package/src/interface/ui-logic/index.ts +9 -0
- package/src/locale/en/index.ts +38 -0
- package/src/locale/zh-CN/index.ts +36 -0
- package/src/register/custom-register.ts +184 -82
- package/src/register/helper/app-menu-item-register.ts +26 -13
- package/src/register/helper/control-register.ts +2 -2
- package/src/register/helper/de-logic-node-register.ts +76 -0
- package/src/register/helper/de-logic-register.ts +63 -0
- package/src/register/helper/de-method-register.ts +4 -4
- package/src/register/helper/editor-register.ts +4 -7
- package/src/register/helper/form-detail-register.ts +3 -3
- package/src/register/helper/grid-column-register.ts +9 -9
- package/src/register/helper/index.ts +3 -0
- package/src/register/helper/panel-item-register.ts +4 -4
- package/src/register/helper/portlet-register.ts +23 -22
- package/src/register/helper/toolbar-item-register.ts +32 -19
- package/src/register/helper/ui-action-register.ts +2 -2
- package/src/register/helper/ui-logic-node-register.ts +79 -25
- package/src/register/helper/ui-logic-register.ts +63 -0
- package/src/register/helper/view-register.ts +15 -0
- package/src/service/service/entity/method/de-action.ts +7 -1
- package/src/ui-logic/index.ts +17 -16
- package/src/ui-logic/provider.ts +122 -0
- package/src/ui-logic/ui-logic-context.ts +1 -1
- package/src/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.ts +18 -5
- package/src/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.ts +5 -1
- package/src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts +5 -1
- package/src/ui-logic/ui-logic-link/ui-logic-link.ts +6 -7
- package/src/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.ts +3 -3
- package/src/ui-logic/ui-logic-node/ui-logic-node.ts +9 -14
- package/src/ui-logic/ui-logic.ts +46 -141
- package/src/utils/dr-ctrl-util/index.ts +7 -1
- package/out/interface/common/i-ui-logic-params/i-ui-logic-params.d.ts.map +0 -1
- /package/out/interface/{common/i-ui-logic-params/i-ui-logic-params.js → api/common/i-api-de-logic-params.js} +0 -0
package/out/de-logic/de-logic.js
CHANGED
|
@@ -1,35 +1,33 @@
|
|
|
1
1
|
/* eslint-disable no-await-in-loop */
|
|
2
|
-
import {
|
|
2
|
+
import { IBizContext, RuntimeModelError } from '@ibiz-template/core';
|
|
3
|
+
import { clone } from 'ramda';
|
|
3
4
|
import { ScriptFactory } from '../utils';
|
|
4
5
|
import { DELogicContext } from './de-logic-context';
|
|
5
|
-
import { AppendParamNode, BindParamNode, CopyParamNode, DataSetNode, DEActionNode, DebugParamNode, EndNode, PrepareParamNode, RenewParamNode, ResetParamNode, SortParamNode, StartNode, } from './de-logic-node';
|
|
6
|
-
import { ThrowExceptionNode } from './de-logic-node/throw-exception-node/throw-exception-node';
|
|
7
6
|
import { DELogicParam } from './de-logic-param/de-logic-param';
|
|
7
|
+
import { getDELogicNodeProvider } from '../register';
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* @author lxm
|
|
12
|
-
* @date 2023-02-07 16:02:48
|
|
9
|
+
* @description 实体逻辑
|
|
13
10
|
* @export
|
|
14
11
|
* @class DELogic
|
|
12
|
+
* @implements {IDELogic}
|
|
15
13
|
*/
|
|
16
14
|
export class DELogic {
|
|
17
15
|
/**
|
|
18
16
|
* Creates an instance of DELogic.
|
|
19
|
-
* @author lxm
|
|
20
|
-
* @date 2023-02-08 17:02:26
|
|
21
17
|
* @param {IAppDELogic} model
|
|
18
|
+
* @param {IAppDataEntity} entity
|
|
19
|
+
* @memberof DELogic
|
|
22
20
|
*/
|
|
23
|
-
constructor(model) {
|
|
24
|
-
var _a, _b;
|
|
21
|
+
constructor(model, entity) {
|
|
25
22
|
this.model = model;
|
|
23
|
+
this.entity = entity;
|
|
26
24
|
/**
|
|
27
25
|
* 所有节点实例
|
|
28
26
|
*
|
|
29
27
|
* @author lxm
|
|
30
28
|
* @date 2023-02-08 21:02:38
|
|
31
29
|
* @protected
|
|
32
|
-
* @type {Map<string,
|
|
30
|
+
* @type {Map<string, IDeLogicNode>}
|
|
33
31
|
*/
|
|
34
32
|
this.nodes = new Map();
|
|
35
33
|
/**
|
|
@@ -41,72 +39,30 @@ export class DELogic {
|
|
|
41
39
|
* @type {Map<string, DELogicParam>}
|
|
42
40
|
*/
|
|
43
41
|
this.params = new Map();
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @description 初始化
|
|
45
|
+
* @returns {*} {Promise<void>}
|
|
46
|
+
* @memberof DELogic
|
|
47
|
+
*/
|
|
48
|
+
async init() {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
if (this.model.customCode) {
|
|
51
|
+
if (!this.model.scriptCode)
|
|
52
|
+
throw new RuntimeModelError(this.model, ibiz.i18n.t('runtime.deLogic.deLogicNode.noScriptCode'));
|
|
53
|
+
this.scriptFn = ScriptFactory.createScriptFn([], this.model.scriptCode, {
|
|
50
54
|
isAsync: true,
|
|
51
55
|
});
|
|
52
56
|
return;
|
|
53
57
|
}
|
|
54
|
-
if (!((_a = model.delogicNodes) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
55
|
-
throw new RuntimeModelError(model, ibiz.i18n.t('runtime.deLogic.deLogicNode.noConfigurationLogicNode'));
|
|
58
|
+
if (!((_a = this.model.delogicNodes) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
59
|
+
throw new RuntimeModelError(this.model, ibiz.i18n.t('runtime.deLogic.deLogicNode.noConfigurationLogicNode'));
|
|
56
60
|
}
|
|
57
|
-
model.delogicNodes.
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
logicNode = new StartNode(node);
|
|
63
|
-
break;
|
|
64
|
-
case 'END': // 结束
|
|
65
|
-
logicNode = new EndNode(node);
|
|
66
|
-
break;
|
|
67
|
-
case 'DEACTION': // 实体行为
|
|
68
|
-
logicNode = new DEActionNode(node);
|
|
69
|
-
break;
|
|
70
|
-
case 'PREPAREPARAM': // 准备参数
|
|
71
|
-
logicNode = new PrepareParamNode(node);
|
|
72
|
-
break;
|
|
73
|
-
case 'DEDATASET': // 实体数据集
|
|
74
|
-
logicNode = new DataSetNode(node);
|
|
75
|
-
break;
|
|
76
|
-
case 'THROWEXCEPTION': // 抛出异常
|
|
77
|
-
logicNode = new ThrowExceptionNode(node);
|
|
78
|
-
break;
|
|
79
|
-
case 'BINDPARAM': // 绑定参数
|
|
80
|
-
logicNode = new BindParamNode(node);
|
|
81
|
-
break;
|
|
82
|
-
case 'RESETPARAM': // 重置参数
|
|
83
|
-
logicNode = new ResetParamNode(node);
|
|
84
|
-
break;
|
|
85
|
-
case 'COPYPARAM': // 拷贝参数
|
|
86
|
-
logicNode = new CopyParamNode(node);
|
|
87
|
-
break;
|
|
88
|
-
case 'RENEWPARAM': // 重新建立参数
|
|
89
|
-
logicNode = new RenewParamNode(node);
|
|
90
|
-
break;
|
|
91
|
-
case 'APPENDPARAM': // 附加到数组参数
|
|
92
|
-
logicNode = new AppendParamNode(node);
|
|
93
|
-
break;
|
|
94
|
-
case 'SORTPARAM': // 排序数组参数
|
|
95
|
-
logicNode = new SortParamNode(node);
|
|
96
|
-
break;
|
|
97
|
-
case 'DEBUGPARAM': // 调试逻辑参数
|
|
98
|
-
logicNode = new DebugParamNode(node);
|
|
99
|
-
break;
|
|
100
|
-
default:
|
|
101
|
-
throw new ModelError(node, ibiz.i18n.t('runtime.deLogic.deLogicNode.unsupportedLogical', {
|
|
102
|
-
logicNodeType,
|
|
103
|
-
}));
|
|
104
|
-
}
|
|
105
|
-
this.nodes.set(node.id, logicNode);
|
|
106
|
-
});
|
|
107
|
-
(_b = model.delogicParams) === null || _b === void 0 ? void 0 : _b.forEach(param => {
|
|
108
|
-
this.params.set(param.id, new DELogicParam(param));
|
|
109
|
-
});
|
|
61
|
+
await Promise.all(this.model.delogicNodes.map(async (node) => {
|
|
62
|
+
const provider = await getDELogicNodeProvider(node, this.model, this.entity);
|
|
63
|
+
if (provider)
|
|
64
|
+
this.nodes.set(node.id, provider);
|
|
65
|
+
}));
|
|
110
66
|
// 将已经实例化的逻辑节点挂载到逻辑连接上
|
|
111
67
|
this.nodes.forEach(node => {
|
|
112
68
|
node.links.forEach(link => {
|
|
@@ -116,17 +72,15 @@ export class DELogic {
|
|
|
116
72
|
}
|
|
117
73
|
});
|
|
118
74
|
});
|
|
75
|
+
(_b = this.model.delogicParams) === null || _b === void 0 ? void 0 : _b.forEach(param => {
|
|
76
|
+
this.params.set(param.id, new DELogicParam(param));
|
|
77
|
+
});
|
|
119
78
|
}
|
|
120
79
|
/**
|
|
121
|
-
* 初始化当前环境的逻辑参数的实例
|
|
122
|
-
*
|
|
123
|
-
* @author lxm
|
|
124
|
-
* @date 2023-02-08 21:02:58
|
|
80
|
+
* @description 初始化当前环境的逻辑参数的实例
|
|
125
81
|
* @protected
|
|
126
82
|
* @param {DELogicContext} ctx
|
|
127
|
-
* @
|
|
128
|
-
* @param {IData} data
|
|
129
|
-
* @param {IParams} [opt]
|
|
83
|
+
* @memberof DELogic
|
|
130
84
|
*/
|
|
131
85
|
initLogicParams(ctx) {
|
|
132
86
|
this.params.forEach(param => {
|
|
@@ -137,20 +91,19 @@ export class DELogic {
|
|
|
137
91
|
});
|
|
138
92
|
}
|
|
139
93
|
/**
|
|
140
|
-
* 执行逻辑
|
|
141
|
-
*
|
|
142
|
-
* @
|
|
143
|
-
* @
|
|
144
|
-
* @param {IContext} context
|
|
145
|
-
* @param {IData} data
|
|
146
|
-
* @param {IParams} [opt]
|
|
147
|
-
* @return {*} {Promise<IData>}
|
|
94
|
+
* @description 执行逻辑
|
|
95
|
+
* @param {IDeLogicParams} parameters 逻辑参数
|
|
96
|
+
* @returns {*} {Promise<unknown>}
|
|
97
|
+
* @memberof DELogic
|
|
148
98
|
*/
|
|
149
|
-
async exec(
|
|
99
|
+
async exec(parameters) {
|
|
100
|
+
// 克隆传入应用上下文参数和视图参数
|
|
101
|
+
parameters.context = IBizContext.create(parameters.context);
|
|
102
|
+
parameters.params = clone(parameters.params || {});
|
|
150
103
|
if (this.scriptFn) {
|
|
151
|
-
return this.scriptFn.exec({
|
|
104
|
+
return this.scriptFn.exec(Object.assign({}, parameters));
|
|
152
105
|
}
|
|
153
|
-
const ctx = new DELogicContext(this.params,
|
|
106
|
+
const ctx = new DELogicContext(this.params, parameters);
|
|
154
107
|
this.initLogicParams(ctx);
|
|
155
108
|
const { startDELogicNodeId } = this.model;
|
|
156
109
|
if (startDELogicNodeId && this.nodes.has(startDELogicNodeId)) {
|
|
@@ -169,14 +122,12 @@ export class DELogic {
|
|
|
169
122
|
return null;
|
|
170
123
|
}
|
|
171
124
|
/**
|
|
172
|
-
* 开始根据连线递归执行逻辑
|
|
173
|
-
*
|
|
174
|
-
* @author lxm
|
|
175
|
-
* @date 2023-06-13 08:29:36
|
|
125
|
+
* @description 开始根据连线递归执行逻辑
|
|
176
126
|
* @protected
|
|
177
|
-
* @param {
|
|
178
|
-
* @param {DELogicContext} ctx
|
|
179
|
-
* @
|
|
127
|
+
* @param {IDeLogicNode} node
|
|
128
|
+
* @param {DELogicContext} ctx
|
|
129
|
+
* @returns {*} {Promise<void>}
|
|
130
|
+
* @memberof DELogic
|
|
180
131
|
*/
|
|
181
132
|
async deepExec(node, ctx) {
|
|
182
133
|
// 执行逻辑节点
|
package/out/de-logic/index.d.ts
CHANGED
|
@@ -1,56 +1,47 @@
|
|
|
1
|
-
import { HttpResponse } from '@ibiz-template/core';
|
|
2
1
|
import { IAppDataEntity, IAppDELogic } from '@ibiz/model-core';
|
|
2
|
+
import { HttpResponse } from '@ibiz-template/core';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @author lxm
|
|
7
|
-
* @date 2023-02-09 11:02:23
|
|
4
|
+
* @description 执行实体逻辑
|
|
8
5
|
* @export
|
|
9
|
-
* @param {IAppDELogic} deDELogic
|
|
10
|
-
* @param {
|
|
11
|
-
* @param {
|
|
12
|
-
* @param {
|
|
13
|
-
* @param {IParams} [
|
|
14
|
-
* @
|
|
6
|
+
* @param {IAppDELogic} deDELogic 实体逻辑
|
|
7
|
+
* @param {IAppDataEntity} appDataEntity 应用实体
|
|
8
|
+
* @param {IContext} context 上下文
|
|
9
|
+
* @param {(IData | IData[])} [data={}] 数据
|
|
10
|
+
* @param {IParams} [params={}] 视图参数
|
|
11
|
+
* @returns {*} {Promise<unknown>}
|
|
15
12
|
*/
|
|
16
|
-
export declare function execDELogic(deDELogic: IAppDELogic, context: IContext, data?: IData | IData[], params?: IParams): Promise<unknown>;
|
|
13
|
+
export declare function execDELogic(deDELogic: IAppDELogic, appDataEntity: IAppDataEntity, context: IContext, data?: IData | IData[], params?: IParams): Promise<unknown>;
|
|
17
14
|
/**
|
|
18
|
-
* 通过
|
|
19
|
-
* @author lxm
|
|
20
|
-
* @date 2023-08-04 02:49:44
|
|
15
|
+
* @description 通过ID执行实体逻辑
|
|
21
16
|
* @export
|
|
22
|
-
* @param {string} deDELogicId
|
|
23
|
-
* @param {string} dataEntityId
|
|
24
|
-
* @param {IContext} context
|
|
25
|
-
* @param {IData} data
|
|
26
|
-
* @param {IParams} params
|
|
27
|
-
* @
|
|
17
|
+
* @param {string} deDELogicId 实体逻辑标识
|
|
18
|
+
* @param {string} dataEntityId 应用实体标识
|
|
19
|
+
* @param {IContext} context 上下文
|
|
20
|
+
* @param {IData} data 数据
|
|
21
|
+
* @param {IParams} params 视图参数
|
|
22
|
+
* @returns {*} {Promise<unknown>}
|
|
28
23
|
*/
|
|
29
24
|
export declare function execDELogicById(deDELogicId: string, dataEntityId: string, context: IContext, data: IData, params: IParams): Promise<unknown>;
|
|
30
25
|
/**
|
|
31
|
-
*
|
|
32
|
-
* @author lxm
|
|
33
|
-
* @date 2023-03-16 12:44:43
|
|
26
|
+
* @description 执行实体逻辑行为并返回响应
|
|
34
27
|
* @export
|
|
35
|
-
* @param {IAppDELogic} deDELogic
|
|
36
|
-
* @param {
|
|
37
|
-
* @param {
|
|
38
|
-
* @param {
|
|
39
|
-
* @param {IParams} [
|
|
40
|
-
* @
|
|
28
|
+
* @param {IAppDELogic} deDELogic 实体逻辑
|
|
29
|
+
* @param {IAppDataEntity} appDataEntity 应用实体
|
|
30
|
+
* @param {IContext} context 上下文
|
|
31
|
+
* @param {(IData | IData[])} [data] 数据
|
|
32
|
+
* @param {IParams} [params] 视图参数
|
|
33
|
+
* @returns {*} {Promise<HttpResponse<IData>>}
|
|
41
34
|
*/
|
|
42
|
-
export declare function execDELogicAction(deDELogic: IAppDELogic, context: IContext, data?: IData | IData[], params?: IParams): Promise<HttpResponse<IData>>;
|
|
35
|
+
export declare function execDELogicAction(deDELogic: IAppDELogic, appDataEntity: IAppDataEntity, context: IContext, data?: IData | IData[], params?: IParams): Promise<HttpResponse<IData>>;
|
|
43
36
|
/**
|
|
44
|
-
* 执行属性实体逻辑(单条或者多条)
|
|
45
|
-
* @author lxm
|
|
46
|
-
* @date 2023-06-14 12:29:56
|
|
37
|
+
* @description 执行属性实体逻辑(单条或者多条)
|
|
47
38
|
* @export
|
|
48
|
-
* @param {IAppDataEntity} entity
|
|
49
|
-
* @param {('compute' | 'change' | 'default')} type
|
|
50
|
-
* @param {IContext} context
|
|
51
|
-
* @param {IData | IData[]} data
|
|
52
|
-
* @param {IParams} params
|
|
53
|
-
* @
|
|
39
|
+
* @param {IAppDataEntity} entity 实体
|
|
40
|
+
* @param {('compute' | 'change' | 'default')} type 逻辑类型
|
|
41
|
+
* @param {IContext} context 上下文
|
|
42
|
+
* @param {(IData | IData[])} data 实体数据
|
|
43
|
+
* @param {IParams} [params={}] 视图参数
|
|
44
|
+
* @returns {*} {Promise<void>}
|
|
54
45
|
*/
|
|
55
46
|
export declare function execFieldLogics(entity: IAppDataEntity, type: 'compute' | 'change' | 'default', context: IContext, data: IData | IData[], params?: IParams): Promise<void>;
|
|
56
47
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/de-logic/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/de-logic/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAa,YAAY,EAAgB,MAAM,qBAAqB,CAAC;AAU5E;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,WAAW,EACtB,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,QAAQ,EACjB,IAAI,GAAE,KAAK,GAAG,KAAK,EAAO,EAC1B,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,OAAO,CAAC,CAelB;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,WAAW,EACtB,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACtB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAmB9B;AA+BD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,EACtC,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,EACrB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
package/out/de-logic/index.js
CHANGED
|
@@ -1,48 +1,38 @@
|
|
|
1
|
-
import { HttpError, HttpResponse, RuntimeError } from '@ibiz-template/core';
|
|
2
|
-
import { isArray } from 'lodash-es';
|
|
3
1
|
import { clone } from 'ramda';
|
|
2
|
+
import { isArray } from 'lodash-es';
|
|
3
|
+
import { HttpError, HttpResponse, RuntimeError } from '@ibiz-template/core';
|
|
4
|
+
import { getDELogicProvider } from '../register';
|
|
4
5
|
import { filterFieldLogics, findDELogic } from '../model';
|
|
5
|
-
import { DELogic } from './de-logic';
|
|
6
6
|
/**
|
|
7
7
|
* 实体处理逻辑实例缓存
|
|
8
8
|
*/
|
|
9
9
|
const deLogicMap = new Map();
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
* @author lxm
|
|
13
|
-
* @date 2023-08-04 02:47:16
|
|
14
|
-
* @param {string} deDELogicId
|
|
15
|
-
* @param {string} dataEntityId
|
|
16
|
-
* @param {string} [appId]
|
|
17
|
-
* @return {*} {(Promise<IAppDELogic | undefined>)}
|
|
18
|
-
*/
|
|
19
|
-
async function findDeLogic(deDELogicId, dataEntityId, appId) {
|
|
20
|
-
const appDataEntity = await ibiz.hub.getAppDataEntity(dataEntityId, appId);
|
|
21
|
-
return findDELogic(deDELogicId, appDataEntity);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* 执行实体处理逻辑
|
|
25
|
-
*
|
|
26
|
-
* @author lxm
|
|
27
|
-
* @date 2023-02-09 11:02:23
|
|
11
|
+
* @description 执行实体逻辑
|
|
28
12
|
* @export
|
|
29
|
-
* @param {IAppDELogic} deDELogic
|
|
30
|
-
* @param {
|
|
31
|
-
* @param {
|
|
32
|
-
* @param {
|
|
33
|
-
* @param {IParams} [
|
|
34
|
-
* @
|
|
13
|
+
* @param {IAppDELogic} deDELogic 实体逻辑
|
|
14
|
+
* @param {IAppDataEntity} appDataEntity 应用实体
|
|
15
|
+
* @param {IContext} context 上下文
|
|
16
|
+
* @param {(IData | IData[])} [data={}] 数据
|
|
17
|
+
* @param {IParams} [params={}] 视图参数
|
|
18
|
+
* @returns {*} {Promise<unknown>}
|
|
35
19
|
*/
|
|
36
|
-
export async function execDELogic(deDELogic, context, data = {}, params = {}) {
|
|
20
|
+
export async function execDELogic(deDELogic, appDataEntity, context, data = {}, params = {}) {
|
|
37
21
|
if (!deLogicMap.has(deDELogic)) {
|
|
38
|
-
|
|
22
|
+
const provider = getDELogicProvider(deDELogic, appDataEntity);
|
|
23
|
+
await provider.init();
|
|
24
|
+
deLogicMap.set(deDELogic, provider);
|
|
39
25
|
}
|
|
40
26
|
ibiz.log.debug(ibiz.i18n.t('runtime.deLogic.deLogicNode.startExecuting', {
|
|
41
27
|
id: deDELogic.id,
|
|
42
28
|
name: deDELogic.name,
|
|
43
29
|
}));
|
|
44
30
|
const deLogic = deLogicMap.get(deDELogic);
|
|
45
|
-
const result = await deLogic.exec(
|
|
31
|
+
const result = await deLogic.exec({
|
|
32
|
+
context,
|
|
33
|
+
data: Array.isArray(data) ? data : [data],
|
|
34
|
+
params,
|
|
35
|
+
});
|
|
46
36
|
ibiz.log.debug(ibiz.i18n.t('runtime.deLogic.deLogicNode.endExecution', {
|
|
47
37
|
id: deDELogic.id,
|
|
48
38
|
name: deDELogic.name,
|
|
@@ -50,45 +40,42 @@ export async function execDELogic(deDELogic, context, data = {}, params = {}) {
|
|
|
50
40
|
return result;
|
|
51
41
|
}
|
|
52
42
|
/**
|
|
53
|
-
* 通过
|
|
54
|
-
* @author lxm
|
|
55
|
-
* @date 2023-08-04 02:49:44
|
|
43
|
+
* @description 通过ID执行实体逻辑
|
|
56
44
|
* @export
|
|
57
|
-
* @param {string} deDELogicId
|
|
58
|
-
* @param {string} dataEntityId
|
|
59
|
-
* @param {IContext} context
|
|
60
|
-
* @param {IData} data
|
|
61
|
-
* @param {IParams} params
|
|
62
|
-
* @
|
|
45
|
+
* @param {string} deDELogicId 实体逻辑标识
|
|
46
|
+
* @param {string} dataEntityId 应用实体标识
|
|
47
|
+
* @param {IContext} context 上下文
|
|
48
|
+
* @param {IData} data 数据
|
|
49
|
+
* @param {IParams} params 视图参数
|
|
50
|
+
* @returns {*} {Promise<unknown>}
|
|
63
51
|
*/
|
|
64
52
|
export async function execDELogicById(deDELogicId, dataEntityId, context, data, params) {
|
|
65
|
-
const
|
|
53
|
+
const appDataEntity = await ibiz.hub.getAppDataEntity(dataEntityId, context.srfappid);
|
|
54
|
+
const deLogic = findDELogic(deDELogicId, appDataEntity);
|
|
66
55
|
if (!deLogic) {
|
|
67
56
|
throw new RuntimeError(ibiz.i18n.t('runtime.deLogic.deLogicNode.noFoundEntityLogic', {
|
|
68
57
|
dataEntityId,
|
|
69
58
|
deDELogicId,
|
|
70
59
|
}));
|
|
71
60
|
}
|
|
72
|
-
return execDELogic(deLogic, context, data, params);
|
|
61
|
+
return execDELogic(deLogic, appDataEntity, context, data, params);
|
|
73
62
|
}
|
|
74
63
|
/**
|
|
75
|
-
*
|
|
76
|
-
* @author lxm
|
|
77
|
-
* @date 2023-03-16 12:44:43
|
|
64
|
+
* @description 执行实体逻辑行为并返回响应
|
|
78
65
|
* @export
|
|
79
|
-
* @param {IAppDELogic} deDELogic
|
|
80
|
-
* @param {
|
|
81
|
-
* @param {
|
|
82
|
-
* @param {
|
|
83
|
-
* @param {IParams} [
|
|
84
|
-
* @
|
|
66
|
+
* @param {IAppDELogic} deDELogic 实体逻辑
|
|
67
|
+
* @param {IAppDataEntity} appDataEntity 应用实体
|
|
68
|
+
* @param {IContext} context 上下文
|
|
69
|
+
* @param {(IData | IData[])} [data] 数据
|
|
70
|
+
* @param {IParams} [params] 视图参数
|
|
71
|
+
* @returns {*} {Promise<HttpResponse<IData>>}
|
|
85
72
|
*/
|
|
86
|
-
export async function execDELogicAction(deDELogic, context, data, params) {
|
|
87
|
-
const _context = clone(context);
|
|
88
|
-
const _data = data ? clone(data) : data;
|
|
89
|
-
const _params = params ? clone(params) : params;
|
|
73
|
+
export async function execDELogicAction(deDELogic, appDataEntity, context, data, params) {
|
|
90
74
|
try {
|
|
91
|
-
const
|
|
75
|
+
const _context = clone(context);
|
|
76
|
+
const _data = data ? clone(data) : data;
|
|
77
|
+
const _params = params ? clone(params) : params;
|
|
78
|
+
const result = await execDELogic(deDELogic, appDataEntity, _context, _data, _params);
|
|
92
79
|
return new HttpResponse(result);
|
|
93
80
|
}
|
|
94
81
|
catch (err) {
|
|
@@ -99,22 +86,19 @@ export async function execDELogicAction(deDELogic, context, data, params) {
|
|
|
99
86
|
}
|
|
100
87
|
}
|
|
101
88
|
/**
|
|
102
|
-
* 执行属性实体逻辑(单条数据)
|
|
103
|
-
* @
|
|
104
|
-
* @
|
|
105
|
-
* @
|
|
106
|
-
* @param {
|
|
107
|
-
* @param {
|
|
108
|
-
* @
|
|
109
|
-
* @param {IData} data
|
|
110
|
-
* @param {IParams} params
|
|
111
|
-
* @return {*} {Promise<void>}
|
|
89
|
+
* @description 执行属性实体逻辑(单条数据)
|
|
90
|
+
* @param {IAppDataEntity} entity 实体
|
|
91
|
+
* @param {('compute' | 'change' | 'default')} type 逻辑类型
|
|
92
|
+
* @param {IContext} context 上下文
|
|
93
|
+
* @param {IData} data 实体数据
|
|
94
|
+
* @param {IParams} params 视图参数
|
|
95
|
+
* @returns {*} {Promise<void>}
|
|
112
96
|
*/
|
|
113
97
|
async function execSingleFieldLogics(entity, type, context, data, params) {
|
|
114
98
|
const fieldLogics = filterFieldLogics(entity, type);
|
|
115
99
|
if (fieldLogics.length) {
|
|
116
100
|
const promiseResult = await Promise.all(fieldLogics.map(logic => {
|
|
117
|
-
return execDELogic(logic, context, data, params);
|
|
101
|
+
return execDELogic(logic, entity, context, data, params);
|
|
118
102
|
}));
|
|
119
103
|
promiseResult.forEach(value => {
|
|
120
104
|
Object.assign(data, value);
|
|
@@ -122,21 +106,18 @@ async function execSingleFieldLogics(entity, type, context, data, params) {
|
|
|
122
106
|
}
|
|
123
107
|
}
|
|
124
108
|
/**
|
|
125
|
-
* 执行属性实体逻辑(单条或者多条)
|
|
126
|
-
* @author lxm
|
|
127
|
-
* @date 2023-06-14 12:29:56
|
|
109
|
+
* @description 执行属性实体逻辑(单条或者多条)
|
|
128
110
|
* @export
|
|
129
|
-
* @param {IAppDataEntity} entity
|
|
130
|
-
* @param {('compute' | 'change' | 'default')} type
|
|
131
|
-
* @param {IContext} context
|
|
132
|
-
* @param {IData | IData[]} data
|
|
133
|
-
* @param {IParams} params
|
|
134
|
-
* @
|
|
111
|
+
* @param {IAppDataEntity} entity 实体
|
|
112
|
+
* @param {('compute' | 'change' | 'default')} type 逻辑类型
|
|
113
|
+
* @param {IContext} context 上下文
|
|
114
|
+
* @param {(IData | IData[])} data 实体数据
|
|
115
|
+
* @param {IParams} [params={}] 视图参数
|
|
116
|
+
* @returns {*} {Promise<void>}
|
|
135
117
|
*/
|
|
136
118
|
export async function execFieldLogics(entity, type, context, data, params = {}) {
|
|
137
|
-
if (!data)
|
|
119
|
+
if (!data)
|
|
138
120
|
return;
|
|
139
|
-
}
|
|
140
121
|
if (isArray(data)) {
|
|
141
122
|
await Promise.all(data.map(item => execSingleFieldLogics(entity, type, context, item, params)));
|
|
142
123
|
return;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/de-logic/provider.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAwD5C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { registerDELogicProvider, registerDELogicNodeProvider, } from '../register';
|
|
2
|
+
import { DELogic } from './de-logic';
|
|
3
|
+
import { EndNode, StartNode, DataSetNode, DEActionNode, SortParamNode, BindParamNode, CopyParamNode, RenewParamNode, ResetParamNode, DebugParamNode, AppendParamNode, PrepareParamNode, ThrowExceptionNode, } from './de-logic-node';
|
|
4
|
+
/**
|
|
5
|
+
* @description 注册实体逻辑适配器
|
|
6
|
+
* @export
|
|
7
|
+
*/
|
|
8
|
+
export function presetDELogicProvider() {
|
|
9
|
+
// 注册默认界面逻辑
|
|
10
|
+
registerDELogicProvider('DEFAULT', (logic, entity) => new DELogic(logic, entity));
|
|
11
|
+
// 注册界面逻辑节点
|
|
12
|
+
registerDELogicNodeProvider('BEGIN', (node) => new StartNode(node));
|
|
13
|
+
registerDELogicNodeProvider('END', (node) => new EndNode(node));
|
|
14
|
+
registerDELogicNodeProvider('DEACTION', (node) => new DEActionNode(node));
|
|
15
|
+
registerDELogicNodeProvider('PREPAREPARAM', (node) => new PrepareParamNode(node));
|
|
16
|
+
registerDELogicNodeProvider('RESETPARAM', (node) => new ResetParamNode(node));
|
|
17
|
+
registerDELogicNodeProvider('COPYPARAM', (node) => new CopyParamNode(node));
|
|
18
|
+
registerDELogicNodeProvider('BINDPARAM', (node) => new BindParamNode(node));
|
|
19
|
+
registerDELogicNodeProvider('DEBUGPARAM', (node) => new DebugParamNode(node));
|
|
20
|
+
registerDELogicNodeProvider('APPENDPARAM', (node) => new AppendParamNode(node));
|
|
21
|
+
registerDELogicNodeProvider('SORTPARAM', (node) => new SortParamNode(node));
|
|
22
|
+
registerDELogicNodeProvider('RENEWPARAM', (node) => new RenewParamNode(node));
|
|
23
|
+
registerDELogicNodeProvider('DEDATASET', (node) => new DataSetNode(node));
|
|
24
|
+
registerDELogicNodeProvider('THROWEXCEPTION', (node) => new ThrowExceptionNode(node));
|
|
25
|
+
}
|
package/out/install.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAqBA;;;;;;GAMG;AACH,wBAAgB,OAAO,IAAI,IAAI,CA0C9B"}
|
package/out/install.js
CHANGED
|
@@ -7,9 +7,11 @@ import { EngineFactory, installCtrlEngine } from './engine';
|
|
|
7
7
|
import { GlobalUtil } from './global';
|
|
8
8
|
import { presetUIActionProvider } from './ui-action';
|
|
9
9
|
import { installLogicSchedule } from './logic-scheduler';
|
|
10
|
+
import { presetUILogicProvider } from './ui-logic/provider';
|
|
10
11
|
import { install as installPlatformProvider } from './platform/provider';
|
|
11
12
|
import { getPlatformProvider } from './register';
|
|
12
13
|
import { CollaborateManager, UIDomainManager } from './utils';
|
|
14
|
+
import { presetDELogicProvider } from './de-logic/provider';
|
|
13
15
|
/**
|
|
14
16
|
* 安装运行时
|
|
15
17
|
*
|
|
@@ -43,6 +45,10 @@ export function install() {
|
|
|
43
45
|
presetUIActionProvider();
|
|
44
46
|
// 注册界面行为适配器
|
|
45
47
|
presetDEMethodProvider();
|
|
48
|
+
// 注册界面逻辑适配器
|
|
49
|
+
presetUILogicProvider();
|
|
50
|
+
// 注册实体逻辑适配器
|
|
51
|
+
presetDELogicProvider();
|
|
46
52
|
// 注册应用计数器适配器
|
|
47
53
|
presetAppCounterProvider();
|
|
48
54
|
// 安装逻辑调度器
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i-api-de-logic-params.d.ts","sourceRoot":"","sources":["../../../../src/interface/api/common/i-api-de-logic-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,eAAe;CAAG"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { IApiContext, IApiData, IApiParams } from '@ibiz-template/core';
|
|
2
|
+
/**
|
|
3
|
+
* @description 逻辑执行上下文接口
|
|
4
|
+
* @export
|
|
5
|
+
* @interface IApiLogicContext
|
|
6
|
+
*/
|
|
7
|
+
export interface IApiLogicContext {
|
|
8
|
+
/**
|
|
9
|
+
* @description 上下文
|
|
10
|
+
* @type {IApiContext}
|
|
11
|
+
* @memberof IApiLogicContext
|
|
12
|
+
*/
|
|
13
|
+
readonly context: IApiContext;
|
|
14
|
+
/**
|
|
15
|
+
* @description 数据
|
|
16
|
+
* @type {IApiData[]}
|
|
17
|
+
* @memberof IApiLogicContext
|
|
18
|
+
*/
|
|
19
|
+
readonly data: IApiData[];
|
|
20
|
+
/**
|
|
21
|
+
* @description 视图参数
|
|
22
|
+
* @type {IApiParams}
|
|
23
|
+
* @memberof IApiLogicContext
|
|
24
|
+
*/
|
|
25
|
+
readonly viewParam: IApiParams;
|
|
26
|
+
/**
|
|
27
|
+
* @description 界面逻辑参数
|
|
28
|
+
* @type {Record<string, unknown>}
|
|
29
|
+
* @memberof IApiLogicContext
|
|
30
|
+
*/
|
|
31
|
+
readonly params: Record<string, unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* @description 上一次返回值
|
|
34
|
+
* @type {unknown}
|
|
35
|
+
* @memberof IApiLogicContext
|
|
36
|
+
*/
|
|
37
|
+
lastReturn: unknown;
|
|
38
|
+
/**
|
|
39
|
+
* @description 逻辑执行返回值
|
|
40
|
+
* @type {unknown}
|
|
41
|
+
* @memberof IApiLogicContext
|
|
42
|
+
*/
|
|
43
|
+
result: unknown;
|
|
44
|
+
/**
|
|
45
|
+
* @description 是否存在结束节点
|
|
46
|
+
* @type {boolean}
|
|
47
|
+
* @memberof IApiLogicContext
|
|
48
|
+
*/
|
|
49
|
+
isEndNode: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* @description 默认参数节点名称
|
|
52
|
+
* @default 'Default'
|
|
53
|
+
* @type {string}
|
|
54
|
+
* @memberof IApiLogicContext
|
|
55
|
+
*/
|
|
56
|
+
defaultParamName: string;
|
|
57
|
+
/**
|
|
58
|
+
* @description 重置实体逻辑参数
|
|
59
|
+
* @param {string} name
|
|
60
|
+
* @memberof IApiLogicContext
|
|
61
|
+
*/
|
|
62
|
+
resetParam(name: string): void;
|
|
63
|
+
/**
|
|
64
|
+
* @description 重新建立变量
|
|
65
|
+
* @param {string} name
|
|
66
|
+
* @memberof IApiLogicContext
|
|
67
|
+
*/
|
|
68
|
+
renewParam(name: string): void;
|
|
69
|
+
/**
|
|
70
|
+
* @description 设置上一次返回值
|
|
71
|
+
* @param {unknown} value
|
|
72
|
+
* @memberof IApiLogicContext
|
|
73
|
+
*/
|
|
74
|
+
setLastReturn(value: unknown): void;
|
|
75
|
+
/**
|
|
76
|
+
* @description 是否是实体参数变量(即后台数据对象)
|
|
77
|
+
* @param {string} paramId
|
|
78
|
+
* @returns {*} {boolean}
|
|
79
|
+
* @memberof IApiLogicContext
|
|
80
|
+
*/
|
|
81
|
+
isEntityParam(paramId: string): boolean;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=i-api-logic-context.d.ts.map
|