8000 refactor(SidebarNav*): classes type [String, Array, Object] · SAMALAMA37/coreui-vue@4e9859e · GitHub
[go: up one dir, main page]

Skip to content

Commit 4e9859e

Browse files
committed
refactor(SidebarNav*): classes type [String, Array, Object]
1 parent 5dc8b4a commit 4e9859e

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed

src/components/Sidebar/SidebarNavItem.vue

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ import { hideMobile } from '../../mixins/hideMobile'
99
1010
export default {
1111
name: 'sidebar-nav-item',
12-
mixins: [ hideMobile ],
13-
props: {
12+
mixins: [ hideMobile ],
13+
props: {
1414
classes: {
15-
type: String,
15+
type: [String, Array, Object],
1616
default: ''
1717
}
1818
},
@@ -24,7 +24,8 @@ export default {
2424
]
2525
},
2626
itemClasses () {
27-
return this.classes ? this.classes.split(' ') : ''
27+
const classes = this.classes
28+
return !classes ? [] : typeof classes === 'string' || classes instanceof String ? classes.split(' ') : Array.isArray(classes) ? classes : Object.keys(classes).filter(i=>classes[i])
2829
}
2930
}
3031
}

src/components/Sidebar/SidebarNavLabel.vue

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export default {
2727
default: 'fa fa-circle'
2828
},
2929
classes: {
30-
type: String,
30+
type: [String, Array, Object],
3131
default: ''
3232
},
3333
label: {
@@ -39,7 +39,7 @@ export default {
3939
computed: {
4040
classList () {
4141
const classes = {
42-
navItem: ['hidden-cn', ...this.getClasses(this.classes)].join(' '),
42+
navItem: ['hidden-cn', ...this.itemClasses],
4343
navLink: 'nav-label',
4444
icon: [
4545
this.icon ? this.icon : 'fa fa-circle',
@@ -48,12 +48,11 @@ export default {
4848
].join(' ')
4949
}
5050
return classes
51+
},
52+
itemClasses () {
53+
const classes = this.classes
54+
return !classes ? [] : typeof classes === 'string' || classes instanceof String ? classes.split(' ') : Array.isArray(classes) ? classes : Object.keys(classes).filter(i=>classes[i])
5155
}
5256
},
53-
methods: {
54-
getClasses (classes) {
55-
return classes ? classes.split(' ') : []
56-
}
57-
}
5857
}
5958
</script>

src/components/Sidebar/SidebarNavTitle.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export default {
1919
default: ''
2020
},
2121
classes: {
22-
type: String,
22+
type: [String, Array, Object],
2323
default: ''
2424
},
2525
wrapper: {
@@ -35,7 +35,8 @@ export default {
3535
]
3636
},
3737
itemClasses () {
38-
return this.classes ? this.classes.split(' ') : ''
38+
const classes = this.classes
39+
return !classes ? [] : typeof classes === 'string' || classes instanceof String ? classes.split(' ') : Array.isArray(classes) ? classes : Object.keys(classes).filter(i=>classes[i])
3940
}
4041
}
4142
}

0 commit comments

Comments
 (0)
0