@ibiz-template/runtime 0.7.41-alpha.124 → 0.7.41-alpha.126

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 (288) hide show
  1. package/dist/index.esm.js +45309 -44911
  2. package/dist/index.system.min.js +1 -1
  3. package/out/application.d.ts +7 -0
  4. package/out/application.d.ts.map +1 -1
  5. package/out/application.js +21 -0
  6. package/out/controller/control/app-menu/app-menu.controller.js +1 -1
  7. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  8. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +1 -1
  9. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts.map +1 -1
  10. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +1 -1
  11. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts.map +1 -1
  12. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.js +1 -1
  13. package/out/controller/control/toolbar/toolbar.controller.js +1 -1
  14. package/out/controller/control/tree/tree.service.d.ts.map +1 -1
  15. package/out/controller/control/tree/tree.service.js +1 -1
  16. package/out/controller/utils/view-msg/view-msg-controller.d.ts.map +1 -1
  17. package/out/controller/utils/view-msg/view-msg-controller.js +1 -1
  18. package/out/de-logic/de-logic-context.d.ts +4 -13
  19. package/out/de-logic/de-logic-context.d.ts.map +1 -1
  20. package/out/de-logic/de-logic-context.js +2 -3
  21. package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.d.ts +15 -5
  22. package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.d.ts.map +1 -1
  23. package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.js +3 -4
  24. package/out/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.d.ts +2 -1
  25. package/out/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.d.ts.map +1 -1
  26. package/out/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.d.ts +2 -1
  27. package/out/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.d.ts.map +1 -1
  28. package/out/de-logic/de-logic-link/de-logic-link.d.ts +6 -7
  29. package/out/de-logic/de-logic-link/de-logic-link.d.ts.map +1 -1
  30. package/out/de-logic/de-logic-link/de-logic-link.js +3 -4
  31. package/out/de-logic/de-logic-node/de-logic-node.d.ts +2 -1
  32. package/out/de-logic/de-logic-node/de-logic-node.d.ts.map +1 -1
  33. package/out/de-logic/de-logic-node/index.d.ts +1 -0
  34. package/out/de-logic/de-logic-node/index.d.ts.map +1 -1
  35. package/out/de-logic/de-logic-node/index.js +1 -0
  36. package/out/de-logic/de-logic.d.ts +31 -37
  37. package/out/de-logic/de-logic.d.ts.map +1 -1
  38. package/out/de-logic/de-logic.js +49 -98
  39. package/out/de-logic/index.d.ts +31 -40
  40. package/out/de-logic/index.d.ts.map +1 -1
  41. package/out/de-logic/index.js +57 -76
  42. package/out/de-logic/provider.d.ts +6 -0
  43. package/out/de-logic/provider.d.ts.map +1 -0
  44. package/out/de-logic/provider.js +25 -0
  45. package/out/install.d.ts.map +1 -1
  46. package/out/install.js +6 -0
  47. package/out/interface/api/common/i-api-de-logic-params.d.ts +9 -0
  48. package/out/interface/api/common/i-api-de-logic-params.d.ts.map +1 -0
  49. package/out/interface/api/common/i-api-logic-context.d.ts +83 -0
  50. package/out/interface/api/common/i-api-logic-context.d.ts.map +1 -0
  51. package/out/interface/api/common/i-api-logic-context.js +1 -0
  52. package/out/interface/api/common/i-api-logic-params.d.ts +27 -0
  53. package/out/interface/api/common/i-api-logic-params.d.ts.map +1 -0
  54. package/out/interface/api/common/i-api-logic-params.js +1 -0
  55. package/out/interface/api/common/i-api-ui-logic-params.d.ts +3 -21
  56. package/out/interface/api/common/i-api-ui-logic-params.d.ts.map +1 -1
  57. package/out/interface/api/common/index.d.ts +2 -0
  58. package/out/interface/api/common/index.d.ts.map +1 -1
  59. package/out/interface/api/controller/control/form-detail/i-api-form-detail.controller.d.ts +1 -1
  60. package/out/interface/common/i-logic-context/i-logic-context.d.ts +27 -0
  61. package/out/interface/common/i-logic-context/i-logic-context.d.ts.map +1 -0
  62. package/out/interface/common/i-logic-context/i-logic-context.js +1 -0
  63. package/out/interface/common/i-logic-link-cond/i-logic-link-cond.d.ts +18 -0
  64. package/out/interface/common/i-logic-link-cond/i-logic-link-cond.d.ts.map +1 -0
  65. package/out/interface/common/i-logic-link-cond/i-logic-link-cond.js +1 -0
  66. package/out/interface/common/index.d.ts +2 -1
  67. package/out/interface/common/index.d.ts.map +1 -1
  68. package/out/interface/de-logic/i-de-logic-context.d.ts +10 -0
  69. package/out/interface/de-logic/i-de-logic-context.d.ts.map +1 -0
  70. package/out/interface/de-logic/i-de-logic-context.js +1 -0
  71. package/out/interface/de-logic/i-de-logic-link-cond.d.ts +33 -0
  72. package/out/interface/de-logic/i-de-logic-link-cond.d.ts.map +1 -0
  73. package/out/interface/de-logic/i-de-logic-link-cond.js +1 -0
  74. package/out/interface/de-logic/i-de-logic-link.d.ts +43 -0
  75. package/out/interface/de-logic/i-de-logic-link.d.ts.map +1 -0
  76. package/out/interface/de-logic/i-de-logic-link.js +1 -0
  77. package/out/interface/de-logic/i-de-logic-node.d.ts +10 -0
  78. package/out/interface/de-logic/i-de-logic-node.d.ts.map +1 -0
  79. package/out/interface/de-logic/i-de-logic-node.js +1 -0
  80. package/out/interface/de-logic/i-de-logic-params.d.ts +10 -0
  81. package/out/interface/de-logic/i-de-logic-params.d.ts.map +1 -0
  82. package/out/interface/de-logic/i-de-logic-params.js +1 -0
  83. package/out/interface/de-logic/i-de-logic.d.ts +23 -0
  84. package/out/interface/de-logic/i-de-logic.d.ts.map +1 -0
  85. package/out/interface/de-logic/i-de-logic.js +1 -0
  86. package/out/interface/de-logic/index.d.ts +7 -0
  87. package/out/interface/de-logic/index.d.ts.map +1 -0
  88. package/out/interface/de-logic/index.js +1 -0
  89. package/out/interface/index.d.ts +1 -0
  90. package/out/interface/index.d.ts.map +1 -1
  91. package/out/interface/index.js +1 -0
  92. package/out/interface/provider/i-de-logic-node.provider.d.ts +29 -0
  93. package/out/interface/provider/i-de-logic-node.provider.d.ts.map +1 -0
  94. package/out/interface/provider/i-de-logic-node.provider.js +1 -0
  95. package/out/interface/provider/i-de-logic.provider.d.ts +22 -0
  96. package/out/interface/provider/i-de-logic.provider.d.ts.map +1 -0
  97. package/out/interface/provider/i-de-logic.provider.js +1 -0
  98. package/out/interface/provider/i-ui-action.provider.d.ts +2 -1
  99. package/out/interface/provider/i-ui-action.provider.d.ts.map +1 -1
  100. package/out/interface/provider/i-ui-logic-node.provider.d.ts +20 -14
  101. package/out/interface/provider/i-ui-logic-node.provider.d.ts.map +1 -1
  102. package/out/interface/provider/i-ui-logic.provider.d.ts +22 -0
  103. package/out/interface/provider/i-ui-logic.provider.d.ts.map +1 -0
  104. package/out/interface/provider/i-ui-logic.provider.js +1 -0
  105. package/out/interface/provider/index.d.ts +3 -0
  106. package/out/interface/provider/index.d.ts.map +1 -1
  107. package/out/interface/register/i-register-params.d.ts +29 -34
  108. package/out/interface/register/i-register-params.d.ts.map +1 -1
  109. package/out/interface/ui-logic/i-ui-logic-context.d.ts +8 -83
  110. package/out/interface/ui-logic/i-ui-logic-context.d.ts.map +1 -1
  111. package/out/interface/ui-logic/i-ui-logic-link-cond.d.ts +33 -0
  112. package/out/interface/ui-logic/i-ui-logic-link-cond.d.ts.map +1 -0
  113. package/out/interface/ui-logic/i-ui-logic-link-cond.js +1 -0
  114. package/out/interface/ui-logic/i-ui-logic-link.d.ts +43 -0
  115. package/out/interface/ui-logic/i-ui-logic-link.d.ts.map +1 -0
  116. package/out/interface/ui-logic/i-ui-logic-link.js +1 -0
  117. package/out/interface/ui-logic/i-ui-logic-node.d.ts +10 -0
  118. package/out/interface/ui-logic/i-ui-logic-node.d.ts.map +1 -0
  119. package/out/interface/ui-logic/i-ui-logic-node.js +1 -0
  120. package/out/interface/{common/i-ui-logic-params → ui-logic}/i-ui-logic-params.d.ts +3 -5
  121. package/out/interface/ui-logic/i-ui-logic-params.d.ts.map +1 -0
  122. package/out/interface/ui-logic/i-ui-logic-params.js +1 -0
  123. package/out/interface/ui-logic/i-ui-logic.d.ts +23 -0
  124. package/out/interface/ui-logic/i-ui-logic.d.ts.map +1 -0
  125. package/out/interface/ui-logic/i-ui-logic.js +1 -0
  126. package/out/interface/ui-logic/index.d.ts +5 -0
  127. package/out/interface/ui-logic/index.d.ts.map +1 -1
  128. package/out/locale/en/index.d.ts +21 -0
  129. package/out/locale/en/index.d.ts.map +1 -1
  130. package/out/locale/en/index.js +21 -0
  131. package/out/locale/zh-CN/index.d.ts +21 -0
  132. package/out/locale/zh-CN/index.d.ts.map +1 -1
  133. package/out/locale/zh-CN/index.js +21 -0
  134. package/out/register/custom-register.d.ts +54 -22
  135. package/out/register/custom-register.d.ts.map +1 -1
  136. package/out/register/custom-register.js +172 -78
  137. package/out/register/helper/app-menu-item-register.d.ts +2 -2
  138. package/out/register/helper/app-menu-item-register.d.ts.map +1 -1
  139. package/out/register/helper/app-menu-item-register.js +18 -10
  140. package/out/register/helper/control-register.js +2 -2
  141. package/out/register/helper/de-logic-node-register.d.ts +24 -0
  142. package/out/register/helper/de-logic-node-register.d.ts.map +1 -0
  143. package/out/register/helper/de-logic-node-register.js +50 -0
  144. package/out/register/helper/de-logic-register.d.ts +20 -0
  145. package/out/register/helper/de-logic-register.d.ts.map +1 -0
  146. package/out/register/helper/de-logic-register.js +41 -0
  147. package/out/register/helper/de-method-register.d.ts +1 -1
  148. package/out/register/helper/de-method-register.d.ts.map +1 -1
  149. package/out/register/helper/de-method-register.js +4 -4
  150. package/out/register/helper/editor-register.d.ts +2 -3
  151. package/out/register/helper/editor-register.d.ts.map +1 -1
  152. package/out/register/helper/editor-register.js +4 -6
  153. package/out/register/helper/form-detail-register.js +3 -3
  154. package/out/register/helper/grid-column-register.d.ts +3 -3
  155. package/out/register/helper/grid-column-register.d.ts.map +1 -1
  156. package/out/register/helper/grid-column-register.js +9 -9
  157. package/out/register/helper/index.d.ts +3 -0
  158. package/out/register/helper/index.d.ts.map +1 -1
  159. package/out/register/helper/index.js +3 -0
  160. package/out/register/helper/panel-item-register.js +4 -4
  161. package/out/register/helper/portlet-register.d.ts +3 -5
  162. package/out/register/helper/portlet-register.d.ts.map +1 -1
  163. package/out/register/helper/portlet-register.js +20 -19
  164. package/out/register/helper/toolbar-item-register.d.ts +5 -7
  165. package/out/register/helper/toolbar-item-register.d.ts.map +1 -1
  166. package/out/register/helper/toolbar-item-register.js +24 -16
  167. package/out/register/helper/ui-action-register.js +2 -2
  168. package/out/register/helper/ui-logic-node-register.d.ts +13 -9
  169. package/out/register/helper/ui-logic-node-register.d.ts.map +1 -1
  170. package/out/register/helper/ui-logic-node-register.js +51 -17
  171. package/out/register/helper/ui-logic-register.d.ts +20 -0
  172. package/out/register/helper/ui-logic-register.d.ts.map +1 -0
  173. package/out/register/helper/ui-logic-register.js +41 -0
  174. package/out/register/helper/view-register.d.ts.map +1 -1
  175. package/out/register/helper/view-register.js +14 -0
  176. package/out/service/service/entity/method/de-action.d.ts.map +1 -1
  177. package/out/service/service/entity/method/de-action.js +1 -1
  178. package/out/ui-logic/index.d.ts +5 -10
  179. package/out/ui-logic/index.d.ts.map +1 -1
  180. package/out/ui-logic/index.js +12 -14
  181. package/out/ui-logic/provider.d.ts +6 -0
  182. package/out/ui-logic/provider.d.ts.map +1 -0
  183. package/out/ui-logic/provider.js +32 -0
  184. package/out/ui-logic/ui-logic-context.d.ts +1 -1
  185. package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
  186. package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.d.ts +16 -5
  187. package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.d.ts.map +1 -1
  188. package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.js +3 -4
  189. package/out/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.d.ts +2 -1
  190. package/out/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.d.ts.map +1 -1
  191. package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.d.ts +2 -1
  192. package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.d.ts.map +1 -1
  193. package/out/ui-logic/ui-logic-link/ui-logic-link.d.ts +6 -8
  194. package/out/ui-logic/ui-logic-link/ui-logic-link.d.ts.map +1 -1
  195. package/out/ui-logic/ui-logic-link/ui-logic-link.js +3 -5
  196. package/out/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.js +3 -3
  197. package/out/ui-logic/ui-logic-node/ui-logic-node.d.ts +9 -14
  198. package/out/ui-logic/ui-logic-node/ui-logic-node.d.ts.map +1 -1
  199. package/out/ui-logic/ui-logic-node/ui-logic-node.js +2 -4
  200. package/out/ui-logic/ui-logic.d.ts +27 -36
  201. package/out/ui-logic/ui-logic.d.ts.map +1 -1
  202. package/out/ui-logic/ui-logic.js +35 -108
  203. package/out/utils/dr-ctrl-util/index.d.ts.map +1 -1
  204. package/out/utils/dr-ctrl-util/index.js +1 -1
  205. package/package.json +2 -2
  206. package/src/application.ts +23 -0
  207. package/src/controller/control/app-menu/app-menu.controller.ts +1 -1
  208. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +0 -1
  209. package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +0 -1
  210. package/src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts +0 -1
  211. package/src/controller/control/toolbar/toolbar.controller.ts +1 -1
  212. package/src/controller/control/tree/tree.service.ts +1 -0
  213. package/src/controller/utils/view-msg/view-msg-controller.ts +7 -1
  214. package/src/de-logic/de-logic-context.ts +4 -16
  215. package/src/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.ts +17 -5
  216. package/src/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.ts +5 -1
  217. package/src/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.ts +5 -1
  218. package/src/de-logic/de-logic-link/de-logic-link.ts +6 -6
  219. package/src/de-logic/de-logic-node/de-logic-node.ts +2 -1
  220. package/src/de-logic/de-logic-node/index.ts +1 -0
  221. package/src/de-logic/de-logic.ts +60 -123
  222. package/src/de-logic/index.ts +66 -85
  223. package/src/de-logic/provider.ts +83 -0
  224. package/src/install.ts +6 -0
  225. package/src/interface/api/common/i-api-de-logic-params.ts +8 -0
  226. package/src/interface/api/common/i-api-logic-context.ts +83 -0
  227. package/src/interface/api/common/i-api-logic-params.ts +29 -0
  228. package/src/interface/api/common/i-api-ui-logic-params.ts +3 -24
  229. package/src/interface/api/common/index.ts +2 -0
  230. package/src/interface/api/controller/control/form-detail/i-api-form-detail.controller.ts +1 -1
  231. package/src/interface/common/i-logic-context/i-logic-context.ts +27 -0
  232. package/src/interface/common/i-logic-link-cond/i-logic-link-cond.ts +18 -0
  233. package/src/interface/common/index.ts +2 -1
  234. package/src/interface/de-logic/i-de-logic-context.ts +9 -0
  235. package/src/interface/de-logic/i-de-logic-link-cond.ts +33 -0
  236. package/src/interface/de-logic/i-de-logic-link.ts +47 -0
  237. package/src/interface/de-logic/i-de-logic-node.ts +9 -0
  238. package/src/interface/de-logic/i-de-logic-params.ts +9 -0
  239. package/src/interface/de-logic/i-de-logic.ts +23 -0
  240. package/src/interface/de-logic/index.ts +10 -0
  241. package/src/interface/index.ts +1 -0
  242. package/src/interface/provider/i-de-logic-node.provider.ts +29 -0
  243. package/src/interface/provider/i-de-logic.provider.ts +22 -0
  244. package/src/interface/provider/i-ui-action.provider.ts +2 -1
  245. package/src/interface/provider/i-ui-logic-node.provider.ts +20 -14
  246. package/src/interface/provider/i-ui-logic.provider.ts +22 -0
  247. package/src/interface/provider/index.ts +3 -0
  248. package/src/interface/register/i-register-params.ts +49 -35
  249. package/src/interface/ui-logic/i-ui-logic-context.ts +9 -95
  250. package/src/interface/ui-logic/i-ui-logic-link-cond.ts +33 -0
  251. package/src/interface/ui-logic/i-ui-logic-link.ts +47 -0
  252. package/src/interface/ui-logic/i-ui-logic-node.ts +9 -0
  253. package/src/interface/{common/i-ui-logic-params → ui-logic}/i-ui-logic-params.ts +3 -5
  254. package/src/interface/ui-logic/i-ui-logic.ts +23 -0
  255. package/src/interface/ui-logic/index.ts +9 -0
  256. package/src/locale/en/index.ts +38 -0
  257. package/src/locale/zh-CN/index.ts +36 -0
  258. package/src/register/custom-register.ts +184 -82
  259. package/src/register/helper/app-menu-item-register.ts +26 -13
  260. package/src/register/helper/control-register.ts +2 -2
  261. package/src/register/helper/de-logic-node-register.ts +76 -0
  262. package/src/register/helper/de-logic-register.ts +63 -0
  263. package/src/register/helper/de-method-register.ts +4 -4
  264. package/src/register/helper/editor-register.ts +4 -7
  265. package/src/register/helper/form-detail-register.ts +3 -3
  266. package/src/register/helper/grid-column-register.ts +9 -9
  267. package/src/register/helper/index.ts +3 -0
  268. package/src/register/helper/panel-item-register.ts +4 -4
  269. package/src/register/helper/portlet-register.ts +23 -22
  270. package/src/register/helper/toolbar-item-register.ts +32 -19
  271. package/src/register/helper/ui-action-register.ts +2 -2
  272. package/src/register/helper/ui-logic-node-register.ts +79 -25
  273. package/src/register/helper/ui-logic-register.ts +63 -0
  274. package/src/register/helper/view-register.ts +15 -0
  275. package/src/service/service/entity/method/de-action.ts +7 -1
  276. package/src/ui-logic/index.ts +17 -16
  277. package/src/ui-logic/provider.ts +122 -0
  278. package/src/ui-logic/ui-logic-context.ts +1 -1
  279. package/src/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.ts +18 -5
  280. package/src/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.ts +5 -1
  281. package/src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts +5 -1
  282. package/src/ui-logic/ui-logic-link/ui-logic-link.ts +6 -7
  283. package/src/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.ts +3 -3
  284. package/src/ui-logic/ui-logic-node/ui-logic-node.ts +9 -14
  285. package/src/ui-logic/ui-logic.ts +46 -141
  286. package/src/utils/dr-ctrl-util/index.ts +7 -1
  287. package/out/interface/common/i-ui-logic-params/i-ui-logic-params.d.ts.map +0 -1
  288. /package/out/interface/{common/i-ui-logic-params/i-ui-logic-params.js → api/common/i-api-de-logic-params.js} +0 -0
@@ -1,35 +1,33 @@
1
1
  /* eslint-disable no-await-in-loop */
2
- import { ModelError, RuntimeModelError } from '@ibiz-template/core';
2
+ import { IBizContext, RuntimeModelError } from '@ibiz-template/core';
3
+ import { clone } from 'ramda';
3
4
  import { ScriptFactory } from '../utils';
4
5
  import { DELogicContext } from './de-logic-context';
5
- import { AppendParamNode, BindParamNode, CopyParamNode, DataSetNode, DEActionNode, DebugParamNode, EndNode, PrepareParamNode, RenewParamNode, ResetParamNode, SortParamNode, StartNode, } from './de-logic-node';
6
- import { ThrowExceptionNode } from './de-logic-node/throw-exception-node/throw-exception-node';
7
6
  import { DELogicParam } from './de-logic-param/de-logic-param';
7
+ import { getDELogicNodeProvider } from '../register';
8
8
  /**
9
- * 界面逻辑
10
- *
11
- * @author lxm
12
- * @date 2023-02-07 16:02:48
9
+ * @description 实体逻辑
13
10
  * @export
14
11
  * @class DELogic
12
+ * @implements {IDELogic}
15
13
  */
16
14
  export class DELogic {
17
15
  /**
18
16
  * Creates an instance of DELogic.
19
- * @author lxm
20
- * @date 2023-02-08 17:02:26
21
17
  * @param {IAppDELogic} model
18
+ * @param {IAppDataEntity} entity
19
+ * @memberof DELogic
22
20
  */
23
- constructor(model) {
24
- var _a, _b;
21
+ constructor(model, entity) {
25
22
  this.model = model;
23
+ this.entity = entity;
26
24
  /**
27
25
  * 所有节点实例
28
26
  *
29
27
  * @author lxm
30
28
  * @date 2023-02-08 21:02:38
31
29
  * @protected
32
- * @type {Map<string, DELogicNode>}
30
+ * @type {Map<string, IDeLogicNode>}
33
31
  */
34
32
  this.nodes = new Map();
35
33
  /**
@@ -41,72 +39,30 @@ export class DELogic {
41
39
  * @type {Map<string, DELogicParam>}
42
40
  */
43
41
  this.params = new Map();
44
- // 脚本代码模式
45
- if (model.customCode) {
46
- if (!model.scriptCode) {
47
- throw new RuntimeModelError(model, ibiz.i18n.t('runtime.deLogic.deLogicNode.noScriptCode'));
48
- }
49
- this.scriptFn = ScriptFactory.createScriptFn([], model.scriptCode, {
42
+ }
43
+ /**
44
+ * @description 初始化
45
+ * @returns {*} {Promise<void>}
46
+ * @memberof DELogic
47
+ */
48
+ async init() {
49
+ var _a, _b;
50
+ if (this.model.customCode) {
51
+ if (!this.model.scriptCode)
52
+ throw new RuntimeModelError(this.model, ibiz.i18n.t('runtime.deLogic.deLogicNode.noScriptCode'));
53
+ this.scriptFn = ScriptFactory.createScriptFn([], this.model.scriptCode, {
50
54
  isAsync: true,
51
55
  });
52
56
  return;
53
57
  }
54
- if (!((_a = model.delogicNodes) === null || _a === void 0 ? void 0 : _a.length)) {
55
- throw new RuntimeModelError(model, ibiz.i18n.t('runtime.deLogic.deLogicNode.noConfigurationLogicNode'));
58
+ if (!((_a = this.model.delogicNodes) === null || _a === void 0 ? void 0 : _a.length)) {
59
+ throw new RuntimeModelError(this.model, ibiz.i18n.t('runtime.deLogic.deLogicNode.noConfigurationLogicNode'));
56
60
  }
57
- model.delogicNodes.forEach(node => {
58
- const { logicNodeType } = node;
59
- let logicNode;
60
- switch (logicNodeType) {
61
- case 'BEGIN': // 开始
62
- logicNode = new StartNode(node);
63
- break;
64
- case 'END': // 结束
65
- logicNode = new EndNode(node);
66
- break;
67
- case 'DEACTION': // 实体行为
68
- logicNode = new DEActionNode(node);
69
- break;
70
- case 'PREPAREPARAM': // 准备参数
71
- logicNode = new PrepareParamNode(node);
72
- break;
73
- case 'DEDATASET': // 实体数据集
74
- logicNode = new DataSetNode(node);
75
- break;
76
- case 'THROWEXCEPTION': // 抛出异常
77
- logicNode = new ThrowExceptionNode(node);
78
- break;
79
- case 'BINDPARAM': // 绑定参数
80
- logicNode = new BindParamNode(node);
81
- break;
82
- case 'RESETPARAM': // 重置参数
83
- logicNode = new ResetParamNode(node);
84
- break;
85
- case 'COPYPARAM': // 拷贝参数
86
- logicNode = new CopyParamNode(node);
87
- break;
88
- case 'RENEWPARAM': // 重新建立参数
89
- logicNode = new RenewParamNode(node);
90
- break;
91
- case 'APPENDPARAM': // 附加到数组参数
92
- logicNode = new AppendParamNode(node);
93
- break;
94
- case 'SORTPARAM': // 排序数组参数
95
- logicNode = new SortParamNode(node);
96
- break;
97
- case 'DEBUGPARAM': // 调试逻辑参数
98
- logicNode = new DebugParamNode(node);
99
- break;
100
- default:
101
- throw new ModelError(node, ibiz.i18n.t('runtime.deLogic.deLogicNode.unsupportedLogical', {
102
- logicNodeType,
103
- }));
104
- }
105
- this.nodes.set(node.id, logicNode);
106
- });
107
- (_b = model.delogicParams) === null || _b === void 0 ? void 0 : _b.forEach(param => {
108
- this.params.set(param.id, new DELogicParam(param));
109
- });
61
+ await Promise.all(this.model.delogicNodes.map(async (node) => {
62
+ const provider = await getDELogicNodeProvider(node, this.model, this.entity);
63
+ if (provider)
64
+ this.nodes.set(node.id, provider);
65
+ }));
110
66
  // 将已经实例化的逻辑节点挂载到逻辑连接上
111
67
  this.nodes.forEach(node => {
112
68
  node.links.forEach(link => {
@@ -116,17 +72,15 @@ export class DELogic {
116
72
  }
117
73
  });
118
74
  });
75
+ (_b = this.model.delogicParams) === null || _b === void 0 ? void 0 : _b.forEach(param => {
76
+ this.params.set(param.id, new DELogicParam(param));
77
+ });
119
78
  }
120
79
  /**
121
- * 初始化当前环境的逻辑参数的实例
122
- *
123
- * @author lxm
124
- * @date 2023-02-08 21:02:58
80
+ * @description 初始化当前环境的逻辑参数的实例
125
81
  * @protected
126
82
  * @param {DELogicContext} ctx
127
- * @param {IContext} context
128
- * @param {IData} data
129
- * @param {IParams} [opt]
83
+ * @memberof DELogic
130
84
  */
131
85
  initLogicParams(ctx) {
132
86
  this.params.forEach(param => {
@@ -137,20 +91,19 @@ export class DELogic {
137
91
  });
138
92
  }
139
93
  /**
140
- * 执行逻辑
141
- *
142
- * @author lxm
143
- * @date 2023-02-08 21:02:09
144
- * @param {IContext} context
145
- * @param {IData} data
146
- * @param {IParams} [opt]
147
- * @return {*} {Promise<IData>}
94
+ * @description 执行逻辑
95
+ * @param {IDeLogicParams} parameters 逻辑参数
96
+ * @returns {*} {Promise<unknown>}
97
+ * @memberof DELogic
148
98
  */
149
- async exec(context, data, params) {
99
+ async exec(parameters) {
100
+ // 克隆传入应用上下文参数和视图参数
101
+ parameters.context = IBizContext.create(parameters.context);
102
+ parameters.params = clone(parameters.params || {});
150
103
  if (this.scriptFn) {
151
- return this.scriptFn.exec({ context, data, params });
104
+ return this.scriptFn.exec(Object.assign({}, parameters));
152
105
  }
153
- const ctx = new DELogicContext(this.params, context, data, params);
106
+ const ctx = new DELogicContext(this.params, parameters);
154
107
  this.initLogicParams(ctx);
155
108
  const { startDELogicNodeId } = this.model;
156
109
  if (startDELogicNodeId && this.nodes.has(startDELogicNodeId)) {
@@ -169,14 +122,12 @@ export class DELogic {
169
122
  return null;
170
123
  }
171
124
  /**
172
- * 开始根据连线递归执行逻辑
173
- *
174
- * @author lxm
175
- * @date 2023-06-13 08:29:36
125
+ * @description 开始根据连线递归执行逻辑
176
126
  * @protected
177
- * @param {DELogicNode} node 逻辑节点
178
- * @param {DELogicContext} ctx 逻辑上下文
179
- * @return {*} {Promise<void>}
127
+ * @param {IDeLogicNode} node
128
+ * @param {DELogicContext} ctx
129
+ * @returns {*} {Promise<void>}
130
+ * @memberof DELogic
180
131
  */
181
132
  async deepExec(node, ctx) {
182
133
  // 执行逻辑节点
@@ -1,56 +1,47 @@
1
- import { HttpResponse } from '@ibiz-template/core';
2
1
  import { IAppDataEntity, IAppDELogic } from '@ibiz/model-core';
2
+ import { HttpResponse } from '@ibiz-template/core';
3
3
  /**
4
- * 执行实体处理逻辑
5
- *
6
- * @author lxm
7
- * @date 2023-02-09 11:02:23
4
+ * @description 执行实体逻辑
8
5
  * @export
9
- * @param {IAppDELogic} deDELogic
10
- * @param {IContext} context
11
- * @param {(IData)} data
12
- * @param {IParams} params
13
- * @param {IParams} [opt]
14
- * @return {*} {Promise<HttpResponse<IData>>}
6
+ * @param {IAppDELogic} deDELogic 实体逻辑
7
+ * @param {IAppDataEntity} appDataEntity 应用实体
8
+ * @param {IContext} context 上下文
9
+ * @param {(IData | IData[])} [data={}] 数据
10
+ * @param {IParams} [params={}] 视图参数
11
+ * @returns {*} {Promise<unknown>}
15
12
  */
16
- export declare function execDELogic(deDELogic: IAppDELogic, context: IContext, data?: IData | IData[], params?: IParams): Promise<unknown>;
13
+ export declare function execDELogic(deDELogic: IAppDELogic, appDataEntity: IAppDataEntity, context: IContext, data?: IData | IData[], params?: IParams): Promise<unknown>;
17
14
  /**
18
- * 通过id执行实体逻辑
19
- * @author lxm
20
- * @date 2023-08-04 02:49:44
15
+ * @description 通过ID执行实体逻辑
21
16
  * @export
22
- * @param {string} deDELogicId
23
- * @param {string} dataEntityId
24
- * @param {IContext} context
25
- * @param {IData} data
26
- * @param {IParams} params
27
- * @return {*} {Promise<unknown>}
17
+ * @param {string} deDELogicId 实体逻辑标识
18
+ * @param {string} dataEntityId 应用实体标识
19
+ * @param {IContext} context 上下文
20
+ * @param {IData} data 数据
21
+ * @param {IParams} params 视图参数
22
+ * @returns {*} {Promise<unknown>}
28
23
  */
29
24
  export declare function execDELogicById(deDELogicId: string, dataEntityId: string, context: IContext, data: IData, params: IParams): Promise<unknown>;
30
25
  /**
31
- * 执行实体方法的实体逻辑并返回对应的response
32
- * @author lxm
33
- * @date 2023-03-16 12:44:43
26
+ * @description 执行实体逻辑行为并返回响应
34
27
  * @export
35
- * @param {IAppDELogic} deDELogic
36
- * @param {IContext} context
37
- * @param {(IData)} data
38
- * @param {IParams} params
39
- * @param {IParams} [opt]
40
- * @return {*} {Promise<HttpResponse<IData>>}
28
+ * @param {IAppDELogic} deDELogic 实体逻辑
29
+ * @param {IAppDataEntity} appDataEntity 应用实体
30
+ * @param {IContext} context 上下文
31
+ * @param {(IData | IData[])} [data] 数据
32
+ * @param {IParams} [params] 视图参数
33
+ * @returns {*} {Promise<HttpResponse<IData>>}
41
34
  */
42
- export declare function execDELogicAction(deDELogic: IAppDELogic, context: IContext, data?: IData | IData[], params?: IParams): Promise<HttpResponse<IData>>;
35
+ export declare function execDELogicAction(deDELogic: IAppDELogic, appDataEntity: IAppDataEntity, context: IContext, data?: IData | IData[], params?: IParams): Promise<HttpResponse<IData>>;
43
36
  /**
44
- * 执行属性实体逻辑(单条或者多条)
45
- * @author lxm
46
- * @date 2023-06-14 12:29:56
37
+ * @description 执行属性实体逻辑(单条或者多条)
47
38
  * @export
48
- * @param {IAppDataEntity} entity
49
- * @param {('compute' | 'change' | 'default')} type
50
- * @param {IContext} context
51
- * @param {IData | IData[]} data 单条或多条数据
52
- * @param {IParams} params
53
- * @return {*} {Promise<void>}
39
+ * @param {IAppDataEntity} entity 实体
40
+ * @param {('compute' | 'change' | 'default')} type 逻辑类型
41
+ * @param {IContext} context 上下文
42
+ * @param {(IData | IData[])} data 实体数据
43
+ * @param {IParams} [params={}] 视图参数
44
+ * @returns {*} {Promise<void>}
54
45
  */
55
46
  export declare function execFieldLogics(entity: IAppDataEntity, type: 'compute' | 'change' | 'default', context: IContext, data: IData | IData[], params?: IParams): Promise<void>;
56
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/de-logic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAgB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA6B/D;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,QAAQ,EACjB,IAAI,GAAE,KAAK,GAAG,KAAK,EAAO,EAC1B,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,OAAO,CAAC,CAelB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACtB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAc9B;AAkCD;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,EACtC,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,EACrB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAcf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/de-logic/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAa,YAAY,EAAgB,MAAM,qBAAqB,CAAC;AAU5E;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,WAAW,EACtB,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,QAAQ,EACjB,IAAI,GAAE,KAAK,GAAG,KAAK,EAAO,EAC1B,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,OAAO,CAAC,CAelB;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,WAAW,EACtB,aAAa,EAAE,cAAc,EAC7B,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACtB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAmB9B;AA+BD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,EACtC,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,EACrB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -1,48 +1,38 @@
1
- import { HttpError, HttpResponse, RuntimeError } from '@ibiz-template/core';
2
- import { isArray } from 'lodash-es';
3
1
  import { clone } from 'ramda';
2
+ import { isArray } from 'lodash-es';
3
+ import { HttpError, HttpResponse, RuntimeError } from '@ibiz-template/core';
4
+ import { getDELogicProvider } from '../register';
4
5
  import { filterFieldLogics, findDELogic } from '../model';
5
- import { DELogic } from './de-logic';
6
6
  /**
7
7
  * 实体处理逻辑实例缓存
8
8
  */
9
9
  const deLogicMap = new Map();
10
10
  /**
11
- * 找到实体逻辑模型
12
- * @author lxm
13
- * @date 2023-08-04 02:47:16
14
- * @param {string} deDELogicId
15
- * @param {string} dataEntityId
16
- * @param {string} [appId]
17
- * @return {*} {(Promise<IAppDELogic | undefined>)}
18
- */
19
- async function findDeLogic(deDELogicId, dataEntityId, appId) {
20
- const appDataEntity = await ibiz.hub.getAppDataEntity(dataEntityId, appId);
21
- return findDELogic(deDELogicId, appDataEntity);
22
- }
23
- /**
24
- * 执行实体处理逻辑
25
- *
26
- * @author lxm
27
- * @date 2023-02-09 11:02:23
11
+ * @description 执行实体逻辑
28
12
  * @export
29
- * @param {IAppDELogic} deDELogic
30
- * @param {IContext} context
31
- * @param {(IData)} data
32
- * @param {IParams} params
33
- * @param {IParams} [opt]
34
- * @return {*} {Promise<HttpResponse<IData>>}
13
+ * @param {IAppDELogic} deDELogic 实体逻辑
14
+ * @param {IAppDataEntity} appDataEntity 应用实体
15
+ * @param {IContext} context 上下文
16
+ * @param {(IData | IData[])} [data={}] 数据
17
+ * @param {IParams} [params={}] 视图参数
18
+ * @returns {*} {Promise<unknown>}
35
19
  */
36
- export async function execDELogic(deDELogic, context, data = {}, params = {}) {
20
+ export async function execDELogic(deDELogic, appDataEntity, context, data = {}, params = {}) {
37
21
  if (!deLogicMap.has(deDELogic)) {
38
- deLogicMap.set(deDELogic, new DELogic(deDELogic));
22
+ const provider = getDELogicProvider(deDELogic, appDataEntity);
23
+ await provider.init();
24
+ deLogicMap.set(deDELogic, provider);
39
25
  }
40
26
  ibiz.log.debug(ibiz.i18n.t('runtime.deLogic.deLogicNode.startExecuting', {
41
27
  id: deDELogic.id,
42
28
  name: deDELogic.name,
43
29
  }));
44
30
  const deLogic = deLogicMap.get(deDELogic);
45
- const result = await deLogic.exec(context, data, params);
31
+ const result = await deLogic.exec({
32
+ context,
33
+ data: Array.isArray(data) ? data : [data],
34
+ params,
35
+ });
46
36
  ibiz.log.debug(ibiz.i18n.t('runtime.deLogic.deLogicNode.endExecution', {
47
37
  id: deDELogic.id,
48
38
  name: deDELogic.name,
@@ -50,45 +40,42 @@ export async function execDELogic(deDELogic, context, data = {}, params = {}) {
50
40
  return result;
51
41
  }
52
42
  /**
53
- * 通过id执行实体逻辑
54
- * @author lxm
55
- * @date 2023-08-04 02:49:44
43
+ * @description 通过ID执行实体逻辑
56
44
  * @export
57
- * @param {string} deDELogicId
58
- * @param {string} dataEntityId
59
- * @param {IContext} context
60
- * @param {IData} data
61
- * @param {IParams} params
62
- * @return {*} {Promise<unknown>}
45
+ * @param {string} deDELogicId 实体逻辑标识
46
+ * @param {string} dataEntityId 应用实体标识
47
+ * @param {IContext} context 上下文
48
+ * @param {IData} data 数据
49
+ * @param {IParams} params 视图参数
50
+ * @returns {*} {Promise<unknown>}
63
51
  */
64
52
  export async function execDELogicById(deDELogicId, dataEntityId, context, data, params) {
65
- const deLogic = await findDeLogic(deDELogicId, dataEntityId, context.srfappid);
53
+ const appDataEntity = await ibiz.hub.getAppDataEntity(dataEntityId, context.srfappid);
54
+ const deLogic = findDELogic(deDELogicId, appDataEntity);
66
55
  if (!deLogic) {
67
56
  throw new RuntimeError(ibiz.i18n.t('runtime.deLogic.deLogicNode.noFoundEntityLogic', {
68
57
  dataEntityId,
69
58
  deDELogicId,
70
59
  }));
71
60
  }
72
- return execDELogic(deLogic, context, data, params);
61
+ return execDELogic(deLogic, appDataEntity, context, data, params);
73
62
  }
74
63
  /**
75
- * 执行实体方法的实体逻辑并返回对应的response
76
- * @author lxm
77
- * @date 2023-03-16 12:44:43
64
+ * @description 执行实体逻辑行为并返回响应
78
65
  * @export
79
- * @param {IAppDELogic} deDELogic
80
- * @param {IContext} context
81
- * @param {(IData)} data
82
- * @param {IParams} params
83
- * @param {IParams} [opt]
84
- * @return {*} {Promise<HttpResponse<IData>>}
66
+ * @param {IAppDELogic} deDELogic 实体逻辑
67
+ * @param {IAppDataEntity} appDataEntity 应用实体
68
+ * @param {IContext} context 上下文
69
+ * @param {(IData | IData[])} [data] 数据
70
+ * @param {IParams} [params] 视图参数
71
+ * @returns {*} {Promise<HttpResponse<IData>>}
85
72
  */
86
- export async function execDELogicAction(deDELogic, context, data, params) {
87
- const _context = clone(context);
88
- const _data = data ? clone(data) : data;
89
- const _params = params ? clone(params) : params;
73
+ export async function execDELogicAction(deDELogic, appDataEntity, context, data, params) {
90
74
  try {
91
- const result = await execDELogic(deDELogic, _context, _data, _params);
75
+ const _context = clone(context);
76
+ const _data = data ? clone(data) : data;
77
+ const _params = params ? clone(params) : params;
78
+ const result = await execDELogic(deDELogic, appDataEntity, _context, _data, _params);
92
79
  return new HttpResponse(result);
93
80
  }
94
81
  catch (err) {
@@ -99,22 +86,19 @@ export async function execDELogicAction(deDELogic, context, data, params) {
99
86
  }
100
87
  }
101
88
  /**
102
- * 执行属性实体逻辑(单条数据)
103
- * @author lxm
104
- * @date 2023-10-19 04:00:15
105
- * @export
106
- * @param {IAppDataEntity} entity
107
- * @param {('compute' | 'change' | 'default')} type
108
- * @param {IContext} context
109
- * @param {IData} data
110
- * @param {IParams} params
111
- * @return {*} {Promise<void>}
89
+ * @description 执行属性实体逻辑(单条数据)
90
+ * @param {IAppDataEntity} entity 实体
91
+ * @param {('compute' | 'change' | 'default')} type 逻辑类型
92
+ * @param {IContext} context 上下文
93
+ * @param {IData} data 实体数据
94
+ * @param {IParams} params 视图参数
95
+ * @returns {*} {Promise<void>}
112
96
  */
113
97
  async function execSingleFieldLogics(entity, type, context, data, params) {
114
98
  const fieldLogics = filterFieldLogics(entity, type);
115
99
  if (fieldLogics.length) {
116
100
  const promiseResult = await Promise.all(fieldLogics.map(logic => {
117
- return execDELogic(logic, context, data, params);
101
+ return execDELogic(logic, entity, context, data, params);
118
102
  }));
119
103
  promiseResult.forEach(value => {
120
104
  Object.assign(data, value);
@@ -122,21 +106,18 @@ async function execSingleFieldLogics(entity, type, context, data, params) {
122
106
  }
123
107
  }
124
108
  /**
125
- * 执行属性实体逻辑(单条或者多条)
126
- * @author lxm
127
- * @date 2023-06-14 12:29:56
109
+ * @description 执行属性实体逻辑(单条或者多条)
128
110
  * @export
129
- * @param {IAppDataEntity} entity
130
- * @param {('compute' | 'change' | 'default')} type
131
- * @param {IContext} context
132
- * @param {IData | IData[]} data 单条或多条数据
133
- * @param {IParams} params
134
- * @return {*} {Promise<void>}
111
+ * @param {IAppDataEntity} entity 实体
112
+ * @param {('compute' | 'change' | 'default')} type 逻辑类型
113
+ * @param {IContext} context 上下文
114
+ * @param {(IData | IData[])} data 实体数据
115
+ * @param {IParams} [params={}] 视图参数
116
+ * @returns {*} {Promise<void>}
135
117
  */
136
118
  export async function execFieldLogics(entity, type, context, data, params = {}) {
137
- if (!data) {
119
+ if (!data)
138
120
  return;
139
- }
140
121
  if (isArray(data)) {
141
122
  await Promise.all(data.map(item => execSingleFieldLogics(entity, type, context, item, params)));
142
123
  return;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @description 注册实体逻辑适配器
3
+ * @export
4
+ */
5
+ export declare function presetDELogicProvider(): void;
6
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/de-logic/provider.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAwD5C"}
@@ -0,0 +1,25 @@
1
+ import { registerDELogicProvider, registerDELogicNodeProvider, } from '../register';
2
+ import { DELogic } from './de-logic';
3
+ import { EndNode, StartNode, DataSetNode, DEActionNode, SortParamNode, BindParamNode, CopyParamNode, RenewParamNode, ResetParamNode, DebugParamNode, AppendParamNode, PrepareParamNode, ThrowExceptionNode, } from './de-logic-node';
4
+ /**
5
+ * @description 注册实体逻辑适配器
6
+ * @export
7
+ */
8
+ export function presetDELogicProvider() {
9
+ // 注册默认界面逻辑
10
+ registerDELogicProvider('DEFAULT', (logic, entity) => new DELogic(logic, entity));
11
+ // 注册界面逻辑节点
12
+ registerDELogicNodeProvider('BEGIN', (node) => new StartNode(node));
13
+ registerDELogicNodeProvider('END', (node) => new EndNode(node));
14
+ registerDELogicNodeProvider('DEACTION', (node) => new DEActionNode(node));
15
+ registerDELogicNodeProvider('PREPAREPARAM', (node) => new PrepareParamNode(node));
16
+ registerDELogicNodeProvider('RESETPARAM', (node) => new ResetParamNode(node));
17
+ registerDELogicNodeProvider('COPYPARAM', (node) => new CopyParamNode(node));
18
+ registerDELogicNodeProvider('BINDPARAM', (node) => new BindParamNode(node));
19
+ registerDELogicNodeProvider('DEBUGPARAM', (node) => new DebugParamNode(node));
20
+ registerDELogicNodeProvider('APPENDPARAM', (node) => new AppendParamNode(node));
21
+ registerDELogicNodeProvider('SORTPARAM', (node) => new SortParamNode(node));
22
+ registerDELogicNodeProvider('RENEWPARAM', (node) => new RenewParamNode(node));
23
+ registerDELogicNodeProvider('DEDATASET', (node) => new DataSetNode(node));
24
+ registerDELogicNodeProvider('THROWEXCEPTION', (node) => new ThrowExceptionNode(node));
25
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAmBA;;;;;;GAMG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAsC9B"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAqBA;;;;;;GAMG;AACH,wBAAgB,OAAO,IAAI,IAAI,CA0C9B"}
package/out/install.js CHANGED
@@ -7,9 +7,11 @@ import { EngineFactory, installCtrlEngine } from './engine';
7
7
  import { GlobalUtil } from './global';
8
8
  import { presetUIActionProvider } from './ui-action';
9
9
  import { installLogicSchedule } from './logic-scheduler';
10
+ import { presetUILogicProvider } from './ui-logic/provider';
10
11
  import { install as installPlatformProvider } from './platform/provider';
11
12
  import { getPlatformProvider } from './register';
12
13
  import { CollaborateManager, UIDomainManager } from './utils';
14
+ import { presetDELogicProvider } from './de-logic/provider';
13
15
  /**
14
16
  * 安装运行时
15
17
  *
@@ -43,6 +45,10 @@ export function install() {
43
45
  presetUIActionProvider();
44
46
  // 注册界面行为适配器
45
47
  presetDEMethodProvider();
48
+ // 注册界面逻辑适配器
49
+ presetUILogicProvider();
50
+ // 注册实体逻辑适配器
51
+ presetDELogicProvider();
46
52
  // 注册应用计数器适配器
47
53
  presetAppCounterProvider();
48
54
  // 安装逻辑调度器
@@ -0,0 +1,9 @@
1
+ import { IApiLogicParams } from './i-api-logic-params';
2
+ /**
3
+ * @description 实体逻辑通用参数接口
4
+ * @export
5
+ * @interface IApiDELogicParams
6
+ */
7
+ export interface IApiDeLogicParams extends IApiLogicParams {
8
+ }
9
+ //# sourceMappingURL=i-api-de-logic-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-api-de-logic-params.d.ts","sourceRoot":"","sources":["../../../../src/interface/api/common/i-api-de-logic-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,eAAe;CAAG"}
@@ -0,0 +1,83 @@
1
+ import { IApiContext, IApiData, IApiParams } from '@ibiz-template/core';
2
+ /**
3
+ * @description 逻辑执行上下文接口
4
+ * @export
5
+ * @interface IApiLogicContext
6
+ */
7
+ export interface IApiLogicContext {
8
+ /**
9
+ * @description 上下文
10
+ * @type {IApiContext}
11
+ * @memberof IApiLogicContext
12
+ */
13
+ readonly context: IApiContext;
14
+ /**
15
+ * @description 数据
16
+ * @type {IApiData[]}
17
+ * @memberof IApiLogicContext
18
+ */
19
+ readonly data: IApiData[];
20
+ /**
21
+ * @description 视图参数
22
+ * @type {IApiParams}
23
+ * @memberof IApiLogicContext
24
+ */
25
+ readonly viewParam: IApiParams;
26
+ /**
27
+ * @description 界面逻辑参数
28
+ * @type {Record<string, unknown>}
29
+ * @memberof IApiLogicContext
30
+ */
31
+ readonly params: Record<string, unknown>;
32
+ /**
33
+ * @description 上一次返回值
34
+ * @type {unknown}
35
+ * @memberof IApiLogicContext
36
+ */
37
+ lastReturn: unknown;
38
+ /**
39
+ * @description 逻辑执行返回值
40
+ * @type {unknown}
41
+ * @memberof IApiLogicContext
42
+ */
43
+ result: unknown;
44
+ /**
45
+ * @description 是否存在结束节点
46
+ * @type {boolean}
47
+ * @memberof IApiLogicContext
48
+ */
49
+ isEndNode: boolean;
50
+ /**
51
+ * @description 默认参数节点名称
52
+ * @default 'Default'
53
+ * @type {string}
54
+ * @memberof IApiLogicContext
55
+ */
56
+ defaultParamName: string;
57
+ /**
58
+ * @description 重置实体逻辑参数
59
+ * @param {string} name
60
+ * @memberof IApiLogicContext
61
+ */
62
+ resetParam(name: string): void;
63
+ /**
64
+ * @description 重新建立变量
65
+ * @param {string} name
66
+ * @memberof IApiLogicContext
67
+ */
68
+ renewParam(name: string): void;
69
+ /**
70
+ * @description 设置上一次返回值
71
+ * @param {unknown} value
72
+ * @memberof IApiLogicContext
73
+ */
74
+ setLastReturn(value: unknown): void;
75
+ /**
76
+ * @description 是否是实体参数变量(即后台数据对象)
77
+ * @param {string} paramId
78
+ * @returns {*} {boolean}
79
+ * @memberof IApiLogicContext
80
+ */
81
+ isEntityParam(paramId: string): boolean;
82
+ }
83
+ //# sourceMappingURL=i-api-logic-context.d.ts.map