@ibiz-template/runtime 0.1.8 → 0.1.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 +4077 -3949
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/app-hub.d.ts +8 -0
- package/out/app-hub.d.ts.map +1 -1
- package/out/app-hub.js +8 -0
- package/out/command/app/open-app-view/open-app-view.js +5 -5
- package/out/controller/common/control/control.controller.d.ts +9 -1
- package/out/controller/common/control/control.controller.d.ts.map +1 -1
- package/out/controller/common/control/control.controller.js +17 -7
- package/out/controller/common/view/view.controller.d.ts +1 -0
- package/out/controller/common/view/view.controller.d.ts.map +1 -1
- package/out/controller/common/view/view.controller.js +6 -3
- package/out/controller/hub.controller.d.ts +16 -0
- package/out/controller/hub.controller.d.ts.map +1 -0
- package/out/controller/hub.controller.js +20 -0
- package/out/controller/index.d.ts +1 -0
- package/out/controller/index.d.ts.map +1 -1
- package/out/controller/index.js +1 -0
- package/out/controller/utils/value-rule/value-rule.d.ts.map +1 -1
- package/out/controller/utils/value-rule/value-rule.js +1 -1
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +9 -0
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
- package/out/interface/controller/app.d.ts +37 -0
- package/out/interface/controller/app.d.ts.map +1 -0
- package/out/interface/controller/app.js +1 -0
- package/out/interface/controller/controller/control/i-context-menu.controller.d.ts +15 -0
- package/out/interface/controller/controller/control/i-context-menu.controller.d.ts.map +1 -0
- package/out/interface/controller/controller/control/i-context-menu.controller.js +1 -0
- package/out/interface/controller/controller/control/i-toolbar.controller.d.ts +2 -2
- package/out/interface/controller/controller/control/i-toolbar.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/control/index.d.ts +1 -0
- package/out/interface/controller/controller/control/index.d.ts.map +1 -1
- package/out/interface/controller/controller/control/index.js +1 -0
- package/out/interface/controller/controller/view/i-view.controller.d.ts +8 -0
- package/out/interface/controller/controller/view/i-view.controller.d.ts.map +1 -1
- package/out/interface/controller/event/control/i-context-menu.event.d.ts +11 -0
- package/out/interface/controller/event/control/i-context-menu.event.d.ts.map +1 -0
- package/out/interface/controller/event/control/i-context-menu.event.js +1 -0
- package/out/interface/controller/event/control/index.d.ts +1 -0
- package/out/interface/controller/event/control/index.d.ts.map +1 -1
- package/out/interface/controller/event/control/index.js +1 -0
- package/out/interface/controller/event/view/i-pickup-md-view.event.d.ts +31 -0
- package/out/interface/controller/event/view/i-pickup-md-view.event.d.ts.map +1 -0
- package/out/interface/controller/event/view/i-pickup-md-view.event.js +1 -0
- package/out/interface/controller/event/view/index.d.ts +1 -0
- package/out/interface/controller/event/view/index.d.ts.map +1 -1
- package/out/interface/controller/event/view/index.js +1 -0
- package/out/interface/controller/index.d.ts +1 -0
- package/out/interface/controller/index.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-context-menu.state.d.ts +11 -0
- package/out/interface/controller/state/control/i-context-menu.state.d.ts.map +1 -0
- package/out/interface/controller/state/control/i-context-menu.state.js +1 -0
- package/out/interface/controller/state/control/i-tree.state.d.ts +1 -10
- package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/index.d.ts +1 -0
- package/out/interface/controller/state/control/index.d.ts.map +1 -1
- package/out/interface/controller/state/control/index.js +1 -0
- package/out/interface/controller/state/view/i-pickup-md-view.state.d.ts +22 -0
- package/out/interface/controller/state/view/i-pickup-md-view.state.d.ts.map +1 -0
- package/out/interface/controller/state/view/i-pickup-md-view.state.js +1 -0
- package/out/interface/controller/state/view/index.d.ts +1 -0
- package/out/interface/controller/state/view/index.d.ts.map +1 -1
- package/out/interface/controller/state/view/index.js +1 -0
- package/out/interface/util/i-open-view-util/i-open-view-util.d.ts +11 -11
- package/out/interface/util/i-open-view-util/i-open-view-util.d.ts.map +1 -1
- package/out/interface/util/script/i-script-function.d.ts +8 -1
- package/out/interface/util/script/i-script-function.d.ts.map +1 -1
- package/out/logic-scheduler/executor/script-executor.d.ts +6 -6
- package/out/logic-scheduler/executor/script-executor.d.ts.map +1 -1
- package/out/logic-scheduler/executor/script-executor.js +10 -14
- package/out/logic-scheduler/trigger/item-dyna-logic-trigger.d.ts +1 -0
- package/out/logic-scheduler/trigger/item-dyna-logic-trigger.d.ts.map +1 -1
- package/out/logic-scheduler/trigger/item-dyna-logic-trigger.js +6 -2
- package/out/logic-scheduler/trigger/logic-trigger.d.ts +8 -0
- package/out/logic-scheduler/trigger/logic-trigger.d.ts.map +1 -1
- package/out/logic-scheduler/trigger/logic-trigger.js +17 -0
- package/out/model/layout/layout.d.ts.map +1 -1
- package/out/model/layout/layout.js +1 -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 +3 -1
- package/out/utils/script/script-function.d.ts +9 -0
- package/out/utils/script/script-function.d.ts.map +1 -1
- package/out/utils/script/script-function.js +75 -1
- package/out/utils/verify/de-rule-verify.js +1 -1
- package/package.json +2 -2
- package/src/app-hub.ts +9 -0
- package/src/command/app/open-app-view/open-app-view.ts +5 -5
- package/src/controller/common/control/control.controller.ts +19 -9
- package/src/controller/common/view/view.controller.ts +9 -3
- package/src/controller/hub.controller.ts +22 -0
- package/src/controller/index.ts +1 -0
- package/src/controller/utils/value-rule/value-rule.ts +1 -0
- package/src/interface/common/i-app-hub-service/i-app-hub-service.ts +10 -0
- package/src/interface/controller/app.ts +38 -0
- package/src/interface/controller/controller/control/i-context-menu.controller.ts +19 -0
- package/src/interface/controller/controller/control/i-toolbar.controller.ts +6 -3
- package/src/interface/controller/controller/control/index.ts +1 -0
- package/src/interface/controller/controller/view/i-view.controller.ts +9 -0
- package/src/interface/controller/event/control/i-context-menu.event.ts +10 -0
- package/src/interface/controller/event/control/index.ts +1 -0
- package/src/interface/controller/event/view/i-pickup-md-view.event.ts +29 -0
- package/src/interface/controller/event/view/index.ts +1 -0
- package/src/interface/controller/index.ts +1 -0
- package/src/interface/controller/state/control/i-context-menu.state.ts +10 -0
- package/src/interface/controller/state/control/i-tree.state.ts +1 -9
- package/src/interface/controller/state/control/index.ts +1 -0
- package/src/interface/controller/state/view/i-pickup-md-view.state.ts +22 -0
- package/src/interface/controller/state/view/index.ts +1 -0
- package/src/interface/util/i-open-view-util/i-open-view-util.ts +11 -11
- package/src/interface/util/script/i-script-function.ts +9 -1
- package/src/logic-scheduler/executor/script-executor.ts +11 -14
- package/src/logic-scheduler/trigger/item-dyna-logic-trigger.ts +8 -2
- package/src/logic-scheduler/trigger/logic-trigger.ts +19 -0
- package/src/model/layout/layout.ts +1 -0
- package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +3 -0
- package/src/utils/script/script-function.ts +77 -2
- package/src/utils/verify/de-rule-verify.ts +1 -0
|
@@ -100,7 +100,7 @@ export class OpenAppViewCommand {
|
|
|
100
100
|
context: IContext,
|
|
101
101
|
params: IParams = {},
|
|
102
102
|
): Promise<IModalData> {
|
|
103
|
-
return ibiz.openView.root(appView, context, params);
|
|
103
|
+
return ibiz.openView.root(appView.id, context, params);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
/**
|
|
@@ -119,7 +119,7 @@ export class OpenAppViewCommand {
|
|
|
119
119
|
context: IContext,
|
|
120
120
|
params: IParams = {},
|
|
121
121
|
): Promise<IModalData> {
|
|
122
|
-
return ibiz.openView.modal(appView, context, params);
|
|
122
|
+
return ibiz.openView.modal(appView.id, context, params);
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
/**
|
|
@@ -142,7 +142,7 @@ export class OpenAppViewCommand {
|
|
|
142
142
|
if (!event) {
|
|
143
143
|
throw new RuntimeError('气泡打开缺少event');
|
|
144
144
|
}
|
|
145
|
-
return ibiz.openView.popover(appView, event, context, params);
|
|
145
|
+
return ibiz.openView.popover(appView.id, event, context, params);
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
/**
|
|
@@ -161,7 +161,7 @@ export class OpenAppViewCommand {
|
|
|
161
161
|
context: IContext,
|
|
162
162
|
params: IParams = {},
|
|
163
163
|
): Promise<IModalData> {
|
|
164
|
-
return ibiz.openView.drawer(appView, context, params);
|
|
164
|
+
return ibiz.openView.drawer(appView.id, context, params);
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
/**
|
|
@@ -180,6 +180,6 @@ export class OpenAppViewCommand {
|
|
|
180
180
|
context: IContext,
|
|
181
181
|
params: IParams = {},
|
|
182
182
|
): Promise<IModalData> {
|
|
183
|
-
return ibiz.openView.custom(appView, context, params);
|
|
183
|
+
return ibiz.openView.custom(appView.id, context, params);
|
|
184
184
|
}
|
|
185
185
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IControl, IViewLayoutPanel } from '@ibiz/model-core';
|
|
1
|
+
import { IControl, IControlLogic, IViewLayoutPanel } from '@ibiz/model-core';
|
|
2
2
|
import { BaseController } from '..';
|
|
3
3
|
import { CTX } from '../../ctx';
|
|
4
4
|
import {
|
|
@@ -129,14 +129,7 @@ export class ControlController<
|
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
// 部件逻辑初始化
|
|
132
|
-
|
|
133
|
-
this.scheduler = ibiz.scheduler.createControlScheduler(
|
|
134
|
-
this.model.controlLogics,
|
|
135
|
-
);
|
|
136
|
-
this.scheduler.defaultParamsCb = (): IUILogicParams => {
|
|
137
|
-
return this.getEventArgs();
|
|
138
|
-
};
|
|
139
|
-
}
|
|
132
|
+
this.initControlScheduler(this.model.controlLogics);
|
|
140
133
|
}
|
|
141
134
|
|
|
142
135
|
protected async onDestroyed(): Promise<void> {
|
|
@@ -225,4 +218,21 @@ export class ControlController<
|
|
|
225
218
|
});
|
|
226
219
|
}
|
|
227
220
|
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* 初始化部件逻辑调度器
|
|
224
|
+
* @author lxm
|
|
225
|
+
* @date 2023-08-21 11:53:37
|
|
226
|
+
* @param {IControlLogic[]} logics
|
|
227
|
+
* @return {*} {void}
|
|
228
|
+
*/
|
|
229
|
+
protected initControlScheduler(logics: IControlLogic[] = []): void {
|
|
230
|
+
if (logics.length === 0) {
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
this.scheduler = ibiz.scheduler.createControlScheduler(logics);
|
|
234
|
+
this.scheduler.defaultParamsCb = (): IUILogicParams => {
|
|
235
|
+
return this.getEventArgs();
|
|
236
|
+
};
|
|
237
|
+
}
|
|
228
238
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { createUUID, notNilEmpty } from 'qx-util';
|
|
3
3
|
import { IBizContext, RuntimeError } from '@ibiz-template/core';
|
|
4
4
|
import { IAppView } from '@ibiz/model-core';
|
|
5
|
+
import { isEmpty, isNil } from 'ramda';
|
|
5
6
|
import { LoadingState } from '../../utils/loading/loading.state';
|
|
6
7
|
import {
|
|
7
8
|
IViewController,
|
|
@@ -14,7 +15,7 @@ import {
|
|
|
14
15
|
IUILogicParams,
|
|
15
16
|
IViewEngine,
|
|
16
17
|
} from '../../../interface';
|
|
17
|
-
import { SysUIActionTag
|
|
18
|
+
import { SysUIActionTag } from '../../../constant';
|
|
18
19
|
import { convertNavData, Modal } from '../../../utils';
|
|
19
20
|
import { CTX } from '../../ctx';
|
|
20
21
|
import { ControllerEvent } from '../../utils';
|
|
@@ -45,6 +46,8 @@ export class ViewController<
|
|
|
45
46
|
extends BaseController<T, S, E>
|
|
46
47
|
implements IViewController<T, S, E>
|
|
47
48
|
{
|
|
49
|
+
session: IData = {};
|
|
50
|
+
|
|
48
51
|
modal: IModal = new Modal({});
|
|
49
52
|
|
|
50
53
|
protected get _evt(): ControllerEvent<IViewEvent> {
|
|
@@ -302,8 +305,11 @@ export class ViewController<
|
|
|
302
305
|
handleContextParams(): void {
|
|
303
306
|
this.context.srfappid = this.model.appId!;
|
|
304
307
|
|
|
305
|
-
//
|
|
306
|
-
if (
|
|
308
|
+
// 只要上下文中无 srfsessionid 则生成一个
|
|
309
|
+
if (
|
|
310
|
+
isNil(this.context.srfsessionid) ||
|
|
311
|
+
isEmpty(this.context.srfsessionid)
|
|
312
|
+
) {
|
|
307
313
|
this.context.srfsessionid = createUUID();
|
|
308
314
|
}
|
|
309
315
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IHubController } from '../interface';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 应用级功能
|
|
5
|
+
*
|
|
6
|
+
* @author chitanda
|
|
7
|
+
* @date 2023-08-21 14:08:51
|
|
8
|
+
* @export
|
|
9
|
+
* @class AppController
|
|
10
|
+
* @implements {IHubController}
|
|
11
|
+
*/
|
|
12
|
+
export class HubController implements IHubController {
|
|
13
|
+
session: IData = {};
|
|
14
|
+
|
|
15
|
+
login(loginName: string, password: string): Promise<boolean> {
|
|
16
|
+
return ibiz.auth.login(loginName, password);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
logout(): Promise<boolean> {
|
|
20
|
+
return ibiz.auth.logout();
|
|
21
|
+
}
|
|
22
|
+
}
|
package/src/controller/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Application } from '../../../application';
|
|
|
3
3
|
import { Convert } from '../../../hub';
|
|
4
4
|
import { ModelLoaderProvider } from '../../provider';
|
|
5
5
|
import { IAppConfigService } from '../i-app-config-service/i-app-config-service';
|
|
6
|
+
import { IHubController } from '../../controller';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* 应用 hub 服务
|
|
@@ -22,6 +23,15 @@ export interface IAppHubService {
|
|
|
22
23
|
*/
|
|
23
24
|
readonly convert: Convert;
|
|
24
25
|
|
|
26
|
+
/**
|
|
27
|
+
* 全局控制器,放置全局性的功能性方法
|
|
28
|
+
*
|
|
29
|
+
* @author chitanda
|
|
30
|
+
* @date 2023-08-21 15:08:00
|
|
31
|
+
* @type {IHubController}
|
|
32
|
+
*/
|
|
33
|
+
readonly controller: IHubController;
|
|
34
|
+
|
|
25
35
|
/**
|
|
26
36
|
* 默认应用首页视图
|
|
27
37
|
*
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 应用控制器
|
|
3
|
+
*
|
|
4
|
+
* @author chitanda
|
|
5
|
+
* @date 2023-08-21 14:08:41
|
|
6
|
+
* @export
|
|
7
|
+
* @interface IHubController
|
|
8
|
+
*/
|
|
9
|
+
export interface IHubController {
|
|
10
|
+
/**
|
|
11
|
+
* 全局共享数据对象
|
|
12
|
+
*
|
|
13
|
+
* @author chitanda
|
|
14
|
+
* @date 2023-08-21 14:08:01
|
|
15
|
+
* @type {IData}
|
|
16
|
+
*/
|
|
17
|
+
session: IData;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 登录
|
|
21
|
+
*
|
|
22
|
+
* @author chitanda
|
|
23
|
+
* @date 2023-08-17 16:08:23
|
|
24
|
+
* @param {string} loginName
|
|
25
|
+
* @param {string} password
|
|
26
|
+
* @return {*} {Promise<boolean>}
|
|
27
|
+
*/
|
|
28
|
+
login(loginName: string, password: string): Promise<boolean>;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 登出
|
|
32
|
+
*
|
|
33
|
+
* @author chitanda
|
|
34
|
+
* @date 2023-08-17 16:08:33
|
|
35
|
+
* @return {*} {Promise<boolean>}
|
|
36
|
+
*/
|
|
37
|
+
logout(): Promise<boolean>;
|
|
38
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IDEContextMenu } from '@ibiz/model-core';
|
|
2
|
+
import { IContextMenuEvent } from '../../event';
|
|
3
|
+
import { IContextMenuState } from '../../state';
|
|
4
|
+
import { IToolbarController } from './i-toolbar.controller';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 上下文菜单接口
|
|
8
|
+
* @author lxm
|
|
9
|
+
* @date 2023-08-21 10:43:51
|
|
10
|
+
* @export
|
|
11
|
+
* @interface IContextMenuController
|
|
12
|
+
* @extends {IToolbarController<IDEContextMenu, IContextMenuState, IContextMenuEvent>}
|
|
13
|
+
*/
|
|
14
|
+
export interface IContextMenuController
|
|
15
|
+
extends IToolbarController<
|
|
16
|
+
IDEContextMenu,
|
|
17
|
+
IContextMenuState,
|
|
18
|
+
IContextMenuEvent
|
|
19
|
+
> {}
|
|
@@ -11,8 +11,11 @@ import { IControlController } from './i-control.controller';
|
|
|
11
11
|
* @interface IToolbarController
|
|
12
12
|
* @extends {IControlController}
|
|
13
13
|
*/
|
|
14
|
-
export interface IToolbarController
|
|
15
|
-
extends
|
|
14
|
+
export interface IToolbarController<
|
|
15
|
+
T extends IDEToolbar = IDEToolbar,
|
|
16
|
+
S extends IToolbarState = IToolbarState,
|
|
17
|
+
E extends IToolbarEvent = IToolbarEvent,
|
|
18
|
+
> extends IControlController<T, S, E> {
|
|
16
19
|
/**
|
|
17
20
|
* 根据数据计算工具栏权限和状态
|
|
18
21
|
* @author lxm
|
|
@@ -20,7 +23,7 @@ export interface IToolbarController
|
|
|
20
23
|
* @param {IData} [data] 实体数据
|
|
21
24
|
* @param {string} [appDeId] 实体标识
|
|
22
25
|
*/
|
|
23
|
-
calcButtonState(data?: IData, appDeId?: string): void
|
|
26
|
+
calcButtonState(data?: IData, appDeId?: string): Promise<void>;
|
|
24
27
|
|
|
25
28
|
/**
|
|
26
29
|
* 设置额外的按钮(可多次调用会累加)
|
|
@@ -29,6 +29,15 @@ export interface IViewController<
|
|
|
29
29
|
> extends IController<T, S, E> {
|
|
30
30
|
evt: ControllerEvent<E>;
|
|
31
31
|
|
|
32
|
+
/**
|
|
33
|
+
* 视图级共享数据对象
|
|
34
|
+
*
|
|
35
|
+
* @author chitanda
|
|
36
|
+
* @date 2023-08-21 15:08:52
|
|
37
|
+
* @type {IData}
|
|
38
|
+
*/
|
|
39
|
+
session: IData;
|
|
40
|
+
|
|
32
41
|
/**
|
|
33
42
|
* 视图呈现模式
|
|
34
43
|
* @author lxm
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { EventBase } from '../argument';
|
|
2
|
+
import { IMDViewEvent } from './i-md-view.event';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 选择多数据视图事件
|
|
6
|
+
*
|
|
7
|
+
* @author zk
|
|
8
|
+
* @date 2023-08-21 05:08:15
|
|
9
|
+
* @export
|
|
10
|
+
* @interface IPickupMDViewEvent
|
|
11
|
+
* @extends {IMDViewEvent}
|
|
12
|
+
*/
|
|
13
|
+
export interface IPickupMDViewEvent extends IMDViewEvent {
|
|
14
|
+
/**
|
|
15
|
+
* 选中数据变更事件
|
|
16
|
+
*
|
|
17
|
+
* @author zk
|
|
18
|
+
* @date 2023-08-21 05:08:09
|
|
19
|
+
* @type {{
|
|
20
|
+
* event: EventBase;
|
|
21
|
+
* emitArgs: { data: IData[] };
|
|
22
|
+
* }}
|
|
23
|
+
* @memberof IPickupMDViewEvent
|
|
24
|
+
*/
|
|
25
|
+
onSelectionChange: {
|
|
26
|
+
event: EventBase;
|
|
27
|
+
emitArgs: { data: IData[] };
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IIcon } from '../../common';
|
|
2
2
|
import { IMDControlState } from './i-md-control.state';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -37,14 +37,6 @@ export interface ITreeState extends IMDControlState {
|
|
|
37
37
|
* @type {string[]}
|
|
38
38
|
*/
|
|
39
39
|
expandedKeys: string[];
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* 右键上下文菜单状态
|
|
43
|
-
* @author lxm
|
|
44
|
-
* @date 2023-08-01 04:48:11
|
|
45
|
-
* @type {{ [p: string]: IButtonContainerState }}
|
|
46
|
-
*/
|
|
47
|
-
contextMenus: { [p: string]: IButtonContainerState };
|
|
48
40
|
}
|
|
49
41
|
|
|
50
42
|
/**
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IMDViewState } from './i-md-view.state';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 选择多数据视图UI状态
|
|
5
|
+
*
|
|
6
|
+
* @author zk
|
|
7
|
+
* @date 2023-05-25 05:05:43
|
|
8
|
+
* @export
|
|
9
|
+
* @interface IPickupMDViewState
|
|
10
|
+
* @extends {IMDViewState}
|
|
11
|
+
*/
|
|
12
|
+
export interface IPickupMDViewState extends IMDViewState {
|
|
13
|
+
/**
|
|
14
|
+
* 是否单选
|
|
15
|
+
*
|
|
16
|
+
* @author zk
|
|
17
|
+
* @date 2023-08-21 05:08:36
|
|
18
|
+
* @type {boolean}
|
|
19
|
+
* @memberof IPickupMDViewState
|
|
20
|
+
*/
|
|
21
|
+
singleSelect: boolean;
|
|
22
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IModalData
|
|
1
|
+
import { IModalData } from '../../common';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* 打开视图工具类
|
|
@@ -25,13 +25,13 @@ export interface IOpenViewUtil {
|
|
|
25
25
|
*
|
|
26
26
|
* @author chitanda
|
|
27
27
|
* @date 2023-07-12 21:07:51
|
|
28
|
-
* @param {
|
|
28
|
+
* @param {string} appViewId
|
|
29
29
|
* @param {IContext} context
|
|
30
30
|
* @param {IParams} [params]
|
|
31
31
|
* @return {*} {Promise<IModalData>}
|
|
32
32
|
*/
|
|
33
33
|
root(
|
|
34
|
-
|
|
34
|
+
appViewId: string,
|
|
35
35
|
context: IContext,
|
|
36
36
|
params?: IParams,
|
|
37
37
|
): Promise<IModalData>;
|
|
@@ -41,13 +41,13 @@ export interface IOpenViewUtil {
|
|
|
41
41
|
*
|
|
42
42
|
* @author chitanda
|
|
43
43
|
* @date 2022-08-16 20:08:41
|
|
44
|
-
* @param {
|
|
44
|
+
* @param {string} appViewId
|
|
45
45
|
* @param {IContext} [context]
|
|
46
46
|
* @param {IParams} [params]
|
|
47
47
|
* @return {*} {Promise<IModalData>}
|
|
48
48
|
*/
|
|
49
49
|
modal(
|
|
50
|
-
|
|
50
|
+
appViewId: string,
|
|
51
51
|
context: IContext,
|
|
52
52
|
params?: IParams,
|
|
53
53
|
): Promise<IModalData>;
|
|
@@ -57,13 +57,13 @@ export interface IOpenViewUtil {
|
|
|
57
57
|
*
|
|
58
58
|
* @author chitanda
|
|
59
59
|
* @date 2022-08-16 20:08:22
|
|
60
|
-
* @param {
|
|
60
|
+
* @param {string} appViewId
|
|
61
61
|
* @param {IContext} [context]
|
|
62
62
|
* @param {IParams} [params]
|
|
63
63
|
* @return {*} {Promise<IModalData>}
|
|
64
64
|
*/
|
|
65
65
|
popover(
|
|
66
|
-
|
|
66
|
+
appViewId: string,
|
|
67
67
|
event: MouseEvent,
|
|
68
68
|
context: IContext,
|
|
69
69
|
params?: IParams,
|
|
@@ -74,13 +74,13 @@ export interface IOpenViewUtil {
|
|
|
74
74
|
*
|
|
75
75
|
* @author chitanda
|
|
76
76
|
* @date 2022-08-16 20:08:46
|
|
77
|
-
* @param {
|
|
77
|
+
* @param {string} appViewId
|
|
78
78
|
* @param {IContext} [context]
|
|
79
79
|
* @param {IParams} [params]
|
|
80
80
|
* @return {*} {Promise<IModalData>}
|
|
81
81
|
*/
|
|
82
82
|
drawer(
|
|
83
|
-
|
|
83
|
+
appViewId: string,
|
|
84
84
|
context: IContext,
|
|
85
85
|
params?: IParams,
|
|
86
86
|
): Promise<IModalData>;
|
|
@@ -90,13 +90,13 @@ export interface IOpenViewUtil {
|
|
|
90
90
|
*
|
|
91
91
|
* @author chitanda
|
|
92
92
|
* @date 2022-08-16 20:08:29
|
|
93
|
-
* @param {
|
|
93
|
+
* @param {string} appViewId
|
|
94
94
|
* @param {IContext} [context]
|
|
95
95
|
* @param {IParams} [params]
|
|
96
96
|
* @return {*} {Promise<IModalData>}
|
|
97
97
|
*/
|
|
98
98
|
custom(
|
|
99
|
-
|
|
99
|
+
appViewId: string,
|
|
100
100
|
context: IContext,
|
|
101
101
|
params?: IParams,
|
|
102
102
|
): Promise<IModalData>;
|
|
@@ -12,7 +12,7 @@ export interface IScriptFunctionOpts {
|
|
|
12
12
|
* @date 2023-07-25 10:46:18
|
|
13
13
|
* @type {boolean}
|
|
14
14
|
*/
|
|
15
|
-
singleRowReturn
|
|
15
|
+
singleRowReturn?: boolean;
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* 预置参数
|
|
@@ -21,4 +21,12 @@ export interface IScriptFunctionOpts {
|
|
|
21
21
|
* @type {IParams}
|
|
22
22
|
*/
|
|
23
23
|
presetParams?: IParams;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 是否是异步函数脚本
|
|
27
|
+
* @author lxm
|
|
28
|
+
* @date 2023-08-21 03:15:43
|
|
29
|
+
* @type {boolean}
|
|
30
|
+
*/
|
|
31
|
+
isAsync?: boolean;
|
|
24
32
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IUILogicParams } from '../../interface';
|
|
1
|
+
import { IScriptFunctionOpts, IUILogicParams } from '../../interface';
|
|
3
2
|
import { ScriptFactory, ScriptFunction } from '../../utils';
|
|
4
3
|
import { LogicExecutor } from './logic-executor';
|
|
5
4
|
|
|
@@ -18,12 +17,12 @@ export class ScriptExecutor extends LogicExecutor {
|
|
|
18
17
|
scriptFn?: ScriptFunction;
|
|
19
18
|
|
|
20
19
|
/**
|
|
21
|
-
*
|
|
20
|
+
* 初始化完成
|
|
22
21
|
* @author lxm
|
|
23
|
-
* @date 2023-
|
|
22
|
+
* @date 2023-08-21 04:27:38
|
|
24
23
|
* @type {boolean}
|
|
25
24
|
*/
|
|
26
|
-
|
|
25
|
+
initialized: boolean = false;
|
|
27
26
|
|
|
28
27
|
/**
|
|
29
28
|
* 执行参数转换成脚本执行作用域参数
|
|
@@ -32,8 +31,9 @@ export class ScriptExecutor extends LogicExecutor {
|
|
|
32
31
|
* @param {IUILogicParams} _executeParams
|
|
33
32
|
* @return {*} {IData[]}
|
|
34
33
|
*/
|
|
35
|
-
convertScriptArgs(
|
|
36
|
-
|
|
34
|
+
convertScriptArgs(executeParams: IUILogicParams): IData {
|
|
35
|
+
// 默认不特殊处理的不转换
|
|
36
|
+
return executeParams;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
/**
|
|
@@ -46,16 +46,13 @@ export class ScriptExecutor extends LogicExecutor {
|
|
|
46
46
|
init(
|
|
47
47
|
paramKeys: string[],
|
|
48
48
|
convertFun: (executeParams: IUILogicParams) => IData,
|
|
49
|
+
options?: IScriptFunctionOpts,
|
|
49
50
|
): void {
|
|
50
51
|
this.convertScriptArgs = convertFun;
|
|
51
|
-
|
|
52
|
-
if (this.isRowReturn) {
|
|
53
|
-
code = `return (${code})`;
|
|
54
|
-
}
|
|
52
|
+
const code = this.logic.scriptCode!;
|
|
55
53
|
// eslint-disable-next-line no-new-func
|
|
56
|
-
this.scriptFn = ScriptFactory.createScriptFn(paramKeys, code,
|
|
57
|
-
|
|
58
|
-
});
|
|
54
|
+
this.scriptFn = ScriptFactory.createScriptFn(paramKeys, code, options);
|
|
55
|
+
this.initialized = true;
|
|
59
56
|
}
|
|
60
57
|
|
|
61
58
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -16,8 +16,10 @@ export class ItemDynaLogicTrigger extends LogicTrigger {
|
|
|
16
16
|
`预定义逻辑类型${this.type}的触发器类型只能是脚本`,
|
|
17
17
|
);
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
bindScriptExecutor(executor: ScriptExecutor): void {
|
|
22
|
+
executor.init(
|
|
21
23
|
['context', 'viewparams', 'data', 'env'],
|
|
22
24
|
executeParams => {
|
|
23
25
|
const { context, params, data } = executeParams;
|
|
@@ -28,6 +30,10 @@ export class ItemDynaLogicTrigger extends LogicTrigger {
|
|
|
28
30
|
env: ibiz.env,
|
|
29
31
|
};
|
|
30
32
|
},
|
|
33
|
+
{
|
|
34
|
+
singleRowReturn: true,
|
|
35
|
+
isAsync: false,
|
|
36
|
+
},
|
|
31
37
|
);
|
|
32
38
|
}
|
|
33
39
|
|
|
@@ -6,6 +6,7 @@ import type {
|
|
|
6
6
|
TriggerType,
|
|
7
7
|
} from '../../interface';
|
|
8
8
|
import { LogicExecutor } from '../executor/logic-executor';
|
|
9
|
+
import { ScriptExecutor } from '../executor/script-executor';
|
|
9
10
|
import { LogicScheduler } from '../scheduler/logic-scheduler';
|
|
10
11
|
|
|
11
12
|
/**
|
|
@@ -51,6 +52,24 @@ export class LogicTrigger {
|
|
|
51
52
|
*/
|
|
52
53
|
bindExecutor(executor: LogicExecutor): void {
|
|
53
54
|
this.executor = executor;
|
|
55
|
+
if (this.executor.type === 'SCRIPT') {
|
|
56
|
+
this.bindScriptExecutor(executor as ScriptExecutor);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* 绑定脚本执行器
|
|
62
|
+
* @author lxm
|
|
63
|
+
* @date 2023-08-21 04:33:35
|
|
64
|
+
* @param {ScriptExecutor} executor
|
|
65
|
+
*/
|
|
66
|
+
bindScriptExecutor(executor: ScriptExecutor): void {
|
|
67
|
+
if (!executor.initialized) {
|
|
68
|
+
executor.init([], executeParams => executeParams, {
|
|
69
|
+
isAsync: true,
|
|
70
|
+
singleRowReturn: false,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
54
73
|
}
|
|
55
74
|
|
|
56
75
|
/**
|