@ibiz-template/runtime 0.2.18-dev.0 → 0.2.18-dev.2

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 (57) hide show
  1. package/dist/index.esm.js +117 -27
  2. package/dist/index.system.min.js +2 -2
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  5. package/out/controller/control/form/form/form.controller.js +5 -0
  6. package/out/controller/control/form/form-detail/form-button/form-button.controller.d.ts.map +1 -1
  7. package/out/controller/control/form/form-detail/form-button/form-button.controller.js +1 -0
  8. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts +6 -0
  9. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts.map +1 -1
  10. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.js +12 -0
  11. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts +12 -0
  12. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  13. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +28 -0
  14. package/out/interface/controller/event/argument/form-detail.event.d.ts +26 -0
  15. package/out/interface/controller/event/argument/form-detail.event.d.ts.map +1 -0
  16. package/out/interface/controller/event/argument/form-detail.event.js +1 -0
  17. package/out/interface/controller/event/argument/index.d.ts +1 -0
  18. package/out/interface/controller/event/argument/index.d.ts.map +1 -1
  19. package/out/interface/controller/event/control/i-form.event.d.ts +13 -1
  20. package/out/interface/controller/event/control/i-form.event.d.ts.map +1 -1
  21. package/out/interface/controller/event/view/i-map-view.event.d.ts +12 -0
  22. package/out/interface/controller/event/view/i-map-view.event.d.ts.map +1 -0
  23. package/out/interface/controller/event/view/i-map-view.event.js +1 -0
  24. package/out/interface/controller/event/view/index.d.ts +1 -0
  25. package/out/interface/controller/event/view/index.d.ts.map +1 -1
  26. package/out/interface/controller/event/view/index.js +1 -0
  27. package/out/interface/controller/state/view/i-map-view.state.d.ts +11 -0
  28. package/out/interface/controller/state/view/i-map-view.state.d.ts.map +1 -0
  29. package/out/interface/controller/state/view/i-map-view.state.js +1 -0
  30. package/out/interface/controller/state/view/i-pickup-md-view.state.d.ts +9 -0
  31. package/out/interface/controller/state/view/i-pickup-md-view.state.d.ts.map +1 -1
  32. package/out/interface/controller/state/view/index.d.ts +1 -0
  33. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  34. package/out/interface/controller/state/view/index.js +1 -0
  35. package/out/model/utils/util.d.ts.map +1 -1
  36. package/out/model/utils/util.js +7 -2
  37. package/out/service/dto/method.dto.d.ts +14 -0
  38. package/out/service/dto/method.dto.d.ts.map +1 -1
  39. package/out/service/dto/method.dto.js +63 -23
  40. package/out/utils/handlebars/handlebars.d.ts.map +1 -1
  41. package/out/utils/handlebars/handlebars.js +3 -1
  42. package/package.json +3 -3
  43. package/src/controller/control/form/form/form.controller.ts +9 -0
  44. package/src/controller/control/form/form-detail/form-button/form-button.controller.ts +1 -0
  45. package/src/controller/control/form/form-detail/form-detail/form-detail.controller.ts +13 -0
  46. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +30 -0
  47. package/src/interface/controller/event/argument/form-detail.event.ts +27 -0
  48. package/src/interface/controller/event/argument/index.ts +1 -0
  49. package/src/interface/controller/event/control/i-form.event.ts +14 -1
  50. package/src/interface/controller/event/view/i-map-view.event.ts +12 -0
  51. package/src/interface/controller/event/view/index.ts +1 -0
  52. package/src/interface/controller/state/view/i-map-view.state.ts +10 -0
  53. package/src/interface/controller/state/view/i-pickup-md-view.state.ts +10 -0
  54. package/src/interface/controller/state/view/index.ts +1 -0
  55. package/src/model/utils/util.ts +7 -2
  56. package/src/service/dto/method.dto.ts +70 -26
  57. package/src/utils/handlebars/handlebars.ts +3 -1
package/dist/index.esm.js CHANGED
@@ -463,7 +463,8 @@ var HandlebarsUtil = class {
463
463
  return this.p;
464
464
  }
465
465
  this.p = import("handlebars");
466
- this.hsb = await this.p;
466
+ const module = await this.p;
467
+ this.hsb = module.default || module;
467
468
  this.p = null;
468
469
  installHelpers(this.hsb);
469
470
  return this.hsb;
@@ -622,8 +623,13 @@ import qs from "qs";
622
623
 
623
624
  // src/model/utils/util.ts
624
625
  function findModelChild(models, id) {
625
- if (models) {
626
- const model = models.find((item) => item.id === id);
626
+ if (models && id) {
627
+ const model = models.find((item) => {
628
+ if (item.id) {
629
+ return item.id.toLowerCase() === id.toLowerCase();
630
+ }
631
+ return false;
632
+ });
627
633
  if (model) {
628
634
  return model;
629
635
  }
@@ -5281,6 +5287,33 @@ var MethodDto = class _MethodDto {
5281
5287
  this.fields = [];
5282
5288
  }
5283
5289
  }
5290
+ /**
5291
+ * 转换数组成ListMap
5292
+ *
5293
+ * @param {IData[]} arr
5294
+ * @return {*} listMap
5295
+ */
5296
+ convertArrayToListMap(arr) {
5297
+ const result = {};
5298
+ arr.forEach((obj, index) => {
5299
+ result[index + 1] = obj;
5300
+ });
5301
+ return result;
5302
+ }
5303
+ /**
5304
+ * 转换ListMap成数组
5305
+ *
5306
+ * @param {listMap} obj
5307
+ * @return {*} IData[]
5308
+ */
5309
+ convertListMapToArray(obj) {
5310
+ const result = [];
5311
+ Object.keys(obj).forEach((key) => {
5312
+ const index = parseInt(key, 10);
5313
+ result[index - 1] = obj[index];
5314
+ });
5315
+ return result;
5316
+ }
5284
5317
  /**
5285
5318
  * 请求参数组合 DTO
5286
5319
  *
@@ -5300,23 +5333,27 @@ var MethodDto = class _MethodDto {
5300
5333
  break;
5301
5334
  }
5302
5335
  case "DTOS": {
5303
- if (data[key] !== void 0) {
5304
- break;
5305
- }
5306
- if (!field.refAppDataEntityId) {
5307
- break;
5308
- }
5309
- const dto = await this.getFieldDto(field);
5310
- const service = await this.app.deService.getService(
5311
- field.refAppDataEntityId
5312
- );
5313
- const items = service.local.getList(context);
5314
- if (items) {
5315
- const arr = [];
5316
- for (let j = 0; j < items.length; j++) {
5317
- arr.push(await dto.get(context, items[j]));
5336
+ if (field.listMap) {
5337
+ params[key] = data[key] && data[key].length > 0 ? this.convertArrayToListMap(data[key]) : null;
5338
+ } else {
5339
+ if (data[key] !== void 0) {
5340
+ break;
5341
+ }
5342
+ if (!field.refAppDataEntityId) {
5343
+ break;
5344
+ }
5345
+ const dto = await this.getFieldDto(field);
5346
+ const service = await this.app.deService.getService(
5347
+ field.refAppDataEntityId
5348
+ );
5349
+ const items = service.local.getList(context);
5350
+ if (items) {
5351
+ const arr = [];
5352
+ for (let j = 0; j < items.length; j++) {
5353
+ arr.push(await dto.get(context, items[j]));
5354
+ }
5355
+ params[key] = arr;
5318
5356
  }
5319
- params[key] = arr;
5320
5357
  }
5321
5358
  break;
5322
5359
  }
@@ -5346,16 +5383,20 @@ var MethodDto = class _MethodDto {
5346
5383
  return Promise.all(
5347
5384
  data.map(async (datum) => {
5348
5385
  const all = this.fields.filter((field) => field.type === "DTOS").map(async (field) => {
5349
- if (!field.refAppDataEntityId) {
5350
- return;
5351
- }
5352
5386
  const key = field.codeName.toLowerCase();
5353
- const dto = await this.getFieldDto(field);
5354
- const items = datum[key];
5355
- if (items) {
5356
- await dto.sets(context, items);
5387
+ if (field.listMap && typeof datum[key] === "object") {
5388
+ datum[key] = this.convertListMapToArray(datum[key]);
5357
5389
  } else {
5358
- await dto.sets(context, []);
5390
+ if (!field.refAppDataEntityId) {
5391
+ return;
5392
+ }
5393
+ const dto = await this.getFieldDto(field);
5394
+ const items = datum[key];
5395
+ if (items) {
5396
+ await dto.sets(context, items);
5397
+ } else {
5398
+ await dto.sets(context, []);
5399
+ }
5359
5400
  }
5360
5401
  });
5361
5402
  for (let i = 0; i < all.length; i++) {
@@ -17002,6 +17043,14 @@ var FormController = class extends ControlController {
17002
17043
  },
17003
17044
  200
17004
17045
  );
17046
+ this._evt.on("onFormDetailEvent", (event) => {
17047
+ var _a;
17048
+ (_a = this.scheduler) == null ? void 0 : _a.triggerControlEvent(
17049
+ event.formDetailName,
17050
+ event.formDetailEventName,
17051
+ event
17052
+ );
17053
+ });
17005
17054
  }
17006
17055
  /**
17007
17056
  * 获取加载草稿额外参数,新建默认值
@@ -17633,6 +17682,18 @@ var FormDetailController = class {
17633
17682
  this.state.required = required;
17634
17683
  }
17635
17684
  }
17685
+ /**
17686
+ * 点击事件
17687
+ * @author lxm
17688
+ * @date 2023-10-11 05:03:26
17689
+ */
17690
+ async onClick(event) {
17691
+ this.form.evt.emit("onFormDetailEvent", {
17692
+ formDetailName: this.model.id,
17693
+ formDetailEventName: "onClick",
17694
+ event
17695
+ });
17696
+ }
17636
17697
  };
17637
17698
 
17638
17699
  // src/controller/control/form/form-detail/form-button/form-button.state.ts
@@ -17682,6 +17743,7 @@ var FormButtonController = class extends FormDetailController {
17682
17743
  } finally {
17683
17744
  this.state.loading = false;
17684
17745
  }
17746
+ super.onClick(event);
17685
17747
  }
17686
17748
  /**
17687
17749
  * 执行界面行为
@@ -18258,6 +18320,10 @@ var FormItemController = class extends FormDetailController {
18258
18320
  async setDataValue(value, name) {
18259
18321
  name = name || this.name;
18260
18322
  await this.form.setDataValue(name, value);
18323
+ this.form.evt.emit("onFormDetailEvent", {
18324
+ formDetailName: this.model.id,
18325
+ formDetailEventName: "onChange"
18326
+ });
18261
18327
  }
18262
18328
  /**
18263
18329
  * 设置默认值
@@ -18283,6 +18349,30 @@ var FormItemController = class extends FormDetailController {
18283
18349
  data[this.name] = defaultVal;
18284
18350
  }
18285
18351
  }
18352
+ /**
18353
+ * 聚焦事件
18354
+ * @author lxm
18355
+ * @date 2023-10-11 05:03:26
18356
+ */
18357
+ onFocus(event) {
18358
+ this.form.evt.emit("onFormDetailEvent", {
18359
+ formDetailName: this.model.id,
18360
+ formDetailEventName: "onFocus",
18361
+ event
18362
+ });
18363
+ }
18364
+ /**
18365
+ * 失焦事件
18366
+ * @author lxm
18367
+ * @date 2023-10-11 05:03:26
18368
+ */
18369
+ onBlur(event) {
18370
+ this.form.evt.emit("onFormDetailEvent", {
18371
+ formDetailName: this.model.id,
18372
+ formDetailEventName: "onBlur",
18373
+ event
18374
+ });
18375
+ }
18286
18376
  };
18287
18377
 
18288
18378
  // src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.ts