Skip to content

Commit d01c577

Browse files
committed
refactor(SidebarMinimizer): extract togglePs mixin
1 parent 6cfce1d commit d01c577

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

src/components/Sidebar/SidebarMinimizer.vue

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,24 @@
22
<button class="sidebar-minimizer" type="button" @click="onClick()"></button>
33
</template>
44
<script>
5+
import { togglePs } from '../../mixins/togglePs'
56
67
export default {
78
name: 'sidebar-minimizer',
9+
mixins: [ togglePs ],
10+
mounted: function () {
11+
const isMinimized = document.body.classList.contains('sidebar-minimized')
12+
this.togglePs(!isMinimized)
13+
},
814
methods: {
915
onClick () {
1016
this.sidebarMinimize()
1117
this.brandMinimize()
1218
},
1319
sidebarMinimize () {
14-
document.body.classList.toggle('sidebar-minimized')
15-
document.querySelector('.sidebar-nav section').classList.toggle('ps')
20+
const isMinimized = document.body.classList.toggle('sidebar-minimized')
21+
this.$emit('cui-sidebar-minimize', isMinimized)
22+
this.togglePs(!isMinimized)
1623
},
1724
brandMinimize () {
1825
document.body.classList.toggle('brand-minimized')

src/mixins/togglePs.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
const togglePs = {
2+
methods: {
3+
togglePs(toggle) {
4+
const sidebar = document.querySelector('.sidebar-nav section')
5+
if (sidebar) {
6+
// sidebar.classList.toggle('ps', toggle);
7+
// sidebar.classList.toggle('ps-container', toggle);
8+
// sidebar.classList.toggle('ps--active-y', toggle);
9+
if (toggle) {
10+
sidebar.classList.add('ps', 'ps-container', 'ps--active-y')
11+
} else {
12+
sidebar.classList.remove('ps', 'ps-container', 'ps--active-y')
13+
}
14+
}
15+
}
16+
}
17+
}
18+
19+
export { togglePs }

0 commit comments

Comments
 (0)