| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <template>
- <v-breadcrumbs
- :items="items">
- </v-breadcrumbs>
- </template>
- <script lang="ts">
- import {defineComponent, computed, useContext, useRouter, ComputedRef} from '@nuxtjs/composition-api'
- import {AnyJson} from "~/types/interfaces";
- export default defineComponent({
- setup() {
- const {route, $config, app: {i18n}} = useContext()
- const $router = useRouter()
- const homeUrl:string = $config.baseURL_adminLegacy
- const items:ComputedRef<Array<AnyJson>> = computed(()=>{
- const crumbs:Array<AnyJson> = []
- crumbs.push({
- text: i18n.t('welcome'),
- href: homeUrl
- })
- const fullPath:string = route.value.path
- const params:Array<string> = fullPath.startsWith('/') ? fullPath.substring(1).split('/') : fullPath.split('/')
- let path:string = ''
- params.forEach((param) => {
- path = `${path}/${param}`
- const match = $router.match(path)
- if (match.name !== null) {
- crumbs.push({
- text: !parseInt(param, 10) ? i18n.t(param + '_breadcrumbs') : i18n.t('item'),
- nuxt: true,
- 'exact-path':true,
- to: path
- })
- }
- })
- return crumbs
- })
- return {
- items
- }
- }
- })
- </script>
|