@ibiz-template/runtime 0.7.24-alpha.0 → 0.7.24

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 (64) hide show
  1. package/dist/index.esm.js +239 -108
  2. package/dist/index.system.min.js +1 -1
  3. package/out/app-hub.d.ts +1 -1
  4. package/out/app-hub.d.ts.map +1 -1
  5. package/out/app-hub.js +2 -2
  6. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  7. package/out/controller/common/control/control.controller.js +2 -2
  8. package/out/controller/common/control/md-control.controller.d.ts +8 -0
  9. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  10. package/out/controller/common/control/md-control.controller.js +12 -0
  11. package/out/controller/common/editor/code-list-editor.controller.d.ts +8 -0
  12. package/out/controller/common/editor/code-list-editor.controller.d.ts.map +1 -1
  13. package/out/controller/common/editor/code-list-editor.controller.js +10 -0
  14. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  15. package/out/controller/common/view/view.controller.js +2 -0
  16. package/out/controller/control/data-view/data-view.controller.d.ts +0 -7
  17. package/out/controller/control/data-view/data-view.controller.d.ts.map +1 -1
  18. package/out/controller/control/data-view/data-view.controller.js +0 -11
  19. package/out/controller/control/form/form-detail/form-detail/form-detail.state.d.ts +8 -0
  20. package/out/controller/control/form/form-detail/form-detail/form-detail.state.d.ts.map +1 -1
  21. package/out/controller/control/form/form-detail/form-detail/form-detail.state.js +9 -1
  22. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  23. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +3 -0
  24. package/out/controller/control/gantt/gantt.controller.js +1 -1
  25. package/out/controller/control/grid/grid/entity-schema.d.ts.map +1 -1
  26. package/out/controller/control/grid/grid/entity-schema.js +32 -30
  27. package/out/controller/control/grid/grid/grid.controller.d.ts +8 -0
  28. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  29. package/out/controller/control/grid/grid/grid.controller.js +58 -25
  30. package/out/controller/control/list/list.controller.d.ts +0 -7
  31. package/out/controller/control/list/list.controller.d.ts.map +1 -1
  32. package/out/controller/control/list/list.controller.js +0 -11
  33. package/out/controller/control/search-bar/search-bar.controller.js +2 -1
  34. package/out/controller/control/tree/tree.service.js +1 -1
  35. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts.map +1 -1
  36. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.js +10 -6
  37. package/out/controller/utils/code-list/code-list.d.ts +11 -0
  38. package/out/controller/utils/code-list/code-list.d.ts.map +1 -0
  39. package/out/controller/utils/code-list/code-list.js +35 -0
  40. package/out/controller/utils/index.d.ts +1 -0
  41. package/out/controller/utils/index.d.ts.map +1 -1
  42. package/out/controller/utils/index.js +1 -0
  43. package/out/engine/md-view.engine.js +2 -2
  44. package/out/hub/config/app-view-config-service.d.ts +1 -1
  45. package/out/hub/config/app-view-config-service.d.ts.map +1 -1
  46. package/out/hub/config/app-view-config-service.js +2 -2
  47. package/out/interface/controller/state/control/i-drtab.state.d.ts +8 -0
  48. package/out/interface/controller/state/control/i-drtab.state.d.ts.map +1 -1
  49. package/out/interface/controller/state/control/i-grid.state.d.ts +8 -0
  50. package/out/interface/controller/state/control/i-grid.state.d.ts.map +1 -1
  51. package/out/interface/service/code-list-item/code-list-item.d.ts +28 -0
  52. package/out/interface/service/code-list-item/code-list-item.d.ts.map +1 -1
  53. package/out/locale/en/index.d.ts +1 -1
  54. package/out/locale/en/index.js +1 -1
  55. package/out/locale/zh-CN/index.d.ts +1 -1
  56. package/out/locale/zh-CN/index.d.ts.map +1 -1
  57. package/out/locale/zh-CN/index.js +1 -1
  58. package/out/service/service/authority/de-authority.service.js +2 -2
  59. package/out/service/service/code-list/code-list.service.d.ts.map +1 -1
  60. package/out/service/service/code-list/code-list.service.js +4 -0
  61. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +1 -1
  62. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
  63. package/out/service/utils/dynamic-code-list/dynamic-code-list.js +44 -6
  64. package/package.json +4 -4
package/dist/index.esm.js CHANGED
@@ -4826,7 +4826,7 @@ var DynamicCodeListCache = class {
4826
4826
  * @param {IData} data
4827
4827
  * @returns {*}
4828
4828
  */
4829
- convertData(data) {
4829
+ convertData(data, index, items) {
4830
4830
  const result = {};
4831
4831
  const {
4832
4832
  valueAppDEFieldId,
@@ -4838,7 +4838,12 @@ var DynamicCodeListCache = class {
4838
4838
  disableAppDEFieldId,
4839
4839
  dataAppDEFieldId,
4840
4840
  clsAppDEFieldId,
4841
- colorAppDEFieldId
4841
+ colorAppDEFieldId,
4842
+ thresholdGroup,
4843
+ beginValueAppDEFieldId,
4844
+ endValueAppDEFieldId,
4845
+ incBeginValueMode,
4846
+ incEndValueMode
4842
4847
  } = this.codeList;
4843
4848
  const value = valueAppDEFieldId ? data[valueAppDEFieldId] : data.srfkey;
4844
4849
  result.id = value;
@@ -4878,6 +4883,42 @@ var DynamicCodeListCache = class {
4878
4883
  ibiz.log.error(ibiz.i18n.t("runtime.service.dynamicCodeTable"));
4879
4884
  }
4880
4885
  }
4886
+ if (thresholdGroup) {
4887
+ if (beginValueAppDEFieldId) {
4888
+ result.beginValue = data[beginValueAppDEFieldId];
4889
+ }
4890
+ if (endValueAppDEFieldId) {
4891
+ result.endValue = data[endValueAppDEFieldId];
4892
+ }
4893
+ if (incBeginValueMode) {
4894
+ switch (incBeginValueMode) {
4895
+ case 1:
4896
+ result.includeBeginValue = true;
4897
+ break;
4898
+ case 2:
4899
+ result.includeBeginValue = index === 0;
4900
+ break;
4901
+ case 3:
4902
+ result.includeBeginValue = index === items.length - 1;
4903
+ break;
4904
+ default:
4905
+ }
4906
+ }
4907
+ if (incEndValueMode) {
4908
+ switch (incEndValueMode) {
4909
+ case 1:
4910
+ result.includeEndValue = true;
4911
+ break;
4912
+ case 2:
4913
+ result.includeEndValue = index === 0;
4914
+ break;
4915
+ case 3:
4916
+ result.includeEndValue = index === items.length - 1;
4917
+ break;
4918
+ default:
4919
+ }
4920
+ }
4921
+ }
4881
4922
  return result;
4882
4923
  }
4883
4924
  presetconvertData(data) {
@@ -4986,8 +5027,8 @@ var DynamicCodeListCache = class {
4986
5027
  resultItems = tempItems;
4987
5028
  }
4988
5029
  } else {
4989
- res.data.forEach((item) => {
4990
- resultItems.push(this.convertData(item));
5030
+ res.data.forEach((item, index) => {
5031
+ resultItems.push(this.convertData(item, index, res.data));
4991
5032
  });
4992
5033
  }
4993
5034
  }
@@ -5002,8 +5043,12 @@ var DynamicCodeListCache = class {
5002
5043
  const { valueAppDEFieldId, pvalueAppDEFieldId } = this.codeList;
5003
5044
  const map = {};
5004
5045
  const nestedList = [];
5005
- items.forEach((data) => {
5006
- map[data[valueAppDEFieldId]] = this.convertData(data);
5046
+ items.forEach((data, index) => {
5047
+ map[data[valueAppDEFieldId]] = this.convertData(
5048
+ data,
5049
+ index,
5050
+ items
5051
+ );
5007
5052
  });
5008
5053
  items.forEach((data) => {
5009
5054
  const parent = map[data[pvalueAppDEFieldId]];
@@ -5940,7 +5985,11 @@ var CodeListService = class {
5940
5985
  // 代码项数据
5941
5986
  data: codeItem.data ? ScriptFactory.execSingleLine(codeItem.data) : void 0,
5942
5987
  sysImage: codeItem.sysImage,
5943
- userData: codeItem.userData
5988
+ userData: codeItem.userData,
5989
+ beginValue: codeItem.beginValue,
5990
+ endValue: codeItem.endValue,
5991
+ includeBeginValue: codeItem.includeBeginValue,
5992
+ includeEndValue: codeItem.includeEndValue
5944
5993
  };
5945
5994
  if ((_a = codeItem.codeItems) == null ? void 0 : _a.length) {
5946
5995
  _codeItem.children = this.formatStaticItems(
@@ -7911,9 +7960,9 @@ var DeAuthorityService = class {
7911
7960
  return result;
7912
7961
  }
7913
7962
  const appDataEntity = this.entityModel;
7914
- if (!appDataEntity.enableDEMainState) {
7963
+ if (!appDataEntity.enableDEMainState || !appDataEntity.demainStates) {
7915
7964
  ibiz.log.debug(
7916
- ibiz.i18n.t("runtime.service.masterState", {
7965
+ ibiz.i18n.t("runtime.service.mainState", {
7917
7966
  codeName: appDataEntity.codeName
7918
7967
  })
7919
7968
  );
@@ -15661,9 +15710,9 @@ var AppViewConfigService = class {
15661
15710
  * @param {string} tag
15662
15711
  * @return {*} {string}
15663
15712
  */
15664
- calcAppViewId(tag) {
15713
+ calcAppViewId(tag = "") {
15665
15714
  let id = "";
15666
- if (tag.indexOf(".") !== -1) {
15715
+ if (tag && tag.indexOf(".") !== -1) {
15667
15716
  const ids = tag.split(".");
15668
15717
  id = ids[ids.length - 1];
15669
15718
  } else {
@@ -17399,6 +17448,32 @@ var ViewMsgController = class _ViewMsgController {
17399
17448
  }
17400
17449
  };
17401
17450
 
17451
+ // src/controller/utils/code-list/code-list.ts
17452
+ function calcThresholdRange(codelist, value) {
17453
+ return codelist.find((item) => {
17454
+ if (!item.beginValue && !item.endValue) {
17455
+ return item.value == value;
17456
+ }
17457
+ let beginCond = true;
17458
+ if (item.beginValue) {
17459
+ if (item.includeBeginValue) {
17460
+ beginCond = value >= item.beginValue;
17461
+ } else {
17462
+ beginCond = value > item.beginValue;
17463
+ }
17464
+ }
17465
+ let endCond = true;
17466
+ if (item.endValue) {
17467
+ if (item.includeEndValue) {
17468
+ endCond = value <= item.endValue;
17469
+ } else {
17470
+ endCond = value < item.endValue;
17471
+ }
17472
+ }
17473
+ return beginCond && endCond;
17474
+ });
17475
+ }
17476
+
17402
17477
  // src/controller/common/base.controller.ts
17403
17478
  var SELF_KEY = "__self";
17404
17479
  var BaseController = class {
@@ -17808,6 +17883,7 @@ var ViewController = class extends BaseController {
17808
17883
  this.state.isShortCut = false;
17809
17884
  }
17810
17885
  async onCreated() {
17886
+ this.state.isLoading = true;
17811
17887
  await super.onCreated();
17812
17888
  this.modal.hooks.beforeDismiss.tapPromise(async (modalData) => {
17813
17889
  if (isNotNil2(this.state.closeOK)) {
@@ -17851,6 +17927,7 @@ var ViewController = class extends BaseController {
17851
17927
  await Promise.all(this.engines.map((engine2) => engine2.onCreated()));
17852
17928
  }
17853
17929
  ibiz.mc.error.on(this.handleViewError);
17930
+ this.state.isLoading = false;
17854
17931
  }
17855
17932
  async onMounted() {
17856
17933
  var _a;
@@ -18390,6 +18467,16 @@ var EditorController = class {
18390
18467
  // src/controller/common/editor/code-list-editor.controller.ts
18391
18468
  import { RuntimeModelError as RuntimeModelError25 } from "@ibiz-template/core";
18392
18469
  var CodeListEditorController = class extends EditorController {
18470
+ /**
18471
+ * 是否转化为代码项文本
18472
+ *
18473
+ * @readonly
18474
+ * @type {boolean}
18475
+ * @memberof CodeListEditorController
18476
+ */
18477
+ get convertToCodeItemText() {
18478
+ return !!this.parent.model.convertToCodeItemText;
18479
+ }
18393
18480
  /**
18394
18481
  * 加载代码表数据
18395
18482
  * @return {*}
@@ -18497,6 +18584,7 @@ var ControlController = class extends BaseController {
18497
18584
  }
18498
18585
  }
18499
18586
  this.updateContextParams({});
18587
+ this.handleControlParams();
18500
18588
  }
18501
18589
  get _evt() {
18502
18590
  return this.evt;
@@ -18540,7 +18628,6 @@ var ControlController = class extends BaseController {
18540
18628
  const provider = await getControlProvider(this.controlPanel);
18541
18629
  this.providers[this.controlPanel.name] = provider;
18542
18630
  }
18543
- this.handleControlParams();
18544
18631
  this.initControlScheduler(this.model.controlLogics);
18545
18632
  if ((_a = this.scheduler) == null ? void 0 : _a.hasControlEventTrigger) {
18546
18633
  this._evt.onAll((eventName, event) => {
@@ -19064,6 +19151,18 @@ var MDControlController = class extends ControlController {
19064
19151
  }
19065
19152
  return resultParams;
19066
19153
  }
19154
+ /**
19155
+ * 加载更多
19156
+ *
19157
+ * @author zhanghengfeng
19158
+ * @date 2024-06-11 19:06:15
19159
+ * @return {*} {Promise<void>}
19160
+ */
19161
+ async loadMore() {
19162
+ if (this.state.total > this.state.items.length) {
19163
+ await this.load({ isLoadMore: true });
19164
+ }
19165
+ }
19067
19166
  /**
19068
19167
  * 部件加载数据行为
19069
19168
  *
@@ -25358,17 +25457,6 @@ var DataViewControlController = class extends MDControlController {
25358
25457
  }
25359
25458
  }
25360
25459
  }
25361
- /**
25362
- * 加载更多
25363
- *
25364
- * @return {*} {Promise<void>}
25365
- * @memberof DataViewControlController
25366
- */
25367
- async loadMore() {
25368
- if (this.state.total > this.state.items.length) {
25369
- await this.load({ isLoadMore: true });
25370
- }
25371
- }
25372
25460
  /**
25373
25461
  * 计算表格展示模式
25374
25462
  * @author fzh
@@ -27176,6 +27264,14 @@ var FormDetailState = class {
27176
27264
  * @type {boolean}
27177
27265
  */
27178
27266
  this.readonly = false;
27267
+ /**
27268
+ * 是否识别srfreadonly
27269
+ *
27270
+ * @author zhanghengfeng
27271
+ * @date 2024-06-13 13:06:50
27272
+ * @type {boolean}
27273
+ */
27274
+ this.enableReadonly = true;
27179
27275
  let $visible = true;
27180
27276
  Object.defineProperty(this, "visible", {
27181
27277
  enumerable: true,
@@ -27222,7 +27318,7 @@ var FormDetailState = class {
27222
27318
  if ($readonly !== void 0) {
27223
27319
  return $readonly;
27224
27320
  }
27225
- if (this.context) {
27321
+ if (this.context && this.enableReadonly) {
27226
27322
  return !!(this.context.srfreadonly === true || this.context.srfreadonly === "true");
27227
27323
  }
27228
27324
  return false;
@@ -28027,6 +28123,7 @@ var FormItemController = class extends FormDetailController {
28027
28123
  * @type {IData[]}
28028
28124
  */
28029
28125
  this.rules = [];
28126
+ this.state.enableReadonly = this.form.getControlType() !== "SEARCHFORM" /* SEARCHFORM */;
28030
28127
  }
28031
28128
  createState() {
28032
28129
  var _a;
@@ -30291,36 +30388,6 @@ async function calcColumnModelBySchema(json, c) {
30291
30388
  if (!(Object.keys(properties).length > 0)) {
30292
30389
  return;
30293
30390
  }
30294
- const addFields = [];
30295
- Object.keys(properties).forEach((key) => {
30296
- let type;
30297
- switch (properties[key].type) {
30298
- case "string":
30299
- type = "string";
30300
- if (properties[key].format === "date-time") {
30301
- type = "date";
30302
- }
30303
- break;
30304
- case "integer":
30305
- type = "integer";
30306
- break;
30307
- case "number":
30308
- type = "number";
30309
- break;
30310
- default:
30311
- ibiz.log.error(
30312
- ibiz.i18n.t("runtime.controller.control.grid.unsupported", {
30313
- type: properties[key].type
30314
- })
30315
- );
30316
- return;
30317
- }
30318
- addFields.push({
30319
- key,
30320
- description: properties[key].description,
30321
- type
30322
- });
30323
- });
30324
30391
  const codeNameToId = {};
30325
30392
  const dataEntity = await ibiz.hub.getAppDataEntity(
30326
30393
  c.model.appDataEntityId,
@@ -30329,12 +30396,44 @@ async function calcColumnModelBySchema(json, c) {
30329
30396
  (_a = dataEntity.appDEFields) == null ? void 0 : _a.forEach((field) => {
30330
30397
  codeNameToId[field.codeName.toLowerCase()] = field.id;
30331
30398
  });
30399
+ const addFields = [];
30400
+ Object.keys(properties).forEach((key) => {
30401
+ if (!codeNameToId[key]) {
30402
+ let type;
30403
+ switch (properties[key].type) {
30404
+ case "string":
30405
+ type = "string";
30406
+ if (properties[key].format === "date-time") {
30407
+ type = "date";
30408
+ }
30409
+ break;
30410
+ case "integer":
30411
+ type = "integer";
30412
+ break;
30413
+ case "number":
30414
+ type = "number";
30415
+ break;
30416
+ default:
30417
+ ibiz.log.error(
30418
+ ibiz.i18n.t("runtime.controller.control.grid.unsupported", {
30419
+ type: properties[key].type
30420
+ })
30421
+ );
30422
+ return;
30423
+ }
30424
+ addFields.push({
30425
+ key,
30426
+ description: properties[key].description,
30427
+ type
30428
+ });
30429
+ }
30430
+ });
30332
30431
  const addColumns = [];
30333
30432
  const addDataItems = [];
30334
30433
  addFields.forEach((item) => {
30335
30434
  addColumns.push({
30336
30435
  appId: c.model.appId,
30337
- appDEFieldId: codeNameToId[item.key],
30436
+ appDEFieldId: item.key,
30338
30437
  id: item.key,
30339
30438
  codeName: item.key,
30340
30439
  columnType: "DEFGRIDCOLUMN",
@@ -30346,7 +30445,7 @@ async function calcColumnModelBySchema(json, c) {
30346
30445
  });
30347
30446
  addDataItems.push({
30348
30447
  appId: c.model.appId,
30349
- appDEFieldId: codeNameToId[item.key],
30448
+ appDEFieldId: item.key,
30350
30449
  id: item.key,
30351
30450
  valueType: "SIMPLE",
30352
30451
  dataType: TypeToDataType[item.type]
@@ -30541,6 +30640,7 @@ var GridController = class extends MDControlController {
30541
30640
  * @returns {*} {Promise<void>}
30542
30641
  */
30543
30642
  async onCreated() {
30643
+ this.addSchemaColumn = this.controlParams.enablejsonschema === "true";
30544
30644
  await this.initByEntitySchema();
30545
30645
  await super.onCreated();
30546
30646
  this.service = new GridService(this.model);
@@ -30606,15 +30706,11 @@ var GridController = class extends MDControlController {
30606
30706
  const { degridColumns, degridDataItems } = result;
30607
30707
  this.model = clone27(this.model);
30608
30708
  this.model.degridColumns = [
30609
- ...(this.model.degridColumns || []).filter((item) => {
30610
- return degridColumns.findIndex((x) => x.id === item.id) === -1;
30611
- }),
30709
+ ...this.model.degridColumns || [],
30612
30710
  ...degridColumns
30613
30711
  ];
30614
30712
  this.model.degridDataItems = [
30615
- ...(this.model.degridDataItems || []).filter((item) => {
30616
- return degridDataItems.findIndex((x) => x.id === item.id) === -1;
30617
- }),
30713
+ ...this.model.degridDataItems || [],
30618
30714
  ...degridDataItems
30619
30715
  ];
30620
30716
  }
@@ -30795,15 +30891,20 @@ var GridController = class extends MDControlController {
30795
30891
  }),
30796
30892
  false
30797
30893
  );
30798
- this.state.rows = items.map((item) => {
30894
+ const rows = items.map((item) => {
30799
30895
  const row = new GridRowState(item, this);
30800
30896
  this.gridStateNotify(row, "LOAD" /* LOAD */);
30801
30897
  return row;
30802
30898
  });
30899
+ if (args.isLoadMore) {
30900
+ this.state.rows.push(...rows);
30901
+ } else {
30902
+ this.state.rows = rows;
30903
+ }
30803
30904
  await this.updateRows(this.state.rows);
30804
- this.calcGroupData(items);
30805
- this.calcAggResult(items);
30806
- this.calcShowMode(items);
30905
+ this.calcGroupData(this.state.items);
30906
+ this.calcAggResult(this.state.items);
30907
+ this.calcShowMode(this.state.items);
30807
30908
  return items;
30808
30909
  }
30809
30910
  /**
@@ -31100,28 +31201,16 @@ var GridController = class extends MDControlController {
31100
31201
  */
31101
31202
  initColumnStates() {
31102
31203
  this.state.columnStates = [];
31103
- const storageColumnStatesStr = localStorage.getItem(
31104
- "".concat(this.view.model.id, ".").concat(this.model.name, ".columnStates")
31105
- );
31106
- if (storageColumnStatesStr) {
31107
- const storageColumnStates = JSON.parse(
31108
- storageColumnStatesStr
31109
- );
31110
- if (this.addSchemaColumn && storageColumnStates.schemaColumnStates) {
31111
- this.state.columnStates = storageColumnStates.schemaColumnStates;
31112
- } else if (!this.addSchemaColumn && storageColumnStates.defaultColumnStates) {
31113
- this.state.columnStates = storageColumnStates.defaultColumnStates;
31114
- }
31115
- }
31116
31204
  if (this.state.columnStates.length === 0) {
31117
31205
  recursiveIterate7(
31118
31206
  this.model,
31119
31207
  (column) => {
31120
- if (column.columnType !== "GROUPGRIDCOLUMN") {
31208
+ if (column.columnType !== "GROUPGRIDCOLUMN" && !(column.hiddenDataItem || column.hideMode === 2)) {
31121
31209
  this.state.columnStates.push({
31122
31210
  key: column.codeName,
31123
31211
  caption: column.caption,
31124
- hidden: !!column.hideDefault || !!column.hiddenDataItem,
31212
+ hidden: !!column.hideDefault,
31213
+ hideMode: column.hideMode || 0,
31125
31214
  uaColumn: column.columnType === "UAGRIDCOLUMN",
31126
31215
  adaptive: column.widthUnit === "STAR"
31127
31216
  });
@@ -31130,8 +31219,50 @@ var GridController = class extends MDControlController {
31130
31219
  { childrenFields: ["degridColumns"] }
31131
31220
  );
31132
31221
  }
31222
+ const storageColumnStatesStr = localStorage.getItem(
31223
+ "".concat(this.view.model.id, ".").concat(this.model.name, ".columnStates")
31224
+ );
31225
+ if (storageColumnStatesStr) {
31226
+ const storageColumnStates = JSON.parse(
31227
+ storageColumnStatesStr
31228
+ );
31229
+ if (this.addSchemaColumn && storageColumnStates.schemaColumnStates) {
31230
+ this.state.columnStates = this.mergeGridColumnStates(
31231
+ this.state.columnStates,
31232
+ storageColumnStates.schemaColumnStates
31233
+ );
31234
+ } else if (!this.addSchemaColumn && storageColumnStates.defaultColumnStates) {
31235
+ this.state.columnStates = this.mergeGridColumnStates(
31236
+ this.state.columnStates,
31237
+ storageColumnStates.defaultColumnStates
31238
+ );
31239
+ }
31240
+ }
31133
31241
  this.calcColumnFixed();
31134
31242
  }
31243
+ /**
31244
+ * 合并表格列状态数组
31245
+ *
31246
+ * @param base 基础表格列状态
31247
+ * @param cache 缓存表格列状态
31248
+ * @returns 以基础表格列状态为主,缓存表格列状态修正基础表格列状态
31249
+ */
31250
+ mergeGridColumnStates(base, cache2) {
31251
+ const columnStates = [];
31252
+ if (base.length > 0) {
31253
+ base.forEach((baseColumnState) => {
31254
+ const cacheColumnState = cache2.find((item) => {
31255
+ return item.key === baseColumnState.key;
31256
+ });
31257
+ if (cacheColumnState) {
31258
+ columnStates.push(cacheColumnState);
31259
+ } else {
31260
+ columnStates.push(baseColumnState);
31261
+ }
31262
+ });
31263
+ }
31264
+ return columnStates;
31265
+ }
31135
31266
  /**
31136
31267
  * 计算列的固定状态
31137
31268
  * @author lxm
@@ -31605,6 +31736,9 @@ var GridController = class extends MDControlController {
31605
31736
  * @Date: 2023-12-19 16:02:14
31606
31737
  */
31607
31738
  setColumnVisible(columnState) {
31739
+ if (columnState.hideMode === 3) {
31740
+ return;
31741
+ }
31608
31742
  columnState.hidden = !columnState.hidden;
31609
31743
  this.calcColumnFixed();
31610
31744
  this.saveColumnStates();
@@ -31624,7 +31758,10 @@ var GridController = class extends MDControlController {
31624
31758
  this.state.sortQuery = "";
31625
31759
  }
31626
31760
  if (data.columnstates) {
31627
- this.state.columnStates = data.columnstates;
31761
+ this.state.columnStates = this.mergeGridColumnStates(
31762
+ this.state.columnStates,
31763
+ data.columnstates
31764
+ );
31628
31765
  this.calcColumnFixed();
31629
31766
  } else {
31630
31767
  this.initColumnStates();
@@ -32471,17 +32608,6 @@ var ListController = class extends MDControlController {
32471
32608
  minorSortDir: this.model.minorSortDir
32472
32609
  };
32473
32610
  }
32474
- /**
32475
- * 加载更多
32476
- * @author lxm
32477
- * @date 2023-05-22 07:33:59
32478
- * @return {*} {Promise<void>}
32479
- */
32480
- async loadMore() {
32481
- if (this.state.total > this.state.items.length) {
32482
- await this.load({ isLoadMore: true });
32483
- }
32484
- }
32485
32611
  /**
32486
32612
  * 计算表格展示模式
32487
32613
  * @author fzh
@@ -34386,9 +34512,10 @@ var SearchBarController = class extends ControlController {
34386
34512
  this.state.visible = !!(this.model.enableQuickSearch || this.model.enableGroup || this.enableFilter);
34387
34513
  }
34388
34514
  async onCreated() {
34515
+ this.addSchemaFilters = this.controlParams.enablejsonschema === "true";
34516
+ this.enableStorage = this.controlParams.storage === "true";
34389
34517
  await this.initByEntitySchema();
34390
34518
  await super.onCreated();
34391
- this.enableStorage = this.controlParams.storage === "true";
34392
34519
  const appDataEntity = await ibiz.hub.getAppDataEntity(
34393
34520
  this.model.appDataEntityId,
34394
34521
  this.context.srfappid
@@ -35359,7 +35486,7 @@ var TreeService = class extends MDControlService {
35359
35486
  if (parentData) {
35360
35487
  data = parentData._deData || {};
35361
35488
  const parentNodeModel = getTreeNode(this.model, parentData._nodeId);
35362
- if (parentNodeModel.appDataEntityId) {
35489
+ if (parentNodeModel && parentNodeModel.appDataEntityId) {
35363
35490
  deName = calcDeCodeNameById(parentNodeModel.appDataEntityId);
35364
35491
  }
35365
35492
  derValue = parentData._value;
@@ -37869,12 +37996,15 @@ var TreeGridExController = class extends TreeController {
37869
37996
  initColumnStates() {
37870
37997
  var _a;
37871
37998
  (_a = this.model.detreeColumns) == null ? void 0 : _a.forEach((column) => {
37872
- this.state.columnStates.push({
37873
- key: column.codeName,
37874
- caption: column.caption,
37875
- hidden: !!column.hideDefault,
37876
- uaColumn: column.columnType === "UAGRIDCOLUMN"
37877
- });
37999
+ if (column.hideMode !== 2) {
38000
+ this.state.columnStates.push({
38001
+ key: column.codeName,
38002
+ caption: column.caption,
38003
+ hidden: !!column.hideDefault,
38004
+ hideMode: column.hideMode || 0,
38005
+ uaColumn: column.columnType === "UAGRIDCOLUMN"
38006
+ });
38007
+ }
37878
38008
  });
37879
38009
  this.calcColumnFixed();
37880
38010
  }
@@ -40125,7 +40255,7 @@ var GanttController = class extends TreeGridExController {
40125
40255
  );
40126
40256
  } else {
40127
40257
  return {
40128
- cancel: !result.ok
40258
+ cancel: result ? !result.ok : true
40129
40259
  };
40130
40260
  }
40131
40261
  }
@@ -41053,9 +41183,9 @@ var AppHub = class {
41053
41183
  * @param {string} tag
41054
41184
  * @return {*} {string}
41055
41185
  */
41056
- calcAppViewId(tag) {
41186
+ calcAppViewId(tag = "") {
41057
41187
  let id = "";
41058
- if (tag.indexOf(".") !== -1) {
41188
+ if (tag && tag.indexOf(".") !== -1) {
41059
41189
  const ids = tag.split(".");
41060
41190
  id = ids[ids.length - 1];
41061
41191
  } else {
@@ -42134,7 +42264,7 @@ var MDViewEngine = class extends ViewEngineBase {
42134
42264
  );
42135
42265
  } else {
42136
42266
  return {
42137
- cancel: !result.ok
42267
+ cancel: result ? !result.ok : true
42138
42268
  };
42139
42269
  }
42140
42270
  }
@@ -42177,7 +42307,7 @@ var MDViewEngine = class extends ViewEngineBase {
42177
42307
  );
42178
42308
  } else {
42179
42309
  return {
42180
- cancel: !result.ok
42310
+ cancel: result ? !result.ok : true
42181
42311
  };
42182
42312
  }
42183
42313
  }
@@ -44081,7 +44211,7 @@ var en = {
44081
44211
  loginFailure: "Login Failure",
44082
44212
  logoutFailure: "Logout failure",
44083
44213
  noFound: "Application entity not found [{id}]",
44084
- masterState: "{codeName} entity does not exist or is enabled for master state, return true",
44214
+ mainState: "{codeName} entity does not exist, the main state is not enabled, or the main state collection is empty, return true",
44085
44215
  operationIdentifier: "Operation identifier {dataAccessAction} main state calculation started",
44086
44216
  matchMasterState: "Match master state",
44087
44217
  masterStatePermissions: "Collection of allowed master state permissions",
@@ -44657,7 +44787,7 @@ var zhCn = {
44657
44787
  loginFailure: "\u767B\u5F55\u5931\u8D25",
44658
44788
  logoutFailure: "\u767B\u51FA\u5931\u8D25",
44659
44789
  noFound: "\u672A\u627E\u5230\u5E94\u7528\u5B9E\u4F53[{id}]",
44660
- masterState: "{codeName}\u5B9E\u4F53\u4E0D\u5B58\u5728\u6216\u8005\u4E3A\u542F\u7528\u4E3B\u72B6\u6001\uFF0C\u8FD4\u56DEtrue",
44790
+ mainState: "{codeName}\u5B9E\u4F53\u4E0D\u5B58\u5728\u3001\u672A\u542F\u7528\u4E3B\u72B6\u6001\u6216\u8005\u4E3B\u72B6\u6001\u96C6\u5408\u4E3A\u7A7A\uFF0C\u8FD4\u56DEtrue",
44661
44791
  operationIdentifier: "\u64CD\u4F5C\u6807\u8BC6{dataAccessAction}\u4E3B\u72B6\u6001\u8BA1\u7B97\u5F00\u59CB",
44662
44792
  matchMasterState: "\u5339\u914D\u4E3B\u72B6\u6001",
44663
44793
  masterStatePermissions: "\u5141\u8BB8\u7684\u4E3B\u72B6\u6001\u6743\u9650\u96C6\u5408",
@@ -45111,6 +45241,7 @@ export {
45111
45241
  calcResPath,
45112
45242
  calcSearchCondExs,
45113
45243
  calcSearchConds,
45244
+ calcThresholdRange,
45114
45245
  compare,
45115
45246
  compareNumber,
45116
45247
  contains,