Skip to content

Commit 91c0464

Browse files
committed
chore: add Nuxt 3 drawer navigation
1 parent 72934fa commit 91c0464

File tree

59 files changed

+19994
-4774
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+19994
-4774
lines changed

kendo-nuxt3/app.vue

+73-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,76 @@
11
<template>
2-
<div>
3-
<Navigation />
4-
<NuxtPage />
2+
<div>
3+
<div class="custom-toolbar">
4+
<kbutton :icon="'menu'" :fill-mode="'flat'" @click="handleClick" />
5+
<NuxtLink to="/">Home</NuxtLink>
6+
</div>
7+
<Drawer
8+
:expanded="expanded"
9+
:position="position"
10+
:mode="mode"
11+
:items="items"
12+
@select="onSelect"
13+
>
14+
<DrawerContent>
15+
<NuxtPage />
16+
</DrawerContent>
17+
</Drawer>
518
</div>
19+
620
</template>
21+
<script>
22+
import { Drawer, DrawerContent } from "@progress/kendo-vue-layout";
23+
import { Button } from "@progress/kendo-vue-buttons";
24+
25+
export default {
26+
name: "App",
27+
components: { Drawer, DrawerContent, "kbutton": Button },
28+
mounted() {
29+
this.$router.push(this.items[0].data);
30+
},
31+
computed: {
32+
items() {
33+
const splitName = this.$route.name.split('-')
34+
const currentRootName = splitName[0];
35+
const rootroutes = this.$route.name === 'index'
36+
? this.$router.options.routes
37+
.filter(r=>r.path.split('/').length === 2)
38+
.map(t=>{
39+
return {
40+
text: t.name,
41+
selected: t.name === this.$route.name,
42+
data: {
43+
path: t.path
44+
}
45+
}})
46+
: this.$router.options.routes
47+
.filter(r=>r.path.startsWith('/' + currentRootName))
48+
.map(t=>{
49+
return {
50+
text: t.name,
51+
selected: t.name === this.$route.name,
52+
data: {
53+
path: t.path
54+
}
55+
}});
56+
return rootroutes;
57+
}
58+
},
59+
data() {
60+
61+
return {
62+
expanded: true,
63+
position: "start",
64+
mode: "push",
65+
};
66+
},
67+
methods: {
68+
onSelect(e) {
69+
this.$router.push(this.items[e.itemIndex].data);
70+
},
71+
handleClick() {
72+
this.expanded = !this.expanded;
73+
},
74+
},
75+
};
76+
</script>

kendo-nuxt3/components/Navigation.vue

+1-36
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,6 @@
11
<template>
22
<KButton @click="handleClick"> {{visible ? ' Hide Navigation' : 'Show Navigation' }}</KButton>
3-
<div v-if="visible" id="rootnav">
4-
<NuxtLink to="/">Home</NuxtLink> |
5-
<NuxtLink to="/next">Next</NuxtLink> |
6-
<NuxtLink to="/form">form</NuxtLink> |
7-
<NuxtLink to="/grid">Grid</NuxtLink> |
8-
<NuxtLink to="/drawer">Drawer</NuxtLink> |
9-
<NuxtLink to="/splitbutton">SplitButton</NuxtLink> |
10-
<NuxtLink to="/scrollview">scrollview</NuxtLink> |
11-
<NuxtLink to="/numerictextbox">Numeric</NuxtLink> |
12-
<NuxtLink to="/daterangepicker">DateRangePicker</NuxtLink> |
13-
<NuxtLink to="/loader">Loader</NuxtLink> |
14-
<NuxtLink to="/progressbar">ProgressBar</NuxtLink> |
15-
<NuxtLink to="/stepper">Stepper</NuxtLink> |
16-
<NuxtLink to="/editor">Editor</NuxtLink> |
17-
<NuxtLink to="/textarea">textarea</NuxtLink> |
18-
<NuxtLink to="/switch">switch</NuxtLink> |
19-
<NuxtLink to="/tooltip">tooltip</NuxtLink> |
20-
<NuxtLink to="/arcgauge">arcgauge</NuxtLink> |
21-
<NuxtLink to="/circulargauge">circulargauge</NuxtLink> |
22-
<NuxtLink to="/lineargauge">lineargauge</NuxtLink> |
23-
<NuxtLink to="/scheduler">scheduler</NuxtLink> |
24-
<NuxtLink to="/chart">chart</NuxtLink> |
25-
<NuxtLink to="/splitter">splitter</NuxtLink> |
26-
<NuxtLink to="/slider">slider</NuxtLink> |
27-
<NuxtLink to="/panelbar">panelbar</NuxtLink> |
28-
<NuxtLink to="/tabstrip">tabstrip</NuxtLink> |
29-
<NuxtLink to="/indicators">indicators</NuxtLink> |
30-
<NuxtLink to="/notification">notification</NuxtLink> |
31-
<NuxtLink to="/treeview">treeview</NuxtLink> |
32-
<NuxtLink to="/dropdowns">dropdowns</NuxtLink> |
33-
<NuxtLink to="/colors">colors</NuxtLink> |
34-
<NuxtLink to="/datepicker">datepicker</NuxtLink> |
35-
<NuxtLink to="/treelist">treelist</NuxtLink> |
36-
<NuxtLink to="/layouts">layouts</NuxtLink> |
37-
<NuxtLink to="/listview">listview</NuxtLink> |
38-
</div>
3+
394
</template>
405

416
<script lang="ts">

0 commit comments

Comments
 (0)