@ibiz-template/runtime 0.2.4 → 0.2.6

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 (77) hide show
  1. package/dist/index.esm.js +134 -35
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/controller/common/base.controller.js +4 -4
  5. package/out/controller/common/control/control.controller.d.ts +13 -0
  6. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  7. package/out/controller/common/control/control.controller.js +33 -2
  8. package/out/controller/control/dashboard/dashboard.controller.d.ts.map +1 -1
  9. package/out/controller/control/dashboard/dashboard.controller.js +12 -0
  10. package/out/controller/control/dashboard/portlet/actionbar-portlet/actionbar-portlet.controller.d.ts +5 -0
  11. package/out/controller/control/dashboard/portlet/actionbar-portlet/actionbar-portlet.controller.d.ts.map +1 -0
  12. package/out/controller/control/dashboard/portlet/actionbar-portlet/actionbar-portlet.controller.js +3 -0
  13. package/out/controller/control/dashboard/portlet/actionbar-portlet/index.d.ts +2 -0
  14. package/out/controller/control/dashboard/portlet/actionbar-portlet/index.d.ts.map +1 -0
  15. package/out/controller/control/dashboard/portlet/actionbar-portlet/index.js +1 -0
  16. package/out/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.d.ts +5 -0
  17. package/out/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.d.ts.map +1 -0
  18. package/out/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.js +3 -0
  19. package/out/controller/control/dashboard/portlet/chart-portlet/index.d.ts +2 -0
  20. package/out/controller/control/dashboard/portlet/chart-portlet/index.d.ts.map +1 -0
  21. package/out/controller/control/dashboard/portlet/chart-portlet/index.js +1 -0
  22. package/out/controller/control/dashboard/portlet/html-portlet/html-portlet.controller.d.ts +5 -0
  23. package/out/controller/control/dashboard/portlet/html-portlet/html-portlet.controller.d.ts.map +1 -0
  24. package/out/controller/control/dashboard/portlet/html-portlet/html-portlet.controller.js +3 -0
  25. package/out/controller/control/dashboard/portlet/html-portlet/index.d.ts +2 -0
  26. package/out/controller/control/dashboard/portlet/html-portlet/index.d.ts.map +1 -0
  27. package/out/controller/control/dashboard/portlet/html-portlet/index.js +1 -0
  28. package/out/controller/control/dashboard/portlet/index.d.ts +5 -0
  29. package/out/controller/control/dashboard/portlet/index.d.ts.map +1 -1
  30. package/out/controller/control/dashboard/portlet/index.js +5 -0
  31. package/out/controller/control/dashboard/portlet/list-portlet/index.d.ts +2 -0
  32. package/out/controller/control/dashboard/portlet/list-portlet/index.d.ts.map +1 -0
  33. package/out/controller/control/dashboard/portlet/list-portlet/index.js +1 -0
  34. package/out/controller/control/dashboard/portlet/list-portlet/list-portlet.controller.d.ts +5 -0
  35. package/out/controller/control/dashboard/portlet/list-portlet/list-portlet.controller.d.ts.map +1 -0
  36. package/out/controller/control/dashboard/portlet/list-portlet/list-portlet.controller.js +3 -0
  37. package/out/controller/control/dashboard/portlet/rawitem-portlet/index.d.ts +2 -0
  38. package/out/controller/control/dashboard/portlet/rawitem-portlet/index.d.ts.map +1 -0
  39. package/out/controller/control/dashboard/portlet/rawitem-portlet/index.js +1 -0
  40. package/out/controller/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.controller.d.ts +5 -0
  41. package/out/controller/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.controller.d.ts.map +1 -0
  42. package/out/controller/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.controller.js +3 -0
  43. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts +2 -2
  44. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts.map +1 -1
  45. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.d.ts.map +1 -1
  46. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.js +11 -2
  47. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts +2 -8
  48. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts.map +1 -1
  49. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.js +9 -10
  50. package/out/controller/control/grid/grid/grid.controller.d.ts +17 -1
  51. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  52. package/out/controller/control/grid/grid/grid.controller.js +37 -9
  53. package/out/interface/controller/controller/control/i-control.controller.d.ts +11 -0
  54. package/out/interface/controller/controller/control/i-control.controller.d.ts.map +1 -1
  55. package/out/service/utils/res-path/res-path.d.ts.map +1 -1
  56. package/out/service/utils/res-path/res-path.js +4 -2
  57. package/package.json +3 -3
  58. package/src/controller/common/base.controller.ts +4 -4
  59. package/src/controller/common/control/control.controller.ts +50 -3
  60. package/src/controller/control/dashboard/dashboard.controller.ts +14 -0
  61. package/src/controller/control/dashboard/portlet/actionbar-portlet/actionbar-portlet.controller.ts +4 -0
  62. package/src/controller/control/dashboard/portlet/actionbar-portlet/index.ts +1 -0
  63. package/src/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.ts +4 -0
  64. package/src/controller/control/dashboard/portlet/chart-portlet/index.ts +1 -0
  65. package/src/controller/control/dashboard/portlet/html-portlet/html-portlet.controller.ts +4 -0
  66. package/src/controller/control/dashboard/portlet/html-portlet/index.ts +1 -0
  67. package/src/controller/control/dashboard/portlet/index.ts +5 -0
  68. package/src/controller/control/dashboard/portlet/list-portlet/index.ts +1 -0
  69. package/src/controller/control/dashboard/portlet/list-portlet/list-portlet.controller.ts +4 -0
  70. package/src/controller/control/dashboard/portlet/rawitem-portlet/index.ts +1 -0
  71. package/src/controller/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.controller.ts +4 -0
  72. package/src/controller/control/form/form-detail/form-detail/form-detail.controller.ts +2 -2
  73. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.ts +9 -2
  74. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.ts +12 -11
  75. package/src/controller/control/grid/grid/grid.controller.ts +46 -15
  76. package/src/interface/controller/controller/control/i-control.controller.ts +9 -0
  77. package/src/service/utils/res-path/res-path.ts +4 -2
package/dist/index.esm.js CHANGED
@@ -22170,13 +22170,15 @@ var DECache = class {
22170
22170
  };
22171
22171
 
22172
22172
  // src/service/utils/res-path/res-path.ts
22173
- var reg = new RegExp("(?<=\\$\\{)(.*?)(?=\\})", "g");
22173
+ var reg = /\$\{(.*?)\}/g;
22174
22174
  function getMatchResPath(context, entity) {
22175
22175
  const pathItems = entity.requestPaths || [];
22176
22176
  const items = pathItems.map((str) => {
22177
+ const match = str.match(reg);
22178
+ const keys = (match == null ? void 0 : match.map((item) => item.substring(2, item.length - 1))) || [];
22177
22179
  return {
22178
22180
  path: str,
22179
- keys: str.match(reg) || []
22181
+ keys
22180
22182
  };
22181
22183
  });
22182
22184
  const filterItems = items.filter((item) => {
@@ -27915,12 +27917,12 @@ var BaseController = class {
27915
27917
  async created() {
27916
27918
  this.mountCounter.enroll(SELF_KEY);
27917
27919
  await this.onCreated();
27920
+ this.state.isCreated = true;
27918
27921
  this.force(() => {
27919
27922
  this.mountSelf();
27920
27923
  });
27921
- await this._evt.emit("onCreated", void 0);
27922
- this.state.isCreated = true;
27923
27924
  ibiz.log.debug("".concat(this.constructor.name, ":").concat(this.name, " onCreated"));
27925
+ this._evt.emit("onCreated", void 0);
27924
27926
  }
27925
27927
  /**
27926
27928
  * 生命周期-创建完成,实际执行逻辑,子类重写用这个
@@ -27962,9 +27964,9 @@ var BaseController = class {
27962
27964
  */
27963
27965
  async mounted() {
27964
27966
  await this.onMounted();
27965
- await this._evt.emit("onMounted", void 0);
27966
27967
  this.state.isMounted = true;
27967
27968
  ibiz.log.debug("".concat(this.constructor.name, ":").concat(this.name, " onMounted"));
27969
+ this._evt.emit("onMounted", void 0);
27968
27970
  }
27969
27971
  /**
27970
27972
  * 生命周期-加载完成,实际执行逻辑,子类重写用这个
@@ -27981,9 +27983,9 @@ var BaseController = class {
27981
27983
  */
27982
27984
  async destroyed() {
27983
27985
  await this.onDestroyed();
27984
- await this._evt.emit("onDestroyed", void 0);
27985
27986
  this.state.isDestroyed = true;
27986
27987
  ibiz.log.debug("".concat(this.constructor.name, ":").concat(this.name, " onDestroyed"));
27988
+ await this._evt.emit("onDestroyed", void 0);
27987
27989
  this.evt.destroy();
27988
27990
  }
27989
27991
  /**
@@ -28753,7 +28755,7 @@ var CodeListEditorController = class extends EditorController {
28753
28755
  };
28754
28756
 
28755
28757
  // src/controller/common/control/control.controller.ts
28756
- import { NoticeError } from "@ibiz-template/core";
28758
+ import { IBizContext as IBizContext3, IBizParams, NoticeError } from "@ibiz-template/core";
28757
28759
  import { isNil as isNil18 } from "ramda";
28758
28760
  import { notNilEmpty as notNilEmpty7 } from "qx-util";
28759
28761
  var ControlController = class extends BaseController {
@@ -28767,7 +28769,12 @@ var ControlController = class extends BaseController {
28767
28769
  * @param {IParams} [params={}]
28768
28770
  */
28769
28771
  constructor(model, context, params, ctx) {
28770
- super(model, context, params, ctx);
28772
+ super(
28773
+ model,
28774
+ IBizContext3.create({}, context),
28775
+ new IBizParams({}, params),
28776
+ ctx
28777
+ );
28771
28778
  /**
28772
28779
  * 部件参数
28773
28780
  *
@@ -28791,6 +28798,7 @@ var ControlController = class extends BaseController {
28791
28798
  if (panelModel) {
28792
28799
  this.controlPanel = panelModel;
28793
28800
  }
28801
+ this.updateContextParams({});
28794
28802
  }
28795
28803
  get _evt() {
28796
28804
  return this.evt;
@@ -28855,6 +28863,33 @@ var ControlController = class extends BaseController {
28855
28863
  if (this.scheduler) {
28856
28864
  this.scheduler.destroy();
28857
28865
  }
28866
+ this.params.destroy();
28867
+ }
28868
+ /**
28869
+ * 处理上下文和导航参数相关的,如自定义导航参数的处理
28870
+ *
28871
+ * @author lxm
28872
+ * @date 2022-09-08 15:09:47
28873
+ * @protected
28874
+ */
28875
+ updateContextParams(opts) {
28876
+ if (opts.context) {
28877
+ this.context.reset({}, opts.context);
28878
+ }
28879
+ if (opts.params) {
28880
+ this.params.reset({}, opts.params);
28881
+ }
28882
+ const { controlNavContexts, controlNavParams } = this.model;
28883
+ let context = {};
28884
+ if (notNilEmpty7(controlNavContexts)) {
28885
+ context = convertNavData(controlNavContexts, this.params, this.context);
28886
+ }
28887
+ Object.assign(this.context, context);
28888
+ let params = {};
28889
+ if (notNilEmpty7(controlNavParams)) {
28890
+ params = convertNavData(controlNavParams, this.params, this.context);
28891
+ }
28892
+ Object.assign(this.params, params);
28858
28893
  }
28859
28894
  /**
28860
28895
  * 获取部件类型
@@ -32914,9 +32949,18 @@ var DashboardController = class extends ControlController {
32914
32949
  if (!(portletModels == null ? void 0 : portletModels.length)) {
32915
32950
  return;
32916
32951
  }
32952
+ const ignorePortletTypes = [
32953
+ "CHART" /* CHART */,
32954
+ "APPMENU" /* APP_MENU */,
32955
+ "TOOLBAR" /* TOOLBAR */,
32956
+ "LIST" /* LIST */
32957
+ ];
32917
32958
  await Promise.all(
32918
32959
  portletModels.map(async (portlet) => {
32919
32960
  var _a;
32961
+ if (portlet.controlType && ignorePortletTypes.includes(portlet.controlType)) {
32962
+ return;
32963
+ }
32920
32964
  const provider = await getPortletProvider(portlet);
32921
32965
  if (provider) {
32922
32966
  this.providers[portlet.id] = provider;
@@ -33262,6 +33306,26 @@ var ViewPortletController = class extends PortletPartController {
33262
33306
  var MenuPortletController = class extends PortletPartController {
33263
33307
  };
33264
33308
 
33309
+ // src/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.ts
33310
+ var ChartPortletController = class extends PortletPartController {
33311
+ };
33312
+
33313
+ // src/controller/control/dashboard/portlet/actionbar-portlet/actionbar-portlet.controller.ts
33314
+ var ActionBarPortletController = class extends PortletPartController {
33315
+ };
33316
+
33317
+ // src/controller/control/dashboard/portlet/html-portlet/html-portlet.controller.ts
33318
+ var HtmlPortletController = class extends PortletPartController {
33319
+ };
33320
+
33321
+ // src/controller/control/dashboard/portlet/list-portlet/list-portlet.controller.ts
33322
+ var ListPortletController = class extends PortletPartController {
33323
+ };
33324
+
33325
+ // src/controller/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.controller.ts
33326
+ var RawItemPortletController = class extends PortletPartController {
33327
+ };
33328
+
33265
33329
  // src/controller/control/data-view/data-view.controller.ts
33266
33330
  import { RuntimeModelError as RuntimeModelError48 } from "@ibiz-template/core";
33267
33331
  import { isNil as isNil20 } from "ramda";
@@ -35791,10 +35855,17 @@ var FormMDCtrlContentTypeController = class {
35791
35855
  async initData() {
35792
35856
  const name = this.model.appDEFieldId || this.model.fieldName || this.model.id;
35793
35857
  if (name) {
35858
+ const data = this.parent.data[name];
35794
35859
  if (this.model.contentType === "REPEATER" && this.model.detailStyle === "STYLE3") {
35795
- this.parent.state.contentCtrlData = this.parent.data[name] || {};
35860
+ if (Array.isArray(data)) {
35861
+ this.parent.state.contentCtrlData = {};
35862
+ } else {
35863
+ this.parent.state.contentCtrlData = data || {};
35864
+ }
35865
+ } else if (!Array.isArray(data)) {
35866
+ this.parent.state.contentCtrlData = [];
35796
35867
  } else {
35797
- this.parent.state.contentCtrlData = this.parent.data[name] || [];
35868
+ this.parent.state.contentCtrlData = data || [];
35798
35869
  }
35799
35870
  }
35800
35871
  }
@@ -37261,6 +37332,15 @@ var FormMDCtrlController = class extends FormDetailController {
37261
37332
  if (this.mdCtrlContentController) {
37262
37333
  await this.mdCtrlContentController.onInit();
37263
37334
  }
37335
+ if (this.form.state.isLoaded) {
37336
+ this.mdCtrlContentController.initData();
37337
+ }
37338
+ this.form.evt.on("onLoadDraftSuccess", () => {
37339
+ this.mdCtrlContentController.initData();
37340
+ });
37341
+ this.form.evt.on("onLoadSuccess", () => {
37342
+ this.mdCtrlContentController.initData();
37343
+ });
37264
37344
  }
37265
37345
  /**
37266
37346
  * 手动通知外部表单值变更
@@ -37275,16 +37355,6 @@ var FormMDCtrlController = class extends FormDetailController {
37275
37355
  this.form.setDataValue(name, this.state.contentCtrlData);
37276
37356
  }
37277
37357
  }
37278
- /**
37279
- * 加载数据,要在表单加载完成之后再去加载
37280
- *
37281
- * @author zk
37282
- * @date 2023-07-28 11:07:09
37283
- * @memberof FormMDCtrlController
37284
- */
37285
- async loadData() {
37286
- await this.mdCtrlContentController.initData();
37287
- }
37288
37358
  /**
37289
37359
  * 表单校验,通知子表单进行校验
37290
37360
  *
@@ -37952,9 +38022,7 @@ var GridController = class extends MDControlController {
37952
38022
  */
37953
38023
  afterRemove(data) {
37954
38024
  super.afterRemove(data);
37955
- const index = this.state.rows.findIndex(
37956
- (item) => item.data.srfkey === data.srfkey
37957
- );
38025
+ const index = this.findRowStateIndex(data);
37958
38026
  this.state.rows.splice(index, 1);
37959
38027
  this.state.groups.forEach((item) => {
37960
38028
  if (item.children.length) {
@@ -37975,13 +38043,16 @@ var GridController = class extends MDControlController {
37975
38043
  */
37976
38044
  async newRow() {
37977
38045
  const { enableRowEdit, enableRowNew } = this.model;
37978
- if (!enableRowEdit || !enableRowNew || ibiz.config.grid.editShowMode !== "row") {
38046
+ const { editShowMode } = ibiz.config.grid;
38047
+ if (!enableRowEdit || !enableRowNew || !["row", "all"].includes(editShowMode)) {
37979
38048
  ibiz.log.error("\u4E0D\u652F\u6301\u65B0\u5EFA\u884C");
37980
38049
  return;
37981
38050
  }
37982
- const editingRow = this.state.rows.find((item) => item.showRowEdit);
37983
- if (editingRow) {
37984
- throw new RuntimeError45("\u8BF7\u5148\u5B8C\u6210\u5F53\u524D\u884C\u7F16\u8F91\u4E2D\u7684\u884C\u7684\u64CD\u4F5C");
38051
+ if (editShowMode === "row") {
38052
+ const editingRow = this.state.rows.find((item) => item.showRowEdit);
38053
+ if (editingRow) {
38054
+ throw new RuntimeError45("\u8BF7\u5148\u5B8C\u6210\u5F53\u524D\u884C\u7F16\u8F91\u4E2D\u7684\u884C\u7684\u64CD\u4F5C");
38055
+ }
37985
38056
  }
37986
38057
  const queryParams = { ...this.params };
37987
38058
  const defaultData = this.calcDefaultValue({}, true);
@@ -38001,7 +38072,9 @@ var GridController = class extends MDControlController {
38001
38072
  const newRow = new GridRowState(draftData, this);
38002
38073
  this.state.rows.unshift(newRow);
38003
38074
  this.gridStateNotify(newRow, "DRAFT" /* DRAFT */);
38004
- this.switchRowEdit(this.state.rows[0], true);
38075
+ if (editShowMode === "row") {
38076
+ this.switchRowEdit(this.state.rows[0], true);
38077
+ }
38005
38078
  this.actionNotification("GETDRAFTSUCCESS", { data: draftData });
38006
38079
  }
38007
38080
  /**
@@ -38016,9 +38089,8 @@ var GridController = class extends MDControlController {
38016
38089
  if (this.state.isSimple) {
38017
38090
  return;
38018
38091
  }
38019
- const rowState = this.state.rows.find(
38020
- (item) => item.data.srfkey === data.srfkey
38021
- );
38092
+ const isCreate = data.srfuf === 0 /* CREATE */;
38093
+ const rowState = this.findRowState(data);
38022
38094
  if (!rowState) {
38023
38095
  throw new RuntimeError45("\u884C\u6570\u636E\u4E0D\u5B58\u5728");
38024
38096
  }
@@ -38036,7 +38108,6 @@ var GridController = class extends MDControlController {
38036
38108
  }
38037
38109
  await this.startLoading();
38038
38110
  let res;
38039
- const isCreate = data.srfuf === 0 /* CREATE */;
38040
38111
  const deName = calcDeCodeNameById(this.model.appDataEntityId);
38041
38112
  const tempContext = this.context.clone();
38042
38113
  tempContext[deName] = data.srfkey;
@@ -38052,9 +38123,7 @@ var GridController = class extends MDControlController {
38052
38123
  } finally {
38053
38124
  await this.endLoading();
38054
38125
  }
38055
- const index = this.state.items.findIndex(
38056
- (item) => item.srfkey === data.srfkey
38057
- );
38126
+ const index = this.findRowStateIndex(data);
38058
38127
  this.state.items.splice(index, 1, res.data);
38059
38128
  rowState.data = res.data;
38060
38129
  rowState.modified = false;
@@ -38497,6 +38566,31 @@ var GridController = class extends MDControlController {
38497
38566
  });
38498
38567
  return result;
38499
38568
  }
38569
+ /**
38570
+ * 查找rowState
38571
+ * @author lxm
38572
+ * @date 2023-10-27 07:27:48
38573
+ * @param {IData} data
38574
+ * @return {*} {(IGridRowState)}
38575
+ */
38576
+ findRowStateIndex(data) {
38577
+ const isCreate = data.srfuf === 0 /* CREATE */;
38578
+ const compareKey = isCreate ? "tempsrfkey" : "srfkey";
38579
+ return this.state.rows.findIndex(
38580
+ (item) => item.data[compareKey] === data[compareKey]
38581
+ );
38582
+ }
38583
+ /**
38584
+ * 查找rowState
38585
+ * @author lxm
38586
+ * @date 2023-10-27 07:27:48
38587
+ * @param {IData} data
38588
+ * @return {*} {(IGridRowState | undefined)}
38589
+ */
38590
+ findRowState(data) {
38591
+ const index = this.findRowStateIndex(data);
38592
+ return index !== -1 ? this.state.rows[index] : void 0;
38593
+ }
38500
38594
  };
38501
38595
 
38502
38596
  // src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts
@@ -44628,6 +44722,7 @@ var RemotePluginItem = class {
44628
44722
  };
44629
44723
  export {
44630
44724
  APP_COUNTER_PROVIDER_PREFIX,
44725
+ ActionBarPortletController,
44631
44726
  ActivityCounter,
44632
44727
  AppCounter,
44633
44728
  AppDECounter,
@@ -44651,6 +44746,7 @@ export {
44651
44746
  CaptionBarController,
44652
44747
  ChartController,
44653
44748
  ChartExpBarController,
44749
+ ChartPortletController,
44654
44750
  ChartService,
44655
44751
  CodeListEditorController,
44656
44752
  CodeListService,
@@ -44725,11 +44821,13 @@ export {
44725
44821
  GridService,
44726
44822
  GridUAColumnController,
44727
44823
  HandlebarsUtil,
44824
+ HtmlPortletController,
44728
44825
  HubController,
44729
44826
  KanbanController,
44730
44827
  KanbanService,
44731
44828
  LayoutPanelUtil,
44732
44829
  ListController,
44830
+ ListPortletController,
44733
44831
  ListService,
44734
44832
  LoadingState,
44735
44833
  MDControlController,
@@ -44758,6 +44856,7 @@ export {
44758
44856
  PortletPartController,
44759
44857
  PortletPartState,
44760
44858
  QXEventEx,
44859
+ RawItemPortletController,
44761
44860
  RawValueUtil,
44762
44861
  RegisterCenter,
44763
44862
  RemotePluginItem,