@ibiz-template/model-helper 0.7.41-alpha.5 → 0.7.41-alpha.52

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.
@@ -1,4 +1,4 @@
1
- import { IAppDataEntity, IAppView, IApplication, IAppLan, ISubAppRef, IAppBIScheme, IAppBICube, IAppBIReport } from '@ibiz/model-core';
1
+ import { IAppCodeList, IAppDataEntity, IAppView, IApplication, IAppLan, ISubAppRef, IAppBIScheme, IAppBICube, IAppBIReport } from '@ibiz/model-core';
2
2
  import { DSLHelper } from '@ibiz/rt-model-api';
3
3
  import { ModelUtil } from './model-util';
4
4
  import { MergeSubModelHelper } from './utils';
@@ -136,6 +136,13 @@ export declare class ModelHelper {
136
136
  * @return {*} {(Promise<string | null>)}
137
137
  */
138
138
  getAppStyle(appId?: string | IObject): Promise<string | null>;
139
+ /**
140
+ * @description 计算应用实体需要合并的子应用模型
141
+ * @protected
142
+ * @param {IAppDataEntity} appDataEntity
143
+ * @memberof ModelHelper
144
+ */
145
+ protected calcAppDataEntitySubAppModel(appDataEntity: IAppDataEntity): void;
139
146
  /**
140
147
  * 根据应用实体 codeName 获取应用实体模型
141
148
  *
@@ -247,5 +254,10 @@ export declare class ModelHelper {
247
254
  * @return {*} {string}
248
255
  */
249
256
  protected calcAppId(data?: IObject | string): string;
257
+ /**
258
+ * 合并子应用代码表
259
+ * @param codeList
260
+ */
261
+ mergeSubAppCodeList(codeList: IAppCodeList): void;
250
262
  }
251
263
  //# sourceMappingURL=model-helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-helper.d.ts","sourceRoot":"","sources":["../src/model-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-helper.d.ts","sourceRoot":"","sources":["../src/model-helper.ts"],"names":[],"mappings":"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"}
@@ -156,7 +156,7 @@ export class ModelHelper {
156
156
  }
157
157
  // 模型扩展标准视图布局面板
158
158
  const subViewRefs = app.model.appSubViewTypeRefs || [];
159
- subViewRefs.forEach(item => {
159
+ subViewRefs.forEach((item) => {
160
160
  if (item.replaceDefault) {
161
161
  ibiz.util.layoutPanel.register(`${item.viewType}_DEFAULT`, item.viewLayoutPanel);
162
162
  }
@@ -168,8 +168,18 @@ export class ModelHelper {
168
168
  for (let i = 0; i < subAppRefs.length; i++) {
169
169
  const subApp = subAppRefs[i];
170
170
  const sourceSubApp = getAllPSSubAppRefs[i];
171
- // eslint-disable-next-line no-await-in-loop
172
- await this.initSubApp(app, subApp, sourceSubApp);
171
+ // 控制插件应用访问权限、通过应用样式参数SUBAPPACCESSKEY定义权限标识
172
+ if (subApp.accessKey) {
173
+ const mianApp = await ibiz.hub.getApp(ibiz.env.appId);
174
+ await mianApp.authority.init();
175
+ const permitted = mianApp.authority.calcByResCode(subApp.accessKey);
176
+ if (permitted) {
177
+ await this.initSubApp(app, subApp, sourceSubApp);
178
+ }
179
+ }
180
+ else {
181
+ await this.initSubApp(app, subApp, sourceSubApp);
182
+ }
173
183
  }
174
184
  }
175
185
  }
@@ -258,6 +268,14 @@ export class ModelHelper {
258
268
  this.deepFillSubAppId(appControl, subApp.id);
259
269
  ibiz.hub.registerSubAppControls(subApp.id || ibiz.env.appId, this.dsl.control(appControl));
260
270
  });
271
+ // 设置代码表模型到hub中
272
+ const appCodeLists = sourceSubApp.getAllPSAppCodeLists || [];
273
+ if (subApp.id) {
274
+ appCodeLists.forEach((appCodeList) => {
275
+ this.deepFillSubAppId(appCodeList, subApp.id);
276
+ ibiz.hub.registerSubAppCodeList(subApp.id, this.dsl.appCodeList(appCodeList));
277
+ });
278
+ }
261
279
  // 实现子应用借助主应用独立打开,srfembsubapp的值为ref三段式的第一段哈希值,条件触发手动加载目标子应用
262
280
  if (this.appContext.srfembsubapp &&
263
281
  subApp.id &&
@@ -331,6 +349,16 @@ export class ModelHelper {
331
349
  getAppStyle(appId) {
332
350
  return this.getModelUtil(appId).getAppStyle();
333
351
  }
352
+ /**
353
+ * @description 计算应用实体需要合并的子应用模型
354
+ * @protected
355
+ * @param {IAppDataEntity} appDataEntity
356
+ * @memberof ModelHelper
357
+ */
358
+ calcAppDataEntitySubAppModel(appDataEntity) {
359
+ // 合并AC模式界面行为组
360
+ this.merge.mergeSubAppDEACModesActionGroup(appDataEntity.appDEACModes, this.subAppRefs);
361
+ }
334
362
  /**
335
363
  * 根据应用实体 codeName 获取应用实体模型
336
364
  *
@@ -345,6 +373,9 @@ export class ModelHelper {
345
373
  const util = this.getModelUtil(appId);
346
374
  const model = await util.getAppDataEntityModel(name, isId, true);
347
375
  const dsl = this.dsl.appDataEntity(model);
376
+ if (!appId || appId === ibiz.env.appId) {
377
+ this.calcAppDataEntitySubAppModel(dsl);
378
+ }
348
379
  const list = await util.servicePathUtil.calcRequestPaths(dsl.id);
349
380
  dsl.requestPaths = list;
350
381
  dsl.codeName2 = plural(dsl.codeName.toLowerCase());
@@ -634,4 +665,11 @@ export class ModelHelper {
634
665
  }
635
666
  return appId;
636
667
  }
668
+ /**
669
+ * 合并子应用代码表
670
+ * @param codeList
671
+ */
672
+ mergeSubAppCodeList(codeList) {
673
+ this.merge.mergeSubAppCodeList(codeList, this.subAppRefs);
674
+ }
637
675
  }
@@ -1,5 +1,5 @@
1
1
  import { ModelLoaderProvider } from '@ibiz-template/runtime';
2
- import { IApplication, IAppView, IAppDataEntity, IAppBIScheme, IAppBICube, IAppBIReport, ISubAppRef } from '@ibiz/model-core';
2
+ import { IApplication, IAppView, IAppDataEntity, IAppBIScheme, IAppBICube, IAppBIReport, ISubAppRef, IAppCodeList } from '@ibiz/model-core';
3
3
  import { ModelHelper } from './model-helper';
4
4
  /**
5
5
  * 模型加载适配器
@@ -25,5 +25,6 @@ export declare class ModelLoader implements ModelLoaderProvider {
25
25
  getAppAppBICubes(appId: string, ids: string[]): Promise<IAppBICube[]>;
26
26
  getAppBIReports(appId: string, ids: string[]): Promise<IAppBIReport[]>;
27
27
  translationModelToDsl(data: IData, type: 'APP' | 'VIEW' | 'CTRL' | 'APPENTITY' | 'APPBIREPORT'): Promise<IModel | undefined>;
28
+ mergeSubAppCodeList(codeList: IAppCodeList): void;
28
29
  }
29
30
  //# sourceMappingURL=model-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-loader.d.ts","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,UAAU,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;GAQG;AACH,qBAAa,WAAY,YAAW,mBAAmB;IACzC,SAAS,CAAC,MAAM,EAAE,WAAW;gBAAnB,MAAM,EAAE,WAAW;IAEzC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI1C,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAI5D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI9D,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIpE,0BAA0B,CACxB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC;IAI1B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIlD,WAAW,CACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC;IAIpB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAItE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIrE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAItE,qBAAqB,CACnB,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,GAC1D,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAG/B"}
1
+ {"version":3,"file":"model-loader.d.ts","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;GAQG;AACH,qBAAa,WAAY,YAAW,mBAAmB;IACzC,SAAS,CAAC,MAAM,EAAE,WAAW;gBAAnB,MAAM,EAAE,WAAW;IAEzC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI1C,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAI5D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI9D,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIpE,0BAA0B,CACxB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC;IAI1B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIlD,WAAW,CACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,QAAQ,CAAC;IAIpB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAItE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIrE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAItE,qBAAqB,CACnB,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,GAC1D,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI9B,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;CAGlD"}
@@ -47,4 +47,7 @@ export class ModelLoader {
47
47
  translationModelToDsl(data, type) {
48
48
  return this.helper.translationModelToDsl(data, type);
49
49
  }
50
+ mergeSubAppCodeList(codeList) {
51
+ this.helper.mergeSubAppCodeList(codeList);
52
+ }
50
53
  }
@@ -0,0 +1,8 @@
1
+ import { IAppCodeList } from '@ibiz/model-core';
2
+ /**
3
+ * 合并应用代码表,子应用代码表需开启支持动态模式和配置用户标记,合并规则:dynamic_overlay:replace|merge,replace表示子应用代码表完全覆盖主应用代码表,merge表示子应用代码表项合并到主应用代码表项中(前提条件:主应用代码表和子应用代码表均是静态代码表),其他情况不做处理
4
+ * @param mainCodeList - 主应用代码表
5
+ * @param subCodeList - 子应用代码表
6
+ */
7
+ export declare function mergeAppCodeList(mainCodeList: IAppCodeList, subCodeList: IAppCodeList): void;
8
+ //# sourceMappingURL=merge-app-codelist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-app-codelist.d.ts","sourceRoot":"","sources":["../../../src/utils/merge-model/merge-app-codelist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,YAAY,GACxB,IAAI,CA+BN"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 合并应用代码表,子应用代码表需开启支持动态模式和配置用户标记,合并规则:dynamic_overlay:replace|merge,replace表示子应用代码表完全覆盖主应用代码表,merge表示子应用代码表项合并到主应用代码表项中(前提条件:主应用代码表和子应用代码表均是静态代码表),其他情况不做处理
3
+ * @param mainCodeList - 主应用代码表
4
+ * @param subCodeList - 子应用代码表
5
+ */
6
+ export function mergeAppCodeList(mainCodeList, subCodeList) {
7
+ const { userTag } = subCodeList;
8
+ if (!userTag)
9
+ return;
10
+ const [mergeTag, mergeWay] = userTag.split(':');
11
+ if (!mergeTag ||
12
+ !mergeWay ||
13
+ mergeTag !== 'dynamic_overlay' ||
14
+ (mergeWay !== 'replace' && mergeWay !== 'merge'))
15
+ return;
16
+ switch (mergeWay) {
17
+ case 'replace':
18
+ mainCodeList = subCodeList;
19
+ break;
20
+ case 'merge':
21
+ if (mainCodeList.codeListType === 'STATIC' &&
22
+ subCodeList.codeListType === 'STATIC') {
23
+ if (!mainCodeList.codeItems)
24
+ mainCodeList.codeItems = [];
25
+ if (subCodeList.codeItems && subCodeList.codeItems.length > 0) {
26
+ subCodeList.codeItems.forEach(codeItem => {
27
+ mainCodeList.codeItems.push(codeItem);
28
+ });
29
+ }
30
+ }
31
+ break;
32
+ default:
33
+ break;
34
+ }
35
+ }
@@ -1,3 +1,10 @@
1
1
  import { IUIActionGroup } from '@ibiz/model-core';
2
+ /**
3
+ * 合并两个界面行为组
4
+ *
5
+ * @param dst 目标界面行为组,用于接收合并结果
6
+ * @param src 源界面行为组,提供要合并的数据
7
+ * @returns 无返回值,直接修改目标对象
8
+ */
2
9
  export declare function mergeAppDEUIActionGroup(dst: IUIActionGroup | undefined, src: IUIActionGroup | undefined): void;
3
10
  //# sourceMappingURL=merge-app-uiaction-group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-app-uiaction-group.d.ts","sourceRoot":"","sources":["../../../src/utils/merge-model/merge-app-uiaction-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AAExE,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,cAAc,GAAG,SAAS,EAC/B,GAAG,EAAE,cAAc,GAAG,SAAS,GAC9B,IAAI,CAaN"}
1
+ {"version":3,"file":"merge-app-uiaction-group.d.ts","sourceRoot":"","sources":["../../../src/utils/merge-model/merge-app-uiaction-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AAwBxE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,cAAc,GAAG,SAAS,EAC/B,GAAG,EAAE,cAAc,GAAG,SAAS,GAC9B,IAAI,CAiDN"}
@@ -1,14 +1,66 @@
1
+ // dynamic_overlay:before|after|replace|delete:detailid
2
+ /**
3
+ * 解析动态覆盖标签字符串,提取位置信息和目标ID
4
+ *
5
+ * @param tag - 要解析的标签字符串,格式应为 "dynamic_overlay:position:targetId"
6
+ * @returns 如果解析成功,返回包含position和targetId的对象;否则返回null
7
+ */
8
+ function parseDynamicOverlay(tag) {
9
+ if (!tag) {
10
+ return null;
11
+ }
12
+ const match = tag.match(/^dynamic_overlay:(before|after|replace|delete):(.+)$/);
13
+ if (match) {
14
+ return { position: match[1], targetId: match[2] };
15
+ }
16
+ return null;
17
+ }
18
+ /**
19
+ * 合并两个界面行为组
20
+ *
21
+ * @param dst 目标界面行为组,用于接收合并结果
22
+ * @param src 源界面行为组,提供要合并的数据
23
+ * @returns 无返回值,直接修改目标对象
24
+ */
1
25
  export function mergeAppDEUIActionGroup(dst, src) {
2
26
  if (!dst || !src) {
3
27
  return;
4
28
  }
5
- // 合并界面行为组项
29
+ // 合并界面行为组项,根据界面行为组成员用户标记(格式如:dynamic_overlay:before|after|replace|delete:detailid)进行合并,如格式不满足则添加到末尾,如没有用户标记,则直接添加到末尾
6
30
  if (src.uiactionGroupDetails) {
7
31
  if (!dst.uiactionGroupDetails) {
8
32
  dst.uiactionGroupDetails = [];
9
33
  }
10
34
  src.uiactionGroupDetails.forEach((item) => {
11
- dst.uiactionGroupDetails.push(item);
35
+ const overlayInfo = parseDynamicOverlay(item.userTag);
36
+ if (overlayInfo && overlayInfo.position && overlayInfo.targetId) {
37
+ const targetIndex = dst.uiactionGroupDetails.findIndex((x) => x.id === overlayInfo.targetId);
38
+ if (targetIndex !== -1) {
39
+ switch (overlayInfo.position) {
40
+ case 'before':
41
+ dst.uiactionGroupDetails.splice(targetIndex, 0, item);
42
+ break;
43
+ case 'after':
44
+ dst.uiactionGroupDetails.splice(targetIndex + 1, 0, item);
45
+ break;
46
+ case 'replace':
47
+ dst.uiactionGroupDetails[targetIndex] = item;
48
+ break;
49
+ case 'delete':
50
+ dst.uiactionGroupDetails.splice(targetIndex, 1);
51
+ break;
52
+ default:
53
+ dst.uiactionGroupDetails.push(item);
54
+ break;
55
+ }
56
+ }
57
+ else {
58
+ dst.uiactionGroupDetails.push(item);
59
+ }
60
+ }
61
+ else {
62
+ dst.uiactionGroupDetails.push(item);
63
+ }
12
64
  });
13
65
  }
14
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"merge-de-drcontrol.d.ts","sourceRoot":"","sources":["../../../src/utils/merge-model/merge-de-drcontrol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA4E3E"}
1
+ {"version":3,"file":"merge-de-drcontrol.d.ts","sourceRoot":"","sources":["../../../src/utils/merge-model/merge-de-drcontrol.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAsH3E"}
@@ -1,3 +1,5 @@
1
+ /* eslint-disable prefer-destructuring */
2
+ /* eslint-disable @typescript-eslint/no-unused-vars */
1
3
  /**
2
4
  * 合并DrCtrl控件
3
5
  *
@@ -12,7 +14,7 @@ export function mergeDEDrControl(dstDRCtrl, srcDRCtrl) {
12
14
  if (!srcDRCtrl) {
13
15
  return;
14
16
  }
15
- // 合并分组(相同name替换,没有则附加)
17
+ // 合并分组(相同id替换,如果分组项定义用户标记(格式如:dynamic_overlay:BEFORE/AFTER:目标分组id),则需要找到目标分组,则根据位置在目标项前后附加,没有则附加)
16
18
  if (srcDRCtrl.dedrbarGroups) {
17
19
  srcDRCtrl.dedrbarGroups.forEach((item1) => {
18
20
  var _a;
@@ -24,12 +26,30 @@ export function mergeDEDrControl(dstDRCtrl, srcDRCtrl) {
24
26
  if (result) {
25
27
  dstDRCtrl.dedrbarGroups[index] = item1;
26
28
  }
29
+ else if (item1.userTag && item1.userTag.startsWith('dynamic_overlay')) {
30
+ const [dynaTag, targetPosition, targetTag] = item1.userTag.split(':');
31
+ const targetIndex = dstDRCtrl.dedrbarGroups.findIndex((item3) => item3.id === targetTag);
32
+ if (targetIndex !== -1) {
33
+ if (targetPosition === 'BEFORE') {
34
+ dstDRCtrl.dedrbarGroups.splice(targetIndex, 0, item1);
35
+ }
36
+ else if (targetPosition === 'AFTER') {
37
+ dstDRCtrl.dedrbarGroups.splice(targetIndex + 1, 0, item1);
38
+ }
39
+ else {
40
+ dstDRCtrl.dedrbarGroups.push(item1);
41
+ }
42
+ }
43
+ else {
44
+ dstDRCtrl.dedrbarGroups.push(item1);
45
+ }
46
+ }
27
47
  else {
28
48
  dstDRCtrl.dedrbarGroups.push(item1);
29
49
  }
30
50
  });
31
51
  }
32
- // 合并分组项(相同id替换,没有则附加)
52
+ // 合并分组项(相同id替换,如果项成员项定义成员标记(格式如:dynamic_overlay:BEFORE/AFTER:目标项id),则需要找到目标项,则根据位置在目标项前后附加,没有则附加)
33
53
  if (srcDRCtrl.dedrctrlItems) {
34
54
  srcDRCtrl.dedrctrlItems.forEach((item1) => {
35
55
  let index = 0;
@@ -40,12 +60,30 @@ export function mergeDEDrControl(dstDRCtrl, srcDRCtrl) {
40
60
  if (result) {
41
61
  dstDRCtrl.dedrctrlItems[index] = item1;
42
62
  }
63
+ else if (item1.itemTag && item1.itemTag.startsWith('dynamic_overlay')) {
64
+ const [dynaTag, targetPosition, targetTag] = item1.itemTag.split(':');
65
+ const targetIndex = dstDRCtrl.dedrctrlItems.findIndex((item3) => item3.id === targetTag);
66
+ if (targetIndex !== -1) {
67
+ if (targetPosition === 'BEFORE') {
68
+ dstDRCtrl.dedrctrlItems.splice(targetIndex, 0, item1);
69
+ }
70
+ else if (targetPosition === 'AFTER') {
71
+ dstDRCtrl.dedrctrlItems.splice(targetIndex + 1, 0, item1);
72
+ }
73
+ else {
74
+ dstDRCtrl.dedrctrlItems.push(item1);
75
+ }
76
+ }
77
+ else {
78
+ dstDRCtrl.dedrctrlItems.push(item1);
79
+ }
80
+ }
43
81
  else {
44
82
  dstDRCtrl.dedrctrlItems.push(item1);
45
83
  }
46
84
  });
47
85
  }
48
- // 合并分组项(相同id替换,如果tab成员项定义成员标记(格式如:BEFORE/AFTER:目标项id),则需要找到目标项,则根据位置在目标项前后附加),没有则附加到尾部
86
+ // 合并分组项(相同id替换,如果tab成员项定义成员标记(格式如:BEFORE/AFTER:目标项id或者dynamic_overlay:BEFORE/AFTER:目标项id),则需要找到目标项,则根据位置在目标项前后附加),没有则附加到尾部
49
87
  if (srcDRCtrl.dedrtabPages) {
50
88
  srcDRCtrl.dedrtabPages.forEach((item1) => {
51
89
  let index = 0;
@@ -57,7 +95,15 @@ export function mergeDEDrControl(dstDRCtrl, srcDRCtrl) {
57
95
  dstDRCtrl.dedrtabPages[index] = item1;
58
96
  }
59
97
  else if (item1.itemTag) {
60
- const [targetPosition, targetTag] = item1.itemTag.split(':');
98
+ // 兼容BEFORE/AFTER:目标项id或者dynamic_overlay:BEFORE/AFTER:目标项id2种格式
99
+ const splitTags = item1.itemTag.split(':');
100
+ let targetPosition = '';
101
+ let targetTag = '';
102
+ // 只处理符合预期格式的情况
103
+ if (splitTags.length === 2 || splitTags.length === 3) {
104
+ targetPosition = splitTags[splitTags.length === 2 ? 0 : 1];
105
+ targetTag = splitTags[splitTags.length === 2 ? 1 : 2];
106
+ }
61
107
  if (!targetTag || !targetPosition) {
62
108
  dstDRCtrl.dedrtabPages.push(item1);
63
109
  }
@@ -41,5 +41,20 @@ export declare function recursiveIterate(parent: IData, callback: (item: any, _p
41
41
  * @returns {*} {void}
42
42
  */
43
43
  export declare function mergeAppDEForm(dst: IDEForm | undefined, src: IDEForm | undefined): void;
44
+ /**
45
+ * 获取存在基于数据关系部件构建的分页部件的数据关系标识
46
+ * @param form 表单模型
47
+ * @returns 数据关系标识集合
48
+ */
49
+ export declare function getFormdataRelationTags(form: IDEForm | undefined): string[];
50
+ /**
51
+ * @description 合并存在数据关系标识的表单分页部件,子应用表单codename和主应用表单表单分页部件数据关系标识相同
52
+ * @export
53
+ * @param {string} dataRelationTag 数据关系标识
54
+ * @param {(IDEForm | undefined)} dst 主应用表单模型
55
+ * @param {(IDEForm | undefined)} src 子应用表单模型
56
+ * @returns {*} {void}
57
+ */
58
+ export declare function mergeFormDRTabpanel(dataRelationTag: string, dst: IDEForm | undefined, src: IDEForm | undefined): void;
44
59
  export {};
45
60
  //# sourceMappingURL=merge-de-form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-de-form.d.ts","sourceRoot":"","sources":["../../../src/utils/merge-model/merge-de-form.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAU3C,aAAa;AACb,QAAA,MAAM,WAAW;IACf,cAAc;;CAEf,CAAC;AAiCF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,GAAG,IAAI,EACrD,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,GACjC,IAAI,CAaN;AAoID;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,GAAG,SAAS,EACxB,GAAG,EAAE,OAAO,GAAG,SAAS,GACvB,IAAI,CAKN"}
1
+ {"version":3,"file":"merge-de-form.d.ts","sourceRoot":"","sources":["../../../src/utils/merge-model/merge-de-form.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAU3C,aAAa;AACb,QAAA,MAAM,WAAW;IACf,cAAc;;CAEf,CAAC;AAiCF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,GAAG,IAAI,EACrD,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,GACjC,IAAI,CAaN;AA2ID;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,GAAG,SAAS,EACxB,GAAG,EAAE,OAAO,GAAG,SAAS,GACvB,IAAI,CAKN;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,EAAE,CAe3E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,OAAO,GAAG,SAAS,EACxB,GAAG,EAAE,OAAO,GAAG,SAAS,GACvB,IAAI,CAwCN"}
@@ -101,6 +101,8 @@ function computeSubAppFormItems(src) {
101
101
  const tempItem = {
102
102
  position: tags[1],
103
103
  model: item,
104
+ // 定义当前项是否已经被合并
105
+ merge: false,
104
106
  };
105
107
  const targetMergeArray = subAppMergeItemsMap.get(tags[2]);
106
108
  targetMergeArray.push(tempItem);
@@ -164,6 +166,8 @@ function mergeSubAppFormItemToDst(item, parent, mergeItem) {
164
166
  }
165
167
  break;
166
168
  }
169
+ // 标记当前项已被合并
170
+ mergeItem.merge = true;
167
171
  }
168
172
  /**
169
173
  * @description 合并子应用表单表单项
@@ -181,7 +185,10 @@ function mergeSubAppFormItems(dst, subAppMergeItems) {
181
185
  const mergeItems = subAppMergeItems.get(item.codeName);
182
186
  if (mergeItems && mergeItems.length > 0) {
183
187
  mergeItems.forEach((mergeItem) => {
184
- mergeSubAppFormItemToDst(item, parent, mergeItem);
188
+ // 判断当前项是否已经被合并,若已经被合并则不再处理
189
+ if (!mergeItem.merge) {
190
+ mergeSubAppFormItemToDst(item, parent, mergeItem);
191
+ }
185
192
  });
186
193
  }
187
194
  }, {
@@ -210,3 +217,59 @@ export function mergeAppDEForm(dst, src) {
210
217
  return;
211
218
  mergeSubAppFormItems(dst, subAppMergeItems);
212
219
  }
220
+ /**
221
+ * 获取存在基于数据关系部件构建的分页部件的数据关系标识
222
+ * @param form 表单模型
223
+ * @returns 数据关系标识集合
224
+ */
225
+ export function getFormdataRelationTags(form) {
226
+ const dataRelationTags = [];
227
+ if (!form)
228
+ return dataRelationTags;
229
+ recursiveIterate(form, (item) => {
230
+ if (item.detailType === 'TABPANEL' && item.dataRelationTag) {
231
+ dataRelationTags.push(item.dataRelationTag);
232
+ }
233
+ }, {
234
+ childrenFields: CHILDRENFIELDS,
235
+ });
236
+ return dataRelationTags;
237
+ }
238
+ /**
239
+ * @description 合并存在数据关系标识的表单分页部件,子应用表单codename和主应用表单表单分页部件数据关系标识相同
240
+ * @export
241
+ * @param {string} dataRelationTag 数据关系标识
242
+ * @param {(IDEForm | undefined)} dst 主应用表单模型
243
+ * @param {(IDEForm | undefined)} src 子应用表单模型
244
+ * @returns {*} {void}
245
+ */
246
+ export function mergeFormDRTabpanel(dataRelationTag, dst, src) {
247
+ if (!dataRelationTag || !dst || !src)
248
+ return;
249
+ // 基于数据标识获取子应用表单分页部件
250
+ let srcTabpanel;
251
+ recursiveIterate(src, (item) => {
252
+ if (item.detailType === 'TABPANEL' &&
253
+ item.dataRelationTag === dataRelationTag) {
254
+ srcTabpanel = item;
255
+ return true;
256
+ }
257
+ }, {
258
+ childrenFields: CHILDRENFIELDS,
259
+ });
260
+ // 将子应用表单分页部件合并到主应用表单分页部件中
261
+ if (srcTabpanel) {
262
+ recursiveIterate(dst, (item) => {
263
+ if (item.detailType === 'TABPANEL' &&
264
+ item.dataRelationTag === dataRelationTag) {
265
+ const detailName = getFormDetailMatchField(item, CHILDRENFIELDS);
266
+ if (detailName && item[detailName] && srcTabpanel[detailName]) {
267
+ item[detailName].push(...srcTabpanel[detailName]);
268
+ return true;
269
+ }
270
+ }
271
+ }, {
272
+ childrenFields: CHILDRENFIELDS,
273
+ });
274
+ }
275
+ }
@@ -1,4 +1,4 @@
1
- import { IAppView, IControl, ISubAppRef } from '@ibiz/model-core';
1
+ import { IAppCodeList, IAppDEACMode, IAppView, IControl, IDEToolbarItem, ISubAppRef } from '@ibiz/model-core';
2
2
  import { DSLHelper } from '@ibiz/rt-model-api';
3
3
  /**
4
4
  * 子应用模型合并对象
@@ -56,6 +56,14 @@ export declare class MergeSubModelHelper {
56
56
  * @param {ISubAppRef[]} subAppRefs
57
57
  */
58
58
  mergeSubAppToolbarActionGroup(view: IAppView, controls: IControl[] | undefined, subAppRefs: ISubAppRef[]): void;
59
+ /**
60
+ * @description 递归合并工具项界面行为组
61
+ * @param {IDEToolbarItem[]} dstToolBarItems
62
+ * @param {IAppView} view
63
+ * @param {ISubAppRef[]} subAppRefs
64
+ * @memberof MergeSubModelHelper
65
+ */
66
+ recursiveMergeSubAppToolbarItemActionGroup(dstToolBarItems: IDEToolbarItem[], view: IAppView, subAppRefs: ISubAppRef[]): void;
59
67
  /**
60
68
  * 合并树上下文菜单
61
69
  *
@@ -95,5 +103,19 @@ export declare class MergeSubModelHelper {
95
103
  * @memberof MergeSubModelHelper
96
104
  */
97
105
  mergeSubAppForm(view: IAppView, controls: IControl[] | undefined, subAppRefs: ISubAppRef[]): void;
106
+ /**
107
+ * @description 合并子应用代码表(子应用代码表标识和主应用代码表标识一致,包含模块、代码表代码名称2部分内容保持一致)
108
+ * @param codelist
109
+ * @param subAppRefs
110
+ */
111
+ mergeSubAppCodeList(codelist: IAppCodeList, subAppRefs: ISubAppRef[]): void;
112
+ /**
113
+ * @description 合并子应用AC自填模式界面行为组
114
+ * @param {(IAppDEACMode[] | undefined)} acModes
115
+ * @param {ISubAppRef[]} subAppRefs
116
+ * @returns {*} {void}
117
+ * @memberof MergeSubModelHelper
118
+ */
119
+ mergeSubAppDEACModesActionGroup(acModes: IAppDEACMode[] | undefined, subAppRefs: ISubAppRef[]): void;
98
120
  }
99
121
  //# sourceMappingURL=merge-model-helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-model-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/merge-model/merge-model-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,QAAQ,EAUR,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAQ/C;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,YAAmB;IAEhC;;;;;;;OAOG;IACH,gBAAgB,CACd,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAcP;;;;;;;;OAQG;IACH,uBAAuB,CACrB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAuBP;;;;;;;;OAQG;IACH,iBAAiB,CACf,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAiBP;;;;;;;;OAQG;IACH,6BAA6B,CAC3B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAiDP;;;;;;;;OAQG;IACH,qCAAqC,CACnC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAuEP,mBAAmB,CACjB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAwBP;;;;;;;;OAQG;IACH,0BAA0B,CACxB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAuCP;;;;;;;;OAQG;IACH,gCAAgC,CAC9B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAqCP;;;;;;OAMG;IACH,eAAe,CACb,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;CAmBR"}
1
+ {"version":3,"file":"merge-model-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/merge-model/merge-model-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EAEZ,QAAQ,EACR,QAAQ,EASR,cAAc,EAEd,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAa/C;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,YAAmB;IAEhC;;;;;;;OAOG;IACH,gBAAgB,CACd,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAuCP;;;;;;;;OAQG;IACH,uBAAuB,CACrB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IA8BP;;;;;;;;OAQG;IACH,iBAAiB,CACf,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAiBP;;;;;;;;OAQG;IACH,6BAA6B,CAC3B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAwBP;;;;;;OAMG;IACH,0CAA0C,CACxC,eAAe,EAAE,cAAc,EAAE,EACjC,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAwCP;;;;;;;;OAQG;IACH,qCAAqC,CACnC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAyEP,mBAAmB,CACjB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAwBP;;;;;;;;OAQG;IACH,0BAA0B,CACxB,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAuCP;;;;;;;;OAQG;IACH,gCAAgC,CAC9B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IAqCP;;;;;;OAMG;IACH,eAAe,CACb,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;IA2CP;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI;IAa3E;;;;;;OAMG;IACH,+BAA+B,CAC7B,OAAO,EAAE,YAAY,EAAE,GAAG,SAAS,EACnC,UAAU,EAAE,UAAU,EAAE,GACvB,IAAI;CAqBR"}