@ibiz-template/runtime 0.1.23 → 0.1.25

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 (81) hide show
  1. package/dist/index.esm.js +184 -109
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/command/app/app-func/app-func.js +2 -2
  5. package/out/config/global-config.d.ts.map +1 -1
  6. package/out/config/global-config.js +1 -0
  7. package/out/controller/common/control/control.controller.d.ts +4 -4
  8. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  9. package/out/controller/common/control/control.controller.js +3 -2
  10. package/out/controller/common/control/md-control.controller.d.ts +20 -1
  11. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  12. package/out/controller/common/control/md-control.controller.js +21 -2
  13. package/out/controller/common/editor/editor.controller.js +2 -2
  14. package/out/controller/common/view/view.controller.js +2 -2
  15. package/out/controller/control/exp-bar/calendar-exp-bar.controller.d.ts.map +1 -1
  16. package/out/controller/control/exp-bar/calendar-exp-bar.controller.js +1 -0
  17. package/out/controller/control/exp-bar/exp-bar.controller.d.ts +10 -0
  18. package/out/controller/control/exp-bar/exp-bar.controller.d.ts.map +1 -1
  19. package/out/controller/control/exp-bar/exp-bar.controller.js +32 -7
  20. package/out/controller/control/exp-bar/tree-exp-bar.controller.d.ts.map +1 -1
  21. package/out/controller/control/exp-bar/tree-exp-bar.controller.js +1 -0
  22. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  23. package/out/controller/control/form/edit-form/edit-form.controller.js +7 -1
  24. package/out/controller/control/form/form-detail/form-druipart/form-druipart.controller.js +2 -2
  25. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +2 -2
  26. package/out/controller/control/pickup-view-panel/pickup-view-panel.controller.js +2 -2
  27. package/out/de-logic/de-logic.d.ts +9 -0
  28. package/out/de-logic/de-logic.d.ts.map +1 -1
  29. package/out/de-logic/de-logic.js +14 -0
  30. package/out/interface/common/i-global-config/i-global-view-config.d.ts +8 -0
  31. package/out/interface/common/i-global-config/i-global-view-config.d.ts.map +1 -1
  32. package/out/interface/controller/controller/control/i-exp-bar-control.controller.d.ts +10 -0
  33. package/out/interface/controller/controller/control/i-exp-bar-control.controller.d.ts.map +1 -1
  34. package/out/interface/provider/i-control.provider.d.ts +15 -0
  35. package/out/interface/provider/i-control.provider.d.ts.map +1 -1
  36. package/out/interface/provider/i-view.provider.d.ts +15 -0
  37. package/out/interface/provider/i-view.provider.d.ts.map +1 -1
  38. package/out/logic-scheduler/executor/app-ui-logic-executor.js +4 -4
  39. package/out/service/dto/method.dto.d.ts.map +1 -1
  40. package/out/service/dto/method.dto.js +4 -3
  41. package/out/service/service/entity/method/method.d.ts.map +1 -1
  42. package/out/service/service/entity/method/method.js +0 -1
  43. package/out/service/vo/control.vo.d.ts.map +1 -1
  44. package/out/service/vo/control.vo.js +9 -12
  45. package/out/service/vo/ui-map-field.d.ts +7 -0
  46. package/out/service/vo/ui-map-field.d.ts.map +1 -1
  47. package/out/service/vo/ui-map-field.js +24 -0
  48. package/out/ui-action/provider/ui-action-provider-base.js +2 -2
  49. package/out/utils/nav-params/calc-nav-params.js +2 -2
  50. package/out/utils/nav-params/nav-params.d.ts +11 -25
  51. package/out/utils/nav-params/nav-params.d.ts.map +1 -1
  52. package/out/utils/nav-params/nav-params.js +79 -84
  53. package/out/utils/open-redirect-view/open-redirect-view.js +2 -2
  54. package/package.json +3 -3
  55. package/src/command/app/app-func/app-func.ts +2 -2
  56. package/src/config/global-config.ts +1 -0
  57. package/src/controller/common/control/control.controller.ts +5 -4
  58. package/src/controller/common/control/md-control.controller.ts +34 -3
  59. package/src/controller/common/editor/editor.controller.ts +2 -2
  60. package/src/controller/common/view/view.controller.ts +2 -2
  61. package/src/controller/control/exp-bar/calendar-exp-bar.controller.ts +1 -0
  62. package/src/controller/control/exp-bar/exp-bar.controller.ts +35 -7
  63. package/src/controller/control/exp-bar/tree-exp-bar.controller.ts +1 -0
  64. package/src/controller/control/form/edit-form/edit-form.controller.ts +11 -1
  65. package/src/controller/control/form/form-detail/form-druipart/form-druipart.controller.ts +3 -3
  66. package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +2 -2
  67. package/src/controller/control/pickup-view-panel/pickup-view-panel.controller.ts +2 -2
  68. package/src/de-logic/de-logic.ts +24 -0
  69. package/src/interface/common/i-global-config/i-global-view-config.ts +9 -0
  70. package/src/interface/controller/controller/control/i-exp-bar-control.controller.ts +8 -0
  71. package/src/interface/provider/i-control.provider.ts +22 -0
  72. package/src/interface/provider/i-view.provider.ts +22 -0
  73. package/src/logic-scheduler/executor/app-ui-logic-executor.ts +4 -4
  74. package/src/service/dto/method.dto.ts +3 -3
  75. package/src/service/service/entity/method/method.ts +0 -1
  76. package/src/service/vo/control.vo.ts +10 -14
  77. package/src/service/vo/ui-map-field.ts +28 -0
  78. package/src/ui-action/provider/ui-action-provider-base.ts +4 -4
  79. package/src/utils/nav-params/calc-nav-params.ts +2 -2
  80. package/src/utils/nav-params/nav-params.ts +86 -91
  81. package/src/utils/open-redirect-view/open-redirect-view.ts +2 -2
package/dist/index.esm.js CHANGED
@@ -6158,7 +6158,8 @@ var GlobalConfig = class {
6158
6158
  constructor() {
6159
6159
  // 全局视图配置
6160
6160
  this.view = {
6161
- enableDataInfoBar: true
6161
+ enableDataInfoBar: true,
6162
+ enableExpCache: true
6162
6163
  };
6163
6164
  // 全局表格配置
6164
6165
  this.grid = {
@@ -6660,34 +6661,64 @@ var HandlebarsUtil = class {
6660
6661
  // src/utils/nav-params/nav-params.ts
6661
6662
  import { isEmpty } from "lodash-es";
6662
6663
  import { isNilOrEmpty, notNilEmpty } from "qx-util";
6663
- function convertNavData(naviDatas, ...origins) {
6664
- if (!naviDatas || isEmpty(naviDatas)) {
6665
- return {};
6666
- }
6667
- if (Object.prototype.toString.call(naviDatas) === "[object Array]") {
6668
- return convertNavDataByArray(naviDatas, ...origins);
6664
+ function convertObjectToNavParams(navParams) {
6665
+ const result = [];
6666
+ const reg2 = /^%(.+)%$/;
6667
+ for (const key in navParams) {
6668
+ let rawValue = true;
6669
+ let value = navParams[key];
6670
+ if (notNilEmpty(navParams[key]) && reg2.test(navParams[key])) {
6671
+ rawValue = false;
6672
+ value = navParams[key].substring(1, navParams[key].length - 1);
6673
+ }
6674
+ result.push({
6675
+ key: key.toLowerCase(),
6676
+ rawValue,
6677
+ value
6678
+ });
6669
6679
  }
6670
- if (Object.prototype.toString.call(naviDatas) === "[object Object]") {
6671
- return convertNavDataByObject(naviDatas, ...origins);
6680
+ return result;
6681
+ }
6682
+ function convertNavData(navParams, ...origins) {
6683
+ if (!navParams || isEmpty(navParams)) {
6684
+ return {};
6672
6685
  }
6673
- return {};
6686
+ const navParamsArr = Array.isArray(navParams) ? navParams : convertObjectToNavParams(navParams);
6687
+ return convertNavDataByArray(navParamsArr, ...origins);
6688
+ }
6689
+ function getVal(origins, key) {
6690
+ const findOrigin = origins.find((item) => {
6691
+ if (isNilOrEmpty(item)) {
6692
+ return false;
6693
+ }
6694
+ return (
6695
+ // proxy数据判断是否能拿到值
6696
+ item[key] || // 上下文等判断是否有这个属性,如果有且值为空,则赋该空值
6697
+ Object.prototype.hasOwnProperty.call(item, key)
6698
+ );
6699
+ });
6700
+ return { find: !!findOrigin, value: findOrigin == null ? void 0 : findOrigin[key] };
6674
6701
  }
6675
6702
  function convertNavDataByArray(naviDatas, ...origins) {
6703
+ const regex = /\$\{[^}]*\}/g;
6676
6704
  const result = {};
6677
6705
  for (const naviData of naviDatas) {
6678
- if (notNilEmpty(naviData.value) && !naviData.rawValue) {
6679
- const findOrigin = origins.find((item) => {
6680
- if (isNilOrEmpty(item)) {
6681
- return false;
6706
+ if (!naviData.rawValue) {
6707
+ const matchArr = naviData.value.match(regex);
6708
+ if (matchArr !== null) {
6709
+ let valueStr = naviData.value;
6710
+ matchArr.forEach((key) => {
6711
+ const { find, value } = getVal(origins, key.slice(2, -1));
6712
+ if (find) {
6713
+ valueStr = valueStr.replace(key, "".concat(value));
6714
+ }
6715
+ });
6716
+ result[naviData.key.toLowerCase()] = valueStr;
6717
+ } else {
6718
+ const { find, value } = getVal(origins, naviData.value);
6719
+ if (find) {
6720
+ result[naviData.key.toLowerCase()] = value;
6682
6721
  }
6683
- return (
6684
- // proxy数据判断是否能拿到值
6685
- item[naviData.value] || // 上下文等判断是否有这个属性,如果有且值为空,则赋该空值
6686
- Object.prototype.hasOwnProperty.call(item, naviData.value)
6687
- );
6688
- });
6689
- if (findOrigin) {
6690
- result[naviData.key.toLowerCase()] = findOrigin[naviData.value];
6691
6722
  }
6692
6723
  } else {
6693
6724
  result[naviData.key.toLowerCase()] = naviData.value || null;
@@ -6695,42 +6726,6 @@ function convertNavDataByArray(naviDatas, ...origins) {
6695
6726
  }
6696
6727
  return result;
6697
6728
  }
6698
- function convertNavDataByObject(naviData, ...origins) {
6699
- const result = {};
6700
- const reg2 = /^%(.+)%$/;
6701
- for (const key in naviData) {
6702
- if (notNilEmpty(naviData[key]) && reg2.test(naviData[key])) {
6703
- const valueKey = naviData[key].substring(1, naviData[key].length - 1);
6704
- const findOrigin = origins.find((item) => {
6705
- return Object.prototype.hasOwnProperty.call(item, valueKey);
6706
- });
6707
- if (findOrigin) {
6708
- result[key.toLowerCase()] = findOrigin[valueKey];
6709
- }
6710
- } else {
6711
- result[key.toLowerCase()] = naviData[key] || null;
6712
- }
6713
- }
6714
- return result;
6715
- }
6716
- function convertObjectToNavParams(naviData) {
6717
- const result = [];
6718
- const reg2 = /^%(.+)%$/;
6719
- for (const key in naviData) {
6720
- let rawValue = true;
6721
- let value = naviData[key];
6722
- if (notNilEmpty(naviData[key]) && reg2.test(naviData[key])) {
6723
- rawValue = false;
6724
- value = naviData[key].substring(1, naviData[key].length - 1);
6725
- }
6726
- result.push({
6727
- key: key.toLowerCase(),
6728
- rawValue,
6729
- value
6730
- });
6731
- }
6732
- return result;
6733
- }
6734
6729
  function formatMultiData(navParams, dataArr) {
6735
6730
  const result = {};
6736
6731
  if (!navParams) {
@@ -6765,8 +6760,8 @@ function calcNavParams(model, originParams) {
6765
6760
  resultParams["n_".concat(pickupDEFName.toLowerCase(), "_eq")] = deSrfkey;
6766
6761
  }
6767
6762
  }
6768
- const tempContext = convertNavData(navContexts, context, params, data);
6769
- const tempParams = convertNavData(navParams, context, params, data);
6763
+ const tempContext = convertNavData(navContexts, data, params, context);
6764
+ const tempParams = convertNavData(navParams, data, params, context);
6770
6765
  Object.assign(resultContext, tempContext);
6771
6766
  Object.assign(resultParams, tempParams);
6772
6767
  return {
@@ -7154,10 +7149,10 @@ async function toLocalOpenWFRedirectView(context, linkUrl, opts = {}) {
7154
7149
  async function openDERedirectView(appView, context, params = {}, opts = {}) {
7155
7150
  var _a;
7156
7151
  const navContext = appView.appViewNavContexts || [];
7157
- const navContextData = convertNavData(navContext, context, params);
7152
+ const navContextData = convertNavData(navContext, params, context);
7158
7153
  context = Object.assign(context.clone(), navContextData);
7159
7154
  const navParams = appView.appViewNavParams || [];
7160
- const navParamsData = convertNavData(navParams, context, params);
7155
+ const navParamsData = convertNavData(navParams, params, context);
7161
7156
  Object.assign(params, navParamsData);
7162
7157
  const entityId = appView.appDataEntityId;
7163
7158
  const key = calcDeCodeNameById(entityId);
@@ -8746,8 +8741,8 @@ var _AppFuncCommand = class _AppFuncCommand {
8746
8741
  }
8747
8742
  const { navigateContexts, navigateParams, appFuncType } = appFunc;
8748
8743
  const _context = context.clone();
8749
- Object.assign(_context, convertNavData(navigateContexts, context, params));
8750
- const _params = convertNavData(navigateParams, context, params);
8744
+ Object.assign(_context, convertNavData(navigateContexts, params, context));
8745
+ const _params = convertNavData(navigateParams, params, context);
8751
8746
  switch (appFuncType) {
8752
8747
  case "APPVIEW":
8753
8748
  return this.openAppView(appFunc, _context, _params, opts);
@@ -11361,9 +11356,7 @@ var MethodDto = class _MethodDto {
11361
11356
  for (let j = 0; j < items.length; j++) {
11362
11357
  arr.push(await dto.get(context, items[j]));
11363
11358
  }
11364
- if (arr.length > 0) {
11365
- params[key] = arr;
11366
- }
11359
+ params[key] = arr;
11367
11360
  }
11368
11361
  break;
11369
11362
  }
@@ -11401,6 +11394,8 @@ var MethodDto = class _MethodDto {
11401
11394
  const items = datum[key];
11402
11395
  if (items) {
11403
11396
  await dto.sets(context, items);
11397
+ } else {
11398
+ await dto.sets(context, []);
11404
11399
  }
11405
11400
  });
11406
11401
  for (let i = 0; i < all.length; i++) {
@@ -11584,7 +11579,6 @@ var Method = class {
11584
11579
  "".concat(path2, "/").concat(methodName),
11585
11580
  notNilEmpty5(data) ? data : params
11586
11581
  );
11587
- const entity = this.createEntity(data);
11588
11582
  break;
11589
11583
  }
11590
11584
  case "DELETE":
@@ -12476,6 +12470,15 @@ var DELogic = class {
12476
12470
  */
12477
12471
  this.params = /* @__PURE__ */ new Map();
12478
12472
  var _a, _b;
12473
+ if (model.customCode) {
12474
+ if (!model.scriptCode) {
12475
+ throw new RuntimeModelError17(model, "\u811A\u672C\u4EE3\u7801\u6A21\u5F0F\u6CA1\u6709\u914D\u7F6E\u811A\u672C\u4EE3\u7801");
12476
+ }
12477
+ this.scriptFn = ScriptFactory.createScriptFn([], model.scriptCode, {
12478
+ isAsync: true
12479
+ });
12480
+ return;
12481
+ }
12479
12482
  if (!((_a = model.delogicNodes) == null ? void 0 : _a.length)) {
12480
12483
  throw new RuntimeModelError17(model, "\u5B9E\u4F53\u903B\u8F91\u6CA1\u6709\u914D\u7F6E\u903B\u8F91\u8282\u70B9");
12481
12484
  }
@@ -12566,6 +12569,9 @@ var DELogic = class {
12566
12569
  * @return {*} {Promise<IData>}
12567
12570
  */
12568
12571
  async exec(context, data, params) {
12572
+ if (this.scriptFn) {
12573
+ return this.scriptFn.exec({ context, data, params });
12574
+ }
12569
12575
  const ctx = new DELogicContext(this.params, context, data, params);
12570
12576
  this.initLogicParams(ctx);
12571
12577
  const { startDELogicNodeId } = this.model;
@@ -13217,7 +13223,6 @@ var DEService = class {
13217
13223
  };
13218
13224
 
13219
13225
  // src/service/vo/control.vo.ts
13220
- import { DataTypes } from "@ibiz-template/core";
13221
13226
  import { clone as clone10, isNil as isNil8 } from "ramda";
13222
13227
  var ControlVO = class _ControlVO {
13223
13228
  /**
@@ -13313,8 +13318,7 @@ var ControlVO = class _ControlVO {
13313
13318
  });
13314
13319
  this.$dataUIMap.forEach((mapField, key) => {
13315
13320
  const value = mapField.dataKey;
13316
- const forceNumber = mapField.dataType !== void 0 && DataTypes.isNumber(mapField.dataType);
13317
- this.linkProperty(key, value, mapField.isOriginField, forceNumber);
13321
+ this.linkProperty(key, value, mapField);
13318
13322
  });
13319
13323
  Object.keys($origin).forEach((value) => {
13320
13324
  if (!Object.prototype.hasOwnProperty.call(this, value)) {
@@ -13334,7 +13338,8 @@ var ControlVO = class _ControlVO {
13334
13338
  * @param {boolean} [forceNumber=false] 是否强制转换成数值,是的话set的时候转成数值
13335
13339
  * @returns {*}
13336
13340
  */
13337
- linkProperty(uiKey, dataKey, isOriginField = true, forceNumber = false) {
13341
+ linkProperty(uiKey, dataKey, mapField) {
13342
+ const isOriginField = mapField ? mapField.isOriginField : true;
13338
13343
  if (uiKey === "srfuf") {
13339
13344
  return;
13340
13345
  }
@@ -13346,14 +13351,12 @@ var ControlVO = class _ControlVO {
13346
13351
  return uiKey === "srfkey" ? this.$origin[dataKey] || this.$origin[uiKey] : this.$origin[dataKey];
13347
13352
  },
13348
13353
  set(val) {
13349
- let val2 = forceNumber && !isNil8(val) ? Number(val) : val;
13350
- if (Number.isNaN(val2)) {
13351
- val2 = val;
13352
- ibiz.log.error("".concat(val, "\u4E0D\u80FD\u8F6C\u6362\u6210\u6570\u5B57"));
13353
- }
13354
- this.$origin[dataKey] = val2;
13354
+ this.$origin[dataKey] = mapField ? mapField.convertVal(val) : val;
13355
13355
  }
13356
13356
  });
13357
+ if (mapField) {
13358
+ this[uiKey] = mapField.convertVal(this.$origin[dataKey]);
13359
+ }
13357
13360
  } else {
13358
13361
  Object.defineProperty(this, uiKey, {
13359
13362
  enumerable: true,
@@ -14032,6 +14035,7 @@ var TreeStaticNodeData = class extends TreeNodeData {
14032
14035
  };
14033
14036
 
14034
14037
  // src/service/vo/ui-map-field.ts
14038
+ import { DataTypes } from "@ibiz-template/core";
14035
14039
  import { isNil as isNil9 } from "ramda";
14036
14040
  var UIMapField = class {
14037
14041
  constructor(uiKey, dataKey, opts = {}) {
@@ -14060,6 +14064,26 @@ var UIMapField = class {
14060
14064
  this.dataType = opts.dataType;
14061
14065
  }
14062
14066
  }
14067
+ /**
14068
+ * 值转换
14069
+ * @author lxm
14070
+ * @date 2023-09-14 06:45:44
14071
+ * @param {unknown} value 原值
14072
+ */
14073
+ convertVal(value) {
14074
+ if (!this.dataType) {
14075
+ return value;
14076
+ }
14077
+ if (DataTypes.isNumber(this.dataType)) {
14078
+ const numVal = !isNil9(value) && value !== "" ? Number(value) : value;
14079
+ if (Number.isNaN(numVal)) {
14080
+ ibiz.log.debug("".concat(value, "\u4E0D\u80FD\u8F6C\u6362\u6210\u6570\u5B57"));
14081
+ return value;
14082
+ }
14083
+ return numVal;
14084
+ }
14085
+ return value;
14086
+ }
14063
14087
  };
14064
14088
 
14065
14089
  // src/service/vo/calendar-item-data/calendar-item-data.ts
@@ -15611,13 +15635,13 @@ var ViewController = class extends BaseController {
15611
15635
  const navContexts = this.model.appViewNavContexts;
15612
15636
  let context = {};
15613
15637
  if (notNilEmpty6(navContexts)) {
15614
- context = convertNavData(navContexts, this.context, this.params);
15638
+ context = convertNavData(navContexts, this.params, this.context);
15615
15639
  }
15616
15640
  Object.assign(this.context, context);
15617
15641
  const navParams = this.model.appViewNavParams;
15618
15642
  let params = {};
15619
15643
  if (notNilEmpty6(navParams)) {
15620
- params = convertNavData(navParams, this.context, this.params);
15644
+ params = convertNavData(navParams, this.params, this.context);
15621
15645
  }
15622
15646
  Object.assign(this.params, params);
15623
15647
  if (this.state.isMounted) {
@@ -15799,12 +15823,12 @@ var EditorController = class {
15799
15823
  const { navigateContexts, navigateParams } = this.model;
15800
15824
  let selfContext = {};
15801
15825
  if (navigateContexts && data) {
15802
- selfContext = convertNavData(navigateContexts, context, params, data);
15826
+ selfContext = convertNavData(navigateContexts, data, params, context);
15803
15827
  }
15804
15828
  const _context = Object.assign(context.clone(), selfContext);
15805
15829
  let selfParams = {};
15806
15830
  if (navigateParams && data) {
15807
- selfParams = convertNavData(navigateParams, context, params, data);
15831
+ selfParams = convertNavData(navigateParams, data, params, context);
15808
15832
  }
15809
15833
  const _params = { ...params, ...selfParams };
15810
15834
  return { context: _context, params: _params };
@@ -15882,10 +15906,10 @@ var ControlController = class extends BaseController {
15882
15906
  constructor(model, context, params, ctx) {
15883
15907
  super(model, context, params, ctx);
15884
15908
  /**
15885
- * 子部件适配器
15909
+ * 子适配器
15886
15910
  * @author lxm
15887
15911
  * @date 2023-07-19 04:14:50
15888
- * @type {{ [key: string]: IControlProvider }}
15912
+ * @type {{ [key: string]: IProvider }}
15889
15913
  */
15890
15914
  this.providers = {};
15891
15915
  this.registerToCtx();
@@ -16075,6 +16099,7 @@ var ControlController = class extends BaseController {
16075
16099
  return;
16076
16100
  }
16077
16101
  if (opts == null ? void 0 : opts.error) {
16102
+ ibiz.log.error(opts.error);
16078
16103
  throw new NoticeError(message, duration);
16079
16104
  } else {
16080
16105
  ibiz.message.success(message, duration, duration === 0);
@@ -16116,14 +16141,33 @@ var MDControlController = class extends ControlController {
16116
16141
  async onCreated() {
16117
16142
  var _a;
16118
16143
  await super.onCreated();
16119
- const dataEntity = await ibiz.hub.getAppDataEntity(
16144
+ this.dataEntity = await ibiz.hub.getAppDataEntity(
16120
16145
  this.model.appDataEntityId
16121
16146
  );
16122
- (_a = dataEntity.appDEFields) == null ? void 0 : _a.forEach((field) => {
16147
+ (_a = this.dataEntity.appDEFields) == null ? void 0 : _a.forEach((field) => {
16123
16148
  this.fieldIdNameMap.set(field.id, field.name);
16124
16149
  });
16150
+ this.onDataChange = this.onDataChange.bind(this);
16151
+ ibiz.mc.command.change.on(this.onDataChange);
16125
16152
  this.setSort();
16126
16153
  }
16154
+ onDestroyed() {
16155
+ ibiz.mc.command.change.off(this.onDataChange);
16156
+ return super.onDestroyed();
16157
+ }
16158
+ /**
16159
+ * 当数据放生变更时,若为当前应用实体数据。则多数据部件进行刷新
16160
+ *
16161
+ * @author chitanda
16162
+ * @date 2023-09-13 17:09:04
16163
+ * @protected
16164
+ * @param {IData} msg
16165
+ */
16166
+ onDataChange(msg) {
16167
+ if (msg.data && msg.data.srfdecodename === this.dataEntity.codeName) {
16168
+ this.refresh();
16169
+ }
16170
+ }
16127
16171
  /**
16128
16172
  * 设置排序
16129
16173
  * 无参数时设置的是默认排序。
@@ -19356,17 +19400,17 @@ var UIActionProviderBase = class {
19356
19400
  const isMultiData = ["MULTIKEY", "MULTIDATA"].includes(action.actionTarget) && data.length > 0;
19357
19401
  const tempContext = convertNavData(
19358
19402
  navContexts,
19359
- context,
19403
+ isMultiData ? formatMultiData(navContexts, data) : data[0] || {},
19360
19404
  params,
19361
- isMultiData ? formatMultiData(navContexts, data) : data[0] || {}
19405
+ context
19362
19406
  );
19363
19407
  Object.assign(resultContext, tempContext);
19364
19408
  const navParams = action.navigateParams;
19365
19409
  const resultParams = convertNavData(
19366
19410
  navParams,
19367
- resultContext,
19411
+ isMultiData ? formatMultiData(navParams, data) : data[0] || {},
19368
19412
  params,
19369
- isMultiData ? formatMultiData(navParams, data) : data[0] || {}
19413
+ resultContext
19370
19414
  );
19371
19415
  return { resultContext, resultData, resultParams };
19372
19416
  }
@@ -20518,13 +20562,20 @@ var ExpBarControlController = class extends ControlController {
20518
20562
  const selectItem = (_a = this.xDataController) == null ? void 0 : _a.state.items.find(
20519
20563
  (item) => item[this.navKeyName] === this.state.srfnav
20520
20564
  );
20521
- if (selectItem) {
20565
+ const routeAndHasSub = this.routeDepth && window.location.hash.split("/").length > this.routeDepth * 2 + 2;
20566
+ console.log("routeAndHasSub", routeAndHasSub);
20567
+ if (routeAndHasSub) {
20568
+ if (selectItem) {
20569
+ this.xDataController.setSelection([selectItem]);
20570
+ }
20571
+ this._evt.emit("onNavViewChange", {
20572
+ navViewMsg: { key: this.state.srfnav },
20573
+ context: this.context
20574
+ });
20575
+ } else if (selectItem) {
20576
+ this.xDataController.setActive(selectItem);
20522
20577
  this.xDataController.setSelection([selectItem]);
20523
20578
  }
20524
- this._evt.emit("onNavViewChange", {
20525
- navViewMsg: { key: this.state.srfnav },
20526
- context: this.context
20527
- });
20528
20579
  }
20529
20580
  /**
20530
20581
  * 导航页面首次打开且没有回显时,
@@ -20537,6 +20588,7 @@ var ExpBarControlController = class extends ControlController {
20537
20588
  defaultNavByFirstItem() {
20538
20589
  const data = this.xDataController.state.items[0];
20539
20590
  if (!data) {
20591
+ this.state.srfnav = "";
20540
20592
  this._evt.emit("onNavViewChange", { navViewMsg: { key: "" } });
20541
20593
  return;
20542
20594
  }
@@ -20589,6 +20641,7 @@ var ExpBarControlController = class extends ControlController {
20589
20641
  const tempContext = Object.assign(context.clone(), resultContext, {
20590
20642
  currentSrfNav: data[this.navKeyName]
20591
20643
  });
20644
+ this.state.srfnav = data[this.navKeyName];
20592
20645
  const tempParams = { ...resultParams };
20593
20646
  return { context: tempContext, params: tempParams };
20594
20647
  }
@@ -20655,6 +20708,18 @@ var ExpBarControlController = class extends ControlController {
20655
20708
  }
20656
20709
  });
20657
20710
  }
20711
+ /**
20712
+ * 路由变更处理回调
20713
+ * @author lxm
20714
+ * @date 2023-09-14 07:03:39
20715
+ * @param {{ srfnav?: string; path: string }} info 当前系统的路由的从一级到最后一级的所有路径。
20716
+ */
20717
+ onRouterChange(info) {
20718
+ if (this.state.srfnav !== info.srfnav) {
20719
+ this.state.srfnav = info.srfnav;
20720
+ this.defaultNavBySrfnav();
20721
+ }
20722
+ }
20658
20723
  };
20659
20724
 
20660
20725
  // src/controller/control/exp-bar/calendar-exp-bar.controller.ts
@@ -20718,6 +20783,7 @@ var CalendarExpBarController = class extends ExpBarControlController {
20718
20783
  this.params
20719
20784
  );
20720
20785
  context.currentSrfNav = item.navId;
20786
+ this.state.srfnav = item.navId;
20721
20787
  return {
20722
20788
  key: item.navId,
20723
20789
  context,
@@ -20813,6 +20879,7 @@ var TreeExpBarController = class extends ExpBarControlController {
20813
20879
  }
20814
20880
  const result = this.prepareParams(nodeModel, deData, context, params);
20815
20881
  result.context.currentSrfNav = nodeId;
20882
+ this.state.srfnav = nodeId;
20816
20883
  return {
20817
20884
  key: nodeId,
20818
20885
  viewId: nodeModel.navAppViewId,
@@ -21647,17 +21714,17 @@ var FormDRUIPartController = class extends FormDetailController {
21647
21714
  newContext,
21648
21715
  convertNavData(
21649
21716
  navContexts,
21650
- this.form.context,
21717
+ this.form.data,
21651
21718
  this.form.params,
21652
- this.form.data
21719
+ this.form.context
21653
21720
  )
21654
21721
  );
21655
21722
  }
21656
21723
  const newParams = convertNavData(
21657
21724
  this.model.navigateParams,
21725
+ this.form.data,
21658
21726
  this.form.params,
21659
- this.form.context,
21660
- this.form.data
21727
+ this.form.context
21661
21728
  );
21662
21729
  if (!this.state.viewComponentKey) {
21663
21730
  this.state.viewComponentKey = createUUID3();
@@ -22787,6 +22854,12 @@ var EditFormController = class extends FormController {
22787
22854
  this.actionNotification("".concat(isCreate ? "CREATE" : "UPDATE", "SUCCESS"), {
22788
22855
  default: "".concat(this.data.srfmajortext || "", "\u4FDD\u5B58\u6210\u529F")
22789
22856
  });
22857
+ if (this.view.modal.mode === "ROUTE") {
22858
+ ibiz.mc.command.send(
22859
+ this.data.$origin,
22860
+ isCreate ? "OBJECTCREATED" : "OBJECTUPDATED"
22861
+ );
22862
+ }
22790
22863
  return this.data;
22791
22864
  }
22792
22865
  /**
@@ -22826,6 +22899,9 @@ var EditFormController = class extends FormController {
22826
22899
  this.state.modified = false;
22827
22900
  await this.evt.emit("onRemoveSuccess", void 0);
22828
22901
  this.actionNotification("REMOVESUCCESS");
22902
+ if (this.view.modal.mode === "ROUTE") {
22903
+ ibiz.mc.command.send(this.data.$origin, "OBJECTREMOVED");
22904
+ }
22829
22905
  return ok;
22830
22906
  }
22831
22907
  /**
@@ -22864,7 +22940,7 @@ var EditFormController = class extends FormController {
22864
22940
  throw new RuntimeError39("\u6CA1\u627E\u5230".concat(formItemUpdateId, "\u8868\u5355\u9879\u66F4\u65B0"));
22865
22941
  }
22866
22942
  const { appDEMethodId, defiupdateDetails, customCode, scriptCode } = formItemUpdate;
22867
- const updateItems = defiupdateDetails.map((item) => item.id);
22943
+ const updateItems = defiupdateDetails == null ? void 0 : defiupdateDetails.map((item) => item.id);
22868
22944
  let updateData;
22869
22945
  if (customCode && scriptCode) {
22870
22946
  updateData = ScriptFactory.execScriptFn(
@@ -24902,12 +24978,12 @@ var GridFieldColumnController = class extends GridColumnController {
24902
24978
  const { navigateContexts, navigateParams } = parseUserParams(userParam);
24903
24979
  let selfContext = {};
24904
24980
  if (navigateContexts && data) {
24905
- selfContext = convertNavData(navigateContexts, context, params, data);
24981
+ selfContext = convertNavData(navigateContexts, data, params, context);
24906
24982
  }
24907
24983
  const _context = Object.assign(context.clone(), selfContext);
24908
24984
  let selfParams = {};
24909
24985
  if (navigateParams && data) {
24910
- selfParams = convertNavData(navigateParams, context, params, data);
24986
+ selfParams = convertNavData(navigateParams, data, params, context);
24911
24987
  }
24912
24988
  const _params = { ...params, ...selfParams };
24913
24989
  return { context: _context, params: _params };
@@ -26120,13 +26196,13 @@ var PickupViewPanelController = class extends ControlController {
26120
26196
  if (navigateContexts) {
26121
26197
  Object.assign(
26122
26198
  context,
26123
- convertNavData(navigateContexts, this.context, this.params)
26199
+ convertNavData(navigateContexts, this.params, this.context)
26124
26200
  );
26125
26201
  }
26126
26202
  if (navigateParams) {
26127
26203
  Object.assign(
26128
26204
  params,
26129
- convertNavData(navigateParams, this.context, this.params)
26205
+ convertNavData(navigateParams, this.params, this.context)
26130
26206
  );
26131
26207
  }
26132
26208
  this.state.context = context;
@@ -29387,12 +29463,12 @@ var AppUILogicExecutor = class extends LogicExecutor {
29387
29463
  const navContexts = openViewRef.navigateContexts || [];
29388
29464
  const tempContext = Object.assign(
29389
29465
  context,
29390
- convertNavData(navContexts, context, params, data[0])
29466
+ convertNavData(navContexts, data[0], params, context)
29391
29467
  );
29392
29468
  let tempParams = {};
29393
29469
  const navParams = openViewRef.navigateParams;
29394
29470
  if (notNilEmpty8(navParams)) {
29395
- tempParams = convertNavData(navParams, params, context, data[0]);
29471
+ tempParams = convertNavData(navParams, data[0], params, context);
29396
29472
  }
29397
29473
  return ibiz.commands.execute(
29398
29474
  OpenAppViewCommand.TAG,
@@ -29442,12 +29518,12 @@ var AppUILogicExecutor = class extends LogicExecutor {
29442
29518
  const _data = (data == null ? void 0 : data[0]) || {};
29443
29519
  const navContexts = newViewRef.navigateContexts;
29444
29520
  if (notNilEmpty8(navContexts)) {
29445
- tempContext = convertNavData(navContexts, context, params, _data);
29521
+ tempContext = convertNavData(navContexts, _data, params, context);
29446
29522
  }
29447
29523
  tempContext = Object.assign(context, tempContext);
29448
29524
  const navParams = newViewRef.navigateParams;
29449
29525
  if (notNilEmpty8(navParams)) {
29450
- tempParams = convertNavData(navParams, params, context, _data);
29526
+ tempParams = convertNavData(navParams, _data, params, context);
29451
29527
  }
29452
29528
  if (context.srfcopymode) {
29453
29529
  _data.srfkey = void 0;
@@ -29907,7 +29983,6 @@ export {
29907
29983
  contains,
29908
29984
  convertNavData,
29909
29985
  convertNavDataByArray,
29910
- convertNavDataByObject,
29911
29986
  convertObjectToNavParams,
29912
29987
  execDELogic,
29913
29988
  execDELogicAction,