@ibiz-template/runtime 0.3.5 → 0.3.6-dev.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 (255) hide show
  1. package/dist/index.esm.js +13137 -13269
  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/index.d.ts +1 -0
  51. package/out/controller/control/index.d.ts.map +1 -1
  52. package/out/controller/control/index.js +1 -0
  53. package/out/controller/control/report-panel/generator/base-generator.d.ts +61 -0
  54. package/out/controller/control/report-panel/generator/base-generator.d.ts.map +1 -0
  55. package/out/controller/control/report-panel/generator/base-generator.js +50 -0
  56. package/out/controller/control/report-panel/generator/generator-factory.d.ts +20 -0
  57. package/out/controller/control/report-panel/generator/generator-factory.d.ts.map +1 -0
  58. package/out/controller/control/report-panel/generator/generator-factory.js +31 -0
  59. package/out/controller/control/report-panel/generator/user-generator.d.ts +26 -0
  60. package/out/controller/control/report-panel/generator/user-generator.d.ts.map +1 -0
  61. package/out/controller/control/report-panel/generator/user-generator.js +59 -0
  62. package/out/controller/control/report-panel/generator/user2-generator.d.ts +11 -0
  63. package/out/controller/control/report-panel/generator/user2-generator.d.ts.map +1 -0
  64. package/out/controller/control/report-panel/generator/user2-generator.js +10 -0
  65. package/out/controller/control/report-panel/index.d.ts +3 -0
  66. package/out/controller/control/report-panel/index.d.ts.map +1 -0
  67. package/out/controller/control/report-panel/index.js +2 -0
  68. package/out/controller/control/report-panel/report-panel.controller.d.ts +106 -0
  69. package/out/controller/control/report-panel/report-panel.controller.d.ts.map +1 -0
  70. package/out/controller/control/report-panel/report-panel.controller.js +144 -0
  71. package/out/controller/control/report-panel/report-panel.service.d.ts +21 -0
  72. package/out/controller/control/report-panel/report-panel.service.d.ts.map +1 -0
  73. package/out/controller/control/report-panel/report-panel.service.js +21 -0
  74. package/out/controller/control/wizard-panel/wizard-panel.controller.d.ts.map +1 -1
  75. package/out/controller/control/wizard-panel/wizard-panel.controller.js +6 -4
  76. package/out/install.d.ts.map +1 -1
  77. package/out/install.js +3 -1
  78. package/out/interface/common/i-global-config/i-global-config.d.ts +8 -0
  79. package/out/interface/common/i-global-config/i-global-config.d.ts.map +1 -1
  80. package/out/interface/common/i-global-config/i-global-form-config.d.ts +18 -0
  81. package/out/interface/common/i-global-config/i-global-form-config.d.ts.map +1 -0
  82. package/out/interface/common/i-global-config/i-global-form-config.js +1 -0
  83. package/out/interface/common/i-global-config/index.d.ts +1 -0
  84. package/out/interface/common/i-global-config/index.d.ts.map +1 -1
  85. package/out/interface/common/i-global-config/index.js +1 -0
  86. package/out/interface/controller/controller/control/i-report-panel.controller.d.ts +26 -0
  87. package/out/interface/controller/controller/control/i-report-panel.controller.d.ts.map +1 -0
  88. package/out/interface/controller/controller/control/i-report-panel.controller.js +1 -0
  89. package/out/interface/controller/controller/control/i-search-form.controller.d.ts +22 -0
  90. package/out/interface/controller/controller/control/i-search-form.controller.d.ts.map +1 -1
  91. package/out/interface/controller/controller/control/index.d.ts +1 -0
  92. package/out/interface/controller/controller/control/index.d.ts.map +1 -1
  93. package/out/interface/controller/controller/control/index.js +1 -0
  94. package/out/interface/controller/event/control/i-report-panel.event.d.ts +67 -0
  95. package/out/interface/controller/event/control/i-report-panel.event.d.ts.map +1 -0
  96. package/out/interface/controller/event/control/i-report-panel.event.js +1 -0
  97. package/out/interface/controller/event/control/index.d.ts +1 -0
  98. package/out/interface/controller/event/control/index.d.ts.map +1 -1
  99. package/out/interface/controller/event/control/index.js +1 -0
  100. package/out/interface/controller/event/view/i-report-view.event.d.ts +12 -0
  101. package/out/interface/controller/event/view/i-report-view.event.d.ts.map +1 -0
  102. package/out/interface/controller/event/view/i-report-view.event.js +1 -0
  103. package/out/interface/controller/event/view/index.d.ts +1 -0
  104. package/out/interface/controller/event/view/index.d.ts.map +1 -1
  105. package/out/interface/controller/event/view/index.js +1 -0
  106. package/out/interface/controller/state/control/i-report-panel.state.d.ts +33 -0
  107. package/out/interface/controller/state/control/i-report-panel.state.d.ts.map +1 -0
  108. package/out/interface/controller/state/control/i-report-panel.state.js +1 -0
  109. package/out/interface/controller/state/control/i-search-form.state.d.ts +30 -0
  110. package/out/interface/controller/state/control/i-search-form.state.d.ts.map +1 -1
  111. package/out/interface/controller/state/control/index.d.ts +1 -0
  112. package/out/interface/controller/state/control/index.d.ts.map +1 -1
  113. package/out/interface/controller/state/control/index.js +1 -0
  114. package/out/interface/controller/state/view/i-report-view.state.d.ts +11 -0
  115. package/out/interface/controller/state/view/i-report-view.state.d.ts.map +1 -0
  116. package/out/interface/controller/state/view/i-report-view.state.js +1 -0
  117. package/out/interface/controller/state/view/index.d.ts +1 -0
  118. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  119. package/out/interface/controller/state/view/index.js +1 -0
  120. package/out/interface/provider/i-de-method.provider.d.ts +30 -0
  121. package/out/interface/provider/i-de-method.provider.d.ts.map +1 -0
  122. package/out/interface/provider/i-de-method.provider.js +1 -0
  123. package/out/interface/provider/index.d.ts +1 -0
  124. package/out/interface/provider/index.d.ts.map +1 -1
  125. package/out/model/form/form-detail.d.ts +9 -0
  126. package/out/model/form/form-detail.d.ts.map +1 -1
  127. package/out/model/form/form-detail.js +11 -0
  128. package/out/model/utils/util.d.ts +10 -1
  129. package/out/model/utils/util.d.ts.map +1 -1
  130. package/out/model/utils/util.js +16 -0
  131. package/out/register/helper/de-method-register.d.ts +23 -0
  132. package/out/register/helper/de-method-register.d.ts.map +1 -0
  133. package/out/register/helper/de-method-register.js +51 -0
  134. package/out/register/helper/index.d.ts +1 -0
  135. package/out/register/helper/index.d.ts.map +1 -1
  136. package/out/register/helper/index.js +1 -0
  137. package/out/service/service/config/config.service.js +1 -1
  138. package/out/service/service/entity/de.service.d.ts +1 -1
  139. package/out/service/service/entity/de.service.d.ts.map +1 -1
  140. package/out/service/service/entity/de.service.js +11 -24
  141. package/out/service/service/entity/method/index.d.ts +8 -0
  142. package/out/service/service/entity/method/index.d.ts.map +1 -0
  143. package/out/service/service/entity/method/index.js +7 -0
  144. package/out/service/service/entity/method/provider/de-action-de-method.provider.d.ts +15 -0
  145. package/out/service/service/entity/method/provider/de-action-de-method.provider.d.ts.map +1 -0
  146. package/out/service/service/entity/method/provider/de-action-de-method.provider.js +14 -0
  147. package/out/service/service/entity/method/provider/fetch-de-method.provider.d.ts +15 -0
  148. package/out/service/service/entity/method/provider/fetch-de-method.provider.d.ts.map +1 -0
  149. package/out/service/service/entity/method/provider/fetch-de-method.provider.js +18 -0
  150. package/out/service/service/entity/method/provider/index.d.ts +8 -0
  151. package/out/service/service/entity/method/provider/index.d.ts.map +1 -0
  152. package/out/service/service/entity/method/provider/index.js +18 -0
  153. package/out/service/service/index.d.ts +1 -0
  154. package/out/service/service/index.d.ts.map +1 -1
  155. package/out/service/service/index.js +1 -0
  156. package/package.json +4 -4
  157. package/src/config/global-config.ts +6 -0
  158. package/src/controller/common/control/control.controller.ts +11 -5
  159. package/src/controller/control/chart/chart.controller.ts +0 -1
  160. package/src/controller/control/form/edit-form/edit-form.controller.ts +29 -2
  161. package/src/controller/control/form/form/form.controller.ts +28 -6
  162. package/src/controller/control/form/form-detail/form-button/form-button.controller.ts +0 -11
  163. package/src/controller/control/form/form-detail/form-detail/form-detail.controller.ts +24 -1
  164. package/src/controller/control/form/form-detail/form-druipart/form-druipart.controller.ts +2 -2
  165. package/src/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.ts +2 -1
  166. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +1 -21
  167. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.ts +215 -0
  168. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.ts +43 -0
  169. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-md.controller.ts +118 -0
  170. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.ts +204 -0
  171. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.ts +54 -183
  172. package/src/controller/control/form/form-detail/form-mdctrl/index.ts +3 -11
  173. package/src/controller/control/form/search-form/search-form.controller.ts +99 -9
  174. package/src/controller/control/index.ts +1 -0
  175. package/src/controller/control/report-panel/generator/base-generator.ts +74 -0
  176. package/src/controller/control/report-panel/generator/generator-factory.ts +35 -0
  177. package/src/controller/control/report-panel/generator/user-generator.ts +63 -0
  178. package/src/controller/control/report-panel/generator/user2-generator.ts +10 -0
  179. package/src/controller/control/report-panel/index.ts +2 -0
  180. package/src/controller/control/report-panel/report-panel.controller.ts +204 -0
  181. package/src/controller/control/report-panel/report-panel.service.ts +40 -0
  182. package/src/controller/control/wizard-panel/wizard-panel.controller.ts +6 -4
  183. package/src/install.ts +3 -0
  184. package/src/interface/common/i-global-config/i-global-config.ts +9 -0
  185. package/src/interface/common/i-global-config/i-global-form-config.ts +17 -0
  186. package/src/interface/common/i-global-config/index.ts +1 -0
  187. package/src/interface/controller/controller/control/i-report-panel.controller.ts +32 -0
  188. package/src/interface/controller/controller/control/i-search-form.controller.ts +25 -0
  189. package/src/interface/controller/controller/control/index.ts +1 -0
  190. package/src/interface/controller/event/control/i-report-panel.event.ts +72 -0
  191. package/src/interface/controller/event/control/index.ts +1 -0
  192. package/src/interface/controller/event/view/i-report-view.event.ts +12 -0
  193. package/src/interface/controller/event/view/index.ts +1 -0
  194. package/src/interface/controller/state/control/i-report-panel.state.ts +37 -0
  195. package/src/interface/controller/state/control/i-search-form.state.ts +34 -1
  196. package/src/interface/controller/state/control/index.ts +1 -0
  197. package/src/interface/controller/state/view/i-report-view.state.ts +10 -0
  198. package/src/interface/controller/state/view/index.ts +1 -0
  199. package/src/interface/provider/i-de-method.provider.ts +35 -0
  200. package/src/interface/provider/index.ts +4 -0
  201. package/src/model/form/form-detail.ts +12 -0
  202. package/src/model/utils/util.ts +20 -0
  203. package/src/register/helper/de-method-register.ts +64 -0
  204. package/src/register/helper/index.ts +1 -0
  205. package/src/service/service/config/config.service.ts +1 -1
  206. package/src/service/service/entity/de.service.ts +15 -26
  207. package/src/service/service/entity/method/index.ts +7 -0
  208. package/src/service/service/entity/method/provider/de-action-de-method.provider.ts +25 -0
  209. package/src/service/service/entity/method/provider/fetch-de-method.provider.ts +29 -0
  210. package/src/service/service/entity/method/provider/index.ts +19 -0
  211. package/src/service/service/index.ts +1 -0
  212. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.d.ts +0 -102
  213. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.d.ts.map +0 -1
  214. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.js +0 -135
  215. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-control/form-mdctrl-control.controller.d.ts +0 -41
  216. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-control/form-mdctrl-control.controller.d.ts.map +0 -1
  217. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-control/form-mdctrl-control.controller.js +0 -34
  218. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.d.ts +0 -98
  219. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.d.ts.map +0 -1
  220. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.js +0 -112
  221. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.d.ts +0 -136
  222. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.d.ts.map +0 -1
  223. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.js +0 -192
  224. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.d.ts +0 -115
  225. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.d.ts.map +0 -1
  226. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.js +0 -154
  227. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.d.ts +0 -98
  228. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.d.ts.map +0 -1
  229. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.js +0 -112
  230. 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
  231. 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
  232. 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
  233. 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
  234. 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
  235. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.controller.js +0 -60
  236. 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
  237. 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
  238. 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
  239. 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
  240. 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
  241. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-grid/form-mdctrl-repeater-grid.controller.js +0 -109
  242. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.d.ts +0 -16
  243. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.d.ts.map +0 -1
  244. package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.js +0 -18
  245. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-content-type.controller.ts +0 -154
  246. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-control/form-mdctrl-control.controller.ts +0 -56
  247. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-data-view/form-mdctrl-data-view.controller.ts +0 -127
  248. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.controller.ts +0 -228
  249. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.ts +0 -174
  250. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-list/form-mdctrl-list.controller.ts +0 -127
  251. 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
  252. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-form/form-mdctrl-repeater-form.controller.ts +0 -65
  253. 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
  254. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater-grid/form-mdctrl-repeater-grid.controller.ts +0 -120
  255. package/src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.ts +0 -16
@@ -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
+ }