@ibiz-template/runtime 0.7.41-alpha.125 → 0.7.41-alpha.127

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 (263) hide show
  1. package/dist/index.esm.js +37832 -37545
  2. package/dist/index.system.min.js +1 -1
  3. package/out/app-hub.d.ts +8 -0
  4. package/out/app-hub.d.ts.map +1 -1
  5. package/out/app-hub.js +25 -0
  6. package/out/application.d.ts +0 -7
  7. package/out/application.d.ts.map +1 -1
  8. package/out/application.js +0 -21
  9. package/out/controller/control/app-menu/app-menu.controller.js +1 -1
  10. package/out/controller/control/toolbar/toolbar.controller.js +1 -1
  11. package/out/controller/control/tree/tree.service.d.ts.map +1 -1
  12. package/out/controller/control/tree/tree.service.js +1 -1
  13. package/out/controller/utils/view-msg/view-msg-controller.d.ts.map +1 -1
  14. package/out/controller/utils/view-msg/view-msg-controller.js +1 -1
  15. package/out/de-logic/de-logic-context.d.ts +4 -13
  16. package/out/de-logic/de-logic-context.d.ts.map +1 -1
  17. package/out/de-logic/de-logic-context.js +2 -3
  18. package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.d.ts +15 -5
  19. package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.d.ts.map +1 -1
  20. package/out/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.js +3 -4
  21. package/out/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.d.ts +2 -1
  22. package/out/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.d.ts.map +1 -1
  23. package/out/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.d.ts +2 -1
  24. package/out/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.d.ts.map +1 -1
  25. package/out/de-logic/de-logic-link/de-logic-link.d.ts +6 -7
  26. package/out/de-logic/de-logic-link/de-logic-link.d.ts.map +1 -1
  27. package/out/de-logic/de-logic-link/de-logic-link.js +3 -4
  28. package/out/de-logic/de-logic-node/de-logic-node.d.ts +2 -1
  29. package/out/de-logic/de-logic-node/de-logic-node.d.ts.map +1 -1
  30. package/out/de-logic/de-logic-node/index.d.ts +1 -0
  31. package/out/de-logic/de-logic-node/index.d.ts.map +1 -1
  32. package/out/de-logic/de-logic-node/index.js +1 -0
  33. package/out/de-logic/de-logic.d.ts +31 -37
  34. package/out/de-logic/de-logic.d.ts.map +1 -1
  35. package/out/de-logic/de-logic.js +49 -98
  36. package/out/de-logic/index.d.ts +31 -40
  37. package/out/de-logic/index.d.ts.map +1 -1
  38. package/out/de-logic/index.js +57 -76
  39. package/out/de-logic/provider.d.ts +6 -0
  40. package/out/de-logic/provider.d.ts.map +1 -0
  41. package/out/de-logic/provider.js +25 -0
  42. package/out/install.d.ts.map +1 -1
  43. package/out/install.js +6 -0
  44. package/out/interface/api/app/i-api-app-hub-service.d.ts +7 -0
  45. package/out/interface/api/app/i-api-app-hub-service.d.ts.map +1 -1
  46. package/out/interface/api/common/i-api-de-logic-params.d.ts +9 -0
  47. package/out/interface/api/common/i-api-de-logic-params.d.ts.map +1 -0
  48. package/out/interface/api/common/i-api-logic-context.d.ts +83 -0
  49. package/out/interface/api/common/i-api-logic-context.d.ts.map +1 -0
  50. package/out/interface/api/common/i-api-logic-context.js +1 -0
  51. package/out/interface/api/common/i-api-logic-params.d.ts +27 -0
  52. package/out/interface/api/common/i-api-logic-params.d.ts.map +1 -0
  53. package/out/interface/api/common/i-api-logic-params.js +1 -0
  54. package/out/interface/api/common/i-api-ui-logic-params.d.ts +3 -21
  55. package/out/interface/api/common/i-api-ui-logic-params.d.ts.map +1 -1
  56. package/out/interface/api/common/index.d.ts +2 -0
  57. package/out/interface/api/common/index.d.ts.map +1 -1
  58. package/out/interface/api/controller/control/form-detail/i-api-form-detail.controller.d.ts +1 -1
  59. package/out/interface/common/i-logic-context/i-logic-context.d.ts +27 -0
  60. package/out/interface/common/i-logic-context/i-logic-context.d.ts.map +1 -0
  61. package/out/interface/common/i-logic-context/i-logic-context.js +1 -0
  62. package/out/interface/common/i-logic-link-cond/i-logic-link-cond.d.ts +18 -0
  63. package/out/interface/common/i-logic-link-cond/i-logic-link-cond.d.ts.map +1 -0
  64. package/out/interface/common/i-logic-link-cond/i-logic-link-cond.js +1 -0
  65. package/out/interface/common/index.d.ts +2 -1
  66. package/out/interface/common/index.d.ts.map +1 -1
  67. package/out/interface/de-logic/i-de-logic-context.d.ts +10 -0
  68. package/out/interface/de-logic/i-de-logic-context.d.ts.map +1 -0
  69. package/out/interface/de-logic/i-de-logic-context.js +1 -0
  70. package/out/interface/de-logic/i-de-logic-link-cond.d.ts +33 -0
  71. package/out/interface/de-logic/i-de-logic-link-cond.d.ts.map +1 -0
  72. package/out/interface/de-logic/i-de-logic-link-cond.js +1 -0
  73. package/out/interface/de-logic/i-de-logic-link.d.ts +43 -0
  74. package/out/interface/de-logic/i-de-logic-link.d.ts.map +1 -0
  75. package/out/interface/de-logic/i-de-logic-link.js +1 -0
  76. package/out/interface/de-logic/i-de-logic-node.d.ts +10 -0
  77. package/out/interface/de-logic/i-de-logic-node.d.ts.map +1 -0
  78. package/out/interface/de-logic/i-de-logic-node.js +1 -0
  79. package/out/interface/de-logic/i-de-logic-params.d.ts +10 -0
  80. package/out/interface/de-logic/i-de-logic-params.d.ts.map +1 -0
  81. package/out/interface/de-logic/i-de-logic-params.js +1 -0
  82. package/out/interface/de-logic/i-de-logic.d.ts +23 -0
  83. package/out/interface/de-logic/i-de-logic.d.ts.map +1 -0
  84. package/out/interface/de-logic/i-de-logic.js +1 -0
  85. package/out/interface/de-logic/index.d.ts +7 -0
  86. package/out/interface/de-logic/index.d.ts.map +1 -0
  87. package/out/interface/de-logic/index.js +1 -0
  88. package/out/interface/index.d.ts +1 -0
  89. package/out/interface/index.d.ts.map +1 -1
  90. package/out/interface/index.js +1 -0
  91. package/out/interface/provider/i-de-logic-node.provider.d.ts +29 -0
  92. package/out/interface/provider/i-de-logic-node.provider.d.ts.map +1 -0
  93. package/out/interface/provider/i-de-logic-node.provider.js +1 -0
  94. package/out/interface/provider/i-de-logic.provider.d.ts +22 -0
  95. package/out/interface/provider/i-de-logic.provider.d.ts.map +1 -0
  96. package/out/interface/provider/i-de-logic.provider.js +1 -0
  97. package/out/interface/provider/i-ui-action.provider.d.ts +2 -1
  98. package/out/interface/provider/i-ui-action.provider.d.ts.map +1 -1
  99. package/out/interface/provider/i-ui-logic-node.provider.d.ts +20 -14
  100. package/out/interface/provider/i-ui-logic-node.provider.d.ts.map +1 -1
  101. package/out/interface/provider/i-ui-logic.provider.d.ts +22 -0
  102. package/out/interface/provider/i-ui-logic.provider.d.ts.map +1 -0
  103. package/out/interface/provider/i-ui-logic.provider.js +1 -0
  104. package/out/interface/provider/index.d.ts +3 -0
  105. package/out/interface/provider/index.d.ts.map +1 -1
  106. package/out/interface/register/i-register-params.d.ts +17 -7
  107. package/out/interface/register/i-register-params.d.ts.map +1 -1
  108. package/out/interface/ui-logic/i-ui-logic-context.d.ts +8 -83
  109. package/out/interface/ui-logic/i-ui-logic-context.d.ts.map +1 -1
  110. package/out/interface/ui-logic/i-ui-logic-link-cond.d.ts +33 -0
  111. package/out/interface/ui-logic/i-ui-logic-link-cond.d.ts.map +1 -0
  112. package/out/interface/ui-logic/i-ui-logic-link-cond.js +1 -0
  113. package/out/interface/ui-logic/i-ui-logic-link.d.ts +43 -0
  114. package/out/interface/ui-logic/i-ui-logic-link.d.ts.map +1 -0
  115. package/out/interface/ui-logic/i-ui-logic-link.js +1 -0
  116. package/out/interface/ui-logic/i-ui-logic-node.d.ts +10 -0
  117. package/out/interface/ui-logic/i-ui-logic-node.d.ts.map +1 -0
  118. package/out/interface/ui-logic/i-ui-logic-node.js +1 -0
  119. package/out/interface/{common/i-ui-logic-params → ui-logic}/i-ui-logic-params.d.ts +3 -5
  120. package/out/interface/ui-logic/i-ui-logic-params.d.ts.map +1 -0
  121. package/out/interface/ui-logic/i-ui-logic-params.js +1 -0
  122. package/out/interface/ui-logic/i-ui-logic.d.ts +23 -0
  123. package/out/interface/ui-logic/i-ui-logic.d.ts.map +1 -0
  124. package/out/interface/ui-logic/i-ui-logic.js +1 -0
  125. package/out/interface/ui-logic/index.d.ts +5 -0
  126. package/out/interface/ui-logic/index.d.ts.map +1 -1
  127. package/out/locale/en/index.d.ts +11 -3
  128. package/out/locale/en/index.d.ts.map +1 -1
  129. package/out/locale/en/index.js +11 -3
  130. package/out/locale/zh-CN/index.d.ts +11 -3
  131. package/out/locale/zh-CN/index.d.ts.map +1 -1
  132. package/out/locale/zh-CN/index.js +11 -3
  133. package/out/register/custom-register.d.ts +19 -3
  134. package/out/register/custom-register.d.ts.map +1 -1
  135. package/out/register/custom-register.js +55 -6
  136. package/out/register/helper/app-menu-item-register.d.ts +2 -2
  137. package/out/register/helper/app-menu-item-register.d.ts.map +1 -1
  138. package/out/register/helper/app-menu-item-register.js +21 -10
  139. package/out/register/helper/de-logic-node-register.d.ts +24 -0
  140. package/out/register/helper/de-logic-node-register.d.ts.map +1 -0
  141. package/out/register/helper/de-logic-node-register.js +50 -0
  142. package/out/register/helper/de-logic-register.d.ts +20 -0
  143. package/out/register/helper/de-logic-register.d.ts.map +1 -0
  144. package/out/register/helper/de-logic-register.js +41 -0
  145. package/out/register/helper/index.d.ts +3 -0
  146. package/out/register/helper/index.d.ts.map +1 -1
  147. package/out/register/helper/index.js +3 -0
  148. package/out/register/helper/portlet-register.d.ts +3 -5
  149. package/out/register/helper/portlet-register.d.ts.map +1 -1
  150. package/out/register/helper/portlet-register.js +20 -19
  151. package/out/register/helper/toolbar-item-register.d.ts +5 -7
  152. package/out/register/helper/toolbar-item-register.d.ts.map +1 -1
  153. package/out/register/helper/toolbar-item-register.js +24 -16
  154. package/out/register/helper/ui-logic-node-register.d.ts +13 -9
  155. package/out/register/helper/ui-logic-node-register.d.ts.map +1 -1
  156. package/out/register/helper/ui-logic-node-register.js +51 -17
  157. package/out/register/helper/ui-logic-register.d.ts +20 -0
  158. package/out/register/helper/ui-logic-register.d.ts.map +1 -0
  159. package/out/register/helper/ui-logic-register.js +41 -0
  160. package/out/service/service/entity/method/de-action.d.ts.map +1 -1
  161. package/out/service/service/entity/method/de-action.js +1 -1
  162. package/out/ui-logic/index.d.ts +5 -10
  163. package/out/ui-logic/index.d.ts.map +1 -1
  164. package/out/ui-logic/index.js +12 -14
  165. package/out/ui-logic/provider.d.ts +6 -0
  166. package/out/ui-logic/provider.d.ts.map +1 -0
  167. package/out/ui-logic/provider.js +32 -0
  168. package/out/ui-logic/ui-logic-context.d.ts +1 -1
  169. package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
  170. package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.d.ts +16 -5
  171. package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.d.ts.map +1 -1
  172. package/out/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.js +3 -4
  173. package/out/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.d.ts +2 -1
  174. package/out/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.d.ts.map +1 -1
  175. package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.d.ts +2 -1
  176. package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.d.ts.map +1 -1
  177. package/out/ui-logic/ui-logic-link/ui-logic-link.d.ts +6 -8
  178. package/out/ui-logic/ui-logic-link/ui-logic-link.d.ts.map +1 -1
  179. package/out/ui-logic/ui-logic-link/ui-logic-link.js +3 -5
  180. package/out/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.js +3 -3
  181. package/out/ui-logic/ui-logic-node/ui-logic-node.d.ts +9 -14
  182. package/out/ui-logic/ui-logic-node/ui-logic-node.d.ts.map +1 -1
  183. package/out/ui-logic/ui-logic-node/ui-logic-node.js +2 -4
  184. package/out/ui-logic/ui-logic.d.ts +27 -36
  185. package/out/ui-logic/ui-logic.d.ts.map +1 -1
  186. package/out/ui-logic/ui-logic.js +35 -108
  187. package/out/utils/dr-ctrl-util/index.d.ts.map +1 -1
  188. package/out/utils/dr-ctrl-util/index.js +1 -1
  189. package/package.json +2 -2
  190. package/src/app-hub.ts +28 -0
  191. package/src/application.ts +0 -23
  192. package/src/controller/control/app-menu/app-menu.controller.ts +1 -1
  193. package/src/controller/control/toolbar/toolbar.controller.ts +1 -1
  194. package/src/controller/control/tree/tree.service.ts +1 -0
  195. package/src/controller/utils/view-msg/view-msg-controller.ts +7 -1
  196. package/src/de-logic/de-logic-context.ts +4 -16
  197. package/src/de-logic/de-logic-link/de-logic-link-cond/de-logic-link-cond.ts +17 -5
  198. package/src/de-logic/de-logic-link/de-logic-link-group-cond/de-logic-link-group-cond.ts +5 -1
  199. package/src/de-logic/de-logic-link/de-logic-link-single-cond/de-logic-link-single-cond.ts +5 -1
  200. package/src/de-logic/de-logic-link/de-logic-link.ts +6 -6
  201. package/src/de-logic/de-logic-node/de-logic-node.ts +2 -1
  202. package/src/de-logic/de-logic-node/index.ts +1 -0
  203. package/src/de-logic/de-logic.ts +60 -123
  204. package/src/de-logic/index.ts +66 -85
  205. package/src/de-logic/provider.ts +83 -0
  206. package/src/install.ts +6 -0
  207. package/src/interface/api/app/i-api-app-hub-service.ts +8 -0
  208. package/src/interface/api/common/i-api-de-logic-params.ts +8 -0
  209. package/src/interface/api/common/i-api-logic-context.ts +83 -0
  210. package/src/interface/api/common/i-api-logic-params.ts +29 -0
  211. package/src/interface/api/common/i-api-ui-logic-params.ts +3 -24
  212. package/src/interface/api/common/index.ts +2 -0
  213. package/src/interface/api/controller/control/form-detail/i-api-form-detail.controller.ts +1 -1
  214. package/src/interface/common/i-logic-context/i-logic-context.ts +27 -0
  215. package/src/interface/common/i-logic-link-cond/i-logic-link-cond.ts +18 -0
  216. package/src/interface/common/index.ts +2 -1
  217. package/src/interface/de-logic/i-de-logic-context.ts +9 -0
  218. package/src/interface/de-logic/i-de-logic-link-cond.ts +33 -0
  219. package/src/interface/de-logic/i-de-logic-link.ts +47 -0
  220. package/src/interface/de-logic/i-de-logic-node.ts +9 -0
  221. package/src/interface/de-logic/i-de-logic-params.ts +9 -0
  222. package/src/interface/de-logic/i-de-logic.ts +23 -0
  223. package/src/interface/de-logic/index.ts +10 -0
  224. package/src/interface/index.ts +1 -0
  225. package/src/interface/provider/i-de-logic-node.provider.ts +29 -0
  226. package/src/interface/provider/i-de-logic.provider.ts +22 -0
  227. package/src/interface/provider/i-ui-action.provider.ts +2 -1
  228. package/src/interface/provider/i-ui-logic-node.provider.ts +20 -14
  229. package/src/interface/provider/i-ui-logic.provider.ts +22 -0
  230. package/src/interface/provider/index.ts +3 -0
  231. package/src/interface/register/i-register-params.ts +31 -7
  232. package/src/interface/ui-logic/i-ui-logic-context.ts +9 -95
  233. package/src/interface/ui-logic/i-ui-logic-link-cond.ts +33 -0
  234. package/src/interface/ui-logic/i-ui-logic-link.ts +47 -0
  235. package/src/interface/ui-logic/i-ui-logic-node.ts +9 -0
  236. package/src/interface/{common/i-ui-logic-params → ui-logic}/i-ui-logic-params.ts +3 -5
  237. package/src/interface/ui-logic/i-ui-logic.ts +23 -0
  238. package/src/interface/ui-logic/index.ts +9 -0
  239. package/src/locale/en/index.ts +20 -4
  240. package/src/locale/zh-CN/index.ts +18 -3
  241. package/src/register/custom-register.ts +69 -12
  242. package/src/register/helper/app-menu-item-register.ts +26 -13
  243. package/src/register/helper/de-logic-node-register.ts +76 -0
  244. package/src/register/helper/de-logic-register.ts +63 -0
  245. package/src/register/helper/index.ts +3 -0
  246. package/src/register/helper/portlet-register.ts +23 -22
  247. package/src/register/helper/toolbar-item-register.ts +32 -19
  248. package/src/register/helper/ui-logic-node-register.ts +79 -25
  249. package/src/register/helper/ui-logic-register.ts +63 -0
  250. package/src/service/service/entity/method/de-action.ts +7 -1
  251. package/src/ui-logic/index.ts +17 -16
  252. package/src/ui-logic/provider.ts +122 -0
  253. package/src/ui-logic/ui-logic-context.ts +1 -1
  254. package/src/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.ts +18 -5
  255. package/src/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.ts +5 -1
  256. package/src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts +5 -1
  257. package/src/ui-logic/ui-logic-link/ui-logic-link.ts +6 -7
  258. package/src/ui-logic/ui-logic-node/pf-plugin-node/pf-plugin-node.ts +3 -3
  259. package/src/ui-logic/ui-logic-node/ui-logic-node.ts +9 -14
  260. package/src/ui-logic/ui-logic.ts +46 -141
  261. package/src/utils/dr-ctrl-util/index.ts +7 -1
  262. package/out/interface/common/i-ui-logic-params/i-ui-logic-params.d.ts.map +0 -1
  263. /package/out/interface/{common/i-ui-logic-params/i-ui-logic-params.js → api/common/i-api-de-logic-params.js} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { IDBPortletPart } from '@ibiz/model-core';
2
2
  import { IPortletProvider } from '../../interface';
3
3
  import { getPluginRegisterKey } from './common-register';
4
+ import { CustomRegister } from '../custom-register';
4
5
 
5
6
  /** 门户部件成员适配器前缀 */
6
7
  export const PORTLET_PROVIDER_PREFIX = 'PORTLET';
@@ -27,12 +28,10 @@ function getProvider(key: string): IPortletProvider | undefined {
27
28
  }
28
29
 
29
30
  /**
30
- * 获取门户部件成员适配器
31
- * @author lxm
32
- * @date 2023-05-06 09:29:23
31
+ * @description 获取门户部件成员适配器
33
32
  * @export
34
- * @param {IAppView} model
35
- * @return {*} {Promise<IPortletProvider>}
33
+ * @param {IDBPortletPart} model
34
+ * @returns {*} {(Promise<IPortletProvider | undefined>)}
36
35
  */
37
36
  export async function getPortletProvider(
38
37
  model: IDBPortletPart,
@@ -40,33 +39,35 @@ export async function getPortletProvider(
40
39
  let provider: IPortletProvider | undefined;
41
40
  const { portletType, sysPFPluginId, appId } =
42
41
  model as Required<IDBPortletPart>;
43
-
42
+ const registerKey = CustomRegister.getRegisterKey(PORTLET_PROVIDER_PREFIX, {
43
+ mainModel: model,
44
+ });
45
+ provider = getProvider(registerKey);
46
+ if (provider) return provider;
47
+ ibiz.log.debug(
48
+ ibiz.i18n.t('runtime.register.helper.portalCustomRegistration', {
49
+ registerKey,
50
+ }),
51
+ );
44
52
  // 找插件适配器
45
53
  if (sysPFPluginId) {
46
54
  const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
47
- if (pluginKey) {
48
- provider = getProvider(pluginKey);
49
- }
50
- if (!provider) {
51
- ibiz.log.warn(
52
- ibiz.i18n.t('runtime.register.helper.portalWidgetPlugin', {
53
- pluginKey,
54
- }),
55
- );
56
- } else {
57
- return provider;
58
- }
55
+ if (pluginKey) provider = getProvider(pluginKey);
56
+ if (provider) return provider;
57
+ ibiz.log.warn(
58
+ ibiz.i18n.t('runtime.register.helper.portalWidgetPlugin', {
59
+ pluginKey,
60
+ }),
61
+ );
59
62
  }
60
63
 
61
64
  // 找门户部件成员类型
62
65
  provider = getProvider(portletType);
63
- if (!provider) {
66
+ if (!provider)
64
67
  ibiz.log.warn(
65
68
  ibiz.i18n.t('runtime.register.helper.portalWidgetMemberType', {
66
69
  portletType,
67
70
  }),
68
71
  );
69
- } else {
70
- return provider;
71
- }
72
+ return provider;
72
73
  }
@@ -1,6 +1,7 @@
1
- import { IDEToolbarItem } from '@ibiz/model-core';
1
+ import { IDEToolbar, IDEToolbarItem } from '@ibiz/model-core';
2
2
  import { getPluginRegisterKey } from './common-register';
3
3
  import { IToolbarItemProvider } from '../../interface';
4
+ import { CustomRegister } from '../custom-register';
4
5
 
5
6
  /** 工具栏项适配器前缀 */
6
7
  export const TOOLBAR_ITEM_PROVIDER_PREFIX = 'TOOLBAR_ITEM';
@@ -36,36 +37,48 @@ function getProvider(key: string): IToolbarItemProvider | undefined {
36
37
  }
37
38
 
38
39
  /**
39
- * 获取工具栏项适配器
40
- *
41
- * @author zhanghengfeng
42
- * @date 2024-05-15 18:05:47
40
+ * @description 获取工具栏项适配器
43
41
  * @export
44
42
  * @param {IDEToolbarItem} model
45
- * @return {*} {(Promise<IToolbarItemProvider | undefined>)}
43
+ * @param {IDEToolbar} toolbarModel
44
+ * @returns {*} {(Promise<IToolbarItemProvider | undefined>)}
46
45
  */
47
46
  export async function getToolbarItemProvider(
48
47
  model: IDEToolbarItem,
48
+ toolbarModel: IDEToolbar,
49
49
  ): Promise<IToolbarItemProvider | undefined> {
50
50
  let provider: IToolbarItemProvider | undefined;
51
- const { sysPFPluginId, appId } = model;
51
+ const { sysPFPluginId, appId, itemType } = model as Required<IDEToolbarItem>;
52
+
53
+ // 找自定义注册的适配器
54
+ const registerKey = CustomRegister.getRegisterKey(
55
+ TOOLBAR_ITEM_PROVIDER_PREFIX,
56
+ {
57
+ mainModel: model,
58
+ control: toolbarModel,
59
+ },
60
+ );
61
+ provider = getProvider(registerKey);
62
+ if (provider) return provider;
63
+ ibiz.log.debug(
64
+ ibiz.i18n.t('runtime.register.helper.toolbarItemCustomRegistration', {
65
+ registerKey,
66
+ }),
67
+ );
52
68
 
53
69
  // 找插件适配器
54
70
  if (sysPFPluginId) {
55
71
  const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId);
56
- if (pluginKey) {
57
- provider = getProvider(pluginKey);
58
- }
59
- if (!provider) {
60
- ibiz.log.warn(
61
- ibiz.i18n.t('runtime.register.helper.toolbarItem', {
62
- pluginKey,
63
- }),
64
- );
65
- } else {
66
- return provider;
67
- }
72
+ if (pluginKey) provider = getProvider(pluginKey);
73
+ if (provider) return provider;
74
+ ibiz.log.warn(
75
+ ibiz.i18n.t('runtime.register.helper.toolbarItem', {
76
+ pluginKey,
77
+ }),
78
+ );
68
79
  }
69
80
 
81
+ // 找工具栏项类型
82
+ provider = getProvider(itemType);
70
83
  return provider;
71
84
  }
@@ -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
  }