@ibiz-template/runtime 0.2.8 → 0.2.9
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 +619 -305
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
- package/out/controller/common/control/md-control.controller.js +16 -21
- package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts +11 -11
- package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-detail/form-detail.controller.js +22 -16
- package/out/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.d.ts +1 -1
- package/out/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.js +2 -2
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.js +4 -2
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts +20 -0
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.js +57 -1
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.d.ts +1 -1
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.js +19 -32
- package/out/controller/control/map/map.controller.d.ts +6 -0
- package/out/controller/control/map/map.controller.d.ts.map +1 -1
- package/out/controller/control/map/map.controller.js +35 -1
- package/out/controller/control/panel/panel/panel.controller.d.ts.map +1 -1
- package/out/controller/control/panel/panel/panel.controller.js +4 -20
- package/out/controller/utils/data-file-util/data-file-util.d.ts +45 -0
- package/out/controller/utils/data-file-util/data-file-util.d.ts.map +1 -0
- package/out/controller/utils/data-file-util/data-file-util.js +121 -0
- package/out/controller/utils/index.d.ts +1 -0
- package/out/controller/utils/index.d.ts.map +1 -1
- package/out/controller/utils/index.js +1 -0
- package/out/global/global-util/global-util.d.ts +2 -2
- package/out/global/global-util/global-util.d.ts.map +1 -1
- package/out/interface/controller/controller/control/panel-item/i-panel-data-container.controller.d.ts +1 -1
- package/out/interface/controller/controller/control/panel-item/i-panel-data-container.controller.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-map.state.d.ts +21 -0
- package/out/interface/controller/state/control/i-map.state.d.ts.map +1 -1
- package/out/interface/index.d.ts +2 -1
- package/out/interface/index.d.ts.map +1 -1
- package/out/interface/index.js +2 -1
- package/out/interface/provider/i-ui-login-node.provider.d.ts +23 -0
- package/out/interface/provider/i-ui-login-node.provider.d.ts.map +1 -0
- package/out/interface/provider/index.d.ts +1 -0
- package/out/interface/provider/index.d.ts.map +1 -1
- package/out/interface/ui-login/i-ui-logic-context.d.ts +85 -0
- package/out/interface/ui-login/i-ui-logic-context.d.ts.map +1 -0
- package/out/interface/ui-login/i-ui-logic-context.js +1 -0
- package/out/interface/ui-login/index.d.ts +2 -0
- package/out/interface/ui-login/index.d.ts.map +1 -0
- package/out/interface/ui-login/index.js +1 -0
- package/out/interface/util/{i-export-excel/i-export-excel.d.ts → i-excel-util/i-excel-util.d.ts} +4 -4
- package/out/interface/util/i-excel-util/i-excel-util.d.ts.map +1 -0
- package/out/interface/util/i-excel-util/i-excel-util.js +1 -0
- package/out/interface/util/index.d.ts +1 -1
- package/out/interface/util/index.d.ts.map +1 -1
- package/out/model/panel/index.d.ts +1 -0
- package/out/model/panel/index.d.ts.map +1 -1
- package/out/model/panel/index.js +1 -0
- package/out/model/panel/panel-field.d.ts +11 -0
- package/out/model/panel/panel-field.d.ts.map +1 -0
- package/out/model/panel/panel-field.js +35 -0
- package/out/model/utils/util.d.ts +12 -1
- package/out/model/utils/util.d.ts.map +1 -1
- package/out/model/utils/util.js +18 -0
- package/out/register/helper/common-register.js +1 -1
- package/out/register/helper/index.d.ts +3 -2
- package/out/register/helper/index.d.ts.map +1 -1
- package/out/register/helper/index.js +3 -2
- package/out/register/helper/ui-logic-node-register.d.ts +25 -0
- package/out/register/helper/ui-logic-node-register.d.ts.map +1 -0
- package/out/register/helper/ui-logic-node-register.js +37 -0
- package/out/service/service/entity/method/de-action.d.ts.map +1 -1
- package/out/service/service/entity/method/de-action.js +3 -0
- package/out/service/service/entity/method/fetch.d.ts.map +1 -1
- package/out/service/service/entity/method/fetch.js +1 -1
- package/out/service/vo/index.d.ts +1 -0
- package/out/service/vo/index.d.ts.map +1 -1
- package/out/service/vo/index.js +1 -0
- package/out/service/vo/panel-data/index.d.ts +2 -0
- package/out/service/vo/panel-data/index.d.ts.map +1 -0
- package/out/service/vo/panel-data/index.js +1 -0
- package/out/service/vo/panel-data/panel-data.d.ts +21 -0
- package/out/service/vo/panel-data/panel-data.d.ts.map +1 -0
- package/out/service/vo/panel-data/panel-data.js +73 -0
- package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts.map +1 -1
- package/out/service/vo/tree-node-data/tree-data-set-node-data.js +6 -2
- package/out/ui-logic/ui-logic-context.d.ts +7 -2
- package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-context.js +5 -0
- package/out/ui-logic/ui-logic-node/index.d.ts +1 -0
- package/out/ui-logic/ui-logic-node/index.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-node/index.js +1 -0
- package/out/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.d.ts +17 -0
- package/out/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.d.ts.map +1 -0
- package/out/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.js +19 -0
- package/out/ui-logic/ui-logic.d.ts.map +1 -1
- package/out/ui-logic/ui-logic.js +3 -1
- package/package.json +2 -2
- package/src/controller/common/control/md-control.controller.ts +22 -22
- package/src/controller/control/form/form-detail/form-detail/form-detail.controller.ts +35 -25
- package/src/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.ts +2 -2
- package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.ts +2 -2
- package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.ts +66 -1
- package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.ts +1 -1
- package/src/controller/control/grid/grid/grid.controller.ts +20 -32
- package/src/controller/control/map/map.controller.ts +38 -1
- package/src/controller/control/panel/panel/panel.controller.ts +4 -21
- package/src/controller/utils/data-file-util/data-file-util.ts +156 -0
- package/src/controller/utils/index.ts +1 -0
- package/src/global/global-util/global-util.ts +2 -2
- package/src/interface/controller/controller/control/panel-item/i-panel-data-container.controller.ts +1 -1
- package/src/interface/controller/state/control/i-map.state.ts +24 -0
- package/src/interface/index.ts +2 -1
- package/src/interface/provider/i-ui-login-node.provider.ts +23 -0
- package/src/interface/provider/index.ts +1 -0
- package/src/interface/ui-login/i-ui-logic-context.ts +95 -0
- package/src/interface/ui-login/index.ts +1 -0
- package/src/interface/util/{i-export-excel/i-export-excel.ts → i-excel-util/i-excel-util.ts} +3 -3
- package/src/interface/util/index.ts +1 -1
- package/src/model/panel/index.ts +1 -0
- package/src/model/panel/panel-field.ts +49 -0
- package/src/model/utils/util.ts +20 -0
- package/src/register/helper/common-register.ts +1 -1
- package/src/register/helper/index.ts +3 -2
- package/src/register/helper/ui-logic-node-register.ts +52 -0
- package/src/service/service/entity/method/de-action.ts +4 -1
- package/src/service/service/entity/method/fetch.ts +7 -1
- package/src/service/vo/index.ts +1 -0
- package/src/service/vo/panel-data/index.ts +1 -0
- package/src/service/vo/panel-data/panel-data.ts +93 -0
- package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +6 -2
- package/src/ui-logic/ui-logic-context.ts +7 -2
- package/src/ui-logic/ui-logic-node/index.ts +1 -0
- package/src/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.ts +24 -0
- package/src/ui-logic/ui-logic.ts +3 -0
- package/out/interface/util/i-export-excel/i-export-excel.d.ts.map +0 -1
- /package/out/interface/{util/i-export-excel/i-export-excel.js → provider/i-ui-login-node.provider.js} +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IPanel,
|
|
3
|
+
IPanelContainer,
|
|
4
|
+
IPanelField,
|
|
5
|
+
IPanelItem,
|
|
6
|
+
} from '@ibiz/model-core';
|
|
7
|
+
import { isDataContainer } from './data-container';
|
|
8
|
+
|
|
9
|
+
const ChildKeys = ['panelItems', 'panelTabPages', 'rootPanelItems'] as const;
|
|
10
|
+
|
|
11
|
+
function _getAllPanelField(model: IData): IPanelField[] {
|
|
12
|
+
let childItems: IPanelItem[] = [];
|
|
13
|
+
for (const key of ChildKeys) {
|
|
14
|
+
if (model[key]) {
|
|
15
|
+
childItems = model[key];
|
|
16
|
+
break;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const fields: IPanelField[] = [];
|
|
20
|
+
|
|
21
|
+
if (childItems.length) {
|
|
22
|
+
// 过滤出当前层级的子里面的所有面板属性
|
|
23
|
+
fields.push(...childItems.filter(item => item.itemType === 'FIELD'));
|
|
24
|
+
|
|
25
|
+
// 递归遍历拿子里面的成员
|
|
26
|
+
childItems.forEach(item => {
|
|
27
|
+
// 如果是数据容器则不往下找
|
|
28
|
+
if (!isDataContainer(item)) {
|
|
29
|
+
fields.push(..._getAllPanelField(item));
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return fields;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 获取所有子面板属性模型
|
|
39
|
+
* @author lxm
|
|
40
|
+
* @date 2023-11-01 04:45:44
|
|
41
|
+
* @export
|
|
42
|
+
* @param {(IPanel | IPanelContainer)} model
|
|
43
|
+
* @return {*} {IPanelField[]}
|
|
44
|
+
*/
|
|
45
|
+
export function getAllPanelField(
|
|
46
|
+
model: IPanel | IPanelContainer,
|
|
47
|
+
): IPanelField[] {
|
|
48
|
+
return _getAllPanelField(model);
|
|
49
|
+
}
|
package/src/model/utils/util.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
IAppView,
|
|
3
3
|
IAppViewRef,
|
|
4
|
+
IApplication,
|
|
4
5
|
IControl,
|
|
5
6
|
IModelObject,
|
|
7
|
+
ISysPFPlugin,
|
|
6
8
|
} from '@ibiz/model-core';
|
|
7
9
|
|
|
8
10
|
/**
|
|
@@ -106,3 +108,21 @@ export function parseUserParams(userParams: Record<string, string>): {
|
|
|
106
108
|
|
|
107
109
|
return { navigateContexts, navigateParams, other };
|
|
108
110
|
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* 从应用里面获取插件配置参数
|
|
114
|
+
*
|
|
115
|
+
* @author chitanda
|
|
116
|
+
* @date 2023-11-01 17:11:28
|
|
117
|
+
* @export
|
|
118
|
+
* @param {IApplication} app
|
|
119
|
+
* @param {string} id
|
|
120
|
+
* @return {*} {ISysPFPlugin}
|
|
121
|
+
*/
|
|
122
|
+
export function getPFPlugin(app: IApplication, id: string): ISysPFPlugin {
|
|
123
|
+
const plugin = app.appPFPluginRefs?.find(item => item.id === id);
|
|
124
|
+
if (!plugin) {
|
|
125
|
+
throw new Error(`未找到插件${id}`);
|
|
126
|
+
}
|
|
127
|
+
return plugin;
|
|
128
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
export * from './app-counter-register';
|
|
1
2
|
export * from './control-register';
|
|
2
3
|
export * from './editor-register';
|
|
3
4
|
export * from './form-detail-register';
|
|
4
5
|
export * from './grid-column-register';
|
|
5
6
|
export * from './panel-item-register';
|
|
7
|
+
export * from './portlet-register';
|
|
6
8
|
export * from './ui-action-register';
|
|
9
|
+
export * from './ui-logic-node-register';
|
|
7
10
|
export * from './view-register';
|
|
8
|
-
export * from './portlet-register';
|
|
9
|
-
export * from './app-counter-register';
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { IAppUIAction, IDEUIPFPluginLogic } from '@ibiz/model-core';
|
|
2
|
+
import { RuntimeError } from '@ibiz-template/core';
|
|
3
|
+
import { getPluginRegisterKey } from './common-register';
|
|
4
|
+
import { IUILogicNodeProvider } from '../../interface';
|
|
5
|
+
|
|
6
|
+
/** 界面逻辑节点适配器前缀 */
|
|
7
|
+
export const UILOGINNODE_PROVIDER_PREFIX = 'UI_LOGIN_NODE';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 注册界面逻辑节点适配器
|
|
11
|
+
*
|
|
12
|
+
* @author lxm
|
|
13
|
+
* @date 2023-05-06 09:14:16
|
|
14
|
+
* @export
|
|
15
|
+
* @param {string} key
|
|
16
|
+
* @param {() => IUILogicNodeProvider} callback 生成界面行为适配器的回调
|
|
17
|
+
*/
|
|
18
|
+
export function registerUILogicNodeProvider(
|
|
19
|
+
key: string,
|
|
20
|
+
callback: () => IUILogicNodeProvider,
|
|
21
|
+
): void {
|
|
22
|
+
ibiz.register.register(`${UILOGINNODE_PROVIDER_PREFIX}_${key}`, callback);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 获取界面逻辑节点适配器
|
|
27
|
+
*
|
|
28
|
+
* @author chitanda
|
|
29
|
+
* @date 2023-11-01 17:11:43
|
|
30
|
+
* @export
|
|
31
|
+
* @param {IDEUIPFPluginLogic} model
|
|
32
|
+
* @return {*} {Promise<IUILogicNodeProvider>}
|
|
33
|
+
*/
|
|
34
|
+
export async function getUILogicNodeProvider(
|
|
35
|
+
model: IDEUIPFPluginLogic,
|
|
36
|
+
): Promise<IUILogicNodeProvider | undefined> {
|
|
37
|
+
let provider: IUILogicNodeProvider | undefined;
|
|
38
|
+
const { sysPFPluginId, appId } = model as Required<IAppUIAction>;
|
|
39
|
+
|
|
40
|
+
const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
|
|
41
|
+
if (pluginKey) {
|
|
42
|
+
provider = ibiz.register.get(
|
|
43
|
+
`${UILOGINNODE_PROVIDER_PREFIX}_${pluginKey}`,
|
|
44
|
+
) as IUILogicNodeProvider;
|
|
45
|
+
if (provider) {
|
|
46
|
+
return provider;
|
|
47
|
+
}
|
|
48
|
+
throw new RuntimeError(
|
|
49
|
+
`找不到界面逻辑前端插件节点,插件${pluginKey}对应的适配器`,
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -61,8 +61,11 @@ export class DEActionMethod extends Method {
|
|
|
61
61
|
data?: IData | IData[],
|
|
62
62
|
params?: IParams,
|
|
63
63
|
): Promise<HttpResponse<IData>> {
|
|
64
|
-
|
|
64
|
+
if (data) {
|
|
65
|
+
await execFieldLogics(this.entity, 'change', context, data, params);
|
|
66
|
+
}
|
|
65
67
|
|
|
68
|
+
// 实体逻辑处理
|
|
66
69
|
if (this.method.actionType === 'DELOGIC') {
|
|
67
70
|
const deLogic = findDELogic(this.method.appDELogicId!, this.entity);
|
|
68
71
|
if (!deLogic) {
|
|
@@ -73,7 +73,13 @@ export class FetchMethod extends Method {
|
|
|
73
73
|
|
|
74
74
|
// 计算属性逻辑,每条数据走一遍
|
|
75
75
|
if (res.data) {
|
|
76
|
-
execFieldLogics(
|
|
76
|
+
await execFieldLogics(
|
|
77
|
+
this.entity,
|
|
78
|
+
'compute',
|
|
79
|
+
context,
|
|
80
|
+
res.data,
|
|
81
|
+
searchParams,
|
|
82
|
+
);
|
|
77
83
|
}
|
|
78
84
|
|
|
79
85
|
return res as HttpResponse<IDataEntity[]>;
|
package/src/service/vo/index.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PanelData } from './panel-data';
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/* eslint-disable no-constructor-return */
|
|
2
|
+
|
|
3
|
+
import { IPanelField } from '@ibiz/model-core';
|
|
4
|
+
|
|
5
|
+
// 更新属性,缺的补充定义
|
|
6
|
+
function updateKeyDefine(target: IParams, keys: string[]): void {
|
|
7
|
+
keys.forEach(key => {
|
|
8
|
+
if (!Object.prototype.hasOwnProperty.call(target, key)) {
|
|
9
|
+
Object.defineProperty(target, key, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
configurable: true,
|
|
12
|
+
writable: true,
|
|
13
|
+
value: undefined,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 面板数据
|
|
21
|
+
* @author lxm
|
|
22
|
+
* @date 2023-11-01 05:13:53
|
|
23
|
+
* @export
|
|
24
|
+
* @class PanelData
|
|
25
|
+
*/
|
|
26
|
+
export class PanelData {
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
|
+
[key: string | symbol]: any;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 父视图参数
|
|
32
|
+
* @author lxm
|
|
33
|
+
* @date 2023-10-27 04:08:59
|
|
34
|
+
* @protected
|
|
35
|
+
* @type {IParams}
|
|
36
|
+
*/
|
|
37
|
+
protected declare _origin?: IParams;
|
|
38
|
+
|
|
39
|
+
constructor(fields: IPanelField[], origin: IParams) {
|
|
40
|
+
// 面板属性映射绑定项
|
|
41
|
+
const keyMap: Record<string, string | undefined> = {};
|
|
42
|
+
// 绑定项映射面板属性
|
|
43
|
+
const reverseKeyMap: Record<string, string> = {};
|
|
44
|
+
|
|
45
|
+
fields.forEach(field => {
|
|
46
|
+
keyMap[field.id!] = field.viewFieldName?.toLowerCase();
|
|
47
|
+
if (field.viewFieldName) {
|
|
48
|
+
reverseKeyMap[field.viewFieldName.toLowerCase()] = field.id!;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
return new Proxy(this, {
|
|
53
|
+
set(target: PanelData, p: string, value: unknown): boolean {
|
|
54
|
+
if (Object.prototype.hasOwnProperty.call(keyMap, p)) {
|
|
55
|
+
if (keyMap[p]) {
|
|
56
|
+
// 有面板属性有绑定数据项修改原始对象
|
|
57
|
+
origin[keyMap[p]!] = value;
|
|
58
|
+
} else {
|
|
59
|
+
// 有面板属性没有绑定数据项的改自身
|
|
60
|
+
target[p] = value;
|
|
61
|
+
}
|
|
62
|
+
} else {
|
|
63
|
+
// 没有面板属性的直接修改原始对象,视图面板对象一开始就是空的,没有任何属性
|
|
64
|
+
origin[keyMap[p]!] = value;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return true;
|
|
68
|
+
},
|
|
69
|
+
|
|
70
|
+
get(target: PanelData, p: string, _receiver: unknown): unknown {
|
|
71
|
+
// 有映射拿原始对象
|
|
72
|
+
if (keyMap[p]) {
|
|
73
|
+
return origin[keyMap[p]!];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// 源对象的属性可以直接拿
|
|
77
|
+
if (Object.prototype.hasOwnProperty.call(origin, p)) {
|
|
78
|
+
return origin[p];
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// 最后拿自身
|
|
82
|
+
return target[p];
|
|
83
|
+
},
|
|
84
|
+
|
|
85
|
+
ownKeys(target: PanelData): ArrayLike<string | symbol> {
|
|
86
|
+
// 只返回原始数据的键,自身的只是前端映射使用不需要在复制和后台传递时使用
|
|
87
|
+
const allKeys = Object.keys(origin);
|
|
88
|
+
updateKeyDefine(target, allKeys);
|
|
89
|
+
return allKeys;
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -34,8 +34,12 @@ export class TreeDataSetNodeData extends TreeNodeData implements ITreeNodeData {
|
|
|
34
34
|
super(model, parentNodeData, opts);
|
|
35
35
|
const { data } = opts;
|
|
36
36
|
this.deData = data;
|
|
37
|
-
this.text =
|
|
38
|
-
|
|
37
|
+
this.text = model.textAppDEFieldId
|
|
38
|
+
? data[model.textAppDEFieldId]
|
|
39
|
+
: data.srfmajortext;
|
|
40
|
+
this.value = model.idAppDEFieldId
|
|
41
|
+
? data[model.idAppDEFieldId]
|
|
42
|
+
: data.srfkey;
|
|
39
43
|
this.id = parentNodeData
|
|
40
44
|
? `${parentNodeData.id}:${model.id}@${data.srfkey}`
|
|
41
45
|
: model.id + data.srfkey;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IUILogicParams } from '../interface';
|
|
1
|
+
import { IUILogicContext, IUILogicParams } from '../interface';
|
|
2
2
|
import { UILogicParam } from './ui-logic-param/ui-logic-param';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -9,7 +9,7 @@ import { UILogicParam } from './ui-logic-param/ui-logic-param';
|
|
|
9
9
|
* @export
|
|
10
10
|
* @class UILogicContext
|
|
11
11
|
*/
|
|
12
|
-
export class UILogicContext {
|
|
12
|
+
export class UILogicContext implements IUILogicContext {
|
|
13
13
|
/**
|
|
14
14
|
* 上一次返回值
|
|
15
15
|
* @author lxm
|
|
@@ -98,6 +98,7 @@ export class UILogicContext {
|
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
100
|
* 重置实体逻辑参数
|
|
101
|
+
*
|
|
101
102
|
* @author lxm
|
|
102
103
|
* @date 2023-03-24 09:18:02
|
|
103
104
|
* @param {string} name
|
|
@@ -108,6 +109,7 @@ export class UILogicContext {
|
|
|
108
109
|
|
|
109
110
|
/**
|
|
110
111
|
* 重新建立变量
|
|
112
|
+
*
|
|
111
113
|
* @author lxm
|
|
112
114
|
* @date 2023-03-24 09:20:24
|
|
113
115
|
* @param {string} name
|
|
@@ -118,6 +120,7 @@ export class UILogicContext {
|
|
|
118
120
|
|
|
119
121
|
/**
|
|
120
122
|
* 设置上一次返回值
|
|
123
|
+
*
|
|
121
124
|
* @author lxm
|
|
122
125
|
* @date 2023-09-04 09:23:52
|
|
123
126
|
* @param {unknown} value
|
|
@@ -128,6 +131,7 @@ export class UILogicContext {
|
|
|
128
131
|
|
|
129
132
|
/**
|
|
130
133
|
* 初始化上一次返回参数类型的逻辑参数
|
|
134
|
+
*
|
|
131
135
|
* @author lxm
|
|
132
136
|
* @date 2023-09-04 09:52:00
|
|
133
137
|
* @param {string} tag
|
|
@@ -142,6 +146,7 @@ export class UILogicContext {
|
|
|
142
146
|
|
|
143
147
|
/**
|
|
144
148
|
* 是否是实体参数变量(即后台数据对象)
|
|
149
|
+
*
|
|
145
150
|
* @author lxm
|
|
146
151
|
* @date 2023-09-22 03:40:30
|
|
147
152
|
* @param {string} paramId
|
|
@@ -7,6 +7,7 @@ export { UILogicNode } from './ui-logic-node';
|
|
|
7
7
|
export { ViewCtrlInvokeNode } from './view-ctrl-invoke-node/view-ctrl-invoke-node';
|
|
8
8
|
export { BindParamNode } from './bind-param-node/bind-param-node';
|
|
9
9
|
export { MsgBoxNode } from './msg-box-node/msg-box-node';
|
|
10
|
+
export { PFPluginNode } from './pf-plugin-node/pf-plugin-node';
|
|
10
11
|
export { DebugParamNode } from './debug-param-node/debug-param-node';
|
|
11
12
|
export { ResetParamNode } from './reset-param-node/reset-param-node';
|
|
12
13
|
export { CopyParamNode } from './copy-param-node/copy-param-node';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IDEUIPFPluginLogic } from '@ibiz/model-core';
|
|
2
|
+
import { UILogicContext } from '../../ui-logic-context';
|
|
3
|
+
import { UILogicNode } from '../ui-logic-node';
|
|
4
|
+
import { getUILogicNodeProvider } from '../../../register';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 前端插件节点
|
|
8
|
+
*
|
|
9
|
+
* @author chitanda
|
|
10
|
+
* @date 2023-11-01 18:11:55
|
|
11
|
+
* @export
|
|
12
|
+
* @class PFPluginNode
|
|
13
|
+
* @extends {UILogicNode}
|
|
14
|
+
*/
|
|
15
|
+
export class PFPluginNode extends UILogicNode {
|
|
16
|
+
declare model: IDEUIPFPluginLogic;
|
|
17
|
+
|
|
18
|
+
async exec(ctx: UILogicContext): Promise<void> {
|
|
19
|
+
const provider = await getUILogicNodeProvider(this.model);
|
|
20
|
+
if (provider) {
|
|
21
|
+
await provider.exec(this.model, ctx);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
package/src/ui-logic/ui-logic.ts
CHANGED
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
EndNode,
|
|
15
15
|
ExecuteDELogicNode,
|
|
16
16
|
MsgBoxNode,
|
|
17
|
+
PFPluginNode,
|
|
17
18
|
PrepareJSParamNode,
|
|
18
19
|
RenewParamNode,
|
|
19
20
|
ResetParamNode,
|
|
@@ -124,6 +125,8 @@ export class UILogic {
|
|
|
124
125
|
logicNode = new ExecuteDELogicNode(node);
|
|
125
126
|
break;
|
|
126
127
|
case 'PFPLUGIN': // 前端插件调用
|
|
128
|
+
logicNode = new PFPluginNode(node);
|
|
129
|
+
break;
|
|
127
130
|
default:
|
|
128
131
|
throw new ModelError(node, `未支持的逻辑节点类型: ${logicNodeType}`);
|
|
129
132
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"i-export-excel.d.ts","sourceRoot":"","sources":["../../../../src/interface/util/i-export-excel/i-export-excel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE;QACtB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,KAAK,EAAE,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;KACpB,GAAG,IAAI,CAAC;CACV"}
|
|
File without changes
|