@ibiz-template/runtime 0.3.5 → 0.4.0

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 (261) hide show
  1. package/dist/index.esm.js +13148 -13278
  2. package/dist/index.system.min.js +2 -2
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/config/global-config.d.ts +2 -0
  5. package/out/config/global-config.d.ts.map +1 -1
  6. package/out/config/global-config.js +4 -0
  7. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  8. package/out/controller/common/control/control.controller.js +8 -3
  9. package/out/controller/control/chart/chart.controller.d.ts.map +1 -1
  10. package/out/controller/control/chart/chart.controller.js +0 -1
  11. package/out/controller/control/form/edit-form/edit-form.controller.d.ts +7 -0
  12. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  13. package/out/controller/control/form/edit-form/edit-form.controller.js +28 -2
  14. package/out/controller/control/form/form/form.controller.d.ts +10 -1
  15. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  16. package/out/controller/control/form/form/form.controller.js +21 -4
  17. package/out/controller/control/form/form-detail/form-button/form-button.controller.d.ts +0 -8
  18. package/out/controller/control/form/form-detail/form-button/form-button.controller.d.ts.map +1 -1
  19. package/out/controller/control/form/form-detail/form-button/form-button.controller.js +0 -10
  20. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts +17 -0
  21. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts.map +1 -1
  22. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.js +22 -1
  23. package/out/controller/control/form/form-detail/form-druipart/form-druipart.controller.js +2 -2
  24. package/out/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.d.ts.map +1 -1
  25. package/out/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.js +2 -1
  26. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts +0 -16
  27. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  28. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +1 -3
  29. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.d.ts +103 -0
  30. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.d.ts.map +1 -0
  31. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.js +161 -0
  32. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.d.ts +40 -0
  33. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.d.ts.map +1 -0
  34. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.js +9 -0
  35. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-md.controller.d.ts +52 -0
  36. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-md.controller.d.ts.map +1 -0
  37. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-md.controller.js +80 -0
  38. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.d.ts +89 -0
  39. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.d.ts.map +1 -0
  40. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.js +179 -0
  41. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts +41 -72
  42. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts.map +1 -1
  43. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.js +53 -144
  44. package/out/controller/control/form/form-detail/form-mdctrl/index.d.ts +3 -11
  45. package/out/controller/control/form/form-detail/form-mdctrl/index.d.ts.map +1 -1
  46. package/out/controller/control/form/form-detail/form-mdctrl/index.js +3 -11
  47. package/out/controller/control/form/search-form/search-form.controller.d.ts +45 -1
  48. package/out/controller/control/form/search-form/search-form.controller.d.ts.map +1 -1
  49. package/out/controller/control/form/search-form/search-form.controller.js +77 -8
  50. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  51. package/out/controller/control/grid/grid/grid.controller.js +2 -1
  52. package/out/controller/control/index.d.ts +1 -0
  53. package/out/controller/control/index.d.ts.map +1 -1
  54. package/out/controller/control/index.js +1 -0
  55. package/out/controller/control/report-panel/generator/base-generator.d.ts +61 -0
  56. package/out/controller/control/report-panel/generator/base-generator.d.ts.map +1 -0
  57. package/out/controller/control/report-panel/generator/base-generator.js +50 -0
  58. package/out/controller/control/report-panel/generator/generator-factory.d.ts +20 -0
  59. package/out/controller/control/report-panel/generator/generator-factory.d.ts.map +1 -0
  60. package/out/controller/control/report-panel/generator/generator-factory.js +31 -0
  61. package/out/controller/control/report-panel/generator/user-generator.d.ts +26 -0
  62. package/out/controller/control/report-panel/generator/user-generator.d.ts.map +1 -0
  63. package/out/controller/control/report-panel/generator/user-generator.js +59 -0
  64. package/out/controller/control/report-panel/generator/user2-generator.d.ts +11 -0
  65. package/out/controller/control/report-panel/generator/user2-generator.d.ts.map +1 -0
  66. package/out/controller/control/report-panel/generator/user2-generator.js +10 -0
  67. package/out/controller/control/report-panel/index.d.ts +3 -0
  68. package/out/controller/control/report-panel/index.d.ts.map +1 -0
  69. package/out/controller/control/report-panel/index.js +2 -0
  70. package/out/controller/control/report-panel/report-panel.controller.d.ts +106 -0
  71. package/out/controller/control/report-panel/report-panel.controller.d.ts.map +1 -0
  72. package/out/controller/control/report-panel/report-panel.controller.js +144 -0
  73. package/out/controller/control/report-panel/report-panel.service.d.ts +21 -0
  74. package/out/controller/control/report-panel/report-panel.service.d.ts.map +1 -0
  75. package/out/controller/control/report-panel/report-panel.service.js +21 -0
  76. package/out/controller/control/wizard-panel/wizard-panel.controller.d.ts.map +1 -1
  77. package/out/controller/control/wizard-panel/wizard-panel.controller.js +6 -4
  78. package/out/install.d.ts.map +1 -1
  79. package/out/install.js +3 -1
  80. package/out/interface/common/i-global-config/i-global-config.d.ts +8 -0
  81. package/out/interface/common/i-global-config/i-global-config.d.ts.map +1 -1
  82. package/out/interface/common/i-global-config/i-global-form-config.d.ts +18 -0
  83. package/out/interface/common/i-global-config/i-global-form-config.d.ts.map +1 -0
  84. package/out/interface/common/i-global-config/i-global-form-config.js +1 -0
  85. package/out/interface/common/i-global-config/index.d.ts +1 -0
  86. package/out/interface/common/i-global-config/index.d.ts.map +1 -1
  87. package/out/interface/common/i-global-config/index.js +1 -0
  88. package/out/interface/controller/controller/control/i-report-panel.controller.d.ts +26 -0
  89. package/out/interface/controller/controller/control/i-report-panel.controller.d.ts.map +1 -0
  90. package/out/interface/controller/controller/control/i-report-panel.controller.js +1 -0
  91. package/out/interface/controller/controller/control/i-search-form.controller.d.ts +22 -0
  92. package/out/interface/controller/controller/control/i-search-form.controller.d.ts.map +1 -1
  93. package/out/interface/controller/controller/control/index.d.ts +1 -0
  94. package/out/interface/controller/controller/control/index.d.ts.map +1 -1
  95. package/out/interface/controller/controller/control/index.js +1 -0
  96. package/out/interface/controller/event/control/i-report-panel.event.d.ts +67 -0
  97. package/out/interface/controller/event/control/i-report-panel.event.d.ts.map +1 -0
  98. package/out/interface/controller/event/control/i-report-panel.event.js +1 -0
  99. package/out/interface/controller/event/control/index.d.ts +1 -0
  100. package/out/interface/controller/event/control/index.d.ts.map +1 -1
  101. package/out/interface/controller/event/control/index.js +1 -0
  102. package/out/interface/controller/event/view/i-report-view.event.d.ts +12 -0
  103. package/out/interface/controller/event/view/i-report-view.event.d.ts.map +1 -0
  104. package/out/interface/controller/event/view/i-report-view.event.js +1 -0
  105. package/out/interface/controller/event/view/index.d.ts +1 -0
  106. package/out/interface/controller/event/view/index.d.ts.map +1 -1
  107. package/out/interface/controller/event/view/index.js +1 -0
  108. package/out/interface/controller/state/control/i-report-panel.state.d.ts +33 -0
  109. package/out/interface/controller/state/control/i-report-panel.state.d.ts.map +1 -0
  110. package/out/interface/controller/state/control/i-report-panel.state.js +1 -0
  111. package/out/interface/controller/state/control/i-search-form.state.d.ts +30 -0
  112. package/out/interface/controller/state/control/i-search-form.state.d.ts.map +1 -1
  113. package/out/interface/controller/state/control/index.d.ts +1 -0
  114. package/out/interface/controller/state/control/index.d.ts.map +1 -1
  115. package/out/interface/controller/state/control/index.js +1 -0
  116. package/out/interface/controller/state/view/i-report-view.state.d.ts +11 -0
  117. package/out/interface/controller/state/view/i-report-view.state.d.ts.map +1 -0
  118. package/out/interface/controller/state/view/i-report-view.state.js +1 -0
  119. package/out/interface/controller/state/view/index.d.ts +1 -0
  120. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  121. package/out/interface/controller/state/view/index.js +1 -0
  122. package/out/interface/provider/i-de-method.provider.d.ts +30 -0
  123. package/out/interface/provider/i-de-method.provider.d.ts.map +1 -0
  124. package/out/interface/provider/i-de-method.provider.js +1 -0
  125. package/out/interface/provider/index.d.ts +1 -0
  126. package/out/interface/provider/index.d.ts.map +1 -1
  127. package/out/model/form/form-detail.d.ts +9 -0
  128. package/out/model/form/form-detail.d.ts.map +1 -1
  129. package/out/model/form/form-detail.js +11 -0
  130. package/out/model/utils/util.d.ts +10 -1
  131. package/out/model/utils/util.d.ts.map +1 -1
  132. package/out/model/utils/util.js +16 -0
  133. package/out/register/helper/de-method-register.d.ts +23 -0
  134. package/out/register/helper/de-method-register.d.ts.map +1 -0
  135. package/out/register/helper/de-method-register.js +51 -0
  136. package/out/register/helper/index.d.ts +1 -0
  137. package/out/register/helper/index.d.ts.map +1 -1
  138. package/out/register/helper/index.js +1 -0
  139. package/out/service/dto/method.dto.d.ts.map +1 -1
  140. package/out/service/dto/method.dto.js +6 -4
  141. package/out/service/service/config/config.service.js +1 -1
  142. package/out/service/service/entity/de.service.d.ts +1 -1
  143. package/out/service/service/entity/de.service.d.ts.map +1 -1
  144. package/out/service/service/entity/de.service.js +11 -24
  145. package/out/service/service/entity/method/index.d.ts +8 -0
  146. package/out/service/service/entity/method/index.d.ts.map +1 -0
  147. package/out/service/service/entity/method/index.js +7 -0
  148. package/out/service/service/entity/method/provider/de-action-de-method.provider.d.ts +15 -0
  149. package/out/service/service/entity/method/provider/de-action-de-method.provider.d.ts.map +1 -0
  150. package/out/service/service/entity/method/provider/de-action-de-method.provider.js +14 -0
  151. package/out/service/service/entity/method/provider/fetch-de-method.provider.d.ts +15 -0
  152. package/out/service/service/entity/method/provider/fetch-de-method.provider.d.ts.map +1 -0
  153. package/out/service/service/entity/method/provider/fetch-de-method.provider.js +18 -0
  154. package/out/service/service/entity/method/provider/index.d.ts +8 -0
  155. package/out/service/service/entity/method/provider/index.d.ts.map +1 -0
  156. package/out/service/service/entity/method/provider/index.js +18 -0
  157. package/out/service/service/index.d.ts +1 -0
  158. package/out/service/service/index.d.ts.map +1 -1
  159. package/out/service/service/index.js +1 -0
  160. package/package.json +5 -5
  161. package/src/config/global-config.ts +6 -0
  162. package/src/controller/common/control/control.controller.ts +11 -5
  163. package/src/controller/control/chart/chart.controller.ts +0 -1
  164. package/src/controller/control/form/edit-form/edit-form.controller.ts +29 -2
  165. package/src/controller/control/form/form/form.controller.ts +28 -6
  166. package/src/controller/control/form/form-detail/form-button/form-button.controller.ts +0 -11
  167. package/src/controller/control/form/form-detail/form-detail/form-detail.controller.ts +24 -1
  168. package/src/controller/control/form/form-detail/form-druipart/form-druipart.controller.ts +2 -2
  169. package/src/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.ts +2 -1
  170. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +1 -21
  171. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.ts +215 -0
  172. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.ts +43 -0
  173. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-md.controller.ts +118 -0
  174. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.ts +204 -0
  175. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.ts +54 -183
  176. package/src/controller/control/form/form-detail/form-mdctrl/index.ts +3 -11
  177. package/src/controller/control/form/search-form/search-form.controller.ts +99 -9
  178. package/src/controller/control/grid/grid/grid.controller.ts +4 -1
  179. package/src/controller/control/index.ts +1 -0
  180. package/src/controller/control/report-panel/generator/base-generator.ts +74 -0
  181. package/src/controller/control/report-panel/generator/generator-factory.ts +35 -0
  182. package/src/controller/control/report-panel/generator/user-generator.ts +63 -0
  183. package/src/controller/control/report-panel/generator/user2-generator.ts +10 -0
  184. package/src/controller/control/report-panel/index.ts +2 -0
  185. package/src/controller/control/report-panel/report-panel.controller.ts +204 -0
  186. package/src/controller/control/report-panel/report-panel.service.ts +40 -0
  187. package/src/controller/control/wizard-panel/wizard-panel.controller.ts +6 -4
  188. package/src/install.ts +3 -0
  189. package/src/interface/common/i-global-config/i-global-config.ts +9 -0
  190. package/src/interface/common/i-global-config/i-global-form-config.ts +17 -0
  191. package/src/interface/common/i-global-config/index.ts +1 -0
  192. package/src/interface/controller/controller/control/i-report-panel.controller.ts +32 -0
  193. package/src/interface/controller/controller/control/i-search-form.controller.ts +25 -0
  194. package/src/interface/controller/controller/control/index.ts +1 -0
  195. package/src/interface/controller/event/control/i-report-panel.event.ts +72 -0
  196. package/src/interface/controller/event/control/index.ts +1 -0
  197. package/src/interface/controller/event/view/i-report-view.event.ts +12 -0
  198. package/src/interface/controller/event/view/index.ts +1 -0
  199. package/src/interface/controller/state/control/i-report-panel.state.ts +37 -0
  200. package/src/interface/controller/state/control/i-search-form.state.ts +34 -1
  201. package/src/interface/controller/state/control/index.ts +1 -0
  202. package/src/interface/controller/state/view/i-report-view.state.ts +10 -0
  203. package/src/interface/controller/state/view/index.ts +1 -0
  204. package/src/interface/provider/i-de-method.provider.ts +35 -0
  205. package/src/interface/provider/index.ts +4 -0
  206. package/src/model/form/form-detail.ts +12 -0
  207. package/src/model/utils/util.ts +20 -0
  208. package/src/register/helper/de-method-register.ts +64 -0
  209. package/src/register/helper/index.ts +1 -0
  210. package/src/service/dto/method.dto.ts +6 -4
  211. package/src/service/service/config/config.service.ts +1 -1
  212. package/src/service/service/entity/de.service.ts +15 -26
  213. package/src/service/service/entity/method/index.ts +7 -0
  214. package/src/service/service/entity/method/provider/de-action-de-method.provider.ts +25 -0
  215. package/src/service/service/entity/method/provider/fetch-de-method.provider.ts +29 -0
  216. package/src/service/service/entity/method/provider/index.ts +19 -0
  217. package/src/service/service/index.ts +1 -0
  218. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.d.ts +0 -102
  219. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.d.ts.map +0 -1
  220. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.js +0 -135
  221. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-control/form-mdctrl-control.controller.d.ts +0 -41
  222. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-control/form-mdctrl-control.controller.d.ts.map +0 -1
  223. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-control/form-mdctrl-control.controller.js +0 -34
  224. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.d.ts +0 -98
  225. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.d.ts.map +0 -1
  226. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.js +0 -112
  227. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.d.ts +0 -136
  228. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.d.ts.map +0 -1
  229. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.js +0 -192
  230. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.d.ts +0 -115
  231. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.d.ts.map +0 -1
  232. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.js +0 -154
  233. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.d.ts +0 -98
  234. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.d.ts.map +0 -1
  235. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.js +0 -112
  236. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-item.controller.d.ts +0 -20
  237. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-item.controller.d.ts.map +0 -1
  238. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-item.controller.js +0 -44
  239. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.controller.d.ts +0 -42
  240. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.controller.d.ts.map +0 -1
  241. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.controller.js +0 -60
  242. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.controller.d.ts +0 -34
  243. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.controller.d.ts.map +0 -1
  244. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.controller.js +0 -38
  245. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-grid/form-mdctrl-repeater-grid.controller.d.ts +0 -75
  246. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-grid/form-mdctrl-repeater-grid.controller.d.ts.map +0 -1
  247. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-grid/form-mdctrl-repeater-grid.controller.js +0 -109
  248. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.d.ts +0 -16
  249. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.d.ts.map +0 -1
  250. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.js +0 -18
  251. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.ts +0 -154
  252. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-control/form-mdctrl-control.controller.ts +0 -56
  253. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.ts +0 -127
  254. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.ts +0 -228
  255. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.ts +0 -174
  256. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.ts +0 -127
  257. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form-item.controller.ts +0 -78
  258. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.controller.ts +0 -65
  259. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form-one/form-mdctrl-repeater-form-one.controller.ts +0 -40
  260. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-grid/form-mdctrl-repeater-grid.controller.ts +0 -120
  261. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.ts +0 -16
@@ -61,6 +61,29 @@ export class FormDetailController<T extends IDEFormDetail = IDEFormDetail>
61
61
  return this.form.data;
62
62
  }
63
63
 
64
+ /**
65
+ * 上下文
66
+ *
67
+ * @author lxm
68
+ * @date 2023-11-22 11:43:47
69
+ * @readonly
70
+ * @type {IContext}
71
+ */
72
+ get context(): IContext {
73
+ return this.form.context;
74
+ }
75
+
76
+ /**
77
+ * 视图参数
78
+ * @author lxm
79
+ * @date 2023-11-22 11:43:41
80
+ * @readonly
81
+ * @type {IParams}
82
+ */
83
+ get params(): IParams {
84
+ return this.form.params;
85
+ }
86
+
64
87
  /**
65
88
  * 获取容器类名集合
66
89
  * @author lxm
@@ -222,7 +245,7 @@ export class FormDetailController<T extends IDEFormDetail = IDEFormDetail>
222
245
  // name是动态逻辑涉及到的时或state存在时
223
246
  if (mustCalc || isOverlap(relatedNames, names)) {
224
247
  try {
225
- const ok = verifyFormGroupLogic(this.form.data, logic);
248
+ const ok = verifyFormGroupLogic(this.data, logic);
226
249
  switch (logic.logicCat) {
227
250
  // 动态空输入,不满足则必填
228
251
  case 'ITEMBLANK':
@@ -146,7 +146,7 @@ export class FormDRUIPartController extends FormDetailController<IDEFormDRUIPart
146
146
  newContext,
147
147
  convertNavData(
148
148
  navContexts!,
149
- this.form.data,
149
+ this.data,
150
150
  this.form.params,
151
151
  this.form.context,
152
152
  ),
@@ -156,7 +156,7 @@ export class FormDRUIPartController extends FormDetailController<IDEFormDRUIPart
156
156
  // 处理导航视图参数
157
157
  const newParams = convertNavData(
158
158
  this.model.navigateParams!,
159
- this.form.data,
159
+ this.data,
160
160
  this.form.params,
161
161
  this.form.context,
162
162
  );
@@ -61,7 +61,8 @@ export class FormGroupPanelController<
61
61
  super.formStateNotify(state);
62
62
  // 只在加载后台数据之后,更新界面行为组状态
63
63
  if (this.state.actionGroupState) {
64
- this.state.actionGroupState.update(this.form.data.getOrigin());
64
+ const deData = this.data.getOrigin ? this.data.getOrigin() : this.data;
65
+ this.state.actionGroupState.update(deData);
65
66
  }
66
67
  }
67
68
 
@@ -33,24 +33,6 @@ export class FormItemController
33
33
  return new FormItemState(this.parent?.state);
34
34
  }
35
35
 
36
- /**
37
- * 上下文
38
- *
39
- * @author lxm
40
- * @date 2022-08-24 20:08:55
41
- * @type {IContext}
42
- */
43
- readonly context: IContext;
44
-
45
- /**
46
- * 视图参数
47
- *
48
- * @author lxm
49
- * @date 2022-08-24 20:08:52
50
- * @type {IParams}
51
- */
52
- readonly params: IParams;
53
-
54
36
  /**
55
37
  * 编辑器控制器
56
38
  *
@@ -107,7 +89,7 @@ export class FormItemController
107
89
  * @type {unknown}
108
90
  */
109
91
  get value(): unknown {
110
- return this.form.data[this.name];
92
+ return this.data[this.name];
111
93
  }
112
94
 
113
95
  /**
@@ -139,8 +121,6 @@ export class FormItemController
139
121
  parent?: IFormDetailContainerController,
140
122
  ) {
141
123
  super(model, form, parent);
142
- this.context = form.context;
143
- this.params = form.params;
144
124
  }
145
125
 
146
126
  /**
@@ -0,0 +1,215 @@
1
+ import { RuntimeError, RuntimeModelError } from '@ibiz-template/core';
2
+ import { IDEEditForm } from '@ibiz/model-core';
3
+ import { createUUID } from 'qx-util';
4
+ import {
5
+ IControlProvider,
6
+ IEditFormController,
7
+ } from '../../../../../interface';
8
+ import { calcDeCodeNameById } from '../../../../../model';
9
+ import { getControlProvider } from '../../../../../register';
10
+ import { FormNotifyState } from '../../../../constant';
11
+ import { EditFormService } from '../../edit-form';
12
+ import { FormMDCtrlFormState } from './form-mdctrl-form.state';
13
+ import { FormMDCtrlController } from './form-mdctrl.controller';
14
+
15
+ /**
16
+ * 表单多数据部件(引用实体表单部件模型)控制器
17
+ * 类型是表单
18
+ *
19
+ * @author lxm
20
+ * @date 2023-11-09 04:32:02
21
+ * @export
22
+ * @class FormMDCtrlController
23
+ * @extends {FormDetailController<IDEFormMDCtrl>}
24
+ */
25
+ export class FormMDCtrlFormController extends FormMDCtrlController {
26
+ /**
27
+ * 表单多数据部件控制器状态
28
+ *
29
+ * @author lxm
30
+ * @date 2023-11-09 04:33:47
31
+ * @type {FormMDCtrlFormState}
32
+ */
33
+ declare state: FormMDCtrlFormState;
34
+
35
+ protected createState(): FormMDCtrlFormState {
36
+ return new FormMDCtrlFormState(this.parent?.state);
37
+ }
38
+
39
+ /**
40
+ * 表单控制器Map
41
+ * @author lxm
42
+ * @date 2023-11-11 08:03:56
43
+ */
44
+ formMap = new Map<string, IEditFormController>();
45
+
46
+ /**
47
+ * 表单部件的适配器
48
+ *
49
+ * @author lxm
50
+ * @date 2022-08-24 20:08:07
51
+ * @type {{ [key: string]: IControlProvider }}
52
+ */
53
+ formProvider!: IControlProvider;
54
+
55
+ /**
56
+ * 编辑表单服务
57
+ * @author lxm
58
+ * @date 2023-05-15 11:03:34
59
+ * @type {EditFormService}
60
+ */
61
+ service!: EditFormService;
62
+
63
+ /**
64
+ * 实体上下文主键标识
65
+ * @author lxm
66
+ * @date 2023-11-11 08:33:08
67
+ * @type {string}
68
+ */
69
+ deName!: string;
70
+
71
+ /**
72
+ * 初始化
73
+ *
74
+ * @author zk
75
+ * @date 2023-07-25 10:07:11
76
+ * @protected
77
+ * @return {*} {Promise<void>}
78
+ * @memberof FormMDCtrlController
79
+ */
80
+ async onInit(): Promise<void> {
81
+ super.onInit();
82
+ const { contentControl } = this.model;
83
+
84
+ // 初始化适配器
85
+ if (!contentControl) {
86
+ throw new RuntimeModelError(this.model, '多数据部件未配置内容部件');
87
+ }
88
+
89
+ // 修改自动保存
90
+ (contentControl as IDEEditForm).enableAutoSave =
91
+ this.enableCreate || this.enableUpdate;
92
+
93
+ const controlProvider = await getControlProvider(contentControl);
94
+ if (controlProvider) {
95
+ this.formProvider = controlProvider;
96
+ }
97
+
98
+ const { appDataEntityId } = this.model.contentControl!;
99
+ this.deName = calcDeCodeNameById(appDataEntityId!);
100
+ }
101
+
102
+ /**
103
+ * 加载实体的数据
104
+ * @author lxm
105
+ * @date 2023-11-10 05:02:40
106
+ * @return {*} {Promise<void>}
107
+ */
108
+ async fetchData(): Promise<void> {
109
+ const { appDataEntityId } = this.model.contentControl!;
110
+ const fetchAction = 'fetchdefault';
111
+ const res = await ibiz.hub
112
+ .getApp()
113
+ .deService.exec(appDataEntityId!, fetchAction, this.context, this.params);
114
+ if (res.ok) {
115
+ this.state.items = (res.data as IData[]).map(item => {
116
+ const context = this.context.clone();
117
+ context[this.deName] = item.srfkey;
118
+ const params = { ...this.params };
119
+ return {
120
+ id: item.srfkey,
121
+ context,
122
+ params,
123
+ };
124
+ });
125
+ }
126
+ }
127
+
128
+ /**
129
+ * 表单状态变更通知
130
+ *
131
+ * @author lxm
132
+ * @date 2022-09-20 18:09:07
133
+ */
134
+ async formStateNotify(state: FormNotifyState): Promise<void> {
135
+ await super.formStateNotify(state);
136
+ await this.fetchData();
137
+ }
138
+
139
+ /**
140
+ * 设置表单控制器
141
+ * @author lxm
142
+ * @date 2023-11-11 08:03:06
143
+ * @param {string} id
144
+ * @param {IEditFormController} controller
145
+ */
146
+ setFormController(id: string, controller: IEditFormController): void {
147
+ this.formMap.set(id, controller);
148
+
149
+ controller.evt.on('onSaveSuccess', event => {
150
+ const formData = event.data[0];
151
+ const item = this.state.items!.find(x => x.id === id);
152
+
153
+ // 创建之后更新上下文的主键
154
+ if (item) {
155
+ if (item.context[this.deName] !== formData.srfkey) {
156
+ item.context[this.deName] = formData.srfkey;
157
+ }
158
+ }
159
+ this.updateFormItem();
160
+ });
161
+ controller.evt.on('onRemoveSuccess', () => {
162
+ this.updateFormItem();
163
+ });
164
+ }
165
+
166
+ /**
167
+ * 删除数据
168
+ * @author lxm
169
+ * @date 2023-11-11 08:06:12
170
+ * @param {string} id
171
+ * @return {*} {Promise<void>}
172
+ */
173
+ async remove(id: string): Promise<void> {
174
+ const controller = this.formMap.get(id);
175
+ if (!controller) {
176
+ throw new RuntimeError(`没有找到对应${id}的表单控制器`);
177
+ }
178
+ await controller.remove();
179
+ const index = this.state.items!.findIndex(item => item.id === id);
180
+ if (index !== -1) {
181
+ this.state.items!.splice(index, 1);
182
+ }
183
+ }
184
+
185
+ /**
186
+ * 新建一条数据
187
+ * @author lxm
188
+ * @date 2023-11-11 08:01:49
189
+ */
190
+ create(): void {
191
+ const context = this.context.clone();
192
+ const params = { ...this.params };
193
+ if (!this.state.items) {
194
+ this.state.items = [];
195
+ }
196
+ this.state.items!.push({
197
+ id: createUUID(),
198
+ context,
199
+ params,
200
+ });
201
+ }
202
+
203
+ refresh(): void {
204
+ this.fetchData();
205
+ }
206
+
207
+ async dataChangeNotify(names: string[]): Promise<void> {
208
+ await super.dataChangeNotify(names);
209
+
210
+ // 表单项更新的时候修改数据的时候需要刷新
211
+ if (names.includes(this.model.id!)) {
212
+ this.refresh();
213
+ }
214
+ }
215
+ }
@@ -0,0 +1,43 @@
1
+ import { FormDetailState } from '../form-detail';
2
+
3
+ export interface MDCtrlFormItem {
4
+ /**
5
+ * 唯一标识
6
+ * @author lxm
7
+ * @date 2023-11-11 07:50:42
8
+ * @type {string}
9
+ */
10
+ id: string;
11
+
12
+ /**
13
+ * 上下文
14
+ * @author lxm
15
+ * @date 2023-11-11 07:51:04
16
+ * @type {IContext}
17
+ */
18
+ context: IContext;
19
+
20
+ /**
21
+ * 视图参数
22
+ * @author lxm
23
+ * @date 2023-11-11 07:51:11
24
+ * @type {IParams}
25
+ */
26
+ params: IParams;
27
+ }
28
+
29
+ /**
30
+ * 表单多数据部件状态
31
+ * @return {*}
32
+ * @author: zhujiamin
33
+ * @Date: 2023-01-04 10:26:34
34
+ */
35
+ export class FormMDCtrlFormState extends FormDetailState {
36
+ /**
37
+ * 每个表单绘制相关参数
38
+ * @author lxm
39
+ * @date 2023-11-11 07:51:40
40
+ * @type {MDCtrlFormItem[]}
41
+ */
42
+ items?: MDCtrlFormItem[];
43
+ }
@@ -0,0 +1,118 @@
1
+ import {
2
+ mergeInLeft,
3
+ ModelError,
4
+ RuntimeModelError,
5
+ } from '@ibiz-template/core';
6
+ import {
7
+ IControlProvider,
8
+ IGridController,
9
+ IMDControlController,
10
+ } from '../../../../../interface';
11
+ import { getControlProvider } from '../../../../../register';
12
+ import { FormMDCtrlController } from './form-mdctrl.controller';
13
+
14
+ /**
15
+ * 表单多数据部件(引用实体多数据部件模型)控制器
16
+ * 类型是列表,卡片,表格时
17
+ *
18
+ * @author lxm
19
+ * @date 2023-11-09 04:32:02
20
+ * @export
21
+ * @class FormMDCtrlController
22
+ * @extends {FormDetailController<IDEFormMDCtrl>}
23
+ */
24
+ export class FormMDCtrlMDController extends FormMDCtrlController {
25
+ /**
26
+ * 多数据部件的适配器
27
+ *
28
+ * @author lxm
29
+ * @date 2022-08-24 20:08:07
30
+ * @type {{ [key: string]: IControlProvider }}
31
+ */
32
+ mdProvider!: IControlProvider;
33
+
34
+ /**
35
+ * 多数据部件控制器
36
+ * @author lxm
37
+ * @date 2023-11-10 03:30:34
38
+ * @type {IMDControlController}
39
+ */
40
+ mdController!: IMDControlController;
41
+
42
+ protected async onInit(): Promise<void> {
43
+ await super.onInit();
44
+ const { contentControl } = this.model;
45
+ if (!contentControl) {
46
+ throw new RuntimeModelError(this.model, '多数据部件未配置内容部件');
47
+ }
48
+
49
+ // 把修改表格的模型,把行编辑打开,行新建看多数据部件的新建是否开启
50
+ if (contentControl.controlType === 'GRID') {
51
+ mergeInLeft(contentControl, {
52
+ enableRowEdit: this.enableCreate || this.enableUpdate,
53
+ enableRowNew: this.enableCreate,
54
+ });
55
+ }
56
+
57
+ const controlProvider = await getControlProvider(contentControl);
58
+ if (controlProvider) {
59
+ this.mdProvider = controlProvider;
60
+ }
61
+ }
62
+
63
+ /**
64
+ * 设置多数据部件控制器
65
+ * @author lxm
66
+ * @date 2023-11-10 03:31:16
67
+ * @param {IMDControlController} controller
68
+ */
69
+ setMDControl(controller: IMDControlController): void {
70
+ this.mdController = controller;
71
+
72
+ // 多数据部件保存,删除之后触发表单项更新
73
+ controller.evt.on('onSaveSuccess', () => {
74
+ this.updateFormItem();
75
+ });
76
+ controller.evt.on('onRemoveSuccess', () => {
77
+ this.updateFormItem();
78
+ });
79
+ }
80
+
81
+ /**
82
+ * 删除多数据选中的数据
83
+ * @author lxm
84
+ * @date 2023-11-10 03:32:30
85
+ */
86
+ remove(): void {
87
+ this.mdController.remove();
88
+ }
89
+
90
+ /**
91
+ * 多数据新建一条数据
92
+ * @author lxm
93
+ * @date 2023-11-10 03:32:30
94
+ */
95
+ create(): void {
96
+ if (this.model.contentType === 'GRID') {
97
+ (this.mdController as IGridController).newRow();
98
+ } else {
99
+ throw new ModelError(
100
+ this.model,
101
+ `多数据部件类型${this.model.contentType}暂不支持添加数据`,
102
+ );
103
+ }
104
+ }
105
+
106
+ refresh(): void {
107
+ this.mdController.refresh();
108
+ }
109
+
110
+ async dataChangeNotify(names: string[]): Promise<void> {
111
+ await super.dataChangeNotify(names);
112
+
113
+ // 表单项更新的时候修改数据的时候需要刷新
114
+ if (names.includes(this.model.id!)) {
115
+ this.refresh();
116
+ }
117
+ }
118
+ }
@@ -0,0 +1,204 @@
1
+ import { ModelError } from '@ibiz-template/core';
2
+ import { IDEForm } from '@ibiz/model-core';
3
+ import { clone } from 'ramda';
4
+ import { FormMDCtrlController } from './form-mdctrl.controller';
5
+
6
+ /**
7
+ * 表单多数据部件(重复器)控制器
8
+ * 类型是重复器
9
+ *
10
+ * @author lxm
11
+ * @date 2023-11-09 04:32:02
12
+ * @export
13
+ * @class FormMDCtrlController
14
+ * @extends {FormDetailController<IDEFormMDCtrl>}
15
+ */
16
+ export class FormMDCtrlRepeaterController extends FormMDCtrlController {
17
+ /**
18
+ * 名称
19
+ * @author lxm
20
+ * @date 2023-11-22 03:31:02
21
+ * @readonly
22
+ * @type {string}
23
+ */
24
+ get name(): string {
25
+ return this.model.id!;
26
+ }
27
+
28
+ /**
29
+ * 多数据重复器对应的表单里的值
30
+ *
31
+ * @author lxm
32
+ * @date 2022-08-24 22:08:25
33
+ * @readonly
34
+ * @type {unknown}
35
+ */
36
+ get value(): IData[] | IData | null {
37
+ return this.data[this.model.id!];
38
+ }
39
+
40
+ /**
41
+ * 重复器样式
42
+ * @author lxm
43
+ * @date 2023-11-09 05:03:20
44
+ * @type {('Grid' | 'MultiForm' | 'SingleForm')}
45
+ */
46
+ repeaterStyle: 'Grid' | 'MultiForm' | 'SingleForm' = 'MultiForm';
47
+
48
+ /**
49
+ * 重复器的值是否是单项数据类型,true为数组格式,反之为对象格式
50
+ * @author lxm
51
+ * @date 2023-11-09 05:09:19
52
+ * @type {boolean}
53
+ */
54
+ isSingleData: boolean = false;
55
+
56
+ /**
57
+ * 重复表单
58
+ * @author lxm
59
+ * @date 2023-11-22 02:28:13
60
+ * @type {IDEForm}
61
+ */
62
+ repeatedForm!: IDEForm;
63
+
64
+ protected async onInit(): Promise<void> {
65
+ await super.onInit();
66
+
67
+ // 初始化样式类型和数据类型
68
+ switch (this.model.detailStyle) {
69
+ // 表单
70
+ case 'DEFAULT':
71
+ this.repeaterStyle = 'MultiForm';
72
+ this.isSingleData = false;
73
+ break;
74
+ // 表格
75
+ case 'STYLE2':
76
+ this.repeaterStyle = 'Grid';
77
+ this.isSingleData = false;
78
+ break;
79
+ // 1:1表单
80
+ case 'STYLE3':
81
+ this.repeaterStyle = 'SingleForm';
82
+ this.isSingleData = true;
83
+ break;
84
+ default:
85
+ throw new ModelError(
86
+ this.model,
87
+ `暂不支持重复器样式${this.model.detailStyle}`,
88
+ );
89
+ }
90
+
91
+ this.prepareRepeatedForm();
92
+ }
93
+
94
+ /**
95
+ * 准备重复器表单模型
96
+ * @author lxm
97
+ * @date 2023-11-22 02:56:00
98
+ */
99
+ prepareRepeatedForm(): void {
100
+ const id = `${this.model.id}repeatedform`;
101
+ const tempForm: IDEForm = {
102
+ id,
103
+ codeName: id,
104
+ name: id,
105
+ deformPages: [
106
+ {
107
+ id: 'formpage1',
108
+ deformDetails: this.model.deformDetails,
109
+ detailType: 'FORMPAGE',
110
+ detailStyle: 'DEFAULT',
111
+ layout: this.model.layout,
112
+ },
113
+ ],
114
+ };
115
+
116
+ const copyFields: Array<keyof IDEForm> = [
117
+ 'appId',
118
+ 'controlType',
119
+ 'deformItemVRs',
120
+ ];
121
+ copyFields.forEach(key => {
122
+ (tempForm as IData)[key] = (this.form.model as IData)[key];
123
+ });
124
+
125
+ this.repeatedForm = clone(tempForm);
126
+ }
127
+
128
+ /**
129
+ * 设置重复器数据(修改主表单里重复器对应属性)
130
+ * @author lxm
131
+ * @date 2023-11-22 06:07:04
132
+ * @param {(IData[] | IData | null)} value
133
+ */
134
+ setValue(value: IData[] | IData | null): void {
135
+ this.form.setDataValue(this.name, value);
136
+ }
137
+
138
+ /**
139
+ * 添加或创建一条数据
140
+ * @author lxm
141
+ * @date 2023-11-22 04:50:19
142
+ */
143
+ create(): void {
144
+ if (this.isSingleData) {
145
+ this.setValue({});
146
+ } else {
147
+ // 多数据,拷贝数组再添加新对象
148
+ let tempValue = this.value as IData[] | null;
149
+ tempValue = tempValue ? [...tempValue] : [];
150
+ tempValue.push({});
151
+ this.setValue(tempValue);
152
+ }
153
+ }
154
+
155
+ /**
156
+ * 删除数据
157
+ * @author lxm
158
+ * @date 2023-11-22 08:53:42
159
+ * @param {number} index
160
+ */
161
+ remove(index?: number): void {
162
+ if (this.isSingleData) {
163
+ // 单项数据的时候删除就是清空
164
+ this.setValue(null);
165
+ return;
166
+ }
167
+ const newArr = (this.value! as IData[]).filter((_, i) => {
168
+ return index !== i;
169
+ });
170
+
171
+ this.setValue(newArr);
172
+ }
173
+
174
+ /**
175
+ * 表单数据变更通知
176
+ *
177
+ * @author lxm
178
+ * @date 2023-11-24 04:37:03
179
+ * @param {string[]} names
180
+ * @return {*} {Promise<void>}
181
+ */
182
+ async dataChangeNotify(names: string[]): Promise<void> {
183
+ await super.dataChangeNotify(names);
184
+ const { resetItemNames } = this.model;
185
+
186
+ // 重置项,变更时自己的值置空
187
+ let isReset = false;
188
+ if (resetItemNames && resetItemNames.length > 0) {
189
+ resetItemNames.forEach((resetItemName: string) => {
190
+ if (names.includes(resetItemName)) {
191
+ isReset = true;
192
+ }
193
+ });
194
+ }
195
+ if (isReset) {
196
+ this.setValue(null);
197
+ }
198
+
199
+ // 自身对应属性变更时,触发表单项更新
200
+ if (names.includes(this.name)) {
201
+ await this.updateFormItem();
202
+ }
203
+ }
204
+ }