@ibiz-template/runtime 0.7.41-alpha.128 → 0.7.41-alpha.130
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 +334 -72
- package/dist/index.system.min.js +1 -1
- package/out/constant/predefined-attributes.d.ts +5 -1
- package/out/constant/predefined-attributes.d.ts.map +1 -1
- package/out/constant/predefined-attributes.js +4 -0
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.d.ts +6 -0
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.js +25 -0
- package/out/controller/control/search-bar/search-bar-filter.controller.d.ts.map +1 -1
- package/out/controller/control/search-bar/search-bar-filter.controller.js +1 -1
- package/out/controller/control/tree/tree.controller.d.ts +16 -1
- package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
- package/out/controller/control/tree/tree.controller.js +22 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.js +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.js +2 -3
- package/out/interface/provider/i-md-ctrl-item.provider.d.ts +14 -0
- package/out/interface/provider/i-md-ctrl-item.provider.d.ts.map +1 -0
- package/out/interface/provider/i-md-ctrl-item.provider.js +1 -0
- package/out/interface/provider/i-tree-node.provider.d.ts +14 -0
- package/out/interface/provider/i-tree-node.provider.d.ts.map +1 -0
- package/out/interface/provider/i-tree-node.provider.js +1 -0
- package/out/interface/provider/index.d.ts +2 -0
- package/out/interface/provider/index.d.ts.map +1 -1
- package/out/interface/register/i-register-params.d.ts +7 -3
- package/out/interface/register/i-register-params.d.ts.map +1 -1
- package/out/locale/en/index.d.ts +6 -0
- package/out/locale/en/index.d.ts.map +1 -1
- package/out/locale/en/index.js +6 -0
- package/out/locale/zh-CN/index.d.ts +6 -0
- package/out/locale/zh-CN/index.d.ts.map +1 -1
- package/out/locale/zh-CN/index.js +6 -0
- package/out/register/custom-register.d.ts +16 -0
- package/out/register/custom-register.d.ts.map +1 -1
- package/out/register/custom-register.js +62 -16
- package/out/register/helper/ac-item-register.d.ts +2 -5
- package/out/register/helper/ac-item-register.d.ts.map +1 -1
- package/out/register/helper/ac-item-register.js +16 -5
- package/out/register/helper/app-counter-register.d.ts +5 -9
- package/out/register/helper/app-counter-register.d.ts.map +1 -1
- package/out/register/helper/app-counter-register.js +19 -9
- package/out/register/helper/app-menu-item-register.d.ts +3 -5
- package/out/register/helper/app-menu-item-register.d.ts.map +1 -1
- package/out/register/helper/app-menu-item-register.js +14 -19
- package/out/register/helper/error-view-register.d.ts +5 -9
- package/out/register/helper/error-view-register.d.ts.map +1 -1
- package/out/register/helper/error-view-register.js +5 -9
- package/out/register/helper/index.d.ts +2 -0
- package/out/register/helper/index.d.ts.map +1 -1
- package/out/register/helper/index.js +2 -0
- package/out/register/helper/md-ctrl-item-register.d.ts +19 -0
- package/out/register/helper/md-ctrl-item-register.d.ts.map +1 -0
- package/out/register/helper/md-ctrl-item-register.js +41 -0
- package/out/register/helper/tree-grid-ex-column-register.d.ts +6 -7
- package/out/register/helper/tree-grid-ex-column-register.d.ts.map +1 -1
- package/out/register/helper/tree-grid-ex-column-register.js +20 -6
- package/out/register/helper/tree-node-register.d.ts +20 -0
- package/out/register/helper/tree-node-register.d.ts.map +1 -0
- package/out/register/helper/tree-node-register.js +59 -0
- package/package.json +2 -2
- package/src/constant/predefined-attributes.ts +5 -0
- package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.ts +31 -0
- package/src/controller/control/search-bar/search-bar-filter.controller.ts +4 -1
- package/src/controller/control/tree/tree.controller.ts +26 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.ts +4 -1
- package/src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts +2 -4
- package/src/interface/provider/i-md-ctrl-item.provider.ts +14 -0
- package/src/interface/provider/i-tree-node.provider.ts +14 -0
- package/src/interface/provider/index.ts +2 -0
- package/src/interface/register/i-register-params.ts +14 -2
- package/src/locale/en/index.ts +11 -0
- package/src/locale/zh-CN/index.ts +11 -0
- package/src/register/custom-register.ts +73 -15
- package/src/register/helper/ac-item-register.ts +18 -5
- package/src/register/helper/app-counter-register.ts +23 -9
- package/src/register/helper/app-menu-item-register.ts +18 -19
- package/src/register/helper/error-view-register.ts +5 -9
- package/src/register/helper/index.ts +2 -0
- package/src/register/helper/md-ctrl-item-register.ts +61 -0
- package/src/register/helper/tree-grid-ex-column-register.ts +25 -6
- package/src/register/helper/tree-node-register.ts +78 -0
|
@@ -28,6 +28,7 @@ import {
|
|
|
28
28
|
ITreeController,
|
|
29
29
|
MDCtrlLoadParams,
|
|
30
30
|
IApiNewTreeNodeParams,
|
|
31
|
+
ITreeNodeProvider,
|
|
31
32
|
} from '../../../interface';
|
|
32
33
|
import { UIActionUtil } from '../../../ui-action';
|
|
33
34
|
import { MDControlController } from '../../common';
|
|
@@ -46,6 +47,7 @@ import { convertNavData } from '../../../utils';
|
|
|
46
47
|
import { OpenAppViewCommand } from '../../../command';
|
|
47
48
|
import { PresetIdentifier } from '../../../constant';
|
|
48
49
|
import { ViewLogicScheduler } from '../../../logic-scheduler';
|
|
50
|
+
import { getTreeNodeProvider } from '../../../register';
|
|
49
51
|
|
|
50
52
|
export type DropNodeRS = {
|
|
51
53
|
minorEntityId: string;
|
|
@@ -121,6 +123,13 @@ export class TreeController<
|
|
|
121
123
|
*/
|
|
122
124
|
contextMenus: { [p: string]: ContextMenuController } = {};
|
|
123
125
|
|
|
126
|
+
/**
|
|
127
|
+
* @description 树节点适配器
|
|
128
|
+
* @type {{ [p: string]: ITreeNodeProvider }}
|
|
129
|
+
* @memberof TreeController
|
|
130
|
+
*/
|
|
131
|
+
nodeProvider: { [p: string]: ITreeNodeProvider } = {};
|
|
132
|
+
|
|
124
133
|
/**
|
|
125
134
|
* 是否启用快速搜索
|
|
126
135
|
* @author lxm
|
|
@@ -189,6 +198,7 @@ export class TreeController<
|
|
|
189
198
|
await this.initQuickSearch();
|
|
190
199
|
await this.initService();
|
|
191
200
|
await this.initCounter();
|
|
201
|
+
await this.initTreeNodeProvider();
|
|
192
202
|
// 初始化上下文菜单控制器
|
|
193
203
|
this.model.detreeNodes!.forEach(node => {
|
|
194
204
|
if (node.decontextMenu?.detoolbarItems?.length) {
|
|
@@ -207,6 +217,22 @@ export class TreeController<
|
|
|
207
217
|
);
|
|
208
218
|
}
|
|
209
219
|
|
|
220
|
+
/**
|
|
221
|
+
* @description 初始化树节点适配器
|
|
222
|
+
* @protected
|
|
223
|
+
* @returns {*} {Promise<void>}
|
|
224
|
+
* @memberof TreeController
|
|
225
|
+
*/
|
|
226
|
+
protected async initTreeNodeProvider(): Promise<void> {
|
|
227
|
+
const { detreeNodes = [] } = this.model;
|
|
228
|
+
await Promise.all(
|
|
229
|
+
detreeNodes.map(async node => {
|
|
230
|
+
const provider = await getTreeNodeProvider(node, this.model);
|
|
231
|
+
if (node.id && provider) this.nodeProvider[node.id!] = provider;
|
|
232
|
+
}),
|
|
233
|
+
);
|
|
234
|
+
}
|
|
235
|
+
|
|
210
236
|
/**
|
|
211
237
|
* @description 初始化界面行为组
|
|
212
238
|
* @protected
|
|
@@ -236,7 +236,10 @@ export class TreeGridExNodeColumnController
|
|
|
236
236
|
this.nodeEditItem?.editor &&
|
|
237
237
|
this.nodeEditItem.editor.editorType !== 'HIDDEN'
|
|
238
238
|
) {
|
|
239
|
-
this.editorProvider = await getEditorProvider(
|
|
239
|
+
this.editorProvider = await getEditorProvider(
|
|
240
|
+
this.nodeEditItem.editor,
|
|
241
|
+
this.treeGrid.model,
|
|
242
|
+
);
|
|
240
243
|
if (this.editorProvider) {
|
|
241
244
|
this.editor = await this.editorProvider.createController(
|
|
242
245
|
this.nodeEditItem.editor,
|
|
@@ -272,10 +272,8 @@ export class TreeGridExController<
|
|
|
272
272
|
*/
|
|
273
273
|
protected async initColumnsController(column: IDETreeColumn): Promise<void> {
|
|
274
274
|
// 初始化适配器
|
|
275
|
-
const provider = await getTreeGridExColumnProvider(column);
|
|
276
|
-
if (!provider)
|
|
277
|
-
return;
|
|
278
|
-
}
|
|
275
|
+
const provider = await getTreeGridExColumnProvider(column, this.model);
|
|
276
|
+
if (!provider) return;
|
|
279
277
|
this.providers[column.codeName!] = provider;
|
|
280
278
|
|
|
281
279
|
// 初始化树表格(增强)列控制器
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 多数据部件项适配器接口
|
|
3
|
+
* @export
|
|
4
|
+
* @interface IMDCtrlItemProvider
|
|
5
|
+
*/
|
|
6
|
+
export interface IMDCtrlItemProvider {
|
|
7
|
+
/**
|
|
8
|
+
* @description 部件项组件
|
|
9
|
+
* @type {*}
|
|
10
|
+
* @memberof IMDCtrlItemProvider
|
|
11
|
+
*/
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
+
component: any;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 树节点适配器接口
|
|
3
|
+
* @export
|
|
4
|
+
* @interface ITreeNodeProvider
|
|
5
|
+
*/
|
|
6
|
+
export interface ITreeNodeProvider {
|
|
7
|
+
/**
|
|
8
|
+
* @description 树节点组件
|
|
9
|
+
* @type {*}
|
|
10
|
+
* @memberof ITreeNodeProvider
|
|
11
|
+
*/
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
+
component: any;
|
|
14
|
+
}
|
|
@@ -34,3 +34,5 @@ export type {
|
|
|
34
34
|
export type { IUILogicProvider } from './i-ui-logic.provider';
|
|
35
35
|
export type { IDELogicProvider } from './i-de-logic.provider';
|
|
36
36
|
export type { IDELogicNodeProvider } from './i-de-logic-node.provider';
|
|
37
|
+
export type { ITreeNodeProvider } from './i-tree-node.provider';
|
|
38
|
+
export type { IMDCtrlItemProvider } from './i-md-ctrl-item.provider';
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
+
IAppCounter,
|
|
2
3
|
IAppDataEntity,
|
|
4
|
+
IAppDEACMode,
|
|
3
5
|
IAppDELogic,
|
|
4
6
|
IAppDEMethod,
|
|
5
7
|
IAppMenuItem,
|
|
@@ -10,6 +12,8 @@ import {
|
|
|
10
12
|
IDBPortletPart,
|
|
11
13
|
IDELogicNode,
|
|
12
14
|
IDEToolbarItem,
|
|
15
|
+
IDETreeColumn,
|
|
16
|
+
IDETreeNode,
|
|
13
17
|
IDEUILogic,
|
|
14
18
|
IDEUILogicNode,
|
|
15
19
|
IEditor,
|
|
@@ -62,7 +66,11 @@ export interface IRegisterParams {
|
|
|
62
66
|
* | IDBPortletPart
|
|
63
67
|
* | IDEToolbarItem
|
|
64
68
|
* | IDEUILogicNode
|
|
65
|
-
* | IDELogicNode
|
|
69
|
+
* | IDELogicNode
|
|
70
|
+
* | IDETreeColumn
|
|
71
|
+
* | IAppCounter
|
|
72
|
+
* | IAppDEACMode
|
|
73
|
+
* | IDETreeNode)}
|
|
66
74
|
* @memberof IRegisterParams
|
|
67
75
|
*/
|
|
68
76
|
mainModel:
|
|
@@ -79,5 +87,9 @@ export interface IRegisterParams {
|
|
|
79
87
|
| IDBPortletPart
|
|
80
88
|
| IDEToolbarItem
|
|
81
89
|
| IDEUILogicNode
|
|
82
|
-
| IDELogicNode
|
|
90
|
+
| IDELogicNode
|
|
91
|
+
| IDETreeColumn
|
|
92
|
+
| IAppCounter
|
|
93
|
+
| IAppDEACMode
|
|
94
|
+
| IDETreeNode;
|
|
83
95
|
}
|
package/src/locale/en/index.ts
CHANGED
|
@@ -614,6 +614,17 @@ export const en = {
|
|
|
614
614
|
'[Custom Extended Portlet] Cannot find an adapter with a custom registration ID of [{registerKey}].',
|
|
615
615
|
toolbarItemCustomRegistration:
|
|
616
616
|
'[Custom Extended Toolbar Item] Cannot find an adapter with a custom registration ID of [{registerKey}].',
|
|
617
|
+
treeTableColumnCustomRegistration:
|
|
618
|
+
'[Custom Extended TreeGrid Column] Cannot find an adapter with a custom registration ID of [{registerKey}].',
|
|
619
|
+
counterCustomRegistration:
|
|
620
|
+
'[Custom Extended Counter] Cannot find an adapter with a custom registration ID of [{registerKey}].',
|
|
621
|
+
acItemCustomRegistration:
|
|
622
|
+
'[Custom Extended AC Item] Cannot find an adapter with a custom registration ID of [{registerKey}].',
|
|
623
|
+
treeNodePlugin: 'No adapter found for the tree node plugin {pluginKey}',
|
|
624
|
+
treeNodeCustomRegistration:
|
|
625
|
+
'[Custom Extended Tree Node] Cannot find an adapter with a custom registration ID of [{registerKey}].',
|
|
626
|
+
mdCtrlItemCustomRegistration:
|
|
627
|
+
'[Custom Extended MDCtrl Item] Cannot find an adapter with a custom registration ID of [{registerKey}].',
|
|
617
628
|
},
|
|
618
629
|
},
|
|
619
630
|
service: {
|
|
@@ -502,6 +502,17 @@ export const zhCn = {
|
|
|
502
502
|
'[自定义扩展门户部件] 找不到自定义注册标识为[{registerKey}]对应的适配器',
|
|
503
503
|
toolbarItemCustomRegistration:
|
|
504
504
|
'[自定义扩展工具栏项] 找不到自定义注册标识为[{registerKey}]对应的适配器',
|
|
505
|
+
treeTableColumnCustomRegistration:
|
|
506
|
+
'[自定义扩展树表格列] 找不到自定义注册标识为[{registerKey}]对应的适配器',
|
|
507
|
+
counterCustomRegistration:
|
|
508
|
+
'[自定义扩展计数器] 找不到自定义注册标识为[{registerKey}]对应的适配器',
|
|
509
|
+
acItemCustomRegistration:
|
|
510
|
+
'[自定义扩展自填列表项] 找不到自定义注册标识为[{registerKey}]对应的适配器',
|
|
511
|
+
treeNodePlugin: '找不到树节点插件{pluginKey}对应的适配器',
|
|
512
|
+
treeNodeCustomRegistration:
|
|
513
|
+
'[自定义扩展树节点] 找不到自定义注册标识为[{registerKey}]对应的适配器',
|
|
514
|
+
mdCtrlItemCustomRegistration:
|
|
515
|
+
'[自定义扩展多数据部件项] 找不到自定义注册标识为[{registerKey}]对应的适配器',
|
|
505
516
|
},
|
|
506
517
|
},
|
|
507
518
|
service: {
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
IControl,
|
|
3
|
+
IAppDEMethod,
|
|
4
|
+
IAppDEUIAction,
|
|
5
|
+
IAppDEACMode,
|
|
6
|
+
} from '@ibiz/model-core';
|
|
2
7
|
import { IRegisterParams } from '../interface';
|
|
3
8
|
import {
|
|
4
9
|
VIEW_PROVIDER_PREFIX,
|
|
@@ -16,6 +21,11 @@ import {
|
|
|
16
21
|
UILOGICNODE_PROVIDER_PREFIX,
|
|
17
22
|
DELOGICNODE_PROVIDER_PREFIX,
|
|
18
23
|
TOOLBAR_ITEM_PROVIDER_PREFIX,
|
|
24
|
+
TREEGRIDEX_COLUMN_PROVIDER_PREFIX,
|
|
25
|
+
APP_COUNTER_PROVIDER_PREFIX,
|
|
26
|
+
AC_ITEM_PROVIDER_PREFIX,
|
|
27
|
+
TREE_NODE_PROVIDER_PREFIX,
|
|
28
|
+
MDCTRL_ITEM_PROVIDER_PREFIX,
|
|
19
29
|
} from './helper';
|
|
20
30
|
import { calcDeCodeNameById } from '../model';
|
|
21
31
|
|
|
@@ -34,14 +44,15 @@ export class CustomRegister {
|
|
|
34
44
|
static getRegisterKey(registerType: string, opts: IRegisterParams): string {
|
|
35
45
|
// 如果自定义扩展标记,则直接返回
|
|
36
46
|
const { mainModel } = opts;
|
|
37
|
-
if (mainModel && (mainModel as IData).
|
|
38
|
-
return (mainModel as IData).
|
|
47
|
+
if (mainModel && (mainModel as IData).extPFPluginId) {
|
|
48
|
+
return (mainModel as IData).extPFPluginId;
|
|
39
49
|
}
|
|
40
50
|
switch (registerType) {
|
|
41
51
|
case VIEW_PROVIDER_PREFIX:
|
|
42
52
|
return this.calcExtensionViewKey(opts);
|
|
43
53
|
case CONTROL_PROVIDER_PREFIX:
|
|
44
54
|
case PORTLET_PROVIDER_PREFIX:
|
|
55
|
+
case MDCTRL_ITEM_PROVIDER_PREFIX:
|
|
45
56
|
return this.calcExtensionControlKey(opts);
|
|
46
57
|
case PANELITEM_PROVIDER_PREFIX:
|
|
47
58
|
return this.calcExtensionPanelItemKey(opts);
|
|
@@ -49,6 +60,8 @@ export class CustomRegister {
|
|
|
49
60
|
case GRIDCOLUMN_PROVIDER_PREFIX:
|
|
50
61
|
case APPMENUITEM_PROVIDER_PREFIX:
|
|
51
62
|
case TOOLBAR_ITEM_PROVIDER_PREFIX:
|
|
63
|
+
case TREEGRIDEX_COLUMN_PROVIDER_PREFIX:
|
|
64
|
+
case TREE_NODE_PROVIDER_PREFIX:
|
|
52
65
|
return this.calcExtensionControlItemKey(opts);
|
|
53
66
|
case EDITOR_PROVIDER_PREFIX:
|
|
54
67
|
return this.calcExtensionEditorKey(opts);
|
|
@@ -62,6 +75,10 @@ export class CustomRegister {
|
|
|
62
75
|
case UILOGICNODE_PROVIDER_PREFIX:
|
|
63
76
|
case DELOGICNODE_PROVIDER_PREFIX:
|
|
64
77
|
return this.calcExtensionLogicNodeKey(opts);
|
|
78
|
+
case APP_COUNTER_PROVIDER_PREFIX:
|
|
79
|
+
return this.calcExtensionCounterKey(opts);
|
|
80
|
+
case AC_ITEM_PROVIDER_PREFIX:
|
|
81
|
+
return this.calcExtensionACItemKey(opts);
|
|
65
82
|
default:
|
|
66
83
|
return '';
|
|
67
84
|
}
|
|
@@ -151,22 +168,24 @@ export class CustomRegister {
|
|
|
151
168
|
let key = '';
|
|
152
169
|
if (mainModel) {
|
|
153
170
|
key = (mainModel.appId || 'DEFAULT').toUpperCase();
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
171
|
+
if (control) {
|
|
172
|
+
const { appDataEntityId, controlType, codeName } = control;
|
|
173
|
+
if (appDataEntityId) {
|
|
174
|
+
key += `@${calcDeCodeNameById(appDataEntityId).toUpperCase()}`;
|
|
175
|
+
} else {
|
|
176
|
+
key += '@APP';
|
|
177
|
+
}
|
|
178
|
+
if (controlType) {
|
|
179
|
+
key += `@${controlType.toUpperCase()}`;
|
|
180
|
+
}
|
|
181
|
+
if (codeName) {
|
|
182
|
+
key += `@${codeName.toUpperCase()}`;
|
|
183
|
+
}
|
|
162
184
|
}
|
|
185
|
+
const codeName = mainModel.codeName || mainModel.id;
|
|
163
186
|
if (codeName) {
|
|
164
187
|
key += `@${codeName.toUpperCase()}`;
|
|
165
188
|
}
|
|
166
|
-
const _codeName = mainModel.codeName || mainModel.id;
|
|
167
|
-
if (_codeName) {
|
|
168
|
-
key += `@${_codeName.toUpperCase()}`;
|
|
169
|
-
}
|
|
170
189
|
}
|
|
171
190
|
return key;
|
|
172
191
|
}
|
|
@@ -285,4 +304,43 @@ export class CustomRegister {
|
|
|
285
304
|
}
|
|
286
305
|
return key;
|
|
287
306
|
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* @description 计算计数器key,(appId/DEFAULT@计数器codeName)全大写
|
|
310
|
+
* @static
|
|
311
|
+
* @param {IRegisterParams} opts
|
|
312
|
+
* @returns {*} {string}
|
|
313
|
+
* @memberof CustomRegister
|
|
314
|
+
*/
|
|
315
|
+
static calcExtensionCounterKey(opts: IRegisterParams): string {
|
|
316
|
+
const { mainModel } = opts;
|
|
317
|
+
let key: string = (mainModel.appId || 'DEFAULT').toUpperCase();
|
|
318
|
+
if (mainModel.codeName) {
|
|
319
|
+
key += `@${mainModel.codeName.toUpperCase()}`;
|
|
320
|
+
}
|
|
321
|
+
return key;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* @description 计算自填列表项key,(appId/DEFAULT@实体codeName@实体自填模式codeName)全大写
|
|
326
|
+
* @static
|
|
327
|
+
* @param {IRegisterParams} opts
|
|
328
|
+
* @returns {*} {string}
|
|
329
|
+
* @memberof CustomRegister
|
|
330
|
+
*/
|
|
331
|
+
static calcExtensionACItemKey(opts: IRegisterParams): string {
|
|
332
|
+
const { mainModel } = opts;
|
|
333
|
+
let key: string = '';
|
|
334
|
+
if (mainModel) {
|
|
335
|
+
const { appId, appDataEntityId, codeName } = mainModel as IAppDEACMode;
|
|
336
|
+
key = (appId || 'DEFAULT').toUpperCase();
|
|
337
|
+
if (appDataEntityId) {
|
|
338
|
+
key += `@${calcDeCodeNameById(appDataEntityId).toUpperCase()}`;
|
|
339
|
+
}
|
|
340
|
+
if (codeName) {
|
|
341
|
+
key += `@${codeName.toUpperCase()}`;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
return key;
|
|
345
|
+
}
|
|
288
346
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IAppDEACMode } from '@ibiz/model-core';
|
|
2
2
|
import { getPluginRegisterKey } from './common-register';
|
|
3
3
|
import { IAcItemProvider } from '../../interface';
|
|
4
|
+
import { CustomRegister } from '../custom-register';
|
|
4
5
|
|
|
5
6
|
/** 自填列表项适配器前缀 */
|
|
6
7
|
export const AC_ITEM_PROVIDER_PREFIX = 'AC_ITEM';
|
|
@@ -36,13 +37,10 @@ function getProvider(key: string): IAcItemProvider | undefined {
|
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
/**
|
|
39
|
-
* 获取自填列表项适配器
|
|
40
|
-
*
|
|
41
|
-
* @author zhanghengfeng
|
|
42
|
-
* @date 2024-05-21 17:05:45
|
|
40
|
+
* @description 获取自填列表项适配器
|
|
43
41
|
* @export
|
|
44
42
|
* @param {IAppDEACMode} model
|
|
45
|
-
* @
|
|
43
|
+
* @returns {*} {(Promise<IAcItemProvider | undefined>)}
|
|
46
44
|
*/
|
|
47
45
|
export async function getAcItemProvider(
|
|
48
46
|
model: IAppDEACMode,
|
|
@@ -50,6 +48,21 @@ export async function getAcItemProvider(
|
|
|
50
48
|
let provider: IAcItemProvider | undefined;
|
|
51
49
|
const { itemSysPFPluginId, appId } = model;
|
|
52
50
|
|
|
51
|
+
// 找自定义注册的适配器
|
|
52
|
+
const registerKey = CustomRegister.getRegisterKey(AC_ITEM_PROVIDER_PREFIX, {
|
|
53
|
+
mainModel: model,
|
|
54
|
+
});
|
|
55
|
+
provider = getProvider(registerKey);
|
|
56
|
+
if (!provider) {
|
|
57
|
+
ibiz.log.debug(
|
|
58
|
+
ibiz.i18n.t('runtime.register.helper.acItemCustomRegistration', {
|
|
59
|
+
registerKey,
|
|
60
|
+
}),
|
|
61
|
+
);
|
|
62
|
+
} else {
|
|
63
|
+
return provider;
|
|
64
|
+
}
|
|
65
|
+
|
|
53
66
|
// 找插件适配器
|
|
54
67
|
if (itemSysPFPluginId) {
|
|
55
68
|
const pluginKey = await getPluginRegisterKey(itemSysPFPluginId, appId);
|
|
@@ -2,16 +2,15 @@ import { RuntimeError } from '@ibiz-template/core';
|
|
|
2
2
|
import { IAppCounter } from '@ibiz/model-core';
|
|
3
3
|
import { IAppCounterProvider } from '../../interface';
|
|
4
4
|
import { getPluginRegisterKey } from './common-register';
|
|
5
|
+
import { CustomRegister } from '../custom-register';
|
|
5
6
|
|
|
6
7
|
/** 系统计数器适配器前缀 */
|
|
7
8
|
export const APP_COUNTER_PROVIDER_PREFIX = 'APPCOUNTER';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
|
-
* 注册系统计数器适配器
|
|
11
|
-
* @author lxm
|
|
12
|
-
* @date 2023-05-06 09:14:16
|
|
11
|
+
* @description 注册系统计数器适配器
|
|
13
12
|
* @export
|
|
14
|
-
* @param {string} key
|
|
13
|
+
* @param {string} key 注册key
|
|
15
14
|
* @param {() => IAppCounterProvider} callback 生成系统计数器适配器的回调
|
|
16
15
|
*/
|
|
17
16
|
export function registerAppCounterProvider(
|
|
@@ -28,12 +27,10 @@ function getProvider(key: string): IAppCounterProvider | undefined {
|
|
|
28
27
|
}
|
|
29
28
|
|
|
30
29
|
/**
|
|
31
|
-
* 获取系统计数器适配器
|
|
32
|
-
* @author lxm
|
|
33
|
-
* @date 2023-05-06 09:29:23
|
|
30
|
+
* @description 获取系统计数器适配器
|
|
34
31
|
* @export
|
|
35
|
-
* @param {
|
|
36
|
-
* @
|
|
32
|
+
* @param {IAppCounter} model
|
|
33
|
+
* @returns {*} {Promise<IAppCounterProvider>}
|
|
37
34
|
*/
|
|
38
35
|
export async function getAppCounterProvider(
|
|
39
36
|
model: IAppCounter,
|
|
@@ -41,6 +38,23 @@ export async function getAppCounterProvider(
|
|
|
41
38
|
let provider: IAppCounterProvider | undefined;
|
|
42
39
|
const { codeName, counterType, sysPFPluginId, appId } =
|
|
43
40
|
model as Required<IAppCounter>;
|
|
41
|
+
// 找自定义注册的适配器
|
|
42
|
+
const registerKey = CustomRegister.getRegisterKey(
|
|
43
|
+
APP_COUNTER_PROVIDER_PREFIX,
|
|
44
|
+
{
|
|
45
|
+
mainModel: model,
|
|
46
|
+
},
|
|
47
|
+
);
|
|
48
|
+
provider = getProvider(registerKey);
|
|
49
|
+
if (!provider) {
|
|
50
|
+
ibiz.log.debug(
|
|
51
|
+
ibiz.i18n.t('runtime.register.helper.counterCustomRegistration', {
|
|
52
|
+
registerKey,
|
|
53
|
+
}),
|
|
54
|
+
);
|
|
55
|
+
} else {
|
|
56
|
+
return provider;
|
|
57
|
+
}
|
|
44
58
|
|
|
45
59
|
// 找插件适配器
|
|
46
60
|
if (sysPFPluginId) {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { IAppMenu, IAppMenuItem } from '@ibiz/model-core';
|
|
3
3
|
import { getPluginRegisterKey } from './common-register';
|
|
4
4
|
import { IAppMenuItemProvider } from '../../interface';
|
|
5
|
+
import { CustomRegister } from '../custom-register';
|
|
5
6
|
|
|
6
7
|
/** 应用菜单项适配器前缀 */
|
|
7
8
|
export const APPMENUITEM_PROVIDER_PREFIX = 'APPMENUITEM';
|
|
@@ -29,13 +30,11 @@ function getProvider(key: string): IAppMenuItemProvider | undefined {
|
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
/**
|
|
32
|
-
* 获取应用菜单项适配器
|
|
33
|
-
*
|
|
34
|
-
* @author chitanda
|
|
35
|
-
* @date 2023-11-01 17:11:43
|
|
33
|
+
* @description 获取应用菜单项适配器
|
|
36
34
|
* @export
|
|
37
35
|
* @param {IAppMenuItem} model
|
|
38
|
-
* @
|
|
36
|
+
* @param {IAppMenu} control
|
|
37
|
+
* @returns {*} {(Promise<IAppMenuItemProvider | undefined>)}
|
|
39
38
|
*/
|
|
40
39
|
export async function getAppMenuItemProvider(
|
|
41
40
|
model: IAppMenuItem,
|
|
@@ -45,20 +44,20 @@ export async function getAppMenuItemProvider(
|
|
|
45
44
|
const { sysPFPluginId, appId, itemType } = model as Required<IAppMenuItem>;
|
|
46
45
|
|
|
47
46
|
// 找自定义注册的适配器
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
47
|
+
const registerKey = CustomRegister.getRegisterKey(
|
|
48
|
+
APPMENUITEM_PROVIDER_PREFIX,
|
|
49
|
+
{
|
|
50
|
+
mainModel: model,
|
|
51
|
+
control,
|
|
52
|
+
},
|
|
53
|
+
);
|
|
54
|
+
provider = getProvider(registerKey);
|
|
55
|
+
if (provider) return provider;
|
|
56
|
+
ibiz.log.debug(
|
|
57
|
+
ibiz.i18n.t('runtime.register.helper.menuItemCustomRegistration', {
|
|
58
|
+
registerKey,
|
|
59
|
+
}),
|
|
60
|
+
);
|
|
62
61
|
|
|
63
62
|
// 找插件适配器
|
|
64
63
|
if (sysPFPluginId) {
|
|
@@ -4,12 +4,10 @@ import { IErrorViewProvider } from '../../interface';
|
|
|
4
4
|
export const ERROR_VIEW_PROVIDER_PREFIX = 'ERROR_VIEW';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* 注册错误视图适配器
|
|
8
|
-
* @author lxm
|
|
9
|
-
* @date 2023-05-06 09:14:16
|
|
7
|
+
* @description 注册错误视图适配器
|
|
10
8
|
* @export
|
|
11
9
|
* @param {string} key
|
|
12
|
-
* @param {() => IErrorViewProvider} callback
|
|
10
|
+
* @param {() => IErrorViewProvider} callback
|
|
13
11
|
*/
|
|
14
12
|
export function registerErrorViewProvider(
|
|
15
13
|
key: string,
|
|
@@ -25,12 +23,10 @@ function getProvider(key: string): IErrorViewProvider | undefined {
|
|
|
25
23
|
}
|
|
26
24
|
|
|
27
25
|
/**
|
|
28
|
-
* 获取错误视图适配器
|
|
29
|
-
* @author lxm
|
|
30
|
-
* @date 2023-05-06 09:29:23
|
|
26
|
+
* @description 获取错误视图适配器
|
|
31
27
|
* @export
|
|
32
|
-
* @param {
|
|
33
|
-
* @
|
|
28
|
+
* @param {string} code
|
|
29
|
+
* @returns {*} {(IErrorViewProvider | undefined)}
|
|
34
30
|
*/
|
|
35
31
|
export function getErrorViewProvider(
|
|
36
32
|
code: string,
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { IControl } from '@ibiz/model-core';
|
|
2
|
+
import { IMDCtrlItemProvider } from '../../interface';
|
|
3
|
+
import { CustomRegister } from '../custom-register';
|
|
4
|
+
|
|
5
|
+
/** 多数据部件项适配器前缀 */
|
|
6
|
+
export const MDCTRL_ITEM_PROVIDER_PREFIX = 'MDCTRL_ITEM';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @description 注册多数据部件项适配器
|
|
10
|
+
* @export
|
|
11
|
+
* @param {string} key
|
|
12
|
+
* @param {() => IMDCtrlItemProvider} callback
|
|
13
|
+
*/
|
|
14
|
+
export function registerMDCtrlItemProvider(
|
|
15
|
+
key: string,
|
|
16
|
+
callback: () => IMDCtrlItemProvider,
|
|
17
|
+
): void {
|
|
18
|
+
ibiz.register.register(`${MDCTRL_ITEM_PROVIDER_PREFIX}_${key}`, callback);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function getProvider(key: string): IMDCtrlItemProvider | undefined {
|
|
22
|
+
return ibiz.register.get(
|
|
23
|
+
`${MDCTRL_ITEM_PROVIDER_PREFIX}_${key}`,
|
|
24
|
+
) as IMDCtrlItemProvider;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @description 获取多数据部件项适配器
|
|
29
|
+
* @export
|
|
30
|
+
* @param {IControl} model
|
|
31
|
+
* @returns {*} {(IMDCtrlItemProvider | undefined)}
|
|
32
|
+
*/
|
|
33
|
+
export function getMDCtrlItemProvider(
|
|
34
|
+
model: IControl,
|
|
35
|
+
): IMDCtrlItemProvider | undefined {
|
|
36
|
+
let provider: IMDCtrlItemProvider | undefined;
|
|
37
|
+
|
|
38
|
+
const { controlType } = model as Required<IControl>;
|
|
39
|
+
|
|
40
|
+
// 找自定义注册的适配器
|
|
41
|
+
const registerKey = CustomRegister.getRegisterKey(
|
|
42
|
+
MDCTRL_ITEM_PROVIDER_PREFIX,
|
|
43
|
+
{
|
|
44
|
+
mainModel: model,
|
|
45
|
+
},
|
|
46
|
+
);
|
|
47
|
+
provider = getProvider(registerKey);
|
|
48
|
+
if (!provider) {
|
|
49
|
+
ibiz.log.debug(
|
|
50
|
+
ibiz.i18n.t('runtime.register.helper.mdCtrlItemCustomRegistration', {
|
|
51
|
+
registerKey,
|
|
52
|
+
}),
|
|
53
|
+
);
|
|
54
|
+
} else {
|
|
55
|
+
return provider;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// 找部件类型
|
|
59
|
+
provider = getProvider(controlType);
|
|
60
|
+
return provider;
|
|
61
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { IDETreeColumn } from '@ibiz/model-core';
|
|
1
|
+
import { IDETreeColumn, IDETreeGridEx } from '@ibiz/model-core';
|
|
2
2
|
import { ITreeGridExColumnProvider } from '../../interface';
|
|
3
3
|
import { getPluginRegisterKey } from './common-register';
|
|
4
|
+
import { CustomRegister } from '../custom-register';
|
|
4
5
|
|
|
5
6
|
/** 表格列适配器前缀 */
|
|
6
7
|
export const TREEGRIDEX_COLUMN_PROVIDER_PREFIX = 'TREEGRIDEX_COLUMN';
|
|
@@ -30,19 +31,37 @@ function getProvider(key: string): ITreeGridExColumnProvider | undefined {
|
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
|
-
*
|
|
34
|
-
* @author lxm
|
|
35
|
-
* @date 2023-05-06 09:29:23
|
|
34
|
+
* @description 获取树表格列适配器
|
|
36
35
|
* @export
|
|
37
|
-
* @param {
|
|
38
|
-
* @
|
|
36
|
+
* @param {IDETreeColumn} model
|
|
37
|
+
* @param {IDETreeGridEx} grid
|
|
38
|
+
* @returns {*} {(Promise<ITreeGridExColumnProvider | undefined>)}
|
|
39
39
|
*/
|
|
40
40
|
export async function getTreeGridExColumnProvider(
|
|
41
41
|
model: IDETreeColumn,
|
|
42
|
+
grid: IDETreeGridEx,
|
|
42
43
|
): Promise<ITreeGridExColumnProvider | undefined> {
|
|
43
44
|
let provider: ITreeGridExColumnProvider | undefined;
|
|
44
45
|
const { columnType, appId, renderSysPFPluginId } =
|
|
45
46
|
model as Required<IDETreeColumn>;
|
|
47
|
+
// 找自定义注册的适配器
|
|
48
|
+
const registerKey = CustomRegister.getRegisterKey(
|
|
49
|
+
TREEGRIDEX_COLUMN_PROVIDER_PREFIX,
|
|
50
|
+
{
|
|
51
|
+
mainModel: model,
|
|
52
|
+
control: grid,
|
|
53
|
+
},
|
|
54
|
+
);
|
|
55
|
+
provider = getProvider(registerKey);
|
|
56
|
+
if (!provider) {
|
|
57
|
+
ibiz.log.debug(
|
|
58
|
+
ibiz.i18n.t('runtime.register.helper.treeTableColumnCustomRegistration', {
|
|
59
|
+
registerKey,
|
|
60
|
+
}),
|
|
61
|
+
);
|
|
62
|
+
} else {
|
|
63
|
+
return provider;
|
|
64
|
+
}
|
|
46
65
|
|
|
47
66
|
// 树表格列插件
|
|
48
67
|
if (renderSysPFPluginId) {
|