@ibiz-template/runtime 0.1.17 → 0.1.19

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 (100) hide show
  1. package/dist/index.esm.js +248 -135
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/app-hub.d.ts +9 -0
  5. package/out/app-hub.d.ts.map +1 -1
  6. package/out/app-hub.js +14 -0
  7. package/out/application.d.ts.map +1 -1
  8. package/out/application.js +5 -12
  9. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  10. package/out/controller/common/control/md-control.controller.js +4 -2
  11. package/out/controller/common/index.d.ts +1 -0
  12. package/out/controller/common/index.d.ts.map +1 -1
  13. package/out/controller/common/index.js +1 -0
  14. package/out/controller/common/view/wf-step-trace-view.controller.d.ts +8 -0
  15. package/out/controller/common/view/wf-step-trace-view.controller.d.ts.map +1 -0
  16. package/out/controller/common/view/wf-step-trace-view.controller.js +20 -0
  17. package/out/controller/control/dashboard/dashboard.controller.d.ts.map +1 -1
  18. package/out/controller/control/dashboard/dashboard.controller.js +3 -3
  19. package/out/controller/control/exp-bar/exp-bar.controller.d.ts.map +1 -1
  20. package/out/controller/control/exp-bar/exp-bar.controller.js +2 -0
  21. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  22. package/out/controller/control/form/edit-form/edit-form.controller.js +18 -6
  23. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  24. package/out/controller/control/form/form/form.controller.js +4 -3
  25. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  26. package/out/controller/control/grid/grid/grid.controller.js +14 -9
  27. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +1 -1
  28. package/out/controller/control/list/list.controller.d.ts.map +1 -1
  29. package/out/controller/control/list/list.controller.js +1 -0
  30. package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
  31. package/out/controller/control/tree/tree.controller.js +4 -1
  32. package/out/engine/md-view.engine.d.ts +7 -0
  33. package/out/engine/md-view.engine.d.ts.map +1 -1
  34. package/out/engine/md-view.engine.js +11 -2
  35. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +9 -0
  36. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
  37. package/out/interface/controller/state/view/i-wf-step-trace-view.state.d.ts +6 -0
  38. package/out/interface/controller/state/view/i-wf-step-trace-view.state.d.ts.map +1 -1
  39. package/out/interface/provider/model-loader.provider.d.ts +9 -0
  40. package/out/interface/provider/model-loader.provider.d.ts.map +1 -1
  41. package/out/service/app-data-entity/app-data-entity.d.ts +1 -0
  42. package/out/service/app-data-entity/app-data-entity.d.ts.map +1 -1
  43. package/out/service/app-data-entity/app-data-entity.js +8 -0
  44. package/out/service/dto/method.dto.d.ts +2 -1
  45. package/out/service/dto/method.dto.d.ts.map +1 -1
  46. package/out/service/dto/method.dto.js +13 -4
  47. package/out/service/service/authority/authority.service.js +1 -1
  48. package/out/service/service/entity/method/de-action.d.ts.map +1 -1
  49. package/out/service/service/entity/method/de-action.js +2 -1
  50. package/out/service/service/entity/method/fetch.d.ts.map +1 -1
  51. package/out/service/service/entity/method/fetch.js +2 -1
  52. package/out/service/service/entity/method/method-input.d.ts +6 -6
  53. package/out/service/service/entity/method/method-input.d.ts.map +1 -1
  54. package/out/service/service/entity/method/method-input.js +10 -6
  55. package/out/service/service/entity/method/method-renturn.d.ts +6 -5
  56. package/out/service/service/entity/method/method-renturn.d.ts.map +1 -1
  57. package/out/service/service/entity/method/method-renturn.js +10 -5
  58. package/out/service/service/entity/method/method.js +2 -2
  59. package/out/service/service/entity/util/util.d.ts +12 -0
  60. package/out/service/service/entity/util/util.d.ts.map +1 -0
  61. package/out/service/service/entity/util/util.js +13 -0
  62. package/out/utils/handlebars/helpers/index.d.ts.map +1 -1
  63. package/out/utils/handlebars/helpers/index.js +4 -2
  64. package/out/utils/handlebars/helpers/json/json-parse.d.ts +16 -0
  65. package/out/utils/handlebars/helpers/json/json-parse.d.ts.map +1 -0
  66. package/out/utils/handlebars/helpers/json/json-parse.js +19 -0
  67. package/out/utils/handlebars/helpers/json/{json.d.ts → json-stringify.d.ts} +3 -3
  68. package/out/utils/handlebars/helpers/json/json-stringify.d.ts.map +1 -0
  69. package/out/utils/handlebars/helpers/json/{json.js → json-stringify.js} +2 -2
  70. package/package.json +3 -3
  71. package/src/app-hub.ts +15 -0
  72. package/src/application.ts +8 -17
  73. package/src/controller/common/control/md-control.controller.ts +4 -2
  74. package/src/controller/common/index.ts +1 -0
  75. package/src/controller/common/view/wf-step-trace-view.controller.ts +36 -0
  76. package/src/controller/control/dashboard/dashboard.controller.ts +3 -3
  77. package/src/controller/control/exp-bar/exp-bar.controller.ts +2 -0
  78. package/src/controller/control/form/edit-form/edit-form.controller.ts +30 -10
  79. package/src/controller/control/form/form/form.controller.ts +4 -3
  80. package/src/controller/control/grid/grid/grid.controller.ts +26 -13
  81. package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +1 -1
  82. package/src/controller/control/list/list.controller.ts +1 -0
  83. package/src/controller/control/tree/tree.controller.ts +7 -1
  84. package/src/engine/md-view.engine.ts +12 -2
  85. package/src/interface/common/i-app-hub-service/i-app-hub-service.ts +10 -0
  86. package/src/interface/controller/state/view/i-wf-step-trace-view.state.ts +8 -1
  87. package/src/interface/provider/model-loader.provider.ts +10 -0
  88. package/src/service/app-data-entity/app-data-entity.ts +10 -0
  89. package/src/service/dto/method.dto.ts +12 -3
  90. package/src/service/service/authority/authority.service.ts +1 -1
  91. package/src/service/service/entity/method/de-action.ts +2 -1
  92. package/src/service/service/entity/method/fetch.ts +2 -1
  93. package/src/service/service/entity/method/method-input.ts +11 -6
  94. package/src/service/service/entity/method/method-renturn.ts +11 -5
  95. package/src/service/service/entity/method/method.ts +2 -2
  96. package/src/service/service/entity/util/util.ts +17 -0
  97. package/src/utils/handlebars/helpers/index.ts +4 -2
  98. package/src/utils/handlebars/helpers/json/json-parse.ts +21 -0
  99. package/src/utils/handlebars/helpers/json/{json.ts → json-stringify.ts} +2 -2
  100. package/out/utils/handlebars/helpers/json/json.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"method.dto.d.ts","sourceRoot":"","sources":["../../../src/service/dto/method.dto.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGnE;;;;;;;GAOG;AACH,qBAAa,SAAS;IAQlB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,GAAG,CAAC;IARhB,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAE5B,SAAS,CAAC,MAAM,EAAG,oBAAoB,EAAE,CAAC;IAE1C,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;gBAGzC,MAAM,EAAE,cAAc,EACtB,GAAG,CAAC,6BAAiB;IAUjC;;;;;;;;OAQG;IACG,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IA0CxD;;;;;;;;OAQG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA6BrE;;;;;;;;OAQG;cACa,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;CAgB7E"}
1
+ {"version":3,"file":"method.dto.d.ts","sourceRoot":"","sources":["../../../src/service/dto/method.dto.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGnE;;;;;;;GAOG;AACH,qBAAa,SAAS;IAQlB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,WAAW,CAAC;IACtB,SAAS,CAAC,GAAG,CAAC;IAThB,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAE5B,SAAS,CAAC,MAAM,EAAG,oBAAoB,EAAE,CAAC;IAE1C,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;gBAGzC,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,qBAAS,EACrB,GAAG,CAAC,6BAAiB;IAUjC;;;;;;;;OAQG;IACG,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IA6CxD;;;;;;;;OAQG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAiCrE;;;;;;;;OAQG;cACa,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;CAgB7E"}
@@ -1,4 +1,5 @@
1
1
  import { ModelError } from '@ibiz-template/core';
2
+ import { notNilEmpty } from 'qx-util';
2
3
  import { AppDataEntity } from '../app-data-entity/app-data-entity';
3
4
  import { findModelChild } from '../../model';
4
5
  /**
@@ -10,8 +11,9 @@ import { findModelChild } from '../../model';
10
11
  * @class MethodDto
11
12
  */
12
13
  export class MethodDto {
13
- constructor(entity, dto) {
14
+ constructor(entity, isLocalMode, dto) {
14
15
  this.entity = entity;
16
+ this.isLocalMode = isLocalMode;
15
17
  this.dto = dto;
16
18
  this.dtoMap = new Map();
17
19
  if (dto) {
@@ -42,6 +44,9 @@ export class MethodDto {
42
44
  break;
43
45
  }
44
46
  case 'DTOS': {
47
+ if (notNilEmpty(data[key])) {
48
+ break;
49
+ }
45
50
  // 没有实体id的不处理
46
51
  if (!field.refAppDataEntityId) {
47
52
  break;
@@ -78,7 +83,9 @@ export class MethodDto {
78
83
  */
79
84
  async sets(context, data) {
80
85
  const service = await this.app.deService.getService(this.entity.id);
81
- service.local.clear(context);
86
+ if (this.isLocalMode) {
87
+ service.local.clear(context);
88
+ }
82
89
  return Promise.all(data.map(async (datum) => {
83
90
  const all = this.fields
84
91
  .filter(field => field.type === 'DTOS')
@@ -98,7 +105,9 @@ export class MethodDto {
98
105
  await all[i];
99
106
  }
100
107
  const entityData = new AppDataEntity(this.entity, datum);
101
- await service.local.add(context, entityData);
108
+ if (this.isLocalMode) {
109
+ await service.local.add(context, entityData);
110
+ }
102
111
  return entityData;
103
112
  }));
104
113
  }
@@ -117,7 +126,7 @@ export class MethodDto {
117
126
  }
118
127
  const entity = await ibiz.hub.getAppDataEntity(field.refAppDataEntityId, this.entity.appId);
119
128
  const methodDto = findModelChild(entity.appDEMethodDTOs || [], field.refAppDEMethodDTOId);
120
- const dto = new MethodDto(entity, methodDto);
129
+ const dto = new MethodDto(entity, this.isLocalMode, methodDto);
121
130
  this.dtoMap.set(field.codeName, dto);
122
131
  return dto;
123
132
  }
@@ -98,7 +98,7 @@ export class AuthorityService {
98
98
  */
99
99
  async init(appData = ibiz.appData) {
100
100
  if (!appData) {
101
- throw new RuntimeError('没有appData数据');
101
+ return;
102
102
  }
103
103
  // 设置当前用户拥有的统一标识集合
104
104
  if (appData.unires) {
@@ -1 +1 @@
1
- {"version":3,"file":"de-action.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/de-action.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,MAAM;IAChC,MAAM,EAAE,YAAY,CAAC;IAE7B;;;;;;;;OAQG;IACH,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAEK,IAAI,CACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAwE/B;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAUtC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAYtC;;;;;;;;;OASG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,GAAG,WAAW,EACzB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IActC;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,QAAQ,CACZ,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAUhC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GACZ,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAUtC;;;;;;;;OAQG;IACG,YAAY,CAChB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAoBtC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GACZ,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAqBtC;;;;;;OAMG;IACG,eAAe,CACnB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC;CAc1B"}
1
+ {"version":3,"file":"de-action.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/de-action.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpD;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,MAAM;IAChC,MAAM,EAAE,YAAY,CAAC;IAE7B;;;;;;;;OAQG;IACH,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAEK,IAAI,CACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAwE/B;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAUtC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAYtC;;;;;;;;;OASG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,GAAG,WAAW,EACzB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IActC;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,QAAQ,CACZ,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAUhC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GACZ,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAUtC;;;;;;;;OAQG;IACG,YAAY,CAChB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAoBtC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GACZ,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAqBtC;;;;;;OAMG;IACG,eAAe,CACnB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC;CAc1B"}
@@ -2,6 +2,7 @@ import { HttpResponse, RuntimeModelError, } from '@ibiz-template/core';
2
2
  import { Method } from './method';
3
3
  import { findDELogic } from '../../../../model';
4
4
  import { execDELogicAction, execFieldLogics } from '../../../../de-logic';
5
+ import { isLocalMode } from '../util/util';
5
6
  /**
6
7
  * 实体行为方法
7
8
  *
@@ -22,7 +23,7 @@ export class DEActionMethod extends Method {
22
23
  * @type {boolean}
23
24
  */
24
25
  get isLocalMode() {
25
- return this.method.actionType === 'BUILTIN';
26
+ return isLocalMode(this.method);
26
27
  }
27
28
  async exec(context, data, params) {
28
29
  // 实体逻辑处理
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAC7B,MAAM,EAAE,aAAa,CAAC;IAE9B,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAEK,IAAI,CACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IA8CvC;;;;;;OAMG;cACa,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,WAAW,EAAE,CAAC;IA8DzB;;;;;;;;OAQG;cACa,WAAW,CACzB,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAC7B,MAAM,EAAE,YAAY,EACpB,cAAc,GAAE,MAAM,EAA0C,GAC/D,OAAO,CAAC,WAAW,EAAE,CAAC;IA6CzB;;;;;;;OAOG;cACa,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;CAkBlC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAC7B,MAAM,EAAE,aAAa,CAAC;IAE9B,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAEK,IAAI,CACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IA8CvC;;;;;;OAMG;cACa,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,WAAW,EAAE,CAAC;IA8DzB;;;;;;;;OAQG;cACa,WAAW,CACzB,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAC7B,MAAM,EAAE,YAAY,EACpB,cAAc,GAAE,MAAM,EAA0C,GAC/D,OAAO,CAAC,WAAW,EAAE,CAAC;IA6CzB;;;;;;;OAOG;cACa,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;CAkBlC"}
@@ -4,6 +4,7 @@ import { clone, equals, isEmpty, isNil, where } from 'ramda';
4
4
  import { SearchFilter } from '../../../utils';
5
5
  import { Method } from './method';
6
6
  import { execFieldLogics } from '../../../../de-logic';
7
+ import { isLocalMode } from '../util/util';
7
8
  /**
8
9
  * 数据集请求
9
10
  *
@@ -15,7 +16,7 @@ import { execFieldLogics } from '../../../../de-logic';
15
16
  */
16
17
  export class FetchMethod extends Method {
17
18
  get isLocalMode() {
18
- return this.method.dataSetType === 'DATAQUERY';
19
+ return isLocalMode(this.method);
19
20
  }
20
21
  async exec(context, data, params) {
21
22
  if (this.isLocalMode) {
@@ -1,4 +1,4 @@
1
- import { IAppDataEntity, IAppDEMethodInput } from '@ibiz/model-core';
1
+ import { IAppDataEntity, IAppDEMethod } from '@ibiz/model-core';
2
2
  import { MethodDto } from '../../../dto/method.dto';
3
3
  /**
4
4
  * 应用实体方法输入转换
@@ -10,17 +10,17 @@ import { MethodDto } from '../../../dto/method.dto';
10
10
  */
11
11
  export declare class MethodInput {
12
12
  protected entity: IAppDataEntity;
13
- protected input?: IAppDEMethodInput | undefined;
13
+ protected method: IAppDEMethod;
14
14
  protected dto?: MethodDto;
15
+ protected get isLocalMode(): boolean;
15
16
  /**
16
17
  * Creates an instance of MethodInput.
17
- *
18
18
  * @author chitanda
19
- * @date 2022-10-11 17:10:59
19
+ * @date 2023-09-06 16:09:26
20
20
  * @param {IAppDataEntity} entity
21
- * @param {IAppDEMethodInput} [input]
21
+ * @param {IAppDEMethod} method
22
22
  */
23
- constructor(entity: IAppDataEntity, input?: IAppDEMethodInput | undefined);
23
+ constructor(entity: IAppDataEntity, method: IAppDEMethod);
24
24
  /**
25
25
  * 处理请求发送参数
26
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"method-input.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD;;;;;;;GAOG;AACH,qBAAa,WAAW;IAYpB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,KAAK,CAAC;IAZlB,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAE1B;;;;;;;OAOG;gBAES,MAAM,EAAE,cAAc,EACtB,KAAK,CAAC,+BAAmB;IAarC;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CAM5D"}
1
+ {"version":3,"file":"method-input.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIpD;;;;;;;GAOG;AACH,qBAAa,WAAW;IAepB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IAfhC,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAE1B,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAED;;;;;;OAMG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAchC;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CAM5D"}
@@ -1,5 +1,6 @@
1
1
  import { MethodDto } from '../../../dto/method.dto';
2
2
  import { findModelChild } from '../../../../model';
3
+ import { isLocalMode } from '../util/util';
3
4
  /**
4
5
  * 应用实体方法输入转换
5
6
  *
@@ -9,21 +10,24 @@ import { findModelChild } from '../../../../model';
9
10
  * @class MethodInput
10
11
  */
11
12
  export class MethodInput {
13
+ get isLocalMode() {
14
+ return isLocalMode(this.method);
15
+ }
12
16
  /**
13
17
  * Creates an instance of MethodInput.
14
- *
15
18
  * @author chitanda
16
- * @date 2022-10-11 17:10:59
19
+ * @date 2023-09-06 16:09:26
17
20
  * @param {IAppDataEntity} entity
18
- * @param {IAppDEMethodInput} [input]
21
+ * @param {IAppDEMethod} method
19
22
  */
20
- constructor(entity, input) {
23
+ constructor(entity, method) {
21
24
  this.entity = entity;
22
- this.input = input;
25
+ this.method = method;
26
+ const input = method.appDEMethodInput;
23
27
  if (input) {
24
28
  const methodDto = findModelChild(entity.appDEMethodDTOs || [], input.appDEMethodDTOId);
25
29
  if (methodDto) {
26
- this.dto = new MethodDto(entity, methodDto);
30
+ this.dto = new MethodDto(entity, this.isLocalMode, methodDto);
27
31
  }
28
32
  }
29
33
  }
@@ -1,4 +1,4 @@
1
- import { IAppDataEntity, IAppDEMethodReturn } from '@ibiz/model-core';
1
+ import { IAppDataEntity, IAppDEMethod } from '@ibiz/model-core';
2
2
  import { MethodDto } from '../../../dto/method.dto';
3
3
  import { IDataEntity } from '../../../../interface';
4
4
  /**
@@ -11,17 +11,18 @@ import { IDataEntity } from '../../../../interface';
11
11
  */
12
12
  export declare class MethodReturn {
13
13
  protected entity: IAppDataEntity;
14
- protected output?: IAppDEMethodReturn | undefined;
14
+ protected method: IAppDEMethod;
15
15
  protected dto?: MethodDto;
16
+ protected get isLocalMode(): boolean;
16
17
  /**
17
18
  * Creates an instance of MethodReturn.
18
- *
19
19
  * @author chitanda
20
- * @date 2022-10-11 17:10:47
20
+ * @date 2023-09-06 16:09:45
21
21
  * @param {IAppDataEntity} entity
22
+ * @param {IAppDEMethod} method
22
23
  * @param {IAppDEMethodReturn} [output]
23
24
  */
24
- constructor(entity: IAppDataEntity, output?: IAppDEMethodReturn | undefined);
25
+ constructor(entity: IAppDataEntity, method: IAppDEMethod);
25
26
  /**
26
27
  * 处理请求返回参数
27
28
  *
@@ -1 +1 @@
1
- {"version":3,"file":"method-renturn.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method-renturn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD;;;;;;;GAOG;AACH,qBAAa,YAAY;IAYrB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,CAAC;IAZnB,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAE1B;;;;;;;OAOG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,CAAC,gCAAoB;IAavC;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;CAOlE"}
1
+ {"version":3,"file":"method-renturn.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method-renturn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD;;;;;;;GAOG;AACH,qBAAa,YAAY;IAgBrB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IAhBhC,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAE1B,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAED;;;;;;;OAOG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAchC;;;;;;;;OAQG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;CAOlE"}
@@ -1,6 +1,7 @@
1
1
  import { MethodDto } from '../../../dto/method.dto';
2
2
  import { AppDataEntity } from '../../../app-data-entity/app-data-entity';
3
3
  import { findModelChild } from '../../../../model';
4
+ import { isLocalMode } from '../util/util';
4
5
  /**
5
6
  * 应用实体方法输出转换
6
7
  *
@@ -10,21 +11,25 @@ import { findModelChild } from '../../../../model';
10
11
  * @class MethodReturn
11
12
  */
12
13
  export class MethodReturn {
14
+ get isLocalMode() {
15
+ return isLocalMode(this.method);
16
+ }
13
17
  /**
14
18
  * Creates an instance of MethodReturn.
15
- *
16
19
  * @author chitanda
17
- * @date 2022-10-11 17:10:47
20
+ * @date 2023-09-06 16:09:45
18
21
  * @param {IAppDataEntity} entity
22
+ * @param {IAppDEMethod} method
19
23
  * @param {IAppDEMethodReturn} [output]
20
24
  */
21
- constructor(entity, output) {
25
+ constructor(entity, method) {
22
26
  this.entity = entity;
23
- this.output = output;
27
+ this.method = method;
28
+ const output = method.appDEMethodReturn;
24
29
  if (output) {
25
30
  const methodDto = findModelChild(entity.appDEMethodDTOs || [], output.appDEMethodDTOId);
26
31
  if (methodDto) {
27
- this.dto = new MethodDto(entity, methodDto);
32
+ this.dto = new MethodDto(entity, this.isLocalMode, methodDto);
28
33
  }
29
34
  }
30
35
  }
@@ -27,8 +27,8 @@ export class Method {
27
27
  this.entity = entity;
28
28
  this.method = method;
29
29
  this.app = ibiz.hub.getApp(entity.appId);
30
- this.input = new MethodInput(entity, method.appDEMethodInput);
31
- this.result = new MethodReturn(entity, method.appDEMethodReturn);
30
+ this.input = new MethodInput(entity, method);
31
+ this.result = new MethodReturn(entity, method);
32
32
  }
33
33
  /**
34
34
  * 发送请求
@@ -0,0 +1,12 @@
1
+ import { IAppDEMethod } from '@ibiz/model-core';
2
+ /**
3
+ * 是否为本地模式
4
+ *
5
+ * @author chitanda
6
+ * @date 2023-09-06 16:09:06
7
+ * @export
8
+ * @param {IAppDEMethod} method
9
+ * @return {*} {boolean}
10
+ */
11
+ export declare function isLocalMode(method: IAppDEMethod): boolean;
12
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/util/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE7E;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAKzD"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * 是否为本地模式
3
+ *
4
+ * @author chitanda
5
+ * @date 2023-09-06 16:09:06
6
+ * @export
7
+ * @param {IAppDEMethod} method
8
+ * @return {*} {boolean}
9
+ */
10
+ export function isLocalMode(method) {
11
+ return (method.actionType === 'BUILTIN' ||
12
+ method.dataSetType === 'DATAQUERY');
13
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/handlebars/helpers/index.ts"],"names":[],"mappings":"AAmBA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAmB/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/handlebars/helpers/index.ts"],"names":[],"mappings":"AAoBA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAoB/C"}
@@ -5,7 +5,8 @@ import { HelperEq } from './eq/eq';
5
5
  import { HelperGt } from './gt/gt';
6
6
  import { HelperGte } from './gte/gte';
7
7
  import { HelperEqPropertyValue } from './eq-property-value/eq-property-value';
8
- import { HelperJson } from './json/json';
8
+ import { HelperJsonParse } from './json/json-parse';
9
+ import { HelperJsonStringify } from './json/json-stringify';
9
10
  import { HelperLowerCase } from './lower-case/lower-case';
10
11
  import { HelperLt } from './lt/lt';
11
12
  import { HelperLte } from './lte/lte';
@@ -30,7 +31,8 @@ export function installHelpers(hsb) {
30
31
  new HelperEq(hsb);
31
32
  new HelperGt(hsb);
32
33
  new HelperGte(hsb);
33
- new HelperJson(hsb);
34
+ new HelperJsonParse(hsb);
35
+ new HelperJsonStringify(hsb);
34
36
  new HelperLowerCase(hsb);
35
37
  new HelperLt(hsb);
36
38
  new HelperLte(hsb);
@@ -0,0 +1,16 @@
1
+ import { HelperBase } from '../helper-base';
2
+ /**
3
+ * json字符创 转 对象
4
+ *
5
+ * @description 用法 {{json xxx 2}},支持第二个参数传递格式化。效果: 将 json 对象转为 json 字符串
6
+ * @author chitanda
7
+ * @date 2021-12-24 15:12:59
8
+ * @export
9
+ * @class HelperJson
10
+ * @extends {HelperBase}
11
+ */
12
+ export declare class HelperJsonParse extends HelperBase {
13
+ constructor(hbs: IData);
14
+ onExecute(obj: string): string;
15
+ }
16
+ //# sourceMappingURL=json-parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-parse.d.ts","sourceRoot":"","sources":["../../../../../src/utils/handlebars/helpers/json/json-parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,GAAG,EAAE,KAAK;IAItB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG/B"}
@@ -0,0 +1,19 @@
1
+ import { HelperBase } from '../helper-base';
2
+ /**
3
+ * json字符创 转 对象
4
+ *
5
+ * @description 用法 {{json xxx 2}},支持第二个参数传递格式化。效果: 将 json 对象转为 json 字符串
6
+ * @author chitanda
7
+ * @date 2021-12-24 15:12:59
8
+ * @export
9
+ * @class HelperJson
10
+ * @extends {HelperBase}
11
+ */
12
+ export class HelperJsonParse extends HelperBase {
13
+ constructor(hbs) {
14
+ super(hbs, 'jsonParse');
15
+ }
16
+ onExecute(obj) {
17
+ return JSON.parse(obj);
18
+ }
19
+ }
@@ -6,11 +6,11 @@ import { HelperBase } from '../helper-base';
6
6
  * @author chitanda
7
7
  * @date 2021-12-24 15:12:59
8
8
  * @export
9
- * @class HelperJson
9
+ * @class HelperJsonStringify
10
10
  * @extends {HelperBase}
11
11
  */
12
- export declare class HelperJson extends HelperBase {
12
+ export declare class HelperJsonStringify extends HelperBase {
13
13
  constructor(hbs: IData);
14
14
  onExecute(obj: Record<string, unknown> | unknown[], space: number): string;
15
15
  }
16
- //# sourceMappingURL=json.d.ts.map
16
+ //# sourceMappingURL=json-stringify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-stringify.d.ts","sourceRoot":"","sources":["../../../../../src/utils/handlebars/helpers/json/json-stringify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;gBACrC,GAAG,EAAE,KAAK;IAItB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAO3E"}
@@ -6,10 +6,10 @@ import { HelperBase } from '../helper-base';
6
6
  * @author chitanda
7
7
  * @date 2021-12-24 15:12:59
8
8
  * @export
9
- * @class HelperJson
9
+ * @class HelperJsonStringify
10
10
  * @extends {HelperBase}
11
11
  */
12
- export class HelperJson extends HelperBase {
12
+ export class HelperJsonStringify extends HelperBase {
13
13
  constructor(hbs) {
14
14
  super(hbs, 'jsonStringify');
15
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -29,7 +29,7 @@
29
29
  "author": "chitanda",
30
30
  "license": "MIT",
31
31
  "devDependencies": {
32
- "@ibiz-template/core": "^0.1.14",
32
+ "@ibiz-template/core": "^0.1.18",
33
33
  "@ibiz/model-core": "^0.0.15",
34
34
  "@types/path-browserify": "^1.0.0",
35
35
  "@types/qs": "^6.9.7",
@@ -57,5 +57,5 @@
57
57
  "qx-util": "^0.4.8",
58
58
  "ramda": "^0.29.0"
59
59
  },
60
- "gitHead": "7f956bdd62e436209f34b16d69a78a73b35842ae"
60
+ "gitHead": "62b9073941f08f79c2a5ae70c9b895d1a9300c26"
61
61
  }
package/src/app-hub.ts CHANGED
@@ -204,6 +204,21 @@ export class AppHub implements IAppHubService {
204
204
  return this.view2appMap.has(id);
205
205
  }
206
206
 
207
+ /**
208
+ * 获取应用样式
209
+ *
210
+ * @author chitanda
211
+ * @date 2023-09-06 10:09:22
212
+ * @param {string} appId
213
+ * @return {*} {(Promise<string | null>)}
214
+ */
215
+ async getAppStyle(appId: string): Promise<string | null> {
216
+ if (this.modelLoaderProvider) {
217
+ return this.modelLoaderProvider.getAppStyle(appId);
218
+ }
219
+ return null;
220
+ }
221
+
207
222
  /**
208
223
  * 根据视图代码名称查找视图
209
224
  *
@@ -112,23 +112,14 @@ export class Application implements IAppService {
112
112
  * @return {*} {Promise<void>}
113
113
  */
114
114
  protected async loadAppModelStyle(): Promise<void> {
115
- await this.net
116
- .get(`${ibiz.env.remoteModelUrl}/PSSYSAPP.json.css`)
117
- .then(res => {
118
- const dom = document.createElement('style');
119
- dom.setAttribute('type', 'text/css');
120
- if (res.request && res.request.responseURL) {
121
- const url = new URL(res.request.responseURL);
122
- dom.id = url.pathname;
123
- }
124
- dom.innerHTML = res.data as unknown as string;
125
- document.head.appendChild(dom);
126
- })
127
- .catch(err => {
128
- ibiz.log.error(
129
- `应用[${this.appId}]模型全局样式加载失败:${err.message}`,
130
- );
131
- });
115
+ const style = await ibiz.hub.getAppStyle(this.appId);
116
+ if (style) {
117
+ const dom = document.createElement('style');
118
+ dom.setAttribute('type', 'text/css');
119
+ dom.id = this.appId;
120
+ dom.innerHTML = style;
121
+ document.head.appendChild(dom);
122
+ }
132
123
  }
133
124
 
134
125
  /**
@@ -229,7 +229,7 @@ export class MDControlController<
229
229
  needRefresh = true;
230
230
  }
231
231
 
232
- this.afterRemove(data);
232
+ this.afterRemove(item);
233
233
  }),
234
234
  );
235
235
 
@@ -268,7 +268,9 @@ export class MDControlController<
268
268
  const index = this.state.items.findIndex(
269
269
  item => item.srfkey === data.srfkey,
270
270
  );
271
- this.state.items.splice(index, 1);
271
+ if (index !== -1) {
272
+ this.state.items.splice(index, 1);
273
+ }
272
274
  }
273
275
 
274
276
  /**
@@ -1,5 +1,6 @@
1
1
  export { MobViewController } from './view/mob-view.controller';
2
2
  export { ViewController } from './view/view.controller';
3
+ export { WFStepTraceViewController } from './view/wf-step-trace-view.controller';
3
4
  export { BaseController } from './base.controller';
4
5
  export { EditorController } from './editor/editor.controller';
5
6
  export { CodeListEditorController } from './editor/code-list-editor.controller';
@@ -0,0 +1,36 @@
1
+ import { IAppView } from '@ibiz/model-core';
2
+ import {
3
+ IViewController,
4
+ IViewEvent,
5
+ IWFStepTraceViewState,
6
+ } from '../../../interface';
7
+ import { ViewController } from './view.controller';
8
+
9
+ export class WFStepTraceViewController<
10
+ T extends IAppView = IAppView,
11
+ S extends IWFStepTraceViewState = IWFStepTraceViewState,
12
+ E extends IViewEvent = IViewEvent,
13
+ >
14
+ extends ViewController<T, S, E>
15
+ implements IViewController<T, S, E>
16
+ {
17
+ protected initState(): void {
18
+ super.initState();
19
+ this.state.historyData = null;
20
+ }
21
+
22
+ protected async onCreated(): Promise<void> {
23
+ await super.onCreated();
24
+ const app = ibiz.hub.getApp(this.context.srfappid);
25
+ if (this.ctx.parent?.view.model.appDataEntityId) {
26
+ const entityService = await app.deService.getService(
27
+ this.ctx.parent.view.model.appDataEntityId,
28
+ );
29
+ const params = Object.assign(this.context.clone(), this.params);
30
+ const res = await entityService.wf.getWFHistory(params);
31
+ if (res.data) {
32
+ this.state.historyData = res.data;
33
+ }
34
+ }
35
+ }
36
+ }
@@ -1,4 +1,3 @@
1
- import { RuntimeError } from '@ibiz-template/core';
2
1
  import {
3
2
  IDashboard,
4
3
  IDBContainerPortletPart,
@@ -119,9 +118,10 @@ export class DashboardController
119
118
  return portlet.dataChangeNotify(data);
120
119
  }),
121
120
  );
122
- if (values.find(item => item.status === 'rejected')) {
121
+ const rejectedValue = values.find(item => item.status === 'rejected');
122
+ if (rejectedValue) {
123
123
  ibiz.log.error('dataChangeNotify报错', values);
124
- throw new RuntimeError('数据变更后有错误');
124
+ throw (rejectedValue as PromiseRejectedResult).reason;
125
125
  }
126
126
  }
127
127
  }
@@ -278,6 +278,8 @@ export class ExpBarControlController<
278
278
  protected defaultNavByFirstItem(): void {
279
279
  const data = this.xDataController.state.items[0];
280
280
  if (!data) {
281
+ // 导航视图传空让他导航占位绘制空界面
282
+ this._evt.emit('onNavViewChange', { navViewMsg: { key: '' } });
281
283
  return;
282
284
  }
283
285
  // 默认选中并激活第一项