@ibiz-template/runtime 0.7.41-alpha.125 → 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 (252) hide show
  1. package/dist/index.esm.js +39796 -39493
  2. package/dist/index.system.min.js +1 -1
  3. package/out/controller/control/app-menu/app-menu.controller.js +1 -1
  4. package/out/controller/control/toolbar/toolbar.controller.js +1 -1
  5. package/out/controller/control/tree/tree.service.d.ts.map +1 -1
  6. package/out/controller/control/tree/tree.service.js +1 -1
  7. package/out/controller/utils/view-msg/view-msg-controller.d.ts.map +1 -1
  8. package/out/controller/utils/view-msg/view-msg-controller.js +1 -1
  9. package/out/de-logic/de-logic-context.d.ts +4 -13
  10. package/out/de-logic/de-logic-context.d.ts.map +1 -1
  11. package/out/de-logic/de-logic-context.js +2 -3
  12. package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.d.ts +15 -5
  13. package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.d.ts.map +1 -1
  14. package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.js +3 -4
  15. package/out/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.d.ts +2 -1
  16. package/out/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.d.ts.map +1 -1
  17. package/out/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.d.ts +2 -1
  18. package/out/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.d.ts.map +1 -1
  19. package/out/de-logic/de-logic-link/de-logic-link.d.ts +6 -7
  20. package/out/de-logic/de-logic-link/de-logic-link.d.ts.map +1 -1
  21. package/out/de-logic/de-logic-link/de-logic-link.js +3 -4
  22. package/out/de-logic/de-logic-node/de-logic-node.d.ts +2 -1
  23. package/out/de-logic/de-logic-node/de-logic-node.d.ts.map +1 -1
  24. package/out/de-logic/de-logic-node/index.d.ts +1 -0
  25. package/out/de-logic/de-logic-node/index.d.ts.map +1 -1
  26. package/out/de-logic/de-logic-node/index.js +1 -0
  27. package/out/de-logic/de-logic.d.ts +31 -37
  28. package/out/de-logic/de-logic.d.ts.map +1 -1
  29. package/out/de-logic/de-logic.js +49 -98
  30. package/out/de-logic/index.d.ts +31 -40
  31. package/out/de-logic/index.d.ts.map +1 -1
  32. package/out/de-logic/index.js +57 -76
  33. package/out/de-logic/provider.d.ts +6 -0
  34. package/out/de-logic/provider.d.ts.map +1 -0
  35. package/out/de-logic/provider.js +25 -0
  36. package/out/install.d.ts.map +1 -1
  37. package/out/install.js +6 -0
  38. package/out/interface/api/common/i-api-de-logic-params.d.ts +9 -0
  39. package/out/interface/api/common/i-api-de-logic-params.d.ts.map +1 -0
  40. package/out/interface/api/common/i-api-logic-context.d.ts +83 -0
  41. package/out/interface/api/common/i-api-logic-context.d.ts.map +1 -0
  42. package/out/interface/api/common/i-api-logic-context.js +1 -0
  43. package/out/interface/api/common/i-api-logic-params.d.ts +27 -0
  44. package/out/interface/api/common/i-api-logic-params.d.ts.map +1 -0
  45. package/out/interface/api/common/i-api-logic-params.js +1 -0
  46. package/out/interface/api/common/i-api-ui-logic-params.d.ts +3 -21
  47. package/out/interface/api/common/i-api-ui-logic-params.d.ts.map +1 -1
  48. package/out/interface/api/common/index.d.ts +2 -0
  49. package/out/interface/api/common/index.d.ts.map +1 -1
  50. package/out/interface/api/controller/control/form-detail/i-api-form-detail.controller.d.ts +1 -1
  51. package/out/interface/common/i-logic-context/i-logic-context.d.ts +27 -0
  52. package/out/interface/common/i-logic-context/i-logic-context.d.ts.map +1 -0
  53. package/out/interface/common/i-logic-context/i-logic-context.js +1 -0
  54. package/out/interface/common/i-logic-link-cond/i-logic-link-cond.d.ts +18 -0
  55. package/out/interface/common/i-logic-link-cond/i-logic-link-cond.d.ts.map +1 -0
  56. package/out/interface/common/i-logic-link-cond/i-logic-link-cond.js +1 -0
  57. package/out/interface/common/index.d.ts +2 -1
  58. package/out/interface/common/index.d.ts.map +1 -1
  59. package/out/interface/de-logic/i-de-logic-context.d.ts +10 -0
  60. package/out/interface/de-logic/i-de-logic-context.d.ts.map +1 -0
  61. package/out/interface/de-logic/i-de-logic-context.js +1 -0
  62. package/out/interface/de-logic/i-de-logic-link-cond.d.ts +33 -0
  63. package/out/interface/de-logic/i-de-logic-link-cond.d.ts.map +1 -0
  64. package/out/interface/de-logic/i-de-logic-link-cond.js +1 -0
  65. package/out/interface/de-logic/i-de-logic-link.d.ts +43 -0
  66. package/out/interface/de-logic/i-de-logic-link.d.ts.map +1 -0
  67. package/out/interface/de-logic/i-de-logic-link.js +1 -0
  68. package/out/interface/de-logic/i-de-logic-node.d.ts +10 -0
  69. package/out/interface/de-logic/i-de-logic-node.d.ts.map +1 -0
  70. package/out/interface/de-logic/i-de-logic-node.js +1 -0
  71. package/out/interface/de-logic/i-de-logic-params.d.ts +10 -0
  72. package/out/interface/de-logic/i-de-logic-params.d.ts.map +1 -0
  73. package/out/interface/de-logic/i-de-logic-params.js +1 -0
  74. package/out/interface/de-logic/i-de-logic.d.ts +23 -0
  75. package/out/interface/de-logic/i-de-logic.d.ts.map +1 -0
  76. package/out/interface/de-logic/i-de-logic.js +1 -0
  77. package/out/interface/de-logic/index.d.ts +7 -0
  78. package/out/interface/de-logic/index.d.ts.map +1 -0
  79. package/out/interface/de-logic/index.js +1 -0
  80. package/out/interface/index.d.ts +1 -0
  81. package/out/interface/index.d.ts.map +1 -1
  82. package/out/interface/index.js +1 -0
  83. package/out/interface/provider/i-de-logic-node.provider.d.ts +29 -0
  84. package/out/interface/provider/i-de-logic-node.provider.d.ts.map +1 -0
  85. package/out/interface/provider/i-de-logic-node.provider.js +1 -0
  86. package/out/interface/provider/i-de-logic.provider.d.ts +22 -0
  87. package/out/interface/provider/i-de-logic.provider.d.ts.map +1 -0
  88. package/out/interface/provider/i-de-logic.provider.js +1 -0
  89. package/out/interface/provider/i-ui-action.provider.d.ts +2 -1
  90. package/out/interface/provider/i-ui-action.provider.d.ts.map +1 -1
  91. package/out/interface/provider/i-ui-logic-node.provider.d.ts +20 -14
  92. package/out/interface/provider/i-ui-logic-node.provider.d.ts.map +1 -1
  93. package/out/interface/provider/i-ui-logic.provider.d.ts +22 -0
  94. package/out/interface/provider/i-ui-logic.provider.d.ts.map +1 -0
  95. package/out/interface/provider/i-ui-logic.provider.js +1 -0
  96. package/out/interface/provider/index.d.ts +3 -0
  97. package/out/interface/provider/index.d.ts.map +1 -1
  98. package/out/interface/register/i-register-params.d.ts +17 -7
  99. package/out/interface/register/i-register-params.d.ts.map +1 -1
  100. package/out/interface/ui-logic/i-ui-logic-context.d.ts +8 -83
  101. package/out/interface/ui-logic/i-ui-logic-context.d.ts.map +1 -1
  102. package/out/interface/ui-logic/i-ui-logic-link-cond.d.ts +33 -0
  103. package/out/interface/ui-logic/i-ui-logic-link-cond.d.ts.map +1 -0
  104. package/out/interface/ui-logic/i-ui-logic-link-cond.js +1 -0
  105. package/out/interface/ui-logic/i-ui-logic-link.d.ts +43 -0
  106. package/out/interface/ui-logic/i-ui-logic-link.d.ts.map +1 -0
  107. package/out/interface/ui-logic/i-ui-logic-link.js +1 -0
  108. package/out/interface/ui-logic/i-ui-logic-node.d.ts +10 -0
  109. package/out/interface/ui-logic/i-ui-logic-node.d.ts.map +1 -0
  110. package/out/interface/ui-logic/i-ui-logic-node.js +1 -0
  111. package/out/interface/{common/i-ui-logic-params → ui-logic}/i-ui-logic-params.d.ts +3 -5
  112. package/out/interface/ui-logic/i-ui-logic-params.d.ts.map +1 -0
  113. package/out/interface/ui-logic/i-ui-logic-params.js +1 -0
  114. package/out/interface/ui-logic/i-ui-logic.d.ts +23 -0
  115. package/out/interface/ui-logic/i-ui-logic.d.ts.map +1 -0
  116. package/out/interface/ui-logic/i-ui-logic.js +1 -0
  117. package/out/interface/ui-logic/index.d.ts +5 -0
  118. package/out/interface/ui-logic/index.d.ts.map +1 -1
  119. package/out/locale/en/index.d.ts +10 -0
  120. package/out/locale/en/index.d.ts.map +1 -1
  121. package/out/locale/en/index.js +10 -0
  122. package/out/locale/zh-CN/index.d.ts +10 -0
  123. package/out/locale/zh-CN/index.d.ts.map +1 -1
  124. package/out/locale/zh-CN/index.js +10 -0
  125. package/out/register/custom-register.d.ts +19 -3
  126. package/out/register/custom-register.d.ts.map +1 -1
  127. package/out/register/custom-register.js +55 -6
  128. package/out/register/helper/app-menu-item-register.d.ts +2 -2
  129. package/out/register/helper/app-menu-item-register.d.ts.map +1 -1
  130. package/out/register/helper/app-menu-item-register.js +18 -10
  131. package/out/register/helper/de-logic-node-register.d.ts +24 -0
  132. package/out/register/helper/de-logic-node-register.d.ts.map +1 -0
  133. package/out/register/helper/de-logic-node-register.js +50 -0
  134. package/out/register/helper/de-logic-register.d.ts +20 -0
  135. package/out/register/helper/de-logic-register.d.ts.map +1 -0
  136. package/out/register/helper/de-logic-register.js +41 -0
  137. package/out/register/helper/index.d.ts +3 -0
  138. package/out/register/helper/index.d.ts.map +1 -1
  139. package/out/register/helper/index.js +3 -0
  140. package/out/register/helper/portlet-register.d.ts +3 -5
  141. package/out/register/helper/portlet-register.d.ts.map +1 -1
  142. package/out/register/helper/portlet-register.js +20 -19
  143. package/out/register/helper/toolbar-item-register.d.ts +5 -7
  144. package/out/register/helper/toolbar-item-register.d.ts.map +1 -1
  145. package/out/register/helper/toolbar-item-register.js +24 -16
  146. package/out/register/helper/ui-logic-node-register.d.ts +13 -9
  147. package/out/register/helper/ui-logic-node-register.d.ts.map +1 -1
  148. package/out/register/helper/ui-logic-node-register.js +51 -17
  149. package/out/register/helper/ui-logic-register.d.ts +20 -0
  150. package/out/register/helper/ui-logic-register.d.ts.map +1 -0
  151. package/out/register/helper/ui-logic-register.js +41 -0
  152. package/out/service/service/entity/method/de-action.d.ts.map +1 -1
  153. package/out/service/service/entity/method/de-action.js +1 -1
  154. package/out/ui-logic/index.d.ts +5 -10
  155. package/out/ui-logic/index.d.ts.map +1 -1
  156. package/out/ui-logic/index.js +12 -14
  157. package/out/ui-logic/provider.d.ts +6 -0
  158. package/out/ui-logic/provider.d.ts.map +1 -0
  159. package/out/ui-logic/provider.js +32 -0
  160. package/out/ui-logic/ui-logic-context.d.ts +1 -1
  161. package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
  162. package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.d.ts +16 -5
  163. package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.d.ts.map +1 -1
  164. package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.js +3 -4
  165. package/out/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.d.ts +2 -1
  166. package/out/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.d.ts.map +1 -1
  167. package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.d.ts +2 -1
  168. package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.d.ts.map +1 -1
  169. package/out/ui-logic/ui-logic-link/ui-logic-link.d.ts +6 -8
  170. package/out/ui-logic/ui-logic-link/ui-logic-link.d.ts.map +1 -1
  171. package/out/ui-logic/ui-logic-link/ui-logic-link.js +3 -5
  172. package/out/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.js +3 -3
  173. package/out/ui-logic/ui-logic-node/ui-logic-node.d.ts +9 -14
  174. package/out/ui-logic/ui-logic-node/ui-logic-node.d.ts.map +1 -1
  175. package/out/ui-logic/ui-logic-node/ui-logic-node.js +2 -4
  176. package/out/ui-logic/ui-logic.d.ts +27 -36
  177. package/out/ui-logic/ui-logic.d.ts.map +1 -1
  178. package/out/ui-logic/ui-logic.js +35 -108
  179. package/out/utils/dr-ctrl-util/index.d.ts.map +1 -1
  180. package/out/utils/dr-ctrl-util/index.js +1 -1
  181. package/package.json +2 -2
  182. package/src/controller/control/app-menu/app-menu.controller.ts +1 -1
  183. package/src/controller/control/toolbar/toolbar.controller.ts +1 -1
  184. package/src/controller/control/tree/tree.service.ts +1 -0
  185. package/src/controller/utils/view-msg/view-msg-controller.ts +7 -1
  186. package/src/de-logic/de-logic-context.ts +4 -16
  187. package/src/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.ts +17 -5
  188. package/src/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.ts +5 -1
  189. package/src/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.ts +5 -1
  190. package/src/de-logic/de-logic-link/de-logic-link.ts +6 -6
  191. package/src/de-logic/de-logic-node/de-logic-node.ts +2 -1
  192. package/src/de-logic/de-logic-node/index.ts +1 -0
  193. package/src/de-logic/de-logic.ts +60 -123
  194. package/src/de-logic/index.ts +66 -85
  195. package/src/de-logic/provider.ts +83 -0
  196. package/src/install.ts +6 -0
  197. package/src/interface/api/common/i-api-de-logic-params.ts +8 -0
  198. package/src/interface/api/common/i-api-logic-context.ts +83 -0
  199. package/src/interface/api/common/i-api-logic-params.ts +29 -0
  200. package/src/interface/api/common/i-api-ui-logic-params.ts +3 -24
  201. package/src/interface/api/common/index.ts +2 -0
  202. package/src/interface/api/controller/control/form-detail/i-api-form-detail.controller.ts +1 -1
  203. package/src/interface/common/i-logic-context/i-logic-context.ts +27 -0
  204. package/src/interface/common/i-logic-link-cond/i-logic-link-cond.ts +18 -0
  205. package/src/interface/common/index.ts +2 -1
  206. package/src/interface/de-logic/i-de-logic-context.ts +9 -0
  207. package/src/interface/de-logic/i-de-logic-link-cond.ts +33 -0
  208. package/src/interface/de-logic/i-de-logic-link.ts +47 -0
  209. package/src/interface/de-logic/i-de-logic-node.ts +9 -0
  210. package/src/interface/de-logic/i-de-logic-params.ts +9 -0
  211. package/src/interface/de-logic/i-de-logic.ts +23 -0
  212. package/src/interface/de-logic/index.ts +10 -0
  213. package/src/interface/index.ts +1 -0
  214. package/src/interface/provider/i-de-logic-node.provider.ts +29 -0
  215. package/src/interface/provider/i-de-logic.provider.ts +22 -0
  216. package/src/interface/provider/i-ui-action.provider.ts +2 -1
  217. package/src/interface/provider/i-ui-logic-node.provider.ts +20 -14
  218. package/src/interface/provider/i-ui-logic.provider.ts +22 -0
  219. package/src/interface/provider/index.ts +3 -0
  220. package/src/interface/register/i-register-params.ts +31 -7
  221. package/src/interface/ui-logic/i-ui-logic-context.ts +9 -95
  222. package/src/interface/ui-logic/i-ui-logic-link-cond.ts +33 -0
  223. package/src/interface/ui-logic/i-ui-logic-link.ts +47 -0
  224. package/src/interface/ui-logic/i-ui-logic-node.ts +9 -0
  225. package/src/interface/{common/i-ui-logic-params → ui-logic}/i-ui-logic-params.ts +3 -5
  226. package/src/interface/ui-logic/i-ui-logic.ts +23 -0
  227. package/src/interface/ui-logic/index.ts +9 -0
  228. package/src/locale/en/index.ts +18 -0
  229. package/src/locale/zh-CN/index.ts +17 -0
  230. package/src/register/custom-register.ts +69 -12
  231. package/src/register/helper/app-menu-item-register.ts +26 -13
  232. package/src/register/helper/de-logic-node-register.ts +76 -0
  233. package/src/register/helper/de-logic-register.ts +63 -0
  234. package/src/register/helper/index.ts +3 -0
  235. package/src/register/helper/portlet-register.ts +23 -22
  236. package/src/register/helper/toolbar-item-register.ts +32 -19
  237. package/src/register/helper/ui-logic-node-register.ts +79 -25
  238. package/src/register/helper/ui-logic-register.ts +63 -0
  239. package/src/service/service/entity/method/de-action.ts +7 -1
  240. package/src/ui-logic/index.ts +17 -16
  241. package/src/ui-logic/provider.ts +122 -0
  242. package/src/ui-logic/ui-logic-context.ts +1 -1
  243. package/src/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.ts +18 -5
  244. package/src/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.ts +5 -1
  245. package/src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts +5 -1
  246. package/src/ui-logic/ui-logic-link/ui-logic-link.ts +6 -7
  247. package/src/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.ts +3 -3
  248. package/src/ui-logic/ui-logic-node/ui-logic-node.ts +9 -14
  249. package/src/ui-logic/ui-logic.ts +46 -141
  250. package/src/utils/dr-ctrl-util/index.ts +7 -1
  251. package/out/interface/common/i-ui-logic-params/i-ui-logic-params.d.ts.map +0 -1
  252. /package/out/interface/{common/i-ui-logic-params/i-ui-logic-params.js → api/common/i-api-de-logic-params.js} +0 -0
@@ -1,10 +1,16 @@
1
- import { IAppUIAction, IDEUIPFPluginLogic } from '@ibiz/model-core';
1
+ import {
2
+ IDEUILogic,
3
+ IDEUILogicNode,
4
+ IAppDataEntity,
5
+ IDEUIPFPluginLogic,
6
+ } from '@ibiz/model-core';
2
7
  import { RuntimeError } from '@ibiz-template/core';
3
8
  import { getPluginRegisterKey } from './common-register';
4
9
  import { IUILogicNodeProvider } from '../../interface';
10
+ import { CustomRegister } from '../custom-register';
5
11
 
6
12
  /** 界面逻辑节点适配器前缀 */
7
- export const UILOGINNODE_PROVIDER_PREFIX = 'UI_LOGIN_NODE';
13
+ export const UILOGICNODE_PROVIDER_PREFIX = 'UI_LOGIC_NODE';
8
14
 
9
15
  /**
10
16
  * 注册界面逻辑节点适配器
@@ -17,38 +23,86 @@ export const UILOGINNODE_PROVIDER_PREFIX = 'UI_LOGIN_NODE';
17
23
  */
18
24
  export function registerUILogicNodeProvider(
19
25
  key: string,
20
- callback: () => IUILogicNodeProvider,
26
+ callback: (node: IDEUILogicNode) => IUILogicNodeProvider,
21
27
  ): void {
22
- ibiz.register.register(`${UILOGINNODE_PROVIDER_PREFIX}_${key}`, callback);
28
+ ibiz.register.register(`${UILOGICNODE_PROVIDER_PREFIX}_${key}`, callback);
29
+ }
30
+
31
+ function getProvider(
32
+ key: string,
33
+ logic: IDEUILogicNode,
34
+ ): IUILogicNodeProvider | undefined {
35
+ return ibiz.register.get(
36
+ `${UILOGICNODE_PROVIDER_PREFIX}_${key}`,
37
+ logic,
38
+ ) as IUILogicNodeProvider;
23
39
  }
24
40
 
25
41
  /**
26
- * 获取界面逻辑节点适配器
27
- *
28
- * @author chitanda
29
- * @date 2023-11-01 17:11:43
42
+ * @description 获取界面逻辑节点插件适配器
30
43
  * @export
31
44
  * @param {IDEUIPFPluginLogic} model
32
- * @return {*} {Promise<IUILogicNodeProvider>}
45
+ * @returns {*} {(Promise<IUILogicNodeProvider | undefined>)}
33
46
  */
34
- export async function getUILogicNodeProvider(
47
+ export async function getUILogicNodePluginProvider(
35
48
  model: IDEUIPFPluginLogic,
36
49
  ): Promise<IUILogicNodeProvider | undefined> {
37
50
  let provider: IUILogicNodeProvider | undefined;
38
- const { sysPFPluginId, appId } = model as Required<IAppUIAction>;
39
-
40
- const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
41
- if (pluginKey) {
42
- provider = ibiz.register.get(
43
- `${UILOGINNODE_PROVIDER_PREFIX}_${pluginKey}`,
44
- ) as IUILogicNodeProvider;
45
- if (provider) {
46
- return provider;
47
- }
48
- throw new RuntimeError(
49
- ibiz.i18n.t('runtime.register.helper.frontEndPluginNode', {
50
- pluginKey,
51
- }),
52
- );
51
+ const { sysPFPluginId, appId } = model;
52
+ if (sysPFPluginId) {
53
+ const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
54
+ if (pluginKey) provider = getProvider(pluginKey, model);
55
+ if (!provider)
56
+ ibiz.log.warn(
57
+ ibiz.i18n.t('runtime.register.helper.frontEndPluginNode', {
58
+ pluginKey,
59
+ }),
60
+ );
53
61
  }
62
+ return provider;
63
+ }
64
+
65
+ /**
66
+ * @description 获取界面逻辑节点适配器
67
+ * @export
68
+ * @param {IDEUILogicNode} model
69
+ * @returns {*} {(Promise<IUILogicNodeProvider>)}
70
+ */
71
+ export async function getUILogicNodeProvider(
72
+ model: IDEUILogicNode,
73
+ logic: IDEUILogic,
74
+ entity: IAppDataEntity,
75
+ ): Promise<IUILogicNodeProvider> {
76
+ let provider: IUILogicNodeProvider | undefined;
77
+ const { logicNodeType } = model as Required<IDEUIPFPluginLogic>;
78
+
79
+ // 自定义注册
80
+ const registerKey = CustomRegister.getRegisterKey(
81
+ UILOGICNODE_PROVIDER_PREFIX,
82
+ {
83
+ mainModel: model,
84
+ logic,
85
+ entity,
86
+ },
87
+ );
88
+ provider = getProvider(registerKey, model);
89
+ if (provider) return provider;
90
+ ibiz.log.debug(
91
+ ibiz.i18n.t('runtime.register.helper.uiLogicNodeCustomRegistration', {
92
+ registerKey,
93
+ }),
94
+ );
95
+
96
+ // 找插件适配器
97
+ provider = await getUILogicNodePluginProvider(model);
98
+ if (provider) return provider;
99
+
100
+ // 找节点类型适配器
101
+ provider = getProvider(logicNodeType, model);
102
+ if (provider) return provider;
103
+ throw new RuntimeError(
104
+ ibiz.i18n.t('runtime.register.helper.frontEndTypeNode', {
105
+ logicNodeType,
106
+ }),
107
+ );
54
108
  }
@@ -0,0 +1,63 @@
1
+ import { IAppDataEntity, IDEUILogic } from '@ibiz/model-core';
2
+ import { RuntimeError } from '@ibiz-template/core';
3
+ import { IUILogicProvider } from '../../interface';
4
+ import { CustomRegister } from '../custom-register';
5
+
6
+ /** 界面逻辑适配器前缀 */
7
+ export const UILOGIC_PROVIDER_PREFIX = 'UILOGIC';
8
+
9
+ /**
10
+ * @description 注册界面逻辑适配器
11
+ * @export
12
+ * @param {string} key
13
+ * @param {Callback} callback
14
+ */
15
+ export function registerUILogicProvider(
16
+ key: string,
17
+ callback: (uiLogic: IDEUILogic, entity: IAppDataEntity) => IUILogicProvider,
18
+ ): void {
19
+ ibiz.register.register(`${UILOGIC_PROVIDER_PREFIX}_${key}`, callback);
20
+ }
21
+
22
+ function getProvider(
23
+ key: string,
24
+ uiLogic: IDEUILogic,
25
+ entity: IAppDataEntity,
26
+ ): IUILogicProvider | undefined {
27
+ return ibiz.register.get(
28
+ `${UILOGIC_PROVIDER_PREFIX}_${key}`,
29
+ uiLogic,
30
+ entity,
31
+ ) as IUILogicProvider;
32
+ }
33
+
34
+ /**
35
+ * @description 获取界面逻辑适配器
36
+ * @export
37
+ * @param {IDEUILogic} model
38
+ * @param {IAppDataEntity} entity
39
+ * @returns {*} {IUILogicProvider}
40
+ */
41
+ export function getUILogicProvider(
42
+ mainModel: IDEUILogic,
43
+ entity: IAppDataEntity,
44
+ ): IUILogicProvider {
45
+ // 找自定义注册的适配器
46
+ const registerKey = CustomRegister.getRegisterKey(UILOGIC_PROVIDER_PREFIX, {
47
+ mainModel,
48
+ entity,
49
+ });
50
+ let provider = getProvider(registerKey, mainModel, entity);
51
+ if (provider) return provider;
52
+ ibiz.log.debug(
53
+ ibiz.i18n.t('runtime.register.helper.uiLogicCustomRegistration', {
54
+ registerKey,
55
+ }),
56
+ );
57
+
58
+ // 找默认适配器
59
+ provider = getProvider('DEFAULT', mainModel, entity);
60
+ if (!provider)
61
+ throw new RuntimeError(ibiz.i18n.t('runtime.register.helper.uiLogic'));
62
+ return provider;
63
+ }
@@ -111,7 +111,13 @@ export class DEActionMethod extends Method {
111
111
  ibiz.i18n.t('runtime.service.lackEntityLogic'),
112
112
  );
113
113
  }
114
- result = await execDELogicAction(deLogic, context, data, params);
114
+ result = await execDELogicAction(
115
+ deLogic,
116
+ this.entity,
117
+ context,
118
+ data,
119
+ params,
120
+ );
115
121
  } else {
116
122
  if (data) {
117
123
  if (!this.isLocalMode) {
@@ -1,25 +1,20 @@
1
1
  import { RuntimeError } from '@ibiz-template/core';
2
2
  import { IDEUILogic } from '@ibiz/model-core';
3
- import { IUILogicParams } from '../interface';
4
- import { UILogic } from './ui-logic';
3
+ import { IUILogicParams, IUILogicProvider } from '../interface';
4
+ import { getUILogicProvider } from '../register';
5
5
 
6
6
  /**
7
- * 界面行为实例缓存
7
+ * 界面逻辑实例缓存
8
8
  */
9
- const uiLogicMap: WeakMap<IDEUILogic, UILogic> = new Map();
9
+ const uiLogicMap: WeakMap<IDEUILogic, IUILogicProvider> = new Map();
10
10
 
11
11
  /**
12
- * 执行界面行为
13
- *
14
- * @author chitanda
15
- * @date 2023-02-09 11:02:23
12
+ * @description 执行界面逻辑
16
13
  * @export
17
- * @param {IPSDEUILogic} deUILogic
18
- * @param {IContext} context
19
- * @param {(IData[] | null)} data
20
- * @param {IParams} params
21
- * @param {IParams} [opt]
22
- * @return {*} {Promise<unknown>}
14
+ * @param {string} deUILogicId 界面逻辑标识
15
+ * @param {string} appDataEntityId 应用实体标识
16
+ * @param {IUILogicParams} parameters 界面逻辑参数
17
+ * @returns {*} {Promise<unknown>}
23
18
  */
24
19
  export async function execUILogic(
25
20
  deUILogicId: string,
@@ -28,7 +23,11 @@ export async function execUILogic(
28
23
  ): Promise<unknown> {
29
24
  const app = ibiz.hub.getApp(parameters.context.srfappid);
30
25
  const deUILogic = await app.getDEUILogic(deUILogicId, appDataEntityId);
31
- if (!deUILogic) {
26
+ const appDataEntity = await ibiz.hub.getAppDataEntity(
27
+ appDataEntityId,
28
+ parameters.context.srfappid,
29
+ );
30
+ if (!deUILogic || !appDataEntity) {
32
31
  throw new RuntimeError(
33
32
  ibiz.i18n.t('runtime.uiLogic.interfaceLogic', {
34
33
  appDataEntityId,
@@ -37,7 +36,9 @@ export async function execUILogic(
37
36
  );
38
37
  }
39
38
  if (!uiLogicMap.has(deUILogic)) {
40
- uiLogicMap.set(deUILogic, new UILogic(deUILogic));
39
+ const provider = getUILogicProvider(deUILogic, appDataEntity);
40
+ await provider.init();
41
+ uiLogicMap.set(deUILogic, provider);
41
42
  }
42
43
  ibiz.log.debug(
43
44
  ibiz.i18n.t('runtime.uiLogic.startExecutingInterfaceLogic', {
@@ -0,0 +1,122 @@
1
+ import { IAppDataEntity, IDEUILogic, IDEUILogicNode } from '@ibiz/model-core';
2
+ import {
3
+ registerUILogicProvider,
4
+ registerUILogicNodeProvider,
5
+ } from '../register';
6
+ import { UILogic } from './ui-logic';
7
+ import {
8
+ EndNode,
9
+ StartNode,
10
+ MsgBoxNode,
11
+ DataSetNode,
12
+ DEActionNode,
13
+ PFPluginNode,
14
+ RawJSCodeNode,
15
+ SortParamNode,
16
+ BindParamNode,
17
+ CopyParamNode,
18
+ RenewParamNode,
19
+ ResetParamNode,
20
+ DebugParamNode,
21
+ DEUIActionNode,
22
+ AppendParamNode,
23
+ PrepareJSParamNode,
24
+ ExecuteDELogicNode,
25
+ ThrowExceptionNode,
26
+ ViewCtrlInvokeNode,
27
+ ViewCtrlFireEventNode,
28
+ } from './ui-logic-node';
29
+
30
+ /**
31
+ * @description 注册界面逻辑适配器
32
+ * @export
33
+ */
34
+ export function presetUILogicProvider(): void {
35
+ // 注册默认界面逻辑
36
+ registerUILogicProvider(
37
+ 'DEFAULT',
38
+ (uiLogic: IDEUILogic, entity: IAppDataEntity) =>
39
+ new UILogic(uiLogic, entity),
40
+ );
41
+ // 注册界面逻辑节点
42
+ registerUILogicNodeProvider(
43
+ 'BEGIN',
44
+ (node: IDEUILogicNode) => new StartNode(node),
45
+ );
46
+ registerUILogicNodeProvider(
47
+ 'END',
48
+ (node: IDEUILogicNode) => new EndNode(node),
49
+ );
50
+ registerUILogicNodeProvider(
51
+ 'DEACTION',
52
+ (node: IDEUILogicNode) => new DEActionNode(node),
53
+ );
54
+ registerUILogicNodeProvider(
55
+ 'DEUIACTION',
56
+ (node: IDEUILogicNode) => new DEUIActionNode(node),
57
+ );
58
+ registerUILogicNodeProvider(
59
+ 'PREPAREJSPARAM',
60
+ (node: IDEUILogicNode) => new PrepareJSParamNode(node),
61
+ );
62
+ registerUILogicNodeProvider(
63
+ 'RESETPARAM',
64
+ (node: IDEUILogicNode) => new ResetParamNode(node),
65
+ );
66
+ registerUILogicNodeProvider(
67
+ 'COPYPARAM',
68
+ (node: IDEUILogicNode) => new CopyParamNode(node),
69
+ );
70
+ registerUILogicNodeProvider(
71
+ 'BINDPARAM',
72
+ (node: IDEUILogicNode) => new BindParamNode(node),
73
+ );
74
+ registerUILogicNodeProvider(
75
+ 'VIEWCTRLINVOKE',
76
+ (node: IDEUILogicNode) => new ViewCtrlInvokeNode(node),
77
+ );
78
+ registerUILogicNodeProvider(
79
+ 'MSGBOX',
80
+ (node: IDEUILogicNode) => new MsgBoxNode(node),
81
+ );
82
+ registerUILogicNodeProvider(
83
+ 'DEBUGPARAM',
84
+ (node: IDEUILogicNode) => new DebugParamNode(node),
85
+ );
86
+ registerUILogicNodeProvider(
87
+ 'APPENDPARAM',
88
+ (node: IDEUILogicNode) => new AppendParamNode(node),
89
+ );
90
+ registerUILogicNodeProvider(
91
+ 'SORTPARAM',
92
+ (node: IDEUILogicNode) => new SortParamNode(node),
93
+ );
94
+ registerUILogicNodeProvider(
95
+ 'RENEWPARAM',
96
+ (node: IDEUILogicNode) => new RenewParamNode(node),
97
+ );
98
+ registerUILogicNodeProvider(
99
+ 'DEDATASET',
100
+ (node: IDEUILogicNode) => new DataSetNode(node),
101
+ );
102
+ registerUILogicNodeProvider(
103
+ 'THROWEXCEPTION',
104
+ (node: IDEUILogicNode) => new ThrowExceptionNode(node),
105
+ );
106
+ registerUILogicNodeProvider(
107
+ 'VIEWCTRLFIREEVENT',
108
+ (node: IDEUILogicNode) => new ViewCtrlFireEventNode(node),
109
+ );
110
+ registerUILogicNodeProvider(
111
+ 'DELOGIC',
112
+ (node: IDEUILogicNode) => new ExecuteDELogicNode(node),
113
+ );
114
+ registerUILogicNodeProvider(
115
+ 'PFPLUGIN',
116
+ (node: IDEUILogicNode) => new PFPluginNode(node),
117
+ );
118
+ registerUILogicNodeProvider(
119
+ 'RAWJSCODE',
120
+ (node: IDEUILogicNode) => new RawJSCodeNode(node),
121
+ );
122
+ }
@@ -51,7 +51,7 @@ export class UILogicContext implements IUILogicContext {
51
51
  /**
52
52
  * 数据
53
53
  */
54
- get data(): IData {
54
+ get data(): IData[] {
55
55
  return this.parameters.data;
56
56
  }
57
57
 
@@ -1,9 +1,22 @@
1
+ import { IUILogicLinkCond } from '../../../interface';
2
+ import { UILogicContext } from '../../ui-logic-context';
3
+
1
4
  /**
2
- * 界面逻辑连接条件
3
- *
4
- * @author chitanda
5
- * @date 2023-02-10 15:02:28
5
+ * @description 界面逻辑连接条件
6
6
  * @export
7
+ * @abstract
7
8
  * @class UILogicLinkCond
9
+ * @implements {IUILogicLinkCond}
8
10
  */
9
- export abstract class UILogicLinkCond {}
11
+ export abstract class UILogicLinkCond implements IUILogicLinkCond {
12
+ /**
13
+ * @description 条件判断
14
+ * @abstract
15
+ * @param {UILogicContext} ctx 界面逻辑执行上下文
16
+ * @param {IContext} context 上下文
17
+ * @param {IData} data 逻辑数据
18
+ * @returns {*} {boolean}
19
+ * @memberof UILogicLinkCond
20
+ */
21
+ abstract test(ctx: UILogicContext, context: IContext, data: IData): boolean;
22
+ }
@@ -6,6 +6,7 @@ import {
6
6
  import { UILogicContext } from '../../ui-logic-context';
7
7
  import { UILogicLinkCond } from '../ui-logic-link-cond/ui-logic-link-cond';
8
8
  import { UILogicLinkSingleCond } from '../ui-logic-link-single-cond/ui-logic-link-single-cond';
9
+ import { IUILogicLinkGroupCond } from '../../../interface';
9
10
 
10
11
  /**
11
12
  * 界面逻辑连接条件组
@@ -16,7 +17,10 @@ import { UILogicLinkSingleCond } from '../ui-logic-link-single-cond/ui-logic-lin
16
17
  * @class UILogicLinkGroupCond
17
18
  * @extends {UILogicLinkCond}
18
19
  */
19
- export class UILogicLinkGroupCond extends UILogicLinkCond {
20
+ export class UILogicLinkGroupCond
21
+ extends UILogicLinkCond
22
+ implements IUILogicLinkGroupCond
23
+ {
20
24
  /**
21
25
  * 操作标识
22
26
  *
@@ -5,6 +5,7 @@ import { testCond } from '../../../utils';
5
5
  import { UILogicContext } from '../../ui-logic-context';
6
6
  import { handleSrcVal } from '../../utils';
7
7
  import { UILogicLinkCond } from '../ui-logic-link-cond/ui-logic-link-cond';
8
+ import { IUILogicLinkSingleCond } from '../../../interface';
8
9
 
9
10
  /**
10
11
  * 界面逻辑连接条件项
@@ -15,7 +16,10 @@ import { UILogicLinkCond } from '../ui-logic-link-cond/ui-logic-link-cond';
15
16
  * @class UILogicLinkSingleCond
16
17
  * @extends {UILogicLinkCond}
17
18
  */
18
- export class UILogicLinkSingleCond extends UILogicLinkCond {
19
+ export class UILogicLinkSingleCond
20
+ extends UILogicLinkCond
21
+ implements IUILogicLinkSingleCond
22
+ {
19
23
  /**
20
24
  * 源参数
21
25
  *
@@ -3,6 +3,7 @@ import { IDEUILogicLink } from '@ibiz/model-core';
3
3
  import { UILogicContext } from '../ui-logic-context';
4
4
  import { UILogicNode } from '../ui-logic-node/ui-logic-node';
5
5
  import { UILogicLinkGroupCond } from './ui-logic-link-group-cond/ui-logic-link-group-cond';
6
+ import { IUILogicLink, IUILogicLinkGroupCond } from '../../interface';
6
7
 
7
8
  /**
8
9
  * 界面逻辑连接
@@ -12,7 +13,7 @@ import { UILogicLinkGroupCond } from './ui-logic-link-group-cond/ui-logic-link-g
12
13
  * @export
13
14
  * @class UILogicLink
14
15
  */
15
- export class UILogicLink {
16
+ export class UILogicLink implements IUILogicLink {
16
17
  /**
17
18
  * 源节点
18
19
  *
@@ -32,13 +33,11 @@ export class UILogicLink {
32
33
  dstNode: UILogicNode | null = null;
33
34
 
34
35
  /**
35
- * 连接条件组
36
- *
37
- * @author chitanda
38
- * @date 2023-02-15 17:02:49
39
- * @type {(UILogicLinkGroupCond | null)}
36
+ * @description 连接条件组
37
+ * @type {(IUILogicLinkGroupCond | null)}
38
+ * @memberof UILogicLink
40
39
  */
41
- groupCond: UILogicLinkGroupCond | null = null;
40
+ groupCond: IUILogicLinkGroupCond | null = null;
42
41
 
43
42
  /**
44
43
  * Creates an instance of UILogicLink.
@@ -1,7 +1,7 @@
1
1
  import { IDEUIPFPluginLogic } from '@ibiz/model-core';
2
2
  import { UILogicContext } from '../../ui-logic-context';
3
3
  import { UILogicNode } from '../ui-logic-node';
4
- import { getUILogicNodeProvider } from '../../../register';
4
+ import { getUILogicNodePluginProvider } from '../../../register';
5
5
 
6
6
  /**
7
7
  * 前端插件节点
@@ -22,9 +22,9 @@ export class PFPluginNode extends UILogicNode {
22
22
  sysPFPluginId: this.model.sysPFPluginId,
23
23
  }),
24
24
  );
25
- const provider = await getUILogicNodeProvider(this.model);
25
+ const provider = await getUILogicNodePluginProvider(this.model);
26
26
  if (provider) {
27
- await provider.exec(this.model, ctx);
27
+ await provider.exec(ctx);
28
28
  }
29
29
  }
30
30
  }
@@ -1,6 +1,7 @@
1
1
  import { IDEUILogicNode } from '@ibiz/model-core';
2
2
  import { UILogicContext } from '../ui-logic-context';
3
3
  import { UILogicLink } from '../ui-logic-link/ui-logic-link';
4
+ import { IUILogicNode } from '../../interface';
4
5
 
5
6
  /**
6
7
  * 逻辑节点
@@ -10,7 +11,7 @@ import { UILogicLink } from '../ui-logic-link/ui-logic-link';
10
11
  * @export
11
12
  * @class UILogicNode
12
13
  */
13
- export abstract class UILogicNode {
14
+ export abstract class UILogicNode implements IUILogicNode {
14
15
  /**
15
16
  * 节点连接
16
17
  *
@@ -22,10 +23,8 @@ export abstract class UILogicNode {
22
23
 
23
24
  /**
24
25
  * Creates an instance of UILogicNode.
25
- *
26
- * @author chitanda
27
- * @date 2023-02-08 16:02:19
28
- * @param {UILogicNodeModel} model
26
+ * @param {IDEUILogicNode} model
27
+ * @memberof UILogicNode
29
28
  */
30
29
  constructor(public model: IDEUILogicNode) {
31
30
  this.links = (model.deuilogicLinks || []).map(
@@ -34,15 +33,11 @@ export abstract class UILogicNode {
34
33
  }
35
34
 
36
35
  /**
37
- * 执行界面行为
38
- *
39
- * @description 此实现无需关心是否循环后续处理问题
40
- * @author chitanda
41
- * @date 2023-02-08 22:02:44
42
- * @param {UILogicContext} ctx
43
- * @param {IContext} context
44
- * @param {IData} data
45
- * @param {IParams} [opt]
36
+ * @description 执行逻辑
37
+ * @abstract
38
+ * @param {UILogicContext} ctx 界面逻辑执行上下文
39
+ * @returns {*} {Promise<void>}
40
+ * @memberof UILogicNode
46
41
  */
47
42
  abstract exec(ctx: UILogicContext): Promise<void>;
48
43
  }