@ibiz-template/runtime 0.7.41-alpha.12 → 0.7.41-alpha.14

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.
Files changed (103) hide show
  1. package/dist/index.esm.js +210 -98
  2. package/dist/index.system.min.js +1 -1
  3. package/out/config/global-config.d.ts +1 -1
  4. package/out/controller/common/base.controller.d.ts.map +1 -1
  5. package/out/controller/common/base.controller.js +1 -0
  6. package/out/controller/common/control/md-control.controller.d.ts +2 -2
  7. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  8. package/out/controller/common/control/md-control.controller.js +4 -4
  9. package/out/controller/common/editor/editor.controller.d.ts.map +1 -1
  10. package/out/controller/common/editor/editor.controller.js +6 -0
  11. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  12. package/out/controller/common/view/view.controller.js +4 -0
  13. package/out/controller/control/data-view/data-view.controller.d.ts.map +1 -1
  14. package/out/controller/control/data-view/data-view.controller.js +5 -6
  15. package/out/controller/control/exp-bar/exp-bar.controller.d.ts.map +1 -1
  16. package/out/controller/control/exp-bar/exp-bar.controller.js +1 -1
  17. package/out/controller/control/form/edit-form/edit-form.controller.js +3 -3
  18. package/out/controller/control/form/form-detail/form-iframe/form-iframe.controller.d.ts +24 -0
  19. package/out/controller/control/form/form-detail/form-iframe/form-iframe.controller.d.ts.map +1 -0
  20. package/out/controller/control/form/form-detail/form-iframe/form-iframe.controller.js +22 -0
  21. package/out/controller/control/form/form-detail/form-iframe/form-iframe.state.d.ts +4 -0
  22. package/out/controller/control/form/form-detail/form-iframe/form-iframe.state.d.ts.map +1 -0
  23. package/out/controller/control/form/form-detail/form-iframe/form-iframe.state.js +3 -0
  24. package/out/controller/control/form/form-detail/form-iframe/index.d.ts +3 -0
  25. package/out/controller/control/form/form-detail/form-iframe/index.d.ts.map +1 -0
  26. package/out/controller/control/form/form-detail/form-iframe/index.js +2 -0
  27. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +1 -1
  28. package/out/controller/control/form/form-detail/index.d.ts +1 -0
  29. package/out/controller/control/form/form-detail/index.d.ts.map +1 -1
  30. package/out/controller/control/form/form-detail/index.js +1 -0
  31. package/out/controller/control/grid/grid/grid.controller.d.ts +8 -1
  32. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  33. package/out/controller/control/grid/grid/grid.controller.js +16 -0
  34. package/out/controller/control/kanban/kanban.controller.d.ts.map +1 -1
  35. package/out/controller/control/kanban/kanban.controller.js +25 -43
  36. package/out/controller/control/list/list.controller.d.ts.map +1 -1
  37. package/out/controller/control/list/list.controller.js +5 -7
  38. package/out/controller/control/search-bar/search-bar.controller.d.ts +6 -0
  39. package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
  40. package/out/controller/control/search-bar/search-bar.controller.js +28 -0
  41. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.d.ts +20 -0
  42. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.d.ts.map +1 -1
  43. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.js +25 -0
  44. package/out/controller/control/toolbar/toolbar.controller.d.ts +1 -1
  45. package/out/controller/control/toolbar/toolbar.controller.d.ts.map +1 -1
  46. package/out/controller/control/toolbar/toolbar.controller.js +8 -2
  47. package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
  48. package/out/controller/control/tree/tree.controller.js +2 -2
  49. package/out/controller/control/tree/tree.service.d.ts +2 -1
  50. package/out/controller/control/tree/tree.service.d.ts.map +1 -1
  51. package/out/controller/control/tree/tree.service.js +5 -2
  52. package/out/controller/control/wizard-panel/wizard-panel.controller.d.ts +1 -1
  53. package/out/controller/control/wizard-panel/wizard-panel.controller.d.ts.map +1 -1
  54. package/out/controller/control/wizard-panel/wizard-panel.controller.js +4 -3
  55. package/out/controller/utils/button-state/ui-action-button.state.js +1 -1
  56. package/out/controller/utils/view-msg/view-msg-controller.d.ts.map +1 -1
  57. package/out/controller/utils/view-msg/view-msg-controller.js +5 -3
  58. package/out/engine/md-view.engine.d.ts.map +1 -1
  59. package/out/engine/md-view.engine.js +6 -6
  60. package/out/interface/api/common/global-config/i-api-global-config.d.ts +2 -2
  61. package/out/interface/api/controller/control/i-api-calendar.controller.d.ts +1 -1
  62. package/out/interface/api/controller/control/i-api-chart.controller.d.ts +1 -1
  63. package/out/interface/api/controller/control/i-api-drbar.controller.d.ts +6 -0
  64. package/out/interface/api/controller/control/i-api-drbar.controller.d.ts.map +1 -1
  65. package/out/interface/api/controller/control/i-api-drtab.controller.d.ts +6 -0
  66. package/out/interface/api/controller/control/i-api-drtab.controller.d.ts.map +1 -1
  67. package/out/interface/api/controller/control/i-api-edit-form.controller.d.ts +1 -0
  68. package/out/interface/api/controller/control/i-api-edit-form.controller.d.ts.map +1 -1
  69. package/out/interface/api/controller/control/i-api-grid.controller.d.ts +1 -1
  70. package/out/interface/api/controller/control/i-api-map.controller.d.ts +1 -1
  71. package/out/interface/api/controller/control/i-api-search-bar.controller.d.ts +6 -0
  72. package/out/interface/api/controller/control/i-api-search-bar.controller.d.ts.map +1 -1
  73. package/out/interface/api/controller/control/i-api-tab-exp-panel.controller.d.ts +6 -0
  74. package/out/interface/api/controller/control/i-api-tab-exp-panel.controller.d.ts.map +1 -1
  75. package/out/interface/api/controller/control/i-api-tree-grid.controller.d.ts +1 -1
  76. package/out/interface/api/controller/control/i-api-tree.controller.d.ts +1 -1
  77. package/out/interface/api/i-api-runtime-ibizsys.d.ts +7 -1
  78. package/out/interface/api/i-api-runtime-ibizsys.d.ts.map +1 -1
  79. package/out/interface/api/state/control/i-api-tab-exp-panel.state.d.ts +6 -0
  80. package/out/interface/api/state/control/i-api-tab-exp-panel.state.d.ts.map +1 -1
  81. package/out/interface/api/util/i-api-app-util.d.ts +213 -0
  82. package/out/interface/api/util/i-api-app-util.d.ts.map +1 -0
  83. package/out/interface/api/util/i-api-app-util.js +1 -0
  84. package/out/interface/api/util/index.d.ts +1 -0
  85. package/out/interface/api/util/index.d.ts.map +1 -1
  86. package/out/interface/controller/controller/control/i-toolbar.controller.d.ts +2 -1
  87. package/out/interface/controller/controller/control/i-toolbar.controller.d.ts.map +1 -1
  88. package/out/interface/controller/event/common/i-component.event.d.ts +12 -0
  89. package/out/interface/controller/event/common/i-component.event.d.ts.map +1 -1
  90. package/out/interface/controller/event/control/i-drbar.event.d.ts +19 -0
  91. package/out/interface/controller/event/control/i-drbar.event.d.ts.map +1 -1
  92. package/out/interface/controller/event/control/i-drtab.event.d.ts +19 -0
  93. package/out/interface/controller/event/control/i-drtab.event.d.ts.map +1 -1
  94. package/out/interface/controller/event/control/i-search-bar.event.d.ts +25 -0
  95. package/out/interface/controller/event/control/i-search-bar.event.d.ts.map +1 -1
  96. package/out/interface/util/i-app-util/i-app-util.d.ts +7 -149
  97. package/out/interface/util/i-app-util/i-app-util.d.ts.map +1 -1
  98. package/out/logic-scheduler/trigger/item-dyna-logic-trigger.d.ts.map +1 -1
  99. package/out/logic-scheduler/trigger/item-dyna-logic-trigger.js +3 -2
  100. package/out/model/data-entity/data-entity.d.ts +9 -1
  101. package/out/model/data-entity/data-entity.d.ts.map +1 -1
  102. package/out/model/data-entity/data-entity.js +12 -0
  103. package/package.json +3 -3
package/dist/index.esm.js CHANGED
@@ -20713,6 +20713,13 @@ async function getDeACMode(appDEACModeId, entityId, srfappid) {
20713
20713
  });
20714
20714
  return deACMode;
20715
20715
  }
20716
+ function getParentTextAppDEFieldId(appDEFieldId, appDataEntity) {
20717
+ var _a3;
20718
+ const deRss = (_a3 = appDataEntity == null ? void 0 : appDataEntity.minorAppDERSs) == null ? void 0 : _a3.find(
20719
+ (rss) => rss.parentAppDEFieldId === appDEFieldId
20720
+ );
20721
+ return deRss == null ? void 0 : deRss.parentTextAppDEFieldId;
20722
+ }
20716
20723
  function findDELogic(appDELogicId, entity) {
20717
20724
  var _a3;
20718
20725
  return (_a3 = entity.appDELogics) == null ? void 0 : _a3.find((item) => item.id === appDELogicId);
@@ -34307,7 +34314,7 @@ var UIActionButtonState = class {
34307
34314
  // 计算启用逻辑
34308
34315
  async calcEnableScript(context, data) {
34309
34316
  if (this.model && this.model.enableScriptCode) {
34310
- this.visible = ScriptFactory.execScriptFn(
34317
+ this.disabled = ScriptFactory.execScriptFn(
34311
34318
  { context, data },
34312
34319
  this.model.enableScriptCode,
34313
34320
  { singleRowReturn: true }
@@ -35388,7 +35395,7 @@ var ViewMsgController = class _ViewMsgController {
35388
35395
  * @return {*} {Promise<void>}
35389
35396
  */
35390
35397
  async init(context) {
35391
- var _a3, _b2;
35398
+ var _a3, _b2, _c;
35392
35399
  const appModel = ibiz.hub.getApp(context.srfappid).model;
35393
35400
  const msgGroup = (_a3 = appModel.appViewMsgGroups) == null ? void 0 : _a3.find(
35394
35401
  (item) => item.id === this.msgGroupId
@@ -35401,10 +35408,12 @@ var ViewMsgController = class _ViewMsgController {
35401
35408
  );
35402
35409
  }
35403
35410
  this.msgGroup = msgGroup;
35404
- const msgDetailsViewMsgIds = msgGroup.appViewMsgGroupDetails.map(
35411
+ const msgDetailsViewMsgIds = (_b2 = msgGroup.appViewMsgGroupDetails) == null ? void 0 : _b2.map(
35405
35412
  (item) => item.appViewMsgId
35406
35413
  );
35407
- (_b2 = appModel.appViewMsgs) == null ? void 0 : _b2.forEach((item) => {
35414
+ if (!msgDetailsViewMsgIds)
35415
+ return;
35416
+ (_c = appModel.appViewMsgs) == null ? void 0 : _c.forEach((item) => {
35408
35417
  const index = msgDetailsViewMsgIds.indexOf(item.id);
35409
35418
  if (index !== -1) {
35410
35419
  this.viewMsgMap.set(item.id, item);
@@ -35906,6 +35915,7 @@ var BaseController = class {
35906
35915
  * @date 2023-04-25 11:08:54
35907
35916
  */
35908
35917
  async destroyed() {
35918
+ await this._evt.emit("onBeforeDestroy", void 0);
35909
35919
  await this.onDestroyed();
35910
35920
  this.state.isDestroyed = true;
35911
35921
  ibiz.log.debug("".concat(this.constructor.name, ":").concat(this.name, " onDestroyed"));
@@ -36032,6 +36042,7 @@ var ViewController = class extends BaseController {
36032
36042
  this.ctx.init(this);
36033
36043
  this.initEngines();
36034
36044
  this.handleViewError = this.handleViewError.bind(this);
36045
+ ibiz.appUtil.viewCacheCenter.set(this.model.codeName.toLowerCase(), this);
36035
36046
  }
36036
36047
  get _evt() {
36037
36048
  return this.evt;
@@ -36314,6 +36325,7 @@ var ViewController = class extends BaseController {
36314
36325
  );
36315
36326
  ibiz.mc.error.off(this.handleViewError);
36316
36327
  ibiz.util.record.removeTriggerLogic(this.id);
36328
+ ibiz.appUtil.viewCacheCenter.delete(this.model.codeName.toLowerCase());
36317
36329
  }
36318
36330
  /**
36319
36331
  * 处理上下文和导航参数相关的,如自定义导航参数的处理
@@ -36778,8 +36790,12 @@ var EditorController = class {
36778
36790
  * @memberof EditorController
36779
36791
  */
36780
36792
  get emptyShowPlaceholder() {
36793
+ var _a3, _b2;
36781
36794
  if (!this.placeHolder)
36782
36795
  return false;
36796
+ if ((_b2 = (_a3 = this.parent.form) == null ? void 0 : _a3.controlParams) == null ? void 0 : _b2.emptyshowmode) {
36797
+ return this.parent.form.controlParams.emptyshowmode === "PLACEHOLDER";
36798
+ }
36783
36799
  return ibiz.config.common.emptyShowMode === "PLACEHOLDER";
36784
36800
  }
36785
36801
  /**
@@ -37631,7 +37647,7 @@ var MDControlController = class extends ControlController {
37631
37647
  * 刷新模式
37632
37648
  *
37633
37649
  * @readonly
37634
- * @type {('default' | 'cache')}
37650
+ * @type {('nocache' | 'cache')}
37635
37651
  * @memberof MDControlController
37636
37652
  */
37637
37653
  get refreshMode() {
@@ -37961,7 +37977,7 @@ var MDControlController = class extends ControlController {
37961
37977
  * @return {*} {Promise<IData[]>} 返回给后续处理的数据
37962
37978
  */
37963
37979
  async afterLoad(args, items) {
37964
- if (args.isInitialLoad || this.refreshMode === "default") {
37980
+ if (args.isInitialLoad || this.refreshMode === "nocache") {
37965
37981
  this.state.selectedData = [];
37966
37982
  } else if (this.refreshMode === "cache") {
37967
37983
  this.state.selectedData = this.state.items.filter(
@@ -38134,11 +38150,13 @@ var MDControlController = class extends ControlController {
38134
38150
  const data = selection == null ? void 0 : selection[0];
38135
38151
  (_a3 = this.batchToolbarController) == null ? void 0 : _a3.calcButtonState(
38136
38152
  data,
38137
- this.model.appDataEntityId
38153
+ this.model.appDataEntityId,
38154
+ { view: this.view, ctrl: this }
38138
38155
  );
38139
38156
  (_b2 = this.quickToolbarController) == null ? void 0 : _b2.calcButtonState(
38140
38157
  data,
38141
- this.model.appDataEntityId
38158
+ this.model.appDataEntityId,
38159
+ { view: this.view, ctrl: this }
38142
38160
  );
38143
38161
  }
38144
38162
  /**
@@ -42138,7 +42156,10 @@ var ToolbarController = class extends ControlController {
42138
42156
  );
42139
42157
  await this.initToolbarItemProviders();
42140
42158
  if (!this.state.manualCalcButtonState) {
42141
- await this.calcButtonState(void 0, this.model.appDataEntityId);
42159
+ await this.calcButtonState(void 0, this.model.appDataEntityId, {
42160
+ view: this.view,
42161
+ ctrl: this
42162
+ });
42142
42163
  } else {
42143
42164
  await this.state.buttonsState.init();
42144
42165
  }
@@ -42188,7 +42209,7 @@ var ToolbarController = class extends ControlController {
42188
42209
  await this.doUIAction(item, event, params);
42189
42210
  }
42190
42211
  }
42191
- async calcButtonState(data, appDeId) {
42212
+ async calcButtonState(data, appDeId, _params = {}) {
42192
42213
  let _data = data;
42193
42214
  if (data && data instanceof ControlVO) {
42194
42215
  _data = data.getOrigin();
@@ -42202,6 +42223,9 @@ var ToolbarController = class extends ControlController {
42202
42223
  });
42203
42224
  if (this.scheduler) {
42204
42225
  const logicParams = {};
42226
+ if (_params) {
42227
+ Object.assign(logicParams, { ..._params });
42228
+ }
42205
42229
  if (_data) {
42206
42230
  logicParams.data = [_data];
42207
42231
  }
@@ -48294,6 +48318,7 @@ var SearchBarController = class extends ControlController {
48294
48318
  */
48295
48319
  resetFilter() {
48296
48320
  this.state.filterNodes = getOriginFilterNodes();
48321
+ this.evt.emit("onReset", void 0);
48297
48322
  this.evt.emit("onSearch", void 0);
48298
48323
  }
48299
48324
  /**
@@ -48669,6 +48694,7 @@ var SearchBarController = class extends ControlController {
48669
48694
  }
48670
48695
  }
48671
48696
  this.state.selectedSearchGroupItem = groupItem;
48697
+ this.evt.emit("onTabChange", { data: [groupItem] });
48672
48698
  if (groupItem.saved || groupItem.ownerType === "SYSTEM") {
48673
48699
  const res = await this.service.get(groupItem.id);
48674
48700
  if (res.ok) {
@@ -48760,6 +48786,31 @@ var SearchBarController = class extends ControlController {
48760
48786
  }
48761
48787
  }
48762
48788
  }
48789
+ /**
48790
+ * @description 切换分组
48791
+ * @param {string} tabId
48792
+ * @memberof SearchBarController
48793
+ */
48794
+ selectTab(tabId) {
48795
+ var _a3, _b2;
48796
+ if (this.isBackendSearchGroup) {
48797
+ const target = (_a3 = this.state.searchBarGroups) == null ? void 0 : _a3.find((item) => {
48798
+ return item.name === tabId;
48799
+ });
48800
+ if (target) {
48801
+ this.handleGroupClick(target);
48802
+ }
48803
+ } else {
48804
+ const target = (_b2 = this.model.searchBarGroups) == null ? void 0 : _b2.find((item) => {
48805
+ return item.id === tabId;
48806
+ });
48807
+ if (target) {
48808
+ this.state.selectedGroupItem = target;
48809
+ this.evt.emit("onTabChange", { data: [target] });
48810
+ this.onSearch();
48811
+ }
48812
+ }
48813
+ }
48763
48814
  };
48764
48815
 
48765
48816
  // src/controller/control/dashboard/portlet/filter-portlet/filter-portlet.controller.ts
@@ -49171,6 +49222,7 @@ var DataViewControlController = class extends MDControlController {
49171
49222
  });
49172
49223
  }
49173
49224
  async afterLoad(args, items) {
49225
+ super.afterLoad(args, items);
49174
49226
  await this.initGroupCodeListItems();
49175
49227
  await this.handleDataGroup();
49176
49228
  await this.initGroupActionStates();
@@ -49305,7 +49357,6 @@ var DataViewControlController = class extends MDControlController {
49305
49357
  * @memberof DataViewControlController
49306
49358
  */
49307
49359
  async handleAutoGroup() {
49308
- var _a3;
49309
49360
  const { groupAppDEFieldId, groupCodeListId } = this.model;
49310
49361
  let codeList = [];
49311
49362
  if (groupCodeListId) {
@@ -49318,10 +49369,7 @@ var DataViewControlController = class extends MDControlController {
49318
49369
  }
49319
49370
  if (groupAppDEFieldId) {
49320
49371
  const { items } = this.state;
49321
- const deRss = (_a3 = this.dataEntity.minorAppDERSs) == null ? void 0 : _a3.find(
49322
- (rss) => rss.parentAppDEFieldId === groupAppDEFieldId
49323
- );
49324
- const textDEFieldId = deRss == null ? void 0 : deRss.parentTextAppDEFieldId;
49372
+ const textDEFieldId = getParentTextAppDEFieldId(groupAppDEFieldId, this.dataEntity) || groupAppDEFieldId;
49325
49373
  const dateFormat = this.groupDateFormat[0];
49326
49374
  const groupMap = /* @__PURE__ */ new Map();
49327
49375
  const unclassified = {
@@ -49330,7 +49378,7 @@ var DataViewControlController = class extends MDControlController {
49330
49378
  children: []
49331
49379
  };
49332
49380
  items.forEach((item) => {
49333
- let groupVal = item[textDEFieldId || groupAppDEFieldId];
49381
+ let groupVal = item[textDEFieldId];
49334
49382
  if (dateFormat)
49335
49383
  groupVal = formatDate(groupVal, dateFormat);
49336
49384
  if (isNil29(groupVal)) {
@@ -49742,7 +49790,8 @@ var ExpBarControlController = class extends ControlController {
49742
49790
  this.xDataController.evt.on("onSelectionChange", async (event) => {
49743
49791
  this.toolbarController.calcButtonState(
49744
49792
  event.data[0],
49745
- this.model.appDataEntityId
49793
+ this.model.appDataEntityId,
49794
+ event
49746
49795
  );
49747
49796
  });
49748
49797
  }
@@ -52703,7 +52752,7 @@ var FormItemController = class extends FormDetailController {
52703
52752
  });
52704
52753
  }
52705
52754
  if (isReset) {
52706
- this.setDataValue(null, this.name);
52755
+ await this.setDataValue(null, this.name);
52707
52756
  }
52708
52757
  if (name2.includes(this.name) || name2.includes(this.valueItemName)) {
52709
52758
  this.validate();
@@ -54113,6 +54162,32 @@ var FormButtonListController = class extends FormDetailController {
54113
54162
  }
54114
54163
  };
54115
54164
 
54165
+ // src/controller/control/form/form-detail/form-iframe/form-iframe.state.ts
54166
+ var FormIFrameState = class extends FormDetailState {
54167
+ };
54168
+
54169
+ // src/controller/control/form/form-detail/form-iframe/form-iframe.controller.ts
54170
+ import { StringUtil as StringUtil4 } from "@ibiz-template/core";
54171
+ var FormIFrameController = class extends FormDetailController {
54172
+ /**
54173
+ * @description 计算嵌入路径
54174
+ * @returns {*} {string}
54175
+ * @memberof FormIFrameController
54176
+ */
54177
+ calcIFrameUrl() {
54178
+ if (this.model.iframeUrl) {
54179
+ const url = StringUtil4.fill(
54180
+ this.model.iframeUrl,
54181
+ this.context,
54182
+ this.params,
54183
+ this.form.data
54184
+ );
54185
+ return url;
54186
+ }
54187
+ return "";
54188
+ }
54189
+ };
54190
+
54116
54191
  // src/controller/control/form/edit-form/edit-form.controller.ts
54117
54192
  import {
54118
54193
  awaitTimeout,
@@ -54494,9 +54569,9 @@ var EditFormController = class extends FormController {
54494
54569
  id: "".concat(this.view.model.codeName, "_").concat(this.model.codeName, "_").concat(detail.codeName),
54495
54570
  title: detail.caption
54496
54571
  });
54497
- if (detail.deformDetails) {
54498
- this.parseAnchorModel(page, detail.deformDetails);
54499
- }
54572
+ }
54573
+ if (detail.deformDetails) {
54574
+ this.parseAnchorModel(page, detail.deformDetails);
54500
54575
  }
54501
54576
  });
54502
54577
  }
@@ -56784,6 +56859,25 @@ var GridController = class extends MDControlController {
56784
56859
  );
56785
56860
  }
56786
56861
  }
56862
+ /**
56863
+ * 初始化部件逻辑调度器
56864
+ * @param {IControlLogic[]} logics
56865
+ * @return {*} {void}
56866
+ * @protected
56867
+ */
56868
+ initControlScheduler(logics = []) {
56869
+ const actualLogics = [...logics];
56870
+ recursiveIterate9(
56871
+ this.model,
56872
+ (item) => {
56873
+ if (item.controlLogics) {
56874
+ actualLogics.push(...item.controlLogics);
56875
+ }
56876
+ },
56877
+ { childrenFields: ["degridColumns"] }
56878
+ );
56879
+ super.initControlScheduler(actualLogics);
56880
+ }
56787
56881
  /**
56788
56882
  * 初始化表格列状态
56789
56883
  * @author lxm
@@ -58618,6 +58712,7 @@ var ListController = class extends MDControlController {
58618
58712
  });
58619
58713
  }
58620
58714
  async afterLoad(args, items) {
58715
+ super.afterLoad(args, items);
58621
58716
  await this.handleDataGroup();
58622
58717
  await this.initGroupActionStates();
58623
58718
  this.calcShowMode(items);
@@ -58696,7 +58791,6 @@ var ListController = class extends MDControlController {
58696
58791
  * @memberof DataViewControlController
58697
58792
  */
58698
58793
  async handleAutoGroup() {
58699
- var _a3;
58700
58794
  const { groupAppDEFieldId, groupCodeListId } = this.model;
58701
58795
  let codeList = [];
58702
58796
  if (groupCodeListId) {
@@ -58709,10 +58803,7 @@ var ListController = class extends MDControlController {
58709
58803
  }
58710
58804
  if (groupAppDEFieldId) {
58711
58805
  const { items } = this.state;
58712
- const deRss = (_a3 = this.dataEntity.minorAppDERSs) == null ? void 0 : _a3.find(
58713
- (rss) => rss.parentAppDEFieldId === groupAppDEFieldId
58714
- );
58715
- const textDEFieldId = deRss == null ? void 0 : deRss.parentTextAppDEFieldId;
58806
+ const textDEFieldId = getParentTextAppDEFieldId(groupAppDEFieldId, this.dataEntity) || groupAppDEFieldId;
58716
58807
  const dateFormat = this.groupDateFormat[0];
58717
58808
  const groupMap = /* @__PURE__ */ new Map();
58718
58809
  const unclassified = {
@@ -58721,7 +58812,7 @@ var ListController = class extends MDControlController {
58721
58812
  children: []
58722
58813
  };
58723
58814
  items.forEach((item) => {
58724
- let groupVal = item[textDEFieldId || groupAppDEFieldId];
58815
+ let groupVal = item[textDEFieldId];
58725
58816
  if (dateFormat)
58726
58817
  groupVal = formatDate(groupVal, dateFormat);
58727
58818
  if (this.model.groupStyle === "STYLE2" && dayjs8(groupVal).isValid()) {
@@ -59711,6 +59802,7 @@ var TabExpPanelController = class extends ControlController {
59711
59802
  */
59712
59803
  async onCreated() {
59713
59804
  await super.onCreated();
59805
+ await this.initCounter();
59714
59806
  this.layoutPanel = this.view.layoutPanel;
59715
59807
  this.initTabPages();
59716
59808
  this.initIconCaption();
@@ -59728,7 +59820,8 @@ var TabExpPanelController = class extends ControlController {
59728
59820
  caption: panel.caption,
59729
59821
  tabTag: panel.id,
59730
59822
  class: panel.sysCss ? [panel.sysCss.cssName] : [],
59731
- sysImage: panel.sysImage
59823
+ sysImage: panel.sysImage,
59824
+ counterId: panel.counterId
59732
59825
  });
59733
59826
  });
59734
59827
  this.state.tabPages = tabPages;
@@ -59883,6 +59976,32 @@ var TabExpPanelController = class extends ControlController {
59883
59976
  navViewMsg.key += createUUID16();
59884
59977
  this.evt.emit("onNavViewChange", { navViewMsg });
59885
59978
  }
59979
+ /**
59980
+ * @description 初始化计数器
59981
+ * @protected
59982
+ * @returns {*} {Promise<void>}
59983
+ * @memberof TabExpPanelController
59984
+ */
59985
+ async initCounter() {
59986
+ const { appCounterRefs } = this.model;
59987
+ const appCounterRef = appCounterRefs == null ? void 0 : appCounterRefs[0];
59988
+ if (appCounterRef) {
59989
+ this.counter = await CounterService.getCounterByRef(
59990
+ appCounterRef,
59991
+ this.context,
59992
+ { ...this.params }
59993
+ );
59994
+ }
59995
+ }
59996
+ /**
59997
+ * @description 设置激活项
59998
+ * @param {string} name
59999
+ * @memberof TabExpPanelController
60000
+ */
60001
+ setActive(name2) {
60002
+ this.state.activeName = name2;
60003
+ this.handleTabChange();
60004
+ }
59886
60005
  };
59887
60006
 
59888
60007
  // src/controller/control/tree/tree.controller.ts
@@ -60449,11 +60568,12 @@ var TreeService = class extends MDControlService {
60449
60568
  * @date 2022-09-07 19:09:48
60450
60569
  * @param {IContext} context 上下文
60451
60570
  * @param {IParams} [params={}] 视图参数
60571
+ * @param {string | undefined} [removeAppDEActionId] 树节点删除实体行为标识
60452
60572
  * @returns {*}
60453
60573
  */
60454
- async removeItem(appDataEntityId, context, params = {}) {
60574
+ async removeItem(appDataEntityId, context, params = {}, removeAppDEActionId = void 0) {
60455
60575
  var _a3;
60456
- const removeAction = ((_a3 = this.model.removeControlAction) == null ? void 0 : _a3.appDEMethodId) || "remove";
60576
+ const removeAction = removeAppDEActionId || ((_a3 = this.model.removeControlAction) == null ? void 0 : _a3.appDEMethodId) || "remove";
60457
60577
  const res = await this.execWithEntityId(
60458
60578
  appDataEntityId,
60459
60579
  removeAction,
@@ -61452,7 +61572,7 @@ var TreeController = class extends MDControlController {
61452
61572
  tempContext[deName] = deData.srfkey;
61453
61573
  const res = await app.deService.exec(
61454
61574
  model.appDataEntityId,
61455
- "update",
61575
+ model.updateAppDEActionId || "update",
61456
61576
  tempContext,
61457
61577
  deData
61458
61578
  );
@@ -61508,7 +61628,12 @@ var TreeController = class extends MDControlController {
61508
61628
  if (item.srfuf !== 0 /* CREATE */) {
61509
61629
  const tempContext = context.clone();
61510
61630
  tempContext[deName] = item.srfkey;
61511
- await this.service.removeItem(nodeAppDataEntityId, tempContext, params);
61631
+ await this.service.removeItem(
61632
+ nodeAppDataEntityId,
61633
+ tempContext,
61634
+ params,
61635
+ treeNode.removeAppDEActionId
61636
+ );
61512
61637
  needRefresh = true;
61513
61638
  }
61514
61639
  }
@@ -61892,10 +62017,10 @@ var WizardPanelController = class extends ControlController {
61892
62017
  const formController = event.ctrl;
61893
62018
  this.formControllers.set(activeFormTag, formController);
61894
62019
  formController.evt.on("onFormDataChange", (evt) => {
61895
- this.calcButtonState(evt.data[0]);
62020
+ this.calcButtonState(evt.data[0], formController);
61896
62021
  });
61897
62022
  const data = await formController.load();
61898
- this.calcButtonState(formController.data);
62023
+ this.calcButtonState(formController.data, formController);
61899
62024
  Object.assign(this.formData, data);
61900
62025
  }
61901
62026
  /**
@@ -62137,7 +62262,7 @@ var WizardPanelController = class extends ControlController {
62137
62262
  * @param item 数据
62138
62263
  * @memberof WizardPanelController
62139
62264
  */
62140
- async calcButtonState(item) {
62265
+ async calcButtonState(item, _form) {
62141
62266
  var _a3;
62142
62267
  const { activeWizardForm } = this;
62143
62268
  if (activeWizardForm) {
@@ -62152,6 +62277,7 @@ var WizardPanelController = class extends ControlController {
62152
62277
  buttonState.visible = !!ScriptFactory.execScriptFn(
62153
62278
  {
62154
62279
  view: this.view,
62280
+ ctrl: _form,
62155
62281
  context: this.context,
62156
62282
  params: this.params,
62157
62283
  data,
@@ -62671,28 +62797,14 @@ var KanbanController = class extends DataViewControlController {
62671
62797
  * @param {IData[]} items
62672
62798
  */
62673
62799
  sortItems(items) {
62674
- var _a3;
62675
- const sortField = this.model.minorSortAppDEFieldId;
62676
- const { minorSortDir } = this.model;
62677
- if (!sortField) {
62678
- this.state.draggable = false;
62679
- ibiz.log.warn(
62680
- ibiz.i18n.t("runtime.controller.control.kanban.sortingProperties")
62681
- );
62682
- return;
62683
- }
62684
- if (!minorSortDir) {
62685
- this.state.draggable = false;
62686
- ibiz.log.warn(
62687
- ibiz.i18n.t("runtime.controller.control.kanban.sortDirection")
62688
- );
62800
+ var _a3, _b2;
62801
+ const { minorSortAppDEFieldId, minorSortDir } = this.model;
62802
+ if (!minorSortAppDEFieldId || !minorSortDir)
62689
62803
  return;
62690
- }
62691
- const sortFieldItem = (_a3 = this.dataEntity.appDEFields) == null ? void 0 : _a3.find(
62692
- (_item) => _item.codeName === sortField
62804
+ const sortField = (_b2 = (_a3 = this.dataEntity) == null ? void 0 : _a3.appDEFields) == null ? void 0 : _b2.find(
62805
+ (_item) => _item.codeName === minorSortAppDEFieldId
62693
62806
  );
62694
- if (!sortFieldItem || !DataTypes6.isNumber(sortFieldItem.stdDataType)) {
62695
- this.state.draggable = false;
62807
+ if (!sortField || !DataTypes6.isNumber(sortField.stdDataType)) {
62696
62808
  ibiz.log.warn(
62697
62809
  ibiz.i18n.t("runtime.controller.control.kanban.invalidSortType")
62698
62810
  );
@@ -62700,22 +62812,12 @@ var KanbanController = class extends DataViewControlController {
62700
62812
  }
62701
62813
  const isAsc = minorSortDir === "ASC";
62702
62814
  items.forEach((item) => {
62703
- const sortValue = item[sortField];
62704
- if (isNil37(sortValue)) {
62705
- item[sortField] = 0;
62706
- } else {
62707
- const toNum = Number(sortValue);
62708
- if (Number.isNaN(toNum)) {
62709
- throw new RuntimeError60(
62710
- ibiz.i18n.t("runtime.controller.control.grid.convertedValue", {
62711
- srfmajortext: item.srfmajortext
62712
- })
62713
- );
62714
- }
62715
- }
62815
+ const sortValue = item[minorSortAppDEFieldId];
62816
+ if (isNil37(sortValue))
62817
+ item[minorSortAppDEFieldId] = 0;
62716
62818
  });
62717
62819
  items.sort(
62718
- (a, b) => isAsc ? a[sortField] - b[sortField] : b[sortField] - a[sortField]
62820
+ (a, b) => isAsc ? a[minorSortAppDEFieldId] - b[minorSortAppDEFieldId] : b[minorSortAppDEFieldId] - a[minorSortAppDEFieldId]
62719
62821
  );
62720
62822
  }
62721
62823
  async afterLoad(args, items) {
@@ -62841,7 +62943,6 @@ var KanbanController = class extends DataViewControlController {
62841
62943
  * @memberof KanbanController
62842
62944
  */
62843
62945
  async handleLaneData() {
62844
- var _a3;
62845
62946
  const { swimlaneCodeListId, swimlaneAppDEFieldId } = this.model;
62846
62947
  if (!swimlaneAppDEFieldId)
62847
62948
  return;
@@ -62861,19 +62962,19 @@ var KanbanController = class extends DataViewControlController {
62861
62962
  this.params
62862
62963
  );
62863
62964
  lanes = codeListItems.map((item) => {
62864
- var _a4;
62965
+ var _a3;
62865
62966
  return {
62866
62967
  count: 0,
62867
62968
  isExpand: true,
62868
- key: (_a4 = item.value) == null ? void 0 : _a4.toString(),
62969
+ key: (_a3 = item.value) == null ? void 0 : _a3.toString(),
62869
62970
  caption: item.text
62870
62971
  };
62871
62972
  });
62872
62973
  items.forEach((item) => {
62873
62974
  const lane = lanes.find(
62874
62975
  (l) => {
62875
- var _a4;
62876
- return l.key === ((_a4 = item[swimlaneAppDEFieldId]) == null ? void 0 : _a4.toLowerCase());
62976
+ var _a3;
62977
+ return l.key === ((_a3 = item[swimlaneAppDEFieldId]) == null ? void 0 : _a3.toLowerCase());
62877
62978
  }
62878
62979
  );
62879
62980
  if (lane) {
@@ -62883,10 +62984,7 @@ var KanbanController = class extends DataViewControlController {
62883
62984
  }
62884
62985
  });
62885
62986
  } else {
62886
- const deRss = (_a3 = this.dataEntity.minorAppDERSs) == null ? void 0 : _a3.find(
62887
- (rss) => rss.parentAppDEFieldId === swimlaneAppDEFieldId
62888
- );
62889
- const textDEFieldId = (deRss == null ? void 0 : deRss.parentTextAppDEFieldId) || swimlaneAppDEFieldId;
62987
+ const textDEFieldId = getParentTextAppDEFieldId(swimlaneAppDEFieldId, this.dataEntity) || swimlaneAppDEFieldId;
62890
62988
  items.forEach((item) => {
62891
62989
  if (item[swimlaneAppDEFieldId]) {
62892
62990
  const lane = lanes.find((l) => l.key === item[swimlaneAppDEFieldId]);
@@ -62967,13 +63065,11 @@ var KanbanController = class extends DataViewControlController {
62967
63065
  }
62968
63066
  const { from, to, fromIndex, toIndex, fromLane, toLane } = info;
62969
63067
  const {
62970
- groupAppDEFieldId,
62971
- minorSortAppDEFieldId,
63068
+ groupAppDEFieldId = "",
62972
63069
  moveControlAction,
62973
- laneAppDEFieldId = "testname"
63070
+ swimlaneAppDEFieldId,
63071
+ minorSortAppDEFieldId
62974
63072
  } = this.model;
62975
- const groupField = groupAppDEFieldId;
62976
- const sortField = minorSortAppDEFieldId;
62977
63073
  const fromGroup = this.state.groups.find((x) => x.key === from);
62978
63074
  const toGroup = this.state.groups.find((x) => x.key === to);
62979
63075
  if (!this.enableEditOrder) {
@@ -62984,11 +63080,17 @@ var KanbanController = class extends DataViewControlController {
62984
63080
  return;
62985
63081
  }
62986
63082
  const draggedItem2 = fromGroup.children[fromIndex];
62987
- draggedItem2[groupField] = to;
62988
- if (laneAppDEFieldId)
62989
- draggedItem2[laneAppDEFieldId] = toLane;
63083
+ draggedItem2[groupAppDEFieldId] = to;
63084
+ if (swimlaneAppDEFieldId)
63085
+ draggedItem2[swimlaneAppDEFieldId] = toLane;
62990
63086
  return this.updateChangedItems([draggedItem2]);
62991
63087
  }
63088
+ if (!minorSortAppDEFieldId) {
63089
+ throw new RuntimeModelError69(
63090
+ this.model,
63091
+ ibiz.i18n.t("runtime.controller.control.kanban.sortingProperties")
63092
+ );
63093
+ }
62992
63094
  const originArr = [...toGroup.children];
62993
63095
  const moveAction = moveControlAction == null ? void 0 : moveControlAction.appDEMethodId;
62994
63096
  if (!moveAction) {
@@ -63008,7 +63110,7 @@ var KanbanController = class extends DataViewControlController {
63008
63110
  }
63009
63111
  if (tempArray.length > 0) {
63010
63112
  const maxItem = tempArray.reduce((prev, curr) => {
63011
- const sortCondition = prev[sortField] > curr[sortField];
63113
+ const sortCondition = prev[minorSortAppDEFieldId] > curr[minorSortAppDEFieldId];
63012
63114
  if (sortCondition && prev[this.dataEntity.keyAppDEFieldId] !== _draggedItem.srfkey) {
63013
63115
  return prev;
63014
63116
  }
@@ -63036,7 +63138,7 @@ var KanbanController = class extends DataViewControlController {
63036
63138
  const removeItems = fromGroup.children.splice(fromIndex, 1);
63037
63139
  toGroup.children.splice(toIndex, 0, ...removeItems);
63038
63140
  if (info.from !== info.to) {
63039
- draggedItem[groupField] = info.to;
63141
+ draggedItem[groupAppDEFieldId] = info.to;
63040
63142
  const app = ibiz.hub.getApp(this.model.appId);
63041
63143
  const deName = calcDeCodeNameById(this.model.appDataEntityId);
63042
63144
  const tempContext = this.context.clone();
@@ -63079,7 +63181,7 @@ var KanbanController = class extends DataViewControlController {
63079
63181
  (x) => x.srfkey === item[this.dataEntity.keyAppDEFieldId]
63080
63182
  );
63081
63183
  if (index !== -1) {
63082
- this.state.items[index][sortField] = item[sortField];
63184
+ this.state.items[index][minorSortAppDEFieldId] = item[minorSortAppDEFieldId];
63083
63185
  }
63084
63186
  });
63085
63187
  } else {
@@ -77163,11 +77265,13 @@ var MDViewEngine = class extends ViewEngineBase {
77163
77265
  var _a3, _b2;
77164
77266
  (_a3 = this.toolbar) == null ? void 0 : _a3.calcButtonState(
77165
77267
  event.data[0],
77166
- this.xdataControl.model.appDataEntityId
77268
+ this.xdataControl.model.appDataEntityId,
77269
+ event
77167
77270
  );
77168
77271
  (_b2 = this.tabToolbar) == null ? void 0 : _b2.calcButtonState(
77169
77272
  event.data[0],
77170
- this.xdataControl.model.appDataEntityId
77273
+ this.xdataControl.model.appDataEntityId,
77274
+ event
77171
77275
  );
77172
77276
  });
77173
77277
  this.xdataControl.evt.on("onBeforeLoad", () => {
@@ -77177,11 +77281,13 @@ var MDViewEngine = class extends ViewEngineBase {
77177
77281
  var _a3, _b2;
77178
77282
  (_a3 = this.toolbar) == null ? void 0 : _a3.calcButtonState(
77179
77283
  void 0,
77180
- this.xdataControl.model.appDataEntityId
77284
+ this.xdataControl.model.appDataEntityId,
77285
+ event
77181
77286
  );
77182
77287
  (_b2 = this.tabToolbar) == null ? void 0 : _b2.calcButtonState(
77183
77288
  void 0,
77184
- this.xdataControl.model.appDataEntityId
77289
+ this.xdataControl.model.appDataEntityId,
77290
+ event
77185
77291
  );
77186
77292
  this.view.evt.emit("onDataChange", { ...event, actionType: "LOAD" });
77187
77293
  });
@@ -77196,11 +77302,13 @@ var MDViewEngine = class extends ViewEngineBase {
77196
77302
  if (((_a3 = event.data) == null ? void 0 : _a3.length) > 0) {
77197
77303
  (_b2 = this.toolbar) == null ? void 0 : _b2.calcButtonState(
77198
77304
  event.data[0],
77199
- this.xdataControl.model.appDataEntityId
77305
+ this.xdataControl.model.appDataEntityId,
77306
+ event
77200
77307
  );
77201
77308
  (_c = this.tabToolbar) == null ? void 0 : _c.calcButtonState(
77202
77309
  event.data[0],
77203
- this.xdataControl.model.appDataEntityId
77310
+ this.xdataControl.model.appDataEntityId,
77311
+ event
77204
77312
  );
77205
77313
  }
77206
77314
  });
@@ -78681,15 +78789,16 @@ var ItemDynaLogicTrigger = class extends LogicTrigger {
78681
78789
  }
78682
78790
  bindScriptExecutor(executor) {
78683
78791
  executor.init(
78684
- ["context", "viewparams", "data", "env", "view"],
78792
+ ["context", "viewparams", "data", "env", "view", "ctrl"],
78685
78793
  (executeParams) => {
78686
- const { context, params, data, view } = executeParams;
78794
+ const { context, params, data, view, ctrl } = executeParams;
78687
78795
  return {
78688
78796
  context,
78689
78797
  params,
78690
78798
  data: (data == null ? void 0 : data[0]) || {},
78691
78799
  env: ibiz.env,
78692
- view
78800
+ view,
78801
+ ctrl
78693
78802
  };
78694
78803
  },
78695
78804
  {
@@ -80754,6 +80863,8 @@ export {
80754
80863
  FormDruipartState,
80755
80864
  FormGroupPanelController,
80756
80865
  FormGroupPanelState,
80866
+ FormIFrameController,
80867
+ FormIFrameState,
80757
80868
  FormItemController,
80758
80869
  FormItemState,
80759
80870
  FormMDCtrlController,
@@ -81018,6 +81129,7 @@ export {
81018
81129
  getOriginFilterNodes,
81019
81130
  getPFPlugin,
81020
81131
  getPanelItemProvider,
81132
+ getParentTextAppDEFieldId,
81021
81133
  getPlatformProvider,
81022
81134
  getPlatformType,
81023
81135
  getPortletModelByID,