@ibiz-template/runtime 0.1.28 → 0.1.29

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 (285) hide show
  1. package/dist/index.esm.js +2201 -1084
  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 +4 -0
  7. package/out/application.d.ts +9 -1
  8. package/out/application.d.ts.map +1 -1
  9. package/out/application.js +2 -1
  10. package/out/command/app/open-app-view/open-app-view.d.ts +1 -1
  11. package/out/command/app/open-app-view/open-app-view.d.ts.map +1 -1
  12. package/out/command/app/open-app-view/open-app-view.js +16 -5
  13. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  14. package/out/controller/common/control/md-control.controller.js +5 -1
  15. package/out/controller/common/view/view.controller.d.ts +23 -1
  16. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  17. package/out/controller/common/view/view.controller.js +52 -0
  18. package/out/controller/control/dashboard/custom-dashboard.controller.d.ts +69 -0
  19. package/out/controller/control/dashboard/custom-dashboard.controller.d.ts.map +1 -0
  20. package/out/controller/control/dashboard/custom-dashboard.controller.js +85 -0
  21. package/out/controller/control/dashboard/dashboard.controller.d.ts.map +1 -1
  22. package/out/controller/control/dashboard/dashboard.controller.js +2 -6
  23. package/out/controller/control/dashboard/index.d.ts +1 -0
  24. package/out/controller/control/dashboard/index.d.ts.map +1 -1
  25. package/out/controller/control/dashboard/index.js +1 -0
  26. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts +15 -1
  27. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts.map +1 -1
  28. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.js +26 -9
  29. package/out/controller/control/form/edit-form/edit-form.controller.d.ts +11 -2
  30. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  31. package/out/controller/control/form/edit-form/edit-form.controller.js +56 -2
  32. package/out/controller/control/form/edit-form/edit-form.service.js +1 -1
  33. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  34. package/out/controller/control/form/form/form.controller.js +2 -6
  35. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  36. package/out/controller/control/grid/grid/grid.controller.js +5 -10
  37. package/out/controller/control/index.d.ts +2 -0
  38. package/out/controller/control/index.d.ts.map +1 -1
  39. package/out/controller/control/index.js +2 -0
  40. package/out/controller/control/toolbar/toolbar.controllerr.d.ts.map +1 -1
  41. package/out/controller/control/toolbar/toolbar.controllerr.js +8 -8
  42. package/out/controller/control/tree/tree.service.d.ts.map +1 -1
  43. package/out/controller/control/tree/tree.service.js +6 -11
  44. package/out/controller/control/tree-grid/index.d.ts +3 -0
  45. package/out/controller/control/tree-grid/index.d.ts.map +1 -0
  46. package/out/controller/control/tree-grid/index.js +2 -0
  47. package/out/controller/control/tree-grid/tree-grid.controller.d.ts +5 -0
  48. package/out/controller/control/tree-grid/tree-grid.controller.d.ts.map +1 -0
  49. package/out/controller/control/tree-grid/tree-grid.controller.js +3 -0
  50. package/out/controller/control/tree-grid/tree-grid.service.d.ts +13 -0
  51. package/out/controller/control/tree-grid/tree-grid.service.d.ts.map +1 -0
  52. package/out/controller/control/tree-grid/tree-grid.service.js +12 -0
  53. package/out/controller/control/tree-grid-ex/index.d.ts +3 -0
  54. package/out/controller/control/tree-grid-ex/index.d.ts.map +1 -0
  55. package/out/controller/control/tree-grid-ex/index.js +2 -0
  56. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts +134 -0
  57. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts.map +1 -0
  58. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.js +240 -0
  59. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts +65 -0
  60. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts.map +1 -0
  61. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.js +143 -0
  62. package/out/controller/utils/event/controller-event.d.ts +7 -0
  63. package/out/controller/utils/event/controller-event.d.ts.map +1 -1
  64. package/out/controller/utils/event/controller-event.js +12 -0
  65. package/out/controller/utils/view-msg/index.d.ts +2 -0
  66. package/out/controller/utils/view-msg/index.d.ts.map +1 -0
  67. package/out/controller/utils/view-msg/index.js +1 -0
  68. package/out/controller/utils/view-msg/view-msg-controller.d.ts +69 -0
  69. package/out/controller/utils/view-msg/view-msg-controller.d.ts.map +1 -0
  70. package/out/controller/utils/view-msg/view-msg-controller.js +176 -0
  71. package/out/de-logic/de-logic-context.d.ts +8 -0
  72. package/out/de-logic/de-logic-context.d.ts.map +1 -1
  73. package/out/de-logic/de-logic-context.js +11 -0
  74. package/out/de-logic/de-logic-node/prepare-param-node/prepare-param-node.d.ts.map +1 -1
  75. package/out/de-logic/de-logic-node/prepare-param-node/prepare-param-node.js +5 -1
  76. package/out/de-logic/utils/handle-src-val.d.ts.map +1 -1
  77. package/out/de-logic/utils/handle-src-val.js +19 -8
  78. package/out/engine/md-view.engine.d.ts.map +1 -1
  79. package/out/engine/md-view.engine.js +5 -4
  80. package/out/global/global-util/global-util.d.ts +8 -0
  81. package/out/global/global-util/global-util.d.ts.map +1 -1
  82. package/out/global/global-util/global-util.js +8 -0
  83. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +9 -0
  84. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
  85. package/out/interface/common/i-app-service/i-app-service.d.ts +9 -0
  86. package/out/interface/common/i-app-service/i-app-service.d.ts.map +1 -1
  87. package/out/interface/common/i-error-handler/i-error-handler.d.ts +17 -0
  88. package/out/interface/common/i-error-handler/i-error-handler.d.ts.map +1 -0
  89. package/out/interface/common/i-error-handler/i-error-handler.js +1 -0
  90. package/out/interface/common/index.d.ts +1 -0
  91. package/out/interface/common/index.d.ts.map +1 -1
  92. package/out/interface/controller/common/index.d.ts +1 -0
  93. package/out/interface/controller/common/index.d.ts.map +1 -1
  94. package/out/interface/controller/common/index.js +1 -0
  95. package/out/interface/controller/common/view-message/i-view-message.d.ts +39 -0
  96. package/out/interface/controller/common/view-message/i-view-message.d.ts.map +1 -0
  97. package/out/interface/controller/common/view-message/i-view-message.js +1 -0
  98. package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts +16 -0
  99. package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts.map +1 -0
  100. package/out/interface/controller/controller/control/i-tree-grid-ex.controller.js +1 -0
  101. package/out/interface/controller/controller/control/i-tree-grid.controller.d.ts +13 -0
  102. package/out/interface/controller/controller/control/i-tree-grid.controller.d.ts.map +1 -0
  103. package/out/interface/controller/controller/control/i-tree-grid.controller.js +1 -0
  104. package/out/interface/controller/controller/control/index.d.ts +2 -0
  105. package/out/interface/controller/controller/control/index.d.ts.map +1 -1
  106. package/out/interface/controller/controller/control/index.js +2 -0
  107. package/out/interface/controller/controller/control/portlet/i-portlet.controller.d.ts +7 -0
  108. package/out/interface/controller/controller/control/portlet/i-portlet.controller.d.ts.map +1 -1
  109. package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts +13 -0
  110. package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts.map +1 -0
  111. package/out/interface/controller/event/control/i-tree-grid-ex.event.js +1 -0
  112. package/out/interface/controller/event/control/i-tree-grid.event.d.ts +13 -0
  113. package/out/interface/controller/event/control/i-tree-grid.event.d.ts.map +1 -0
  114. package/out/interface/controller/event/control/i-tree-grid.event.js +1 -0
  115. package/out/interface/controller/event/control/index.d.ts +2 -0
  116. package/out/interface/controller/event/control/index.d.ts.map +1 -1
  117. package/out/interface/controller/event/control/index.js +2 -0
  118. package/out/interface/controller/event/view/i-tree-grid-ex-view.event.d.ts +12 -0
  119. package/out/interface/controller/event/view/i-tree-grid-ex-view.event.d.ts.map +1 -0
  120. package/out/interface/controller/event/view/i-tree-grid-ex-view.event.js +1 -0
  121. package/out/interface/controller/event/view/i-tree-grid-view.event.d.ts +12 -0
  122. package/out/interface/controller/event/view/i-tree-grid-view.event.d.ts.map +1 -0
  123. package/out/interface/controller/event/view/i-tree-grid-view.event.js +1 -0
  124. package/out/interface/controller/event/view/index.d.ts +2 -0
  125. package/out/interface/controller/event/view/index.d.ts.map +1 -1
  126. package/out/interface/controller/event/view/index.js +2 -0
  127. package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts +52 -0
  128. package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts.map +1 -0
  129. package/out/interface/controller/state/control/i-tree-grid-ex.state.js +1 -0
  130. package/out/interface/controller/state/control/i-tree-grid.state.d.ts +13 -0
  131. package/out/interface/controller/state/control/i-tree-grid.state.d.ts.map +1 -0
  132. package/out/interface/controller/state/control/i-tree-grid.state.js +1 -0
  133. package/out/interface/controller/state/control/index.d.ts +2 -0
  134. package/out/interface/controller/state/control/index.d.ts.map +1 -1
  135. package/out/interface/controller/state/control/index.js +2 -0
  136. package/out/interface/controller/state/view/i-edit-view.state.d.ts +8 -0
  137. package/out/interface/controller/state/view/i-edit-view.state.d.ts.map +1 -1
  138. package/out/interface/controller/state/view/i-tree-grid-ex-view.state.d.ts +13 -0
  139. package/out/interface/controller/state/view/i-tree-grid-ex-view.state.d.ts.map +1 -0
  140. package/out/interface/controller/state/view/i-tree-grid-ex-view.state.js +1 -0
  141. package/out/interface/controller/state/view/i-tree-grid-view.state.d.ts +13 -0
  142. package/out/interface/controller/state/view/i-tree-grid-view.state.d.ts.map +1 -0
  143. package/out/interface/controller/state/view/i-tree-grid-view.state.js +1 -0
  144. package/out/interface/controller/state/view/i-view.state.d.ts +10 -0
  145. package/out/interface/controller/state/view/i-view.state.d.ts.map +1 -1
  146. package/out/interface/controller/state/view/index.d.ts +2 -0
  147. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  148. package/out/interface/controller/state/view/index.js +2 -0
  149. package/out/interface/provider/i-grid-column.provider.d.ts +2 -1
  150. package/out/interface/provider/i-grid-column.provider.d.ts.map +1 -1
  151. package/out/interface/service/service/i-app-de.service.d.ts +9 -0
  152. package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
  153. package/out/interface/service/service/i-config.service.d.ts +20 -0
  154. package/out/interface/service/service/i-config.service.d.ts.map +1 -0
  155. package/out/interface/service/service/i-config.service.js +1 -0
  156. package/out/interface/service/service/index.d.ts +1 -0
  157. package/out/interface/service/service/index.d.ts.map +1 -1
  158. package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts.map +1 -1
  159. package/out/logic-scheduler/executor/app-ui-logic-executor.js +10 -4
  160. package/out/logic-scheduler/trigger/item-dyna-logic-trigger.d.ts.map +1 -1
  161. package/out/logic-scheduler/trigger/item-dyna-logic-trigger.js +1 -4
  162. package/out/model/data-entity/data-entity.js +2 -2
  163. package/out/register/helper/control-register.d.ts.map +1 -1
  164. package/out/register/helper/control-register.js +6 -1
  165. package/out/service/app-data-entity/app-data-entity.d.ts +10 -0
  166. package/out/service/app-data-entity/app-data-entity.d.ts.map +1 -1
  167. package/out/service/app-data-entity/app-data-entity.js +40 -13
  168. package/out/service/service/config/config.service.d.ts +43 -0
  169. package/out/service/service/config/config.service.d.ts.map +1 -0
  170. package/out/service/service/config/config.service.js +54 -0
  171. package/out/service/service/entity/de.service.d.ts +9 -0
  172. package/out/service/service/entity/de.service.d.ts.map +1 -1
  173. package/out/service/service/entity/de.service.js +2 -0
  174. package/out/service/service/index.d.ts +1 -0
  175. package/out/service/service/index.d.ts.map +1 -1
  176. package/out/service/service/index.js +1 -0
  177. package/out/service/vo/control.vo.d.ts.map +1 -1
  178. package/out/service/vo/control.vo.js +1 -5
  179. package/out/ui-action/provider/backend-ui-action-provider.d.ts.map +1 -1
  180. package/out/ui-action/provider/backend-ui-action-provider.js +5 -2
  181. package/out/ui-action/provider/ui-action-provider-base.d.ts +12 -1
  182. package/out/ui-action/provider/ui-action-provider-base.d.ts.map +1 -1
  183. package/out/ui-action/provider/ui-action-provider-base.js +55 -5
  184. package/out/ui-logic/ui-logic-context.d.ts +8 -0
  185. package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
  186. package/out/ui-logic/ui-logic-context.js +11 -0
  187. package/out/ui-logic/ui-logic-link/ui-logic-link.js +1 -1
  188. package/out/ui-logic/ui-logic-node/prepare-js-param-node/prepare-js-param-node.d.ts.map +1 -1
  189. package/out/ui-logic/ui-logic-node/prepare-js-param-node/prepare-js-param-node.js +5 -1
  190. package/out/ui-logic/utils/handle-src-val.d.ts.map +1 -1
  191. package/out/ui-logic/utils/handle-src-val.js +17 -4
  192. package/out/utils/error-handler/default-error-handler.d.ts +13 -0
  193. package/out/utils/error-handler/default-error-handler.d.ts.map +1 -0
  194. package/out/utils/error-handler/default-error-handler.js +36 -0
  195. package/out/utils/error-handler/error-handler-center.d.ts +41 -0
  196. package/out/utils/error-handler/error-handler-center.d.ts.map +1 -0
  197. package/out/utils/error-handler/error-handler-center.js +59 -0
  198. package/out/utils/error-handler/index.d.ts +3 -0
  199. package/out/utils/error-handler/index.d.ts.map +1 -0
  200. package/out/utils/error-handler/index.js +2 -0
  201. package/out/utils/index.d.ts +1 -0
  202. package/out/utils/index.d.ts.map +1 -1
  203. package/out/utils/index.js +1 -0
  204. package/out/utils/promise/promise.d.ts +15 -0
  205. package/out/utils/promise/promise.d.ts.map +1 -0
  206. package/out/utils/promise/promise.js +38 -0
  207. package/package.json +2 -2
  208. package/src/app-hub.ts +17 -0
  209. package/src/application.ts +20 -1
  210. package/src/command/app/open-app-view/open-app-view.ts +18 -5
  211. package/src/controller/common/control/md-control.controller.ts +5 -1
  212. package/src/controller/common/view/view.controller.ts +67 -0
  213. package/src/controller/control/dashboard/custom-dashboard.controller.ts +107 -0
  214. package/src/controller/control/dashboard/dashboard.controller.ts +2 -6
  215. package/src/controller/control/dashboard/index.ts +1 -0
  216. package/src/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.ts +32 -9
  217. package/src/controller/control/form/edit-form/edit-form.controller.ts +71 -3
  218. package/src/controller/control/form/edit-form/edit-form.service.ts +1 -1
  219. package/src/controller/control/form/form/form.controller.ts +2 -6
  220. package/src/controller/control/grid/grid/grid.controller.ts +5 -9
  221. package/src/controller/control/index.ts +2 -0
  222. package/src/controller/control/toolbar/toolbar.controllerr.ts +14 -8
  223. package/src/controller/control/tree/tree.service.ts +8 -9
  224. package/src/controller/control/tree-grid/index.ts +2 -0
  225. package/src/controller/control/tree-grid/tree-grid.controller.ts +6 -0
  226. package/src/controller/control/tree-grid/tree-grid.service.ts +12 -0
  227. package/src/controller/control/tree-grid-ex/index.ts +2 -0
  228. package/src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts +283 -0
  229. package/src/controller/control/tree-grid-ex/tree-grid-ex.service.ts +171 -0
  230. package/src/controller/utils/event/controller-event.ts +16 -0
  231. package/src/controller/utils/view-msg/index.ts +1 -0
  232. package/src/controller/utils/view-msg/view-msg-controller.ts +250 -0
  233. package/src/de-logic/de-logic-context.ts +12 -0
  234. package/src/de-logic/de-logic-node/prepare-param-node/prepare-param-node.ts +7 -1
  235. package/src/de-logic/utils/handle-src-val.ts +23 -10
  236. package/src/engine/md-view.engine.ts +6 -4
  237. package/src/global/global-util/global-util.ts +15 -0
  238. package/src/interface/common/i-app-hub-service/i-app-hub-service.ts +10 -0
  239. package/src/interface/common/i-app-service/i-app-service.ts +10 -0
  240. package/src/interface/common/i-error-handler/i-error-handler.ts +16 -0
  241. package/src/interface/common/index.ts +1 -0
  242. package/src/interface/controller/common/index.ts +1 -0
  243. package/src/interface/controller/common/view-message/i-view-message.ts +42 -0
  244. package/src/interface/controller/controller/control/i-tree-grid-ex.controller.ts +20 -0
  245. package/src/interface/controller/controller/control/i-tree-grid.controller.ts +12 -0
  246. package/src/interface/controller/controller/control/index.ts +2 -0
  247. package/src/interface/controller/controller/control/portlet/i-portlet.controller.ts +8 -0
  248. package/src/interface/controller/event/control/i-tree-grid-ex.event.ts +12 -0
  249. package/src/interface/controller/event/control/i-tree-grid.event.ts +12 -0
  250. package/src/interface/controller/event/control/index.ts +2 -0
  251. package/src/interface/controller/event/view/i-tree-grid-ex-view.event.ts +12 -0
  252. package/src/interface/controller/event/view/i-tree-grid-view.event.ts +12 -0
  253. package/src/interface/controller/event/view/index.ts +2 -0
  254. package/src/interface/controller/state/control/i-tree-grid-ex.state.ts +56 -0
  255. package/src/interface/controller/state/control/i-tree-grid.state.ts +12 -0
  256. package/src/interface/controller/state/control/index.ts +2 -0
  257. package/src/interface/controller/state/view/i-edit-view.state.ts +10 -1
  258. package/src/interface/controller/state/view/i-tree-grid-ex-view.state.ts +12 -0
  259. package/src/interface/controller/state/view/i-tree-grid-view.state.ts +12 -0
  260. package/src/interface/controller/state/view/i-view.state.ts +9 -0
  261. package/src/interface/controller/state/view/index.ts +2 -0
  262. package/src/interface/provider/i-grid-column.provider.ts +2 -1
  263. package/src/interface/service/service/i-app-de.service.ts +10 -0
  264. package/src/interface/service/service/i-config.service.ts +20 -0
  265. package/src/interface/service/service/index.ts +1 -0
  266. package/src/logic-scheduler/executor/app-ui-logic-executor.ts +13 -4
  267. package/src/logic-scheduler/trigger/item-dyna-logic-trigger.ts +1 -4
  268. package/src/model/data-entity/data-entity.ts +2 -2
  269. package/src/register/helper/control-register.ts +6 -1
  270. package/src/service/app-data-entity/app-data-entity.ts +44 -13
  271. package/src/service/service/config/config.service.ts +65 -0
  272. package/src/service/service/entity/de.service.ts +15 -0
  273. package/src/service/service/index.ts +1 -0
  274. package/src/service/vo/control.vo.ts +1 -6
  275. package/src/ui-action/provider/backend-ui-action-provider.ts +5 -2
  276. package/src/ui-action/provider/ui-action-provider-base.ts +68 -6
  277. package/src/ui-logic/ui-logic-context.ts +12 -0
  278. package/src/ui-logic/ui-logic-link/ui-logic-link.ts +1 -1
  279. package/src/ui-logic/ui-logic-node/prepare-js-param-node/prepare-js-param-node.ts +7 -1
  280. package/src/ui-logic/utils/handle-src-val.ts +20 -4
  281. package/src/utils/error-handler/default-error-handler.ts +40 -0
  282. package/src/utils/error-handler/error-handler-center.ts +61 -0
  283. package/src/utils/error-handler/index.ts +2 -0
  284. package/src/utils/index.ts +1 -0
  285. package/src/utils/promise/promise.ts +41 -0
@@ -0,0 +1,59 @@
1
+ /**
2
+ * 事件处理工具
3
+ *
4
+ * @author lxm
5
+ * @date 2022-09-21 18:09:31
6
+ * @export
7
+ * @class ErrorHandler
8
+ */
9
+ export class ErrorHandlerCenter {
10
+ constructor() {
11
+ /**
12
+ * 处理器集合
13
+ * @author lxm
14
+ * @date 2023-09-26 04:56:29
15
+ * @type {IErrorHandler[]}
16
+ */
17
+ this.handlers = [];
18
+ }
19
+ /**
20
+ * 注册处理器(后注册的优先级更高)
21
+ * @author lxm
22
+ * @date 2023-09-26 04:59:06
23
+ * @param {IErrorHandler} handler
24
+ */
25
+ register(handler) {
26
+ this.handlers.unshift(handler);
27
+ }
28
+ /**
29
+ * 处理单个报错
30
+ * @author lxm
31
+ * @date 2023-09-26 05:18:18
32
+ * @protected
33
+ * @param {unknown} error
34
+ */
35
+ handleSingle(error) {
36
+ const find = this.handlers.find(item => {
37
+ return !!item.handle(error);
38
+ });
39
+ if (!find) {
40
+ ibiz.log.error('没有找到能处理该错误的处理器', error);
41
+ }
42
+ }
43
+ /**
44
+ * 按顺序检测处理器,最先满足条件的处理该异常
45
+ * @author lxm
46
+ * @date 2023-09-26 05:01:08
47
+ * @param {unknown} error
48
+ */
49
+ handle(error) {
50
+ if (error instanceof Array) {
51
+ error.forEach(item => {
52
+ this.handleSingle(item);
53
+ });
54
+ }
55
+ else {
56
+ this.handleSingle(error);
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,3 @@
1
+ export { DefaultErrorHandler } from './default-error-handler';
2
+ export { ErrorHandlerCenter } from './error-handler-center';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/error-handler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { DefaultErrorHandler } from './default-error-handler';
2
+ export { ErrorHandlerCenter } from './error-handler-center';
@@ -10,4 +10,5 @@ export * from './value-rule/value-rule';
10
10
  export * from './script/index';
11
11
  export { TextUtil } from './text-util/text-util';
12
12
  export { RawValueUtil } from './raw-value-util/raw-value-util';
13
+ export { handleAllSettled } from './promise/promise';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -10,3 +10,4 @@ export * from './value-rule/value-rule';
10
10
  export * from './script/index';
11
11
  export { TextUtil } from './text-util/text-util';
12
12
  export { RawValueUtil } from './raw-value-util/raw-value-util';
13
+ export { handleAllSettled } from './promise/promise';
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 异步等待所有promise完成后才会结束异步
3
+ * 只返回成功的promise的返回值集合
4
+ * - 如果isThrow为true,有异常时抛出异常
5
+ * - 如果isThrow为false,有异常时用全局异常处理弹提示,逻辑不会中断
6
+ * @author lxm
7
+ * @date 2023-09-26 06:57:33
8
+ * @export
9
+ * @template T
10
+ * @param {(Iterable<T | PromiseLike<T>>)} values
11
+ * @param {boolean} [isThrow=true]
12
+ * @return {*} {Promise<Awaited<T>[]>}
13
+ */
14
+ export declare function handleAllSettled<T>(values: Iterable<T | PromiseLike<T>>, isThrow?: boolean): Promise<Awaited<T>[]>;
15
+ //# sourceMappingURL=promise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../src/utils/promise/promise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,MAAM,EAAE,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EACpC,OAAO,UAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAwBvB"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * 异步等待所有promise完成后才会结束异步
3
+ * 只返回成功的promise的返回值集合
4
+ * - 如果isThrow为true,有异常时抛出异常
5
+ * - 如果isThrow为false,有异常时用全局异常处理弹提示,逻辑不会中断
6
+ * @author lxm
7
+ * @date 2023-09-26 06:57:33
8
+ * @export
9
+ * @template T
10
+ * @param {(Iterable<T | PromiseLike<T>>)} values
11
+ * @param {boolean} [isThrow=true]
12
+ * @return {*} {Promise<Awaited<T>[]>}
13
+ */
14
+ export async function handleAllSettled(values, isThrow = true) {
15
+ const allResults = await Promise.allSettled(values);
16
+ const successResult = [];
17
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
+ const errorResult = [];
19
+ allResults.forEach(item => {
20
+ if (item.status === 'fulfilled') {
21
+ successResult.push(item.value);
22
+ }
23
+ else {
24
+ errorResult.push(item.reason);
25
+ }
26
+ });
27
+ // 有报错时根据是否抛出处理,抛出就抛,不抛就拿全局的异常处理弹提示。
28
+ if (errorResult.length > 0) {
29
+ const error = errorResult.length === 1 ? errorResult[0] : errorResult;
30
+ if (isThrow) {
31
+ throw error;
32
+ }
33
+ else {
34
+ ibiz.util.error.handle(error);
35
+ }
36
+ }
37
+ return successResult;
38
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.1.28",
3
+ "version": "0.1.29",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -57,5 +57,5 @@
57
57
  "qx-util": "^0.4.8",
58
58
  "ramda": "^0.29.0"
59
59
  },
60
- "gitHead": "143f856b53d9767d9ce655551148ab6d6abd2482"
60
+ "gitHead": "ad1df38edba37a696e639c986b12087f72ead394"
61
61
  }
package/src/app-hub.ts CHANGED
@@ -4,6 +4,7 @@ import { Application } from './application';
4
4
  import { IAppHubService, ModelLoaderProvider } from './interface';
5
5
  import { AppConfigService, Convert } from './hub';
6
6
  import { HubController } from './controller';
7
+ import { ConfigService } from './service';
7
8
 
8
9
  /**
9
10
  * 运行时总集
@@ -31,6 +32,15 @@ export class AppHub implements IAppHubService {
31
32
  */
32
33
  readonly controller = new HubController();
33
34
 
35
+ /**
36
+ * 基座级配置存储服务
37
+ *
38
+ * @author chitanda
39
+ * @date 2023-09-22 10:09:25
40
+ * @type {ConfigService}
41
+ */
42
+ configCache!: ConfigService;
43
+
34
44
  /**
35
45
  * 应用总集
36
46
  *
@@ -303,6 +313,13 @@ export class AppHub implements IAppHubService {
303
313
  const app = new Application(appModel);
304
314
  this.appMap.set(id, app);
305
315
  await app.init();
316
+ if (!this.configCache) {
317
+ this.configCache = new ConfigService(
318
+ ibiz.env.appId,
319
+ 'PSSysHub',
320
+ 'Global',
321
+ );
322
+ }
306
323
  return app;
307
324
  }
308
325
 
@@ -6,7 +6,12 @@ import {
6
6
  IDEOPPriv,
7
7
  IDEUILogic,
8
8
  } from '@ibiz/model-core';
9
- import { AuthorityService, CodeListService, DEServiceUtil } from './service';
9
+ import {
10
+ AuthorityService,
11
+ CodeListService,
12
+ ConfigService,
13
+ DEServiceUtil,
14
+ } from './service';
10
15
  import { IAppService } from './interface';
11
16
 
12
17
  /**
@@ -49,6 +54,15 @@ export class Application implements IAppService {
49
54
  */
50
55
  readonly net: Net;
51
56
 
57
+ /**
58
+ * 应用级配置存储服务
59
+ *
60
+ * @author chitanda
61
+ * @date 2023-09-22 10:09:58
62
+ * @type {ConfigService}
63
+ */
64
+ readonly configCache: ConfigService;
65
+
52
66
  /**
53
67
  * 应用实体服务工具对象
54
68
  *
@@ -86,6 +100,11 @@ export class Application implements IAppService {
86
100
  this.net = new Net({
87
101
  baseURL: `${ibiz.env.baseUrl}/${model.appId}`,
88
102
  });
103
+ this.configCache = new ConfigService(
104
+ model.appId!,
105
+ 'PSSysApp',
106
+ model.codeName!,
107
+ );
89
108
  this.deService = new DEServiceUtil(model);
90
109
  this.codeList = new CodeListService(model);
91
110
  this.authority = new AuthorityService(model);
@@ -1,8 +1,10 @@
1
1
  import { ModelError, RuntimeError } from '@ibiz-template/core';
2
2
  import { IAppRedirectView } from '@ibiz/model-core';
3
+ import { clone } from 'ramda';
3
4
  import { IModalData, IOpenViewOptions, IViewConfig } from '../../../interface';
4
5
  import { calcDeCodeNameById } from '../../../model';
5
6
  import { openRedirectView } from '../../../utils';
7
+ import { Srfuf } from '../../../service';
6
8
 
7
9
  /**
8
10
  * 打开应用视图
@@ -32,20 +34,31 @@ export class OpenAppViewCommand {
32
34
  */
33
35
  async exec(
34
36
  appViewId: string,
35
- context: IContext,
37
+ _context: IContext,
36
38
  params: IParams = {},
37
39
  opts: IOpenViewOptions = {},
38
40
  ): Promise<IModalData | void> {
41
+ const context = clone(_context);
39
42
  const appView = await ibiz.hub.config.view.get(appViewId!);
40
43
  if (!appView) {
41
44
  throw new RuntimeError(`应用视图[${appViewId}]不存在`);
42
45
  }
43
46
 
44
- // 识别上下文的srfkey并转成对应视图实体名称,然后置空srfkey
45
- if (context.srfkey && appView.appDataEntityId) {
47
+ if (
48
+ (context.srfkey || params.srfuf === Srfuf.CREATE) &&
49
+ appView.appDataEntityId
50
+ ) {
46
51
  const deName = calcDeCodeNameById(appView.appDataEntityId);
47
- context[deName] = context.srfkey;
48
- context.srfkey = undefined;
52
+ // 识别上下文的srfkey并转成对应视图实体名称,然后置空srfkey
53
+ if (context.srfkey) {
54
+ context[deName] = context.srfkey;
55
+ context.srfkey = undefined;
56
+ }
57
+ // 识别参数的 srfuf=0 时为新建。置空和当前要打开视图同实体的主键,避免同上下文导致后一个页面识别为了编辑。然后置空srfuf
58
+ if (params.srfuf === Srfuf.CREATE) {
59
+ context[deName] = undefined;
60
+ delete params.srfuf;
61
+ }
49
62
  }
50
63
 
51
64
  if (appView.redirectView) {
@@ -10,6 +10,7 @@ import {
10
10
  } from '../../../interface';
11
11
  import { calcDeCodeNameById } from '../../../model';
12
12
  import { MDControlService, Srfuf } from '../../../service';
13
+ import { handleAllSettled } from '../../../utils';
13
14
  import { ControllerEvent } from '../../utils';
14
15
  import { ControlController } from './control.controller';
15
16
 
@@ -181,6 +182,9 @@ export class MDControlController<
181
182
  * @date 2022-08-19 14:08:50
182
183
  */
183
184
  async load(args: MDCtrlLoadParams = {}): Promise<IData[]> {
185
+ if (this.state.isSimple) {
186
+ return [];
187
+ }
184
188
  await this.startLoading();
185
189
  try {
186
190
  // *初始加载需要重置分页
@@ -279,7 +283,7 @@ export class MDControlController<
279
283
  let needRefresh = false;
280
284
  try {
281
285
  const deName = calcDeCodeNameById(this.model.appDataEntityId!);
282
- await Promise.allSettled(
286
+ await handleAllSettled(
283
287
  data.map(async item => {
284
288
  // 新建未保存的数据直接走后续删除处理逻辑
285
289
  if (item.srfuf !== Srfuf.CREATE) {
@@ -14,6 +14,8 @@ import {
14
14
  IUIActionResult,
15
15
  IUILogicParams,
16
16
  IViewEngine,
17
+ IViewMessage,
18
+ ModalParams,
17
19
  } from '../../../interface';
18
20
  import { SysUIActionTag } from '../../../constant';
19
21
  import { convertNavData, Modal } from '../../../utils';
@@ -29,6 +31,7 @@ import {
29
31
  getViewLogics,
30
32
  } from '../../../model';
31
33
  import { ViewLogicScheduler } from '../../../logic-scheduler';
34
+ import { ViewMsgController } from '../../utils/view-msg';
32
35
 
33
36
  /**
34
37
  * 视图控制器
@@ -107,6 +110,14 @@ export class ViewController<
107
110
 
108
111
  layoutPanel?: IViewLayoutPanelController;
109
112
 
113
+ /**
114
+ * 视图消息控制器
115
+ * @author lxm
116
+ * @date 2023-09-20 08:20:23
117
+ * @type {ViewMsgController}
118
+ */
119
+ viewMsgController?: ViewMsgController;
120
+
110
121
  /**
111
122
  * Creates an instance of ViewController.
112
123
  * @author lxm
@@ -210,6 +221,7 @@ export class ViewController<
210
221
  this.state.isLoading = false;
211
222
  this.state.caption = this.model.caption!;
212
223
  this.state.srfactiveviewdata = null;
224
+ this.state.viewMessages = {};
213
225
  }
214
226
 
215
227
  protected async onCreated(): Promise<void> {
@@ -267,6 +279,9 @@ export class ViewController<
267
279
  }
268
280
  }
269
281
 
282
+ // 初始化视图消息
283
+ this.initViewMsg();
284
+
270
285
  // 执行视图引擎的doCreated
271
286
  if (this.engines.length) {
272
287
  await Promise.all(this.engines.map(engine => engine.onCreated()));
@@ -404,4 +419,56 @@ export class ViewController<
404
419
  });
405
420
  }
406
421
  }
422
+
423
+ /**
424
+ * 初始化视图消息
425
+ * @author lxm
426
+ * @date 2023-09-20 09:19:20
427
+ */
428
+ async initViewMsg(): Promise<void> {
429
+ const { appViewMsgGroupId } = this.model;
430
+ if (appViewMsgGroupId) {
431
+ this.state.viewMessages = { TOP: [], BOTTOM: [], BODY: [], POPUP: [] };
432
+ this.viewMsgController = new ViewMsgController(appViewMsgGroupId);
433
+ await this.viewMsgController.init(this.context);
434
+ const messages = await this.viewMsgController.calcViewMessages(
435
+ this.context,
436
+ this.params,
437
+ );
438
+ messages.forEach(message => {
439
+ if (['TOP', 'BOTTOM', 'BODY', 'POPUP'].includes(message.position!)) {
440
+ this.state.viewMessages[message.position!].push(message);
441
+ }
442
+ });
443
+
444
+ if (this.state.viewMessages.POPUP.length) {
445
+ this.alertViewMessage(this.state.viewMessages.POPUP);
446
+ }
447
+ }
448
+ }
449
+
450
+ /**
451
+ * 弹出视图消息,一个接一个弹
452
+ * @author lxm
453
+ * @date 2023-09-20 10:17:42
454
+ * @param {ViewMessage[]} messages
455
+ * @return {*} {Promise<void>}
456
+ */
457
+ async alertViewMessage(messages: IViewMessage[]): Promise<void> {
458
+ const [message, ...rest] = messages;
459
+ const modalParams: ModalParams = {
460
+ title: message.title!,
461
+ desc: message.message,
462
+ };
463
+ if (message.messageType === 'WARN') {
464
+ await ibiz.modal.warning(modalParams);
465
+ } else if (message.messageType === 'ERROR') {
466
+ await ibiz.modal.error(modalParams);
467
+ } else {
468
+ await ibiz.modal.info(modalParams);
469
+ }
470
+ if (rest.length) {
471
+ this.alertViewMessage(rest);
472
+ }
473
+ }
407
474
  }
@@ -0,0 +1,107 @@
1
+ import { IDashboard } from '@ibiz/model-core';
2
+ import { ConfigService } from '../../../service';
3
+
4
+ /**
5
+ * 自定义数据看板部件控制器
6
+ * @author lxm
7
+ * @date 2023-07-07 03:27:29
8
+ * @export
9
+ * @class CustomDashboardController
10
+ */
11
+ export class CustomDashboardController {
12
+ /**
13
+ * 自定义布局模型数据
14
+ *
15
+ * @author: zhujiamin
16
+ * @Date: 2023-09-20 16:42:36
17
+ */
18
+ customModelData: IData[] = [];
19
+
20
+ /**
21
+ * 动态设计水平列数
22
+ *
23
+ * @author: zhujiamin
24
+ * @Date: 2023-09-20 16:43:39
25
+ */
26
+ layoutColNum: number = 12;
27
+
28
+ /**
29
+ * 动态设计单元格高度,80px
30
+ *
31
+ * @author: zhujiamin
32
+ * @Date: 2023-09-20 16:43:39
33
+ */
34
+ layoutRowH: number = 80;
35
+
36
+ /**
37
+ * 看板模型
38
+ *
39
+ * @author: zhujiamin
40
+ * @Date: 2023-09-20 16:43:39
41
+ */
42
+ model: IDashboard | null = null;
43
+
44
+ /**
45
+ * 应用配置存储服务
46
+ *
47
+ * @return {*}
48
+ * @author: zhujiamin
49
+ * @Date: 2023-09-22 18:07:42
50
+ */
51
+ config: ConfigService;
52
+
53
+ /**
54
+ * Creates an instance of BaseController.
55
+ * @author lxm
56
+ * @date 2023-04-26 06:46:21
57
+ * @param {CTX} ctx 跨组件上下文环境,内部机制不暴露
58
+ */
59
+ constructor(model: IDashboard) {
60
+ this.model = model;
61
+ this.config = new ConfigService(
62
+ model.appId!,
63
+ 'dynadashboard',
64
+ `dashboard_${
65
+ this.model.appDataEntityId?.toLowerCase() || 'app'
66
+ }_${this.model.codeName?.toLowerCase()}`,
67
+ );
68
+ }
69
+
70
+ /**
71
+ * 加载自定义布局模型数据
72
+ *
73
+ * @author: zhujiamin
74
+ * @Date: 2023-09-20 16:22:49
75
+ */
76
+ async loadCustomModelData(): Promise<IData[]> {
77
+ const res = await this.config.load();
78
+ if (res.model) {
79
+ this.customModelData = res.model;
80
+ }
81
+ if (res.colNum) {
82
+ this.layoutColNum = res.colNum;
83
+ }
84
+ if (res.rowH) {
85
+ this.layoutRowH = res.rowH;
86
+ }
87
+ return this.customModelData;
88
+ }
89
+
90
+ /**
91
+ * 保存自定义布局模型数据
92
+ *
93
+ * @author: zhujiamin
94
+ * @Date: 2023-09-20 16:22:49
95
+ */
96
+ async saveCustomModelData(model: IData[]): Promise<IData[]> {
97
+ const res = await this.config.save({
98
+ model,
99
+ colNum: this.layoutColNum,
100
+ rowH: this.layoutRowH,
101
+ });
102
+ if (res) {
103
+ this.customModelData = model;
104
+ }
105
+ return model;
106
+ }
107
+ }
@@ -12,6 +12,7 @@ import {
12
12
  IPortletContainerController,
13
13
  } from '../../../interface';
14
14
  import { getPortletProvider } from '../../../register';
15
+ import { handleAllSettled } from '../../../utils';
15
16
  import { ControlController } from '../../common';
16
17
  import { getOriginData } from '../../utils';
17
18
 
@@ -113,15 +114,10 @@ export class DashboardController
113
114
  */
114
115
  async dataChangeNotify(data: IData): Promise<void> {
115
116
  // 通知所有成员项去处理成员项相关逻辑
116
- const values = await Promise.allSettled(
117
+ await handleAllSettled(
117
118
  Object.values(this.portlets).map(async portlet => {
118
119
  return portlet.dataChangeNotify(data);
119
120
  }),
120
121
  );
121
- const rejectedValue = values.find(item => item.status === 'rejected');
122
- if (rejectedValue) {
123
- ibiz.log.error('dataChangeNotify报错', values);
124
- throw (rejectedValue as PromiseRejectedResult).reason;
125
- }
126
122
  }
127
123
  }
@@ -1,2 +1,3 @@
1
1
  export * from './dashboard.controller';
2
+ export * from './custom-dashboard.controller';
2
3
  export * from './portlet/index';
@@ -3,6 +3,7 @@ import {
3
3
  IPortletController,
4
4
  IDashboardController,
5
5
  IPortletContainerController,
6
+ DataChangeEvent,
6
7
  } from '../../../../../interface';
7
8
  import { calcLayoutHeightWidth, calcDynaClass } from '../../../../../model';
8
9
  import { ControlVO } from '../../../../../service';
@@ -144,6 +145,26 @@ export class PortletPartController<T extends IDBPortletPart = IDBPortletPart>
144
145
  return new PortletPartState();
145
146
  }
146
147
 
148
+ /**
149
+ * 数据改变方法
150
+ * @param {DataChangeEvent} event
151
+ * @return {*}
152
+ * @author: zhujiamin
153
+ * @Date: 2023-09-22 17:39:44
154
+ */
155
+ onDataChange(event: DataChangeEvent): void {
156
+ let data = event.data[0];
157
+ if (data && data instanceof ControlVO) {
158
+ data = data.getOrigin();
159
+ }
160
+ if (data) {
161
+ this.state.actionGroupState!.update(
162
+ data,
163
+ this.dashboard.view.model.appDataEntityId!,
164
+ );
165
+ }
166
+ }
167
+
147
168
  /**
148
169
  * 初始化标题右侧界面行为按钮的状态
149
170
  *
@@ -175,15 +196,7 @@ export class PortletPartController<T extends IDBPortletPart = IDBPortletPart>
175
196
  // 实体门户视图监听视图数据变更,刷新界面行为组的状态。
176
197
  const { appDataEntityId } = this.dashboard.view.model;
177
198
  if (appDataEntityId) {
178
- this.dashboard.view.evt.on('onDataChange', event => {
179
- let data = event.data[0];
180
- if (data && data instanceof ControlVO) {
181
- data = data.getOrigin();
182
- }
183
- if (data) {
184
- this.state.actionGroupState!.update(data, appDataEntityId);
185
- }
186
- });
199
+ this.dashboard.view.evt.on('onDataChange', this.onDataChange);
187
200
  }
188
201
  }
189
202
 
@@ -243,4 +256,14 @@ export class PortletPartController<T extends IDBPortletPart = IDBPortletPart>
243
256
  }
244
257
  }
245
258
  }
259
+
260
+ /**
261
+ * 销毁
262
+ * @author lxm
263
+ * @date 2023-04-25 11:08:54
264
+ */
265
+ async destroyed(): Promise<void> {
266
+ ibiz.log.debug(`${this.model.codeName} onDestroyed`);
267
+ this.dashboard.view.evt.off('onDataChange', this.onDataChange);
268
+ }
246
269
  }