@ibiz-template/runtime 0.7.41-alpha.32 → 0.7.41-alpha.34

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 (113) hide show
  1. package/dist/index.esm.js +680 -221
  2. package/dist/index.system.min.js +1 -1
  3. package/out/config/global-config.d.ts.map +1 -1
  4. package/out/config/global-config.js +2 -0
  5. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  6. package/out/controller/common/view/view.controller.js +5 -1
  7. package/out/controller/control/app-menu/app-menu.controller.d.ts +84 -0
  8. package/out/controller/control/app-menu/app-menu.controller.d.ts.map +1 -1
  9. package/out/controller/control/app-menu/app-menu.controller.js +168 -11
  10. package/out/controller/control/calendar/calendar.controller.d.ts +6 -0
  11. package/out/controller/control/calendar/calendar.controller.d.ts.map +1 -1
  12. package/out/controller/control/calendar/calendar.controller.js +14 -3
  13. package/out/controller/control/dashboard/custom-dashboard.controller.d.ts.map +1 -1
  14. package/out/controller/control/dashboard/custom-dashboard.controller.js +18 -1
  15. package/out/controller/control/dashboard/dashboard.controller.js +4 -4
  16. package/out/controller/control/dashboard/dashboard.util.d.ts +11 -0
  17. package/out/controller/control/dashboard/dashboard.util.d.ts.map +1 -1
  18. package/out/controller/control/dashboard/dashboard.util.js +47 -0
  19. package/out/controller/control/data-view/data-view.controller.d.ts +20 -0
  20. package/out/controller/control/data-view/data-view.controller.d.ts.map +1 -1
  21. package/out/controller/control/data-view/data-view.controller.js +41 -2
  22. package/out/controller/control/md-ctrl/md-ctrl.controller.d.ts +46 -0
  23. package/out/controller/control/md-ctrl/md-ctrl.controller.d.ts.map +1 -1
  24. package/out/controller/control/md-ctrl/md-ctrl.controller.js +107 -4
  25. package/out/controller/control/tree/tree.controller.d.ts +20 -0
  26. package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
  27. package/out/controller/control/tree/tree.controller.js +40 -7
  28. package/out/de-logic/de-logic-node/debug-param-node/debug-param-node.d.ts +14 -0
  29. package/out/de-logic/de-logic-node/debug-param-node/debug-param-node.d.ts.map +1 -0
  30. package/out/de-logic/de-logic-node/debug-param-node/debug-param-node.js +18 -0
  31. package/out/de-logic/de-logic-node/index.d.ts +1 -0
  32. package/out/de-logic/de-logic-node/index.d.ts.map +1 -1
  33. package/out/de-logic/de-logic-node/index.js +1 -0
  34. package/out/de-logic/de-logic.d.ts.map +1 -1
  35. package/out/de-logic/de-logic.js +4 -1
  36. package/out/interface/api/common/global-config/i-api-global-app-menu-config.d.ts +6 -2
  37. package/out/interface/api/common/global-config/i-api-global-app-menu-config.d.ts.map +1 -1
  38. package/out/interface/api/common/global-config/i-api-global-codelist-config.d.ts +2 -0
  39. package/out/interface/api/common/global-config/i-api-global-codelist-config.d.ts.map +1 -1
  40. package/out/interface/api/common/global-config/i-api-global-common-config.d.ts +16 -5
  41. package/out/interface/api/common/global-config/i-api-global-common-config.d.ts.map +1 -1
  42. package/out/interface/api/common/global-config/i-api-global-config.d.ts +11 -3
  43. package/out/interface/api/common/global-config/i-api-global-config.d.ts.map +1 -1
  44. package/out/interface/api/common/global-config/i-api-global-flow-drtab-config.d.ts +3 -0
  45. package/out/interface/api/common/global-config/i-api-global-flow-drtab-config.d.ts.map +1 -1
  46. package/out/interface/api/common/global-config/i-api-global-form-config.d.ts +11 -3
  47. package/out/interface/api/common/global-config/i-api-global-form-config.d.ts.map +1 -1
  48. package/out/interface/api/common/global-config/i-api-global-grid-config.d.ts +5 -0
  49. package/out/interface/api/common/global-config/i-api-global-grid-config.d.ts.map +1 -1
  50. package/out/interface/api/common/global-config/i-api-global-img-compress-config.d.ts +3 -0
  51. package/out/interface/api/common/global-config/i-api-global-img-compress-config.d.ts.map +1 -1
  52. package/out/interface/api/common/global-config/i-api-global-kanban-config.d.ts +2 -0
  53. package/out/interface/api/common/global-config/i-api-global-kanban-config.d.ts.map +1 -1
  54. package/out/interface/api/common/global-config/i-api-global-mob-config.d.ts +14 -1
  55. package/out/interface/api/common/global-config/i-api-global-mob-config.d.ts.map +1 -1
  56. package/out/interface/api/common/global-config/i-api-global-picker-editor-config.d.ts +1 -0
  57. package/out/interface/api/common/global-config/i-api-global-picker-editor-config.d.ts.map +1 -1
  58. package/out/interface/api/common/global-config/i-api-global-search-form-config.d.ts +3 -1
  59. package/out/interface/api/common/global-config/i-api-global-search-form-config.d.ts.map +1 -1
  60. package/out/interface/api/common/global-config/i-api-global-tree-config.d.ts +9 -0
  61. package/out/interface/api/common/global-config/i-api-global-tree-config.d.ts.map +1 -1
  62. package/out/interface/api/common/global-config/i-api-global-upload-editor-config.d.ts +1 -0
  63. package/out/interface/api/common/global-config/i-api-global-upload-editor-config.d.ts.map +1 -1
  64. package/out/interface/api/common/global-config/i-api-global-view-config.d.ts +10 -0
  65. package/out/interface/api/common/global-config/i-api-global-view-config.d.ts.map +1 -1
  66. package/out/interface/api/common/global-config/i-api-global-water-mark-config.d.ts +39 -4
  67. package/out/interface/api/common/global-config/i-api-global-water-mark-config.d.ts.map +1 -1
  68. package/out/interface/api/controller/control/i-api-app-menu.controller.d.ts +2 -0
  69. package/out/interface/api/controller/control/i-api-app-menu.controller.d.ts.map +1 -1
  70. package/out/interface/api/controller/control/i-api-calendar.controller.d.ts +1 -0
  71. package/out/interface/api/controller/control/i-api-calendar.controller.d.ts.map +1 -1
  72. package/out/interface/api/controller/control/i-api-edit-form.controller.d.ts +2 -2
  73. package/out/interface/api/controller/control/i-api-mob-md-ctrl.controller.d.ts +5 -4
  74. package/out/interface/api/controller/control/i-api-mob-md-ctrl.controller.d.ts.map +1 -1
  75. package/out/interface/api/controller/view/i-api-view.controller.d.ts +2 -0
  76. package/out/interface/api/controller/view/i-api-view.controller.d.ts.map +1 -1
  77. package/out/interface/api/state/control/i-api-app-menu.state.d.ts +15 -1
  78. package/out/interface/api/state/control/i-api-app-menu.state.d.ts.map +1 -1
  79. package/out/interface/api/state/control/i-api-control.state.d.ts +1 -1
  80. package/out/interface/api/state/control/i-api-mob-md-ctrl.state.d.ts +15 -3
  81. package/out/interface/api/state/control/i-api-mob-md-ctrl.state.d.ts.map +1 -1
  82. package/out/interface/common/i-drawer-options/i-drawer-options.d.ts +6 -0
  83. package/out/interface/common/i-drawer-options/i-drawer-options.d.ts.map +1 -1
  84. package/out/interface/controller/controller/control/i-mob-md-ctrl.controller.d.ts +3 -3
  85. package/out/interface/controller/controller/control/i-mob-md-ctrl.controller.d.ts.map +1 -1
  86. package/out/interface/controller/event/control/i-edit-form.event.d.ts +13 -0
  87. package/out/interface/controller/event/control/i-edit-form.event.d.ts.map +1 -1
  88. package/out/interface/controller/event/control/i-mob-md-ctrl.event.d.ts +3 -3
  89. package/out/interface/controller/event/control/i-mob-md-ctrl.event.d.ts.map +1 -1
  90. package/out/interface/controller/state/control/i-data-view-control.state.d.ts +12 -0
  91. package/out/interface/controller/state/control/i-data-view-control.state.d.ts.map +1 -1
  92. package/out/interface/controller/state/control/i-mob-md-ctrl.state.d.ts +3 -3
  93. package/out/interface/controller/state/control/i-mob-md-ctrl.state.d.ts.map +1 -1
  94. package/out/interface/controller/state/control/i-tree.state.d.ts +6 -0
  95. package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
  96. package/out/locale/en/index.d.ts +1 -0
  97. package/out/locale/en/index.d.ts.map +1 -1
  98. package/out/locale/en/index.js +1 -0
  99. package/out/locale/zh-CN/index.d.ts +1 -0
  100. package/out/locale/zh-CN/index.d.ts.map +1 -1
  101. package/out/locale/zh-CN/index.js +1 -0
  102. package/out/service/service/util/util.service.d.ts.map +1 -1
  103. package/out/service/service/util/util.service.js +3 -1
  104. package/out/service/vo/control.vo.d.ts.map +1 -1
  105. package/out/service/vo/control.vo.js +4 -1
  106. package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
  107. package/out/ui-action/provider/front-ui-action-provider.js +3 -0
  108. package/out/utils/bi-report-util/bi-report-util.d.ts +1 -0
  109. package/out/utils/bi-report-util/bi-report-util.d.ts.map +1 -1
  110. package/out/utils/bi-report-util/bi-report-util.js +2 -2
  111. package/out/utils/open-redirect-view/open-redirect-view.d.ts.map +1 -1
  112. package/out/utils/open-redirect-view/open-redirect-view.js +16 -0
  113. package/package.json +3 -3
package/dist/index.esm.js CHANGED
@@ -19418,7 +19418,8 @@ var GlobalConfig = class {
19418
19418
  };
19419
19419
  // 全局树配置
19420
19420
  this.tree = {
19421
- contextMenuRightClickInvoke: true
19421
+ contextMenuRightClickInvoke: true,
19422
+ enableClickNav: false
19422
19423
  };
19423
19424
  // 全局通用配置
19424
19425
  this.common = {
@@ -19475,7 +19476,8 @@ var GlobalConfig = class {
19475
19476
  mobGetSignUrl: "",
19476
19477
  mobGetSignMethod: "post",
19477
19478
  mobWeChatDebug: false,
19478
- showUploadLoading: false
19479
+ showUploadLoading: false,
19480
+ mobShowBackTop: false
19479
19481
  };
19480
19482
  /**
19481
19483
  * @description 图片压缩配置
@@ -21424,6 +21426,22 @@ async function getDERedirectToView(appView, context, params = {}, opts = {}) {
21424
21426
  if (linkUrl.startsWith("http://") || linkUrl.startsWith("https://")) {
21425
21427
  return { type: "url", url: linkUrl };
21426
21428
  }
21429
+ if (linkUrl.startsWith("view://")) {
21430
+ const result = parseViewProtocol(linkUrl);
21431
+ Object.assign(context, result.context);
21432
+ Object.assign(params, result.params);
21433
+ return {
21434
+ type: "view",
21435
+ viewId: result.viewId,
21436
+ context,
21437
+ params,
21438
+ opts: { ...opts, data: [curData] }
21439
+ };
21440
+ }
21441
+ if (linkUrl.startsWith("route://")) {
21442
+ const routeUrl = "/".concat(linkUrl.split("route://")[1]);
21443
+ return { type: "url", url: routeUrl };
21444
+ }
21427
21445
  if (linkUrl.startsWith("appredirectview?")) {
21428
21446
  const toView = await getLocalOpenWFRedirectView(
21429
21447
  context,
@@ -24768,8 +24786,9 @@ var ControlVO = class _ControlVO {
24768
24786
  }
24769
24787
  if (Object.prototype.hasOwnProperty.call(this.$origin, "srfuf")) {
24770
24788
  this.$srfuf = this.$origin.srfuf;
24789
+ } else {
24790
+ this.$srfuf = this.srfkey === this.tempsrfkey ? 1 /* UPDATE */ : 0 /* CREATE */;
24771
24791
  }
24772
- this.$srfuf = this.srfkey === this.tempsrfkey ? 1 /* UPDATE */ : 0 /* CREATE */;
24773
24792
  Object.defineProperty(this, "srfuf", {
24774
24793
  get() {
24775
24794
  return this.$srfuf;
@@ -30309,7 +30328,7 @@ import {
30309
30328
  HttpError as HttpError6,
30310
30329
  HttpResponse as HttpResponse3,
30311
30330
  RuntimeError as RuntimeError21,
30312
- RuntimeModelError as RuntimeModelError20
30331
+ RuntimeModelError as RuntimeModelError21
30313
30332
  } from "@ibiz-template/core";
30314
30333
  import { isArray as isArray6, isNil as isNil16 } from "lodash-es";
30315
30334
  import { ascSort } from "qx-util";
@@ -30611,7 +30630,7 @@ import { isArray as isArray5 } from "lodash-es";
30611
30630
  import { clone as clone15 } from "ramda";
30612
30631
 
30613
30632
  // src/de-logic/de-logic.ts
30614
- import { ModelError as ModelError13, RuntimeModelError as RuntimeModelError19 } from "@ibiz-template/core";
30633
+ import { ModelError as ModelError13, RuntimeModelError as RuntimeModelError20 } from "@ibiz-template/core";
30615
30634
 
30616
30635
  // src/de-logic/de-logic-context.ts
30617
30636
  import { isArray as isArray4 } from "lodash-es";
@@ -31564,6 +31583,25 @@ var AppendParamNode = class extends DELogicNode {
31564
31583
  }
31565
31584
  };
31566
31585
 
31586
+ // src/de-logic/de-logic-node/debug-param-node/debug-param-node.ts
31587
+ import { RuntimeModelError as RuntimeModelError19 } from "@ibiz-template/core";
31588
+ var DebugParamNode = class extends DELogicNode {
31589
+ async exec(ctx) {
31590
+ const { dstDELogicParamId, name: name2 } = this.model;
31591
+ if (!dstDELogicParamId) {
31592
+ throw new RuntimeModelError19(
31593
+ this.model,
31594
+ ibiz.i18n.t("runtime.deLogic.deLogicNode.missingConfiguration")
31595
+ );
31596
+ }
31597
+ const param = ctx.params[dstDELogicParamId];
31598
+ ibiz.log.info(
31599
+ ibiz.i18n.t("runtime.deLogic.deLogicNode.logicalNodeOperation", { name: name2 }),
31600
+ param
31601
+ );
31602
+ }
31603
+ };
31604
+
31567
31605
  // src/de-logic/de-logic-node/throw-exception-node/throw-exception-node.ts
31568
31606
  import { HttpError as HttpError4 } from "@ibiz-template/core";
31569
31607
  var ThrowExceptionNode = class extends DELogicNode {
@@ -31737,7 +31775,7 @@ var DELogic = class {
31737
31775
  var _a3, _b2;
31738
31776
  if (model.customCode) {
31739
31777
  if (!model.scriptCode) {
31740
- throw new RuntimeModelError19(
31778
+ throw new RuntimeModelError20(
31741
31779
  model,
31742
31780
  ibiz.i18n.t("runtime.deLogic.deLogicNode.noScriptCode")
31743
31781
  );
@@ -31748,7 +31786,7 @@ var DELogic = class {
31748
31786
  return;
31749
31787
  }
31750
31788
  if (!((_a3 = model.delogicNodes) == null ? void 0 : _a3.length)) {
31751
- throw new RuntimeModelError19(
31789
+ throw new RuntimeModelError20(
31752
31790
  model,
31753
31791
  ibiz.i18n.t("runtime.deLogic.deLogicNode.noConfigurationLogicNode")
31754
31792
  );
@@ -31793,6 +31831,9 @@ var DELogic = class {
31793
31831
  case "SORTPARAM":
31794
31832
  logicNode = new SortParamNode(node);
31795
31833
  break;
31834
+ case "DEBUGPARAM":
31835
+ logicNode = new DebugParamNode(node);
31836
+ break;
31796
31837
  default:
31797
31838
  throw new ModelError13(
31798
31839
  node,
@@ -31855,7 +31896,7 @@ var DELogic = class {
31855
31896
  const start = this.nodes.get(startDELogicNodeId);
31856
31897
  await this.deepExec(start, ctx);
31857
31898
  } else {
31858
- throw new RuntimeModelError19(
31899
+ throw new RuntimeModelError20(
31859
31900
  this.model,
31860
31901
  ibiz.i18n.t("runtime.deLogic.deLogicNode.noSetStartNode")
31861
31902
  );
@@ -32033,7 +32074,7 @@ var DEActionMethod = class extends Method {
32033
32074
  if (this.method.actionType === "DELOGIC") {
32034
32075
  const deLogic = findDELogic(this.method.appDELogicId, this.entity);
32035
32076
  if (!deLogic) {
32036
- throw new RuntimeModelError20(
32077
+ throw new RuntimeModelError21(
32037
32078
  this.method,
32038
32079
  ibiz.i18n.t("runtime.service.lackEntityLogic")
32039
32080
  );
@@ -32423,7 +32464,7 @@ var DEActionMethod = class extends Method {
32423
32464
  configs = ascSort(configs, "removeOrder");
32424
32465
  for (const config of configs) {
32425
32466
  if (config.rstype !== "DER1N") {
32426
- throw new RuntimeModelError20(
32467
+ throw new RuntimeModelError21(
32427
32468
  config,
32428
32469
  ibiz.i18n.t("runtime.service.deletionDeletion")
32429
32470
  );
@@ -32701,7 +32742,7 @@ var DeActionDeMethodProvider = class {
32701
32742
  import {
32702
32743
  HttpResponse as HttpResponse4,
32703
32744
  ModelError as ModelError14,
32704
- RuntimeModelError as RuntimeModelError21
32745
+ RuntimeModelError as RuntimeModelError22
32705
32746
  } from "@ibiz-template/core";
32706
32747
  import { isArray as isArray7 } from "lodash-es";
32707
32748
  import { clone as clone17, isEmpty as isEmpty8, isNil as isNil17 } from "ramda";
@@ -32834,7 +32875,7 @@ var FetchMethod = class extends Method {
32834
32875
  async fetchCodeListSet(context, params) {
32835
32876
  const { appCodeListId } = this.method;
32836
32877
  if (!appCodeListId) {
32837
- throw new RuntimeModelError21(
32878
+ throw new RuntimeModelError22(
32838
32879
  this.method,
32839
32880
  ibiz.i18n.t("runtime.service.sourceCodeTable")
32840
32881
  );
@@ -33254,7 +33295,8 @@ var UtilService = class {
33254
33295
  tempData[keyAppDEFieldId] = tag;
33255
33296
  tempData[modelIdAppDEFieldId] = params == null ? void 0 : params.modelId;
33256
33297
  tempData[modelAppDEFieldId] = JSON.stringify(data);
33257
- tempData[appIdAppDEFieldId] = tempContext.srfappid;
33298
+ const app = ibiz.hub.getApp(tempContext.srfappid);
33299
+ tempData[appIdAppDEFieldId] = app.model.codeName;
33258
33300
  tempData[userIdAppDEFieldId] = tempContext.srfpersonid;
33259
33301
  tempData.type = params == null ? void 0 : params.type;
33260
33302
  tempData.owner_type = params == null ? void 0 : params.ownerType;
@@ -35992,7 +36034,7 @@ async function getEntitySchema(entityId, context, params = {}) {
35992
36034
  }
35993
36035
 
35994
36036
  // src/controller/utils/view-msg/view-msg-controller.ts
35995
- import { RuntimeError as RuntimeError29, RuntimeModelError as RuntimeModelError22 } from "@ibiz-template/core";
36037
+ import { RuntimeError as RuntimeError29, RuntimeModelError as RuntimeModelError23 } from "@ibiz-template/core";
35996
36038
  import { isNil as isNil23, mergeRight as mergeRight3 } from "ramda";
35997
36039
  var VIEW_MSG_PREFIX = "VIEW_MSG";
35998
36040
  var ViewMsgController = class _ViewMsgController {
@@ -36083,7 +36125,7 @@ var ViewMsgController = class _ViewMsgController {
36083
36125
  static async fetchDataSet(msgModel, context, params) {
36084
36126
  const { appDataEntityId, appDEDataSetId } = msgModel;
36085
36127
  if (!appDEDataSetId) {
36086
- throw new RuntimeModelError22(
36128
+ throw new RuntimeModelError23(
36087
36129
  msgModel,
36088
36130
  ibiz.i18n.t("runtime.controller.utils.viewMsg.unconfigured")
36089
36131
  );
@@ -36296,7 +36338,7 @@ var ViewMsgController = class _ViewMsgController {
36296
36338
  layoutPanel
36297
36339
  } = msgModel;
36298
36340
  if (!appDataEntityId) {
36299
- throw new RuntimeModelError22(
36341
+ throw new RuntimeModelError23(
36300
36342
  msgModel,
36301
36343
  ibiz.i18n.t("runtime.controller.utils.viewMsg.unconfiguredEntities")
36302
36344
  );
@@ -36844,7 +36886,10 @@ var ViewController = class extends BaseController {
36844
36886
  */
36845
36887
  async initCounters() {
36846
36888
  const viewLayoutPanel = this.model.viewLayoutPanel;
36847
- const { appCounterRefs } = viewLayoutPanel;
36889
+ let { appCounterRefs } = viewLayoutPanel;
36890
+ if (!appCounterRefs) {
36891
+ appCounterRefs = this.model.appCounterRefs;
36892
+ }
36848
36893
  if (appCounterRefs && appCounterRefs.length > 0) {
36849
36894
  try {
36850
36895
  await Promise.all(
@@ -37679,7 +37724,7 @@ var EditorController = class {
37679
37724
  };
37680
37725
 
37681
37726
  // src/controller/common/editor/code-list-editor.controller.ts
37682
- import { RuntimeModelError as RuntimeModelError23 } from "@ibiz-template/core";
37727
+ import { RuntimeModelError as RuntimeModelError24 } from "@ibiz-template/core";
37683
37728
  var CodeListEditorController = class extends EditorController {
37684
37729
  constructor() {
37685
37730
  super(...arguments);
@@ -37795,7 +37840,7 @@ var CodeListEditorController = class extends EditorController {
37795
37840
  }
37796
37841
  if (this.editorParams.enumOptions)
37797
37842
  return this.editorParams.enumOptions;
37798
- throw new RuntimeModelError23(
37843
+ throw new RuntimeModelError24(
37799
37844
  this.model,
37800
37845
  ibiz.i18n.t("runtime.controller.common.editor.editorNoConfigured", {
37801
37846
  editorType: this.model.editorType
@@ -38350,7 +38395,7 @@ var ControlController = class extends BaseController {
38350
38395
  import {
38351
38396
  RuntimeError as RuntimeError32,
38352
38397
  isElementSame,
38353
- RuntimeModelError as RuntimeModelError24
38398
+ RuntimeModelError as RuntimeModelError25
38354
38399
  } from "@ibiz-template/core";
38355
38400
  import { isNil as isNil26 } from "ramda";
38356
38401
  import { isArray as isArray8 } from "lodash-es";
@@ -39018,7 +39063,7 @@ var MDControlController = class extends ControlController {
39018
39063
  async importData() {
39019
39064
  const { appDataEntityId, dedataImportId } = this.model;
39020
39065
  if (!appDataEntityId || !dedataImportId) {
39021
- throw new RuntimeModelError24(
39066
+ throw new RuntimeModelError25(
39022
39067
  this.model,
39023
39068
  ibiz.i18n.t("runtime.controller.common.control.noImportModel")
39024
39069
  );
@@ -39228,7 +39273,7 @@ var MDControlController = class extends ControlController {
39228
39273
  import {
39229
39274
  findRecursiveChild,
39230
39275
  RuntimeError as RuntimeError33,
39231
- RuntimeModelError as RuntimeModelError25
39276
+ RuntimeModelError as RuntimeModelError26
39232
39277
  } from "@ibiz-template/core";
39233
39278
 
39234
39279
  // src/controller/control/app-menu/custom-app-menu.controller.ts
@@ -39423,6 +39468,8 @@ var AppMenuController = class extends ControlController {
39423
39468
  super.initState();
39424
39469
  this.state.menuItemsState = {};
39425
39470
  this.state.mobMenuItems = [];
39471
+ this.state.mobAuthedMenuItems = [];
39472
+ this.state.counterData = {};
39426
39473
  }
39427
39474
  /**
39428
39475
  * 视图层级
@@ -39434,6 +39481,33 @@ var AppMenuController = class extends ControlController {
39434
39481
  get routeDepth() {
39435
39482
  return this.view.modal.routeDepth;
39436
39483
  }
39484
+ /**
39485
+ * @description 控制移动端每行显示的菜单项个数,当前菜单为图标菜单时生效
39486
+ * @readonly
39487
+ * @type {number}
39488
+ * @memberof AppMenuController
39489
+ */
39490
+ get columnNum() {
39491
+ var _a3;
39492
+ return Number(
39493
+ ((_a3 = this.model.userParam) == null ? void 0 : _a3.columnnum) || this.controlParams.columnnum || 4
39494
+ );
39495
+ }
39496
+ /**
39497
+ * @description 控制移动端定制按钮在屏幕中的位置,当前菜单为图标菜单、列表菜单时生效
39498
+ * @readonly
39499
+ * @type {('LEFTSTART'
39500
+ * | 'LEFT'
39501
+ * | 'LEFTEND'
39502
+ * | 'RIGHT'
39503
+ * | 'RIGHTSTART'
39504
+ * | 'RIGHTEND')}
39505
+ * @memberof AppMenuController
39506
+ */
39507
+ get customizedAlign() {
39508
+ var _a3;
39509
+ return ((_a3 = this.model.userParam) == null ? void 0 : _a3.customizedalign) || this.controlParams.customizedalign || "RIGHTEND";
39510
+ }
39437
39511
  async onCreated() {
39438
39512
  var _a3;
39439
39513
  await super.onCreated();
@@ -39449,6 +39523,18 @@ var AppMenuController = class extends ControlController {
39449
39523
  this.initMobMenuItems();
39450
39524
  }
39451
39525
  }
39526
+ /**
39527
+ * @description 生命周期-加载完成
39528
+ * @protected
39529
+ * @returns {*} {Promise<void>}
39530
+ * @memberof AppMenuController
39531
+ */
39532
+ async onMounted() {
39533
+ var _a3;
39534
+ await super.onMounted();
39535
+ this.initCounter();
39536
+ (_a3 = this.counter) == null ? void 0 : _a3.onChange(this.onCounterChange.bind(this));
39537
+ }
39452
39538
  /**
39453
39539
  * 加载自定义菜单模型
39454
39540
  *
@@ -39464,32 +39550,140 @@ var AppMenuController = class extends ControlController {
39464
39550
  this.saveConfigs = customConfigs;
39465
39551
  }
39466
39552
  }
39553
+ /**
39554
+ * @description 保存自定义菜单模型
39555
+ * @param {IAppMenuItem[]} curMenuItems 当前显示的菜单项集合
39556
+ * @returns {*} {Promise<void>}
39557
+ * @memberof AppMenuController
39558
+ */
39559
+ async saveCustomMenusModel(curMenuItems) {
39560
+ const model = curMenuItems.map((item) => ({
39561
+ id: item.id
39562
+ }));
39563
+ await this.customController.saveCustomModelData(model);
39564
+ this.saveConfigs = model;
39565
+ if (ibiz.env.isMob) {
39566
+ this.state.mobMenuItems = this.calcMobCustomVisibleItems(
39567
+ this.state.mobAuthedMenuItems
39568
+ );
39569
+ }
39570
+ }
39571
+ /**
39572
+ * @description 计数器对象数据改变
39573
+ * @param {IData} data
39574
+ * @memberof AppMenuController
39575
+ */
39576
+ onCounterChange(data) {
39577
+ this.state.counterData = data;
39578
+ }
39579
+ /**
39580
+ * @description 初始化计数器对象
39581
+ * @returns {*} {void}
39582
+ * @memberof AppMenuController
39583
+ */
39584
+ initCounter() {
39585
+ if (this.state.isCounterDisabled)
39586
+ return;
39587
+ const { appCounterRefId } = this.model;
39588
+ if (appCounterRefId) {
39589
+ this.counter = this.getCounter(appCounterRefId);
39590
+ }
39591
+ }
39467
39592
  /**
39468
39593
  * 初始化移动端菜单项
39469
39594
  *
39470
39595
  * @memberof AppMenuController
39471
39596
  */
39472
39597
  initMobMenuItems() {
39473
- var _a3;
39474
- const menuItems = ((_a3 = this.model.appMenuItems) == null ? void 0 : _a3.filter(
39475
- (item) => item.hidden !== true && item.itemType === "MENUITEM" && this.state.menuItemsState[item.id].visible
39476
- )) || [];
39598
+ const isDefaultMenu = !this.model.appMenuStyle;
39599
+ const mobAuthedMenuItems = this.calcMobAuthedMenuItems(
39600
+ this.model.appMenuItems || [],
39601
+ isDefaultMenu
39602
+ );
39477
39603
  let mobMenuItems = [];
39478
39604
  if (this.model.enableCustomized) {
39479
39605
  if (this.saveConfigs.length > 0) {
39480
- this.saveConfigs.forEach((item) => {
39481
- const menu = menuItems.find((_item) => item.id === _item.id);
39482
- if (menu)
39483
- mobMenuItems.push(menu);
39484
- });
39606
+ mobMenuItems = this.calcMobCustomVisibleItems(mobAuthedMenuItems);
39607
+ } else if (isDefaultMenu) {
39608
+ mobMenuItems = mobAuthedMenuItems.slice(0, 4);
39485
39609
  } else {
39486
- mobMenuItems = menuItems.slice(0, 4);
39610
+ mobMenuItems = mobAuthedMenuItems;
39487
39611
  }
39612
+ this.state.mobAuthedMenuItems = mobAuthedMenuItems;
39488
39613
  } else {
39489
- mobMenuItems = menuItems;
39614
+ mobMenuItems = mobAuthedMenuItems;
39490
39615
  }
39491
39616
  this.state.mobMenuItems = mobMenuItems;
39492
39617
  }
39618
+ /**
39619
+ * @description 检查移动端菜单项是否有效(可显示)
39620
+ * @private
39621
+ * @param {IAppMenuItem} menuItem 待检查的移动端菜单项
39622
+ * @returns {*} {boolean}
39623
+ * @memberof AppMenuController
39624
+ */
39625
+ isMobMenuItemValid(menuItem) {
39626
+ return menuItem.hidden !== true && menuItem.itemType === "MENUITEM" && this.state.menuItemsState[menuItem.id].visible;
39627
+ }
39628
+ /**
39629
+ * @description 计算移动端菜单经过权限计算后可显示的菜单项集合
39630
+ * @private
39631
+ * @param {IAppMenuItem[]} items 原始菜单项数组
39632
+ * @param {boolean} [needRecursive] 是否需要递归处理子项
39633
+ * @returns {*} {IAppMenuItem[]}
39634
+ * @memberof AppMenuController
39635
+ */
39636
+ calcMobAuthedMenuItems(items, needRecursive) {
39637
+ const visibleItems = [];
39638
+ items.forEach((item) => {
39639
+ var _a3;
39640
+ if (!this.isMobMenuItemValid(item))
39641
+ return;
39642
+ const itemData = { ...item };
39643
+ if (((_a3 = item.appMenuItems) == null ? void 0 : _a3.length) && needRecursive) {
39644
+ const childItems = this.calcMobAuthedMenuItems(
39645
+ item.appMenuItems,
39646
+ needRecursive
39647
+ );
39648
+ itemData.appMenuItems = childItems;
39649
+ }
39650
+ visibleItems.push(itemData);
39651
+ });
39652
+ return visibleItems;
39653
+ }
39654
+ /**
39655
+ * @description 计算移动端自定义模式下可见的菜单项
39656
+ * @private
39657
+ * @param {IAppMenuItem[]} items 原始菜单项数组
39658
+ * @param {IData} [idMap] 菜单项ID映射表
39659
+ * @returns {*} {IAppMenuItem[]}
39660
+ * @memberof AppMenuController
39661
+ */
39662
+ calcMobCustomVisibleItems(items, idMap) {
39663
+ const customItems = [];
39664
+ let itemIdMap = idMap;
39665
+ if (!itemIdMap) {
39666
+ itemIdMap = {};
39667
+ this.saveConfigs.forEach((config) => {
39668
+ itemIdMap[config.id] = config;
39669
+ });
39670
+ }
39671
+ items.forEach((item) => {
39672
+ var _a3;
39673
+ if (!itemIdMap[item.id])
39674
+ return;
39675
+ const itemData = { ...item };
39676
+ if ((_a3 = item.appMenuItems) == null ? void 0 : _a3.length) {
39677
+ const childItems = this.calcMobCustomVisibleItems(
39678
+ item.appMenuItems,
39679
+ itemIdMap
39680
+ );
39681
+ itemData.appMenuItems = childItems;
39682
+ }
39683
+ customItems.push(itemData);
39684
+ });
39685
+ return customItems;
39686
+ }
39493
39687
  /**
39494
39688
  * 初始化菜单项的适配器
39495
39689
  * @author lxm
@@ -39534,7 +39728,7 @@ var AppMenuController = class extends ControlController {
39534
39728
  return provider.onClick(menuItem, event, this);
39535
39729
  }
39536
39730
  if (!menuItem.appFuncId) {
39537
- throw new RuntimeModelError25(
39731
+ throw new RuntimeModelError26(
39538
39732
  menuItem,
39539
39733
  ibiz.i18n.t("runtime.controller.control.menu.noConfigured")
39540
39734
  );
@@ -39678,13 +39872,25 @@ var AppMenuController = class extends ControlController {
39678
39872
  const appFunc = ibiz.hub.getApp(menu.appId).getAppFunc(menu.appFuncId);
39679
39873
  return (appFunc == null ? void 0 : appFunc.appFuncType) === "APPVIEW" ? appFunc.appViewId : void 0;
39680
39874
  }
39875
+ /**
39876
+ * @description 生命周期-销毁完成
39877
+ * @protected
39878
+ * @returns {*} {Promise<void>}
39879
+ * @memberof AppMenuController
39880
+ */
39881
+ async onDestroyed() {
39882
+ await super.onDestroyed();
39883
+ if (this.counter) {
39884
+ this.counter.destroy();
39885
+ }
39886
+ }
39681
39887
  };
39682
39888
 
39683
39889
  // src/controller/control/app-menu-icon-view/app-menu-icon-view.controller.ts
39684
39890
  import {
39685
39891
  findRecursiveChild as findRecursiveChild2,
39686
39892
  RuntimeError as RuntimeError34,
39687
- RuntimeModelError as RuntimeModelError26
39893
+ RuntimeModelError as RuntimeModelError27
39688
39894
  } from "@ibiz-template/core";
39689
39895
  var AppMenuIconViewController = class extends AppMenuController {
39690
39896
  async onClickMenuItem(id, event) {
@@ -39702,7 +39908,7 @@ var AppMenuIconViewController = class extends AppMenuController {
39702
39908
  event
39703
39909
  });
39704
39910
  if (!menuItem.appFuncId) {
39705
- throw new RuntimeModelError26(
39911
+ throw new RuntimeModelError27(
39706
39912
  menuItem,
39707
39913
  ibiz.i18n.t("runtime.controller.control.menu.noConfigured")
39708
39914
  );
@@ -39724,7 +39930,7 @@ var AppMenuIconViewController = class extends AppMenuController {
39724
39930
 
39725
39931
  // src/controller/control/calendar/calendar.controller.ts
39726
39932
  import dayjs3 from "dayjs";
39727
- import { RuntimeError as RuntimeError45, RuntimeModelError as RuntimeModelError48 } from "@ibiz-template/core";
39933
+ import { RuntimeError as RuntimeError45, RuntimeModelError as RuntimeModelError49 } from "@ibiz-template/core";
39728
39934
 
39729
39935
  // src/controller/control/calendar/calendar.service.ts
39730
39936
  import { RuntimeError as RuntimeError35 } from "@ibiz-template/core";
@@ -39940,11 +40146,11 @@ var CalendarService = class extends MDControlService {
39940
40146
  import { recursiveIterate as recursiveIterate2, RuntimeError as RuntimeError44 } from "@ibiz-template/core";
39941
40147
 
39942
40148
  // src/ui-action/provider/backend-ui-action-provider.ts
39943
- import { RuntimeModelError as RuntimeModelError45 } from "@ibiz-template/core";
40149
+ import { RuntimeModelError as RuntimeModelError46 } from "@ibiz-template/core";
39944
40150
  import { isArray as isArray9 } from "qx-util";
39945
40151
 
39946
40152
  // src/ui-action/provider/ui-action-provider-base.ts
39947
- import { RuntimeModelError as RuntimeModelError44 } from "@ibiz-template/core";
40153
+ import { RuntimeModelError as RuntimeModelError45 } from "@ibiz-template/core";
39948
40154
 
39949
40155
  // src/ui-logic/index.ts
39950
40156
  import { RuntimeError as RuntimeError41 } from "@ibiz-template/core";
@@ -39953,7 +40159,7 @@ import { RuntimeError as RuntimeError41 } from "@ibiz-template/core";
39953
40159
  import {
39954
40160
  IBizContext as IBizContext6,
39955
40161
  ModelError as ModelError23,
39956
- RuntimeModelError as RuntimeModelError43
40162
+ RuntimeModelError as RuntimeModelError44
39957
40163
  } from "@ibiz-template/core";
39958
40164
  import { clone as clone25 } from "ramda";
39959
40165
 
@@ -40108,20 +40314,20 @@ var UILogicContext = class {
40108
40314
  };
40109
40315
 
40110
40316
  // src/ui-logic/ui-logic-node/de-action-node/de-action-node.ts
40111
- import { RuntimeModelError as RuntimeModelError29 } from "@ibiz-template/core";
40317
+ import { RuntimeModelError as RuntimeModelError30 } from "@ibiz-template/core";
40112
40318
 
40113
40319
  // src/ui-logic/ui-logic-link/ui-logic-link.ts
40114
40320
  import { ModelError as ModelError18 } from "@ibiz-template/core";
40115
40321
 
40116
40322
  // src/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.ts
40117
- import { RuntimeModelError as RuntimeModelError28 } from "@ibiz-template/core";
40323
+ import { RuntimeModelError as RuntimeModelError29 } from "@ibiz-template/core";
40118
40324
 
40119
40325
  // src/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.ts
40120
40326
  var UILogicLinkCond = class {
40121
40327
  };
40122
40328
 
40123
40329
  // src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts
40124
- import { ModelError as ModelError17, RuntimeModelError as RuntimeModelError27 } from "@ibiz-template/core";
40330
+ import { ModelError as ModelError17, RuntimeModelError as RuntimeModelError28 } from "@ibiz-template/core";
40125
40331
 
40126
40332
  // src/ui-logic/utils/handle-src-val.ts
40127
40333
  import { ModelError as ModelError16 } from "@ibiz-template/core";
@@ -40260,7 +40466,7 @@ var UILogicLinkSingleCond = class extends UILogicLinkCond {
40260
40466
  switch (this.type) {
40261
40467
  case "ENTITYFIELD": {
40262
40468
  if (!this.value) {
40263
- throw new RuntimeModelError27(
40469
+ throw new RuntimeModelError28(
40264
40470
  this.model,
40265
40471
  ibiz.i18n.t("runtime.uiLogic.currentConditionValue")
40266
40472
  );
@@ -40272,7 +40478,7 @@ var UILogicLinkSingleCond = class extends UILogicLinkCond {
40272
40478
  }
40273
40479
  case "SRCENTITYFIELD": {
40274
40480
  if (!this.value) {
40275
- throw new RuntimeModelError27(
40481
+ throw new RuntimeModelError28(
40276
40482
  this.model,
40277
40483
  ibiz.i18n.t("runtime.uiLogic.sourceDataObjectAttribute")
40278
40484
  );
@@ -40363,7 +40569,7 @@ var UILogicLinkGroupCond = class _UILogicLinkGroupCond extends UILogicLinkCond {
40363
40569
  test(ctx, context, data) {
40364
40570
  let bol = this.op !== "OR";
40365
40571
  if (this.conds.length === 0) {
40366
- throw new RuntimeModelError28(
40572
+ throw new RuntimeModelError29(
40367
40573
  this.model,
40368
40574
  ibiz.i18n.t("runtime.uiLogic.interfaceConnectionConditional")
40369
40575
  );
@@ -40512,13 +40718,13 @@ var DEActionNode2 = class extends UILogicNode {
40512
40718
  retDEUILogicParamId
40513
40719
  } = this.model;
40514
40720
  if (!dstAppDataEntityId) {
40515
- throw new RuntimeModelError29(
40721
+ throw new RuntimeModelError30(
40516
40722
  this.model,
40517
40723
  ibiz.i18n.t("runtime.deLogic.deLogicNode.unspecifiedEntity")
40518
40724
  );
40519
40725
  }
40520
40726
  if (!dstAppDEActionId) {
40521
- throw new RuntimeModelError29(
40727
+ throw new RuntimeModelError30(
40522
40728
  this.model,
40523
40729
  ibiz.i18n.t("runtime.deLogic.deLogicNode.unspecifiedBehavior")
40524
40730
  );
@@ -40549,7 +40755,7 @@ var DEActionNode2 = class extends UILogicNode {
40549
40755
  };
40550
40756
 
40551
40757
  // src/ui-logic/ui-logic-node/de-ui-action-node/de-ui-action-node.ts
40552
- import { RuntimeModelError as RuntimeModelError30 } from "@ibiz-template/core";
40758
+ import { RuntimeModelError as RuntimeModelError31 } from "@ibiz-template/core";
40553
40759
  var DEUIActionNode = class extends UILogicNode {
40554
40760
  async exec(ctx) {
40555
40761
  const {
@@ -40560,7 +40766,7 @@ var DEUIActionNode = class extends UILogicNode {
40560
40766
  } = this.model;
40561
40767
  const { data, parameters } = ctx;
40562
40768
  if (!dstAppDEUIActionId) {
40563
- throw new RuntimeModelError30(
40769
+ throw new RuntimeModelError31(
40564
40770
  this.model,
40565
40771
  ibiz.i18n.t("runtime.uiLogic.noConfiguredInterfaceBehavior")
40566
40772
  );
@@ -40835,26 +41041,26 @@ var PrepareJSParamNode = class extends UILogicNode {
40835
41041
  };
40836
41042
 
40837
41043
  // src/ui-logic/ui-logic-node/view-ctrl-invoke-node/view-ctrl-invoke-node.ts
40838
- import { RuntimeError as RuntimeError37, RuntimeModelError as RuntimeModelError31 } from "@ibiz-template/core";
41044
+ import { RuntimeError as RuntimeError37, RuntimeModelError as RuntimeModelError32 } from "@ibiz-template/core";
40839
41045
  import { isFunction } from "lodash-es";
40840
41046
  var ViewCtrlInvokeNode = class extends UILogicNode {
40841
41047
  async exec(ctx) {
40842
41048
  ctx.isEndNode = true;
40843
41049
  const { invokeMethod, invokeCtrlId, invokeParamId } = this.model;
40844
41050
  if (!invokeCtrlId) {
40845
- throw new RuntimeModelError31(
41051
+ throw new RuntimeModelError32(
40846
41052
  this.model,
40847
41053
  ibiz.i18n.t("runtime.uiLogic.noConfiguredInterfaceObject")
40848
41054
  );
40849
41055
  }
40850
41056
  if (!invokeParamId) {
40851
- throw new RuntimeModelError31(
41057
+ throw new RuntimeModelError32(
40852
41058
  this.model,
40853
41059
  ibiz.i18n.t("runtime.uiLogic.noConfiguredOperatingParameters")
40854
41060
  );
40855
41061
  }
40856
41062
  if (!invokeMethod) {
40857
- throw new RuntimeModelError31(
41063
+ throw new RuntimeModelError32(
40858
41064
  this.model,
40859
41065
  ibiz.i18n.t("runtime.uiLogic.noConfiguredCallMethod")
40860
41066
  );
@@ -40895,12 +41101,12 @@ var ViewCtrlInvokeNode = class extends UILogicNode {
40895
41101
  };
40896
41102
 
40897
41103
  // src/ui-logic/ui-logic-node/bind-param-node/bind-param-node.ts
40898
- import { RuntimeModelError as RuntimeModelError32 } from "@ibiz-template/core";
41104
+ import { RuntimeModelError as RuntimeModelError33 } from "@ibiz-template/core";
40899
41105
  var BindParamNode2 = class extends UILogicNode {
40900
41106
  async exec(ctx) {
40901
41107
  const { dstDEUILogicParamId, srcDEUILogicParamId } = this.model;
40902
41108
  if (!dstDEUILogicParamId || !srcDEUILogicParamId) {
40903
- throw new RuntimeModelError32(
41109
+ throw new RuntimeModelError33(
40904
41110
  this.model,
40905
41111
  ibiz.i18n.t("runtime.uiLogic.missingTargetParameter")
40906
41112
  );
@@ -40919,7 +41125,7 @@ var BindParamNode2 = class extends UILogicNode {
40919
41125
  };
40920
41126
 
40921
41127
  // src/ui-logic/ui-logic-node/msg-box-node/msg-box-node.ts
40922
- import { ModelError as ModelError21, RuntimeModelError as RuntimeModelError33 } from "@ibiz-template/core";
41128
+ import { ModelError as ModelError21, RuntimeModelError as RuntimeModelError34 } from "@ibiz-template/core";
40923
41129
  var MsgBoxNode = class extends UILogicNode {
40924
41130
  constructor() {
40925
41131
  super(...arguments);
@@ -40933,13 +41139,13 @@ var MsgBoxNode = class extends UILogicNode {
40933
41139
  async exec(ctx) {
40934
41140
  const { msgBoxType, buttonsType, msgBoxParamId } = this.model;
40935
41141
  if (!msgBoxType) {
40936
- throw new RuntimeModelError33(
41142
+ throw new RuntimeModelError34(
40937
41143
  this.model,
40938
41144
  ibiz.i18n.t("runtime.uiLogic.missingMessageTypeConfiguration")
40939
41145
  );
40940
41146
  }
40941
41147
  if (!buttonsType) {
40942
- throw new RuntimeModelError33(
41148
+ throw new RuntimeModelError34(
40943
41149
  this.model,
40944
41150
  ibiz.i18n.t("runtime.uiLogic.missingButtonTypeConfiguration")
40945
41151
  );
@@ -41023,12 +41229,12 @@ var PFPluginNode = class extends UILogicNode {
41023
41229
  };
41024
41230
 
41025
41231
  // src/ui-logic/ui-logic-node/debug-param-node/debug-param-node.ts
41026
- import { RuntimeModelError as RuntimeModelError34 } from "@ibiz-template/core";
41027
- var DebugParamNode = class extends UILogicNode {
41232
+ import { RuntimeModelError as RuntimeModelError35 } from "@ibiz-template/core";
41233
+ var DebugParamNode2 = class extends UILogicNode {
41028
41234
  async exec(ctx) {
41029
41235
  const { dstDEUILogicParamId, name: name2 } = this.model;
41030
41236
  if (!dstDEUILogicParamId) {
41031
- throw new RuntimeModelError34(
41237
+ throw new RuntimeModelError35(
41032
41238
  this.model,
41033
41239
  ibiz.i18n.t("runtime.deLogic.deLogicNode.missingConfiguration")
41034
41240
  );
@@ -41042,12 +41248,12 @@ var DebugParamNode = class extends UILogicNode {
41042
41248
  };
41043
41249
 
41044
41250
  // src/ui-logic/ui-logic-node/reset-param-node/reset-param-node.ts
41045
- import { RuntimeModelError as RuntimeModelError35 } from "@ibiz-template/core";
41251
+ import { RuntimeModelError as RuntimeModelError36 } from "@ibiz-template/core";
41046
41252
  var ResetParamNode2 = class extends UILogicNode {
41047
41253
  async exec(ctx) {
41048
41254
  const { dstDEUILogicParamId } = this.model;
41049
41255
  if (!dstDEUILogicParamId) {
41050
- throw new RuntimeModelError35(
41256
+ throw new RuntimeModelError36(
41051
41257
  this.model,
41052
41258
  ibiz.i18n.t("runtime.deLogic.deLogicNode.missingConfiguration")
41053
41259
  );
@@ -41064,13 +41270,13 @@ var ResetParamNode2 = class extends UILogicNode {
41064
41270
  };
41065
41271
 
41066
41272
  // src/ui-logic/ui-logic-node/copy-param-node/copy-param-node.ts
41067
- import { RuntimeModelError as RuntimeModelError36 } from "@ibiz-template/core";
41273
+ import { RuntimeModelError as RuntimeModelError37 } from "@ibiz-template/core";
41068
41274
  import { clone as clone24 } from "ramda";
41069
41275
  var CopyParamNode2 = class extends UILogicNode {
41070
41276
  async exec(ctx) {
41071
41277
  const { dstDEUILogicParamId, srcDEUILogicParamId } = this.model;
41072
41278
  if (!dstDEUILogicParamId || !srcDEUILogicParamId) {
41073
- throw new RuntimeModelError36(
41279
+ throw new RuntimeModelError37(
41074
41280
  this.model,
41075
41281
  ibiz.i18n.t("runtime.uiLogic.missingTargetParameter")
41076
41282
  );
@@ -41089,7 +41295,7 @@ var CopyParamNode2 = class extends UILogicNode {
41089
41295
  };
41090
41296
 
41091
41297
  // src/ui-logic/ui-logic-node/append-param-node/append-param-node.ts
41092
- import { RuntimeModelError as RuntimeModelError37 } from "@ibiz-template/core";
41298
+ import { RuntimeModelError as RuntimeModelError38 } from "@ibiz-template/core";
41093
41299
  var AppendParamNode2 = class extends UILogicNode {
41094
41300
  async exec(ctx) {
41095
41301
  const {
@@ -41100,7 +41306,7 @@ var AppendParamNode2 = class extends UILogicNode {
41100
41306
  srcSize
41101
41307
  } = this.model;
41102
41308
  if (!dstDEUILogicParamId || !srcDEUILogicParamId) {
41103
- throw new RuntimeModelError37(
41309
+ throw new RuntimeModelError38(
41104
41310
  this.model,
41105
41311
  ibiz.i18n.t("runtime.uiLogic.missingTargetParameter")
41106
41312
  );
@@ -41125,12 +41331,12 @@ var AppendParamNode2 = class extends UILogicNode {
41125
41331
  };
41126
41332
 
41127
41333
  // src/ui-logic/ui-logic-node/sort-param-node/sort-param-node.ts
41128
- import { RuntimeModelError as RuntimeModelError38 } from "@ibiz-template/core";
41334
+ import { RuntimeModelError as RuntimeModelError39 } from "@ibiz-template/core";
41129
41335
  var SortParamNode2 = class extends UILogicNode {
41130
41336
  async exec(ctx) {
41131
41337
  const { dstDEUILogicParamId, dstSortDir, dstFieldName } = this.model;
41132
41338
  if (!dstDEUILogicParamId || !dstFieldName) {
41133
- throw new RuntimeModelError38(
41339
+ throw new RuntimeModelError39(
41134
41340
  this.model,
41135
41341
  ibiz.i18n.t("runtime.deLogic.deLogicNode.missingParameterProperty")
41136
41342
  );
@@ -41154,12 +41360,12 @@ var SortParamNode2 = class extends UILogicNode {
41154
41360
  };
41155
41361
 
41156
41362
  // src/ui-logic/ui-logic-node/renew-param-node/renew-param-node.ts
41157
- import { RuntimeModelError as RuntimeModelError39 } from "@ibiz-template/core";
41363
+ import { RuntimeModelError as RuntimeModelError40 } from "@ibiz-template/core";
41158
41364
  var RenewParamNode2 = class extends UILogicNode {
41159
41365
  async exec(ctx) {
41160
41366
  const { dstDEUILogicParamId } = this.model;
41161
41367
  if (!dstDEUILogicParamId) {
41162
- throw new RuntimeModelError39(
41368
+ throw new RuntimeModelError40(
41163
41369
  this.model,
41164
41370
  ibiz.i18n.t("runtime.deLogic.deLogicNode.missingConfiguration")
41165
41371
  );
@@ -41176,7 +41382,7 @@ var RenewParamNode2 = class extends UILogicNode {
41176
41382
  };
41177
41383
 
41178
41384
  // src/ui-logic/ui-logic-node/data-set-node/data-set-node.ts
41179
- import { RuntimeModelError as RuntimeModelError40 } from "@ibiz-template/core";
41385
+ import { RuntimeModelError as RuntimeModelError41 } from "@ibiz-template/core";
41180
41386
  var DataSetNode2 = class extends UILogicNode {
41181
41387
  async exec(ctx) {
41182
41388
  const {
@@ -41186,7 +41392,7 @@ var DataSetNode2 = class extends UILogicNode {
41186
41392
  retDEUILogicParamId
41187
41393
  } = this.model;
41188
41394
  if (!dstDEUILogicParamId) {
41189
- throw new RuntimeModelError40(
41395
+ throw new RuntimeModelError41(
41190
41396
  this.model,
41191
41397
  ibiz.i18n.t("runtime.uiLogic.missingfilter")
41192
41398
  );
@@ -41231,25 +41437,25 @@ var ThrowExceptionNode2 = class extends UILogicNode {
41231
41437
  };
41232
41438
 
41233
41439
  // src/ui-logic/ui-logic-node/view-ctrl-fire-event-node/view-ctrl-fire-event-node.ts
41234
- import { RuntimeError as RuntimeError39, RuntimeModelError as RuntimeModelError41 } from "@ibiz-template/core";
41440
+ import { RuntimeError as RuntimeError39, RuntimeModelError as RuntimeModelError42 } from "@ibiz-template/core";
41235
41441
  var ViewCtrlFireEventNode = class extends UILogicNode {
41236
41442
  async exec(ctx) {
41237
41443
  ctx.isEndNode = true;
41238
41444
  const { eventName, eventParamId, fireCtrlId } = this.model;
41239
41445
  if (!fireCtrlId) {
41240
- throw new RuntimeModelError41(
41446
+ throw new RuntimeModelError42(
41241
41447
  this.model,
41242
41448
  ibiz.i18n.t("runtime.uiLogic.noConfiguredTriggerObject")
41243
41449
  );
41244
41450
  }
41245
41451
  if (!eventName) {
41246
- throw new RuntimeModelError41(
41452
+ throw new RuntimeModelError42(
41247
41453
  this.model,
41248
41454
  ibiz.i18n.t("runtime.uiLogic.noConfiguredEvent")
41249
41455
  );
41250
41456
  }
41251
41457
  if (!eventParamId) {
41252
- throw new RuntimeModelError41(
41458
+ throw new RuntimeModelError42(
41253
41459
  this.model,
41254
41460
  ibiz.i18n.t("runtime.uiLogic.noConfiguredEventParameters")
41255
41461
  );
@@ -41284,7 +41490,7 @@ var ViewCtrlFireEventNode = class extends UILogicNode {
41284
41490
  };
41285
41491
 
41286
41492
  // src/ui-logic/ui-logic-node/execute-de-logic-node/execute-de-logic-node.ts
41287
- import { RuntimeError as RuntimeError40, RuntimeModelError as RuntimeModelError42 } from "@ibiz-template/core";
41493
+ import { RuntimeError as RuntimeError40, RuntimeModelError as RuntimeModelError43 } from "@ibiz-template/core";
41288
41494
  var ExecuteDELogicNode = class extends UILogicNode {
41289
41495
  async exec(ctx) {
41290
41496
  const {
@@ -41294,19 +41500,19 @@ var ExecuteDELogicNode = class extends UILogicNode {
41294
41500
  retDEUILogicParamId
41295
41501
  } = this.model;
41296
41502
  if (!dstAppDataEntityId) {
41297
- throw new RuntimeModelError42(
41503
+ throw new RuntimeModelError43(
41298
41504
  this.model,
41299
41505
  ibiz.i18n.t("runtime.uiLogic.noEntityConfigured")
41300
41506
  );
41301
41507
  }
41302
41508
  if (!dstAppDELogicId) {
41303
- throw new RuntimeModelError42(
41509
+ throw new RuntimeModelError43(
41304
41510
  this.model,
41305
41511
  ibiz.i18n.t("runtime.uiLogic.noEntityLogicConfigured")
41306
41512
  );
41307
41513
  }
41308
41514
  if (!dstDEUILogicParamId) {
41309
- throw new RuntimeModelError42(
41515
+ throw new RuntimeModelError43(
41310
41516
  this.model,
41311
41517
  ibiz.i18n.t("runtime.uiLogic.noIncomingLogic")
41312
41518
  );
@@ -41535,7 +41741,7 @@ var UILogic = class {
41535
41741
  this.params = /* @__PURE__ */ new Map();
41536
41742
  var _a3;
41537
41743
  if (!((_a3 = model.deuilogicNodes) == null ? void 0 : _a3.length)) {
41538
- throw new RuntimeModelError43(
41744
+ throw new RuntimeModelError44(
41539
41745
  model,
41540
41746
  ibiz.i18n.t("runtime.uiLogic.noLogicalNodesConfigured")
41541
41747
  );
@@ -41575,7 +41781,7 @@ var UILogic = class {
41575
41781
  logicNode = new MsgBoxNode(node);
41576
41782
  break;
41577
41783
  case "DEBUGPARAM":
41578
- logicNode = new DebugParamNode(node);
41784
+ logicNode = new DebugParamNode2(node);
41579
41785
  break;
41580
41786
  case "APPENDPARAM":
41581
41787
  logicNode = new AppendParamNode2(node);
@@ -41665,7 +41871,7 @@ var UILogic = class {
41665
41871
  const start = this.nodes.get(startDEUILogicNodeId);
41666
41872
  await this.deepExec(start, ctx);
41667
41873
  } else {
41668
- throw new RuntimeModelError43(
41874
+ throw new RuntimeModelError44(
41669
41875
  this.model,
41670
41876
  ibiz.i18n.t("runtime.deLogic.deLogicNode.noSetStartNode")
41671
41877
  );
@@ -41856,7 +42062,7 @@ var UIActionProviderBase = class {
41856
42062
  const { appDEUILogicId, appDataEntityId, uilogicAttachMode } = action;
41857
42063
  if (uilogicAttachMode === "REPLACE") {
41858
42064
  if (!appDEUILogicId) {
41859
- throw new RuntimeModelError44(
42065
+ throw new RuntimeModelError45(
41860
42066
  action,
41861
42067
  ibiz.i18n.t("runtime.logicScheduler.executor.noConfiguredLogic")
41862
42068
  );
@@ -41884,7 +42090,7 @@ var UIActionProviderBase = class {
41884
42090
  }
41885
42091
  if (action.uilogicAttachMode === "AFTER") {
41886
42092
  if (!appDEUILogicId) {
41887
- throw new RuntimeModelError44(
42093
+ throw new RuntimeModelError45(
41888
42094
  action,
41889
42095
  ibiz.i18n.t("runtime.logicScheduler.executor.noConfiguredLogic")
41890
42096
  );
@@ -42168,7 +42374,7 @@ var BackendUIActionProvider = class extends UIActionProviderBase {
42168
42374
  const entityName = action.appDataEntityId;
42169
42375
  const methodName = action.appDEMethodId;
42170
42376
  if (!entityName || !methodName) {
42171
- throw new RuntimeModelError45(
42377
+ throw new RuntimeModelError46(
42172
42378
  action,
42173
42379
  ibiz.i18n.t("runtime.uiAction.noEntityOrBehavior")
42174
42380
  );
@@ -42303,7 +42509,7 @@ var SysUIActionProvider = class extends UIActionProviderBase {
42303
42509
  // src/ui-action/provider/front-ui-action-provider.ts
42304
42510
  import {
42305
42511
  StringUtil as StringUtil4,
42306
- RuntimeModelError as RuntimeModelError46,
42512
+ RuntimeModelError as RuntimeModelError47,
42307
42513
  ModelError as ModelError24,
42308
42514
  RuntimeError as RuntimeError43
42309
42515
  } from "@ibiz-template/core";
@@ -42327,7 +42533,7 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
42327
42533
  case "WIZARD": {
42328
42534
  const frontPSAppView = action.frontAppViewId;
42329
42535
  if (!frontPSAppView) {
42330
- throw new RuntimeModelError46(
42536
+ throw new RuntimeModelError47(
42331
42537
  action,
42332
42538
  ibiz.i18n.t("runtime.uiAction.noConfiguredopenView")
42333
42539
  );
@@ -42417,7 +42623,7 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
42417
42623
  );
42418
42624
  return result || {};
42419
42625
  }
42420
- throw new RuntimeModelError46(
42626
+ throw new RuntimeModelError47(
42421
42627
  action,
42422
42628
  ibiz.i18n.t("runtime.uiAction.missingConfigurationScriptCode")
42423
42629
  );
@@ -42496,7 +42702,7 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
42496
42702
  const { resultContext, resultParams, presetParams } = await this.handleParams(action, args.context, args.data, args.params);
42497
42703
  const { appDataEntityId, appDEDataImportId, frontAppViewId } = action;
42498
42704
  if (!appDataEntityId || !appDEDataImportId) {
42499
- throw new RuntimeModelError46(
42705
+ throw new RuntimeModelError47(
42500
42706
  action,
42501
42707
  ibiz.i18n.t("runtime.controller.common.control.noImportModel")
42502
42708
  );
@@ -42641,6 +42847,9 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
42641
42847
  overlay.dismiss();
42642
42848
  }
42643
42849
  hasSave = true;
42850
+ },
42851
+ onFinish: (_eventArgs) => {
42852
+ overlay == null ? void 0 : overlay.dismiss();
42644
42853
  }
42645
42854
  },
42646
42855
  popoverOpts
@@ -42797,7 +43006,7 @@ var LoginOutUIActionProvider = class extends UIActionProviderBase {
42797
43006
  };
42798
43007
 
42799
43008
  // src/ui-action/provider/custom-ui-action-provider.ts
42800
- import { RuntimeModelError as RuntimeModelError47 } from "@ibiz-template/core";
43009
+ import { RuntimeModelError as RuntimeModelError48 } from "@ibiz-template/core";
42801
43010
  var CustomUIActionProvider = class extends UIActionProviderBase {
42802
43011
  async execAction(action, args) {
42803
43012
  const { scriptCode } = action;
@@ -42809,7 +43018,7 @@ var CustomUIActionProvider = class extends UIActionProviderBase {
42809
43018
  );
42810
43019
  return result || {};
42811
43020
  }
42812
- throw new RuntimeModelError47(
43021
+ throw new RuntimeModelError48(
42813
43022
  action,
42814
43023
  ibiz.i18n.t("runtime.uiAction.missingConfigurationScriptCode")
42815
43024
  );
@@ -43236,6 +43445,12 @@ var CalendarController = class extends MDControlController {
43236
43445
  * @type {{ [p: string]: ContextMenuController }}
43237
43446
  */
43238
43447
  this.contextMenus = {};
43448
+ /**
43449
+ * @description 时光轴时间戳格式化串
43450
+ * @type {string}
43451
+ * @memberof CalendarController
43452
+ */
43453
+ this.timelineCaptionFormat = "YYYY-MM-DD";
43239
43454
  }
43240
43455
  /**
43241
43456
  * 初始化状态
@@ -43271,14 +43486,17 @@ var CalendarController = class extends MDControlController {
43271
43486
  * @memberof CalendarController
43272
43487
  */
43273
43488
  async onCreated() {
43274
- var _a3, _b2, _c;
43489
+ var _a3, _b2, _c, _d, _e;
43275
43490
  await super.onCreated();
43276
- this.state.showDetail = ((_b2 = (_a3 = this.model.controlParam) == null ? void 0 : _a3.ctrlParams) == null ? void 0 : _b2.SHOWDETAIL) || this.controlParams.showdetail === "true" || false;
43491
+ if ((_b2 = (_a3 = this.model.controlParam) == null ? void 0 : _a3.ctrlParams) == null ? void 0 : _b2.TIMELINECAPTIONFORMAT) {
43492
+ this.timelineCaptionFormat = this.model.controlParam.ctrlParams.TIMELINECAPTIONFORMAT;
43493
+ }
43494
+ this.state.showDetail = ((_d = (_c = this.model.controlParam) == null ? void 0 : _c.ctrlParams) == null ? void 0 : _d.SHOWDETAIL) || this.controlParams.showdetail === "true" || false;
43277
43495
  this.service = new CalendarService(this.model);
43278
43496
  await this.service.init(this.context);
43279
43497
  this.initViewScheduler();
43280
43498
  this.initCalendarLegends();
43281
- (_c = this.model.sysCalendarItems) == null ? void 0 : _c.forEach((item) => {
43499
+ (_e = this.model.sysCalendarItems) == null ? void 0 : _e.forEach((item) => {
43282
43500
  var _a4, _b3;
43283
43501
  if ((_b3 = (_a4 = item.decontextMenu) == null ? void 0 : _a4.detoolbarItems) == null ? void 0 : _b3.length) {
43284
43502
  this.contextMenus[item.decontextMenu.id] = new ContextMenuController(
@@ -43422,7 +43640,7 @@ var CalendarController = class extends MDControlController {
43422
43640
  }
43423
43641
  ));
43424
43642
  if (result === -1)
43425
- throw new RuntimeModelError48(
43643
+ throw new RuntimeModelError49(
43426
43644
  calendarItem,
43427
43645
  ibiz.i18n.t("runtime.controller.common.md.logicOpendata", {
43428
43646
  itemType: calendarItem.itemType.toLowerCase()
@@ -43458,7 +43676,7 @@ var CalendarController = class extends MDControlController {
43458
43676
  }
43459
43677
  ));
43460
43678
  if (result === -1)
43461
- throw new RuntimeModelError48(
43679
+ throw new RuntimeModelError49(
43462
43680
  calendarItem,
43463
43681
  ibiz.i18n.t("runtime.controller.common.md.logicNewdata", {
43464
43682
  itemType: calendarItem.itemType.toLowerCase()
@@ -43849,10 +44067,10 @@ import { isObject as isObject2, isString as isString2 } from "qx-util";
43849
44067
  import { RuntimeError as RuntimeError46 } from "@ibiz-template/core";
43850
44068
 
43851
44069
  // src/controller/control/chart/generator/line-series-generator.ts
43852
- import { RuntimeModelError as RuntimeModelError50 } from "@ibiz-template/core";
44070
+ import { RuntimeModelError as RuntimeModelError51 } from "@ibiz-template/core";
43853
44071
 
43854
44072
  // src/controller/control/chart/generator/base-series-generator.ts
43855
- import { plus, RuntimeModelError as RuntimeModelError49, toNumberOrNil } from "@ibiz-template/core";
44073
+ import { plus, RuntimeModelError as RuntimeModelError50, toNumberOrNil } from "@ibiz-template/core";
43856
44074
  import dayjs4 from "dayjs";
43857
44075
  import minMax from "dayjs/plugin/minMax";
43858
44076
  import isSameOrBefore from "dayjs/plugin/isSameOrBefore";
@@ -43934,13 +44152,13 @@ var BaseSeriesGenerator = class {
43934
44152
  var _a3;
43935
44153
  const { chartSeriesEncode, caption, id, userParam } = model;
43936
44154
  if (!model.catalogField) {
43937
- throw new RuntimeModelError49(
44155
+ throw new RuntimeModelError50(
43938
44156
  model,
43939
44157
  ibiz.i18n.t("runtime.controller.control.chart.missingClassification")
43940
44158
  );
43941
44159
  }
43942
44160
  if (!model.valueField) {
43943
- throw new RuntimeModelError49(
44161
+ throw new RuntimeModelError50(
43944
44162
  model,
43945
44163
  ibiz.i18n.t("runtime.controller.control.chart.missingValue")
43946
44164
  );
@@ -44687,13 +44905,13 @@ var BaseSeriesGenerator = class {
44687
44905
  var LineSeriesGenerator = class extends BaseSeriesGenerator {
44688
44906
  calcStaticOptions() {
44689
44907
  if (this.xAxisIndex === void 0) {
44690
- throw new RuntimeModelError50(
44908
+ throw new RuntimeModelError51(
44691
44909
  this.model,
44692
44910
  ibiz.i18n.t("runtime.controller.control.chart.noConfiguredX")
44693
44911
  );
44694
44912
  }
44695
44913
  if (this.yAxisIndex === void 0) {
44696
- throw new RuntimeModelError50(
44914
+ throw new RuntimeModelError51(
44697
44915
  this.model,
44698
44916
  ibiz.i18n.t("runtime.controller.control.chart.noConfiguredY")
44699
44917
  );
@@ -44712,17 +44930,17 @@ var LineSeriesGenerator = class extends BaseSeriesGenerator {
44712
44930
  };
44713
44931
 
44714
44932
  // src/controller/control/chart/generator/bar-series-generator.ts
44715
- import { RuntimeModelError as RuntimeModelError51 } from "@ibiz-template/core";
44933
+ import { RuntimeModelError as RuntimeModelError52 } from "@ibiz-template/core";
44716
44934
  var BarSeriesGenerator = class extends BaseSeriesGenerator {
44717
44935
  calcStaticOptions() {
44718
44936
  if (this.xAxisIndex === void 0) {
44719
- throw new RuntimeModelError51(
44937
+ throw new RuntimeModelError52(
44720
44938
  this.model,
44721
44939
  ibiz.i18n.t("runtime.controller.control.chart.noConfiguredX")
44722
44940
  );
44723
44941
  }
44724
44942
  if (this.yAxisIndex === void 0) {
44725
- throw new RuntimeModelError51(
44943
+ throw new RuntimeModelError52(
44726
44944
  this.model,
44727
44945
  ibiz.i18n.t("runtime.controller.control.chart.noConfiguredY")
44728
44946
  );
@@ -44778,17 +44996,17 @@ var PieSeriesGenerator = class extends BaseSeriesGenerator {
44778
44996
  };
44779
44997
 
44780
44998
  // src/controller/control/chart/generator/scatter-series-generator.ts
44781
- import { RuntimeModelError as RuntimeModelError52 } from "@ibiz-template/core";
44999
+ import { RuntimeModelError as RuntimeModelError53 } from "@ibiz-template/core";
44782
45000
  var ScatterSeriesGenerator = class extends BaseSeriesGenerator {
44783
45001
  calcStaticOptions() {
44784
45002
  if (this.xAxisIndex === void 0) {
44785
- throw new RuntimeModelError52(
45003
+ throw new RuntimeModelError53(
44786
45004
  this.model,
44787
45005
  ibiz.i18n.t("runtime.controller.control.chart.noConfiguredX")
44788
45006
  );
44789
45007
  }
44790
45008
  if (this.yAxisIndex === void 0) {
44791
- throw new RuntimeModelError52(
45009
+ throw new RuntimeModelError53(
44792
45010
  this.model,
44793
45011
  ibiz.i18n.t("runtime.controller.control.chart.noConfiguredY")
44794
45012
  );
@@ -44918,7 +45136,7 @@ var RadarSeriesGenerator = class extends BaseSeriesGenerator {
44918
45136
  };
44919
45137
 
44920
45138
  // src/controller/control/chart/generator/area-series-generator.ts
44921
- import { RuntimeModelError as RuntimeModelError53 } from "@ibiz-template/core";
45139
+ import { RuntimeModelError as RuntimeModelError54 } from "@ibiz-template/core";
44922
45140
  var AreaSeriesGenerator = class extends BaseSeriesGenerator {
44923
45141
  /**
44924
45142
  * 计算静态序列的options
@@ -44927,13 +45145,13 @@ var AreaSeriesGenerator = class extends BaseSeriesGenerator {
44927
45145
  */
44928
45146
  calcStaticOptions() {
44929
45147
  if (this.xAxisIndex === void 0) {
44930
- throw new RuntimeModelError53(
45148
+ throw new RuntimeModelError54(
44931
45149
  this.model,
44932
45150
  ibiz.i18n.t("runtime.controller.control.chart.noConfiguredX")
44933
45151
  );
44934
45152
  }
44935
45153
  if (this.yAxisIndex === void 0) {
44936
- throw new RuntimeModelError53(
45154
+ throw new RuntimeModelError54(
44937
45155
  this.model,
44938
45156
  ibiz.i18n.t("runtime.controller.control.chart.noConfiguredY")
44939
45157
  );
@@ -44983,7 +45201,7 @@ var GaugeSeriesGenerator = class extends BaseSeriesGenerator {
44983
45201
  // src/controller/control/chart/generator/candlestick-series-generator.ts
44984
45202
  import { isNil as isNil28 } from "ramda";
44985
45203
  import { isArray as isArray10, isNumber as isNumber4 } from "qx-util";
44986
- import { plus as plus2, RuntimeModelError as RuntimeModelError54, toNumberOrNil as toNumberOrNil2 } from "@ibiz-template/core";
45204
+ import { plus as plus2, RuntimeModelError as RuntimeModelError55, toNumberOrNil as toNumberOrNil2 } from "@ibiz-template/core";
44987
45205
  var CandlestickSeriesGenerator = class extends BaseSeriesGenerator {
44988
45206
  /**
44989
45207
  * 初始化参数
@@ -44996,7 +45214,7 @@ var CandlestickSeriesGenerator = class extends BaseSeriesGenerator {
44996
45214
  var _a3;
44997
45215
  const { chartSeriesEncode, caption, id, userParam, navViewParamJO } = model;
44998
45216
  if (!model.catalogField) {
44999
- throw new RuntimeModelError54(
45217
+ throw new RuntimeModelError55(
45000
45218
  model,
45001
45219
  ibiz.i18n.t("runtime.controller.control.chart.missingClassification")
45002
45220
  );
@@ -46812,6 +47030,42 @@ function filterPortletByConfig(config, items) {
46812
47030
  }
46813
47031
  return effectivePortlets;
46814
47032
  }
47033
+ function deepFillSubAppId(model, appId2) {
47034
+ model.appId = appId2;
47035
+ const keys = Object.keys(model);
47036
+ keys.forEach((key) => {
47037
+ const value = model[key];
47038
+ if (value && typeof value === "object") {
47039
+ if (Array.isArray(value)) {
47040
+ value.forEach((item) => {
47041
+ if (item && typeof item === "object") {
47042
+ deepFillSubAppId(item, appId2);
47043
+ }
47044
+ });
47045
+ } else {
47046
+ deepFillSubAppId(value, appId2);
47047
+ }
47048
+ }
47049
+ });
47050
+ }
47051
+ function deepDeleteSubAppId(model) {
47052
+ delete model.appId;
47053
+ const keys = Object.keys(model);
47054
+ keys.forEach((key) => {
47055
+ const value = model[key];
47056
+ if (value && typeof value === "object") {
47057
+ if (Array.isArray(value)) {
47058
+ value.forEach((item) => {
47059
+ if (item && typeof item === "object") {
47060
+ deepDeleteSubAppId(item);
47061
+ }
47062
+ });
47063
+ } else {
47064
+ deepDeleteSubAppId(value);
47065
+ }
47066
+ }
47067
+ });
47068
+ }
46815
47069
 
46816
47070
  // src/controller/control/dashboard/dashboard.controller.ts
46817
47071
  var DashboardController = class extends ControlController {
@@ -46977,7 +47231,7 @@ var DashboardController = class extends ControlController {
46977
47231
  */
46978
47232
  async loadAllDynaPortlet() {
46979
47233
  var _a3;
46980
- const app = ibiz.hub.getApp(ibiz.env.appId);
47234
+ const app = ibiz.hub.getApp(this.model.appId);
46981
47235
  const result = [];
46982
47236
  if (this.controlParams.dynamiccodelist) {
46983
47237
  const dynamicCodeListTag = this.controlParams.dynamiccodelist;
@@ -47031,7 +47285,7 @@ var DashboardController = class extends ControlController {
47031
47285
  * @return {*} {(Promise<IDBPortletPart | undefined>)}
47032
47286
  */
47033
47287
  async loadDynaPortletById(id) {
47034
- const app = ibiz.hub.getApp(ibiz.env.appId);
47288
+ const app = ibiz.hub.getApp(this.model.appId);
47035
47289
  const tempContext = clone31(this.context);
47036
47290
  Object.assign(tempContext, { psappportlet: id });
47037
47291
  const res = await app.deService.exec(
@@ -47126,7 +47380,7 @@ var DashboardController = class extends ControlController {
47126
47380
  var _a3;
47127
47381
  if (!this.customDashboard)
47128
47382
  return;
47129
- const app = ibiz.hub.getApp(ibiz.env.appId);
47383
+ const app = ibiz.hub.getApp(this.model.appId);
47130
47384
  if (isNewFilter) {
47131
47385
  const portletCat = (_a3 = app.model.appPortletCats) == null ? void 0 : _a3.find(
47132
47386
  (cat) => {
@@ -47208,7 +47462,7 @@ var DashboardController = class extends ControlController {
47208
47462
  var _a3, _b2;
47209
47463
  const filterParam = this.customDashboard.portletFilter[key];
47210
47464
  const { config, searchconds } = filterParam;
47211
- const app = ibiz.hub.getApp(ibiz.env.appId);
47465
+ const app = ibiz.hub.getApp(this.model.appId);
47212
47466
  const targetFilter = (_a3 = app.model.appPortlets) == null ? void 0 : _a3.find(
47213
47467
  (portletModel) => {
47214
47468
  return portletModel.id === key;
@@ -47473,6 +47727,7 @@ var CustomDashboardController = class {
47473
47727
  * @Date: 2023-09-20 16:22:49
47474
47728
  */
47475
47729
  async loadCustomModelData() {
47730
+ var _a3;
47476
47731
  if (this.multiMode && !this.context.srfdynadashboardid) {
47477
47732
  return { model: this.customModelData, config: this.portletConfig };
47478
47733
  }
@@ -47489,6 +47744,7 @@ var CustomDashboardController = class {
47489
47744
  if (res.model) {
47490
47745
  for (let i = 0; i < res.model.length; i++) {
47491
47746
  const item = res.model[i];
47747
+ const mainApp = ibiz.hub.getApp(ibiz.env.appId);
47492
47748
  if (item.orignModel) {
47493
47749
  item.portletModel = await ibiz.hub.translationModelToDsl(
47494
47750
  item.portletModel,
@@ -47496,6 +47752,13 @@ var CustomDashboardController = class {
47496
47752
  );
47497
47753
  delete item.orignModel;
47498
47754
  }
47755
+ const targetApp = (_a3 = mainApp.model.subAppRefs) == null ? void 0 : _a3.find((app) => {
47756
+ var _a4;
47757
+ return (_a4 = app.id) == null ? void 0 : _a4.endsWith(item.appCodeName);
47758
+ });
47759
+ if (targetApp && targetApp.id) {
47760
+ deepFillSubAppId(item.portletModel, targetApp.id);
47761
+ }
47499
47762
  }
47500
47763
  this.customModelData = res.model;
47501
47764
  }
@@ -47552,8 +47815,14 @@ var CustomDashboardController = class {
47552
47815
  }
47553
47816
  });
47554
47817
  }
47818
+ const cloneModel = clone32(model);
47819
+ cloneModel.forEach((item) => {
47820
+ if (item.portletModel) {
47821
+ deepDeleteSubAppId(item.portletModel);
47822
+ }
47823
+ });
47555
47824
  const data = {
47556
- model,
47825
+ model: cloneModel,
47557
47826
  colNum: this.layoutColNum,
47558
47827
  rowH: this.layoutRowH,
47559
47828
  config: this.portletConfig,
@@ -48167,7 +48436,7 @@ import { clone as clone34 } from "ramda";
48167
48436
  import { isString as isString3 } from "lodash-es";
48168
48437
 
48169
48438
  // src/controller/control/search-bar/search-bar-filter.controller.ts
48170
- import { RuntimeModelError as RuntimeModelError55 } from "@ibiz-template/core";
48439
+ import { RuntimeModelError as RuntimeModelError56 } from "@ibiz-template/core";
48171
48440
 
48172
48441
  // src/controller/control/search-bar/util.ts
48173
48442
  var ItemsValueOPs = [
@@ -48248,7 +48517,7 @@ var SearchBarFilterController = class {
48248
48517
  async init() {
48249
48518
  if (!this.noEditor) {
48250
48519
  if (!this.model.editor) {
48251
- throw new RuntimeModelError55(
48520
+ throw new RuntimeModelError56(
48252
48521
  this.model,
48253
48522
  ibiz.i18n.t("runtime.controller.control.searchBar.missingModel")
48254
48523
  );
@@ -50163,9 +50432,9 @@ import {
50163
50432
  clone as clone36,
50164
50433
  DataTypes as DataTypes4,
50165
50434
  isElementSame as isElementSame2,
50166
- RuntimeModelError as RuntimeModelError56
50435
+ RuntimeModelError as RuntimeModelError57
50167
50436
  } from "@ibiz-template/core";
50168
- import { isNil as isNil30 } from "ramda";
50437
+ import { isNil as isNil30, isNotNil as isNotNil3 } from "ramda";
50169
50438
  import { createUUID as createUUID13, isBoolean } from "qx-util";
50170
50439
 
50171
50440
  // src/controller/control/data-view/data-view.service.ts
@@ -50244,6 +50513,24 @@ var DataViewControlController = class extends MDControlController {
50244
50513
  get enableEditGroup() {
50245
50514
  return this.model.enableCardEditGroup === true;
50246
50515
  }
50516
+ /**
50517
+ * @description 启用分组
50518
+ * @readonly
50519
+ * @type {boolean}
50520
+ * @memberof DataViewControlController
50521
+ */
50522
+ get enableGroup() {
50523
+ return this.model.groupMode !== "NONE";
50524
+ }
50525
+ /**
50526
+ * @description 分组时是否显示分组锚点导航
50527
+ * @readonly
50528
+ * @type {boolean}
50529
+ * @memberof DataViewControlController
50530
+ */
50531
+ get showGroupAnchor() {
50532
+ return this.enableGroup && this.controlParams.showgroupanchor === "true";
50533
+ }
50247
50534
  /**
50248
50535
  * 初始化State
50249
50536
  *
@@ -50263,6 +50550,29 @@ var DataViewControlController = class extends MDControlController {
50263
50550
  this.state.readonly = !!(this.context.srfreadonly === true || this.context.srfreadonly === "true");
50264
50551
  this.state.draggable = this.enableEditOrder || this.enableEditGroup;
50265
50552
  this.state.uaState = {};
50553
+ this.initSortDelistItems();
50554
+ }
50555
+ /**
50556
+ * @description 初始化排序配置项集合
50557
+ * @protected
50558
+ * @memberof DataViewControlController
50559
+ */
50560
+ initSortDelistItems() {
50561
+ var _a3;
50562
+ const sortDelistItems = [];
50563
+ (_a3 = this.model.dedataViewItems) == null ? void 0 : _a3.forEach((item) => {
50564
+ var _a4, _b2;
50565
+ if (item.enableSort) {
50566
+ sortDelistItems.push({
50567
+ value: item.id,
50568
+ label: ibiz.i18n.t(
50569
+ ((_a4 = item == null ? void 0 : item.capLanguageRes) == null ? void 0 : _a4.lanResTag) || "",
50570
+ item.caption || ((_b2 = item == null ? void 0 : item.capLanguageRes) == null ? void 0 : _b2.defaultContent)
50571
+ )
50572
+ });
50573
+ }
50574
+ });
50575
+ this.state.sortDelistItems = sortDelistItems;
50266
50576
  }
50267
50577
  /**
50268
50578
  * 初始化
@@ -50556,7 +50866,7 @@ var DataViewControlController = class extends MDControlController {
50556
50866
  const { enableGroup } = this.state;
50557
50867
  if (enableGroup && groupMode) {
50558
50868
  if (!groupAppDEFieldId) {
50559
- throw new RuntimeModelError56(
50869
+ throw new RuntimeModelError57(
50560
50870
  this.model,
50561
50871
  ibiz.i18n.t(
50562
50872
  "runtime.controller.control.dataView.propertiesNoConfigured"
@@ -50649,7 +50959,7 @@ var DataViewControlController = class extends MDControlController {
50649
50959
  async handleCodeListGroup() {
50650
50960
  const { groupAppDEFieldId, groupCodeListId } = this.model;
50651
50961
  if (!groupCodeListId) {
50652
- throw new RuntimeModelError56(
50962
+ throw new RuntimeModelError57(
50653
50963
  this.model,
50654
50964
  ibiz.i18n.t("runtime.controller.control.dataView.tableNoConfigured")
50655
50965
  );
@@ -50700,8 +51010,9 @@ var DataViewControlController = class extends MDControlController {
50700
51010
  */
50701
51011
  onClickNew(event, group) {
50702
51012
  const params = { ...this.params };
50703
- if (group)
51013
+ if (isNotNil3(group)) {
50704
51014
  Object.assign(params, { srfgroup: group });
51015
+ }
50705
51016
  UIActionUtil.execAndResolved(
50706
51017
  "new",
50707
51018
  {
@@ -50762,7 +51073,7 @@ var DataViewControlController = class extends MDControlController {
50762
51073
  caption = ibiz.i18n.t(item.capLanguageRes.lanResTag, item.caption);
50763
51074
  }
50764
51075
  if (!item.appDEFieldId) {
50765
- throw new RuntimeModelError56(
51076
+ throw new RuntimeModelError57(
50766
51077
  item,
50767
51078
  ibiz.i18n.t("runtime.controller.control.dataView.sortingItems")
50768
51079
  );
@@ -50983,13 +51294,13 @@ var DataViewControlController = class extends MDControlController {
50983
51294
  await this.updateChangedItems([draggedItem]);
50984
51295
  } else {
50985
51296
  if (!minorSortAppDEFieldId)
50986
- throw new RuntimeModelError56(
51297
+ throw new RuntimeModelError57(
50987
51298
  this.model,
50988
51299
  ibiz.i18n.t("runtime.controller.common.md.sortingProperties")
50989
51300
  );
50990
51301
  const moveAction = moveControlAction == null ? void 0 : moveControlAction.appDEMethodId;
50991
51302
  if (!moveAction)
50992
- throw new RuntimeModelError56(
51303
+ throw new RuntimeModelError57(
50993
51304
  this.model,
50994
51305
  ibiz.i18n.t("runtime.controller.common.md.noMoveDataCconfig")
50995
51306
  );
@@ -51031,14 +51342,14 @@ var DataViewControlController = class extends MDControlController {
51031
51342
  };
51032
51343
 
51033
51344
  // src/controller/control/exp-bar/calendar-exp-bar.controller.ts
51034
- import { RuntimeModelError as RuntimeModelError58 } from "@ibiz-template/core";
51345
+ import { RuntimeModelError as RuntimeModelError59 } from "@ibiz-template/core";
51035
51346
 
51036
51347
  // src/controller/control/exp-bar/exp-bar.controller.ts
51037
51348
  import {
51038
51349
  IBizParams as IBizParams3,
51039
51350
  IBizContext as IBizContext8,
51040
51351
  RuntimeError as RuntimeError49,
51041
- RuntimeModelError as RuntimeModelError57
51352
+ RuntimeModelError as RuntimeModelError58
51042
51353
  } from "@ibiz-template/core";
51043
51354
  var ExpBarControlController = class extends ControlController {
51044
51355
  constructor(model, context, params, ctx) {
@@ -51133,7 +51444,7 @@ var ExpBarControlController = class extends ControlController {
51133
51444
  get xDataController() {
51134
51445
  const controller = this.view.getController(this.model.xdataControlName);
51135
51446
  if (!controller) {
51136
- throw new RuntimeModelError57(
51447
+ throw new RuntimeModelError58(
51137
51448
  this.model,
51138
51449
  ibiz.i18n.t("runtime.controller.control.expBar.unableMore", {
51139
51450
  xdataControlName: this.model.xdataControlName
@@ -51525,7 +51836,7 @@ var CalendarExpBarController = class extends ExpBarControlController {
51525
51836
  get xDataController() {
51526
51837
  const controller = this.view.getController(this.model.xdataControlName);
51527
51838
  if (!controller)
51528
- throw new RuntimeModelError58(
51839
+ throw new RuntimeModelError59(
51529
51840
  this.model,
51530
51841
  ibiz.i18n.t("runtime.controller.control.expBar.unableMore", {
51531
51842
  xdataControlName: this.model.xdataControlName
@@ -51610,7 +51921,7 @@ var CalendarExpBarController = class extends ExpBarControlController {
51610
51921
  };
51611
51922
 
51612
51923
  // src/controller/control/exp-bar/tree-exp-bar.controller.ts
51613
- import { RuntimeError as RuntimeError50, RuntimeModelError as RuntimeModelError59 } from "@ibiz-template/core";
51924
+ import { RuntimeError as RuntimeError50, RuntimeModelError as RuntimeModelError60 } from "@ibiz-template/core";
51614
51925
  var TreeExpBarController = class extends ExpBarControlController {
51615
51926
  constructor() {
51616
51927
  super(...arguments);
@@ -51633,7 +51944,7 @@ var TreeExpBarController = class extends ExpBarControlController {
51633
51944
  get xDataController() {
51634
51945
  const controller = this.view.getController(this.model.xdataControlName);
51635
51946
  if (!controller) {
51636
- throw new RuntimeModelError59(
51947
+ throw new RuntimeModelError60(
51637
51948
  this.model,
51638
51949
  ibiz.i18n.t("runtime.controller.control.expBar.unableMore", {
51639
51950
  xdataControlName: this.model.xdataControlName
@@ -51955,7 +52266,7 @@ import { RuntimeError as RuntimeError52 } from "@ibiz-template/core";
51955
52266
 
51956
52267
  // src/controller/control/form/form/form.controller.ts
51957
52268
  import {
51958
- RuntimeModelError as RuntimeModelError60,
52269
+ RuntimeModelError as RuntimeModelError61,
51959
52270
  debounceAndAsyncMerge,
51960
52271
  recursiveIterate as recursiveIterate6,
51961
52272
  EntityError,
@@ -52201,7 +52512,7 @@ var FormController = class extends ControlController {
52201
52512
  return;
52202
52513
  }
52203
52514
  if (form.details[detail.id]) {
52204
- throw new RuntimeModelError60(
52515
+ throw new RuntimeModelError61(
52205
52516
  detail,
52206
52517
  ibiz.i18n.t(
52207
52518
  "runtime.controller.control.form.initializationException",
@@ -52560,7 +52871,7 @@ import { recursiveIterate as recursiveIterate8 } from "@ibiz-template/core";
52560
52871
 
52561
52872
  // src/controller/control/form/form/form.service.ts
52562
52873
  import { recursiveIterate as recursiveIterate7 } from "@ibiz-template/core";
52563
- import { clone as clone38, isNil as isNil31, isNotNil as isNotNil3 } from "ramda";
52874
+ import { clone as clone38, isNil as isNil31, isNotNil as isNotNil4 } from "ramda";
52564
52875
  var FormService = class extends ControlService {
52565
52876
  constructor() {
52566
52877
  super(...arguments);
@@ -52603,7 +52914,7 @@ var FormService = class extends ControlService {
52603
52914
  if (defaultVal !== void 0) {
52604
52915
  data[name2] = defaultVal;
52605
52916
  }
52606
- if (isNil31(data[name2]) && isNotNil3(defaultData[name2])) {
52917
+ if (isNil31(data[name2]) && isNotNil4(defaultData[name2])) {
52607
52918
  data[name2] = defaultData[name2];
52608
52919
  }
52609
52920
  }
@@ -54885,7 +55196,7 @@ var FormMDCtrlController = class extends FormDetailController {
54885
55196
  import {
54886
55197
  ModelError as ModelError25,
54887
55198
  mergeInLeft as mergeInLeft2,
54888
- RuntimeModelError as RuntimeModelError61
55199
+ RuntimeModelError as RuntimeModelError62
54889
55200
  } from "@ibiz-template/core";
54890
55201
  var FormMDCtrlMDController = class extends FormMDCtrlController {
54891
55202
  constructor() {
@@ -54924,7 +55235,7 @@ var FormMDCtrlMDController = class extends FormMDCtrlController {
54924
55235
  if (((_a3 = this.context) == null ? void 0 : _a3.srfrunmode) === "DESIGN") {
54925
55236
  return;
54926
55237
  }
54927
- throw new RuntimeModelError61(
55238
+ throw new RuntimeModelError62(
54928
55239
  this.model,
54929
55240
  ibiz.i18n.t("runtime.controller.control.form.unconfiguredWidgets")
54930
55241
  );
@@ -55055,7 +55366,7 @@ var FormMDCtrlMDController = class extends FormMDCtrlController {
55055
55366
  };
55056
55367
 
55057
55368
  // src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.ts
55058
- import { RuntimeError as RuntimeError53, RuntimeModelError as RuntimeModelError62 } from "@ibiz-template/core";
55369
+ import { RuntimeError as RuntimeError53, RuntimeModelError as RuntimeModelError63 } from "@ibiz-template/core";
55059
55370
  import { createUUID as createUUID15 } from "qx-util";
55060
55371
 
55061
55372
  // src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.ts
@@ -55100,7 +55411,7 @@ var FormMDCtrlFormController = class extends FormMDCtrlController {
55100
55411
  if (((_a3 = this.context) == null ? void 0 : _a3.srfrunmode) === "DESIGN") {
55101
55412
  return;
55102
55413
  }
55103
- throw new RuntimeModelError62(
55414
+ throw new RuntimeModelError63(
55104
55415
  this.model,
55105
55416
  ibiz.i18n.t("runtime.controller.control.form.unconfiguredWidgets")
55106
55417
  );
@@ -56051,7 +56362,7 @@ import { clone as clone41, isNil as isNil33 } from "ramda";
56051
56362
  // src/controller/control/form/edit-form/edit-form.service.ts
56052
56363
  import {
56053
56364
  recursiveIterate as recursiveIterate10,
56054
- RuntimeModelError as RuntimeModelError63
56365
+ RuntimeModelError as RuntimeModelError64
56055
56366
  } from "@ibiz-template/core";
56056
56367
  var EditFormService = class extends FormService {
56057
56368
  /**
@@ -56175,7 +56486,7 @@ var EditFormService = class extends FormService {
56175
56486
  const wizardForm = this.model;
56176
56487
  const methodName = (_a3 = wizardForm.goBackControlAction) == null ? void 0 : _a3.appDEMethodId;
56177
56488
  if (!methodName) {
56178
- throw new RuntimeModelError63(
56489
+ throw new RuntimeModelError64(
56179
56490
  this.model,
56180
56491
  ibiz.i18n.t("runtime.controller.control.form.lackBehavior")
56181
56492
  );
@@ -57421,7 +57732,7 @@ import {
57421
57732
  awaitTimeout as awaitTimeout2,
57422
57733
  RuntimeError as RuntimeError55,
57423
57734
  recursiveIterate as recursiveIterate11,
57424
- RuntimeModelError as RuntimeModelError65,
57735
+ RuntimeModelError as RuntimeModelError66,
57425
57736
  mergeDefaultInLeft as mergeDefaultInLeft2,
57426
57737
  debounceAndAsyncMerge as debounceAndAsyncMerge2
57427
57738
  } from "@ibiz-template/core";
@@ -57429,7 +57740,7 @@ import { clone as clone43 } from "ramda";
57429
57740
  import dayjs5 from "dayjs";
57430
57741
 
57431
57742
  // src/controller/control/grid/grid/grid.service.ts
57432
- import { RuntimeModelError as RuntimeModelError64 } from "@ibiz-template/core";
57743
+ import { RuntimeModelError as RuntimeModelError65 } from "@ibiz-template/core";
57433
57744
  var GridService = class extends MDControlService {
57434
57745
  /**
57435
57746
  * 初始化属性映射
@@ -57457,7 +57768,7 @@ var GridService = class extends MDControlService {
57457
57768
  dataType: dataItem.dataType
57458
57769
  });
57459
57770
  } else {
57460
- throw new RuntimeModelError64(
57771
+ throw new RuntimeModelError65(
57461
57772
  column,
57462
57773
  ibiz.i18n.t("runtime.controller.control.grid.corresponding", {
57463
57774
  deField
@@ -58353,7 +58664,7 @@ var GridController = class extends MDControlController {
58353
58664
  (item) => item.model.appDEFieldId === groupAppDEFieldId
58354
58665
  );
58355
58666
  if (!this.groupFieldColumn) {
58356
- throw new RuntimeModelError65(
58667
+ throw new RuntimeModelError66(
58357
58668
  this.model,
58358
58669
  ibiz.i18n.t("runtime.controller.control.grid.attributeColumns")
58359
58670
  );
@@ -58364,7 +58675,7 @@ var GridController = class extends MDControlController {
58364
58675
  );
58365
58676
  if (index !== -1 && index !== 0) {
58366
58677
  if (this.isMultistageHeader) {
58367
- throw new RuntimeModelError65(
58678
+ throw new RuntimeModelError66(
58368
58679
  this.model,
58369
58680
  ibiz.i18n.t("runtime.controller.control.grid.configureFirstColumn", {
58370
58681
  groupFieldName
@@ -58376,13 +58687,13 @@ var GridController = class extends MDControlController {
58376
58687
  }
58377
58688
  if (groupMode === "CODELIST") {
58378
58689
  if (!groupCodeListId) {
58379
- throw new RuntimeModelError65(
58690
+ throw new RuntimeModelError66(
58380
58691
  this.model,
58381
58692
  ibiz.i18n.t("runtime.controller.control.grid.requiresCodeTable")
58382
58693
  );
58383
58694
  }
58384
58695
  if (this.groupFieldColumn.model.appCodeListId !== groupCodeListId) {
58385
- throw new RuntimeModelError65(
58696
+ throw new RuntimeModelError66(
58386
58697
  this.model,
58387
58698
  ibiz.i18n.t("runtime.controller.control.grid.noMatchCodeTable", {
58388
58699
  groupFieldName
@@ -58541,7 +58852,7 @@ var GridController = class extends MDControlController {
58541
58852
  return;
58542
58853
  }
58543
58854
  if (!aggAppDEDataSetId || !aggAppDataEntityId) {
58544
- throw new RuntimeModelError65(
58855
+ throw new RuntimeModelError66(
58545
58856
  this.model,
58546
58857
  ibiz.i18n.t("runtime.controller.control.grid.missingConfiguration")
58547
58858
  );
@@ -59588,7 +59899,7 @@ var GridController = class extends MDControlController {
59588
59899
  var _a3;
59589
59900
  const moveAction = (_a3 = this.model.moveControlAction) == null ? void 0 : _a3.appDEMethodId;
59590
59901
  if (!moveAction) {
59591
- throw new RuntimeModelError65(
59902
+ throw new RuntimeModelError66(
59592
59903
  this.model,
59593
59904
  ibiz.i18n.t("runtime.controller.common.md.noMoveDataCconfig")
59594
59905
  );
@@ -60113,7 +60424,7 @@ var GridFieldColumnController = class extends GridColumnController {
60113
60424
  };
60114
60425
 
60115
60426
  // src/controller/control/grid/grid-column/grid-ua-column/grid-ua-column.controller.ts
60116
- import { RuntimeModelError as RuntimeModelError66 } from "@ibiz-template/core";
60427
+ import { RuntimeModelError as RuntimeModelError67 } from "@ibiz-template/core";
60117
60428
  var GridUAColumnController = class extends GridColumnController {
60118
60429
  /**
60119
60430
  * 给rowController初始化操作列的状态
@@ -60126,7 +60437,7 @@ var GridUAColumnController = class extends GridColumnController {
60126
60437
  var _a3;
60127
60438
  const { deuiactionGroup } = this.model;
60128
60439
  if (!deuiactionGroup) {
60129
- throw new RuntimeModelError66(
60440
+ throw new RuntimeModelError67(
60130
60441
  this.model,
60131
60442
  ibiz.i18n.t("runtime.controller.control.grid.behaviorGroup")
60132
60443
  );
@@ -60460,7 +60771,7 @@ import {
60460
60771
  clone as clone46,
60461
60772
  DataTypes as DataTypes7,
60462
60773
  isElementSame as isElementSame4,
60463
- RuntimeModelError as RuntimeModelError67
60774
+ RuntimeModelError as RuntimeModelError68
60464
60775
  } from "@ibiz-template/core";
60465
60776
  import dayjs7 from "dayjs";
60466
60777
 
@@ -61147,13 +61458,13 @@ var ListController = class extends MDControlController {
61147
61458
  await this.updateChangedItems([draggedItem]);
61148
61459
  } else {
61149
61460
  if (!minorSortAppDEFieldId)
61150
- throw new RuntimeModelError67(
61461
+ throw new RuntimeModelError68(
61151
61462
  this.model,
61152
61463
  ibiz.i18n.t("runtime.controller.common.md.sortingProperties")
61153
61464
  );
61154
61465
  const moveAction = moveControlAction == null ? void 0 : moveControlAction.appDEMethodId;
61155
61466
  if (!moveAction)
61156
- throw new RuntimeModelError67(
61467
+ throw new RuntimeModelError68(
61157
61468
  this.model,
61158
61469
  ibiz.i18n.t("runtime.controller.common.md.noMoveDataCconfig")
61159
61470
  );
@@ -62506,7 +62817,7 @@ var TabExpPanelController = class extends ControlController {
62506
62817
  import {
62507
62818
  RuntimeError as RuntimeError58,
62508
62819
  recursiveIterate as recursiveIterate13,
62509
- RuntimeModelError as RuntimeModelError68
62820
+ RuntimeModelError as RuntimeModelError69
62510
62821
  } from "@ibiz-template/core";
62511
62822
  import { isNil as isNil36 } from "ramda";
62512
62823
  import { isBoolean as isBoolean4 } from "qx-util";
@@ -63288,6 +63599,20 @@ var TreeController = class extends MDControlController {
63288
63599
  }
63289
63600
  return ibiz.config.common.searchPhSeparator;
63290
63601
  }
63602
+ /**
63603
+ * @description 是否启用点击导航
63604
+ * @readonly
63605
+ * @type {boolean}
63606
+ * @memberof TreeController
63607
+ */
63608
+ get enableClickNav() {
63609
+ if (!ibiz.env.isMob)
63610
+ return true;
63611
+ if (this.controlParams.enableclicknav) {
63612
+ return this.controlParams.enableclicknav === "true";
63613
+ }
63614
+ return ibiz.config.tree.enableClickNav;
63615
+ }
63291
63616
  initState() {
63292
63617
  super.initState();
63293
63618
  this.state.defaultExpandedKeys = [];
@@ -63296,6 +63621,7 @@ var TreeController = class extends MDControlController {
63296
63621
  this.state.size = 0;
63297
63622
  this.state.query = "";
63298
63623
  this.state.mobExpandedKey = "";
63624
+ this.state.counterData = {};
63299
63625
  }
63300
63626
  async onCreated() {
63301
63627
  await super.onCreated();
@@ -63386,11 +63712,17 @@ var TreeController = class extends MDControlController {
63386
63712
  }
63387
63713
  }
63388
63714
  }
63715
+ /**
63716
+ * @description 生命周期-销毁完成
63717
+ * @protected
63718
+ * @returns {*} {Promise<void>}
63719
+ * @memberof TreeController
63720
+ */
63389
63721
  async onDestroyed() {
63722
+ var _a3, _b2;
63390
63723
  await super.onDestroyed();
63391
- if (this.counter) {
63392
- this.counter.destroy();
63393
- }
63724
+ (_a3 = this.counter) == null ? void 0 : _a3.offChange(this.handleCounterChange);
63725
+ (_b2 = this.counter) == null ? void 0 : _b2.destroy();
63394
63726
  }
63395
63727
  /**
63396
63728
  * 初始化对应类型的部件服务
@@ -63411,6 +63743,8 @@ var TreeController = class extends MDControlController {
63411
63743
  * @return {*} {Promise<void>}
63412
63744
  */
63413
63745
  async initCounter() {
63746
+ var _a3;
63747
+ this.handleCounterChange = this.handleCounterChange.bind(this);
63414
63748
  if (this.state.isCounterDisabled)
63415
63749
  return;
63416
63750
  const { appCounterRefs } = this.model;
@@ -63422,6 +63756,16 @@ var TreeController = class extends MDControlController {
63422
63756
  { ...this.params }
63423
63757
  );
63424
63758
  }
63759
+ (_a3 = this.counter) == null ? void 0 : _a3.onChange(this.handleCounterChange);
63760
+ }
63761
+ /**
63762
+ * @description 处理计数器值变更
63763
+ * @protected
63764
+ * @param {IData} data
63765
+ * @memberof TreeController
63766
+ */
63767
+ handleCounterChange(data) {
63768
+ this.state.counterData = data;
63425
63769
  }
63426
63770
  /**
63427
63771
  * 初始化节点拖入关系处理
@@ -63633,7 +63977,7 @@ var TreeController = class extends MDControlController {
63633
63977
  if (this.state.navigational && !(nodeModel == null ? void 0 : nodeModel.navAppViewId)) {
63634
63978
  return;
63635
63979
  }
63636
- if (!this.state.enableNavView && !this.state.navigational && (nodeModel == null ? void 0 : nodeModel.navAppViewId)) {
63980
+ if (this.enableClickNav && !this.state.enableNavView && !this.state.navigational && (nodeModel == null ? void 0 : nodeModel.navAppViewId)) {
63637
63981
  const resultContext = this.context.clone();
63638
63982
  const resultParams = { ...this.params };
63639
63983
  const navContexts = [...nodeModel.navigateContexts || []];
@@ -63641,7 +63985,7 @@ var TreeController = class extends MDControlController {
63641
63985
  const { tempContext, tempParams } = this.handleNavParams(
63642
63986
  navContexts,
63643
63987
  navParams,
63644
- _nodeData
63988
+ nodeData
63645
63989
  );
63646
63990
  Object.assign(resultContext, tempContext);
63647
63991
  Object.assign(resultParams, tempParams);
@@ -63746,9 +64090,8 @@ var TreeController = class extends MDControlController {
63746
64090
  */
63747
64091
  getNodeData(key) {
63748
64092
  const find = this.state.items.find((item) => item._id === key);
63749
- if (find) {
64093
+ if (find)
63750
64094
  return find;
63751
- }
63752
64095
  return this.state.items.find((item) => item._uuid === key);
63753
64096
  }
63754
64097
  /**
@@ -64027,7 +64370,7 @@ var TreeController = class extends MDControlController {
64027
64370
  const { moveAppDEActionId, appDataEntityId, allowOrder } = orderNodeModel;
64028
64371
  if (allowOrder) {
64029
64372
  if (!moveAppDEActionId) {
64030
- throw new RuntimeModelError68(
64373
+ throw new RuntimeModelError69(
64031
64374
  this.model,
64032
64375
  ibiz.i18n.t("runtime.controller.common.md.noMoveDataCconfig")
64033
64376
  );
@@ -64109,7 +64452,7 @@ var TreeController = class extends MDControlController {
64109
64452
  async modifyNodeText(nodeData, text) {
64110
64453
  const model = this.getNodeModel(nodeData._nodeId);
64111
64454
  if (!model.allowEditText) {
64112
- throw new RuntimeModelError68(
64455
+ throw new RuntimeModelError69(
64113
64456
  model,
64114
64457
  ibiz.i18n.t("runtime.controller.control.tree.editMode")
64115
64458
  );
@@ -64222,7 +64565,7 @@ var TreeController = class extends MDControlController {
64222
64565
  const nodeModel = this.getNodeModel(nodeType);
64223
64566
  const parentNodeData = this.getNodeData(parentKey);
64224
64567
  if (!nodeModel) {
64225
- throw new RuntimeModelError68(
64568
+ throw new RuntimeModelError69(
64226
64569
  this.model,
64227
64570
  ibiz.i18n.t("runtime.controller.control.tree.noFoundTreeNode")
64228
64571
  );
@@ -64354,7 +64697,7 @@ var TreeController = class extends MDControlController {
64354
64697
  }
64355
64698
  ));
64356
64699
  if (result === -1)
64357
- throw new RuntimeModelError68(
64700
+ throw new RuntimeModelError69(
64358
64701
  nodeModel,
64359
64702
  ibiz.i18n.t("runtime.controller.common.md.logicOpendata", {
64360
64703
  itemType: nodeModel.id.toLowerCase()
@@ -64393,7 +64736,7 @@ var TreeController = class extends MDControlController {
64393
64736
  }
64394
64737
  ));
64395
64738
  if (result === -1)
64396
- throw new RuntimeModelError68(
64739
+ throw new RuntimeModelError69(
64397
64740
  nodeModel,
64398
64741
  ibiz.i18n.t("runtime.controller.common.md.logicNewdata", {
64399
64742
  itemType: nodeModel.id.toLowerCase()
@@ -64928,8 +65271,9 @@ var WizardPanelController = class extends ControlController {
64928
65271
  };
64929
65272
 
64930
65273
  // src/controller/control/md-ctrl/md-ctrl.controller.ts
64931
- import { RuntimeModelError as RuntimeModelError69 } from "@ibiz-template/core";
64932
- import { isNil as isNil37 } from "ramda";
65274
+ import { RuntimeModelError as RuntimeModelError70 } from "@ibiz-template/core";
65275
+ import { isNil as isNil37, isNotNil as isNotNil5 } from "ramda";
65276
+ import { createUUID as createUUID19 } from "qx-util";
64933
65277
 
64934
65278
  // src/controller/control/md-ctrl/md-ctrl.service.ts
64935
65279
  var MDCtrlService = class extends MDControlService {
@@ -64987,12 +65331,64 @@ var MobMDCtrlRowState = class {
64987
65331
 
64988
65332
  // src/controller/control/md-ctrl/md-ctrl.controller.ts
64989
65333
  var MDCtrlController = class extends MDControlController {
65334
+ /**
65335
+ * @description 启用分组
65336
+ * @readonly
65337
+ * @type {boolean}
65338
+ * @memberof MDCtrlController
65339
+ */
65340
+ get enableGroup() {
65341
+ return this.model.groupMode !== "NONE";
65342
+ }
65343
+ /**
65344
+ * 允许新建
65345
+ *
65346
+ * @readonly
65347
+ * @type {boolean}
65348
+ * @memberof MDCtrlController
65349
+ */
65350
+ get enableNew() {
65351
+ return this.model.enableRowNew === true;
65352
+ }
65353
+ /**
65354
+ * @description 分组时是否显示分组锚点导航
65355
+ * @readonly
65356
+ * @type {boolean}
65357
+ * @memberof MDCtrlController
65358
+ */
65359
+ get showGroupAnchor() {
65360
+ return this.enableGroup && this.controlParams.showgroupanchor === "true";
65361
+ }
64990
65362
  initState() {
64991
65363
  super.initState();
64992
65364
  this.state.rows = [];
64993
65365
  this.state.noSort = this.model.noSort === true;
64994
65366
  this.state.singleSelect = this.model.singleSelect === true;
64995
65367
  this.state.mdctrlActiveMode = 1;
65368
+ this.state.size = this.model.pagingSize || 20;
65369
+ this.initSortDelistItems();
65370
+ }
65371
+ /**
65372
+ * @description 初始化排序配置项集合
65373
+ * @protected
65374
+ * @memberof MDCtrlController
65375
+ */
65376
+ initSortDelistItems() {
65377
+ var _a3;
65378
+ const sortDelistItems = [];
65379
+ (_a3 = this.model.delistItems) == null ? void 0 : _a3.forEach((item) => {
65380
+ var _a4, _b2;
65381
+ if (item.enableSort) {
65382
+ sortDelistItems.push({
65383
+ value: item.id,
65384
+ label: ibiz.i18n.t(
65385
+ ((_a4 = item == null ? void 0 : item.capLanguageRes) == null ? void 0 : _a4.lanResTag) || "",
65386
+ item.caption || ((_b2 = item == null ? void 0 : item.capLanguageRes) == null ? void 0 : _b2.defaultContent)
65387
+ )
65388
+ });
65389
+ }
65390
+ });
65391
+ this.state.sortDelistItems = sortDelistItems;
64996
65392
  }
64997
65393
  async onCreated() {
64998
65394
  await super.onCreated();
@@ -65008,7 +65404,7 @@ var MDCtrlController = class extends MDControlController {
65008
65404
  */
65009
65405
  async loadMore() {
65010
65406
  if (this.state.total > this.state.items.length && !this.state.isLoading) {
65011
- await this.load({ isLoadMore: true, silent: true });
65407
+ await this.load({ isLoadMore: true });
65012
65408
  }
65013
65409
  }
65014
65410
  /**
@@ -65156,7 +65552,7 @@ var MDCtrlController = class extends MDControlController {
65156
65552
  const { enableGroup, groupMode, groupAppDEFieldId } = this.model;
65157
65553
  if (enableGroup && groupMode) {
65158
65554
  if (!groupAppDEFieldId) {
65159
- throw new RuntimeModelError69(
65555
+ throw new RuntimeModelError70(
65160
65556
  this.model,
65161
65557
  ibiz.i18n.t(
65162
65558
  "runtime.controller.control.dataView.propertiesNoConfigured"
@@ -65189,9 +65585,17 @@ var MDCtrlController = class extends MDControlController {
65189
65585
  if (groupAppDEFieldId) {
65190
65586
  const { items } = this.state;
65191
65587
  const groupMap = /* @__PURE__ */ new Map();
65588
+ const unclassified = {
65589
+ key: createUUID19(),
65590
+ caption: ibiz.i18n.t("runtime.controller.common.md.unclassified"),
65591
+ children: []
65592
+ };
65192
65593
  items.forEach((item) => {
65193
65594
  const groupVal = item[groupAppDEFieldId];
65194
65595
  if (isNil37(groupVal)) {
65596
+ unclassified.children.push(
65597
+ new MobMDCtrlRowState(item, this)
65598
+ );
65195
65599
  return;
65196
65600
  }
65197
65601
  if (!groupMap.has(groupVal)) {
@@ -65208,6 +65612,8 @@ var MDCtrlController = class extends MDControlController {
65208
65612
  children: [...value]
65209
65613
  });
65210
65614
  });
65615
+ if (unclassified.children.length)
65616
+ groups.push(unclassified);
65211
65617
  this.state.groups = groups;
65212
65618
  }
65213
65619
  }
@@ -65238,13 +65644,18 @@ var MDCtrlController = class extends MDControlController {
65238
65644
  async handleCodeListGroup() {
65239
65645
  const { groupAppDEFieldId, groupCodeListId } = this.model;
65240
65646
  if (!groupCodeListId) {
65241
- throw new RuntimeModelError69(
65647
+ throw new RuntimeModelError70(
65242
65648
  this.model,
65243
65649
  ibiz.i18n.t("runtime.controller.control.dataView.tableNoConfigured")
65244
65650
  );
65245
65651
  }
65246
65652
  const { items } = this.state;
65247
65653
  const groupMap = /* @__PURE__ */ new Map();
65654
+ const unclassified = {
65655
+ key: createUUID19(),
65656
+ caption: ibiz.i18n.t("runtime.controller.common.md.unclassified"),
65657
+ children: []
65658
+ };
65248
65659
  this.groupCodeListItems.forEach((item) => {
65249
65660
  groupMap.set(item.value, []);
65250
65661
  });
@@ -65253,6 +65664,10 @@ var MDCtrlController = class extends MDControlController {
65253
65664
  const groupArr = groupMap.get(groupVal);
65254
65665
  if (groupArr) {
65255
65666
  groupArr.push(new MobMDCtrlRowState(item, this));
65667
+ } else {
65668
+ unclassified.children.push(
65669
+ new MobMDCtrlRowState(item, this)
65670
+ );
65256
65671
  }
65257
65672
  });
65258
65673
  const groups = [];
@@ -65266,6 +65681,8 @@ var MDCtrlController = class extends MDControlController {
65266
65681
  children: arr
65267
65682
  });
65268
65683
  });
65684
+ if (unclassified.children.length)
65685
+ groups.push(unclassified);
65269
65686
  this.state.groups = groups;
65270
65687
  }
65271
65688
  changeCollapse(params = {}) {
@@ -65292,6 +65709,43 @@ var MDCtrlController = class extends MDControlController {
65292
65709
  scrollToTop() {
65293
65710
  throw new Error("Method not implemented.");
65294
65711
  }
65712
+ /**
65713
+ * @description 获取部件默认排序模型
65714
+ * @returns {*} {({
65715
+ * minorSortAppDEFieldId: string | undefined;
65716
+ * minorSortDir: string | undefined;
65717
+ * })}
65718
+ * @memberof MDCtrlController
65719
+ */
65720
+ getSortModel() {
65721
+ return {
65722
+ minorSortAppDEFieldId: this.model.minorSortAppDEFieldId,
65723
+ minorSortDir: this.model.minorSortDir
65724
+ };
65725
+ }
65726
+ /**
65727
+ * 新增按钮点击
65728
+ *
65729
+ * @memberof MDCtrlController
65730
+ */
65731
+ onClickNew(event, group) {
65732
+ const params = { ...this.params };
65733
+ if (isNotNil5(group)) {
65734
+ Object.assign(params, { srfgroup: group });
65735
+ }
65736
+ UIActionUtil.execAndResolved(
65737
+ "new",
65738
+ {
65739
+ context: this.context,
65740
+ params,
65741
+ data: [],
65742
+ view: this.view,
65743
+ ctrl: this,
65744
+ event
65745
+ },
65746
+ this.view.model.appId
65747
+ );
65748
+ }
65295
65749
  };
65296
65750
 
65297
65751
  // src/controller/control/kanban/kanban.controller.ts
@@ -65299,7 +65753,7 @@ import {
65299
65753
  clone as clone47,
65300
65754
  RuntimeError as RuntimeError60,
65301
65755
  isElementSame as isElementSame5,
65302
- RuntimeModelError as RuntimeModelError70
65756
+ RuntimeModelError as RuntimeModelError71
65303
65757
  } from "@ibiz-template/core";
65304
65758
 
65305
65759
  // src/controller/control/kanban/kanban.service.ts
@@ -65584,7 +66038,7 @@ var KanbanController = class extends DataViewControlController {
65584
66038
  async handleCodeListGroup() {
65585
66039
  const { groupAppDEFieldId, groupCodeListId } = this.model;
65586
66040
  if (!groupCodeListId) {
65587
- throw new RuntimeModelError70(
66041
+ throw new RuntimeModelError71(
65588
66042
  this.model,
65589
66043
  ibiz.i18n.t("runtime.controller.control.dataView.tableNoConfigured")
65590
66044
  );
@@ -65648,13 +66102,13 @@ var KanbanController = class extends DataViewControlController {
65648
66102
  await this.updateChangedItems([draggedItem]);
65649
66103
  } else {
65650
66104
  if (!minorSortAppDEFieldId)
65651
- throw new RuntimeModelError70(
66105
+ throw new RuntimeModelError71(
65652
66106
  this.model,
65653
66107
  ibiz.i18n.t("runtime.controller.common.md.sortingProperties")
65654
66108
  );
65655
66109
  const moveAction = moveControlAction == null ? void 0 : moveControlAction.appDEMethodId;
65656
66110
  if (!moveAction)
65657
- throw new RuntimeModelError70(
66111
+ throw new RuntimeModelError71(
65658
66112
  this.model,
65659
66113
  ibiz.i18n.t("runtime.controller.common.md.noMoveDataCconfig")
65660
66114
  );
@@ -65855,7 +66309,7 @@ import {
65855
66309
  RuntimeError as RuntimeError61,
65856
66310
  awaitTimeout as awaitTimeout3,
65857
66311
  recursiveIterate as recursiveIterate14,
65858
- RuntimeModelError as RuntimeModelError71
66312
+ RuntimeModelError as RuntimeModelError72
65859
66313
  } from "@ibiz-template/core";
65860
66314
  import { clone as clone48 } from "ramda";
65861
66315
 
@@ -66240,7 +66694,7 @@ var TreeGridExController = class extends TreeController {
66240
66694
  );
66241
66695
  }
66242
66696
  if (!updateAppDEActionId) {
66243
- throw new RuntimeModelError71(
66697
+ throw new RuntimeModelError72(
66244
66698
  nodeModel,
66245
66699
  ibiz.i18n.t("runtime.controller.control.treeGridEx.updateBehavior")
66246
66700
  );
@@ -66566,7 +67020,7 @@ var TreeGridExColumnController = class {
66566
67020
  import {
66567
67021
  DataTypes as DataTypes8,
66568
67022
  RuntimeError as RuntimeError62,
66569
- RuntimeModelError as RuntimeModelError72
67023
+ RuntimeModelError as RuntimeModelError73
66570
67024
  } from "@ibiz-template/core";
66571
67025
  import { clone as clone49 } from "ramda";
66572
67026
  import dayjs8 from "dayjs";
@@ -66597,7 +67051,7 @@ var TreeGridExNodeColumnController = class {
66597
67051
  }
66598
67052
  );
66599
67053
  if (!nodeColumn || !nodeDataItem) {
66600
- throw new RuntimeModelError72(
67054
+ throw new RuntimeModelError73(
66601
67055
  nodeModel,
66602
67056
  ibiz.i18n.t("runtime.controller.control.treeGridEx.noConfigured", {
66603
67057
  name: this.fieldColumn.name
@@ -66613,7 +67067,7 @@ var TreeGridExNodeColumnController = class {
66613
67067
  }
66614
67068
  );
66615
67069
  if (!nodeEditItem) {
66616
- throw new RuntimeModelError72(
67070
+ throw new RuntimeModelError73(
66617
67071
  nodeModel,
66618
67072
  ibiz.i18n.t("runtime.controller.control.treeGridEx.editItem", {
66619
67073
  name: this.fieldColumn.name
@@ -67122,8 +67576,8 @@ var TreeGridExUAColumnController = class extends TreeGridExColumnController {
67122
67576
  };
67123
67577
 
67124
67578
  // src/controller/control/tree-grid/tree-grid.controller.ts
67125
- import { RuntimeModelError as RuntimeModelError73 } from "@ibiz-template/core";
67126
- import { createUUID as createUUID19 } from "qx-util";
67579
+ import { RuntimeModelError as RuntimeModelError74 } from "@ibiz-template/core";
67580
+ import { createUUID as createUUID20 } from "qx-util";
67127
67581
  var TreeGridController = class extends GridController {
67128
67582
  constructor() {
67129
67583
  super(...arguments);
@@ -67167,7 +67621,7 @@ var TreeGridController = class extends GridController {
67167
67621
  return item.treeColumnMode === 4 || item.treeColumnMode === 12;
67168
67622
  });
67169
67623
  if (!treeGridParent)
67170
- throw new RuntimeModelError73(
67624
+ throw new RuntimeModelError74(
67171
67625
  this.model,
67172
67626
  ibiz.i18n.t("runtime.controller.control.treeGrid.columnMode")
67173
67627
  );
@@ -67175,7 +67629,7 @@ var TreeGridController = class extends GridController {
67175
67629
  return item.treeColumnMode === 2 || item.treeColumnMode === 3;
67176
67630
  });
67177
67631
  if (!treeGridValue)
67178
- throw new RuntimeModelError73(
67632
+ throw new RuntimeModelError74(
67179
67633
  this.model,
67180
67634
  ibiz.i18n.t("runtime.controller.control.treeGrid.columnsSchema")
67181
67635
  );
@@ -67194,7 +67648,7 @@ var TreeGridController = class extends GridController {
67194
67648
  this.state.expandRowKeys = this.state.expandRowKeys.filter(
67195
67649
  (key) => this.state.items.some((item) => item.srfkey === key)
67196
67650
  );
67197
- this.state.tableKey = createUUID19();
67651
+ this.state.tableKey = createUUID20();
67198
67652
  }
67199
67653
  async afterLoad(args, items) {
67200
67654
  this.calcTreeGridData(this.state.items);
@@ -67272,7 +67726,7 @@ var TreeGridService = class extends GridService {
67272
67726
 
67273
67727
  // src/controller/control/medit-view-panel/medit-view-panel.controller.ts
67274
67728
  import { RuntimeError as RuntimeError63 } from "@ibiz-template/core";
67275
- import { createUUID as createUUID20 } from "qx-util";
67729
+ import { createUUID as createUUID21 } from "qx-util";
67276
67730
 
67277
67731
  // src/controller/control/medit-view-panel/medit-view-panel.service.ts
67278
67732
  var MEditViewPanelService = class extends MDControlService {
@@ -67365,7 +67819,7 @@ var MEditViewPanelController = class extends MDControlController {
67365
67819
  */
67366
67820
  handlePanelItemParams(arg) {
67367
67821
  const [{ parameterName }] = this.parameters;
67368
- const id = arg[parameterName] ? arg[parameterName] : "mockId:".concat(createUUID20());
67822
+ const id = arg[parameterName] ? arg[parameterName] : "mockId:".concat(createUUID21());
67369
67823
  const item = {
67370
67824
  id,
67371
67825
  context: this.context.clone(),
@@ -72380,7 +72834,7 @@ var ThemeUtil = class {
72380
72834
  };
72381
72835
 
72382
72836
  // src/utils/ui-domain/ui-domain.ts
72383
- import { QXEvent as QXEvent9, createUUID as createUUID21 } from "qx-util";
72837
+ import { QXEvent as QXEvent9, createUUID as createUUID22 } from "qx-util";
72384
72838
 
72385
72839
  // src/utils/ui-domain/transaction.ts
72386
72840
  var Transaction = class {
@@ -72531,7 +72985,7 @@ var UIDomain = class {
72531
72985
  if (id) {
72532
72986
  this.id = id;
72533
72987
  } else {
72534
- this.id = createUUID21();
72988
+ this.id = createUUID22();
72535
72989
  }
72536
72990
  this.appDataEntityId = appDataEntityId;
72537
72991
  }
@@ -75461,6 +75915,7 @@ var BIReportUtil = class {
75461
75915
  */
75462
75916
  async translateDataToAppBIReport(arg) {
75463
75917
  const {
75918
+ context,
75464
75919
  reportTag,
75465
75920
  selectChartType,
75466
75921
  selectCubeId,
@@ -75469,7 +75924,7 @@ var BIReportUtil = class {
75469
75924
  style,
75470
75925
  extend
75471
75926
  } = arg;
75472
- const app = ibiz.hub.getApp(ibiz.env.appId);
75927
+ const app = ibiz.hub.getApp(context.srfappid);
75473
75928
  const tempUIReportModel = {
75474
75929
  selectChartType,
75475
75930
  style
@@ -75619,7 +76074,7 @@ var BIReportUtil = class {
75619
76074
 
75620
76075
  // src/utils/record-nav-util/record-nav-util.ts
75621
76076
  import { RuntimeError as RuntimeError67 } from "@ibiz-template/core";
75622
- import { createUUID as createUUID22 } from "qx-util";
76077
+ import { createUUID as createUUID23 } from "qx-util";
75623
76078
  var RecordNavUtil = class {
75624
76079
  constructor() {
75625
76080
  /**
@@ -75662,7 +76117,7 @@ var RecordNavUtil = class {
75662
76117
  * @param {IData} tempContext
75663
76118
  */
75664
76119
  addTriggerLogic(viewId, data, tempContext) {
75665
- const triggerLogicId = "".concat(viewId, ":").concat(createUUID22());
76120
+ const triggerLogicId = "".concat(viewId, ":").concat(createUUID23());
75666
76121
  this.triggerLogicMap.set(triggerLogicId, data);
75667
76122
  tempContext.srfnavlogicid = triggerLogicId;
75668
76123
  }
@@ -83931,7 +84386,7 @@ var ViewEngineBase = class {
83931
84386
  };
83932
84387
 
83933
84388
  // src/engine/md-view.engine.ts
83934
- import { RuntimeModelError as RuntimeModelError74 } from "@ibiz-template/core";
84389
+ import { RuntimeModelError as RuntimeModelError75 } from "@ibiz-template/core";
83935
84390
  import { clone as clone60 } from "ramda";
83936
84391
  var MDViewEngine = class extends ViewEngineBase {
83937
84392
  /**
@@ -84183,7 +84638,7 @@ var MDViewEngine = class extends ViewEngineBase {
84183
84638
  view: this.view
84184
84639
  }));
84185
84640
  if (result === -1) {
84186
- throw new RuntimeModelError74(
84641
+ throw new RuntimeModelError75(
84187
84642
  this.view.model,
84188
84643
  ibiz.i18n.t("runtime.engine.logicOpendata")
84189
84644
  );
@@ -84215,7 +84670,7 @@ var MDViewEngine = class extends ViewEngineBase {
84215
84670
  (item) => item.id === "newdata"
84216
84671
  );
84217
84672
  if (!openAppViewLogic) {
84218
- throw new RuntimeModelError74(
84673
+ throw new RuntimeModelError75(
84219
84674
  this.view.model,
84220
84675
  ibiz.i18n.t("runtime.engine.logicNewdata")
84221
84676
  );
@@ -84235,7 +84690,7 @@ var MDViewEngine = class extends ViewEngineBase {
84235
84690
  view: this.view
84236
84691
  }));
84237
84692
  if (result === -1) {
84238
- throw new RuntimeModelError74(
84693
+ throw new RuntimeModelError75(
84239
84694
  this.view.model,
84240
84695
  ibiz.i18n.t("runtime.engine.logicNewdata")
84241
84696
  );
@@ -85250,13 +85705,13 @@ var ScriptExecutor = class extends LogicExecutor {
85250
85705
  };
85251
85706
 
85252
85707
  // src/logic-scheduler/executor/app-de-ui-logic-executor.ts
85253
- import { RuntimeModelError as RuntimeModelError75 } from "@ibiz-template/core";
85708
+ import { RuntimeModelError as RuntimeModelError76 } from "@ibiz-template/core";
85254
85709
  var AppDEUILogicExecutor = class extends LogicExecutor {
85255
85710
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
85256
85711
  execute(executeParams) {
85257
85712
  const { appDEUILogicId, appDataEntityId } = this.logic;
85258
85713
  if (!appDEUILogicId) {
85259
- throw new RuntimeModelError75(
85714
+ throw new RuntimeModelError76(
85260
85715
  this.logic,
85261
85716
  ibiz.i18n.t("runtime.logicScheduler.executor.noConfiguredLogic")
85262
85717
  );
@@ -85747,7 +86202,7 @@ var ItemDynaLogicTrigger = class extends LogicTrigger {
85747
86202
  };
85748
86203
 
85749
86204
  // src/logic-scheduler/trigger/timer-trigger.ts
85750
- import { RuntimeError as RuntimeError78, RuntimeModelError as RuntimeModelError76 } from "@ibiz-template/core";
86205
+ import { RuntimeError as RuntimeError78, RuntimeModelError as RuntimeModelError77 } from "@ibiz-template/core";
85751
86206
  var TimerTrigger = class extends LogicTrigger {
85752
86207
  constructor() {
85753
86208
  super(...arguments);
@@ -85755,7 +86210,7 @@ var TimerTrigger = class extends LogicTrigger {
85755
86210
  }
85756
86211
  start() {
85757
86212
  if (!this.logic.timer) {
85758
- throw new RuntimeModelError76(
86213
+ throw new RuntimeModelError77(
85759
86214
  this.logic,
85760
86215
  ibiz.i18n.t("runtime.logicScheduler.trigger.timerLacks")
85761
86216
  );
@@ -85795,7 +86250,7 @@ var TimerTrigger = class extends LogicTrigger {
85795
86250
  import {
85796
86251
  ModelError as ModelError34,
85797
86252
  RuntimeError as RuntimeError79,
85798
- RuntimeModelError as RuntimeModelError77
86253
+ RuntimeModelError as RuntimeModelError78
85799
86254
  } from "@ibiz-template/core";
85800
86255
  import { notNilEmpty as notNilEmpty11 } from "qx-util";
85801
86256
  var AppUILogicExecutor = class extends LogicExecutor {
@@ -85843,7 +86298,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
85843
86298
  } else {
85844
86299
  openViewRef = appUILogic.openDataAppView;
85845
86300
  if (!openViewRef) {
85846
- throw new RuntimeModelError77(
86301
+ throw new RuntimeModelError78(
85847
86302
  appUILogic,
85848
86303
  ibiz.i18n.t(
85849
86304
  "runtime.logicScheduler.executor.defaultOpendataViewLogic"
@@ -85853,7 +86308,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
85853
86308
  }
85854
86309
  const openView = openViewRef.refAppViewId;
85855
86310
  if (!openView) {
85856
- throw new RuntimeModelError77(
86311
+ throw new RuntimeModelError78(
85857
86312
  appUILogic,
85858
86313
  ibiz.i18n.t("runtime.logicScheduler.executor.noActuallyReference")
85859
86314
  );
@@ -85891,7 +86346,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
85891
86346
  );
85892
86347
  const typeFileName = appDataEntity.formTypeAppDEFieldId || appDataEntity.dataTypeAppDEFieldId;
85893
86348
  if (!typeFileName) {
85894
- throw new RuntimeModelError77(
86349
+ throw new RuntimeModelError78(
85895
86350
  appUILogic,
85896
86351
  ibiz.i18n.t("runtime.logicScheduler.executor.attributeConfiguration", {
85897
86352
  codeName: appDataEntity.codeName
@@ -85901,7 +86356,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
85901
86356
  const { data } = parameters;
85902
86357
  const formTypeValue = data[0][typeFileName];
85903
86358
  if (!formTypeValue) {
85904
- throw new RuntimeModelError77(
86359
+ throw new RuntimeModelError78(
85905
86360
  appUILogic,
85906
86361
  ibiz.i18n.t("runtime.logicScheduler.executor.entityAttributeValues")
85907
86362
  );
@@ -85948,7 +86403,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
85948
86403
  return viewRef.refMode.toLowerCase() !== parentDeName;
85949
86404
  });
85950
86405
  if (!newViewRef) {
85951
- throw new RuntimeModelError77(
86406
+ throw new RuntimeModelError78(
85952
86407
  appUILogic,
85953
86408
  ibiz.i18n.t("runtime.logicScheduler.executor.selectionView")
85954
86409
  );
@@ -85961,7 +86416,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
85961
86416
  } else {
85962
86417
  newViewRef = newDataAppView;
85963
86418
  if (!newViewRef || !newViewRef.refAppViewId) {
85964
- throw new RuntimeModelError77(
86419
+ throw new RuntimeModelError78(
85965
86420
  appUILogic,
85966
86421
  ibiz.i18n.t("runtime.logicScheduler.executor.newdataViewLogic")
85967
86422
  );
@@ -86034,7 +86489,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
86034
86489
  const { context, params, ...rest } = parameters;
86035
86490
  const { view } = parameters;
86036
86491
  if (!wizardAppView || !wizardAppView.refAppViewId) {
86037
- throw new RuntimeModelError77(
86492
+ throw new RuntimeModelError78(
86038
86493
  appUILogic,
86039
86494
  ibiz.i18n.t("runtime.logicScheduler.executor.indexEntity")
86040
86495
  );
@@ -86092,7 +86547,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
86092
86547
  const minorDERs = selfDe.minorAppDERSs;
86093
86548
  const pickParentDeName = newViewRef.refMode.toLowerCase();
86094
86549
  if (!minorDERs) {
86095
- throw new RuntimeModelError77(
86550
+ throw new RuntimeModelError78(
86096
86551
  selfDe,
86097
86552
  ibiz.i18n.t("runtime.logicScheduler.executor.relationships")
86098
86553
  );
@@ -86203,12 +86658,12 @@ var ControlEventTrigger = class extends LogicTrigger {
86203
86658
  };
86204
86659
 
86205
86660
  // src/logic-scheduler/executor/app-ui-action-executor.ts
86206
- import { RuntimeModelError as RuntimeModelError78 } from "@ibiz-template/core";
86661
+ import { RuntimeModelError as RuntimeModelError79 } from "@ibiz-template/core";
86207
86662
  var AppDEUIActionExecutor = class extends LogicExecutor {
86208
86663
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
86209
86664
  execute(executeParams) {
86210
86665
  if (!this.logic.appDEUIActionId) {
86211
- throw new RuntimeModelError78(
86666
+ throw new RuntimeModelError79(
86212
86667
  this.logic,
86213
86668
  ibiz.i18n.t("runtime.logicScheduler.executor.missingTrigger")
86214
86669
  );
@@ -86710,7 +87165,8 @@ var en = {
86710
87165
  noSetStartNode: "No start node set",
86711
87166
  startExecuting: "Start executing entity logic, logic identifier: {id} - logic name: {name}",
86712
87167
  endExecution: "End execution entity logic, logic identifier: {id} - logic name: {name}",
86713
- noFoundEntityLogic: "{dataEntityId} entity logic not found {deDELogicId}"
87168
+ noFoundEntityLogic: "{dataEntityId} entity logic not found {deDELogicId}",
87169
+ logicalNodeOperation: "Logical node {name} operation parameter value:"
86714
87170
  }
86715
87171
  },
86716
87172
  engine: {
@@ -87367,7 +87823,8 @@ var zhCn = {
87367
87823
  noSetStartNode: "\u672A\u8BBE\u7F6E\u8D77\u59CB\u8282\u70B9",
87368
87824
  startExecuting: "\u5F00\u59CB\u6267\u884C\u5B9E\u4F53\u903B\u8F91\uFF0C\u903B\u8F91\u6807\u8BC6\uFF1A{id}-\u903B\u8F91\u540D\u79F0\uFF1A{name}",
87369
87825
  endExecution: "\u7ED3\u675F\u6267\u884C\u5B9E\u4F53\u903B\u8F91\uFF0C\u903B\u8F91\u6807\u8BC6\uFF1A{id}-\u903B\u8F91\u540D\u79F0\uFF1A{name}",
87370
- noFoundEntityLogic: "{dataEntityId}\u627E\u4E0D\u5230\u5B9E\u4F53\u903B\u8F91{deDELogicId}"
87826
+ noFoundEntityLogic: "{dataEntityId}\u627E\u4E0D\u5230\u5B9E\u4F53\u903B\u8F91{deDELogicId}",
87827
+ logicalNodeOperation: "\u903B\u8F91\u8282\u70B9{name}\u64CD\u4F5C\u53C2\u6570\u503C:"
87371
87828
  }
87372
87829
  },
87373
87830
  engine: {
@@ -88043,6 +88500,8 @@ export {
88043
88500
  convertNavDataByArray,
88044
88501
  convertObjectToNavParams,
88045
88502
  createImportSchema,
88503
+ deepDeleteSubAppId,
88504
+ deepFillSubAppId,
88046
88505
  deleteImportSchema,
88047
88506
  downloadImportTemplate,
88048
88507
  en,