@ibiz-template/runtime 0.7.24-alpha.1 → 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 (35) hide show
  1. package/dist/index.esm.js +200 -73
  2. package/dist/index.system.min.js +1 -1
  3. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  4. package/out/controller/common/control/control.controller.js +2 -2
  5. package/out/controller/common/editor/code-list-editor.controller.d.ts +8 -0
  6. package/out/controller/common/editor/code-list-editor.controller.d.ts.map +1 -1
  7. package/out/controller/common/editor/code-list-editor.controller.js +10 -0
  8. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  9. package/out/controller/common/view/view.controller.js +2 -0
  10. package/out/controller/control/gantt/gantt.controller.js +1 -1
  11. package/out/controller/control/grid/grid/entity-schema.d.ts.map +1 -1
  12. package/out/controller/control/grid/grid/entity-schema.js +32 -30
  13. package/out/controller/control/grid/grid/grid.controller.d.ts +8 -0
  14. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  15. package/out/controller/control/grid/grid/grid.controller.js +48 -21
  16. package/out/controller/control/search-bar/search-bar.controller.js +2 -1
  17. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts.map +1 -1
  18. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.js +10 -6
  19. package/out/controller/utils/code-list/code-list.d.ts +11 -0
  20. package/out/controller/utils/code-list/code-list.d.ts.map +1 -0
  21. package/out/controller/utils/code-list/code-list.js +35 -0
  22. package/out/controller/utils/index.d.ts +1 -0
  23. package/out/controller/utils/index.d.ts.map +1 -1
  24. package/out/controller/utils/index.js +1 -0
  25. package/out/engine/md-view.engine.js +3 -3
  26. package/out/interface/controller/state/control/i-grid.state.d.ts +8 -0
  27. package/out/interface/controller/state/control/i-grid.state.d.ts.map +1 -1
  28. package/out/interface/service/code-list-item/code-list-item.d.ts +28 -0
  29. package/out/interface/service/code-list-item/code-list-item.d.ts.map +1 -1
  30. package/out/service/service/code-list/code-list.service.d.ts.map +1 -1
  31. package/out/service/service/code-list/code-list.service.js +4 -0
  32. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +1 -1
  33. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
  34. package/out/service/utils/dynamic-code-list/dynamic-code-list.js +44 -6
  35. 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(
@@ -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) => {
@@ -30301,36 +30388,6 @@ async function calcColumnModelBySchema(json, c) {
30301
30388
  if (!(Object.keys(properties).length > 0)) {
30302
30389
  return;
30303
30390
  }
30304
- const addFields = [];
30305
- Object.keys(properties).forEach((key) => {
30306
- let type;
30307
- switch (properties[key].type) {
30308
- case "string":
30309
- type = "string";
30310
- if (properties[key].format === "date-time") {
30311
- type = "date";
30312
- }
30313
- break;
30314
- case "integer":
30315
- type = "integer";
30316
- break;
30317
- case "number":
30318
- type = "number";
30319
- break;
30320
- default:
30321
- ibiz.log.error(
30322
- ibiz.i18n.t("runtime.controller.control.grid.unsupported", {
30323
- type: properties[key].type
30324
- })
30325
- );
30326
- return;
30327
- }
30328
- addFields.push({
30329
- key,
30330
- description: properties[key].description,
30331
- type
30332
- });
30333
- });
30334
30391
  const codeNameToId = {};
30335
30392
  const dataEntity = await ibiz.hub.getAppDataEntity(
30336
30393
  c.model.appDataEntityId,
@@ -30339,12 +30396,44 @@ async function calcColumnModelBySchema(json, c) {
30339
30396
  (_a = dataEntity.appDEFields) == null ? void 0 : _a.forEach((field) => {
30340
30397
  codeNameToId[field.codeName.toLowerCase()] = field.id;
30341
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
+ });
30342
30431
  const addColumns = [];
30343
30432
  const addDataItems = [];
30344
30433
  addFields.forEach((item) => {
30345
30434
  addColumns.push({
30346
30435
  appId: c.model.appId,
30347
- appDEFieldId: codeNameToId[item.key],
30436
+ appDEFieldId: item.key,
30348
30437
  id: item.key,
30349
30438
  codeName: item.key,
30350
30439
  columnType: "DEFGRIDCOLUMN",
@@ -30356,7 +30445,7 @@ async function calcColumnModelBySchema(json, c) {
30356
30445
  });
30357
30446
  addDataItems.push({
30358
30447
  appId: c.model.appId,
30359
- appDEFieldId: codeNameToId[item.key],
30448
+ appDEFieldId: item.key,
30360
30449
  id: item.key,
30361
30450
  valueType: "SIMPLE",
30362
30451
  dataType: TypeToDataType[item.type]
@@ -30551,6 +30640,7 @@ var GridController = class extends MDControlController {
30551
30640
  * @returns {*} {Promise<void>}
30552
30641
  */
30553
30642
  async onCreated() {
30643
+ this.addSchemaColumn = this.controlParams.enablejsonschema === "true";
30554
30644
  await this.initByEntitySchema();
30555
30645
  await super.onCreated();
30556
30646
  this.service = new GridService(this.model);
@@ -30616,15 +30706,11 @@ var GridController = class extends MDControlController {
30616
30706
  const { degridColumns, degridDataItems } = result;
30617
30707
  this.model = clone27(this.model);
30618
30708
  this.model.degridColumns = [
30619
- ...(this.model.degridColumns || []).filter((item) => {
30620
- return degridColumns.findIndex((x) => x.id === item.id) === -1;
30621
- }),
30709
+ ...this.model.degridColumns || [],
30622
30710
  ...degridColumns
30623
30711
  ];
30624
30712
  this.model.degridDataItems = [
30625
- ...(this.model.degridDataItems || []).filter((item) => {
30626
- return degridDataItems.findIndex((x) => x.id === item.id) === -1;
30627
- }),
30713
+ ...this.model.degridDataItems || [],
30628
30714
  ...degridDataItems
30629
30715
  ];
30630
30716
  }
@@ -31115,28 +31201,16 @@ var GridController = class extends MDControlController {
31115
31201
  */
31116
31202
  initColumnStates() {
31117
31203
  this.state.columnStates = [];
31118
- const storageColumnStatesStr = localStorage.getItem(
31119
- "".concat(this.view.model.id, ".").concat(this.model.name, ".columnStates")
31120
- );
31121
- if (storageColumnStatesStr) {
31122
- const storageColumnStates = JSON.parse(
31123
- storageColumnStatesStr
31124
- );
31125
- if (this.addSchemaColumn && storageColumnStates.schemaColumnStates) {
31126
- this.state.columnStates = storageColumnStates.schemaColumnStates;
31127
- } else if (!this.addSchemaColumn && storageColumnStates.defaultColumnStates) {
31128
- this.state.columnStates = storageColumnStates.defaultColumnStates;
31129
- }
31130
- }
31131
31204
  if (this.state.columnStates.length === 0) {
31132
31205
  recursiveIterate7(
31133
31206
  this.model,
31134
31207
  (column) => {
31135
- if (column.columnType !== "GROUPGRIDCOLUMN") {
31208
+ if (column.columnType !== "GROUPGRIDCOLUMN" && !(column.hiddenDataItem || column.hideMode === 2)) {
31136
31209
  this.state.columnStates.push({
31137
31210
  key: column.codeName,
31138
31211
  caption: column.caption,
31139
- hidden: !!column.hideDefault || !!column.hiddenDataItem,
31212
+ hidden: !!column.hideDefault,
31213
+ hideMode: column.hideMode || 0,
31140
31214
  uaColumn: column.columnType === "UAGRIDCOLUMN",
31141
31215
  adaptive: column.widthUnit === "STAR"
31142
31216
  });
@@ -31145,8 +31219,50 @@ var GridController = class extends MDControlController {
31145
31219
  { childrenFields: ["degridColumns"] }
31146
31220
  );
31147
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
+ }
31148
31241
  this.calcColumnFixed();
31149
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
+ }
31150
31266
  /**
31151
31267
  * 计算列的固定状态
31152
31268
  * @author lxm
@@ -31620,6 +31736,9 @@ var GridController = class extends MDControlController {
31620
31736
  * @Date: 2023-12-19 16:02:14
31621
31737
  */
31622
31738
  setColumnVisible(columnState) {
31739
+ if (columnState.hideMode === 3) {
31740
+ return;
31741
+ }
31623
31742
  columnState.hidden = !columnState.hidden;
31624
31743
  this.calcColumnFixed();
31625
31744
  this.saveColumnStates();
@@ -31639,7 +31758,10 @@ var GridController = class extends MDControlController {
31639
31758
  this.state.sortQuery = "";
31640
31759
  }
31641
31760
  if (data.columnstates) {
31642
- this.state.columnStates = data.columnstates;
31761
+ this.state.columnStates = this.mergeGridColumnStates(
31762
+ this.state.columnStates,
31763
+ data.columnstates
31764
+ );
31643
31765
  this.calcColumnFixed();
31644
31766
  } else {
31645
31767
  this.initColumnStates();
@@ -34390,9 +34512,10 @@ var SearchBarController = class extends ControlController {
34390
34512
  this.state.visible = !!(this.model.enableQuickSearch || this.model.enableGroup || this.enableFilter);
34391
34513
  }
34392
34514
  async onCreated() {
34515
+ this.addSchemaFilters = this.controlParams.enablejsonschema === "true";
34516
+ this.enableStorage = this.controlParams.storage === "true";
34393
34517
  await this.initByEntitySchema();
34394
34518
  await super.onCreated();
34395
- this.enableStorage = this.controlParams.storage === "true";
34396
34519
  const appDataEntity = await ibiz.hub.getAppDataEntity(
34397
34520
  this.model.appDataEntityId,
34398
34521
  this.context.srfappid
@@ -37873,12 +37996,15 @@ var TreeGridExController = class extends TreeController {
37873
37996
  initColumnStates() {
37874
37997
  var _a;
37875
37998
  (_a = this.model.detreeColumns) == null ? void 0 : _a.forEach((column) => {
37876
- this.state.columnStates.push({
37877
- key: column.codeName,
37878
- caption: column.caption,
37879
- hidden: !!column.hideDefault,
37880
- uaColumn: column.columnType === "UAGRIDCOLUMN"
37881
- });
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
+ }
37882
38008
  });
37883
38009
  this.calcColumnFixed();
37884
38010
  }
@@ -40129,7 +40255,7 @@ var GanttController = class extends TreeGridExController {
40129
40255
  );
40130
40256
  } else {
40131
40257
  return {
40132
- cancel: !result.ok
40258
+ cancel: result ? !result.ok : true
40133
40259
  };
40134
40260
  }
40135
40261
  }
@@ -42131,14 +42257,14 @@ var MDViewEngine = class extends ViewEngineBase {
42131
42257
  event,
42132
42258
  view: this.view
42133
42259
  }));
42134
- if (result === -1 || !result) {
42260
+ if (result === -1) {
42135
42261
  throw new RuntimeModelError73(
42136
42262
  this.view.model,
42137
42263
  ibiz.i18n.t("runtime.engine.logicOpendata")
42138
42264
  );
42139
42265
  } else {
42140
42266
  return {
42141
- cancel: !result.ok
42267
+ cancel: result ? !result.ok : true
42142
42268
  };
42143
42269
  }
42144
42270
  }
@@ -42181,7 +42307,7 @@ var MDViewEngine = class extends ViewEngineBase {
42181
42307
  );
42182
42308
  } else {
42183
42309
  return {
42184
- cancel: !result.ok
42310
+ cancel: result ? !result.ok : true
42185
42311
  };
42186
42312
  }
42187
42313
  }
@@ -45115,6 +45241,7 @@ export {
45115
45241
  calcResPath,
45116
45242
  calcSearchCondExs,
45117
45243
  calcSearchConds,
45244
+ calcThresholdRange,
45118
45245
  compare,
45119
45246
  compareNumber,
45120
45247
  contains,