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,364 +1,447 @@
1
- import React from 'react'
1
+ import React from "react";
2
2
  import {
3
- Button,
4
- Card,
5
- Checkbox,
6
- Col,
7
- InputNumber,
8
- List,
9
- message,
10
- Popover,
11
- Progress,
12
- Row,
13
- Space,
14
- Typography,
15
- Upload
16
- } from 'antd'
17
- import {DownloadOutlined, ReloadOutlined, SettingOutlined, UploadOutlined} from '@ant-design/icons';
18
- import Super from "../tmpl/superagent"
19
- import Units from "../units"
20
- import './index.css'
21
- import {LtmplConfig} from "../tmpl/interface";
3
+ Button,
4
+ Card,
5
+ Checkbox,
6
+ Col,
7
+ InputNumber,
8
+ List,
9
+ message,
10
+ Popover,
11
+ Progress,
12
+ Row,
13
+ Space,
14
+ Typography,
15
+ Upload,
16
+ } from "antd";
17
+ import {
18
+ DownloadOutlined,
19
+ ReloadOutlined,
20
+ SettingOutlined,
21
+ UploadOutlined,
22
+ } from "@ant-design/icons";
23
+ import Super from "../tmpl/superagent";
24
+ import Units from "../units";
25
+ import "./index.css";
26
+ import { LtmplConfig } from "../tmpl/interface";
22
27
  import HCDataSource from "../tmpl/hc-data-source";
28
+ import { LocaleContext } from "../locale/LocaleProvider";
23
29
 
24
30
  const CheckboxGroup = Checkbox.Group;
25
- const logLevelList: LogLevel[] = ['INFO', 'SUC', 'ERROR', 'WARN'];
26
- let totalMSG = []
27
- type LogLevel = 'INFO' | 'SUC' | 'ERROR' | 'WARN';
28
- type ImportStatus = 'waitingFile' | 'fileSelected' | 'importing' | 'success' | 'fail' | 'stop';
29
- const {Text} = Typography;
31
+ const logLevelList: LogLevel[] = ["INFO", "SUC", "ERROR", "WARN"];
32
+ let totalMSG = [];
33
+ type LogLevel = "INFO" | "SUC" | "ERROR" | "WARN";
34
+ type ImportStatus =
35
+ | "waitingFile"
36
+ | "fileSelected"
37
+ | "importing"
38
+ | "success"
39
+ | "fail"
40
+ | "stop";
41
+ const { Text } = Typography;
30
42
 
31
43
  interface ExcelImportProps {
32
- serverKey?: string,
33
- sourceId: string,
34
- };
44
+ serverKey?: string;
45
+ sourceId: string;
46
+ }
35
47
 
36
48
  interface ExcelImportStat {
37
- inputMaxMsgCount?: number;
38
- maxMsgCount?: number;
39
- percent?: number;
40
- statusMsg?: string;
41
- importStatus?: string,
42
- showLogLevelList?: LogLevel[],
43
- logSetterOpen?: boolean,
44
- logs?: any[];
45
- importFile?: any,
46
- logSerialId?: string,
47
- ltmplConfig?: LtmplConfig;
48
- };
49
-
50
- export default class ExcelImport extends React.PureComponent<ExcelImportProps, ExcelImportStat> {
51
-
52
- state = {
53
- maxMsgCount: 100,
54
- inputMaxMsgCount: 100,
55
- importStatus: 'waitingFile',
56
- importFile: undefined,
57
- logs: [],
58
- percent: 0,
59
- statusMsg: undefined,
60
- logSetterOpen: false,
61
- showLogLevelList: [...logLevelList],
62
- logSerialId: undefined,
63
- ltmplConfig: undefined,
64
- }
49
+ inputMaxMsgCount?: number;
50
+ maxMsgCount?: number;
51
+ percent?: number;
52
+ statusMsg?: string;
53
+ importStatus?: string;
54
+ showLogLevelList?: LogLevel[];
55
+ logSetterOpen?: boolean;
56
+ logs?: any[];
57
+ importFile?: any;
58
+ logSerialId?: string;
59
+ ltmplConfig?: LtmplConfig;
60
+ }
65
61
 
66
- timerId = undefined;
62
+ export default class ExcelImport extends React.PureComponent<
63
+ ExcelImportProps,
64
+ ExcelImportStat
65
+ > {
66
+ state = {
67
+ maxMsgCount: 100,
68
+ inputMaxMsgCount: 100,
69
+ importStatus: "waitingFile",
70
+ importFile: undefined,
71
+ logs: [],
72
+ percent: 0,
73
+ statusMsg: undefined,
74
+ logSetterOpen: false,
75
+ showLogLevelList: [...logLevelList],
76
+ logSerialId: undefined,
77
+ ltmplConfig: undefined,
78
+ };
79
+ static contextType = LocaleContext;
80
+ context: React.ContextType<typeof LocaleContext>;
67
81
 
68
- async componentDidMount() {
69
- const {sourceId, serverKey} = this.props;
82
+ timerId = undefined;
70
83
 
71
- let ltmplConfigRes = await HCDataSource.requestLtmplConfig(serverKey, sourceId);
84
+ async componentDidMount() {
85
+ const { sourceId, serverKey } = this.props;
72
86
 
73
- this.setState({
74
- ltmplConfig: ltmplConfigRes.ltmplConfig,
75
- })
87
+ let ltmplConfigRes = await HCDataSource.requestLtmplConfig(
88
+ serverKey,
89
+ sourceId
90
+ );
76
91
 
77
- }
92
+ this.setState({
93
+ ltmplConfig: ltmplConfigRes.ltmplConfig,
94
+ });
95
+ }
78
96
 
79
- componentWillUnmount() {
80
- if (this.timerId) {
81
- clearInterval(this.timerId);
82
- }
97
+ componentWillUnmount() {
98
+ if (this.timerId) {
99
+ clearInterval(this.timerId);
83
100
  }
101
+ }
84
102
 
103
+ handleUpload = () => {
104
+ const { sourceId, serverKey } = this.props;
105
+ const { importFile } = this.state;
106
+ const { translate } = this.context;
107
+ const formData = new FormData();
108
+ formData.append("file", importFile);
109
+ formData.append("sourceId", sourceId.toString());
85
110
 
86
- handleUpload = () => {
87
- const {sourceId, serverKey} = this.props;
88
- const {importFile} = this.state;
89
- const formData = new FormData();
90
- formData.append('file', importFile);
91
- formData.append('sourceId', sourceId.toString());
92
-
93
- Super.super({
94
- url: `/v3/ltmpl/importer`,
95
- serverKey,
96
- method: 'POST',
97
- data: formData,
98
- }, "formdata").then((res) => {
99
- //console.log(res)
100
- if (res.status === "success") {
101
- this.setState({
102
- importStatus: 'importing',
103
- });
104
- this.timerId = setInterval(() => this.handleStatus(res.importId), 500);
105
- } else {
106
- message.error('失败!');
107
- this.setState({
108
- importStatus: 'fail',
109
- });
110
- }
111
- })
112
- }
113
-
114
- handleStopImport = () => {
111
+ Super.super(
112
+ {
113
+ url: `/v3/ltmpl/importer`,
114
+ serverKey,
115
+ method: "POST",
116
+ data: formData,
117
+ },
118
+ "formdata"
119
+ ).then((res) => {
120
+ //console.log(res)
121
+ if (res.status === "success") {
115
122
  this.setState({
116
- importStatus: 'stop',
123
+ importStatus: "importing",
117
124
  });
118
- }
125
+ this.timerId = setInterval(() => this.handleStatus(res.importId), 500);
126
+ } else {
127
+ message.error(translate("${失败}!"));
128
+ this.setState({
129
+ importStatus: "fail",
130
+ });
131
+ }
132
+ });
133
+ };
119
134
 
120
- handleStatus = (importId) => {
121
- const {serverKey} = this.props;
122
- const {maxMsgCount, importStatus, logs} = this.state
123
- Super.super({
124
- url: `/v3/importer/status`,
125
- serverKey,
126
- method: 'GET',
127
- query: {
128
- importId: importId,
129
- msgIndex: 0,
130
- maxMsgCount,
131
- interrupted: importStatus == 'stop',
132
- }
133
- }, "", "none").then((res) => {
134
- const MSG = []
135
- if (res.status === 'error') {
136
- clearInterval(this.timerId);
137
- } else {
138
- if (res.messageSequence.messages) {
139
- for (let item of res.messageSequence.messages) {
140
- let color = "";
141
- let logLevel = "";
142
- let createTime = Units.formateDate(item.createTime);
143
- if (item.type === "SUC") {
144
- color = "green"
145
- logLevel = '成功';
146
- } else if (item.type === "INFO") {
147
- color = "black"
148
- logLevel = '常规';
149
- } else if (item.type === "ERROR") {
150
- color = "red"
151
- logLevel = '错误';
152
- } else if (item.type === "WARN") {
153
- color = "rgb(250, 225, 4)"
154
- logLevel = '警告';
155
- }
156
- const msg = <div><p>{createTime}</p><p style={{color: color}}>{`【${logLevel}】` + item.text}</p>
157
- </div>
158
- MSG.push({level: item.type, msg});
159
- }
160
- }
161
- // if(){
162
- //
163
- // }
164
- //
165
- let percent = Math.floor((res.current / res.totalCount) * 100);
166
- if (res.completed == true) {
167
- if (this.timerId) {
168
- clearInterval(this.timerId);
169
- this.timerId = undefined;
170
- message.success('导入完成!');
171
- this.setState({
135
+ handleStopImport = () => {
136
+ this.setState({
137
+ importStatus: "stop",
138
+ });
139
+ };
172
140
 
173
- });
174
- }
175
- percent = 100;
176
- }
177
- if (importStatus == 'stop') {
178
- clearInterval(this.timerId);
179
- }
180
- let loggs=[...logs, ...MSG];
181
- loggs=loggs.length>maxMsgCount?loggs.slice(logs.length-maxMsgCount):loggs;
182
- this.setState({
183
- statusMsg: res.message,
184
- percent,
185
- importStatus: percent==100?'success':'importing',
186
- logs: loggs,
187
- })
188
- }
141
+ handleStatus = (importId) => {
142
+ const { serverKey } = this.props;
143
+ const { maxMsgCount, importStatus, logs } = this.state;
144
+ const { translate } = this.context;
145
+ Super.super(
146
+ {
147
+ url: `/v3/importer/status`,
148
+ serverKey,
149
+ method: "GET",
150
+ query: {
151
+ importId: importId,
152
+ msgIndex: 0,
153
+ maxMsgCount,
154
+ interrupted: importStatus == "stop",
155
+ },
156
+ },
157
+ "",
158
+ "none"
159
+ ).then((res) => {
160
+ const MSG = [];
161
+ if (res.status === "error") {
162
+ clearInterval(this.timerId);
163
+ } else {
164
+ if (res.messageSequence.messages) {
165
+ for (let item of res.messageSequence.messages) {
166
+ let color = "";
167
+ let logLevel = "";
168
+ let createTime = Units.formateDate(item.createTime);
169
+ if (item.type === "SUC") {
170
+ color = "green";
171
+ logLevel = translate("${成功}");
172
+ } else if (item.type === "INFO") {
173
+ color = "black";
174
+ logLevel = translate("${常规}");
175
+ } else if (item.type === "ERROR") {
176
+ color = "red";
177
+ logLevel = translate("${错误}");
178
+ } else if (item.type === "WARN") {
179
+ color = "rgb(250, 225, 4)";
180
+ logLevel = translate("${警告}");
189
181
  }
190
- )
191
- }
192
- onChangeShowLogLevelList = (showLogLevelList) => { //日志checkbox选择
182
+ const msg = (
183
+ <div>
184
+ <p>{createTime}</p>
185
+ <p style={{ color: color }}>{`【${logLevel}】` + item.text}</p>
186
+ </div>
187
+ );
188
+ MSG.push({ level: item.type, msg });
189
+ }
190
+ }
191
+ // if(){
192
+ //
193
+ // }
194
+ //
195
+ let percent = Math.floor((res.current / res.totalCount) * 100);
196
+ if (res.completed == true) {
197
+ if (this.timerId) {
198
+ clearInterval(this.timerId);
199
+ this.timerId = undefined;
200
+ message.success(translate("${导入完成}!"));
201
+ this.setState({});
202
+ }
203
+ percent = 100;
204
+ }
205
+ if (importStatus == "stop") {
206
+ clearInterval(this.timerId);
207
+ }
208
+ let loggs = [...logs, ...MSG];
209
+ loggs =
210
+ loggs.length > maxMsgCount
211
+ ? loggs.slice(logs.length - maxMsgCount)
212
+ : loggs;
193
213
  this.setState({
194
- showLogLevelList,
214
+ statusMsg: res.message,
215
+ percent,
216
+ importStatus: percent == 100 ? "success" : "importing",
217
+ logs: loggs,
195
218
  });
196
- }
219
+ }
220
+ });
221
+ };
222
+ onChangeShowLogLevelList = (showLogLevelList) => {
223
+ //日志checkbox选择
224
+ this.setState({
225
+ showLogLevelList,
226
+ });
227
+ };
197
228
 
198
- fresh = () => {
199
- // this.setState({
200
- // fileList:[],
201
- // uploading: false,
202
- // statusMsg:"",
203
- // begin:true,
204
- // importAgain:"none",
205
- // importbtn:"block",
206
- // percent:0,
207
- // messages:[]
208
- // })
209
- // message.success("刷新成功!")
210
- }
229
+ fresh = () => {
230
+ // this.setState({
231
+ // fileList:[],
232
+ // uploading: false,
233
+ // statusMsg:"",
234
+ // begin:true,
235
+ // importAgain:"none",
236
+ // importbtn:"block",
237
+ // percent:0,
238
+ // messages:[]
239
+ // })
240
+ // message.success("刷新成功!")
241
+ };
211
242
 
212
- handleLogSetter = () => {
213
- const {inputMaxMsgCount} = this.state
214
- this.setState({
215
- maxMsgCount: inputMaxMsgCount,
216
- logSetterOpen: false,
217
- })
218
- message.success("设置成功!")
219
- }
220
- changeLogSetterOpen = open => {
221
- this.setState({logSetterOpen: open});
222
- };
223
- download = () => {
224
- const {sourceId, serverKey} = this.props;
225
- const hydrocarbonToken = Units.hydrocarbonToken();
226
- Units.downloadFile(Units.joinPath(Units.api(serverKey), `/v3/ltmpl/importer/template?sourceId=${sourceId}&@token=${hydrocarbonToken}&@programToken=${Units.programCode(serverKey)}`), "导入模板")
227
- }
243
+ handleLogSetter = () => {
244
+ const { inputMaxMsgCount } = this.state;
245
+ const { translate } = this.context;
246
+ this.setState({
247
+ maxMsgCount: inputMaxMsgCount,
248
+ logSetterOpen: false,
249
+ });
250
+ message.success(translate("${设置成功}!"));
251
+ };
252
+ changeLogSetterOpen = (open) => {
253
+ this.setState({ logSetterOpen: open });
254
+ };
255
+ download = () => {
256
+ const { sourceId, serverKey } = this.props;
257
+ const hydrocarbonToken = Units.hydrocarbonToken();
258
+ Units.downloadFile(
259
+ Units.joinPath(
260
+ Units.api(serverKey),
261
+ `/v3/ltmpl/importer/template?sourceId=${sourceId}&@token=${hydrocarbonToken}&@programToken=${Units.programCode(
262
+ serverKey
263
+ )}`
264
+ ),
265
+ "导入模板"
266
+ );
267
+ };
228
268
 
229
- render() {
230
- const {ltmplConfig, importFile, maxMsgCount, percent, importStatus, showLogLevelList, logSetterOpen, logs} = this.state;
269
+ render() {
270
+ const {
271
+ ltmplConfig,
272
+ importFile,
273
+ maxMsgCount,
274
+ percent,
275
+ importStatus,
276
+ showLogLevelList,
277
+ logSetterOpen,
278
+ logs,
279
+ } = this.state;
231
280
 
232
- let showLogs = [];
281
+ let showLogs = [];
233
282
 
234
- for (let log of logs) {
235
- if (showLogLevelList.includes(log.level)) {
236
- showLogs.push(log.msg);
237
- }
238
- }
283
+ for (let log of logs) {
284
+ if (showLogLevelList.includes(log.level)) {
285
+ showLogs.push(log.msg);
286
+ }
287
+ }
239
288
 
240
- const props = {
241
- accept: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel,application/vnd.ms-excel",
242
- onChange: () => {
289
+ const props = {
290
+ accept:
291
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel,application/vnd.ms-excel",
292
+ onChange: () => {},
293
+ onRemove: (file) => {
294
+ this.setState({
295
+ importFile: undefined,
296
+ importStatus: "waitingFile",
297
+ percent: 0,
298
+ });
299
+ },
300
+ beforeUpload: (file) => {
301
+ this.setState({
302
+ percent: 0,
303
+ importFile: file,
304
+ importStatus: "fileSelected",
305
+ });
306
+ return false;
307
+ },
308
+ fileList: importFile ? [importFile] : undefined,
309
+ };
310
+ const { translate } = this.context;
311
+ const content = (
312
+ <div>
313
+ <label>{translate("${日志消息数上限}: ")}</label>
314
+ <InputNumber
315
+ defaultValue={maxMsgCount}
316
+ onChange={(value) => this.setState({ inputMaxMsgCount: value })}
317
+ />
318
+ <Button
319
+ type="primary"
320
+ style={{ marginLeft: "10px" }}
321
+ onClick={this.handleLogSetter}
322
+ >
323
+ {translate("${确定}: ")}
324
+ </Button>
325
+ </div>
326
+ );
327
+ return (
328
+ <div className="importData">
329
+ <h3>
330
+ {translate("${导入} -> ")}
331
+ {ltmplConfig ? ltmplConfig.title : ""}
332
+ <p className="fr">
333
+ <Button
334
+ className="hoverbig"
335
+ title={translate("${刷新}")}
336
+ onClick={this.fresh}
337
+ >
338
+ <ReloadOutlined />
339
+ </Button>
340
+ </p>
341
+ </h3>
342
+ <Row>
343
+ <Col span={14} offset={5}>
344
+ <Card size={"small"} style={{ minWidth: 600 }}>
345
+ <Space>
346
+ <Upload {...props}>
347
+ <Button type={"primary"}>
348
+ <UploadOutlined />
349
+ {translate("${选择导入文件}")}
350
+ </Button>
351
+ </Upload>
352
+ <Button onClick={this.download}>
353
+ <DownloadOutlined />
354
+ {translate("${下载导入模板}")}
355
+ </Button>
356
+ </Space>
243
357
 
244
- },
245
- onRemove: (file) => {
246
- this.setState({
247
- importFile: undefined,
248
- importStatus: 'waitingFile',
249
- percent: 0,
250
- });
251
- },
252
- beforeUpload: (file) => {
253
- this.setState({
254
- percent: 0,
255
- importFile: file,
256
- importStatus: 'fileSelected',
257
- });
258
- return false;
259
- },
260
- fileList: importFile ? [importFile] : undefined,
261
- }
262
- const content = (
263
- <div>
264
- <label>日志消息数上限:</label>
265
- <InputNumber
266
- defaultValue={maxMsgCount}
267
- onChange={(value) => this.setState({inputMaxMsgCount: value})}
268
- />
269
- <Button
358
+ <Progress percent={percent} size="small" status="active" />
359
+ <div className="importBtns">
360
+ <Space>
361
+ <Button
270
362
  type="primary"
271
- style={{marginLeft: '10px'}}
272
- onClick={this.handleLogSetter}
273
- >确定</Button>
274
- </div>
275
- )
276
- return (
277
- <div className="importData">
278
- <h3>
279
- {'导入 -> '}{ltmplConfig ? ltmplConfig.title : ""}
280
- <p className="fr">
281
- <Button
282
- className="hoverbig"
283
- title="刷新"
284
- onClick={this.fresh}>
285
- <ReloadOutlined/>
286
- </Button>
287
- </p>
288
- </h3>
289
- <Row>
290
- <Col span={14} offset={5}>
291
- <Card size={'small'} style={{minWidth: 600}}>
292
- <Space>
293
- <Upload {...props}>
294
- <Button type={'primary'}>
295
- <UploadOutlined/>选择导入文件
296
- </Button>
297
- </Upload>
298
- <Button onClick={this.download}>
299
- <DownloadOutlined/>下载导入模板
300
- </Button>
301
- </Space>
302
-
303
- <Progress percent={percent} size="small" status="active"/>
304
- <div className="importBtns">
305
- <Space>
306
- <Button
307
- type="primary"
308
- onClick={this.handleUpload}
309
- disabled={!(['fileSelected', 'stop'].includes(importStatus))}
310
- loading={importStatus == 'importing'}
311
- >
312
- {importStatus == 'importing' ? '正在导入' : importStatus == 'stop' ? '重新导入' : '开始导入'}
313
- </Button>
314
- <Button
315
- onClick={this.handleStopImport}
316
- disabled={importStatus != 'importing'}
317
- >
318
- {'停止导入'}
319
- </Button></Space>
320
- </div>
321
- <List
322
- header={
323
- <div className="listHeader">
324
- <h4>导入日志</h4>
325
- <div className="checks">
326
- <CheckboxGroup value={showLogLevelList}
327
- onChange={this.onChangeShowLogLevelList}>
328
- <Checkbox value="INFO" className="infoColor">常规</Checkbox>
329
- <Checkbox value="SUC" className="sucColor">成功</Checkbox>
330
- <Checkbox value="ERROR" className="errorColor">错误</Checkbox>
331
- <Checkbox value="WARN" className="warnColor">警告</Checkbox>
332
- </CheckboxGroup>
333
- <div className="btns">
334
- <Popover
335
- content={content}
336
- title="日志设置"
337
- trigger="click"
338
- placement="top"
339
- open={logSetterOpen}
340
- overlayStyle={{width: 350}}
341
- onOpenChange={this.changeLogSetterOpen}
342
- >
343
- <Button title="日志设置" type="primary" size="small">
344
- <SettingOutlined/>
345
- </Button>
346
- </Popover>
347
- </div>
348
- </div>
349
- </div>
350
- }
351
- footer={<Text
352
- type={importStatus == "fail" || importStatus == "stop" ? "danger" : "success"}>{importStatus}</Text>}
353
- bordered
354
- dataSource={showLogs}
355
- renderItem={item => (<List.Item>{item}</List.Item>)}
356
- className="importList"
357
- />
358
- </Card>
359
- </Col>
360
- </Row>
361
- </div>
362
- )
363
- }
363
+ onClick={this.handleUpload}
364
+ disabled={!["fileSelected", "stop"].includes(importStatus)}
365
+ loading={importStatus == "importing"}
366
+ >
367
+ {importStatus == "importing"
368
+ ? translate("${正在导入}")
369
+ : importStatus == "stop"
370
+ ? translate("${重新导入}")
371
+ : translate("${开始导入}")}
372
+ </Button>
373
+ <Button
374
+ onClick={this.handleStopImport}
375
+ disabled={importStatus != "importing"}
376
+ >
377
+ {translate("${停止导入}")}
378
+ </Button>
379
+ </Space>
380
+ </div>
381
+ <List
382
+ header={
383
+ <div className="listHeader">
384
+ <h4>{translate("${导入日志}")}</h4>
385
+ <div className="checks">
386
+ <CheckboxGroup
387
+ value={showLogLevelList}
388
+ onChange={this.onChangeShowLogLevelList}
389
+ >
390
+ <Checkbox value="INFO" className="infoColor">
391
+ {translate("${常规}")}
392
+ </Checkbox>
393
+ <Checkbox value="SUC" className="sucColor">
394
+ {translate("${成功}")}
395
+ </Checkbox>
396
+ <Checkbox value="ERROR" className="errorColor">
397
+ {translate("${错误}")}
398
+ </Checkbox>
399
+ <Checkbox value="WARN" className="warnColor">
400
+ {translate("${警告}")}
401
+ </Checkbox>
402
+ </CheckboxGroup>
403
+ <div className="btns">
404
+ <Popover
405
+ content={content}
406
+ title={translate("${日志设置}")}
407
+ trigger="click"
408
+ placement="top"
409
+ open={logSetterOpen}
410
+ overlayStyle={{ width: 350 }}
411
+ onOpenChange={this.changeLogSetterOpen}
412
+ >
413
+ <Button
414
+ title={translate("${日志设置}")}
415
+ type="primary"
416
+ size="small"
417
+ >
418
+ <SettingOutlined />
419
+ </Button>
420
+ </Popover>
421
+ </div>
422
+ </div>
423
+ </div>
424
+ }
425
+ footer={
426
+ <Text
427
+ type={
428
+ importStatus == "fail" || importStatus == "stop"
429
+ ? "danger"
430
+ : "success"
431
+ }
432
+ >
433
+ {importStatus}
434
+ </Text>
435
+ }
436
+ bordered
437
+ dataSource={showLogs}
438
+ renderItem={(item) => <List.Item>{item}</List.Item>}
439
+ className="importList"
440
+ />
441
+ </Card>
442
+ </Col>
443
+ </Row>
444
+ </div>
445
+ );
446
+ }
364
447
  }