Skip to content

Commit 201c706

Browse files
committed
refactor: update navigation generator
1 parent d37c7f8 commit 201c706

File tree

2 files changed

+64
-64
lines changed

2 files changed

+64
-64
lines changed

src/_nav.js

+57-57
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export default [
22
{
3-
_name: 'CNavItem',
3+
component: 'CNavItem',
44
name: 'Dashboard',
55
to: '/dashboard',
66
icon: 'cil-speedometer',
@@ -10,188 +10,188 @@ export default [
1010
},
1111
},
1212
{
13-
_name: 'CNavTitle',
13+
component: 'CNavTitle',
1414
name: 'Theme',
1515
},
1616
{
17-
_name: 'CNavItem',
17+
component: 'CNavItem',
1818
name: 'Colors',
1919
to: '/theme/colors',
2020
icon: 'cil-drop',
2121
},
2222
{
23-
_name: 'CNavItem',
23+
component: 'CNavItem',
2424
name: 'Typography',
2525
to: '/theme/typography',
2626
icon: 'cil-pencil',
2727
},
2828
{
29-
_name: 'CNavTitle',
29+
component: 'CNavTitle',
3030
name: 'Components',
3131
},
3232
{
33-
_name: 'CNavGroup',
33+
component: 'CNavGroup',
3434
name: 'Base',
3535
to: '/base',
3636
icon: 'cil-puzzle',
37-
children: [
37+
items: [
3838
{
39-
_name: 'CNavItem',
39+
component: 'CNavItem',
4040
name: 'Accordion',
4141
to: '/base/accordion',
4242
},
4343
{
44-
_name: 'CNavItem',
44+
component: 'CNavItem',
4545
name: 'Breadcrumbs',
4646
to: '/base/breadcrumbs',
4747
},
4848
{
49-
_name: 'CNavItem',
49+
component: 'CNavItem',
5050
name: 'Cards',
5151
to: '/base/cards',
5252
},
5353
{
54-
_name: 'CNavItem',
54+
component: 'CNavItem',
5555
name: 'Carousels',
5656
to: '/base/carousels',
5757
},
5858
{
59-
_name: 'CNavItem',
59+
component: 'CNavItem',
6060
name: 'Collapses',
6161
to: '/base/collapses',
6262
},
6363
{
64-
_name: 'CNavItem',
64+
component: 'CNavItem',
6565
name: 'List Groups',
6666
to: '/base/list-groups',
6767
},
6868
{
69-
_name: 'CNavItem',
69+
component: 'CNavItem',
7070
name: 'Navs & Tabs',
7171
to: '/base/navs',
7272
},
7373
// {
74-
// _name: "CNavItem",
74+
// component: "CNavItem",
7575
// name: "Navbars",
7676
// to: "/base/navbars",
7777
// },
7878
{
79-
_name: 'CNavItem',
79+
component: 'CNavItem',
8080
name: 'Paginations',
8181
to: '/base/paginations',
8282
},
8383
{
84-
_name: 'CNavItem',
84+
component: 'CNavItem',
8585
name: 'Popovers',
8686
to: '/base/popovers',
8787
},
8888
{
89-
_name: 'CNavItem',
89+
component: 'CNavItem',
9090
name: 'Progress',
9191
to: '/base/progress',
9292
},
9393
{
94-
_name: 'CNavItem',
94+
component: 'CNavItem',
9595
name: 'Spinners',
9696
to: '/base/spinners',
9797
},
9898
{
99-
_name: 'CNavItem',
99+
component: 'CNavItem',
100100
name: 'Tables',
101101
to: '/base/tables',
102102
},
103103
{
104-
_name: 'CNavItem',
104+
component: 'CNavItem',
105105
name: 'Tooltips',
106106
to: '/base/tooltips',
107107
},
108108
],
109109
},
110110
{
111-
_name: 'CNavGroup',
111+
component: 'CNavGroup',
112112
name: 'Buttons',
113113
to: '/buttons',
114114
icon: 'cil-cursor',
115-
children: [
115+
items: [
116116
{
117-
_name: 'CNavItem',
117+
component: 'CNavItem',
118118
name: 'Buttons',
119119
to: '/buttons/standard-buttons',
120120
},
121121
{
122-
_name: 'CNavItem',
122+
component: 'CNavItem',
123123
name: 'Button Groups',
124124
to: '/buttons/button-groups',
125125
},
126126
{
127-
_name: 'CNavItem',
127+
component: 'CNavItem',
128128
name: 'Dropdowns',
129129
to: '/buttons/dropdowns',
130130
},
131131
],
132132
},
133133
{
134-
_name: 'CNavGroup',
134+
component: 'CNavGroup',
135135
name: 'Forms',
136136
to: '/forms',
137137
icon: 'cil-star',
138-
children: [
138+
items: [
139139
{
140-
_name: 'CNavItem',
140+
component: 'CNavItem',
141141
name: 'Form Control',
142142
to: '/forms/form-control',
143143
},
144144
{
145-
_name: 'CNavItem',
145+
component: 'CNavItem',
146146
name: 'Select',
147147
to: '/forms/select',
148148
},
149149
{
150-
_name: 'CNavItem',
150+
component: 'CNavItem',
151151
name: 'Checks & Radios',
152152
to: '/forms/checks-radios',
153153
},
154154
{
155-
_name: 'CNavItem',
155+
component: 'CNavItem',
156156
name: 'Range',
157157
to: '/forms/range',
158158
},
159159
{
160-
_name: 'CNavItem',
160+
component: 'CNavItem',
161161
name: 'Input Group',
162162
to: '/forms/input-group',
163163
},
164164
{
165-
_name: 'CNavItem',
165+
component: 'CNavItem',
166166
name: 'Floating Labels',
167167
to: '/forms/floating-labels',
168168
},
169169
{
170-
_name: 'CNavItem',
170+
component: 'CNavItem',
171171
name: 'Layout',
172172
to: '/forms/layout',
173173
},
174174
{
175-
_name: 'CNavItem',
175+
component: 'CNavItem',
176176
name: 'Validation',
177177
to: '/forms/validation',
178178
},
179179
],
180180
},
181181
{
182-
_name: 'CNavItem',
182+
component: 'CNavItem',
183183
name: 'Charts',
184184
to: '/charts',
185185
icon: 'cil-chart-pie',
186186
},
187187
{
188-
_name: 'CNavGroup',
188+
component: 'CNavGroup',
189189
name: 'Icons',
190190
to: '/icons',
191191
icon: 'cil-star',
192-
children: [
192+
items: [
193193
{
194-
_name: 'CNavItem',
194+
component: 'CNavItem',
195195
name: 'CoreUI Icons',
196196
to: '/icons/coreui-icons',
197197
badge: {
@@ -200,42 +200,42 @@ export default [
200200
},
201201
},
202202
{
203-
_name: 'CNavItem',
203+
component: 'CNavItem',
204204
name: 'Brands',
205205
to: '/icons/brands',
206206
},
207207
{
208-
_name: 'CNavItem',
208+
component: 'CNavItem',
209209
name: 'Flags',
210210
to: '/icons/flags',
211211
},
212212
],
213213
},
214214
{
215-
_name: 'CNavGroup',
215+
component: 'CNavGroup',
216216
name: 'Notifications',
217217
to: '/notifications',
218218
icon: 'cil-bell',
219-
children: [
219+
items: [
220220
{
221-
_name: 'CNavItem',
221+
component: 'CNavItem',
222222
name: 'Alerts',
223223
to: '/notifications/alerts',
224224
},
225225
{
226-
_name: 'CNavItem',
226+
component: 'CNavItem',
227227
name: 'Badges',
228228
to: '/notifications/badges',
229229
},
230230
{
231-
_name: 'CNavItem',
231+
component: 'CNavItem',
232232
name: 'Modals',
233233
to: '/notifications/modals',
234234
},
235235
],
236236
},
237237
{
238-
_name: 'CNavItem',
238+
component: 'CNavItem',
239239
name: 'Widgets',
240240
to: '/widgets',
241241
icon: 'cil-calculator',
@@ -246,48 +246,48 @@ export default [
246246
},
247247
},
248248
{
249-
_name: 'CNavTitle',
249+
component: 'CNavTitle',
250250
name: 'Extras',
251251
},
252252
{
253-
_name: 'CNavGroup',
253+
component: 'CNavGroup',
254254
name: 'Pages',
255255
to: '/pages',
256256
icon: 'cil-star',
257-
children: [
257+
items: [
258258
{
259-
_name: 'CNavItem',
259+
component: 'CNavItem',
260260
name: 'Login',
261261
to: '/pages/login',
262262
},
263263
{
264-
_name: 'CNavItem',
264+
component: 'CNavItem',
265265
name: 'Register',
266266
to: '/pages/register',
267267
},
268268
{
269-
_name: 'CNavItem',
269+
component: 'CNavItem',
270270
name: 'Error 404',
271271
to: '/pages/404',
272272
},
273273
{
274-
_name: 'CNavItem',
274+
component: 'CNavItem',
275275
name: 'Error 500',
276276
to: '/pages/500',
277277
},
278278
],
279279
},
280280

281281
// {
282-
// _name: 'CNavItem',
282+
// component: 'CNavItem',
283283
// name: 'Download CoreUI',
284284
// href: 'http://coreui.io/vue/',
285285
// icon: { name: 'cil-cloud-download', class: 'text-white' },
286286
// _class: 'bg-success text-white',
287287
// target: '_blank'
288288
// },
289289
// {
290-
// _name: 'CNavItem',
290+
// component: 'CNavItem',
291291
// name: 'Try CoreUI PRO',
292292
// href: 'http://coreui.io/pro/vue/',
293293
// icon: { name: 'cil-layers', class: 'text-white' },

src/components/AppSidebarNav.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ const AppSidebarNav = defineComponent({
3737
return true
3838
}
3939

40-
if (item.children) {
41-
return item.children.some((child) => isActiveItem(route, child))
40+
if (item.items) {
41+
return item.items.some((child) => isActiveItem(route, child))
4242
}
4343

4444
return false
@@ -47,11 +47,11 @@ const AppSidebarNav = defineComponent({
4747
const renderItem = (item) => {
4848
const route = useRoute()
4949

50-
if (item.children) {
50+
if (item.items) {
5151
return h(
5252
resolveComponent('CNavGroup'),
5353
{
54-
visible: item.children.some((child) => isActiveItem(route, child)),
54+
visible: item.items.some((child) => isActiveItem(route, child)),
5555
},
5656
{
5757
togglerContent: () => [
@@ -61,7 +61,7 @@ const AppSidebarNav = defineComponent({
6161
}),
6262
item.name,
6363
],
64-
default: () => item.children.map((child) => renderItem(child)),
64+
default: () => item.items.map((child) => renderItem(child)),
6565
},
6666
)
6767
}
@@ -76,7 +76,7 @@ const AppSidebarNav = defineComponent({
7676
{
7777
default: (props) =>
7878
h(
79-
resolveComponent(item._name),
79+
resolveComponent(item.component),
8080
{
8181
active: props.isActive,
8282
href: props.href,
@@ -107,7 +107,7 @@ const AppSidebarNav = defineComponent({
107107
},
108108
)
109109
: h(
110-
resolveComponent(item._name),
110+
resolveComponent(item.component),
111111
{},
112112
{
113113
default: () => item.name,

0 commit comments

Comments
 (0)