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,396 +1,654 @@
1
- import React from 'react'
2
- import {Button, Card, Col, Input, Popconfirm, Popover, Row, Space, Tooltip, Tree, Typography} from 'antd';
1
+ import React from "react";
3
2
  import {
4
- AlignLeftOutlined,
5
- DeleteOutlined,
6
- EditOutlined,
7
- PlusOutlined,
8
- PlusSquareOutlined,
9
- ReloadOutlined
10
- } from '@ant-design/icons';
3
+ Button,
4
+ Card,
5
+ Col,
6
+ Input,
7
+ Popconfirm,
8
+ Popover,
9
+ Row,
10
+ Space,
11
+ Tooltip,
12
+ Tree,
13
+ Typography,
14
+ } from "antd";
15
+ import {
16
+ AlignLeftOutlined,
17
+ DeleteOutlined,
18
+ EditOutlined,
19
+ PlusOutlined,
20
+ PlusSquareOutlined,
21
+ ReloadOutlined,
22
+ } from "@ant-design/icons";
11
23
  // import './index.css';
12
- import Scrollbars from 'react-custom-scrollbars';
13
- import {HydrocarbonService} from "../index";
14
- import TreeUtils, {TtmplNodeConfig} from "./tree-utils";
15
- import {TreeDataNode} from './tree-utils'
24
+ import Scrollbars from "react-custom-scrollbars";
25
+ import { HydrocarbonService } from "../index";
26
+ import TreeUtils, { TtmplNodeConfig } from "./tree-utils";
27
+ import { TreeDataNode } from "./tree-utils";
28
+ import { LocaleContext } from "../locale/LocaleProvider";
16
29
 
17
- const {Text, Title} = Typography
30
+ const { Text, Title } = Typography;
18
31
 
19
32
  interface TmplTreeProps {
20
- ttmplNodeConfig: TtmplNodeConfig,
21
- currentId?: string,
22
- doEditSub?: (title:string,ratmplId: string, mainCode: string, code?: string) => void,
23
- doViewSub?: (title:string,ratmplId: string, mainCode: string, code?: string) => void,
24
- doEditRoot?: (title:string,code?: string) => void,
25
- doViewRoot?: (title:string,code?: string) => void,
26
- doDelete?: (ratmplId: string, code?: string) => void,
27
- doAddSub?: (title:string,ratmplId: string, mainCode: string,addTmplId:string) => void,
33
+ ttmplNodeConfig: TtmplNodeConfig;
34
+ currentId?: string;
35
+ doEditSub?: (
36
+ title: string,
37
+ ratmplId: string,
38
+ mainCode: string,
39
+ code?: string
40
+ ) => void;
41
+ doViewSub?: (
42
+ title: string,
43
+ ratmplId: string,
44
+ mainCode: string,
45
+ code?: string
46
+ ) => void;
47
+ doEditRoot?: (title: string, code?: string) => void;
48
+ doViewRoot?: (title: string, code?: string) => void;
49
+ doDelete?: (ratmplId: string, code?: string) => void;
50
+ doAddSub?: (
51
+ title: string,
52
+ ratmplId: string,
53
+ mainCode: string,
54
+ addTmplId: string
55
+ ) => void;
28
56
  }
29
57
 
30
58
  interface TmplTreeState {
31
- data?: TreeDataNode[],
32
- expandedKeys?: string[],
33
- loadedKeys?: string[],
34
- loading?: boolean,
35
- drawMainCode?: string,
36
- parentNodeData?: TreeDataNode,
37
- currentNodeData?: TreeDataNode,
38
- rootAddable?: boolean,
39
- searchValue?: string,
59
+ data?: TreeDataNode[];
60
+ expandedKeys?: string[];
61
+ loadedKeys?: string[];
62
+ loading?: boolean;
63
+ drawMainCode?: string;
64
+ parentNodeData?: TreeDataNode;
65
+ currentNodeData?: TreeDataNode;
66
+ rootAddable?: boolean;
67
+ searchValue?: string;
40
68
  }
41
69
 
42
-
43
70
  class TmplTree extends React.PureComponent<TmplTreeProps, TmplTreeState> {
44
-
45
- state = {
46
- data: [],
47
- expandedKeys: [],
48
- loadedKeys: [],
49
- loading: false,
50
- currentEditKey: undefined,
51
- parentNodeData: undefined,
52
- currentNodeData: undefined,
53
- rootAddable: false,
54
- searchValue: undefined,
71
+ state = {
72
+ data: [],
73
+ expandedKeys: [],
74
+ loadedKeys: [],
75
+ loading: false,
76
+ currentEditKey: undefined,
77
+ parentNodeData: undefined,
78
+ currentNodeData: undefined,
79
+ rootAddable: false,
80
+ searchValue: undefined,
81
+ };
82
+
83
+ static defaultProps = {
84
+ draggable: false,
85
+ readOnly: false,
86
+ };
87
+ static contextType = LocaleContext;
88
+ context: React.ContextType<typeof LocaleContext>;
89
+
90
+ doDelete = async (node: TreeDataNode) => {
91
+ let { ttmplNodeConfig } = this.props;
92
+ let sourceId;
93
+ if (node.isLeaf) {
94
+ sourceId = ttmplNodeConfig.leafRatmplId;
95
+ } else {
96
+ sourceId = ttmplNodeConfig.branchRatmplId;
55
97
  }
56
-
57
- static defaultProps = {
58
- draggable: false,
59
- readOnly: false
98
+ let res = await HydrocarbonService.deleteByCode(null, sourceId, [
99
+ node.code,
100
+ ]);
101
+ if (node.parent) {
102
+ await this.reloadData(node.parent.code);
60
103
  }
104
+ };
61
105
 
62
- doDelete = async (node: TreeDataNode) => {
63
- let {ttmplNodeConfig} = this.props;
64
- let sourceId;
65
- if (node.isLeaf) {
66
- sourceId = ttmplNodeConfig.leafRatmplId;
67
- } else {
68
- sourceId = ttmplNodeConfig.branchRatmplId;
69
- }
70
- let res = await HydrocarbonService.deleteByCode(null, sourceId, [node.code]);
71
- if(node.parent){
72
- await this.reloadData(node.parent.code);
73
- }
106
+ async componentDidMount() {
107
+ await this.refresh();
108
+ }
74
109
 
75
- }
110
+ async componentDidUpdate(prevProps) {
111
+ let { ttmplNodeConfig: preTtmplNodeConfig } = prevProps;
112
+ let { ttmplNodeConfig } = this.props;
76
113
 
77
- async componentDidMount() {
78
- await this.refresh();
114
+ if (
115
+ !ttmplNodeConfig ||
116
+ (preTtmplNodeConfig && ttmplNodeConfig.id == preTtmplNodeConfig.id)
117
+ ) {
118
+ return;
79
119
  }
120
+ await this.refresh();
121
+ }
80
122
 
81
- async componentDidUpdate(prevProps) {
82
-
83
- let {ttmplNodeConfig: preTtmplNodeConfig} = prevProps;
84
- let {ttmplNodeConfig} = this.props;
85
-
86
- if (!ttmplNodeConfig || (preTtmplNodeConfig && ttmplNodeConfig.id == preTtmplNodeConfig.id)) {
87
- return;
88
- }
89
- await this.refresh();
123
+ async refresh() {
124
+ const { ttmplNodeConfig } = this.props;
125
+ if (!ttmplNodeConfig) {
126
+ return;
90
127
  }
91
-
92
- async refresh() {
93
- const {ttmplNodeConfig} = this.props;
94
- if (!ttmplNodeConfig) {
95
- return;
128
+ this.setState({
129
+ loading: true,
130
+ });
131
+ //let loadedKeys = [];
132
+ let data = await this.loadRootNodeData();
133
+ this.setState({
134
+ searchValue: null,
135
+ data,
136
+ rootAddable:
137
+ ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("dtmplAdd") > 0,
138
+ loading: false,
139
+ });
140
+ }
141
+
142
+ loadRootNodeData = async () => {
143
+ const { ttmplNodeConfig } = this.props;
144
+ let data = await TreeUtils.loadRootNodeData(ttmplNodeConfig);
145
+ return data;
146
+ };
147
+
148
+ async componentWillUnmount() {}
149
+
150
+ onExpand = async (
151
+ expandedKeys,
152
+ current: { expanded: boolean; node: TreeDataNode }
153
+ ) => {
154
+ const { ttmplNodeConfig } = this.props;
155
+ const { data } = this.state;
156
+ if (current.expanded) {
157
+ await TreeUtils.pushSameCodeNodeData([current.node], ttmplNodeConfig);
158
+ }
159
+ this.setState({
160
+ data: [...data],
161
+ expandedKeys,
162
+ });
163
+ };
164
+
165
+ onClickNode = (dataNode: TreeDataNode) => {
166
+ const {
167
+ doEditRoot,
168
+ doViewRoot,
169
+ doViewSub,
170
+ doEditSub,
171
+ ttmplNodeConfig,
172
+ } = this.props;
173
+ if (dataNode.parent) {
174
+ //说明是sub
175
+ if (dataNode.isLeaf) {
176
+ if (ttmplNodeConfig.leafLTmplConfig.buttons.indexOf("dtmplEdit") > 0) {
177
+ doEditSub(
178
+ ttmplNodeConfig.leafTitle,
179
+ ttmplNodeConfig.leafRatmplId,
180
+ dataNode.parent.code,
181
+ dataNode.code
182
+ );
183
+ } else if (
184
+ ttmplNodeConfig.leafLTmplConfig.buttons.indexOf("detail") > 0
185
+ ) {
186
+ doViewSub(
187
+ ttmplNodeConfig.leafTitle,
188
+ ttmplNodeConfig.leafRatmplId,
189
+ dataNode.parent.code,
190
+ dataNode.code
191
+ );
192
+ }
193
+ } else {
194
+ if (
195
+ ttmplNodeConfig.branchLTmplConfig.buttons.indexOf("dtmplEdit") > 0
196
+ ) {
197
+ doEditSub(
198
+ ttmplNodeConfig.branchTitle,
199
+ ttmplNodeConfig.branchRatmplId,
200
+ dataNode.parent.code,
201
+ dataNode.code
202
+ );
203
+ } else if (
204
+ ttmplNodeConfig.branchLTmplConfig.buttons.indexOf("detail") > 0
205
+ ) {
206
+ doViewSub(
207
+ ttmplNodeConfig.branchTitle,
208
+ ttmplNodeConfig.branchRatmplId,
209
+ dataNode.parent.code,
210
+ dataNode.code
211
+ );
96
212
  }
97
- this.setState({
98
- loading: true,
99
- })
100
- //let loadedKeys = [];
101
- let data = await this.loadRootNodeData();
102
- this.setState({
103
- searchValue: null,
104
- data,
105
- rootAddable: ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("dtmplAdd") > 0,
106
- loading: false,
107
- })
213
+ }
214
+ } else {
215
+ //说明是root
216
+ //判断是否允许编辑
217
+ if (ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("dtmplEdit") > 0) {
218
+ doEditRoot(ttmplNodeConfig.branchTitle, dataNode.code);
219
+ } else if (
220
+ ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("detail") > 0
221
+ ) {
222
+ doViewRoot(ttmplNodeConfig.branchTitle, dataNode.code);
223
+ }
108
224
  }
109
-
110
- loadRootNodeData = async () => {
111
- const {ttmplNodeConfig} = this.props;
112
- let data = await TreeUtils.loadRootNodeData(ttmplNodeConfig);
113
- return data;
225
+ };
226
+
227
+ stopPropagation = (e) => {
228
+ if (e.stopPropagation) {
229
+ //如果提供了事件对象,则这是一个非IE浏览器
230
+ e.stopPropagation();
231
+ } else {
232
+ //兼容IE的方式来取消事件冒泡
233
+ window.event.cancelBubble = true;
114
234
  }
115
-
116
- async componentWillUnmount() {
117
-
235
+ };
236
+
237
+ reloadData = async (branchCode: string) => {
238
+ const { ttmplNodeConfig } = this.props;
239
+ const { data, expandedKeys } = this.state;
240
+ let newData;
241
+ if (branchCode == null) {
242
+ //加载根
243
+ newData = await this.loadRootNodeData();
244
+ this.mergeRootData(data, newData);
245
+ this.setState({
246
+ data: newData,
247
+ });
248
+ } else {
249
+ //重新加载 await
250
+ //先找到树节点
251
+ let rdatas = [];
252
+ this.searchNode(data, branchCode, rdatas);
253
+ await TreeUtils.pushSameCodeNodeData(rdatas, ttmplNodeConfig);
254
+ let newExpandeds = [];
255
+ for (let d of rdatas) {
256
+ newExpandeds.push(d.key);
257
+ }
258
+ this.setState({
259
+ expandedKeys: [...expandedKeys, ...newExpandeds],
260
+ data: [...data],
261
+ });
118
262
  }
263
+ };
119
264
 
120
- onExpand = async (expandedKeys, current: { expanded: boolean, node: TreeDataNode }) => {
121
- const {ttmplNodeConfig} = this.props;
122
- const {data} = this.state;
123
- if (current.expanded) {
124
- await TreeUtils.pushSameCodeNodeData([current.node], ttmplNodeConfig);
265
+ mergeRootData = (data, newData) => {
266
+ if (newData && data) {
267
+ for (let nd of newData) {
268
+ for (let d of data) {
269
+ if (nd.code == d.code) {
270
+ nd.children = d.children;
271
+ break;
272
+ }
125
273
  }
126
- this.setState({
127
- data: [...data],
128
- expandedKeys
129
- })
274
+ }
130
275
  }
131
-
132
- onClickNode = (dataNode: TreeDataNode) => {
133
- const {doEditRoot, doViewRoot, doViewSub, doEditSub, ttmplNodeConfig} = this.props;
134
- if (dataNode.parent) {//说明是sub
135
- if (dataNode.isLeaf) {
136
- if (ttmplNodeConfig.leafLTmplConfig.buttons.indexOf("dtmplEdit") > 0) {
137
- doEditSub(ttmplNodeConfig.leafTitle,ttmplNodeConfig.leafRatmplId, dataNode.parent.code, dataNode.code);
138
- } else if (ttmplNodeConfig.leafLTmplConfig.buttons.indexOf("detail") > 0) {
139
- doViewSub(ttmplNodeConfig.leafTitle,ttmplNodeConfig.leafRatmplId, dataNode.parent.code, dataNode.code);
140
- }
141
- } else {
142
- if (ttmplNodeConfig.branchLTmplConfig.buttons.indexOf("dtmplEdit") > 0) {
143
- doEditSub(ttmplNodeConfig.branchTitle,ttmplNodeConfig.branchRatmplId, dataNode.parent.code, dataNode.code);
144
- } else if (ttmplNodeConfig.branchLTmplConfig.buttons.indexOf("detail") > 0) {
145
- doViewSub(ttmplNodeConfig.branchTitle,ttmplNodeConfig.branchRatmplId, dataNode.parent.code, dataNode.code);
146
- }
147
- }
148
- } else {//说明是root
149
- //判断是否允许编辑
150
- if (ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("dtmplEdit") > 0) {
151
- doEditRoot(ttmplNodeConfig.branchTitle,dataNode.code);
152
- } else if (ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("detail") > 0) {
153
- doViewRoot(ttmplNodeConfig.branchTitle,dataNode.code);
154
- }
155
- }
276
+ };
277
+
278
+ searchNode = (
279
+ data: TreeDataNode[],
280
+ brachCode: string,
281
+ result: TreeDataNode[]
282
+ ) => {
283
+ if (!data) {
284
+ return;
156
285
  }
157
-
158
- stopPropagation = (e) => {
159
- if (e.stopPropagation) { //如果提供了事件对象,则这是一个非IE浏览器
160
- e.stopPropagation();
161
- } else {//兼容IE的方式来取消事件冒泡
162
- window.event.cancelBubble = true;
163
- }
286
+ for (let d of data) {
287
+ if (d.code == brachCode) {
288
+ result.push(d);
289
+ break;
290
+ } else if (d.children.length > 0) {
291
+ //继续寻找
292
+ this.searchNode(d.children, brachCode, result);
293
+ }
164
294
  }
165
-
166
- reloadData = async (branchCode: string) => {
167
- const {ttmplNodeConfig} = this.props;
168
- const {data, expandedKeys} = this.state;
169
- let newData;
170
- if (branchCode == null) {//加载根
171
- newData = await this.loadRootNodeData();
172
- this.mergeRootData(data, newData);
173
- this.setState({
174
- data: newData
175
- })
176
- } else {//重新加载 await
177
- //先找到树节点
178
- let rdatas = [];
179
- this.searchNode(data, branchCode, rdatas);
180
- await TreeUtils.pushSameCodeNodeData(rdatas, ttmplNodeConfig);
181
- let newExpandeds = [];
182
- for (let d of rdatas) {
183
- newExpandeds.push(d.key)
184
- }
185
- this.setState({
186
- expandedKeys: [...expandedKeys, ...newExpandeds],
187
- data: [...data]
188
- })
295
+ };
296
+
297
+ getDeleteButton = (sourceId, code) => {
298
+ const { doDelete } = this.props;
299
+ const { translate } = this.context;
300
+ return (
301
+ <div
302
+ onClick={(e) => {
303
+ this.stopPropagation(e);
304
+ }}
305
+ >
306
+ <Popconfirm
307
+ placement="topLeft"
308
+ title={translate("${确定要删除吗}?")}
309
+ onConfirm={() => {
310
+ doDelete(sourceId, code);
311
+ }}
312
+ okText={translate("${确定}")}
313
+ cancelText={translate("${取消}")}
314
+ >
315
+ <Tooltip>
316
+ <Button size={"small"} danger={true}>
317
+ <DeleteOutlined />
318
+ </Button>
319
+ </Tooltip>
320
+ </Popconfirm>
321
+ </div>
322
+ );
323
+ };
324
+
325
+ getAddButton = (
326
+ title: string,
327
+ icon: any,
328
+ ratmplId: string,
329
+ mainCode: any
330
+ ) => {
331
+ const { doAddSub } = this.props;
332
+ return (
333
+ <Button
334
+ onClick={(e) => {
335
+ this.stopPropagation(e);
336
+ doAddSub(title, ratmplId, mainCode, null);
337
+ }}
338
+ size={"small"}
339
+ >
340
+ {icon}
341
+ {title}
342
+ </Button>
343
+ );
344
+ };
345
+
346
+ packageTitle = (dataNode) => {
347
+ const {
348
+ doEditRoot,
349
+ doViewRoot,
350
+ doViewSub,
351
+ doEditSub,
352
+ ttmplNodeConfig,
353
+ } = this.props;
354
+ const { translate } = this.context;
355
+ let buttons = [];
356
+ if (dataNode.parent) {
357
+ //说明是sub
358
+ if (dataNode.isLeaf) {
359
+ if (ttmplNodeConfig.leafLTmplConfig?.buttons.indexOf("dtmplEdit") > 0) {
360
+ buttons.push(
361
+ <Button
362
+ onClick={(e) => {
363
+ this.stopPropagation(e);
364
+ doEditSub(
365
+ ttmplNodeConfig.leafTitle,
366
+ ttmplNodeConfig.leafRatmplId,
367
+ dataNode.parent.code,
368
+ dataNode.code
369
+ );
370
+ }}
371
+ size={"small"}
372
+ >
373
+ <EditOutlined />
374
+ {translate("${编辑}")}
375
+ </Button>
376
+ );
189
377
  }
190
- }
191
-
192
- mergeRootData = (data, newData) => {
193
- if (newData && data) {
194
- for (let nd of newData) {
195
- for (let d of data) {
196
- if (nd.code == d.code) {
197
- nd.children = d.children;
198
- break;
199
- }
200
- }
201
- }
378
+ if (ttmplNodeConfig.leafLTmplConfig?.buttons.indexOf("detail") > 0) {
379
+ buttons.push(
380
+ <Button
381
+ onClick={(e) => {
382
+ this.stopPropagation(e);
383
+ doViewSub(
384
+ ttmplNodeConfig.leafTitle,
385
+ ttmplNodeConfig.leafRatmplId,
386
+ dataNode.parent.code,
387
+ dataNode.code
388
+ );
389
+ }}
390
+ size={"small"}
391
+ >
392
+ <AlignLeftOutlined />
393
+ {translate("${查看}")}
394
+ </Button>
395
+ );
202
396
  }
203
- };
204
-
205
- searchNode = (data: TreeDataNode[], brachCode: string, result: TreeDataNode[]) => {
206
- if (!data) {
207
- return;
397
+ if (
398
+ ttmplNodeConfig.leafLTmplConfig?.buttons.indexOf("singleDelete") > 0
399
+ ) {
400
+ buttons.push(
401
+ this.getDeleteButton(ttmplNodeConfig.leafRatmplId, dataNode.code)
402
+ );
208
403
  }
209
- for (let d of data) {
210
- if (d.code == brachCode) {
211
- result.push(d);
212
- break;
213
- } else if (d.children.length > 0) {//继续寻找
214
- this.searchNode(d.children, brachCode, result);
215
- }
404
+ } else if (ttmplNodeConfig.branchLTmplConfig) {
405
+ if (
406
+ ttmplNodeConfig.branchLTmplConfig.buttons.indexOf("dtmplEdit") > 0
407
+ ) {
408
+ buttons.push(
409
+ <Button
410
+ onClick={(e) => {
411
+ this.stopPropagation(e);
412
+ doEditSub(
413
+ ttmplNodeConfig.branchTitle,
414
+ ttmplNodeConfig.branchRatmplId,
415
+ dataNode.parent.code,
416
+ dataNode.code
417
+ );
418
+ }}
419
+ size={"small"}
420
+ >
421
+ <EditOutlined />
422
+ {translate("${编辑}")}
423
+ </Button>
424
+ );
216
425
  }
217
- }
218
-
219
- getDeleteButton = (sourceId, code) => {
220
- const {doDelete} = this.props;
221
- return <div onClick={(e) => {
222
- this.stopPropagation(e)
223
- }}>< Popconfirm placement="topLeft" title={`确定要删除吗?`}
224
- onConfirm={() => {
225
- doDelete(sourceId, code);
226
- }}
227
- okText="确定" cancelText="取消">
228
- <Tooltip>
229
- <Button size={'small'} danger={true}>
230
- <DeleteOutlined/></Button>
231
- </Tooltip>
232
- </Popconfirm></div>
233
- }
234
-
235
- getAddButton = (title: string, icon: any, ratmplId: string, mainCode: any) => {
236
- const {doAddSub} = this.props;
237
- return <Button onClick={(e) => {
238
- this.stopPropagation(e)
239
- doAddSub(title,ratmplId, mainCode,null);
240
- }} size={'small'}>{icon}{title}</Button>
241
- }
242
-
243
- packageTitle = (dataNode) => {
244
- const {doEditRoot, doViewRoot, doViewSub, doEditSub, ttmplNodeConfig} = this.props;
245
- let buttons = [];
246
- if (dataNode.parent) {//说明是sub
247
- if (dataNode.isLeaf) {
248
- if (ttmplNodeConfig.leafLTmplConfig?.buttons.indexOf("dtmplEdit") > 0) {
249
- buttons.push(<Button onClick={(e) => {
250
- this.stopPropagation(e)
251
- doEditSub(ttmplNodeConfig.leafTitle,ttmplNodeConfig.leafRatmplId, dataNode.parent.code, dataNode.code);
252
- }} size={'small'}><EditOutlined/>编辑</Button>);
253
- }
254
- if (ttmplNodeConfig.leafLTmplConfig?.buttons.indexOf("detail") > 0) {
255
- buttons.push(<Button onClick={(e) => {
256
- this.stopPropagation(e)
257
- doViewSub(ttmplNodeConfig.leafTitle,ttmplNodeConfig.leafRatmplId, dataNode.parent.code, dataNode.code);
258
- }} size={'small'}><AlignLeftOutlined/>查看</Button>);
259
- }
260
- if (ttmplNodeConfig.leafLTmplConfig?.buttons.indexOf("singleDelete") > 0) {
261
- buttons.push(this.getDeleteButton(ttmplNodeConfig.leafRatmplId, dataNode.code)
262
- );
263
- }
264
-
265
- } else if (ttmplNodeConfig.branchLTmplConfig) {
266
- if (ttmplNodeConfig.branchLTmplConfig.buttons.indexOf("dtmplEdit") > 0) {
267
- buttons.push(<Button onClick={(e) => {
268
- this.stopPropagation(e)
269
- doEditSub(ttmplNodeConfig.branchTitle,ttmplNodeConfig.branchRatmplId, dataNode.parent.code, dataNode.code);
270
- }} size={'small'}><EditOutlined/>编辑</Button>);
271
- }
272
- if (ttmplNodeConfig.branchLTmplConfig?.buttons.indexOf("detail") > 0) {
273
- buttons.push(<Button onClick={(e) => {
274
- this.stopPropagation(e)
275
- doViewSub(ttmplNodeConfig.branchTitle,ttmplNodeConfig.branchRatmplId, dataNode.parent.code, dataNode.code);
276
- }} size={'small'}><AlignLeftOutlined/>查看</Button>);
277
-
278
- }
279
-
280
- if (ttmplNodeConfig.branchLTmplConfig?.buttons.indexOf("dtmplAdd") > 0) {
281
- buttons.push(this.getAddButton(ttmplNodeConfig.branchTitle,
282
- <PlusSquareOutlined/>, ttmplNodeConfig.branchRatmplId, dataNode.code)
283
- );
284
- }
285
-
286
- if (ttmplNodeConfig.leafLTmplConfig?.buttons.indexOf("dtmplAdd") > 0) {
287
- buttons.push(this.getAddButton(ttmplNodeConfig.leafTitle,
288
- <PlusOutlined/>, ttmplNodeConfig.leafRatmplId, dataNode.code)
289
- );
290
- }
291
- if (ttmplNodeConfig.branchLTmplConfig?.buttons.indexOf("singleDelete") > 0) {
292
- buttons.push(this.getDeleteButton(ttmplNodeConfig.branchRatmplId, dataNode.code));
293
- }
294
- }
295
- } else {//说明是root
296
- //判断是否允许编辑
297
- if (ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("dtmplEdit") > 0) {
298
- buttons.push(<Button onClick={(e) => {
299
- this.stopPropagation(e)
300
- doEditRoot(ttmplNodeConfig.branchTitle,dataNode.code);
301
- }} size={'small'}><EditOutlined style={{color: 'blue'}}/>编辑</Button>);
302
- }
303
- if (ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("detail") > 0) {
304
- buttons.push(<Button onClick={(e) => {
305
- this.stopPropagation(e)
306
- doViewRoot(ttmplNodeConfig.branchTitle,dataNode.code);
307
- }} size={'small'}><AlignLeftOutlined/>查看</Button>);
308
- }
309
- if (ttmplNodeConfig.branchLTmplConfig) {
310
- if (ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("dtmplAdd") > 0) {
311
- buttons.push(this.getAddButton(ttmplNodeConfig.branchTitle,
312
- <PlusSquareOutlined/>, ttmplNodeConfig.branchRatmplId, dataNode.code)
313
- );
314
- }
315
- }
316
- if (ttmplNodeConfig.leafLTmplConfig?.buttons.indexOf("dtmplAdd") > 0) {
317
- buttons.push(this.getAddButton(ttmplNodeConfig.leafTitle,
318
- <PlusOutlined/>, ttmplNodeConfig.leafRatmplId, dataNode.code)
426
+ if (ttmplNodeConfig.branchLTmplConfig?.buttons.indexOf("detail") > 0) {
427
+ buttons.push(
428
+ <Button
429
+ onClick={(e) => {
430
+ this.stopPropagation(e);
431
+ doViewSub(
432
+ ttmplNodeConfig.branchTitle,
433
+ ttmplNodeConfig.branchRatmplId,
434
+ dataNode.parent.code,
435
+ dataNode.code
319
436
  );
320
- }
321
-
322
- if (ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("singleDelete") > 0) {
323
- buttons.push(this.getDeleteButton(ttmplNodeConfig.branchRatmplId, dataNode.code));
324
- }
437
+ }}
438
+ size={"small"}
439
+ >
440
+ <AlignLeftOutlined />
441
+ {translate("${查看}")}
442
+ </Button>
443
+ );
325
444
  }
326
445
 
327
- if (buttons.length == 0) {
328
- return dataNode.title;
329
- } else {
330
- return <Popover
331
- zIndex={100} content={<><Space>{buttons}</Space></>} arrow={false}>
332
- {dataNode.title}
333
- </Popover>
446
+ if (
447
+ ttmplNodeConfig.branchLTmplConfig?.buttons.indexOf("dtmplAdd") > 0
448
+ ) {
449
+ buttons.push(
450
+ this.getAddButton(
451
+ ttmplNodeConfig.branchTitle,
452
+ <PlusSquareOutlined />,
453
+ ttmplNodeConfig.branchRatmplId,
454
+ dataNode.code
455
+ )
456
+ );
334
457
  }
335
458
 
459
+ if (ttmplNodeConfig.leafLTmplConfig?.buttons.indexOf("dtmplAdd") > 0) {
460
+ buttons.push(
461
+ this.getAddButton(
462
+ ttmplNodeConfig.leafTitle,
463
+ <PlusOutlined />,
464
+ ttmplNodeConfig.leafRatmplId,
465
+ dataNode.code
466
+ )
467
+ );
468
+ }
469
+ if (
470
+ ttmplNodeConfig.branchLTmplConfig?.buttons.indexOf("singleDelete") > 0
471
+ ) {
472
+ buttons.push(
473
+ this.getDeleteButton(ttmplNodeConfig.branchRatmplId, dataNode.code)
474
+ );
475
+ }
476
+ }
477
+ } else {
478
+ //说明是root
479
+ //判断是否允许编辑
480
+ if (ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("dtmplEdit") > 0) {
481
+ buttons.push(
482
+ <Button
483
+ onClick={(e) => {
484
+ this.stopPropagation(e);
485
+ doEditRoot(ttmplNodeConfig.branchTitle, dataNode.code);
486
+ }}
487
+ size={"small"}
488
+ >
489
+ <EditOutlined style={{ color: "blue" }} />
490
+ {translate("${编辑}")}
491
+ </Button>
492
+ );
493
+ }
494
+ if (ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("detail") > 0) {
495
+ buttons.push(
496
+ <Button
497
+ onClick={(e) => {
498
+ this.stopPropagation(e);
499
+ doViewRoot(ttmplNodeConfig.branchTitle, dataNode.code);
500
+ }}
501
+ size={"small"}
502
+ >
503
+ <AlignLeftOutlined />
504
+ {translate("${查看}")}
505
+ </Button>
506
+ );
507
+ }
508
+ if (ttmplNodeConfig.branchLTmplConfig) {
509
+ if (ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("dtmplAdd") > 0) {
510
+ buttons.push(
511
+ this.getAddButton(
512
+ ttmplNodeConfig.branchTitle,
513
+ <PlusSquareOutlined />,
514
+ ttmplNodeConfig.branchRatmplId,
515
+ dataNode.code
516
+ )
517
+ );
518
+ }
519
+ }
520
+ if (ttmplNodeConfig.leafLTmplConfig?.buttons.indexOf("dtmplAdd") > 0) {
521
+ buttons.push(
522
+ this.getAddButton(
523
+ ttmplNodeConfig.leafTitle,
524
+ <PlusOutlined />,
525
+ ttmplNodeConfig.leafRatmplId,
526
+ dataNode.code
527
+ )
528
+ );
529
+ }
530
+
531
+ if (ttmplNodeConfig.rootLTmplConfig.buttons.indexOf("singleDelete") > 0) {
532
+ buttons.push(
533
+ this.getDeleteButton(ttmplNodeConfig.branchRatmplId, dataNode.code)
534
+ );
535
+ }
336
536
  }
337
537
 
338
- render() {
339
- const {doEditRoot,ttmplNodeConfig} = this.props;
340
- const {
341
- data, loading, expandedKeys, rootAddable, searchValue
342
- } = this.state;
343
- let treeData = data;
344
- if (searchValue) {
345
- treeData = TreeUtils.filterTree(data, searchValue);
346
- }
347
- return <>
348
- <Row>
349
- <Col span={24}>
350
- <Card style={{marginBottom: 0, width: '100%'}} bordered={false}
351
- bodyStyle={{padding: '4px 2px 4px 8px'}}>
352
- <Row align="middle">
353
- <Col span={8}>
354
- {rootAddable && doEditRoot ?
355
- <Button type={'link'} onClick={() => doEditRoot(ttmplNodeConfig.branchTitle)}>添加</Button> : null}
356
- </Col>
357
- <Col span={16}>
358
- <Input.Search value={searchValue} allowClear placeholder="输入查找内容" onChange={(e) => {
359
- this.setState({
360
- searchValue: e.target.value
361
- })
362
- }} onSearch={(value) => {
363
- this.refresh()
364
- }} enterButton={<ReloadOutlined/>}/>
365
- </Col>
366
- </Row>
367
- </Card>
538
+ if (buttons.length == 0) {
539
+ return dataNode.title;
540
+ } else {
541
+ return (
542
+ <Popover
543
+ zIndex={100}
544
+ content={
545
+ <>
546
+ <Space>{buttons}</Space>
547
+ </>
548
+ }
549
+ arrow={false}
550
+ >
551
+ {dataNode.title}
552
+ </Popover>
553
+ );
554
+ }
555
+ };
556
+
557
+ render() {
558
+ const { doEditRoot, ttmplNodeConfig } = this.props;
559
+ const {
560
+ data,
561
+ loading,
562
+ expandedKeys,
563
+ rootAddable,
564
+ searchValue,
565
+ } = this.state;
566
+ let treeData = data;
567
+ const { translate } = this.context;
568
+ if (searchValue) {
569
+ treeData = TreeUtils.filterTree(data, searchValue);
570
+ }
571
+ return (
572
+ <>
573
+ <Row>
574
+ <Col span={24}>
575
+ <Card
576
+ style={{ marginBottom: 0, width: "100%" }}
577
+ bordered={false}
578
+ bodyStyle={{ padding: "4px 2px 4px 8px" }}
579
+ >
580
+ <Row align="middle">
581
+ <Col span={8}>
582
+ {rootAddable && doEditRoot ? (
583
+ <Button
584
+ type={"link"}
585
+ onClick={() => doEditRoot(ttmplNodeConfig.branchTitle)}
586
+ >
587
+ {translate("${添加}")}
588
+ </Button>
589
+ ) : null}
368
590
  </Col>
369
- </Row>
370
- <Row>
371
- <Col span={24}>
372
- <Card bodyStyle={{padding: '4px 4px 4px 16px', height: '80vh', minWidth: '292px'}}
373
- loading={loading}>
374
- {treeData.length == 0 ? '没有找到数据' :
375
- <Scrollbars style={{height: '80vh'}} autoHide autoHideTimeout={1000}>
376
- <Tree blockNode showLine={ttmplNodeConfig.showLine}
377
- checkable={false}
378
- expandedKeys={expandedKeys}
379
- onExpand={this.onExpand}
380
- titleRender={(nodeData) => {
381
- return <div
382
- onClick={() => this.onClickNode(nodeData)}>{this.packageTitle(nodeData)}</div>
383
- }}
384
- treeData={treeData}
385
- />
386
- </Scrollbars>}
387
- </Card>
591
+ <Col span={16}>
592
+ <Input.Search
593
+ value={searchValue}
594
+ allowClear
595
+ placeholder={translate("${输入查找内容}")}
596
+ onChange={(e) => {
597
+ this.setState({
598
+ searchValue: e.target.value,
599
+ });
600
+ }}
601
+ onSearch={(value) => {
602
+ this.refresh();
603
+ }}
604
+ enterButton={<ReloadOutlined />}
605
+ />
388
606
  </Col>
389
- </Row>
390
- </>
391
- }
392
-
393
-
607
+ </Row>
608
+ </Card>
609
+ </Col>
610
+ </Row>
611
+ <Row>
612
+ <Col span={24}>
613
+ <Card
614
+ bodyStyle={{
615
+ padding: "4px 4px 4px 16px",
616
+ height: "80vh",
617
+ minWidth: "292px",
618
+ }}
619
+ loading={loading}
620
+ >
621
+ {treeData.length == 0 ? (
622
+ translate("${没有找到数据}")
623
+ ) : (
624
+ <Scrollbars
625
+ style={{ height: "80vh" }}
626
+ autoHide
627
+ autoHideTimeout={1000}
628
+ >
629
+ <Tree
630
+ blockNode
631
+ showLine={ttmplNodeConfig.showLine}
632
+ checkable={false}
633
+ expandedKeys={expandedKeys}
634
+ onExpand={this.onExpand}
635
+ titleRender={(nodeData) => {
636
+ return (
637
+ <div onClick={() => this.onClickNode(nodeData)}>
638
+ {this.packageTitle(nodeData)}
639
+ </div>
640
+ );
641
+ }}
642
+ treeData={treeData}
643
+ />
644
+ </Scrollbars>
645
+ )}
646
+ </Card>
647
+ </Col>
648
+ </Row>
649
+ </>
650
+ );
651
+ }
394
652
  }
395
653
 
396
- export default TmplTree
654
+ export default TmplTree;