@ibiz-template/runtime 0.1.15 → 0.1.16

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 (33) hide show
  1. package/dist/index.esm.js +76 -27
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/command/app/open-app-view/open-app-view.js +1 -1
  5. package/out/controller/control/exp-bar/exp-bar.controller.d.ts.map +1 -1
  6. package/out/controller/control/exp-bar/exp-bar.controller.js +2 -6
  7. package/out/controller/control/grid/grid/grid.controller.d.ts +7 -0
  8. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  9. package/out/controller/control/grid/grid/grid.controller.js +24 -0
  10. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts.map +1 -1
  11. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +14 -9
  12. package/out/engine/md-view.engine.d.ts +10 -1
  13. package/out/engine/md-view.engine.d.ts.map +1 -1
  14. package/out/engine/md-view.engine.js +12 -3
  15. package/out/interface/controller/state/control/i-grid.state.d.ts +14 -0
  16. package/out/interface/controller/state/control/i-grid.state.d.ts.map +1 -1
  17. package/out/interface/service/code-list-item/code-list-item.d.ts +5 -0
  18. package/out/interface/service/code-list-item/code-list-item.d.ts.map +1 -1
  19. package/out/service/service/code-list/code-list.service.d.ts.map +1 -1
  20. package/out/service/service/code-list/code-list.service.js +1 -0
  21. package/out/utils/text-util/text-util.d.ts +12 -3
  22. package/out/utils/text-util/text-util.d.ts.map +1 -1
  23. package/out/utils/text-util/text-util.js +23 -4
  24. package/package.json +2 -2
  25. package/src/command/app/open-app-view/open-app-view.ts +1 -1
  26. package/src/controller/control/exp-bar/exp-bar.controller.ts +2 -6
  27. package/src/controller/control/grid/grid/grid.controller.ts +25 -0
  28. package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +16 -12
  29. package/src/engine/md-view.engine.ts +14 -3
  30. package/src/interface/controller/state/control/i-grid.state.ts +16 -0
  31. package/src/interface/service/code-list-item/code-list-item.ts +6 -0
  32. package/src/service/service/code-list/code-list.service.ts +1 -0
  33. package/src/utils/text-util/text-util.ts +22 -4
package/dist/index.esm.js CHANGED
@@ -8510,6 +8510,17 @@ function filterValueRules(vrs, name) {
8510
8510
 
8511
8511
  // src/utils/text-util/text-util.ts
8512
8512
  var TextUtil = class {
8513
+ constructor() {
8514
+ /**
8515
+ * input元素,用于存储拷贝的文本
8516
+ *
8517
+ * @author zhanghengfeng
8518
+ * @date 2023-08-31 20:08:06
8519
+ * @private
8520
+ * @type {(HTMLInputElement | null)}
8521
+ */
8522
+ this.inputElement = null;
8523
+ }
8513
8524
  /**
8514
8525
  * 值格式化
8515
8526
  *
@@ -8526,12 +8537,20 @@ var TextUtil = class {
8526
8537
  * 拷贝文本
8527
8538
  *
8528
8539
  * @author zhanghengfeng
8529
- * @date 2023-08-28 14:08:57
8540
+ * @date 2023-08-31 11:08:51
8530
8541
  * @param {string} value
8531
- * @return {*} {Promise<void>}
8542
+ * @return {*} {boolean}
8532
8543
  */
8533
- async copy(value) {
8534
- return navigator.clipboard.writeText(value);
8544
+ copy(value) {
8545
+ if (!this.inputElement) {
8546
+ this.inputElement = document.createElement("input");
8547
+ this.inputElement.style.position = "absolute";
8548
+ this.inputElement.style.left = "-9999px";
8549
+ document.body.appendChild(this.inputElement);
8550
+ }
8551
+ this.inputElement.value = value;
8552
+ this.inputElement.select();
8553
+ return document.execCommand("copy");
8535
8554
  }
8536
8555
  };
8537
8556
 
@@ -8576,7 +8595,7 @@ var _OpenAppViewCommand = class _OpenAppViewCommand {
8576
8595
  case "INDEXVIEWTAB":
8577
8596
  if (opts.noWaitRoute) {
8578
8597
  this.openIndexViewTab(appView, context, params);
8579
- return;
8598
+ return { ok: true };
8580
8599
  }
8581
8600
  return this.openIndexViewTab(appView, context, params);
8582
8601
  case "POPUP":
@@ -10624,7 +10643,8 @@ var CodeListService = class {
10624
10643
  text,
10625
10644
  value: isValueNumber ? Number(codeItem.value) : codeItem.value,
10626
10645
  color: codeItem.color,
10627
- id: codeItem.codeName
10646
+ id: codeItem.codeName,
10647
+ textCls: codeItem.textCls
10628
10648
  };
10629
10649
  if ((_a = codeItem.codeItems) == null ? void 0 : _a.length) {
10630
10650
  _codeItem.children = this.formatStaticItems(
@@ -19751,12 +19771,8 @@ var ExpBarControlController = class extends ControlController {
19751
19771
  this.xDataController.evt.on("onLoadSuccess", (event) => {
19752
19772
  this.xDataLoadSuccess(event);
19753
19773
  });
19754
- this.xDataController.evt.on("onBeforeLoad", () => {
19755
- const searchParams = {};
19756
- if (this.state.query) {
19757
- searchParams.query = this.state.query;
19758
- }
19759
- this.xDataController.state.searchParams = searchParams;
19774
+ this.xDataController.evt.on("onRemoveSuccess", () => {
19775
+ this.defaultNavByFirstItem();
19760
19776
  });
19761
19777
  }
19762
19778
  if (this.toolbarController) {
@@ -23673,12 +23689,36 @@ var GridController = class extends MDControlController {
23673
23689
  this.state.columnStates.push({
23674
23690
  key: column.codeName,
23675
23691
  caption: column.caption,
23676
- hidden: !!column.hideDefault
23692
+ hidden: !!column.hideDefault,
23693
+ uaColumn: column.columnType === "UAGRIDCOLUMN"
23677
23694
  });
23678
23695
  }
23679
23696
  },
23680
23697
  { childrenFields: ["degridColumns"] }
23681
23698
  );
23699
+ this.calcColumnFixed();
23700
+ }
23701
+ /**
23702
+ * 计算列的固定状态
23703
+ * @author lxm
23704
+ * @date 2023-08-31 05:12:27
23705
+ * @protected
23706
+ */
23707
+ calcColumnFixed() {
23708
+ const showColumns = this.state.columnStates.filter(
23709
+ (column) => !column.hidden
23710
+ );
23711
+ const allNum = showColumns.length;
23712
+ const { frozenFirstColumn, frozenLastColumn } = this.model;
23713
+ showColumns.forEach((column, index) => {
23714
+ if (column.uaColumn) {
23715
+ column.fixed = index + 1 <= Math.floor(allNum / 2) ? "left" : "right";
23716
+ } else if (frozenFirstColumn && index < frozenFirstColumn) {
23717
+ column.fixed = "left";
23718
+ } else if (frozenLastColumn && index >= allNum - frozenLastColumn) {
23719
+ column.fixed = "right";
23720
+ }
23721
+ });
23682
23722
  }
23683
23723
  /**
23684
23724
  * 初始化表格属性列,操作列,编辑项控制器
@@ -24146,7 +24186,7 @@ var GridFieldColumnController = class extends GridColumnController {
24146
24186
  * @return {*} {(string | undefined)}
24147
24187
  */
24148
24188
  calcFieldAgg(items) {
24149
- const { aggField, aggMode, aggValueFormat } = this.model;
24189
+ const { aggField, aggMode, aggValueFormat, unitName } = this.model;
24150
24190
  if (aggMode === "NONE") {
24151
24191
  return;
24152
24192
  }
@@ -24177,18 +24217,18 @@ var GridFieldColumnController = class extends GridColumnController {
24177
24217
  "\u6682\u672A\u652F\u6301\u805A\u5408\u6A21\u5F0F".concat(this.grid.model.aggMode)
24178
24218
  );
24179
24219
  }
24180
- if (!aggValueFormat) {
24181
- return "".concat(aggValue);
24220
+ let value = "".concat(aggValue);
24221
+ if (aggValueFormat) {
24222
+ try {
24223
+ value = ibiz.util.text.format("".concat(aggValue), aggValueFormat);
24224
+ } catch (error) {
24225
+ ibiz.log.error("".concat(aggValue, " \u503C\u683C\u5F0F\u5316\u9519\u8BEF"));
24226
+ }
24182
24227
  }
24183
- const formatValue = "";
24184
- switch (aggValueFormat) {
24185
- default:
24186
- throw new ModelError25(
24187
- this.model,
24188
- "\u6682\u672A\u652F\u6301".concat(aggValueFormat, "\u7684\u805A\u5408\u503C\u683C\u5F0F\u5316")
24189
- );
24228
+ if (value && unitName) {
24229
+ value += unitName;
24190
24230
  }
24191
- return formatValue;
24231
+ return value;
24192
24232
  }
24193
24233
  /**
24194
24234
  * 值格式化
@@ -27180,9 +27220,7 @@ var MDViewEngine = class extends ViewEngineBase {
27180
27220
  async onMounted() {
27181
27221
  await super.onMounted();
27182
27222
  const { model } = this.view;
27183
- this.xdataControl.evt.on("onActive", async (event) => {
27184
- await this.openData(event);
27185
- });
27223
+ this.xdataControl.evt.on("onActive", this.onXDataActive.bind(this));
27186
27224
  this.xdataControl.evt.on("onSelectionChange", async (event) => {
27187
27225
  var _a;
27188
27226
  (_a = this.toolbar) == null ? void 0 : _a.calcButtonState(
@@ -27222,6 +27260,17 @@ var MDViewEngine = class extends ViewEngineBase {
27222
27260
  this.load();
27223
27261
  }
27224
27262
  }
27263
+ /**
27264
+ * 多数据部件激活事件处理
27265
+ * @author lxm
27266
+ * @date 2023-08-31 02:53:37
27267
+ * @protected
27268
+ * @param {EventBase} event
27269
+ * @return {*} {Promise<void>}
27270
+ */
27271
+ async onXDataActive(event) {
27272
+ await this.openData(event);
27273
+ }
27225
27274
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
27226
27275
  async call(key, args) {
27227
27276
  if (key === "ToggleFilter" /* TOGGLE_FILTER */) {