aldehyde 0.2.20 → 0.2.21

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 (413) hide show
  1. package/lib/controls/action/index.d.ts +50 -50
  2. package/lib/controls/action/index.d.ts.map +1 -1
  3. package/lib/controls/action/index.js +187 -187
  4. package/lib/controls/action/index.js.map +1 -1
  5. package/lib/controls/action/utils.d.ts +8 -8
  6. package/lib/controls/action/utils.js +109 -109
  7. package/lib/controls/auto-complete/index.d.ts +6 -6
  8. package/lib/controls/auto-complete/index.js +51 -51
  9. package/lib/controls/cascader/index.d.ts +22 -22
  10. package/lib/controls/cascader/index.d.ts.map +1 -1
  11. package/lib/controls/cascader/index.js +107 -106
  12. package/lib/controls/cascader/index.js.map +1 -1
  13. package/lib/controls/chemstruc/graph.d.ts +28 -28
  14. package/lib/controls/chemstruc/graph.d.ts.map +1 -1
  15. package/lib/controls/chemstruc/graph.js +120 -119
  16. package/lib/controls/chemstruc/graph.js.map +1 -1
  17. package/lib/controls/code-editor/sql-code-editor.d.ts +14 -14
  18. package/lib/controls/code-editor/sql-code-editor.js +52 -51
  19. package/lib/controls/code-editor/sql-code-editor.js.map +1 -1
  20. package/lib/controls/collapse-card/index.d.ts +19 -19
  21. package/lib/controls/collapse-card/index.d.ts.map +1 -1
  22. package/lib/controls/collapse-card/index.js +62 -62
  23. package/lib/controls/color-picker/index.d.ts +18 -18
  24. package/lib/controls/color-picker/index.d.ts.map +1 -1
  25. package/lib/controls/color-picker/index.js +59 -59
  26. package/lib/controls/counting-tag/index.d.ts +17 -17
  27. package/lib/controls/counting-tag/index.js +31 -30
  28. package/lib/controls/counting-tag/index.js.map +1 -1
  29. package/lib/controls/cquery/cquick-button.d.ts +23 -23
  30. package/lib/controls/cquery/cquick-button.d.ts.map +1 -1
  31. package/lib/controls/cquery/cquick-button.js +72 -72
  32. package/lib/controls/cquery/cquick-button.js.map +1 -1
  33. package/lib/controls/date-picker/index.d.ts +6 -6
  34. package/lib/controls/date-picker/index.js +83 -83
  35. package/lib/controls/entity-select/entity-select.d.ts +73 -73
  36. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  37. package/lib/controls/entity-select/entity-select.js +427 -426
  38. package/lib/controls/entity-select/entity-select.js.map +1 -1
  39. package/lib/controls/entity-select/lab-tree-select.d.ts +24 -24
  40. package/lib/controls/entity-select/lab-tree-select.d.ts.map +1 -1
  41. package/lib/controls/entity-select/lab-tree-select.js +121 -120
  42. package/lib/controls/entity-select/lab-tree-select.js.map +1 -1
  43. package/lib/controls/entity-select/popover-entity-select.d.ts +19 -19
  44. package/lib/controls/entity-select/popover-entity-select.js +92 -91
  45. package/lib/controls/entity-select/popover-entity-select.js.map +1 -1
  46. package/lib/controls/entry-control.d.ts +12 -12
  47. package/lib/controls/entry-control.js +202 -202
  48. package/lib/controls/enum-badge/index.d.ts +6 -6
  49. package/lib/controls/enum-badge/index.js +13 -13
  50. package/lib/controls/enum-tag/index.d.ts +6 -6
  51. package/lib/controls/enum-tag/index.js +23 -23
  52. package/lib/controls/file-view/drawer-file-view.d.ts +21 -21
  53. package/lib/controls/file-view/drawer-file-view.d.ts.map +1 -1
  54. package/lib/controls/file-view/drawer-file-view.js +56 -55
  55. package/lib/controls/file-view/drawer-file-view.js.map +1 -1
  56. package/lib/controls/file-view/index.d.ts +27 -27
  57. package/lib/controls/file-view/index.d.ts.map +1 -1
  58. package/lib/controls/file-view/index.js +135 -134
  59. package/lib/controls/file-view/index.js.map +1 -1
  60. package/lib/controls/html-editor/draft.d.ts +21 -21
  61. package/lib/controls/html-editor/draft.d.ts.map +1 -1
  62. package/lib/controls/html-editor/draft.js +121 -121
  63. package/lib/controls/html-editor/draft.js.map +1 -1
  64. package/lib/controls/html-editor/tinymce.d.ts +12 -7
  65. package/lib/controls/html-editor/tinymce.d.ts.map +1 -1
  66. package/lib/controls/html-editor/tinymce.js +44 -43
  67. package/lib/controls/html-editor/tinymce.js.map +1 -1
  68. package/lib/controls/input-number/index.d.ts +6 -6
  69. package/lib/controls/input-number/index.js +68 -68
  70. package/lib/controls/input-range/index.d.ts +6 -6
  71. package/lib/controls/input-range/index.js +27 -27
  72. package/lib/controls/password-setter/index.d.ts +8 -7
  73. package/lib/controls/password-setter/index.d.ts.map +1 -1
  74. package/lib/controls/password-setter/index.js +50 -50
  75. package/lib/controls/progress/index.d.ts +6 -6
  76. package/lib/controls/progress/index.js +44 -44
  77. package/lib/controls/relation-existion/index.d.ts +19 -19
  78. package/lib/controls/relation-existion/index.d.ts.map +1 -1
  79. package/lib/controls/relation-existion/index.js +74 -74
  80. package/lib/controls/rfield/index.d.ts +28 -28
  81. package/lib/controls/rfield/index.d.ts.map +1 -1
  82. package/lib/controls/rfield/index.js +130 -130
  83. package/lib/controls/signature/index.d.ts +30 -30
  84. package/lib/controls/signature/index.d.ts.map +1 -1
  85. package/lib/controls/signature/index.js +129 -128
  86. package/lib/controls/signature/index.js.map +1 -1
  87. package/lib/controls/steps/index.d.ts +6 -6
  88. package/lib/controls/steps/index.js +41 -41
  89. package/lib/controls/text/ellipsis-text.d.ts +21 -21
  90. package/lib/controls/text/ellipsis-text.js +46 -45
  91. package/lib/controls/text/ellipsis-text.js.map +1 -1
  92. package/lib/controls/upload/index.d.ts +14 -14
  93. package/lib/controls/upload/index.js +99 -99
  94. package/lib/controls/view-control.d.ts +9 -9
  95. package/lib/controls/view-control.js +174 -174
  96. package/lib/custom-page/custom-page-router.d.ts +7 -22
  97. package/lib/custom-page/custom-page-router.d.ts.map +1 -1
  98. package/lib/custom-page/custom-page-router.js +66 -64
  99. package/lib/custom-page/custom-page-router.js.map +1 -1
  100. package/lib/custom-page/def-custom-page.d.ts +6 -5
  101. package/lib/custom-page/def-custom-page.d.ts.map +1 -1
  102. package/lib/custom-page/def-custom-page.js +13 -13
  103. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts +42 -42
  104. package/lib/custom-page/dtmpl-custom-edit-modal-page.js +35 -34
  105. package/lib/custom-page/dtmpl-custom-edit-modal-page.js.map +1 -1
  106. package/lib/detail/button/cquery-button-bar.d.ts +15 -15
  107. package/lib/detail/button/cquery-button-bar.js +74 -74
  108. package/lib/detail/button/submit-button-bar.d.ts +18 -18
  109. package/lib/detail/button/submit-button-bar.d.ts.map +1 -1
  110. package/lib/detail/button/submit-button-bar.js +103 -104
  111. package/lib/detail/button/submit-button-bar.js.map +1 -1
  112. package/lib/detail/edit/dtmpl-edit.d.ts +47 -47
  113. package/lib/detail/edit/dtmpl-edit.d.ts.map +1 -1
  114. package/lib/detail/edit/dtmpl-edit.js +197 -196
  115. package/lib/detail/edit/dtmpl-edit.js.map +1 -1
  116. package/lib/detail/edit/fields-edit-card.d.ts +38 -38
  117. package/lib/detail/edit/fields-edit-card.js +64 -63
  118. package/lib/detail/edit/fields-edit-card.js.map +1 -1
  119. package/lib/detail/edit/modal-row-edit.d.ts +30 -30
  120. package/lib/detail/edit/modal-row-edit.js +56 -55
  121. package/lib/detail/edit/modal-row-edit.js.map +1 -1
  122. package/lib/detail/edit/post-result/index.d.ts +16 -16
  123. package/lib/detail/edit/post-result/index.js +27 -27
  124. package/lib/detail/edit/row-edit-card.d.ts +41 -41
  125. package/lib/detail/edit/row-edit-card.d.ts.map +1 -1
  126. package/lib/detail/edit/row-edit-card.js +84 -83
  127. package/lib/detail/edit/row-edit-card.js.map +1 -1
  128. package/lib/detail/edit/row-editor.d.ts +32 -32
  129. package/lib/detail/edit/row-editor.d.ts.map +1 -1
  130. package/lib/detail/edit/row-editor.js +56 -55
  131. package/lib/detail/edit/row-editor.js.map +1 -1
  132. package/lib/detail/rightbar/index.d.ts +19 -19
  133. package/lib/detail/rightbar/index.js +51 -50
  134. package/lib/detail/rightbar/index.js.map +1 -1
  135. package/lib/detail/view/act-dtmpl-view.d.ts +43 -43
  136. package/lib/detail/view/act-dtmpl-view.d.ts.map +1 -1
  137. package/lib/detail/view/act-dtmpl-view.js +96 -96
  138. package/lib/detail/view/act-dtmpl-view.js.map +1 -1
  139. package/lib/detail/view/dtmpl-view.d.ts +41 -41
  140. package/lib/detail/view/dtmpl-view.d.ts.map +1 -1
  141. package/lib/detail/view/dtmpl-view.js +115 -115
  142. package/lib/detail/view/dtmpl-view.js.map +1 -1
  143. package/lib/detail/view/field-view-group.d.ts +16 -16
  144. package/lib/detail/view/field-view-group.js +50 -50
  145. package/lib/detail/view/modal-dtmpl-view.d.ts +27 -27
  146. package/lib/detail/view/modal-dtmpl-view.d.ts.map +1 -1
  147. package/lib/detail/view/modal-dtmpl-view.js +32 -31
  148. package/lib/detail/view/modal-dtmpl-view.js.map +1 -1
  149. package/lib/detail/view/snapshot-timeline.d.ts +31 -31
  150. package/lib/detail/view/snapshot-timeline.d.ts.map +1 -1
  151. package/lib/detail/view/snapshot-timeline.js +89 -89
  152. package/lib/detail/view/snapshot-timeline.js.map +1 -1
  153. package/lib/exportor/export-frame.d.ts +49 -49
  154. package/lib/exportor/export-frame.d.ts.map +1 -1
  155. package/lib/exportor/export-frame.js +142 -141
  156. package/lib/exportor/export-frame.js.map +1 -1
  157. package/lib/exportor/index.d.ts +15 -15
  158. package/lib/exportor/index.js +43 -43
  159. package/lib/form/criteria-form.d.ts +19 -19
  160. package/lib/form/criteria-form.js +147 -147
  161. package/lib/form/dtmpl-form.d.ts +44 -44
  162. package/lib/form/dtmpl-form.d.ts.map +1 -1
  163. package/lib/form/dtmpl-form.js +204 -203
  164. package/lib/form/dtmpl-form.js.map +1 -1
  165. package/lib/form/field-group-form.d.ts +20 -20
  166. package/lib/form/field-group-form.js +57 -57
  167. package/lib/form/fields-form.d.ts +19 -19
  168. package/lib/form/fields-form.js +31 -31
  169. package/lib/form/form-Item-group.d.ts +29 -29
  170. package/lib/form/form-Item-group.d.ts.map +1 -1
  171. package/lib/form/form-Item-group.js +108 -107
  172. package/lib/form/form-Item-group.js.map +1 -1
  173. package/lib/icon/index.d.ts +10 -10
  174. package/lib/icon/index.js +21 -21
  175. package/lib/import/excel-import.d.ts +47 -47
  176. package/lib/import/excel-import.d.ts.map +1 -1
  177. package/lib/import/excel-import.js +234 -234
  178. package/lib/import/template-builder.d.ts +28 -20
  179. package/lib/import/template-builder.d.ts.map +1 -1
  180. package/lib/import/template-builder.js +425 -425
  181. package/lib/index.d.ts +41 -40
  182. package/lib/index.d.ts.map +1 -1
  183. package/lib/index.js +79 -78
  184. package/lib/index.js.map +1 -1
  185. package/lib/layout/MainPage.d.ts +4 -33
  186. package/lib/layout/MainPage.d.ts.map +1 -1
  187. package/lib/layout/MainPage.js +204 -204
  188. package/lib/layout/MainPage.js.map +1 -1
  189. package/lib/layout/footer/index.d.ts +6 -5
  190. package/lib/layout/footer/index.d.ts.map +1 -1
  191. package/lib/layout/footer/index.js +10 -10
  192. package/lib/layout/header/index.d.ts +14 -14
  193. package/lib/layout/header/index.js +35 -35
  194. package/lib/layout/menu/block.d.ts +16 -8
  195. package/lib/layout/menu/block.d.ts.map +1 -1
  196. package/lib/layout/menu/block.js +46 -47
  197. package/lib/layout/menu/block.js.map +1 -1
  198. package/lib/layout/menu/l2menu-message-bar.d.ts +23 -23
  199. package/lib/layout/menu/l2menu-message-bar.d.ts.map +1 -1
  200. package/lib/layout/menu/l2menu-message-bar.js +96 -96
  201. package/lib/layout/menu/l2menu-quick-bar.d.ts +29 -29
  202. package/lib/layout/menu/l2menu-quick-bar.d.ts.map +1 -1
  203. package/lib/layout/menu/l2menu-quick-bar.js +93 -93
  204. package/lib/layout/menu/menu-2layers.d.ts +13 -2
  205. package/lib/layout/menu/menu-2layers.d.ts.map +1 -1
  206. package/lib/layout/menu/menu-2layers.js +69 -70
  207. package/lib/layout/menu/menu-2layers.js.map +1 -1
  208. package/lib/layout/menu/menu-render.d.ts +8 -8
  209. package/lib/layout/menu/menu-render.js +74 -74
  210. package/lib/layout/menu/reset-password.d.ts +24 -24
  211. package/lib/layout/menu/reset-password.d.ts.map +1 -1
  212. package/lib/layout/menu/reset-password.js +113 -113
  213. package/lib/layout/menu/user-bar.d.ts +22 -22
  214. package/lib/layout/menu/user-bar.js +99 -99
  215. package/lib/layout/menu/userinfo-bar.d.ts +16 -16
  216. package/lib/layout/menu/userinfo-bar.d.ts.map +1 -1
  217. package/lib/layout/menu/userinfo-bar.js +43 -43
  218. package/lib/layout/sidebar/index.d.ts +11 -11
  219. package/lib/layout/sidebar/index.js +17 -17
  220. package/lib/login/context-setter.d.ts +23 -23
  221. package/lib/login/context-setter.d.ts.map +1 -1
  222. package/lib/login/context-setter.js +97 -97
  223. package/lib/login/context-setter.js.map +1 -1
  224. package/lib/login/login-context.d.ts +21 -10
  225. package/lib/login/login-context.d.ts.map +1 -1
  226. package/lib/login/login-context.js +126 -126
  227. package/lib/login/login.d.ts +2 -10
  228. package/lib/login/login.d.ts.map +1 -1
  229. package/lib/login/login.js +105 -101
  230. package/lib/login/login.js.map +1 -1
  231. package/lib/module/dtmpl-edit-card.d.ts +42 -42
  232. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  233. package/lib/module/dtmpl-edit-card.js +162 -162
  234. package/lib/module/dtmpl-edit-card.js.map +1 -1
  235. package/lib/module/dtmpl-edit-drawer.d.ts +16 -16
  236. package/lib/module/dtmpl-edit-drawer.js +7 -7
  237. package/lib/module/dtmpl-edit-modal.d.ts +17 -17
  238. package/lib/module/dtmpl-edit-modal.js +7 -7
  239. package/lib/module/dtmpl-edit-page.d.ts +59 -59
  240. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  241. package/lib/module/dtmpl-edit-page.js +191 -191
  242. package/lib/module/dtmpl-edit-page.js.map +1 -1
  243. package/lib/module/dtmpl-editor.d.ts +38 -38
  244. package/lib/module/dtmpl-editor.d.ts.map +1 -1
  245. package/lib/module/dtmpl-editor.js +146 -145
  246. package/lib/module/dtmpl-editor.js.map +1 -1
  247. package/lib/module/dtmpl-view-card.d.ts +18 -18
  248. package/lib/module/dtmpl-view-card.d.ts.map +1 -1
  249. package/lib/module/dtmpl-view-card.js +45 -45
  250. package/lib/module/dtmpl-view-drawer.d.ts +26 -26
  251. package/lib/module/dtmpl-view-drawer.js +39 -39
  252. package/lib/module/dtmpl-view-drawer.js.map +1 -1
  253. package/lib/module/dtmpl-view-modal.d.ts +27 -27
  254. package/lib/module/dtmpl-view-modal.js +35 -35
  255. package/lib/module/dtmpl-view-modal.js.map +1 -1
  256. package/lib/module/ltmpl-drawer.d.ts +28 -28
  257. package/lib/module/ltmpl-drawer.js +37 -36
  258. package/lib/module/ltmpl-drawer.js.map +1 -1
  259. package/lib/module/ltmpl-modal.d.ts +28 -28
  260. package/lib/module/ltmpl-modal.js +36 -35
  261. package/lib/module/ltmpl-modal.js.map +1 -1
  262. package/lib/module/ltmpl-table.d.ts +61 -56
  263. package/lib/module/ltmpl-table.d.ts.map +1 -1
  264. package/lib/module/ltmpl-table.js +217 -210
  265. package/lib/module/ltmpl-table.js.map +1 -1
  266. package/lib/routable/dtmpl-route.d.ts +9 -30
  267. package/lib/routable/dtmpl-route.d.ts.map +1 -1
  268. package/lib/routable/dtmpl-route.js +151 -154
  269. package/lib/routable/dtmpl-route.js.map +1 -1
  270. package/lib/routable/import-route.d.ts +5 -12
  271. package/lib/routable/import-route.d.ts.map +1 -1
  272. package/lib/routable/import-route.js +29 -28
  273. package/lib/routable/import-route.js.map +1 -1
  274. package/lib/routable/ltmpl-route.d.ts +10 -28
  275. package/lib/routable/ltmpl-route.d.ts.map +1 -1
  276. package/lib/routable/ltmpl-route.js +188 -169
  277. package/lib/routable/ltmpl-route.js.map +1 -1
  278. package/lib/routable/withroute.d.ts +3 -0
  279. package/lib/routable/withroute.d.ts.map +1 -0
  280. package/lib/routable/withroute.js +11 -0
  281. package/lib/routable/withroute.js.map +1 -0
  282. package/lib/table/act-table.d.ts +90 -89
  283. package/lib/table/act-table.d.ts.map +1 -1
  284. package/lib/table/act-table.js +529 -532
  285. package/lib/table/act-table.js.map +1 -1
  286. package/lib/table/column/column-selector.d.ts +24 -24
  287. package/lib/table/column/column-selector.js +59 -59
  288. package/lib/table/column/column-selector.js.map +1 -1
  289. package/lib/table/l2-act-table.d.ts +27 -22
  290. package/lib/table/l2-act-table.d.ts.map +1 -1
  291. package/lib/table/l2-act-table.js +86 -79
  292. package/lib/table/l2-act-table.js.map +1 -1
  293. package/lib/table/modal-select-table.d.ts +46 -41
  294. package/lib/table/modal-select-table.d.ts.map +1 -1
  295. package/lib/table/modal-select-table.js +215 -207
  296. package/lib/table/modal-select-table.js.map +1 -1
  297. package/lib/table/pagination.d.ts +16 -16
  298. package/lib/table/pagination.d.ts.map +1 -1
  299. package/lib/table/pagination.js +39 -39
  300. package/lib/table/pagination.js.map +1 -1
  301. package/lib/table/query-table.d.ts +73 -64
  302. package/lib/table/query-table.d.ts.map +1 -1
  303. package/lib/table/query-table.js +264 -256
  304. package/lib/table/query-table.js.map +1 -1
  305. package/lib/table/relation-table.d.ts +64 -64
  306. package/lib/table/relation-table.d.ts.map +1 -1
  307. package/lib/table/relation-table.js +425 -425
  308. package/lib/table/relation-table.js.map +1 -1
  309. package/lib/table/select-table.d.ts +45 -40
  310. package/lib/table/select-table.d.ts.map +1 -1
  311. package/lib/table/select-table.js +226 -220
  312. package/lib/table/select-table.js.map +1 -1
  313. package/lib/table/selected-rows-card.d.ts +15 -15
  314. package/lib/table/selected-rows-card.js +46 -46
  315. package/lib/table/stat/restat.d.ts +25 -25
  316. package/lib/table/stat/restat.d.ts.map +1 -1
  317. package/lib/table/stat/restat.js +60 -60
  318. package/lib/table/stat/restat.js.map +1 -1
  319. package/lib/table/table-util.d.ts +4 -4
  320. package/lib/table/table-util.js +25 -25
  321. package/lib/tmpl/control-type-supportor.d.ts +8 -8
  322. package/lib/tmpl/control-type-supportor.js +98 -98
  323. package/lib/tmpl/hc-data-source.d.ts +25 -25
  324. package/lib/tmpl/hc-data-source.js +331 -331
  325. package/lib/tmpl/hcservice-v3.d.ts +77 -77
  326. package/lib/tmpl/hcservice-v3.js +803 -803
  327. package/lib/tmpl/interface.d.ts +272 -269
  328. package/lib/tmpl/interface.d.ts.map +1 -1
  329. package/lib/tmpl/interface.js +3 -3
  330. package/lib/tmpl/interface.js.map +1 -1
  331. package/lib/tmpl/superagent.d.ts +9 -9
  332. package/lib/tmpl/superagent.js +142 -142
  333. package/lib/tmpl/tmpl-config-analysis.d.ts +6 -6
  334. package/lib/tmpl/tmpl-config-analysis.js +106 -106
  335. package/lib/units/EncryptUtils.d.ts +6 -6
  336. package/lib/units/EncryptUtils.js +30 -29
  337. package/lib/units/EncryptUtils.js.map +1 -1
  338. package/lib/units/index.d.ts +80 -81
  339. package/lib/units/index.d.ts.map +1 -1
  340. package/lib/units/index.js +747 -746
  341. package/lib/units/index.js.map +1 -1
  342. package/lib/units/storage.d.ts +2 -2
  343. package/lib/units/storage.js +1 -1
  344. package/lib/welcome/HCWelcome.d.ts +17 -13
  345. package/lib/welcome/HCWelcome.d.ts.map +1 -1
  346. package/lib/welcome/HCWelcome.js +199 -198
  347. package/lib/welcome/HCWelcome.js.map +1 -1
  348. package/lib/welcome/quick-entrance.d.ts +19 -19
  349. package/lib/welcome/quick-entrance.d.ts.map +1 -1
  350. package/lib/welcome/quick-entrance.js +78 -78
  351. package/lib/welcome/workbench.d.ts +19 -19
  352. package/lib/welcome/workbench.d.ts.map +1 -1
  353. package/lib/welcome/workbench.js +77 -77
  354. package/package.json +10 -10
  355. package/src/aldehyde/controls/action/index.tsx +2 -3
  356. package/src/aldehyde/controls/cascader/index.tsx +1 -1
  357. package/src/aldehyde/controls/chemstruc/graph.tsx +2 -2
  358. package/src/aldehyde/controls/collapse-card/index.tsx +1 -1
  359. package/src/aldehyde/controls/color-picker/index.tsx +1 -1
  360. package/src/aldehyde/controls/cquery/cquick-button.tsx +1 -1
  361. package/src/aldehyde/controls/entity-select/entity-select.tsx +12 -12
  362. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +1 -1
  363. package/src/aldehyde/controls/file-view/drawer-file-view.tsx +1 -1
  364. package/src/aldehyde/controls/file-view/index.tsx +1 -1
  365. package/src/aldehyde/controls/html-editor/draft.tsx +2 -2
  366. package/src/aldehyde/controls/relation-existion/index.tsx +1 -1
  367. package/src/aldehyde/controls/rfield/index.tsx +4 -4
  368. package/src/aldehyde/controls/signature/index.tsx +3 -3
  369. package/src/aldehyde/custom-page/custom-page-router.tsx +18 -15
  370. package/src/aldehyde/detail/button/submit-button-bar.tsx +1 -2
  371. package/src/aldehyde/detail/edit/dtmpl-edit.tsx +11 -11
  372. package/src/aldehyde/detail/edit/row-edit-card.tsx +1 -1
  373. package/src/aldehyde/detail/edit/row-editor.tsx +1 -1
  374. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +6 -6
  375. package/src/aldehyde/detail/view/dtmpl-view.tsx +4 -4
  376. package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +0 -2
  377. package/src/aldehyde/detail/view/snapshot-timeline.tsx +2 -2
  378. package/src/aldehyde/exportor/export-frame.tsx +11 -11
  379. package/src/aldehyde/form/dtmpl-form.tsx +3 -3
  380. package/src/aldehyde/form/form-Item-group.tsx +1 -1
  381. package/src/aldehyde/import/excel-import.tsx +11 -11
  382. package/src/aldehyde/index.tsx +4 -2
  383. package/src/aldehyde/layout/MainPage.tsx +17 -19
  384. package/src/aldehyde/layout/menu/block.tsx +3 -3
  385. package/src/aldehyde/layout/menu/l2menu-message-bar.tsx +3 -3
  386. package/src/aldehyde/layout/menu/l2menu-quick-bar.tsx +4 -4
  387. package/src/aldehyde/layout/menu/menu-2layers.tsx +3 -4
  388. package/src/aldehyde/layout/menu/menu-render.tsx +1 -1
  389. package/src/aldehyde/layout/menu/reset-password.tsx +3 -3
  390. package/src/aldehyde/layout/menu/userinfo-bar.tsx +1 -1
  391. package/src/aldehyde/login/context-setter.tsx +3 -3
  392. package/src/aldehyde/login/login.js +9 -2
  393. package/src/aldehyde/module/dtmpl-edit-card.tsx +8 -8
  394. package/src/aldehyde/module/dtmpl-edit-page.tsx +8 -8
  395. package/src/aldehyde/module/dtmpl-editor.tsx +5 -5
  396. package/src/aldehyde/module/dtmpl-view-card.tsx +1 -1
  397. package/src/aldehyde/module/ltmpl-table.tsx +22 -11
  398. package/src/aldehyde/routable/dtmpl-route.tsx +32 -34
  399. package/src/aldehyde/routable/import-route.tsx +4 -3
  400. package/src/aldehyde/routable/ltmpl-route.tsx +100 -75
  401. package/src/aldehyde/routable/withroute.tsx +22 -0
  402. package/src/aldehyde/table/act-table.tsx +31 -32
  403. package/src/aldehyde/table/l2-act-table.tsx +15 -8
  404. package/src/aldehyde/table/modal-select-table.tsx +22 -12
  405. package/src/aldehyde/table/pagination.tsx +3 -4
  406. package/src/aldehyde/table/query-table.tsx +63 -51
  407. package/src/aldehyde/table/relation-table.tsx +9 -9
  408. package/src/aldehyde/table/select-table.tsx +22 -10
  409. package/src/aldehyde/table/stat/restat.tsx +2 -2
  410. package/src/aldehyde/tmpl/interface.tsx +5 -1
  411. package/src/aldehyde/units/index.tsx +10 -10
  412. package/src/aldehyde/welcome/quick-entrance.tsx +1 -1
  413. package/src/aldehyde/welcome/workbench.tsx +1 -1
@@ -1,427 +1,428 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import * as React from 'react';
11
- import { Button, Col, Divider, Row, Select, Spin, Tag } from 'antd';
12
- import { AlignLeftOutlined, EditOutlined, PlusOutlined, SearchOutlined, TableOutlined } from '@ant-design/icons';
13
- import debounce from 'lodash/debounce';
14
- import './index.css';
15
- import HcserviceV3 from "../../tmpl/hcservice-v3";
16
- import HCDataSource from "../../tmpl/hc-data-source";
17
- import DtmplViewDrawer from "../../module/dtmpl-view-drawer";
18
- import DtmplEditPage from "../../module/dtmpl-edit-page";
19
- import DtmplCustomEditModalPage from "../../custom-page/dtmpl-custom-edit-modal-page";
20
- import { LtmplModal } from "../../index";
21
- ;
22
- ;
23
- export default class EntitySelect extends React.PureComponent {
24
- constructor() {
25
- super(...arguments);
26
- this.state = {
27
- titleId: undefined,
28
- optionCacheKey: undefined,
29
- pageNo: 1,
30
- loading: false,
31
- optionsCache: {},
32
- codeLabel: {},
33
- ltmplConfig: undefined,
34
- showView: false,
35
- showEdit: false,
36
- showTable: false,
37
- drawCode: undefined,
38
- preMainCode: undefined,
39
- };
40
- this.dropdownRender = (menu) => {
41
- const { fieldConfig } = this.props;
42
- const { actions } = fieldConfig;
43
- // console.log("menu",menu);
44
- return React.createElement(React.Fragment, null,
45
- menu,
46
- actions && actions.indexOf('add') >= 0 ?
47
- React.createElement(React.Fragment, null,
48
- React.createElement(Divider, { style: { margin: '8px 0' } }),
49
- React.createElement(Row, { justify: "end" },
50
- React.createElement(Col, null,
51
- React.createElement(Button, { type: "text", icon: React.createElement(TableOutlined, { style: { color: '#0958d9' } }), onClick: () => this.showTable() })),
52
- React.createElement(Col, null,
53
- React.createElement(Button, { type: "text", icon: React.createElement(PlusOutlined, { style: { color: '#0958d9' } }), onClick: () => this.editItem() })))) : null);
54
- };
55
- this.editItem = (code) => __awaiter(this, void 0, void 0, function* () {
56
- let ltmplConfig = yield this.loadLtmplConfig();
57
- this.setState({
58
- showEdit: true,
59
- showTable: false,
60
- showView: false,
61
- drawCode: code,
62
- ltmplConfig,
63
- });
64
- });
65
- this.showTable = () => __awaiter(this, void 0, void 0, function* () {
66
- this.setState({
67
- showEdit: false,
68
- showTable: true,
69
- showView: false,
70
- drawCode: undefined,
71
- });
72
- });
73
- this.loadLtmplConfig = () => __awaiter(this, void 0, void 0, function* () {
74
- const { fieldConfig } = this.props;
75
- const { ltmplConfig } = this.state;
76
- let ltmplConfig_ = ltmplConfig;
77
- if (!ltmplConfig_) {
78
- ltmplConfig_ = (yield HCDataSource.requestLtmplConfig(fieldConfig.id)).ltmplConfig;
79
- }
80
- this.setState({
81
- ltmplConfig: ltmplConfig_
82
- });
83
- return ltmplConfig_;
84
- });
85
- this.showItem = (code) => __awaiter(this, void 0, void 0, function* () {
86
- let ltmplConfig = yield this.loadLtmplConfig();
87
- this.setState({
88
- showEdit: false,
89
- showTable: false,
90
- showView: true,
91
- drawCode: code,
92
- ltmplConfig,
93
- });
94
- });
95
- this.initCache = () => {
96
- this.setState({
97
- optionsCache: {},
98
- codeLabel: {}
99
- });
100
- };
101
- // componentWillUnmount(): void {
102
- // this.setState=(state,callback)=>{
103
- // return
104
- // }
105
- // }
106
- this.toOption = (code, title, onEntityClick) => {
107
- const { fieldConfig } = this.props;
108
- const { actions } = fieldConfig;
109
- const { codeLabel } = this.state;
110
- codeLabel[code] = title;
111
- let option = {
112
- value: code,
113
- label: React.createElement(React.Fragment, null,
114
- title,
115
- actions && actions.indexOf("detail") >= 0 ?
116
- React.createElement(Button, { size: 'small', type: 'text' },
117
- React.createElement(AlignLeftOutlined, { style: { color: '#0958d9' }, onClick: (event) => {
118
- event.stopPropagation();
119
- this.showItem(code);
120
- } })) : null,
121
- actions && actions.indexOf("edit") >= 0 ?
122
- React.createElement(Button, { size: 'small', type: 'text' },
123
- React.createElement(EditOutlined, { style: { color: '#0958d9' }, onClick: (event) => {
124
- event.stopPropagation();
125
- this.editItem(code);
126
- } }))
127
- : null),
128
- };
129
- return option;
130
- };
131
- this.doClose = () => {
132
- this.setState({
133
- drawCode: undefined,
134
- showEdit: false,
135
- showView: false,
136
- showTable: false,
137
- });
138
- };
139
- this.drawSubmited = () => {
140
- this.initCache();
141
- this.doClose();
142
- };
143
- this.closeTable = () => {
144
- this.drawSubmited();
145
- };
146
- this.toValueArray = (value) => {
147
- let result = [];
148
- let valueArray = this.toArray(value);
149
- for (let v of valueArray) {
150
- if (v) {
151
- let vs = v.split("@R@");
152
- if (vs[1] != 'null') {
153
- result.push(vs[0]);
154
- }
155
- }
156
- }
157
- return result;
158
- };
159
- this.toArray = (value) => {
160
- let valueArray = [];
161
- if (value instanceof Array) {
162
- valueArray = value;
163
- }
164
- else {
165
- if (value) {
166
- valueArray = value.split(',');
167
- }
168
- else {
169
- valueArray = [];
170
- }
171
- }
172
- return valueArray;
173
- };
174
- this.toOptions = (value, onEntityClick) => {
175
- const { fieldConfig } = this.props;
176
- let options = [];
177
- //console.log('options value', value);
178
- let valueArray = this.toArray(value);
179
- for (let v of valueArray) {
180
- if (v) {
181
- let vs = v.split("@R@");
182
- if (vs[1] != 'null') {
183
- options.push(this.toOption(vs[0], vs[1], onEntityClick));
184
- }
185
- }
186
- }
187
- //添加补充项
188
- if (fieldConfig.suppleOptions) {
189
- fieldConfig.suppleOptions.forEach((o) => {
190
- let had = false;
191
- options.forEach((s) => {
192
- if (s['value'] == o.code) {
193
- had = true;
194
- return;
195
- }
196
- });
197
- if (!had) {
198
- options.push(this.toOption(o.code, o.title, undefined));
199
- }
200
- });
201
- }
202
- //console.log('options', options);
203
- return options;
204
- };
205
- this.fetchNextPage = () => __awaiter(this, void 0, void 0, function* () {
206
- const { optionCacheKey, titleId, optionsCache } = this.state;
207
- let optionCache = optionsCache[optionCacheKey];
208
- let pageInfo = optionCache.pageInfo;
209
- if (!optionCache.touchEnd) {
210
- pageInfo.pageNo = pageInfo.pageNo + 1;
211
- let dataSource = yield this.loadData(optionCache.queryKey.key, Object.assign({}, pageInfo), titleId);
212
- if (dataSource) {
213
- optionCache.options = [...optionCache.options, ...dataSource.options];
214
- optionCache.touchEnd = dataSource.touchEnd;
215
- }
216
- this.setState({
217
- pageNo: pageInfo.pageNo,
218
- });
219
- }
220
- });
221
- this.fetchOptions = (searchText) => __awaiter(this, void 0, void 0, function* () {
222
- const { fieldConfig, mainCode, baseCriteria } = this.props;
223
- const { optionsCache, ltmplConfig, preMainCode } = this.state;
224
- const currentMainCode = mainCode ? mainCode : fieldConfig.mainCode;
225
- if (preMainCode != currentMainCode) {
226
- this.setState({ preMainCode: currentMainCode.toString() });
227
- //清空,
228
- this.initCache();
229
- }
230
- let optionCacheKey = "withoutValue";
231
- //先从缓存里拿
232
- if (searchText) {
233
- optionCacheKey = searchText;
234
- }
235
- let titleId = this.state.titleId;
236
- let optionCache = optionsCache[optionCacheKey];
237
- if (!optionCache) {
238
- this.setState({
239
- loading: true,
240
- });
241
- let ltmplConfig_ = ltmplConfig;
242
- if (!ltmplConfig_) {
243
- ltmplConfig_ = yield this.loadLtmplConfig();
244
- }
245
- let pageInfo = {
246
- pageNo: 1,
247
- pageSize: 6,
248
- virtualEndPageNo: undefined,
249
- };
250
- titleId = ltmplConfig_.primaryColumn.id;
251
- //得到第一个过滤条件
252
- let firstCriteria = ltmplConfig_.primaryCriteria;
253
- let formItemName = 'undefinedCriteria';
254
- if (firstCriteria) {
255
- formItemName = 'c_' + firstCriteria.id;
256
- }
257
- const { defaultPageSize } = ltmplConfig_;
258
- if (defaultPageSize) {
259
- pageInfo.pageSize = defaultPageSize;
260
- }
261
- /** 构建 dataSource **/
262
- //构建过滤条件
263
- let criteriaData = {};
264
- if (baseCriteria) {
265
- criteriaData = Object.assign({}, baseCriteria);
266
- }
267
- // let mainCode_ = mainCode;
268
- // if (baseCriteria) {
269
- // criteriaData = {...baseCriteria}
270
- // if (!mainCode) {
271
- // mainCode_ = baseCriteria['mainCode']; //当只在条件中设置mainCode时,保证生效不被设置为null
272
- // }
273
- // }
274
- criteriaData[formItemName] = searchText;
275
- let queryKey = yield HcserviceV3.requestLtmplQueryKey(fieldConfig.id, Object.assign(Object.assign(Object.assign({}, criteriaData), pageInfo), { mainCode: currentMainCode }));
276
- let sourceData = yield this.loadData(queryKey.key, pageInfo, titleId);
277
- optionCache = {
278
- options: sourceData.options,
279
- pageInfo,
280
- queryKey,
281
- searchValue: searchText,
282
- touchEnd: sourceData.touchEnd
283
- };
284
- optionsCache[optionCacheKey] = optionCache;
285
- this.setState({
286
- optionCacheKey,
287
- titleId,
288
- optionsCache: Object.assign({}, optionsCache),
289
- loading: false,
290
- });
291
- }
292
- else {
293
- if (this.state.optionCacheKey == optionCacheKey && optionCacheKey == 'withoutValue') {
294
- this.setState({
295
- loading: false,
296
- optionCacheKey,
297
- });
298
- }
299
- else {
300
- debounce(() => {
301
- this.setState({
302
- loading: false,
303
- optionCacheKey,
304
- });
305
- }, 500)();
306
- }
307
- }
308
- });
309
- this.onChange = (values) => {
310
- const { codeLabel } = this.state;
311
- let newValues = [...values];
312
- if (values && values.length > this.props.maxSelected) {
313
- newValues.shift();
314
- }
315
- let formValues = [];
316
- newValues.forEach((c) => {
317
- if (c.indexOf("@R@") > 0) {
318
- formValues.push(c);
319
- }
320
- else {
321
- formValues.push(c + "@R@" + codeLabel[c]);
322
- }
323
- });
324
- this.props.onChange(formValues);
325
- };
326
- this.tagRender = (props) => {
327
- const { label, closable, onClose } = props;
328
- const onPreventMouseDown = (event) => {
329
- event.preventDefault();
330
- event.stopPropagation();
331
- };
332
- return (React.createElement(Tag, { onMouseDown: onPreventMouseDown, closable: closable, onClose: onClose, style: { marginRight: 3 } }, label));
333
- };
334
- this.loadData = (queryKey, pageInfo, titleId) => __awaiter(this, void 0, void 0, function* () {
335
- const { onEntityClick, baseCriteria } = this.props;
336
- let queryData = yield HcserviceV3.requestQueryData(queryKey, pageInfo);
337
- let options = [];
338
- pageInfo = queryData.pageInfo;
339
- queryData.entities.forEach((item, index) => {
340
- let title = item.fieldMap[titleId];
341
- //放入全局对象缓存
342
- //这个缓存后续还需要完善,因为太多了,容易爆掉
343
- HCDataSource.cache(item);
344
- if (title) {
345
- let ts = title.split('@R@');
346
- let t = ts && ts.length > 0 ? ts[ts.length - 1] : title;
347
- if (t != 'null') {
348
- let option = this.toOption(item.code, t, onEntityClick);
349
- options.push(option);
350
- }
351
- }
352
- });
353
- return { options, touchEnd: queryData.touchEnd };
354
- });
355
- this.debounceFetcher = () => {
356
- const loadOptions = (val) => {
357
- this.fetchOptions(val);
358
- };
359
- return debounce(loadOptions, 800);
360
- };
361
- this.debounceFetchNextPage = () => {
362
- // this.setState({
363
- // loading: true,
364
- // })
365
- debounce(this.fetchNextPage, 200)();
366
- // this.setState({
367
- // loading: false,
368
- // })
369
- };
370
- }
371
- componentDidUpdate(prevProps) {
372
- const { baseCriteria, mainCode, fieldConfig } = this.props;
373
- let { baseCriteria: preBaseCriteria, mainCode: preMainCode, fieldConfig: preFieldConfig } = prevProps;
374
- if ((baseCriteria && JSON.stringify(baseCriteria) != JSON.stringify(preBaseCriteria)) || (mainCode && mainCode != preMainCode)
375
- || (fieldConfig && preFieldConfig && fieldConfig.id != preFieldConfig.id)) {
376
- this.initCache();
377
- }
378
- }
379
- render() {
380
- const { id, value, fieldConfig, onChange, disabled, style, maxSelected, onEntityClick, mainCode } = this.props;
381
- const { actions } = fieldConfig;
382
- const { optionCacheKey, loading, optionsCache, drawCode, showEdit, showView, showTable, ltmplConfig } = this.state;
383
- let initOptions = this.toOptions(value, onEntityClick);
384
- let exists;
385
- let properOptions = [...initOptions];
386
- let listHeight = 256;
387
- if (optionCacheKey && optionsCache[optionCacheKey]) {
388
- let optionCache = optionsCache[optionCacheKey];
389
- if (optionCache['pageInfo'] && optionCache.pageInfo.pageSize < 8) {
390
- listHeight = 32 * (optionCache['pageInfo'].pageSize) - 10;
391
- }
392
- for (let option of optionCache.options) {
393
- exists = false;
394
- for (let init of initOptions) {
395
- if (init['value'] == option['value']) {
396
- exists = true;
397
- //用查询的覆盖之前的
398
- init['label'] = option['label'];
399
- }
400
- }
401
- if (!exists) {
402
- properOptions.push(option);
403
- }
404
- }
405
- }
406
- return React.createElement(React.Fragment, null,
407
- React.createElement(Select, { disabled: disabled, id: id, listHeight: listHeight, style: Object.assign({}, style), onChange: this.onChange, value: this.toValueArray(value), mode: "multiple", placeholder: `请选择${fieldConfig.title}`, notFoundContent: loading ? React.createElement(Spin, { size: 'small' }) : "无数据", allowClear: true, showArrow: true, suffixIcon: React.createElement(SearchOutlined, null), dropdownRender: this.dropdownRender, tagRender: actions && (actions.indexOf("detail") >= 0 || actions.indexOf("edit") >= 0) ? this.tagRender : undefined, onSearch: this.debounceFetcher(), onClick: disabled ? null : () => {
408
- debounce(this.fetchOptions, 100)(undefined);
409
- }, options: loading ? [] : properOptions, onPopupScroll: (e) => {
410
- const { target } = e;
411
- if (target['scrollTop'] + target['offsetHeight'] + 1 >= target['scrollHeight']) {
412
- this.debounceFetchNextPage();
413
- }
414
- } }),
415
- showView && drawCode ?
416
- React.createElement(DtmplViewDrawer, { placement: 'left', onClose: this.doClose, open: showView, sourceId: fieldConfig.id, code: drawCode }) : null,
417
- showEdit && ltmplConfig ? ltmplConfig.customEditPagePath ? React.createElement(DtmplCustomEditModalPage, { open: showEdit, onOk: () => {
418
- this.drawSubmited();
419
- }, customPath: ltmplConfig.customEditPagePath, sourceId: fieldConfig.id, mainCode: mainCode, code: drawCode })
420
- : React.createElement(DtmplEditPage, { pageType: "modal", open: showEdit, onCancel: this.doClose, mainCode: mainCode, width: 960, sourceId: fieldConfig.id, code: drawCode, onOk: this.drawSubmited }) : null,
421
- showTable ? React.createElement(LtmplModal, { open: showTable, onCancel: this.closeTable, width: 960, sourceId: fieldConfig.id, mainCode: mainCode }) : null);
422
- }
423
- }
424
- EntitySelect.defaultProps = {
425
- maxSelected: 100,
426
- };
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import * as React from 'react';
11
+ import { Button, Col, Divider, Row, Select, Spin, Tag } from 'antd';
12
+ import { AlignLeftOutlined, EditOutlined, PlusOutlined, SearchOutlined, TableOutlined } from '@ant-design/icons';
13
+ import debounce from 'lodash/debounce';
14
+ import './index.css';
15
+ import HcserviceV3 from "../../tmpl/hcservice-v3";
16
+ import HCDataSource from "../../tmpl/hc-data-source";
17
+ import DtmplViewDrawer from "../../module/dtmpl-view-drawer";
18
+ import DtmplEditPage from "../../module/dtmpl-edit-page";
19
+ import DtmplCustomEditModalPage from "../../custom-page/dtmpl-custom-edit-modal-page";
20
+ import { LtmplModal } from "../../index";
21
+ ;
22
+ ;
23
+ class EntitySelect extends React.PureComponent {
24
+ constructor() {
25
+ super(...arguments);
26
+ this.state = {
27
+ titleId: undefined,
28
+ optionCacheKey: undefined,
29
+ pageNo: 1,
30
+ loading: false,
31
+ optionsCache: {},
32
+ codeLabel: {},
33
+ ltmplConfig: undefined,
34
+ showView: false,
35
+ showEdit: false,
36
+ showTable: false,
37
+ drawCode: undefined,
38
+ preMainCode: undefined,
39
+ };
40
+ this.dropdownRender = (menu) => {
41
+ const { fieldConfig } = this.props;
42
+ const { actions } = fieldConfig;
43
+ // console.log("menu",menu);
44
+ return React.createElement(React.Fragment, null,
45
+ menu,
46
+ actions && actions.indexOf('add') >= 0 ?
47
+ React.createElement(React.Fragment, null,
48
+ React.createElement(Divider, { style: { margin: '8px 0' } }),
49
+ React.createElement(Row, { justify: "end" },
50
+ React.createElement(Col, null,
51
+ React.createElement(Button, { type: "text", icon: React.createElement(TableOutlined, { style: { color: '#0958d9' } }), onClick: () => this.showTable() })),
52
+ React.createElement(Col, null,
53
+ React.createElement(Button, { type: "text", icon: React.createElement(PlusOutlined, { style: { color: '#0958d9' } }), onClick: () => this.editItem() })))) : null);
54
+ };
55
+ this.editItem = (code) => __awaiter(this, void 0, void 0, function* () {
56
+ let ltmplConfig = yield this.loadLtmplConfig();
57
+ this.setState({
58
+ showEdit: true,
59
+ showTable: false,
60
+ showView: false,
61
+ drawCode: code,
62
+ ltmplConfig,
63
+ });
64
+ });
65
+ this.showTable = () => __awaiter(this, void 0, void 0, function* () {
66
+ this.setState({
67
+ showEdit: false,
68
+ showTable: true,
69
+ showView: false,
70
+ drawCode: undefined,
71
+ });
72
+ });
73
+ this.loadLtmplConfig = () => __awaiter(this, void 0, void 0, function* () {
74
+ const { fieldConfig } = this.props;
75
+ const { ltmplConfig } = this.state;
76
+ let ltmplConfig_ = ltmplConfig;
77
+ if (!ltmplConfig_) {
78
+ ltmplConfig_ = (yield HCDataSource.requestLtmplConfig(fieldConfig.id)).ltmplConfig;
79
+ }
80
+ this.setState({
81
+ ltmplConfig: ltmplConfig_
82
+ });
83
+ return ltmplConfig_;
84
+ });
85
+ this.showItem = (code) => __awaiter(this, void 0, void 0, function* () {
86
+ let ltmplConfig = yield this.loadLtmplConfig();
87
+ this.setState({
88
+ showEdit: false,
89
+ showTable: false,
90
+ showView: true,
91
+ drawCode: code,
92
+ ltmplConfig,
93
+ });
94
+ });
95
+ this.initCache = () => {
96
+ this.setState({
97
+ optionsCache: {},
98
+ codeLabel: {}
99
+ });
100
+ };
101
+ // componentWillUnmount(): void {
102
+ // this.setState=(state,callback)=>{
103
+ // return
104
+ // }
105
+ // }
106
+ this.toOption = (code, title, onEntityClick) => {
107
+ const { fieldConfig } = this.props;
108
+ const { actions } = fieldConfig;
109
+ const { codeLabel } = this.state;
110
+ codeLabel[code] = title;
111
+ let option = {
112
+ value: code,
113
+ label: React.createElement(React.Fragment, null,
114
+ title,
115
+ actions && actions.indexOf("detail") >= 0 ?
116
+ React.createElement(Button, { size: 'small', type: 'text' },
117
+ React.createElement(AlignLeftOutlined, { style: { color: '#0958d9' }, onClick: (event) => {
118
+ event.stopPropagation();
119
+ this.showItem(code);
120
+ } })) : null,
121
+ actions && actions.indexOf("edit") >= 0 ?
122
+ React.createElement(Button, { size: 'small', type: 'text' },
123
+ React.createElement(EditOutlined, { style: { color: '#0958d9' }, onClick: (event) => {
124
+ event.stopPropagation();
125
+ this.editItem(code);
126
+ } }))
127
+ : null),
128
+ };
129
+ return option;
130
+ };
131
+ this.doClose = () => {
132
+ this.setState({
133
+ drawCode: undefined,
134
+ showEdit: false,
135
+ showView: false,
136
+ showTable: false,
137
+ });
138
+ };
139
+ this.drawSubmited = () => {
140
+ this.initCache();
141
+ this.doClose();
142
+ };
143
+ this.closeTable = () => {
144
+ this.drawSubmited();
145
+ };
146
+ this.toValueArray = (value) => {
147
+ let result = [];
148
+ let valueArray = this.toArray(value);
149
+ for (let v of valueArray) {
150
+ if (v) {
151
+ let vs = v.split("@R@");
152
+ if (vs[1] != 'null') {
153
+ result.push(vs[0]);
154
+ }
155
+ }
156
+ }
157
+ return result;
158
+ };
159
+ this.toArray = (value) => {
160
+ let valueArray = [];
161
+ if (value instanceof Array) {
162
+ valueArray = value;
163
+ }
164
+ else {
165
+ if (value) {
166
+ valueArray = value.split(',');
167
+ }
168
+ else {
169
+ valueArray = [];
170
+ }
171
+ }
172
+ return valueArray;
173
+ };
174
+ this.toOptions = (value, onEntityClick) => {
175
+ const { fieldConfig } = this.props;
176
+ let options = [];
177
+ //console.log('options value', value);
178
+ let valueArray = this.toArray(value);
179
+ for (let v of valueArray) {
180
+ if (v) {
181
+ let vs = v.split("@R@");
182
+ if (vs[1] != 'null') {
183
+ options.push(this.toOption(vs[0], vs[1], onEntityClick));
184
+ }
185
+ }
186
+ }
187
+ //添加补充项
188
+ if (fieldConfig.suppleOptions) {
189
+ fieldConfig.suppleOptions.forEach((o) => {
190
+ let had = false;
191
+ options.forEach((s) => {
192
+ if (s['value'] == o.code) {
193
+ had = true;
194
+ return;
195
+ }
196
+ });
197
+ if (!had) {
198
+ options.push(this.toOption(o.code, o.title, undefined));
199
+ }
200
+ });
201
+ }
202
+ //console.log('options', options);
203
+ return options;
204
+ };
205
+ this.fetchNextPage = () => __awaiter(this, void 0, void 0, function* () {
206
+ const { optionCacheKey, titleId, optionsCache } = this.state;
207
+ let optionCache = optionsCache[optionCacheKey];
208
+ let pageInfo = optionCache.pageInfo;
209
+ if (!optionCache.touchEnd) {
210
+ pageInfo.pageNo = pageInfo.pageNo + 1;
211
+ let dataSource = yield this.loadData(optionCache.queryKey.key, Object.assign({}, pageInfo), titleId);
212
+ if (dataSource) {
213
+ optionCache.options = [...optionCache.options, ...dataSource.options];
214
+ optionCache.touchEnd = dataSource.touchEnd;
215
+ }
216
+ this.setState({
217
+ pageNo: pageInfo.pageNo,
218
+ });
219
+ }
220
+ });
221
+ this.fetchOptions = (searchText) => __awaiter(this, void 0, void 0, function* () {
222
+ const { fieldConfig, mainCode, baseCriteria } = this.props;
223
+ const { optionsCache, ltmplConfig, preMainCode } = this.state;
224
+ const currentMainCode = mainCode ? mainCode : fieldConfig.mainCode;
225
+ if (preMainCode != currentMainCode) {
226
+ this.setState({ preMainCode: currentMainCode.toString() });
227
+ //清空,
228
+ this.initCache();
229
+ }
230
+ let optionCacheKey = "withoutValue";
231
+ //先从缓存里拿
232
+ if (searchText) {
233
+ optionCacheKey = searchText;
234
+ }
235
+ let titleId = this.state.titleId;
236
+ let optionCache = optionsCache[optionCacheKey];
237
+ if (!optionCache) {
238
+ this.setState({
239
+ loading: true,
240
+ });
241
+ let ltmplConfig_ = ltmplConfig;
242
+ if (!ltmplConfig_) {
243
+ ltmplConfig_ = yield this.loadLtmplConfig();
244
+ }
245
+ let pageInfo = {
246
+ pageNo: 1,
247
+ pageSize: 6,
248
+ virtualEndPageNo: undefined,
249
+ };
250
+ titleId = ltmplConfig_.primaryColumn.id;
251
+ //得到第一个过滤条件
252
+ let firstCriteria = ltmplConfig_.primaryCriteria;
253
+ let formItemName = 'undefinedCriteria';
254
+ if (firstCriteria) {
255
+ formItemName = 'c_' + firstCriteria.id;
256
+ }
257
+ const { defaultPageSize } = ltmplConfig_;
258
+ if (defaultPageSize) {
259
+ pageInfo.pageSize = defaultPageSize;
260
+ }
261
+ /** 构建 dataSource **/
262
+ //构建过滤条件
263
+ let criteriaData = {};
264
+ if (baseCriteria) {
265
+ criteriaData = Object.assign({}, baseCriteria);
266
+ }
267
+ // let mainCode_ = mainCode;
268
+ // if (baseCriteria) {
269
+ // criteriaData = {...baseCriteria}
270
+ // if (!mainCode) {
271
+ // mainCode_ = baseCriteria['mainCode']; //当只在条件中设置mainCode时,保证生效不被设置为null
272
+ // }
273
+ // }
274
+ criteriaData[formItemName] = searchText;
275
+ let queryKey = yield HcserviceV3.requestLtmplQueryKey(fieldConfig.id, Object.assign(Object.assign(Object.assign({}, criteriaData), pageInfo), { mainCode: currentMainCode }));
276
+ let sourceData = yield this.loadData(queryKey.key, pageInfo, titleId);
277
+ optionCache = {
278
+ options: sourceData.options,
279
+ pageInfo,
280
+ queryKey,
281
+ searchValue: searchText,
282
+ touchEnd: sourceData.touchEnd
283
+ };
284
+ optionsCache[optionCacheKey] = optionCache;
285
+ this.setState({
286
+ optionCacheKey,
287
+ titleId,
288
+ optionsCache: Object.assign({}, optionsCache),
289
+ loading: false,
290
+ });
291
+ }
292
+ else {
293
+ if (this.state.optionCacheKey == optionCacheKey && optionCacheKey == 'withoutValue') {
294
+ this.setState({
295
+ loading: false,
296
+ optionCacheKey,
297
+ });
298
+ }
299
+ else {
300
+ debounce(() => {
301
+ this.setState({
302
+ loading: false,
303
+ optionCacheKey,
304
+ });
305
+ }, 500)();
306
+ }
307
+ }
308
+ });
309
+ this.onChange = (values) => {
310
+ const { codeLabel } = this.state;
311
+ let newValues = [...values];
312
+ if (values && values.length > this.props.maxSelected) {
313
+ newValues.shift();
314
+ }
315
+ let formValues = [];
316
+ newValues.forEach((c) => {
317
+ if (c.indexOf("@R@") > 0) {
318
+ formValues.push(c);
319
+ }
320
+ else {
321
+ formValues.push(c + "@R@" + codeLabel[c]);
322
+ }
323
+ });
324
+ this.props.onChange(formValues);
325
+ };
326
+ this.tagRender = (props) => {
327
+ const { label, closable, onClose } = props;
328
+ const onPreventMouseDown = (event) => {
329
+ event.preventDefault();
330
+ event.stopPropagation();
331
+ };
332
+ return (React.createElement(Tag, { onMouseDown: onPreventMouseDown, closable: closable, onClose: onClose, style: { marginRight: 3 } }, label));
333
+ };
334
+ this.loadData = (queryKey, pageInfo, titleId) => __awaiter(this, void 0, void 0, function* () {
335
+ const { onEntityClick, baseCriteria } = this.props;
336
+ let queryData = yield HcserviceV3.requestQueryData(queryKey, pageInfo);
337
+ let options = [];
338
+ pageInfo = queryData.pageInfo;
339
+ queryData.entities.forEach((item, index) => {
340
+ let title = item.fieldMap[titleId];
341
+ //放入全局对象缓存
342
+ //这个缓存后续还需要完善,因为太多了,容易爆掉
343
+ HCDataSource.cache(item);
344
+ if (title) {
345
+ let ts = title.split('@R@');
346
+ let t = ts && ts.length > 0 ? ts[ts.length - 1] : title;
347
+ if (t != 'null') {
348
+ let option = this.toOption(item.code, t, onEntityClick);
349
+ options.push(option);
350
+ }
351
+ }
352
+ });
353
+ return { options, touchEnd: queryData.touchEnd };
354
+ });
355
+ this.debounceFetcher = () => {
356
+ const loadOptions = (val) => {
357
+ this.fetchOptions(val);
358
+ };
359
+ return debounce(loadOptions, 800);
360
+ };
361
+ this.debounceFetchNextPage = () => {
362
+ // this.setState({
363
+ // loading: true,
364
+ // })
365
+ debounce(this.fetchNextPage, 200)();
366
+ // this.setState({
367
+ // loading: false,
368
+ // })
369
+ };
370
+ }
371
+ componentDidUpdate(prevProps) {
372
+ const { baseCriteria, mainCode, fieldConfig } = this.props;
373
+ let { baseCriteria: preBaseCriteria, mainCode: preMainCode, fieldConfig: preFieldConfig } = prevProps;
374
+ if ((baseCriteria && JSON.stringify(baseCriteria) != JSON.stringify(preBaseCriteria)) || (mainCode && mainCode != preMainCode)
375
+ || (fieldConfig && preFieldConfig && fieldConfig.id != preFieldConfig.id)) {
376
+ this.initCache();
377
+ }
378
+ }
379
+ render() {
380
+ const { id, value, fieldConfig, onChange, disabled, style, maxSelected, onEntityClick, mainCode } = this.props;
381
+ const { actions } = fieldConfig;
382
+ const { optionCacheKey, loading, optionsCache, drawCode, showEdit, showView, showTable, ltmplConfig } = this.state;
383
+ let initOptions = this.toOptions(value, onEntityClick);
384
+ let exists;
385
+ let properOptions = [...initOptions];
386
+ let listHeight = 256;
387
+ if (optionCacheKey && optionsCache[optionCacheKey]) {
388
+ let optionCache = optionsCache[optionCacheKey];
389
+ if (optionCache['pageInfo'] && optionCache.pageInfo.pageSize < 8) {
390
+ listHeight = 32 * (optionCache['pageInfo'].pageSize) - 10;
391
+ }
392
+ for (let option of optionCache.options) {
393
+ exists = false;
394
+ for (let init of initOptions) {
395
+ if (init['value'] == option['value']) {
396
+ exists = true;
397
+ //用查询的覆盖之前的
398
+ init['label'] = option['label'];
399
+ }
400
+ }
401
+ if (!exists) {
402
+ properOptions.push(option);
403
+ }
404
+ }
405
+ }
406
+ return React.createElement(React.Fragment, null,
407
+ React.createElement(Select, { disabled: disabled, id: id, listHeight: listHeight, style: Object.assign({}, style), onChange: this.onChange, value: this.toValueArray(value), mode: "multiple", placeholder: `请选择${fieldConfig.title}`, notFoundContent: loading ? React.createElement(Spin, { size: 'small' }) : "无数据", allowClear: true, showArrow: true, suffixIcon: React.createElement(SearchOutlined, null), dropdownRender: this.dropdownRender, tagRender: actions && (actions.indexOf("detail") >= 0 || actions.indexOf("edit") >= 0) ? this.tagRender : undefined, onSearch: this.debounceFetcher(), onClick: disabled ? null : () => {
408
+ debounce(this.fetchOptions, 100)(undefined);
409
+ }, options: loading ? [] : properOptions, onPopupScroll: (e) => {
410
+ const { target } = e;
411
+ if (target['scrollTop'] + target['offsetHeight'] + 1 >= target['scrollHeight']) {
412
+ this.debounceFetchNextPage();
413
+ }
414
+ } }),
415
+ showView && drawCode ?
416
+ React.createElement(DtmplViewDrawer, { placement: 'left', onClose: this.doClose, open: showView, sourceId: fieldConfig.id, code: drawCode }) : null,
417
+ showEdit && ltmplConfig ? ltmplConfig.customEditPagePath ? React.createElement(DtmplCustomEditModalPage, { open: showEdit, onOk: () => {
418
+ this.drawSubmited();
419
+ }, customPath: ltmplConfig.customEditPagePath, sourceId: fieldConfig.id, mainCode: mainCode, code: drawCode })
420
+ : React.createElement(DtmplEditPage, { pageType: "modal", open: showEdit, onCancel: this.doClose, mainCode: mainCode, width: 960, sourceId: fieldConfig.id, code: drawCode, onOk: this.drawSubmited }) : null,
421
+ showTable ? React.createElement(LtmplModal, { open: showTable, onCancel: this.closeTable, width: 960, sourceId: fieldConfig.id, mainCode: mainCode }) : null);
422
+ }
423
+ }
424
+ EntitySelect.defaultProps = {
425
+ maxSelected: 100,
426
+ };
427
+ export default EntitySelect;
427
428
  //# sourceMappingURL=entity-select.js.map