@ibiz-template/runtime 0.1.28 → 0.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/dist/index.esm.js +2201 -1084
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/app-hub.d.ts +9 -0
  5. package/out/app-hub.d.ts.map +1 -1
  6. package/out/app-hub.js +4 -0
  7. package/out/application.d.ts +9 -1
  8. package/out/application.d.ts.map +1 -1
  9. package/out/application.js +2 -1
  10. package/out/command/app/open-app-view/open-app-view.d.ts +1 -1
  11. package/out/command/app/open-app-view/open-app-view.d.ts.map +1 -1
  12. package/out/command/app/open-app-view/open-app-view.js +16 -5
  13. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  14. package/out/controller/common/control/md-control.controller.js +5 -1
  15. package/out/controller/common/view/view.controller.d.ts +23 -1
  16. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  17. package/out/controller/common/view/view.controller.js +52 -0
  18. package/out/controller/control/dashboard/custom-dashboard.controller.d.ts +69 -0
  19. package/out/controller/control/dashboard/custom-dashboard.controller.d.ts.map +1 -0
  20. package/out/controller/control/dashboard/custom-dashboard.controller.js +85 -0
  21. package/out/controller/control/dashboard/dashboard.controller.d.ts.map +1 -1
  22. package/out/controller/control/dashboard/dashboard.controller.js +2 -6
  23. package/out/controller/control/dashboard/index.d.ts +1 -0
  24. package/out/controller/control/dashboard/index.d.ts.map +1 -1
  25. package/out/controller/control/dashboard/index.js +1 -0
  26. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts +15 -1
  27. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts.map +1 -1
  28. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.js +26 -9
  29. package/out/controller/control/form/edit-form/edit-form.controller.d.ts +11 -2
  30. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  31. package/out/controller/control/form/edit-form/edit-form.controller.js +56 -2
  32. package/out/controller/control/form/edit-form/edit-form.service.js +1 -1
  33. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  34. package/out/controller/control/form/form/form.controller.js +2 -6
  35. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  36. package/out/controller/control/grid/grid/grid.controller.js +5 -10
  37. package/out/controller/control/index.d.ts +2 -0
  38. package/out/controller/control/index.d.ts.map +1 -1
  39. package/out/controller/control/index.js +2 -0
  40. package/out/controller/control/toolbar/toolbar.controllerr.d.ts.map +1 -1
  41. package/out/controller/control/toolbar/toolbar.controllerr.js +8 -8
  42. package/out/controller/control/tree/tree.service.d.ts.map +1 -1
  43. package/out/controller/control/tree/tree.service.js +6 -11
  44. package/out/controller/control/tree-grid/index.d.ts +3 -0
  45. package/out/controller/control/tree-grid/index.d.ts.map +1 -0
  46. package/out/controller/control/tree-grid/index.js +2 -0
  47. package/out/controller/control/tree-grid/tree-grid.controller.d.ts +5 -0
  48. package/out/controller/control/tree-grid/tree-grid.controller.d.ts.map +1 -0
  49. package/out/controller/control/tree-grid/tree-grid.controller.js +3 -0
  50. package/out/controller/control/tree-grid/tree-grid.service.d.ts +13 -0
  51. package/out/controller/control/tree-grid/tree-grid.service.d.ts.map +1 -0
  52. package/out/controller/control/tree-grid/tree-grid.service.js +12 -0
  53. package/out/controller/control/tree-grid-ex/index.d.ts +3 -0
  54. package/out/controller/control/tree-grid-ex/index.d.ts.map +1 -0
  55. package/out/controller/control/tree-grid-ex/index.js +2 -0
  56. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts +134 -0
  57. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts.map +1 -0
  58. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.js +240 -0
  59. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts +65 -0
  60. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts.map +1 -0
  61. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.js +143 -0
  62. package/out/controller/utils/event/controller-event.d.ts +7 -0
  63. package/out/controller/utils/event/controller-event.d.ts.map +1 -1
  64. package/out/controller/utils/event/controller-event.js +12 -0
  65. package/out/controller/utils/view-msg/index.d.ts +2 -0
  66. package/out/controller/utils/view-msg/index.d.ts.map +1 -0
  67. package/out/controller/utils/view-msg/index.js +1 -0
  68. package/out/controller/utils/view-msg/view-msg-controller.d.ts +69 -0
  69. package/out/controller/utils/view-msg/view-msg-controller.d.ts.map +1 -0
  70. package/out/controller/utils/view-msg/view-msg-controller.js +176 -0
  71. package/out/de-logic/de-logic-context.d.ts +8 -0
  72. package/out/de-logic/de-logic-context.d.ts.map +1 -1
  73. package/out/de-logic/de-logic-context.js +11 -0
  74. package/out/de-logic/de-logic-node/prepare-param-node/prepare-param-node.d.ts.map +1 -1
  75. package/out/de-logic/de-logic-node/prepare-param-node/prepare-param-node.js +5 -1
  76. package/out/de-logic/utils/handle-src-val.d.ts.map +1 -1
  77. package/out/de-logic/utils/handle-src-val.js +19 -8
  78. package/out/engine/md-view.engine.d.ts.map +1 -1
  79. package/out/engine/md-view.engine.js +5 -4
  80. package/out/global/global-util/global-util.d.ts +8 -0
  81. package/out/global/global-util/global-util.d.ts.map +1 -1
  82. package/out/global/global-util/global-util.js +8 -0
  83. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +9 -0
  84. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
  85. package/out/interface/common/i-app-service/i-app-service.d.ts +9 -0
  86. package/out/interface/common/i-app-service/i-app-service.d.ts.map +1 -1
  87. package/out/interface/common/i-error-handler/i-error-handler.d.ts +17 -0
  88. package/out/interface/common/i-error-handler/i-error-handler.d.ts.map +1 -0
  89. package/out/interface/common/i-error-handler/i-error-handler.js +1 -0
  90. package/out/interface/common/index.d.ts +1 -0
  91. package/out/interface/common/index.d.ts.map +1 -1
  92. package/out/interface/controller/common/index.d.ts +1 -0
  93. package/out/interface/controller/common/index.d.ts.map +1 -1
  94. package/out/interface/controller/common/index.js +1 -0
  95. package/out/interface/controller/common/view-message/i-view-message.d.ts +39 -0
  96. package/out/interface/controller/common/view-message/i-view-message.d.ts.map +1 -0
  97. package/out/interface/controller/common/view-message/i-view-message.js +1 -0
  98. package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts +16 -0
  99. package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts.map +1 -0
  100. package/out/interface/controller/controller/control/i-tree-grid-ex.controller.js +1 -0
  101. package/out/interface/controller/controller/control/i-tree-grid.controller.d.ts +13 -0
  102. package/out/interface/controller/controller/control/i-tree-grid.controller.d.ts.map +1 -0
  103. package/out/interface/controller/controller/control/i-tree-grid.controller.js +1 -0
  104. package/out/interface/controller/controller/control/index.d.ts +2 -0
  105. package/out/interface/controller/controller/control/index.d.ts.map +1 -1
  106. package/out/interface/controller/controller/control/index.js +2 -0
  107. package/out/interface/controller/controller/control/portlet/i-portlet.controller.d.ts +7 -0
  108. package/out/interface/controller/controller/control/portlet/i-portlet.controller.d.ts.map +1 -1
  109. package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts +13 -0
  110. package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts.map +1 -0
  111. package/out/interface/controller/event/control/i-tree-grid-ex.event.js +1 -0
  112. package/out/interface/controller/event/control/i-tree-grid.event.d.ts +13 -0
  113. package/out/interface/controller/event/control/i-tree-grid.event.d.ts.map +1 -0
  114. package/out/interface/controller/event/control/i-tree-grid.event.js +1 -0
  115. package/out/interface/controller/event/control/index.d.ts +2 -0
  116. package/out/interface/controller/event/control/index.d.ts.map +1 -1
  117. package/out/interface/controller/event/control/index.js +2 -0
  118. package/out/interface/controller/event/view/i-tree-grid-ex-view.event.d.ts +12 -0
  119. package/out/interface/controller/event/view/i-tree-grid-ex-view.event.d.ts.map +1 -0
  120. package/out/interface/controller/event/view/i-tree-grid-ex-view.event.js +1 -0
  121. package/out/interface/controller/event/view/i-tree-grid-view.event.d.ts +12 -0
  122. package/out/interface/controller/event/view/i-tree-grid-view.event.d.ts.map +1 -0
  123. package/out/interface/controller/event/view/i-tree-grid-view.event.js +1 -0
  124. package/out/interface/controller/event/view/index.d.ts +2 -0
  125. package/out/interface/controller/event/view/index.d.ts.map +1 -1
  126. package/out/interface/controller/event/view/index.js +2 -0
  127. package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts +52 -0
  128. package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts.map +1 -0
  129. package/out/interface/controller/state/control/i-tree-grid-ex.state.js +1 -0
  130. package/out/interface/controller/state/control/i-tree-grid.state.d.ts +13 -0
  131. package/out/interface/controller/state/control/i-tree-grid.state.d.ts.map +1 -0
  132. package/out/interface/controller/state/control/i-tree-grid.state.js +1 -0
  133. package/out/interface/controller/state/control/index.d.ts +2 -0
  134. package/out/interface/controller/state/control/index.d.ts.map +1 -1
  135. package/out/interface/controller/state/control/index.js +2 -0
  136. package/out/interface/controller/state/view/i-edit-view.state.d.ts +8 -0
  137. package/out/interface/controller/state/view/i-edit-view.state.d.ts.map +1 -1
  138. package/out/interface/controller/state/view/i-tree-grid-ex-view.state.d.ts +13 -0
  139. package/out/interface/controller/state/view/i-tree-grid-ex-view.state.d.ts.map +1 -0
  140. package/out/interface/controller/state/view/i-tree-grid-ex-view.state.js +1 -0
  141. package/out/interface/controller/state/view/i-tree-grid-view.state.d.ts +13 -0
  142. package/out/interface/controller/state/view/i-tree-grid-view.state.d.ts.map +1 -0
  143. package/out/interface/controller/state/view/i-tree-grid-view.state.js +1 -0
  144. package/out/interface/controller/state/view/i-view.state.d.ts +10 -0
  145. package/out/interface/controller/state/view/i-view.state.d.ts.map +1 -1
  146. package/out/interface/controller/state/view/index.d.ts +2 -0
  147. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  148. package/out/interface/controller/state/view/index.js +2 -0
  149. package/out/interface/provider/i-grid-column.provider.d.ts +2 -1
  150. package/out/interface/provider/i-grid-column.provider.d.ts.map +1 -1
  151. package/out/interface/service/service/i-app-de.service.d.ts +9 -0
  152. package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
  153. package/out/interface/service/service/i-config.service.d.ts +20 -0
  154. package/out/interface/service/service/i-config.service.d.ts.map +1 -0
  155. package/out/interface/service/service/i-config.service.js +1 -0
  156. package/out/interface/service/service/index.d.ts +1 -0
  157. package/out/interface/service/service/index.d.ts.map +1 -1
  158. package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts.map +1 -1
  159. package/out/logic-scheduler/executor/app-ui-logic-executor.js +10 -4
  160. package/out/logic-scheduler/trigger/item-dyna-logic-trigger.d.ts.map +1 -1
  161. package/out/logic-scheduler/trigger/item-dyna-logic-trigger.js +1 -4
  162. package/out/model/data-entity/data-entity.js +2 -2
  163. package/out/register/helper/control-register.d.ts.map +1 -1
  164. package/out/register/helper/control-register.js +6 -1
  165. package/out/service/app-data-entity/app-data-entity.d.ts +10 -0
  166. package/out/service/app-data-entity/app-data-entity.d.ts.map +1 -1
  167. package/out/service/app-data-entity/app-data-entity.js +40 -13
  168. package/out/service/service/config/config.service.d.ts +43 -0
  169. package/out/service/service/config/config.service.d.ts.map +1 -0
  170. package/out/service/service/config/config.service.js +54 -0
  171. package/out/service/service/entity/de.service.d.ts +9 -0
  172. package/out/service/service/entity/de.service.d.ts.map +1 -1
  173. package/out/service/service/entity/de.service.js +2 -0
  174. package/out/service/service/index.d.ts +1 -0
  175. package/out/service/service/index.d.ts.map +1 -1
  176. package/out/service/service/index.js +1 -0
  177. package/out/service/vo/control.vo.d.ts.map +1 -1
  178. package/out/service/vo/control.vo.js +1 -5
  179. package/out/ui-action/provider/backend-ui-action-provider.d.ts.map +1 -1
  180. package/out/ui-action/provider/backend-ui-action-provider.js +5 -2
  181. package/out/ui-action/provider/ui-action-provider-base.d.ts +12 -1
  182. package/out/ui-action/provider/ui-action-provider-base.d.ts.map +1 -1
  183. package/out/ui-action/provider/ui-action-provider-base.js +55 -5
  184. package/out/ui-logic/ui-logic-context.d.ts +8 -0
  185. package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
  186. package/out/ui-logic/ui-logic-context.js +11 -0
  187. package/out/ui-logic/ui-logic-link/ui-logic-link.js +1 -1
  188. package/out/ui-logic/ui-logic-node/prepare-js-param-node/prepare-js-param-node.d.ts.map +1 -1
  189. package/out/ui-logic/ui-logic-node/prepare-js-param-node/prepare-js-param-node.js +5 -1
  190. package/out/ui-logic/utils/handle-src-val.d.ts.map +1 -1
  191. package/out/ui-logic/utils/handle-src-val.js +17 -4
  192. package/out/utils/error-handler/default-error-handler.d.ts +13 -0
  193. package/out/utils/error-handler/default-error-handler.d.ts.map +1 -0
  194. package/out/utils/error-handler/default-error-handler.js +36 -0
  195. package/out/utils/error-handler/error-handler-center.d.ts +41 -0
  196. package/out/utils/error-handler/error-handler-center.d.ts.map +1 -0
  197. package/out/utils/error-handler/error-handler-center.js +59 -0
  198. package/out/utils/error-handler/index.d.ts +3 -0
  199. package/out/utils/error-handler/index.d.ts.map +1 -0
  200. package/out/utils/error-handler/index.js +2 -0
  201. package/out/utils/index.d.ts +1 -0
  202. package/out/utils/index.d.ts.map +1 -1
  203. package/out/utils/index.js +1 -0
  204. package/out/utils/promise/promise.d.ts +15 -0
  205. package/out/utils/promise/promise.d.ts.map +1 -0
  206. package/out/utils/promise/promise.js +38 -0
  207. package/package.json +2 -2
  208. package/src/app-hub.ts +17 -0
  209. package/src/application.ts +20 -1
  210. package/src/command/app/open-app-view/open-app-view.ts +18 -5
  211. package/src/controller/common/control/md-control.controller.ts +5 -1
  212. package/src/controller/common/view/view.controller.ts +67 -0
  213. package/src/controller/control/dashboard/custom-dashboard.controller.ts +107 -0
  214. package/src/controller/control/dashboard/dashboard.controller.ts +2 -6
  215. package/src/controller/control/dashboard/index.ts +1 -0
  216. package/src/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.ts +32 -9
  217. package/src/controller/control/form/edit-form/edit-form.controller.ts +71 -3
  218. package/src/controller/control/form/edit-form/edit-form.service.ts +1 -1
  219. package/src/controller/control/form/form/form.controller.ts +2 -6
  220. package/src/controller/control/grid/grid/grid.controller.ts +5 -9
  221. package/src/controller/control/index.ts +2 -0
  222. package/src/controller/control/toolbar/toolbar.controllerr.ts +14 -8
  223. package/src/controller/control/tree/tree.service.ts +8 -9
  224. package/src/controller/control/tree-grid/index.ts +2 -0
  225. package/src/controller/control/tree-grid/tree-grid.controller.ts +6 -0
  226. package/src/controller/control/tree-grid/tree-grid.service.ts +12 -0
  227. package/src/controller/control/tree-grid-ex/index.ts +2 -0
  228. package/src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts +283 -0
  229. package/src/controller/control/tree-grid-ex/tree-grid-ex.service.ts +171 -0
  230. package/src/controller/utils/event/controller-event.ts +16 -0
  231. package/src/controller/utils/view-msg/index.ts +1 -0
  232. package/src/controller/utils/view-msg/view-msg-controller.ts +250 -0
  233. package/src/de-logic/de-logic-context.ts +12 -0
  234. package/src/de-logic/de-logic-node/prepare-param-node/prepare-param-node.ts +7 -1
  235. package/src/de-logic/utils/handle-src-val.ts +23 -10
  236. package/src/engine/md-view.engine.ts +6 -4
  237. package/src/global/global-util/global-util.ts +15 -0
  238. package/src/interface/common/i-app-hub-service/i-app-hub-service.ts +10 -0
  239. package/src/interface/common/i-app-service/i-app-service.ts +10 -0
  240. package/src/interface/common/i-error-handler/i-error-handler.ts +16 -0
  241. package/src/interface/common/index.ts +1 -0
  242. package/src/interface/controller/common/index.ts +1 -0
  243. package/src/interface/controller/common/view-message/i-view-message.ts +42 -0
  244. package/src/interface/controller/controller/control/i-tree-grid-ex.controller.ts +20 -0
  245. package/src/interface/controller/controller/control/i-tree-grid.controller.ts +12 -0
  246. package/src/interface/controller/controller/control/index.ts +2 -0
  247. package/src/interface/controller/controller/control/portlet/i-portlet.controller.ts +8 -0
  248. package/src/interface/controller/event/control/i-tree-grid-ex.event.ts +12 -0
  249. package/src/interface/controller/event/control/i-tree-grid.event.ts +12 -0
  250. package/src/interface/controller/event/control/index.ts +2 -0
  251. package/src/interface/controller/event/view/i-tree-grid-ex-view.event.ts +12 -0
  252. package/src/interface/controller/event/view/i-tree-grid-view.event.ts +12 -0
  253. package/src/interface/controller/event/view/index.ts +2 -0
  254. package/src/interface/controller/state/control/i-tree-grid-ex.state.ts +56 -0
  255. package/src/interface/controller/state/control/i-tree-grid.state.ts +12 -0
  256. package/src/interface/controller/state/control/index.ts +2 -0
  257. package/src/interface/controller/state/view/i-edit-view.state.ts +10 -1
  258. package/src/interface/controller/state/view/i-tree-grid-ex-view.state.ts +12 -0
  259. package/src/interface/controller/state/view/i-tree-grid-view.state.ts +12 -0
  260. package/src/interface/controller/state/view/i-view.state.ts +9 -0
  261. package/src/interface/controller/state/view/index.ts +2 -0
  262. package/src/interface/provider/i-grid-column.provider.ts +2 -1
  263. package/src/interface/service/service/i-app-de.service.ts +10 -0
  264. package/src/interface/service/service/i-config.service.ts +20 -0
  265. package/src/interface/service/service/index.ts +1 -0
  266. package/src/logic-scheduler/executor/app-ui-logic-executor.ts +13 -4
  267. package/src/logic-scheduler/trigger/item-dyna-logic-trigger.ts +1 -4
  268. package/src/model/data-entity/data-entity.ts +2 -2
  269. package/src/register/helper/control-register.ts +6 -1
  270. package/src/service/app-data-entity/app-data-entity.ts +44 -13
  271. package/src/service/service/config/config.service.ts +65 -0
  272. package/src/service/service/entity/de.service.ts +15 -0
  273. package/src/service/service/index.ts +1 -0
  274. package/src/service/vo/control.vo.ts +1 -6
  275. package/src/ui-action/provider/backend-ui-action-provider.ts +5 -2
  276. package/src/ui-action/provider/ui-action-provider-base.ts +68 -6
  277. package/src/ui-logic/ui-logic-context.ts +12 -0
  278. package/src/ui-logic/ui-logic-link/ui-logic-link.ts +1 -1
  279. package/src/ui-logic/ui-logic-node/prepare-js-param-node/prepare-js-param-node.ts +7 -1
  280. package/src/ui-logic/utils/handle-src-val.ts +20 -4
  281. package/src/utils/error-handler/default-error-handler.ts +40 -0
  282. package/src/utils/error-handler/error-handler-center.ts +61 -0
  283. package/src/utils/error-handler/index.ts +2 -0
  284. package/src/utils/index.ts +1 -0
  285. package/src/utils/promise/promise.ts +41 -0
@@ -0,0 +1,42 @@
1
+ import { IAppViewMsg } from '@ibiz/model-core';
2
+
3
+ export interface IViewMessage {
4
+ /**
5
+ * 位置
6
+ * @author lxm
7
+ * @date 2023-09-20 07:52:52
8
+ * @type {IPSAppViewMsg['position']}
9
+ */
10
+ position: IAppViewMsg['position'];
11
+
12
+ /**
13
+ * 消息类型
14
+ * @author lxm
15
+ * @date 2023-09-20 09:11:34
16
+ * @type {IAppViewMsg['messageType']}
17
+ */
18
+ messageType?: IAppViewMsg['messageType'];
19
+
20
+ /**
21
+ * 消息删除模式
22
+ * @author lxm
23
+ * @date 2023-09-20 09:11:35
24
+ * @type {IAppViewMsg['removeMode']}
25
+ */
26
+ removeMode?: IAppViewMsg['removeMode'];
27
+
28
+ /**
29
+ * 标题
30
+ * @author lxm
31
+ * @date 2023-09-20 02:26:33
32
+ * @type {string}
33
+ */
34
+ title?: string;
35
+ /**
36
+ * 消息内容
37
+ * @author lxm
38
+ * @date 2023-09-20 02:26:32
39
+ * @type {string}
40
+ */
41
+ message?: string;
42
+ }
@@ -0,0 +1,20 @@
1
+ import { IDETreeGrid } from '@ibiz/model-core';
2
+ import { ITreeGridExEvent } from '../../event';
3
+ import { ITreeGridExState } from '../../state';
4
+ import { IMDControlController } from './i-md-control.controller';
5
+
6
+ /**
7
+ * 树表格(增强)部件控制器
8
+ *
9
+ * @author zk
10
+ * @date 2023-09-21 11:09:17
11
+ * @export
12
+ * @interface ITreeGridController
13
+ * @extends {IMDControlController<IDETreeGrid, ITreeGridState, ITreeGridEvent>}
14
+ */
15
+ export interface ITreeGridExController
16
+ extends IMDControlController<
17
+ IDETreeGrid,
18
+ ITreeGridExState,
19
+ ITreeGridExEvent
20
+ > {}
@@ -0,0 +1,12 @@
1
+ import { IGridController } from './i-grid.controller';
2
+
3
+ /**
4
+ * 树表格部件控制器
5
+ *
6
+ * @author zk
7
+ * @date 2023-09-21 11:09:17
8
+ * @export
9
+ * @interface ITreeGridController
10
+ * @extends {IMDControlController<IDETreeGrid, ITreeGridState, ITreeGridEvent>}
11
+ */
12
+ export interface ITreeGridController extends IGridController {}
@@ -31,3 +31,5 @@ export * from './i-calendar.controller';
31
31
  export * from './i-calendar-exp-bar.controller';
32
32
  export * from './i-context-menu.controller';
33
33
  export * from './i-kanban.controller';
34
+ export * from './i-tree-grid.controller';
35
+ export * from './i-tree-grid-ex.controller';
@@ -42,4 +42,12 @@ export interface IPortletController {
42
42
  * @return {*} {Promise<void>}
43
43
  */
44
44
  dataChangeNotify(data: IData): Promise<void>;
45
+
46
+ /**
47
+ * 销毁方法
48
+ * @return {*}
49
+ * @author: zhujiamin
50
+ * @Date: 2023-09-22 16:55:47
51
+ */
52
+ destroyed(): Promise<void>;
45
53
  }
@@ -0,0 +1,12 @@
1
+ import { IMDControlEvent } from './i-md-control.event';
2
+
3
+ /**
4
+ * 树表格(增强)部件事件
5
+ *
6
+ * @author zk
7
+ * @date 2023-09-21 11:09:54
8
+ * @export
9
+ * @interface ITreeGridExEvent
10
+ * @extends {IMDControlEvent}
11
+ */
12
+ export interface ITreeGridExEvent extends IMDControlEvent {}
@@ -0,0 +1,12 @@
1
+ import { IGridEvent } from './i-grid.event';
2
+
3
+ /**
4
+ * 树表格部件事件
5
+ *
6
+ * @author zk
7
+ * @date 2023-09-21 11:09:54
8
+ * @export
9
+ * @interface ITreeGridEvent
10
+ * @extends {IMDControlEvent}
11
+ */
12
+ export interface ITreeGridEvent extends IGridEvent {}
@@ -27,3 +27,5 @@ export * from './i-drtab.event';
27
27
  export * from './i-calendar.event';
28
28
  export * from './i-calendar-exp-bar.event';
29
29
  export * from './i-context-menu.event';
30
+ export * from './i-tree-grid.event';
31
+ export * from './i-tree-grid-ex.event';
@@ -0,0 +1,12 @@
1
+ import { IMDViewEvent } from './i-md-view.event';
2
+
3
+ /**
4
+ * 树表格视图(增强)事件
5
+ *
6
+ * @author zk
7
+ * @date 2023-09-21 11:09:22
8
+ * @export
9
+ * @interface ITreeGridViewEvent
10
+ * @extends {IMDViewEvent}
11
+ */
12
+ export type ITreeGridExViewEvent = IMDViewEvent;
@@ -0,0 +1,12 @@
1
+ import { IMDViewEvent } from './i-md-view.event';
2
+
3
+ /**
4
+ * 树表格视图事件
5
+ *
6
+ * @author zk
7
+ * @date 2023-09-21 11:09:22
8
+ * @export
9
+ * @interface ITreeGridViewEvent
10
+ * @extends {IMDViewEvent}
11
+ */
12
+ export type ITreeGridViewEvent = IMDViewEvent;
@@ -37,3 +37,5 @@ export * from './i-calendar-view.event';
37
37
  export * from './i-calendar-exp-view.event';
38
38
  export * from './i-pickup-md-view.event';
39
39
  export * from './i-form-pickup-data-view.event';
40
+ export * from './i-tree-grid-view.event';
41
+ export * from './i-tree-grid-ex-view.event';
@@ -0,0 +1,56 @@
1
+ import { IColumnState } from './i-grid.state';
2
+ import { IMDControlState } from './i-md-control.state';
3
+ import { ITreeNodeData } from './i-tree.state';
4
+
5
+ /**
6
+ * 树表格(增强)部件状态
7
+ *
8
+ * @author zk
9
+ * @date 2023-09-21 11:09:01
10
+ * @export
11
+ * @interface ITreeGridExState
12
+ * @extends {IMDControlState}
13
+ */
14
+ export interface ITreeGridExState extends IMDControlState {
15
+ items: ITreeNodeData[];
16
+
17
+ /**
18
+ * 表格列状态数组
19
+ * 顺序就是列的排序
20
+ * @author zk
21
+ * @date 2023-09-21 02:09:57
22
+ * @type {IColumnState[]}
23
+ * @memberof ITreeGridState
24
+ */
25
+ columnStates: IColumnState[];
26
+
27
+ /**
28
+ * 树的根节点
29
+ *
30
+ * @author zk
31
+ * @date 2023-09-21 02:09:29
32
+ * @type {ITreeNodeData[]}
33
+ * @memberof ITreeGridState
34
+ */
35
+ rootNodes: ITreeNodeData[];
36
+
37
+ /**
38
+ * 外部提供的默认展开的节点集合
39
+ *
40
+ * @author zk
41
+ * @date 2023-09-21 02:09:48
42
+ * @type {string[]}
43
+ * @memberof ITreeGridState
44
+ */
45
+ defaultExpandedKeys: string[];
46
+
47
+ /**
48
+ * 实际默认展开节点集合
49
+ *
50
+ * @author zk
51
+ * @date 2023-09-21 02:09:42
52
+ * @type {string[]}
53
+ * @memberof ITreeGridState
54
+ */
55
+ expandedKeys: string[];
56
+ }
@@ -0,0 +1,12 @@
1
+ import { IGridState } from './i-grid.state';
2
+
3
+ /**
4
+ * 树表格部件状态
5
+ *
6
+ * @author zk
7
+ * @date 2023-09-21 11:09:01
8
+ * @export
9
+ * @interface ITreeGridState
10
+ * @extends {IMDControlState}
11
+ */
12
+ export interface ITreeGridState extends IGridState {}
@@ -33,3 +33,5 @@ export * from './i-calendar.state';
33
33
  export * from './i-calendar-exp-bar.state';
34
34
  export * from './i-context-menu.state';
35
35
  export * from './i-kanban.state';
36
+ export * from './i-tree-grid.state';
37
+ export * from './i-tree-grid-ex.state';
@@ -7,4 +7,13 @@ import { IViewState } from './i-view.state';
7
7
  * @interface IEditViewState
8
8
  * @extends {IViewState}
9
9
  */
10
- export interface IEditViewState extends IViewState {}
10
+ export interface IEditViewState extends IViewState {
11
+ /**
12
+ * 是否为复制模式
13
+ *
14
+ * @author chitanda
15
+ * @date 2023-09-26 17:09:21
16
+ * @type {boolean}
17
+ */
18
+ copyMode?: boolean;
19
+ }
@@ -0,0 +1,12 @@
1
+ import { IMDViewState } from './i-md-view.state';
2
+
3
+ /**
4
+ * 树表格视图(增强)UI状态
5
+ *
6
+ * @author zk
7
+ * @date 2023-09-21 11:09:36
8
+ * @export
9
+ * @interface ITreeGridViewState
10
+ * @extends {IMDViewState}
11
+ */
12
+ export interface ITreeGridExViewState extends IMDViewState {}
@@ -0,0 +1,12 @@
1
+ import { IMDViewState } from './i-md-view.state';
2
+
3
+ /**
4
+ * 树表格视图UI状态
5
+ *
6
+ * @author zk
7
+ * @date 2023-09-21 11:09:36
8
+ * @export
9
+ * @interface ITreeGridViewState
10
+ * @extends {IMDViewState}
11
+ */
12
+ export interface ITreeGridViewState extends IMDViewState {}
@@ -1,4 +1,5 @@
1
1
  import { IViewSession } from '../../../studio';
2
+ import { IViewMessage } from '../../common';
2
3
  import { IControllerState } from '../common/i-controller.state';
3
4
 
4
5
  /**
@@ -40,4 +41,12 @@ export interface IViewState extends IControllerState, IViewSession {
40
41
  * @type {boolean}
41
42
  */
42
43
  closeOK?: boolean;
44
+
45
+ /**
46
+ * 视图消息数据
47
+ * @author lxm
48
+ * @date 2023-09-20 09:48:29
49
+ * @type {{ [p: string]: IViewMessage[] }}
50
+ */
51
+ viewMessages: { [p: string]: IViewMessage[] };
43
52
  }
@@ -38,3 +38,5 @@ export * from './i-calendar-exp-view.state';
38
38
  export * from './i-pickup-md-view.state';
39
39
  export * from './i-kanban-view.state';
40
40
  export * from './i-form-pickup-data-view.state';
41
+ export * from './i-tree-grid-view.state';
42
+ export * from './i-tree-grid-ex-view.state';
@@ -1,4 +1,5 @@
1
1
  import { IDEGridColumn } from '@ibiz/model-core';
2
+ import { TreeGridExController } from '../../controller';
2
3
  import { IGridColumnController, IGridController } from '../controller';
3
4
 
4
5
  /**
@@ -31,7 +32,7 @@ export interface IGridColumnProvider {
31
32
  */
32
33
  createController(
33
34
  columnModel: IDEGridColumn,
34
- grid: IGridController,
35
+ grid: IGridController | TreeGridExController,
35
36
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
37
  ): Promise<IGridColumnController>;
37
38
  }
@@ -2,6 +2,7 @@ import { IHttpResponse } from '@ibiz-template/core';
2
2
  import { DECache } from '../../../service/utils';
3
3
  import { IFileService } from './i-file.service';
4
4
  import { IWorkFlowService } from './i-wf.service';
5
+ import { IConfigService } from './i-config.service';
5
6
 
6
7
  /**
7
8
  * 实体服务
@@ -21,6 +22,15 @@ export interface IAppDEService {
21
22
  */
22
23
  readonly local: DECache;
23
24
 
25
+ /**
26
+ * 实体配置存储服务
27
+ *
28
+ * @author chitanda
29
+ * @date 2023-09-22 10:09:55
30
+ * @type {IConfigService}
31
+ */
32
+ readonly configCache: IConfigService;
33
+
24
34
  /**
25
35
  * 工作流相关服务
26
36
  *
@@ -0,0 +1,20 @@
1
+ export interface IConfigService {
2
+ /**
3
+ * 保存配置
4
+ *
5
+ * @author chitanda
6
+ * @date 2023-09-22 10:09:05
7
+ * @param {IData} data
8
+ * @return {*} {Promise<boolean>}
9
+ */
10
+ save(data: IData): Promise<boolean>;
11
+
12
+ /**
13
+ * 加载配置
14
+ *
15
+ * @author chitanda
16
+ * @date 2023-09-22 10:09:10
17
+ * @return {*} {Promise<IData>}
18
+ */
19
+ load(): Promise<IData>;
20
+ }
@@ -1,4 +1,5 @@
1
1
  export type { IAppDeAuthorityService } from './i-app-de-authority.service';
2
+ export type { IConfigService } from './i-config.service';
2
3
  export type { IAppDEService } from './i-app-de.service';
3
4
  export type { IAuthService } from './i-auth.service';
4
5
  export type { IFileService } from './i-file.service';
@@ -15,6 +15,7 @@ import { IModalData, IUILogicParams } from '../../interface';
15
15
  import { calcDeCodeNameById, getFormTypeFieldName } from '../../model';
16
16
  import { convertNavData } from '../../utils';
17
17
  import { LogicExecutor } from './logic-executor';
18
+ import { Srfuf } from '../../service';
18
19
 
19
20
  /**
20
21
  * 应用预置界面逻辑
@@ -216,12 +217,20 @@ export class AppUILogicExecutor extends LogicExecutor {
216
217
  }
217
218
 
218
219
  // 拷贝数据处理
219
- if (context.srfcopymode) {
220
- // 置空主键
221
- _data.srfkey = undefined;
222
- tempParams = Object.assign(tempParams, _data.$origin);
220
+ if (params.srfcopymode) {
221
+ const entity = await ibiz.hub.getAppDataEntity(
222
+ view.model.appDataEntityId!,
223
+ );
224
+ const key = entity.keyAppDEFieldId;
225
+ if (key && _data) {
226
+ tempParams[key] = _data.srfkey;
227
+ tempParams.srfcopymode = true;
228
+ }
223
229
  }
224
230
 
231
+ // 特殊处理标记,标记当前是新建数据。在打开视图前会被删除,具体在 open-app-view.ts 中处理
232
+ tempParams.srfuf = Srfuf.CREATE;
233
+
225
234
  // 打开视图
226
235
  const result: IModalData = await ibiz.commands.execute(
227
236
  OpenAppViewCommand.TAG,
@@ -48,9 +48,6 @@ export class ItemDynaLogicTrigger extends LogicTrigger {
48
48
 
49
49
  execute(executeParams: IUILogicParams): boolean {
50
50
  const result = this.executor.execute(executeParams);
51
- if (typeof result === 'boolean') {
52
- return result;
53
- }
54
- throw new RuntimeError(`${this.logic.id}逻辑返回值不是布尔值`);
51
+ return !!result;
55
52
  }
56
53
  }
@@ -4,7 +4,7 @@ import {
4
4
  IAppDEField,
5
5
  IDELogic,
6
6
  } from '@ibiz/model-core';
7
- import { isNotNil } from 'ramda';
7
+ import { notNilEmpty } from 'qx-util';
8
8
 
9
9
  /**
10
10
  * 从实体id计算实体codeName(小写)
@@ -31,7 +31,7 @@ export function calcDeCodeNameById(id: string): string {
31
31
  */
32
32
  export function hasDeCodeName(params: IParams, entityId: string): boolean {
33
33
  const codeName = calcDeCodeNameById(entityId);
34
- return isNotNil(params[codeName]);
34
+ return notNilEmpty(params[codeName]);
35
35
  }
36
36
 
37
37
  /**
@@ -72,7 +72,12 @@ export async function getControlProvider(
72
72
  provider = getProvider(controlType);
73
73
 
74
74
  if (!provider) {
75
- ibiz.log.error(`找不到部件类型${controlType}对应的适配器`);
75
+ switch (controlType) {
76
+ case 'DATAINFOBAR':
77
+ return;
78
+ default:
79
+ ibiz.log.error(`找不到部件类型${controlType}对应的适配器`);
80
+ }
76
81
  } else {
77
82
  return provider;
78
83
  }
@@ -2,7 +2,8 @@
2
2
  /* eslint-disable no-constructor-return */
3
3
  /* eslint-disable max-classes-per-file */
4
4
  import { IAppDataEntity } from '@ibiz/model-core';
5
- import { clone } from 'ramda';
5
+ import { clone, isNil } from 'ramda';
6
+ import { DataTypes } from '@ibiz-template/core';
6
7
  import { Srfuf } from '../constant';
7
8
  import { findModelChild } from '../../model';
8
9
  import { IDataEntity } from '../../interface';
@@ -133,7 +134,7 @@ export class AppDataEntity implements IDataEntity {
133
134
  * @protected
134
135
  */
135
136
  protected defineProperties(): void {
136
- const { _data } = this;
137
+ const { _data, convertVal } = this;
137
138
  const properties: { [key: string]: PropertyDescriptor } = {};
138
139
  const keys = Object.keys(_data);
139
140
  keys.forEach(key => {
@@ -149,17 +150,17 @@ export class AppDataEntity implements IDataEntity {
149
150
  });
150
151
  this._entity.appDEFields?.forEach(field => {
151
152
  const key = field.codeName!.toLowerCase();
152
- if (!keys.includes(key)) {
153
- properties[key] = {
154
- enumerable: true,
155
- set(val: unknown): void {
156
- _data[key] = val;
157
- },
158
- get(): any {
159
- return _data[key];
160
- },
161
- };
162
- }
153
+ properties[key] = {
154
+ enumerable: true,
155
+ set(val: unknown): void {
156
+ _data[key] = convertVal(val, field.stdDataType);
157
+ },
158
+ get(): any {
159
+ return _data[key];
160
+ },
161
+ };
162
+ // 初始值转换
163
+ _data[key] = convertVal(_data[key], field.stdDataType);
163
164
  });
164
165
  Object.defineProperties(this, properties);
165
166
  }
@@ -193,4 +194,34 @@ export class AppDataEntity implements IDataEntity {
193
194
  }
194
195
  return this;
195
196
  }
197
+
198
+ /**
199
+ * 根据属性的数据类型转换值
200
+ * @author lxm
201
+ * @date 2023-09-25 03:37:28
202
+ * @protected
203
+ * @param {unknown} value
204
+ * @param {(number | undefined)} dataType
205
+ * @return {*} {unknown}
206
+ */
207
+ protected convertVal(value: unknown, dataType: number | undefined): unknown {
208
+ // 没有数据类型的给原值
209
+ if (isNil(dataType)) {
210
+ return value;
211
+ }
212
+
213
+ // 数值转换
214
+ if (DataTypes.isNumber(dataType)) {
215
+ const numVal = !isNil(value) && value !== '' ? Number(value) : value;
216
+
217
+ if (Number.isNaN(numVal)) {
218
+ // 不能转换的给原值
219
+ ibiz.log.debug(`${value}不能转换成数字`);
220
+ return value;
221
+ }
222
+ return numVal;
223
+ }
224
+
225
+ return value;
226
+ }
196
227
  }
@@ -0,0 +1,65 @@
1
+ import { Application } from '../../../application';
2
+ import { IConfigService } from '../../../interface';
3
+
4
+ /**
5
+ * 应用配置存储服务
6
+ *
7
+ * @author chitanda
8
+ * @date 2023-09-22 10:09:05
9
+ * @export
10
+ * @class ConfigService
11
+ */
12
+ export class ConfigService implements IConfigService {
13
+ private app: Application;
14
+
15
+ /**
16
+ * Creates an instance of ConfigService.
17
+ *
18
+ * @author chitanda
19
+ * @date 2023-09-22 10:09:16
20
+ * @param {string} appId 应用标识
21
+ * @param {string} folder 定义文件夹
22
+ * @param {string} tag 存储标识
23
+ */
24
+ constructor(
25
+ protected appId: string,
26
+ protected folder: string,
27
+ protected tag: string,
28
+ ) {
29
+ this.app = ibiz.hub.getApp(appId);
30
+ }
31
+
32
+ /**
33
+ * 保存配置
34
+ *
35
+ * @author chitanda
36
+ * @date 2023-09-22 10:09:05
37
+ * @param {IData} data
38
+ * @return {*} {Promise<boolean>}
39
+ */
40
+ async save(data: IData): Promise<boolean> {
41
+ const res = await this.app.net.put(
42
+ `/configs/${this.folder}/${this.tag}`,
43
+ data,
44
+ );
45
+ if (res.ok) {
46
+ return res.data as unknown as boolean;
47
+ }
48
+ return false;
49
+ }
50
+
51
+ /**
52
+ * 加载配置
53
+ *
54
+ * @author chitanda
55
+ * @date 2023-09-22 10:09:10
56
+ * @return {*} {Promise<IData>}
57
+ */
58
+ async load(): Promise<IData> {
59
+ const res = await this.app.net.get(`/configs/${this.folder}/${this.tag}`);
60
+ if (res.ok) {
61
+ return res.data;
62
+ }
63
+ return {};
64
+ }
65
+ }
@@ -8,6 +8,7 @@ import { findModelChild } from '../../../model';
8
8
  import { DEActionMethod } from './method/de-action';
9
9
  import { FetchMethod } from './method/fetch';
10
10
  import { IAppDEService } from '../../../interface';
11
+ import { ConfigService } from '../config/config.service';
11
12
 
12
13
  /**
13
14
  * 实体服务
@@ -18,6 +19,15 @@ import { IAppDEService } from '../../../interface';
18
19
  * @class DEService
19
20
  */
20
21
  export class DEService implements IAppDEService {
22
+ /**
23
+ * 实体配置存储服务
24
+ *
25
+ * @author chitanda
26
+ * @date 2023-09-22 10:09:55
27
+ * @type {ConfigService}
28
+ */
29
+ readonly configCache: ConfigService;
30
+
21
31
  /**
22
32
  * 工作流相关服务
23
33
  *
@@ -63,6 +73,11 @@ export class DEService implements IAppDEService {
63
73
  * @param {IAppDataEntity} model 应用实体模型
64
74
  */
65
75
  constructor(protected model: IAppDataEntity) {
76
+ this.configCache = new ConfigService(
77
+ model.appId!,
78
+ 'PSAppDataEntity',
79
+ model.codeName!,
80
+ );
66
81
  this.wf = new WorkFlowService(model);
67
82
  this.file = new FileService(model);
68
83
  }
@@ -1,4 +1,5 @@
1
1
  export { CodeListService } from './code-list/code-list.service';
2
+ export { ConfigService } from './config/config.service';
2
3
  export { CounterService } from './counter/counter.service';
3
4
  export { DEService } from './entity/de.service';
4
5
  export { WorkFlowService } from './work-flow/work-flow.service';
@@ -192,14 +192,9 @@ export class ControlVO {
192
192
  },
193
193
  set(val) {
194
194
  // 有mapField的走它的转换
195
- this.$origin[dataKey] = mapField ? mapField.convertVal(val) : val;
195
+ this.$origin[dataKey] = val;
196
196
  },
197
197
  });
198
-
199
- // 一开始初始化的时候先把值转换一下。
200
- if (mapField) {
201
- this[uiKey] = mapField.convertVal(this.$origin[dataKey]);
202
- }
203
198
  } else {
204
199
  Object.defineProperty(this, uiKey, {
205
200
  enumerable: true,