aldehyde 0.2.97 → 0.2.99

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 (389) hide show
  1. package/LICENSE +1 -1
  2. package/lib/controls/action/index.d.ts +16 -7
  3. package/lib/controls/action/index.d.ts.map +1 -1
  4. package/lib/controls/action/index.js +64 -48
  5. package/lib/controls/action/index.js.map +1 -1
  6. package/lib/controls/action/utils.d.ts +1 -1
  7. package/lib/controls/action/utils.d.ts.map +1 -1
  8. package/lib/controls/action/utils.js +6 -4
  9. package/lib/controls/action/utils.js.map +1 -1
  10. package/lib/controls/auto-complete/index.d.ts +1 -1
  11. package/lib/controls/auto-complete/index.d.ts.map +1 -1
  12. package/lib/controls/auto-complete/index.js +12 -6
  13. package/lib/controls/auto-complete/index.js.map +1 -1
  14. package/lib/controls/chemstruc/graph.d.ts +13 -4
  15. package/lib/controls/chemstruc/graph.d.ts.map +1 -1
  16. package/lib/controls/chemstruc/graph.js +40 -27
  17. package/lib/controls/chemstruc/graph.js.map +1 -1
  18. package/lib/controls/color-picker/index.d.ts +11 -2
  19. package/lib/controls/color-picker/index.d.ts.map +1 -1
  20. package/lib/controls/color-picker/index.js +23 -19
  21. package/lib/controls/color-picker/index.js.map +1 -1
  22. package/lib/controls/cquery/cquick-button.d.ts +11 -2
  23. package/lib/controls/cquery/cquick-button.d.ts.map +1 -1
  24. package/lib/controls/cquery/cquick-button.js +30 -28
  25. package/lib/controls/cquery/cquick-button.js.map +1 -1
  26. package/lib/controls/entity-select/entity-select.d.ts +12 -3
  27. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  28. package/lib/controls/entity-select/entity-select.js +66 -64
  29. package/lib/controls/entity-select/entity-select.js.map +1 -1
  30. package/lib/controls/entity-select/lab-tree-select.d.ts +11 -2
  31. package/lib/controls/entity-select/lab-tree-select.d.ts.map +1 -1
  32. package/lib/controls/entity-select/lab-tree-select.js +26 -21
  33. package/lib/controls/entity-select/lab-tree-select.js.map +1 -1
  34. package/lib/controls/entity-select/popover-entity-select.d.ts +11 -2
  35. package/lib/controls/entity-select/popover-entity-select.d.ts.map +1 -1
  36. package/lib/controls/entity-select/popover-entity-select.js +30 -26
  37. package/lib/controls/entity-select/popover-entity-select.js.map +1 -1
  38. package/lib/controls/entry-control.d.ts +1 -1
  39. package/lib/controls/entry-control.d.ts.map +1 -1
  40. package/lib/controls/entry-control.js +152 -98
  41. package/lib/controls/entry-control.js.map +1 -1
  42. package/lib/controls/html-editor/tinymce.d.ts.map +1 -1
  43. package/lib/controls/input-number/index.d.ts +1 -1
  44. package/lib/controls/input-number/index.d.ts.map +1 -1
  45. package/lib/controls/input-number/index.js +31 -23
  46. package/lib/controls/input-number/index.js.map +1 -1
  47. package/lib/controls/input-range/index.d.ts +1 -1
  48. package/lib/controls/input-range/index.d.ts.map +1 -1
  49. package/lib/controls/input-range/index.js +9 -8
  50. package/lib/controls/input-range/index.js.map +1 -1
  51. package/lib/controls/password-setter/index.d.ts +9 -3
  52. package/lib/controls/password-setter/index.d.ts.map +1 -1
  53. package/lib/controls/password-setter/index.js +22 -14
  54. package/lib/controls/password-setter/index.js.map +1 -1
  55. package/lib/controls/progress/index.d.ts +1 -1
  56. package/lib/controls/progress/index.d.ts.map +1 -1
  57. package/lib/controls/progress/index.js +13 -6
  58. package/lib/controls/progress/index.js.map +1 -1
  59. package/lib/controls/relation-existion/index.d.ts +11 -2
  60. package/lib/controls/relation-existion/index.d.ts.map +1 -1
  61. package/lib/controls/relation-existion/index.js +30 -18
  62. package/lib/controls/relation-existion/index.js.map +1 -1
  63. package/lib/controls/rfield/index.d.ts +11 -2
  64. package/lib/controls/rfield/index.d.ts.map +1 -1
  65. package/lib/controls/rfield/index.js +33 -35
  66. package/lib/controls/rfield/index.js.map +1 -1
  67. package/lib/controls/signature/index.d.ts +10 -1
  68. package/lib/controls/signature/index.d.ts.map +1 -1
  69. package/lib/controls/signature/index.js +56 -31
  70. package/lib/controls/signature/index.js.map +1 -1
  71. package/lib/controls/steps/index.d.ts +1 -1
  72. package/lib/controls/steps/index.d.ts.map +1 -1
  73. package/lib/controls/steps/index.js +8 -6
  74. package/lib/controls/steps/index.js.map +1 -1
  75. package/lib/controls/text/ellipsis-text.d.ts +9 -0
  76. package/lib/controls/text/ellipsis-text.d.ts.map +1 -1
  77. package/lib/controls/text/ellipsis-text.js +13 -11
  78. package/lib/controls/text/ellipsis-text.js.map +1 -1
  79. package/lib/controls/upload/index.d.ts +10 -1
  80. package/lib/controls/upload/index.d.ts.map +1 -1
  81. package/lib/controls/upload/index.js +30 -21
  82. package/lib/controls/upload/index.js.map +1 -1
  83. package/lib/controls/view-control.d.ts +1 -1
  84. package/lib/controls/view-control.d.ts.map +1 -1
  85. package/lib/controls/view-control.js +118 -85
  86. package/lib/controls/view-control.js.map +1 -1
  87. package/lib/custom-page/def-custom-page.d.ts +5 -6
  88. package/lib/custom-page/def-custom-page.d.ts.map +1 -1
  89. package/lib/custom-page/def-custom-page.js +13 -12
  90. package/lib/custom-page/def-custom-page.js.map +1 -1
  91. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts +10 -1
  92. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts.map +1 -1
  93. package/lib/custom-page/dtmpl-custom-edit-modal-page.js +19 -7
  94. package/lib/custom-page/dtmpl-custom-edit-modal-page.js.map +1 -1
  95. package/lib/detail/button/bottom-submit-button-bar.d.ts +11 -2
  96. package/lib/detail/button/bottom-submit-button-bar.d.ts.map +1 -1
  97. package/lib/detail/button/bottom-submit-button-bar.js +20 -12
  98. package/lib/detail/button/bottom-submit-button-bar.js.map +1 -1
  99. package/lib/detail/button/cquery-button-bar.d.ts +12 -3
  100. package/lib/detail/button/cquery-button-bar.d.ts.map +1 -1
  101. package/lib/detail/button/cquery-button-bar.js +22 -18
  102. package/lib/detail/button/cquery-button-bar.js.map +1 -1
  103. package/lib/detail/button/fix-right-submit-button-bar.d.ts +11 -2
  104. package/lib/detail/button/fix-right-submit-button-bar.d.ts.map +1 -1
  105. package/lib/detail/button/fix-right-submit-button-bar.js +28 -23
  106. package/lib/detail/button/fix-right-submit-button-bar.js.map +1 -1
  107. package/lib/detail/edit/fields-edit-card.d.ts +11 -2
  108. package/lib/detail/edit/fields-edit-card.d.ts.map +1 -1
  109. package/lib/detail/edit/fields-edit-card.js +18 -19
  110. package/lib/detail/edit/fields-edit-card.js.map +1 -1
  111. package/lib/detail/edit/modal-row-edit.d.ts +11 -2
  112. package/lib/detail/edit/modal-row-edit.d.ts.map +1 -1
  113. package/lib/detail/edit/modal-row-edit.js +14 -11
  114. package/lib/detail/edit/modal-row-edit.js.map +1 -1
  115. package/lib/detail/edit/post-result/index.d.ts +1 -1
  116. package/lib/detail/edit/post-result/index.d.ts.map +1 -1
  117. package/lib/detail/edit/post-result/index.js +17 -12
  118. package/lib/detail/edit/post-result/index.js.map +1 -1
  119. package/lib/detail/edit/row-edit-card.d.ts +11 -2
  120. package/lib/detail/edit/row-edit-card.d.ts.map +1 -1
  121. package/lib/detail/edit/row-edit-card.js +23 -23
  122. package/lib/detail/edit/row-edit-card.js.map +1 -1
  123. package/lib/detail/rightbar/index.d.ts +12 -3
  124. package/lib/detail/rightbar/index.d.ts.map +1 -1
  125. package/lib/detail/rightbar/index.js +16 -9
  126. package/lib/detail/rightbar/index.js.map +1 -1
  127. package/lib/detail/view/act-dtmpl-view.d.ts +11 -2
  128. package/lib/detail/view/act-dtmpl-view.d.ts.map +1 -1
  129. package/lib/detail/view/act-dtmpl-view.js +26 -25
  130. package/lib/detail/view/act-dtmpl-view.js.map +1 -1
  131. package/lib/detail/view/dtmpl-view.d.ts +2 -2
  132. package/lib/detail/view/dtmpl-view.d.ts.map +1 -1
  133. package/lib/detail/view/dtmpl-view.js +40 -40
  134. package/lib/detail/view/dtmpl-view.js.map +1 -1
  135. package/lib/detail/view/modal-dtmpl-view.d.ts +10 -1
  136. package/lib/detail/view/modal-dtmpl-view.d.ts.map +1 -1
  137. package/lib/detail/view/modal-dtmpl-view.js +11 -8
  138. package/lib/detail/view/modal-dtmpl-view.js.map +1 -1
  139. package/lib/detail/view/snapshot-timeline.d.ts +11 -2
  140. package/lib/detail/view/snapshot-timeline.d.ts.map +1 -1
  141. package/lib/detail/view/snapshot-timeline.js +18 -16
  142. package/lib/detail/view/snapshot-timeline.js.map +1 -1
  143. package/lib/exportor/export-frame.d.ts +11 -2
  144. package/lib/exportor/export-frame.d.ts.map +1 -1
  145. package/lib/exportor/export-frame.js +41 -42
  146. package/lib/exportor/export-frame.js.map +1 -1
  147. package/lib/form/criteria-form.d.ts +2 -2
  148. package/lib/form/criteria-form.d.ts.map +1 -1
  149. package/lib/form/criteria-form.js +58 -45
  150. package/lib/form/criteria-form.js.map +1 -1
  151. package/lib/form/dtmpl-form.d.ts +11 -2
  152. package/lib/form/dtmpl-form.d.ts.map +1 -1
  153. package/lib/form/dtmpl-form.js +76 -61
  154. package/lib/form/dtmpl-form.js.map +1 -1
  155. package/lib/form/field-group-form.d.ts +12 -3
  156. package/lib/form/field-group-form.d.ts.map +1 -1
  157. package/lib/form/field-group-form.js +26 -18
  158. package/lib/form/field-group-form.js.map +1 -1
  159. package/lib/form/form-Item-group.d.ts +10 -1
  160. package/lib/form/form-Item-group.d.ts.map +1 -1
  161. package/lib/form/form-Item-group.js +43 -26
  162. package/lib/form/form-Item-group.js.map +1 -1
  163. package/lib/import/excel-import.d.ts +12 -3
  164. package/lib/import/excel-import.d.ts.map +1 -1
  165. package/lib/import/excel-import.js +69 -55
  166. package/lib/import/excel-import.js.map +1 -1
  167. package/lib/index.d.ts +42 -39
  168. package/lib/index.d.ts.map +1 -1
  169. package/lib/index.js +43 -39
  170. package/lib/index.js.map +1 -1
  171. package/lib/layout/MainPage.d.ts +1 -1
  172. package/lib/layout/MainPage.d.ts.map +1 -1
  173. package/lib/layout/MainPage.js +46 -36
  174. package/lib/layout/MainPage.js.map +1 -1
  175. package/lib/layout/footer/index.d.ts.map +1 -1
  176. package/lib/layout/header/index.d.ts +1 -1
  177. package/lib/layout/header/index.d.ts.map +1 -1
  178. package/lib/layout/header/index.js +16 -14
  179. package/lib/layout/header/index.js.map +1 -1
  180. package/lib/layout/menu/l2menu-quick-bar.d.ts +11 -2
  181. package/lib/layout/menu/l2menu-quick-bar.d.ts.map +1 -1
  182. package/lib/layout/menu/l2menu-quick-bar.js +24 -19
  183. package/lib/layout/menu/l2menu-quick-bar.js.map +1 -1
  184. package/lib/layout/menu/reset-password.d.ts +12 -3
  185. package/lib/layout/menu/reset-password.d.ts.map +1 -1
  186. package/lib/layout/menu/reset-password.js +52 -36
  187. package/lib/layout/menu/reset-password.js.map +1 -1
  188. package/lib/layout/menu/user-bar.d.ts +12 -3
  189. package/lib/layout/menu/user-bar.d.ts.map +1 -1
  190. package/lib/layout/menu/user-bar.js +72 -42
  191. package/lib/layout/menu/user-bar.js.map +1 -1
  192. package/lib/layout/menu/userinfo-bar.d.ts +10 -1
  193. package/lib/layout/menu/userinfo-bar.d.ts.map +1 -1
  194. package/lib/layout/menu/userinfo-bar.js +11 -10
  195. package/lib/layout/menu/userinfo-bar.js.map +1 -1
  196. package/lib/layout/sidebar/index.css +15 -4
  197. package/lib/layout/sidebar/index.d.ts +2 -2
  198. package/lib/layout/sidebar/index.d.ts.map +1 -1
  199. package/lib/layout/sidebar/index.js +19 -13
  200. package/lib/layout/sidebar/index.js.map +1 -1
  201. package/lib/locale/LocaleButton.d.ts +4 -0
  202. package/lib/locale/LocaleButton.d.ts.map +1 -0
  203. package/lib/locale/LocaleButton.js +24 -0
  204. package/lib/locale/LocaleButton.js.map +1 -0
  205. package/lib/locale/LocaleProvider.d.ts +13 -0
  206. package/lib/locale/LocaleProvider.d.ts.map +1 -0
  207. package/lib/locale/LocaleProvider.js +135 -0
  208. package/lib/locale/LocaleProvider.js.map +1 -0
  209. package/lib/locale/langMp.d.ts +16 -0
  210. package/lib/locale/langMp.d.ts.map +1 -0
  211. package/lib/locale/langMp.js +29 -0
  212. package/lib/locale/langMp.js.map +1 -0
  213. package/lib/locale/translate.d.ts +3 -0
  214. package/lib/locale/translate.d.ts.map +1 -0
  215. package/lib/locale/translate.js +74 -0
  216. package/lib/locale/translate.js.map +1 -0
  217. package/lib/locale/useLocale.d.ts +14 -0
  218. package/lib/locale/useLocale.d.ts.map +1 -0
  219. package/lib/locale/useLocale.js +34 -0
  220. package/lib/locale/useLocale.js.map +1 -0
  221. package/lib/login/login.d.ts +13 -3
  222. package/lib/login/login.d.ts.map +1 -1
  223. package/lib/login/login.js +38 -25
  224. package/lib/login/login.js.map +1 -1
  225. package/lib/login/router-login.d.ts +2 -2
  226. package/lib/login/router-login.d.ts.map +1 -1
  227. package/lib/login/router-login.js +33 -19
  228. package/lib/login/router-login.js.map +1 -1
  229. package/lib/module/dtmpl-edit-card.d.ts +11 -2
  230. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  231. package/lib/module/dtmpl-edit-card.js +21 -13
  232. package/lib/module/dtmpl-edit-card.js.map +1 -1
  233. package/lib/module/dtmpl-edit-page.d.ts +12 -3
  234. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  235. package/lib/module/dtmpl-edit-page.js +42 -31
  236. package/lib/module/dtmpl-edit-page.js.map +1 -1
  237. package/lib/module/ltmpl-modal.d.ts +10 -1
  238. package/lib/module/ltmpl-modal.d.ts.map +1 -1
  239. package/lib/module/ltmpl-modal.js +15 -8
  240. package/lib/module/ltmpl-modal.js.map +1 -1
  241. package/lib/module/ltmpl-table.d.ts +11 -2
  242. package/lib/module/ltmpl-table.d.ts.map +1 -1
  243. package/lib/module/ltmpl-table.js +39 -39
  244. package/lib/module/ltmpl-table.js.map +1 -1
  245. package/lib/table/act-table.d.ts +12 -3
  246. package/lib/table/act-table.d.ts.map +1 -1
  247. package/lib/table/act-table.js +256 -205
  248. package/lib/table/act-table.js.map +1 -1
  249. package/lib/table/control-table-x-axis-wrapper.d.ts +5 -0
  250. package/lib/table/control-table-x-axis-wrapper.d.ts.map +1 -0
  251. package/lib/table/control-table-x-axis-wrapper.js +60 -0
  252. package/lib/table/control-table-x-axis-wrapper.js.map +1 -0
  253. package/lib/table/l2-act-table.d.ts +1 -1
  254. package/lib/table/pagination.d.ts +11 -2
  255. package/lib/table/pagination.d.ts.map +1 -1
  256. package/lib/table/pagination.js +13 -12
  257. package/lib/table/pagination.js.map +1 -1
  258. package/lib/table/query-table.d.ts.map +1 -1
  259. package/lib/table/query-table.js +2 -1
  260. package/lib/table/query-table.js.map +1 -1
  261. package/lib/table/relation-table.d.ts +13 -4
  262. package/lib/table/relation-table.d.ts.map +1 -1
  263. package/lib/table/relation-table.js +117 -108
  264. package/lib/table/relation-table.js.map +1 -1
  265. package/lib/table/selected-rows-card.d.ts +10 -1
  266. package/lib/table/selected-rows-card.d.ts.map +1 -1
  267. package/lib/table/selected-rows-card.js +10 -9
  268. package/lib/table/selected-rows-card.js.map +1 -1
  269. package/lib/table/stat/restat.d.ts +10 -1
  270. package/lib/table/stat/restat.d.ts.map +1 -1
  271. package/lib/table/stat/restat.js +10 -9
  272. package/lib/table/stat/restat.js.map +1 -1
  273. package/lib/tmpl/hc-data-source.d.ts.map +1 -1
  274. package/lib/tmpl/hc-data-source.js +21 -14
  275. package/lib/tmpl/hc-data-source.js.map +1 -1
  276. package/lib/tmpl/hcservice-v3.d.ts +2 -0
  277. package/lib/tmpl/hcservice-v3.d.ts.map +1 -1
  278. package/lib/tmpl/hcservice-v3.js +127 -100
  279. package/lib/tmpl/hcservice-v3.js.map +1 -1
  280. package/lib/tmpl/model-struc-v3.d.ts.map +1 -1
  281. package/lib/tmpl/model-struc-v3.js +19 -18
  282. package/lib/tmpl/model-struc-v3.js.map +1 -1
  283. package/lib/tmpl/superagent.d.ts +2 -2
  284. package/lib/tmpl/superagent.d.ts.map +1 -1
  285. package/lib/tmpl/superagent.js +28 -23
  286. package/lib/tmpl/superagent.js.map +1 -1
  287. package/lib/tree/act-tree.d.ts +10 -1
  288. package/lib/tree/act-tree.d.ts.map +1 -1
  289. package/lib/tree/act-tree.js +26 -20
  290. package/lib/tree/act-tree.js.map +1 -1
  291. package/lib/tree/tmpl-tree.d.ts +11 -2
  292. package/lib/tree/tmpl-tree.d.ts.map +1 -1
  293. package/lib/tree/tmpl-tree.js +76 -58
  294. package/lib/tree/tmpl-tree.js.map +1 -1
  295. package/lib/units/index.d.ts.map +1 -1
  296. package/lib/welcome/HCWelcome.js +7 -23
  297. package/lib/welcome/HCWelcome.js.map +1 -1
  298. package/lib/welcome/HCWelcome1.d.ts +4 -0
  299. package/lib/welcome/HCWelcome1.d.ts.map +1 -0
  300. package/lib/welcome/HCWelcome1.js +192 -0
  301. package/lib/welcome/HCWelcome1.js.map +1 -0
  302. package/lib/welcome/quick-entrance.d.ts +12 -3
  303. package/lib/welcome/quick-entrance.d.ts.map +1 -1
  304. package/lib/welcome/quick-entrance.js +21 -17
  305. package/lib/welcome/quick-entrance.js.map +1 -1
  306. package/lib/welcome/workbench.d.ts +12 -3
  307. package/lib/welcome/workbench.d.ts.map +1 -1
  308. package/lib/welcome/workbench.js +23 -19
  309. package/lib/welcome/workbench.js.map +1 -1
  310. package/package.json +1 -1
  311. package/src/aldehyde/controls/action/index.tsx +328 -221
  312. package/src/aldehyde/controls/action/utils.tsx +6 -4
  313. package/src/aldehyde/controls/auto-complete/index.tsx +64 -60
  314. package/src/aldehyde/controls/chemstruc/graph.tsx +175 -139
  315. package/src/aldehyde/controls/color-picker/index.tsx +107 -78
  316. package/src/aldehyde/controls/cquery/cquick-button.tsx +129 -89
  317. package/src/aldehyde/controls/entity-select/entity-select.tsx +643 -521
  318. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +140 -131
  319. package/src/aldehyde/controls/entity-select/popover-entity-select.tsx +178 -133
  320. package/src/aldehyde/controls/entry-control.tsx +373 -248
  321. package/src/aldehyde/controls/input-number/index.tsx +131 -86
  322. package/src/aldehyde/controls/input-range/index.tsx +51 -40
  323. package/src/aldehyde/controls/password-setter/index.js +81 -63
  324. package/src/aldehyde/controls/progress/index.tsx +59 -46
  325. package/src/aldehyde/controls/relation-existion/index.tsx +125 -87
  326. package/src/aldehyde/controls/rfield/index.tsx +178 -151
  327. package/src/aldehyde/controls/signature/index.tsx +215 -151
  328. package/src/aldehyde/controls/steps/index.tsx +44 -42
  329. package/src/aldehyde/controls/text/ellipsis-text.tsx +79 -53
  330. package/src/aldehyde/controls/upload/index.tsx +125 -109
  331. package/src/aldehyde/controls/view-control.tsx +250 -188
  332. package/src/aldehyde/custom-page/def-custom-page.tsx +17 -0
  333. package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +75 -66
  334. package/src/aldehyde/detail/button/bottom-submit-button-bar.tsx +79 -43
  335. package/src/aldehyde/detail/button/cquery-button-bar.tsx +129 -98
  336. package/src/aldehyde/detail/button/fix-right-submit-button-bar.tsx +161 -113
  337. package/src/aldehyde/detail/edit/fields-edit-card.tsx +124 -87
  338. package/src/aldehyde/detail/edit/modal-row-edit.tsx +81 -60
  339. package/src/aldehyde/detail/edit/post-result/index.tsx +80 -47
  340. package/src/aldehyde/detail/edit/row-edit-card.tsx +158 -107
  341. package/src/aldehyde/detail/rightbar/index.tsx +79 -63
  342. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +177 -124
  343. package/src/aldehyde/detail/view/dtmpl-view.tsx +284 -178
  344. package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +67 -54
  345. package/src/aldehyde/detail/view/snapshot-timeline.tsx +143 -110
  346. package/src/aldehyde/exportor/export-frame.tsx +258 -200
  347. package/src/aldehyde/form/criteria-form.tsx +309 -201
  348. package/src/aldehyde/form/dtmpl-form.tsx +460 -305
  349. package/src/aldehyde/form/field-group-form.tsx +87 -66
  350. package/src/aldehyde/form/form-Item-group.tsx +190 -132
  351. package/src/aldehyde/import/excel-import.tsx +414 -331
  352. package/src/aldehyde/index.tsx +90 -45
  353. package/src/aldehyde/layout/MainPage.tsx +280 -245
  354. package/src/aldehyde/layout/header/index.tsx +59 -53
  355. package/src/aldehyde/layout/menu/l2menu-quick-bar.tsx +137 -118
  356. package/src/aldehyde/layout/menu/reset-password.tsx +213 -162
  357. package/src/aldehyde/layout/menu/user-bar.tsx +216 -147
  358. package/src/aldehyde/layout/menu/userinfo-bar.tsx +58 -41
  359. package/src/aldehyde/layout/sidebar/index.css +15 -4
  360. package/src/aldehyde/layout/sidebar/index.tsx +66 -38
  361. package/src/aldehyde/locale/LocaleButton.tsx +31 -0
  362. package/src/aldehyde/locale/LocaleProvider.tsx +165 -0
  363. package/src/aldehyde/locale/langMp.ts +33 -0
  364. package/src/aldehyde/locale/translate.ts +78 -0
  365. package/src/aldehyde/locale/useLocale.ts +50 -0
  366. package/src/aldehyde/login/login.tsx +192 -141
  367. package/src/aldehyde/login/router-login.tsx +54 -21
  368. package/src/aldehyde/module/dtmpl-edit-card.tsx +225 -160
  369. package/src/aldehyde/module/dtmpl-edit-page.tsx +334 -212
  370. package/src/aldehyde/module/ltmpl-modal.tsx +57 -53
  371. package/src/aldehyde/module/ltmpl-table.tsx +329 -240
  372. package/src/aldehyde/table/act-table.tsx +1226 -794
  373. package/src/aldehyde/table/control-table-x-axis-wrapper.tsx +52 -0
  374. package/src/aldehyde/table/pagination.tsx +66 -59
  375. package/src/aldehyde/table/query-table.tsx +2 -1
  376. package/src/aldehyde/table/relation-table.tsx +781 -571
  377. package/src/aldehyde/table/selected-rows-card.tsx +61 -48
  378. package/src/aldehyde/table/stat/restat.tsx +112 -69
  379. package/src/aldehyde/tmpl/hc-data-source.tsx +381 -296
  380. package/src/aldehyde/tmpl/hcservice-v3.tsx +991 -796
  381. package/src/aldehyde/tmpl/model-struc-v3.tsx +95 -91
  382. package/src/aldehyde/tmpl/superagent.js +148 -142
  383. package/src/aldehyde/tree/act-tree.tsx +206 -138
  384. package/src/aldehyde/tree/tmpl-tree.tsx +611 -353
  385. package/src/aldehyde/welcome/HCWelcome.js +78 -110
  386. package/src/aldehyde/welcome/HCWelcome1.js +260 -0
  387. package/src/aldehyde/welcome/quick-entrance.tsx +82 -71
  388. package/src/aldehyde/welcome/workbench.tsx +83 -68
  389. package/src/aldehyde/custom-page/def-custom-page.js +0 -18
@@ -1,346 +1,501 @@
1
- import React from 'react'
2
- import {Button, Card, Form as AntdForm, FormInstance, message, Switch} from 'antd'
3
- import {DtmplConfig, DtmplData, DtmplFormProps, FieldConfig, FieldGroupConfig} from "../tmpl/interface";
1
+ import React from "react";
2
+ import {
3
+ Button,
4
+ Card,
5
+ Form as AntdForm,
6
+ FormInstance,
7
+ message,
8
+ Switch,
9
+ } from "antd";
10
+ import {
11
+ DtmplConfig,
12
+ DtmplData,
13
+ DtmplFormProps,
14
+ FieldConfig,
15
+ FieldGroupConfig,
16
+ } from "../tmpl/interface";
4
17
  import HcserviceV3 from "../tmpl/hcservice-v3";
5
18
  import FormItemGroup from "./form-Item-group";
6
- import {ReloadOutlined} from '@ant-design/icons';
19
+ import { ReloadOutlined } from "@ant-design/icons";
7
20
  import FieldViewGroup from "../detail/view/field-view-group";
8
21
  import RelationTable from "../table/relation-table";
9
- import './dtmpl-form.css';
22
+ import "./dtmpl-form.css";
10
23
  import CollapseCard from "../controls/collapse-card";
11
- import {ProgramConfig} from "../index";
24
+ import { ProgramConfig } from "../index";
12
25
  import ToolTipBar from "../detail/tooltipbar";
13
26
  import EmbedDtmplEditPage from "../module/embed-dtmpl-edit-page";
14
27
  import LtmplTable from "../module/ltmpl-table";
15
28
  import TmplConfigAnalysis from "../tmpl/tmpl-config-analysis";
16
29
  import DtmplViewCard from "../module/dtmpl-view-card";
17
-
30
+ import { LocaleContext } from "../locale/LocaleProvider";
18
31
 
19
32
  interface DtmplFormStat {
20
- loading?: boolean,
21
- currentDtmplData?: DtmplData,
22
- appDtmplConfig?: DtmplConfig,
23
- embedForm?:object,
24
- embedRefValue?:object
25
- };
33
+ loading?: boolean;
34
+ currentDtmplData?: DtmplData;
35
+ appDtmplConfig?: DtmplConfig;
36
+ embedForm?: object;
37
+ embedRefValue?: object;
38
+ }
26
39
 
40
+ export default class DtmplForm extends React.PureComponent<
41
+ DtmplFormProps,
42
+ DtmplFormStat
43
+ > {
44
+ fuseMode: boolean = false;
45
+ premisestitle: string = "默认字段";
46
+ static contextType = LocaleContext;
47
+ context: React.ContextType<typeof LocaleContext>;
27
48
 
28
- export default class DtmplForm extends React.PureComponent<DtmplFormProps, DtmplFormStat> {
29
- fuseMode: boolean = false;
30
- premisestitle: string = "默认字段";
49
+ state = {
50
+ loading: true,
51
+ currentDtmplData: undefined,
52
+ appDtmplConfig: undefined,
53
+ embedForm: {},
54
+ embedRefValue: {},
55
+ };
56
+ static defaultPorps = {
57
+ maxCols: 2,
58
+ showHeader: true,
59
+ showRightNav: false,
60
+ };
31
61
 
32
- state = {
33
- loading: true,
34
- currentDtmplData: undefined,
35
- appDtmplConfig: undefined,
36
- embedForm:{},
37
- embedRefValue:{},
38
- }
39
- static defaultPorps = {
40
- maxCols: 2,
41
- showHeader: true,
42
- showRightNav:false
43
- }
62
+ async componentDidMount() {
63
+ await this.loadData();
64
+ }
44
65
 
45
- async componentDidMount() {
46
- await this.loadData();
66
+ async componentDidUpdate(preProps) {
67
+ const { code, formRef } = this.props;
68
+ const { code: preCode } = preProps;
69
+ if (preProps != this.props) {
70
+ await this.loadData();
47
71
  }
72
+ }
48
73
 
49
- async componentDidUpdate(preProps) {
50
- const { code,formRef} = this.props;
51
- const {code: preCode} = preProps;
52
- if (preProps != this.props) {
53
- await this.loadData();
54
- }
74
+ loadData = async () => {
75
+ const {
76
+ sourceId,
77
+ code,
78
+ formRef,
79
+ dtmplData,
80
+ dtmplConfig,
81
+ serverKey,
82
+ } = this.props;
83
+ let dtmplData_;
84
+ if (code) {
85
+ this.setState({
86
+ loading: true,
87
+ });
88
+ dtmplData_ = await HcserviceV3.requestDtmplData(
89
+ serverKey,
90
+ sourceId,
91
+ code,
92
+ null
93
+ );
94
+ } else if (dtmplData) {
95
+ dtmplData_ = dtmplData;
96
+ } else {
97
+ dtmplData_ = {
98
+ code: undefined,
99
+ title: undefined,
100
+ fieldMap: {},
101
+ arrayMap: {},
102
+ };
55
103
  }
104
+ //应用静态配置
105
+ let appDtmplConfig = ProgramConfig.getAppDtmplConfig(
106
+ dtmplConfig,
107
+ dtmplData,
108
+ this.props
109
+ );
110
+ this.setState({
111
+ appDtmplConfig,
112
+ currentDtmplData: dtmplData_,
113
+ loading: false,
114
+ embedRefValue: {},
115
+ });
116
+ setTimeout(
117
+ () => (formRef.current ? formRef.current.resetFields() : undefined),
118
+ 200
119
+ );
120
+ };
56
121
 
57
- loadData = async () => {
58
- const {sourceId, code, formRef, dtmplData, dtmplConfig, serverKey} = this.props;
59
- let dtmplData_;
60
- if (code) {
61
- this.setState({
62
- loading: true,
63
- })
64
- dtmplData_ = await HcserviceV3.requestDtmplData(serverKey, sourceId, code, null);
122
+ doRefresh = async () => {
123
+ await this.loadData();
124
+ const { translate } = this.context;
125
+ message.info(translate("${已刷新}!"));
126
+ };
65
127
 
66
- } else if (dtmplData) {
67
- dtmplData_ = dtmplData;
68
- } else {
69
- dtmplData_ = {code: undefined, title: undefined, fieldMap: {}, arrayMap: {}};
70
- }
71
- //应用静态配置
72
- let appDtmplConfig = ProgramConfig.getAppDtmplConfig(dtmplConfig, dtmplData, this.props);
73
- this.setState({
74
- appDtmplConfig,
75
- currentDtmplData: dtmplData_,
76
- loading: false,
77
- embedRefValue:{}
78
- })
79
- setTimeout(() => formRef.current ? formRef.current.resetFields() : undefined, 200)
80
- }
128
+ onGroupChange = (
129
+ fieldGroupConfig: FieldGroupConfig,
130
+ selectdDatas: DtmplData[]
131
+ ) => {
132
+ const { currentDtmplData } = this.state;
133
+ currentDtmplData["arrayMap"][fieldGroupConfig.id] = selectdDatas;
134
+ let currentDtmplData_1 = { ...currentDtmplData };
135
+ this.setState({
136
+ currentDtmplData: currentDtmplData_1,
137
+ });
138
+ };
81
139
 
82
- doRefresh = async () => {
83
- await this.loadData();
84
- message.info("已刷新!")
85
- }
86
-
87
- onGroupChange = (fieldGroupConfig: FieldGroupConfig, selectdDatas: DtmplData[]) => {
88
- const {currentDtmplData} = this.state;
89
- currentDtmplData['arrayMap'][fieldGroupConfig.id] = selectdDatas;
90
- let currentDtmplData_1 = {...currentDtmplData};
91
- this.setState({
92
- currentDtmplData: currentDtmplData_1,
93
- })
140
+ changeFuseMode = (checked) => {
141
+ this.fuseMode = !checked;
142
+ };
94
143
 
144
+ postForm = async (result) => {
145
+ this.setState({
146
+ loading: true,
147
+ });
148
+ const { sourceId, code, dtmplData, serverKey } = this.props;
149
+ if (code) {
150
+ //有code是修改,没有是新增实体模板
151
+ result["唯一编码"] = code;
152
+ } else if (dtmplData && dtmplData.code) {
153
+ result["唯一编码"] = dtmplData.code;
95
154
  }
96
-
97
-
98
- changeFuseMode = (checked) => {
99
- this.fuseMode = !checked;
155
+ let res = await HcserviceV3.postDtmplData(
156
+ serverKey,
157
+ sourceId,
158
+ result,
159
+ message
160
+ );
161
+ this.setState({
162
+ loading: false,
163
+ });
164
+ if (res.status === "success") {
165
+ this.props.onFinish(res.code);
100
166
  }
167
+ };
101
168
 
102
- postForm = async (result) => {
103
- this.setState({
104
- loading: true,
105
- })
106
- const {sourceId, code, dtmplData, serverKey} = this.props;
107
- if (code) { //有code是修改,没有是新增实体模板
108
- result['唯一编码'] = code;
109
- } else if (dtmplData && dtmplData.code) {
110
- result['唯一编码'] = dtmplData.code;
111
- }
112
- let res = await HcserviceV3.postDtmplData(serverKey, sourceId, result, message);
113
- this.setState({
114
- loading: false,
115
- })
116
- if (res.status === "success") {
117
- this.props.onFinish(res.code);
169
+ onSubmit = async (values: any) => {
170
+ const { dtmplConfig } = this.props;
171
+ const {
172
+ currentDtmplData,
173
+ appDtmplConfig,
174
+ embedForm,
175
+ embedRefValue,
176
+ } = this.state;
177
+ let resultCode = undefined;
178
+ const result = values;
179
+ for (let group of dtmplConfig.groups) {
180
+ if (group.type == "embed" && group.embedType != "列表") {
181
+ if (!embedRefValue[group.id]) {
182
+ embedForm[group.id].current.doSubmit();
183
+ return;
184
+ } else {
185
+ let fieldId = TmplConfigAnalysis.getFieldId(
186
+ appDtmplConfig,
187
+ group.codeSourceFieldMstrucId
188
+ );
189
+ result[fieldId] = embedRefValue[group.id];
118
190
  }
119
- }
120
-
121
- onSubmit = async (values: any) => {
122
- const {dtmplConfig} = this.props;
123
- const {currentDtmplData,appDtmplConfig,embedForm,embedRefValue} = this.state;
124
- let resultCode = undefined;
125
- const result = values;
126
- for (let group of dtmplConfig.groups) {
127
- if(group.type=='embed' && group.embedType!='列表'){
128
- if(!embedRefValue[group.id]) {
129
- embedForm[group.id].current.doSubmit();
130
- return;
131
- }else{
132
- let fieldId=TmplConfigAnalysis.getFieldId(appDtmplConfig,group.codeSourceFieldMstrucId);
133
- result[fieldId]=embedRefValue[group.id];
134
- }
135
- }else if (group.type == 'relation' && !group.readOnly) {
136
- //添加关系标识
137
- result[`${group.id}.$$flag$$`] = true;
138
- //添加关系内容
139
- let ds: DtmplData[] = currentDtmplData.arrayMap[group.id];
140
- if (ds) {
141
- ds.forEach((d, index) => {
142
- result[`${group.id}[${index}].$$relation$$`] = d.relationLabel;
143
- if (d.editStatus && d.editStatus == 'new') {
144
- for (let field of group.fields) {
145
- result[`${group.id}[${index}].${field.id}`] = d.fieldMap[field.id];
146
- }
147
- } else if (d.editStatus && d.editStatus == 'changed') {
148
- result[`${group.id}[${index}].唯一编码`] = d.code;
149
- for (let field of group.fields) {
150
- result[`${group.id}[${index}].${field.id}`] = d.fieldMap[field.id];
151
- }
152
- } else {
153
- result[`${group.id}[${index}].唯一编码`] = d.code;
154
- }
155
- })
156
- }
191
+ } else if (group.type == "relation" && !group.readOnly) {
192
+ //添加关系标识
193
+ result[`${group.id}.$$flag$$`] = true;
194
+ //添加关系内容
195
+ let ds: DtmplData[] = currentDtmplData.arrayMap[group.id];
196
+ if (ds) {
197
+ ds.forEach((d, index) => {
198
+ result[`${group.id}[${index}].$$relation$$`] = d.relationLabel;
199
+ if (d.editStatus && d.editStatus == "new") {
200
+ for (let field of group.fields) {
201
+ result[`${group.id}[${index}].${field.id}`] =
202
+ d.fieldMap[field.id];
203
+ }
204
+ } else if (d.editStatus && d.editStatus == "changed") {
205
+ result[`${group.id}[${index}].唯一编码`] = d.code;
206
+ for (let field of group.fields) {
207
+ result[`${group.id}[${index}].${field.id}`] =
208
+ d.fieldMap[field.id];
209
+ }
210
+ } else {
211
+ result[`${group.id}[${index}].唯一编码`] = d.code;
157
212
  }
213
+ });
158
214
  }
159
- resultCode = await this.postForm(result);
160
- }
161
- onEmbedPageFinish=(group:FieldGroupConfig,code:string)=>{
162
- const {embedRefValue} = this.state;
163
- embedRefValue[group.id]=code;
164
- const { formRef} = this.props;
165
- formRef.current.submit();
166
- }
167
- addHiddenItem = (hiddenFields: FieldConfig[]) => {
168
- if(hiddenFields){
169
- return hiddenFields.map(f=>{
170
- return <AntdForm.Item hidden={true} name={f.id} initialValue={f.value} ></AntdForm.Item>
171
- })
172
- }
215
+ }
173
216
  }
174
-
175
- fieldGroupList = (dtmplConfig: DtmplConfig, dtmplData: DtmplData) => {
176
-
177
- const {parentId, maxColsOnRow, mainCode, formRef, serverKey,showRightNav} = this.props;
178
- const {loading,embedForm} = this.state;
179
- let groups: FieldGroupConfig[] = [];
180
- if (dtmplConfig) {
181
- groups = dtmplConfig.groups;
182
- }
183
- return groups.map((item) => {
184
- if(item.type == 'embed'){
185
- let codeSource=undefined;
186
- //code 从来源字段里面拿
187
- let code=TmplConfigAnalysis.getFieldValueCodeOfMstrucId(dtmplConfig,dtmplData.fieldMap,item.codeSourceFieldMstrucId);
188
- let innerSourceId=TmplConfigAnalysis.getFieldValueCodeOfMstrucId(dtmplConfig,dtmplData.fieldMap,item.pageSourceFieldMstrucId);
189
- innerSourceId=innerSourceId?innerSourceId:item.pointSourceId;
190
- if(!innerSourceId){
191
- return null;
192
- }
193
- if(item.embedType=='列表'){
194
- return <Card bodyStyle={{padding:0}} bordered={false} style={{width:showRightNav?"90%":'100%'}}>
195
- <LtmplTable serverKey={null} collapsible={true} initCollapse={false}
196
- title={item.title}
197
- mainCode={mainCode} funcMode={'common'} sourceId={innerSourceId}></LtmplTable></Card>
198
- }else if(item.embedType=='详情'){
199
- codeSource = 'listop';
200
- return <CollapseCard showRightNav={showRightNav}
201
- tip={item.tip}
202
- title={item.title}
203
- key={item.id}
204
- id={parentId + item.id}
205
- className="hoverable"
206
- headStyle={{background: "#f2f4f5"}}
207
- loading={loading}
208
- bodyStyle={{padding: '6px'}}
209
- ><DtmplViewCard showHeader={false} codeSource={codeSource} code={code} sourceId={innerSourceId}></DtmplViewCard> </CollapseCard>
210
- }else {
211
- embedForm[item.id]=React.createRef()
212
- switch (item.embedType) {
213
- case "编辑":
214
- codeSource = 'listop';
215
- break;
216
- case "编辑或添加":
217
- codeSource = 'new';
218
- break;
219
- }
220
- return <CollapseCard showRightNav={showRightNav}
221
- tip={item.tip}
222
- title={item.title}
223
- key={item.id}
224
- id={parentId + item.id}
225
- className="hoverable"
226
- headStyle={{background: "#f2f4f5"}}
227
- loading={loading}
228
- bodyStyle={{padding: '6px'}}
229
- ><EmbedDtmplEditPage ref={embedForm[item.id]} onFinish={(code)=>{
230
- this.onEmbedPageFinish(item,code)
231
- }
232
- } codeSource={codeSource} code={code} sourceId={innerSourceId}></EmbedDtmplEditPage> </CollapseCard>
233
- }
234
- }else if (item.type == 'relation') {//关系
235
- if (item.fields) {
236
- let data: DtmplData[] = undefined;
237
- if (dtmplData) {
238
- data = dtmplData.arrayMap[item.id];
239
- }
240
- return <RelationTable showRightNav={showRightNav} serverKey={serverKey} mainCode={mainCode ? mainCode : parentId}
241
- loading={loading} parentId={parentId} key={item.id} fieldGroupConfig={item}
242
- value={data}
243
- viewOrEdit={item.readOnly ? "view" : "edit"} onChange={this.onGroupChange}/>
244
- }
245
- } else {//字段组
246
- return <CollapseCard showRightNav={showRightNav}
247
- tip={item.tip}
248
- title={item.title}
249
- key={item.id}
250
- id={parentId + item.id}
251
- className="hoverable"
252
- headStyle={{background: "#f2f4f5"}}
253
- loading={loading}
254
- bodyStyle={{padding: '6px'}}
255
- >
256
- <FormItemGroup serverKey={serverKey} formRef={formRef} mainCode={mainCode}
257
- maxColsOnRow={maxColsOnRow} fields={item ? item.fields : undefined}
258
- valueMap={dtmplData ? dtmplData.fieldMap : undefined}
259
- ></FormItemGroup>
260
- </CollapseCard>
261
- }
262
- }
217
+ resultCode = await this.postForm(result);
218
+ };
219
+ onEmbedPageFinish = (group: FieldGroupConfig, code: string) => {
220
+ const { embedRefValue } = this.state;
221
+ embedRefValue[group.id] = code;
222
+ const { formRef } = this.props;
223
+ formRef.current.submit();
224
+ };
225
+ addHiddenItem = (hiddenFields: FieldConfig[]) => {
226
+ if (hiddenFields) {
227
+ return hiddenFields.map((f) => {
228
+ return (
229
+ <AntdForm.Item
230
+ hidden={true}
231
+ name={f.id}
232
+ initialValue={f.value}
233
+ ></AntdForm.Item>
263
234
  );
235
+ });
264
236
  }
237
+ };
265
238
 
266
- onValuesChange = (changedValues, allValues) => {
267
- const {onValuesChange, formRef, code} = this.props;
268
- const {appDtmplConfig, currentDtmplData} = this.state;
269
- if (appDtmplConfig.onValuesChange) {//自定义值修改逻辑
270
- appDtmplConfig.onValuesChange(changedValues, {
271
- code,
272
- fieldMap: allValues,
273
- arrayMap: currentDtmplData.arrayMap
274
- }, formRef.current);
275
- }
276
- if(onValuesChange) {
277
- onValuesChange()
278
- };
239
+ fieldGroupList = (dtmplConfig: DtmplConfig, dtmplData: DtmplData) => {
240
+ const {
241
+ parentId,
242
+ maxColsOnRow,
243
+ mainCode,
244
+ formRef,
245
+ serverKey,
246
+ showRightNav,
247
+ } = this.props;
248
+ const { loading, embedForm } = this.state;
249
+ let groups: FieldGroupConfig[] = [];
250
+ if (dtmplConfig) {
251
+ groups = dtmplConfig.groups;
279
252
  }
280
-
281
- // nameValue = AntdForm.useWatch(this.props.dtmplConfig.groups[0].fields[0].id, this.props.formRef.current);
282
- render() {
283
- const {formRef, dtmplConfig, code, parentId, showHeader, serverKey} = this.props;
284
- const {currentDtmplData, appDtmplConfig} = this.state;
285
- if (!dtmplConfig) {
286
- return <Card loading={true}>
287
- 加载中... ...
253
+ return groups.map((item) => {
254
+ if (item.type == "embed") {
255
+ let codeSource = undefined;
256
+ //code 从来源字段里面拿
257
+ let code = TmplConfigAnalysis.getFieldValueCodeOfMstrucId(
258
+ dtmplConfig,
259
+ dtmplData.fieldMap,
260
+ item.codeSourceFieldMstrucId
261
+ );
262
+ let innerSourceId = TmplConfigAnalysis.getFieldValueCodeOfMstrucId(
263
+ dtmplConfig,
264
+ dtmplData.fieldMap,
265
+ item.pageSourceFieldMstrucId
266
+ );
267
+ innerSourceId = innerSourceId ? innerSourceId : item.pointSourceId;
268
+ if (!innerSourceId) {
269
+ return null;
270
+ }
271
+ if (item.embedType == "列表") {
272
+ return (
273
+ <Card
274
+ bodyStyle={{ padding: 0 }}
275
+ bordered={false}
276
+ style={{ width: showRightNav ? "90%" : "100%" }}
277
+ >
278
+ <LtmplTable
279
+ serverKey={null}
280
+ collapsible={true}
281
+ initCollapse={false}
282
+ title={item.title}
283
+ mainCode={mainCode}
284
+ funcMode={"common"}
285
+ sourceId={innerSourceId}
286
+ ></LtmplTable>
288
287
  </Card>
288
+ );
289
+ } else if (item.embedType == "详情") {
290
+ codeSource = "listop";
291
+ return (
292
+ <CollapseCard
293
+ showRightNav={showRightNav}
294
+ tip={item.tip}
295
+ title={item.title}
296
+ key={item.id}
297
+ id={parentId + item.id}
298
+ className="hoverable"
299
+ headStyle={{ background: "#f2f4f5" }}
300
+ loading={loading}
301
+ bodyStyle={{ padding: "6px" }}
302
+ >
303
+ <DtmplViewCard
304
+ showHeader={false}
305
+ codeSource={codeSource}
306
+ code={code}
307
+ sourceId={innerSourceId}
308
+ ></DtmplViewCard>{" "}
309
+ </CollapseCard>
310
+ );
311
+ } else {
312
+ embedForm[item.id] = React.createRef();
313
+ switch (item.embedType) {
314
+ case "编辑":
315
+ codeSource = "listop";
316
+ break;
317
+ case "编辑或添加":
318
+ codeSource = "new";
319
+ break;
320
+ }
321
+ return (
322
+ <CollapseCard
323
+ showRightNav={showRightNav}
324
+ tip={item.tip}
325
+ title={item.title}
326
+ key={item.id}
327
+ id={parentId + item.id}
328
+ className="hoverable"
329
+ headStyle={{ background: "#f2f4f5" }}
330
+ loading={loading}
331
+ bodyStyle={{ padding: "6px" }}
332
+ >
333
+ <EmbedDtmplEditPage
334
+ ref={embedForm[item.id]}
335
+ onFinish={(code) => {
336
+ this.onEmbedPageFinish(item, code);
337
+ }}
338
+ codeSource={codeSource}
339
+ code={code}
340
+ sourceId={innerSourceId}
341
+ ></EmbedDtmplEditPage>{" "}
342
+ </CollapseCard>
343
+ );
344
+ }
345
+ } else if (item.type == "relation") {
346
+ //关系
347
+ if (item.fields) {
348
+ let data: DtmplData[] = undefined;
349
+ if (dtmplData) {
350
+ data = dtmplData.arrayMap[item.id];
351
+ }
352
+ return (
353
+ <RelationTable
354
+ showRightNav={showRightNav}
355
+ serverKey={serverKey}
356
+ mainCode={mainCode ? mainCode : parentId}
357
+ loading={loading}
358
+ parentId={parentId}
359
+ key={item.id}
360
+ fieldGroupConfig={item}
361
+ value={data}
362
+ viewOrEdit={item.readOnly ? "view" : "edit"}
363
+ onChange={this.onGroupChange}
364
+ />
365
+ );
289
366
  }
290
- //debugger
291
- const {buttons, premises} = appDtmplConfig ? appDtmplConfig : {buttons: undefined, premises: undefined};
367
+ } else {
368
+ //字段组
292
369
  return (
293
- <>
294
- {showHeader ? <Card bordered={false}
295
- key={"detailTitle"}
296
- className="hoverable pageHeader"
297
- >
298
- <h3>
299
- {code || (currentDtmplData && currentDtmplData.code) ? "[编辑]" : "[新增]"}
300
- {dtmplConfig ? <ToolTipBar content={dtmplConfig.tip}/> : null}
301
- <div className="fr">
302
- {buttons && buttons.includes('fusionMode') ?
303
- <Switch
304
- checkedChildren="开"
305
- unCheckedChildren="关"
306
- style={{marginRight: 10}}
307
- title="融合模式"
308
- onChange={this.changeFuseMode}/>
309
- : ""}
310
- <Button
311
- className="hoverbig"
312
- title="刷新"
313
- onClick={this.doRefresh}
314
- ><ReloadOutlined/></Button>
315
- </div>
316
- </h3>
317
- </Card> : null}
318
- <AntdForm scrollToFirstError={true} labelWrap={true} ref={formRef} name="control-hooks"
319
- onValuesChange={this.onValuesChange} onFinish={this.onSubmit}>
320
- <AntdForm.Item hidden={true} name={'actionId'}></AntdForm.Item>
321
- <AntdForm.Item hidden={true} name={'mainCode'}></AntdForm.Item>
322
- {this.addHiddenItem(dtmplConfig.hiddenFields)}
323
- {this.fieldGroupList(appDtmplConfig, currentDtmplData)}
324
- </AntdForm>
325
- {premises && premises.length > 0 ?
326
- <CollapseCard
327
- title={this.premisestitle}
328
- key={this.premisestitle}
329
- id={parentId + premises[0].id}
330
- className="hoverable"
331
- headStyle={{background: "#f2f4f5"}}
332
- // loading={loading}
333
- >
334
- <FieldViewGroup serverKey={serverKey}
335
- fields={premises}/>
336
- </CollapseCard>
337
- : ""
338
- }
339
- {/*{this.nameValue}*/}
340
- </>
370
+ <CollapseCard
371
+ showRightNav={showRightNav}
372
+ tip={item.tip}
373
+ title={item.title}
374
+ key={item.id}
375
+ id={parentId + item.id}
376
+ className="hoverable"
377
+ headStyle={{ background: "#f2f4f5" }}
378
+ loading={loading}
379
+ bodyStyle={{ padding: "6px" }}
380
+ >
381
+ <FormItemGroup
382
+ serverKey={serverKey}
383
+ formRef={formRef}
384
+ mainCode={mainCode}
385
+ maxColsOnRow={maxColsOnRow}
386
+ fields={item ? item.fields : undefined}
387
+ valueMap={dtmplData ? dtmplData.fieldMap : undefined}
388
+ ></FormItemGroup>
389
+ </CollapseCard>
341
390
  );
391
+ }
392
+ });
393
+ };
394
+
395
+ onValuesChange = (changedValues, allValues) => {
396
+ const { onValuesChange, formRef, code } = this.props;
397
+ const { appDtmplConfig, currentDtmplData } = this.state;
398
+ if (appDtmplConfig.onValuesChange) {
399
+ //自定义值修改逻辑
400
+ appDtmplConfig.onValuesChange(
401
+ changedValues,
402
+ {
403
+ code,
404
+ fieldMap: allValues,
405
+ arrayMap: currentDtmplData.arrayMap,
406
+ },
407
+ formRef.current
408
+ );
342
409
  }
410
+ if (onValuesChange) {
411
+ onValuesChange();
412
+ }
413
+ };
343
414
 
415
+ // nameValue = AntdForm.useWatch(this.props.dtmplConfig.groups[0].fields[0].id, this.props.formRef.current);
416
+ render() {
417
+ const {
418
+ formRef,
419
+ dtmplConfig,
420
+ code,
421
+ parentId,
422
+ showHeader,
423
+ serverKey,
424
+ } = this.props;
425
+ const { currentDtmplData, appDtmplConfig } = this.state;
426
+ const { translate } = this.context;
427
+ if (!dtmplConfig) {
428
+ return <Card loading={true}>{translate("${加载中}")}... ...</Card>;
429
+ }
430
+ //debugger
431
+ const { buttons, premises } = appDtmplConfig
432
+ ? appDtmplConfig
433
+ : { buttons: undefined, premises: undefined };
434
+ return (
435
+ <>
436
+ {showHeader ? (
437
+ <Card
438
+ bordered={false}
439
+ key={"detailTitle"}
440
+ className="hoverable pageHeader"
441
+ >
442
+ <h3>
443
+ {code || (currentDtmplData && currentDtmplData.code)
444
+ ? translate("[${编辑}]")
445
+ : translate("[${新增}]")}
446
+ {dtmplConfig ? <ToolTipBar content={dtmplConfig.tip} /> : null}
447
+ <div className="fr">
448
+ {buttons && buttons.includes("fusionMode") ? (
449
+ <Switch
450
+ checkedChildren={translate("${开}")}
451
+ unCheckedChildren={translate("${关}")}
452
+ style={{ marginRight: 10 }}
453
+ title={translate("${融合模式}")}
454
+ onChange={this.changeFuseMode}
455
+ />
456
+ ) : (
457
+ ""
458
+ )}
459
+ <Button
460
+ className="hoverbig"
461
+ title={translate("${刷新}")}
462
+ onClick={this.doRefresh}
463
+ >
464
+ <ReloadOutlined />
465
+ </Button>
466
+ </div>
467
+ </h3>
468
+ </Card>
469
+ ) : null}
470
+ <AntdForm
471
+ scrollToFirstError={true}
472
+ labelWrap={true}
473
+ ref={formRef}
474
+ name="control-hooks"
475
+ onValuesChange={this.onValuesChange}
476
+ onFinish={this.onSubmit}
477
+ >
478
+ <AntdForm.Item hidden={true} name={"actionId"}></AntdForm.Item>
479
+ <AntdForm.Item hidden={true} name={"mainCode"}></AntdForm.Item>
480
+ {this.addHiddenItem(dtmplConfig.hiddenFields)}
481
+ {this.fieldGroupList(appDtmplConfig, currentDtmplData)}
482
+ </AntdForm>
483
+ {premises && premises.length > 0 ? (
484
+ <CollapseCard
485
+ title={this.premisestitle}
486
+ key={this.premisestitle}
487
+ id={parentId + premises[0].id}
488
+ className="hoverable"
489
+ headStyle={{ background: "#f2f4f5" }}
490
+ // loading={loading}
491
+ >
492
+ <FieldViewGroup serverKey={serverKey} fields={premises} />
493
+ </CollapseCard>
494
+ ) : (
495
+ ""
496
+ )}
497
+ {/*{this.nameValue}*/}
498
+ </>
499
+ );
500
+ }
344
501
  }
345
-
346
-