@ibiz-template/runtime 0.4.17-dev.0 → 0.4.17-dev.1

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 (112) hide show
  1. package/dist/index.esm.js +696 -267
  2. package/dist/index.system.min.js +2 -2
  3. package/out/controller/control/grid/grid/grid-column.controller.d.ts +2 -1
  4. package/out/controller/control/grid/grid/grid-column.controller.d.ts.map +1 -1
  5. package/out/controller/control/grid/grid/grid.controller.d.ts +17 -1
  6. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  7. package/out/controller/control/grid/grid/grid.controller.js +32 -0
  8. package/out/controller/control/search-bar/search-bar.controller.d.ts +59 -2
  9. package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
  10. package/out/controller/control/search-bar/search-bar.controller.js +142 -9
  11. package/out/controller/control/search-bar/search-bar.service.d.ts +78 -0
  12. package/out/controller/control/search-bar/search-bar.service.d.ts.map +1 -0
  13. package/out/controller/control/search-bar/search-bar.service.js +130 -0
  14. package/out/controller/control/tree/tree.controller.d.ts +27 -1
  15. package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
  16. package/out/controller/control/tree/tree.controller.js +45 -7
  17. package/out/controller/control/tree/tree.service.d.ts +1 -1
  18. package/out/controller/control/tree/tree.service.d.ts.map +1 -1
  19. package/out/controller/control/tree-grid-ex/index.d.ts +2 -0
  20. package/out/controller/control/tree-grid-ex/index.d.ts.map +1 -1
  21. package/out/controller/control/tree-grid-ex/index.js +2 -0
  22. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.d.ts +4 -0
  23. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.d.ts.map +1 -0
  24. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.js +3 -0
  25. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.d.ts +93 -0
  26. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.d.ts.map +1 -0
  27. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.js +89 -0
  28. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.d.ts +13 -0
  29. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.d.ts.map +1 -0
  30. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.js +11 -0
  31. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.d.ts +31 -0
  32. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.d.ts.map +1 -0
  33. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.js +61 -0
  34. package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.d.ts +26 -0
  35. package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.d.ts.map +1 -0
  36. package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.js +26 -0
  37. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts +48 -46
  38. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts.map +1 -1
  39. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.js +85 -115
  40. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts +8 -58
  41. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts.map +1 -1
  42. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.js +5 -135
  43. package/out/interface/controller/controller/control/i-grid.controller.d.ts +8 -0
  44. package/out/interface/controller/controller/control/i-grid.controller.d.ts.map +1 -1
  45. package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts +7 -7
  46. package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts.map +1 -1
  47. package/out/interface/controller/controller/control/i-tree.controller.d.ts +1 -1
  48. package/out/interface/controller/controller/control/i-tree.controller.d.ts.map +1 -1
  49. package/out/interface/controller/controller/control/index.d.ts +1 -0
  50. package/out/interface/controller/controller/control/index.d.ts.map +1 -1
  51. package/out/interface/controller/controller/control/index.js +1 -0
  52. package/out/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.d.ts +12 -0
  53. package/out/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.d.ts.map +1 -0
  54. package/out/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.js +1 -0
  55. package/out/interface/controller/controller/control/tree-grid-ex-column/index.d.ts +2 -0
  56. package/out/interface/controller/controller/control/tree-grid-ex-column/index.d.ts.map +1 -0
  57. package/out/interface/controller/controller/control/tree-grid-ex-column/index.js +1 -0
  58. package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts +2 -2
  59. package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts.map +1 -1
  60. package/out/interface/controller/state/control/i-search-bar.state.d.ts +64 -0
  61. package/out/interface/controller/state/control/i-search-bar.state.d.ts.map +1 -1
  62. package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts +31 -23
  63. package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts.map +1 -1
  64. package/out/interface/controller/state/control/i-tree.state.d.ts +8 -1
  65. package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
  66. package/out/interface/provider/i-tree-grid-ex-column.provider.d.ts +31 -0
  67. package/out/interface/provider/i-tree-grid-ex-column.provider.d.ts.map +1 -0
  68. package/out/interface/provider/i-tree-grid-ex-column.provider.js +1 -0
  69. package/out/interface/provider/index.d.ts +1 -0
  70. package/out/interface/provider/index.d.ts.map +1 -1
  71. package/out/register/helper/index.d.ts +1 -0
  72. package/out/register/helper/index.d.ts.map +1 -1
  73. package/out/register/helper/index.js +1 -0
  74. package/out/register/helper/tree-grid-ex-column-register.d.ts +23 -0
  75. package/out/register/helper/tree-grid-ex-column-register.d.ts.map +1 -0
  76. package/out/register/helper/tree-grid-ex-column-register.js +50 -0
  77. package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts.map +1 -1
  78. package/out/service/vo/tree-node-data/tree-data-set-node-data.js +51 -0
  79. package/out/service/vo/tree-node-data/tree-node-data.d.ts +2 -0
  80. package/out/service/vo/tree-node-data/tree-node-data.d.ts.map +1 -1
  81. package/out/service/vo/tree-node-data/tree-node-data.js +1 -0
  82. package/package.json +3 -3
  83. package/src/controller/control/grid/grid/grid-column.controller.ts +4 -1
  84. package/src/controller/control/grid/grid/grid.controller.ts +34 -0
  85. package/src/controller/control/search-bar/search-bar.controller.ts +178 -10
  86. package/src/controller/control/search-bar/search-bar.service.ts +161 -0
  87. package/src/controller/control/tree/tree.controller.ts +58 -11
  88. package/src/controller/control/tree/tree.service.ts +3 -1
  89. package/src/controller/control/tree-grid-ex/index.ts +2 -0
  90. package/src/controller/control/tree-grid-ex/tree-grid-ex-column/index.ts +3 -0
  91. package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.ts +121 -0
  92. package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.ts +13 -0
  93. package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.ts +76 -0
  94. package/src/controller/control/tree-grid-ex/tree-grid-ex-row.state.ts +37 -0
  95. package/src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts +116 -140
  96. package/src/controller/control/tree-grid-ex/tree-grid-ex.service.ts +10 -165
  97. package/src/interface/controller/controller/control/i-grid.controller.ts +9 -0
  98. package/src/interface/controller/controller/control/i-tree-grid-ex.controller.ts +11 -12
  99. package/src/interface/controller/controller/control/i-tree.controller.ts +5 -2
  100. package/src/interface/controller/controller/control/index.ts +1 -0
  101. package/src/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.ts +12 -0
  102. package/src/interface/controller/controller/control/tree-grid-ex-column/index.ts +1 -0
  103. package/src/interface/controller/event/control/i-tree-grid-ex.event.ts +2 -2
  104. package/src/interface/controller/state/control/i-search-bar.state.ts +73 -0
  105. package/src/interface/controller/state/control/i-tree-grid-ex.state.ts +27 -24
  106. package/src/interface/controller/state/control/i-tree.state.ts +9 -1
  107. package/src/interface/provider/i-tree-grid-ex-column.provider.ts +39 -0
  108. package/src/interface/provider/index.ts +1 -0
  109. package/src/register/helper/index.ts +1 -0
  110. package/src/register/helper/tree-grid-ex-column-register.ts +67 -0
  111. package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +53 -0
  112. package/src/service/vo/tree-node-data/tree-node-data.ts +6 -0
package/dist/index.esm.js CHANGED
@@ -3804,6 +3804,41 @@ async function getDEMethodProvider(model) {
3804
3804
  }
3805
3805
  }
3806
3806
 
3807
+ // src/register/helper/tree-grid-ex-column-register.ts
3808
+ var TREEGRIDEX_COLUMN_PROVIDER_PREFIX = "TREEGRIDEX_COLUMN";
3809
+ function registerTreeGridExColumnProvider(key, callback) {
3810
+ ibiz.register.register(
3811
+ "".concat(TREEGRIDEX_COLUMN_PROVIDER_PREFIX, "_").concat(key),
3812
+ callback
3813
+ );
3814
+ }
3815
+ function getProvider13(key) {
3816
+ return ibiz.register.get(
3817
+ "".concat(TREEGRIDEX_COLUMN_PROVIDER_PREFIX, "_").concat(key)
3818
+ );
3819
+ }
3820
+ async function getTreeGridExColumnProvider(model) {
3821
+ let provider;
3822
+ const { columnType, appId, renderSysPFPluginId } = model;
3823
+ if (renderSysPFPluginId) {
3824
+ const pluginKey = await getPluginRegisterKey(renderSysPFPluginId, appId);
3825
+ if (pluginKey) {
3826
+ provider = getProvider13(pluginKey);
3827
+ }
3828
+ if (!provider) {
3829
+ ibiz.log.error("\u627E\u4E0D\u5230\u6811\u8868\u683C\u5217\u63D2\u4EF6".concat(pluginKey, "\u5BF9\u5E94\u7684\u9002\u914D\u5668"));
3830
+ } else {
3831
+ return provider;
3832
+ }
3833
+ }
3834
+ provider = getProvider13(columnType);
3835
+ if (!provider) {
3836
+ ibiz.log.error("\u627E\u4E0D\u5230\u8868\u683C\u5217\u7C7B\u578B".concat(columnType, "\u5BF9\u5E94\u7684\u9002\u914D\u5668"));
3837
+ } else {
3838
+ return provider;
3839
+ }
3840
+ }
3841
+
3807
3842
  // src/service/utils/app-counter/app-counter.ts
3808
3843
  import { IBizContext, RuntimeError as RuntimeError11 } from "@ibiz-template/core";
3809
3844
  import { notNilEmpty as notNilEmpty5, QXEvent } from "qx-util";
@@ -8770,6 +8805,7 @@ var TreeNodeData = class {
8770
8805
  this.leaf = false;
8771
8806
  this.leaf = opts.leaf === true;
8772
8807
  this.parent = parentNodeData;
8808
+ this._nodeType = model.treeNodeType;
8773
8809
  if (this.parent) {
8774
8810
  this.context = { ...this.parent.context };
8775
8811
  }
@@ -8832,8 +8868,10 @@ var TreeCodeListNodeData = class extends TreeNodeData {
8832
8868
  };
8833
8869
 
8834
8870
  // src/service/vo/tree-node-data/tree-data-set-node-data.ts
8871
+ import { updateKeyDefine } from "@ibiz-template/core";
8835
8872
  var TreeDataSetNodeData = class extends TreeNodeData {
8836
8873
  constructor(model, parentNodeData, opts) {
8874
+ var _a;
8837
8875
  super(model, parentNodeData, opts);
8838
8876
  const { data } = opts;
8839
8877
  this.deData = data;
@@ -8860,6 +8898,50 @@ var TreeDataSetNodeData = class extends TreeNodeData {
8860
8898
  if (model.leafFlagAppDEFieldId) {
8861
8899
  this.leaf = fieldValueToBoolean(data[model.leafFlagAppDEFieldId]);
8862
8900
  }
8901
+ const dataItemkeyMap = /* @__PURE__ */ new Map();
8902
+ const dataItemDefaults = {};
8903
+ (_a = model.detreeNodeDataItems) == null ? void 0 : _a.forEach((dataItem) => {
8904
+ const uiKey = dataItem.id.toLowerCase();
8905
+ const deFieldKey = dataItem.appDEFieldId.toLowerCase();
8906
+ dataItemkeyMap.set(uiKey, deFieldKey);
8907
+ if (dataItem.defaultValue) {
8908
+ dataItemDefaults[uiKey] = dataItem.defaultValue;
8909
+ }
8910
+ });
8911
+ return new Proxy(this, {
8912
+ set(target, p, value) {
8913
+ if (Object.prototype.hasOwnProperty.call(target.deData, p)) {
8914
+ target.deData[p] = value;
8915
+ } else if (dataItemkeyMap.has(p)) {
8916
+ target.deData[dataItemkeyMap.get(p)] = value;
8917
+ } else {
8918
+ target[p] = value;
8919
+ }
8920
+ return true;
8921
+ },
8922
+ get(target, p, _receiver) {
8923
+ if (target[p] !== void 0) {
8924
+ return target[p];
8925
+ }
8926
+ if (dataItemkeyMap.has(p)) {
8927
+ return target.deData[dataItemkeyMap.get(p)] || dataItemDefaults[p];
8928
+ }
8929
+ if (target.deData[p] !== void 0) {
8930
+ return target.deData[p];
8931
+ }
8932
+ },
8933
+ ownKeys(target) {
8934
+ const allKeys = [
8935
+ .../* @__PURE__ */ new Set([
8936
+ ...Object.keys(target),
8937
+ ...dataItemkeyMap.keys(),
8938
+ ...Object.keys(target.deData)
8939
+ ])
8940
+ ];
8941
+ updateKeyDefine(target, allKeys);
8942
+ return allKeys;
8943
+ }
8944
+ });
8863
8945
  }
8864
8946
  calcIcon(model) {
8865
8947
  const icon = super.calcIcon(model) || {};
@@ -9064,7 +9146,7 @@ var CalendarItemData = class {
9064
9146
  };
9065
9147
 
9066
9148
  // src/service/vo/map-data/map-data.ts
9067
- function updateKeyDefine(target, keys) {
9149
+ function updateKeyDefine2(target, keys) {
9068
9150
  keys.forEach((key) => {
9069
9151
  if (!Object.prototype.hasOwnProperty.call(target, key)) {
9070
9152
  Object.defineProperty(target, key, {
@@ -9150,7 +9232,7 @@ var MapData = class {
9150
9232
  const allKeys = [
9151
9233
  .../* @__PURE__ */ new Set([...Object.keys(target), ...Object.keys(deData)])
9152
9234
  ];
9153
- updateKeyDefine(target, allKeys);
9235
+ updateKeyDefine2(target, allKeys);
9154
9236
  return allKeys;
9155
9237
  }
9156
9238
  });
@@ -9159,7 +9241,7 @@ var MapData = class {
9159
9241
 
9160
9242
  // src/service/vo/panel-data/panel-data.ts
9161
9243
  import { QXEvent as QXEvent2 } from "qx-util";
9162
- function updateKeyDefine2(target, keys) {
9244
+ function updateKeyDefine3(target, keys) {
9163
9245
  keys.forEach((key) => {
9164
9246
  if (!Object.prototype.hasOwnProperty.call(target, key)) {
9165
9247
  Object.defineProperty(target, key, {
@@ -9217,7 +9299,7 @@ var PanelData = class {
9217
9299
  },
9218
9300
  ownKeys(target) {
9219
9301
  const allKeys = Object.keys(origin);
9220
- updateKeyDefine2(target, allKeys);
9302
+ updateKeyDefine3(target, allKeys);
9221
9303
  return allKeys;
9222
9304
  }
9223
9305
  });
@@ -9229,7 +9311,7 @@ var PanelData = class {
9229
9311
 
9230
9312
  // src/service/vo/chart-data/chart-data.ts
9231
9313
  import { createUUID as createUUID6 } from "qx-util";
9232
- function updateKeyDefine3(target, keys) {
9314
+ function updateKeyDefine4(target, keys) {
9233
9315
  keys.forEach((key) => {
9234
9316
  if (!Object.prototype.hasOwnProperty.call(target, key)) {
9235
9317
  Object.defineProperty(target, key, {
@@ -9268,7 +9350,7 @@ var ChartData = class {
9268
9350
  const allKeys = [
9269
9351
  .../* @__PURE__ */ new Set([...Object.keys(target), ...Object.keys(deData)])
9270
9352
  ];
9271
- updateKeyDefine3(target, allKeys);
9353
+ updateKeyDefine4(target, allKeys);
9272
9354
  return allKeys;
9273
9355
  }
9274
9356
  });
@@ -22647,6 +22729,36 @@ var GridController = class extends MDControlController {
22647
22729
  convertColumnCaption(this.model.degridColumns);
22648
22730
  }
22649
22731
  }
22732
+ /**
22733
+ * 控制列显示
22734
+ * @param {IColumnState} columnState
22735
+ * @return {*}
22736
+ * @author: zhujiamin
22737
+ * @Date: 2023-12-19 16:02:14
22738
+ */
22739
+ setColumnVisible(columnState) {
22740
+ columnState.hidden = !columnState.hidden;
22741
+ }
22742
+ /**
22743
+ * 设置点击分组后回显相关参数
22744
+ * @param {IData} data
22745
+ * @return {*}
22746
+ * @author: zhujiamin
22747
+ * @Date: 2023-12-21 10:54:45
22748
+ */
22749
+ setGroupParams(data) {
22750
+ if (data.sort) {
22751
+ this.state.sortQuery = data.sort;
22752
+ } else {
22753
+ this.state.sortQuery = "";
22754
+ }
22755
+ if (data.columnstates) {
22756
+ this.state.columnStates = data.columnstates;
22757
+ } else {
22758
+ this.state.columnStates = [];
22759
+ this.initColumnStates();
22760
+ }
22761
+ }
22650
22762
  };
22651
22763
 
22652
22764
  // src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts
@@ -24237,7 +24349,7 @@ var PickupViewPanelController = class extends ControlController {
24237
24349
  };
24238
24350
 
24239
24351
  // src/controller/control/search-bar/search-bar.controller.ts
24240
- import { recursiveIterate as recursiveIterate9 } from "@ibiz-template/core";
24352
+ import { mergeInLeft as mergeInLeft3, recursiveIterate as recursiveIterate9 } from "@ibiz-template/core";
24241
24353
  import { isNil as isNil23 } from "ramda";
24242
24354
 
24243
24355
  // src/controller/control/search-bar/search-bar-filter.controller.ts
@@ -24281,6 +24393,132 @@ var SearchBarFilterController = class {
24281
24393
  }
24282
24394
  };
24283
24395
 
24396
+ // src/controller/control/search-bar/search-bar.service.ts
24397
+ var SearchBarService = class {
24398
+ /**
24399
+ * Creates an instance of ControlService.
24400
+ *
24401
+ */
24402
+ constructor(model, viewTag) {
24403
+ /**
24404
+ * 主题管理URL
24405
+ * @return {*}
24406
+ * @author: zhujiamin
24407
+ * @Date: 2023-12-22 10:51:49
24408
+ */
24409
+ this.themeUrl = "/extension/app_view_themes";
24410
+ this.model = model;
24411
+ this.viewTag = viewTag;
24412
+ }
24413
+ async init(_context) {
24414
+ this.app = ibiz.hub.getApp(this.model.appId);
24415
+ }
24416
+ /**
24417
+ * 执行查询多条数据的方法
24418
+ *
24419
+ */
24420
+ async fetch() {
24421
+ const res = await this.app.net.post("".concat(this.themeUrl, "/fetch_default"), {
24422
+ app_view_tag: this.viewTag,
24423
+ sort: "create_time,asc"
24424
+ });
24425
+ if (res.ok) {
24426
+ res.data = this.convertBackDataToFront(res.data);
24427
+ }
24428
+ return res;
24429
+ }
24430
+ /**
24431
+ * 执行获取单条数据方法
24432
+ *
24433
+ */
24434
+ async get(id) {
24435
+ const res = await this.app.net.get("".concat(this.themeUrl, "/").concat(id), {
24436
+ app_view_tag: this.viewTag
24437
+ });
24438
+ if (res.ok) {
24439
+ [res.data] = this.convertBackDataToFront([res.data]);
24440
+ }
24441
+ return res;
24442
+ }
24443
+ /**
24444
+ * 删除单条数据
24445
+ *
24446
+ */
24447
+ async remove(id) {
24448
+ const res = await this.app.net.delete("".concat(this.themeUrl, "/").concat(id), {
24449
+ app_view_tag: this.viewTag
24450
+ });
24451
+ return res;
24452
+ }
24453
+ /**
24454
+ * 新建数据
24455
+ *
24456
+ */
24457
+ async create(caption) {
24458
+ const res = await this.app.net.post("".concat(this.themeUrl), {
24459
+ name: caption,
24460
+ app_view_tag: this.viewTag
24461
+ });
24462
+ return res;
24463
+ }
24464
+ /**
24465
+ * 新建数据(带参数,给平台配置建立的分组用)
24466
+ *
24467
+ */
24468
+ async createWithParams(id, data) {
24469
+ const res = await this.app.net.post("".concat(this.themeUrl), {
24470
+ id,
24471
+ theme_model: JSON.stringify(data),
24472
+ app_view_tag: this.viewTag,
24473
+ show: data.show
24474
+ });
24475
+ return res;
24476
+ }
24477
+ /**
24478
+ * 更新数据
24479
+ *
24480
+ */
24481
+ async update(id, data) {
24482
+ const updateParams = { app_view_tag: this.viewTag };
24483
+ if (data.theme_model) {
24484
+ Object.assign(updateParams, {
24485
+ theme_model: JSON.stringify(data.theme_model)
24486
+ });
24487
+ }
24488
+ if (data.caption) {
24489
+ Object.assign(updateParams, {
24490
+ name: data.caption
24491
+ });
24492
+ }
24493
+ if (typeof data.show === "boolean") {
24494
+ Object.assign(updateParams, {
24495
+ show: data.show
24496
+ });
24497
+ }
24498
+ const res = await this.app.net.put("".concat(this.themeUrl, "/").concat(id), updateParams);
24499
+ return res;
24500
+ }
24501
+ /**
24502
+ * 转换后台数据成前端需要的格式
24503
+ * @param {IData} data
24504
+ * @return {*}
24505
+ * @author: zhujiamin
24506
+ * @Date: 2023-12-22 11:19:50
24507
+ */
24508
+ convertBackDataToFront(data) {
24509
+ return data.map((item) => {
24510
+ const tempItem = { ...item };
24511
+ if (item.name) {
24512
+ tempItem.caption = item.name;
24513
+ }
24514
+ if (item.theme_model) {
24515
+ tempItem.searchGroupData = JSON.parse(item.theme_model);
24516
+ }
24517
+ return tempItem;
24518
+ });
24519
+ }
24520
+ };
24521
+
24284
24522
  // src/controller/control/search-bar/search-bar.controller.ts
24285
24523
  var SearchBarController = class extends ControlController {
24286
24524
  constructor() {
@@ -24299,6 +24537,29 @@ var SearchBarController = class extends ControlController {
24299
24537
  * @type {SearchBarFilterController[]}
24300
24538
  */
24301
24539
  this.filterControllers = [];
24540
+ /**
24541
+ * 当前编辑的分组
24542
+ * @return {*}
24543
+ * @author: zhujiamin
24544
+ * @Date: 2023-12-20 18:06:37
24545
+ */
24546
+ this.currentEditGroup = null;
24547
+ /**
24548
+ * 是否为后台分组
24549
+ * @return {*}
24550
+ * @author: zhujiamin
24551
+ * @Date: 2023-12-21 10:17:43
24552
+ */
24553
+ this.isBackendSearchGroup = true;
24554
+ }
24555
+ /**
24556
+ * 表格控制器
24557
+ * @return {*}
24558
+ * @author: zhujiamin
24559
+ * @Date: 2023-12-22 13:50:16
24560
+ */
24561
+ get grid() {
24562
+ return this.ctx.getController("grid");
24302
24563
  }
24303
24564
  initState() {
24304
24565
  super.initState();
@@ -24308,6 +24569,8 @@ var SearchBarController = class extends ControlController {
24308
24569
  if (this.model.enableFilter) {
24309
24570
  this.resetFilter();
24310
24571
  }
24572
+ this.state.searchBarGroups = [];
24573
+ this.state.selectedSearchGroupItem = null;
24311
24574
  }
24312
24575
  async onCreated() {
24313
24576
  await super.onCreated();
@@ -24319,7 +24582,12 @@ var SearchBarController = class extends ControlController {
24319
24582
  this.appDataEntity = appDataEntity;
24320
24583
  this.calcQuickSearchPlaceholder();
24321
24584
  }
24585
+ if (this.isBackendSearchGroup && this.view.model.codeName) {
24586
+ this.service = new SearchBarService(this.model, this.view.model.codeName);
24587
+ await this.service.init(this.context);
24588
+ }
24322
24589
  await this.initSearchBarFilters();
24590
+ await this.initSearBarGroups();
24323
24591
  }
24324
24592
  /**
24325
24593
  * 计算快速搜索的占位
@@ -24385,7 +24653,7 @@ var SearchBarController = class extends ControlController {
24385
24653
  if (this.state.query) {
24386
24654
  params.query = this.state.query;
24387
24655
  }
24388
- if ((_a = this.state.selectedGroupItem) == null ? void 0 : _a.data) {
24656
+ if (((_a = this.state.selectedGroupItem) == null ? void 0 : _a.data) && typeof this.state.selectedGroupItem.data === "string") {
24389
24657
  const navParams = ScriptFactory.execSingleLine(
24390
24658
  this.state.selectedGroupItem.data
24391
24659
  );
@@ -24404,13 +24672,7 @@ var SearchBarController = class extends ControlController {
24404
24672
  * @date 2023-10-16 03:52:44
24405
24673
  */
24406
24674
  resetFilter() {
24407
- this.state.filterNodes = [
24408
- {
24409
- leaf: false,
24410
- logicType: "AND",
24411
- children: [{ leaf: true, field: null, valueOP: null, value: null }]
24412
- }
24413
- ];
24675
+ this.state.filterNodes = this.getOriginFilterNodes();
24414
24676
  this.evt.emit("onSearch", void 0);
24415
24677
  }
24416
24678
  /**
@@ -24481,6 +24743,123 @@ var SearchBarController = class extends ControlController {
24481
24743
  value: node.value
24482
24744
  };
24483
24745
  }
24746
+ /**
24747
+ * 获取初始过滤项树节点数据集合
24748
+ * @return {*}
24749
+ * @author: zhujiamin
24750
+ * @Date: 2023-12-21 17:29:47
24751
+ */
24752
+ getOriginFilterNodes() {
24753
+ return [
24754
+ {
24755
+ leaf: false,
24756
+ logicType: "AND",
24757
+ children: [{ leaf: true, field: null, valueOP: null, value: null }]
24758
+ }
24759
+ ];
24760
+ }
24761
+ /**
24762
+ * 初始化搜索栏分组项(获取后台分组清单并合并模型)
24763
+ * @return {*}
24764
+ * @author: zhujiamin
24765
+ * @Date: 2023-12-19 14:43:46
24766
+ */
24767
+ async initSearBarGroups() {
24768
+ this.state.searchBarGroups = [];
24769
+ if (this.isBackendSearchGroup) {
24770
+ if (this.model.searchBarGroups && this.model.searchBarGroups.length > 0) {
24771
+ this.state.searchBarGroups = this.model.searchBarGroups.map((item) => ({
24772
+ ...item,
24773
+ show: true,
24774
+ saved: false,
24775
+ searchGroupData: {}
24776
+ }));
24777
+ }
24778
+ const res = await this.service.fetch();
24779
+ if (res.ok) {
24780
+ res.data.forEach((group) => {
24781
+ const existGroup = this.state.searchBarGroups.find(
24782
+ (item) => item.id === group.id
24783
+ );
24784
+ if (existGroup) {
24785
+ mergeInLeft3(existGroup, group);
24786
+ existGroup.saved = true;
24787
+ } else {
24788
+ this.state.searchBarGroups.push({
24789
+ ...group,
24790
+ appId: this.context.srfappid,
24791
+ show: true,
24792
+ saved: true,
24793
+ searchGroupData: {}
24794
+ });
24795
+ }
24796
+ });
24797
+ }
24798
+ }
24799
+ }
24800
+ /**
24801
+ * 处理保存
24802
+ * @return {*}
24803
+ * @author: zhujiamin
24804
+ * @Date: 2023-12-19 16:17:15
24805
+ */
24806
+ async handleSave() {
24807
+ if (this.grid && this.state.selectedSearchGroupItem) {
24808
+ const filters = this.calcFilters();
24809
+ const saveParams = {
24810
+ filternodes: this.state.filterNodes,
24811
+ searchconds: filters,
24812
+ sort: this.grid.state.sortQuery,
24813
+ columnstates: this.grid.state.columnStates,
24814
+ show: this.state.selectedSearchGroupItem.show
24815
+ };
24816
+ if (this.state.selectedSearchGroupItem.saved) {
24817
+ await this.service.update(this.state.selectedSearchGroupItem.id, {
24818
+ theme_model: saveParams,
24819
+ show: this.state.selectedSearchGroupItem.show
24820
+ });
24821
+ ibiz.message.success("\u4FDD\u5B58\u6210\u529F");
24822
+ } else {
24823
+ const res = await this.service.createWithParams(
24824
+ this.state.selectedSearchGroupItem.id,
24825
+ saveParams
24826
+ );
24827
+ if (res.ok) {
24828
+ const savedGroup = this.state.searchBarGroups.find(
24829
+ (group) => group.id === res.data.id
24830
+ );
24831
+ if (savedGroup) {
24832
+ savedGroup.saved = true;
24833
+ }
24834
+ ibiz.message.success("\u4FDD\u5B58\u6210\u529F");
24835
+ }
24836
+ }
24837
+ }
24838
+ }
24839
+ /**
24840
+ * 处理点击后台分组
24841
+ * @return {*}
24842
+ * @author: zhujiamin
24843
+ * @Date: 2023-12-21 10:29:24
24844
+ */
24845
+ async handleGroupClick(groupItem) {
24846
+ this.state.selectedSearchGroupItem = groupItem;
24847
+ if (groupItem.saved) {
24848
+ const res = await this.service.get(groupItem.id);
24849
+ if (res.ok) {
24850
+ mergeInLeft3(groupItem, res.data);
24851
+ }
24852
+ }
24853
+ if (groupItem.searchGroupData && groupItem.searchGroupData.filternodes) {
24854
+ this.state.filterNodes = groupItem.searchGroupData.filternodes;
24855
+ } else {
24856
+ this.state.filterNodes = this.getOriginFilterNodes();
24857
+ }
24858
+ if (this.grid && groupItem && groupItem.searchGroupData) {
24859
+ this.grid.setGroupParams(groupItem.searchGroupData);
24860
+ await this.grid.load({ isInitialLoad: true });
24861
+ }
24862
+ }
24484
24863
  };
24485
24864
 
24486
24865
  // src/controller/control/tab-exp-panel/tab-exp-panel.controller.ts
@@ -25033,6 +25412,9 @@ var TreeController = class extends MDControlController {
25033
25412
  */
25034
25413
  this.nodeClickTBUIActionItem = /* @__PURE__ */ new Map();
25035
25414
  }
25415
+ get _evt() {
25416
+ return this.evt;
25417
+ }
25036
25418
  initState() {
25037
25419
  super.initState();
25038
25420
  this.state.defaultExpandedKeys = [];
@@ -25071,8 +25453,7 @@ var TreeController = class extends MDControlController {
25071
25453
  }
25072
25454
  this.initDropNodeRss();
25073
25455
  this.initNodeClickTBUIActionItem();
25074
- this.service = new TreeService(this.model);
25075
- await this.service.init(this.context);
25456
+ await this.initService();
25076
25457
  this.model.detreeNodes.forEach((node) => {
25077
25458
  var _a2, _b2;
25078
25459
  if ((_b2 = (_a2 = node.decontextMenu) == null ? void 0 : _a2.detoolbarItems) == null ? void 0 : _b2.length) {
@@ -25088,6 +25469,17 @@ var TreeController = class extends MDControlController {
25088
25469
  Object.values(this.contextMenus).map((menu) => menu.created())
25089
25470
  );
25090
25471
  }
25472
+ /**
25473
+ * 初始化对应类型的部件服务
25474
+ * @author lxm
25475
+ * @date 2023-12-21 11:25:33
25476
+ * @protected
25477
+ * @return {*} {Promise<void>}
25478
+ */
25479
+ async initService() {
25480
+ this.service = new TreeService(this.model);
25481
+ await this.service.init(this.context);
25482
+ }
25091
25483
  /**
25092
25484
  * 初始化节点拖入关系处理
25093
25485
  * @author lxm
@@ -25162,7 +25554,7 @@ var TreeController = class extends MDControlController {
25162
25554
  }
25163
25555
  await this.afterLoad(args, nodes);
25164
25556
  this.state.isLoaded = true;
25165
- await this.evt.emit("onLoadSuccess", {
25557
+ await this._evt.emit("onLoadSuccess", {
25166
25558
  isInitialLoad
25167
25559
  });
25168
25560
  return nodes;
@@ -25201,6 +25593,17 @@ var TreeController = class extends MDControlController {
25201
25593
  } else {
25202
25594
  this.state.rootNodes = nodes;
25203
25595
  }
25596
+ await this.afterLoadNodes(nodes);
25597
+ return nodes;
25598
+ }
25599
+ /**
25600
+ * loadNodes加载完子数据之后的处理
25601
+ * @author lxm
25602
+ * @date 2023-12-22 02:37:50
25603
+ * @param {ITreeNodeData[]} nodes 加载回来的子数据
25604
+ * @return {*} {Promise<void>}
25605
+ */
25606
+ async afterLoadNodes(nodes) {
25204
25607
  this.state.items = [];
25205
25608
  recursiveIterate10(
25206
25609
  { children: this.state.rootNodes },
@@ -25209,7 +25612,6 @@ var TreeController = class extends MDControlController {
25209
25612
  }
25210
25613
  );
25211
25614
  this.state.expandedKeys = this.calcExpandedKeys(nodes);
25212
- return nodes;
25213
25615
  }
25214
25616
  /**
25215
25617
  * 树节点点击事件
@@ -25276,7 +25678,7 @@ var TreeController = class extends MDControlController {
25276
25678
  }
25277
25679
  setActive(item) {
25278
25680
  const nodeParams = this.parseTreeNodeData(item);
25279
- return this.evt.emit("onActive", { ...nodeParams, nodeData: item });
25681
+ return this._evt.emit("onActive", { ...nodeParams, nodeData: item });
25280
25682
  }
25281
25683
  setSelection(selection) {
25282
25684
  const selectionIds = selection.map((item) => item.id);
@@ -25296,6 +25698,20 @@ var TreeController = class extends MDControlController {
25296
25698
  var _a;
25297
25699
  return (_a = this.model.detreeNodes) == null ? void 0 : _a.find((item) => item.id === id);
25298
25700
  }
25701
+ /**
25702
+ * 通过标识获取节点数据
25703
+ * @author lxm
25704
+ * @date 2023-12-22 02:21:38
25705
+ * @param {string} id 可以是节点id也可以是_uuid
25706
+ * @return {*} {(ITreeNodeData | undefined)}
25707
+ */
25708
+ getNodeData(key) {
25709
+ const find = this.state.items.find((item) => item.id === key);
25710
+ if (find) {
25711
+ return find;
25712
+ }
25713
+ return this.state.items.find((item) => item._uuid === key);
25714
+ }
25299
25715
  /**
25300
25716
  * 执行界面行为
25301
25717
  *
@@ -25395,7 +25811,7 @@ var TreeController = class extends MDControlController {
25395
25811
  }
25396
25812
  const targetNode = refreshParent ? currentNode.parent : currentNode;
25397
25813
  const nodes = await this.loadNodes(targetNode);
25398
- this.evt.emit("onAfterRefreshParent", {
25814
+ this._evt.emit("onAfterRefreshParent", {
25399
25815
  parentNode: targetNode,
25400
25816
  children: nodes
25401
25817
  });
@@ -25565,7 +25981,7 @@ var TreeController = class extends MDControlController {
25565
25981
  });
25566
25982
  }
25567
25983
  await this.updateDeNodeData(modifiedNodeDatas);
25568
- this.evt.emit("onAfterNodeDrop", { isChangedParent });
25984
+ this._evt.emit("onAfterNodeDrop", { isChangedParent });
25569
25985
  }
25570
25986
  /**
25571
25987
  * 更新实体节点数据
@@ -26817,194 +27233,103 @@ var KanbanController = class extends DataViewControlController {
26817
27233
  import { recursiveIterate as recursiveIterate11 } from "@ibiz-template/core";
26818
27234
 
26819
27235
  // src/controller/control/tree-grid-ex/tree-grid-ex.service.ts
26820
- import { isArray as isArray10 } from "qx-util";
26821
27236
  var TreeGridExService = class extends TreeService {
26822
- constructor() {
26823
- super(...arguments);
27237
+ };
27238
+
27239
+ // src/controller/control/tree-grid-ex/tree-grid-ex-row.state.ts
27240
+ var TreeGridExRowState = class {
27241
+ constructor(data, treeGrid) {
26824
27242
  /**
26825
- * 表格列映射关系
27243
+ * 操作列状态(p是操作列的标识)
26826
27244
  *
26827
- * @author zk
26828
- * @date 2023-09-25 05:09:11
26829
- * @type {Map<string, Map<string, UIMapField>>}
26830
- * @memberof TreeGridService
27245
+ * @author lxm
27246
+ * @date 2022-09-07 22:09:38
27247
+ * @type {({ [p: string]: IButtonContainerState })}
26831
27248
  */
26832
- this.multipleUiMap = /* @__PURE__ */ new Map();
26833
- }
26834
- /**
26835
- * 初始化节点属性映射
26836
- *
26837
- * @author lxm
26838
- * @date 2022-08-31 18:08:37
26839
- */
26840
- initUIDataMap() {
26841
- var _a;
26842
- super.initUIDataMap();
26843
- (_a = this.model.detreeNodes) == null ? void 0 : _a.forEach((item) => {
26844
- var _a2;
26845
- const dataMap = /* @__PURE__ */ new Map();
26846
- (_a2 = item.detreeNodeDataItems) == null ? void 0 : _a2.forEach((dataItem) => {
26847
- const uiKey = dataItem.id.toLowerCase();
26848
- const deField = dataItem.appDEFieldId;
26849
- const deFieldKey = deField.toLowerCase();
26850
- const mapField = new UIMapField(uiKey, deFieldKey, {
26851
- isOriginField: true,
26852
- dataType: dataItem.dataType
26853
- });
26854
- dataMap.set(uiKey, mapField);
26855
- });
26856
- this.multipleUiMap.set(item.id, dataMap);
26857
- });
26858
- }
26859
- /**
26860
- * 获取实体数据集数据
26861
- *
26862
- * @protected
26863
- * @param {TreeNodeRSModel} nodeRS
26864
- * @param {TreeFetchOpts} opts
26865
- * @returns {*}
26866
- * @memberof TreeService
26867
- */
26868
- async getDENodeDatas(nodeModel, nodeRS, parentNodeData, opts) {
26869
- const { appDEDataSetId, appDataEntityId } = nodeModel;
26870
- const { context, params, navContext, navParams } = nodeRS ? this.getNodeRSFilterParams(nodeRS, parentNodeData, opts) : {
26871
- context: opts.context,
26872
- params: opts.params,
26873
- navContext: {},
26874
- navParams: {}
26875
- };
26876
- params.size = nodeModel.maxSize || 1e3;
26877
- if (nodeModel.sortAppDEFieldId && nodeModel.sortDir) {
26878
- Object.assign(params, {
26879
- sort: "".concat(nodeModel.sortAppDEFieldId.toLowerCase(), ",").concat(nodeModel.sortDir.toLowerCase())
26880
- });
26881
- }
26882
- const response = await this.app.deService.exec(
26883
- appDataEntityId,
26884
- appDEDataSetId,
26885
- context,
26886
- params
26887
- );
26888
- if (response.data.length) {
26889
- const { data } = this.handleResponseForMultiple(response, nodeModel.id);
26890
- const nodeDatas = data.map((item) => {
26891
- return new TreeDataSetNodeData(nodeModel, parentNodeData, {
26892
- data: item,
26893
- leaf: !!opts.leaf,
26894
- navContext,
26895
- navParams
26896
- });
26897
- });
26898
- return nodeDatas;
26899
- }
26900
- return [];
26901
- }
26902
- /**
26903
- * 处理多数据源响应
26904
- *
26905
- * @author zk
26906
- * @date 2023-09-21 04:09:06
26907
- * @param {IHttpResponse} response
26908
- * @param {string} tag 多数据源dataUIMap标识
26909
- * @return {*} {IHttpResponse}
26910
- * @memberof TreeGridService
26911
- */
26912
- handleResponseForMultiple(response, tag) {
26913
- const res = super.handleResponse(response);
26914
- if (res.headers) {
26915
- if (res.headers["x-page"]) {
26916
- res.page = Number(res.headers["x-page"]);
26917
- }
26918
- if (res.headers["x-per-page"]) {
26919
- res.size = Number(res.headers["x-per-page"]);
26920
- }
26921
- if (res.headers["x-total"]) {
26922
- res.total = Number(res.headers["x-total"]);
26923
- }
26924
- }
26925
- if (res.ok) {
26926
- if (isArray10(res.data)) {
26927
- res.data = res.data.map(
26928
- (item) => this.toUIDataForMultiple(item, tag)
26929
- );
26930
- } else {
26931
- res.data = this.toUIDataForMultiple(res.data, tag);
26932
- }
26933
- }
26934
- return res;
26935
- }
26936
- /**
26937
- * 实体数据转ui数据
26938
- *
26939
- * @author zk
26940
- * @date 2023-09-21 06:09:06
26941
- * @param {IData} entityData 实体数据
26942
- * @param {string} tag 多数据源dataUIMap标识
26943
- * @return {*} {ControlVO}
26944
- * @memberof TreeGridService
26945
- */
26946
- toUIDataForMultiple(entityData, tag) {
26947
- const dataUIMap = this.multipleUiMap.get(tag);
26948
- return new ControlVO(entityData, dataUIMap);
27249
+ this.uaColStates = {};
27250
+ this.data = data;
27251
+ Object.values(treeGrid.uaColumns).forEach((column) => {
27252
+ column.initActionStates(this);
27253
+ });
26949
27254
  }
26950
27255
  };
26951
27256
 
26952
27257
  // src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts
26953
- var TreeGridExController = class extends MDControlController {
27258
+ var TreeGridExController = class extends TreeController {
26954
27259
  constructor() {
26955
27260
  super(...arguments);
26956
27261
  /**
26957
- * 表格列的适配器
27262
+ * 树表格(增强)列的适配器
26958
27263
  *
26959
27264
  * @author zk
26960
27265
  * @date 2023-09-21 06:09:04
26961
- * @type {{ [key: string]: IGridColumnProvider }}
27266
+ * @type {{ [key: string]: ITreeGridExColumnProvider }}
26962
27267
  * @memberof TreeGridExController
26963
27268
  */
26964
27269
  this.providers = {};
26965
27270
  /**
26966
- * 所有表格列控制器集合
27271
+ * 所有树表格(增强)列控制器集合
26967
27272
  *
26968
27273
  * @author zk
26969
27274
  * @date 2023-09-21 06:09:10
26970
- * @type {{ [key: string]: GridColumnController }}
27275
+ * @type {{ [key: string]: TreeGridExColumnController }}
26971
27276
  * @memberof TreeGridExController
26972
27277
  */
26973
27278
  this.columns = {};
26974
27279
  /**
26975
- * 所有表格属性列的控制器
27280
+ * 所有树表格(增强)属性列的控制器
26976
27281
  *
26977
27282
  * @author zk
26978
27283
  * @date 2023-09-21 06:09:16
26979
- * @type {{ [key: string]: GridFieldColumnController }}
27284
+ * @type {{ [key: string]: TreeGridExFieldColumnController }}
26980
27285
  * @memberof TreeGridExController
26981
27286
  */
26982
27287
  this.fieldColumns = {};
26983
27288
  /**
26984
- * 所有表格操作列的控制器
27289
+ * 所有树表格(增强)操作列的控制器
26985
27290
  *
26986
27291
  * @author zk
26987
27292
  * @date 2023-09-21 06:09:21
26988
- * @type {{ [key: string]: GridUAColumnController }}
27293
+ * @type {{ [key: string]: TreeGridExUAColumnController }}
26989
27294
  * @memberof TreeGridExController
26990
27295
  */
26991
27296
  this.uaColumns = {};
26992
27297
  }
27298
+ /**
27299
+ * 是否有配置宽度自适应列
27300
+ *
27301
+ * @type {boolean}
27302
+ * @memberof GridController
27303
+ */
27304
+ get hasAdaptiveColumn() {
27305
+ return !!Object.values(this.columns).find((item) => item.isAdaptiveColumn);
27306
+ }
27307
+ /**
27308
+ * 单元格超出呈现模式
27309
+ * @author lxm
27310
+ * @date 2023-11-17 01:56:26
27311
+ * @readonly
27312
+ * @type {('wrap' | 'ellipsis')}
27313
+ */
27314
+ get overflowMode() {
27315
+ return ibiz.config.grid.overflowMode;
27316
+ }
26993
27317
  initState() {
26994
27318
  super.initState();
26995
- this.state.size = 0;
26996
27319
  this.state.columnStates = [];
26997
- this.state.defaultExpandedKeys = [];
27320
+ this.state.rows = {};
26998
27321
  }
26999
27322
  async onCreated() {
27000
27323
  await super.onCreated();
27001
- this.service = new TreeGridExService(this.model);
27002
- await this.service.init(this.context);
27003
27324
  this.initColumnStates();
27004
27325
  await this.initGridColumns();
27005
27326
  }
27327
+ async initService() {
27328
+ this.service = new TreeGridExService(this.model);
27329
+ await this.service.init(this.context);
27330
+ }
27006
27331
  /**
27007
- * 初始化表格属性列,操作列,编辑项控制器
27332
+ * 初始化树表格(增强)属性列,操作列,编辑项控制器
27008
27333
  *
27009
27334
  * @author zk
27010
27335
  * @date 2023-09-21 06:09:28
@@ -27022,7 +27347,7 @@ var TreeGridExController = class extends MDControlController {
27022
27347
  }
27023
27348
  }
27024
27349
  /**
27025
- * 初始化表格属性列,操作列,编辑项控制器
27350
+ * 初始化树表格(增强)属性列,操作列,编辑项控制器
27026
27351
  *
27027
27352
  * @author zk
27028
27353
  * @date 2023-09-21 06:09:37
@@ -27032,7 +27357,7 @@ var TreeGridExController = class extends MDControlController {
27032
27357
  * @memberof TreeGridExController
27033
27358
  */
27034
27359
  async initColumnsController(column) {
27035
- const provider = await getGridColumnProvider(column);
27360
+ const provider = await getTreeGridExColumnProvider(column);
27036
27361
  if (!provider) {
27037
27362
  return;
27038
27363
  }
@@ -27046,7 +27371,7 @@ var TreeGridExController = class extends MDControlController {
27046
27371
  }
27047
27372
  }
27048
27373
  /**
27049
- * 初始化表格列状态
27374
+ * 初始化树表格(增强)列状态
27050
27375
  *
27051
27376
  * @author zk
27052
27377
  * @date 2023-09-21 06:09:43
@@ -27054,20 +27379,15 @@ var TreeGridExController = class extends MDControlController {
27054
27379
  * @memberof TreeGridExController
27055
27380
  */
27056
27381
  initColumnStates() {
27057
- recursiveIterate11(
27058
- this.model,
27059
- (column) => {
27060
- if (column.columnType !== "GROUPGRIDCOLUMN") {
27061
- this.state.columnStates.push({
27062
- key: column.codeName,
27063
- caption: column.caption,
27064
- hidden: !!column.hideDefault,
27065
- uaColumn: column.columnType === "UAGRIDCOLUMN"
27066
- });
27067
- }
27068
- },
27069
- { childrenFields: ["detreeColumns"] }
27070
- );
27382
+ var _a;
27383
+ (_a = this.model.detreeColumns) == null ? void 0 : _a.forEach((column) => {
27384
+ this.state.columnStates.push({
27385
+ key: column.codeName,
27386
+ caption: column.caption,
27387
+ hidden: !!column.hideDefault,
27388
+ uaColumn: column.columnType === "UAGRIDCOLUMN"
27389
+ });
27390
+ });
27071
27391
  this.calcColumnFixed();
27072
27392
  }
27073
27393
  /**
@@ -27086,92 +27406,194 @@ var TreeGridExController = class extends MDControlController {
27086
27406
  showColumns.forEach((column, index) => {
27087
27407
  if (column.uaColumn) {
27088
27408
  column.fixed = index + 1 <= Math.floor(allNum / 2) ? "left" : "right";
27089
- } else {
27090
- column.fixed = "right";
27091
27409
  }
27092
27410
  });
27093
27411
  }
27094
27412
  /**
27095
- * 树部件加载,从根节点开始重新加载
27096
- *
27097
- * @author zk
27098
- * @date 2023-09-21 06:09:56
27099
- * @param {MDCtrlLoadParams} [args={}]
27100
- * @return {*} {Promise<ITreeNodeData[]>}
27101
- * @memberof TreeGridExController
27413
+ * 获取树表格行数据
27414
+ * @author lxm
27415
+ * @date 2023-12-22 02:23:44
27416
+ * @param {string} key 可以是节点id也可以是_uuid
27417
+ * @return {*} {(ITreeGridExRowState | undefined)}
27102
27418
  */
27103
- async load(args = {}) {
27104
- const isInitialLoad = args.isInitialLoad === true;
27105
- const nodes = await this.loadNodes();
27106
- this.state.expandedKeys = this.calcExpandedKeys(nodes);
27107
- await this.afterLoad(args, nodes);
27108
- this.state.isLoaded = true;
27109
- await this.evt.emit("onLoadSuccess", {
27110
- isInitialLoad
27419
+ getRowState(key) {
27420
+ const nodeData = this.getNodeData(key);
27421
+ if (nodeData) {
27422
+ return this.state.rows[nodeData._uuid];
27423
+ }
27424
+ }
27425
+ async afterLoadNodes(nodes) {
27426
+ await super.afterLoadNodes(nodes);
27427
+ recursiveIterate11({ children: nodes }, (node) => {
27428
+ this.state.rows[node._uuid] = new TreeGridExRowState(node, this);
27111
27429
  });
27112
- return nodes;
27113
27430
  }
27114
27431
  /**
27115
- * 加载子节点数据
27432
+ * 转换各类多语言
27116
27433
  *
27117
- * @author zk
27118
- * @date 2023-09-21 06:09:02
27119
- * @param {ITreeNodeData} [parentNode]
27120
- * @return {*} {Promise<ITreeNodeData[]>}
27121
- * @memberof TreeGridExController
27434
+ * @date 2023-05-18 02:57:00
27435
+ * @protected
27122
27436
  */
27123
- async loadNodes(parentNode) {
27124
- const params = await this.getFetchParams();
27125
- const hasQuery = !!params.query;
27126
- const defaultExpandedKeys = !parentNode ? this.state.defaultExpandedKeys : void 0;
27127
- await this.startLoading();
27128
- let nodes;
27129
- try {
27130
- nodes = await this.service.fetchChildNodes(parentNode, {
27131
- context: this.context.clone(),
27132
- params,
27133
- hasQuery,
27134
- defaultExpandedKeys
27135
- }) || [];
27136
- } finally {
27137
- await this.endLoading();
27138
- }
27139
- if (parentNode) {
27140
- parentNode.children = nodes;
27141
- } else {
27142
- this.state.rootNodes = nodes;
27437
+ convertMultipleLanguages() {
27438
+ const convertColumnCaption = (columns) => {
27439
+ columns.forEach((column) => {
27440
+ if (column.capLanguageRes && column.capLanguageRes.lanResTag) {
27441
+ column.caption = ibiz.i18n.t(
27442
+ column.capLanguageRes.lanResTag,
27443
+ column.caption
27444
+ );
27445
+ }
27446
+ });
27447
+ };
27448
+ if (this.model.detreeColumns && this.model.detreeColumns.length > 0) {
27449
+ convertColumnCaption(this.model.detreeColumns);
27143
27450
  }
27144
- this.state.items = [];
27145
- recursiveIterate11(
27146
- { children: this.state.rootNodes },
27147
- (node) => {
27148
- this.state.items.push(node);
27149
- }
27451
+ }
27452
+ };
27453
+
27454
+ // src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.ts
27455
+ var TreeGridExColumnController = class {
27456
+ /**
27457
+ * Creates an instance of GridFieldColumnController.
27458
+ * @author lxm
27459
+ * @date 2022-08-24 20:08:22
27460
+ * @param {T} model
27461
+ */
27462
+ constructor(model, treeGrid) {
27463
+ /**
27464
+ * 是否是自适应列
27465
+ * @author lxm
27466
+ * @date 2023-07-07 11:20:16
27467
+ * @type {boolean}
27468
+ */
27469
+ this.isAdaptiveColumn = false;
27470
+ /**
27471
+ * 是否是脚本代码
27472
+ * @return {*}
27473
+ * @author: zhujiamin
27474
+ * @Date: 2023-08-15 10:51:25
27475
+ */
27476
+ this.isCustomCode = false;
27477
+ this.model = model;
27478
+ this.treeGrid = treeGrid;
27479
+ this.isAdaptiveColumn = model.widthUnit === "STAR";
27480
+ }
27481
+ /**
27482
+ * 上下文
27483
+ *
27484
+ * @author lxm
27485
+ * @date 2022-09-05 19:09:24
27486
+ * @readonly
27487
+ * @type {IContext}
27488
+ */
27489
+ get context() {
27490
+ return this.treeGrid.context;
27491
+ }
27492
+ /**
27493
+ * 视图参数
27494
+ *
27495
+ * @author lxm
27496
+ * @date 2022-09-05 19:09:00
27497
+ * @readonly
27498
+ * @type {IParams}
27499
+ */
27500
+ get params() {
27501
+ return this.treeGrid.params;
27502
+ }
27503
+ /**
27504
+ * 是否是第一个显示的树表格列
27505
+ * @author lxm
27506
+ * @date 2023-12-22 03:28:10
27507
+ * @readonly
27508
+ * @type {boolean}
27509
+ */
27510
+ get isFirstShowColumn() {
27511
+ const firstColumn = this.treeGrid.state.columnStates.find(
27512
+ (item) => !item.hidden
27150
27513
  );
27151
- return nodes;
27514
+ return (firstColumn == null ? void 0 : firstColumn.key) === this.model.codeName;
27152
27515
  }
27153
27516
  /**
27154
- * 计算展开节点集合
27517
+ * 子类不可覆盖或重写此方法,在 init 时需要重写的使用 onInit 方法。
27155
27518
  *
27156
- * @author zk
27157
- * @date 2023-09-21 06:09:07
27158
- * @param {ITreeNodeData[]} nodes
27159
- * @return {*} {string[]}
27160
- * @memberof TreeGridExController
27519
+ * @author lxm
27520
+ * @date 2022-08-18 22:08:30
27521
+ * @returns {*} {Promise<void>}
27161
27522
  */
27162
- calcExpandedKeys(nodes) {
27163
- let expandedKeys = [];
27164
- recursiveIterate11({ children: nodes }, (node) => {
27165
- var _a;
27166
- if ((_a = node.children) == null ? void 0 : _a.length) {
27167
- expandedKeys.push(node.id);
27523
+ async init() {
27524
+ await this.onInit();
27525
+ }
27526
+ /**
27527
+ * 初始化方法
27528
+ *
27529
+ * @author lxm
27530
+ * @date 2022-09-28 15:09:15
27531
+ * @protected
27532
+ * @returns {*} {Promise<void>}
27533
+ */
27534
+ async onInit() {
27535
+ }
27536
+ };
27537
+
27538
+ // src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.ts
27539
+ var TreeGridExFieldColumnController = class extends TreeGridExColumnController {
27540
+ };
27541
+
27542
+ // src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.ts
27543
+ import { RuntimeModelError as RuntimeModelError63 } from "@ibiz-template/core";
27544
+ var TreeGridExUAColumnController = class extends TreeGridExColumnController {
27545
+ /**
27546
+ * 给rowController初始化操作列的状态
27547
+ *
27548
+ * @author lxm
27549
+ * @date 2022-09-07 21:09:43
27550
+ * @param {ITreeGridExRowState} row
27551
+ */
27552
+ initActionStates(row) {
27553
+ var _a;
27554
+ const { deuiactionGroup } = this.model;
27555
+ if (!deuiactionGroup) {
27556
+ throw new RuntimeModelError63(this.model, "\u64CD\u4F5C\u5217\u6CA1\u6709\u914D\u7F6E\u754C\u9762\u884C\u4E3A\u7EC4");
27557
+ }
27558
+ if (!((_a = deuiactionGroup.uiactionGroupDetails) == null ? void 0 : _a.length)) {
27559
+ ibiz.log.debug("\u64CD\u4F5C\u5217\u754C\u9762\u884C\u4E3A\u7EC4\u6CA1\u6709\u914D\u7F6E\u754C\u9762\u884C\u4E3A");
27560
+ return;
27561
+ }
27562
+ const containerState = new ButtonContainerState();
27563
+ deuiactionGroup.uiactionGroupDetails.forEach((detail) => {
27564
+ const actionid = detail.uiactionId;
27565
+ if (actionid) {
27566
+ const buttonState = new UIActionButtonState(
27567
+ detail.id,
27568
+ this.treeGrid.context.srfappid,
27569
+ actionid
27570
+ );
27571
+ containerState.addState(detail.id, buttonState);
27168
27572
  }
27169
27573
  });
27170
- if (this.state.defaultExpandedKeys.length) {
27171
- expandedKeys.push(...this.state.defaultExpandedKeys);
27172
- expandedKeys = Array.from(new Set(expandedKeys));
27173
- }
27174
- return expandedKeys;
27574
+ row.uaColStates[this.model.codeName] = containerState;
27575
+ }
27576
+ /**
27577
+ * 触发操作列点击事件
27578
+ *
27579
+ * @author lxm
27580
+ * @date 2022-09-07 22:09:46
27581
+ * @param {IPSUIActionGroupDetail} detail
27582
+ * @param {MouseEvent} event
27583
+ */
27584
+ async onActionClick(detail, row, event) {
27585
+ const actionId = detail.uiactionId;
27586
+ await UIActionUtil.execAndResolved(
27587
+ actionId,
27588
+ {
27589
+ context: this.context,
27590
+ params: this.params,
27591
+ data: [row.data],
27592
+ view: this.treeGrid.view,
27593
+ event
27594
+ },
27595
+ detail.appId
27596
+ );
27175
27597
  }
27176
27598
  };
27177
27599
 
@@ -29231,7 +29653,7 @@ var ViewEngineBase = class {
29231
29653
  };
29232
29654
 
29233
29655
  // src/engine/md-view.engine.ts
29234
- import { RuntimeModelError as RuntimeModelError63 } from "@ibiz-template/core";
29656
+ import { RuntimeModelError as RuntimeModelError64 } from "@ibiz-template/core";
29235
29657
  import { clone as clone24 } from "ramda";
29236
29658
  var MDViewEngine = class extends ViewEngineBase {
29237
29659
  /**
@@ -29415,7 +29837,7 @@ var MDViewEngine = class extends ViewEngineBase {
29415
29837
  view: this.view
29416
29838
  }));
29417
29839
  if (result === -1) {
29418
- throw new RuntimeModelError63(this.view.model, "\u7F3A\u5C11newdata\u7684\u89C6\u56FE\u903B\u8F91");
29840
+ throw new RuntimeModelError64(this.view.model, "\u7F3A\u5C11newdata\u7684\u89C6\u56FE\u903B\u8F91");
29419
29841
  } else {
29420
29842
  return {
29421
29843
  cancel: !result.ok
@@ -29438,7 +29860,7 @@ var MDViewEngine = class extends ViewEngineBase {
29438
29860
  (item) => item.id === "newdata"
29439
29861
  );
29440
29862
  if (!openAppViewLogic) {
29441
- throw new RuntimeModelError63(this.view.model, "\u7F3A\u5C11newdata\u7684\u89C6\u56FE\u903B\u8F91");
29863
+ throw new RuntimeModelError64(this.view.model, "\u7F3A\u5C11newdata\u7684\u89C6\u56FE\u903B\u8F91");
29442
29864
  }
29443
29865
  const params = clone24(this.view.params);
29444
29866
  if (copyMode) {
@@ -29452,7 +29874,7 @@ var MDViewEngine = class extends ViewEngineBase {
29452
29874
  view: this.view
29453
29875
  }));
29454
29876
  if (result === -1) {
29455
- throw new RuntimeModelError63(this.view.model, "\u7F3A\u5C11newdata\u7684\u89C6\u56FE\u903B\u8F91");
29877
+ throw new RuntimeModelError64(this.view.model, "\u7F3A\u5C11newdata\u7684\u89C6\u56FE\u903B\u8F91");
29456
29878
  } else {
29457
29879
  return {
29458
29880
  cancel: !result.ok
@@ -29571,7 +29993,7 @@ var MDViewEngine = class extends ViewEngineBase {
29571
29993
 
29572
29994
  // src/utils/error-handler/default-error-handler.ts
29573
29995
  import {
29574
- RuntimeModelError as RuntimeModelError64,
29996
+ RuntimeModelError as RuntimeModelError65,
29575
29997
  ModelError as ModelError31,
29576
29998
  HttpError as HttpError5,
29577
29999
  NoticeError as NoticeError2,
@@ -29579,7 +30001,7 @@ import {
29579
30001
  } from "@ibiz-template/core";
29580
30002
  var DefaultErrorHandler = class {
29581
30003
  handle(error) {
29582
- if (error instanceof RuntimeModelError64 || error instanceof ModelError31) {
30004
+ if (error instanceof RuntimeModelError65 || error instanceof ModelError31) {
29583
30005
  ibiz.message.error(error.message, 10, true);
29584
30006
  } else if (error instanceof HttpError5) {
29585
30007
  if (error.status === 401) {
@@ -29847,13 +30269,13 @@ var ScriptExecutor = class extends LogicExecutor {
29847
30269
  };
29848
30270
 
29849
30271
  // src/logic-scheduler/executor/app-de-ui-logic-executor.ts
29850
- import { RuntimeModelError as RuntimeModelError65 } from "@ibiz-template/core";
30272
+ import { RuntimeModelError as RuntimeModelError66 } from "@ibiz-template/core";
29851
30273
  var AppDEUILogicExecutor = class extends LogicExecutor {
29852
30274
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
29853
30275
  execute(executeParams) {
29854
30276
  const { appDEUILogicId, appDataEntityId } = this.logic;
29855
30277
  if (!appDEUILogicId) {
29856
- throw new RuntimeModelError65(this.logic, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53\u754C\u9762\u903B\u8F91");
30278
+ throw new RuntimeModelError66(this.logic, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53\u754C\u9762\u903B\u8F91");
29857
30279
  }
29858
30280
  execUILogic(appDEUILogicId, appDataEntityId, executeParams);
29859
30281
  }
@@ -30311,7 +30733,7 @@ var ItemDynaLogicTrigger = class extends LogicTrigger {
30311
30733
  };
30312
30734
 
30313
30735
  // src/logic-scheduler/trigger/timer-trigger.ts
30314
- import { RuntimeError as RuntimeError65, RuntimeModelError as RuntimeModelError66 } from "@ibiz-template/core";
30736
+ import { RuntimeError as RuntimeError65, RuntimeModelError as RuntimeModelError67 } from "@ibiz-template/core";
30315
30737
  var TimerTrigger = class extends LogicTrigger {
30316
30738
  constructor() {
30317
30739
  super(...arguments);
@@ -30319,7 +30741,7 @@ var TimerTrigger = class extends LogicTrigger {
30319
30741
  }
30320
30742
  start() {
30321
30743
  if (!this.logic.timer) {
30322
- throw new RuntimeModelError66(this.logic, "\u5B9A\u65F6\u5668\u7F3A\u5C11\u5B9A\u65F6\u95F4\u9694");
30744
+ throw new RuntimeModelError67(this.logic, "\u5B9A\u65F6\u5668\u7F3A\u5C11\u5B9A\u65F6\u95F4\u9694");
30323
30745
  }
30324
30746
  this.timer = setInterval(() => {
30325
30747
  if (!this.scheduler.defaultParamsCb) {
@@ -30341,7 +30763,7 @@ var TimerTrigger = class extends LogicTrigger {
30341
30763
  import {
30342
30764
  ModelError as ModelError34,
30343
30765
  RuntimeError as RuntimeError66,
30344
- RuntimeModelError as RuntimeModelError67
30766
+ RuntimeModelError as RuntimeModelError68
30345
30767
  } from "@ibiz-template/core";
30346
30768
  import { notNilEmpty as notNilEmpty9 } from "qx-util";
30347
30769
  var AppUILogicExecutor = class extends LogicExecutor {
@@ -30387,7 +30809,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
30387
30809
  } else {
30388
30810
  openViewRef = appUILogic.openDataAppView;
30389
30811
  if (!openViewRef) {
30390
- throw new RuntimeModelError67(
30812
+ throw new RuntimeModelError68(
30391
30813
  appUILogic,
30392
30814
  "opendata\u89C6\u56FE\u903B\u8F91\u6CA1\u6709\u914D\u7F6E\u9ED8\u8BA4\u6253\u5F00\u89C6\u56FE"
30393
30815
  );
@@ -30395,7 +30817,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
30395
30817
  }
30396
30818
  const openView = openViewRef.refAppViewId;
30397
30819
  if (!openView) {
30398
- throw new RuntimeModelError67(
30820
+ throw new RuntimeModelError68(
30399
30821
  appUILogic,
30400
30822
  "opendata\u89C6\u56FE\u903B\u8F91\u7684\u9ED8\u8BA4\u6253\u5F00\u89C6\u56FE\u6CA1\u6709\u5B9E\u9645\u5F15\u7528\u89C6\u56FE"
30401
30823
  );
@@ -30425,7 +30847,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
30425
30847
  );
30426
30848
  const typeFileName = appDataEntity.formTypeAppDEFieldId || appDataEntity.dataTypeAppDEFieldId;
30427
30849
  if (!typeFileName) {
30428
- throw new RuntimeModelError67(
30850
+ throw new RuntimeModelError68(
30429
30851
  appUILogic,
30430
30852
  "".concat(appDataEntity.codeName, "[\u591A\u8868\u5355\u5B9E\u4F53] or [\u7D22\u5F15\u5B9E\u4F53]\u7F3A\u5C11\u7C7B\u578B\u5C5E\u6027\u914D\u7F6E")
30431
30853
  );
@@ -30433,7 +30855,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
30433
30855
  const { data } = parameters;
30434
30856
  const formTypeValue = data[0][typeFileName];
30435
30857
  if (!formTypeValue) {
30436
- throw new RuntimeModelError67(appUILogic, "\u6570\u636E\u6E90\u65E0\u8868\u5355\u7C7B\u578B\u5E94\u7528\u5B9E\u4F53\u5C5E\u6027\u503C");
30858
+ throw new RuntimeModelError68(appUILogic, "\u6570\u636E\u6E90\u65E0\u8868\u5355\u7C7B\u578B\u5E94\u7528\u5B9E\u4F53\u5C5E\u6027\u503C");
30437
30859
  }
30438
30860
  const openViewRefs = appUILogic.openDataAppViews;
30439
30861
  const findView = openViewRefs == null ? void 0 : openViewRefs.find((item) => item.refMode === formTypeValue);
@@ -30475,7 +30897,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
30475
30897
  return viewRef.refMode.toLowerCase() !== parentDeName;
30476
30898
  });
30477
30899
  if (!newViewRef) {
30478
- throw new RuntimeModelError67(
30900
+ throw new RuntimeModelError68(
30479
30901
  appUILogic,
30480
30902
  "\u6CA1\u6709\u627E\u5230\u6279\u6DFB\u52A0\u9700\u8981\u6253\u5F00\u7684\u9009\u62E9\u89C6\u56FE"
30481
30903
  );
@@ -30485,7 +30907,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
30485
30907
  } else {
30486
30908
  newViewRef = newDataAppView;
30487
30909
  if (!newViewRef || !newViewRef.refAppViewId) {
30488
- throw new RuntimeModelError67(
30910
+ throw new RuntimeModelError68(
30489
30911
  appUILogic,
30490
30912
  "newdata\u89C6\u56FE\u903B\u8F91\u6CA1\u6709\u914D\u7F6E\u9ED8\u8BA4\u65B0\u5EFA\u6570\u636E\u89C6\u56FE"
30491
30913
  );
@@ -30543,7 +30965,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
30543
30965
  const { wizardAppView, newDataAppViews } = appUILogic;
30544
30966
  const { context, params, ...rest } = parameters;
30545
30967
  if (!wizardAppView || !wizardAppView.refAppViewId) {
30546
- throw new RuntimeModelError67(appUILogic, "\u7F3A\u5C11\u9ED8\u8BA4\u7D22\u5F15\u5B9E\u4F53\u9009\u62E9\u89C6\u56FE");
30968
+ throw new RuntimeModelError68(appUILogic, "\u7F3A\u5C11\u9ED8\u8BA4\u7D22\u5F15\u5B9E\u4F53\u9009\u62E9\u89C6\u56FE");
30547
30969
  }
30548
30970
  const result = await ibiz.commands.execute(
30549
30971
  OpenAppViewCommand.TAG,
@@ -30594,7 +31016,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
30594
31016
  const minorDERs = selfDe.minorAppDERSs;
30595
31017
  const pickParentDeName = newViewRef.refMode.toLowerCase();
30596
31018
  if (!minorDERs) {
30597
- throw new RuntimeModelError67(selfDe, "\u5B9E\u4F53\u6CA1\u6709\u4ECE\u5173\u7CFB\u96C6\u5408\uFF01");
31019
+ throw new RuntimeModelError68(selfDe, "\u5B9E\u4F53\u6CA1\u6709\u4ECE\u5173\u7CFB\u96C6\u5408\uFF01");
30598
31020
  }
30599
31021
  let pickParentFieldName;
30600
31022
  minorDERs == null ? void 0 : minorDERs.forEach((item) => {
@@ -30693,12 +31115,12 @@ var ControlEventTrigger = class extends LogicTrigger {
30693
31115
  };
30694
31116
 
30695
31117
  // src/logic-scheduler/executor/app-ui-action-executor.ts
30696
- import { RuntimeModelError as RuntimeModelError68 } from "@ibiz-template/core";
31118
+ import { RuntimeModelError as RuntimeModelError69 } from "@ibiz-template/core";
30697
31119
  var AppDEUIActionExecutor = class extends LogicExecutor {
30698
31120
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
30699
31121
  execute(executeParams) {
30700
31122
  if (!this.logic.appDEUIActionId) {
30701
- throw new RuntimeModelError68(
31123
+ throw new RuntimeModelError69(
30702
31124
  this.logic,
30703
31125
  "\u903B\u8F91\u4E2D\u7F3A\u5C11\u89E6\u53D1\u5E94\u7528\u5B9E\u4F53\u754C\u9762\u884C\u4E3Aid"
30704
31126
  );
@@ -31039,6 +31461,7 @@ export {
31039
31461
  StudioViewEvents,
31040
31462
  SysUIActionProvider,
31041
31463
  SysUIActionTag,
31464
+ TREEGRIDEX_COLUMN_PROVIDER_PREFIX,
31042
31465
  TabExpPanelController,
31043
31466
  TextUtil,
31044
31467
  ThemeUtil,
@@ -31048,8 +31471,12 @@ export {
31048
31471
  TreeDataSetNodeData,
31049
31472
  TreeExpBarController,
31050
31473
  TreeGridController,
31474
+ TreeGridExColumnController,
31051
31475
  TreeGridExController,
31476
+ TreeGridExFieldColumnController,
31477
+ TreeGridExRowState,
31052
31478
  TreeGridExService,
31479
+ TreeGridExUAColumnController,
31053
31480
  TreeGridService,
31054
31481
  TreeNodeData,
31055
31482
  TreeService,
@@ -31133,6 +31560,7 @@ export {
31133
31560
  getPlatformType,
31134
31561
  getPortletProvider,
31135
31562
  getRootNode,
31563
+ getTreeGridExColumnProvider,
31136
31564
  getTreeNode,
31137
31565
  getUIActionById,
31138
31566
  getUIActionItemsByActionLevel,
@@ -31168,6 +31596,7 @@ export {
31168
31596
  registerPanelItemProvider,
31169
31597
  registerPlatformProvider,
31170
31598
  registerPortletProvider,
31599
+ registerTreeGridExColumnProvider,
31171
31600
  registerUIActionProvider,
31172
31601
  registerUILogicNodeProvider,
31173
31602
  registerViewProvider,