@done-coding/admin-core 0.18.0 → 0.19.0

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 (342) hide show
  1. package/README.md +77 -1
  2. package/es/_virtual/_plugin-vue_export-helper.mjs +7 -6
  3. package/es/bridge/config-hook.mjs +49 -37
  4. package/es/bridge/index.mjs +152 -109
  5. package/es/bridge/layout.mjs +45 -31
  6. package/es/bridge/plugin.mjs +22 -12
  7. package/es/bridge/route.mjs +59 -50
  8. package/es/bridge/state.mjs +54 -39
  9. package/es/bridge/storage.mjs +18 -8
  10. package/es/bridge/theme/index.mjs +200 -97
  11. package/es/bridge/theme/persist.mjs +11 -7
  12. package/es/bridge/theme/system-dark.mjs +13 -6
  13. package/es/components/app-layout/AppAside.vue.mjs +4 -4
  14. package/es/components/app-layout/AppAside.vue2.mjs +37 -30
  15. package/es/components/app-layout/AppBody.vue.mjs +4 -4
  16. package/es/components/app-layout/AppBody.vue2.mjs +97 -60
  17. package/es/components/app-layout/AppBreadcrumb.vue.mjs +4 -4
  18. package/es/components/app-layout/AppBreadcrumb.vue2.mjs +59 -38
  19. package/es/components/app-layout/AppCollapseToggle.vue.mjs +4 -4
  20. package/es/components/app-layout/AppCollapseToggle.vue2.mjs +51 -42
  21. package/es/components/app-layout/AppFooter.vue.mjs +4 -4
  22. package/es/components/app-layout/AppFooter.vue2.mjs +15 -12
  23. package/es/components/app-layout/AppHeader.vue.mjs +4 -4
  24. package/es/components/app-layout/AppHeader.vue2.mjs +81 -58
  25. package/es/components/app-layout/AppLayout.vue.mjs +4 -4
  26. package/es/components/app-layout/AppLayout.vue2.mjs +148 -112
  27. package/es/components/app-layout/AppPage.vue.mjs +4 -4
  28. package/es/components/app-layout/AppPage.vue2.mjs +254 -197
  29. package/es/components/app-layout/AppShell.vue.mjs +44 -42
  30. package/es/components/app-layout/AppShell.vue2.mjs +2 -2
  31. package/es/components/app-layout/AppSidebar.vue.mjs +4 -4
  32. package/es/components/app-layout/AppSidebar.vue2.mjs +76 -59
  33. package/es/components/app-layout/AppTheme.vue.mjs +4 -4
  34. package/es/components/app-layout/AppTheme.vue2.mjs +69 -57
  35. package/es/components/app-layout/app-page-geometry.mjs +44 -42
  36. package/es/components/app-layout/keep-alive.mjs +27 -19
  37. package/es/components/app-layout/viewport.mjs +4 -3
  38. package/es/components/data-view/DataListView.vue.mjs +4 -4
  39. package/es/components/data-view/DataListView.vue2.mjs +133 -93
  40. package/es/components/data-view/DataListViewItem.vue.mjs +4 -4
  41. package/es/components/data-view/DataListViewItem.vue2.mjs +11 -9
  42. package/es/components/data-view/utils.mjs +36 -34
  43. package/es/components/display/ActionBtn.vue.mjs +94 -71
  44. package/es/components/display/ActionBtn.vue2.mjs +2 -2
  45. package/es/components/display/ActionBtnGroup.vue.mjs +54 -48
  46. package/es/components/display/ActionBtnGroup.vue2.mjs +2 -2
  47. package/es/components/display/ActionConfirm.vue.mjs +4 -4
  48. package/es/components/display/ActionConfirm.vue2.mjs +116 -92
  49. package/es/components/display/BooleanTag.vue.mjs +24 -18
  50. package/es/components/display/BooleanTag.vue2.mjs +2 -2
  51. package/es/components/display/HeightProvider.vue.mjs +37 -27
  52. package/es/components/display/HeightProvider.vue2.mjs +2 -2
  53. package/es/components/display/TabsHeader.vue.mjs +4 -4
  54. package/es/components/display/TabsHeader.vue2.mjs +86 -57
  55. package/es/components/display/TabsMain.vue.mjs +156 -125
  56. package/es/components/display/TabsMain.vue2.mjs +2 -2
  57. package/es/components/display/TabsNaturalFlow.vue.mjs +15 -11
  58. package/es/components/display/TabsNaturalFlow.vue2.mjs +2 -2
  59. package/es/components/display/TabsRefineFlow.vue.mjs +55 -42
  60. package/es/components/display/TabsRefineFlow.vue2.mjs +2 -2
  61. package/es/components/display/TabsTile.vue.mjs +4 -4
  62. package/es/components/display/TabsTile.vue2.mjs +204 -146
  63. package/es/components/display/WatchSize.vue.mjs +50 -30
  64. package/es/components/display/WatchSize.vue2.mjs +2 -2
  65. package/es/components/display/use-tabs-query-sync.mjs +21 -17
  66. package/es/components/form/FormItem.vue.mjs +4 -4
  67. package/es/components/form/FormItem.vue2.mjs +183 -121
  68. package/es/components/form/FormItemNestForm.vue.mjs +4 -4
  69. package/es/components/form/FormItemNestForm.vue2.mjs +38 -34
  70. package/es/components/form/FormItemNestFormList.vue.mjs +4 -4
  71. package/es/components/form/FormItemNestFormList.vue2.mjs +135 -106
  72. package/es/components/form/FormMain.vue.mjs +4 -4
  73. package/es/components/form/FormMain.vue2.mjs +226 -139
  74. package/es/components/form/FormRadioGroup.vue.mjs +67 -52
  75. package/es/components/form/FormRadioGroup.vue2.mjs +2 -2
  76. package/es/components/form/FormSearch.vue.mjs +4 -4
  77. package/es/components/form/FormSearch.vue2.mjs +194 -156
  78. package/es/components/form/FormSelect.vue.mjs +69 -42
  79. package/es/components/form/FormSelect.vue2.mjs +2 -2
  80. package/es/components/form/FormSubmitBtn.vue.mjs +30 -25
  81. package/es/components/form/FormSubmitBtn.vue2.mjs +2 -2
  82. package/es/components/form/FormSubmitPanel.vue.mjs +4 -4
  83. package/es/components/form/FormSubmitPanel.vue2.mjs +129 -96
  84. package/es/components/form/FormTree.vue.mjs +19 -16
  85. package/es/components/form/FormTree.vue2.mjs +2 -2
  86. package/es/components/form/FormVerifyCode.vue.mjs +58 -41
  87. package/es/components/form/FormVerifyCode.vue2.mjs +2 -2
  88. package/es/components/form/FormVerifyImage.vue.mjs +4 -4
  89. package/es/components/form/FormVerifyImage.vue2.mjs +62 -40
  90. package/es/components/form/form-search-utils.mjs +83 -52
  91. package/es/components/form/nest-form-item-list.mjs +63 -55
  92. package/es/components/form/nest-form-item.mjs +30 -30
  93. package/es/components/form/nest-registry.mjs +4 -4
  94. package/es/components/form/use-form-submit.mjs +18 -15
  95. package/es/components/form/use-layout-by-container.mjs +23 -15
  96. package/es/components/form/use-nest-form-list.mjs +19 -16
  97. package/es/components/form/use-nest-form.mjs +37 -28
  98. package/es/components/form/use-nest-layout-scale.mjs +11 -10
  99. package/es/components/form/utils.mjs +233 -145
  100. package/es/components/list-page/ListPage.vue.mjs +4 -4
  101. package/es/components/list-page/ListPage.vue2.mjs +313 -207
  102. package/es/components/list-page/use-sticky.mjs +45 -33
  103. package/es/components/menu/MenuItemSub.vue.mjs +47 -43
  104. package/es/components/menu/MenuItemSub.vue2.mjs +2 -2
  105. package/es/components/menu/MenuTree.vue.mjs +84 -61
  106. package/es/components/menu/MenuTree.vue2.mjs +2 -2
  107. package/es/components/misc/AutoRefresh.vue.mjs +4 -4
  108. package/es/components/misc/AutoRefresh.vue2.mjs +78 -53
  109. package/es/components/misc/AutoRefreshGroup.vue.mjs +4 -4
  110. package/es/components/misc/AutoRefreshGroup.vue2.mjs +54 -51
  111. package/es/components/misc/SelectModule.vue.mjs +54 -45
  112. package/es/components/misc/SelectModule.vue2.mjs +2 -2
  113. package/es/components/misc/TriggerAutoImport.vue.mjs +7 -5
  114. package/es/components/misc/TriggerAutoImport.vue2.mjs +2 -2
  115. package/es/components/modal/ModalConfirm.vue.mjs +4 -4
  116. package/es/components/modal/ModalConfirm.vue2.mjs +160 -125
  117. package/es/components/modal/ModalDetail.vue.mjs +50 -39
  118. package/es/components/modal/ModalDetail.vue2.mjs +2 -2
  119. package/es/components/modal/ModalForm.vue.mjs +63 -52
  120. package/es/components/modal/ModalForm.vue2.mjs +2 -2
  121. package/es/components/modal/ModalPorter.vue.mjs +51 -36
  122. package/es/components/modal/ModalPorter.vue2.mjs +2 -2
  123. package/es/components/modal/ModalShelf.vue.mjs +38 -28
  124. package/es/components/modal/ModalShelf.vue2.mjs +2 -2
  125. package/es/components/modal/modal-shelf-core.mjs +52 -36
  126. package/es/components/modal/modal-shelf-hierarchy.mjs +11 -9
  127. package/es/components/panel/PanelEditSwitch.vue.mjs +4 -4
  128. package/es/components/panel/PanelEditSwitch.vue2.mjs +88 -66
  129. package/es/components/panel/PanelItem.vue.mjs +4 -4
  130. package/es/components/panel/PanelItem.vue2.mjs +103 -77
  131. package/es/components/panel/PanelItemNestForm.vue.mjs +4 -4
  132. package/es/components/panel/PanelItemNestForm.vue2.mjs +61 -52
  133. package/es/components/panel/PanelItemNestPanel.vue.mjs +22 -20
  134. package/es/components/panel/PanelItemNestPanel.vue2.mjs +2 -2
  135. package/es/components/panel/PanelMain.vue.mjs +4 -4
  136. package/es/components/panel/PanelMain.vue2.mjs +92 -74
  137. package/es/components/panel/nest-panel-form.mjs +44 -38
  138. package/es/components/panel/nest-panel-item.mjs +18 -17
  139. package/es/components/slot-layout/SlotLayoutFlowAside.vue.mjs +4 -4
  140. package/es/components/slot-layout/SlotLayoutFlowAside.vue2.mjs +55 -42
  141. package/es/components/slot-layout/SlotLayoutTemplate.vue.mjs +11 -9
  142. package/es/components/slot-layout/SlotLayoutTemplate.vue2.mjs +2 -2
  143. package/es/components/table/TableMain.vue.mjs +4 -4
  144. package/es/components/table/TableMain.vue2.mjs +378 -275
  145. package/es/components/table/TableSkeleton.vue.mjs +4 -4
  146. package/es/components/table/TableSkeleton.vue2.mjs +95 -74
  147. package/es/components/table/TableToolbar.vue.mjs +4 -4
  148. package/es/components/table/TableToolbar.vue2.mjs +170 -154
  149. package/es/components/table/ToolbarButtons.vue.mjs +12 -10
  150. package/es/components/table/ToolbarButtons.vue2.mjs +2 -2
  151. package/es/components/table/constants.mjs +4 -3
  152. package/es/components/table/use-fill-height.mjs +12 -10
  153. package/es/components/table/use-table-skeleton.mjs +19 -15
  154. package/es/config/list-model.mjs +2 -2
  155. package/es/config/route.mjs +4 -3
  156. package/es/helpers/form.mjs +35 -25
  157. package/es/helpers/list-helper.mjs +59 -44
  158. package/es/hooks/activated.mjs +49 -33
  159. package/es/hooks/feel-size.mjs +39 -23
  160. package/es/hooks/menus-dispatch.mjs +68 -35
  161. package/es/hooks/timeout.mjs +29 -14
  162. package/es/hooks/use-breakpoint.mjs +35 -23
  163. package/es/hooks/use-channel-viewport-height.mjs +30 -20
  164. package/es/hooks/use-custom-breakpoint.mjs +48 -31
  165. package/es/hooks/use-observe-size.mjs +37 -20
  166. package/es/hooks/use-theme-apply.mjs +175 -124
  167. package/es/hooks/use-viewport-apply.mjs +39 -27
  168. package/es/index.mjs +239 -239
  169. package/es/inject/key.mjs +52 -41
  170. package/es/injectInfo.json.mjs +2 -2
  171. package/es/router/group-redirect.mjs +22 -16
  172. package/es/router/guard/index.mjs +26 -21
  173. package/es/router/guard/login.mjs +4 -2
  174. package/es/router/guard/permission.mjs +4 -2
  175. package/es/store/app.mjs +163 -123
  176. package/es/store/router-permission.mjs +75 -46
  177. package/es/store/user.mjs +100 -71
  178. package/es/style.css +769 -1
  179. package/es/utils/dom.mjs +20 -16
  180. package/es/utils/export.mjs +34 -18
  181. package/es/utils/id.mjs +5 -3
  182. package/es/utils/router.mjs +21 -14
  183. package/es/utils/theme-scale.mjs +50 -35
  184. package/es/utils/time.mjs +20 -14
  185. package/package.json +4 -3
  186. package/src/bridge/README.md +5 -0
  187. package/src/bridge/docs/README.md +72 -0
  188. package/src/components/README.md +84 -0
  189. package/src/components/app-layout/README.md +46 -0
  190. package/src/components/app-layout/docs/README-AppAside.md +69 -0
  191. package/src/components/app-layout/docs/README-AppBody.md +81 -0
  192. package/src/components/app-layout/docs/README-AppBreadcrumb.md +71 -0
  193. package/src/components/app-layout/docs/README-AppFooter.md +41 -0
  194. package/src/components/app-layout/docs/README-AppHeader.md +73 -0
  195. package/src/components/app-layout/docs/README-AppLayout.md +83 -0
  196. package/src/components/app-layout/docs/README-AppPage.md +80 -0
  197. package/src/components/app-layout/docs/README-AppSidebar.md +70 -0
  198. package/src/components/app-layout/docs/README-AppTheme.md +66 -0
  199. package/src/components/data-view/README.md +19 -0
  200. package/src/components/data-view/docs/README-DataListView.md +114 -0
  201. package/src/components/display/README.md +23 -0
  202. package/src/components/display/docs/README-ActionBtn.md +84 -0
  203. package/src/components/display/docs/README-ActionBtnGroup.md +96 -0
  204. package/src/components/display/docs/README-ActionConfirm.md +77 -0
  205. package/src/components/display/docs/README-BooleanTag.md +76 -0
  206. package/src/components/display/docs/README-HeightProvider.md +74 -0
  207. package/src/components/display/docs/README-TabsMain.md +99 -0
  208. package/src/components/display/docs/README-WatchSize.md +70 -0
  209. package/src/components/form/README.md +24 -0
  210. package/src/components/form/docs/README-FormItemNestForm.md +86 -0
  211. package/src/components/form/docs/README-FormItemNestFormList.md +93 -0
  212. package/src/components/form/docs/README-FormMain.md +101 -0
  213. package/src/components/form/docs/README-FormSearch.md +89 -0
  214. package/src/components/form/docs/README-FormSubmitBtn.md +72 -0
  215. package/src/components/form/docs/README-FormSubmitPanel.md +97 -0
  216. package/src/components/list-page/README.md +16 -0
  217. package/src/components/list-page/docs/README-ListPage.md +136 -0
  218. package/src/components/menu/README.md +19 -0
  219. package/src/components/menu/docs/README-MenuItemSub.md +53 -0
  220. package/src/components/menu/docs/README-MenuTree.md +76 -0
  221. package/src/components/misc/README.md +21 -0
  222. package/src/components/misc/docs/README-AutoRefresh.md +74 -0
  223. package/src/components/misc/docs/README-AutoRefreshGroup.md +74 -0
  224. package/src/components/misc/docs/README-SelectModule.md +72 -0
  225. package/src/components/modal/README.md +21 -0
  226. package/src/components/modal/docs/README-ModalConfirm.md +105 -0
  227. package/src/components/modal/docs/README-ModalDetail.md +103 -0
  228. package/src/components/modal/docs/README-ModalForm.md +97 -0
  229. package/src/components/modal/docs/README-ModalPorter.md +92 -0
  230. package/src/components/modal/docs/README-ModalShelf.md +115 -0
  231. package/src/components/panel/README.md +19 -0
  232. package/src/components/panel/docs/README-PanelMain.md +149 -0
  233. package/src/components/slot-layout/README.md +17 -0
  234. package/src/components/slot-layout/docs/README-SlotLayoutFlowAside.md +83 -0
  235. package/src/components/slot-layout/docs/README-SlotLayoutTemplate.md +73 -0
  236. package/src/components/table/README.md +17 -0
  237. package/src/components/table/docs/README-TableMain.md +140 -0
  238. package/src/hooks/README.md +5 -0
  239. package/src/hooks/docs/README.md +49 -0
  240. package/types/bridge/config-hook.d.ts +68 -0
  241. package/types/bridge/index.d.ts +411 -0
  242. package/types/bridge/layout.d.ts +40 -0
  243. package/types/bridge/plugin.d.ts +18 -0
  244. package/types/bridge/route.d.ts +20 -1
  245. package/types/bridge/state.d.ts +14 -0
  246. package/types/bridge/storage.d.ts +9 -0
  247. package/types/bridge/theme/index.d.ts +7 -0
  248. package/types/bridge/theme/persist.d.ts +12 -0
  249. package/types/bridge/theme/system-dark.d.ts +12 -0
  250. package/types/bridge/theme/types.d.ts +238 -0
  251. package/types/components/app-layout/AppAside.vue.d.ts +1 -0
  252. package/types/components/app-layout/AppCollapseToggle.vue.d.ts +3 -0
  253. package/types/components/app-layout/AppHeader.vue.d.ts +3 -0
  254. package/types/components/app-layout/AppLayout.vue.d.ts +12 -0
  255. package/types/components/app-layout/AppPage.vue.d.ts +17 -0
  256. package/types/components/app-layout/AppSidebar.vue.d.ts +2 -0
  257. package/types/components/app-layout/app-page-geometry.d.ts +48 -0
  258. package/types/components/app-layout/keep-alive.d.ts +17 -0
  259. package/types/components/app-layout/types.d.ts +125 -0
  260. package/types/components/app-layout/viewport.d.ts +28 -0
  261. package/types/components/data-view/DataListViewItem.vue.d.ts +8 -0
  262. package/types/components/data-view/index.d.ts +4 -0
  263. package/types/components/data-view/types.d.ts +42 -0
  264. package/types/components/data-view/utils.d.ts +3 -0
  265. package/types/components/display/TabsHeader.vue.d.ts +2 -0
  266. package/types/components/display/TabsMain.vue.d.ts +2 -0
  267. package/types/components/display/TabsRefineFlow.vue.d.ts +1 -0
  268. package/types/components/display/TabsTile.vue.d.ts +247 -12
  269. package/types/components/display/WatchSize.vue.d.ts +9 -0
  270. package/types/components/display/index.d.ts +37 -1
  271. package/types/components/display/types.d.ts +163 -0
  272. package/types/components/display/use-tabs-query-sync.d.ts +29 -0
  273. package/types/components/form/FormItemNestForm.vue.d.ts +5 -0
  274. package/types/components/form/FormItemNestFormList.vue.d.ts +17 -0
  275. package/types/components/form/FormVerifyCode.vue.d.ts +9 -0
  276. package/types/components/form/FormVerifyImage.vue.d.ts +1 -0
  277. package/types/components/form/form-search-utils.d.ts +34 -0
  278. package/types/components/form/nest-form-item-list.d.ts +28 -0
  279. package/types/components/form/nest-form-item.d.ts +21 -0
  280. package/types/components/form/nest-registry.d.ts +14 -0
  281. package/types/components/form/types.d.ts +208 -8
  282. package/types/components/form/use-form-submit.d.ts +13 -0
  283. package/types/components/form/use-layout-by-container.d.ts +23 -0
  284. package/types/components/form/use-nest-form-list.d.ts +13 -0
  285. package/types/components/form/use-nest-form.d.ts +15 -0
  286. package/types/components/form/use-nest-layout-scale.d.ts +12 -0
  287. package/types/components/form/utils.d.ts +56 -1
  288. package/types/components/list-page/ListPage.vue.d.ts +6 -0
  289. package/types/components/list-page/types.d.ts +50 -2
  290. package/types/components/list-page/use-sticky.d.ts +23 -0
  291. package/types/components/misc/index.d.ts +6 -1
  292. package/types/components/misc/types.d.ts +7 -0
  293. package/types/components/modal/ModalConfirm.vue.d.ts +29 -0
  294. package/types/components/modal/index.d.ts +7 -1
  295. package/types/components/modal/modal-shelf-core.d.ts +3 -0
  296. package/types/components/modal/modal-shelf-hierarchy.d.ts +4 -0
  297. package/types/components/modal/modal-shelf-types.d.ts +34 -0
  298. package/types/components/modal/types.d.ts +63 -2
  299. package/types/components/panel/PanelItemNestForm.vue.d.ts +6 -0
  300. package/types/components/panel/PanelItemNestPanel.vue.d.ts +5 -0
  301. package/types/components/panel/nest-panel-form.d.ts +21 -0
  302. package/types/components/panel/nest-panel-item.d.ts +14 -0
  303. package/types/components/panel/types.d.ts +52 -1
  304. package/types/components/slot-layout/SlotLayoutTemplate.vue.d.ts +21 -0
  305. package/types/components/slot-layout/types.d.ts +4 -0
  306. package/types/components/table/constants.d.ts +8 -0
  307. package/types/components/table/types.d.ts +140 -9
  308. package/types/components/table/use-fill-height.d.ts +14 -0
  309. package/types/components/table/use-table-skeleton.d.ts +16 -0
  310. package/types/config/list-model.d.ts +29 -0
  311. package/types/config/route.d.ts +2 -0
  312. package/types/helpers/form.d.ts +5 -0
  313. package/types/helpers/list-helper.d.ts +26 -0
  314. package/types/helpers/types.d.ts +11 -0
  315. package/types/hooks/activated.d.ts +23 -0
  316. package/types/hooks/feel-size.d.ts +2 -0
  317. package/types/hooks/menus-dispatch.d.ts +4 -0
  318. package/types/hooks/timeout.d.ts +4 -0
  319. package/types/hooks/use-channel-viewport-height.d.ts +8 -0
  320. package/types/hooks/use-custom-breakpoint.d.ts +19 -0
  321. package/types/hooks/use-observe-size.d.ts +29 -0
  322. package/types/hooks/use-theme-apply.d.ts +23 -0
  323. package/types/hooks/use-viewport-apply.d.ts +12 -0
  324. package/types/inject/key.d.ts +163 -0
  325. package/types/injectInfo.json.d.ts +1 -1
  326. package/types/router/group-redirect.d.ts +9 -0
  327. package/types/router/guard/index.d.ts +13 -0
  328. package/types/router/guard/login.d.ts +1 -0
  329. package/types/router/guard/permission.d.ts +1 -0
  330. package/types/router/guard/types.d.ts +3 -0
  331. package/types/store/app.d.ts +27 -0
  332. package/types/store/router-permission.d.ts +53 -0
  333. package/types/store/user.d.ts +24 -0
  334. package/types/types/dot-path.d.ts +8 -0
  335. package/types/types/route.d.ts +45 -0
  336. package/types/types/utility-types.d.ts +7 -0
  337. package/types/utils/dom.d.ts +22 -0
  338. package/types/utils/export.d.ts +16 -1
  339. package/types/utils/id.d.ts +1 -0
  340. package/types/utils/router.d.ts +2 -0
  341. package/types/utils/theme-scale.d.ts +31 -0
  342. package/types/utils/time.d.ts +1 -0
@@ -1,24 +1,25 @@
1
- import { defineComponent as Ce, useCssVars as xe, unref as l, useModel as V, useAttrs as He, ref as g, computed as f, markRaw as D, shallowRef as ke, onMounted as Ie, onActivated as Re, watch as p, openBlock as n, createElementBlock as S, normalizeClass as Pe, createBlock as c, withCtx as h, createVNode as G, mergeProps as d, createCommentVNode as Ve, resolveDynamicComponent as T, Fragment as H, renderList as Te, createSlots as ze, renderSlot as z, createTextVNode as E, toDisplayString as Y, normalizeProps as Ee, guardReactiveProps as Ae, withDirectives as Me, createElementVNode as Le, vShow as Ne, mergeModels as Z } from "vue";
2
- import Q from "lodash/cloneDeep";
3
- import W from "lodash/omit";
4
- import X from "lodash/set";
5
- import ee from "lodash/get";
6
- import Oe from "./TableToolbar.vue.mjs";
7
- import Be from "./TableSkeleton.vue.mjs";
8
- import { useTableSkeleton as Ke } from "./use-table-skeleton.mjs";
9
- import { useFillHeight as je } from "./use-fill-height.mjs";
10
- import $e from "../display/WatchSize.vue.mjs";
11
- import Je from "../data-view/DataListView.vue.mjs";
12
- import { ElTable as Fe, ElTableColumn as _e, ElEmpty as Ue, ElPagination as qe } from "element-plus";
13
- import { pickExportColumns as De } from "../../utils/export.mjs";
14
- import { useChannelViewportHeight as Ge } from "../../hooks/use-channel-viewport-height.mjs";
15
- import { APP_API_LIST_MODEL_KEY_CONFIG as k } from "../../config/list-model.mjs";
16
- const Ye = { class: "dc-table-main__pagination table-main-pagination" }, gt = /* @__PURE__ */ Ce({
1
+ import { defineComponent, useCssVars, unref, useModel, useAttrs, ref, computed, markRaw, shallowRef, onMounted, onActivated, watch, openBlock, createElementBlock, normalizeClass, createBlock, withCtx, createVNode, mergeProps, createCommentVNode, resolveDynamicComponent, Fragment, renderList, createSlots, renderSlot, createTextVNode, toDisplayString, normalizeProps, guardReactiveProps, withDirectives, createElementVNode, vShow, mergeModels } from "vue";
2
+ import _cloneDeep from "lodash/cloneDeep";
3
+ import _omit from "lodash/omit";
4
+ import _set from "lodash/set";
5
+ import _get from "lodash/get";
6
+ import TableToolbar from "./TableToolbar.vue.mjs";
7
+ import TableSkeleton from "./TableSkeleton.vue.mjs";
8
+ import { useTableSkeleton } from "./use-table-skeleton.mjs";
9
+ import { useFillHeight } from "./use-fill-height.mjs";
10
+ import _sfc_main$1 from "../display/WatchSize.vue.mjs";
11
+ import DataListView from "../data-view/DataListView.vue.mjs";
12
+ import { ElTable, ElTableColumn, ElEmpty, ElPagination } from "element-plus";
13
+ import { pickExportColumns } from "../../utils/export.mjs";
14
+ import { useChannelViewportHeight } from "../../hooks/use-channel-viewport-height.mjs";
15
+ import { APP_API_LIST_MODEL_KEY_CONFIG } from "../../config/list-model.mjs";
16
+ const _hoisted_1 = { class: "dc-table-main__pagination table-main-pagination" };
17
+ const _sfc_main = /* @__PURE__ */ defineComponent({
17
18
  __name: "TableMain",
18
- props: /* @__PURE__ */ Z({
19
- showPager: { type: Boolean, default: !0 },
19
+ props: /* @__PURE__ */ mergeModels({
20
+ showPager: { type: Boolean, default: true },
20
21
  showSwitchView: { type: Boolean },
21
- showToolbar: { type: Boolean, default: !0 },
22
+ showToolbar: { type: Boolean, default: true },
22
23
  toolbar: {},
23
24
  query: {},
24
25
  pageSizeInit: { default: 20 },
@@ -30,284 +31,386 @@ const Ye = { class: "dc-table-main__pagination table-main-pagination" }, gt = /*
30
31
  columns: {},
31
32
  maxHeight: {},
32
33
  headerColor: { default: "rgb(240, 240, 240)" },
33
- refine: { type: Boolean, default: !0 },
34
+ refine: { type: Boolean, default: true },
34
35
  refineReduceHeight: { default: 0 },
35
36
  injectInfo: {},
36
37
  dataViewMaxHeightMinValue: { default: 500 },
37
- skeleton: { type: Boolean, default: !0 },
38
+ skeleton: { type: Boolean, default: true },
38
39
  skeletonRows: {},
39
- fillHeight: { type: Boolean, default: !1 },
40
+ fillHeight: { type: Boolean, default: false },
40
41
  viewportHeight: {},
41
42
  parentChannel: {}
42
43
  }, {
43
- isAutoRefresh: { type: Boolean },
44
- isAutoRefreshModifiers: {},
45
- refreshInterval: {},
46
- refreshIntervalModifiers: {},
47
- customView: { type: Boolean, default: !1 },
48
- customViewModifiers: {}
44
+ "isAutoRefresh": { type: Boolean },
45
+ "isAutoRefreshModifiers": {},
46
+ "refreshInterval": {},
47
+ "refreshIntervalModifiers": {},
48
+ "customView": { type: Boolean, ...{ default: false } },
49
+ "customViewModifiers": {}
49
50
  }),
50
- emits: /* @__PURE__ */ Z(["pageChange", "pageSizeChange", "dataChange", "loadingChange", "pageInfoChange"], ["update:isAutoRefresh", "update:refreshInterval", "update:customView"]),
51
- setup(r, { expose: te, emit: ae }) {
52
- xe((e) => ({
53
- v0d0c522f: l(fe)
51
+ emits: /* @__PURE__ */ mergeModels(["pageChange", "pageSizeChange", "dataChange", "loadingChange", "pageInfoChange"], ["update:isAutoRefresh", "update:refreshInterval", "update:customView"]),
52
+ setup(__props, { expose: __expose, emit: __emit }) {
53
+ useCssVars((_ctx) => ({
54
+ "v0d0c522f": unref(fillMinHeightCss)
54
55
  }));
55
- const o = r, w = ae, A = V(r, "isAutoRefresh"), M = V(r, "refreshInterval"), y = V(r, "customView"), oe = He(), b = g([]), C = g(0), u = g(0), i = g(1), m = g(!1), I = g(!1), L = g([]), re = f(
56
+ const props = __props;
57
+ const emits = __emit;
58
+ const isAutoRefresh = useModel(__props, "isAutoRefresh");
59
+ const refreshInterval = useModel(__props, "refreshInterval");
60
+ const customView = useModel(__props, "customView");
61
+ const attrs = useAttrs();
62
+ const list = ref([]);
63
+ const total = ref(0);
64
+ const pageSize = ref(0);
65
+ const currentPage = ref(1);
66
+ const loading = ref(false);
67
+ const publicLoading = ref(false);
68
+ const selectedList = ref([]);
69
+ const exportContext = computed(
56
70
  () => ({
57
- columns: De(o.columns),
58
- selectedList: L.value,
59
- currentPageList: b.value,
60
- api: o.api,
61
- query: o.query,
62
- total: C.value,
63
- hasSelection: o.columns.some((e) => e.type === "selection")
71
+ columns: pickExportColumns(props.columns),
72
+ selectedList: selectedList.value,
73
+ currentPageList: list.value,
74
+ api: props.api,
75
+ query: props.query,
76
+ total: total.value,
77
+ hasSelection: props.columns.some((c) => c.type === "selection")
64
78
  })
65
- ), N = g(0), ne = (e) => {
66
- N.value = e;
67
- }, le = f(
68
- () => y.value ? D(Je) : D(Fe)
69
- ), R = ke(), ie = f(
70
- () => o.columns.some((e) => e.type === "selection")
71
- ), { viewportHeightFinal: se } = Ge(o), O = f(() => o.showPager ? 35 : 0), B = f(
72
- () => o.showToolbar ? N.value : 0
73
- ), K = f(() => {
74
- const { maxHeight: e, refine: a } = o;
75
- if (e)
76
- return e - O.value - B.value;
77
- if (a)
78
- return se.value - O.value - B.value - o.refineReduceHeight;
79
- }), P = f(() => {
80
- const e = K.value;
81
- if (e !== void 0)
82
- return Math.max(e, o.dataViewMaxHeightMinValue);
83
- }), { fillActive: ue, fillMinHeight: j, fillMinHeightCss: fe } = je({
84
- enabled: () => o.fillHeight,
85
- rawAvailableHeight: () => K.value
86
- }), { showSkeleton: ge, skeletonMode: ce, skeletonColumns: de, skeletonRowsFinal: me } = Ke({
87
- enabled: () => o.skeleton,
88
- loading: () => m.value,
79
+ );
80
+ const toolbarHeight = ref(0);
81
+ const onToolbarHeightChange = (h) => {
82
+ toolbarHeight.value = h;
83
+ };
84
+ const elTableComponentIs = computed(
85
+ () => customView.value ? markRaw(DataListView) : markRaw(ElTable)
86
+ );
87
+ const elTable = shallowRef();
88
+ const hasSelectionColumn = computed(
89
+ () => props.columns.some((c) => c.type === "selection")
90
+ );
91
+ const { viewportHeightFinal } = useChannelViewportHeight(props);
92
+ const pagerHeightAdjust = computed(() => {
93
+ if (props.showPager) {
94
+ return 35;
95
+ } else {
96
+ return 0;
97
+ }
98
+ });
99
+ const toolbarHeightAdjust = computed(
100
+ () => props.showToolbar ? toolbarHeight.value : 0
101
+ );
102
+ const rawAvailableHeight = computed(() => {
103
+ const { maxHeight, refine } = props;
104
+ if (maxHeight) {
105
+ return maxHeight - pagerHeightAdjust.value - toolbarHeightAdjust.value;
106
+ }
107
+ if (refine) {
108
+ return viewportHeightFinal.value - pagerHeightAdjust.value - toolbarHeightAdjust.value - props.refineReduceHeight;
109
+ }
110
+ return void 0;
111
+ });
112
+ const tableMaxHeight = computed(() => {
113
+ const raw = rawAvailableHeight.value;
114
+ if (raw === void 0) return void 0;
115
+ return Math.max(raw, props.dataViewMaxHeightMinValue);
116
+ });
117
+ const { fillActive, fillMinHeight, fillMinHeightCss } = useFillHeight({
118
+ enabled: () => props.fillHeight,
119
+ rawAvailableHeight: () => rawAvailableHeight.value
120
+ });
121
+ const { showSkeleton, skeletonMode, skeletonColumns, skeletonRowsFinal } = useTableSkeleton({
122
+ enabled: () => props.skeleton,
123
+ loading: () => loading.value,
89
124
  dataLength: () => {
90
- var e;
91
- return ((e = b.value) == null ? void 0 : e.length) ?? 0;
125
+ var _a;
126
+ return ((_a = list.value) == null ? void 0 : _a.length) ?? 0;
92
127
  },
93
- isGrid: () => y.value,
94
- columnCount: () => o.columns.length,
95
- skeletonRows: () => o.skeletonRows,
96
- availableHeight: () => P.value
97
- }), x = f(() => {
98
- const e = Q(o.query || {});
99
- return X(e, k.PAGE_SIZE_KEY, u.value), X(
100
- e,
101
- k.CURRENT_PAGE_KEY,
102
- i.value
103
- ), e;
104
- }), ve = () => ({
105
- injectInfo: o.injectInfo,
106
- exposeInfo: v
107
- }), pe = f(() => ({
108
- ...o.tableProps,
109
- ...oe,
110
- // customView 下,需要手动处理 selectable
111
- ...y.value ? {
112
- selectable: ie.value,
113
- columns: o.columns,
114
- getRenderCtxParams: ve,
115
- minHeight: j.value
116
- } : {}
117
- })), he = (e) => {
118
- var t;
119
- const a = (t = o.tableProps) == null ? void 0 : t.onSelectionChange;
120
- L.value = e, a == null || a(e);
121
- }, $ = (e, a = !0) => {
122
- const t = JSON.stringify(e) === JSON.stringify(x.value);
123
- return !t && a && console.warn(
124
- `同一地方 并发请求 参数冰花 当前不是最新的参数 丢弃结果 ${JSON.stringify(
125
- e
126
- )} => ${JSON.stringify(x.value)}`
127
- ), t;
128
- }, J = (e = !1) => {
129
- var t;
130
- if (!u.value) return;
131
- m.value ? console.warn("请求并发") : m.value = !0, e || (I.value = !0), (t = R.value) == null || t.clearSelection();
132
- const a = Q(x.value);
133
- return o.api(a).then((s) => {
134
- $(a, !1) && (b.value = ee(
135
- s,
136
- k.LIST_KEY
137
- ), C.value = ee(
138
- s,
139
- k.TOTAL_KEY
140
- ), w("pageInfoChange", {
141
- pageSize: u.value,
142
- currentPage: i.value,
143
- total: C.value
144
- }));
128
+ isGrid: () => customView.value,
129
+ columnCount: () => props.columns.length,
130
+ skeletonRows: () => props.skeletonRows,
131
+ availableHeight: () => tableMaxHeight.value
132
+ });
133
+ const params = computed(() => {
134
+ const merged = _cloneDeep(props.query || {});
135
+ _set(merged, APP_API_LIST_MODEL_KEY_CONFIG.PAGE_SIZE_KEY, pageSize.value);
136
+ _set(
137
+ merged,
138
+ APP_API_LIST_MODEL_KEY_CONFIG.CURRENT_PAGE_KEY,
139
+ currentPage.value
140
+ );
141
+ return merged;
142
+ });
143
+ const getRenderCtxParamsForDataView = () => {
144
+ return {
145
+ injectInfo: props.injectInfo,
146
+ exposeInfo: expose
147
+ };
148
+ };
149
+ const tablePropsFinal = computed(() => {
150
+ return {
151
+ ...props.tableProps,
152
+ ...attrs,
153
+ // customView 下,需要手动处理 selectable
154
+ ...customView.value ? {
155
+ selectable: hasSelectionColumn.value,
156
+ columns: props.columns,
157
+ getRenderCtxParams: getRenderCtxParamsForDataView,
158
+ minHeight: fillMinHeight.value
159
+ } : {}
160
+ };
161
+ });
162
+ const onSelectionChange = (selection) => {
163
+ var _a;
164
+ const externalOnSelectionChange = (_a = props.tableProps) == null ? void 0 : _a.onSelectionChange;
165
+ selectedList.value = selection;
166
+ externalOnSelectionChange == null ? void 0 : externalOnSelectionChange(selection);
167
+ };
168
+ const canGoOnByParams = (currentParams, tip = true) => {
169
+ const res = JSON.stringify(currentParams) === JSON.stringify(params.value);
170
+ if (!res && tip) {
171
+ console.warn(
172
+ `同一地方 并发请求 参数冰花 当前不是最新的参数 丢弃结果 ${JSON.stringify(
173
+ currentParams
174
+ )} => ${JSON.stringify(params.value)}`
175
+ );
176
+ }
177
+ return res;
178
+ };
179
+ const getList = (silent = false) => {
180
+ var _a;
181
+ if (!pageSize.value) return;
182
+ if (loading.value) {
183
+ console.warn(`请求并发`);
184
+ } else {
185
+ loading.value = true;
186
+ }
187
+ if (!silent) {
188
+ publicLoading.value = true;
189
+ }
190
+ (_a = elTable.value) == null ? void 0 : _a.clearSelection();
191
+ const p = _cloneDeep(params.value);
192
+ return props.api(p).then((res) => {
193
+ if (!canGoOnByParams(p, false)) {
194
+ return;
195
+ }
196
+ list.value = _get(
197
+ res,
198
+ APP_API_LIST_MODEL_KEY_CONFIG.LIST_KEY
199
+ );
200
+ total.value = _get(
201
+ res,
202
+ APP_API_LIST_MODEL_KEY_CONFIG.TOTAL_KEY
203
+ );
204
+ emits("pageInfoChange", {
205
+ pageSize: pageSize.value,
206
+ currentPage: currentPage.value,
207
+ total: total.value
208
+ });
145
209
  }).finally(() => {
146
- $(a) && (m.value = !1, I.value = !1);
210
+ if (!canGoOnByParams(p)) {
211
+ return;
212
+ }
213
+ loading.value = false;
214
+ publicLoading.value = false;
147
215
  });
148
- }, F = async (e = !1) => {
149
- var a;
150
- return (a = J(e)) == null ? void 0 : a.catch(() => {
216
+ };
217
+ const refresh = async (silent = false) => {
218
+ var _a;
219
+ return (_a = getList(silent)) == null ? void 0 : _a.catch(() => {
151
220
  });
152
- }, we = async (e = !1) => {
153
- if (i.value === 1)
154
- return F(e);
155
- i.value = 1;
156
- }, ye = (e) => e, v = {
157
- refresh: F,
158
- reload: we,
159
- getTableInstance: () => R.value
160
- }, _ = (e, a = []) => ({
161
- ...W(e, ["render", "headerRender"].concat(a)),
162
- injectInfo: o.injectInfo || {},
163
- exposeInfo: v
164
- }), U = (e) => ({
165
- ...W(e, ["render", "headerRender"]),
166
- injectInfo: o.injectInfo || {},
167
- exposeInfo: v
168
- }), be = (e) => e;
169
- te(v);
170
- const Se = (e) => {
171
- u.value = e, i.value = 1;
172
- }, q = (e) => !e || e === "expand";
173
- return Ie(() => {
174
- u.value = o.pageSizeInit, Re(() => {
175
- v.refresh();
221
+ };
222
+ const reload = async (silent = false) => {
223
+ if (currentPage.value === 1) {
224
+ return refresh(silent);
225
+ } else {
226
+ currentPage.value = 1;
227
+ }
228
+ };
229
+ const assertRowKey = (rowKey) => {
230
+ return rowKey;
231
+ };
232
+ const expose = {
233
+ refresh,
234
+ reload,
235
+ getTableInstance: () => elTable.value
236
+ };
237
+ const assertColumnDefaultScope = (scope, omitKeys = []) => {
238
+ return {
239
+ ..._omit(scope, ["render", "headerRender"].concat(omitKeys)),
240
+ injectInfo: props.injectInfo || {},
241
+ exposeInfo: expose
242
+ };
243
+ };
244
+ const assertColumnHeaderScope = (scope) => {
245
+ return {
246
+ ..._omit(scope, ["render", "headerRender"]),
247
+ injectInfo: props.injectInfo || {},
248
+ exposeInfo: expose
249
+ };
250
+ };
251
+ const assertDataViewItemScope = (scope) => {
252
+ return scope;
253
+ };
254
+ __expose(expose);
255
+ const onSizeChange = (value) => {
256
+ pageSize.value = value;
257
+ currentPage.value = 1;
258
+ };
259
+ const isShowSlots = (type) => {
260
+ return !type || type === "expand";
261
+ };
262
+ onMounted(() => {
263
+ pageSize.value = props.pageSizeInit;
264
+ onActivated(() => {
265
+ expose.refresh();
176
266
  });
177
- }), p(b, (e) => {
178
- w("dataChange", e);
179
- }), p(
180
- () => o.query,
181
- (e, a) => {
182
- JSON.stringify(e) !== JSON.stringify(a) && (i.value = 1);
267
+ });
268
+ watch(list, (n) => {
269
+ emits("dataChange", n);
270
+ });
271
+ watch(
272
+ () => props.query,
273
+ (n, o) => {
274
+ if (JSON.stringify(n) === JSON.stringify(o)) return;
275
+ currentPage.value = 1;
183
276
  }
184
- ), p(
185
- x,
186
- (e, a) => {
187
- JSON.stringify(e) !== JSON.stringify(a) && J();
277
+ );
278
+ watch(
279
+ params,
280
+ (n, o) => {
281
+ if (JSON.stringify(n) === JSON.stringify(o)) return;
282
+ getList();
188
283
  },
189
284
  {
190
- immediate: !0
285
+ immediate: true
191
286
  }
192
- ), p(I, (e) => {
193
- w("loadingChange", e);
194
- }), p(u, (e) => {
195
- w("pageSizeChange", e);
196
- }), p(i, (e) => {
197
- w("pageChange", e);
198
- }), (e, a) => (n(), S("div", {
199
- class: Pe(["dc-table-main table-main", { "table-main_fill": l(ue) }])
200
- }, [
201
- r.showToolbar ? (n(), c(l($e), {
202
- key: 0,
203
- class: "dc-table-main__toolbar",
204
- onHeightChange: ne
205
- }, {
206
- default: h(() => [
207
- G(Oe, d({
208
- "is-auto-refresh": A.value,
209
- "onUpdate:isAutoRefresh": a[0] || (a[0] = (t) => A.value = t),
210
- "refresh-interval": M.value,
211
- "onUpdate:refreshInterval": a[1] || (a[1] = (t) => M.value = t),
212
- "custom-view": y.value,
213
- "onUpdate:customView": a[2] || (a[2] = (t) => y.value = t),
214
- tableExpose: v,
215
- loading: m.value,
216
- exportContext: re.value,
217
- showSwitchView: r.showSwitchView,
218
- currentPage: i.value,
219
- pageSize: u.value
220
- }, r.toolbar), null, 16, ["is-auto-refresh", "refresh-interval", "custom-view", "loading", "exportContext", "showSwitchView", "currentPage", "pageSize"])
221
- ]),
222
- _: 1
223
- })) : Ve("", !0),
224
- l(ge) ? (n(), c(Be, {
225
- key: 1,
226
- class: "table-main-table",
227
- mode: l(ce),
228
- rows: l(me),
229
- columns: l(de),
230
- maxHeight: P.value,
231
- minHeight: l(j)
232
- }, null, 8, ["mode", "rows", "columns", "maxHeight", "minHeight"])) : (n(), c(T(le.value), d({
233
- key: 2,
234
- ref_key: "elTable",
235
- ref: R,
236
- class: "table-main-table",
237
- stripe: "",
238
- border: "",
239
- highlightCurrentRow: ""
240
- }, pe.value, {
241
- maxHeight: P.value,
242
- data: b.value,
243
- rowKey: ye(r.rowKey),
244
- onSelectionChange: he
245
- }), {
246
- item: h((t) => [
247
- z(e.$slots, "custom-view-item", Ee(Ae(be(t))), void 0, !0)
248
- ]),
249
- empty: h(() => [
250
- m.value ? (n(), S(H, { key: 0 }, [
251
- E("加载中...")
252
- ], 64)) : (n(), c(l(Ue), { key: 1 }))
253
- ]),
254
- default: h(() => [
255
- (n(!0), S(H, null, Te(r.columns, (t) => (n(), c(l(_e), d({
256
- key: t.columnKey || t.prop
257
- }, { ref_for: !0 }, t), ze({ _: 2 }, [
258
- q(t.type) ? {
259
- name: "default",
260
- fn: h((s) => [
261
- z(e.$slots, t.prop, d({ ref_for: !0 }, _(s)), () => [
262
- t.render ? (n(), c(T(t.render), d({
263
- key: 0,
264
- ref_for: !0
265
- }, _(s, ["$index"]), {
266
- _index: s.$index
267
- }), null, 16, ["_index"])) : (n(), S(H, { key: 1 }, [
268
- E(Y(s.row[t.prop]), 1)
269
- ], 64))
270
- ], !0)
271
- ]),
272
- key: "0"
273
- } : void 0,
274
- q(t.type) ? {
275
- name: "header",
276
- fn: h((s) => [
277
- z(e.$slots, `header-${t.prop}`, d({ ref_for: !0 }, U(s)), () => [
278
- t.headerRender ? (n(), c(T(t.headerRender), d({
279
- key: 0,
280
- ref_for: !0
281
- }, U(s)), null, 16)) : (n(), S(H, { key: 1 }, [
282
- E(Y(t.label), 1)
283
- ], 64))
284
- ], !0)
285
- ]),
286
- key: "1"
287
- } : void 0
288
- ]), 1040))), 128))
289
- ]),
290
- _: 3
291
- }, 16, ["maxHeight", "data", "rowKey"])),
292
- Me(Le("div", Ye, [
293
- G(l(qe), {
294
- "current-page": i.value,
295
- "onUpdate:currentPage": a[3] || (a[3] = (t) => i.value = t),
296
- "page-size": u.value,
297
- "onUpdate:pageSize": a[4] || (a[4] = (t) => u.value = t),
298
- "page-sizes": r.pageSizeOptions,
299
- size: "small",
300
- background: "",
301
- layout: r.pageLayout,
302
- total: C.value,
303
- onSizeChange: Se
304
- }, null, 8, ["current-page", "page-size", "page-sizes", "layout", "total"])
305
- ], 512), [
306
- [Ne, r.showPager]
307
- ])
308
- ], 2));
287
+ );
288
+ watch(publicLoading, (n) => {
289
+ emits("loadingChange", n);
290
+ });
291
+ watch(pageSize, (n) => {
292
+ emits("pageSizeChange", n);
293
+ });
294
+ watch(currentPage, (n) => {
295
+ emits("pageChange", n);
296
+ });
297
+ return (_ctx, _cache) => {
298
+ return openBlock(), createElementBlock("div", {
299
+ class: normalizeClass(["dc-table-main table-main", { "table-main_fill": unref(fillActive) }])
300
+ }, [
301
+ __props.showToolbar ? (openBlock(), createBlock(unref(_sfc_main$1), {
302
+ key: 0,
303
+ class: "dc-table-main__toolbar",
304
+ onHeightChange: onToolbarHeightChange
305
+ }, {
306
+ default: withCtx(() => [
307
+ createVNode(TableToolbar, mergeProps({
308
+ "is-auto-refresh": isAutoRefresh.value,
309
+ "onUpdate:isAutoRefresh": _cache[0] || (_cache[0] = ($event) => isAutoRefresh.value = $event),
310
+ "refresh-interval": refreshInterval.value,
311
+ "onUpdate:refreshInterval": _cache[1] || (_cache[1] = ($event) => refreshInterval.value = $event),
312
+ "custom-view": customView.value,
313
+ "onUpdate:customView": _cache[2] || (_cache[2] = ($event) => customView.value = $event),
314
+ tableExpose: expose,
315
+ loading: loading.value,
316
+ exportContext: exportContext.value,
317
+ showSwitchView: __props.showSwitchView,
318
+ currentPage: currentPage.value,
319
+ pageSize: pageSize.value
320
+ }, __props.toolbar), null, 16, ["is-auto-refresh", "refresh-interval", "custom-view", "loading", "exportContext", "showSwitchView", "currentPage", "pageSize"])
321
+ ]),
322
+ _: 1
323
+ })) : createCommentVNode("", true),
324
+ unref(showSkeleton) ? (openBlock(), createBlock(TableSkeleton, {
325
+ key: 1,
326
+ class: "table-main-table",
327
+ mode: unref(skeletonMode),
328
+ rows: unref(skeletonRowsFinal),
329
+ columns: unref(skeletonColumns),
330
+ maxHeight: tableMaxHeight.value,
331
+ minHeight: unref(fillMinHeight)
332
+ }, null, 8, ["mode", "rows", "columns", "maxHeight", "minHeight"])) : (openBlock(), createBlock(resolveDynamicComponent(elTableComponentIs.value), mergeProps({
333
+ key: 2,
334
+ ref_key: "elTable",
335
+ ref: elTable,
336
+ class: "table-main-table",
337
+ stripe: "",
338
+ border: "",
339
+ highlightCurrentRow: ""
340
+ }, tablePropsFinal.value, {
341
+ maxHeight: tableMaxHeight.value,
342
+ data: list.value,
343
+ rowKey: assertRowKey(__props.rowKey),
344
+ onSelectionChange
345
+ }), {
346
+ item: withCtx((scopeData) => [
347
+ renderSlot(_ctx.$slots, "custom-view-item", normalizeProps(guardReactiveProps(assertDataViewItemScope(scopeData))), void 0, true)
348
+ ]),
349
+ empty: withCtx(() => [
350
+ loading.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
351
+ createTextVNode("加载中...")
352
+ ], 64)) : (openBlock(), createBlock(unref(ElEmpty), { key: 1 }))
353
+ ]),
354
+ default: withCtx(() => [
355
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column) => {
356
+ return openBlock(), createBlock(unref(ElTableColumn), mergeProps({
357
+ key: column.columnKey || column.prop
358
+ }, { ref_for: true }, column), createSlots({ _: 2 }, [
359
+ isShowSlots(column.type) ? {
360
+ name: "default",
361
+ fn: withCtx((scopeData) => [
362
+ renderSlot(_ctx.$slots, column.prop, mergeProps({ ref_for: true }, assertColumnDefaultScope(scopeData)), () => [
363
+ column.render ? (openBlock(), createBlock(resolveDynamicComponent(column.render), mergeProps({
364
+ key: 0,
365
+ ref_for: true
366
+ }, assertColumnDefaultScope(scopeData, ["$index"]), {
367
+ _index: scopeData.$index
368
+ }), null, 16, ["_index"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
369
+ createTextVNode(toDisplayString(scopeData.row[column.prop]), 1)
370
+ ], 64))
371
+ ], true)
372
+ ]),
373
+ key: "0"
374
+ } : void 0,
375
+ isShowSlots(column.type) ? {
376
+ name: "header",
377
+ fn: withCtx((scopeData) => [
378
+ renderSlot(_ctx.$slots, `header-${column.prop}`, mergeProps({ ref_for: true }, assertColumnHeaderScope(scopeData)), () => [
379
+ column.headerRender ? (openBlock(), createBlock(resolveDynamicComponent(column.headerRender), mergeProps({
380
+ key: 0,
381
+ ref_for: true
382
+ }, assertColumnHeaderScope(scopeData)), null, 16)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
383
+ createTextVNode(toDisplayString(column.label), 1)
384
+ ], 64))
385
+ ], true)
386
+ ]),
387
+ key: "1"
388
+ } : void 0
389
+ ]), 1040);
390
+ }), 128))
391
+ ]),
392
+ _: 3
393
+ }, 16, ["maxHeight", "data", "rowKey"])),
394
+ withDirectives(createElementVNode("div", _hoisted_1, [
395
+ createVNode(unref(ElPagination), {
396
+ "current-page": currentPage.value,
397
+ "onUpdate:currentPage": _cache[3] || (_cache[3] = ($event) => currentPage.value = $event),
398
+ "page-size": pageSize.value,
399
+ "onUpdate:pageSize": _cache[4] || (_cache[4] = ($event) => pageSize.value = $event),
400
+ "page-sizes": __props.pageSizeOptions,
401
+ size: "small",
402
+ background: "",
403
+ layout: __props.pageLayout,
404
+ total: total.value,
405
+ onSizeChange
406
+ }, null, 8, ["current-page", "page-size", "page-sizes", "layout", "total"])
407
+ ], 512), [
408
+ [vShow, __props.showPager]
409
+ ])
410
+ ], 2);
411
+ };
309
412
  }
310
413
  });
311
414
  export {
312
- gt as default
415
+ _sfc_main as default
313
416
  };