@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
@@ -77,8 +77,11 @@ export class BackendUIActionProvider extends UIActionProviderBase {
77
77
  );
78
78
 
79
79
  // 适配界面行为成功提示信息
80
- if (res.ok && action.successMsg) {
81
- ibiz.message.success(action.successMsg);
80
+ if (res.ok) {
81
+ const successMsg = this.calcMessage('success', action, args);
82
+ if (successMsg) {
83
+ ibiz.message.success(successMsg);
84
+ }
82
85
  }
83
86
  Object.assign(actionResult, {
84
87
  data: isArray(res.data) ? res.data : [res.data],
@@ -1,5 +1,5 @@
1
1
  import { RuntimeModelError } from '@ibiz-template/core';
2
- import { IAppDEUIAction, INavigateParam } from '@ibiz/model-core';
2
+ import { IAppDEUIAction, ILanguageRes, INavigateParam } from '@ibiz/model-core';
3
3
  import {
4
4
  IUIActionProvider,
5
5
  IUIActionResult,
@@ -7,7 +7,7 @@ import {
7
7
  } from '../../interface';
8
8
  import { calcDeCodeNameById } from '../../model';
9
9
  import { execUILogic } from '../../ui-logic';
10
- import { convertNavData, formatMultiData } from '../../utils';
10
+ import { convertNavData, formatMultiData, ScriptFactory } from '../../utils';
11
11
  import { UIActionUtil } from '../uiaction-util';
12
12
 
13
13
  /**
@@ -49,7 +49,7 @@ export abstract class UIActionProviderBase implements IUIActionProvider {
49
49
  }
50
50
 
51
51
  // **用户操作确认**
52
- if (!(await this.isConfirm(action))) {
52
+ if (!(await this.isConfirm(action, args))) {
53
53
  return this.returnError(result);
54
54
  }
55
55
 
@@ -110,9 +110,13 @@ export abstract class UIActionProviderBase implements IUIActionProvider {
110
110
  * @param {IAppDEUIAction} action 界面行为模型
111
111
  * @returns {*} {Promise<boolean>}
112
112
  */
113
- async isConfirm(action: IAppDEUIAction): Promise<boolean> {
114
- if (action.enableConfirm && action.confirmMsg) {
115
- return ibiz.modal.confirm({ title: action.confirmMsg });
113
+ async isConfirm(
114
+ action: IAppDEUIAction,
115
+ args: IUILogicParams,
116
+ ): Promise<boolean> {
117
+ const confirmMsg = this.calcMessage('confirm', action, args);
118
+ if (action.enableConfirm && confirmMsg) {
119
+ return ibiz.modal.confirm({ title: confirmMsg });
116
120
  }
117
121
  return true;
118
122
  }
@@ -265,4 +269,62 @@ export abstract class UIActionProviderBase implements IUIActionProvider {
265
269
  );
266
270
  return { resultContext, resultData, resultParams };
267
271
  }
272
+
273
+ /**
274
+ * 计算消息信息(动态,多语言资源)
275
+ * @author lxm
276
+ * @date 2023-09-25 03:03:01
277
+ * @protected
278
+ * @param {('confirm' | 'success')} type
279
+ * @param {IAppDEUIAction} action
280
+ * @param {IUILogicParams} args
281
+ * @return {*}
282
+ */
283
+ protected calcMessage(
284
+ type: 'confirm' | 'success',
285
+ action: IAppDEUIAction,
286
+ args: IUILogicParams,
287
+ ): string | undefined {
288
+ let msg: string | undefined;
289
+ let msgRes: ILanguageRes | undefined;
290
+ const { confirmMsg, cmlanguageRes, successMsg, smlanguageRes } = action;
291
+ switch (type) {
292
+ case 'confirm':
293
+ msg = confirmMsg;
294
+ msgRes = cmlanguageRes;
295
+ break;
296
+ case 'success':
297
+ msg = successMsg;
298
+ msgRes = smlanguageRes;
299
+ break;
300
+ default:
301
+ }
302
+
303
+ // 多语言资源转换
304
+ if (msgRes) {
305
+ const msgResContent = ibiz.i18n.t(
306
+ msgRes.lanResTag!,
307
+ msgRes.defaultContent || msg,
308
+ );
309
+ if (msgResContent !== msgRes.lanResTag) {
310
+ msg = msgResContent;
311
+ }
312
+ }
313
+
314
+ if (msg) {
315
+ const { data } = args;
316
+ const scriptParams: IParams = { ...args };
317
+ if (data.length === 1) {
318
+ // 单数据
319
+ [scriptParams.data] = data;
320
+ } else if (data.length === 0) {
321
+ // 无数据
322
+ delete scriptParams.data;
323
+ }
324
+ return ScriptFactory.execScriptFn(scriptParams, `\`${msg}\``, {
325
+ isAsync: false,
326
+ singleRowReturn: true,
327
+ }) as string;
328
+ }
329
+ }
268
330
  }
@@ -143,4 +143,16 @@ export class UILogicContext {
143
143
  get: () => this.lastReturn,
144
144
  });
145
145
  }
146
+
147
+ /**
148
+ * 是否是实体参数变量(即后台数据对象)
149
+ * @author lxm
150
+ * @date 2023-09-22 03:40:30
151
+ * @param {string} paramId
152
+ * @return {*} {boolean}
153
+ */
154
+ isEntityParam(paramId: string): boolean {
155
+ const deLogicParams = this.deLogicParams.get(paramId);
156
+ return !!(deLogicParams && deLogicParams.model.entityParam);
157
+ }
146
158
  }
@@ -49,7 +49,7 @@ export class UILogicLink {
49
49
  */
50
50
  constructor(public model: IDEUILogicLink) {
51
51
  const { linkMode, deuilogicLinkGroupCond } = this.model;
52
- if (linkMode === 0) {
52
+ if ((linkMode || 0) === 0) {
53
53
  if (deuilogicLinkGroupCond) {
54
54
  this.groupCond = new UILogicLinkGroupCond(deuilogicLinkGroupCond);
55
55
  }
@@ -74,7 +74,13 @@ export class PrepareJSParamNode extends UILogicNode {
74
74
  ): void {
75
75
  const { dstFieldName, dstDEUILogicParamId } = nodeParam;
76
76
  // 目标参数
77
- const dstField = dstFieldName;
77
+ let dstField = dstFieldName;
78
+
79
+ // 实体参数对象转小写
80
+ if (ctx.isEntityParam(dstDEUILogicParamId!)) {
81
+ dstField = dstField?.toLowerCase();
82
+ }
83
+
78
84
  // 源参数
79
85
  const srcVal = handleSrcVal(ctx, nodeParam);
80
86
  if (dstField) {
@@ -1,5 +1,6 @@
1
1
  import { ModelError } from '@ibiz-template/core';
2
2
  import { clone } from 'ramda';
3
+ import { ScriptFactory } from '../../utils';
3
4
  import { UILogicContext } from '../ui-logic-context';
4
5
 
5
6
  type SrcValParams = {
@@ -37,12 +38,18 @@ export function handleSrcVal(
37
38
  const { srcDEUILogicParamId, srcFieldName, srcValue } = srcValParams;
38
39
  // 没有源值类型就是逻辑参数
39
40
  const srcValueType = srcValParams.srcValueType || 'SRCDLPARAM';
41
+ // 取属性值
42
+ let srcField = srcFieldName;
40
43
 
41
44
  let value: unknown;
42
45
  switch (srcValueType) {
43
46
  // 源逻辑参数
44
47
  case 'SRCDLPARAM':
45
48
  value = ctx.params[srcDEUILogicParamId!];
49
+ // 如果是实体参数对象则转换成小写。
50
+ if (ctx.isEntityParam(srcDEUILogicParamId!)) {
51
+ srcField = srcField?.toLowerCase();
52
+ }
46
53
  break;
47
54
  // 空值类型
48
55
  case 'NULLVALUE':
@@ -71,11 +78,20 @@ export function handleSrcVal(
71
78
  throw new ModelError(srcValParams, `暂未支持源值类型${srcValueType}`);
72
79
  }
73
80
 
74
- // 取属性值
75
- const srcField = srcFieldName;
76
81
  if (value && srcField) {
77
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
78
- value = (value as any)[srcField];
82
+ try {
83
+ value = ScriptFactory.execScriptFn(
84
+ { srcValue: value },
85
+ `srcValue.${srcField}`,
86
+ {
87
+ singleRowReturn: true,
88
+ isAsync: false,
89
+ },
90
+ );
91
+ } catch (error) {
92
+ ibiz.log.error(`从源参数取属性${srcField}报错,源参数:`, value);
93
+ throw error;
94
+ }
79
95
  }
80
96
 
81
97
  return value;
@@ -0,0 +1,40 @@
1
+ import {
2
+ RuntimeModelError,
3
+ ModelError,
4
+ HttpError,
5
+ NoticeError,
6
+ RuntimeError,
7
+ } from '@ibiz-template/core';
8
+ import { IErrorHandler } from '../../interface';
9
+
10
+ /**
11
+ * 默认处理器
12
+ * @author lxm
13
+ * @date 2023-09-26 04:52:18
14
+ * @export
15
+ * @class DefaultErrorHandler
16
+ * @implements {IErrorHandler}
17
+ */
18
+ export class DefaultErrorHandler implements IErrorHandler {
19
+ handle(error: unknown): boolean | undefined {
20
+ if (error instanceof RuntimeModelError || error instanceof ModelError) {
21
+ ibiz.message.error(error.message, 10, true);
22
+ } else if (error instanceof HttpError) {
23
+ if (error.status === 401) {
24
+ ibiz.message.error('没有注册无权限错误处理器');
25
+ } else {
26
+ ibiz.notification.error({
27
+ title: '',
28
+ desc: error.message,
29
+ duration: 10,
30
+ });
31
+ }
32
+ } else if (error instanceof NoticeError) {
33
+ ibiz.message.error(error.message, error.duration, error.duration === 0);
34
+ } else if (error instanceof RuntimeError) {
35
+ ibiz.message.error(error.message, 10, true);
36
+ }
37
+ ibiz.log.error(error);
38
+ return true;
39
+ }
40
+ }
@@ -0,0 +1,61 @@
1
+ import { IErrorHandler } from '../../interface';
2
+
3
+ /**
4
+ * 事件处理工具
5
+ *
6
+ * @author lxm
7
+ * @date 2022-09-21 18:09:31
8
+ * @export
9
+ * @class ErrorHandler
10
+ */
11
+ export class ErrorHandlerCenter {
12
+ /**
13
+ * 处理器集合
14
+ * @author lxm
15
+ * @date 2023-09-26 04:56:29
16
+ * @type {IErrorHandler[]}
17
+ */
18
+ protected handlers: IErrorHandler[] = [];
19
+
20
+ /**
21
+ * 注册处理器(后注册的优先级更高)
22
+ * @author lxm
23
+ * @date 2023-09-26 04:59:06
24
+ * @param {IErrorHandler} handler
25
+ */
26
+ register(handler: IErrorHandler): void {
27
+ this.handlers.unshift(handler);
28
+ }
29
+
30
+ /**
31
+ * 处理单个报错
32
+ * @author lxm
33
+ * @date 2023-09-26 05:18:18
34
+ * @protected
35
+ * @param {unknown} error
36
+ */
37
+ protected handleSingle(error: unknown): void {
38
+ const find = this.handlers.find(item => {
39
+ return !!item.handle(error);
40
+ });
41
+ if (!find) {
42
+ ibiz.log.error('没有找到能处理该错误的处理器', error);
43
+ }
44
+ }
45
+
46
+ /**
47
+ * 按顺序检测处理器,最先满足条件的处理该异常
48
+ * @author lxm
49
+ * @date 2023-09-26 05:01:08
50
+ * @param {unknown} error
51
+ */
52
+ handle(error: unknown): void {
53
+ if (error instanceof Array) {
54
+ error.forEach(item => {
55
+ this.handleSingle(item);
56
+ });
57
+ } else {
58
+ this.handleSingle(error);
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,2 @@
1
+ export { DefaultErrorHandler } from './default-error-handler';
2
+ export { ErrorHandlerCenter } from './error-handler-center';
@@ -13,3 +13,4 @@ export * from './value-rule/value-rule';
13
13
  export * from './script/index';
14
14
  export { TextUtil } from './text-util/text-util';
15
15
  export { RawValueUtil } from './raw-value-util/raw-value-util';
16
+ export { handleAllSettled } from './promise/promise';
@@ -0,0 +1,41 @@
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<T>(
15
+ values: Iterable<T | PromiseLike<T>>,
16
+ isThrow = true,
17
+ ): Promise<Awaited<T>[]> {
18
+ const allResults = await Promise.allSettled(values);
19
+ const successResult: Awaited<T>[] = [];
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ const errorResult: any[] = [];
22
+ allResults.forEach(item => {
23
+ if (item.status === 'fulfilled') {
24
+ successResult.push(item.value);
25
+ } else {
26
+ errorResult.push(item.reason);
27
+ }
28
+ });
29
+
30
+ // 有报错时根据是否抛出处理,抛出就抛,不抛就拿全局的异常处理弹提示。
31
+ if (errorResult.length > 0) {
32
+ const error = errorResult.length === 1 ? errorResult[0] : errorResult;
33
+ if (isThrow) {
34
+ throw error;
35
+ } else {
36
+ ibiz.util.error.handle(error);
37
+ }
38
+ }
39
+
40
+ return successResult;
41
+ }