@ibiz-template/runtime 0.7.41-alpha.113 → 0.7.41-alpha.114

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 (62) hide show
  1. package/dist/index.esm.js +180 -19
  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 +1 -0
  5. package/out/controller/common/control/md-control.controller.js +1 -1
  6. package/out/controller/control/form/form/form.controller.d.ts +9 -1
  7. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  8. package/out/controller/control/form/form/form.controller.js +54 -5
  9. package/out/controller/control/form/form-detail/form-druipart/form-druipart.controller.d.ts.map +1 -1
  10. package/out/controller/control/form/form-detail/form-druipart/form-druipart.controller.js +5 -0
  11. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  12. package/out/controller/control/grid/grid/grid.controller.js +10 -2
  13. package/out/controller/control/md-ctrl/md-ctrl.controller.d.ts.map +1 -1
  14. package/out/controller/control/md-ctrl/md-ctrl.controller.js +10 -2
  15. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts +16 -1
  16. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts.map +1 -1
  17. package/out/controller/control/medit-view-panel/medit-view-panel.controller.js +31 -0
  18. package/out/interface/api/call/i-api-medit-view9.call.d.ts +20 -0
  19. package/out/interface/api/call/i-api-medit-view9.call.d.ts.map +1 -1
  20. package/out/interface/api/common/global-config/i-api-global-common-config.d.ts +9 -0
  21. package/out/interface/api/common/global-config/i-api-global-common-config.d.ts.map +1 -1
  22. package/out/interface/api/controller/control/i-api-medit-view-panel.controller.d.ts +9 -0
  23. package/out/interface/api/controller/control/i-api-medit-view-panel.controller.d.ts.map +1 -1
  24. package/out/interface/controller/state/control/i-tree.state.d.ts +12 -0
  25. package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
  26. package/out/locale/en/index.d.ts +3 -0
  27. package/out/locale/en/index.d.ts.map +1 -1
  28. package/out/locale/en/index.js +3 -0
  29. package/out/locale/zh-CN/index.d.ts +3 -0
  30. package/out/locale/zh-CN/index.d.ts.map +1 -1
  31. package/out/locale/zh-CN/index.js +3 -0
  32. package/out/service/vo/tree-node-data/tree-code-list-node-data.d.ts.map +1 -1
  33. package/out/service/vo/tree-node-data/tree-code-list-node-data.js +2 -0
  34. package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts +14 -0
  35. package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts.map +1 -1
  36. package/out/service/vo/tree-node-data/tree-data-set-node-data.js +33 -0
  37. package/out/service/vo/tree-node-data/tree-node-data.d.ts +16 -0
  38. package/out/service/vo/tree-node-data/tree-node-data.d.ts.map +1 -1
  39. package/out/service/vo/tree-node-data/tree-node-data.js +25 -0
  40. package/out/service/vo/tree-node-data/tree-static-node-data.d.ts.map +1 -1
  41. package/out/service/vo/tree-node-data/tree-static-node-data.js +2 -0
  42. package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
  43. package/out/ui-action/provider/front-ui-action-provider.js +3 -1
  44. package/package.json +2 -2
  45. package/src/config/global-config.ts +1 -0
  46. package/src/controller/common/control/md-control.controller.ts +1 -1
  47. package/src/controller/control/form/form/form.controller.ts +58 -11
  48. package/src/controller/control/form/form-detail/form-druipart/form-druipart.controller.ts +3 -0
  49. package/src/controller/control/grid/grid/grid.controller.ts +12 -2
  50. package/src/controller/control/md-ctrl/md-ctrl.controller.ts +12 -2
  51. package/src/controller/control/medit-view-panel/medit-view-panel.controller.ts +39 -1
  52. package/src/interface/api/call/i-api-medit-view9.call.ts +21 -0
  53. package/src/interface/api/common/global-config/i-api-global-common-config.ts +10 -0
  54. package/src/interface/api/controller/control/i-api-medit-view-panel.controller.ts +10 -0
  55. package/src/interface/controller/state/control/i-tree.state.ts +14 -0
  56. package/src/locale/en/index.ts +4 -0
  57. package/src/locale/zh-CN/index.ts +3 -0
  58. package/src/service/vo/tree-node-data/tree-code-list-node-data.ts +2 -0
  59. package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +35 -0
  60. package/src/service/vo/tree-node-data/tree-node-data.ts +33 -0
  61. package/src/service/vo/tree-node-data/tree-static-node-data.ts +2 -0
  62. package/src/ui-action/provider/front-ui-action-provider.ts +3 -1
package/dist/index.esm.js CHANGED
@@ -20004,7 +20004,8 @@ var GlobalConfig = class {
20004
20004
  aiChunkView: "",
20005
20005
  aiChunkEntity: "",
20006
20006
  counterMaxValue: 99,
20007
- enhancedUI: false
20007
+ enhancedUI: false,
20008
+ maxExportRowsDefault: 1e3
20008
20009
  };
20009
20010
  // 全局分页流布局配置
20010
20011
  this.drtab = {
@@ -35475,7 +35476,7 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
35475
35476
  }
35476
35477
  const params = {
35477
35478
  page: 0,
35478
- size: appDEDataExport.maxRowCount ? appDEDataExport.maxRowCount : 1e3,
35479
+ size: appDEDataExport.maxRowCount ? appDEDataExport.maxRowCount : ibiz.config.common.maxExportRowsDefault,
35479
35480
  ...args.params,
35480
35481
  ...resultParams
35481
35482
  };
@@ -45934,12 +45935,18 @@ var FormController = class extends ControlController {
45934
45935
  * @returns {*} {Promise<boolean>}
45935
45936
  */
45936
45937
  async validate() {
45937
- const values = await Promise.all(
45938
- [...this.formItems, ...this.formMDCtrls, ...this.formDruipart].map(
45939
- (formItem) => formItem.validate()
45940
- )
45941
- );
45942
- return values.findIndex((value) => !value) === -1;
45938
+ const details = [
45939
+ ...this.formItems,
45940
+ ...this.formMDCtrls,
45941
+ ...this.formDruipart
45942
+ ];
45943
+ const values = await Promise.all(details.map((detail) => detail.validate()));
45944
+ const result = values.findIndex((value) => !value) === -1;
45945
+ if (!result) {
45946
+ const failedDetails = details.filter((_, index) => !values[index]);
45947
+ this.logValidateFail(failedDetails);
45948
+ }
45949
+ return result;
45943
45950
  }
45944
45951
  /**
45945
45952
  * @description 处理校验失败
@@ -45972,12 +45979,41 @@ var FormController = class extends ControlController {
45972
45979
  * @memberof FormController
45973
45980
  */
45974
45981
  async silentValidate() {
45982
+ const details = [
45983
+ ...this.formItems,
45984
+ ...this.formMDCtrls,
45985
+ ...this.formDruipart
45986
+ ];
45975
45987
  const values = await Promise.all(
45976
- [...this.formItems, ...this.formMDCtrls, ...this.formDruipart].map(
45977
- (formItem) => formItem.silentValidate()
45978
- )
45988
+ details.map((detail) => detail.silentValidate())
45989
+ );
45990
+ const result = values.findIndex((value) => !value) === -1;
45991
+ if (!result) {
45992
+ const failedDetails = details.filter((_, index) => !values[index]);
45993
+ this.logValidateFail(failedDetails);
45994
+ }
45995
+ return result;
45996
+ }
45997
+ /**
45998
+ * 输出校验失败的错误日志
45999
+ * @description 收集校验失败的表单成员名称,通过 ibiz.log.error 输出。名称使用表单成员标识
46000
+ * @protected
46001
+ * @param {FormDetailController[]} failedDetails 校验失败的表单成员集合
46002
+ * @memberof FormController
46003
+ */
46004
+ logValidateFail(failedDetails) {
46005
+ const separator = ibiz.i18n.t(
46006
+ "runtime.controller.control.form.validateFailSeparator"
46007
+ );
46008
+ const names = failedDetails.map((detail) => detail.model.id || "").filter((name2) => !!name2);
46009
+ if (names.length === 0) {
46010
+ return;
46011
+ }
46012
+ ibiz.log.error(
46013
+ ibiz.i18n.t("runtime.controller.control.form.validateFail", {
46014
+ names: names.join(separator)
46015
+ })
45979
46016
  );
45980
- return values.findIndex((value) => !value) === -1;
45981
46017
  }
45982
46018
  /**
45983
46019
  * 执行对应部件行为消息提示
@@ -46063,7 +46099,14 @@ var FormController = class extends ControlController {
46063
46099
  * @memberof FormController
46064
46100
  */
46065
46101
  setDetailError(name2, message) {
46066
- const detail = this.details[name2];
46102
+ let detail = this.details[name2];
46103
+ if (!detail) {
46104
+ detail = Object.values(this.details).find((item) => {
46105
+ var _a3;
46106
+ const fieldId = (_a3 = item == null ? void 0 : item.model) == null ? void 0 : _a3.appDEFieldId;
46107
+ return !!fieldId && fieldId === name2;
46108
+ });
46109
+ }
46067
46110
  const state = detail == null ? void 0 : detail.state;
46068
46111
  if (state) {
46069
46112
  state.error = message;
@@ -47571,9 +47614,12 @@ var FormDRUIPartController = class extends FormDetailController {
47571
47614
  );
47572
47615
  }
47573
47616
  this.form.evt.on("onBeforeSave", async () => {
47617
+ var _a3;
47574
47618
  if (this.isNeedSyncEmbed && this.embedView && this.embedDataService) {
47575
47619
  await this.saveEmbedViewData();
47576
47620
  await this.SyncEmbedDataToForm();
47621
+ } else if (this.model.needSave && this.embedView) {
47622
+ await ((_a3 = this.embedView) == null ? void 0 : _a3.call("Save" /* SAVE */));
47577
47623
  }
47578
47624
  });
47579
47625
  }
@@ -53219,7 +53265,10 @@ var GridController = class extends MDControlController {
53219
53265
  page: 0,
53220
53266
  offset: (startPage - 1) * size,
53221
53267
  size: (endPage - startPage + 1) * size
53222
- } : { size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || 1e3, page: 0 };
53268
+ } : {
53269
+ size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || ibiz.config.common.maxExportRowsDefault,
53270
+ page: 0
53271
+ };
53223
53272
  data = await this.loadData({ viewParam });
53224
53273
  } else if (type === "selectedRows") {
53225
53274
  data = this.getData();
@@ -53264,7 +53313,10 @@ var GridController = class extends MDControlController {
53264
53313
  page: 0,
53265
53314
  offset: (startPage - 1) * size,
53266
53315
  size: (endPage - startPage + 1) * size
53267
- } : { size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || 1e3, page: 0 };
53316
+ } : {
53317
+ size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || ibiz.config.common.maxExportRowsDefault,
53318
+ page: 0
53319
+ };
53268
53320
  }
53269
53321
  Object.assign(fetchParams, tempParams);
53270
53322
  await this.service.exportData(this.dataExport, this.context, fetchParams);
@@ -55437,6 +55489,30 @@ var TreeNodeData = class {
55437
55489
  }
55438
55490
  return this._deData;
55439
55491
  }
55492
+ /**
55493
+ * @description 计算动态样式表
55494
+ * @protected
55495
+ * @param {IDETreeNode} model
55496
+ * @memberof TreeNodeData
55497
+ */
55498
+ calcDynaClass(model) {
55499
+ const data = this._deData || {};
55500
+ if (model.dynaClass) {
55501
+ this._dynaClass = calcDynaClass(model.dynaClass, data);
55502
+ }
55503
+ }
55504
+ /**
55505
+ * @description 计算图形动态样式表
55506
+ * @protected
55507
+ * @param {IDETreeNode} model
55508
+ * @memberof TreeNodeData
55509
+ */
55510
+ calcShapeDynaClass(model) {
55511
+ const data = this._deData || {};
55512
+ if (model.shapeDynaClass) {
55513
+ this._shapeDynaClass = calcDynaClass(model.shapeDynaClass, data);
55514
+ }
55515
+ }
55440
55516
  };
55441
55517
 
55442
55518
  // src/service/vo/tree-node-data/tree-code-list-node-data.ts
@@ -55466,6 +55542,8 @@ var TreeCodeListNodeData = class extends TreeNodeData {
55466
55542
  this.srfkey = this._value;
55467
55543
  this.srfmajortext = this._text;
55468
55544
  this._icon = this.calcIcon(model, data.sysImage);
55545
+ this.calcDynaClass(model);
55546
+ this.calcShapeDynaClass(model);
55469
55547
  const getDeKey = (key) => {
55470
55548
  if (Object.prototype.hasOwnProperty.call(this._deData, key)) {
55471
55549
  return key;
@@ -55572,6 +55650,8 @@ var TreeDataSetNodeData = class _TreeDataSetNodeData extends TreeNodeData {
55572
55650
  } else if (model.childCntAppDEFieldId) {
55573
55651
  this._leaf = !fieldValueToBoolean(data[model.childCntAppDEFieldId]);
55574
55652
  }
55653
+ this.calcDynaClass(model);
55654
+ this.calcShapeDynaClass(model);
55575
55655
  const dataItemKeyMap = /* @__PURE__ */ new Map();
55576
55656
  const dataItemDefaultMap = /* @__PURE__ */ new Map();
55577
55657
  (_a3 = model.detreeNodeDataItems) == null ? void 0 : _a3.forEach((dataItem) => {
@@ -55727,6 +55807,36 @@ var TreeDataSetNodeData = class _TreeDataSetNodeData extends TreeNodeData {
55727
55807
  }
55728
55808
  return Object.values(icon).length > 0 ? icon : void 0;
55729
55809
  }
55810
+ /**
55811
+ * @description 计算动态样式表(附加实体节点样式表属性)
55812
+ * @protected
55813
+ * @param {IDETreeDataSetNode} model
55814
+ * @memberof TreeDataSetNodeData
55815
+ */
55816
+ calcDynaClass(model) {
55817
+ super.calcDynaClass(model);
55818
+ const { clsAppDEFieldId } = model;
55819
+ if (clsAppDEFieldId && this._deData[clsAppDEFieldId]) {
55820
+ const fieldValue = this._deData[clsAppDEFieldId];
55821
+ this._dynaClass || (this._dynaClass = []);
55822
+ this._dynaClass.push(String(fieldValue));
55823
+ }
55824
+ }
55825
+ /**
55826
+ * @description 计算图形动态样式表(附加实体节点图形样式表属性)
55827
+ * @protected
55828
+ * @param {IDETreeDataSetNode} model
55829
+ * @memberof TreeDataSetNodeData
55830
+ */
55831
+ calcShapeDynaClass(model) {
55832
+ super.calcShapeDynaClass(model);
55833
+ const { shapeClsAppDEFieldId } = model;
55834
+ if (shapeClsAppDEFieldId && this._deData[shapeClsAppDEFieldId]) {
55835
+ const fieldValue = this._deData[shapeClsAppDEFieldId];
55836
+ this._shapeDynaClass || (this._shapeDynaClass = []);
55837
+ this._shapeDynaClass.push(String(fieldValue));
55838
+ }
55839
+ }
55730
55840
  /**
55731
55841
  * 计算节点数据项的自定义脚本内容
55732
55842
  * @author lxm
@@ -55808,6 +55918,8 @@ var TreeStaticNodeData = class extends TreeNodeData {
55808
55918
  this.srfkey = ((_a3 = this._deData) == null ? void 0 : _a3.srfkey) || this._value;
55809
55919
  this.srfmajortext = ((_b2 = this._deData) == null ? void 0 : _b2.srfmajortext) || this._text;
55810
55920
  this._icon = this.calcIcon(model);
55921
+ this.calcDynaClass(model);
55922
+ this.calcShapeDynaClass(model);
55811
55923
  }
55812
55924
  };
55813
55925
 
@@ -61104,7 +61216,10 @@ var MDCtrlController = class extends MDControlController {
61104
61216
  page: 0,
61105
61217
  offset: (startPage - 1) * size,
61106
61218
  size: (endPage - startPage + 1) * size
61107
- } : { size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || 1e3, page: 0 };
61219
+ } : {
61220
+ size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || ibiz.config.common.maxExportRowsDefault,
61221
+ page: 0
61222
+ };
61108
61223
  data = await this.loadData({ viewParam });
61109
61224
  } else if (type === "selectedRows") {
61110
61225
  data = this.getData();
@@ -61197,7 +61312,10 @@ var MDCtrlController = class extends MDControlController {
61197
61312
  page: 0,
61198
61313
  offset: (startPage - 1) * size,
61199
61314
  size: (endPage - startPage + 1) * size
61200
- } : { size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || 1e3, page: 0 };
61315
+ } : {
61316
+ size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || ibiz.config.common.maxExportRowsDefault,
61317
+ page: 0
61318
+ };
61201
61319
  }
61202
61320
  Object.assign(fetchParams, tempParams);
61203
61321
  await this.service.exportData(this.dataExport, this.context, fetchParams);
@@ -63545,6 +63663,43 @@ var MEditViewPanelController = class extends MDControlController {
63545
63663
  getActiveView() {
63546
63664
  return this.embedViews.get(this.state.activeTab);
63547
63665
  }
63666
+ /**
63667
+ * @description 检测实体数据变更,子视图数据变更不应该触发列表加载
63668
+ * @protected
63669
+ * @param {IPortalMessage} _msg
63670
+ * @memberof MEditViewPanelController
63671
+ */
63672
+ onDEDataChange(_msg) {
63673
+ ibiz.log.debug(
63674
+ ibiz.i18n.t("runtime.controller.control.meditViewPanel.ignoreDataChange")
63675
+ );
63676
+ }
63677
+ /**
63678
+ * @description 保存数据
63679
+ * @param {IApiFormSaveParams} [args]
63680
+ * @returns {*} {Promise<IApiData[]>}
63681
+ * @memberof MEditViewPanelController
63682
+ */
63683
+ async save(args = { silent: true }) {
63684
+ if (this.state.panelUiItems.length === 0) {
63685
+ return [];
63686
+ }
63687
+ const allViews = this.state.panelUiItems.map((item) => {
63688
+ return this.embedViews.get(item.id);
63689
+ });
63690
+ if (allViews.length === 0) {
63691
+ return [];
63692
+ }
63693
+ const result = await Promise.all(
63694
+ allViews.map(async (view) => {
63695
+ return view == null ? void 0 : view.call("Save" /* SAVE */, args);
63696
+ })
63697
+ );
63698
+ return result.flatMap((r) => {
63699
+ var _a3;
63700
+ return (_a3 = r == null ? void 0 : r.data) != null ? _a3 : [];
63701
+ });
63702
+ }
63548
63703
  };
63549
63704
 
63550
63705
  // src/controller/control/map/map.service.ts
@@ -91223,6 +91378,8 @@ var en = {
91223
91378
  },
91224
91379
  form: {
91225
91380
  formCompletion: "Please check the form completion!",
91381
+ validateFail: "Form validation failed, failed fields include: {names}",
91382
+ validateFailSeparator: ", ",
91226
91383
  savedSuccessfully: "{srfmajortext}Saved successfully!",
91227
91384
  prompt: "prompt",
91228
91385
  deletion: "Confirm deletion?",
@@ -91281,7 +91438,8 @@ var en = {
91281
91438
  },
91282
91439
  meditViewPanel: {
91283
91440
  DraftNew: "Draft - New",
91284
- dataExist: "Edit View Panel widget UI data does not exist"
91441
+ dataExist: "Edit View Panel widget UI data does not exist",
91442
+ ignoreDataChange: "Ignore data changes in the multi-edit panel"
91285
91443
  },
91286
91444
  panel: {
91287
91445
  panelData: "Panel data not captured"
@@ -91910,6 +92068,8 @@ var zhCn = {
91910
92068
  },
91911
92069
  form: {
91912
92070
  formCompletion: "\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\uFF01",
92071
+ validateFail: "\u8868\u5355\u6821\u9A8C\u5931\u8D25\uFF0C\u5931\u8D25\u8868\u5355\u6210\u5458\u5305\u542B: {names}",
92072
+ validateFailSeparator: "\u3001",
91913
92073
  savedSuccessfully: "{srfmajortext}\u4FDD\u5B58\u6210\u529F",
91914
92074
  prompt: "\u63D0\u793A",
91915
92075
  deletion: "\u786E\u8BA4\u5220\u9664\u5417\uFF1F",
@@ -91968,7 +92128,8 @@ var zhCn = {
91968
92128
  },
91969
92129
  meditViewPanel: {
91970
92130
  DraftNew: "\u8349\u7A3F--\u65B0\u5EFA",
91971
- dataExist: "\u7F16\u8F91\u89C6\u56FE\u9762\u677F\u90E8\u4EF6UI\u6570\u636E\u4E0D\u5B58\u5728"
92131
+ dataExist: "\u7F16\u8F91\u89C6\u56FE\u9762\u677F\u90E8\u4EF6UI\u6570\u636E\u4E0D\u5B58\u5728",
92132
+ ignoreDataChange: "\u591A\u7F16\u8F91\u9762\u677F\u5FFD\u7565\u6570\u636E\u53D8\u66F4"
91972
92133
  },
91973
92134
  panel: {
91974
92135
  panelData: "\u672A\u83B7\u53D6\u5230\u9762\u677F\u6570\u636E"