@ibiz-template/runtime 0.2.9 → 0.2.11

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 +72 -38
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  5. package/out/controller/control/form/edit-form/edit-form.controller.js +4 -0
  6. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  7. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +6 -5
  8. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-item.controller.d.ts +1 -1
  9. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-item.controller.d.ts.map +1 -1
  10. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-item.controller.js +5 -2
  11. package/out/controller/control/map/map.controller.js +2 -2
  12. package/out/controller/control/panel/panel/panel-item.controller.d.ts +1 -0
  13. package/out/controller/control/panel/panel/panel-item.controller.d.ts.map +1 -1
  14. package/out/controller/control/panel/panel/panel-item.controller.js +1 -0
  15. package/out/controller/control/panel/panel/panel.controller.d.ts +3 -1
  16. package/out/controller/control/panel/panel/panel.controller.d.ts.map +1 -1
  17. package/out/controller/control/panel/panel/panel.controller.js +20 -2
  18. package/out/interface/controller/controller/control/panel-item/i-panel-item.controller.d.ts +6 -0
  19. package/out/interface/controller/controller/control/panel-item/i-panel-item.controller.d.ts.map +1 -1
  20. package/out/interface/controller/state/control/i-map.state.d.ts +4 -4
  21. package/out/interface/controller/state/control/i-map.state.d.ts.map +1 -1
  22. package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts +6 -9
  23. package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts.map +1 -1
  24. package/out/logic-scheduler/executor/app-ui-logic-executor.js +14 -16
  25. package/out/model/data-entity/data-entity.d.ts +0 -11
  26. package/out/model/data-entity/data-entity.d.ts.map +1 -1
  27. package/out/model/data-entity/data-entity.js +0 -14
  28. package/out/service/vo/map-data/map-data.d.ts +1 -1
  29. package/out/service/vo/map-data/map-data.d.ts.map +1 -1
  30. package/out/service/vo/map-data/map-data.js +4 -3
  31. package/out/service/vo/panel-data/panel-data.d.ts +9 -4
  32. package/out/service/vo/panel-data/panel-data.d.ts.map +1 -1
  33. package/out/service/vo/panel-data/panel-data.js +18 -1
  34. package/package.json +2 -2
  35. package/src/controller/control/form/edit-form/edit-form.controller.ts +4 -0
  36. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +6 -4
  37. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-item.controller.ts +5 -1
  38. package/src/controller/control/map/map.controller.ts +2 -2
  39. package/src/controller/control/panel/panel/panel-item.controller.ts +2 -0
  40. package/src/controller/control/panel/panel/panel.controller.ts +21 -3
  41. package/src/interface/controller/controller/control/panel-item/i-panel-item.controller.ts +7 -0
  42. package/src/interface/controller/state/control/i-map.state.ts +4 -4
  43. package/src/logic-scheduler/executor/app-ui-logic-executor.ts +17 -16
  44. package/src/model/data-entity/data-entity.ts +0 -17
  45. package/src/service/vo/map-data/map-data.ts +6 -4
  46. package/src/service/vo/panel-data/panel-data.ts +25 -6
package/dist/index.esm.js CHANGED
@@ -18810,10 +18810,6 @@ async function getDeACMode(appDEACModeId, entityId, srfappid) {
18810
18810
  });
18811
18811
  return deACMode;
18812
18812
  }
18813
- async function getFormTypeFieldName(entityId) {
18814
- const appDataEntity = await ibiz.hub.getAppDataEntity(entityId);
18815
- return appDataEntity.formTypeAppDEFieldId;
18816
- }
18817
18813
  function findDELogic(appDELogicId, entity) {
18818
18814
  var _a;
18819
18815
  return (_a = entity.appDELogics) == null ? void 0 : _a.find((item) => item.id === appDELogicId);
@@ -26325,6 +26321,7 @@ function updateKeyDefine(target, keys) {
26325
26321
  }
26326
26322
  });
26327
26323
  }
26324
+ var AreaItemStyles = ["REGION", "REGION2", "REGION3", "REGION4"];
26328
26325
  var MapData = class {
26329
26326
  constructor(deData, mapItem) {
26330
26327
  this._longitude = void 0;
@@ -26336,7 +26333,7 @@ var MapData = class {
26336
26333
  this._symbol = void 0;
26337
26334
  const {
26338
26335
  id,
26339
- itemType,
26336
+ itemStyle,
26340
26337
  longitudeAppDEFieldId,
26341
26338
  latitudeAppDEFieldId,
26342
26339
  textAppDEFieldId,
@@ -26346,9 +26343,9 @@ var MapData = class {
26346
26343
  } = mapItem;
26347
26344
  const keyMap = /* @__PURE__ */ new Map();
26348
26345
  this._id = id + deData.srfkey;
26349
- this._type = itemType;
26346
+ this._itemStyle = itemStyle;
26350
26347
  this._mapItemId = id;
26351
- if (itemType === "area") {
26348
+ if (AreaItemStyles.includes(this._itemStyle)) {
26352
26349
  if (longitudeAppDEFieldId) {
26353
26350
  keyMap.set("_areaCode", longitudeAppDEFieldId);
26354
26351
  }
@@ -26406,6 +26403,7 @@ var MapData = class {
26406
26403
  };
26407
26404
 
26408
26405
  // src/service/vo/panel-data/panel-data.ts
26406
+ import { QXEvent as QXEvent2 } from "qx-util";
26409
26407
  function updateKeyDefine2(target, keys) {
26410
26408
  keys.forEach((key) => {
26411
26409
  if (!Object.prototype.hasOwnProperty.call(target, key)) {
@@ -26420,6 +26418,7 @@ function updateKeyDefine2(target, keys) {
26420
26418
  }
26421
26419
  var PanelData = class {
26422
26420
  constructor(fields, origin) {
26421
+ const _evt = new QXEvent2();
26423
26422
  const keyMap = {};
26424
26423
  const reverseKeyMap = {};
26425
26424
  fields.forEach((field) => {
@@ -26438,11 +26437,21 @@ var PanelData = class {
26438
26437
  target[p] = value;
26439
26438
  }
26440
26439
  } else {
26441
- origin[keyMap[p]] = value;
26440
+ origin[p] = value;
26441
+ }
26442
+ _evt.emit("change", p);
26443
+ if (keyMap[p] && keyMap[p] !== p) {
26444
+ _evt.emit("change", keyMap[p]);
26445
+ }
26446
+ if (reverseKeyMap[p] && reverseKeyMap[p] !== p) {
26447
+ _evt.emit("change", reverseKeyMap[p]);
26442
26448
  }
26443
26449
  return true;
26444
26450
  },
26445
26451
  get(target, p, _receiver) {
26452
+ if (p === "_evt") {
26453
+ return _evt;
26454
+ }
26446
26455
  if (keyMap[p]) {
26447
26456
  return origin[keyMap[p]];
26448
26457
  }
@@ -26458,10 +26467,13 @@ var PanelData = class {
26458
26467
  }
26459
26468
  });
26460
26469
  }
26470
+ destroy() {
26471
+ this._evt.reset();
26472
+ }
26461
26473
  };
26462
26474
 
26463
26475
  // src/service/mqtt/mqtt.service.ts
26464
- import { QXEvent as QXEvent2, createUUID as createUUID4, isNilOrEmpty as isNilOrEmpty6 } from "qx-util";
26476
+ import { QXEvent as QXEvent3, createUUID as createUUID4, isNilOrEmpty as isNilOrEmpty6 } from "qx-util";
26465
26477
  var MqttService = class {
26466
26478
  /**
26467
26479
  * Creates an instance of MqttService.
@@ -26482,7 +26494,7 @@ var MqttService = class {
26482
26494
  * @author chitanda
26483
26495
  * @date 2023-10-23 15:10:06
26484
26496
  */
26485
- this.evt = new QXEvent2();
26497
+ this.evt = new QXEvent3();
26486
26498
  /**
26487
26499
  * 连接选项
26488
26500
  *
@@ -27340,7 +27352,7 @@ var LoadingState = class {
27340
27352
  };
27341
27353
 
27342
27354
  // src/controller/ctx/ctx.ts
27343
- import { QXEvent as QXEvent3 } from "qx-util";
27355
+ import { QXEvent as QXEvent4 } from "qx-util";
27344
27356
 
27345
27357
  // src/controller/ctx/ctx.state.ts
27346
27358
  var CTXState = class {
@@ -27370,7 +27382,7 @@ var CTX = class {
27370
27382
  * @date 2023-04-26 07:54:46
27371
27383
  * @protected
27372
27384
  */
27373
- this.evt = new QXEvent3(3e3);
27385
+ this.evt = new QXEvent4(3e3);
27374
27386
  /**
27375
27387
  * 当前视图控制器集合(包含自身视图控制器,部件控制器,和下一层级的视图的控制器)
27376
27388
  * @author lxm
@@ -27675,8 +27687,8 @@ var ButtonContainerState = class {
27675
27687
  };
27676
27688
 
27677
27689
  // src/controller/utils/event/qx-event-ex.ts
27678
- import { clearAll, QXEvent as QXEvent4 } from "qx-util";
27679
- var QXEventEx = class extends QXEvent4 {
27690
+ import { clearAll, QXEvent as QXEvent5 } from "qx-util";
27691
+ var QXEventEx = class extends QXEvent5 {
27680
27692
  constructor() {
27681
27693
  super(...arguments);
27682
27694
  this.anyEventFns = [];
@@ -35974,6 +35986,10 @@ var FormItemController = class extends FormDetailController {
35974
35986
  async onInit() {
35975
35987
  await super.onInit();
35976
35988
  this.state.required = !this.model.allowEmpty;
35989
+ const { enableCond } = this.model;
35990
+ if (!enableCond) {
35991
+ this.state.enableCondDisabled = true;
35992
+ }
35977
35993
  if (this.model.editor && this.model.editor.editorType !== "HIDDEN") {
35978
35994
  this.editorProvider = await getEditorProvider(this.model.editor);
35979
35995
  if (this.editorProvider) {
@@ -36022,9 +36038,7 @@ var FormItemController = class extends FormDetailController {
36022
36038
  calcEnableCond() {
36023
36039
  const { enableCond } = this.model;
36024
36040
  const isNew = this.data.srfuf === 0 /* CREATE */;
36025
- if (!enableCond) {
36026
- this.state.enableCondDisabled = true;
36027
- } else if (isNew && enableCond === 2 || !isNew && enableCond === 1) {
36041
+ if (isNew && enableCond === 2 || !isNew && enableCond === 1) {
36028
36042
  this.state.enableCondDisabled = true;
36029
36043
  }
36030
36044
  }
@@ -36984,6 +36998,7 @@ var EditFormController = class extends FormController {
36984
36998
  await this.service.wfStart(context, params, this.data);
36985
36999
  if (this.view.modal.mode === "ROUTE") {
36986
37000
  ibiz.mc.command.send(this.data.$origin, "OBJECTUPDATED");
37001
+ ibiz.mc.command.send({ srfdecodename: "SysTodo" }, "OBJECTUPDATED");
36987
37002
  }
36988
37003
  } catch (error) {
36989
37004
  this.actionNotification("WFSTARTERROR", {
@@ -37014,6 +37029,7 @@ var EditFormController = class extends FormController {
37014
37029
  await this.service.wfSubmit(context, params, this.data);
37015
37030
  if (this.view.modal.mode === "ROUTE") {
37016
37031
  ibiz.mc.command.send(this.data.$origin, "OBJECTUPDATED");
37032
+ ibiz.mc.command.send({ srfdecodename: "SysTodo" }, "OBJECTUPDATED");
37017
37033
  }
37018
37034
  } catch (error) {
37019
37035
  this.actionNotification("WFSUBMITERROR", {
@@ -37805,8 +37821,10 @@ var FormMDCtrlController = class extends FormDetailController {
37805
37821
 
37806
37822
  // src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-item.controller.ts
37807
37823
  var FormMDCtrlItemController = class extends EditFormController {
37808
- constructor(model, context, params, ctx, data) {
37809
- super(model, context, params, ctx);
37824
+ constructor(model, context, params, ctx, data, form) {
37825
+ const { model: _model } = form;
37826
+ Object.assign(_model, model);
37827
+ super(_model, context, params, ctx);
37810
37828
  this.state.data = data;
37811
37829
  this.state.isSimple = true;
37812
37830
  }
@@ -39844,6 +39862,14 @@ var PanelController = class extends ControlController {
39844
39862
  async onMounted() {
39845
39863
  this.load();
39846
39864
  }
39865
+ async onDestroyed() {
39866
+ var _a, _b;
39867
+ await super.onDestroyed();
39868
+ (_b = (_a = this.data).destroy) == null ? void 0 : _b.call(_a);
39869
+ Object.values(this.panelItems).forEach((item) => {
39870
+ item.destroy();
39871
+ });
39872
+ }
39847
39873
  /**
39848
39874
  * 初始化面板成员控制器
39849
39875
  *
@@ -39894,11 +39920,13 @@ var PanelController = class extends ControlController {
39894
39920
  * @memberof PanelController
39895
39921
  */
39896
39922
  async load() {
39923
+ var _a, _b;
39897
39924
  const data = await this.prepareData();
39898
39925
  if (!data) {
39899
39926
  throw new RuntimeError49("\u672A\u83B7\u53D6\u5230\u9762\u677F\u6570\u636E");
39900
39927
  }
39901
39928
  const panelData = this.convertData(data);
39929
+ (_b = (_a = this.data).destroy) == null ? void 0 : _b.call(_a);
39902
39930
  this.state.data = panelData;
39903
39931
  this.panelStateNotify("LOAD" /* LOAD */);
39904
39932
  }
@@ -39934,7 +39962,14 @@ var PanelController = class extends ControlController {
39934
39962
  */
39935
39963
  convertData(data) {
39936
39964
  const fields = getAllPanelField(this.model);
39937
- return new PanelData(fields, data);
39965
+ const fieldKeys = fields.map((item) => item.id);
39966
+ const panelData = new PanelData(fields, data);
39967
+ panelData._evt.on("change", (key) => {
39968
+ if (fieldKeys.includes(key)) {
39969
+ this.dataChangeNotify([key]);
39970
+ }
39971
+ });
39972
+ return panelData;
39938
39973
  }
39939
39974
  /**
39940
39975
  * 通知所有面板成员面板操作过程中的数据变更
@@ -39970,7 +40005,6 @@ var PanelController = class extends ControlController {
39970
40005
  return;
39971
40006
  }
39972
40007
  this.state.data[name] = value;
39973
- this.dataChangeNotify([name]);
39974
40008
  }
39975
40009
  initControlScheduler(logics = []) {
39976
40010
  const actualLogics = [...logics];
@@ -40193,6 +40227,8 @@ var PanelItemController = class {
40193
40227
  this.state.class.label.push(labelSysCss.cssName);
40194
40228
  }
40195
40229
  }
40230
+ destroy() {
40231
+ }
40196
40232
  /**
40197
40233
  * 创建面板状态对象
40198
40234
  *
@@ -43078,9 +43114,9 @@ var MapController = class extends MDControlController {
43078
43114
  const tempareaData = [];
43079
43115
  const temppointData = [];
43080
43116
  result.forEach((item) => {
43081
- if (item._type === "area") {
43117
+ if (item._itemStyle === "REGION") {
43082
43118
  tempareaData.push(item);
43083
- } else if (item._type === "point") {
43119
+ } else if (item._itemStyle === "POINT") {
43084
43120
  temppointData.push(item);
43085
43121
  }
43086
43122
  });
@@ -44829,16 +44865,13 @@ var AppUILogicExecutor = class extends LogicExecutor {
44829
44865
  }
44830
44866
  }
44831
44867
  /**
44832
- * 执行应用预置界面逻辑opendata
44868
+ * 执行应用预置界面逻辑 opendata
44833
44869
  *
44834
- * @author lxm
44835
- * @date 2022-08-22 14:08:03
44836
- * @export
44837
- * @param {IPSAppUIOpenDataLogic} appUILogic 应用预置界面逻辑opendata模型对象
44838
- * @param {IContext} context 上下文参数
44839
- * @param {(IData | null)} data 数据集合
44840
- * @param {IParams} params 视图参数
44841
- * @param {IData} [opts] 额外参数,event是js原生事件
44870
+ * @author chitanda
44871
+ * @date 2023-11-02 11:11:36
44872
+ * @param {IAppUIOpenDataLogic} appUILogic 应用预置界面逻辑 opendata 模型对象
44873
+ * @param {IUILogicParams} parameters
44874
+ * @return {*} {Promise<IModalData>}
44842
44875
  */
44843
44876
  async executeOpenDataAppUILogic(appUILogic, parameters) {
44844
44877
  const { context, params, ...rest } = parameters;
@@ -44885,16 +44918,18 @@ var AppUILogicExecutor = class extends LogicExecutor {
44885
44918
  );
44886
44919
  }
44887
44920
  async calcOpenViewRef(appUILogic, parameters) {
44888
- const appDataEntityId = parameters.view.model.appDataEntityId;
44889
- const formTypeName = await getFormTypeFieldName(appDataEntityId);
44890
- if (!formTypeName) {
44921
+ const appDataEntity = await ibiz.hub.getAppDataEntity(
44922
+ parameters.view.model.appDataEntityId
44923
+ );
44924
+ const typeFileName = appDataEntity.formTypeAppDEFieldId || appDataEntity.dataTypeAppDEFieldId;
44925
+ if (!typeFileName) {
44891
44926
  throw new RuntimeModelError62(
44892
44927
  appUILogic,
44893
- "".concat(appDataEntityId, "\u5B9E\u4F53\u7F3A\u5C11\u8868\u5355\u7C7B\u578B\u5E94\u7528\u5B9E\u4F53\u5C5E\u6027")
44928
+ "".concat(appDataEntity.codeName, "[\u591A\u8868\u5355\u5B9E\u4F53] or [\u7D22\u5F15\u5B9E\u4F53]\u7F3A\u5C11\u7C7B\u578B\u5C5E\u6027\u914D\u7F6E")
44894
44929
  );
44895
44930
  }
44896
44931
  const { data } = parameters;
44897
- const formTypeValue = data[0][formTypeName];
44932
+ const formTypeValue = data[0][typeFileName];
44898
44933
  if (!formTypeValue) {
44899
44934
  throw new RuntimeModelError62(appUILogic, "\u6570\u636E\u6E90\u65E0\u8868\u5355\u7C7B\u578B\u5E94\u7528\u5B9E\u4F53\u5C5E\u6027\u503C");
44900
44935
  }
@@ -45543,7 +45578,6 @@ export {
45543
45578
  getDefaultValue,
45544
45579
  getEditorProvider,
45545
45580
  getFormDetailProvider,
45546
- getFormTypeFieldName,
45547
45581
  getGridColumnProvider,
45548
45582
  getMatchResPath,
45549
45583
  getOriginData,