@ibiz-template/runtime 0.1.9 → 0.1.10
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 +259 -96
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/config/global-config.js +1 -1
- package/out/interface/common/i-ui-action-result/i-ui-action-result.d.ts +7 -0
- package/out/interface/common/i-ui-action-result/i-ui-action-result.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-form.controller.d.ts +7 -0
- package/out/interface/controller/controller/control/i-form.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-grid.controller.d.ts +9 -1
- package/out/interface/controller/controller/control/i-grid.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-tree.controller.d.ts +6 -4
- package/out/interface/controller/controller/control/i-tree.controller.d.ts.map +1 -1
- package/out/interface/controller/event/control/i-pickup-view-panel.event.d.ts +0 -15
- package/out/interface/controller/event/control/i-pickup-view-panel.event.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-tree-exp-bar.state.d.ts +8 -0
- package/out/interface/controller/state/control/i-tree-exp-bar.state.d.ts.map +1 -1
- package/out/register/helper/common-register.d.ts +11 -0
- package/out/register/helper/common-register.d.ts.map +1 -0
- package/out/register/helper/common-register.js +20 -0
- package/out/register/helper/control-register.d.ts.map +1 -1
- package/out/register/helper/control-register.js +22 -5
- package/out/register/helper/editor-register.d.ts.map +1 -1
- package/out/register/helper/editor-register.js +25 -5
- package/out/register/helper/form-detail-register.d.ts.map +1 -1
- package/out/register/helper/form-detail-register.js +19 -5
- package/out/register/helper/grid-column-register.d.ts.map +1 -1
- package/out/register/helper/grid-column-register.js +19 -5
- package/out/register/helper/panel-item-register.d.ts.map +1 -1
- package/out/register/helper/panel-item-register.js +25 -5
- package/out/register/helper/portlet-register.d.ts.map +1 -1
- package/out/register/helper/portlet-register.js +19 -5
- package/out/register/helper/ui-action-register.d.ts.map +1 -1
- package/out/register/helper/ui-action-register.js +19 -5
- package/out/register/helper/view-register.d.ts.map +1 -1
- package/out/register/helper/view-register.js +18 -1
- package/out/service/app-data-entity/app-data-entity.d.ts.map +1 -1
- package/out/service/app-data-entity/app-data-entity.js +0 -1
- package/out/service/service/counter/counter.service.d.ts.map +1 -1
- package/out/service/service/counter/counter.service.js +4 -1
- package/out/ui-action/provider/sys-ui-action-provider.d.ts +1 -0
- package/out/ui-action/provider/sys-ui-action-provider.d.ts.map +1 -1
- package/out/ui-action/provider/sys-ui-action-provider.js +42 -1
- package/out/ui-action/provider/ui-action-provider-base.d.ts.map +1 -1
- package/out/ui-action/provider/ui-action-provider-base.js +1 -0
- package/out/ui-action/uiaction-util.d.ts.map +1 -1
- package/out/ui-action/uiaction-util.js +13 -1
- package/package.json +4 -4
- package/src/config/global-config.ts +1 -1
- package/src/interface/common/i-ui-action-result/i-ui-action-result.ts +8 -0
- package/src/interface/controller/controller/control/i-form.controller.ts +8 -0
- package/src/interface/controller/controller/control/i-grid.controller.ts +10 -1
- package/src/interface/controller/controller/control/i-tree.controller.ts +9 -4
- package/src/interface/controller/event/control/i-pickup-view-panel.event.ts +0 -16
- package/src/interface/controller/state/control/i-tree-exp-bar.state.ts +10 -1
- package/src/register/helper/common-register.ts +28 -0
- package/src/register/helper/control-register.ts +21 -6
- package/src/register/helper/editor-register.ts +22 -7
- package/src/register/helper/form-detail-register.ts +18 -6
- package/src/register/helper/grid-column-register.ts +19 -6
- package/src/register/helper/panel-item-register.ts +22 -6
- package/src/register/helper/portlet-register.ts +19 -6
- package/src/register/helper/ui-action-register.ts +19 -6
- package/src/register/helper/view-register.ts +18 -1
- package/src/service/app-data-entity/app-data-entity.ts +0 -1
- package/src/service/service/counter/counter.service.ts +4 -1
- package/src/ui-action/provider/sys-ui-action-provider.ts +41 -1
- package/src/ui-action/provider/ui-action-provider-base.ts +1 -0
- package/src/ui-action/uiaction-util.ts +12 -1
|
@@ -11,6 +11,7 @@ import { UIActionProviderBase } from './ui-action-provider-base';
|
|
|
11
11
|
* @implements {IUIActionProvider}
|
|
12
12
|
*/
|
|
13
13
|
export declare class SysUIActionProvider extends UIActionProviderBase {
|
|
14
|
+
private predefinedActionMap;
|
|
14
15
|
execAction(action: IAppDEUIAction, args: IUILogicParams): Promise<IUIActionResult>;
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=sys-ui-action-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sys-ui-action-provider.d.ts","sourceRoot":"","sources":["../../../src/ui-action/provider/sys-ui-action-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;GAQG;AACH,qBAAa,mBAAoB,SAAQ,oBAAoB;
|
|
1
|
+
{"version":3,"file":"sys-ui-action-provider.d.ts","sourceRoot":"","sources":["../../../src/ui-action/provider/sys-ui-action-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;GAQG;AACH,qBAAa,mBAAoB,SAAQ,oBAAoB;IAC3D,OAAO,CAAC,mBAAmB,CAoCxB;IAEG,UAAU,CACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;CAc5B"}
|
|
@@ -10,9 +10,50 @@ import { UIActionProviderBase } from './ui-action-provider-base';
|
|
|
10
10
|
* @implements {IUIActionProvider}
|
|
11
11
|
*/
|
|
12
12
|
export class SysUIActionProvider extends UIActionProviderBase {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.predefinedActionMap = new Map([
|
|
16
|
+
['EDITVIEW_EXITACTION', 'Exit'],
|
|
17
|
+
['EDITVIEW_SAVEANDEXITACTION', 'SaveAndExit'],
|
|
18
|
+
['TREEVIEW_REFRESHPARENTACTION', 'RefreshParent'],
|
|
19
|
+
['GRIDVIEW_EXPORTXMLACTION', 'ExportModel'],
|
|
20
|
+
['GRIDVIEW_EXPORTACTION', 'ExportExcel'],
|
|
21
|
+
['EDITVIEW_REMOVEANDEXITACTION', 'RemoveAndExit'],
|
|
22
|
+
['GRIDVIEW_PRINTACTION', 'Print'],
|
|
23
|
+
['EDITVIEW_NEXTRECORDACTION', 'NextRecord'],
|
|
24
|
+
['GRIDVIEW_NEWROWACTION', 'NewRow'],
|
|
25
|
+
['EDITVIEW_LASTRECORDACTION', 'LastRecord'],
|
|
26
|
+
['EDITVIEW_PREVRECORDACTION', 'PrevRecord'],
|
|
27
|
+
['GRIDVIEW_SEARCHBAR', 'ToggleFilter'],
|
|
28
|
+
['EDITVIEW_SAVEANDSTARTWFACTION', 'SaveAndStart'],
|
|
29
|
+
['EDITVIEW_NEWACTION', 'New'],
|
|
30
|
+
['EDITVIEW_PRINTACTION', 'Print'],
|
|
31
|
+
['EDITVIEW_COPYACTION', 'Copy'],
|
|
32
|
+
['EDITVIEW_HELPACTION', 'Help'],
|
|
33
|
+
['EDITVIEW_FIRSTRECORDACTION', 'FirstRecord'],
|
|
34
|
+
['GRIDVIEW_REFRESHACTION', 'Refresh'],
|
|
35
|
+
['EDITVIEW_SAVEANDNEWACTION', 'SaveAndNew'],
|
|
36
|
+
['EDITVIEW_VIEWWFSTEPACTORACTION', 'ViewWFStep'],
|
|
37
|
+
['EDITVIEW_SAVEACTION', 'Save'],
|
|
38
|
+
['TREEVIEW_REFRESHALLACTION', 'RefreshAll'],
|
|
39
|
+
['GRIDVIEW_IMPORTBAR', 'Import'],
|
|
40
|
+
['GRIDVIEW_ROWEDITACTION', 'ToggleRowEdit'],
|
|
41
|
+
['GRIDVIEW_NEWACTION', 'New'],
|
|
42
|
+
['GRIDVIEW_EDITACTION', 'Edit'],
|
|
43
|
+
['GRIDVIEW_HELPACTION', 'Help'],
|
|
44
|
+
['EDITVIEW_REFRESHACTION', 'Refresh'],
|
|
45
|
+
['GRIDVIEW_REMOVEACTION', 'Remove'],
|
|
46
|
+
['GRIDVIEW_COPYACTION', 'Copy'],
|
|
47
|
+
['GRIDVIEW_VIEWACTION', 'View'],
|
|
48
|
+
['GRIDVIEW_SAVEROWACTION', 'SaveRow'],
|
|
49
|
+
['APP_LOGIN', 'login'],
|
|
50
|
+
['APP_LOGOUT', 'logout'],
|
|
51
|
+
]);
|
|
52
|
+
}
|
|
13
53
|
async execAction(action, args) {
|
|
14
54
|
const { view } = args;
|
|
15
|
-
const uIActionTag = action.
|
|
55
|
+
const uIActionTag = this.predefinedActionMap.get(action.predefinedType) ||
|
|
56
|
+
action.uiactionTag;
|
|
16
57
|
if (uIActionTag === SysUIActionTag.EXIT) {
|
|
17
58
|
return { closeView: true };
|
|
18
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-action-provider-base.d.ts","sourceRoot":"","sources":["../../../src/ui-action/provider/ui-action-provider-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAkB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,MAAM,iBAAiB,CAAC;AAMzB;;;;;;;GAOG;AACH,8BAAsB,oBAAqB,YAAW,iBAAiB;IACrE;;;;;;;OAOG;IACG,IAAI,CACR,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ui-action-provider-base.d.ts","sourceRoot":"","sources":["../../../src/ui-action/provider/ui-action-provider-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAkB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,MAAM,iBAAiB,CAAC;AAMzB;;;;;;;GAOG;AACH,8BAAsB,oBAAqB,YAAW,iBAAiB;IACrE;;;;;;;OAOG;IACG,IAAI,CACR,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;IAwD3B;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe;IAO/D;;;;;;;OAOG;IACG,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAOzD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,UAAU,CACjB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC;IAE3B;;;;;;;;;;;OAWG;IACG,YAAY,CAChB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAOvC;;;;;;;;;;;;;;;;OAgBG;cACa,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EAAE,EACb,MAAM,EAAE,OAAO,GACd,OAAO,CAAC;QACT,aAAa,EAAE,QAAQ,CAAC;QACxB,UAAU,EAAE,KAAK,EAAE,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CAkFH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uiaction-util.d.ts","sourceRoot":"","sources":["../../src/ui-action/uiaction-util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/D;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;OASG;WACU,IAAI,CACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC;IAS3B;;;;;;;OAOG;WACU,eAAe,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"uiaction-util.d.ts","sourceRoot":"","sources":["../../src/ui-action/uiaction-util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/D;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;OASG;WACU,IAAI,CACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC;IAS3B;;;;;;;OAOG;WACU,eAAe,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;CAmBjB"}
|
|
@@ -38,12 +38,24 @@ export class UIActionUtil {
|
|
|
38
38
|
* @param {IUILogicParams} params 界面行为参数
|
|
39
39
|
*/
|
|
40
40
|
static async execAndResolved(actionId, params) {
|
|
41
|
+
var _a, _b;
|
|
41
42
|
const result = await this.exec(actionId, params);
|
|
42
43
|
if (result.closeView) {
|
|
43
44
|
params.view.closeView();
|
|
44
45
|
}
|
|
45
46
|
else if (result.refresh) {
|
|
46
|
-
|
|
47
|
+
switch (result.refreshMode) {
|
|
48
|
+
case 1:
|
|
49
|
+
await params.view.callUIAction(SysUIActionTag.REFRESH);
|
|
50
|
+
break;
|
|
51
|
+
case 2:
|
|
52
|
+
await ((_a = params.view.parentView) === null || _a === void 0 ? void 0 : _a.callUIAction(SysUIActionTag.REFRESH));
|
|
53
|
+
break;
|
|
54
|
+
case 3:
|
|
55
|
+
await ((_b = params.view.getTopView()) === null || _b === void 0 ? void 0 : _b.callUIAction(SysUIActionTag.REFRESH));
|
|
56
|
+
break;
|
|
57
|
+
default:
|
|
58
|
+
}
|
|
47
59
|
}
|
|
48
60
|
}
|
|
49
61
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "控制器包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@ibiz-template/core": "^0.1.8",
|
|
33
|
-
"@ibiz/model-core": "^0.0.
|
|
33
|
+
"@ibiz/model-core": "^0.0.15",
|
|
34
34
|
"@types/path-browserify": "^1.0.0",
|
|
35
35
|
"@types/qs": "^6.9.7",
|
|
36
36
|
"@types/systemjs": "^6.13.1",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"@ibiz-template/core": "^0.1.0",
|
|
47
|
-
"@ibiz/model-core": "^0.0.
|
|
47
|
+
"@ibiz/model-core": "^0.0.15",
|
|
48
48
|
"async-validator": "^4.2.5",
|
|
49
49
|
"dayjs": "^1.11.7",
|
|
50
50
|
"lodash-es": "^4.17.21",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"qx-util": "^0.4.8",
|
|
54
54
|
"ramda": "^0.29.0"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "24e2a2f4b050fbb3a3b9f5deeee97f98985913e4"
|
|
57
57
|
}
|
|
@@ -16,6 +16,14 @@ export interface IUIActionResult {
|
|
|
16
16
|
*/
|
|
17
17
|
refresh?: boolean;
|
|
18
18
|
|
|
19
|
+
/**
|
|
20
|
+
* 刷新引用视图模式
|
|
21
|
+
* @description 值模式 [界面行为重新加载数据模式] {0:无、 1:引用视图或树节点、 2:引用树节点父节点、 3:引用树节点根节点 }
|
|
22
|
+
* @type {( number | 0 | 1 | 2 | 3)}
|
|
23
|
+
* @default 0
|
|
24
|
+
*/
|
|
25
|
+
refreshMode?: number | 0 | 1 | 2 | 3;
|
|
26
|
+
|
|
19
27
|
/**
|
|
20
28
|
* 是否关闭界面
|
|
21
29
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IDEGrid } from '@ibiz/model-core';
|
|
2
2
|
import { ControlVO } from '../../../../service';
|
|
3
3
|
import { IGridEvent } from '../../event';
|
|
4
|
-
import { IGridState } from '../../state';
|
|
4
|
+
import { IGridRowState, IGridState } from '../../state';
|
|
5
5
|
import { IMDControlController } from './i-md-control.controller';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -57,4 +57,13 @@ export interface IGridController
|
|
|
57
57
|
* @memberof IGridController
|
|
58
58
|
*/
|
|
59
59
|
exportData(_args: { event: MouseEvent; params: IData }): Promise<void>;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* 值规则校验
|
|
63
|
+
*
|
|
64
|
+
* @author zzq
|
|
65
|
+
* @date 2023-08-23 18:23:26
|
|
66
|
+
* @memberof IGridController
|
|
67
|
+
*/
|
|
68
|
+
validate(row: IGridRowState): Promise<boolean>;
|
|
60
69
|
}
|
|
@@ -46,10 +46,15 @@ export interface ITreeController
|
|
|
46
46
|
): Promise<void>;
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
49
|
+
* 刷新指定树节点的子节点数据
|
|
50
50
|
* @author lxm
|
|
51
|
-
* @date 2023-08-
|
|
52
|
-
* @param {ITreeNodeData}
|
|
51
|
+
* @date 2023-08-23 08:23:59
|
|
52
|
+
* @param {(ITreeNodeData | IData)} nodeData 指定树节点数据,可以是节点数据,也可以是对应的实体数据
|
|
53
|
+
* @param {boolean} [refreshParent=false] 是否是刷新给定节点数据的父节点的子节点数据
|
|
54
|
+
* @return {*} {Promise<void>}
|
|
53
55
|
*/
|
|
54
|
-
|
|
56
|
+
refreshNodeChildren(
|
|
57
|
+
nodeData: ITreeNodeData | IData,
|
|
58
|
+
refreshParent?: boolean,
|
|
59
|
+
): Promise<void>;
|
|
55
60
|
}
|
|
@@ -38,20 +38,4 @@ export interface IPickupViewPanelEvent extends IControlEvent {
|
|
|
38
38
|
event: EventBase;
|
|
39
39
|
emitArgs: { data: IData[] };
|
|
40
40
|
};
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* 选择视图初始化
|
|
44
|
-
*
|
|
45
|
-
* @author zk
|
|
46
|
-
* @date 2023-08-04 05:08:37
|
|
47
|
-
* @type {{
|
|
48
|
-
* event: EventBase;
|
|
49
|
-
* emitArgs: { data: IViewController };
|
|
50
|
-
* }}
|
|
51
|
-
* @memberof IPickupViewPanelEvent
|
|
52
|
-
*/
|
|
53
|
-
onPickUpViewMounted: {
|
|
54
|
-
event: EventBase;
|
|
55
|
-
emitArgs: undefined;
|
|
56
|
-
};
|
|
57
41
|
}
|
|
@@ -7,4 +7,13 @@ import { IExpBarControlState } from './i-exp-bar-control.state';
|
|
|
7
7
|
* @interface ITreeExpBarState
|
|
8
8
|
* @extends {IExpBarControlState}
|
|
9
9
|
*/
|
|
10
|
-
export interface ITreeExpBarState extends IExpBarControlState {
|
|
10
|
+
export interface ITreeExpBarState extends IExpBarControlState {
|
|
11
|
+
/**
|
|
12
|
+
* 不需要配置导航视图
|
|
13
|
+
* 没有配置导航视图的情况下也正常抛出导航事件,由外部决定导航参数用在哪个导航视图里。
|
|
14
|
+
* @author lxm
|
|
15
|
+
* @date 2023-08-22 03:39:14
|
|
16
|
+
* @type {boolean}
|
|
17
|
+
*/
|
|
18
|
+
noNeedNavView: boolean;
|
|
19
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取插件的注册唯一标识
|
|
3
|
+
* @author lxm
|
|
4
|
+
* @date 2023-08-23 11:04:04
|
|
5
|
+
* @export
|
|
6
|
+
* @param {string} pluginId
|
|
7
|
+
* @param {string} [appId]
|
|
8
|
+
* @return {*} {string}
|
|
9
|
+
*/
|
|
10
|
+
export async function getPluginRegisterKey(
|
|
11
|
+
pluginId: string,
|
|
12
|
+
appId?: string,
|
|
13
|
+
): Promise<string | undefined> {
|
|
14
|
+
const app = ibiz.hub.getApp(appId);
|
|
15
|
+
|
|
16
|
+
const plugin = app.model.appPFPluginRefs?.find(
|
|
17
|
+
item => item.pluginCode!.toLowerCase() === pluginId,
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
if (!plugin) {
|
|
21
|
+
ibiz.log.error(`找不到${pluginId}的插件模型`);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
await ibiz.plugin.loadPlugin(plugin);
|
|
26
|
+
|
|
27
|
+
return `${plugin.pluginType}_${plugin.pluginCode}`;
|
|
28
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IControl } from '@ibiz/model-core';
|
|
2
2
|
import { IControlProvider } from '../../interface';
|
|
3
|
+
import { getPluginRegisterKey } from './common-register';
|
|
3
4
|
|
|
4
5
|
/** 部件适配器前缀 */
|
|
5
6
|
export const CONTROL_PROVIDER_PREFIX = 'CONTROL';
|
|
@@ -37,7 +38,21 @@ export async function getControlProvider(
|
|
|
37
38
|
model: IControl,
|
|
38
39
|
): Promise<IControlProvider | undefined> {
|
|
39
40
|
let provider: IControlProvider | undefined;
|
|
40
|
-
const { controlType, controlStyle } =
|
|
41
|
+
const { controlType, controlStyle, sysPFPluginId, appId } =
|
|
42
|
+
model as Required<IControl>;
|
|
43
|
+
|
|
44
|
+
// 找插件适配器
|
|
45
|
+
if (sysPFPluginId) {
|
|
46
|
+
const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
|
|
47
|
+
if (pluginKey) {
|
|
48
|
+
provider = getProvider(pluginKey);
|
|
49
|
+
}
|
|
50
|
+
if (!provider) {
|
|
51
|
+
ibiz.log.error(`找不到部件插件${pluginKey}对应的适配器`);
|
|
52
|
+
} else {
|
|
53
|
+
return provider;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
41
56
|
|
|
42
57
|
// 再找部件类型和部件样式
|
|
43
58
|
if (controlStyle && controlStyle !== 'DEFAULT') {
|
|
@@ -48,17 +63,17 @@ export async function getControlProvider(
|
|
|
48
63
|
`找不到部件类型:[${controlType}]的部件样式:[${controlStyle}]对应的适配器`,
|
|
49
64
|
model,
|
|
50
65
|
);
|
|
66
|
+
} else {
|
|
67
|
+
return provider;
|
|
51
68
|
}
|
|
52
69
|
}
|
|
53
70
|
|
|
54
71
|
// 找部件类型
|
|
55
|
-
|
|
56
|
-
provider = getProvider(controlType);
|
|
57
|
-
}
|
|
72
|
+
provider = getProvider(controlType);
|
|
58
73
|
|
|
59
74
|
if (!provider) {
|
|
60
75
|
ibiz.log.error(`找不到部件类型${controlType}对应的适配器`);
|
|
76
|
+
} else {
|
|
77
|
+
return provider;
|
|
61
78
|
}
|
|
62
|
-
|
|
63
|
-
return provider;
|
|
64
79
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IEditor } from '@ibiz/model-core';
|
|
2
2
|
import { IEditorProvider } from '../../interface';
|
|
3
|
+
import { getPluginRegisterKey } from './common-register';
|
|
3
4
|
|
|
4
5
|
/** 编辑器适配器前缀 */
|
|
5
6
|
export const EDITOR_PROVIDER_PREFIX = 'EDITOR';
|
|
@@ -37,9 +38,22 @@ export async function getEditorProvider(
|
|
|
37
38
|
model: IEditor,
|
|
38
39
|
): Promise<IEditorProvider | undefined> {
|
|
39
40
|
let provider: IEditorProvider | undefined;
|
|
40
|
-
const { editorType, editorStyle, predefinedType } =
|
|
41
|
+
const { editorType, editorStyle, predefinedType, sysPFPluginId, appId } =
|
|
41
42
|
model as Required<IEditor>;
|
|
42
43
|
|
|
44
|
+
// 找插件适配器
|
|
45
|
+
if (sysPFPluginId) {
|
|
46
|
+
const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
|
|
47
|
+
if (pluginKey) {
|
|
48
|
+
provider = getProvider(pluginKey);
|
|
49
|
+
}
|
|
50
|
+
if (!provider) {
|
|
51
|
+
ibiz.log.error(`找不到编辑器插件${pluginKey}对应的适配器`);
|
|
52
|
+
} else {
|
|
53
|
+
return provider;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
43
57
|
// 再找编辑器类型和编辑器样式
|
|
44
58
|
if (editorStyle && editorStyle !== 'DEFAULT') {
|
|
45
59
|
const key = `${editorType}_${editorStyle}`;
|
|
@@ -49,6 +63,8 @@ export async function getEditorProvider(
|
|
|
49
63
|
`找不到编辑器类型:[${editorType}]的编辑器样式:[${editorStyle}]对应的适配器`,
|
|
50
64
|
model,
|
|
51
65
|
);
|
|
66
|
+
} else {
|
|
67
|
+
return provider;
|
|
52
68
|
}
|
|
53
69
|
}
|
|
54
70
|
|
|
@@ -64,17 +80,16 @@ export async function getEditorProvider(
|
|
|
64
80
|
`找不到编辑器类型:[${editorType}]的预置类型:[${predefinedType}]对应的适配器`,
|
|
65
81
|
model,
|
|
66
82
|
);
|
|
83
|
+
} else {
|
|
84
|
+
return provider;
|
|
67
85
|
}
|
|
68
86
|
}
|
|
69
87
|
|
|
70
88
|
// 找编辑器类型
|
|
71
|
-
|
|
72
|
-
provider = getProvider(editorType);
|
|
73
|
-
}
|
|
74
|
-
|
|
89
|
+
provider = getProvider(editorType);
|
|
75
90
|
if (!provider) {
|
|
76
91
|
ibiz.log.error(`找不到编辑器类型${editorType}对应的适配器`);
|
|
92
|
+
} else {
|
|
93
|
+
return provider;
|
|
77
94
|
}
|
|
78
|
-
|
|
79
|
-
return provider;
|
|
80
95
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IDEFormDetail } from '@ibiz/model-core';
|
|
2
2
|
import { IFormDetailProvider } from '../../interface';
|
|
3
|
+
import { getPluginRegisterKey } from './common-register';
|
|
3
4
|
|
|
4
5
|
/** 表单成员适配器前缀 */
|
|
5
6
|
export const FORMDETAIL_PROVIDER_PREFIX = 'FORMDETAIL';
|
|
@@ -37,15 +38,26 @@ export async function getFormDetailProvider(
|
|
|
37
38
|
model: IDEFormDetail,
|
|
38
39
|
): Promise<IFormDetailProvider | undefined> {
|
|
39
40
|
let provider: IFormDetailProvider | undefined;
|
|
40
|
-
const { detailType } = model as Required<IDEFormDetail>;
|
|
41
|
+
const { detailType, sysPFPluginId, appId } = model as Required<IDEFormDetail>;
|
|
41
42
|
|
|
42
|
-
//
|
|
43
|
-
if (
|
|
44
|
-
|
|
43
|
+
// 找插件适配器
|
|
44
|
+
if (sysPFPluginId) {
|
|
45
|
+
const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
|
|
46
|
+
if (pluginKey) {
|
|
47
|
+
provider = getProvider(pluginKey);
|
|
48
|
+
}
|
|
49
|
+
if (!provider) {
|
|
50
|
+
ibiz.log.error(`找不到表单成员插件${pluginKey}对应的适配器`);
|
|
51
|
+
} else {
|
|
52
|
+
return provider;
|
|
53
|
+
}
|
|
45
54
|
}
|
|
55
|
+
|
|
56
|
+
// 找表单成员类型
|
|
57
|
+
provider = getProvider(detailType);
|
|
46
58
|
if (!provider) {
|
|
47
59
|
ibiz.log.error(`找不到表单成员类型${detailType}对应的适配器`);
|
|
60
|
+
} else {
|
|
61
|
+
return provider;
|
|
48
62
|
}
|
|
49
|
-
|
|
50
|
-
return provider;
|
|
51
63
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IDEGridColumn } from '@ibiz/model-core';
|
|
2
2
|
import { IGridColumnProvider } from '../../interface';
|
|
3
|
+
import { getPluginRegisterKey } from './common-register';
|
|
3
4
|
|
|
4
5
|
/** 表格列适配器前缀 */
|
|
5
6
|
export const GRIDCOLUMN_PROVIDER_PREFIX = 'GRIDCOLUMN';
|
|
@@ -37,16 +38,28 @@ export async function getGridColumnProvider(
|
|
|
37
38
|
model: IDEGridColumn,
|
|
38
39
|
): Promise<IGridColumnProvider | undefined> {
|
|
39
40
|
let provider: IGridColumnProvider | undefined;
|
|
40
|
-
const { columnType, enableRowEdit } =
|
|
41
|
+
const { columnType, enableRowEdit, sysPFPluginId, appId } =
|
|
42
|
+
model as Required<IDEGridColumn>;
|
|
43
|
+
|
|
44
|
+
// 找插件适配器
|
|
45
|
+
if (sysPFPluginId) {
|
|
46
|
+
const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
|
|
47
|
+
if (pluginKey) {
|
|
48
|
+
provider = getProvider(pluginKey);
|
|
49
|
+
}
|
|
50
|
+
if (!provider) {
|
|
51
|
+
ibiz.log.error(`找不到表格列插件${pluginKey}对应的适配器`);
|
|
52
|
+
} else {
|
|
53
|
+
return provider;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
41
56
|
|
|
42
57
|
const key = enableRowEdit ? `${columnType!}_EDIT` : columnType!;
|
|
43
58
|
// 找表格列类型
|
|
44
|
-
|
|
45
|
-
provider = getProvider(key);
|
|
46
|
-
}
|
|
59
|
+
provider = getProvider(key);
|
|
47
60
|
if (!provider) {
|
|
48
61
|
ibiz.log.error(`找不到表格列类型${key}对应的适配器`);
|
|
62
|
+
} else {
|
|
63
|
+
return provider;
|
|
49
64
|
}
|
|
50
|
-
|
|
51
|
-
return provider;
|
|
52
65
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IPanelContainer, IPanelItem, IPanelRawItem } from '@ibiz/model-core';
|
|
2
2
|
import { IPanelItemProvider } from '../../interface';
|
|
3
|
+
import { getPluginRegisterKey } from './common-register';
|
|
3
4
|
|
|
4
5
|
/** 面板成员适配器前缀 */
|
|
5
6
|
export const PANELITEM_PROVIDER_PREFIX = 'PANELITEM';
|
|
@@ -40,7 +41,20 @@ export async function getPanelItemProvider(
|
|
|
40
41
|
model: IPanelItem,
|
|
41
42
|
): Promise<IPanelItemProvider | undefined> {
|
|
42
43
|
let provider: IPanelItemProvider | undefined;
|
|
43
|
-
const { itemType } = model as Required<IPanelItem>;
|
|
44
|
+
const { itemType, sysPFPluginId, appId } = model as Required<IPanelItem>;
|
|
45
|
+
|
|
46
|
+
// 找插件适配器
|
|
47
|
+
if (sysPFPluginId) {
|
|
48
|
+
const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
|
|
49
|
+
if (pluginKey) {
|
|
50
|
+
provider = getProvider(pluginKey);
|
|
51
|
+
}
|
|
52
|
+
if (!provider) {
|
|
53
|
+
ibiz.log.error(`找不到面板成员插件${pluginKey}对应的适配器`);
|
|
54
|
+
} else {
|
|
55
|
+
return provider;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
44
58
|
|
|
45
59
|
// 特殊容器类型
|
|
46
60
|
if (itemType === 'CONTAINER') {
|
|
@@ -50,6 +64,8 @@ export async function getPanelItemProvider(
|
|
|
50
64
|
provider = getProvider(key);
|
|
51
65
|
if (!provider) {
|
|
52
66
|
ibiz.log.error(`找不到面板容器预置类型为${predefinedType}的适配器`);
|
|
67
|
+
} else {
|
|
68
|
+
return provider;
|
|
53
69
|
}
|
|
54
70
|
}
|
|
55
71
|
|
|
@@ -63,16 +79,16 @@ export async function getPanelItemProvider(
|
|
|
63
79
|
ibiz.log.error(
|
|
64
80
|
`找不到面板成员直接内容预置类型为${predefinedType}的适配器`,
|
|
65
81
|
);
|
|
82
|
+
} else {
|
|
83
|
+
return provider;
|
|
66
84
|
}
|
|
67
85
|
}
|
|
68
86
|
|
|
69
87
|
// 找面板成员类型
|
|
70
|
-
|
|
71
|
-
provider = getProvider(itemType);
|
|
72
|
-
}
|
|
88
|
+
provider = getProvider(itemType);
|
|
73
89
|
if (!provider) {
|
|
74
90
|
ibiz.log.error(`找不到面板成员类型${itemType}对应的适配器`);
|
|
91
|
+
} else {
|
|
92
|
+
return provider;
|
|
75
93
|
}
|
|
76
|
-
|
|
77
|
-
return provider;
|
|
78
94
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IDBPortletPart } from '@ibiz/model-core';
|
|
2
2
|
import { IPortletProvider } from '../../interface';
|
|
3
|
+
import { getPluginRegisterKey } from './common-register';
|
|
3
4
|
|
|
4
5
|
/** 门户部件成员适配器前缀 */
|
|
5
6
|
export const PORTLET_PROVIDER_PREFIX = 'PORTLET';
|
|
@@ -37,15 +38,27 @@ export async function getPortletProvider(
|
|
|
37
38
|
model: IDBPortletPart,
|
|
38
39
|
): Promise<IPortletProvider | undefined> {
|
|
39
40
|
let provider: IPortletProvider | undefined;
|
|
40
|
-
const { portletType } =
|
|
41
|
+
const { portletType, sysPFPluginId, appId } =
|
|
42
|
+
model as Required<IDBPortletPart>;
|
|
41
43
|
|
|
42
|
-
//
|
|
43
|
-
if (
|
|
44
|
-
|
|
44
|
+
// 找插件适配器
|
|
45
|
+
if (sysPFPluginId) {
|
|
46
|
+
const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
|
|
47
|
+
if (pluginKey) {
|
|
48
|
+
provider = getProvider(pluginKey);
|
|
49
|
+
}
|
|
50
|
+
if (!provider) {
|
|
51
|
+
ibiz.log.error(`找不到门户部件插件${pluginKey}对应的适配器`);
|
|
52
|
+
} else {
|
|
53
|
+
return provider;
|
|
54
|
+
}
|
|
45
55
|
}
|
|
56
|
+
|
|
57
|
+
// 找门户部件成员类型
|
|
58
|
+
provider = getProvider(portletType);
|
|
46
59
|
if (!provider) {
|
|
47
60
|
ibiz.log.error(`找不到门户部件成员类型${portletType}对应的适配器`);
|
|
61
|
+
} else {
|
|
62
|
+
return provider;
|
|
48
63
|
}
|
|
49
|
-
|
|
50
|
-
return provider;
|
|
51
64
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RuntimeError } from '@ibiz-template/core';
|
|
2
2
|
import { IAppUIAction } from '@ibiz/model-core';
|
|
3
3
|
import { IUIActionProvider } from '../../interface';
|
|
4
|
+
import { getPluginRegisterKey } from './common-register';
|
|
4
5
|
|
|
5
6
|
/** 界面行为适配器前缀 */
|
|
6
7
|
export const UIACTION_PROVIDER_PREFIX = 'UIACTION';
|
|
@@ -38,15 +39,27 @@ export async function getUIActionProvider(
|
|
|
38
39
|
model: IAppUIAction,
|
|
39
40
|
): Promise<IUIActionProvider> {
|
|
40
41
|
let provider: IUIActionProvider | undefined;
|
|
41
|
-
const { uiactionMode } =
|
|
42
|
+
const { uiactionMode, sysPFPluginId, appId } =
|
|
43
|
+
model as Required<IAppUIAction>;
|
|
42
44
|
|
|
43
|
-
//
|
|
44
|
-
if (
|
|
45
|
-
|
|
45
|
+
// 找插件适配器
|
|
46
|
+
if (sysPFPluginId) {
|
|
47
|
+
const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
|
|
48
|
+
if (pluginKey) {
|
|
49
|
+
provider = getProvider(pluginKey);
|
|
50
|
+
}
|
|
51
|
+
if (!provider) {
|
|
52
|
+
ibiz.log.error(`找不到界面行为插件${pluginKey}对应的适配器`);
|
|
53
|
+
} else {
|
|
54
|
+
return provider;
|
|
55
|
+
}
|
|
46
56
|
}
|
|
57
|
+
|
|
58
|
+
// 找界面行为类型
|
|
59
|
+
provider = getProvider(uiactionMode);
|
|
47
60
|
if (!provider) {
|
|
48
61
|
throw new RuntimeError(`找不界面行为模式${uiactionMode}对应的适配器`);
|
|
62
|
+
} else {
|
|
63
|
+
return provider;
|
|
49
64
|
}
|
|
50
|
-
|
|
51
|
-
return provider;
|
|
52
65
|
}
|