@ibiz-template/runtime 0.1.6 → 0.1.7
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 +198 -99
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/command/app/open-app-view/open-app-view.d.ts +3 -3
- package/out/command/app/open-app-view/open-app-view.d.ts.map +1 -1
- package/out/command/app/open-app-view/open-app-view.js +4 -1
- package/out/controller/common/base.controller.js +1 -1
- package/out/controller/common/control/md-control.controller.js +1 -1
- package/out/controller/common/view/view.controller.d.ts.map +1 -1
- package/out/controller/common/view/view.controller.js +13 -3
- package/out/controller/ctx/ctx.d.ts.map +1 -1
- package/out/controller/ctx/ctx.js +1 -1
- package/out/interface/common/i-open-view-options/i-open-view-options.d.ts +38 -0
- package/out/interface/common/i-open-view-options/i-open-view-options.d.ts.map +1 -0
- package/out/interface/common/i-open-view-options/i-open-view-options.js +1 -0
- package/out/interface/common/index.d.ts +1 -0
- package/out/interface/common/index.d.ts.map +1 -1
- package/out/interface/logic-scheduler/i-scheduler-logic.d.ts +5 -3
- package/out/interface/logic-scheduler/i-scheduler-logic.d.ts.map +1 -1
- package/out/interface/logic-scheduler/i-trigger-match-params.d.ts +5 -0
- package/out/interface/logic-scheduler/i-trigger-match-params.d.ts.map +1 -1
- package/out/interface/util/i-confirm-util/i-confirm-util.d.ts +82 -0
- package/out/interface/util/i-confirm-util/i-confirm-util.d.ts.map +1 -0
- package/out/interface/util/i-confirm-util/i-confirm-util.js +1 -0
- package/out/interface/util/i-modal-util/i-modal-util.d.ts +8 -0
- package/out/interface/util/i-modal-util/i-modal-util.d.ts.map +1 -1
- package/out/interface/util/index.d.ts +1 -0
- package/out/interface/util/index.d.ts.map +1 -1
- package/out/logic-scheduler/index.d.ts.map +1 -1
- package/out/logic-scheduler/index.js +2 -0
- package/out/logic-scheduler/scheduler/logic-scheduler.d.ts +24 -1
- package/out/logic-scheduler/scheduler/logic-scheduler.d.ts.map +1 -1
- package/out/logic-scheduler/scheduler/logic-scheduler.js +39 -0
- package/out/logic-scheduler/trigger/control-event-trigger.d.ts +27 -0
- package/out/logic-scheduler/trigger/control-event-trigger.d.ts.map +1 -0
- package/out/logic-scheduler/trigger/control-event-trigger.js +33 -0
- package/out/logic-scheduler/trigger/view-event-trigger.d.ts +8 -0
- package/out/logic-scheduler/trigger/view-event-trigger.d.ts.map +1 -1
- package/out/logic-scheduler/trigger/view-event-trigger.js +8 -0
- package/out/service/dto/method.dto.d.ts.map +1 -1
- package/out/service/dto/method.dto.js +1 -15
- package/out/service/service/code-list/code-list.service.d.ts.map +1 -1
- package/out/service/service/code-list/code-list.service.js +5 -1
- package/out/types.d.ts +19 -1
- package/out/types.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-node/bind-param-node/bind-param-node.d.ts +17 -0
- package/out/ui-logic/ui-logic-node/bind-param-node/bind-param-node.d.ts.map +1 -0
- package/out/ui-logic/ui-logic-node/bind-param-node/bind-param-node.js +22 -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-param/ui-logic-param.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-param/ui-logic-param.js +2 -2
- package/out/ui-logic/ui-logic.d.ts.map +1 -1
- package/out/ui-logic/ui-logic.js +5 -3
- package/out/ui-logic/utils/handle-src-val.d.ts.map +1 -1
- package/out/ui-logic/utils/handle-src-val.js +2 -4
- package/out/utils/open-redirect-view/open-redirect-view.d.ts +4 -4
- package/out/utils/open-redirect-view/open-redirect-view.d.ts.map +1 -1
- package/out/utils/open-redirect-view/open-redirect-view.js +10 -9
- package/package.json +3 -3
- package/src/command/app/open-app-view/open-app-view.ts +8 -5
- package/src/controller/common/base.controller.ts +1 -1
- package/src/controller/common/control/md-control.controller.ts +1 -1
- package/src/controller/common/view/view.controller.ts +16 -3
- package/src/controller/ctx/ctx.ts +1 -1
- package/src/interface/common/i-open-view-options/i-open-view-options.ts +40 -0
- package/src/interface/common/index.ts +1 -0
- package/src/interface/logic-scheduler/i-scheduler-logic.ts +6 -3
- package/src/interface/logic-scheduler/i-trigger-match-params.ts +6 -0
- package/src/interface/util/i-confirm-util/i-confirm-util.ts +82 -0
- package/src/interface/util/i-modal-util/i-modal-util.ts +8 -0
- package/src/interface/util/index.ts +1 -0
- package/src/logic-scheduler/index.ts +5 -0
- package/src/logic-scheduler/scheduler/logic-scheduler.ts +43 -0
- package/src/logic-scheduler/trigger/control-event-trigger.ts +45 -0
- package/src/logic-scheduler/trigger/view-event-trigger.ts +8 -0
- package/src/service/dto/method.dto.ts +1 -13
- package/src/service/service/code-list/code-list.service.ts +8 -1
- package/src/types.ts +21 -0
- package/src/ui-logic/ui-logic-node/bind-param-node/bind-param-node.ts +30 -0
- package/src/ui-logic/ui-logic-node/index.ts +1 -0
- package/src/ui-logic/ui-logic-param/ui-logic-param.ts +5 -2
- package/src/ui-logic/ui-logic.ts +5 -2
- package/src/ui-logic/utils/handle-src-val.ts +3 -6
- package/src/utils/open-redirect-view/open-redirect-view.ts +10 -8
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/* eslint-disable no-await-in-loop */
|
|
2
|
-
import { clone } from 'ramda';
|
|
3
|
-
import { isNilOrEmpty } from 'qx-util';
|
|
4
1
|
import { ModelError } from '@ibiz-template/core';
|
|
5
2
|
import { AppDataEntity } from '../app-data-entity/app-data-entity';
|
|
6
3
|
import { findModelChild } from '../../model';
|
|
@@ -40,21 +37,11 @@ export class MethodDto {
|
|
|
40
37
|
async get(context, data) {
|
|
41
38
|
const params = {};
|
|
42
39
|
// 拷贝数据
|
|
43
|
-
const copyData = clone(data);
|
|
44
40
|
for (let i = 0; i < this.fields.length; i++) {
|
|
45
41
|
const field = this.fields[i];
|
|
46
42
|
const key = field.codeName.toLowerCase();
|
|
47
43
|
switch (field.type) {
|
|
48
44
|
case 'SIMPLE': {
|
|
49
|
-
const val = copyData[key];
|
|
50
|
-
if (isNilOrEmpty(val)) {
|
|
51
|
-
params[key] = null;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
params[key] = val;
|
|
55
|
-
}
|
|
56
|
-
// 取值后删除
|
|
57
|
-
delete copyData[key];
|
|
58
45
|
break;
|
|
59
46
|
}
|
|
60
47
|
case 'DTOS': {
|
|
@@ -75,8 +62,7 @@ export class MethodDto {
|
|
|
75
62
|
}
|
|
76
63
|
}
|
|
77
64
|
// 合并剩余参数
|
|
78
|
-
Object.assign(
|
|
79
|
-
return params;
|
|
65
|
+
return Object.assign(Object.assign({}, data), params);
|
|
80
66
|
}
|
|
81
67
|
/**
|
|
82
68
|
* 设置本地 DTO 存储
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-list.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/code-list/code-list.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;GAOG;AACH,qBAAa,eAAe;IAoBd,SAAS,CAAC,QAAQ,EAAE,YAAY;IAnB5C;;;;;OAKG;IACH,SAAS,CAAC,YAAY,4BAAmC;IAEzD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,oBAAoB,CAAC,CAChE;gBAEU,QAAQ,EAAE,YAAY;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE;IAc3D;;;;;;;;OAQG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAMzC;;;;;;;;OAQG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIlD;;;;;;;;;OASG;IACH,SAAS,CAAC,iBAAiB,CACzB,SAAS,EAAE,SAAS,EAAE,EACtB,aAAa,EAAE,OAAO,GACrB,QAAQ,CAAC,YAAY,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"code-list.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/code-list/code-list.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;GAOG;AACH,qBAAa,eAAe;IAoBd,SAAS,CAAC,QAAQ,EAAE,YAAY;IAnB5C;;;;;OAKG;IACH,SAAS,CAAC,YAAY,4BAAmC;IAEzD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,oBAAoB,CAAC,CAChE;gBAEU,QAAQ,EAAE,YAAY;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE;IAc3D;;;;;;;;OAQG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAMzC;;;;;;;;OAQG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIlD;;;;;;;;;OASG;IACH,SAAS,CAAC,iBAAiB,CACzB,SAAS,EAAE,SAAS,EAAE,EACtB,aAAa,EAAE,OAAO,GACrB,QAAQ,CAAC,YAAY,CAAC,EAAE;IA0B3B;;;;;;;;OAQG;cACa,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,OAAY,EACrB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;IAa1B;;;;;;;;;OASG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;CAcpC"}
|
|
@@ -89,8 +89,12 @@ export class CodeListService {
|
|
|
89
89
|
return codeItems.map(codeItem => {
|
|
90
90
|
var _a;
|
|
91
91
|
// todo代码项其他属性,表单数据
|
|
92
|
+
let text = codeItem.text;
|
|
93
|
+
if (codeItem.textLanguageRes) {
|
|
94
|
+
text = ibiz.i18n.t(codeItem.textLanguageRes.lanResTag, codeItem.textLanguageRes.defaultContent);
|
|
95
|
+
}
|
|
92
96
|
const _codeItem = {
|
|
93
|
-
text
|
|
97
|
+
text,
|
|
94
98
|
value: isValueNumber ? Number(codeItem.value) : codeItem.value,
|
|
95
99
|
color: codeItem.color,
|
|
96
100
|
id: codeItem.codeName,
|
package/out/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { I18n } from '@ibiz-template/core/src/interface';
|
|
1
2
|
import { EngineFactory } from './engine';
|
|
2
3
|
import { GlobalUtil } from './global';
|
|
3
|
-
import { IMessageUtil, INotificationUtil, IOpenViewUtil, IModalUtil, ILoadingUtil, IPluginFactory, IOverlayController, IGlobalConfig, IAppHubService } from './interface';
|
|
4
|
+
import { IMessageUtil, INotificationUtil, IOpenViewUtil, IModalUtil, IConfirmUtil, ILoadingUtil, IPluginFactory, IOverlayController, IGlobalConfig, IAppHubService } from './interface';
|
|
4
5
|
import { LogicSchedulerCenter } from './logic-scheduler';
|
|
5
6
|
import { RegisterCenter } from './register/register-center';
|
|
6
7
|
import { AuthService } from './service';
|
|
@@ -31,6 +32,15 @@ declare module '@ibiz-template/core' {
|
|
|
31
32
|
* @type {IModalUtil}
|
|
32
33
|
*/
|
|
33
34
|
modal: IModalUtil;
|
|
35
|
+
/**
|
|
36
|
+
* 确认框
|
|
37
|
+
*
|
|
38
|
+
* @description 需要用户确认收到提示消息时使用此工具
|
|
39
|
+
* @author chitanda
|
|
40
|
+
* @date 2022-08-17 16:08:10
|
|
41
|
+
* @type {IConfirmUtil}
|
|
42
|
+
*/
|
|
43
|
+
confirm: IConfirmUtil;
|
|
34
44
|
/**
|
|
35
45
|
* 消息通知
|
|
36
46
|
*
|
|
@@ -113,6 +123,14 @@ declare module '@ibiz-template/core' {
|
|
|
113
123
|
* @type {GlobalUtil}
|
|
114
124
|
*/
|
|
115
125
|
util: GlobalUtil;
|
|
126
|
+
/**
|
|
127
|
+
* 多语言
|
|
128
|
+
*
|
|
129
|
+
* @author chitanda
|
|
130
|
+
* @date 2023-08-11 16:08:15
|
|
131
|
+
* @type {I18n}
|
|
132
|
+
*/
|
|
133
|
+
i18n: I18n;
|
|
116
134
|
/**
|
|
117
135
|
* 逻辑调度中心
|
|
118
136
|
* @author lxm
|
package/out/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf;;;;;;WAMG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;WAMG;QACH,GAAG,EAAE,cAAc,CAAC;QAEpB;;;;;;;WAOG;QACH,KAAK,EAAE,UAAU,CAAC;QAElB;;;;;;;WAOG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;;WAOG;QACH,YAAY,EAAE,iBAAiB,CAAC;QAEhC;;;;;;;WAOG;QACH,QAAQ,EAAE,aAAa,CAAC;QAExB;;;;;;WAMG;QACH,OAAO,EAAE,kBAAkB,CAAC;QAE5B;;;;;;WAMG;QACH,MAAM,EAAE,cAAc,CAAC;QAEvB;;;;;;WAMG;QACH,QAAQ,EAAE,cAAc,CAAC;QAEzB;;;;;;WAMG;QACH,MAAM,EAAE,aAAa,CAAC;QAEtB;;;;;;WAMG;QACH,IAAI,EAAE,WAAW,CAAC;QAElB;;;;;WAKG;QACH,MAAM,EAAE,aAAa,CAAC;QAEtB;;;;;;WAMG;QACH,IAAI,EAAE,UAAU,CAAC;QAEjB;;;;;WAKG;QACH,SAAS,EAAE,oBAAoB,CAAC;KACjC;CACF"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf;;;;;;WAMG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;WAMG;QACH,GAAG,EAAE,cAAc,CAAC;QAEpB;;;;;;;WAOG;QACH,KAAK,EAAE,UAAU,CAAC;QAElB;;;;;;;WAOG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;;WAOG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;;WAOG;QACH,YAAY,EAAE,iBAAiB,CAAC;QAEhC;;;;;;;WAOG;QACH,QAAQ,EAAE,aAAa,CAAC;QAExB;;;;;;WAMG;QACH,OAAO,EAAE,kBAAkB,CAAC;QAE5B;;;;;;WAMG;QACH,MAAM,EAAE,cAAc,CAAC;QAEvB;;;;;;WAMG;QACH,QAAQ,EAAE,cAAc,CAAC;QAEzB;;;;;;WAMG;QACH,MAAM,EAAE,aAAa,CAAC;QAEtB;;;;;;WAMG;QACH,IAAI,EAAE,WAAW,CAAC;QAElB;;;;;WAKG;QACH,MAAM,EAAE,aAAa,CAAC;QAEtB;;;;;;WAMG;QACH,IAAI,EAAE,UAAU,CAAC;QAEjB;;;;;;WAMG;QACH,IAAI,EAAE,IAAI,CAAC;QAEX;;;;;WAKG;QACH,SAAS,EAAE,oBAAoB,CAAC;KACjC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IDEUIBindParamLogic } from '@ibiz/model-core';
|
|
2
|
+
import { UILogicContext } from '../../ui-logic-context';
|
|
3
|
+
import { UILogicNode } from '../ui-logic-node';
|
|
4
|
+
/**
|
|
5
|
+
* 绑定参数
|
|
6
|
+
*
|
|
7
|
+
* @author lxm
|
|
8
|
+
* @date 2023-02-09 21:02:20
|
|
9
|
+
* @export
|
|
10
|
+
* @class BindParamNode
|
|
11
|
+
* @extends {UILogicNode}
|
|
12
|
+
*/
|
|
13
|
+
export declare class BindParamNode extends UILogicNode {
|
|
14
|
+
model: IDEUIBindParamLogic;
|
|
15
|
+
exec(ctx: UILogicContext): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=bind-param-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bind-param-node.d.ts","sourceRoot":"","sources":["../../../../src/ui-logic/ui-logic-node/bind-param-node/bind-param-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,WAAW;IACpC,KAAK,EAAE,mBAAmB,CAAC;IAE7B,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAW/C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RuntimeModelError } from '@ibiz-template/core';
|
|
2
|
+
import { handleSrcVal } from '../../utils';
|
|
3
|
+
import { UILogicNode } from '../ui-logic-node';
|
|
4
|
+
/**
|
|
5
|
+
* 绑定参数
|
|
6
|
+
*
|
|
7
|
+
* @author lxm
|
|
8
|
+
* @date 2023-02-09 21:02:20
|
|
9
|
+
* @export
|
|
10
|
+
* @class BindParamNode
|
|
11
|
+
* @extends {UILogicNode}
|
|
12
|
+
*/
|
|
13
|
+
export class BindParamNode extends UILogicNode {
|
|
14
|
+
async exec(ctx) {
|
|
15
|
+
const { dstDEUILogicParamId, srcDEUILogicParamId } = this.model;
|
|
16
|
+
if (!dstDEUILogicParamId || !srcDEUILogicParamId) {
|
|
17
|
+
throw new RuntimeModelError(this.model, '缺少目标参数对象或者源参数对象配置');
|
|
18
|
+
}
|
|
19
|
+
const srcVal = handleSrcVal(ctx, this.model);
|
|
20
|
+
ctx.params[dstDEUILogicParamId] = srcVal;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -5,4 +5,5 @@ export { EndNode } from './end-node/end-node';
|
|
|
5
5
|
export { PrepareJSParamNode } from './prepare-js-param-node/prepare-js-param-node';
|
|
6
6
|
export { UILogicNode } from './ui-logic-node';
|
|
7
7
|
export { ViewCtrlInvokeNode } from './view-ctrl-invoke-node/view-ctrl-invoke-node';
|
|
8
|
+
export { BindParamNode } from './bind-param-node/bind-param-node';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui-logic/ui-logic-node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui-logic/ui-logic-node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -5,3 +5,4 @@ export { EndNode } from './end-node/end-node';
|
|
|
5
5
|
export { PrepareJSParamNode } from './prepare-js-param-node/prepare-js-param-node';
|
|
6
6
|
export { UILogicNode } from './ui-logic-node';
|
|
7
7
|
export { ViewCtrlInvokeNode } from './view-ctrl-invoke-node/view-ctrl-invoke-node';
|
|
8
|
+
export { BindParamNode } from './bind-param-node/bind-param-node';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-logic-param.d.ts","sourceRoot":"","sources":["../../../src/ui-logic/ui-logic-param/ui-logic-param.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;GAOG;AACH,qBAAa,YAAY;IAQJ,KAAK,EAAE,eAAe;IAPzC;;;;;;OAMG;gBACgB,KAAK,EAAE,eAAe;IAEzC;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ui-logic-param.d.ts","sourceRoot":"","sources":["../../../src/ui-logic/ui-logic-param/ui-logic-param.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;GAOG;AACH,qBAAa,YAAY;IAQJ,KAAK,EAAE,eAAe;IAPzC;;;;;;OAMG;gBACgB,KAAK,EAAE,eAAe;IAEzC;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IAgE/B;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;CAWjC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ModelError,
|
|
1
|
+
import { ModelError, RuntimeModelError } from '@ibiz-template/core';
|
|
2
2
|
/**
|
|
3
3
|
* 界面逻辑参数
|
|
4
4
|
*
|
|
@@ -48,7 +48,7 @@ export class UILogicParam {
|
|
|
48
48
|
ctx.params[tag] = control;
|
|
49
49
|
}
|
|
50
50
|
else {
|
|
51
|
-
throw new
|
|
51
|
+
throw new RuntimeModelError(this.model, `视图逻辑初始化参数,未找到${m.codeName}指定部件对象`);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
else if (m.activeViewParam) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-logic.d.ts","sourceRoot":"","sources":["../../src/ui-logic/ui-logic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"ui-logic.d.ts","sourceRoot":"","sources":["../../src/ui-logic/ui-logic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAOL,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D;;;;;;;GAOG;AACH,qBAAa,OAAO;IA2BN,SAAS,CAAC,KAAK,EAAE,UAAU;IA1BvC;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;IAEtD;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IAExD;;;;;OAKG;gBACmB,KAAK,EAAE,UAAU;IA4DvC;;;;;;;;;;OAUG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IASpD;;;;;;;;;OASG;IACG,IAAI,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBxD;;;;;;;;;;;;;OAaG;cACa,QAAQ,CACtB,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,IAAI,CAAC;CAiBjB"}
|
package/out/ui-logic/ui-logic.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-await-in-loop */
|
|
2
2
|
import { ModelError, RuntimeModelError } from '@ibiz-template/core';
|
|
3
3
|
import { UILogicContext } from './ui-logic-context';
|
|
4
|
-
import { DEActionNode, DEUIActionNode, EndNode, PrepareJSParamNode, StartNode, ViewCtrlInvokeNode, } from './ui-logic-node';
|
|
4
|
+
import { BindParamNode, DEActionNode, DEUIActionNode, EndNode, PrepareJSParamNode, StartNode, ViewCtrlInvokeNode, } from './ui-logic-node';
|
|
5
5
|
import { UILogicParam } from './ui-logic-param/ui-logic-param';
|
|
6
6
|
/**
|
|
7
7
|
* 界面逻辑
|
|
@@ -61,12 +61,14 @@ export class UILogic {
|
|
|
61
61
|
case 'PREPAREJSPARAM': // 准备参数
|
|
62
62
|
logicNode = new PrepareJSParamNode(node);
|
|
63
63
|
break;
|
|
64
|
-
case 'RESETPARAM': // 重置参数
|
|
65
|
-
case 'COPYPARAM': // 拷贝参数
|
|
66
64
|
case 'BINDPARAM': // 绑定参数
|
|
65
|
+
logicNode = new BindParamNode(node);
|
|
66
|
+
break;
|
|
67
67
|
case 'VIEWCTRLINVOKE': // 视图部件调用
|
|
68
68
|
logicNode = new ViewCtrlInvokeNode(node);
|
|
69
69
|
break;
|
|
70
|
+
case 'RESETPARAM': // 重置参数
|
|
71
|
+
case 'COPYPARAM': // 拷贝参数
|
|
70
72
|
case 'VIEWCTRLFIREEVENT': // 视图部件事件触发
|
|
71
73
|
case 'APPENDPARAM': // 附加到数组参数
|
|
72
74
|
case 'SORTPARAM': // 排序数组参数
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-src-val.d.ts","sourceRoot":"","sources":["../../../src/ui-logic/utils/handle-src-val.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,KAAK,YAAY,GAAG;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,YAAY,GACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"handle-src-val.d.ts","sourceRoot":"","sources":["../../../src/ui-logic/utils/handle-src-val.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,KAAK,YAAY,GAAG;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,YAAY,GACzB,OAAO,CA4CT"}
|
|
@@ -10,11 +10,9 @@ import { clone } from 'ramda';
|
|
|
10
10
|
* @return {*}
|
|
11
11
|
*/
|
|
12
12
|
export function handleSrcVal(ctx, srcValParams) {
|
|
13
|
-
const { srcDEUILogicParamId,
|
|
13
|
+
const { srcDEUILogicParamId, srcFieldName, srcValue } = srcValParams;
|
|
14
14
|
// 没有源值类型就是逻辑参数
|
|
15
|
-
|
|
16
|
-
srcValParams.srcValueType = 'SRCDLPARAM';
|
|
17
|
-
}
|
|
15
|
+
const srcValueType = srcValParams.srcValueType || 'SRCDLPARAM';
|
|
18
16
|
let value;
|
|
19
17
|
switch (srcValueType) {
|
|
20
18
|
// 源逻辑参数
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IAppDERedirectView, IAppDataEntity, IAppRedirectView } from '@ibiz/model-core';
|
|
2
|
-
import { IModalData } from '../../interface';
|
|
2
|
+
import { IModalData, IOpenViewOptions } from '../../interface';
|
|
3
3
|
/**
|
|
4
4
|
* 打开重定向视图
|
|
5
5
|
*
|
|
@@ -12,7 +12,7 @@ import { IModalData } from '../../interface';
|
|
|
12
12
|
* @param {IData} [data={}]
|
|
13
13
|
* @return {*} {Promise<IModalData>}
|
|
14
14
|
*/
|
|
15
|
-
export declare function openRedirectView(appView: IAppRedirectView, context: IContext, params?: IParams,
|
|
15
|
+
export declare function openRedirectView(appView: IAppRedirectView, context: IContext, params?: IParams, opts?: IOpenViewOptions): Promise<IModalData>;
|
|
16
16
|
/**
|
|
17
17
|
* 本地打开工作流重定向视图
|
|
18
18
|
*
|
|
@@ -24,7 +24,7 @@ export declare function openRedirectView(appView: IAppRedirectView, context: ICo
|
|
|
24
24
|
* @param {IContext} context
|
|
25
25
|
* @param {string} linkUrl
|
|
26
26
|
*/
|
|
27
|
-
export declare function toLocalOpenWFRedirectView(context: IContext, linkUrl: string): Promise<void>;
|
|
27
|
+
export declare function toLocalOpenWFRedirectView(context: IContext, linkUrl: string, opts?: IOpenViewOptions): Promise<void>;
|
|
28
28
|
/**
|
|
29
29
|
* 打开实体重定向视图
|
|
30
30
|
*
|
|
@@ -37,7 +37,7 @@ export declare function toLocalOpenWFRedirectView(context: IContext, linkUrl: st
|
|
|
37
37
|
* @param {IData[]} [data=[]]
|
|
38
38
|
* @return {*} {Promise<IModalData>}
|
|
39
39
|
*/
|
|
40
|
-
export declare function openDERedirectView(appView: IAppDERedirectView, context: IContext, params?: IParams,
|
|
40
|
+
export declare function openDERedirectView(appView: IAppDERedirectView, context: IContext, params?: IParams, opts?: IOpenViewOptions): Promise<IModalData>;
|
|
41
41
|
/**
|
|
42
42
|
* 计算重定向标识
|
|
43
43
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-redirect-view.d.ts","sourceRoot":"","sources":["../../../src/utils/open-redirect-view/open-redirect-view.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"open-redirect-view.d.ts","sourceRoot":"","sources":["../../../src/utils/open-redirect-view/open-redirect-view.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAK/D;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,EACpB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAOrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoDf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,EACpB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAyGrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,MAAM,CAAC,CA0CjB"}
|
|
@@ -16,8 +16,8 @@ import { calcDeCodeNameById, findFieldById } from '../../model';
|
|
|
16
16
|
* @param {IData} [data={}]
|
|
17
17
|
* @return {*} {Promise<IModalData>}
|
|
18
18
|
*/
|
|
19
|
-
export async function openRedirectView(appView, context, params = {},
|
|
20
|
-
return openDERedirectView(appView, context, params,
|
|
19
|
+
export async function openRedirectView(appView, context, params = {}, opts = {}) {
|
|
20
|
+
return openDERedirectView(appView, context, params, opts);
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* 本地打开工作流重定向视图
|
|
@@ -30,7 +30,7 @@ export async function openRedirectView(appView, context, params = {}, data = [])
|
|
|
30
30
|
* @param {IContext} context
|
|
31
31
|
* @param {string} linkUrl
|
|
32
32
|
*/
|
|
33
|
-
export async function toLocalOpenWFRedirectView(context, linkUrl) {
|
|
33
|
+
export async function toLocalOpenWFRedirectView(context, linkUrl, opts = {}) {
|
|
34
34
|
const i = linkUrl.lastIndexOf('?');
|
|
35
35
|
const queryStr = decodeURIComponent(linkUrl.substring(i + 1, linkUrl.length));
|
|
36
36
|
const params = qs.parse(queryStr, { delimiter: ';' });
|
|
@@ -65,7 +65,7 @@ export async function toLocalOpenWFRedirectView(context, linkUrl) {
|
|
|
65
65
|
context.srfprocessinstanceid = params.srfprocessinstanceid;
|
|
66
66
|
delete params.srfprocessinstanceid;
|
|
67
67
|
}
|
|
68
|
-
await ibiz.commands.execute(OpenAppViewCommand.TAG, deRdView.id, context, params);
|
|
68
|
+
await ibiz.commands.execute(OpenAppViewCommand.TAG, deRdView.id, context, params, opts);
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
71
|
* 打开实体重定向视图
|
|
@@ -79,7 +79,8 @@ export async function toLocalOpenWFRedirectView(context, linkUrl) {
|
|
|
79
79
|
* @param {IData[]} [data=[]]
|
|
80
80
|
* @return {*} {Promise<IModalData>}
|
|
81
81
|
*/
|
|
82
|
-
export async function openDERedirectView(appView, context, params = {},
|
|
82
|
+
export async function openDERedirectView(appView, context, params = {}, opts = {}) {
|
|
83
|
+
var _a;
|
|
83
84
|
// 计算重定向视图上下文参数转换
|
|
84
85
|
const navContext = appView.appViewNavContexts || [];
|
|
85
86
|
const navContextData = convertNavData(navContext, context, params);
|
|
@@ -91,7 +92,7 @@ export async function openDERedirectView(appView, context, params = {}, data = [
|
|
|
91
92
|
// 重定向视图对应应用实体
|
|
92
93
|
const entityId = appView.appDataEntityId;
|
|
93
94
|
const key = calcDeCodeNameById(entityId);
|
|
94
|
-
let curData = data[0] || {};
|
|
95
|
+
let curData = ((_a = opts.data) === null || _a === void 0 ? void 0 : _a[0]) || {};
|
|
95
96
|
// 将数据主键转换到上下文当中
|
|
96
97
|
context[key] = curData[key] || context[key] || params[key];
|
|
97
98
|
// 实体重定向视图获取数据行为
|
|
@@ -125,7 +126,7 @@ export async function openDERedirectView(appView, context, params = {}, data = [
|
|
|
125
126
|
});
|
|
126
127
|
}
|
|
127
128
|
if (linkUrl.startsWith('appredirectview?')) {
|
|
128
|
-
await toLocalOpenWFRedirectView(context, linkUrl);
|
|
129
|
+
await toLocalOpenWFRedirectView(context, linkUrl, opts);
|
|
129
130
|
return { ok: true, data: [] };
|
|
130
131
|
}
|
|
131
132
|
return { ok: false, data: [] };
|
|
@@ -151,7 +152,7 @@ export async function openDERedirectView(appView, context, params = {}, data = [
|
|
|
151
152
|
if (refView) {
|
|
152
153
|
const viewId = refView.refAppViewId;
|
|
153
154
|
if (viewId) {
|
|
154
|
-
const result = await ibiz.commands.execute(OpenAppViewCommand.TAG, viewId, context, params, { data: [curData] });
|
|
155
|
+
const result = await ibiz.commands.execute(OpenAppViewCommand.TAG, viewId, context, params, Object.assign(Object.assign({}, opts), { data: [curData] }));
|
|
155
156
|
if (result) {
|
|
156
157
|
return result;
|
|
157
158
|
}
|
|
@@ -219,7 +220,7 @@ export async function calcDERdTag(entity, rdView, params, data) {
|
|
|
219
220
|
}
|
|
220
221
|
}
|
|
221
222
|
if (notNilEmpty(typeValue)) {
|
|
222
|
-
rdTag = `${defView}:${typeValue.toUpperCase()}`;
|
|
223
|
+
rdTag = `${defView}:${typeValue.toString().toUpperCase()}`;
|
|
223
224
|
}
|
|
224
225
|
else {
|
|
225
226
|
rdTag = `${defView}`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "控制器包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"author": "chitanda",
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@ibiz-template/core": "^0.1.
|
|
32
|
+
"@ibiz-template/core": "^0.1.7",
|
|
33
33
|
"@ibiz/model-core": "^0.0.14",
|
|
34
34
|
"@types/path-browserify": "^1.0.0",
|
|
35
35
|
"@types/qs": "^6.9.7",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"qx-util": "^0.4.8",
|
|
54
54
|
"ramda": "^0.29.0"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "5e283e6c4cfad7a27402a60f96d4f628bf1dbb1a"
|
|
57
57
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ModelError, RuntimeError } from '@ibiz-template/core';
|
|
2
2
|
import { IAppRedirectView } from '@ibiz/model-core';
|
|
3
|
-
import { IModalData, IViewConfig } from '../../../interface';
|
|
3
|
+
import { IModalData, IOpenViewOptions, IViewConfig } from '../../../interface';
|
|
4
4
|
import { calcDeCodeNameById } from '../../../model';
|
|
5
5
|
import { openRedirectView } from '../../../utils';
|
|
6
6
|
|
|
@@ -34,7 +34,7 @@ export class OpenAppViewCommand {
|
|
|
34
34
|
appViewId: string,
|
|
35
35
|
context: IContext,
|
|
36
36
|
params: IParams = {},
|
|
37
|
-
opts:
|
|
37
|
+
opts: IOpenViewOptions = {},
|
|
38
38
|
): Promise<IModalData | void> {
|
|
39
39
|
const appView = await ibiz.hub.config.view.get(appViewId!);
|
|
40
40
|
if (!appView) {
|
|
@@ -54,7 +54,7 @@ export class OpenAppViewCommand {
|
|
|
54
54
|
fullViewModel as IAppRedirectView,
|
|
55
55
|
context,
|
|
56
56
|
params,
|
|
57
|
-
opts
|
|
57
|
+
opts,
|
|
58
58
|
);
|
|
59
59
|
}
|
|
60
60
|
const { openMode = 'INDEXVIEWTAB' } = appView;
|
|
@@ -72,7 +72,7 @@ export class OpenAppViewCommand {
|
|
|
72
72
|
case 'POPUPAPP':
|
|
73
73
|
throw new ModelError(appView, '未支持的视图打开模式: POPUPAPP');
|
|
74
74
|
case 'POPOVER':
|
|
75
|
-
return this.openPopover(appView, opts.event
|
|
75
|
+
return this.openPopover(appView, opts.event!, context, params);
|
|
76
76
|
case 'DRAWER_LEFT':
|
|
77
77
|
case 'DRAWER_RIGHT':
|
|
78
78
|
case 'DRAWER_TOP':
|
|
@@ -135,10 +135,13 @@ export class OpenAppViewCommand {
|
|
|
135
135
|
*/
|
|
136
136
|
protected async openPopover(
|
|
137
137
|
appView: IViewConfig,
|
|
138
|
-
event: MouseEvent,
|
|
138
|
+
event: MouseEvent | undefined,
|
|
139
139
|
context: IContext,
|
|
140
140
|
params: IParams = {},
|
|
141
141
|
): Promise<IModalData> {
|
|
142
|
+
if (!event) {
|
|
143
|
+
throw new RuntimeError('气泡打开缺少event');
|
|
144
|
+
}
|
|
142
145
|
return ibiz.openView.popover(appView, event, context, params);
|
|
143
146
|
}
|
|
144
147
|
|
|
@@ -200,7 +200,7 @@ export class BaseController<
|
|
|
200
200
|
async destroyed(): Promise<void> {
|
|
201
201
|
await this.onDestroyed();
|
|
202
202
|
ibiz.log.debug(`${this.constructor.name}:${this.name} onDestroyed`);
|
|
203
|
-
this._evt.emit('onDestroyed', undefined);
|
|
203
|
+
await this._evt.emit('onDestroyed', undefined);
|
|
204
204
|
this.evt.destroy();
|
|
205
205
|
}
|
|
206
206
|
|
|
@@ -252,9 +252,12 @@ export class ViewController<
|
|
|
252
252
|
this.scheduler.defaultParamsCb = (): IUILogicParams => {
|
|
253
253
|
return this.getEventArgs();
|
|
254
254
|
};
|
|
255
|
-
this.
|
|
256
|
-
|
|
257
|
-
|
|
255
|
+
if (this.scheduler.hasViewEventTrigger) {
|
|
256
|
+
// 监听视图事件触发视图事件触发器
|
|
257
|
+
this.evt.onAll((_eventName, event) => {
|
|
258
|
+
this.scheduler!.triggerViewEvent(event);
|
|
259
|
+
});
|
|
260
|
+
}
|
|
258
261
|
}
|
|
259
262
|
|
|
260
263
|
// 执行视图引擎的doCreated
|
|
@@ -380,5 +383,15 @@ export class ViewController<
|
|
|
380
383
|
this.mountCounter.attend(this.layoutPanel!.model.name!);
|
|
381
384
|
});
|
|
382
385
|
}
|
|
386
|
+
|
|
387
|
+
if (this.scheduler?.hasControlEventTrigger) {
|
|
388
|
+
// 监听部件事件触发部件事件触发器
|
|
389
|
+
panel.evt.on('onControlEvent', event => {
|
|
390
|
+
this.scheduler!.triggerControlEvent(
|
|
391
|
+
event.triggerControlName,
|
|
392
|
+
event.triggerEvent,
|
|
393
|
+
);
|
|
394
|
+
});
|
|
395
|
+
}
|
|
383
396
|
}
|
|
384
397
|
}
|
|
@@ -48,7 +48,7 @@ export class CTX<V extends IViewController = IViewController> {
|
|
|
48
48
|
* @date 2023-04-26 07:54:46
|
|
49
49
|
* @protected
|
|
50
50
|
*/
|
|
51
|
-
readonly evt = new QXEvent<CTXEvent>();
|
|
51
|
+
readonly evt = new QXEvent<CTXEvent>(3000);
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
54
|
* 当前视图控制器集合(包含自身视图控制器,部件控制器,和下一层级的视图的控制器)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 打开视图额外参数
|
|
3
|
+
* @author lxm
|
|
4
|
+
* @date 2023-08-14 11:46:55
|
|
5
|
+
* @export
|
|
6
|
+
* @interface IOpenViewOptions
|
|
7
|
+
*/
|
|
8
|
+
export interface IOpenViewOptions {
|
|
9
|
+
/**
|
|
10
|
+
* 打开方式
|
|
11
|
+
* @author lxm
|
|
12
|
+
* @date 2023-08-14 01:40:27
|
|
13
|
+
* @type {string}
|
|
14
|
+
*/
|
|
15
|
+
openMode?: string;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* 不等待路由打开
|
|
19
|
+
* @author lxm
|
|
20
|
+
* @date 2023-07-28 02:23:13
|
|
21
|
+
* @type {boolean}
|
|
22
|
+
*/
|
|
23
|
+
noWaitRoute?: boolean;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 数据集合
|
|
27
|
+
* @author lxm
|
|
28
|
+
* @date 2023-08-14 01:40:14
|
|
29
|
+
* @type {IData[]}
|
|
30
|
+
*/
|
|
31
|
+
data?: IData[];
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* 原生js事件
|
|
35
|
+
* @author lxm
|
|
36
|
+
* @date 2023-08-14 04:22:06
|
|
37
|
+
* @type {MouseEvent}
|
|
38
|
+
*/
|
|
39
|
+
event?: MouseEvent;
|
|
40
|
+
}
|
|
@@ -88,21 +88,24 @@ export interface ISchedulerLogic {
|
|
|
88
88
|
/**
|
|
89
89
|
* 事件名称
|
|
90
90
|
* @type {string}
|
|
91
|
-
* 来源 getEventNames
|
|
92
91
|
*/
|
|
93
92
|
eventNames?: string;
|
|
94
93
|
|
|
95
94
|
/**
|
|
96
95
|
* 事件参数
|
|
97
96
|
* @type {string}
|
|
98
|
-
* 来源 getEventArg
|
|
99
97
|
*/
|
|
100
98
|
eventArg?: string;
|
|
101
99
|
|
|
102
100
|
/**
|
|
103
101
|
* 事件参数2
|
|
104
102
|
* @type {string}
|
|
105
|
-
* 来源 getEventArg2
|
|
106
103
|
*/
|
|
107
104
|
eventArg2?: string;
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* 部件名称
|
|
108
|
+
* @type {string}
|
|
109
|
+
*/
|
|
110
|
+
ctrlName?: string;
|
|
108
111
|
}
|