@ibiz-template/runtime 0.2.18-dev.1 → 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 (54) hide show
  1. package/dist/index.esm.js +117 -29
  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/index.d.ts +1 -0
  31. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  32. package/out/interface/controller/state/view/index.js +1 -0
  33. package/out/model/utils/util.d.ts.map +1 -1
  34. package/out/model/utils/util.js +7 -2
  35. package/out/service/dto/method.dto.d.ts +14 -0
  36. package/out/service/dto/method.dto.d.ts.map +1 -1
  37. package/out/service/dto/method.dto.js +63 -23
  38. package/out/utils/handlebars/handlebars.d.ts.map +1 -1
  39. package/out/utils/handlebars/handlebars.js +3 -1
  40. package/package.json +2 -2
  41. package/src/controller/control/form/form/form.controller.ts +9 -0
  42. package/src/controller/control/form/form-detail/form-button/form-button.controller.ts +1 -0
  43. package/src/controller/control/form/form-detail/form-detail/form-detail.controller.ts +13 -0
  44. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +30 -0
  45. package/src/interface/controller/event/argument/form-detail.event.ts +27 -0
  46. package/src/interface/controller/event/argument/index.ts +1 -0
  47. package/src/interface/controller/event/control/i-form.event.ts +14 -1
  48. package/src/interface/controller/event/view/i-map-view.event.ts +12 -0
  49. package/src/interface/controller/event/view/index.ts +1 -0
  50. package/src/interface/controller/state/view/i-map-view.state.ts +10 -0
  51. package/src/interface/controller/state/view/index.ts +1 -0
  52. package/src/model/utils/util.ts +7 -4
  53. package/src/service/dto/method.dto.ts +70 -26
  54. 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,10 +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(
627
- (item) => item.id.toLowerCase() === id.toLowerCase()
628
- );
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
+ });
629
633
  if (model) {
630
634
  return model;
631
635
  }
@@ -5283,6 +5287,33 @@ var MethodDto = class _MethodDto {
5283
5287
  this.fields = [];
5284
5288
  }
5285
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
+ }
5286
5317
  /**
5287
5318
  * 请求参数组合 DTO
5288
5319
  *
@@ -5302,23 +5333,27 @@ var MethodDto = class _MethodDto {
5302
5333
  break;
5303
5334
  }
5304
5335
  case "DTOS": {
5305
- if (data[key] !== void 0) {
5306
- break;
5307
- }
5308
- if (!field.refAppDataEntityId) {
5309
- break;
5310
- }
5311
- const dto = await this.getFieldDto(field);
5312
- const service = await this.app.deService.getService(
5313
- field.refAppDataEntityId
5314
- );
5315
- const items = service.local.getList(context);
5316
- if (items) {
5317
- const arr = [];
5318
- for (let j = 0; j < items.length; j++) {
5319
- 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;
5320
5356
  }
5321
- params[key] = arr;
5322
5357
  }
5323
5358
  break;
5324
5359
  }
@@ -5348,16 +5383,20 @@ var MethodDto = class _MethodDto {
5348
5383
  return Promise.all(
5349
5384
  data.map(async (datum) => {
5350
5385
  const all = this.fields.filter((field) => field.type === "DTOS").map(async (field) => {
5351
- if (!field.refAppDataEntityId) {
5352
- return;
5353
- }
5354
5386
  const key = field.codeName.toLowerCase();
5355
- const dto = await this.getFieldDto(field);
5356
- const items = datum[key];
5357
- if (items) {
5358
- await dto.sets(context, items);
5387
+ if (field.listMap && typeof datum[key] === "object") {
5388
+ datum[key] = this.convertListMapToArray(datum[key]);
5359
5389
  } else {
5360
- 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
+ }
5361
5400
  }
5362
5401
  });
5363
5402
  for (let i = 0; i < all.length; i++) {
@@ -17004,6 +17043,14 @@ var FormController = class extends ControlController {
17004
17043
  },
17005
17044
  200
17006
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
+ });
17007
17054
  }
17008
17055
  /**
17009
17056
  * 获取加载草稿额外参数,新建默认值
@@ -17635,6 +17682,18 @@ var FormDetailController = class {
17635
17682
  this.state.required = required;
17636
17683
  }
17637
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
+ }
17638
17697
  };
17639
17698
 
17640
17699
  // src/controller/control/form/form-detail/form-button/form-button.state.ts
@@ -17684,6 +17743,7 @@ var FormButtonController = class extends FormDetailController {
17684
17743
  } finally {
17685
17744
  this.state.loading = false;
17686
17745
  }
17746
+ super.onClick(event);
17687
17747
  }
17688
17748
  /**
17689
17749
  * 执行界面行为
@@ -18260,6 +18320,10 @@ var FormItemController = class extends FormDetailController {
18260
18320
  async setDataValue(value, name) {
18261
18321
  name = name || this.name;
18262
18322
  await this.form.setDataValue(name, value);
18323
+ this.form.evt.emit("onFormDetailEvent", {
18324
+ formDetailName: this.model.id,
18325
+ formDetailEventName: "onChange"
18326
+ });
18263
18327
  }
18264
18328
  /**
18265
18329
  * 设置默认值
@@ -18285,6 +18349,30 @@ var FormItemController = class extends FormDetailController {
18285
18349
  data[this.name] = defaultVal;
18286
18350
  }
18287
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
+ }
18288
18376
  };
18289
18377
 
18290
18378
  // src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.ts