@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/src/de-logic/de-logic.ts
CHANGED
|
@@ -1,44 +1,29 @@
|
|
|
1
1
|
/* eslint-disable no-await-in-loop */
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { IBizContext, RuntimeModelError } from '@ibiz-template/core';
|
|
3
|
+
import { clone } from 'ramda';
|
|
4
|
+
import { IAppDELogic, IAppDataEntity } from '@ibiz/model-core';
|
|
4
5
|
import { ScriptFactory, ScriptFunction } from '../utils';
|
|
5
6
|
import { DELogicContext } from './de-logic-context';
|
|
6
|
-
import {
|
|
7
|
-
AppendParamNode,
|
|
8
|
-
BindParamNode,
|
|
9
|
-
CopyParamNode,
|
|
10
|
-
DataSetNode,
|
|
11
|
-
DEActionNode,
|
|
12
|
-
DebugParamNode,
|
|
13
|
-
DELogicNode,
|
|
14
|
-
EndNode,
|
|
15
|
-
PrepareParamNode,
|
|
16
|
-
RenewParamNode,
|
|
17
|
-
ResetParamNode,
|
|
18
|
-
SortParamNode,
|
|
19
|
-
StartNode,
|
|
20
|
-
} from './de-logic-node';
|
|
21
|
-
import { ThrowExceptionNode } from './de-logic-node/throw-exception-node/throw-exception-node';
|
|
22
7
|
import { DELogicParam } from './de-logic-param/de-logic-param';
|
|
8
|
+
import { IDeLogic, IDeLogicNode, IDeLogicParams } from '../interface';
|
|
9
|
+
import { getDELogicNodeProvider } from '../register';
|
|
23
10
|
|
|
24
11
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* @author lxm
|
|
28
|
-
* @date 2023-02-07 16:02:48
|
|
12
|
+
* @description 实体逻辑
|
|
29
13
|
* @export
|
|
30
14
|
* @class DELogic
|
|
15
|
+
* @implements {IDELogic}
|
|
31
16
|
*/
|
|
32
|
-
export class DELogic {
|
|
17
|
+
export class DELogic implements IDeLogic {
|
|
33
18
|
/**
|
|
34
19
|
* 所有节点实例
|
|
35
20
|
*
|
|
36
21
|
* @author lxm
|
|
37
22
|
* @date 2023-02-08 21:02:38
|
|
38
23
|
* @protected
|
|
39
|
-
* @type {Map<string,
|
|
24
|
+
* @type {Map<string, IDeLogicNode>}
|
|
40
25
|
*/
|
|
41
|
-
protected nodes: Map<string,
|
|
26
|
+
protected nodes: Map<string, IDeLogicNode> = new Map();
|
|
42
27
|
|
|
43
28
|
/**
|
|
44
29
|
* 所有参数实例
|
|
@@ -61,87 +46,48 @@ export class DELogic {
|
|
|
61
46
|
|
|
62
47
|
/**
|
|
63
48
|
* Creates an instance of DELogic.
|
|
64
|
-
* @author lxm
|
|
65
|
-
* @date 2023-02-08 17:02:26
|
|
66
49
|
* @param {IAppDELogic} model
|
|
50
|
+
* @param {IAppDataEntity} entity
|
|
51
|
+
* @memberof DELogic
|
|
67
52
|
*/
|
|
68
|
-
constructor(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
53
|
+
constructor(
|
|
54
|
+
public model: IAppDELogic,
|
|
55
|
+
public entity: IAppDataEntity,
|
|
56
|
+
) {}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @description 初始化
|
|
60
|
+
* @returns {*} {Promise<void>}
|
|
61
|
+
* @memberof DELogic
|
|
62
|
+
*/
|
|
63
|
+
async init(): Promise<void> {
|
|
64
|
+
if (this.model.customCode) {
|
|
65
|
+
if (!this.model.scriptCode)
|
|
72
66
|
throw new RuntimeModelError(
|
|
73
|
-
model,
|
|
67
|
+
this.model,
|
|
74
68
|
ibiz.i18n.t('runtime.deLogic.deLogicNode.noScriptCode'),
|
|
75
69
|
);
|
|
76
|
-
|
|
77
|
-
this.scriptFn = ScriptFactory.createScriptFn([], model.scriptCode, {
|
|
70
|
+
this.scriptFn = ScriptFactory.createScriptFn([], this.model.scriptCode, {
|
|
78
71
|
isAsync: true,
|
|
79
72
|
});
|
|
80
73
|
return;
|
|
81
74
|
}
|
|
82
|
-
|
|
83
|
-
if (!model.delogicNodes?.length) {
|
|
75
|
+
if (!this.model.delogicNodes?.length) {
|
|
84
76
|
throw new RuntimeModelError(
|
|
85
|
-
model,
|
|
77
|
+
this.model,
|
|
86
78
|
ibiz.i18n.t('runtime.deLogic.deLogicNode.noConfigurationLogicNode'),
|
|
87
79
|
);
|
|
88
80
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
case 'DEACTION': // 实体行为
|
|
100
|
-
logicNode = new DEActionNode(node);
|
|
101
|
-
break;
|
|
102
|
-
case 'PREPAREPARAM': // 准备参数
|
|
103
|
-
logicNode = new PrepareParamNode(node);
|
|
104
|
-
break;
|
|
105
|
-
case 'DEDATASET': // 实体数据集
|
|
106
|
-
logicNode = new DataSetNode(node);
|
|
107
|
-
break;
|
|
108
|
-
case 'THROWEXCEPTION': // 抛出异常
|
|
109
|
-
logicNode = new ThrowExceptionNode(node);
|
|
110
|
-
break;
|
|
111
|
-
case 'BINDPARAM': // 绑定参数
|
|
112
|
-
logicNode = new BindParamNode(node);
|
|
113
|
-
break;
|
|
114
|
-
case 'RESETPARAM': // 重置参数
|
|
115
|
-
logicNode = new ResetParamNode(node);
|
|
116
|
-
break;
|
|
117
|
-
case 'COPYPARAM': // 拷贝参数
|
|
118
|
-
logicNode = new CopyParamNode(node);
|
|
119
|
-
break;
|
|
120
|
-
case 'RENEWPARAM': // 重新建立参数
|
|
121
|
-
logicNode = new RenewParamNode(node);
|
|
122
|
-
break;
|
|
123
|
-
case 'APPENDPARAM': // 附加到数组参数
|
|
124
|
-
logicNode = new AppendParamNode(node);
|
|
125
|
-
break;
|
|
126
|
-
case 'SORTPARAM': // 排序数组参数
|
|
127
|
-
logicNode = new SortParamNode(node);
|
|
128
|
-
break;
|
|
129
|
-
case 'DEBUGPARAM': // 调试逻辑参数
|
|
130
|
-
logicNode = new DebugParamNode(node);
|
|
131
|
-
break;
|
|
132
|
-
default:
|
|
133
|
-
throw new ModelError(
|
|
134
|
-
node,
|
|
135
|
-
ibiz.i18n.t('runtime.deLogic.deLogicNode.unsupportedLogical', {
|
|
136
|
-
logicNodeType,
|
|
137
|
-
}),
|
|
138
|
-
);
|
|
139
|
-
}
|
|
140
|
-
this.nodes.set(node.id!, logicNode);
|
|
141
|
-
});
|
|
142
|
-
model.delogicParams?.forEach(param => {
|
|
143
|
-
this.params.set(param.id!, new DELogicParam(param));
|
|
144
|
-
});
|
|
81
|
+
await Promise.all(
|
|
82
|
+
this.model.delogicNodes.map(async node => {
|
|
83
|
+
const provider = await getDELogicNodeProvider(
|
|
84
|
+
node,
|
|
85
|
+
this.model,
|
|
86
|
+
this.entity,
|
|
87
|
+
);
|
|
88
|
+
if (provider) this.nodes.set(node.id!, provider);
|
|
89
|
+
}),
|
|
90
|
+
);
|
|
145
91
|
// 将已经实例化的逻辑节点挂载到逻辑连接上
|
|
146
92
|
this.nodes.forEach(node => {
|
|
147
93
|
node.links.forEach(link => {
|
|
@@ -151,18 +97,16 @@ export class DELogic {
|
|
|
151
97
|
}
|
|
152
98
|
});
|
|
153
99
|
});
|
|
100
|
+
this.model.delogicParams?.forEach(param => {
|
|
101
|
+
this.params.set(param.id!, new DELogicParam(param));
|
|
102
|
+
});
|
|
154
103
|
}
|
|
155
104
|
|
|
156
105
|
/**
|
|
157
|
-
* 初始化当前环境的逻辑参数的实例
|
|
158
|
-
*
|
|
159
|
-
* @author lxm
|
|
160
|
-
* @date 2023-02-08 21:02:58
|
|
106
|
+
* @description 初始化当前环境的逻辑参数的实例
|
|
161
107
|
* @protected
|
|
162
108
|
* @param {DELogicContext} ctx
|
|
163
|
-
* @
|
|
164
|
-
* @param {IData} data
|
|
165
|
-
* @param {IParams} [opt]
|
|
109
|
+
* @memberof DELogic
|
|
166
110
|
*/
|
|
167
111
|
protected initLogicParams(ctx: DELogicContext): void {
|
|
168
112
|
this.params.forEach(param => {
|
|
@@ -174,24 +118,19 @@ export class DELogic {
|
|
|
174
118
|
}
|
|
175
119
|
|
|
176
120
|
/**
|
|
177
|
-
* 执行逻辑
|
|
178
|
-
*
|
|
179
|
-
* @
|
|
180
|
-
* @
|
|
181
|
-
* @param {IContext} context
|
|
182
|
-
* @param {IData} data
|
|
183
|
-
* @param {IParams} [opt]
|
|
184
|
-
* @return {*} {Promise<IData>}
|
|
121
|
+
* @description 执行逻辑
|
|
122
|
+
* @param {IDeLogicParams} parameters 逻辑参数
|
|
123
|
+
* @returns {*} {Promise<unknown>}
|
|
124
|
+
* @memberof DELogic
|
|
185
125
|
*/
|
|
186
|
-
async exec(
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
params
|
|
190
|
-
): Promise<unknown> {
|
|
126
|
+
async exec(parameters: IDeLogicParams): Promise<unknown> {
|
|
127
|
+
// 克隆传入应用上下文参数和视图参数
|
|
128
|
+
parameters.context = IBizContext.create(parameters.context);
|
|
129
|
+
parameters.params = clone(parameters.params || {});
|
|
191
130
|
if (this.scriptFn) {
|
|
192
|
-
return this.scriptFn.exec({
|
|
131
|
+
return this.scriptFn.exec({ ...parameters });
|
|
193
132
|
}
|
|
194
|
-
const ctx = new DELogicContext(this.params,
|
|
133
|
+
const ctx = new DELogicContext(this.params, parameters);
|
|
195
134
|
this.initLogicParams(ctx);
|
|
196
135
|
const { startDELogicNodeId } = this.model;
|
|
197
136
|
if (startDELogicNodeId && this.nodes.has(startDELogicNodeId)) {
|
|
@@ -213,17 +152,15 @@ export class DELogic {
|
|
|
213
152
|
}
|
|
214
153
|
|
|
215
154
|
/**
|
|
216
|
-
* 开始根据连线递归执行逻辑
|
|
217
|
-
*
|
|
218
|
-
* @author lxm
|
|
219
|
-
* @date 2023-06-13 08:29:36
|
|
155
|
+
* @description 开始根据连线递归执行逻辑
|
|
220
156
|
* @protected
|
|
221
|
-
* @param {
|
|
222
|
-
* @param {DELogicContext} ctx
|
|
223
|
-
* @
|
|
157
|
+
* @param {IDeLogicNode} node
|
|
158
|
+
* @param {DELogicContext} ctx
|
|
159
|
+
* @returns {*} {Promise<void>}
|
|
160
|
+
* @memberof DELogic
|
|
224
161
|
*/
|
|
225
162
|
protected async deepExec(
|
|
226
|
-
node:
|
|
163
|
+
node: IDeLogicNode,
|
|
227
164
|
ctx: DELogicContext,
|
|
228
165
|
): Promise<void> {
|
|
229
166
|
// 执行逻辑节点
|
package/src/de-logic/index.ts
CHANGED
|
@@ -1,54 +1,37 @@
|
|
|
1
|
-
import { HttpError, HttpResponse, RuntimeError } from '@ibiz-template/core';
|
|
2
|
-
import { IAppDataEntity, IAppDELogic } from '@ibiz/model-core';
|
|
3
|
-
import { isArray } from 'lodash-es';
|
|
4
1
|
import { clone } from 'ramda';
|
|
2
|
+
import { isArray } from 'lodash-es';
|
|
3
|
+
import { IAppDataEntity, IAppDELogic } from '@ibiz/model-core';
|
|
4
|
+
import { HttpError, HttpResponse, RuntimeError } from '@ibiz-template/core';
|
|
5
|
+
import { IDELogicProvider } from '../interface';
|
|
6
|
+
import { getDELogicProvider } from '../register';
|
|
5
7
|
import { filterFieldLogics, findDELogic } from '../model';
|
|
6
|
-
import { DELogic } from './de-logic';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* 实体处理逻辑实例缓存
|
|
10
11
|
*/
|
|
11
|
-
const deLogicMap: WeakMap<IAppDELogic,
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* 找到实体逻辑模型
|
|
15
|
-
* @author lxm
|
|
16
|
-
* @date 2023-08-04 02:47:16
|
|
17
|
-
* @param {string} deDELogicId
|
|
18
|
-
* @param {string} dataEntityId
|
|
19
|
-
* @param {string} [appId]
|
|
20
|
-
* @return {*} {(Promise<IAppDELogic | undefined>)}
|
|
21
|
-
*/
|
|
22
|
-
async function findDeLogic(
|
|
23
|
-
deDELogicId: string,
|
|
24
|
-
dataEntityId: string,
|
|
25
|
-
appId: string,
|
|
26
|
-
): Promise<IAppDELogic | undefined> {
|
|
27
|
-
const appDataEntity = await ibiz.hub.getAppDataEntity(dataEntityId, appId);
|
|
28
|
-
return findDELogic(deDELogicId, appDataEntity);
|
|
29
|
-
}
|
|
12
|
+
const deLogicMap: WeakMap<IAppDELogic, IDELogicProvider> = new Map();
|
|
30
13
|
|
|
31
14
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* @author lxm
|
|
35
|
-
* @date 2023-02-09 11:02:23
|
|
15
|
+
* @description 执行实体逻辑
|
|
36
16
|
* @export
|
|
37
|
-
* @param {IAppDELogic} deDELogic
|
|
38
|
-
* @param {
|
|
39
|
-
* @param {
|
|
40
|
-
* @param {
|
|
41
|
-
* @param {IParams} [
|
|
42
|
-
* @
|
|
17
|
+
* @param {IAppDELogic} deDELogic 实体逻辑
|
|
18
|
+
* @param {IAppDataEntity} appDataEntity 应用实体
|
|
19
|
+
* @param {IContext} context 上下文
|
|
20
|
+
* @param {(IData | IData[])} [data={}] 数据
|
|
21
|
+
* @param {IParams} [params={}] 视图参数
|
|
22
|
+
* @returns {*} {Promise<unknown>}
|
|
43
23
|
*/
|
|
44
24
|
export async function execDELogic(
|
|
45
25
|
deDELogic: IAppDELogic,
|
|
26
|
+
appDataEntity: IAppDataEntity,
|
|
46
27
|
context: IContext,
|
|
47
28
|
data: IData | IData[] = {},
|
|
48
29
|
params: IParams = {},
|
|
49
30
|
): Promise<unknown> {
|
|
50
31
|
if (!deLogicMap.has(deDELogic)) {
|
|
51
|
-
|
|
32
|
+
const provider = getDELogicProvider(deDELogic, appDataEntity);
|
|
33
|
+
await provider.init();
|
|
34
|
+
deLogicMap.set(deDELogic, provider);
|
|
52
35
|
}
|
|
53
36
|
ibiz.log.debug(
|
|
54
37
|
ibiz.i18n.t('runtime.deLogic.deLogicNode.startExecuting', {
|
|
@@ -57,7 +40,11 @@ export async function execDELogic(
|
|
|
57
40
|
}),
|
|
58
41
|
);
|
|
59
42
|
const deLogic = deLogicMap.get(deDELogic)!;
|
|
60
|
-
const result = await deLogic.exec(
|
|
43
|
+
const result = await deLogic.exec({
|
|
44
|
+
context,
|
|
45
|
+
data: Array.isArray(data) ? data : [data],
|
|
46
|
+
params,
|
|
47
|
+
});
|
|
61
48
|
ibiz.log.debug(
|
|
62
49
|
ibiz.i18n.t('runtime.deLogic.deLogicNode.endExecution', {
|
|
63
50
|
id: deDELogic.id,
|
|
@@ -68,16 +55,14 @@ export async function execDELogic(
|
|
|
68
55
|
}
|
|
69
56
|
|
|
70
57
|
/**
|
|
71
|
-
* 通过
|
|
72
|
-
* @author lxm
|
|
73
|
-
* @date 2023-08-04 02:49:44
|
|
58
|
+
* @description 通过ID执行实体逻辑
|
|
74
59
|
* @export
|
|
75
|
-
* @param {string} deDELogicId
|
|
76
|
-
* @param {string} dataEntityId
|
|
77
|
-
* @param {IContext} context
|
|
78
|
-
* @param {IData} data
|
|
79
|
-
* @param {IParams} params
|
|
80
|
-
* @
|
|
60
|
+
* @param {string} deDELogicId 实体逻辑标识
|
|
61
|
+
* @param {string} dataEntityId 应用实体标识
|
|
62
|
+
* @param {IContext} context 上下文
|
|
63
|
+
* @param {IData} data 数据
|
|
64
|
+
* @param {IParams} params 视图参数
|
|
65
|
+
* @returns {*} {Promise<unknown>}
|
|
81
66
|
*/
|
|
82
67
|
export async function execDELogicById(
|
|
83
68
|
deDELogicId: string,
|
|
@@ -86,11 +71,11 @@ export async function execDELogicById(
|
|
|
86
71
|
data: IData,
|
|
87
72
|
params: IParams,
|
|
88
73
|
): Promise<unknown> {
|
|
89
|
-
const
|
|
90
|
-
deDELogicId,
|
|
74
|
+
const appDataEntity = await ibiz.hub.getAppDataEntity(
|
|
91
75
|
dataEntityId,
|
|
92
76
|
context.srfappid,
|
|
93
77
|
);
|
|
78
|
+
const deLogic = findDELogic(deDELogicId, appDataEntity);
|
|
94
79
|
if (!deLogic) {
|
|
95
80
|
throw new RuntimeError(
|
|
96
81
|
ibiz.i18n.t('runtime.deLogic.deLogicNode.noFoundEntityLogic', {
|
|
@@ -99,33 +84,37 @@ export async function execDELogicById(
|
|
|
99
84
|
}),
|
|
100
85
|
);
|
|
101
86
|
}
|
|
102
|
-
return execDELogic(deLogic, context, data, params);
|
|
87
|
+
return execDELogic(deLogic, appDataEntity, context, data, params);
|
|
103
88
|
}
|
|
104
89
|
|
|
105
90
|
/**
|
|
106
|
-
*
|
|
107
|
-
* @author lxm
|
|
108
|
-
* @date 2023-03-16 12:44:43
|
|
91
|
+
* @description 执行实体逻辑行为并返回响应
|
|
109
92
|
* @export
|
|
110
|
-
* @param {IAppDELogic} deDELogic
|
|
111
|
-
* @param {
|
|
112
|
-
* @param {
|
|
113
|
-
* @param {
|
|
114
|
-
* @param {IParams} [
|
|
115
|
-
* @
|
|
93
|
+
* @param {IAppDELogic} deDELogic 实体逻辑
|
|
94
|
+
* @param {IAppDataEntity} appDataEntity 应用实体
|
|
95
|
+
* @param {IContext} context 上下文
|
|
96
|
+
* @param {(IData | IData[])} [data] 数据
|
|
97
|
+
* @param {IParams} [params] 视图参数
|
|
98
|
+
* @returns {*} {Promise<HttpResponse<IData>>}
|
|
116
99
|
*/
|
|
117
100
|
export async function execDELogicAction(
|
|
118
101
|
deDELogic: IAppDELogic,
|
|
102
|
+
appDataEntity: IAppDataEntity,
|
|
119
103
|
context: IContext,
|
|
120
104
|
data?: IData | IData[],
|
|
121
105
|
params?: IParams,
|
|
122
106
|
): Promise<HttpResponse<IData>> {
|
|
123
|
-
const _context = clone(context);
|
|
124
|
-
const _data = data ? clone(data) : data;
|
|
125
|
-
const _params = params ? clone(params) : params;
|
|
126
|
-
|
|
127
107
|
try {
|
|
128
|
-
const
|
|
108
|
+
const _context = clone(context);
|
|
109
|
+
const _data = data ? clone(data) : data;
|
|
110
|
+
const _params = params ? clone(params) : params;
|
|
111
|
+
const result = await execDELogic(
|
|
112
|
+
deDELogic,
|
|
113
|
+
appDataEntity,
|
|
114
|
+
_context,
|
|
115
|
+
_data,
|
|
116
|
+
_params,
|
|
117
|
+
);
|
|
129
118
|
return new HttpResponse(result);
|
|
130
119
|
} catch (err) {
|
|
131
120
|
if (err instanceof HttpError) {
|
|
@@ -136,16 +125,13 @@ export async function execDELogicAction(
|
|
|
136
125
|
}
|
|
137
126
|
|
|
138
127
|
/**
|
|
139
|
-
* 执行属性实体逻辑(单条数据)
|
|
140
|
-
* @
|
|
141
|
-
* @
|
|
142
|
-
* @
|
|
143
|
-
* @param {
|
|
144
|
-
* @param {
|
|
145
|
-
* @
|
|
146
|
-
* @param {IData} data
|
|
147
|
-
* @param {IParams} params
|
|
148
|
-
* @return {*} {Promise<void>}
|
|
128
|
+
* @description 执行属性实体逻辑(单条数据)
|
|
129
|
+
* @param {IAppDataEntity} entity 实体
|
|
130
|
+
* @param {('compute' | 'change' | 'default')} type 逻辑类型
|
|
131
|
+
* @param {IContext} context 上下文
|
|
132
|
+
* @param {IData} data 实体数据
|
|
133
|
+
* @param {IParams} params 视图参数
|
|
134
|
+
* @returns {*} {Promise<void>}
|
|
149
135
|
*/
|
|
150
136
|
async function execSingleFieldLogics(
|
|
151
137
|
entity: IAppDataEntity,
|
|
@@ -158,7 +144,7 @@ async function execSingleFieldLogics(
|
|
|
158
144
|
if (fieldLogics.length) {
|
|
159
145
|
const promiseResult = await Promise.all(
|
|
160
146
|
fieldLogics.map(logic => {
|
|
161
|
-
return execDELogic(logic, context, data, params);
|
|
147
|
+
return execDELogic(logic, entity, context, data, params);
|
|
162
148
|
}),
|
|
163
149
|
);
|
|
164
150
|
promiseResult.forEach(value => {
|
|
@@ -168,16 +154,14 @@ async function execSingleFieldLogics(
|
|
|
168
154
|
}
|
|
169
155
|
|
|
170
156
|
/**
|
|
171
|
-
* 执行属性实体逻辑(单条或者多条)
|
|
172
|
-
* @author lxm
|
|
173
|
-
* @date 2023-06-14 12:29:56
|
|
157
|
+
* @description 执行属性实体逻辑(单条或者多条)
|
|
174
158
|
* @export
|
|
175
|
-
* @param {IAppDataEntity} entity
|
|
176
|
-
* @param {('compute' | 'change' | 'default')} type
|
|
177
|
-
* @param {IContext} context
|
|
178
|
-
* @param {IData | IData[]} data
|
|
179
|
-
* @param {IParams} params
|
|
180
|
-
* @
|
|
159
|
+
* @param {IAppDataEntity} entity 实体
|
|
160
|
+
* @param {('compute' | 'change' | 'default')} type 逻辑类型
|
|
161
|
+
* @param {IContext} context 上下文
|
|
162
|
+
* @param {(IData | IData[])} data 实体数据
|
|
163
|
+
* @param {IParams} [params={}] 视图参数
|
|
164
|
+
* @returns {*} {Promise<void>}
|
|
181
165
|
*/
|
|
182
166
|
export async function execFieldLogics(
|
|
183
167
|
entity: IAppDataEntity,
|
|
@@ -186,10 +170,7 @@ export async function execFieldLogics(
|
|
|
186
170
|
data: IData | IData[],
|
|
187
171
|
params: IParams = {},
|
|
188
172
|
): Promise<void> {
|
|
189
|
-
if (!data)
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
|
|
173
|
+
if (!data) return;
|
|
193
174
|
if (isArray(data)) {
|
|
194
175
|
await Promise.all(
|
|
195
176
|
data.map(item =>
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { IAppDELogic, IDELogicNode, IAppDataEntity } from '@ibiz/model-core';
|
|
2
|
+
import {
|
|
3
|
+
registerDELogicProvider,
|
|
4
|
+
registerDELogicNodeProvider,
|
|
5
|
+
} from '../register';
|
|
6
|
+
import { DELogic } from './de-logic';
|
|
7
|
+
import {
|
|
8
|
+
EndNode,
|
|
9
|
+
StartNode,
|
|
10
|
+
DataSetNode,
|
|
11
|
+
DEActionNode,
|
|
12
|
+
SortParamNode,
|
|
13
|
+
BindParamNode,
|
|
14
|
+
CopyParamNode,
|
|
15
|
+
RenewParamNode,
|
|
16
|
+
ResetParamNode,
|
|
17
|
+
DebugParamNode,
|
|
18
|
+
AppendParamNode,
|
|
19
|
+
PrepareParamNode,
|
|
20
|
+
ThrowExceptionNode,
|
|
21
|
+
} from './de-logic-node';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @description 注册实体逻辑适配器
|
|
25
|
+
* @export
|
|
26
|
+
*/
|
|
27
|
+
export function presetDELogicProvider(): void {
|
|
28
|
+
// 注册默认界面逻辑
|
|
29
|
+
registerDELogicProvider(
|
|
30
|
+
'DEFAULT',
|
|
31
|
+
(logic: IAppDELogic, entity: IAppDataEntity) => new DELogic(logic, entity),
|
|
32
|
+
);
|
|
33
|
+
// 注册界面逻辑节点
|
|
34
|
+
registerDELogicNodeProvider(
|
|
35
|
+
'BEGIN',
|
|
36
|
+
(node: IDELogicNode) => new StartNode(node),
|
|
37
|
+
);
|
|
38
|
+
registerDELogicNodeProvider('END', (node: IDELogicNode) => new EndNode(node));
|
|
39
|
+
registerDELogicNodeProvider(
|
|
40
|
+
'DEACTION',
|
|
41
|
+
(node: IDELogicNode) => new DEActionNode(node),
|
|
42
|
+
);
|
|
43
|
+
registerDELogicNodeProvider(
|
|
44
|
+
'PREPAREPARAM',
|
|
45
|
+
(node: IDELogicNode) => new PrepareParamNode(node),
|
|
46
|
+
);
|
|
47
|
+
registerDELogicNodeProvider(
|
|
48
|
+
'RESETPARAM',
|
|
49
|
+
(node: IDELogicNode) => new ResetParamNode(node),
|
|
50
|
+
);
|
|
51
|
+
registerDELogicNodeProvider(
|
|
52
|
+
'COPYPARAM',
|
|
53
|
+
(node: IDELogicNode) => new CopyParamNode(node),
|
|
54
|
+
);
|
|
55
|
+
registerDELogicNodeProvider(
|
|
56
|
+
'BINDPARAM',
|
|
57
|
+
(node: IDELogicNode) => new BindParamNode(node),
|
|
58
|
+
);
|
|
59
|
+
registerDELogicNodeProvider(
|
|
60
|
+
'DEBUGPARAM',
|
|
61
|
+
(node: IDELogicNode) => new DebugParamNode(node),
|
|
62
|
+
);
|
|
63
|
+
registerDELogicNodeProvider(
|
|
64
|
+
'APPENDPARAM',
|
|
65
|
+
(node: IDELogicNode) => new AppendParamNode(node),
|
|
66
|
+
);
|
|
67
|
+
registerDELogicNodeProvider(
|
|
68
|
+
'SORTPARAM',
|
|
69
|
+
(node: IDELogicNode) => new SortParamNode(node),
|
|
70
|
+
);
|
|
71
|
+
registerDELogicNodeProvider(
|
|
72
|
+
'RENEWPARAM',
|
|
73
|
+
(node: IDELogicNode) => new RenewParamNode(node),
|
|
74
|
+
);
|
|
75
|
+
registerDELogicNodeProvider(
|
|
76
|
+
'DEDATASET',
|
|
77
|
+
(node: IDELogicNode) => new DataSetNode(node),
|
|
78
|
+
);
|
|
79
|
+
registerDELogicNodeProvider(
|
|
80
|
+
'THROWEXCEPTION',
|
|
81
|
+
(node: IDELogicNode) => new ThrowExceptionNode(node),
|
|
82
|
+
);
|
|
83
|
+
}
|
package/src/install.ts
CHANGED
|
@@ -13,9 +13,11 @@ import { EngineFactory, installCtrlEngine } from './engine';
|
|
|
13
13
|
import { GlobalUtil } from './global';
|
|
14
14
|
import { presetUIActionProvider } from './ui-action';
|
|
15
15
|
import { installLogicSchedule } from './logic-scheduler';
|
|
16
|
+
import { presetUILogicProvider } from './ui-logic/provider';
|
|
16
17
|
import { install as installPlatformProvider } from './platform/provider';
|
|
17
18
|
import { getPlatformProvider } from './register';
|
|
18
19
|
import { CollaborateManager, UIDomainManager } from './utils';
|
|
20
|
+
import { presetDELogicProvider } from './de-logic/provider';
|
|
19
21
|
|
|
20
22
|
/**
|
|
21
23
|
* 安装运行时
|
|
@@ -50,6 +52,10 @@ export function install(): void {
|
|
|
50
52
|
presetUIActionProvider();
|
|
51
53
|
// 注册界面行为适配器
|
|
52
54
|
presetDEMethodProvider();
|
|
55
|
+
// 注册界面逻辑适配器
|
|
56
|
+
presetUILogicProvider();
|
|
57
|
+
// 注册实体逻辑适配器
|
|
58
|
+
presetDELogicProvider();
|
|
53
59
|
// 注册应用计数器适配器
|
|
54
60
|
presetAppCounterProvider();
|
|
55
61
|
// 安装逻辑调度器
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { IApiContext, IApiData, IApiParams } from '@ibiz-template/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @description 逻辑执行上下文接口
|
|
5
|
+
* @export
|
|
6
|
+
* @interface IApiLogicContext
|
|
7
|
+
*/
|
|
8
|
+
export interface IApiLogicContext {
|
|
9
|
+
/**
|
|
10
|
+
* @description 上下文
|
|
11
|
+
* @type {IApiContext}
|
|
12
|
+
* @memberof IApiLogicContext
|
|
13
|
+
*/
|
|
14
|
+
readonly context: IApiContext;
|
|
15
|
+
/**
|
|
16
|
+
* @description 数据
|
|
17
|
+
* @type {IApiData[]}
|
|
18
|
+
* @memberof IApiLogicContext
|
|
19
|
+
*/
|
|
20
|
+
readonly data: IApiData[];
|
|
21
|
+
/**
|
|
22
|
+
* @description 视图参数
|
|
23
|
+
* @type {IApiParams}
|
|
24
|
+
* @memberof IApiLogicContext
|
|
25
|
+
*/
|
|
26
|
+
readonly viewParam: IApiParams;
|
|
27
|
+
/**
|
|
28
|
+
* @description 界面逻辑参数
|
|
29
|
+
* @type {Record<string, unknown>}
|
|
30
|
+
* @memberof IApiLogicContext
|
|
31
|
+
*/
|
|
32
|
+
readonly params: Record<string, unknown>;
|
|
33
|
+
/**
|
|
34
|
+
* @description 上一次返回值
|
|
35
|
+
* @type {unknown}
|
|
36
|
+
* @memberof IApiLogicContext
|
|
37
|
+
*/
|
|
38
|
+
lastReturn: unknown;
|
|
39
|
+
/**
|
|
40
|
+
* @description 逻辑执行返回值
|
|
41
|
+
* @type {unknown}
|
|
42
|
+
* @memberof IApiLogicContext
|
|
43
|
+
*/
|
|
44
|
+
result: unknown;
|
|
45
|
+
/**
|
|
46
|
+
* @description 是否存在结束节点
|
|
47
|
+
* @type {boolean}
|
|
48
|
+
* @memberof IApiLogicContext
|
|
49
|
+
*/
|
|
50
|
+
isEndNode: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* @description 默认参数节点名称
|
|
53
|
+
* @default 'Default'
|
|
54
|
+
* @type {string}
|
|
55
|
+
* @memberof IApiLogicContext
|
|
56
|
+
*/
|
|
57
|
+
defaultParamName: string;
|
|
58
|
+
/**
|
|
59
|
+
* @description 重置实体逻辑参数
|
|
60
|
+
* @param {string} name
|
|
61
|
+
* @memberof IApiLogicContext
|
|
62
|
+
*/
|
|
63
|
+
resetParam(name: string): void;
|
|
64
|
+
/**
|
|
65
|
+
* @description 重新建立变量
|
|
66
|
+
* @param {string} name
|
|
67
|
+
* @memberof IApiLogicContext
|
|
68
|
+
*/
|
|
69
|
+
renewParam(name: string): void;
|
|
70
|
+
/**
|
|
71
|
+
* @description 设置上一次返回值
|
|
72
|
+
* @param {unknown} value
|
|
73
|
+
* @memberof IApiLogicContext
|
|
74
|
+
*/
|
|
75
|
+
setLastReturn(value: unknown): void;
|
|
76
|
+
/**
|
|
77
|
+
* @description 是否是实体参数变量(即后台数据对象)
|
|
78
|
+
* @param {string} paramId
|
|
79
|
+
* @returns {*} {boolean}
|
|
80
|
+
* @memberof IApiLogicContext
|
|
81
|
+
*/
|
|
82
|
+
isEntityParam(paramId: string): boolean;
|
|
83
|
+
}
|