@ibiz-template/runtime 0.7.41-alpha.125 → 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 +39796 -39493
- package/dist/index.system.min.js +1 -1
- package/out/controller/control/app-menu/app-menu.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 +17 -7
- 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 +10 -0
- package/out/locale/en/index.d.ts.map +1 -1
- package/out/locale/en/index.js +10 -0
- package/out/locale/zh-CN/index.d.ts +10 -0
- package/out/locale/zh-CN/index.d.ts.map +1 -1
- package/out/locale/zh-CN/index.js +10 -0
- package/out/register/custom-register.d.ts +19 -3
- package/out/register/custom-register.d.ts.map +1 -1
- package/out/register/custom-register.js +55 -6
- 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/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/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/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-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/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/controller/control/app-menu/app-menu.controller.ts +1 -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 +31 -7
- 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 +18 -0
- package/src/locale/zh-CN/index.ts +17 -0
- package/src/register/custom-register.ts +69 -12
- package/src/register/helper/app-menu-item-register.ts +26 -13
- 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/index.ts +3 -0
- package/src/register/helper/portlet-register.ts +23 -22
- package/src/register/helper/toolbar-item-register.ts +32 -19
- package/src/register/helper/ui-logic-node-register.ts +79 -25
- package/src/register/helper/ui-logic-register.ts +63 -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
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
IDEUILogic,
|
|
3
|
+
IDEUILogicNode,
|
|
4
|
+
IAppDataEntity,
|
|
5
|
+
IDEUIPFPluginLogic,
|
|
6
|
+
} from '@ibiz/model-core';
|
|
2
7
|
import { RuntimeError } from '@ibiz-template/core';
|
|
3
8
|
import { getPluginRegisterKey } from './common-register';
|
|
4
9
|
import { IUILogicNodeProvider } from '../../interface';
|
|
10
|
+
import { CustomRegister } from '../custom-register';
|
|
5
11
|
|
|
6
12
|
/** 界面逻辑节点适配器前缀 */
|
|
7
|
-
export const
|
|
13
|
+
export const UILOGICNODE_PROVIDER_PREFIX = 'UI_LOGIC_NODE';
|
|
8
14
|
|
|
9
15
|
/**
|
|
10
16
|
* 注册界面逻辑节点适配器
|
|
@@ -17,38 +23,86 @@ export const UILOGINNODE_PROVIDER_PREFIX = 'UI_LOGIN_NODE';
|
|
|
17
23
|
*/
|
|
18
24
|
export function registerUILogicNodeProvider(
|
|
19
25
|
key: string,
|
|
20
|
-
callback: () => IUILogicNodeProvider,
|
|
26
|
+
callback: (node: IDEUILogicNode) => IUILogicNodeProvider,
|
|
21
27
|
): void {
|
|
22
|
-
ibiz.register.register(`${
|
|
28
|
+
ibiz.register.register(`${UILOGICNODE_PROVIDER_PREFIX}_${key}`, callback);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function getProvider(
|
|
32
|
+
key: string,
|
|
33
|
+
logic: IDEUILogicNode,
|
|
34
|
+
): IUILogicNodeProvider | undefined {
|
|
35
|
+
return ibiz.register.get(
|
|
36
|
+
`${UILOGICNODE_PROVIDER_PREFIX}_${key}`,
|
|
37
|
+
logic,
|
|
38
|
+
) as IUILogicNodeProvider;
|
|
23
39
|
}
|
|
24
40
|
|
|
25
41
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* @author chitanda
|
|
29
|
-
* @date 2023-11-01 17:11:43
|
|
42
|
+
* @description 获取界面逻辑节点插件适配器
|
|
30
43
|
* @export
|
|
31
44
|
* @param {IDEUIPFPluginLogic} model
|
|
32
|
-
* @
|
|
45
|
+
* @returns {*} {(Promise<IUILogicNodeProvider | undefined>)}
|
|
33
46
|
*/
|
|
34
|
-
export async function
|
|
47
|
+
export async function getUILogicNodePluginProvider(
|
|
35
48
|
model: IDEUIPFPluginLogic,
|
|
36
49
|
): Promise<IUILogicNodeProvider | undefined> {
|
|
37
50
|
let provider: IUILogicNodeProvider | undefined;
|
|
38
|
-
const { sysPFPluginId, appId } = model
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
throw new RuntimeError(
|
|
49
|
-
ibiz.i18n.t('runtime.register.helper.frontEndPluginNode', {
|
|
50
|
-
pluginKey,
|
|
51
|
-
}),
|
|
52
|
-
);
|
|
51
|
+
const { sysPFPluginId, appId } = model;
|
|
52
|
+
if (sysPFPluginId) {
|
|
53
|
+
const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
|
|
54
|
+
if (pluginKey) provider = getProvider(pluginKey, model);
|
|
55
|
+
if (!provider)
|
|
56
|
+
ibiz.log.warn(
|
|
57
|
+
ibiz.i18n.t('runtime.register.helper.frontEndPluginNode', {
|
|
58
|
+
pluginKey,
|
|
59
|
+
}),
|
|
60
|
+
);
|
|
53
61
|
}
|
|
62
|
+
return provider;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @description 获取界面逻辑节点适配器
|
|
67
|
+
* @export
|
|
68
|
+
* @param {IDEUILogicNode} model
|
|
69
|
+
* @returns {*} {(Promise<IUILogicNodeProvider>)}
|
|
70
|
+
*/
|
|
71
|
+
export async function getUILogicNodeProvider(
|
|
72
|
+
model: IDEUILogicNode,
|
|
73
|
+
logic: IDEUILogic,
|
|
74
|
+
entity: IAppDataEntity,
|
|
75
|
+
): Promise<IUILogicNodeProvider> {
|
|
76
|
+
let provider: IUILogicNodeProvider | undefined;
|
|
77
|
+
const { logicNodeType } = model as Required<IDEUIPFPluginLogic>;
|
|
78
|
+
|
|
79
|
+
// 自定义注册
|
|
80
|
+
const registerKey = CustomRegister.getRegisterKey(
|
|
81
|
+
UILOGICNODE_PROVIDER_PREFIX,
|
|
82
|
+
{
|
|
83
|
+
mainModel: model,
|
|
84
|
+
logic,
|
|
85
|
+
entity,
|
|
86
|
+
},
|
|
87
|
+
);
|
|
88
|
+
provider = getProvider(registerKey, model);
|
|
89
|
+
if (provider) return provider;
|
|
90
|
+
ibiz.log.debug(
|
|
91
|
+
ibiz.i18n.t('runtime.register.helper.uiLogicNodeCustomRegistration', {
|
|
92
|
+
registerKey,
|
|
93
|
+
}),
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
// 找插件适配器
|
|
97
|
+
provider = await getUILogicNodePluginProvider(model);
|
|
98
|
+
if (provider) return provider;
|
|
99
|
+
|
|
100
|
+
// 找节点类型适配器
|
|
101
|
+
provider = getProvider(logicNodeType, model);
|
|
102
|
+
if (provider) return provider;
|
|
103
|
+
throw new RuntimeError(
|
|
104
|
+
ibiz.i18n.t('runtime.register.helper.frontEndTypeNode', {
|
|
105
|
+
logicNodeType,
|
|
106
|
+
}),
|
|
107
|
+
);
|
|
54
108
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { IAppDataEntity, IDEUILogic } from '@ibiz/model-core';
|
|
2
|
+
import { RuntimeError } from '@ibiz-template/core';
|
|
3
|
+
import { IUILogicProvider } from '../../interface';
|
|
4
|
+
import { CustomRegister } from '../custom-register';
|
|
5
|
+
|
|
6
|
+
/** 界面逻辑适配器前缀 */
|
|
7
|
+
export const UILOGIC_PROVIDER_PREFIX = 'UILOGIC';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @description 注册界面逻辑适配器
|
|
11
|
+
* @export
|
|
12
|
+
* @param {string} key
|
|
13
|
+
* @param {Callback} callback
|
|
14
|
+
*/
|
|
15
|
+
export function registerUILogicProvider(
|
|
16
|
+
key: string,
|
|
17
|
+
callback: (uiLogic: IDEUILogic, entity: IAppDataEntity) => IUILogicProvider,
|
|
18
|
+
): void {
|
|
19
|
+
ibiz.register.register(`${UILOGIC_PROVIDER_PREFIX}_${key}`, callback);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function getProvider(
|
|
23
|
+
key: string,
|
|
24
|
+
uiLogic: IDEUILogic,
|
|
25
|
+
entity: IAppDataEntity,
|
|
26
|
+
): IUILogicProvider | undefined {
|
|
27
|
+
return ibiz.register.get(
|
|
28
|
+
`${UILOGIC_PROVIDER_PREFIX}_${key}`,
|
|
29
|
+
uiLogic,
|
|
30
|
+
entity,
|
|
31
|
+
) as IUILogicProvider;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @description 获取界面逻辑适配器
|
|
36
|
+
* @export
|
|
37
|
+
* @param {IDEUILogic} model
|
|
38
|
+
* @param {IAppDataEntity} entity
|
|
39
|
+
* @returns {*} {IUILogicProvider}
|
|
40
|
+
*/
|
|
41
|
+
export function getUILogicProvider(
|
|
42
|
+
mainModel: IDEUILogic,
|
|
43
|
+
entity: IAppDataEntity,
|
|
44
|
+
): IUILogicProvider {
|
|
45
|
+
// 找自定义注册的适配器
|
|
46
|
+
const registerKey = CustomRegister.getRegisterKey(UILOGIC_PROVIDER_PREFIX, {
|
|
47
|
+
mainModel,
|
|
48
|
+
entity,
|
|
49
|
+
});
|
|
50
|
+
let provider = getProvider(registerKey, mainModel, entity);
|
|
51
|
+
if (provider) return provider;
|
|
52
|
+
ibiz.log.debug(
|
|
53
|
+
ibiz.i18n.t('runtime.register.helper.uiLogicCustomRegistration', {
|
|
54
|
+
registerKey,
|
|
55
|
+
}),
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
// 找默认适配器
|
|
59
|
+
provider = getProvider('DEFAULT', mainModel, entity);
|
|
60
|
+
if (!provider)
|
|
61
|
+
throw new RuntimeError(ibiz.i18n.t('runtime.register.helper.uiLogic'));
|
|
62
|
+
return provider;
|
|
63
|
+
}
|
|
@@ -111,7 +111,13 @@ export class DEActionMethod extends Method {
|
|
|
111
111
|
ibiz.i18n.t('runtime.service.lackEntityLogic'),
|
|
112
112
|
);
|
|
113
113
|
}
|
|
114
|
-
result = await execDELogicAction(
|
|
114
|
+
result = await execDELogicAction(
|
|
115
|
+
deLogic,
|
|
116
|
+
this.entity,
|
|
117
|
+
context,
|
|
118
|
+
data,
|
|
119
|
+
params,
|
|
120
|
+
);
|
|
115
121
|
} else {
|
|
116
122
|
if (data) {
|
|
117
123
|
if (!this.isLocalMode) {
|
package/src/ui-logic/index.ts
CHANGED
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
import { RuntimeError } from '@ibiz-template/core';
|
|
2
2
|
import { IDEUILogic } from '@ibiz/model-core';
|
|
3
|
-
import { IUILogicParams } from '../interface';
|
|
4
|
-
import {
|
|
3
|
+
import { IUILogicParams, IUILogicProvider } from '../interface';
|
|
4
|
+
import { getUILogicProvider } from '../register';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* 界面逻辑实例缓存
|
|
8
8
|
*/
|
|
9
|
-
const uiLogicMap: WeakMap<IDEUILogic,
|
|
9
|
+
const uiLogicMap: WeakMap<IDEUILogic, IUILogicProvider> = new Map();
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* @author chitanda
|
|
15
|
-
* @date 2023-02-09 11:02:23
|
|
12
|
+
* @description 执行界面逻辑
|
|
16
13
|
* @export
|
|
17
|
-
* @param {
|
|
18
|
-
* @param {
|
|
19
|
-
* @param {
|
|
20
|
-
* @
|
|
21
|
-
* @param {IParams} [opt]
|
|
22
|
-
* @return {*} {Promise<unknown>}
|
|
14
|
+
* @param {string} deUILogicId 界面逻辑标识
|
|
15
|
+
* @param {string} appDataEntityId 应用实体标识
|
|
16
|
+
* @param {IUILogicParams} parameters 界面逻辑参数
|
|
17
|
+
* @returns {*} {Promise<unknown>}
|
|
23
18
|
*/
|
|
24
19
|
export async function execUILogic(
|
|
25
20
|
deUILogicId: string,
|
|
@@ -28,7 +23,11 @@ export async function execUILogic(
|
|
|
28
23
|
): Promise<unknown> {
|
|
29
24
|
const app = ibiz.hub.getApp(parameters.context.srfappid);
|
|
30
25
|
const deUILogic = await app.getDEUILogic(deUILogicId, appDataEntityId);
|
|
31
|
-
|
|
26
|
+
const appDataEntity = await ibiz.hub.getAppDataEntity(
|
|
27
|
+
appDataEntityId,
|
|
28
|
+
parameters.context.srfappid,
|
|
29
|
+
);
|
|
30
|
+
if (!deUILogic || !appDataEntity) {
|
|
32
31
|
throw new RuntimeError(
|
|
33
32
|
ibiz.i18n.t('runtime.uiLogic.interfaceLogic', {
|
|
34
33
|
appDataEntityId,
|
|
@@ -37,7 +36,9 @@ export async function execUILogic(
|
|
|
37
36
|
);
|
|
38
37
|
}
|
|
39
38
|
if (!uiLogicMap.has(deUILogic)) {
|
|
40
|
-
|
|
39
|
+
const provider = getUILogicProvider(deUILogic, appDataEntity);
|
|
40
|
+
await provider.init();
|
|
41
|
+
uiLogicMap.set(deUILogic, provider);
|
|
41
42
|
}
|
|
42
43
|
ibiz.log.debug(
|
|
43
44
|
ibiz.i18n.t('runtime.uiLogic.startExecutingInterfaceLogic', {
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { IAppDataEntity, IDEUILogic, IDEUILogicNode } from '@ibiz/model-core';
|
|
2
|
+
import {
|
|
3
|
+
registerUILogicProvider,
|
|
4
|
+
registerUILogicNodeProvider,
|
|
5
|
+
} from '../register';
|
|
6
|
+
import { UILogic } from './ui-logic';
|
|
7
|
+
import {
|
|
8
|
+
EndNode,
|
|
9
|
+
StartNode,
|
|
10
|
+
MsgBoxNode,
|
|
11
|
+
DataSetNode,
|
|
12
|
+
DEActionNode,
|
|
13
|
+
PFPluginNode,
|
|
14
|
+
RawJSCodeNode,
|
|
15
|
+
SortParamNode,
|
|
16
|
+
BindParamNode,
|
|
17
|
+
CopyParamNode,
|
|
18
|
+
RenewParamNode,
|
|
19
|
+
ResetParamNode,
|
|
20
|
+
DebugParamNode,
|
|
21
|
+
DEUIActionNode,
|
|
22
|
+
AppendParamNode,
|
|
23
|
+
PrepareJSParamNode,
|
|
24
|
+
ExecuteDELogicNode,
|
|
25
|
+
ThrowExceptionNode,
|
|
26
|
+
ViewCtrlInvokeNode,
|
|
27
|
+
ViewCtrlFireEventNode,
|
|
28
|
+
} from './ui-logic-node';
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @description 注册界面逻辑适配器
|
|
32
|
+
* @export
|
|
33
|
+
*/
|
|
34
|
+
export function presetUILogicProvider(): void {
|
|
35
|
+
// 注册默认界面逻辑
|
|
36
|
+
registerUILogicProvider(
|
|
37
|
+
'DEFAULT',
|
|
38
|
+
(uiLogic: IDEUILogic, entity: IAppDataEntity) =>
|
|
39
|
+
new UILogic(uiLogic, entity),
|
|
40
|
+
);
|
|
41
|
+
// 注册界面逻辑节点
|
|
42
|
+
registerUILogicNodeProvider(
|
|
43
|
+
'BEGIN',
|
|
44
|
+
(node: IDEUILogicNode) => new StartNode(node),
|
|
45
|
+
);
|
|
46
|
+
registerUILogicNodeProvider(
|
|
47
|
+
'END',
|
|
48
|
+
(node: IDEUILogicNode) => new EndNode(node),
|
|
49
|
+
);
|
|
50
|
+
registerUILogicNodeProvider(
|
|
51
|
+
'DEACTION',
|
|
52
|
+
(node: IDEUILogicNode) => new DEActionNode(node),
|
|
53
|
+
);
|
|
54
|
+
registerUILogicNodeProvider(
|
|
55
|
+
'DEUIACTION',
|
|
56
|
+
(node: IDEUILogicNode) => new DEUIActionNode(node),
|
|
57
|
+
);
|
|
58
|
+
registerUILogicNodeProvider(
|
|
59
|
+
'PREPAREJSPARAM',
|
|
60
|
+
(node: IDEUILogicNode) => new PrepareJSParamNode(node),
|
|
61
|
+
);
|
|
62
|
+
registerUILogicNodeProvider(
|
|
63
|
+
'RESETPARAM',
|
|
64
|
+
(node: IDEUILogicNode) => new ResetParamNode(node),
|
|
65
|
+
);
|
|
66
|
+
registerUILogicNodeProvider(
|
|
67
|
+
'COPYPARAM',
|
|
68
|
+
(node: IDEUILogicNode) => new CopyParamNode(node),
|
|
69
|
+
);
|
|
70
|
+
registerUILogicNodeProvider(
|
|
71
|
+
'BINDPARAM',
|
|
72
|
+
(node: IDEUILogicNode) => new BindParamNode(node),
|
|
73
|
+
);
|
|
74
|
+
registerUILogicNodeProvider(
|
|
75
|
+
'VIEWCTRLINVOKE',
|
|
76
|
+
(node: IDEUILogicNode) => new ViewCtrlInvokeNode(node),
|
|
77
|
+
);
|
|
78
|
+
registerUILogicNodeProvider(
|
|
79
|
+
'MSGBOX',
|
|
80
|
+
(node: IDEUILogicNode) => new MsgBoxNode(node),
|
|
81
|
+
);
|
|
82
|
+
registerUILogicNodeProvider(
|
|
83
|
+
'DEBUGPARAM',
|
|
84
|
+
(node: IDEUILogicNode) => new DebugParamNode(node),
|
|
85
|
+
);
|
|
86
|
+
registerUILogicNodeProvider(
|
|
87
|
+
'APPENDPARAM',
|
|
88
|
+
(node: IDEUILogicNode) => new AppendParamNode(node),
|
|
89
|
+
);
|
|
90
|
+
registerUILogicNodeProvider(
|
|
91
|
+
'SORTPARAM',
|
|
92
|
+
(node: IDEUILogicNode) => new SortParamNode(node),
|
|
93
|
+
);
|
|
94
|
+
registerUILogicNodeProvider(
|
|
95
|
+
'RENEWPARAM',
|
|
96
|
+
(node: IDEUILogicNode) => new RenewParamNode(node),
|
|
97
|
+
);
|
|
98
|
+
registerUILogicNodeProvider(
|
|
99
|
+
'DEDATASET',
|
|
100
|
+
(node: IDEUILogicNode) => new DataSetNode(node),
|
|
101
|
+
);
|
|
102
|
+
registerUILogicNodeProvider(
|
|
103
|
+
'THROWEXCEPTION',
|
|
104
|
+
(node: IDEUILogicNode) => new ThrowExceptionNode(node),
|
|
105
|
+
);
|
|
106
|
+
registerUILogicNodeProvider(
|
|
107
|
+
'VIEWCTRLFIREEVENT',
|
|
108
|
+
(node: IDEUILogicNode) => new ViewCtrlFireEventNode(node),
|
|
109
|
+
);
|
|
110
|
+
registerUILogicNodeProvider(
|
|
111
|
+
'DELOGIC',
|
|
112
|
+
(node: IDEUILogicNode) => new ExecuteDELogicNode(node),
|
|
113
|
+
);
|
|
114
|
+
registerUILogicNodeProvider(
|
|
115
|
+
'PFPLUGIN',
|
|
116
|
+
(node: IDEUILogicNode) => new PFPluginNode(node),
|
|
117
|
+
);
|
|
118
|
+
registerUILogicNodeProvider(
|
|
119
|
+
'RAWJSCODE',
|
|
120
|
+
(node: IDEUILogicNode) => new RawJSCodeNode(node),
|
|
121
|
+
);
|
|
122
|
+
}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
import { IUILogicLinkCond } from '../../../interface';
|
|
2
|
+
import { UILogicContext } from '../../ui-logic-context';
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
|
-
* 界面逻辑连接条件
|
|
3
|
-
*
|
|
4
|
-
* @author chitanda
|
|
5
|
-
* @date 2023-02-10 15:02:28
|
|
5
|
+
* @description 界面逻辑连接条件
|
|
6
6
|
* @export
|
|
7
|
+
* @abstract
|
|
7
8
|
* @class UILogicLinkCond
|
|
9
|
+
* @implements {IUILogicLinkCond}
|
|
8
10
|
*/
|
|
9
|
-
export abstract class UILogicLinkCond {
|
|
11
|
+
export abstract class UILogicLinkCond implements IUILogicLinkCond {
|
|
12
|
+
/**
|
|
13
|
+
* @description 条件判断
|
|
14
|
+
* @abstract
|
|
15
|
+
* @param {UILogicContext} ctx 界面逻辑执行上下文
|
|
16
|
+
* @param {IContext} context 上下文
|
|
17
|
+
* @param {IData} data 逻辑数据
|
|
18
|
+
* @returns {*} {boolean}
|
|
19
|
+
* @memberof UILogicLinkCond
|
|
20
|
+
*/
|
|
21
|
+
abstract test(ctx: UILogicContext, context: IContext, data: IData): boolean;
|
|
22
|
+
}
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
import { UILogicContext } from '../../ui-logic-context';
|
|
7
7
|
import { UILogicLinkCond } from '../ui-logic-link-cond/ui-logic-link-cond';
|
|
8
8
|
import { UILogicLinkSingleCond } from '../ui-logic-link-single-cond/ui-logic-link-single-cond';
|
|
9
|
+
import { IUILogicLinkGroupCond } from '../../../interface';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* 界面逻辑连接条件组
|
|
@@ -16,7 +17,10 @@ import { UILogicLinkSingleCond } from '../ui-logic-link-single-cond/ui-logic-lin
|
|
|
16
17
|
* @class UILogicLinkGroupCond
|
|
17
18
|
* @extends {UILogicLinkCond}
|
|
18
19
|
*/
|
|
19
|
-
export class UILogicLinkGroupCond
|
|
20
|
+
export class UILogicLinkGroupCond
|
|
21
|
+
extends UILogicLinkCond
|
|
22
|
+
implements IUILogicLinkGroupCond
|
|
23
|
+
{
|
|
20
24
|
/**
|
|
21
25
|
* 操作标识
|
|
22
26
|
*
|
|
@@ -5,6 +5,7 @@ import { testCond } from '../../../utils';
|
|
|
5
5
|
import { UILogicContext } from '../../ui-logic-context';
|
|
6
6
|
import { handleSrcVal } from '../../utils';
|
|
7
7
|
import { UILogicLinkCond } from '../ui-logic-link-cond/ui-logic-link-cond';
|
|
8
|
+
import { IUILogicLinkSingleCond } from '../../../interface';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* 界面逻辑连接条件项
|
|
@@ -15,7 +16,10 @@ import { UILogicLinkCond } from '../ui-logic-link-cond/ui-logic-link-cond';
|
|
|
15
16
|
* @class UILogicLinkSingleCond
|
|
16
17
|
* @extends {UILogicLinkCond}
|
|
17
18
|
*/
|
|
18
|
-
export class UILogicLinkSingleCond
|
|
19
|
+
export class UILogicLinkSingleCond
|
|
20
|
+
extends UILogicLinkCond
|
|
21
|
+
implements IUILogicLinkSingleCond
|
|
22
|
+
{
|
|
19
23
|
/**
|
|
20
24
|
* 源参数
|
|
21
25
|
*
|
|
@@ -3,6 +3,7 @@ import { IDEUILogicLink } from '@ibiz/model-core';
|
|
|
3
3
|
import { UILogicContext } from '../ui-logic-context';
|
|
4
4
|
import { UILogicNode } from '../ui-logic-node/ui-logic-node';
|
|
5
5
|
import { UILogicLinkGroupCond } from './ui-logic-link-group-cond/ui-logic-link-group-cond';
|
|
6
|
+
import { IUILogicLink, IUILogicLinkGroupCond } from '../../interface';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* 界面逻辑连接
|
|
@@ -12,7 +13,7 @@ import { UILogicLinkGroupCond } from './ui-logic-link-group-cond/ui-logic-link-g
|
|
|
12
13
|
* @export
|
|
13
14
|
* @class UILogicLink
|
|
14
15
|
*/
|
|
15
|
-
export class UILogicLink {
|
|
16
|
+
export class UILogicLink implements IUILogicLink {
|
|
16
17
|
/**
|
|
17
18
|
* 源节点
|
|
18
19
|
*
|
|
@@ -32,13 +33,11 @@ export class UILogicLink {
|
|
|
32
33
|
dstNode: UILogicNode | null = null;
|
|
33
34
|
|
|
34
35
|
/**
|
|
35
|
-
* 连接条件组
|
|
36
|
-
*
|
|
37
|
-
* @
|
|
38
|
-
* @date 2023-02-15 17:02:49
|
|
39
|
-
* @type {(UILogicLinkGroupCond | null)}
|
|
36
|
+
* @description 连接条件组
|
|
37
|
+
* @type {(IUILogicLinkGroupCond | null)}
|
|
38
|
+
* @memberof UILogicLink
|
|
40
39
|
*/
|
|
41
|
-
groupCond:
|
|
40
|
+
groupCond: IUILogicLinkGroupCond | null = null;
|
|
42
41
|
|
|
43
42
|
/**
|
|
44
43
|
* Creates an instance of UILogicLink.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IDEUIPFPluginLogic } from '@ibiz/model-core';
|
|
2
2
|
import { UILogicContext } from '../../ui-logic-context';
|
|
3
3
|
import { UILogicNode } from '../ui-logic-node';
|
|
4
|
-
import {
|
|
4
|
+
import { getUILogicNodePluginProvider } from '../../../register';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* 前端插件节点
|
|
@@ -22,9 +22,9 @@ export class PFPluginNode extends UILogicNode {
|
|
|
22
22
|
sysPFPluginId: this.model.sysPFPluginId,
|
|
23
23
|
}),
|
|
24
24
|
);
|
|
25
|
-
const provider = await
|
|
25
|
+
const provider = await getUILogicNodePluginProvider(this.model);
|
|
26
26
|
if (provider) {
|
|
27
|
-
await provider.exec(
|
|
27
|
+
await provider.exec(ctx);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IDEUILogicNode } from '@ibiz/model-core';
|
|
2
2
|
import { UILogicContext } from '../ui-logic-context';
|
|
3
3
|
import { UILogicLink } from '../ui-logic-link/ui-logic-link';
|
|
4
|
+
import { IUILogicNode } from '../../interface';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* 逻辑节点
|
|
@@ -10,7 +11,7 @@ import { UILogicLink } from '../ui-logic-link/ui-logic-link';
|
|
|
10
11
|
* @export
|
|
11
12
|
* @class UILogicNode
|
|
12
13
|
*/
|
|
13
|
-
export abstract class UILogicNode {
|
|
14
|
+
export abstract class UILogicNode implements IUILogicNode {
|
|
14
15
|
/**
|
|
15
16
|
* 节点连接
|
|
16
17
|
*
|
|
@@ -22,10 +23,8 @@ export abstract class UILogicNode {
|
|
|
22
23
|
|
|
23
24
|
/**
|
|
24
25
|
* Creates an instance of UILogicNode.
|
|
25
|
-
*
|
|
26
|
-
* @
|
|
27
|
-
* @date 2023-02-08 16:02:19
|
|
28
|
-
* @param {UILogicNodeModel} model
|
|
26
|
+
* @param {IDEUILogicNode} model
|
|
27
|
+
* @memberof UILogicNode
|
|
29
28
|
*/
|
|
30
29
|
constructor(public model: IDEUILogicNode) {
|
|
31
30
|
this.links = (model.deuilogicLinks || []).map(
|
|
@@ -34,15 +33,11 @@ export abstract class UILogicNode {
|
|
|
34
33
|
}
|
|
35
34
|
|
|
36
35
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* @
|
|
40
|
-
* @
|
|
41
|
-
* @
|
|
42
|
-
* @param {UILogicContext} ctx
|
|
43
|
-
* @param {IContext} context
|
|
44
|
-
* @param {IData} data
|
|
45
|
-
* @param {IParams} [opt]
|
|
36
|
+
* @description 执行逻辑
|
|
37
|
+
* @abstract
|
|
38
|
+
* @param {UILogicContext} ctx 界面逻辑执行上下文
|
|
39
|
+
* @returns {*} {Promise<void>}
|
|
40
|
+
* @memberof UILogicNode
|
|
46
41
|
*/
|
|
47
42
|
abstract exec(ctx: UILogicContext): Promise<void>;
|
|
48
43
|
}
|