Skip to content

Commit 08729d6

Browse files
committed
refactor: merge CNavbarToggler and CSidebarToggler into CToggler
1 parent fce76c0 commit 08729d6

File tree

14 files changed

+111
-143
lines changed

14 files changed

+111
-143
lines changed

src/components/Navbar/CNavbarToggler.vue

Lines changed: 0 additions & 22 deletions
This file was deleted.

src/components/Navbar/index.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import CNavbar from './CNavbar'
22
import CNavbarNav from './CNavbarNav'
3-
import CNavbarToggler from './CNavbarToggler'
43
import CNavbarBrand from './CNavbarBrand'
54

65
export {
76
CNavbar,
87
CNavbarNav,
9-
CNavbarToggler,
108
CNavbarBrand
119
}

src/components/Navbar/tests/CNavbarToggler.spec.js

Lines changed: 0 additions & 28 deletions
This file was deleted.

src/components/Navbar/tests/__snapshots__/CNavbarToggler.spec.js.snap

Lines changed: 0 additions & 21 deletions
This file was deleted.

src/components/Sidebar/CSidebarToggler.vue

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/components/Sidebar/index.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import CSidebarNavDivider from './CSidebarNavDivider'
1010
import CSidebarNavDropdown from './CSidebarNavDropdown'
1111
import CSidebarNavLink from './CSidebarNavLink'
1212
import CSidebarNavTitle from './CSidebarNavTitle'
13-
import CSidebarToggler from './CSidebarToggler'
1413

1514
export {
1615
CSidebar,
@@ -24,6 +23,5 @@ export {
2423
CSidebarNavDivider,
2524
CSidebarNavDropdown,
2625
CSidebarNavLink,
27-
CSidebarNavTitle,
28-
CSidebarToggler
26+
CSidebarNavTitle
2927
}

src/components/Sidebar/tests/CSidebarToggler.spec.js

Lines changed: 0 additions & 37 deletions
This file was deleted.

src/components/Sidebar/tests/__snapshots__/CSidebarToggler.spec.js.snap

Lines changed: 0 additions & 12 deletions
This file was deleted.

src/components/Toggler/CToggler.vue

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<script>
2+
import { mergeData } from 'vue-functional-data-merge'
3+
export default {
4+
name: 'CToggler',
5+
functional: true,
6+
props: {
7+
tag: {
8+
type: String,
9+
default: 'button'
10+
},
11+
inHeader: Boolean,
12+
inNavbar: Boolean
13+
},
14+
render (h, { data, props, slots }) {
15+
const attrs = props.tag === 'button' ? { type: 'button' } : null
16+
const type = props.inNavbar ? 'navbar' : props.inHeader ? 'header' : null
17+
const staticClass = type ? `${type}-toggler` : ''
18+
const iconClass = type ? `${staticClass}-icon` : ''
19+
return h(
20+
props.tag,
21+
mergeData({
22+
staticClass,
23+
attrs
24+
}, data),
25+
[
26+
slots().default ||
27+
h('span', { class: iconClass })
28+
]
29+
)
30+
}
31+
}
32+
</script>

src/components/Toggler/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import CToggler from './CToggler'
2+
3+
export {
4+
CToggler
5+
}

0 commit comments

Comments
 (0)