fast-element-plus 1.0.0 → 1.0.1

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 (558) hide show
  1. package/Fast.png +0 -0
  2. package/LICENSE +201 -0
  3. package/README.md +164 -0
  4. package/README.zh.md +164 -0
  5. package/dist/index.full.js +28446 -0
  6. package/dist/index.full.js.map +1 -0
  7. package/dist/index.full.min.js +36 -0
  8. package/dist/index.full.min.js.map +1 -0
  9. package/dist/index.full.min.mjs +36 -0
  10. package/dist/index.full.min.mjs.map +1 -0
  11. package/dist/index.full.mjs +28445 -0
  12. package/dist/index.full.mjs.map +1 -0
  13. package/dist/styles/index.css +984 -0
  14. package/dist/styles/index.css.map +1 -0
  15. package/es/component.d.ts +3 -0
  16. package/es/component.mjs +52 -0
  17. package/es/component.mjs.map +1 -0
  18. package/es/components/avatar/index.d.ts +14 -0
  19. package/es/components/avatar/index.mjs +8 -0
  20. package/es/components/avatar/index.mjs.map +1 -0
  21. package/es/components/avatar/src/avatar.d.ts +96 -0
  22. package/es/components/avatar/src/avatar.mjs +76 -0
  23. package/es/components/avatar/src/avatar.mjs.map +1 -0
  24. package/es/components/button/index.d.ts +15 -0
  25. package/es/components/button/index.mjs +11 -0
  26. package/es/components/button/index.mjs.map +1 -0
  27. package/es/components/button/src/button.d.ts +173 -0
  28. package/es/components/button/src/button.mjs +118 -0
  29. package/es/components/button/src/button.mjs.map +1 -0
  30. package/es/components/carNumber/index.d.ts +9 -0
  31. package/es/components/carNumber/index.mjs +12 -0
  32. package/es/components/carNumber/index.mjs.map +1 -0
  33. package/es/components/carNumber/src/carNumber.d.ts +217 -0
  34. package/es/components/carNumber/src/carNumber.mjs +164 -0
  35. package/es/components/carNumber/src/carNumber.mjs.map +1 -0
  36. package/es/components/carNumber/src/common.d.ts +15 -0
  37. package/es/components/carNumber/src/common.mjs +75 -0
  38. package/es/components/carNumber/src/common.mjs.map +1 -0
  39. package/es/components/contextMenu/index.d.ts +9 -0
  40. package/es/components/contextMenu/index.mjs +9 -0
  41. package/es/components/contextMenu/index.mjs.map +1 -0
  42. package/es/components/contextMenu/src/contextMenu.d.ts +32 -0
  43. package/es/components/contextMenu/src/contextMenu.mjs +85 -0
  44. package/es/components/contextMenu/src/contextMenu.mjs.map +1 -0
  45. package/es/components/contextMenu/src/contextMenu.type.d.ts +33 -0
  46. package/es/components/contextMenu/src/contextMenu.type.mjs +2 -0
  47. package/es/components/contextMenu/src/contextMenu.type.mjs.map +1 -0
  48. package/es/components/dialog/index.d.ts +14 -0
  49. package/es/components/dialog/index.mjs +11 -0
  50. package/es/components/dialog/index.mjs.map +1 -0
  51. package/es/components/dialog/src/dialog.d.ts +454 -0
  52. package/es/components/dialog/src/dialog.mjs +285 -0
  53. package/es/components/dialog/src/dialog.mjs.map +1 -0
  54. package/es/components/drawer/index.d.ts +14 -0
  55. package/es/components/drawer/index.mjs +8 -0
  56. package/es/components/drawer/index.mjs.map +1 -0
  57. package/es/components/drawer/src/drawer.d.ts +449 -0
  58. package/es/components/drawer/src/drawer.mjs +284 -0
  59. package/es/components/drawer/src/drawer.mjs.map +1 -0
  60. package/es/components/form/index.d.ts +23 -0
  61. package/es/components/form/index.mjs +19 -0
  62. package/es/components/form/index.mjs.map +1 -0
  63. package/es/components/form/src/form.d.ts +194 -0
  64. package/es/components/form/src/form.mjs +109 -0
  65. package/es/components/form/src/form.mjs.map +1 -0
  66. package/es/components/form/src/formItem.d.ts +190 -0
  67. package/es/components/form/src/formItem.mjs +117 -0
  68. package/es/components/form/src/formItem.mjs.map +1 -0
  69. package/es/components/form/utils/form.d.ts +81 -0
  70. package/es/components/form/utils/form.mjs +217 -0
  71. package/es/components/form/utils/form.mjs.map +1 -0
  72. package/es/components/formItemTip/index.d.ts +12 -0
  73. package/es/components/formItemTip/index.mjs +10 -0
  74. package/es/components/formItemTip/index.mjs.map +1 -0
  75. package/es/components/formItemTip/src/formItemTip.d.ts +22 -0
  76. package/es/components/formItemTip/src/formItemTip.mjs +38 -0
  77. package/es/components/formItemTip/src/formItemTip.mjs.map +1 -0
  78. package/es/components/icon/index.d.ts +12 -0
  79. package/es/components/icon/index.mjs +8 -0
  80. package/es/components/icon/index.mjs.map +1 -0
  81. package/es/components/icon/src/icon.d.ts +39 -0
  82. package/es/components/icon/src/icon.mjs +69 -0
  83. package/es/components/icon/src/icon.mjs.map +1 -0
  84. package/es/components/iconSelector/index.d.ts +7 -0
  85. package/es/components/iconSelector/index.mjs +8 -0
  86. package/es/components/iconSelector/index.mjs.map +1 -0
  87. package/es/components/iconSelector/src/iconSelector.d.ts +23 -0
  88. package/es/components/iconSelector/src/iconSelector.mjs +143 -0
  89. package/es/components/iconSelector/src/iconSelector.mjs.map +1 -0
  90. package/es/components/image/index.d.ts +12 -0
  91. package/es/components/image/index.mjs +10 -0
  92. package/es/components/image/index.mjs.map +1 -0
  93. package/es/components/image/src/image.d.ts +225 -0
  94. package/es/components/image/src/image.mjs +90 -0
  95. package/es/components/image/src/image.mjs.map +1 -0
  96. package/es/components/index.d.ts +21 -0
  97. package/es/components/index.mjs +100 -0
  98. package/es/components/index.mjs.map +1 -0
  99. package/es/components/layoutGrid/index.d.ts +16 -0
  100. package/es/components/layoutGrid/index.mjs +14 -0
  101. package/es/components/layoutGrid/index.mjs.map +1 -0
  102. package/es/components/layoutGrid/src/layoutGrid.d.ts +60 -0
  103. package/es/components/layoutGrid/src/layoutGrid.mjs +178 -0
  104. package/es/components/layoutGrid/src/layoutGrid.mjs.map +1 -0
  105. package/es/components/layoutGrid/src/layoutGrid.type.d.ts +12 -0
  106. package/es/components/layoutGrid/src/layoutGrid.type.mjs +2 -0
  107. package/es/components/layoutGrid/src/layoutGrid.type.mjs.map +1 -0
  108. package/es/components/layoutGrid/src/layoutGridItem.d.ts +100 -0
  109. package/es/components/layoutGrid/src/layoutGridItem.mjs +97 -0
  110. package/es/components/layoutGrid/src/layoutGridItem.mjs.map +1 -0
  111. package/es/components/select/index.d.ts +22 -0
  112. package/es/components/select/index.mjs +17 -0
  113. package/es/components/select/index.mjs.map +1 -0
  114. package/es/components/select/src/select.d.ts +1201 -0
  115. package/es/components/select/src/select.mjs +559 -0
  116. package/es/components/select/src/select.mjs.map +1 -0
  117. package/es/components/select/src/select.type.d.ts +28 -0
  118. package/es/components/select/src/select.type.mjs +2 -0
  119. package/es/components/select/src/select.type.mjs.map +1 -0
  120. package/es/components/select/src/selectOption.d.ts +99 -0
  121. package/es/components/select/src/selectOption.mjs +71 -0
  122. package/es/components/select/src/selectOption.mjs.map +1 -0
  123. package/es/components/selectPage/index.d.ts +14 -0
  124. package/es/components/selectPage/index.mjs +11 -0
  125. package/es/components/selectPage/index.mjs.map +1 -0
  126. package/es/components/selectPage/src/selectPage.d.ts +595 -0
  127. package/es/components/selectPage/src/selectPage.mjs +381 -0
  128. package/es/components/selectPage/src/selectPage.mjs.map +1 -0
  129. package/es/components/selectV2/index.d.ts +14 -0
  130. package/es/components/selectV2/index.mjs +11 -0
  131. package/es/components/selectV2/index.mjs.map +1 -0
  132. package/es/components/selectV2/src/selectV2.d.ts +1407 -0
  133. package/es/components/selectV2/src/selectV2.mjs +606 -0
  134. package/es/components/selectV2/src/selectV2.mjs.map +1 -0
  135. package/es/components/table/images/artwork.png.mjs +5 -0
  136. package/es/components/table/images/artwork.png.mjs.map +1 -0
  137. package/es/components/table/images/index.d.ts +4 -0
  138. package/es/components/table/images/notImage.png.mjs +5 -0
  139. package/es/components/table/images/notImage.png.mjs.map +1 -0
  140. package/es/components/table/index.d.ts +35 -0
  141. package/es/components/table/index.mjs +32 -0
  142. package/es/components/table/index.mjs.map +1 -0
  143. package/es/components/table/src/page.type.d.ts +145 -0
  144. package/es/components/table/src/page.type.mjs +16 -0
  145. package/es/components/table/src/page.type.mjs.map +1 -0
  146. package/es/components/table/src/table.d.ts +1382 -0
  147. package/es/components/table/src/table.mjs +1046 -0
  148. package/es/components/table/src/table.mjs.map +1 -0
  149. package/es/components/table/src/table.state.d.ts +115 -0
  150. package/es/components/table/src/table.state.mjs +2 -0
  151. package/es/components/table/src/table.state.mjs.map +1 -0
  152. package/es/components/table/src/table.type.d.ts +316 -0
  153. package/es/components/table/src/table.type.mjs +14 -0
  154. package/es/components/table/src/table.type.mjs.map +1 -0
  155. package/es/components/table/src/tableColumn.d.ts +644 -0
  156. package/es/components/table/src/tableColumn.mjs +604 -0
  157. package/es/components/table/src/tableColumn.mjs.map +1 -0
  158. package/es/components/table/src/tableColumnSettingDialog.d.ts +18 -0
  159. package/es/components/table/src/tableColumnSettingDialog.mjs +430 -0
  160. package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -0
  161. package/es/components/table/src/tablePagination.d.ts +24 -0
  162. package/es/components/table/src/tablePagination.mjs +56 -0
  163. package/es/components/table/src/tablePagination.mjs.map +1 -0
  164. package/es/components/table/src/tableSearchForm.d.ts +88 -0
  165. package/es/components/table/src/tableSearchForm.mjs +269 -0
  166. package/es/components/table/src/tableSearchForm.mjs.map +1 -0
  167. package/es/components/table/src/tableSearchFormItem.d.ts +37 -0
  168. package/es/components/table/src/tableSearchFormItem.mjs +121 -0
  169. package/es/components/table/src/tableSearchFormItem.mjs.map +1 -0
  170. package/es/components/table/src/useTable.d.ts +32 -0
  171. package/es/components/table/src/useTable.mjs +374 -0
  172. package/es/components/table/src/useTable.mjs.map +1 -0
  173. package/es/components/table/utils/table.d.ts +45 -0
  174. package/es/components/table/utils/table.mjs +122 -0
  175. package/es/components/table/utils/table.mjs.map +1 -0
  176. package/es/components/tree/index.d.ts +15 -0
  177. package/es/components/tree/index.mjs +12 -0
  178. package/es/components/tree/index.mjs.map +1 -0
  179. package/es/components/tree/src/tree.d.ts +668 -0
  180. package/es/components/tree/src/tree.mjs +364 -0
  181. package/es/components/tree/src/tree.mjs.map +1 -0
  182. package/es/components/tree/src/tree.props.d.ts +81 -0
  183. package/es/components/tree/src/tree.props.mjs +71 -0
  184. package/es/components/tree/src/tree.props.mjs.map +1 -0
  185. package/es/components/tree/src/tree.type.d.ts +36 -0
  186. package/es/components/tree/src/tree.type.mjs +2 -0
  187. package/es/components/tree/src/tree.type.mjs.map +1 -0
  188. package/es/components/treeSelect/index.d.ts +14 -0
  189. package/es/components/treeSelect/index.mjs +11 -0
  190. package/es/components/treeSelect/index.mjs.map +1 -0
  191. package/es/components/treeSelect/src/treeSelect.d.ts +1063 -0
  192. package/es/components/treeSelect/src/treeSelect.mjs +492 -0
  193. package/es/components/treeSelect/src/treeSelect.mjs.map +1 -0
  194. package/es/components/upload/index.d.ts +15 -0
  195. package/es/components/upload/index.mjs +11 -0
  196. package/es/components/upload/index.mjs.map +1 -0
  197. package/es/components/upload/src/upload.d.ts +525 -0
  198. package/es/components/upload/src/upload.mjs +140 -0
  199. package/es/components/upload/src/upload.mjs.map +1 -0
  200. package/es/components/upload/src/useUpload.d.ts +65 -0
  201. package/es/components/upload/src/useUpload.mjs +150 -0
  202. package/es/components/upload/src/useUpload.mjs.map +1 -0
  203. package/es/components/upload/utils/upload.d.ts +30 -0
  204. package/es/components/upload/utils/upload.mjs +119 -0
  205. package/es/components/upload/utils/upload.mjs.map +1 -0
  206. package/es/components/uploadImage/index.d.ts +14 -0
  207. package/es/components/uploadImage/index.mjs +11 -0
  208. package/es/components/uploadImage/index.mjs.map +1 -0
  209. package/es/components/uploadImage/src/uploadImage.d.ts +575 -0
  210. package/es/components/uploadImage/src/uploadImage.mjs +207 -0
  211. package/es/components/uploadImage/src/uploadImage.mjs.map +1 -0
  212. package/es/components/uploadImages/index.d.ts +14 -0
  213. package/es/components/uploadImages/index.mjs +8 -0
  214. package/es/components/uploadImages/index.mjs.map +1 -0
  215. package/es/components/uploadImages/src/uploadImages.d.ts +544 -0
  216. package/es/components/uploadImages/src/uploadImages.mjs +194 -0
  217. package/es/components/uploadImages/src/uploadImages.mjs.map +1 -0
  218. package/es/constants/index.d.ts +2 -0
  219. package/es/constants/index.mjs +7 -0
  220. package/es/constants/index.mjs.map +1 -0
  221. package/es/constants/mime.d.ts +61 -0
  222. package/es/constants/mime.mjs +62 -0
  223. package/es/constants/mime.mjs.map +1 -0
  224. package/es/constants/regex.d.ts +78 -0
  225. package/es/constants/regex.mjs +79 -0
  226. package/es/constants/regex.mjs.map +1 -0
  227. package/es/directive.d.ts +2 -0
  228. package/es/directive.mjs +11 -0
  229. package/es/directive.mjs.map +1 -0
  230. package/es/directives/click-copy/index.d.ts +2 -0
  231. package/es/directives/click-copy/index.mjs +36 -0
  232. package/es/directives/click-copy/index.mjs.map +1 -0
  233. package/es/directives/click-debounce/index.d.ts +2 -0
  234. package/es/directives/click-debounce/index.mjs +20 -0
  235. package/es/directives/click-debounce/index.mjs.map +1 -0
  236. package/es/directives/click-draggable/index.d.ts +2 -0
  237. package/es/directives/click-draggable/index.mjs +38 -0
  238. package/es/directives/click-draggable/index.mjs.map +1 -0
  239. package/es/directives/click-icon-copy/index.d.ts +2 -0
  240. package/es/directives/click-icon-copy/index.mjs +54 -0
  241. package/es/directives/click-icon-copy/index.mjs.map +1 -0
  242. package/es/directives/click-longpress/index.d.ts +2 -0
  243. package/es/directives/click-longpress/index.mjs +42 -0
  244. package/es/directives/click-longpress/index.mjs.map +1 -0
  245. package/es/directives/click-throttle/index.d.ts +2 -0
  246. package/es/directives/click-throttle/index.mjs +31 -0
  247. package/es/directives/click-throttle/index.mjs.map +1 -0
  248. package/es/directives/index.d.ts +6 -0
  249. package/es/directives/index.mjs +15 -0
  250. package/es/directives/index.mjs.map +1 -0
  251. package/es/element-plus.d.ts +2 -0
  252. package/es/element-plus.mjs +304 -0
  253. package/es/element-plus.mjs.map +1 -0
  254. package/es/hooks/index.d.ts +3 -0
  255. package/es/hooks/index.mjs +9 -0
  256. package/es/hooks/index.mjs.map +1 -0
  257. package/es/hooks/use-loading/index.d.ts +4 -0
  258. package/es/hooks/use-loading/index.mjs +34 -0
  259. package/es/hooks/use-loading/index.mjs.map +1 -0
  260. package/es/hooks/use-overlay/index.d.ts +4 -0
  261. package/es/hooks/use-overlay/index.mjs +26 -0
  262. package/es/hooks/use-overlay/index.mjs.map +1 -0
  263. package/es/hooks/use-screenFull/index.d.ts +7 -0
  264. package/es/hooks/use-screenFull/index.mjs +45 -0
  265. package/es/hooks/use-screenFull/index.mjs.map +1 -0
  266. package/es/index.d.ts +14 -0
  267. package/es/index.es.d.ts +6 -0
  268. package/es/index.mjs +138 -0
  269. package/es/index.mjs.map +1 -0
  270. package/es/make-installer.d.ts +6 -0
  271. package/es/make-installer.mjs +27 -0
  272. package/es/make-installer.mjs.map +1 -0
  273. package/es/version.d.ts +1 -0
  274. package/es/version.mjs +5 -0
  275. package/es/version.mjs.map +1 -0
  276. package/global.d.ts +2 -0
  277. package/lib/component.d.ts +3 -0
  278. package/lib/component.js +2 -0
  279. package/lib/component.js.map +1 -0
  280. package/lib/components/avatar/index.d.ts +14 -0
  281. package/lib/components/avatar/index.js +2 -0
  282. package/lib/components/avatar/index.js.map +1 -0
  283. package/lib/components/avatar/src/avatar.d.ts +96 -0
  284. package/lib/components/avatar/src/avatar.js +2 -0
  285. package/lib/components/avatar/src/avatar.js.map +1 -0
  286. package/lib/components/button/index.d.ts +15 -0
  287. package/lib/components/button/index.js +2 -0
  288. package/lib/components/button/index.js.map +1 -0
  289. package/lib/components/button/src/button.d.ts +173 -0
  290. package/lib/components/button/src/button.js +2 -0
  291. package/lib/components/button/src/button.js.map +1 -0
  292. package/lib/components/carNumber/index.d.ts +9 -0
  293. package/lib/components/carNumber/index.js +2 -0
  294. package/lib/components/carNumber/index.js.map +1 -0
  295. package/lib/components/carNumber/src/carNumber.d.ts +217 -0
  296. package/lib/components/carNumber/src/carNumber.js +2 -0
  297. package/lib/components/carNumber/src/carNumber.js.map +1 -0
  298. package/lib/components/carNumber/src/common.d.ts +15 -0
  299. package/lib/components/carNumber/src/common.js +2 -0
  300. package/lib/components/carNumber/src/common.js.map +1 -0
  301. package/lib/components/contextMenu/index.d.ts +9 -0
  302. package/lib/components/contextMenu/index.js +2 -0
  303. package/lib/components/contextMenu/index.js.map +1 -0
  304. package/lib/components/contextMenu/src/contextMenu.d.ts +32 -0
  305. package/lib/components/contextMenu/src/contextMenu.js +2 -0
  306. package/lib/components/contextMenu/src/contextMenu.js.map +1 -0
  307. package/lib/components/contextMenu/src/contextMenu.type.d.ts +33 -0
  308. package/lib/components/contextMenu/src/contextMenu.type.js +2 -0
  309. package/lib/components/contextMenu/src/contextMenu.type.js.map +1 -0
  310. package/lib/components/dialog/index.d.ts +14 -0
  311. package/lib/components/dialog/index.js +2 -0
  312. package/lib/components/dialog/index.js.map +1 -0
  313. package/lib/components/dialog/src/dialog.d.ts +454 -0
  314. package/lib/components/dialog/src/dialog.js +2 -0
  315. package/lib/components/dialog/src/dialog.js.map +1 -0
  316. package/lib/components/drawer/index.d.ts +14 -0
  317. package/lib/components/drawer/index.js +2 -0
  318. package/lib/components/drawer/index.js.map +1 -0
  319. package/lib/components/drawer/src/drawer.d.ts +449 -0
  320. package/lib/components/drawer/src/drawer.js +2 -0
  321. package/lib/components/drawer/src/drawer.js.map +1 -0
  322. package/lib/components/form/index.d.ts +23 -0
  323. package/lib/components/form/index.js +2 -0
  324. package/lib/components/form/index.js.map +1 -0
  325. package/lib/components/form/src/form.d.ts +194 -0
  326. package/lib/components/form/src/form.js +2 -0
  327. package/lib/components/form/src/form.js.map +1 -0
  328. package/lib/components/form/src/formItem.d.ts +190 -0
  329. package/lib/components/form/src/formItem.js +2 -0
  330. package/lib/components/form/src/formItem.js.map +1 -0
  331. package/lib/components/form/utils/form.d.ts +81 -0
  332. package/lib/components/form/utils/form.js +2 -0
  333. package/lib/components/form/utils/form.js.map +1 -0
  334. package/lib/components/formItemTip/index.d.ts +12 -0
  335. package/lib/components/formItemTip/index.js +2 -0
  336. package/lib/components/formItemTip/index.js.map +1 -0
  337. package/lib/components/formItemTip/src/formItemTip.d.ts +22 -0
  338. package/lib/components/formItemTip/src/formItemTip.js +2 -0
  339. package/lib/components/formItemTip/src/formItemTip.js.map +1 -0
  340. package/lib/components/icon/index.d.ts +12 -0
  341. package/lib/components/icon/index.js +2 -0
  342. package/lib/components/icon/index.js.map +1 -0
  343. package/lib/components/icon/src/icon.d.ts +39 -0
  344. package/lib/components/icon/src/icon.js +2 -0
  345. package/lib/components/icon/src/icon.js.map +1 -0
  346. package/lib/components/iconSelector/index.d.ts +7 -0
  347. package/lib/components/iconSelector/index.js +2 -0
  348. package/lib/components/iconSelector/index.js.map +1 -0
  349. package/lib/components/iconSelector/src/iconSelector.d.ts +23 -0
  350. package/lib/components/iconSelector/src/iconSelector.js +2 -0
  351. package/lib/components/iconSelector/src/iconSelector.js.map +1 -0
  352. package/lib/components/image/index.d.ts +12 -0
  353. package/lib/components/image/index.js +2 -0
  354. package/lib/components/image/index.js.map +1 -0
  355. package/lib/components/image/src/image.d.ts +225 -0
  356. package/lib/components/image/src/image.js +2 -0
  357. package/lib/components/image/src/image.js.map +1 -0
  358. package/lib/components/index.d.ts +21 -0
  359. package/lib/components/index.js +2 -0
  360. package/lib/components/index.js.map +1 -0
  361. package/lib/components/layoutGrid/index.d.ts +16 -0
  362. package/lib/components/layoutGrid/index.js +2 -0
  363. package/lib/components/layoutGrid/index.js.map +1 -0
  364. package/lib/components/layoutGrid/src/layoutGrid.d.ts +60 -0
  365. package/lib/components/layoutGrid/src/layoutGrid.js +2 -0
  366. package/lib/components/layoutGrid/src/layoutGrid.js.map +1 -0
  367. package/lib/components/layoutGrid/src/layoutGrid.type.d.ts +12 -0
  368. package/lib/components/layoutGrid/src/layoutGrid.type.js +2 -0
  369. package/lib/components/layoutGrid/src/layoutGrid.type.js.map +1 -0
  370. package/lib/components/layoutGrid/src/layoutGridItem.d.ts +100 -0
  371. package/lib/components/layoutGrid/src/layoutGridItem.js +2 -0
  372. package/lib/components/layoutGrid/src/layoutGridItem.js.map +1 -0
  373. package/lib/components/select/index.d.ts +22 -0
  374. package/lib/components/select/index.js +2 -0
  375. package/lib/components/select/index.js.map +1 -0
  376. package/lib/components/select/src/select.d.ts +1201 -0
  377. package/lib/components/select/src/select.js +2 -0
  378. package/lib/components/select/src/select.js.map +1 -0
  379. package/lib/components/select/src/select.type.d.ts +28 -0
  380. package/lib/components/select/src/select.type.js +2 -0
  381. package/lib/components/select/src/select.type.js.map +1 -0
  382. package/lib/components/select/src/selectOption.d.ts +99 -0
  383. package/lib/components/select/src/selectOption.js +2 -0
  384. package/lib/components/select/src/selectOption.js.map +1 -0
  385. package/lib/components/selectPage/index.d.ts +14 -0
  386. package/lib/components/selectPage/index.js +2 -0
  387. package/lib/components/selectPage/index.js.map +1 -0
  388. package/lib/components/selectPage/src/selectPage.d.ts +595 -0
  389. package/lib/components/selectPage/src/selectPage.js +2 -0
  390. package/lib/components/selectPage/src/selectPage.js.map +1 -0
  391. package/lib/components/selectV2/index.d.ts +14 -0
  392. package/lib/components/selectV2/index.js +2 -0
  393. package/lib/components/selectV2/index.js.map +1 -0
  394. package/lib/components/selectV2/src/selectV2.d.ts +1407 -0
  395. package/lib/components/selectV2/src/selectV2.js +2 -0
  396. package/lib/components/selectV2/src/selectV2.js.map +1 -0
  397. package/lib/components/table/images/artwork.png.js +2 -0
  398. package/lib/components/table/images/artwork.png.js.map +1 -0
  399. package/lib/components/table/images/index.d.ts +4 -0
  400. package/lib/components/table/images/notImage.png.js +2 -0
  401. package/lib/components/table/images/notImage.png.js.map +1 -0
  402. package/lib/components/table/index.d.ts +35 -0
  403. package/lib/components/table/index.js +2 -0
  404. package/lib/components/table/index.js.map +1 -0
  405. package/lib/components/table/src/page.type.d.ts +145 -0
  406. package/lib/components/table/src/page.type.js +2 -0
  407. package/lib/components/table/src/page.type.js.map +1 -0
  408. package/lib/components/table/src/table.d.ts +1382 -0
  409. package/lib/components/table/src/table.js +2 -0
  410. package/lib/components/table/src/table.js.map +1 -0
  411. package/lib/components/table/src/table.state.d.ts +115 -0
  412. package/lib/components/table/src/table.state.js +2 -0
  413. package/lib/components/table/src/table.state.js.map +1 -0
  414. package/lib/components/table/src/table.type.d.ts +316 -0
  415. package/lib/components/table/src/table.type.js +2 -0
  416. package/lib/components/table/src/table.type.js.map +1 -0
  417. package/lib/components/table/src/tableColumn.d.ts +644 -0
  418. package/lib/components/table/src/tableColumn.js +2 -0
  419. package/lib/components/table/src/tableColumn.js.map +1 -0
  420. package/lib/components/table/src/tableColumnSettingDialog.d.ts +18 -0
  421. package/lib/components/table/src/tableColumnSettingDialog.js +2 -0
  422. package/lib/components/table/src/tableColumnSettingDialog.js.map +1 -0
  423. package/lib/components/table/src/tablePagination.d.ts +24 -0
  424. package/lib/components/table/src/tablePagination.js +2 -0
  425. package/lib/components/table/src/tablePagination.js.map +1 -0
  426. package/lib/components/table/src/tableSearchForm.d.ts +88 -0
  427. package/lib/components/table/src/tableSearchForm.js +2 -0
  428. package/lib/components/table/src/tableSearchForm.js.map +1 -0
  429. package/lib/components/table/src/tableSearchFormItem.d.ts +37 -0
  430. package/lib/components/table/src/tableSearchFormItem.js +2 -0
  431. package/lib/components/table/src/tableSearchFormItem.js.map +1 -0
  432. package/lib/components/table/src/useTable.d.ts +32 -0
  433. package/lib/components/table/src/useTable.js +2 -0
  434. package/lib/components/table/src/useTable.js.map +1 -0
  435. package/lib/components/table/utils/table.d.ts +45 -0
  436. package/lib/components/table/utils/table.js +2 -0
  437. package/lib/components/table/utils/table.js.map +1 -0
  438. package/lib/components/tree/index.d.ts +15 -0
  439. package/lib/components/tree/index.js +2 -0
  440. package/lib/components/tree/index.js.map +1 -0
  441. package/lib/components/tree/src/tree.d.ts +668 -0
  442. package/lib/components/tree/src/tree.js +2 -0
  443. package/lib/components/tree/src/tree.js.map +1 -0
  444. package/lib/components/tree/src/tree.props.d.ts +81 -0
  445. package/lib/components/tree/src/tree.props.js +2 -0
  446. package/lib/components/tree/src/tree.props.js.map +1 -0
  447. package/lib/components/tree/src/tree.type.d.ts +36 -0
  448. package/lib/components/tree/src/tree.type.js +2 -0
  449. package/lib/components/tree/src/tree.type.js.map +1 -0
  450. package/lib/components/treeSelect/index.d.ts +14 -0
  451. package/lib/components/treeSelect/index.js +2 -0
  452. package/lib/components/treeSelect/index.js.map +1 -0
  453. package/lib/components/treeSelect/src/treeSelect.d.ts +1063 -0
  454. package/lib/components/treeSelect/src/treeSelect.js +2 -0
  455. package/lib/components/treeSelect/src/treeSelect.js.map +1 -0
  456. package/lib/components/upload/index.d.ts +15 -0
  457. package/lib/components/upload/index.js +2 -0
  458. package/lib/components/upload/index.js.map +1 -0
  459. package/lib/components/upload/src/upload.d.ts +525 -0
  460. package/lib/components/upload/src/upload.js +2 -0
  461. package/lib/components/upload/src/upload.js.map +1 -0
  462. package/lib/components/upload/src/useUpload.d.ts +65 -0
  463. package/lib/components/upload/src/useUpload.js +2 -0
  464. package/lib/components/upload/src/useUpload.js.map +1 -0
  465. package/lib/components/upload/utils/upload.d.ts +30 -0
  466. package/lib/components/upload/utils/upload.js +2 -0
  467. package/lib/components/upload/utils/upload.js.map +1 -0
  468. package/lib/components/uploadImage/index.d.ts +14 -0
  469. package/lib/components/uploadImage/index.js +2 -0
  470. package/lib/components/uploadImage/index.js.map +1 -0
  471. package/lib/components/uploadImage/src/uploadImage.d.ts +575 -0
  472. package/lib/components/uploadImage/src/uploadImage.js +2 -0
  473. package/lib/components/uploadImage/src/uploadImage.js.map +1 -0
  474. package/lib/components/uploadImages/index.d.ts +14 -0
  475. package/lib/components/uploadImages/index.js +2 -0
  476. package/lib/components/uploadImages/index.js.map +1 -0
  477. package/lib/components/uploadImages/src/uploadImages.d.ts +544 -0
  478. package/lib/components/uploadImages/src/uploadImages.js +2 -0
  479. package/lib/components/uploadImages/src/uploadImages.js.map +1 -0
  480. package/lib/constants/index.d.ts +2 -0
  481. package/lib/constants/index.js +2 -0
  482. package/lib/constants/index.js.map +1 -0
  483. package/lib/constants/mime.d.ts +61 -0
  484. package/lib/constants/mime.js +2 -0
  485. package/lib/constants/mime.js.map +1 -0
  486. package/lib/constants/regex.d.ts +78 -0
  487. package/lib/constants/regex.js +2 -0
  488. package/lib/constants/regex.js.map +1 -0
  489. package/lib/directive.d.ts +2 -0
  490. package/lib/directive.js +2 -0
  491. package/lib/directive.js.map +1 -0
  492. package/lib/directives/click-copy/index.d.ts +2 -0
  493. package/lib/directives/click-copy/index.js +2 -0
  494. package/lib/directives/click-copy/index.js.map +1 -0
  495. package/lib/directives/click-debounce/index.d.ts +2 -0
  496. package/lib/directives/click-debounce/index.js +2 -0
  497. package/lib/directives/click-debounce/index.js.map +1 -0
  498. package/lib/directives/click-draggable/index.d.ts +2 -0
  499. package/lib/directives/click-draggable/index.js +2 -0
  500. package/lib/directives/click-draggable/index.js.map +1 -0
  501. package/lib/directives/click-icon-copy/index.d.ts +2 -0
  502. package/lib/directives/click-icon-copy/index.js +2 -0
  503. package/lib/directives/click-icon-copy/index.js.map +1 -0
  504. package/lib/directives/click-longpress/index.d.ts +2 -0
  505. package/lib/directives/click-longpress/index.js +2 -0
  506. package/lib/directives/click-longpress/index.js.map +1 -0
  507. package/lib/directives/click-throttle/index.d.ts +2 -0
  508. package/lib/directives/click-throttle/index.js +2 -0
  509. package/lib/directives/click-throttle/index.js.map +1 -0
  510. package/lib/directives/index.d.ts +6 -0
  511. package/lib/directives/index.js +2 -0
  512. package/lib/directives/index.js.map +1 -0
  513. package/lib/element-plus.d.ts +2 -0
  514. package/lib/element-plus.js +2 -0
  515. package/lib/element-plus.js.map +1 -0
  516. package/lib/hooks/index.d.ts +3 -0
  517. package/lib/hooks/index.js +2 -0
  518. package/lib/hooks/index.js.map +1 -0
  519. package/lib/hooks/use-loading/index.d.ts +4 -0
  520. package/lib/hooks/use-loading/index.js +2 -0
  521. package/lib/hooks/use-loading/index.js.map +1 -0
  522. package/lib/hooks/use-overlay/index.d.ts +4 -0
  523. package/lib/hooks/use-overlay/index.js +2 -0
  524. package/lib/hooks/use-overlay/index.js.map +1 -0
  525. package/lib/hooks/use-screenFull/index.d.ts +7 -0
  526. package/lib/hooks/use-screenFull/index.js +2 -0
  527. package/lib/hooks/use-screenFull/index.js.map +1 -0
  528. package/lib/index.d.ts +14 -0
  529. package/lib/index.es.d.ts +6 -0
  530. package/lib/index.js +2 -0
  531. package/lib/index.js.map +1 -0
  532. package/lib/make-installer.d.ts +6 -0
  533. package/lib/make-installer.js +2 -0
  534. package/lib/make-installer.js.map +1 -0
  535. package/lib/version.d.ts +1 -0
  536. package/lib/version.js +2 -0
  537. package/lib/version.js.map +1 -0
  538. package/package.json +139 -26
  539. package/styles/common/animation.scss +46 -0
  540. package/styles/common/common.scss +44 -0
  541. package/styles/common/loading.scss +29 -0
  542. package/styles/common/overlay.scss +12 -0
  543. package/styles/components/carNumber.scss +44 -0
  544. package/styles/components/contextMenu.scss +34 -0
  545. package/styles/components/dialog.scss +88 -0
  546. package/styles/components/drawer.scss +87 -0
  547. package/styles/components/form.scss +44 -0
  548. package/styles/components/formItemTip.scss +7 -0
  549. package/styles/components/image.scss +19 -0
  550. package/styles/components/selectPage.scss +74 -0
  551. package/styles/components/selectV2.scss +22 -0
  552. package/styles/components/table.scss +439 -0
  553. package/styles/components/tree.scss +100 -0
  554. package/styles/components/uploadImage.scss +61 -0
  555. package/styles/components/uploadImages.scss +9 -0
  556. package/styles/index.scss +18 -0
  557. package/types/components.d.ts +36 -0
  558. package/types/env.d.ts +17 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableSearchFormItem.mjs","sources":["../../../../../packages/components/table/src/tableSearchFormItem.tsx"],"sourcesContent":["import { Fragment, defineComponent, h, inject, reactive, resolveComponent } from \"vue\";\nimport { ElOption } from \"element-plus\";\nimport { dateUtil, definePropType, makeSlots, useRender, withDefineType } from \"@fast-china/utils\";\nimport { isString } from \"lodash-unified\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport { enumMapKey, tableStateKey } from \"./useTable\";\nimport type { FaTableColumnCtx, FaTableDefaultSlotsResult, FaTableEnumColumnCtx } from \"./table.type\";\n\n/**\n * 已知默认支持的el组件:\n * \tel-input\n * \tel-input-number\n * \tel-select\n * \tel-select-v2\n * \tel-tree-select\n * \tel-cascader\n * \tel-date-picker\n * \tel-time-picker\n * \tel-time-select,\n * \tel-switch\n * 已知组件的默认props\n * clearable:el-input,el-input-number,el-select,el-select-v2,el-tree-select,el-cascader,el-date-picker,el-time-picker,el-time-select\n * filterable:el-select,el-select-v2,el-tree-select\n * placeholder-请输入:el-input,el-input-number\n * placeholder-请选择:el-select,el-select-v2,el-tree-select,el-cascader\n * defaultTime:el-date-picker\n * shortcuts:el-date-picker\n * options:el-select-v2,el-cascader\n * data:el-tree-select\n * startPlaceholder:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * endPlaceholder:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * rangeSeparator:\n * \t\tel-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * \t\tel-time-picker isRange is true\n * unlinkPanels:el-date-picker type in [\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"]\n * 后缀 -select Select -page Page -cascader Cascader 结尾的\n * \tplaceholder:请选择\n * 后缀 -input Input 结尾的\n * \tplaceholder:请输入\n */\n\nconst clearableEls = [\n\t\"el-input\",\n\t\"ELInput\",\n\t\"el-input-number\",\n\t\"ELInputNumber\",\n\t\"el-select\",\n\t\"ElSelect\",\n\t\"el-select-v2\",\n\t\"ElSelectV2\",\n\t\"el-tree-select\",\n\t\"ElTreeSelect\",\n\t\"el-cascader\",\n\t\"ElCascader\",\n\t\"el-date-picker\",\n\t\"ElDatePicker\",\n\t\"el-time-picker\",\n\t\"ElTimePicker\",\n\t\"el-time-select\",\n\t\"ElTimeSelect\",\n];\n\ntype FaTableSearchFormItemSlots = {\n\t[key: string]: FaTableDefaultSlotsResult & {\n\t\tcolumn?: FaTableColumnCtx;\n\t\tsearch?: () => void;\n\t};\n};\n\nconst filterableEls = [\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-tree-select\", \"ElTreeSelect\"];\n\nconst inputPlaceholderEls = [\"el-input\", \"ELInput\", \"el-input-number\", \"ELInputNumber\"];\n\nconst selectPlaceholderEls = [\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-tree-select\", \"ElTreeSelect\", \"el-cascader\", \"ElCascader\"];\n\nexport default defineComponent({\n\tname: \"FaTableSearchFormItem\",\n\tprops: {\n\t\t/** @description 列配置 */\n\t\tcolumn: {\n\t\t\ttype: definePropType<FaTableColumnCtx>(Object),\n\t\t\trequired: true,\n\t\t\t/** 这里的 default 不知道为什么,不写识别不出来类型 */\n\t\t\tdefault: {} as FaTableColumnCtx,\n\t\t},\n\t\t/** @description 搜索 */\n\t\tsearch: {\n\t\t\ttype: definePropType<() => void>(Function),\n\t\t\trequired: true,\n\t\t},\n\t},\n\tslots: makeSlots<FaTableSearchFormItemSlots>(),\n\tsetup(props, { slots }) {\n\t\tconst tableState = inject(tableStateKey);\n\t\tconst enumMap = inject(enumMapKey);\n\n\t\tconst state = reactive({\n\t\t\tenumDict: withDefineType<FaTableEnumColumnCtx[]>([]),\n\t\t\toldValue: undefined,\n\t\t});\n\n\t\tconst handleUpdateModelValue = (value: any): void => {\n\t\t\tif (isString(value)) {\n\t\t\t\t// 如果是字符串,则去除前后空格\n\t\t\t\tvalue = value.trim();\n\t\t\t}\n\t\t\tstate.oldValue = tableState.searchParam[props.column?.search?.key ?? props.column.prop];\n\t\t\ttableState.searchParam[props.column?.search?.key ?? props.column.prop] = value;\n\t\t};\n\n\t\tconst handleChange = (value: any): void => {\n\t\t\t// 改变触发的时候只有不等于的时候才会去刷新\n\t\t\t// if (!isEqual(value, state.oldValue)) {\n\t\t\tprops.search();\n\t\t\t// }\n\t\t};\n\n\t\tconst handleDefaultProps = (): any => {\n\t\t\tconst search = props.column.search;\n\t\t\tconst defaultProps: any = {};\n\t\t\tif (clearableEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.clearable = true;\n\t\t\t}\n\t\t\tif (filterableEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.filterable = true;\n\t\t\t}\n\t\t\tif (inputPlaceholderEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.placeholder = \"请输入\";\n\t\t\t}\n\t\t\tif (selectPlaceholderEls.includes(search?.el)) {\n\t\t\t\tdefaultProps.placeholder = \"请选择\";\n\t\t\t}\n\t\t\tif ([\"el-date-picker\", \"ElDatePicker\"].includes(search?.el)) {\n\t\t\t\tdefaultProps.unlinkPanels = true;\n\t\t\t\tif ([\"datetimerange\", \"daterange\", \"monthrange\", \"yearrange\"].includes(search?.props?.type)) {\n\t\t\t\t\tdefaultProps.defaultTime = dateUtil.getDefaultTime();\n\t\t\t\t\tdefaultProps.shortcuts = dateUtil.getShortcuts();\n\t\t\t\t\tdefaultProps.rangeSeparator = \"至\";\n\t\t\t\t\tdefaultProps.startPlaceholder = \"开始时间\";\n\t\t\t\t\tdefaultProps.endPlaceholder = \"结束时间\";\n\t\t\t\t} else {\n\t\t\t\t\tdefaultProps.defaultTime = dateUtil.getSimpleTime();\n\t\t\t\t\tdefaultProps.shortcuts = dateUtil.getSimpleShortcuts();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ([\"el-time-picker\", \"ElTimePicker\"].includes(search?.el) && search?.props?.isRange) {\n\t\t\t\tdefaultProps.rangeSeparator = \"至\";\n\t\t\t\tdefaultProps.startPlaceholder = \"开始时间\";\n\t\t\t\tdefaultProps.endPlaceholder = \"结束时间\";\n\t\t\t}\n\t\t\tif (\n\t\t\t\t[\"el-select\", \"ElSelect\", \"el-select-v2\", \"ElSelectV2\", \"el-cascader\", \"ElCascader\", \"el-tree-select\", \"ElTreeSelect\"].includes(\n\t\t\t\t\tsearch?.el\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tlet enumData;\n\t\t\t\tif (props.column.enum && isString(props.column.enum)) {\n\t\t\t\t\tenumData = enumMap.get(props.column.enum);\n\t\t\t\t} else {\n\t\t\t\t\tenumData = enumMap.get(props.column.prop ?? props.column.search?.key);\n\t\t\t\t}\n\t\t\t\tenumData = enumData.filter((f: any) => f?.show !== false);\n\t\t\t\tstate.enumDict = enumData ?? [];\n\t\t\t}\n\t\t\tif ([\"el-select-v2\", \"ElSelectV2\", \"el-cascader\", \"ElCascader\"].includes(search?.el)) {\n\t\t\t\tdefaultProps.options = state.enumDict;\n\t\t\t}\n\t\t\tif ([\"el-tree-select\", \"ElTreeSelect\"].includes(search?.el)) {\n\t\t\t\tdefaultProps.data = state.enumDict;\n\t\t\t}\n\n\t\t\treturn defaultProps;\n\t\t};\n\n\t\tuseRender(() => (\n\t\t\t<Fragment>\n\t\t\t\t{props.column.search?.el &&\n\t\t\t\t\th(\n\t\t\t\t\t\tresolveComponent(props.column.search.el),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...handleDefaultProps(),\n\t\t\t\t\t\t\t...props.column.search.props,\n\t\t\t\t\t\t\tmodelValue: tableState.searchParam[props.column?.search?.key ?? props.column.prop],\n\t\t\t\t\t\t\t\"onUpdate:modelValue\": handleUpdateModelValue,\n\t\t\t\t\t\t\tonChange: handleChange,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\t\t\t[\"el-select\", \"ElSelect\"].includes(props.column.search.el)\n\t\t\t\t\t\t\t\t\t? state.enumDict.map((selData: any, index: number) =>\n\t\t\t\t\t\t\t\t\t\t\th(ElOption, {\n\t\t\t\t\t\t\t\t\t\t\t\tkey: index,\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: selData[props.column.search.props?.label ?? \"label\"],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: selData[props.column.search.props?.value ?? \"value\"],\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled: selData[props.column.search.props?.disabled ?? \"disabled\"],\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t: slots.default &&\n\t\t\t\t\t\t\t\t\t\tslots.default({\n\t\t\t\t\t\t\t\t\t\t\tcolumn: props.column,\n\t\t\t\t\t\t\t\t\t\t\tsearch: props.search,\n\t\t\t\t\t\t\t\t\t\t\t...getTableDefaultSlots(tableState),\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t</Fragment>\n\t\t));\n\t},\n});\n"],"names":["clearableEls","filterableEls","inputPlaceholderEls","selectPlaceholderEls","name","props","column","type","definePropType","Object","required","default","search","Function","slots","makeSlots","setup","tableState","inject","tableStateKey","enumMap","enumMapKey","state","reactive","enumDict","withDefineType","oldValue","undefined","handleUpdateModelValue","value","isString","trim","searchParam","key","prop","handleChange","handleDefaultProps","defaultProps","includes","el","clearable","filterable","placeholder","unlinkPanels","defaultTime","dateUtil","getDefaultTime","shortcuts","getShortcuts","rangeSeparator","startPlaceholder","endPlaceholder","getSimpleTime","getSimpleShortcuts","isRange","enumData","enum","get","filter","f","show","options","data","useRender","_createVNode","_Fragment","h","resolveComponent","modelValue","onChange","map","selData","index","ElOption","label","disabled","getTableDefaultSlots"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { makeSlots } from '@fast-china/utils';
2
+ import { PagedInput } from './page.type';
3
+ import { FaTableSlots, faTableEmits, faTableProps } from './table';
4
+ import { FaTableState } from './table.state';
5
+ import { FaTableColumnCtx, FaTableEnumColumnCtx } from './table.type';
6
+ import { TableInstance } from 'element-plus';
7
+ import { ExtractPropTypes, InjectionKey, SetupContext } from 'vue';
8
+ export declare const tableStateKey: InjectionKey<FaTableState>;
9
+ export declare const enumMapKey: InjectionKey<Map<string, FaTableEnumColumnCtx[]>>;
10
+ type TableSetupContext = SetupContext<typeof faTableEmits, ReturnType<typeof makeSlots<FaTableSlots>>>;
11
+ export declare const useTable: (props: ExtractPropTypes<typeof faTableProps>, slots: TableSetupContext["slots"], emit: TableSetupContext["emit"]) => {
12
+ _globalSize: import('vue').ComputedRef<"" | "small" | "default" | "large">;
13
+ state: FaTableState;
14
+ elementRef: import('vue').Ref<HTMLElement, HTMLElement>;
15
+ tableRef: import('vue').Ref<TableInstance, TableInstance>;
16
+ handleTableColumnAutoWidth: () => void;
17
+ getRequestParam: () => PagedInput;
18
+ loadTableColumns: () => void;
19
+ handleSizeChange: (pageSize: number) => void;
20
+ handlePaginationChange: (val: number) => void;
21
+ defaultSearchTime: () => void;
22
+ tableSearch: () => Promise<void>;
23
+ tableReset: () => Promise<void>;
24
+ doRender: () => Promise<void>;
25
+ doLoading: (loadingFunction: () => void | Promise<void>, loadingText?: string) => void;
26
+ handleCustomCellClick: (emitName: string, { row, column, $index }: {
27
+ row: any;
28
+ column: FaTableColumnCtx;
29
+ $index: number;
30
+ }) => void;
31
+ };
32
+ export {};
@@ -0,0 +1,374 @@
1
+ import { ref, reactive, provide, computed, nextTick, watch } from "vue";
2
+ import { useGlobalSize, dayjs } from "element-plus";
3
+ import { consoleError, clickUtil, execFunction } from "@fast-china/utils";
4
+ import { isFunction, isArray } from "lodash-unified";
5
+ import { tableUtil } from "../utils/table.mjs";
6
+ import { getTableDefaultSlots } from "./table.type.mjs";
7
+ const tableStateKey = Symbol("tableState");
8
+ const enumMapKey = Symbol("enumMap");
9
+ const useTable = (props, slots, emit) => {
10
+ const _globalSize = useGlobalSize();
11
+ const elementRef = ref();
12
+ const tableRef = ref();
13
+ const enumMap = reactive(/* @__PURE__ */ new Map());
14
+ provide(enumMapKey, enumMap);
15
+ const state = reactive({
16
+ loading: false,
17
+ loadingText: "加载中...",
18
+ orgColumns: [],
19
+ tableColumns: computed(() => state.orgColumns.filter((f) => f.prop && !f.pureSearch)),
20
+ searchColumns: computed(
21
+ () => state.orgColumns.filter((f) => f.pureSearch || f.search).sort((a, b) => {
22
+ return a.search?.order - b.search?.order;
23
+ })
24
+ ),
25
+ spanColumns: computed(() => [
26
+ ...state.orgColumns.filter((f) => f.spanProp).map((col) => {
27
+ return {
28
+ prop: col?.prop,
29
+ spanProp: col?.spanProp
30
+ };
31
+ }),
32
+ ...props.props.span ? [
33
+ { prop: "__table-index", spanProp: props.props.span },
34
+ { prop: "__table-selection", spanProp: props.props.span },
35
+ { prop: "__table-operation", spanProp: props.props.span }
36
+ ] : []
37
+ ]),
38
+ tableData: [],
39
+ tableSpanData: computed(() => {
40
+ if (state.spanColumns?.length > 0 && state.tableData?.length > 0) {
41
+ const result = [];
42
+ state.spanColumns.forEach((item) => {
43
+ result[item.prop] = new Array(state.tableData.length).fill(1, 0, 1).fill(0, 1);
44
+ result[`${item.prop}-index`] = 0;
45
+ });
46
+ for (let i = 1; i < state.tableData.length; i++) {
47
+ state.spanColumns.forEach((item) => {
48
+ if (state.tableData[i][item.spanProp] === state.tableData[i - 1][item.spanProp]) {
49
+ result[item.prop][result[`${item.prop}-index`]]++;
50
+ } else {
51
+ result[`${item.prop}-index`] = i;
52
+ result[item.prop][i] = 1;
53
+ }
54
+ });
55
+ }
56
+ return result;
57
+ }
58
+ return [];
59
+ }),
60
+ tablePagination: {
61
+ pageIndex: 1,
62
+ pageSize: 20,
63
+ totalRows: 0
64
+ },
65
+ initParam: {},
66
+ searchParam: {},
67
+ searchValueUpdate: "",
68
+ searchForm: props.searchForm,
69
+ hideImage: computed(() => props.hideImage),
70
+ selected: false,
71
+ selectedList: [],
72
+ selectedListIds: computed(() => state.selectedList.map((item) => isFunction(props.rowKey) ? props.rowKey(item) : item[props.rowKey])),
73
+ indeterminateSelectedListIds: [],
74
+ responseConfig: void 0,
75
+ operationColumnWidth: computed(() => {
76
+ const findAutoCol = state.autoColumnWidth.find((f) => f.prop === "__table-operation");
77
+ if (findAutoCol) {
78
+ return `${findAutoCol.width}px`;
79
+ }
80
+ switch (_globalSize.value) {
81
+ case "large":
82
+ case "default":
83
+ return "54px";
84
+ case "small":
85
+ return "42px";
86
+ default:
87
+ return "auto";
88
+ }
89
+ }),
90
+ imagePreview: false,
91
+ previewList: [],
92
+ tableWidth: void 0,
93
+ tableHeight: void 0,
94
+ autoColumnWidth: []
95
+ });
96
+ provide(tableStateKey, state);
97
+ const handleTableColumnAutoWidth = () => {
98
+ state.loading = true;
99
+ state.loadingText = "加载中...";
100
+ state.autoColumnWidth = [];
101
+ const autoWidthColumns = state.tableColumns.filter((f) => f.autoWidth);
102
+ if (slots?.operation) {
103
+ autoWidthColumns.push({
104
+ prop: "__table-operation"
105
+ });
106
+ }
107
+ if (autoWidthColumns?.length > 0) {
108
+ const otherWidth = _globalSize.value === "default" ? 25 : 17;
109
+ nextTick(() => {
110
+ const tableDom = document.querySelector(`.fa-table__${props.tableKey}`);
111
+ if (tableDom) {
112
+ autoWidthColumns.forEach((item) => {
113
+ const headerColumnDom = tableDom.querySelector(`.__fa-table__auto-width-column__cell-header__${item?.prop}`);
114
+ const cellColumnDoms = tableDom.querySelectorAll(`.__fa-table__auto-width-column__cell__${item?.prop}`);
115
+ let maxWidth = 0;
116
+ if (headerColumnDom) {
117
+ maxWidth = Math.ceil(headerColumnDom.scrollWidth) + otherWidth;
118
+ if (item?.sortable) {
119
+ maxWidth += 24;
120
+ }
121
+ }
122
+ cellColumnDoms.forEach((cellDom) => {
123
+ const curWidth = Math.ceil(cellDom.scrollWidth) + otherWidth;
124
+ if (curWidth > maxWidth) {
125
+ maxWidth = curWidth;
126
+ }
127
+ });
128
+ const findInfo = state.autoColumnWidth.find((f) => f.prop === item?.prop);
129
+ if (findInfo) {
130
+ findInfo.width = Math.max(findInfo.width, maxWidth);
131
+ } else {
132
+ state.autoColumnWidth.push({
133
+ prop: item?.prop,
134
+ width: maxWidth
135
+ });
136
+ }
137
+ });
138
+ }
139
+ });
140
+ }
141
+ state.loading = false;
142
+ };
143
+ const handleTableData = (data) => {
144
+ if (props.treeData) {
145
+ const result = [];
146
+ data.forEach((row) => {
147
+ const rowList = row[props.props.children];
148
+ if (isArray(rowList)) {
149
+ rowList.forEach((cRow) => result.push({ ...row, ...cRow }));
150
+ } else {
151
+ result.push({ ...row, ...rowList || {} });
152
+ }
153
+ });
154
+ return result;
155
+ } else {
156
+ return data;
157
+ }
158
+ };
159
+ const getRequestParam = () => {
160
+ const params = { ...state.searchParam, ...props.pagination ? state.tablePagination : {} };
161
+ delete params.totalRows;
162
+ return params;
163
+ };
164
+ const loadData = async () => {
165
+ state.loading = true;
166
+ state.loadingText = "加载中...";
167
+ if (props.requestApi) {
168
+ const params = getRequestParam();
169
+ emit("refresh", params);
170
+ let pageData = [];
171
+ try {
172
+ const resData = await props.requestApi(params);
173
+ props.dataCallback && props.dataCallback(resData);
174
+ if (props.pagination) {
175
+ const pageRes = resData;
176
+ pageData = pageRes.rows;
177
+ Object.assign(state.tablePagination, {
178
+ pageIndex: pageRes.pageIndex,
179
+ pageSize: pageRes.pageSize,
180
+ totalRows: pageRes.totalRows
181
+ });
182
+ } else {
183
+ pageData = resData;
184
+ Object.assign(state.tablePagination, {
185
+ pageIndex: 1,
186
+ pageSize: 0,
187
+ totalRows: pageData.length
188
+ });
189
+ }
190
+ state.tableData = handleTableData(pageData);
191
+ } catch (error) {
192
+ consoleError("FaTable", error);
193
+ state.tableData = [];
194
+ } finally {
195
+ state.loading = false;
196
+ }
197
+ } else {
198
+ emit("refresh", { searchValue: state.searchParam.searchValue });
199
+ let _value = handleTableData(props.data);
200
+ _value = _value.filter((f) => {
201
+ if (!state.searchParam.searchValue) return true;
202
+ return state.tableColumns.some((col) => {
203
+ return f[col.prop]?.toString()?.toLowerCase().includes(state.searchParam.searchValue?.toLowerCase());
204
+ });
205
+ });
206
+ if (state.searchParam.sortList?.length > 0) {
207
+ _value = _value.sort(tableUtil.arrayDynamicSort(state.searchParam.sortList));
208
+ }
209
+ if (props.pagination) {
210
+ Object.assign(state.tablePagination, {
211
+ totalRows: _value.length
212
+ });
213
+ const pageStart = (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;
214
+ const pageEnd = pageStart + state.tablePagination.pageSize;
215
+ state.tableData = _value.slice(pageStart, pageEnd);
216
+ } else {
217
+ state.tableData = _value;
218
+ Object.assign(state.tablePagination, {
219
+ pageIndex: 1,
220
+ pageSize: 0,
221
+ totalRows: _value.length
222
+ });
223
+ }
224
+ state.loading = false;
225
+ }
226
+ handleTableColumnAutoWidth();
227
+ };
228
+ const loadTableColumns = () => {
229
+ let columns = props.columns;
230
+ columns.forEach((col) => {
231
+ if (col.pureSearch || col.search) {
232
+ col.search.key ??= col.prop;
233
+ col.search.label ??= col.label;
234
+ if (col.search.defaultValue) {
235
+ state.searchParam[col.search.key] = col.search.defaultValue;
236
+ }
237
+ }
238
+ });
239
+ columns = columns.sort((a, b) => {
240
+ return a?.order - b?.order;
241
+ });
242
+ state.orgColumns = tableUtil.flatColumns(columns, enumMap);
243
+ };
244
+ const handleSizeChange = (pageSize) => {
245
+ state.tablePagination.pageIndex = 1;
246
+ state.tablePagination.pageSize = pageSize;
247
+ emit("sizeChange", pageSize);
248
+ emit("paginationChange", 1, pageSize);
249
+ loadData();
250
+ };
251
+ const handlePaginationChange = (val) => {
252
+ state.tablePagination.pageIndex = val;
253
+ emit("sizeChange", state.tablePagination.pageSize);
254
+ emit("paginationChange", val, state.tablePagination.pageSize);
255
+ loadData();
256
+ };
257
+ const updatedTotalParam = () => {
258
+ const newSearchParam = {};
259
+ for (const key in state.searchParam) {
260
+ if (state.searchParam[key] || state.searchParam[key] === false || state.searchParam[key] === 0) {
261
+ newSearchParam[key] = state.searchParam[key];
262
+ } else if (!state.searchParam[key]) {
263
+ delete state.searchParam[key];
264
+ }
265
+ }
266
+ Object.assign(state.searchParam, newSearchParam);
267
+ };
268
+ const defaultSearchTime = () => {
269
+ if (props.hideSearchTime) {
270
+ state.searchParam.searchTimeList = void 0;
271
+ } else {
272
+ const end = /* @__PURE__ */ new Date();
273
+ const start = /* @__PURE__ */ new Date();
274
+ switch (props.dataSearchRange) {
275
+ case "Past1D":
276
+ start.setDate(start.getDate() - 1);
277
+ break;
278
+ case "Past3D":
279
+ start.setDate(start.getDate() - 3);
280
+ break;
281
+ case "Past1W":
282
+ start.setDate(start.getDate() - 7);
283
+ break;
284
+ case "Past1M":
285
+ start.setMonth(start.getMonth() - 1);
286
+ break;
287
+ case "Past3M":
288
+ start.setMonth(start.getMonth() - 3);
289
+ break;
290
+ case "Past6M":
291
+ start.setMonth(start.getMonth() - 6);
292
+ break;
293
+ case "Past1Y":
294
+ start.setFullYear(start.getFullYear() - 1);
295
+ break;
296
+ case "Past3Y":
297
+ start.setFullYear(start.getFullYear() - 3);
298
+ break;
299
+ }
300
+ state.searchParam.searchTimeList = [dayjs(start).format("YYYY-MM-DD 00:00:00"), dayjs(end).format("YYYY-MM-DD 23:59:59")];
301
+ }
302
+ };
303
+ const tableSearch = async () => {
304
+ state.tablePagination.pageIndex = 1;
305
+ updatedTotalParam();
306
+ await loadData();
307
+ };
308
+ const tableReset = async () => {
309
+ state.tablePagination.pageIndex = 1;
310
+ state.searchParam = {};
311
+ defaultSearchTime();
312
+ Object.keys(state.initParam ?? {}).forEach((key) => {
313
+ state.searchParam[key] = state.initParam[key];
314
+ });
315
+ emit("reset", state.searchParam);
316
+ await loadData();
317
+ };
318
+ const doRender = async () => {
319
+ state.orgColumns = [];
320
+ state.autoColumnWidth = [];
321
+ state.tableData = [];
322
+ await clickUtil.debounceAsync(async () => {
323
+ loadTableColumns();
324
+ await tableSearch();
325
+ }, 300);
326
+ };
327
+ const doLoading = (loadingFunction, loadingText = "加载中...") => {
328
+ state.loading = true;
329
+ state.loadingText = loadingText;
330
+ execFunction(loadingFunction).then().catch((error) => {
331
+ consoleError("FaTable", error);
332
+ }).finally(() => {
333
+ state.loading = false;
334
+ });
335
+ };
336
+ const handleCustomCellClick = (emitName, { row, column, $index }) => {
337
+ emit("customCellClick", emitName, { row, column, $index, ...getTableDefaultSlots(state) });
338
+ };
339
+ watch(
340
+ () => props.tableKey,
341
+ async () => {
342
+ await doRender();
343
+ }
344
+ );
345
+ watch(
346
+ () => props.searchForm,
347
+ (newValue) => {
348
+ state.searchForm = newValue;
349
+ }
350
+ );
351
+ return {
352
+ _globalSize,
353
+ state,
354
+ elementRef,
355
+ tableRef,
356
+ handleTableColumnAutoWidth,
357
+ getRequestParam,
358
+ loadTableColumns,
359
+ handleSizeChange,
360
+ handlePaginationChange,
361
+ defaultSearchTime,
362
+ tableSearch,
363
+ tableReset,
364
+ doRender,
365
+ doLoading,
366
+ handleCustomCellClick
367
+ };
368
+ };
369
+ export {
370
+ enumMapKey,
371
+ tableStateKey,
372
+ useTable
373
+ };
374
+ //# sourceMappingURL=useTable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTable.mjs","sources":["../../../../../packages/components/table/src/useTable.ts"],"sourcesContent":["import { computed, nextTick, provide, reactive, ref, watch } from \"vue\";\nimport { dayjs, useGlobalSize } from \"element-plus\";\nimport { clickUtil, consoleError, execFunction, type makeSlots } from \"@fast-china/utils\";\nimport { isArray, isFunction } from \"lodash-unified\";\nimport { tableUtil } from \"../utils/table\";\nimport { getTableDefaultSlots } from \"./table.type\";\nimport type { PagedInput, PagedResult } from \"./page.type\";\nimport type { FaTableSlots, faTableEmits, faTableProps } from \"./table\";\nimport type { FaTableState } from \"./table.state\";\nimport type { FaTableColumnCtx, FaTableEnumColumnCtx } from \"./table.type\";\nimport type { TableInstance } from \"element-plus\";\nimport type { ExtractPropTypes, InjectionKey, SetupContext } from \"vue\";\n\nexport const tableStateKey: InjectionKey<FaTableState> = Symbol(\"tableState\");\nexport const enumMapKey: InjectionKey<Map<string, FaTableEnumColumnCtx[]>> = Symbol(\"enumMap\");\n\ntype TableSetupContext = SetupContext<typeof faTableEmits, ReturnType<typeof makeSlots<FaTableSlots>>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/explicit-module-boundary-types\nexport const useTable = (props: ExtractPropTypes<typeof faTableProps>, slots: TableSetupContext[\"slots\"], emit: TableSetupContext[\"emit\"]) => {\n\tconst _globalSize = useGlobalSize();\n\n\tconst elementRef = ref<HTMLElement>();\n\tconst tableRef = ref<TableInstance>();\n\n\t/**\n\t * 定义 enumMap 存储 enum 值(避免异步请求无法格式化单元格内容 || 无法填充搜索下拉选择)\n\t */\n\tconst enumMap = reactive(new Map<string, FaTableEnumColumnCtx[]>());\n\tprovide(enumMapKey, enumMap);\n\n\tconst state: FaTableState = reactive({\n\t\tloading: false,\n\t\tloadingText: \"加载中...\",\n\t\torgColumns: [],\n\t\ttableColumns: computed(() => state.orgColumns.filter((f) => f.prop && !f.pureSearch)),\n\t\tsearchColumns: computed(() =>\n\t\t\tstate.orgColumns\n\t\t\t\t.filter((f) => f.pureSearch || f.search)\n\t\t\t\t.sort((a, b) => {\n\t\t\t\t\treturn a.search?.order - b.search?.order;\n\t\t\t\t})\n\t\t),\n\t\tspanColumns: computed(() => [\n\t\t\t...state.orgColumns\n\t\t\t\t.filter((f) => f.spanProp)\n\t\t\t\t.map((col) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tprop: col?.prop,\n\t\t\t\t\t\tspanProp: col?.spanProp,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t...(props.props.span\n\t\t\t\t? [\n\t\t\t\t\t\t{ prop: \"__table-index\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-selection\", spanProp: props.props.span },\n\t\t\t\t\t\t{ prop: \"__table-operation\", spanProp: props.props.span },\n\t\t\t\t\t]\n\t\t\t\t: []),\n\t\t]),\n\t\ttableData: [],\n\t\ttableSpanData: computed(() => {\n\t\t\tif (state.spanColumns?.length > 0 && state.tableData?.length > 0) {\n\t\t\t\tconst result = [];\n\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\tresult[item.prop] = new Array(state.tableData.length).fill(1, 0, 1).fill(0, 1);\n\t\t\t\t\tresult[`${item.prop}-index`] = 0;\n\t\t\t\t});\n\t\t\t\tfor (let i = 1; i < state.tableData.length; i++) {\n\t\t\t\t\tstate.spanColumns.forEach((item) => {\n\t\t\t\t\t\tif (state.tableData[i][item.spanProp] === state.tableData[i - 1][item.spanProp]) {\n\t\t\t\t\t\t\tresult[item.prop][result[`${item.prop}-index`]]++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult[`${item.prop}-index`] = i;\n\t\t\t\t\t\t\tresult[item.prop][i] = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn [];\n\t\t}),\n\t\ttablePagination: {\n\t\t\tpageIndex: 1,\n\t\t\tpageSize: 20,\n\t\t\ttotalRows: 0,\n\t\t},\n\t\tinitParam: {},\n\t\tsearchParam: {},\n\t\tsearchValueUpdate: \"\",\n\t\tsearchForm: props.searchForm,\n\t\thideImage: computed(() => props.hideImage),\n\t\tselected: false,\n\t\tselectedList: [],\n\t\tselectedListIds: computed(() => state.selectedList.map((item) => (isFunction(props.rowKey) ? props.rowKey(item) : item[props.rowKey]))),\n\t\tindeterminateSelectedListIds: [],\n\t\tresponseConfig: undefined,\n\t\toperationColumnWidth: computed(() => {\n\t\t\tconst findAutoCol = state.autoColumnWidth.find((f) => f.prop === \"__table-operation\");\n\t\t\tif (findAutoCol) {\n\t\t\t\treturn `${findAutoCol.width}px`;\n\t\t\t}\n\t\t\tswitch (_globalSize.value) {\n\t\t\t\tcase \"large\":\n\t\t\t\tcase \"default\":\n\t\t\t\t\treturn \"54px\";\n\t\t\t\tcase \"small\":\n\t\t\t\t\treturn \"42px\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn \"auto\";\n\t\t\t}\n\t\t}),\n\t\timagePreview: false,\n\t\tpreviewList: [],\n\t\ttableWidth: undefined,\n\t\ttableHeight: undefined,\n\t\tautoColumnWidth: [],\n\t});\n\n\tprovide(tableStateKey, state);\n\n\tconst handleTableColumnAutoWidth = (): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tstate.autoColumnWidth = [];\n\t\tconst autoWidthColumns = state.tableColumns.filter((f) => f.autoWidth);\n\t\tif (slots?.operation) {\n\t\t\t// 操作列自动宽度\n\t\t\tautoWidthColumns.push({\n\t\t\t\tprop: \"__table-operation\",\n\t\t\t});\n\t\t}\n\t\tif (autoWidthColumns?.length > 0) {\n\t\t\t// padding24/16 + border1\n\t\t\tconst otherWidth = _globalSize.value === \"default\" ? 25 : 17;\n\t\t\tnextTick(() => {\n\t\t\t\tconst tableDom = document.querySelector(`.fa-table__${props.tableKey}`);\n\t\t\t\tif (tableDom) {\n\t\t\t\t\tautoWidthColumns.forEach((item) => {\n\t\t\t\t\t\tconst headerColumnDom = tableDom.querySelector(`.__fa-table__auto-width-column__cell-header__${item?.prop}`);\n\t\t\t\t\t\tconst cellColumnDoms = tableDom.querySelectorAll(`.__fa-table__auto-width-column__cell__${item?.prop}`);\n\t\t\t\t\t\tlet maxWidth = 0;\n\t\t\t\t\t\tif (headerColumnDom) {\n\t\t\t\t\t\t\tmaxWidth = Math.ceil(headerColumnDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (item?.sortable) {\n\t\t\t\t\t\t\t\tmaxWidth += 24;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcellColumnDoms.forEach((cellDom) => {\n\t\t\t\t\t\t\tconst curWidth = Math.ceil(cellDom.scrollWidth) + otherWidth;\n\t\t\t\t\t\t\tif (curWidth > maxWidth) {\n\t\t\t\t\t\t\t\tmaxWidth = curWidth;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst findInfo = state.autoColumnWidth.find((f) => f.prop === item?.prop);\n\t\t\t\t\t\tif (findInfo) {\n\t\t\t\t\t\t\tfindInfo.width = Math.max(findInfo.width, maxWidth);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tstate.autoColumnWidth.push({\n\t\t\t\t\t\t\t\tprop: item?.prop,\n\t\t\t\t\t\t\t\twidth: maxWidth,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tstate.loading = false;\n\t};\n\n\tconst handleTableData = (data: any[]): any[] => {\n\t\tif (props.treeData) {\n\t\t\tconst result: any[] = [];\n\t\t\tdata.forEach((row) => {\n\t\t\t\tconst rowList = row[props.props.children];\n\t\t\t\tif (isArray(rowList)) {\n\t\t\t\t\t// 如果 rowList 是数组,遍历并合并每个子项\n\t\t\t\t\trowList.forEach((cRow) => result.push({ ...row, ...cRow }));\n\t\t\t\t} else {\n\t\t\t\t\tresult.push({ ...row, ...(rowList || {}) });\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn data;\n\t\t}\n\t};\n\n\tconst getRequestParam = (): PagedInput => {\n\t\tconst params = { ...state.searchParam, ...(props.pagination ? state.tablePagination : {}) };\n\t\t// 删除总条数\n\t\tdelete params.totalRows;\n\t\treturn params;\n\t};\n\n\tconst loadData = async (): Promise<void> => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = \"加载中...\";\n\t\tif (props.requestApi) {\n\t\t\tconst params = getRequestParam();\n\t\t\temit(\"refresh\", params);\n\t\t\tlet pageData = [];\n\t\t\ttry {\n\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t// 数据回调\n\t\t\t\tprops.dataCallback && props.dataCallback(resData);\n\t\t\t\t// 解析 API 接口返回的分页数据(如果有分页更新分页信息)\n\t\t\t\tif (props.pagination) {\n\t\t\t\t\tconst pageRes = resData as PagedResult;\n\t\t\t\t\tpageData = pageRes.rows;\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: pageRes.pageIndex,\n\t\t\t\t\t\tpageSize: pageRes.pageSize,\n\t\t\t\t\t\ttotalRows: pageRes.totalRows,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tpageData = resData as any[];\n\t\t\t\t\t// 更新分页信息\n\t\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\t\tpageSize: 0,\n\t\t\t\t\t\ttotalRows: pageData.length,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tstate.tableData = handleTableData(pageData);\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t\tstate.tableData = [];\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t} else {\n\t\t\temit(\"refresh\", { searchValue: state.searchParam.searchValue });\n\t\t\tlet _value = handleTableData(props.data);\n\t\t\t_value = _value.filter((f) => {\n\t\t\t\tif (!state.searchParam.searchValue) return true;\n\t\t\t\treturn state.tableColumns.some((col) => {\n\t\t\t\t\treturn f[col.prop]?.toString()?.toLowerCase().includes(state.searchParam.searchValue?.toLowerCase());\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (state.searchParam.sortList?.length > 0) {\n\t\t\t\t_value = _value.sort(tableUtil.arrayDynamicSort(state.searchParam.sortList));\n\t\t\t}\n\t\t\tif (props.pagination) {\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t\tconst pageStart = (state.tablePagination.pageIndex - 1) * state.tablePagination.pageSize;\n\t\t\t\tconst pageEnd = pageStart + state.tablePagination.pageSize;\n\t\t\t\tstate.tableData = _value.slice(pageStart, pageEnd);\n\t\t\t} else {\n\t\t\t\tstate.tableData = _value;\n\t\t\t\t// 更新分页信息\n\t\t\t\tObject.assign(state.tablePagination, {\n\t\t\t\t\tpageIndex: 1,\n\t\t\t\t\tpageSize: 0,\n\t\t\t\t\ttotalRows: _value.length,\n\t\t\t\t});\n\t\t\t}\n\t\t\tstate.loading = false;\n\t\t}\n\t\thandleTableColumnAutoWidth();\n\t};\n\n\tconst loadTableColumns = (): void => {\n\t\tlet columns: FaTableColumnCtx[] = props.columns;\n\t\t// 默认值处理\n\t\tcolumns.forEach((col) => {\n\t\t\t// 处理搜索项的 key 和 label\n\t\t\tif (col.pureSearch || col.search) {\n\t\t\t\tcol.search.key ??= col.prop;\n\t\t\t\tcol.search.label ??= col.label;\n\t\t\t\t// 处理默认值\n\t\t\t\tif (col.search.defaultValue) {\n\t\t\t\t\tstate.searchParam[col.search.key] = col.search.defaultValue;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// 排序\n\t\tcolumns = columns.sort((a, b) => {\n\t\t\treturn a?.order - b?.order;\n\t\t});\n\n\t\t// TODO:这里的扁平化暂时没用到\n\t\tstate.orgColumns = tableUtil.flatColumns(columns, enumMap);\n\t};\n\n\tconst handleSizeChange = (pageSize: number): void => {\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tstate.tablePagination.pageSize = pageSize;\n\t\temit(\"sizeChange\", pageSize);\n\t\temit(\"paginationChange\", 1, pageSize);\n\t\tloadData();\n\t};\n\tconst handlePaginationChange = (val: number): void => {\n\t\tstate.tablePagination.pageIndex = val;\n\t\temit(\"sizeChange\", state.tablePagination.pageSize);\n\t\temit(\"paginationChange\", val, state.tablePagination.pageSize);\n\t\tloadData();\n\t};\n\n\tconst updatedTotalParam = (): void => {\n\t\t// 处理查询参数,可以给查询参数加自定义前缀操作\n\t\tconst newSearchParam = {};\n\t\t// 防止手动清空输入框携带参数(这里可以自定义查询参数前缀)\n\t\tfor (const key in state.searchParam) {\n\t\t\t// * 某些情况下参数为 false/0 也应该携带参数\n\t\t\tif (state.searchParam[key] || state.searchParam[key] === false || state.searchParam[key] === 0) {\n\t\t\t\tnewSearchParam[key] = state.searchParam[key];\n\t\t\t}\n\t\t\t// 处理某些情况下如果为空字符串,其实是不需要传到后端的\n\t\t\telse if (!state.searchParam[key]) {\n\t\t\t\tdelete state.searchParam[key];\n\t\t\t}\n\t\t}\n\t\tObject.assign(state.searchParam, newSearchParam);\n\t};\n\n\tconst defaultSearchTime = (): void => {\n\t\tif (props.hideSearchTime) {\n\t\t\tstate.searchParam.searchTimeList = undefined;\n\t\t} else {\n\t\t\tconst end = new Date();\n\t\t\tconst start = new Date();\n\t\t\tswitch (props.dataSearchRange) {\n\t\t\t\tcase \"Past1D\":\n\t\t\t\t\tstart.setDate(start.getDate() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3D\":\n\t\t\t\t\tstart.setDate(start.getDate() - 3);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1W\":\n\t\t\t\t\tstart.setDate(start.getDate() - 7);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 3);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past6M\":\n\t\t\t\t\tstart.setMonth(start.getMonth() - 6);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past1Y\":\n\t\t\t\t\tstart.setFullYear(start.getFullYear() - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Past3Y\":\n\t\t\t\t\tstart.setFullYear(start.getFullYear() - 3);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tstate.searchParam.searchTimeList = [dayjs(start).format(\"YYYY-MM-DD 00:00:00\"), dayjs(end).format(\"YYYY-MM-DD 23:59:59\")];\n\t\t}\n\t};\n\n\tconst tableSearch = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\tupdatedTotalParam();\n\t\tawait loadData();\n\t};\n\n\tconst tableReset = async (): Promise<void> => {\n\t\t// 重置到第一页\n\t\tstate.tablePagination.pageIndex = 1;\n\t\t// 清除搜索条件\n\t\tstate.searchParam = {};\n\t\tdefaultSearchTime();\n\t\t// 重置搜索表单的时候,如果有默认搜索参数,则重置默认的搜索参数\n\t\tObject.keys(state.initParam ?? {}).forEach((key) => {\n\t\t\tstate.searchParam[key] = state.initParam[key];\n\t\t});\n\t\temit(\"reset\", state.searchParam);\n\t\tawait loadData();\n\t};\n\n\tconst doRender = async (): Promise<void> => {\n\t\tstate.orgColumns = [];\n\t\tstate.autoColumnWidth = [];\n\t\tstate.tableData = [];\n\t\tawait clickUtil.debounceAsync(async () => {\n\t\t\tloadTableColumns();\n\t\t\tawait tableSearch();\n\t\t}, 300);\n\t};\n\n\tconst doLoading = (loadingFunction: () => void | Promise<void>, loadingText = \"加载中...\"): void => {\n\t\tstate.loading = true;\n\t\tstate.loadingText = loadingText;\n\t\texecFunction(loadingFunction)\n\t\t\t.then()\n\t\t\t.catch((error) => {\n\t\t\t\tconsoleError(\"FaTable\", error);\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tstate.loading = false;\n\t\t\t});\n\t};\n\n\tconst handleCustomCellClick = (emitName: string, { row, column, $index }: { row: any; column: FaTableColumnCtx; $index: number }): void => {\n\t\temit(\"customCellClick\", emitName, { row, column, $index, ...getTableDefaultSlots(state) });\n\t};\n\n\twatch(\n\t\t() => props.tableKey,\n\t\tasync () => {\n\t\t\tawait doRender();\n\t\t}\n\t);\n\n\twatch(\n\t\t() => props.searchForm,\n\t\t(newValue) => {\n\t\t\tstate.searchForm = newValue;\n\t\t}\n\t);\n\n\treturn {\n\t\t_globalSize,\n\t\tstate,\n\t\telementRef,\n\t\ttableRef,\n\t\thandleTableColumnAutoWidth,\n\t\tgetRequestParam,\n\t\tloadTableColumns,\n\t\thandleSizeChange,\n\t\thandlePaginationChange,\n\t\tdefaultSearchTime,\n\t\ttableSearch,\n\t\ttableReset,\n\t\tdoRender,\n\t\tdoLoading,\n\t\thandleCustomCellClick,\n\t};\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { FaTableColumnCtx, FaTableEnumColumnCtx, FaTableEnumColumnType, PagedSortInput } from '../..';
2
+ /**
3
+ * 表格工具类
4
+ */
5
+ export declare const tableUtil: {
6
+ /**
7
+ * @description 处理无数据情况
8
+ * @param {String} callValue 需要处理的值
9
+ */
10
+ formatValue(callValue: any): any;
11
+ /**
12
+ * @description 处理 prop 为多级嵌套的情况(列如: prop:user.name)
13
+ * @param {Object} row 当前行数据
14
+ * @param {String} prop 当前 prop
15
+ */
16
+ handleRowAccordingToProp(row: any, prop: string): any;
17
+ /**
18
+ * @description 处理 prop,当 prop 为多级嵌套时 ==> 返回最后一级 prop
19
+ * @param {String} prop 当前 prop
20
+ */
21
+ handleProp(prop: string): string;
22
+ /**
23
+ * @description 根据枚举列表查询当需要的数据(如果指定了 label 和 value 的 key值,会自动识别格式化)
24
+ * @param {String} callValue 当前单元格值
25
+ * @param {Array} enumData 字典列表
26
+ * @param {Array} fieldNames 指定 label && value 的 key 值
27
+ * @param {String} type 过滤类型(目前只有 tag)
28
+ */
29
+ filterEnum(callValue: any, enumData: FaTableEnumColumnCtx[], fieldNames?: {
30
+ label: string;
31
+ value: string;
32
+ }, type?: "tag"): string;
33
+ /**
34
+ * 数组动态排序
35
+ */
36
+ arrayDynamicSort(sortList: PagedSortInput[]): (a: any, b: any) => number;
37
+ /**
38
+ * 设置枚举
39
+ */
40
+ setEnumMap(columnEnum: FaTableEnumColumnType, prop: string, enumMap: Map<string, FaTableEnumColumnCtx[]>): void;
41
+ /**
42
+ * 扁平化 columns
43
+ */
44
+ flatColumns(columns: FaTableColumnCtx[], enumMap?: Map<string, FaTableEnumColumnCtx[]>): FaTableColumnCtx[];
45
+ };
@@ -0,0 +1,122 @@
1
+ import { isString, isFunction, isArray } from "lodash-unified";
2
+ const tableUtil = {
3
+ /**
4
+ * @description 处理无数据情况
5
+ * @param {String} callValue 需要处理的值
6
+ */
7
+ formatValue(callValue) {
8
+ if (isArray(callValue)) return callValue.length ? callValue.join(` , `) : null;
9
+ return callValue;
10
+ },
11
+ /**
12
+ * @description 处理 prop 为多级嵌套的情况(列如: prop:user.name)
13
+ * @param {Object} row 当前行数据
14
+ * @param {String} prop 当前 prop
15
+ */
16
+ handleRowAccordingToProp(row, prop) {
17
+ if (!prop.includes(".")) return row[prop] ?? null;
18
+ prop.split(".").forEach((item) => row = row[item]);
19
+ return row;
20
+ },
21
+ /**
22
+ * @description 处理 prop,当 prop 为多级嵌套时 ==> 返回最后一级 prop
23
+ * @param {String} prop 当前 prop
24
+ */
25
+ handleProp(prop) {
26
+ const propArr = prop.split(".");
27
+ if (propArr.length === 1) return prop;
28
+ return propArr[propArr.length - 1];
29
+ },
30
+ /**
31
+ * @description 根据枚举列表查询当需要的数据(如果指定了 label 和 value 的 key值,会自动识别格式化)
32
+ * @param {String} callValue 当前单元格值
33
+ * @param {Array} enumData 字典列表
34
+ * @param {Array} fieldNames 指定 label && value 的 key 值
35
+ * @param {String} type 过滤类型(目前只有 tag)
36
+ */
37
+ filterEnum(callValue, enumData, fieldNames, type) {
38
+ const value = fieldNames?.value ?? "value";
39
+ const label = fieldNames?.label ?? "label";
40
+ let filterData = {};
41
+ if (isArray(enumData)) {
42
+ filterData = enumData.find((item) => item[value] === callValue);
43
+ }
44
+ if (type === "tag") {
45
+ return filterData?.type ?? "primary";
46
+ }
47
+ return filterData ? filterData[label] : null;
48
+ },
49
+ /**
50
+ * 数组动态排序
51
+ */
52
+ arrayDynamicSort(sortList) {
53
+ return function(a, b) {
54
+ if (sortList && sortList.length > 0) {
55
+ for (const condition of sortList) {
56
+ const property = condition.enField;
57
+ const order = condition.mode;
58
+ const aValue = a[property];
59
+ const bValue = b[property];
60
+ if (typeof aValue === "string" && typeof bValue === "string") {
61
+ if (order === "ascending") {
62
+ const comparison = aValue.localeCompare(bValue, "zh-CN");
63
+ if (comparison !== 0) {
64
+ return comparison;
65
+ }
66
+ } else if (order === "descending") {
67
+ const comparison = bValue.localeCompare(aValue, "zh-CN");
68
+ if (comparison !== 0) {
69
+ return comparison;
70
+ }
71
+ }
72
+ } else {
73
+ if (order === "ascending") {
74
+ if (aValue < bValue) return -1;
75
+ if (aValue > bValue) return 1;
76
+ } else if (order === "descending") {
77
+ if (aValue > bValue) return -1;
78
+ if (aValue < bValue) return 1;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ return 0;
84
+ };
85
+ },
86
+ /**
87
+ * 设置枚举
88
+ */
89
+ setEnumMap(columnEnum, prop, enumMap) {
90
+ if (!columnEnum) return;
91
+ if (isFunction(columnEnum)) {
92
+ columnEnum().then((res) => {
93
+ enumMap.set(prop, res);
94
+ });
95
+ } else if (isArray(columnEnum)) {
96
+ enumMap.set(prop, columnEnum);
97
+ }
98
+ },
99
+ /**
100
+ * 扁平化 columns
101
+ */
102
+ flatColumns(columns, enumMap) {
103
+ const flatArr = [];
104
+ columns.forEach((col) => {
105
+ if (col._children?.length) {
106
+ flatArr.push(...this.flatColumns(col._children));
107
+ }
108
+ flatArr.push(col);
109
+ col.show = col.show ?? true;
110
+ let enumKey = col.prop ?? col.search?.key;
111
+ if (col.enum && isString(col.enum)) {
112
+ enumKey = col.enum;
113
+ }
114
+ this.setEnumMap(col.enum, enumKey, enumMap);
115
+ });
116
+ return flatArr.filter((item) => !item._children?.length);
117
+ }
118
+ };
119
+ export {
120
+ tableUtil
121
+ };
122
+ //# sourceMappingURL=table.mjs.map