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

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 (65) hide show
  1. package/dist/index.esm.js +636 -192
  2. package/dist/index.system.min.js +1 -1
  3. package/out/constant/control-type.d.ts +6 -0
  4. package/out/constant/control-type.d.ts.map +1 -1
  5. package/out/constant/control-type.js +20 -0
  6. package/out/constant/index.d.ts +1 -1
  7. package/out/constant/index.d.ts.map +1 -1
  8. package/out/constant/index.js +1 -1
  9. package/out/controller/common/control/control.controller.d.ts +1 -0
  10. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  11. package/out/controller/common/control/control.controller.js +4 -0
  12. package/out/controller/common/control/md-control.controller.d.ts +32 -0
  13. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  14. package/out/controller/common/control/md-control.controller.js +85 -0
  15. package/out/controller/control/chart/chart.controller.d.ts +8 -1
  16. package/out/controller/control/chart/chart.controller.d.ts.map +1 -1
  17. package/out/controller/control/chart/chart.controller.js +45 -21
  18. package/out/controller/control/chart/generator/base-series-generator.d.ts +8 -1
  19. package/out/controller/control/chart/generator/base-series-generator.d.ts.map +1 -1
  20. package/out/controller/control/chart/generator/base-series-generator.js +30 -7
  21. package/out/controller/control/chart/generator/chart-options-generator.d.ts.map +1 -1
  22. package/out/controller/control/chart/generator/chart-options-generator.js +22 -6
  23. package/out/controller/control/dashboard/portlet/report-portlet/report-portlet.controller.d.ts +2 -2
  24. package/out/controller/control/dashboard/portlet/report-portlet/report-portlet.controller.d.ts.map +1 -1
  25. package/out/controller/control/search-bar/interface-util.d.ts.map +1 -1
  26. package/out/controller/control/search-bar/interface-util.js +29 -0
  27. package/out/engine/md-view.engine.js +2 -2
  28. package/out/global/global-util/global-util.d.ts +8 -1
  29. package/out/global/global-util/global-util.d.ts.map +1 -1
  30. package/out/global/global-util/global-util.js +8 -1
  31. package/out/interface/controller/controller/control/i-control.controller.d.ts +8 -0
  32. package/out/interface/controller/controller/control/i-control.controller.d.ts.map +1 -1
  33. package/out/interface/controller/controller/control/i-md-control.controller.d.ts +32 -0
  34. package/out/interface/controller/controller/control/i-md-control.controller.d.ts.map +1 -1
  35. package/out/interface/controller/state/control/search-bar/i-filter-node.d.ts +43 -1
  36. package/out/interface/controller/state/control/search-bar/i-filter-node.d.ts.map +1 -1
  37. package/out/interface/controller/state/control/search-bar/i-search-cond-ex.d.ts +21 -2
  38. package/out/interface/controller/state/control/search-bar/i-search-cond-ex.d.ts.map +1 -1
  39. package/out/interface/controller/state/control/search-bar/i-search-cond.d.ts +14 -1
  40. package/out/interface/controller/state/control/search-bar/i-search-cond.d.ts.map +1 -1
  41. package/out/interface/controller/state/control/search-bar/index.d.ts +3 -3
  42. package/out/interface/controller/state/control/search-bar/index.d.ts.map +1 -1
  43. package/out/interface/util/i-fullscreen-util/i-fullscreen-util.d.ts +8 -2
  44. package/out/interface/util/i-fullscreen-util/i-fullscreen-util.d.ts.map +1 -1
  45. package/out/interface/util/i-record-nav-util/i-record-nav-util.d.ts +78 -0
  46. package/out/interface/util/i-record-nav-util/i-record-nav-util.d.ts.map +1 -0
  47. package/out/interface/util/i-record-nav-util/i-record-nav-util.js +1 -0
  48. package/out/interface/util/index.d.ts +1 -0
  49. package/out/interface/util/index.d.ts.map +1 -1
  50. package/out/locale/en/index.d.ts +5 -0
  51. package/out/locale/en/index.d.ts.map +1 -1
  52. package/out/locale/en/index.js +5 -0
  53. package/out/locale/zh-CN/index.d.ts +5 -0
  54. package/out/locale/zh-CN/index.d.ts.map +1 -1
  55. package/out/locale/zh-CN/index.js +5 -0
  56. package/out/utils/bi-report-util/bi-report-util.d.ts +1 -0
  57. package/out/utils/bi-report-util/bi-report-util.d.ts.map +1 -1
  58. package/out/utils/bi-report-util/bi-report-util.js +33 -5
  59. package/out/utils/index.d.ts +1 -0
  60. package/out/utils/index.d.ts.map +1 -1
  61. package/out/utils/index.js +1 -0
  62. package/out/utils/record-nav-util/record-nav-util.d.ts +89 -0
  63. package/out/utils/record-nav-util/record-nav-util.d.ts.map +1 -0
  64. package/out/utils/record-nav-util/record-nav-util.js +192 -0
  65. package/package.json +6 -7
package/dist/index.esm.js CHANGED
@@ -80,7 +80,7 @@ var RegisterCenter = class {
80
80
  };
81
81
 
82
82
  // src/command/app/app-func/app-func.ts
83
- import { ModelError as ModelError16, RuntimeError as RuntimeError27 } from "@ibiz-template/core";
83
+ import { ModelError as ModelError16, RuntimeError as RuntimeError28 } from "@ibiz-template/core";
84
84
 
85
85
  // src/utils/error-handler/default-error-handler.ts
86
86
  import {
@@ -2476,6 +2476,21 @@ var ControlType = /* @__PURE__ */ ((ControlType2) => {
2476
2476
  ControlType2["CONTEXT_MENU"] = "CONTEXTMENU";
2477
2477
  return ControlType2;
2478
2478
  })(ControlType || {});
2479
+ var MDControlTypes = [
2480
+ "CALENDAR" /* CALENDAR */,
2481
+ "CHART" /* CHART */,
2482
+ "DATAVIEW" /* DATAVIEW */,
2483
+ "GANTT" /* GANTT */,
2484
+ "GRID" /* GRID */,
2485
+ "KANBAN" /* KANBAN */,
2486
+ "LIST" /* LIST */,
2487
+ "MAP" /* MAP */,
2488
+ "MOBMDCTRL" /* MOB_MDCTRL */,
2489
+ "MULTIEDITVIEWPANEL" /* MULTI_EDIT_VIEWPANEL */,
2490
+ "TREEGRID" /* TREEGRID */,
2491
+ "TREEVIEW" /* TREEVIEW */,
2492
+ "TREEGRIDEX" /* TREE_GRIDEX */
2493
+ ];
2479
2494
 
2480
2495
  // src/constant/platform-type.ts
2481
2496
  var PlatformType = /* @__PURE__ */ ((PlatformType2) => {
@@ -15172,14 +15187,22 @@ var BIReportUtil = class {
15172
15187
  if (!biReportItems.measure) {
15173
15188
  biReportItems.measure = [];
15174
15189
  }
15175
- biReportItems.measure.push({
15190
+ const tempMeasure = {
15176
15191
  pssysbischemeid: item.pssysbischemeid,
15177
15192
  pssysbicubemeasureid: item.pssysbicubemeasureid,
15178
15193
  pssysbicubeid: item.pssysbicubeid,
15179
15194
  codename: (_a = item.pssysbicubemeasureid) == null ? void 0 : _a.split(".").pop(),
15180
15195
  pssysbicubemeasurename: item.pssysbicubemeasurename,
15181
15196
  birepitemparams: item.birepitemparams
15182
- });
15197
+ };
15198
+ if (biReportUIModel.extend) {
15199
+ const { extend } = biReportUIModel;
15200
+ if (extend["aggmode@".concat(tempMeasure.codename)]) {
15201
+ tempMeasure.aggtype = extend["aggmode@".concat(tempMeasure.codename)];
15202
+ tempMeasure.bimeasuretype = "COMMON";
15203
+ }
15204
+ }
15205
+ biReportItems.measure.push(tempMeasure);
15183
15206
  }
15184
15207
  if (item.birepitemtype === "DIMENSION") {
15185
15208
  const tempDimension = {
@@ -15225,6 +15248,9 @@ var BIReportUtil = class {
15225
15248
  if (biReportUIModel.period) {
15226
15249
  propertyData.data.period = biReportUIModel.period;
15227
15250
  }
15251
+ if (biReportUIModel.extend) {
15252
+ propertyData.extend = biReportUIModel.extend;
15253
+ }
15228
15254
  config.propertyData = propertyData;
15229
15255
  return config;
15230
15256
  }
@@ -15265,6 +15291,9 @@ var BIReportUtil = class {
15265
15291
  if (reportUIModelObj.period) {
15266
15292
  propertyData.data.period = reportUIModelObj.period;
15267
15293
  }
15294
+ if (reportUIModelObj.extend) {
15295
+ propertyData.extend = reportUIModelObj.extend;
15296
+ }
15268
15297
  } else {
15269
15298
  config.selectChartType = "NUMBER";
15270
15299
  }
@@ -15273,14 +15302,22 @@ var BIReportUtil = class {
15273
15302
  if (!biReportDatas.measure) {
15274
15303
  biReportDatas.measure = [];
15275
15304
  }
15276
- biReportDatas.measure.push({
15305
+ const tempMeasure = {
15277
15306
  pssysbischemeid: tempAppBISchemeId,
15278
15307
  pssysbicubemeasureid: "".concat(tempAppBISchemeId, ".").concat(appBICubeId, ".").concat(measure.measureTag),
15279
15308
  pssysbicubemeasurename: measure.measureName,
15280
15309
  pssysbicubeid: "".concat(tempAppBISchemeId, ".").concat(appBICubeId),
15281
15310
  codename: measure.measureTag,
15282
15311
  birepitemparams: measure.birepitemparams
15283
- });
15312
+ };
15313
+ if (reportUIModelObj.extend) {
15314
+ const { extend } = reportUIModelObj;
15315
+ if (extend["aggmode@".concat(tempMeasure.codename)]) {
15316
+ tempMeasure.aggtype = extend["aggmode@".concat(tempMeasure.codename)];
15317
+ tempMeasure.bimeasuretype = "COMMON";
15318
+ }
15319
+ }
15320
+ biReportDatas.measure.push(tempMeasure);
15284
15321
  });
15285
15322
  }
15286
15323
  if (appBIReportDimensions && appBIReportDimensions.length > 0) {
@@ -15337,7 +15374,15 @@ var BIReportUtil = class {
15337
15374
  * @memberof BIReportUtil
15338
15375
  */
15339
15376
  async translateDataToAppBIReport(arg) {
15340
- const { reportTag, selectChartType, selectCubeId, caption, data, style } = arg;
15377
+ const {
15378
+ reportTag,
15379
+ selectChartType,
15380
+ selectCubeId,
15381
+ caption,
15382
+ data,
15383
+ style,
15384
+ extend
15385
+ } = arg;
15341
15386
  const app = ibiz.hub.getApp(ibiz.env.appId);
15342
15387
  const tempUIReportModel = {
15343
15388
  selectChartType,
@@ -15349,6 +15394,9 @@ var BIReportUtil = class {
15349
15394
  if (data.period) {
15350
15395
  Object.assign(tempUIReportModel, { period: data.period });
15351
15396
  }
15397
+ if (extend && Object.keys(extend).length > 0) {
15398
+ Object.assign(tempUIReportModel, { extend });
15399
+ }
15352
15400
  const targetData = {
15353
15401
  pssysbireportitems: [],
15354
15402
  pssysbischemeid: selectCubeId.split(".")[0],
@@ -15483,6 +15531,200 @@ var BIReportUtil = class {
15483
15531
  }
15484
15532
  };
15485
15533
 
15534
+ // src/utils/record-nav-util/record-nav-util.ts
15535
+ import { RuntimeError as RuntimeError26 } from "@ibiz-template/core";
15536
+ var RecordNavUtil = class {
15537
+ constructor() {
15538
+ /**
15539
+ * 部件Map
15540
+ *
15541
+ * @author tony001
15542
+ * @date 2024-07-15 13:07:58
15543
+ * @private
15544
+ * @type {Map<string, IMDControlController>}
15545
+ */
15546
+ this.controlMap = /* @__PURE__ */ new Map();
15547
+ }
15548
+ /**
15549
+ * 添加部件数据
15550
+ *
15551
+ * @author tony001
15552
+ * @date 2024-07-15 13:07:10
15553
+ * @param {string} id
15554
+ * @param {IMDControlController} ctrl
15555
+ */
15556
+ add(id, ctrl) {
15557
+ this.controlMap.set(id, ctrl);
15558
+ }
15559
+ /**
15560
+ * 删除部件数据
15561
+ *
15562
+ * @author tony001
15563
+ * @date 2024-07-15 13:07:23
15564
+ * @param {string} id
15565
+ */
15566
+ remove(id) {
15567
+ this.controlMap.delete(id);
15568
+ }
15569
+ /**
15570
+ * 获取部件数据
15571
+ *
15572
+ * @author tony001
15573
+ * @date 2024-07-15 14:07:32
15574
+ * @param {string} id
15575
+ * @return {*} {(IMDControlController | undefined)}
15576
+ */
15577
+ getCtrl(id) {
15578
+ return this.controlMap.get(id);
15579
+ }
15580
+ /**
15581
+ * 获取第一条记录
15582
+ *
15583
+ * @author tony001
15584
+ * @date 2024-07-15 15:07:26
15585
+ * @param {string} ctrlId
15586
+ * @param {string} dataId
15587
+ * @return {*} {Promise<IData | undefined>}
15588
+ */
15589
+ async getFirstRecord(ctrlId, dataId) {
15590
+ const targrtCtrl = this.getCtrl(ctrlId);
15591
+ if (!targrtCtrl) {
15592
+ throw new RuntimeError26(
15593
+ ibiz.i18n.t("runtime.utils.recordNav.noFoundCtrl", {
15594
+ ctrlId
15595
+ })
15596
+ );
15597
+ }
15598
+ const items = await targrtCtrl.goToFirstPage();
15599
+ if (items && items.length > 0) {
15600
+ const firstItem = items[0];
15601
+ if (firstItem.srfkey === dataId) {
15602
+ throw new RuntimeError26(
15603
+ ibiz.i18n.t("runtime.utils.recordNav.firstRecord")
15604
+ );
15605
+ }
15606
+ return firstItem;
15607
+ }
15608
+ }
15609
+ /**
15610
+ * 获取上一条记录
15611
+ *
15612
+ * @author tony001
15613
+ * @date 2024-07-15 15:07:01
15614
+ * @param {string} ctrlId
15615
+ * @param {string} dataId
15616
+ * @return {*} {Promise<IData | undefined>}
15617
+ */
15618
+ async getPreviousRecord(ctrlId, dataId) {
15619
+ const targrtCtrl = this.getCtrl(ctrlId);
15620
+ if (!targrtCtrl) {
15621
+ throw new RuntimeError26(
15622
+ ibiz.i18n.t("runtime.utils.recordNav.noFoundCtrl", {
15623
+ ctrlId
15624
+ })
15625
+ );
15626
+ }
15627
+ let targetData;
15628
+ const { items } = targrtCtrl.state;
15629
+ const findIndex2 = items.findIndex((item) => {
15630
+ return item.srfkey === dataId;
15631
+ });
15632
+ if (findIndex2 === 0) {
15633
+ const preItems = await targrtCtrl.goToPreviousPage();
15634
+ if (preItems && preItems.length > 0) {
15635
+ targetData = preItems[preItems.length - 1];
15636
+ } else {
15637
+ throw new RuntimeError26(
15638
+ ibiz.i18n.t("runtime.utils.recordNav.firstRecord")
15639
+ );
15640
+ }
15641
+ } else {
15642
+ targetData = items[findIndex2 - 1];
15643
+ }
15644
+ return targetData;
15645
+ }
15646
+ /**
15647
+ * 获取下一条记录
15648
+ *
15649
+ * @author tony001
15650
+ * @date 2024-07-15 15:07:17
15651
+ * @param {string} ctrlId
15652
+ * @param {string} dataId
15653
+ * @return {*} {Promise<IData | undefined>}
15654
+ */
15655
+ async getNextRecord(ctrlId, dataId) {
15656
+ const targrtCtrl = this.getCtrl(ctrlId);
15657
+ if (!targrtCtrl) {
15658
+ throw new RuntimeError26(
15659
+ ibiz.i18n.t("runtime.utils.recordNav.noFoundCtrl", {
15660
+ ctrlId
15661
+ })
15662
+ );
15663
+ }
15664
+ let targetData;
15665
+ const { items } = targrtCtrl.state;
15666
+ const { pagingMode } = targrtCtrl.model;
15667
+ const findIndex2 = items.findIndex((item) => {
15668
+ return item.srfkey === dataId;
15669
+ });
15670
+ if (findIndex2 === items.length - 1) {
15671
+ const nextItems = await targrtCtrl.goToNextPage();
15672
+ if (nextItems && nextItems.length > 0) {
15673
+ if (pagingMode === 1) {
15674
+ targetData = nextItems[0];
15675
+ } else {
15676
+ const targetIndex = nextItems.findIndex((item) => {
15677
+ return item.srfkey === dataId;
15678
+ });
15679
+ if (nextItems[targetIndex + 1]) {
15680
+ targetData = nextItems[targetIndex + 1];
15681
+ } else {
15682
+ throw new RuntimeError26(
15683
+ ibiz.i18n.t("runtime.utils.recordNav.lastRecord")
15684
+ );
15685
+ }
15686
+ }
15687
+ } else {
15688
+ throw new RuntimeError26(
15689
+ ibiz.i18n.t("runtime.utils.recordNav.lastRecord")
15690
+ );
15691
+ }
15692
+ } else {
15693
+ targetData = items[findIndex2 + 1];
15694
+ }
15695
+ return targetData;
15696
+ }
15697
+ /**
15698
+ * 获取最后一条记录
15699
+ *
15700
+ * @author tony001
15701
+ * @date 2024-07-15 15:07:31
15702
+ * @param {string} ctrlId
15703
+ * @param {string} dataId
15704
+ * @return {*} {Promise<IData | undefined>}
15705
+ */
15706
+ async getLastRecord(ctrlId, dataId) {
15707
+ const targrtCtrl = this.getCtrl(ctrlId);
15708
+ if (!targrtCtrl) {
15709
+ throw new RuntimeError26(
15710
+ ibiz.i18n.t("runtime.utils.recordNav.noFoundCtrl", {
15711
+ ctrlId
15712
+ })
15713
+ );
15714
+ }
15715
+ const items = await targrtCtrl.goToLastPage();
15716
+ if (items && items.length > 0) {
15717
+ const lastItem = items[items.length - 1];
15718
+ if (lastItem.srfkey === dataId) {
15719
+ throw new RuntimeError26(
15720
+ ibiz.i18n.t("runtime.utils.recordNav.lastRecord")
15721
+ );
15722
+ }
15723
+ return lastItem;
15724
+ }
15725
+ }
15726
+ };
15727
+
15486
15728
  // src/utils/dr-ctrl-util/index.ts
15487
15729
  function calcItemVisibleByCounter(item, counter) {
15488
15730
  const { enableMode, counterId } = item;
@@ -15540,7 +15782,7 @@ async function calcItemVisible(item, context, params, appDeId, appId2, data) {
15540
15782
  }
15541
15783
 
15542
15784
  // src/command/app/open-app-view/open-app-view.ts
15543
- import { ModelError as ModelError15, RuntimeError as RuntimeError26 } from "@ibiz-template/core";
15785
+ import { ModelError as ModelError15, RuntimeError as RuntimeError27 } from "@ibiz-template/core";
15544
15786
  import { clone as clone19 } from "ramda";
15545
15787
  var _OpenAppViewCommand = class _OpenAppViewCommand {
15546
15788
  constructor() {
@@ -15564,7 +15806,7 @@ var _OpenAppViewCommand = class _OpenAppViewCommand {
15564
15806
  }
15565
15807
  const appView = await ibiz.hub.config.view.get(appViewId);
15566
15808
  if (!appView) {
15567
- throw new RuntimeError26(
15809
+ throw new RuntimeError27(
15568
15810
  ibiz.i18n.t("runtime.command.app.noFindApplicationView", {
15569
15811
  appViewId
15570
15812
  })
@@ -15687,7 +15929,7 @@ var _OpenAppViewCommand = class _OpenAppViewCommand {
15687
15929
  async openPopover(appView, context, params = {}, opts = {}) {
15688
15930
  const { event, modalOption } = opts;
15689
15931
  if (!event) {
15690
- throw new RuntimeError26(ibiz.i18n.t("runtime.command.app.missingEvent"));
15932
+ throw new RuntimeError27(ibiz.i18n.t("runtime.command.app.missingEvent"));
15691
15933
  }
15692
15934
  return ibiz.openView.popover(appView.id, event, context, params, {
15693
15935
  ...modalOption
@@ -15745,7 +15987,7 @@ var _AppFuncCommand = class _AppFuncCommand {
15745
15987
  const app = await ibiz.hub.getAppAsync(context.srfappid);
15746
15988
  const appFunc = app.getAppFunc(appFuncId);
15747
15989
  if (!appFunc) {
15748
- throw new RuntimeError27(
15990
+ throw new RuntimeError28(
15749
15991
  ibiz.i18n.t("runtime.command.app.noFindApplicationFunction", {
15750
15992
  appFuncId
15751
15993
  })
@@ -15789,7 +16031,7 @@ var _AppFuncCommand = class _AppFuncCommand {
15789
16031
  */
15790
16032
  async openAppView(appFunc, context, params, opts) {
15791
16033
  if (!appFunc.appViewId) {
15792
- throw new RuntimeError27(
16034
+ throw new RuntimeError28(
15793
16035
  ibiz.i18n.t("runtime.command.app.noFindApplicationView", {
15794
16036
  appViewId: appFunc.appViewId
15795
16037
  })
@@ -15827,7 +16069,7 @@ var _AppFuncCommand = class _AppFuncCommand {
15827
16069
  */
15828
16070
  openPdAppFunc(appFunc, context, params) {
15829
16071
  ibiz.log.warn("openPdAppFunc", appFunc, context, params);
15830
- throw new RuntimeError27(ibiz.i18n.t("runtime.common.unrealized"));
16072
+ throw new RuntimeError28(ibiz.i18n.t("runtime.common.unrealized"));
15831
16073
  }
15832
16074
  /**
15833
16075
  * 执行 JavaScript 脚本
@@ -15857,7 +16099,7 @@ var _AppFuncCommand = class _AppFuncCommand {
15857
16099
  */
15858
16100
  custom(appFunc, context, params) {
15859
16101
  ibiz.log.warn("custom", appFunc, context, params);
15860
- throw new RuntimeError27(ibiz.i18n.t("runtime.common.unrealized"));
16102
+ throw new RuntimeError28(ibiz.i18n.t("runtime.common.unrealized"));
15861
16103
  }
15862
16104
  };
15863
16105
  /**
@@ -15878,7 +16120,7 @@ function installCommand() {
15878
16120
  }
15879
16121
 
15880
16122
  // src/app-hub.ts
15881
- import { RuntimeError as RuntimeError69 } from "@ibiz-template/core";
16123
+ import { RuntimeError as RuntimeError70 } from "@ibiz-template/core";
15882
16124
 
15883
16125
  // src/application.ts
15884
16126
  import { Net, getToken } from "@ibiz-template/core";
@@ -16134,7 +16376,7 @@ var Convert = class {
16134
16376
  };
16135
16377
 
16136
16378
  // src/hub/config/app-view-config-service.ts
16137
- import { RuntimeError as RuntimeError28 } from "@ibiz-template/core";
16379
+ import { RuntimeError as RuntimeError29 } from "@ibiz-template/core";
16138
16380
  var AppViewConfigService = class {
16139
16381
  constructor() {
16140
16382
  /**
@@ -16205,7 +16447,7 @@ var AppViewConfigService = class {
16205
16447
  if (!this.viewConfigs.has(id)) {
16206
16448
  const model = await ibiz.hub.getAppView(id);
16207
16449
  if (!model) {
16208
- throw new RuntimeError28(ibiz.i18n.t("runtime.hub.noExist", { id }));
16450
+ throw new RuntimeError29(ibiz.i18n.t("runtime.hub.noExist", { id }));
16209
16451
  }
16210
16452
  this.set(model.id, {
16211
16453
  id: model.id,
@@ -16275,7 +16517,7 @@ import {
16275
16517
  HttpError as HttpError7,
16276
16518
  IBizContext as IBizContext3,
16277
16519
  Namespace,
16278
- RuntimeError as RuntimeError35
16520
+ RuntimeError as RuntimeError36
16279
16521
  } from "@ibiz-template/core";
16280
16522
  import { isEmpty as isEmpty9, isNil as isNil22, isNotNil as isNotNil2 } from "ramda";
16281
16523
 
@@ -16283,7 +16525,7 @@ import { isEmpty as isEmpty9, isNil as isNil22, isNotNil as isNotNil2 } from "ra
16283
16525
  import { NOOP } from "@ibiz-template/core";
16284
16526
 
16285
16527
  // src/controller/utils/counter/counter.ts
16286
- import { RuntimeError as RuntimeError29 } from "@ibiz-template/core";
16528
+ import { RuntimeError as RuntimeError30 } from "@ibiz-template/core";
16287
16529
  var Counter = class {
16288
16530
  /**
16289
16531
  * Creates an instance of Counter.
@@ -16345,7 +16587,7 @@ var Counter = class {
16345
16587
  return;
16346
16588
  }
16347
16589
  if (this.count === 0) {
16348
- throw new RuntimeError29(
16590
+ throw new RuntimeError30(
16349
16591
  ibiz.i18n.t("runtime.controller.utils.counter.decrement")
16350
16592
  );
16351
16593
  }
@@ -16954,7 +17196,7 @@ function getOriginData(data) {
16954
17196
  }
16955
17197
 
16956
17198
  // src/controller/utils/value-rule/value-rule.ts
16957
- import { RuntimeError as RuntimeError30 } from "@ibiz-template/core";
17199
+ import { RuntimeError as RuntimeError31 } from "@ibiz-template/core";
16958
17200
  import { isNilOrEmpty as isNilOrEmpty6, isNumber } from "qx-util";
16959
17201
  import { isNil as isNil18 } from "ramda";
16960
17202
  function generateRules(itemVRs, name, valueItemName) {
@@ -17004,7 +17246,7 @@ function generateRules(itemVRs, name, valueItemName) {
17004
17246
  deRule.groupCond
17005
17247
  );
17006
17248
  if (!isPast) {
17007
- callback(new RuntimeError30(infoMessage || deRule.ruleInfo));
17249
+ callback(new RuntimeError31(infoMessage || deRule.ruleInfo));
17008
17250
  }
17009
17251
  return true;
17010
17252
  },
@@ -17077,7 +17319,7 @@ function generateEditorRules(editor) {
17077
17319
  }
17078
17320
 
17079
17321
  // src/controller/utils/value-ex/value-ex.ts
17080
- import { RuntimeError as RuntimeError31 } from "@ibiz-template/core";
17322
+ import { RuntimeError as RuntimeError32 } from "@ibiz-template/core";
17081
17323
  import { isNil as isNil19, mergeLeft } from "ramda";
17082
17324
  var ValueExUtil = class {
17083
17325
  /**
@@ -17109,7 +17351,7 @@ var ValueExUtil = class {
17109
17351
  const { valueType, objectNameField, textSeparator } = this.mergeDefault(options);
17110
17352
  if (["OBJECTS", "OBJECT"].includes(valueType)) {
17111
17353
  if (!objectNameField) {
17112
- throw new RuntimeError31(
17354
+ throw new RuntimeError32(
17113
17355
  ibiz.i18n.t("runtime.controller.utils.valueEx.objectNameField")
17114
17356
  );
17115
17357
  }
@@ -17127,7 +17369,7 @@ var ValueExUtil = class {
17127
17369
  };
17128
17370
 
17129
17371
  // src/controller/utils/value-default/value-default.ts
17130
- import { RuntimeError as RuntimeError32, ModelError as ModelError17 } from "@ibiz-template/core";
17372
+ import { RuntimeError as RuntimeError33, ModelError as ModelError17 } from "@ibiz-template/core";
17131
17373
  import dayjs from "dayjs";
17132
17374
  import { createUUID as createUUID8 } from "qx-util";
17133
17375
  import { isNil as isNil20, isNotNil } from "ramda";
@@ -17168,7 +17410,7 @@ function getDefaultValue(opts, origins) {
17168
17410
  case "SESSION":
17169
17411
  case "APPLICATION":
17170
17412
  if (!((_a = ibiz.appData) == null ? void 0 : _a.context)) {
17171
- throw new RuntimeError32(
17413
+ throw new RuntimeError33(
17172
17414
  ibiz.i18n.t("runtime.controller.utils.valueDefault.noExist")
17173
17415
  );
17174
17416
  }
@@ -17189,7 +17431,7 @@ function getDefaultValue(opts, origins) {
17189
17431
 
17190
17432
  // src/controller/utils/data-file-util/data-file-util.ts
17191
17433
  import {
17192
- RuntimeError as RuntimeError33,
17434
+ RuntimeError as RuntimeError34,
17193
17435
  selectFile
17194
17436
  } from "@ibiz-template/core";
17195
17437
  import { mergeRight as mergeRight2 } from "ramda";
@@ -17294,13 +17536,13 @@ async function importData2(opts) {
17294
17536
  }
17295
17537
  async function exportData(header, data, fileName) {
17296
17538
  if (!ibiz.util.getExcelUtil) {
17297
- throw new RuntimeError33(
17539
+ throw new RuntimeError34(
17298
17540
  ibiz.i18n.t("runtime.controller.utils.dataFileUtil.noExist")
17299
17541
  );
17300
17542
  }
17301
17543
  const exportExcel = await ibiz.util.getExcelUtil();
17302
17544
  if (!exportExcel) {
17303
- throw new RuntimeError33(
17545
+ throw new RuntimeError34(
17304
17546
  ibiz.i18n.t("runtime.controller.utils.dataFileUtil.loadError")
17305
17547
  );
17306
17548
  }
@@ -17330,7 +17572,7 @@ async function getDataImportModels(opts) {
17330
17572
  (item) => item.id === opts.deDataImportId
17331
17573
  );
17332
17574
  if (!deDataImport) {
17333
- throw new RuntimeError33(
17575
+ throw new RuntimeError34(
17334
17576
  ibiz.i18n.t("runtime.controller.utils.dataFileUtil.importData")
17335
17577
  );
17336
17578
  }
@@ -17531,7 +17773,7 @@ async function getEntitySchema(entityId, context, params = {}) {
17531
17773
  }
17532
17774
 
17533
17775
  // src/controller/utils/view-msg/view-msg-controller.ts
17534
- import { RuntimeError as RuntimeError34, RuntimeModelError as RuntimeModelError24 } from "@ibiz-template/core";
17776
+ import { RuntimeError as RuntimeError35, RuntimeModelError as RuntimeModelError24 } from "@ibiz-template/core";
17535
17777
  import { isNil as isNil21, mergeRight as mergeRight3 } from "ramda";
17536
17778
  var VIEW_MSG_PREFIX = "VIEW_MSG";
17537
17779
  var ViewMsgController = class _ViewMsgController {
@@ -17566,7 +17808,7 @@ var ViewMsgController = class _ViewMsgController {
17566
17808
  (item) => item.id === this.msgGroupId
17567
17809
  );
17568
17810
  if (!msgGroup) {
17569
- throw new RuntimeError34(
17811
+ throw new RuntimeError35(
17570
17812
  ibiz.i18n.t("runtime.controller.utils.viewMsg.message", {
17571
17813
  msgGroupId: this.msgGroupId
17572
17814
  })
@@ -17584,7 +17826,7 @@ var ViewMsgController = class _ViewMsgController {
17584
17826
  }
17585
17827
  });
17586
17828
  if (msgDetailsViewMsgIds.length) {
17587
- throw new RuntimeError34(
17829
+ throw new RuntimeError35(
17588
17830
  ibiz.i18n.t("runtime.controller.utils.viewMsg.noFound", {
17589
17831
  message: msgDetailsViewMsgIds.join(",")
17590
17832
  })
@@ -18474,7 +18716,7 @@ var ViewController = class extends BaseController {
18474
18716
  async callUIAction(key, args) {
18475
18717
  const result = this.call(key, args);
18476
18718
  if (result === void 0) {
18477
- throw new RuntimeError35(
18719
+ throw new RuntimeError36(
18478
18720
  ibiz.i18n.t("runtime.controller.common.view.noSupportBehavior", {
18479
18721
  key
18480
18722
  })
@@ -18981,7 +19223,7 @@ import {
18981
19223
  IBizContext as IBizContext4,
18982
19224
  IBizParams,
18983
19225
  NoticeError as NoticeError2,
18984
- RuntimeError as RuntimeError36
19226
+ RuntimeError as RuntimeError37
18985
19227
  } from "@ibiz-template/core";
18986
19228
  import { clone as clone20, isNil as isNil23 } from "ramda";
18987
19229
  import { notNilEmpty as notNilEmpty9 } from "qx-util";
@@ -19059,6 +19301,10 @@ var ControlController = class extends BaseController {
19059
19301
  get view() {
19060
19302
  return this.ctx.view;
19061
19303
  }
19304
+ // 部件标识
19305
+ get ctrlId() {
19306
+ return "".concat(this.view.model.id, "@").concat(this.model.id);
19307
+ }
19062
19308
  /**
19063
19309
  * 往ctx里注册控制器
19064
19310
  * @author lxm
@@ -19410,7 +19656,7 @@ var ControlController = class extends BaseController {
19410
19656
  ibiz.mc.command.remove.send(msg, meta);
19411
19657
  break;
19412
19658
  default:
19413
- throw new RuntimeError36(
19659
+ throw new RuntimeError37(
19414
19660
  ibiz.i18n.t("runtime.controller.common.control.unsupportedType", {
19415
19661
  type
19416
19662
  })
@@ -19451,7 +19697,7 @@ var ControlController = class extends BaseController {
19451
19697
  // src/controller/common/control/md-control.controller.ts
19452
19698
  import {
19453
19699
  isElementSame,
19454
- RuntimeError as RuntimeError37,
19700
+ RuntimeError as RuntimeError38,
19455
19701
  RuntimeModelError as RuntimeModelError26
19456
19702
  } from "@ibiz-template/core";
19457
19703
  import { isNil as isNil24 } from "ramda";
@@ -19724,7 +19970,7 @@ var MDControlController = class extends ControlController {
19724
19970
  async remove(args) {
19725
19971
  const { context, params, data } = this.handlerAbilityParams(args);
19726
19972
  if (!(data == null ? void 0 : data.length)) {
19727
- throw new RuntimeError37(
19973
+ throw new RuntimeError38(
19728
19974
  ibiz.i18n.t("runtime.controller.common.control.uncheckedData")
19729
19975
  );
19730
19976
  }
@@ -19956,12 +20202,89 @@ var MDControlController = class extends ControlController {
19956
20202
  });
19957
20203
  }
19958
20204
  }
20205
+ /**
20206
+ * 跳转第一页
20207
+ *
20208
+ * @author tony001
20209
+ * @date 2024-07-15 14:07:03
20210
+ * @return {*} {Promise<IData[]>}
20211
+ */
20212
+ async goToFirstPage() {
20213
+ const { curPage, items } = this.state;
20214
+ const { pagingMode } = this.model;
20215
+ let result = items;
20216
+ if (curPage !== 1 && pagingMode === 1) {
20217
+ this.state.curPage = 1;
20218
+ result = await this.load();
20219
+ }
20220
+ return result;
20221
+ }
20222
+ /**
20223
+ * 跳转上一页
20224
+ *
20225
+ * @author tony001
20226
+ * @date 2024-07-15 14:07:28
20227
+ * @return {*} {Promise<IData[]>}
20228
+ */
20229
+ async goToPreviousPage() {
20230
+ const { curPage } = this.state;
20231
+ const { pagingMode } = this.model;
20232
+ let result = [];
20233
+ if (pagingMode === 1 && curPage > 1) {
20234
+ this.state.curPage -= 1;
20235
+ result = await this.load();
20236
+ }
20237
+ return result;
20238
+ }
20239
+ /**
20240
+ * 跳转下一页
20241
+ *
20242
+ * @author tony001
20243
+ * @date 2024-07-15 14:07:34
20244
+ * @return {*} {Promise<IData[]>}
20245
+ */
20246
+ async goToNextPage() {
20247
+ const { curPage, totalPages } = this.state;
20248
+ const { pagingMode } = this.model;
20249
+ let result = [];
20250
+ if (pagingMode && curPage < totalPages) {
20251
+ if (pagingMode === 1) {
20252
+ this.state.curPage += 1;
20253
+ result = await this.load();
20254
+ } else {
20255
+ result = await this.load({ isLoadMore: true });
20256
+ }
20257
+ }
20258
+ return result;
20259
+ }
20260
+ /**
20261
+ * 跳转最后一页
20262
+ *
20263
+ * @author tony001
20264
+ * @date 2024-07-15 14:07:44
20265
+ * @return {*} {Promise<IData[]>}
20266
+ */
20267
+ async goToLastPage() {
20268
+ const { curPage, items, totalPages, total } = this.state;
20269
+ const { pagingMode } = this.model;
20270
+ let result = items;
20271
+ if (pagingMode && curPage < totalPages) {
20272
+ if (pagingMode === 1) {
20273
+ this.state.curPage = totalPages;
20274
+ result = await this.load();
20275
+ } else {
20276
+ this.state.size = total;
20277
+ result = await this.load({ isInitialLoad: true });
20278
+ }
20279
+ }
20280
+ return result;
20281
+ }
19959
20282
  };
19960
20283
 
19961
20284
  // src/controller/control/app-menu/app-menu.controller.ts
19962
20285
  import {
19963
20286
  findRecursiveChild,
19964
- RuntimeError as RuntimeError38,
20287
+ RuntimeError as RuntimeError39,
19965
20288
  RuntimeModelError as RuntimeModelError27
19966
20289
  } from "@ibiz-template/core";
19967
20290
 
@@ -20217,7 +20540,7 @@ var AppMenuController = class extends ControlController {
20217
20540
  childrenFields: ["appMenuItems"]
20218
20541
  });
20219
20542
  if (!menuItem) {
20220
- throw new RuntimeError38(
20543
+ throw new RuntimeError39(
20221
20544
  ibiz.i18n.t("runtime.controller.control.menu.noFindMenu", { id })
20222
20545
  );
20223
20546
  }
@@ -20352,7 +20675,7 @@ var AppMenuController = class extends ControlController {
20352
20675
  // src/controller/control/app-menu-icon-view/app-menu-icon-view.controller.ts
20353
20676
  import {
20354
20677
  findRecursiveChild as findRecursiveChild2,
20355
- RuntimeError as RuntimeError39,
20678
+ RuntimeError as RuntimeError40,
20356
20679
  RuntimeModelError as RuntimeModelError28
20357
20680
  } from "@ibiz-template/core";
20358
20681
  var AppMenuIconViewController = class extends AppMenuController {
@@ -20362,7 +20685,7 @@ var AppMenuIconViewController = class extends AppMenuController {
20362
20685
  childrenFields: ["appMenuItems"]
20363
20686
  });
20364
20687
  if (!menuItem) {
20365
- throw new RuntimeError39(
20688
+ throw new RuntimeError40(
20366
20689
  ibiz.i18n.t("runtime.controller.control.menu.noFindMenu", { id })
20367
20690
  );
20368
20691
  }
@@ -20393,10 +20716,10 @@ var AppMenuIconViewController = class extends AppMenuController {
20393
20716
 
20394
20717
  // src/controller/control/calendar/calendar.controller.ts
20395
20718
  import dayjs3 from "dayjs";
20396
- import { RuntimeError as RuntimeError41, RuntimeModelError as RuntimeModelError29 } from "@ibiz-template/core";
20719
+ import { RuntimeError as RuntimeError42, RuntimeModelError as RuntimeModelError29 } from "@ibiz-template/core";
20397
20720
 
20398
20721
  // src/controller/control/calendar/calendar.service.ts
20399
- import { RuntimeError as RuntimeError40 } from "@ibiz-template/core";
20722
+ import { RuntimeError as RuntimeError41 } from "@ibiz-template/core";
20400
20723
  import { clone as clone21 } from "ramda";
20401
20724
  var CalendarService = class extends MDControlService {
20402
20725
  /**
@@ -20452,13 +20775,13 @@ var CalendarService = class extends MDControlService {
20452
20775
  setCalendarConfigData(items, index) {
20453
20776
  const { sysCalendarItems } = this.model;
20454
20777
  if (!sysCalendarItems) {
20455
- throw new RuntimeError40(
20778
+ throw new RuntimeError41(
20456
20779
  ibiz.i18n.t("runtime.controller.control.calendar.noFoundModel")
20457
20780
  );
20458
20781
  }
20459
20782
  const calendarItem = sysCalendarItems[index];
20460
20783
  if (!calendarItem) {
20461
- throw new RuntimeError40(
20784
+ throw new RuntimeError41(
20462
20785
  ibiz.i18n.t("runtime.controller.control.calendar.noFoundModel")
20463
20786
  );
20464
20787
  }
@@ -20555,7 +20878,7 @@ var CalendarController = class extends MDControlController {
20555
20878
  initCalendarLegends() {
20556
20879
  const { sysCalendarItems } = this.model;
20557
20880
  if (!sysCalendarItems) {
20558
- throw new RuntimeError41(
20881
+ throw new RuntimeError42(
20559
20882
  ibiz.i18n.t("runtime.controller.control.calendar.noFoundModel")
20560
20883
  );
20561
20884
  }
@@ -20872,13 +21195,13 @@ var CalendarController = class extends MDControlController {
20872
21195
  };
20873
21196
 
20874
21197
  // src/controller/control/chart/chart.controller.ts
20875
- import { RuntimeError as RuntimeError43 } from "@ibiz-template/core";
21198
+ import { RuntimeError as RuntimeError44 } from "@ibiz-template/core";
20876
21199
  import { clone as clone25 } from "ramda";
20877
21200
 
20878
21201
  // src/controller/control/chart/generator/chart-options-generator.ts
20879
21202
  import { clone as clone24, mergeDeepRight as mergeDeepRight3 } from "ramda";
20880
21203
  import { isObject as isObject2, isString as isString2 } from "qx-util";
20881
- import { RuntimeError as RuntimeError42 } from "@ibiz-template/core";
21204
+ import { RuntimeError as RuntimeError43 } from "@ibiz-template/core";
20882
21205
 
20883
21206
  // src/controller/control/chart/generator/line-series-generator.ts
20884
21207
  import { RuntimeModelError as RuntimeModelError31 } from "@ibiz-template/core";
@@ -20944,6 +21267,13 @@ var BaseSeriesGenerator = class {
20944
21267
  * @type {boolean}
20945
21268
  */
20946
21269
  this.autoCompleteCategory = true;
21270
+ /**
21271
+ * 多维度分层时的维度映射,记录序列值与分层的关系
21272
+ *
21273
+ * @type {Map<string, Array<IData>>}
21274
+ * @memberof BaseSeriesGenerator
21275
+ */
21276
+ this.catalogMap = /* @__PURE__ */ new Map();
20947
21277
  var _a;
20948
21278
  this.model = model;
20949
21279
  this.chartGenerator = chartGenerator;
@@ -21084,23 +21414,41 @@ var BaseSeriesGenerator = class {
21084
21414
  handleMultiCatalogGroup(prevItems, nextItems) {
21085
21415
  let tempItems = [];
21086
21416
  if (prevItems.length === 0) {
21087
- tempItems = nextItems.map((item) => {
21417
+ tempItems = nextItems.codelist.map((item) => {
21418
+ this.catalogMap.set(item.text, { [nextItems.codename]: item.value });
21088
21419
  return {
21420
+ codename: {
21421
+ [nextItems.codename]: item.value
21422
+ },
21089
21423
  text: item.text,
21090
21424
  value: item.value
21091
21425
  };
21092
21426
  });
21093
21427
  } else {
21094
21428
  for (let prev = 0; prev < prevItems.length; prev++) {
21095
- if (nextItems.length > 0) {
21096
- for (let next = 0; next < nextItems.length; next++) {
21429
+ if (nextItems.codelist.length > 0) {
21430
+ for (let next = 0; next < nextItems.codelist.length; next++) {
21431
+ this.catalogMap.set(
21432
+ "".concat(prevItems[prev].text, "_").concat(nextItems.codelist[next].text),
21433
+ {
21434
+ ...prevItems[prev].codename,
21435
+ [nextItems.codename]: nextItems.codelist[next].value
21436
+ }
21437
+ );
21097
21438
  tempItems.push({
21098
- text: "".concat(prevItems[prev].text, "_").concat(nextItems[next].text),
21099
- value: nextItems[next].value
21439
+ codename: {
21440
+ ...prevItems[prev].codename,
21441
+ [nextItems.codename]: nextItems.codelist[next].value
21442
+ },
21443
+ text: "".concat(prevItems[prev].text, "_").concat(nextItems.codelist[next].text),
21444
+ value: nextItems.codelist[next].value
21100
21445
  });
21101
21446
  }
21102
21447
  } else {
21103
21448
  tempItems.push({
21449
+ codename: {
21450
+ ...prevItems[prev].codename
21451
+ },
21104
21452
  text: prevItems[prev].text,
21105
21453
  value: prevItems[prev].value
21106
21454
  });
@@ -21139,10 +21487,18 @@ var BaseSeriesGenerator = class {
21139
21487
  let tempCodes = [];
21140
21488
  const tempCodeLists = [];
21141
21489
  this.catalogFields.forEach((catalog2) => {
21142
- const { codelistId } = catalog2;
21490
+ const { codelistId, codename, mode } = catalog2;
21143
21491
  if (codelistId && this.autoCompleteCategory) {
21144
21492
  const codeListItems = this.chartGenerator.codeListMap.get(codelistId);
21145
- tempCodeLists.push(clone22(codeListItems));
21493
+ tempCodeLists.push({ codename, codelist: clone22(codeListItems) });
21494
+ } else if (mode === "field") {
21495
+ const tempdata = data.map((_data) => {
21496
+ return {
21497
+ text: _data[codename],
21498
+ value: _data[codename]
21499
+ };
21500
+ });
21501
+ tempCodeLists.push({ codename, codelist: tempdata });
21146
21502
  }
21147
21503
  });
21148
21504
  for (let i = 0; i < tempCodeLists.length; i++) {
@@ -22210,6 +22566,15 @@ var ChartOptionsGenerator2 = class {
22210
22566
  left: (catalogLength + 1) * 40
22211
22567
  });
22212
22568
  }
22569
+ const tempyAxis = this.chartUserParam.yAxis;
22570
+ let nameTextStyle = {};
22571
+ if (tempyAxis) {
22572
+ if (Array.isArray(tempyAxis)) {
22573
+ nameTextStyle = tempyAxis[0].nameTextStyle || {};
22574
+ } else {
22575
+ nameTextStyle = tempyAxis.nameTextStyle || {};
22576
+ }
22577
+ }
22213
22578
  tempaxis.push({
22214
22579
  type: "category",
22215
22580
  gridIndex,
@@ -22219,7 +22584,8 @@ var ChartOptionsGenerator2 = class {
22219
22584
  {
22220
22585
  value: mergeName.split("").join("\n"),
22221
22586
  textStyle: {
22222
- padding: [0, catalogLength * 40, 0, 0]
22587
+ padding: [0, catalogLength * 40, 0, 0],
22588
+ ...nameTextStyle
22223
22589
  }
22224
22590
  }
22225
22591
  ],
@@ -22241,6 +22607,15 @@ var ChartOptionsGenerator2 = class {
22241
22607
  bottom: (catalogLength + 2) * 24
22242
22608
  });
22243
22609
  }
22610
+ const tempxAxis = this.chartUserParam.xAxis;
22611
+ let nameTextStyle = {};
22612
+ if (tempxAxis) {
22613
+ if (Array.isArray(tempxAxis)) {
22614
+ nameTextStyle = tempxAxis[0].nameTextStyle || {};
22615
+ } else {
22616
+ nameTextStyle = tempxAxis.nameTextStyle || {};
22617
+ }
22618
+ }
22244
22619
  tempaxis.push({
22245
22620
  type: "category",
22246
22621
  gridIndex,
@@ -22250,7 +22625,8 @@ var ChartOptionsGenerator2 = class {
22250
22625
  {
22251
22626
  value: mergeName,
22252
22627
  textStyle: {
22253
- padding: [24 * catalogLength + 1, 0, 0, 0]
22628
+ padding: [24 * catalogLength + 1, 0, 0, 0],
22629
+ ...nameTextStyle
22254
22630
  }
22255
22631
  }
22256
22632
  ],
@@ -22411,7 +22787,7 @@ var ChartOptionsGenerator2 = class {
22411
22787
  getChartDataByParams(params) {
22412
22788
  const generator = this.seriesGeneratorIndexMap.get(params.seriesIndex);
22413
22789
  if (!generator) {
22414
- throw new RuntimeError42(
22790
+ throw new RuntimeError43(
22415
22791
  ibiz.i18n.t("runtime.controller.control.chart.noFindSequence", {
22416
22792
  seriesIndex: params.seriesIndex
22417
22793
  })
@@ -22530,13 +22906,12 @@ var ChartController = class extends MDControlController {
22530
22906
  }
22531
22907
  }
22532
22908
  /**
22533
- * 处理查看明细参数
22909
+ * 计算当前点击序列的模型
22534
22910
  *
22535
22911
  * @param {IData} arg
22536
- * @return {*}
22537
22912
  * @memberof ChartController
22538
22913
  */
22539
- computedDrillDownParam(arg) {
22914
+ computedClickSerieModel(arg) {
22540
22915
  var _a;
22541
22916
  const { data, seriesType } = arg;
22542
22917
  let tempConfig = {};
@@ -22548,26 +22923,52 @@ var ChartController = class extends MDControlController {
22548
22923
  tempConfig = data.at(2);
22549
22924
  }
22550
22925
  const serieid = tempConfig._seriesModelId;
22551
- const orgindata = clone25(tempConfig.$origin);
22552
- const valueFields = [];
22926
+ const targetSerie = (_a = this.model.dechartSerieses) == null ? void 0 : _a.find((item) => {
22927
+ return item.id === serieid;
22928
+ });
22929
+ return targetSerie;
22930
+ }
22931
+ /**
22932
+ * 处理查看明细参数
22933
+ *
22934
+ * @param {IData} arg
22935
+ * @return {*}
22936
+ * @memberof ChartController
22937
+ */
22938
+ computedDrillDetailParam(arg) {
22939
+ var _a;
22940
+ const { seriesType, data } = arg;
22941
+ const targetSerie = this.computedClickSerieModel(arg);
22553
22942
  let measureId = "";
22554
22943
  const dimension = [];
22555
- (_a = this.model.dechartSerieses) == null ? void 0 : _a.forEach((item) => {
22556
- if (serieid !== item.id && item.valueField) {
22557
- valueFields.push(item.valueField);
22558
- }
22559
- if (serieid === item.id && item.valueField) {
22560
- measureId = item.valueField;
22561
- }
22562
- });
22563
- Object.keys(orgindata).forEach((key) => {
22564
- if (!valueFields.includes(key) && key !== measureId && key !== "$origin") {
22565
- dimension.push({
22566
- name: key,
22567
- value: orgindata[key]
22568
- });
22944
+ if (targetSerie) {
22945
+ measureId = targetSerie.valueField;
22946
+ if (seriesType === "pie") {
22947
+ if (data && data.value && Array.isArray(data.value)) {
22948
+ const value = data.value.at(1);
22949
+ const tempData = clone25(value.$origin);
22950
+ Object.keys(tempData).forEach((key) => {
22951
+ if (key !== targetSerie.valueField && key !== "$origin") {
22952
+ dimension.push({
22953
+ name: key,
22954
+ value: tempData[key]
22955
+ });
22956
+ }
22957
+ });
22958
+ }
22959
+ } else {
22960
+ const value = arg.name;
22961
+ const tempDimension = (_a = this.generator.seriesGenerators) == null ? void 0 : _a[0].catalogMap.get(value);
22962
+ if (tempDimension) {
22963
+ Object.keys(tempDimension).forEach((key) => {
22964
+ dimension.push({
22965
+ name: key,
22966
+ value: tempDimension[key]
22967
+ });
22968
+ });
22969
+ }
22569
22970
  }
22570
- });
22971
+ }
22571
22972
  return {
22572
22973
  measure: {
22573
22974
  name: measureId
@@ -22769,12 +23170,12 @@ var ChartController = class extends MDControlController {
22769
23170
  */
22770
23171
  async updateChart() {
22771
23172
  if (!this.chart) {
22772
- throw new RuntimeError43(
23173
+ throw new RuntimeError44(
22773
23174
  ibiz.i18n.t("runtime.controller.control.chart.noInitialised")
22774
23175
  );
22775
23176
  }
22776
23177
  if (!this.options) {
22777
- throw new RuntimeError43(
23178
+ throw new RuntimeError44(
22778
23179
  ibiz.i18n.t("runtime.controller.control.chart.noCalculated")
22779
23180
  );
22780
23181
  }
@@ -22827,7 +23228,7 @@ var CaptionBarController = class extends ControlController {
22827
23228
  };
22828
23229
 
22829
23230
  // src/controller/control/toolbar/toolbar.controllerr.ts
22830
- import { recursiveIterate as recursiveIterate2, RuntimeError as RuntimeError52 } from "@ibiz-template/core";
23231
+ import { recursiveIterate as recursiveIterate2, RuntimeError as RuntimeError53 } from "@ibiz-template/core";
22831
23232
 
22832
23233
  // src/ui-action/provider/backend-ui-action-provider.ts
22833
23234
  import { RuntimeModelError as RuntimeModelError52 } from "@ibiz-template/core";
@@ -22837,7 +23238,7 @@ import { isArray as isArray8 } from "qx-util";
22837
23238
  import { RuntimeModelError as RuntimeModelError51 } from "@ibiz-template/core";
22838
23239
 
22839
23240
  // src/ui-logic/index.ts
22840
- import { RuntimeError as RuntimeError49 } from "@ibiz-template/core";
23241
+ import { RuntimeError as RuntimeError50 } from "@ibiz-template/core";
22841
23242
 
22842
23243
  // src/ui-logic/ui-logic.ts
22843
23244
  import { ModelError as ModelError25, RuntimeModelError as RuntimeModelError50 } from "@ibiz-template/core";
@@ -23493,7 +23894,7 @@ var EndNode2 = class extends UILogicNode {
23493
23894
  };
23494
23895
 
23495
23896
  // src/ui-logic/ui-logic-node/prepare-js-param-node/prepare-js-param-node.ts
23496
- import { ModelError as ModelError22, RuntimeError as RuntimeError44 } from "@ibiz-template/core";
23897
+ import { ModelError as ModelError22, RuntimeError as RuntimeError45 } from "@ibiz-template/core";
23497
23898
  import { clone as clone27 } from "ramda";
23498
23899
  var PrepareJSParamNode = class extends UILogicNode {
23499
23900
  async exec(ctx) {
@@ -23559,7 +23960,7 @@ var PrepareJSParamNode = class extends UILogicNode {
23559
23960
  setParamValue(nodeParam, ctx) {
23560
23961
  const { dstFieldName, dstDEUILogicParamId } = nodeParam;
23561
23962
  if (!dstDEUILogicParamId) {
23562
- throw new RuntimeError44(ibiz.i18n.t("runtime.uiLogic.noTargetParameter"));
23963
+ throw new RuntimeError45(ibiz.i18n.t("runtime.uiLogic.noTargetParameter"));
23563
23964
  }
23564
23965
  let dstField = dstFieldName;
23565
23966
  if (ctx.isEntityParam(dstDEUILogicParamId)) {
@@ -23676,7 +24077,7 @@ var PrepareJSParamNode = class extends UILogicNode {
23676
24077
  };
23677
24078
 
23678
24079
  // src/ui-logic/ui-logic-node/view-ctrl-invoke-node/view-ctrl-invoke-node.ts
23679
- import { RuntimeError as RuntimeError45, RuntimeModelError as RuntimeModelError38 } from "@ibiz-template/core";
24080
+ import { RuntimeError as RuntimeError46, RuntimeModelError as RuntimeModelError38 } from "@ibiz-template/core";
23680
24081
  import { isFunction } from "lodash-es";
23681
24082
  var ViewCtrlInvokeNode = class extends UILogicNode {
23682
24083
  async exec(ctx) {
@@ -23702,7 +24103,7 @@ var ViewCtrlInvokeNode = class extends UILogicNode {
23702
24103
  }
23703
24104
  const invokeParam = ctx.params[invokeParamId];
23704
24105
  if (!invokeParam) {
23705
- throw new RuntimeError45(
24106
+ throw new RuntimeError46(
23706
24107
  ibiz.i18n.t("runtime.uiLogic.noFoundOperationParameter", {
23707
24108
  invokeParamId
23708
24109
  })
@@ -23710,14 +24111,14 @@ var ViewCtrlInvokeNode = class extends UILogicNode {
23710
24111
  }
23711
24112
  const invokeCtrl = ctx.params[invokeCtrlId];
23712
24113
  if (!invokeCtrl) {
23713
- throw new RuntimeError45(
24114
+ throw new RuntimeError46(
23714
24115
  ibiz.i18n.t("runtime.uiLogic.noFoundInterfaceObject", {
23715
24116
  invokeCtrlId
23716
24117
  })
23717
24118
  );
23718
24119
  }
23719
24120
  if (!invokeCtrl[invokeMethod] || !isFunction(invokeCtrl[invokeMethod])) {
23720
- throw new RuntimeError45(
24121
+ throw new RuntimeError46(
23721
24122
  ibiz.i18n.t("runtime.uiLogic.noFoundInvokeMethod", {
23722
24123
  invokeMethod
23723
24124
  })
@@ -24057,7 +24458,7 @@ var DataSetNode2 = class extends UILogicNode {
24057
24458
  };
24058
24459
 
24059
24460
  // src/ui-logic/ui-logic-node/throw-exception-node/throw-exception-node.ts
24060
- import { RuntimeError as RuntimeError46 } from "@ibiz-template/core";
24461
+ import { RuntimeError as RuntimeError47 } from "@ibiz-template/core";
24061
24462
  var ThrowExceptionNode2 = class extends UILogicNode {
24062
24463
  async exec(_ctx) {
24063
24464
  const { errorInfo } = this.model;
@@ -24067,12 +24468,12 @@ var ThrowExceptionNode2 = class extends UILogicNode {
24067
24468
  errorInfo
24068
24469
  })
24069
24470
  );
24070
- throw new RuntimeError46(errorInfo);
24471
+ throw new RuntimeError47(errorInfo);
24071
24472
  }
24072
24473
  };
24073
24474
 
24074
24475
  // src/ui-logic/ui-logic-node/view-ctrl-fire-event-node/view-ctrl-fire-event-node.ts
24075
- import { RuntimeError as RuntimeError47, RuntimeModelError as RuntimeModelError48 } from "@ibiz-template/core";
24476
+ import { RuntimeError as RuntimeError48, RuntimeModelError as RuntimeModelError48 } from "@ibiz-template/core";
24076
24477
  var ViewCtrlFireEventNode = class extends UILogicNode {
24077
24478
  async exec(ctx) {
24078
24479
  ctx.isEndNode = true;
@@ -24097,13 +24498,13 @@ var ViewCtrlFireEventNode = class extends UILogicNode {
24097
24498
  }
24098
24499
  const invokeCtrl = ctx.params[fireCtrlId];
24099
24500
  if (!invokeCtrl) {
24100
- throw new RuntimeError47(
24501
+ throw new RuntimeError48(
24101
24502
  ibiz.i18n.t("runtime.uiLogic.noFoundTriggerObject", { fireCtrlId })
24102
24503
  );
24103
24504
  }
24104
24505
  const eventParam = ctx.params[eventParamId];
24105
24506
  if (!eventParam) {
24106
- throw new RuntimeError47(
24507
+ throw new RuntimeError48(
24107
24508
  ibiz.i18n.t("runtime.uiLogic.noFoundEventParameterObject", {
24108
24509
  eventParamId
24109
24510
  })
@@ -24125,7 +24526,7 @@ var ViewCtrlFireEventNode = class extends UILogicNode {
24125
24526
  };
24126
24527
 
24127
24528
  // src/ui-logic/ui-logic-node/execute-de-logic-node/execute-de-logic-node.ts
24128
- import { RuntimeError as RuntimeError48, RuntimeModelError as RuntimeModelError49 } from "@ibiz-template/core";
24529
+ import { RuntimeError as RuntimeError49, RuntimeModelError as RuntimeModelError49 } from "@ibiz-template/core";
24129
24530
  var ExecuteDELogicNode = class extends UILogicNode {
24130
24531
  async exec(ctx) {
24131
24532
  const {
@@ -24154,7 +24555,7 @@ var ExecuteDELogicNode = class extends UILogicNode {
24154
24555
  }
24155
24556
  const dstParam = ctx.params[dstDEUILogicParamId];
24156
24557
  if (!dstParam) {
24157
- throw new RuntimeError48(
24558
+ throw new RuntimeError49(
24158
24559
  ibiz.i18n.t("runtime.uiLogic.passedParameter", { dstDEUILogicParamId })
24159
24560
  );
24160
24561
  }
@@ -24553,7 +24954,7 @@ async function execUILogic(deUILogicId, appDataEntityId, parameters) {
24553
24954
  const app = ibiz.hub.getApp(parameters.context.srfappid);
24554
24955
  const deUILogic = await app.getDEUILogic(deUILogicId, appDataEntityId);
24555
24956
  if (!deUILogic) {
24556
- throw new RuntimeError49(
24957
+ throw new RuntimeError50(
24557
24958
  ibiz.i18n.t("runtime.uiLogic.interfaceLogic", {
24558
24959
  appDataEntityId,
24559
24960
  deUILogicId
@@ -24581,7 +24982,7 @@ async function execUILogic(deUILogicId, appDataEntityId, parameters) {
24581
24982
  }
24582
24983
 
24583
24984
  // src/ui-action/uiaction-util.ts
24584
- import { RuntimeError as RuntimeError50 } from "@ibiz-template/core";
24985
+ import { RuntimeError as RuntimeError51 } from "@ibiz-template/core";
24585
24986
  var UIActionUtil = class {
24586
24987
  /**
24587
24988
  * 执行界面行为
@@ -24596,7 +24997,7 @@ var UIActionUtil = class {
24596
24997
  static async exec(actionId, params, appId2) {
24597
24998
  const action = await getUIActionById(actionId, appId2);
24598
24999
  if (!action) {
24599
- throw new RuntimeError50(
25000
+ throw new RuntimeError51(
24600
25001
  ibiz.i18n.t("runtime.uiAction.noFoundBehaviorModel", { actionId })
24601
25002
  );
24602
25003
  }
@@ -25106,7 +25507,7 @@ import {
25106
25507
  StringUtil,
25107
25508
  RuntimeModelError as RuntimeModelError53,
25108
25509
  ModelError as ModelError26,
25109
- RuntimeError as RuntimeError51
25510
+ RuntimeError as RuntimeError52
25110
25511
  } from "@ibiz-template/core";
25111
25512
  import { mergeRight as mergeRight4 } from "ramda";
25112
25513
  var FrontUIActionProvider = class extends UIActionProviderBase {
@@ -25235,7 +25636,7 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
25235
25636
  if (resultContext && resultContext[appDataEntity.codeName.toLowerCase()]) {
25236
25637
  requestUrl += "/".concat(appDataEntity.deapicodeName2, "/printdata/").concat(resultContext[appDataEntity.codeName.toLowerCase()]);
25237
25638
  } else {
25238
- throw new RuntimeError51(ibiz.i18n.t("runtime.uiAction.dataPrimaryKey"));
25639
+ throw new RuntimeError52(ibiz.i18n.t("runtime.uiAction.dataPrimaryKey"));
25239
25640
  }
25240
25641
  const res = await ibiz.net.request(requestUrl, {
25241
25642
  method: "get",
@@ -25261,10 +25662,10 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
25261
25662
  window.open(link, "_blank");
25262
25663
  }
25263
25664
  } else {
25264
- throw new RuntimeError51(ibiz.i18n.t("runtime.uiAction.printFailure"));
25665
+ throw new RuntimeError52(ibiz.i18n.t("runtime.uiAction.printFailure"));
25265
25666
  }
25266
25667
  } else {
25267
- throw new RuntimeError51(ibiz.i18n.t("runtime.uiAction.physicalPrint"));
25668
+ throw new RuntimeError52(ibiz.i18n.t("runtime.uiAction.physicalPrint"));
25268
25669
  }
25269
25670
  }
25270
25671
  /**
@@ -25349,12 +25750,12 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
25349
25750
  URL.revokeObjectURL(elink.href);
25350
25751
  document.body.removeChild(elink);
25351
25752
  } else {
25352
- throw new RuntimeError51(
25753
+ throw new RuntimeError52(
25353
25754
  ibiz.i18n.t("runtime.uiAction.exportRequestFailed")
25354
25755
  );
25355
25756
  }
25356
25757
  } else {
25357
- throw new RuntimeError51(
25758
+ throw new RuntimeError52(
25358
25759
  ibiz.i18n.t("runtime.uiAction.noEntityExportsFound")
25359
25760
  );
25360
25761
  }
@@ -25372,7 +25773,7 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
25372
25773
  const actionResult = {};
25373
25774
  const { context, params, data, event } = args;
25374
25775
  if (!event) {
25375
- throw new RuntimeError51(ibiz.i18n.t("runtime.uiAction.lackNativeEvent"));
25776
+ throw new RuntimeError52(ibiz.i18n.t("runtime.uiAction.lackNativeEvent"));
25376
25777
  }
25377
25778
  const { resultContext, resultParams } = await this.handleParams(
25378
25779
  action,
@@ -25426,7 +25827,7 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
25426
25827
  };
25427
25828
  const { context, params, data, event } = args;
25428
25829
  if (!event) {
25429
- throw new RuntimeError51(ibiz.i18n.t("runtime.uiAction.lackNativeEvent"));
25830
+ throw new RuntimeError52(ibiz.i18n.t("runtime.uiAction.lackNativeEvent"));
25430
25831
  }
25431
25832
  const { resultContext, resultParams } = await this.handleParams(
25432
25833
  action,
@@ -25563,7 +25964,7 @@ var ToolbarController = class extends ControlController {
25563
25964
  const actionId = item.uiactionId;
25564
25965
  const uiAction = await getUIActionById(actionId, item.appId);
25565
25966
  if (!uiAction) {
25566
- throw new RuntimeError52(
25967
+ throw new RuntimeError53(
25567
25968
  ibiz.i18n.t("runtime.controller.control.toolbar.noFound", {
25568
25969
  actionId
25569
25970
  })
@@ -27150,7 +27551,7 @@ var DataViewControlController = class extends MDControlController {
27150
27551
  import { RuntimeModelError as RuntimeModelError56 } from "@ibiz-template/core";
27151
27552
 
27152
27553
  // src/controller/control/exp-bar/exp-bar.controller.ts
27153
- import { RuntimeError as RuntimeError53, RuntimeModelError as RuntimeModelError55 } from "@ibiz-template/core";
27554
+ import { RuntimeError as RuntimeError54, RuntimeModelError as RuntimeModelError55 } from "@ibiz-template/core";
27154
27555
  var ExpBarControlController = class extends ControlController {
27155
27556
  constructor() {
27156
27557
  super(...arguments);
@@ -27483,7 +27884,7 @@ var ExpBarControlController = class extends ControlController {
27483
27884
  if (["GRID", "DATAVIEW", "LIST"].includes(((_a = this.XDataModel) == null ? void 0 : _a.controlType) || "")) {
27484
27885
  return this.XDataModel.navAppViewId;
27485
27886
  }
27486
- throw new RuntimeError53(
27887
+ throw new RuntimeError54(
27487
27888
  ibiz.i18n.t("runtime.controller.control.expBar.multiNode")
27488
27889
  );
27489
27890
  }
@@ -27630,7 +28031,7 @@ var CalendarExpBarController = class extends ExpBarControlController {
27630
28031
  };
27631
28032
 
27632
28033
  // src/controller/control/exp-bar/tree-exp-bar.controller.ts
27633
- import { RuntimeError as RuntimeError54, RuntimeModelError as RuntimeModelError57 } from "@ibiz-template/core";
28034
+ import { RuntimeError as RuntimeError55, RuntimeModelError as RuntimeModelError57 } from "@ibiz-template/core";
27634
28035
  var TreeExpBarController = class extends ExpBarControlController {
27635
28036
  constructor() {
27636
28037
  super(...arguments);
@@ -27721,7 +28122,7 @@ var TreeExpBarController = class extends ExpBarControlController {
27721
28122
  const deData = node._deData || node;
27722
28123
  const nodeModel = this.getNodeModel(node._nodeId);
27723
28124
  if (!nodeModel) {
27724
- throw new RuntimeError54(
28125
+ throw new RuntimeError55(
27725
28126
  ibiz.i18n.t("runtime.controller.control.expBar.noFindNodeModel", {
27726
28127
  nodeId: node._nodeId
27727
28128
  })
@@ -27916,7 +28317,7 @@ var ChartExpBarController = class extends ExpBarControlController {
27916
28317
  };
27917
28318
 
27918
28319
  // src/controller/control/form/search-form/search-form.controller.ts
27919
- import { RuntimeError as RuntimeError55 } from "@ibiz-template/core";
28320
+ import { RuntimeError as RuntimeError56 } from "@ibiz-template/core";
27920
28321
 
27921
28322
  // src/controller/control/form/form/form.controller.ts
27922
28323
  import {
@@ -28562,7 +28963,7 @@ var SearchFormController = class extends FormController {
28562
28963
  applyStoredFilter(index) {
28563
28964
  const filter = this.state.storedFilters[index];
28564
28965
  if (!filter) {
28565
- throw new RuntimeError55(
28966
+ throw new RuntimeError56(
28566
28967
  ibiz.i18n.t("runtime.controller.control.form.searchTerms")
28567
28968
  );
28568
28969
  }
@@ -28580,7 +28981,7 @@ var SearchFormController = class extends FormController {
28580
28981
  async removeStoredFilter(index) {
28581
28982
  const filter = this.state.storedFilters[index];
28582
28983
  if (!filter) {
28583
- throw new RuntimeError55(
28984
+ throw new RuntimeError56(
28584
28985
  ibiz.i18n.t("runtime.controller.control.form.saveSearch")
28585
28986
  );
28586
28987
  }
@@ -30070,7 +30471,7 @@ var FormMDCtrlMDController = class extends FormMDCtrlController {
30070
30471
  };
30071
30472
 
30072
30473
  // src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.ts
30073
- import { RuntimeError as RuntimeError56, RuntimeModelError as RuntimeModelError60 } from "@ibiz-template/core";
30474
+ import { RuntimeError as RuntimeError57, RuntimeModelError as RuntimeModelError60 } from "@ibiz-template/core";
30074
30475
  import { createUUID as createUUID11 } from "qx-util";
30075
30476
 
30076
30477
  // src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.ts
@@ -30243,7 +30644,7 @@ var FormMDCtrlFormController = class extends FormMDCtrlController {
30243
30644
  async remove(id) {
30244
30645
  const controller = this.formMap.get(id);
30245
30646
  if (!controller) {
30246
- throw new RuntimeError56(
30647
+ throw new RuntimeError57(
30247
30648
  ibiz.i18n.t("runtime.controller.control.form.noFoundFormController", {
30248
30649
  id
30249
30650
  })
@@ -30602,7 +31003,7 @@ import {
30602
31003
  IBizContext as IBizContext6,
30603
31004
  isElementSame as isElementSame2,
30604
31005
  mergeInLeft as mergeInLeft2,
30605
- RuntimeError as RuntimeError57
31006
+ RuntimeError as RuntimeError58
30606
31007
  } from "@ibiz-template/core";
30607
31008
  import { debounce } from "lodash-es";
30608
31009
  import { createUUID as createUUID12 } from "qx-util";
@@ -31071,7 +31472,7 @@ var EditFormController = class extends FormController {
31071
31472
  }
31072
31473
  const isValid = await this.validate();
31073
31474
  if (!isValid) {
31074
- throw new RuntimeError57(
31475
+ throw new RuntimeError58(
31075
31476
  ibiz.i18n.t("runtime.controller.control.form.formCompletion")
31076
31477
  );
31077
31478
  }
@@ -31207,7 +31608,7 @@ var EditFormController = class extends FormController {
31207
31608
  (item) => item.id === formItemUpdateId
31208
31609
  );
31209
31610
  if (!formItemUpdate) {
31210
- throw new RuntimeError57(
31611
+ throw new RuntimeError58(
31211
31612
  ibiz.i18n.t("runtime.controller.control.form.itemUpdate", {
31212
31613
  formItemUpdateId
31213
31614
  })
@@ -31270,7 +31671,7 @@ var EditFormController = class extends FormController {
31270
31671
  async wfStart(args) {
31271
31672
  const isValid = await this.validate();
31272
31673
  if (!isValid) {
31273
- throw new RuntimeError57(
31674
+ throw new RuntimeError58(
31274
31675
  ibiz.i18n.t("runtime.controller.control.form.formCompletion")
31275
31676
  );
31276
31677
  }
@@ -31303,7 +31704,7 @@ var EditFormController = class extends FormController {
31303
31704
  async wfSubmit(args) {
31304
31705
  const isValid = await this.validate();
31305
31706
  if (!isValid) {
31306
- throw new RuntimeError57(
31707
+ throw new RuntimeError58(
31307
31708
  ibiz.i18n.t("runtime.controller.control.form.formCompletion")
31308
31709
  );
31309
31710
  }
@@ -31727,7 +32128,7 @@ import {
31727
32128
  mergeDefaultInLeft,
31728
32129
  plus as plus2,
31729
32130
  recursiveIterate as recursiveIterate7,
31730
- RuntimeError as RuntimeError58,
32131
+ RuntimeError as RuntimeError59,
31731
32132
  RuntimeModelError as RuntimeModelError63
31732
32133
  } from "@ibiz-template/core";
31733
32134
  import { clone as clone32, isNil as isNil28 } from "ramda";
@@ -32344,7 +32745,7 @@ var GridController = class extends MDControlController {
32344
32745
  } else {
32345
32746
  const toNum = Number(sortValue);
32346
32747
  if (Number.isNaN(toNum)) {
32347
- throw new RuntimeError58(
32748
+ throw new RuntimeError59(
32348
32749
  ibiz.i18n.t("runtime.controller.control.grid.convertedValue", {
32349
32750
  srfmajortext: item.srfmajortext
32350
32751
  })
@@ -32535,7 +32936,7 @@ var GridController = class extends MDControlController {
32535
32936
  if (editShowMode === "row") {
32536
32937
  const editingRow = this.state.rows.find((item) => item.showRowEdit);
32537
32938
  if (editingRow) {
32538
- throw new RuntimeError58(
32939
+ throw new RuntimeError59(
32539
32940
  ibiz.i18n.t("runtime.controller.common.md.firstComplete")
32540
32941
  );
32541
32942
  }
@@ -32578,7 +32979,7 @@ var GridController = class extends MDControlController {
32578
32979
  const isCreate = data.srfuf === 0 /* CREATE */;
32579
32980
  const rowState = this.findRowState(data);
32580
32981
  if (!rowState) {
32581
- throw new RuntimeError58(
32982
+ throw new RuntimeError59(
32582
32983
  ibiz.i18n.t("runtime.controller.common.md.rowData")
32583
32984
  );
32584
32985
  }
@@ -32592,7 +32993,7 @@ var GridController = class extends MDControlController {
32592
32993
  }
32593
32994
  const isValid = await this.validate(rowState);
32594
32995
  if (!isValid) {
32595
- throw new RuntimeError58(
32996
+ throw new RuntimeError59(
32596
32997
  ibiz.i18n.t("runtime.controller.control.grid.saveCancel")
32597
32998
  );
32598
32999
  }
@@ -32848,7 +33249,7 @@ var GridController = class extends MDControlController {
32848
33249
  }
32849
33250
  async toggleRowEdit() {
32850
33251
  if (!this.model.enableRowNew) {
32851
- throw new RuntimeError58(
33252
+ throw new RuntimeError59(
32852
33253
  ibiz.i18n.t("runtime.controller.control.grid.noSupportRowEditing")
32853
33254
  );
32854
33255
  }
@@ -32883,7 +33284,7 @@ var GridController = class extends MDControlController {
32883
33284
  } else {
32884
33285
  const editingRow = this.state.rows.find((item) => item.showRowEdit);
32885
33286
  if (editingRow) {
32886
- throw new RuntimeError58(
33287
+ throw new RuntimeError59(
32887
33288
  ibiz.i18n.t("runtime.controller.control.grid.lineEditing")
32888
33289
  );
32889
33290
  }
@@ -32940,7 +33341,7 @@ var GridController = class extends MDControlController {
32940
33341
  (item) => item.id === updateId
32941
33342
  );
32942
33343
  if (!findUpdate) {
32943
- throw new RuntimeError58(
33344
+ throw new RuntimeError59(
32944
33345
  ibiz.i18n.t("runtime.controller.control.grid.updateColumns", {
32945
33346
  updateId
32946
33347
  })
@@ -33084,7 +33485,7 @@ var GridController = class extends MDControlController {
33084
33485
  data = this.getData();
33085
33486
  }
33086
33487
  if (data.length === 0) {
33087
- throw new RuntimeError58(
33488
+ throw new RuntimeError59(
33088
33489
  ibiz.i18n.t("runtime.controller.control.grid.exported")
33089
33490
  );
33090
33491
  }
@@ -33100,7 +33501,7 @@ var GridController = class extends MDControlController {
33100
33501
  async exportData(args) {
33101
33502
  const { header } = this.dataExportParam;
33102
33503
  if (!header) {
33103
- throw new RuntimeError58(
33504
+ throw new RuntimeError59(
33104
33505
  ibiz.i18n.t("runtime.controller.control.grid.tabularColumns")
33105
33506
  );
33106
33507
  }
@@ -33801,7 +34202,7 @@ var GridUAColumnController = class extends GridColumnController {
33801
34202
  };
33802
34203
 
33803
34204
  // src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts
33804
- import { RuntimeError as RuntimeError59 } from "@ibiz-template/core";
34205
+ import { RuntimeError as RuntimeError60 } from "@ibiz-template/core";
33805
34206
  import Schema2 from "async-validator";
33806
34207
  import { isNilOrEmpty as isNilOrEmpty9 } from "qx-util";
33807
34208
  var GridFieldEditColumnController = class extends GridFieldColumnController {
@@ -33941,7 +34342,7 @@ var GridFieldEditColumnController = class extends GridFieldColumnController {
33941
34342
  if (requiredChanged || names.includes(this.fieldName) || names.includes(this.valueItemName)) {
33942
34343
  const result = await this.validate(row);
33943
34344
  if (!result) {
33944
- throw new RuntimeError59(
34345
+ throw new RuntimeError60(
33945
34346
  ibiz.i18n.t("runtime.controller.control.grid.checksumErrors", {
33946
34347
  codeName: this.editItem.codeName,
33947
34348
  fieldName: row.errors[this.fieldName]
@@ -34275,7 +34676,7 @@ var ListController = class extends MDControlController {
34275
34676
  };
34276
34677
 
34277
34678
  // src/controller/control/panel/panel/panel.controller.ts
34278
- import { recursiveIterate as recursiveIterate8, RuntimeError as RuntimeError60 } from "@ibiz-template/core";
34679
+ import { recursiveIterate as recursiveIterate8, RuntimeError as RuntimeError61 } from "@ibiz-template/core";
34279
34680
  import { AsyncSeriesHook as AsyncSeriesHook2 } from "qx-util";
34280
34681
  var PanelController = class extends ControlController {
34281
34682
  constructor(model, context, params, ctx, container) {
@@ -34432,7 +34833,7 @@ var PanelController = class extends ControlController {
34432
34833
  var _a, _b;
34433
34834
  const data = await this.prepareData();
34434
34835
  if (!data) {
34435
- throw new RuntimeError60(
34836
+ throw new RuntimeError61(
34436
34837
  ibiz.i18n.t("runtime.controller.control.panel.panelData")
34437
34838
  );
34438
34839
  }
@@ -35566,7 +35967,7 @@ async function calcFilterModelBySchema(json, appDataEntityId, modelAppId) {
35566
35967
  }
35567
35968
 
35568
35969
  // src/controller/control/search-bar/search-bar-filter-items.controller.ts
35569
- import { RuntimeError as RuntimeError61 } from "@ibiz-template/core";
35970
+ import { RuntimeError as RuntimeError62 } from "@ibiz-template/core";
35570
35971
  import { clone as clone34 } from "ramda";
35571
35972
  var SubFieldRegex2 = /^N_(.\w+)_(.\w+)$/;
35572
35973
  var SearchBarFilterItemsController = class extends SearchBarFilterController {
@@ -35625,7 +36026,7 @@ var SearchBarFilterItemsController = class extends SearchBarFilterController {
35625
36026
  return false;
35626
36027
  });
35627
36028
  if (!minorDEId) {
35628
- throw new RuntimeError61(
36029
+ throw new RuntimeError62(
35629
36030
  ibiz.i18n.t("runtime.controller.control.searchBar.noFoundEntity", {
35630
36031
  targetField
35631
36032
  })
@@ -35733,6 +36134,9 @@ function validateFilterNodes(filterNodes) {
35733
36134
  hasError = !node.field || !node.valueOP || !ExcludeOPs.includes(node.valueOP) && isNil30(node.value);
35734
36135
  } else if (node.nodeType === "ITEMS") {
35735
36136
  hasError = !node.field || !node.valueOP;
36137
+ } else if (node.nodeType === "CUSTOM") {
36138
+ hasFilter = true;
36139
+ hasError = !node.customType || !node.customCond;
35736
36140
  } else {
35737
36141
  hasError = !node.logicType;
35738
36142
  }
@@ -35769,6 +36173,13 @@ function filterNode2SearchCond(filterNode, opts) {
35769
36173
  temp.value = filterNode.valueItem;
35770
36174
  }
35771
36175
  result = temp;
36176
+ } else if (filterNode.nodeType === "CUSTOM") {
36177
+ const temp = {
36178
+ condtype: "CUSTOM",
36179
+ customtype: filterNode.customType,
36180
+ customcond: filterNode.customCond
36181
+ };
36182
+ result = temp;
35772
36183
  } else {
35773
36184
  const temp = {
35774
36185
  condop: filterNode.valueOP,
@@ -35824,6 +36235,13 @@ function SearchCondEx2filterNode(cond) {
35824
36235
  temp.valueItem = cond.valueItem;
35825
36236
  }
35826
36237
  result = temp;
36238
+ } else if (cond.condtype === "CUSTOM") {
36239
+ const temp = {
36240
+ nodeType: "CUSTOM",
36241
+ customType: cond.customtype,
36242
+ customCond: cond.customcond
36243
+ };
36244
+ result = temp;
35827
36245
  } else {
35828
36246
  const temp = {
35829
36247
  nodeType: "ITEMS",
@@ -35873,6 +36291,13 @@ function filterNode2SearchCondEx(filterNode) {
35873
36291
  temp.valueItem = filterNode.valueItem;
35874
36292
  }
35875
36293
  result = temp;
36294
+ } else if (filterNode.nodeType === "CUSTOM") {
36295
+ const temp = {
36296
+ condtype: "CUSTOM",
36297
+ customtype: filterNode.customType,
36298
+ customcond: filterNode.customCond
36299
+ };
36300
+ result = temp;
35876
36301
  } else {
35877
36302
  const temp = {
35878
36303
  condop: filterNode.valueOP,
@@ -36843,7 +37268,7 @@ var TabExpPanelController = class extends ControlController {
36843
37268
 
36844
37269
  // src/controller/control/tree/tree.controller.ts
36845
37270
  import {
36846
- RuntimeError as RuntimeError62,
37271
+ RuntimeError as RuntimeError63,
36847
37272
  RuntimeModelError as RuntimeModelError66,
36848
37273
  recursiveIterate as recursiveIterate11
36849
37274
  } from "@ibiz-template/core";
@@ -37896,7 +38321,7 @@ var TreeController = class extends MDControlController {
37896
38321
  );
37897
38322
  }
37898
38323
  if (nodeData._nodeType !== "DE") {
37899
- throw new RuntimeError62(
38324
+ throw new RuntimeError63(
37900
38325
  ibiz.i18n.t("runtime.controller.control.tree.nodeData")
37901
38326
  );
37902
38327
  }
@@ -37914,7 +38339,7 @@ var TreeController = class extends MDControlController {
37914
38339
  let needRefresh = false;
37915
38340
  const treeNode = this.getNodeModel(item._nodeId);
37916
38341
  if (!treeNode) {
37917
- throw new RuntimeError62(
38342
+ throw new RuntimeError63(
37918
38343
  ibiz.i18n.t("runtime.controller.control.tree.noFoundTreeNode")
37919
38344
  );
37920
38345
  }
@@ -37960,7 +38385,7 @@ var TreeController = class extends MDControlController {
37960
38385
  };
37961
38386
 
37962
38387
  // src/controller/control/wizard-panel/wizard-panel.controller.ts
37963
- import { RuntimeError as RuntimeError63 } from "@ibiz-template/core";
38388
+ import { RuntimeError as RuntimeError64 } from "@ibiz-template/core";
37964
38389
 
37965
38390
  // src/controller/control/wizard-panel/wizard-panel.service.ts
37966
38391
  var WizardPanelService = class extends ControlService {
@@ -38148,7 +38573,7 @@ var WizardPanelController = class extends ControlController {
38148
38573
  const { activeFormTag } = this.state;
38149
38574
  const controller = this.formControllers.get(activeFormTag);
38150
38575
  if (!controller) {
38151
- throw new RuntimeError63(
38576
+ throw new RuntimeError64(
38152
38577
  ibiz.i18n.t("runtime.controller.control.wizardPanel.formController", {
38153
38578
  activeFormTag
38154
38579
  })
@@ -38198,7 +38623,7 @@ var WizardPanelController = class extends ControlController {
38198
38623
  getWizardFormByTag(tag) {
38199
38624
  var _a;
38200
38625
  if (!((_a = this.model.dewizard) == null ? void 0 : _a.dewizardForms)) {
38201
- throw new RuntimeError63(
38626
+ throw new RuntimeError64(
38202
38627
  ibiz.i18n.t("runtime.controller.control.wizardPanel.noConfiguration")
38203
38628
  );
38204
38629
  return;
@@ -38209,7 +38634,7 @@ var WizardPanelController = class extends ControlController {
38209
38634
  }
38210
38635
  );
38211
38636
  if (!wizardForm) {
38212
- throw new RuntimeError63(
38637
+ throw new RuntimeError64(
38213
38638
  ibiz.i18n.t(
38214
38639
  "runtime.controller.control.wizardPanel.wizardFormIdentifier",
38215
38640
  { tag }
@@ -38301,7 +38726,7 @@ var WizardPanelController = class extends ControlController {
38301
38726
  prevTag = this.tagHistory[this.tagHistory.length - 1];
38302
38727
  }
38303
38728
  if (!prevTag) {
38304
- throw new RuntimeError63(
38729
+ throw new RuntimeError64(
38305
38730
  ibiz.i18n.t("runtime.controller.control.wizardPanel.noPreviousForm")
38306
38731
  );
38307
38732
  }
@@ -38339,7 +38764,7 @@ var WizardPanelController = class extends ControlController {
38339
38764
  });
38340
38765
  const nextWizardStep = wizardSteps[index + 1];
38341
38766
  if (!nextWizardStep) {
38342
- throw new RuntimeError63(
38767
+ throw new RuntimeError64(
38343
38768
  ibiz.i18n.t("runtime.controller.control.wizardPanel.nextStep")
38344
38769
  );
38345
38770
  }
@@ -38350,7 +38775,7 @@ var WizardPanelController = class extends ControlController {
38350
38775
  }
38351
38776
  }
38352
38777
  if (!nextTag) {
38353
- throw new RuntimeError63(
38778
+ throw new RuntimeError64(
38354
38779
  ibiz.i18n.t("runtime.controller.control.wizardPanel.nextForm")
38355
38780
  );
38356
38781
  }
@@ -38746,7 +39171,7 @@ var MDCtrlController = class extends MDControlController {
38746
39171
  };
38747
39172
 
38748
39173
  // src/controller/control/kanban/kanban.controller.ts
38749
- import { RuntimeError as RuntimeError64, RuntimeModelError as RuntimeModelError68 } from "@ibiz-template/core";
39174
+ import { RuntimeError as RuntimeError65, RuntimeModelError as RuntimeModelError68 } from "@ibiz-template/core";
38750
39175
  import { clone as clone37, isNil as isNil33 } from "ramda";
38751
39176
 
38752
39177
  // src/controller/control/kanban/kanban.service.ts
@@ -38865,7 +39290,7 @@ var KanbanController = class extends DataViewControlController {
38865
39290
  } else {
38866
39291
  const toNum = Number(sortValue);
38867
39292
  if (Number.isNaN(toNum)) {
38868
- throw new RuntimeError64(
39293
+ throw new RuntimeError65(
38869
39294
  ibiz.i18n.t("runtime.controller.control.grid.convertedValue", {
38870
39295
  srfmajortext: item.srfmajortext
38871
39296
  })
@@ -38989,7 +39414,7 @@ var KanbanController = class extends DataViewControlController {
38989
39414
  }
38990
39415
  handleDataGroup() {
38991
39416
  if (!this.model.enableGroup || this.model.groupMode === "NONE") {
38992
- throw new RuntimeError64(
39417
+ throw new RuntimeError65(
38993
39418
  ibiz.i18n.t("runtime.controller.control.kanban.groupedOn")
38994
39419
  );
38995
39420
  }
@@ -39379,7 +39804,7 @@ var KanbanController = class extends DataViewControlController {
39379
39804
 
39380
39805
  // src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts
39381
39806
  import {
39382
- RuntimeError as RuntimeError65,
39807
+ RuntimeError as RuntimeError66,
39383
39808
  RuntimeModelError as RuntimeModelError69,
39384
39809
  awaitTimeout as awaitTimeout3,
39385
39810
  recursiveIterate as recursiveIterate12
@@ -39664,13 +40089,13 @@ var TreeGridExController = class extends TreeController {
39664
40089
  return;
39665
40090
  }
39666
40091
  if (nodeData._nodeType !== "DE") {
39667
- throw new RuntimeError65(
40092
+ throw new RuntimeError66(
39668
40093
  ibiz.i18n.t("runtime.controller.control.gantt.nonentity")
39669
40094
  );
39670
40095
  }
39671
40096
  const rowState = this.state.rows[nodeData._uuid];
39672
40097
  if (!rowState) {
39673
- throw new RuntimeError65(
40098
+ throw new RuntimeError66(
39674
40099
  ibiz.i18n.t("runtime.controller.common.md.rowData")
39675
40100
  );
39676
40101
  }
@@ -39686,7 +40111,7 @@ var TreeGridExController = class extends TreeController {
39686
40111
  const { appDataEntityId, updateAppDEActionId } = nodeModel;
39687
40112
  const isCreate = nodeData._deData.srfuf === 0 /* CREATE */;
39688
40113
  if (isCreate) {
39689
- throw new RuntimeError65(
40114
+ throw new RuntimeError66(
39690
40115
  ibiz.i18n.t("runtime.controller.control.treeGridEx.noSupportCreation")
39691
40116
  );
39692
40117
  }
@@ -39851,7 +40276,7 @@ var TreeGridExController = class extends TreeController {
39851
40276
  (item) => item.showRowEdit
39852
40277
  );
39853
40278
  if (editingRow) {
39854
- throw new RuntimeError65(
40279
+ throw new RuntimeError66(
39855
40280
  ibiz.i18n.t("runtime.controller.control.grid.lineEditing")
39856
40281
  );
39857
40282
  }
@@ -39966,7 +40391,7 @@ var TreeGridExColumnController = class {
39966
40391
  // src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.ts
39967
40392
  import {
39968
40393
  DataTypes as DataTypes5,
39969
- RuntimeError as RuntimeError66,
40394
+ RuntimeError as RuntimeError67,
39970
40395
  RuntimeModelError as RuntimeModelError70
39971
40396
  } from "@ibiz-template/core";
39972
40397
  import { clone as clone39 } from "ramda";
@@ -40171,7 +40596,7 @@ var TreeGridExNodeColumnController = class {
40171
40596
  const valueItem = this.nodeColumn.linkValueItem || "srfkey";
40172
40597
  const value = row.data[valueItem];
40173
40598
  if (value == null) {
40174
- throw new RuntimeError66(
40599
+ throw new RuntimeError67(
40175
40600
  ibiz.i18n.t("runtime.controller.control.treeGridEx.noPickedUp", {
40176
40601
  valueItem
40177
40602
  })
@@ -40600,7 +41025,7 @@ var TreeGridService = class extends GridService {
40600
41025
  };
40601
41026
 
40602
41027
  // src/controller/control/medit-view-panel/medit-view-panel.controller.ts
40603
- import { RuntimeError as RuntimeError67 } from "@ibiz-template/core";
41028
+ import { RuntimeError as RuntimeError68 } from "@ibiz-template/core";
40604
41029
  import { createUUID as createUUID14 } from "qx-util";
40605
41030
 
40606
41031
  // src/controller/control/medit-view-panel/medit-view-panel.service.ts
@@ -40820,7 +41245,7 @@ var MEditViewPanelController = class extends MDControlController {
40820
41245
  (item) => item.id === id
40821
41246
  );
40822
41247
  if (panelUiItemIndex < 0) {
40823
- throw new RuntimeError67(
41248
+ throw new RuntimeError68(
40824
41249
  ibiz.i18n.t("runtime.controller.control.meditViewPanel.dataExist")
40825
41250
  );
40826
41251
  }
@@ -41405,7 +41830,7 @@ var ReportPanelController = class extends ControlController {
41405
41830
  // src/controller/control/gantt/gantt.controller.ts
41406
41831
  import {
41407
41832
  awaitTimeout as awaitTimeout4,
41408
- RuntimeError as RuntimeError68,
41833
+ RuntimeError as RuntimeError69,
41409
41834
  RuntimeModelError as RuntimeModelError72
41410
41835
  } from "@ibiz-template/core";
41411
41836
 
@@ -41951,13 +42376,13 @@ var GanttController = class extends TreeGridExController {
41951
42376
  */
41952
42377
  async modifyNodeTime(nodeData, { begin, end }) {
41953
42378
  if (nodeData._nodeType !== "DE") {
41954
- throw new RuntimeError68(
42379
+ throw new RuntimeError69(
41955
42380
  ibiz.i18n.t("runtime.controller.control.gantt.noNode")
41956
42381
  );
41957
42382
  }
41958
42383
  const rowState = this.getRowState(nodeData._id);
41959
42384
  if (!rowState) {
41960
- throw new RuntimeError68(
42385
+ throw new RuntimeError69(
41961
42386
  ibiz.i18n.t("runtime.controller.common.md.rowData")
41962
42387
  );
41963
42388
  }
@@ -41979,13 +42404,13 @@ var GanttController = class extends TreeGridExController {
41979
42404
  return;
41980
42405
  }
41981
42406
  if (nodeData._nodeType !== "DE") {
41982
- throw new RuntimeError68(
42407
+ throw new RuntimeError69(
41983
42408
  ibiz.i18n.t("runtime.controller.control.gantt.nonentity")
41984
42409
  );
41985
42410
  }
41986
42411
  const rowState = this.state.rows[nodeData._uuid];
41987
42412
  if (!rowState) {
41988
- throw new RuntimeError68(
42413
+ throw new RuntimeError69(
41989
42414
  ibiz.i18n.t("runtime.controller.common.md.rowData")
41990
42415
  );
41991
42416
  }
@@ -42035,7 +42460,7 @@ var GanttController = class extends TreeGridExController {
42035
42460
  async remove(args) {
42036
42461
  const { context, params, data } = this.handlerAbilityParams(args);
42037
42462
  if (!(data == null ? void 0 : data.length)) {
42038
- throw new RuntimeError68(
42463
+ throw new RuntimeError69(
42039
42464
  ibiz.i18n.t("runtime.controller.common.control.uncheckedData")
42040
42465
  );
42041
42466
  }
@@ -42158,7 +42583,7 @@ var GanttController = class extends TreeGridExController {
42158
42583
  (item) => item.showRowEdit
42159
42584
  );
42160
42585
  if (editingRow) {
42161
- throw new RuntimeError68(
42586
+ throw new RuntimeError69(
42162
42587
  ibiz.i18n.t("runtime.controller.common.md.firstComplete")
42163
42588
  );
42164
42589
  }
@@ -42944,7 +43369,7 @@ var AppHub = class {
42944
43369
  this.registerAppView(appView);
42945
43370
  return appView;
42946
43371
  }
42947
- throw new RuntimeError69(ibiz.i18n.t("runtime.hub.noExist", { id }));
43372
+ throw new RuntimeError70(ibiz.i18n.t("runtime.hub.noExist", { id }));
42948
43373
  }
42949
43374
  /**
42950
43375
  * 根据DrControl的名称和子应用标识获取模型
@@ -42983,7 +43408,7 @@ var AppHub = class {
42983
43408
  );
42984
43409
  return model;
42985
43410
  }
42986
- throw new RuntimeError69(
43411
+ throw new RuntimeError70(
42987
43412
  ibiz.i18n.t("runtime.hub.noExist", { id: modelPath })
42988
43413
  );
42989
43414
  }
@@ -43023,7 +43448,7 @@ var AppHub = class {
43023
43448
  this.registerAppDataEntity(entity, appId2);
43024
43449
  return entity;
43025
43450
  }
43026
- throw new RuntimeError69(ibiz.i18n.t("runtime.service.noFound", { id }));
43451
+ throw new RuntimeError70(ibiz.i18n.t("runtime.service.noFound", { id }));
43027
43452
  }
43028
43453
  /**
43029
43454
  * 新建 hub 应用
@@ -43038,7 +43463,7 @@ var AppHub = class {
43038
43463
  return this.appMap.get(id);
43039
43464
  }
43040
43465
  if (!this.modelLoaderProvider) {
43041
- throw new RuntimeError69(ibiz.i18n.t("runtime.utils.firstregister"));
43466
+ throw new RuntimeError70(ibiz.i18n.t("runtime.utils.firstregister"));
43042
43467
  }
43043
43468
  const appModel = await this.modelLoaderProvider.getApp(id);
43044
43469
  const subAppRef = await this.modelLoaderProvider.getSubAppRef(id);
@@ -43190,7 +43615,7 @@ var EngineFactory = class {
43190
43615
 
43191
43616
  // src/engine/view-base.engine.ts
43192
43617
  import {
43193
- RuntimeError as RuntimeError70,
43618
+ RuntimeError as RuntimeError71,
43194
43619
  findRecursiveChild as findRecursiveChild3,
43195
43620
  IBizContext as IBizContext7
43196
43621
  } from "@ibiz-template/core";
@@ -43575,7 +44000,7 @@ var ViewEngineBase = class {
43575
44000
  const { appDataEntityId } = this.view.model;
43576
44001
  const { evt, context, params } = this.view;
43577
44002
  if (!appDataEntityId) {
43578
- throw new RuntimeError70(ibiz.i18n.t("runtime.engine.loadEntityData"));
44003
+ throw new RuntimeError71(ibiz.i18n.t("runtime.engine.loadEntityData"));
43579
44004
  }
43580
44005
  const app = ibiz.hub.getApp(context.srfappid);
43581
44006
  const res = await app.deService.exec(
@@ -43849,7 +44274,7 @@ var MDViewEngine = class extends ViewEngineBase {
43849
44274
  var _a, _b;
43850
44275
  const { data, event } = args;
43851
44276
  const context = (args.context || this.view.context).clone();
43852
- context.srfpaginationviewid = this.view.id;
44277
+ context.srfnavctrlid = this.xdataControl.ctrlId;
43853
44278
  const params = args.params || this.view.params;
43854
44279
  const deName = ((_a = data[0].srfdecodename) == null ? void 0 : _a.toLowerCase()) || calcDeCodeNameById(this.xdataControl.model.appDataEntityId);
43855
44280
  context[deName.toLowerCase()] = data[0].srfkey;
@@ -44057,7 +44482,7 @@ var MDViewEngine = class extends ViewEngineBase {
44057
44482
  };
44058
44483
 
44059
44484
  // src/global/global-util/global-util.ts
44060
- import { RuntimeError as RuntimeError71 } from "@ibiz-template/core";
44485
+ import { RuntimeError as RuntimeError72 } from "@ibiz-template/core";
44061
44486
  var sourceTitle = document.title;
44062
44487
  var GlobalUtil = class {
44063
44488
  constructor() {
@@ -44147,6 +44572,13 @@ var GlobalUtil = class {
44147
44572
  * @date 2024-06-30 11:06:13
44148
44573
  */
44149
44574
  this.biReport = new BIReportUtil();
44575
+ /**
44576
+ * 记录导航工具类
44577
+ *
44578
+ * @author tony001
44579
+ * @date 2024-07-15 13:07:51
44580
+ */
44581
+ this.record = new RecordNavUtil();
44150
44582
  this.error.register(new DefaultErrorHandler());
44151
44583
  }
44152
44584
  /**
@@ -44205,7 +44637,7 @@ var GlobalUtil = class {
44205
44637
  * @return {*} {IParams}
44206
44638
  */
44207
44639
  getGlobalParam() {
44208
- throw new RuntimeError71(ibiz.i18n.t("runtime.global.noImplemented"));
44640
+ throw new RuntimeError72(ibiz.i18n.t("runtime.global.noImplemented"));
44209
44641
  }
44210
44642
  /**
44211
44643
  * 获取视图路由参数变量,数组类型,基于路由解析出来的,每一个对象里面都有context和params
@@ -44214,12 +44646,12 @@ var GlobalUtil = class {
44214
44646
  * @return {*} {IParams}
44215
44647
  */
44216
44648
  getRouterParams() {
44217
- throw new RuntimeError71(ibiz.i18n.t("runtime.global.noImplementedRouting"));
44649
+ throw new RuntimeError72(ibiz.i18n.t("runtime.global.noImplementedRouting"));
44218
44650
  }
44219
44651
  };
44220
44652
 
44221
44653
  // src/logic-scheduler/executor/logic-executor.ts
44222
- import { RuntimeError as RuntimeError72 } from "@ibiz-template/core";
44654
+ import { RuntimeError as RuntimeError73 } from "@ibiz-template/core";
44223
44655
  var LogicExecutor = class {
44224
44656
  /**
44225
44657
  * @author lxm
@@ -44240,7 +44672,7 @@ var LogicExecutor = class {
44240
44672
  */
44241
44673
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
44242
44674
  execute(_executeParams) {
44243
- throw new RuntimeError72(
44675
+ throw new RuntimeError73(
44244
44676
  ibiz.i18n.t("runtime.logicScheduler.executor.noImplementedMethod")
44245
44677
  );
44246
44678
  }
@@ -44692,7 +45124,7 @@ var LogicSchedulerCenter = class {
44692
45124
  };
44693
45125
 
44694
45126
  // src/logic-scheduler/trigger/logic-trigger.ts
44695
- import { RuntimeError as RuntimeError73 } from "@ibiz-template/core";
45127
+ import { RuntimeError as RuntimeError74 } from "@ibiz-template/core";
44696
45128
  var LogicTrigger = class {
44697
45129
  /**
44698
45130
  * @author lxm
@@ -44752,7 +45184,7 @@ var LogicTrigger = class {
44752
45184
  if (this.executor) {
44753
45185
  return this.executor.execute(executeParams);
44754
45186
  }
44755
- throw new RuntimeError73(
45187
+ throw new RuntimeError74(
44756
45188
  ibiz.i18n.t("runtime.logicScheduler.trigger.noExecutorBound", {
44757
45189
  id: this.logic.id
44758
45190
  })
@@ -44773,12 +45205,12 @@ var CustomTrigger = class extends LogicTrigger {
44773
45205
  };
44774
45206
 
44775
45207
  // src/logic-scheduler/trigger/item-dyna-logic-trigger.ts
44776
- import { RuntimeError as RuntimeError74 } from "@ibiz-template/core";
45208
+ import { RuntimeError as RuntimeError75 } from "@ibiz-template/core";
44777
45209
  var ItemDynaLogicTrigger = class extends LogicTrigger {
44778
45210
  bindExecutor(executor) {
44779
45211
  super.bindExecutor(executor);
44780
45212
  if (this.executor.type !== "SCRIPT") {
44781
- throw new RuntimeError74(
45213
+ throw new RuntimeError75(
44782
45214
  ibiz.i18n.t("runtime.logicScheduler.trigger.triggerType")
44783
45215
  );
44784
45216
  }
@@ -44815,7 +45247,7 @@ var ItemDynaLogicTrigger = class extends LogicTrigger {
44815
45247
  };
44816
45248
 
44817
45249
  // src/logic-scheduler/trigger/timer-trigger.ts
44818
- import { RuntimeError as RuntimeError75, RuntimeModelError as RuntimeModelError75 } from "@ibiz-template/core";
45250
+ import { RuntimeError as RuntimeError76, RuntimeModelError as RuntimeModelError75 } from "@ibiz-template/core";
44819
45251
  var TimerTrigger = class extends LogicTrigger {
44820
45252
  constructor() {
44821
45253
  super(...arguments);
@@ -44830,7 +45262,7 @@ var TimerTrigger = class extends LogicTrigger {
44830
45262
  }
44831
45263
  this.timer = setInterval(() => {
44832
45264
  if (!this.scheduler.defaultParamsCb) {
44833
- throw new RuntimeError75(
45265
+ throw new RuntimeError76(
44834
45266
  ibiz.i18n.t("runtime.logicScheduler.trigger.parameterCallback")
44835
45267
  );
44836
45268
  }
@@ -44849,7 +45281,7 @@ var TimerTrigger = class extends LogicTrigger {
44849
45281
  // src/logic-scheduler/executor/app-ui-logic-executor.ts
44850
45282
  import {
44851
45283
  ModelError as ModelError34,
44852
- RuntimeError as RuntimeError76,
45284
+ RuntimeError as RuntimeError77,
44853
45285
  RuntimeModelError as RuntimeModelError76
44854
45286
  } from "@ibiz-template/core";
44855
45287
  import { notNilEmpty as notNilEmpty11 } from "qx-util";
@@ -44887,7 +45319,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
44887
45319
  const { context, params, ...rest } = parameters;
44888
45320
  const { data } = parameters;
44889
45321
  if (!(data == null ? void 0 : data[0])) {
44890
- throw new RuntimeError76(
45322
+ throw new RuntimeError77(
44891
45323
  ibiz.i18n.t("runtime.logicScheduler.executor.noActionableData")
44892
45324
  );
44893
45325
  }
@@ -44956,7 +45388,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
44956
45388
  const openViewRefs = appUILogic.openDataAppViews;
44957
45389
  const findView = openViewRefs == null ? void 0 : openViewRefs.find((item) => item.refMode === formTypeValue);
44958
45390
  if (!findView) {
44959
- throw new RuntimeError76(
45391
+ throw new RuntimeError77(
44960
45392
  ibiz.i18n.t("runtime.logicScheduler.executor.editViews", {
44961
45393
  formTypeValue
44962
45394
  })
@@ -45089,7 +45521,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
45089
45521
  }
45090
45522
  const selectData = (_a = result.data) == null ? void 0 : _a[0];
45091
45523
  if (!selectData) {
45092
- throw new RuntimeError76(
45524
+ throw new RuntimeError77(
45093
45525
  ibiz.i18n.t("runtime.logicScheduler.executor.checkOne")
45094
45526
  );
45095
45527
  }
@@ -45101,7 +45533,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
45101
45533
  }
45102
45534
  );
45103
45535
  if (!findView) {
45104
- throw new RuntimeError76(
45536
+ throw new RuntimeError77(
45105
45537
  ibiz.i18n.t("runtime.logicScheduler.executor.entitiesAssociated", {
45106
45538
  indexType
45107
45539
  })
@@ -45143,7 +45575,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
45143
45575
  }
45144
45576
  });
45145
45577
  if (pickParentFieldName === void 0) {
45146
- throw new RuntimeError76(
45578
+ throw new RuntimeError77(
45147
45579
  ibiz.i18n.t("runtime.logicScheduler.executor.foreignKey", {
45148
45580
  pickParentDeName
45149
45581
  })
@@ -46002,7 +46434,12 @@ var en = {
46002
46434
  noCompared: "{value} and {value2} cannot be compared.",
46003
46435
  conditionalValues: "Conditional values for range comparisons do not exist or are not strings"
46004
46436
  },
46005
- firstregister: "Please register the model loading adapter first"
46437
+ firstregister: "Please register the model loading adapter first",
46438
+ recordNav: {
46439
+ noFoundCtrl: "The specified identifier [{ctrlId}] component was not found",
46440
+ firstRecord: "The current data is already the first record of data",
46441
+ lastRecord: "The current data is already the last record of data"
46442
+ }
46006
46443
  },
46007
46444
  deAction: {
46008
46445
  responseDataError: "Response data exception [data]: {error}"
@@ -46585,7 +47022,12 @@ var zhCn = {
46585
47022
  noCompared: "{value} \u548C {value2} \u65E0\u6CD5\u6BD4\u8F83\u5927\u5C0F",
46586
47023
  conditionalValues: "\u8303\u56F4\u6BD4\u8F83\u7684\u6761\u4EF6\u503C\u4E0D\u5B58\u6216\u8005\u4E0D\u662F\u5B57\u7B26\u4E32"
46587
47024
  },
46588
- firstregister: "\u8BF7\u5148\u6CE8\u518C\u6A21\u578B\u52A0\u8F7D\u9002\u914D\u5668"
47025
+ firstregister: "\u8BF7\u5148\u6CE8\u518C\u6A21\u578B\u52A0\u8F7D\u9002\u914D\u5668",
47026
+ recordNav: {
47027
+ noFoundCtrl: "\u672A\u627E\u5230\u6307\u5B9A\u6807\u8BC6[{ctrlId}]\u90E8\u4EF6",
47028
+ firstRecord: "\u5F53\u524D\u6570\u636E\u5DF2\u7ECF\u662F\u7B2C\u4E00\u6761\u6570\u636E\u4E86",
47029
+ lastRecord: "\u5F53\u524D\u6570\u636E\u5DF2\u7ECF\u662F\u6700\u540E\u4E00\u6761\u6570\u636E\u4E86"
47030
+ }
46589
47031
  },
46590
47032
  deAction: {
46591
47033
  responseDataError: "\u54CD\u5E94\u6570\u636E\u5F02\u5E38 [data]: {error}"
@@ -46723,6 +47165,7 @@ export {
46723
47165
  LoadingState,
46724
47166
  MDControlController,
46725
47167
  MDControlService,
47168
+ MDControlTypes,
46726
47169
  MDCtrlController,
46727
47170
  MDCtrlService,
46728
47171
  MDViewEngine,
@@ -46762,6 +47205,7 @@ export {
46762
47205
  QXEventEx,
46763
47206
  RawItemPortletController,
46764
47207
  RawValueUtil,
47208
+ RecordNavUtil,
46765
47209
  RegisterCenter,
46766
47210
  RemotePluginItem,
46767
47211
  ReportPanelController,