examples.ts 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. import type { RouteRecordRaw } from 'vue-router';
  2. import { $t } from '#/locales';
  3. const routes: RouteRecordRaw[] = [
  4. {
  5. meta: {
  6. icon: 'ion:layers-outline',
  7. keepAlive: true,
  8. order: 1000,
  9. title: $t('examples.title'),
  10. },
  11. name: 'Examples',
  12. path: '/examples',
  13. children: [
  14. {
  15. name: 'FormExample',
  16. path: '/examples/form',
  17. meta: {
  18. icon: 'mdi:form-select',
  19. title: $t('examples.form.title'),
  20. },
  21. children: [
  22. {
  23. name: 'FormBasicExample',
  24. path: '/examples/form/basic',
  25. component: () => import('#/views/examples/form/basic.vue'),
  26. meta: {
  27. title: $t('examples.form.basic'),
  28. },
  29. },
  30. {
  31. name: 'FormQueryExample',
  32. path: '/examples/form/query',
  33. component: () => import('#/views/examples/form/query.vue'),
  34. meta: {
  35. title: $t('examples.form.query'),
  36. },
  37. },
  38. {
  39. name: 'FormRulesExample',
  40. path: '/examples/form/rules',
  41. component: () => import('#/views/examples/form/rules.vue'),
  42. meta: {
  43. title: $t('examples.form.rules'),
  44. },
  45. },
  46. {
  47. name: 'FormDynamicExample',
  48. path: '/examples/form/dynamic',
  49. component: () => import('#/views/examples/form/dynamic.vue'),
  50. meta: {
  51. title: $t('examples.form.dynamic'),
  52. },
  53. },
  54. {
  55. name: 'FormCustomExample',
  56. path: '/examples/form/custom',
  57. component: () => import('#/views/examples/form/custom.vue'),
  58. meta: {
  59. title: $t('examples.form.custom'),
  60. },
  61. },
  62. {
  63. name: 'FormApiExample',
  64. path: '/examples/form/api',
  65. component: () => import('#/views/examples/form/api.vue'),
  66. meta: {
  67. title: $t('examples.form.api'),
  68. },
  69. },
  70. {
  71. name: 'FormMergeExample',
  72. path: '/examples/form/merge',
  73. component: () => import('#/views/examples/form/merge.vue'),
  74. meta: {
  75. title: $t('examples.form.merge'),
  76. },
  77. },
  78. ],
  79. },
  80. {
  81. name: 'VxeTableExample',
  82. path: '/examples/vxe-table',
  83. meta: {
  84. icon: 'lucide:table',
  85. title: $t('examples.vxeTable.title'),
  86. },
  87. children: [
  88. {
  89. name: 'VxeTableBasicExample',
  90. path: '/examples/vxe-table/basic',
  91. component: () => import('#/views/examples/vxe-table/basic.vue'),
  92. meta: {
  93. title: $t('examples.vxeTable.basic'),
  94. },
  95. },
  96. {
  97. name: 'VxeTableRemoteExample',
  98. path: '/examples/vxe-table/remote',
  99. component: () => import('#/views/examples/vxe-table/remote.vue'),
  100. meta: {
  101. title: $t('examples.vxeTable.remote'),
  102. },
  103. },
  104. {
  105. name: 'VxeTableTreeExample',
  106. path: '/examples/vxe-table/tree',
  107. component: () => import('#/views/examples/vxe-table/tree.vue'),
  108. meta: {
  109. title: $t('examples.vxeTable.tree'),
  110. },
  111. },
  112. {
  113. name: 'VxeTableFixedExample',
  114. path: '/examples/vxe-table/fixed',
  115. component: () => import('#/views/examples/vxe-table/fixed.vue'),
  116. meta: {
  117. title: $t('examples.vxeTable.fixed'),
  118. },
  119. },
  120. {
  121. name: 'VxeTableCustomCellExample',
  122. path: '/examples/vxe-table/custom-cell',
  123. component: () =>
  124. import('#/views/examples/vxe-table/custom-cell.vue'),
  125. meta: {
  126. title: $t('examples.vxeTable.custom-cell'),
  127. },
  128. },
  129. {
  130. name: 'VxeTableFormExample',
  131. path: '/examples/vxe-table/form',
  132. component: () => import('#/views/examples/vxe-table/form.vue'),
  133. meta: {
  134. title: $t('examples.vxeTable.form'),
  135. },
  136. },
  137. {
  138. name: 'VxeTableEditCellExample',
  139. path: '/examples/vxe-table/edit-cell',
  140. component: () => import('#/views/examples/vxe-table/edit-cell.vue'),
  141. meta: {
  142. title: $t('examples.vxeTable.editCell'),
  143. },
  144. },
  145. {
  146. name: 'VxeTableEditRowExample',
  147. path: '/examples/vxe-table/edit-row',
  148. component: () => import('#/views/examples/vxe-table/edit-row.vue'),
  149. meta: {
  150. title: $t('examples.vxeTable.editRow'),
  151. },
  152. },
  153. {
  154. name: 'VxeTableVirtualExample',
  155. path: '/examples/vxe-table/virtual',
  156. component: () => import('#/views/examples/vxe-table/virtual.vue'),
  157. meta: {
  158. title: $t('examples.vxeTable.virtual'),
  159. },
  160. },
  161. ],
  162. },
  163. {
  164. name: 'CaptchaExample',
  165. path: '/examples/captcha',
  166. meta: {
  167. icon: 'logos:recaptcha',
  168. title: $t('examples.captcha.title'),
  169. },
  170. children: [
  171. {
  172. name: 'DragVerifyExample',
  173. path: '/examples/captcha/slider',
  174. component: () =>
  175. import('#/views/examples/captcha/slider-captcha.vue'),
  176. meta: {
  177. title: $t('examples.captcha.sliderCaptcha'),
  178. },
  179. },
  180. {
  181. name: 'RotateVerifyExample',
  182. path: '/examples/captcha/slider-rotate',
  183. component: () =>
  184. import('#/views/examples/captcha/slider-rotate-captcha.vue'),
  185. meta: {
  186. title: $t('examples.captcha.sliderRotateCaptcha'),
  187. },
  188. },
  189. {
  190. name: 'CaptchaPointSelectionExample',
  191. path: '/examples/captcha/point-selection',
  192. component: () =>
  193. import('#/views/examples/captcha/point-selection-captcha.vue'),
  194. meta: {
  195. title: $t('examples.captcha.pointSelection'),
  196. },
  197. },
  198. ],
  199. },
  200. {
  201. name: 'ModalExample',
  202. path: '/examples/modal',
  203. component: () => import('#/views/examples/modal/index.vue'),
  204. meta: {
  205. icon: 'system-uicons:window-content',
  206. title: $t('examples.modal.title'),
  207. },
  208. },
  209. {
  210. name: 'DrawerExample',
  211. path: '/examples/drawer',
  212. component: () => import('#/views/examples/drawer/index.vue'),
  213. meta: {
  214. icon: 'iconoir:drawer',
  215. title: $t('examples.drawer.title'),
  216. },
  217. },
  218. {
  219. name: 'EllipsisExample',
  220. path: '/examples/ellipsis',
  221. component: () => import('#/views/examples/ellipsis/index.vue'),
  222. meta: {
  223. icon: 'ion:ellipsis-horizontal',
  224. title: $t('examples.ellipsis.title'),
  225. },
  226. },
  227. {
  228. name: 'VueResizeDemo',
  229. path: '/demos/resize/basic',
  230. component: () => import('#/views/examples/resize/basic.vue'),
  231. meta: {
  232. icon: 'material-symbols:resize',
  233. title: $t('examples.resize.title'),
  234. },
  235. },
  236. {
  237. name: 'ColPageDemo',
  238. path: '/examples/layout/col-page',
  239. component: () => import('#/views/examples/layout/col-page.vue'),
  240. meta: {
  241. badge: 'Alpha',
  242. badgeVariants: 'destructive',
  243. icon: 'material-symbols:horizontal-distribute',
  244. title: $t('examples.layout.col-page'),
  245. },
  246. },
  247. {
  248. name: 'TippyDemo',
  249. path: '/examples/tippy',
  250. component: () => import('#/views/examples/tippy/index.vue'),
  251. meta: {
  252. icon: 'mdi:message-settings-outline',
  253. title: 'Tippy',
  254. },
  255. },
  256. {
  257. name: 'JsonViewer',
  258. path: '/examples/json-viewer',
  259. component: () => import('#/views/examples/json-viewer/index.vue'),
  260. meta: {
  261. icon: 'tabler:json',
  262. title: 'JsonViewer',
  263. },
  264. },
  265. {
  266. name: 'Motion',
  267. path: '/examples/motion',
  268. component: () => import('#/views/examples/motion/index.vue'),
  269. meta: {
  270. icon: 'mdi:animation-play',
  271. title: 'Motion',
  272. },
  273. },
  274. ],
  275. },
  276. ];
  277. export default routes;