@ibiz-template/runtime 0.2.13 → 0.2.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 (46) hide show
  1. package/dist/index.esm.js +106 -71
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/controller/common/control/md-control.controller.js +1 -1
  5. package/out/controller/control/form/edit-form/edit-form.controller.d.ts +3 -3
  6. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  7. package/out/controller/control/form/edit-form/edit-form.controller.js +24 -8
  8. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  9. package/out/controller/control/grid/grid/grid.controller.js +0 -4
  10. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts +3 -8
  11. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts.map +1 -1
  12. package/out/controller/control/medit-view-panel/medit-view-panel.controller.js +28 -39
  13. package/out/controller/control/panel/panel/panel-item.controller.d.ts +8 -9
  14. package/out/controller/control/panel/panel/panel-item.controller.d.ts.map +1 -1
  15. package/out/controller/control/panel/panel/panel-item.controller.js +2 -2
  16. package/out/controller/control/wizard-panel/wizard-panel.controller.d.ts +8 -0
  17. package/out/controller/control/wizard-panel/wizard-panel.controller.d.ts.map +1 -1
  18. package/out/controller/control/wizard-panel/wizard-panel.controller.js +58 -15
  19. package/out/interface/common/i-data-ability-params/i-data-ability-params.d.ts +7 -0
  20. package/out/interface/common/i-data-ability-params/i-data-ability-params.d.ts.map +1 -1
  21. package/out/interface/controller/controller/control/i-control.controller.d.ts +9 -0
  22. package/out/interface/controller/controller/control/i-control.controller.d.ts.map +1 -1
  23. package/out/interface/controller/controller/control/i-edit-form.controller.d.ts +10 -1
  24. package/out/interface/controller/controller/control/i-edit-form.controller.d.ts.map +1 -1
  25. package/out/interface/controller/controller/control/i-md-control.controller.d.ts +2 -2
  26. package/out/interface/controller/controller/control/i-md-control.controller.d.ts.map +1 -1
  27. package/out/interface/controller/controller/control/i-medit-view-panel.controller.d.ts +6 -0
  28. package/out/interface/controller/controller/control/i-medit-view-panel.controller.d.ts.map +1 -1
  29. package/out/interface/controller/state/control/i-medit-view-panel.state.d.ts +5 -0
  30. package/out/interface/controller/state/control/i-medit-view-panel.state.d.ts.map +1 -1
  31. package/out/interface/controller/state/control/panel-item/i-panel-item.state.d.ts +8 -0
  32. package/out/interface/controller/state/control/panel-item/i-panel-item.state.d.ts.map +1 -1
  33. package/package.json +8 -7
  34. package/src/controller/common/control/md-control.controller.ts +1 -1
  35. package/src/controller/control/form/edit-form/edit-form.controller.ts +27 -10
  36. package/src/controller/control/grid/grid/grid.controller.ts +0 -3
  37. package/src/controller/control/medit-view-panel/medit-view-panel.controller.ts +30 -46
  38. package/src/controller/control/panel/panel/panel-item.controller.ts +7 -7
  39. package/src/controller/control/wizard-panel/wizard-panel.controller.ts +67 -18
  40. package/src/interface/common/i-data-ability-params/i-data-ability-params.ts +8 -0
  41. package/src/interface/controller/controller/control/i-control.controller.ts +10 -0
  42. package/src/interface/controller/controller/control/i-edit-form.controller.ts +11 -1
  43. package/src/interface/controller/controller/control/i-md-control.controller.ts +2 -2
  44. package/src/interface/controller/controller/control/i-medit-view-panel.controller.ts +8 -1
  45. package/src/interface/controller/state/control/i-medit-view-panel.state.ts +6 -0
  46. package/src/interface/controller/state/control/panel-item/i-panel-item.state.ts +9 -0
package/dist/index.esm.js CHANGED
@@ -29644,7 +29644,7 @@ var MDControlController = class extends ControlController {
29644
29644
  default: "\u6570\u636E[".concat(data.map((item) => item.srfmajortext).join("\u3001"), "]\u5220\u9664\u6210\u529F!")
29645
29645
  });
29646
29646
  }
29647
- if (needRefresh) {
29647
+ if (needRefresh && !(args == null ? void 0 : args.notRefresh)) {
29648
29648
  await this.refresh();
29649
29649
  }
29650
29650
  } catch (error) {
@@ -36914,15 +36914,18 @@ var EditFormController = class extends FormController {
36914
36914
  * @date 2022-08-31 22:08:40
36915
36915
  */
36916
36916
  async save(args) {
36917
+ const silent = (args == null ? void 0 : args.silent) === true;
36917
36918
  if (this.state.processing) {
36918
- const data2 = await awaitTimeout(500, this.save.bind(this));
36919
+ const data2 = await awaitTimeout(500, this.save.bind(this), [args]);
36919
36920
  return data2;
36920
36921
  }
36921
36922
  const isValid = await this.validate();
36922
36923
  if (!isValid) {
36923
36924
  throw new RuntimeError45("\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\uFF01");
36924
36925
  }
36925
- await this.startLoading();
36926
+ if (!silent) {
36927
+ await this.startLoading();
36928
+ }
36926
36929
  await this.evt.emit("onBeforeSave", void 0);
36927
36930
  const { context, data } = this.handlerAbilityParams(args);
36928
36931
  const saveData = data[0];
@@ -36937,18 +36940,27 @@ var EditFormController = class extends FormController {
36937
36940
  });
36938
36941
  throw error;
36939
36942
  } finally {
36940
- await this.endLoading();
36943
+ if (!silent) {
36944
+ await this.endLoading();
36945
+ }
36941
36946
  }
36947
+ const noFillBack = (args == null ? void 0 : args.noFillBack) === true;
36942
36948
  if (res.data) {
36943
- mergeInLeft(this.data, res.data);
36949
+ if (noFillBack) {
36950
+ this.data.updatedate = res.data.updatedate;
36951
+ } else {
36952
+ mergeInLeft(this.data, res.data);
36953
+ }
36944
36954
  this.data.tempsrfkey = this.data.srfkey;
36945
36955
  }
36946
36956
  this.state.modified = false;
36947
36957
  await this.evt.emit("onSaveSuccess", void 0);
36948
36958
  this.formStateNotify("SAVE" /* SAVE */);
36949
- this.actionNotification("".concat(isCreate ? "CREATE" : "UPDATE", "SUCCESS"), {
36950
- default: "".concat(this.data.srfmajortext || "", "\u4FDD\u5B58\u6210\u529F")
36951
- });
36959
+ if (!silent) {
36960
+ this.actionNotification("".concat(isCreate ? "CREATE" : "UPDATE", "SUCCESS"), {
36961
+ default: "".concat(this.data.srfmajortext || "", "\u4FDD\u5B58\u6210\u529F")
36962
+ });
36963
+ }
36952
36964
  if (this.view.modal.mode === "ROUTE") {
36953
36965
  ibiz.mc.command.send(
36954
36966
  this.data.$origin,
@@ -37018,6 +37030,7 @@ var EditFormController = class extends FormController {
37018
37030
  if (res.data) {
37019
37031
  mergeInLeft(this.data, res.data);
37020
37032
  }
37033
+ return this.data;
37021
37034
  }
37022
37035
  /**
37023
37036
  * 表单项更新
@@ -37141,7 +37154,7 @@ var EditFormController = class extends FormController {
37141
37154
  async autoSave() {
37142
37155
  if (this.model.enableAutoSave) {
37143
37156
  try {
37144
- await this.save();
37157
+ await this.save({ silent: true, noFillBack: true });
37145
37158
  } catch (error) {
37146
37159
  ibiz.log.error(error);
37147
37160
  }
@@ -38653,7 +38666,6 @@ var GridController = class extends MDControlController {
38653
38666
  if (!isValid) {
38654
38667
  throw new RuntimeError47("\u884C\u6570\u636E\u6821\u9A8C\u4E0D\u901A\u8FC7\uFF0C\u4FDD\u5B58\u53D6\u6D88");
38655
38668
  }
38656
- await this.startLoading();
38657
38669
  let res;
38658
38670
  const deName = calcDeCodeNameById(this.model.appDataEntityId);
38659
38671
  const tempContext = this.context.clone();
@@ -38667,8 +38679,6 @@ var GridController = class extends MDControlController {
38667
38679
  data: rowState.data
38668
38680
  });
38669
38681
  throw error;
38670
- } finally {
38671
- await this.endLoading();
38672
38682
  }
38673
38683
  const index = this.findRowStateIndex(data);
38674
38684
  this.state.items.splice(index, 1, res.data);
@@ -40245,8 +40255,8 @@ var PanelItemController = class {
40245
40255
  * @author lxm
40246
40256
  * @date 2023-04-27 06:37:12
40247
40257
  * @param {T} model 面板成员模型
40248
- * @param {PanelController} panel 面板控制器
40249
- * @param {PanelItemController} [parent] 父容器控制器
40258
+ * @param {IPanelController} panel 面板控制器
40259
+ * @param {IPanelItemController} [parent] 父容器控制器
40250
40260
  */
40251
40261
  constructor(model, panel, parent) {
40252
40262
  this.model = model;
@@ -41871,6 +41881,29 @@ var WizardPanelController = class extends ControlController {
41871
41881
  this.context[deName] = data.srfkey;
41872
41882
  }
41873
41883
  }
41884
+ /**
41885
+ * 根据tag获取应该激活的向导表单
41886
+ * @param {string} tag
41887
+ * @return {*}
41888
+ * @author: zhujiamin
41889
+ * @Date: 2023-11-10 18:35:37
41890
+ */
41891
+ getWizardFormByTag(tag) {
41892
+ var _a;
41893
+ if (!((_a = this.model.dewizard) == null ? void 0 : _a.dewizardForms)) {
41894
+ throw new RuntimeError50("\u6CA1\u6709\u914D\u7F6E\u5411\u5BFC\u8868\u5355\u96C6\u5408");
41895
+ return;
41896
+ }
41897
+ const wizardForm = this.model.dewizard.dewizardForms.find(
41898
+ (form) => {
41899
+ return form.formTag === tag;
41900
+ }
41901
+ );
41902
+ if (!wizardForm) {
41903
+ throw new RuntimeError50("\u627E\u4E0D\u5230\u6807\u8BC6\u4E3A".concat(tag, "\u7684\u5411\u5BFC\u8868\u5355"));
41904
+ }
41905
+ return wizardForm;
41906
+ }
41874
41907
  /**
41875
41908
  * 执行初始化操作,存在初始化实体行为的时候加载数据并把主键放入上下文
41876
41909
  *
@@ -41886,8 +41919,16 @@ var WizardPanelController = class extends ControlController {
41886
41919
  if (res.data && res.data.srfkey) {
41887
41920
  this.context[deName] = res.data.srfkey;
41888
41921
  }
41922
+ if (res.data && this.model.stateAppDEFieldId && res.data[this.model.stateAppDEFieldId]) {
41923
+ const activeForm = this.getWizardFormByTag(
41924
+ res.data[this.model.stateAppDEFieldId]
41925
+ );
41926
+ if (activeForm) {
41927
+ this.state.activeFormTag = activeForm.formTag;
41928
+ }
41929
+ }
41889
41930
  }
41890
- if (this.firstForm) {
41931
+ if (!this.state.activeFormTag && this.firstForm) {
41891
41932
  this.state.activeFormTag = this.firstForm.formTag;
41892
41933
  this.tagHistory.push(this.firstForm.formTag);
41893
41934
  }
@@ -41912,9 +41953,19 @@ var WizardPanelController = class extends ControlController {
41912
41953
  * @memberof WizardPanelController
41913
41954
  */
41914
41955
  async onPrevClick() {
41915
- await this.activeFormController.goBack();
41916
- this.tagHistory.pop();
41917
- const prevTag = this.tagHistory[this.tagHistory.length - 1];
41956
+ const data = await this.activeFormController.goBack();
41957
+ let prevTag;
41958
+ if (this.model.stateAppDEFieldId && data[this.model.stateAppDEFieldId]) {
41959
+ const wizardForm = this.getWizardFormByTag(
41960
+ data[this.model.stateAppDEFieldId]
41961
+ );
41962
+ if (wizardForm) {
41963
+ prevTag = data[this.model.stateAppDEFieldId];
41964
+ }
41965
+ } else {
41966
+ prevTag = this.tagHistory[this.tagHistory.length - 1];
41967
+ this.tagHistory.pop();
41968
+ }
41918
41969
  if (!prevTag) {
41919
41970
  throw new RuntimeError50("\u6CA1\u6709\u4E0A\u4E00\u4E2A\u8868\u5355");
41920
41971
  }
@@ -41931,15 +41982,18 @@ var WizardPanelController = class extends ControlController {
41931
41982
  const data = await this.activeFormController.save();
41932
41983
  let nextTag;
41933
41984
  if (data.srfnextform) {
41934
- const wizardForm = this.model.dewizard.dewizardForms.find(
41935
- (_wizardForm) => {
41936
- return _wizardForm.formTag === data.srfnextform;
41937
- }
41985
+ const wizardForm = this.getWizardFormByTag(data.srfnextform);
41986
+ if (wizardForm) {
41987
+ nextTag = data.srfnextform;
41988
+ this.tagHistory.push(nextTag);
41989
+ }
41990
+ } else if (this.model.stateAppDEFieldId && data[this.model.stateAppDEFieldId]) {
41991
+ const wizardForm = this.getWizardFormByTag(
41992
+ data[this.model.stateAppDEFieldId]
41938
41993
  );
41939
- if (!wizardForm) {
41940
- throw new RuntimeError50("\u627E\u4E0D\u5230\u6807\u8BC6\u4E3A".concat(data.srfnextform, "\u7684\u5411\u5BFC\u8868\u5355"));
41994
+ if (wizardForm) {
41995
+ nextTag = data[this.model.stateAppDEFieldId];
41941
41996
  }
41942
- nextTag = data.srfnextform;
41943
41997
  } else {
41944
41998
  const { formTag } = this.activeWizardForm;
41945
41999
  const wizardSteps = this.model.dewizard.dewizardSteps;
@@ -41951,12 +42005,8 @@ var WizardPanelController = class extends ControlController {
41951
42005
  if (!nextWizardStep) {
41952
42006
  throw new RuntimeError50("\u627E\u4E0D\u5230\u4E0B\u4E00\u4E2A\u5411\u5BFC\u6B65\u9AA4");
41953
42007
  }
41954
- const nextWizardForm = this.model.dewizard.dewizardForms.find(
41955
- (wizardForm) => {
41956
- return wizardForm.formTag === nextWizardStep.stepTag;
41957
- }
41958
- );
41959
- if (nextWizardForm) {
42008
+ const nextWizardForm = this.getWizardFormByTag(nextWizardStep.stepTag);
42009
+ if (nextWizardForm && nextWizardForm.formTag) {
41960
42010
  nextTag = nextWizardForm.formTag;
41961
42011
  }
41962
42012
  }
@@ -42910,11 +42960,6 @@ var MEditViewPanelService = class extends MDControlService {
42910
42960
  var MEditViewPanelController = class extends MDControlController {
42911
42961
  constructor() {
42912
42962
  super(...arguments);
42913
- /**
42914
- * 是否显示底部按钮
42915
- *
42916
- */
42917
- this.showButton = true;
42918
42963
  /**
42919
42964
  * 当前应用视图参数对象
42920
42965
  *
@@ -42932,6 +42977,7 @@ var MEditViewPanelController = class extends MDControlController {
42932
42977
  this.state.panelUiItems = [];
42933
42978
  this.state.activeTab = "";
42934
42979
  this.state.size = 1e3;
42980
+ this.state.isNeedScroll = false;
42935
42981
  }
42936
42982
  /**
42937
42983
  * 初始化嵌入应用视图及实体参数对象
@@ -42971,9 +43017,12 @@ var MEditViewPanelController = class extends MDControlController {
42971
43017
  */
42972
43018
  async afterLoad(args, items) {
42973
43019
  await super.afterLoad(args, items);
43020
+ const tempPanelUiItems = this.state.panelUiItems.filter((UiItem) => {
43021
+ return UiItem.id.startsWith("mockId:");
43022
+ });
42974
43023
  this.state.panelUiItems = [];
42975
- this.doItems(items);
42976
- if (this.model.panelStyle === "TAB_TOP" && this.state.panelUiItems.length > 0) {
43024
+ this.doItems(items, tempPanelUiItems);
43025
+ if (this.model.panelStyle === "TAB_TOP" && this.state.panelUiItems.length > 0 && tempPanelUiItems.length === 0) {
42977
43026
  this.state.activeTab = this.state.panelUiItems[0].id;
42978
43027
  }
42979
43028
  return items;
@@ -43017,11 +43066,14 @@ var MEditViewPanelController = class extends MDControlController {
43017
43066
  * @author: zhujiamin
43018
43067
  * @Date: 2023-10-16 15:00:02
43019
43068
  */
43020
- doItems(datas) {
43069
+ doItems(datas, tempPanelUiItems) {
43021
43070
  datas.forEach((arg) => {
43022
43071
  const item = this.handlePanelItemParams(arg);
43023
43072
  this.state.panelUiItems.push(item);
43024
43073
  });
43074
+ if (tempPanelUiItems) {
43075
+ this.state.panelUiItems.push(...tempPanelUiItems);
43076
+ }
43025
43077
  }
43026
43078
  /**
43027
43079
  * 处理添加
@@ -43030,6 +43082,7 @@ var MEditViewPanelController = class extends MDControlController {
43030
43082
  * @Date: 2023-10-16 15:18:01
43031
43083
  */
43032
43084
  async handleAdd() {
43085
+ this.state.isNeedScroll = true;
43033
43086
  this.doItems([{ srfuf: 0 }]);
43034
43087
  if (this.model.panelStyle === "TAB_TOP") {
43035
43088
  this.state.activeTab = this.state.panelUiItems[this.state.panelUiItems.length - 1].id;
@@ -43043,13 +43096,14 @@ var MEditViewPanelController = class extends MDControlController {
43043
43096
  * @Date: 2023-10-16 15:23:59
43044
43097
  */
43045
43098
  async handleDelete(item) {
43099
+ this.state.isNeedScroll = false;
43046
43100
  if (item.data.srfuf === 0) {
43047
43101
  const index = this.state.panelUiItems.findIndex((value) => {
43048
43102
  return value === item;
43049
43103
  });
43050
43104
  this.state.panelUiItems.splice(index, 1);
43051
43105
  } else {
43052
- await this.remove({ data: [item.data] });
43106
+ await this.remove({ data: [item.data], notRefresh: true });
43053
43107
  }
43054
43108
  }
43055
43109
  /**
@@ -43096,50 +43150,31 @@ var MEditViewPanelController = class extends MDControlController {
43096
43150
  */
43097
43151
  onViewDataChange(args, id) {
43098
43152
  if (args.eventName === "onSaveSuccess") {
43099
- this.save(args.data[0], id);
43153
+ this.handleDataChange(args.data[0], id);
43100
43154
  }
43101
43155
  }
43102
43156
  /**
43103
- * 保存
43157
+ * 处理数据变化
43104
43158
  *
43105
43159
  * @param {ControlVO} data
43106
43160
  * @returns {*} {Promise<void>}
43107
43161
  */
43108
- async save(data, id) {
43162
+ async handleDataChange(data, id) {
43109
43163
  const panelUiItemIndex = this.state.panelUiItems.findIndex(
43110
43164
  (item) => item.id === id
43111
43165
  );
43112
- if (!panelUiItemIndex) {
43166
+ if (panelUiItemIndex < 0) {
43113
43167
  throw new RuntimeError52("\u7F16\u8F91\u89C6\u56FE\u9762\u677F\u90E8\u4EF6UI\u6570\u636E\u4E0D\u5B58\u5728");
43114
43168
  }
43115
- await this.startLoading();
43116
- let res;
43117
- const isCreate = data.srfuf === 0 /* CREATE */;
43118
- const deName = calcDeCodeNameById(this.model.appDataEntityId);
43119
- const tempContext = this.context.clone();
43120
- tempContext[deName] = data.srfkey;
43121
- try {
43122
- res = isCreate ? await this.service.create(tempContext, data) : await this.service.update(tempContext, data);
43123
- } catch (error) {
43124
- await this.evt.emit("onSaveError", void 0);
43125
- this.actionNotification("".concat(isCreate ? "CREATE" : "UPDATE", "ERROR"), {
43126
- error,
43127
- data: this.state.panelUiItems[panelUiItemIndex].data
43128
- });
43129
- throw error;
43130
- } finally {
43131
- await this.endLoading();
43169
+ const tempUiItem = this.state.panelUiItems[panelUiItemIndex];
43170
+ if (tempUiItem.id.startsWith("mockId:")) {
43171
+ this.state.panelUiItems[panelUiItemIndex] = this.handlePanelItemParams(data);
43172
+ } else {
43173
+ tempUiItem.srfmajortext = data.srfmajortext;
43174
+ }
43175
+ if (this.model.panelStyle === "TAB_TOP") {
43176
+ this.state.activeTab = this.state.panelUiItems[panelUiItemIndex].id;
43132
43177
  }
43133
- const index = this.state.items.findIndex(
43134
- (item) => item.srfkey === data.srfkey
43135
- );
43136
- this.state.items.splice(index, 1, res.data);
43137
- this.state.panelUiItems.splice(
43138
- panelUiItemIndex,
43139
- 1,
43140
- this.handlePanelItemParams(res.data)
43141
- );
43142
- await this.evt.emit("onSaveSuccess", void 0);
43143
43178
  }
43144
43179
  };
43145
43180