skyline-vue-admin 0.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 (376) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/dist/components/auto-complete-array-input/index.cjs +2 -0
  4. package/dist/components/auto-complete-array-input/index.cjs.map +1 -0
  5. package/dist/components/auto-complete-array-input/index.d.ts +12 -0
  6. package/dist/components/auto-complete-array-input/index.mjs +151 -0
  7. package/dist/components/auto-complete-array-input/index.mjs.map +1 -0
  8. package/dist/components/avatar-input/index.cjs +2 -0
  9. package/dist/components/avatar-input/index.cjs.map +1 -0
  10. package/dist/components/avatar-input/index.d.ts +13 -0
  11. package/dist/components/avatar-input/index.mjs +160 -0
  12. package/dist/components/avatar-input/index.mjs.map +1 -0
  13. package/dist/components/can-access/index.cjs +2 -0
  14. package/dist/components/can-access/index.cjs.map +1 -0
  15. package/dist/components/can-access/index.d.ts +2 -0
  16. package/dist/components/can-access/index.mjs +46 -0
  17. package/dist/components/can-access/index.mjs.map +1 -0
  18. package/dist/components/create/index.cjs +2 -0
  19. package/dist/components/create/index.cjs.map +1 -0
  20. package/dist/components/create/index.d.ts +2 -0
  21. package/dist/components/create/index.mjs +96 -0
  22. package/dist/components/create/index.mjs.map +1 -0
  23. package/dist/components/data-table/index.cjs +2 -0
  24. package/dist/components/data-table/index.cjs.map +1 -0
  25. package/dist/components/data-table/index.d.ts +5 -0
  26. package/dist/components/data-table/index.mjs +131 -0
  27. package/dist/components/data-table/index.mjs.map +1 -0
  28. package/dist/components/data-table-col/index.cjs +2 -0
  29. package/dist/components/data-table-col/index.cjs.map +1 -0
  30. package/dist/components/data-table-col/index.d.ts +12 -0
  31. package/dist/components/data-table-col/index.mjs +60 -0
  32. package/dist/components/data-table-col/index.mjs.map +1 -0
  33. package/dist/components/edit/index.cjs +2 -0
  34. package/dist/components/edit/index.cjs.map +1 -0
  35. package/dist/components/edit/index.d.ts +6 -0
  36. package/dist/components/edit/index.mjs +153 -0
  37. package/dist/components/edit/index.mjs.map +1 -0
  38. package/dist/components/edit-button/index.cjs +2 -0
  39. package/dist/components/edit-button/index.cjs.map +1 -0
  40. package/dist/components/edit-button/index.d.ts +6 -0
  41. package/dist/components/edit-button/index.mjs +60 -0
  42. package/dist/components/edit-button/index.mjs.map +1 -0
  43. package/dist/components/file-multiple-input/index.cjs +2 -0
  44. package/dist/components/file-multiple-input/index.cjs.map +1 -0
  45. package/dist/components/file-multiple-input/index.d.ts +18 -0
  46. package/dist/components/file-multiple-input/index.mjs +189 -0
  47. package/dist/components/file-multiple-input/index.mjs.map +1 -0
  48. package/dist/components/filter/index.cjs +2 -0
  49. package/dist/components/filter/index.cjs.map +1 -0
  50. package/dist/components/filter/index.d.ts +2 -0
  51. package/dist/components/filter/index.mjs +63 -0
  52. package/dist/components/filter/index.mjs.map +1 -0
  53. package/dist/components/image-field/index.cjs +2 -0
  54. package/dist/components/image-field/index.cjs.map +1 -0
  55. package/dist/components/image-field/index.d.ts +8 -0
  56. package/dist/components/image-field/index.mjs +62 -0
  57. package/dist/components/image-field/index.mjs.map +1 -0
  58. package/dist/components/index.d.ts +27 -0
  59. package/dist/components/link-field/index.cjs +2 -0
  60. package/dist/components/link-field/index.cjs.map +1 -0
  61. package/dist/components/link-field/index.d.ts +7 -0
  62. package/dist/components/link-field/index.mjs +70 -0
  63. package/dist/components/link-field/index.mjs.map +1 -0
  64. package/dist/components/list/index.cjs +2 -0
  65. package/dist/components/list/index.cjs.map +1 -0
  66. package/dist/components/list/index.d.ts +7 -0
  67. package/dist/components/list/index.mjs +154 -0
  68. package/dist/components/list/index.mjs.map +1 -0
  69. package/dist/components/list/list.cjs +3 -0
  70. package/dist/components/list/list.cjs.map +1 -0
  71. package/dist/components/list/list.d.ts +10 -0
  72. package/dist/components/list/list.mjs +17 -0
  73. package/dist/components/list/list.mjs.map +1 -0
  74. package/dist/components/radio-button-group-input/index.cjs +2 -0
  75. package/dist/components/radio-button-group-input/index.cjs.map +1 -0
  76. package/dist/components/radio-button-group-input/index.d.ts +14 -0
  77. package/dist/components/radio-button-group-input/index.mjs +82 -0
  78. package/dist/components/radio-button-group-input/index.mjs.map +1 -0
  79. package/dist/components/reference-array-field/index.cjs +2 -0
  80. package/dist/components/reference-array-field/index.cjs.map +1 -0
  81. package/dist/components/reference-array-field/index.d.ts +7 -0
  82. package/dist/components/reference-array-field/index.mjs +76 -0
  83. package/dist/components/reference-array-field/index.mjs.map +1 -0
  84. package/dist/components/reference-array-input/index.cjs +2 -0
  85. package/dist/components/reference-array-input/index.cjs.map +1 -0
  86. package/dist/components/reference-array-input/index.d.ts +6 -0
  87. package/dist/components/reference-array-input/index.mjs +74 -0
  88. package/dist/components/reference-array-input/index.mjs.map +1 -0
  89. package/dist/components/reference-field/index.cjs +2 -0
  90. package/dist/components/reference-field/index.cjs.map +1 -0
  91. package/dist/components/reference-field/index.d.ts +10 -0
  92. package/dist/components/reference-field/index.mjs +101 -0
  93. package/dist/components/reference-field/index.mjs.map +1 -0
  94. package/dist/components/reference-image-field/index.cjs +2 -0
  95. package/dist/components/reference-image-field/index.cjs.map +1 -0
  96. package/dist/components/reference-image-field/index.d.ts +9 -0
  97. package/dist/components/reference-image-field/index.mjs +79 -0
  98. package/dist/components/reference-image-field/index.mjs.map +1 -0
  99. package/dist/components/show/index.cjs +2 -0
  100. package/dist/components/show/index.cjs.map +1 -0
  101. package/dist/components/show/index.d.ts +2 -0
  102. package/dist/components/show/index.mjs +66 -0
  103. package/dist/components/show/index.mjs.map +1 -0
  104. package/dist/components/show-button/index.cjs +2 -0
  105. package/dist/components/show-button/index.cjs.map +1 -0
  106. package/dist/components/show-button/index.d.ts +6 -0
  107. package/dist/components/show-button/index.mjs +60 -0
  108. package/dist/components/show-button/index.mjs.map +1 -0
  109. package/dist/components/show-simple-layout/index.cjs +2 -0
  110. package/dist/components/show-simple-layout/index.cjs.map +1 -0
  111. package/dist/components/show-simple-layout/index.d.ts +1 -0
  112. package/dist/components/show-simple-layout/index.mjs +36 -0
  113. package/dist/components/show-simple-layout/index.mjs.map +1 -0
  114. package/dist/components/simple-form/index.cjs +2 -0
  115. package/dist/components/simple-form/index.cjs.map +1 -0
  116. package/dist/components/simple-form/index.d.ts +6 -0
  117. package/dist/components/simple-form/index.mjs +53 -0
  118. package/dist/components/simple-form/index.mjs.map +1 -0
  119. package/dist/components/single-field-list/index.cjs +2 -0
  120. package/dist/components/single-field-list/index.cjs.map +1 -0
  121. package/dist/components/single-field-list/index.d.ts +4 -0
  122. package/dist/components/single-field-list/index.mjs +56 -0
  123. package/dist/components/single-field-list/index.mjs.map +1 -0
  124. package/dist/components/text-field/index.cjs +2 -0
  125. package/dist/components/text-field/index.cjs.map +1 -0
  126. package/dist/components/text-field/index.d.ts +7 -0
  127. package/dist/components/text-field/index.mjs +56 -0
  128. package/dist/components/text-field/index.mjs.map +1 -0
  129. package/dist/components/text-input/index.cjs +2 -0
  130. package/dist/components/text-input/index.cjs.map +1 -0
  131. package/dist/components/text-input/index.d.ts +9 -0
  132. package/dist/components/text-input/index.mjs +70 -0
  133. package/dist/components/text-input/index.mjs.map +1 -0
  134. package/dist/components/tree-select-input/index.cjs +2 -0
  135. package/dist/components/tree-select-input/index.cjs.map +1 -0
  136. package/dist/components/tree-select-input/index.d.ts +15 -0
  137. package/dist/components/tree-select-input/index.mjs +122 -0
  138. package/dist/components/tree-select-input/index.mjs.map +1 -0
  139. package/dist/components/tree-with-details/index.cjs +2 -0
  140. package/dist/components/tree-with-details/index.cjs.map +1 -0
  141. package/dist/components/tree-with-details/index.d.ts +11 -0
  142. package/dist/components/tree-with-details/index.mjs +133 -0
  143. package/dist/components/tree-with-details/index.mjs.map +1 -0
  144. package/dist/hooks/index.d.ts +17 -0
  145. package/dist/hooks/useDelegate.d.ts +4 -0
  146. package/dist/hooks/useForm.cjs +2 -0
  147. package/dist/hooks/useForm.cjs.map +1 -0
  148. package/dist/hooks/useForm.d.ts +9 -0
  149. package/dist/hooks/useForm.mjs +18 -0
  150. package/dist/hooks/useForm.mjs.map +1 -0
  151. package/dist/hooks/useFormGrid.cjs +2 -0
  152. package/dist/hooks/useFormGrid.cjs.map +1 -0
  153. package/dist/hooks/useFormGrid.d.ts +1 -0
  154. package/dist/hooks/useFormGrid.mjs +7 -0
  155. package/dist/hooks/useFormGrid.mjs.map +1 -0
  156. package/dist/hooks/useHiddenTitle.cjs +2 -0
  157. package/dist/hooks/useHiddenTitle.cjs.map +1 -0
  158. package/dist/hooks/useHiddenTitle.d.ts +1 -0
  159. package/dist/hooks/useHiddenTitle.mjs +9 -0
  160. package/dist/hooks/useHiddenTitle.mjs.map +1 -0
  161. package/dist/hooks/useLang.cjs +2 -0
  162. package/dist/hooks/useLang.cjs.map +1 -0
  163. package/dist/hooks/useLang.d.ts +4 -0
  164. package/dist/hooks/useLang.mjs +15 -0
  165. package/dist/hooks/useLang.mjs.map +1 -0
  166. package/dist/hooks/useList.cjs +2 -0
  167. package/dist/hooks/useList.cjs.map +1 -0
  168. package/dist/hooks/useList.d.ts +22 -0
  169. package/dist/hooks/useList.mjs +19 -0
  170. package/dist/hooks/useList.mjs.map +1 -0
  171. package/dist/hooks/useMenu.cjs +2 -0
  172. package/dist/hooks/useMenu.cjs.map +1 -0
  173. package/dist/hooks/useMenu.d.ts +5 -0
  174. package/dist/hooks/useMenu.mjs +26 -0
  175. package/dist/hooks/useMenu.mjs.map +1 -0
  176. package/dist/hooks/usePermission.cjs +2 -0
  177. package/dist/hooks/usePermission.cjs.map +1 -0
  178. package/dist/hooks/usePermission.d.ts +4 -0
  179. package/dist/hooks/usePermission.mjs +13 -0
  180. package/dist/hooks/usePermission.mjs.map +1 -0
  181. package/dist/hooks/useReferenceArrayField.cjs +2 -0
  182. package/dist/hooks/useReferenceArrayField.cjs.map +1 -0
  183. package/dist/hooks/useReferenceArrayField.d.ts +8 -0
  184. package/dist/hooks/useReferenceArrayField.mjs +9 -0
  185. package/dist/hooks/useReferenceArrayField.mjs.map +1 -0
  186. package/dist/hooks/useReferenceArrayInput.cjs +2 -0
  187. package/dist/hooks/useReferenceArrayInput.cjs.map +1 -0
  188. package/dist/hooks/useReferenceArrayInput.d.ts +9 -0
  189. package/dist/hooks/useReferenceArrayInput.mjs +9 -0
  190. package/dist/hooks/useReferenceArrayInput.mjs.map +1 -0
  191. package/dist/hooks/useRouteKeepAlive.cjs +2 -0
  192. package/dist/hooks/useRouteKeepAlive.cjs.map +1 -0
  193. package/dist/hooks/useRouteKeepAlive.d.ts +5 -0
  194. package/dist/hooks/useRouteKeepAlive.mjs +19 -0
  195. package/dist/hooks/useRouteKeepAlive.mjs.map +1 -0
  196. package/dist/hooks/useShow.cjs +2 -0
  197. package/dist/hooks/useShow.cjs.map +1 -0
  198. package/dist/hooks/useShow.d.ts +6 -0
  199. package/dist/hooks/useShow.mjs +9 -0
  200. package/dist/hooks/useShow.mjs.map +1 -0
  201. package/dist/hooks/useSize.cjs +2 -0
  202. package/dist/hooks/useSize.cjs.map +1 -0
  203. package/dist/hooks/useSize.d.ts +28 -0
  204. package/dist/hooks/useSize.mjs +30 -0
  205. package/dist/hooks/useSize.mjs.map +1 -0
  206. package/dist/hooks/useTab.cjs +2 -0
  207. package/dist/hooks/useTab.cjs.map +1 -0
  208. package/dist/hooks/useTab.d.ts +18 -0
  209. package/dist/hooks/useTab.mjs +50 -0
  210. package/dist/hooks/useTab.mjs.map +1 -0
  211. package/dist/hooks/useTheme.cjs +2 -0
  212. package/dist/hooks/useTheme.cjs.map +1 -0
  213. package/dist/hooks/useTheme.d.ts +23 -0
  214. package/dist/hooks/useTheme.mjs +24 -0
  215. package/dist/hooks/useTheme.mjs.map +1 -0
  216. package/dist/hooks/useTreeWithDetails.cjs +2 -0
  217. package/dist/hooks/useTreeWithDetails.cjs.map +1 -0
  218. package/dist/hooks/useTreeWithDetails.d.ts +7 -0
  219. package/dist/hooks/useTreeWithDetails.mjs +9 -0
  220. package/dist/hooks/useTreeWithDetails.mjs.map +1 -0
  221. package/dist/hooks/useUpload.cjs +2 -0
  222. package/dist/hooks/useUpload.cjs.map +1 -0
  223. package/dist/hooks/useUpload.d.ts +8 -0
  224. package/dist/hooks/useUpload.mjs +8 -0
  225. package/dist/hooks/useUpload.mjs.map +1 -0
  226. package/dist/hooks/useUser.cjs +2 -0
  227. package/dist/hooks/useUser.cjs.map +1 -0
  228. package/dist/hooks/useUser.d.ts +9 -0
  229. package/dist/hooks/useUser.mjs +24 -0
  230. package/dist/hooks/useUser.mjs.map +1 -0
  231. package/dist/i18n/locales/en.json.cjs +2 -0
  232. package/dist/i18n/locales/en.json.cjs.map +1 -0
  233. package/dist/i18n/locales/en.json.d.ts +52 -0
  234. package/dist/i18n/locales/en.json.mjs +32 -0
  235. package/dist/i18n/locales/en.json.mjs.map +1 -0
  236. package/dist/icons/EpDelete.cjs +2 -0
  237. package/dist/icons/EpDelete.cjs.map +1 -0
  238. package/dist/icons/EpDelete.d.ts +1 -0
  239. package/dist/icons/EpDelete.mjs +17 -0
  240. package/dist/icons/EpDelete.mjs.map +1 -0
  241. package/dist/icons/EpDocumentAdd.cjs +2 -0
  242. package/dist/icons/EpDocumentAdd.cjs.map +1 -0
  243. package/dist/icons/EpDocumentAdd.d.ts +1 -0
  244. package/dist/icons/EpDocumentAdd.mjs +17 -0
  245. package/dist/icons/EpDocumentAdd.mjs.map +1 -0
  246. package/dist/icons/EpDownload.cjs +2 -0
  247. package/dist/icons/EpDownload.cjs.map +1 -0
  248. package/dist/icons/EpDownload.d.ts +1 -0
  249. package/dist/icons/EpDownload.mjs +17 -0
  250. package/dist/icons/EpDownload.mjs.map +1 -0
  251. package/dist/icons/EpFullScreen.cjs +2 -0
  252. package/dist/icons/EpFullScreen.cjs.map +1 -0
  253. package/dist/icons/EpFullScreen.d.ts +1 -0
  254. package/dist/icons/EpFullScreen.mjs +19 -0
  255. package/dist/icons/EpFullScreen.mjs.map +1 -0
  256. package/dist/icons/EpMoon.cjs +2 -0
  257. package/dist/icons/EpMoon.cjs.map +1 -0
  258. package/dist/icons/EpMoon.d.ts +1 -0
  259. package/dist/icons/EpMoon.mjs +17 -0
  260. package/dist/icons/EpMoon.mjs.map +1 -0
  261. package/dist/icons/EpPlus.cjs +2 -0
  262. package/dist/icons/EpPlus.cjs.map +1 -0
  263. package/dist/icons/EpPlus.d.ts +1 -0
  264. package/dist/icons/EpPlus.mjs +17 -0
  265. package/dist/icons/EpPlus.mjs.map +1 -0
  266. package/dist/icons/EpRefresh.cjs +2 -0
  267. package/dist/icons/EpRefresh.cjs.map +1 -0
  268. package/dist/icons/EpRefresh.d.ts +1 -0
  269. package/dist/icons/EpRefresh.mjs +19 -0
  270. package/dist/icons/EpRefresh.mjs.map +1 -0
  271. package/dist/icons/EpSearch.d.ts +1 -0
  272. package/dist/icons/EpSunny.cjs +2 -0
  273. package/dist/icons/EpSunny.cjs.map +1 -0
  274. package/dist/icons/EpSunny.d.ts +1 -0
  275. package/dist/icons/EpSunny.mjs +17 -0
  276. package/dist/icons/EpSunny.mjs.map +1 -0
  277. package/dist/icons/EpSwitchFilled.cjs +2 -0
  278. package/dist/icons/EpSwitchFilled.cjs.map +1 -0
  279. package/dist/icons/EpSwitchFilled.d.ts +1 -0
  280. package/dist/icons/EpSwitchFilled.mjs +20 -0
  281. package/dist/icons/EpSwitchFilled.mjs.map +1 -0
  282. package/dist/icons/EpUploadFilled.cjs +2 -0
  283. package/dist/icons/EpUploadFilled.cjs.map +1 -0
  284. package/dist/icons/EpUploadFilled.d.ts +1 -0
  285. package/dist/icons/EpUploadFilled.mjs +17 -0
  286. package/dist/icons/EpUploadFilled.mjs.map +1 -0
  287. package/dist/icons/FluentFullScreenMinimize20Regular.cjs +2 -0
  288. package/dist/icons/FluentFullScreenMinimize20Regular.cjs.map +1 -0
  289. package/dist/icons/FluentFullScreenMinimize20Regular.d.ts +1 -0
  290. package/dist/icons/FluentFullScreenMinimize20Regular.mjs +19 -0
  291. package/dist/icons/FluentFullScreenMinimize20Regular.mjs.map +1 -0
  292. package/dist/icons/NimbusTextSize.cjs +2 -0
  293. package/dist/icons/NimbusTextSize.cjs.map +1 -0
  294. package/dist/icons/NimbusTextSize.d.ts +1 -0
  295. package/dist/icons/NimbusTextSize.mjs +20 -0
  296. package/dist/icons/NimbusTextSize.mjs.map +1 -0
  297. package/dist/icons/SkyMenuCollapse.cjs +2 -0
  298. package/dist/icons/SkyMenuCollapse.cjs.map +1 -0
  299. package/dist/icons/SkyMenuCollapse.d.ts +1 -0
  300. package/dist/icons/SkyMenuCollapse.mjs +30 -0
  301. package/dist/icons/SkyMenuCollapse.mjs.map +1 -0
  302. package/dist/icons/SlTrans.cjs +2 -0
  303. package/dist/icons/SlTrans.cjs.map +1 -0
  304. package/dist/icons/SlTrans.d.ts +1 -0
  305. package/dist/icons/SlTrans.mjs +19 -0
  306. package/dist/icons/SlTrans.mjs.map +1 -0
  307. package/dist/index.cjs +2 -0
  308. package/dist/index.cjs.map +1 -0
  309. package/dist/index.d.ts +5 -0
  310. package/dist/index.mjs +114 -0
  311. package/dist/index.mjs.map +1 -0
  312. package/dist/layouts/default.cjs +2 -0
  313. package/dist/layouts/default.cjs.map +1 -0
  314. package/dist/layouts/default.d.ts +8 -0
  315. package/dist/layouts/default.mjs +398 -0
  316. package/dist/layouts/default.mjs.map +1 -0
  317. package/dist/pages/login.cjs +2 -0
  318. package/dist/pages/login.cjs.map +1 -0
  319. package/dist/pages/login.d.ts +2 -0
  320. package/dist/pages/login.mjs +78 -0
  321. package/dist/pages/login.mjs.map +1 -0
  322. package/dist/pages/not-found.cjs +2 -0
  323. package/dist/pages/not-found.cjs.map +1 -0
  324. package/dist/pages/not-found.d.ts +2 -0
  325. package/dist/pages/not-found.mjs +29 -0
  326. package/dist/pages/not-found.mjs.map +1 -0
  327. package/dist/pages/welcome.cjs +2 -0
  328. package/dist/pages/welcome.cjs.map +1 -0
  329. package/dist/pages/welcome.d.ts +2 -0
  330. package/dist/pages/welcome.mjs +13 -0
  331. package/dist/pages/welcome.mjs.map +1 -0
  332. package/dist/provides/dataProvider.d.ts +111 -0
  333. package/dist/provides/index.d.ts +1 -0
  334. package/dist/router/index.cjs +2 -0
  335. package/dist/router/index.cjs.map +1 -0
  336. package/dist/router/index.d.ts +25 -0
  337. package/dist/router/index.mjs +136 -0
  338. package/dist/router/index.mjs.map +1 -0
  339. package/dist/setup/index.cjs +2 -0
  340. package/dist/setup/index.cjs.map +1 -0
  341. package/dist/setup/index.d.ts +68 -0
  342. package/dist/setup/index.mjs +55 -0
  343. package/dist/setup/index.mjs.map +1 -0
  344. package/dist/styles/components/auto-complete-array-input.css +1 -0
  345. package/dist/styles/components/avatar-input.css +1 -0
  346. package/dist/styles/components/can-access.css +1 -0
  347. package/dist/styles/components/create.css +1 -0
  348. package/dist/styles/components/data-table-col.css +1 -0
  349. package/dist/styles/components/data-table.css +1 -0
  350. package/dist/styles/components/edit-button.css +1 -0
  351. package/dist/styles/components/edit.css +1 -0
  352. package/dist/styles/components/file-multiple-input.css +1 -0
  353. package/dist/styles/components/filter.css +1 -0
  354. package/dist/styles/components/image-field.css +1 -0
  355. package/dist/styles/components/link-field.css +1 -0
  356. package/dist/styles/components/list.css +1 -0
  357. package/dist/styles/components/radio-button-group-input.css +1 -0
  358. package/dist/styles/components/reference-array-field.css +1 -0
  359. package/dist/styles/components/reference-array-input.css +1 -0
  360. package/dist/styles/components/reference-field.css +1 -0
  361. package/dist/styles/components/reference-image-field.css +1 -0
  362. package/dist/styles/components/show-button.css +1 -0
  363. package/dist/styles/components/show-simple-layout.css +1 -0
  364. package/dist/styles/components/show.css +1 -0
  365. package/dist/styles/components/simple-form.css +1 -0
  366. package/dist/styles/components/single-field-list.css +1 -0
  367. package/dist/styles/components/text-field.css +1 -0
  368. package/dist/styles/components/text-input.css +1 -0
  369. package/dist/styles/components/tree-select-input.css +1 -0
  370. package/dist/styles/components/tree-with-details.css +1 -0
  371. package/dist/styles/index.css +1 -0
  372. package/dist/styles/layouts/default.css +1 -0
  373. package/dist/styles/pages/login.css +1 -0
  374. package/dist/styles/pages/not-found.css +1 -0
  375. package/dist/styles/pages/welcome.css +1 -0
  376. package/package.json +54 -0
@@ -0,0 +1,96 @@
1
+ import "element-plus/es/components/button/style/css";
2
+ import "element-plus/es/components/card/style/css";
3
+ import { defineComponent as A, createVNode as t, isVNode as g } from "vue";
4
+ import "../../hooks/useUser.mjs";
5
+ import "../../hooks/usePermission.mjs";
6
+ import "../../hooks/useMenu.mjs";
7
+ import { useTab as C } from "../../hooks/useTab.mjs";
8
+ import { useRouteKeepAlive as N } from "../../hooks/useRouteKeepAlive.mjs";
9
+ import "../../hooks/useSize.mjs";
10
+ import "../../hooks/useLang.mjs";
11
+ import "../../hooks/useTheme.mjs";
12
+ import "../../hooks/useList.mjs";
13
+ import "../../hooks/useHiddenTitle.mjs";
14
+ import { useProvideForm as _ } from "../../hooks/useForm.mjs";
15
+ import "../../hooks/useShow.mjs";
16
+ import "../../hooks/useReferenceArrayField.mjs";
17
+ import { useTreeWithDetails as D } from "../../hooks/useTreeWithDetails.mjs";
18
+ import "../../hooks/useFormGrid.mjs";
19
+ import "../../hooks/useReferenceArrayInput.mjs";
20
+ import { EpDocumentAdd as R } from "../../icons/EpDocumentAdd.mjs";
21
+ import { skyConfig as T } from "../../setup/index.mjs";
22
+ import { useAsyncState as h } from "@vueuse/core";
23
+ import { ElCard as j, ElButton as w } from "element-plus";
24
+ import { useI18n as E } from "vue-i18n";
25
+ import { useRoute as P, useRouter as x } from "vue-router";
26
+ import { SkyCanAccess as K } from "../can-access/index.mjs";
27
+ function L(o) {
28
+ return typeof o == "function" || Object.prototype.toString.call(o) === "[object Object]" && !g(o);
29
+ }
30
+ const ne = /* @__PURE__ */ A({
31
+ name: "SkyCreate",
32
+ inheritAttrs: !1,
33
+ setup(o, {
34
+ slots: c,
35
+ attrs: p
36
+ }) {
37
+ const {
38
+ t: l
39
+ } = E(), r = P(), f = x(), {
40
+ removeTab: d,
41
+ lastTab: i
42
+ } = C(), {
43
+ formData: v,
44
+ formRef: m
45
+ } = _(), s = D(), {
46
+ removeKeepAlive: y
47
+ } = N(), a = r.meta;
48
+ let n;
49
+ const {
50
+ isLoading: b,
51
+ execute: S
52
+ } = h(async (e) => (n = new AbortController(), T.dataProvider?.create?.(r.meta.resource, {
53
+ data: e,
54
+ signal: n.signal
55
+ })), void 0, {
56
+ immediate: !1
57
+ }), k = async () => {
58
+ if (!m.value || !await m.value.validate())
59
+ return;
60
+ const u = await S(0, {
61
+ ...v
62
+ });
63
+ u && (s?.createSuccess ? s.createSuccess(u) : (a.keepAliveName && y(a.keepAliveName), d(r.name), i.value && f.replace({
64
+ name: i.value.routeName,
65
+ params: i.value.routeParams
66
+ })));
67
+ };
68
+ return () => t("div", {
69
+ class: "sky-create"
70
+ }, [t(K, {
71
+ resource: a.resource,
72
+ action: "create"
73
+ }, {
74
+ default: () => [t(j, p, {
75
+ default: c.default,
76
+ footer: () => {
77
+ let e;
78
+ return t("div", {
79
+ class: "sky-create__footer"
80
+ }, [t(w, {
81
+ type: "primary",
82
+ icon: R,
83
+ loading: b.value,
84
+ onClick: k
85
+ }, L(e = l("button.submit")) ? e : {
86
+ default: () => [e]
87
+ })]);
88
+ }
89
+ })]
90
+ })]);
91
+ }
92
+ });
93
+ export {
94
+ ne as SkyCreate
95
+ };
96
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/create/index.tsx"],"sourcesContent":["import { useProvideForm, useRouteKeepAlive, useTab, useTreeWithDetails } from '@/hooks'\nimport { EpDocumentAdd } from '@/icons/EpDocumentAdd'\nimport type { CreateResult } from '@/provides'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport { skyConfig } from '@/setup'\nimport { useAsyncState } from '@vueuse/core'\nimport { ElButton, ElCard, type CardProps } from 'element-plus'\nimport { defineComponent } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport const SkyCreate = defineComponent<Partial<CardProps>>({\n name: 'SkyCreate',\n inheritAttrs: false,\n setup(_props, { slots, attrs }) {\n const { t } = useI18n()\n const route = useRoute()\n const router = useRouter()\n const { removeTab, lastTab } = useTab()\n const { formData, formRef } = useProvideForm()\n const treeWithDetails = useTreeWithDetails()\n const { removeKeepAlive } = useRouteKeepAlive()\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n let controller: AbortController | undefined\n\n const { isLoading: formSubmitLoging, execute } = useAsyncState<\n CreateResult | undefined,\n [data: Record<string, unknown>]\n >(\n async (data) => {\n controller = new AbortController()\n return skyConfig.dataProvider?.create?.(route.meta.resource as string, {\n data,\n signal: controller.signal,\n })\n },\n undefined,\n {\n immediate: false,\n },\n )\n\n const onSumit = async () => {\n if (!formRef.value) {\n return\n }\n const valid = await formRef.value.validate()\n if (!valid) {\n return\n }\n const res = await execute(0, { ...formData })\n if (res) {\n if (treeWithDetails?.createSuccess) {\n treeWithDetails.createSuccess(res)\n } else {\n if (routeMeta.keepAliveName) {\n removeKeepAlive(routeMeta.keepAliveName)\n }\n removeTab(route.name as string)\n if (lastTab.value) {\n router.replace({ name: lastTab.value.routeName, params: lastTab.value.routeParams })\n }\n }\n }\n }\n\n return () => (\n <div class=\"sky-create\">\n <SkyCanAccess resource={routeMeta.resource} action=\"create\">\n <ElCard {...attrs}>\n {{\n default: slots.default,\n footer: () => (\n <div class=\"sky-create__footer\">\n <ElButton\n type=\"primary\"\n icon={EpDocumentAdd}\n loading={formSubmitLoging.value}\n onClick={onSumit}\n >\n {t('button.submit')}\n </ElButton>\n </div>\n ),\n }}\n </ElCard>\n </SkyCanAccess>\n </div>\n )\n },\n})\n"],"names":["_isSlot","s","_isVNode","SkyCreate","defineComponent","name","inheritAttrs","attrs","t","route","useRoute","router","useRouter","lastTab","formRef","treeWithDetails","useTreeWithDetails","removeKeepAlive","routeMeta","controller","isLoading","execute","useAsyncState","data","immediate","onSumit","res","removeTab","params","_createVNode","default","footer","_slot","EpDocumentAdd"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAU4C,SAAAA,EAAAC,GAAA;AAAA,SAAA,OAAAA,KAAA,cAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,MAAA,qBAAA,CAAAC,EAAAD,CAAA;AAAA;AAE5C,MAAAE,KAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,cAAAA;AAAAA;;IACuBC,OAAAA;AAAAA,EAAM,GAAA;;MACnBC,GAAAA;AAAAA,aACRC,IAAAC,EAAA,GACAC,IAAAC,EAAA;;MACmBC,SAAAA;AAAAA;;MACDC,SAAAA;AAAAA,aAClBC,IAAAC,EAAA;MACQC,iBAAAA;AAAAA,aACRC,IAAAT,EAAA;AAEA,QAAAU;;MAEQC,WAAAA;AAAAA,MAA6BC,SAAAA;AAAAA,IAAQ,IAAAC,EAAA,OAAAC,OAKzCJ,IAAAA,IAAAA,gBAAAA;;;IAIA,CAAA;MAIAK,WAAAA;AAAAA,IACF,CAAA,GAGFC,IAAA,YAAA;UACE,CAAAX,EAAA;AAKE;AAEF,YAAAY,IAAA,MAAAL,EAAA,GAAA;AAAA;MAA2C,CAAA;AAC3C,MAAAK,yBAEIX,EAAAA,cAAAA,CAAAA,wBAGEE,EAAAA,EAAAA,aAAAA,GAEFU,EAAAA,EAAAA,IAAAA;QAEmBtB,MAAAA,EAAAA,MAAAA;AAAAA,QAA+BuB,QAAAA,EAAAA,MAAAA;AAAAA,MAAkC,CAAA;AAAA;AAM1F,WAAA,MAAAC,EAAA,OAAA;AAAA,MAAO,OAAA;AAAA;;MAEuC,QAAA;AAAA,IAAA,GAAA;AAAA,MAAAC,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA,GAAAA;AAAAA;QAIpCC,QAAAA,MAAAA;AAAQ,cAAAC;AAAA,iBAAAH,EAAA,OAAA;AAAA,YAAA,OAAA;AAAA;YAAA,MAAA;AAAA,YAAA,MAAAI;AAAA;;;;UAQiB,CAAA,CAAA,CAAA;AAAA,QAAA;AAAA,MAGxB,CAAA,CAAA;AAAA;EAMb;AACF,CAAA;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/alert/style/css");require("element-plus/es/components/button/style/css");require("element-plus/es/components/popconfirm/style/css");require("element-plus/es/components/skeleton/style/css");require("element-plus/es/components/table/style/css");require("element-plus/es/components/table-column/style/css");require("element-plus/es/components/text/style/css");const e=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");const V=require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");const E=require("../../icons/EpDelete.cjs"),T=require("../../setup/index.cjs"),k=require("@vueuse/core"),r=require("element-plus"),C=require("vue-i18n"),x=require("vue-router"),D=require("../can-access/index.cjs");function R(a){return typeof a=="function"||Object.prototype.toString.call(a)==="[object Object]"&&!e.isVNode(a)}const h=e.defineComponent({name:"SkyDataTable",inheritAttrs:!1,props:{id:{type:String,default:"id"}},setup(a,{slots:d,attrs:q}){const{t:o}=C.useI18n(),i=x.useRoute(),{getList:f,listLoading:m,listData:p}=V.useList(),y=i.meta,b=e.useTemplateRef("tableRef"),l=e.shallowRef([]),u=t=>{l.value=t},s=()=>{l.value=[],b.value?.clearSelection()},g=async()=>{await S(),await f(),s()};let c;const{isLoading:v,execute:S}=k.useAsyncState(async()=>{if(l.value.map(n=>String(n[a.id])).length)return c=new AbortController,T.skyConfig.dataProvider?.deleteMany?.(i.meta.resource,{ids:l.value.map(n=>String(n[a.id])),signal:c.signal})},void 0,{immediate:!1}),N=e.computed(()=>!!(v.value||m.value));return()=>e.createVNode(r.ElSkeleton,{loading:N.value,animated:!0},{default:()=>[e.createVNode("div",{class:"sky-data-table"},[e.createVNode(D.SkyCanAccess,{resource:y.resource,action:"delete"},{default:()=>[l.value.length>0&&e.createVNode(r.ElAlert,{class:"sky-data-table__alert",type:"primary",onClose:s},{default:()=>[e.createVNode(r.ElText,{type:"primary"},{default:()=>[l.value.length,e.createTextVNode(" "),o("selectedItems")]}),e.createVNode(r.ElPopconfirm,{title:o("popconfirm.remove"),onConfirm:g},{reference:()=>{let t;return e.createVNode(r.ElButton,{text:!0,type:"danger",icon:E.EpDelete},R(t=o("button.remove"))?t:{default:()=>[t]})}})]})]}),e.createVNode(r.ElTable,e.mergeProps({ref:"tableRef",class:"sky-data-table__main",data:p.value?.data,border:!0,onSelect:t=>u(t),"onSelect-all":t=>u(t)},q),{default:()=>[e.createVNode(r.ElTableColumn,{type:"selection"},null),e.createVNode(r.ElTableColumn,{type:"index",label:"#",width:"50"},null),d.default?.()]})])]})}});exports.SkyDataTable=h;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/data-table/index.tsx"],"sourcesContent":["import { useList } from '@/hooks'\r\nimport { EpDelete } from '@/icons/EpDelete'\r\nimport type { DeleteManyResult } from '@/provides'\r\nimport { skyConfig } from '@/setup'\r\nimport { useAsyncState } from '@vueuse/core'\r\nimport {\r\n ElAlert,\r\n ElButton,\r\n ElPopconfirm,\r\n ElSkeleton,\r\n ElTable,\r\n ElTableColumn,\r\n ElText,\r\n type TableProps,\r\n} from 'element-plus'\r\nimport { computed, defineComponent, shallowRef, useTemplateRef } from 'vue'\r\nimport { useI18n } from 'vue-i18n'\r\nimport { useRoute } from 'vue-router'\r\nimport { SkyCanAccess } from '../can-access'\r\nimport type { SkyLayoutRouteMeta } from '@/router'\r\n\r\nexport interface SkyDataTableProps {\r\n id?: string\r\n}\r\n\r\nexport const SkyDataTable = defineComponent<\r\n SkyDataTableProps & Partial<TableProps<Record<string, unknown>>>\r\n>({\r\n name: 'SkyDataTable',\r\n inheritAttrs: false,\r\n props: {\r\n id: {\r\n type: String,\r\n default: 'id',\r\n },\r\n },\r\n setup(props, { slots, attrs }) {\r\n const { t } = useI18n()\r\n const route = useRoute()\r\n const { getList, listLoading, listData } = useList()!\r\n const routeMeta = route.meta as SkyLayoutRouteMeta\r\n\r\n const tableRef = useTemplateRef<InstanceType<typeof ElTable> | null>('tableRef')\r\n const selectedItems = shallowRef<Record<string, unknown>[]>([])\r\n const onSelect = (selection: Record<string, unknown>[]) => {\r\n selectedItems.value = selection\r\n }\r\n const onClose = () => {\r\n selectedItems.value = []\r\n tableRef.value?.clearSelection()\r\n }\r\n const onDelete = async () => {\r\n await execute()\r\n await getList()\r\n onClose()\r\n }\r\n\r\n let controller: AbortController | undefined\r\n const { isLoading: deleteLoading, execute } = useAsyncState<DeleteManyResult | undefined>(\r\n async () => {\r\n const ids = selectedItems.value.map((item) => String(item[props.id!]))\r\n if (ids.length) {\r\n controller = new AbortController()\r\n return skyConfig.dataProvider?.deleteMany?.(route.meta.resource as string, {\r\n ids: selectedItems.value.map((item) => String(item[props.id!])),\r\n signal: controller.signal,\r\n })\r\n }\r\n },\r\n undefined,\r\n {\r\n immediate: false,\r\n },\r\n )\r\n\r\n const loading = computed<boolean>(() => Boolean(deleteLoading.value || listLoading.value))\r\n\r\n return () => (\r\n <ElSkeleton loading={loading.value} animated>\r\n <div class=\"sky-data-table\">\r\n <SkyCanAccess resource={routeMeta.resource} action=\"delete\">\r\n {selectedItems.value.length > 0 && (\r\n <ElAlert class=\"sky-data-table__alert\" type=\"primary\" onClose={onClose}>\r\n <ElText type=\"primary\">\r\n {selectedItems.value.length} {t('selectedItems')}\r\n </ElText>\r\n <ElPopconfirm title={t('popconfirm.remove')} onConfirm={onDelete}>\r\n {{\r\n reference: () => (\r\n <ElButton text type=\"danger\" icon={EpDelete}>\r\n {t('button.remove')}\r\n </ElButton>\r\n ),\r\n }}\r\n </ElPopconfirm>\r\n </ElAlert>\r\n )}\r\n </SkyCanAccess>\r\n <ElTable\r\n ref=\"tableRef\"\r\n class=\"sky-data-table__main\"\r\n data={listData.value?.data}\r\n border\r\n onSelect={(selection) => onSelect(selection)}\r\n onSelect-all={(selection) => onSelect(selection)}\r\n {...attrs}\r\n >\r\n <ElTableColumn type=\"selection\" />\r\n <ElTableColumn type=\"index\" label=\"#\" width=\"50\" />\r\n {slots.default?.()}\r\n </ElTable>\r\n </div>\r\n </ElSkeleton>\r\n )\r\n },\r\n})\r\n"],"names":["_isSlot","s","_isVNode","SkyDataTable","defineComponent","name","inheritAttrs","props","id","type","default","attrs","t","route","useRoute","listData","routeMeta","tableRef","useTemplateRef","selectedItems","shallowRef","onDelete","onClose","controller","isLoading","execute","item","ids","immediate","loading","computed","deleteLoading","listLoading","reference","_slot","_createVNode","ElTable","_mergeProps","selection","onSelect","slots"],"mappings":"k0CAkB4C,SAAAA,EAAAC,EAAA,CAAA,OAAA,OAAAA,GAAA,YAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,IAAA,mBAAA,CAAAC,EAAAA,QAAAD,CAAA,CAAA,CAO5C,MAAAE,EAAAC,EAAAA,gBAAA,CAGEC,KAAAA,eACAC,aAAAA,GACAC,MAAAA,CACEC,GAAAA,CACEC,KAAAA,OACAC,QAAAA,IACF,oBAEoBC,MAAAA,CAAM,EAAA,OAClBC,EAAAA,eACRC,EAAAC,EAAAA,SAAA,2BAC8BC,SAAAA,eAC9BC,EAAAH,EAAA,KAEAI,EAAAC,EAAAA,eAAA,UAAA,EACAC,EAAAC,EAAAA,WAAA,EAAA,qCAMEH,EAAAA,OAAAA,eAAAA,GAEFI,EAAA,SAAA,qBAGEC,EAAAA,GAGF,IAAAC,QACQC,UAAAA,EAA0BC,QAAAA,gCAE9BN,EAAA,MAAA,IAAAO,GAAA,OAAAA,EAAAnB,EAAA,EAAA,CAAA,CAAA,SAEEgB,OAAAA,EAAAA,IAAAA,wEAEEI,IAAAA,EAAAA,MAAAA,IAAAA,GAAAA,OAAAA,EAAAA,EAAAA,EAAAA,CAAAA,CAAAA,iBAEF,CAAA,WAKFC,UAAAA,EACF,CAAA,EAGFC,EAAAC,EAAAA,SAAA,IAAA,GAAAC,EAAA,OAAAC,EAAA,MAAA,wDAGoC,SAAA,EAAA,EAAA,mCAAA,MAAA,qEAEY,OAAA,QAAA,EAAA,CAAAtB,QAAAA,IAAAA,CAAAA,EAAAA,MAAAA,OAAAA,GAAAA,EAAAA,YAAAA,UAAAA,CACT,MAAA,wBAAA,KAAA,mBACyC,EAAA,CAAAA,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,SAAAA,CAAA,KAAA,SAAA,EAAA,CAAAA,QAAAA,IAAAA,CAAAA,EAAAA,MAAAA,OAAAA,EAAAA,gBAAAA,GAAAA,EAAAA,EAAAA,eAAAA,CAAAA,0EAIJ,EAAA,CAE5DuB,UAAAA,IAAAA,CAAW,IAAAC,mCAAA,KAAA,GAAA,KAAA,oEAEY,CAAA,CAAA,CAEtB,CAAA,CAAA,IAIR,CAAA,EAAAC,EAAAA,YAAAC,EAAAA,QAAAC,aAAA,CAAA,IAAA,WAAA,MAAA,uBAAA,KAAAtB,EAAA,OAAA,KAKyB,OAAA,GAAA,SAAAuB,GAAAC,EAAAD,CAAA,EAEkB,eAAAA,GAAAC,EAAAD,CAAA,CACI,EAAA3B,CAAA,EAAA,CACvCD,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,gBAAAA,CAAA,KAAA,kDAAA,KAAA,QAAA,MAAA,IAAA,MAAA,IAAA,EAAA,IAAA,EAAA8B,EAAA,UAAA,CAAA,CAIS,CAAA,CAAA,CAAA,CAAA,GAK5B,CACF,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { TableProps } from 'element-plus';
2
+ export interface SkyDataTableProps {
3
+ id?: string;
4
+ }
5
+ export declare const SkyDataTable: import('vue').DefineComponent<SkyDataTableProps & Partial<TableProps<Record<string, unknown>>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SkyDataTableProps & Partial<TableProps<Record<string, unknown>>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,131 @@
1
+ import "element-plus/es/components/alert/style/css";
2
+ import "element-plus/es/components/button/style/css";
3
+ import "element-plus/es/components/popconfirm/style/css";
4
+ import "element-plus/es/components/skeleton/style/css";
5
+ import "element-plus/es/components/table/style/css";
6
+ import "element-plus/es/components/table-column/style/css";
7
+ import "element-plus/es/components/text/style/css";
8
+ import { defineComponent as E, useTemplateRef as T, shallowRef as h, computed as x, createVNode as t, createTextVNode as R, mergeProps as _, isVNode as w } from "vue";
9
+ import "../../hooks/useUser.mjs";
10
+ import "../../hooks/usePermission.mjs";
11
+ import "../../hooks/useMenu.mjs";
12
+ import "../../hooks/useTab.mjs";
13
+ import "../../hooks/useRouteKeepAlive.mjs";
14
+ import "../../hooks/useSize.mjs";
15
+ import "../../hooks/useLang.mjs";
16
+ import "../../hooks/useTheme.mjs";
17
+ import { useList as A } from "../../hooks/useList.mjs";
18
+ import "../../hooks/useHiddenTitle.mjs";
19
+ import "../../hooks/useForm.mjs";
20
+ import "../../hooks/useShow.mjs";
21
+ import "../../hooks/useReferenceArrayField.mjs";
22
+ import "../../hooks/useTreeWithDetails.mjs";
23
+ import "../../hooks/useFormGrid.mjs";
24
+ import "../../hooks/useReferenceArrayInput.mjs";
25
+ import { EpDelete as D } from "../../icons/EpDelete.mjs";
26
+ import { skyConfig as L } from "../../setup/index.mjs";
27
+ import { useAsyncState as j } from "@vueuse/core";
28
+ import { ElSkeleton as I, ElAlert as N, ElText as P, ElPopconfirm as V, ElButton as B, ElTable as M, ElTableColumn as p } from "element-plus";
29
+ import { useI18n as O } from "vue-i18n";
30
+ import { useRoute as q } from "vue-router";
31
+ import { SkyCanAccess as z } from "../can-access/index.mjs";
32
+ function F(o) {
33
+ return typeof o == "function" || Object.prototype.toString.call(o) === "[object Object]" && !w(o);
34
+ }
35
+ const ke = /* @__PURE__ */ E({
36
+ name: "SkyDataTable",
37
+ inheritAttrs: !1,
38
+ props: {
39
+ id: {
40
+ type: String,
41
+ default: "id"
42
+ }
43
+ },
44
+ setup(o, {
45
+ slots: c,
46
+ attrs: u
47
+ }) {
48
+ const {
49
+ t: a
50
+ } = O(), i = q(), {
51
+ getList: d,
52
+ listLoading: f,
53
+ listData: y
54
+ } = A(), g = i.meta, b = T("tableRef"), r = h([]), n = (e) => {
55
+ r.value = e;
56
+ }, m = () => {
57
+ r.value = [], b.value?.clearSelection();
58
+ }, v = async () => {
59
+ await k(), await d(), m();
60
+ };
61
+ let s;
62
+ const {
63
+ isLoading: S,
64
+ execute: k
65
+ } = j(async () => {
66
+ if (r.value.map((l) => String(l[o.id])).length)
67
+ return s = new AbortController(), L.dataProvider?.deleteMany?.(i.meta.resource, {
68
+ ids: r.value.map((l) => String(l[o.id])),
69
+ signal: s.signal
70
+ });
71
+ }, void 0, {
72
+ immediate: !1
73
+ }), C = x(() => !!(S.value || f.value));
74
+ return () => t(I, {
75
+ loading: C.value,
76
+ animated: !0
77
+ }, {
78
+ default: () => [t("div", {
79
+ class: "sky-data-table"
80
+ }, [t(z, {
81
+ resource: g.resource,
82
+ action: "delete"
83
+ }, {
84
+ default: () => [r.value.length > 0 && t(N, {
85
+ class: "sky-data-table__alert",
86
+ type: "primary",
87
+ onClose: m
88
+ }, {
89
+ default: () => [t(P, {
90
+ type: "primary"
91
+ }, {
92
+ default: () => [r.value.length, R(" "), a("selectedItems")]
93
+ }), t(V, {
94
+ title: a("popconfirm.remove"),
95
+ onConfirm: v
96
+ }, {
97
+ reference: () => {
98
+ let e;
99
+ return t(B, {
100
+ text: !0,
101
+ type: "danger",
102
+ icon: D
103
+ }, F(e = a("button.remove")) ? e : {
104
+ default: () => [e]
105
+ });
106
+ }
107
+ })]
108
+ })]
109
+ }), t(M, _({
110
+ ref: "tableRef",
111
+ class: "sky-data-table__main",
112
+ data: y.value?.data,
113
+ border: !0,
114
+ onSelect: (e) => n(e),
115
+ "onSelect-all": (e) => n(e)
116
+ }, u), {
117
+ default: () => [t(p, {
118
+ type: "selection"
119
+ }, null), t(p, {
120
+ type: "index",
121
+ label: "#",
122
+ width: "50"
123
+ }, null), c.default?.()]
124
+ })])]
125
+ });
126
+ }
127
+ });
128
+ export {
129
+ ke as SkyDataTable
130
+ };
131
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/data-table/index.tsx"],"sourcesContent":["import { useList } from '@/hooks'\r\nimport { EpDelete } from '@/icons/EpDelete'\r\nimport type { DeleteManyResult } from '@/provides'\r\nimport { skyConfig } from '@/setup'\r\nimport { useAsyncState } from '@vueuse/core'\r\nimport {\r\n ElAlert,\r\n ElButton,\r\n ElPopconfirm,\r\n ElSkeleton,\r\n ElTable,\r\n ElTableColumn,\r\n ElText,\r\n type TableProps,\r\n} from 'element-plus'\r\nimport { computed, defineComponent, shallowRef, useTemplateRef } from 'vue'\r\nimport { useI18n } from 'vue-i18n'\r\nimport { useRoute } from 'vue-router'\r\nimport { SkyCanAccess } from '../can-access'\r\nimport type { SkyLayoutRouteMeta } from '@/router'\r\n\r\nexport interface SkyDataTableProps {\r\n id?: string\r\n}\r\n\r\nexport const SkyDataTable = defineComponent<\r\n SkyDataTableProps & Partial<TableProps<Record<string, unknown>>>\r\n>({\r\n name: 'SkyDataTable',\r\n inheritAttrs: false,\r\n props: {\r\n id: {\r\n type: String,\r\n default: 'id',\r\n },\r\n },\r\n setup(props, { slots, attrs }) {\r\n const { t } = useI18n()\r\n const route = useRoute()\r\n const { getList, listLoading, listData } = useList()!\r\n const routeMeta = route.meta as SkyLayoutRouteMeta\r\n\r\n const tableRef = useTemplateRef<InstanceType<typeof ElTable> | null>('tableRef')\r\n const selectedItems = shallowRef<Record<string, unknown>[]>([])\r\n const onSelect = (selection: Record<string, unknown>[]) => {\r\n selectedItems.value = selection\r\n }\r\n const onClose = () => {\r\n selectedItems.value = []\r\n tableRef.value?.clearSelection()\r\n }\r\n const onDelete = async () => {\r\n await execute()\r\n await getList()\r\n onClose()\r\n }\r\n\r\n let controller: AbortController | undefined\r\n const { isLoading: deleteLoading, execute } = useAsyncState<DeleteManyResult | undefined>(\r\n async () => {\r\n const ids = selectedItems.value.map((item) => String(item[props.id!]))\r\n if (ids.length) {\r\n controller = new AbortController()\r\n return skyConfig.dataProvider?.deleteMany?.(route.meta.resource as string, {\r\n ids: selectedItems.value.map((item) => String(item[props.id!])),\r\n signal: controller.signal,\r\n })\r\n }\r\n },\r\n undefined,\r\n {\r\n immediate: false,\r\n },\r\n )\r\n\r\n const loading = computed<boolean>(() => Boolean(deleteLoading.value || listLoading.value))\r\n\r\n return () => (\r\n <ElSkeleton loading={loading.value} animated>\r\n <div class=\"sky-data-table\">\r\n <SkyCanAccess resource={routeMeta.resource} action=\"delete\">\r\n {selectedItems.value.length > 0 && (\r\n <ElAlert class=\"sky-data-table__alert\" type=\"primary\" onClose={onClose}>\r\n <ElText type=\"primary\">\r\n {selectedItems.value.length} {t('selectedItems')}\r\n </ElText>\r\n <ElPopconfirm title={t('popconfirm.remove')} onConfirm={onDelete}>\r\n {{\r\n reference: () => (\r\n <ElButton text type=\"danger\" icon={EpDelete}>\r\n {t('button.remove')}\r\n </ElButton>\r\n ),\r\n }}\r\n </ElPopconfirm>\r\n </ElAlert>\r\n )}\r\n </SkyCanAccess>\r\n <ElTable\r\n ref=\"tableRef\"\r\n class=\"sky-data-table__main\"\r\n data={listData.value?.data}\r\n border\r\n onSelect={(selection) => onSelect(selection)}\r\n onSelect-all={(selection) => onSelect(selection)}\r\n {...attrs}\r\n >\r\n <ElTableColumn type=\"selection\" />\r\n <ElTableColumn type=\"index\" label=\"#\" width=\"50\" />\r\n {slots.default?.()}\r\n </ElTable>\r\n </div>\r\n </ElSkeleton>\r\n )\r\n },\r\n})\r\n"],"names":["_isSlot","s","_isVNode","SkyDataTable","defineComponent","name","inheritAttrs","props","id","type","default","attrs","t","route","useRoute","listData","routeMeta","tableRef","useTemplateRef","selectedItems","shallowRef","onDelete","onClose","controller","isLoading","execute","item","ids","immediate","loading","computed","deleteLoading","listLoading","reference","_slot","_createVNode","ElTable","_mergeProps","selection","onSelect","slots"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkB4C,SAAAA,EAAAC,GAAA;AAAA,SAAA,OAAAA,KAAA,cAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,MAAA,qBAAA,CAAAC,EAAAD,CAAA;AAAA;AAO5C,MAAAE,KAAA,gBAAAC,EAAA;AAAA,EAGEC,MAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,IACEC,IAAAA;AAAAA,MACEC,MAAAA;AAAAA,MACAC,SAAAA;AAAAA,IACF;AAAA;;;IAEoBC,OAAAA;AAAAA,EAAM,GAAA;;MAClBC,GAAAA;AAAAA,aACRC,IAAAC,EAAA;;;MAC8BC,UAAAA;AAAAA,aAC9BC,IAAAH,EAAA,MAEAI,IAAAC,EAAA,UAAA,GACAC,IAAAC,EAAA,EAAA;;;oBAMEH,EAAAA,OAAAA,eAAAA;AAAAA,OAEFI,IAAA,YAAA;4BAGEC,EAAAA;AAAAA;AAGF,QAAAC;;MACQC,WAAAA;AAAAA,MAA0BC,SAAAA;AAAAA;UAE9BN,EAAA,MAAA,IAAA,CAAAO,MAAA,OAAAA,EAAAnB,EAAA,EAAA,CAAA,CAAA;AAEEgB,eAAAA,IAAAA,IAAAA,gBAAAA;UAEEI,KAAAA,EAAAA,MAAAA,IAAAA,CAAAA,MAAAA,OAAAA,EAAAA,EAAAA,EAAAA,CAAAA,CAAAA;AAAAA;QAEF,CAAA;AAAA;MAKFC,WAAAA;AAAAA,IACF,CAAA,GAGFC,IAAAC,EAAA,MAAA,GAAAC,EAAA,SAAAC,EAAA,MAAA;;;MAGoC,UAAA;AAAA,IAAA,GAAA;AAAA;QAAA,OAAA;AAAA;;QAEY,QAAA;AAAA,MAAA,GAAA;AAAA,QAAAtB,SAAAA,MAAAA,CAAAA,EAAAA,MAAAA,SAAAA,KAAAA,EAAAA,GAAAA;AAAAA,UACT,OAAA;AAAA,UAAA,MAAA;AAAA;QACyC,GAAA;AAAA,UAAAA,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA;AAAAA,YAAA,MAAA;AAAA,UAAA,GAAA;AAAA,YAAAA,SAAAA,MAAAA,CAAAA,EAAAA,MAAAA,QAAAA,EAAAA,GAAAA,GAAAA,EAAAA,eAAAA,CAAAA;AAAAA;;;UAIJ,GAAA;AAAA,YAE5DuB,WAAAA,MAAAA;AAAW,kBAAAC;;gBAAA,MAAA;AAAA,gBAAA,MAAA;AAAA;;;cAEY,CAAA;AAAA,YAAA;AAAA,UAEtB,CAAA,CAAA;AAAA;MAIR,CAAA,GAAAC,EAAAC,GAAAC,EAAA;AAAA,QAAA,KAAA;AAAA,QAAA,OAAA;AAAA,QAAA,MAAAtB,EAAA,OAAA;AAAA,QAKyB,QAAA;AAAA,QAAA,UAAA,CAAAuB,MAAAC,EAAAD,CAAA;AAAA,QAEkB,gBAAA,CAAAA,MAAAC,EAAAD,CAAA;AAAA,MACI,GAAA3B,CAAA,GAAA;AAAA,QACvCD,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA;AAAAA,UAAA,MAAA;AAAA;UAAA,MAAA;AAAA,UAAA,OAAA;AAAA,UAAA,OAAA;AAAA,QAAA,GAAA,IAAA,GAAA8B,EAAA,UAAA,CAAA;AAAA,MAIS,CAAA,CAAA,CAAA,CAAA;AAAA;EAK5B;AACF,CAAA;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/table-column/style/css");const r=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");const q=require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");const d=require("element-plus"),m=require("vue-router"),b=require("../can-access/index.cjs"),f=r.defineComponent({name:"SkyDataTableCol",inheritAttrs:!1,props:{source:String,label:String},setup(e,{slots:i,attrs:l}){const n=m.useRoute(),{addExportColumn:a}=q.useList(),u=i.default?.(),t=r.computed(()=>e.label||e.source||""),c=n.meta;return e.source&&a({[e.source]:t.value}),()=>r.createVNode(b.SkyCanAccess,{resource:c.resource,action:"list",column:e.source},{default:()=>[r.createVNode(d.ElTableColumn,r.mergeProps({prop:e.source,label:t.value},l),{default:o=>{if(u&&o.$index>-1)return u.map(s=>r.cloneVNode(s,{row:o.row}))}})]})}});exports.SkyDataTableCol=f;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/data-table-col/index.tsx"],"sourcesContent":["import { useList } from '@/hooks'\r\nimport { ElTableColumn, type TableColumnCtx } from 'element-plus'\r\nimport { cloneVNode, computed, defineComponent, type Reactive } from 'vue'\r\nimport { useRoute } from 'vue-router'\r\nimport { SkyCanAccess } from '../can-access'\r\nimport type { SkyLayoutRouteMeta } from '@/router'\r\n\r\nexport interface DateTableProps {\r\n source?: string\r\n label?: string\r\n}\r\n\r\nexport interface ElTableColumnScope {\r\n row: Reactive<Record<string, unknown>>\r\n column: TableColumnCtx\r\n $index: number\r\n}\r\n\r\nexport const SkyDataTableCol = defineComponent<DateTableProps>({\r\n name: 'SkyDataTableCol',\r\n inheritAttrs: false,\r\n props: {\r\n source: String,\r\n label: String,\r\n },\r\n setup(props, { slots, attrs }) {\r\n const route = useRoute()\r\n const { addExportColumn } = useList()!\r\n const children = slots.default?.()\r\n const title = computed<string>(() => props.label || props.source || '')\r\n const routeMeta = route.meta as SkyLayoutRouteMeta\r\n if (props.source) {\r\n addExportColumn({ [props.source]: title.value })\r\n }\r\n\r\n // h(vnode.type as Component, { key: i, scope, ...vnode.props }) 等效于 cloneVNode(vnode, { row... })\r\n return () => (\r\n <SkyCanAccess resource={routeMeta.resource} action=\"list\" column={props.source}>\r\n <ElTableColumn prop={props.source} label={title.value} {...attrs}>\r\n {(scope: ElTableColumnScope) => {\r\n if (children && scope.$index > -1) {\r\n return children.map((vnode) => cloneVNode(vnode, { row: scope['row'] }))\r\n }\r\n }}\r\n </ElTableColumn>\r\n </SkyCanAccess>\r\n )\r\n },\r\n})\r\n"],"names":["SkyDataTableCol","defineComponent","name","inheritAttrs","props","source","label","attrs","route","useRoute","addExportColumn","children","slots","title","computed","routeMeta","default"],"mappings":"63BAkBAA,EAAAC,EAAAA,gBAAA,CACEC,KAAAA,kBACAC,aAAAA,GACAC,MAAAA,CACEC,OAAAA,OACAC,MAAAA,yBAEoBC,MAAAA,CAAM,EAAA,CAC1B,MAAAC,EAAAC,EAAAA,SAAA,GACQC,gBAAAA,eACRC,EAAAC,EAAA,UAAA,EACAC,EAAAC,EAAAA,SAAA,IAAAV,EAAA,OAAAA,EAAA,QAAA,EAAA,EACAW,EAAAP,EAAA,sBAEEE,EAAAA,CAAkB,CAAAN,EAAA,MAAA,EAAAS,EAAA,KAA4B,CAAA,wDAKJ,OAAA,OAAA,OAAAT,EAAA,MAAoC,EAAA,CAAAY,QAAAA,IAAAA,CAAAA,cAAAA,EAAAA,cAAAA,EAAAA,WAAAA,eAC3C,MAAAH,EAAA,KAAoB,EAAAN,CAAA,EAAA,wEAGsB,CAAA,CAAA,CAEzE,CAAC,CAAA,CAAA,GAIT,CACF,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { TableColumnCtx } from 'element-plus';
2
+ import { Reactive } from 'vue';
3
+ export interface DateTableProps {
4
+ source?: string;
5
+ label?: string;
6
+ }
7
+ export interface ElTableColumnScope {
8
+ row: Reactive<Record<string, unknown>>;
9
+ column: TableColumnCtx;
10
+ $index: number;
11
+ }
12
+ export declare const SkyDataTableCol: import('vue').DefineComponent<DateTableProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<DateTableProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,60 @@
1
+ import "element-plus/es/components/table-column/style/css";
2
+ import { defineComponent as p, computed as s, createVNode as m, mergeProps as f, cloneVNode as d } from "vue";
3
+ import "../../hooks/useUser.mjs";
4
+ import "../../hooks/usePermission.mjs";
5
+ import "../../hooks/useMenu.mjs";
6
+ import "../../hooks/useTab.mjs";
7
+ import "../../hooks/useRouteKeepAlive.mjs";
8
+ import "../../hooks/useSize.mjs";
9
+ import "../../hooks/useLang.mjs";
10
+ import "../../hooks/useTheme.mjs";
11
+ import { useList as b } from "../../hooks/useList.mjs";
12
+ import "../../hooks/useHiddenTitle.mjs";
13
+ import "../../hooks/useForm.mjs";
14
+ import "../../hooks/useShow.mjs";
15
+ import "../../hooks/useReferenceArrayField.mjs";
16
+ import "../../hooks/useTreeWithDetails.mjs";
17
+ import "../../hooks/useFormGrid.mjs";
18
+ import "../../hooks/useReferenceArrayInput.mjs";
19
+ import { ElTableColumn as C } from "element-plus";
20
+ import { useRoute as S } from "vue-router";
21
+ import { SkyCanAccess as g } from "../can-access/index.mjs";
22
+ const F = /* @__PURE__ */ p({
23
+ name: "SkyDataTableCol",
24
+ inheritAttrs: !1,
25
+ props: {
26
+ source: String,
27
+ label: String
28
+ },
29
+ setup(o, {
30
+ slots: i,
31
+ attrs: l
32
+ }) {
33
+ const u = S(), {
34
+ addExportColumn: a
35
+ } = b(), t = i.default?.(), r = s(() => o.label || o.source || ""), n = u.meta;
36
+ return o.source && a({
37
+ [o.source]: r.value
38
+ }), () => m(g, {
39
+ resource: n.resource,
40
+ action: "list",
41
+ column: o.source
42
+ }, {
43
+ default: () => [m(C, f({
44
+ prop: o.source,
45
+ label: r.value
46
+ }, l), {
47
+ default: (e) => {
48
+ if (t && e.$index > -1)
49
+ return t.map((c) => d(c, {
50
+ row: e.row
51
+ }));
52
+ }
53
+ })]
54
+ });
55
+ }
56
+ });
57
+ export {
58
+ F as SkyDataTableCol
59
+ };
60
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/data-table-col/index.tsx"],"sourcesContent":["import { useList } from '@/hooks'\r\nimport { ElTableColumn, type TableColumnCtx } from 'element-plus'\r\nimport { cloneVNode, computed, defineComponent, type Reactive } from 'vue'\r\nimport { useRoute } from 'vue-router'\r\nimport { SkyCanAccess } from '../can-access'\r\nimport type { SkyLayoutRouteMeta } from '@/router'\r\n\r\nexport interface DateTableProps {\r\n source?: string\r\n label?: string\r\n}\r\n\r\nexport interface ElTableColumnScope {\r\n row: Reactive<Record<string, unknown>>\r\n column: TableColumnCtx\r\n $index: number\r\n}\r\n\r\nexport const SkyDataTableCol = defineComponent<DateTableProps>({\r\n name: 'SkyDataTableCol',\r\n inheritAttrs: false,\r\n props: {\r\n source: String,\r\n label: String,\r\n },\r\n setup(props, { slots, attrs }) {\r\n const route = useRoute()\r\n const { addExportColumn } = useList()!\r\n const children = slots.default?.()\r\n const title = computed<string>(() => props.label || props.source || '')\r\n const routeMeta = route.meta as SkyLayoutRouteMeta\r\n if (props.source) {\r\n addExportColumn({ [props.source]: title.value })\r\n }\r\n\r\n // h(vnode.type as Component, { key: i, scope, ...vnode.props }) 等效于 cloneVNode(vnode, { row... })\r\n return () => (\r\n <SkyCanAccess resource={routeMeta.resource} action=\"list\" column={props.source}>\r\n <ElTableColumn prop={props.source} label={title.value} {...attrs}>\r\n {(scope: ElTableColumnScope) => {\r\n if (children && scope.$index > -1) {\r\n return children.map((vnode) => cloneVNode(vnode, { row: scope['row'] }))\r\n }\r\n }}\r\n </ElTableColumn>\r\n </SkyCanAccess>\r\n )\r\n },\r\n})\r\n"],"names":["SkyDataTableCol","defineComponent","name","inheritAttrs","props","source","label","attrs","route","useRoute","addExportColumn","children","slots","title","computed","routeMeta","default"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,IACEC,QAAAA;AAAAA,IACAC,OAAAA;AAAAA;;;IAEoBC,OAAAA;AAAAA,EAAM,GAAA;AAC1B,UAAAC,IAAAC,EAAA;MACQC,iBAAAA;AAAAA,aACRC,IAAAC,EAAA,UAAA,GACAC,IAAAC,EAAA,MAAAV,EAAA,SAAAA,EAAA,UAAA,EAAA,GACAW,IAAAP,EAAA;uBAEEE,EAAAA;AAAAA,MAAkB,CAAAN,EAAA,MAAA,GAAAS,EAAA;AAAA,IAA4B,CAAA;;MAKJ,QAAA;AAAA,MAAA,QAAAT,EAAA;AAAA,IAAoC,GAAA;AAAA,MAAAY,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA,EAAAA;AAAAA;QAC3C,OAAAH,EAAA;AAAA,MAAoB,GAAAN,CAAA,GAAA;AAAA;;;;YAGsB,CAAA,CAAA;AAAA,QAEzE;AAAA,MAAC,CAAA,CAAA;AAAA;EAIT;AACF,CAAA;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/button/style/css");require("element-plus/es/components/card/style/css");require("element-plus/es/components/popconfirm/style/css");require("element-plus/es/components/skeleton/style/css");const t=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");const R=require("../../hooks/useTab.cjs"),I=require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");const _=require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");const h=require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");const j=require("../../icons/EpDelete.cjs"),M=require("../../icons/EpDocumentAdd.cjs"),m=require("../../setup/index.cjs"),f=require("@vueuse/core"),o=require("element-plus"),K=require("vue-i18n"),b=require("vue-router"),W=require("../can-access/index.cjs");function S(r){return typeof r=="function"||Object.prototype.toString.call(r)==="[object Object]"&&!t.isVNode(r)}const B=t.defineComponent({name:"SkyEdit",inheritAttrs:!1,props:{dataId:[String,Number]},setup(r,{slots:A,attrs:E}){const{t:u}=K.useI18n(),k=b.useRouter(),i=b.useRoute(),{removeTab:C,lastTab:s}=R.useTab(),l=t.computed(()=>r.dataId?r.dataId:i.params.id),{formData:N,formRef:v,editData:c}=_.useProvideForm(),n=h.useTreeWithDetails(),{removeKeepAlive:D}=I.useRouteKeepAlive(),d=i.meta;let q;const{isLoading:V,execute:w}=f.useAsyncState(async()=>{q=new AbortController;const e=await m.skyConfig.dataProvider?.getOne?.(i.meta.resource,{id:l.value,signal:q.signal});if(e?.data)return c.value=e.data,e},void 0,{immediate:!0});let g;const{isLoading:x,execute:P}=f.useAsyncState(async e=>(g=new AbortController,m.skyConfig.dataProvider?.update?.(i.meta.resource,{id:l.value,data:e,signal:g.signal})),void 0,{immediate:!1}),O=async()=>{if(!v.value||!await v.value.validate())return;const a=await P(0,{...N});a&&(n?.editSuccess?n.editSuccess(a):(o.ElMessage.success(u("submit.success")),c.value=null,await w()))};let p;const{isLoading:y,execute:T}=f.useAsyncState(async()=>(p=new AbortController,m.skyConfig.dataProvider?.deleteMany?.(i.meta.resource,{ids:[l.value],signal:p.signal})),void 0,{immediate:!1}),L=async()=>{const e=await T();e&&(n?.deleteSuccess?n.deleteSuccess(e):(d.keepAliveName&&D(d.keepAliveName),C(i.name),s.value&&k.replace({name:s.value.routeName,params:s.value.routeParams})))};return()=>t.createVNode("div",{class:"sky-edit"},[t.createVNode(W.SkyCanAccess,{resource:d.resource,action:"edit"},{default:()=>[t.createVNode(o.ElCard,E,{default:()=>t.createVNode(o.ElSkeleton,{loading:V.value,animated:!0},{default:()=>[c.value&&A.default?.()]}),footer:()=>{let e;return t.createVNode("div",{class:"sky-edit__footer"},[t.createVNode(o.ElButton,{type:"primary",icon:M.EpDocumentAdd,loading:x.value,onClick:O,disabled:y.value},S(e=u("button.submit"))?e:{default:()=>[e]}),t.createVNode(o.ElPopconfirm,{title:u("popconfirm.remove"),onConfirm:L},{reference:()=>{let a;return t.createVNode(o.ElButton,{type:"danger",text:!0,icon:j.EpDelete,disabled:y.value},S(a=u("button.remove"))?a:{default:()=>[a]})}})])}})]})])}});exports.SkyEdit=B;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/edit/index.tsx"],"sourcesContent":["import { useProvideForm, useRouteKeepAlive, useTab, useTreeWithDetails } from '@/hooks'\nimport { EpDelete } from '@/icons/EpDelete'\nimport { EpDocumentAdd } from '@/icons/EpDocumentAdd'\nimport type { DeleteManyResult, GetOneResult, Identifier, UpdateResult } from '@/provides'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport { skyConfig } from '@/setup'\nimport { useAsyncState } from '@vueuse/core'\nimport { ElButton, ElCard, ElMessage, ElPopconfirm, ElSkeleton, type CardProps } from 'element-plus'\nimport { computed, defineComponent } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport interface SkyEditProps {\n dataId?: Identifier\n}\n\nexport const SkyEdit = defineComponent<SkyEditProps & Partial<CardProps>>({\n name: 'SkyEdit',\n inheritAttrs: false,\n props: {\n dataId: [String, Number],\n },\n setup(props, { slots, attrs }) {\n const { t } = useI18n()\n const router = useRouter()\n const route = useRoute()\n const { removeTab, lastTab } = useTab()\n const id = computed<Identifier>(() => {\n if (props.dataId) {\n return props.dataId\n }\n return route.params.id as Identifier\n })\n const { formData, formRef, editData } = useProvideForm()\n const treeWithDetails = useTreeWithDetails()\n const { removeKeepAlive } = useRouteKeepAlive()\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n // 获取详情\n let getOneController: AbortController | undefined\n const { isLoading: getOneLoading, execute: getOneExecute } = useAsyncState<\n GetOneResult | undefined\n >(\n async () => {\n getOneController = new AbortController()\n const res = await skyConfig.dataProvider?.getOne?.(route.meta.resource as string, {\n id: id.value,\n signal: getOneController.signal,\n })\n if (res?.data) {\n editData.value = res.data\n return res\n }\n },\n undefined,\n {\n immediate: true,\n },\n )\n\n // 更新接口\n let controller: AbortController | undefined\n const { isLoading: submitLoading, execute } = useAsyncState<\n UpdateResult | undefined,\n [data: Record<string, unknown>]\n >(\n async (data) => {\n controller = new AbortController()\n return skyConfig.dataProvider?.update?.(route.meta.resource as string, {\n id: id.value,\n data,\n signal: controller.signal,\n })\n },\n undefined,\n {\n immediate: false,\n },\n )\n\n const onSubmit = async () => {\n if (!formRef.value) {\n return\n }\n const valid = await formRef.value.validate()\n if (!valid) {\n return\n }\n const save = await execute(0, { ...formData })\n if (save) {\n if (treeWithDetails?.editSuccess) {\n treeWithDetails.editSuccess(save)\n } else {\n ElMessage.success(t('submit.success'))\n editData.value = null\n await getOneExecute()\n }\n }\n }\n\n // 删除接口\n let deleteController: AbortController | undefined\n const { isLoading: deleteLoading, execute: deleteExecute } = useAsyncState<\n DeleteManyResult | undefined\n >(\n async () => {\n deleteController = new AbortController()\n return skyConfig.dataProvider?.deleteMany?.(route.meta.resource as string, {\n ids: [id.value],\n signal: deleteController.signal,\n })\n },\n undefined,\n {\n immediate: false,\n },\n )\n\n const onDelete = async () => {\n const res = await deleteExecute()\n if (res) {\n if (treeWithDetails?.deleteSuccess) {\n treeWithDetails.deleteSuccess(res)\n } else {\n if (routeMeta.keepAliveName) {\n removeKeepAlive(routeMeta.keepAliveName)\n }\n removeTab(route.name as string)\n if (lastTab.value) {\n router.replace({ name: lastTab.value.routeName, params: lastTab.value.routeParams })\n }\n }\n }\n }\n\n return () => (\n <div class=\"sky-edit\">\n <SkyCanAccess resource={routeMeta.resource} action=\"edit\">\n <ElCard {...attrs}>\n {{\n default: () => (\n <ElSkeleton loading={getOneLoading.value} animated>\n {editData.value && slots.default?.()}\n </ElSkeleton>\n ),\n footer: () => (\n <div class=\"sky-edit__footer\">\n <ElButton\n type=\"primary\"\n icon={EpDocumentAdd}\n loading={submitLoading.value}\n onClick={onSubmit}\n disabled={deleteLoading.value}\n >\n {t('button.submit')}\n </ElButton>\n <ElPopconfirm title={t('popconfirm.remove')} onConfirm={onDelete}>\n {{\n reference: () => (\n <ElButton type=\"danger\" text icon={EpDelete} disabled={deleteLoading.value}>\n {t('button.remove')}\n </ElButton>\n ),\n }}\n </ElPopconfirm>\n </div>\n ),\n }}\n </ElCard>\n </SkyCanAccess>\n </div>\n )\n },\n})\n"],"names":["_isSlot","s","_isVNode","SkyEdit","defineComponent","name","inheritAttrs","props","dataId","attrs","t","router","useRouter","route","useRoute","lastTab","id","computed","editData","treeWithDetails","useTreeWithDetails","removeKeepAlive","routeMeta","getOneController","isLoading","execute","res","skyConfig","immediate","controller","useAsyncState","data","onSubmit","formRef","save","ElMessage","deleteController","ids","onDelete","deleteExecute","removeTab","params","_createVNode","default","footer","_slot","EpDocumentAdd","deleteLoading","reference","_slot2","EpDelete"],"mappings":"stCAW4C,SAAAA,EAAAC,EAAA,CAAA,OAAA,OAAAA,GAAA,YAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,IAAA,mBAAA,CAAAC,EAAAA,QAAAD,CAAA,CAAA,CAM5C,MAAAE,EAAAC,EAAAA,gBAAA,CACEC,KAAAA,UACAC,aAAAA,GACAC,MAAAA,CACEC,OAAAA,CAAAA,OAAAA,MAAAA,oBAEoBC,MAAAA,CAAM,EAAA,OAClBC,EAAAA,eACRC,EAAAC,EAAAA,UAAA,EACAC,EAAAC,EAAAA,SAAA,eACmBC,QAAAA,cACnBC,EAAAC,EAAAA,SAAA,sBAIEJ,EAAA,OAAA,EACF,wBAC2BK,SAAAA,sBAC3BC,EAAAC,EAAAA,mBAAA,GACQC,gBAAAA,yBACRC,EAAAT,EAAA,KAGA,IAAAU,QACQC,UAAAA,EAA0BC,QAAAA,6BAI9BF,EAAAA,IAAAA,gBACA,MAAAG,EAAA,MAAAC,YAAA,cAAA,SAAAd,EAAA,KAAA,SAAA,2BAGA,CAAA,aAEEK,OAAAA,EAAAA,MAAAA,EAAAA,KACAQ,WAKFE,UAAAA,EACF,CAAA,EAIF,IAAAC,QACQL,UAAAA,EAA0BC,QAAAA,CAAQ,EAAAK,EAAAA,cAAA,MAAAC,IAKtCF,EAAAA,IAAAA,qGAKA,CAAA,WAIAD,UAAAA,EACF,CAAA,EAGFI,EAAA,SAAA,IACE,CAAAC,EAAA,iCAKE,OAEF,MAAAC,EAAA,MAAAT,EAAA,EAAA,KAA4C,CAAA,EAC5CS,mBAEIf,EAAAA,YAAAA,CAAAA,GAEAgB,EAAAA,UAAAA,QAAAA,EAAAA,gBAAAA,CAAAA,4BAQN,IAAAC,QACQZ,UAAAA,EAA0BC,QAAAA,6BAI9BW,EAAAA,IAAAA,wEAEEC,IAAAA,CAAAA,EAAAA,KAAAA,iBAEF,CAAA,WAIAT,UAAAA,EACF,CAAA,EAGFU,EAAA,SAAA,CACE,MAAAZ,EAAA,MAAAa,EAAA,EACAb,qBAEIP,EAAAA,cAAAA,CAAAA,oBAGEE,EAAAA,EAAAA,aAAAA,EAEFmB,EAAAA,EAAAA,IAAAA,sBAEmBnC,KAAAA,EAAAA,MAAAA,UAA+BoC,OAAAA,EAAAA,MAAAA,WAAkC,CAAA,KAM1F,MAAA,IAAAC,EAAAA,YAAA,MAAA,CAAO,MAAA,+DAEuC,OAAA,MAAA,EAAA,CAAAC,QAAAA,IAAAA,CAAAA,cAAAA,EAAAA,OAAAA,EAAAA,CAGpCA,QAAAA,IAAAA,EAAAA,YAAAA,aAAAA,iBAC0C,SAAA,EAAA,EAAA,wCAI1CC,OAAAA,IAAAA,CAAQ,IAAAC,EAAA,OAAAH,EAAAA,YAAA,MAAA,CAAA,MAAA,+CAAA,KAAA,UAAA,KAAAI,EAAAA,8BAK0B,QAAAd,EACX,SAAAe,EAAA,0HAK6C,EAAA,CAE5DC,UAAAA,IAAAA,CAAW,IAAAC,mCAAA,KAAA,SAAA,KAAA,GAAA,KAAAC,EAAAA,SACkC,SAAAH,EAAA,iDACtB,CAAA,CAAA,CAEtB,CAAA,CAAA,CAAA,CAAA,CAIR,CAAA,CAAA,KAMb,CACF,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Identifier } from '../../provides';
2
+ import { CardProps } from 'element-plus';
3
+ export interface SkyEditProps {
4
+ dataId?: Identifier;
5
+ }
6
+ export declare const SkyEdit: import('vue').DefineComponent<SkyEditProps & Partial<CardProps>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SkyEditProps & Partial<CardProps>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,153 @@
1
+ import "element-plus/es/components/button/style/css";
2
+ import "element-plus/es/components/card/style/css";
3
+ import "element-plus/es/components/popconfirm/style/css";
4
+ import "element-plus/es/components/skeleton/style/css";
5
+ import { defineComponent as R, computed as T, createVNode as t, isVNode as h } from "vue";
6
+ import "../../hooks/useUser.mjs";
7
+ import "../../hooks/usePermission.mjs";
8
+ import "../../hooks/useMenu.mjs";
9
+ import { useTab as j } from "../../hooks/useTab.mjs";
10
+ import { useRouteKeepAlive as M } from "../../hooks/useRouteKeepAlive.mjs";
11
+ import "../../hooks/useSize.mjs";
12
+ import "../../hooks/useLang.mjs";
13
+ import "../../hooks/useTheme.mjs";
14
+ import "../../hooks/useList.mjs";
15
+ import "../../hooks/useHiddenTitle.mjs";
16
+ import { useProvideForm as K } from "../../hooks/useForm.mjs";
17
+ import "../../hooks/useShow.mjs";
18
+ import "../../hooks/useReferenceArrayField.mjs";
19
+ import { useTreeWithDetails as V } from "../../hooks/useTreeWithDetails.mjs";
20
+ import "../../hooks/useFormGrid.mjs";
21
+ import "../../hooks/useReferenceArrayInput.mjs";
22
+ import { EpDelete as W } from "../../icons/EpDelete.mjs";
23
+ import { EpDocumentAdd as B } from "../../icons/EpDocumentAdd.mjs";
24
+ import { skyConfig as d } from "../../setup/index.mjs";
25
+ import { useAsyncState as c } from "@vueuse/core";
26
+ import { ElCard as F, ElButton as y, ElPopconfirm as q, ElSkeleton as z, ElMessage as G } from "element-plus";
27
+ import { useI18n as H } from "vue-i18n";
28
+ import { useRouter as J, useRoute as Q } from "vue-router";
29
+ import { SkyCanAccess as U } from "../can-access/index.mjs";
30
+ function S(o) {
31
+ return typeof o == "function" || Object.prototype.toString.call(o) === "[object Object]" && !h(o);
32
+ }
33
+ const xe = /* @__PURE__ */ R({
34
+ name: "SkyEdit",
35
+ inheritAttrs: !1,
36
+ props: {
37
+ dataId: [String, Number]
38
+ },
39
+ setup(o, {
40
+ slots: A,
41
+ attrs: C
42
+ }) {
43
+ const {
44
+ t: a
45
+ } = H(), E = J(), r = Q(), {
46
+ removeTab: k,
47
+ lastTab: s
48
+ } = j(), l = T(() => o.dataId ? o.dataId : r.params.id), {
49
+ formData: w,
50
+ formRef: p,
51
+ editData: u
52
+ } = K(), n = V(), {
53
+ removeKeepAlive: x
54
+ } = M(), m = r.meta;
55
+ let f;
56
+ const {
57
+ isLoading: D,
58
+ execute: L
59
+ } = c(async () => {
60
+ f = new AbortController();
61
+ const e = await d.dataProvider?.getOne?.(r.meta.resource, {
62
+ id: l.value,
63
+ signal: f.signal
64
+ });
65
+ if (e?.data)
66
+ return u.value = e.data, e;
67
+ }, void 0, {
68
+ immediate: !0
69
+ });
70
+ let v;
71
+ const {
72
+ isLoading: N,
73
+ execute: O
74
+ } = c(async (e) => (v = new AbortController(), d.dataProvider?.update?.(r.meta.resource, {
75
+ id: l.value,
76
+ data: e,
77
+ signal: v.signal
78
+ })), void 0, {
79
+ immediate: !1
80
+ }), P = async () => {
81
+ if (!p.value || !await p.value.validate())
82
+ return;
83
+ const i = await O(0, {
84
+ ...w
85
+ });
86
+ i && (n?.editSuccess ? n.editSuccess(i) : (G.success(a("submit.success")), u.value = null, await L()));
87
+ };
88
+ let g;
89
+ const {
90
+ isLoading: b,
91
+ execute: _
92
+ } = c(async () => (g = new AbortController(), d.dataProvider?.deleteMany?.(r.meta.resource, {
93
+ ids: [l.value],
94
+ signal: g.signal
95
+ })), void 0, {
96
+ immediate: !1
97
+ }), I = async () => {
98
+ const e = await _();
99
+ e && (n?.deleteSuccess ? n.deleteSuccess(e) : (m.keepAliveName && x(m.keepAliveName), k(r.name), s.value && E.replace({
100
+ name: s.value.routeName,
101
+ params: s.value.routeParams
102
+ })));
103
+ };
104
+ return () => t("div", {
105
+ class: "sky-edit"
106
+ }, [t(U, {
107
+ resource: m.resource,
108
+ action: "edit"
109
+ }, {
110
+ default: () => [t(F, C, {
111
+ default: () => t(z, {
112
+ loading: D.value,
113
+ animated: !0
114
+ }, {
115
+ default: () => [u.value && A.default?.()]
116
+ }),
117
+ footer: () => {
118
+ let e;
119
+ return t("div", {
120
+ class: "sky-edit__footer"
121
+ }, [t(y, {
122
+ type: "primary",
123
+ icon: B,
124
+ loading: N.value,
125
+ onClick: P,
126
+ disabled: b.value
127
+ }, S(e = a("button.submit")) ? e : {
128
+ default: () => [e]
129
+ }), t(q, {
130
+ title: a("popconfirm.remove"),
131
+ onConfirm: I
132
+ }, {
133
+ reference: () => {
134
+ let i;
135
+ return t(y, {
136
+ type: "danger",
137
+ text: !0,
138
+ icon: W,
139
+ disabled: b.value
140
+ }, S(i = a("button.remove")) ? i : {
141
+ default: () => [i]
142
+ });
143
+ }
144
+ })]);
145
+ }
146
+ })]
147
+ })]);
148
+ }
149
+ });
150
+ export {
151
+ xe as SkyEdit
152
+ };
153
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/edit/index.tsx"],"sourcesContent":["import { useProvideForm, useRouteKeepAlive, useTab, useTreeWithDetails } from '@/hooks'\nimport { EpDelete } from '@/icons/EpDelete'\nimport { EpDocumentAdd } from '@/icons/EpDocumentAdd'\nimport type { DeleteManyResult, GetOneResult, Identifier, UpdateResult } from '@/provides'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport { skyConfig } from '@/setup'\nimport { useAsyncState } from '@vueuse/core'\nimport { ElButton, ElCard, ElMessage, ElPopconfirm, ElSkeleton, type CardProps } from 'element-plus'\nimport { computed, defineComponent } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport interface SkyEditProps {\n dataId?: Identifier\n}\n\nexport const SkyEdit = defineComponent<SkyEditProps & Partial<CardProps>>({\n name: 'SkyEdit',\n inheritAttrs: false,\n props: {\n dataId: [String, Number],\n },\n setup(props, { slots, attrs }) {\n const { t } = useI18n()\n const router = useRouter()\n const route = useRoute()\n const { removeTab, lastTab } = useTab()\n const id = computed<Identifier>(() => {\n if (props.dataId) {\n return props.dataId\n }\n return route.params.id as Identifier\n })\n const { formData, formRef, editData } = useProvideForm()\n const treeWithDetails = useTreeWithDetails()\n const { removeKeepAlive } = useRouteKeepAlive()\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n // 获取详情\n let getOneController: AbortController | undefined\n const { isLoading: getOneLoading, execute: getOneExecute } = useAsyncState<\n GetOneResult | undefined\n >(\n async () => {\n getOneController = new AbortController()\n const res = await skyConfig.dataProvider?.getOne?.(route.meta.resource as string, {\n id: id.value,\n signal: getOneController.signal,\n })\n if (res?.data) {\n editData.value = res.data\n return res\n }\n },\n undefined,\n {\n immediate: true,\n },\n )\n\n // 更新接口\n let controller: AbortController | undefined\n const { isLoading: submitLoading, execute } = useAsyncState<\n UpdateResult | undefined,\n [data: Record<string, unknown>]\n >(\n async (data) => {\n controller = new AbortController()\n return skyConfig.dataProvider?.update?.(route.meta.resource as string, {\n id: id.value,\n data,\n signal: controller.signal,\n })\n },\n undefined,\n {\n immediate: false,\n },\n )\n\n const onSubmit = async () => {\n if (!formRef.value) {\n return\n }\n const valid = await formRef.value.validate()\n if (!valid) {\n return\n }\n const save = await execute(0, { ...formData })\n if (save) {\n if (treeWithDetails?.editSuccess) {\n treeWithDetails.editSuccess(save)\n } else {\n ElMessage.success(t('submit.success'))\n editData.value = null\n await getOneExecute()\n }\n }\n }\n\n // 删除接口\n let deleteController: AbortController | undefined\n const { isLoading: deleteLoading, execute: deleteExecute } = useAsyncState<\n DeleteManyResult | undefined\n >(\n async () => {\n deleteController = new AbortController()\n return skyConfig.dataProvider?.deleteMany?.(route.meta.resource as string, {\n ids: [id.value],\n signal: deleteController.signal,\n })\n },\n undefined,\n {\n immediate: false,\n },\n )\n\n const onDelete = async () => {\n const res = await deleteExecute()\n if (res) {\n if (treeWithDetails?.deleteSuccess) {\n treeWithDetails.deleteSuccess(res)\n } else {\n if (routeMeta.keepAliveName) {\n removeKeepAlive(routeMeta.keepAliveName)\n }\n removeTab(route.name as string)\n if (lastTab.value) {\n router.replace({ name: lastTab.value.routeName, params: lastTab.value.routeParams })\n }\n }\n }\n }\n\n return () => (\n <div class=\"sky-edit\">\n <SkyCanAccess resource={routeMeta.resource} action=\"edit\">\n <ElCard {...attrs}>\n {{\n default: () => (\n <ElSkeleton loading={getOneLoading.value} animated>\n {editData.value && slots.default?.()}\n </ElSkeleton>\n ),\n footer: () => (\n <div class=\"sky-edit__footer\">\n <ElButton\n type=\"primary\"\n icon={EpDocumentAdd}\n loading={submitLoading.value}\n onClick={onSubmit}\n disabled={deleteLoading.value}\n >\n {t('button.submit')}\n </ElButton>\n <ElPopconfirm title={t('popconfirm.remove')} onConfirm={onDelete}>\n {{\n reference: () => (\n <ElButton type=\"danger\" text icon={EpDelete} disabled={deleteLoading.value}>\n {t('button.remove')}\n </ElButton>\n ),\n }}\n </ElPopconfirm>\n </div>\n ),\n }}\n </ElCard>\n </SkyCanAccess>\n </div>\n )\n },\n})\n"],"names":["_isSlot","s","_isVNode","SkyEdit","defineComponent","name","inheritAttrs","props","dataId","attrs","t","router","useRouter","route","useRoute","lastTab","id","computed","editData","treeWithDetails","useTreeWithDetails","removeKeepAlive","routeMeta","getOneController","isLoading","execute","res","skyConfig","immediate","controller","useAsyncState","data","onSubmit","formRef","save","ElMessage","deleteController","ids","onDelete","deleteExecute","removeTab","params","_createVNode","default","footer","_slot","EpDocumentAdd","deleteLoading","reference","_slot2","EpDelete"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAW4C,SAAAA,EAAAC,GAAA;AAAA,SAAA,OAAAA,KAAA,cAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,MAAA,qBAAA,CAAAC,EAAAD,CAAA;AAAA;AAM5C,MAAAE,KAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,IACEC,QAAAA,CAAAA,QAAAA,MAAAA;AAAAA;;;IAEoBC,OAAAA;AAAAA,EAAM,GAAA;;MAClBC,GAAAA;AAAAA,aACRC,IAAAC,EAAA,GACAC,IAAAC,EAAA;;MACmBC,SAAAA;AAAAA,aACnBC,IAAAC,EAAA,4BAIEJ,EAAA,OAAA,EACF;;;MAC2BK,UAAAA;AAAAA,aAC3BC,IAAAC,EAAA;MACQC,iBAAAA;AAAAA,aACRC,IAAAT,EAAA;AAGA,QAAAU;;MACQC,WAAAA;AAAAA,MAA0BC,SAAAA;AAAAA;AAI9BF,MAAAA,IAAAA,IAAAA,gBAAAA;AACA,YAAAG,IAAA,MAAAC,EAAA,cAAA,SAAAd,EAAA,KAAA,UAAA;AAAA;;MAGA,CAAA;;AAEEK,eAAAA,EAAAA,QAAAA,EAAAA,MACAQ;AAAA;MAKFE,WAAAA;AAAAA,IACF,CAAA;AAIF,QAAAC;;MACQL,WAAAA;AAAAA,MAA0BC,SAAAA;AAAAA,IAAQ,IAAAK,EAAA,OAAAC,OAKtCF,IAAAA,IAAAA,gBAAAA;;;;IAKA,CAAA;MAIAD,WAAAA;AAAAA,IACF,CAAA,GAGFI,IAAA,YAAA;UACE,CAAAC,EAAA;AAKE;AAEF,YAAAC,IAAA,MAAAT,EAAA,GAAA;AAAA;MAA4C,CAAA;AAC5C,MAAAS,uBAEIf,EAAAA,YAAAA,CAAAA,KAEAgB,EAAAA,QAAAA,EAAAA,gBAAAA,CAAAA;;AAQN,QAAAC;;MACQZ,WAAAA;AAAAA,MAA0BC,SAAAA;AAAAA,uBAI9BW,IAAAA,IAAAA,gBAAAA;MAEEC,KAAAA,CAAAA,EAAAA,KAAAA;AAAAA;IAEF,CAAA;MAIAT,WAAAA;AAAAA,IACF,CAAA,GAGFU,IAAA,YAAA;AACE,YAAAZ,IAAA,MAAAa,EAAA;AACA,MAAAb,yBAEIP,EAAAA,cAAAA,CAAAA,wBAGEE,EAAAA,EAAAA,aAAAA,GAEFmB,EAAAA,EAAAA,IAAAA;QAEmBnC,MAAAA,EAAAA,MAAAA;AAAAA,QAA+BoC,QAAAA,EAAAA,MAAAA;AAAAA,MAAkC,CAAA;AAAA;AAM1F,WAAA,MAAAC,EAAA,OAAA;AAAA,MAAO,OAAA;AAAA;;MAEuC,QAAA;AAAA,IAAA,GAAA;AAAA,MAAAC,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA,GAAAA;AAAAA,QAGpCA,SAAAA,MAAAA,EAAAA,GAAAA;AAAAA;UAC0C,UAAA;AAAA,QAAA,GAAA;AAAA;;QAI1CC,QAAAA,MAAAA;AAAQ,cAAAC;AAAA,iBAAAH,EAAA,OAAA;AAAA,YAAA,OAAA;AAAA;YAAA,MAAA;AAAA,YAAA,MAAAI;AAAA;YAK0B,SAAAd;AAAA,YACX,UAAAe,EAAA;AAAA;;;;;UAK6C,GAAA;AAAA,YAE5DC,WAAAA,MAAAA;AAAW,kBAAAC;;gBAAA,MAAA;AAAA,gBAAA,MAAA;AAAA,gBAAA,MAAAC;AAAA,gBACkC,UAAAH,EAAA;AAAA;;cACtB,CAAA;AAAA,YAAA;AAAA,UAEtB,CAAA,CAAA,CAAA;AAAA,QAAA;AAAA,MAIR,CAAA,CAAA;AAAA;EAMb;AACF,CAAA;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/button/style/css");const o=require("vue"),d=require("../../setup/index.cjs"),l=require("element-plus"),p=require("vue-i18n"),i=require("vue-router"),f=require("../can-access/index.cjs");function m(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!o.isVNode(t)}const y=o.defineComponent({name:"SkyEditButton",inheritAttrs:!1,props:{id:{type:String,default:"id"},row:Object},setup(t,{attrs:s}){const{t:c}=p.useI18n(),u=i.useRouter(),n=i.useRoute().meta,r=o.computed(()=>{const e=t.row?.[t.id];if(e)return String(e)}),a=()=>{const e=d.skyConfig.getEditRouteName(n.resource);r.value&&u.hasRoute(e)&&u.push({name:e,params:{id:r.value}})};return()=>{let e;return o.createVNode(f.SkyCanAccess,{resource:n.resource,action:"edit",row:r.value},{default:()=>[o.createVNode(l.ElButton,o.mergeProps({link:!0,type:"primary",onClick:a},s),m(e=c("button.edit"))?e:{default:()=>[e]})]})}}});exports.SkyEditButton=y;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/edit-button/index.tsx"],"sourcesContent":["import type { SkyLayoutRouteMeta } from '@/router'\nimport { skyConfig } from '@/setup'\nimport { ElButton, type ButtonProps } from 'element-plus'\nimport { computed, defineComponent } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRoute, useRouter } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport interface SkyEditButtonProps {\n id?: string\n row?: Record<string, unknown>\n}\n\nexport const SkyEditButton = defineComponent<SkyEditButtonProps & Partial<ButtonProps>>({\n name: 'SkyEditButton',\n inheritAttrs: false,\n props: {\n id: {\n type: String,\n default: 'id',\n },\n row: Object,\n },\n setup(props, { attrs }) {\n const { t } = useI18n()\n const router = useRouter()\n const route = useRoute()\n const routeMeta = route.meta as SkyLayoutRouteMeta\n const id = computed(() => {\n const v = props.row?.[props.id!]\n if (v) {\n return String(v)\n }\n })\n\n const onEdit = () => {\n const routeName = skyConfig.getEditRouteName(routeMeta.resource)\n if (id.value && router.hasRoute(routeName)) {\n router.push({\n name: routeName,\n params: {\n id: id.value,\n },\n })\n }\n }\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action=\"edit\" row={id.value}>\n <ElButton link type=\"primary\" onClick={onEdit} {...attrs}>\n {t('button.edit')}\n </ElButton>\n </SkyCanAccess>\n )\n },\n})\n"],"names":["_isSlot","s","_isVNode","SkyEditButton","defineComponent","name","inheritAttrs","props","id","type","default","row","attrs","t","router","useRouter","routeMeta","useRoute","computed","v","params","_slot"],"mappings":"8SAM4C,SAAAA,EAAAC,EAAA,CAAA,OAAA,OAAAA,GAAA,YAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,IAAA,mBAAA,CAAAC,EAAAA,QAAAD,CAAA,CAAA,CAO5C,MAAAE,EAAAC,EAAAA,gBAAA,CACEC,KAAAA,gBACAC,aAAAA,GACAC,MAAAA,CACEC,GAAAA,CACEC,KAAAA,OACAC,QAAAA,MAEFC,IAAAA,iBAEaC,MAAAA,CAAM,EAAA,OACXC,EAAAA,eACRC,EAAAC,EAAAA,UAAA,EAEAC,EADAC,EAAAA,SAAA,EACA,KACAT,EAAAU,EAAAA,SAAA,IAAA,uBAEE,GAAAC,kBAGF,CAAA,0FAMMd,KAAAA,EACAe,OAAAA,WAEA,CACF,CAAA,cAIG,IAAAC,2DACqC,OAAA,OAAA,IAAAb,EAAA,KAA6B,EAAA,CAAAE,QAAAA,IAAAA,CAAAA,cAAAA,EAAAA,SAAAA,EAAAA,WAAAA,CAAA,KAAA,GAAA,KAAA,gEAElD,CAAA,CAAA,CAAA,CAAA,EAIzB,CACF,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { ButtonProps } from 'element-plus';
2
+ export interface SkyEditButtonProps {
3
+ id?: string;
4
+ row?: Record<string, unknown>;
5
+ }
6
+ export declare const SkyEditButton: import('vue').DefineComponent<SkyEditButtonProps & Partial<ButtonProps>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SkyEditButtonProps & Partial<ButtonProps>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;