Skip to content

Commit c7d1812

Browse files
committed
feat/Sidebar state in local storage
Used LocalStorage to store the expanded state of the sidebar, so it persists over sessions Signed-off-by: Thomas Schauer-Köckeis <[email protected]>
1 parent ddf0770 commit c7d1812

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

src/containers/DefaultContainer.vue

+30-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div class="app">
33
<DefaultHeader />
44
<div class="app-body">
5-
<AppSidebar fixed>
5+
<AppSidebar ref="sidebar" fixed>
66
<SidebarHeader />
77
<SidebarForm />
88
<SidebarNav :navItems="permissibleNav"></SidebarNav>
@@ -60,6 +60,7 @@ export default {
6060
},
6161
data() {
6262
return {
63+
isSidebarMinimized: true,
6364
breadcrumbs: [],
6465
nav: [
6566
{
@@ -150,6 +151,12 @@ export default {
150151
};
151152
},
152153
methods: {
154+
handleMinimizedUpdate() {
155+
this.isSidebarMinimized = !this.isSidebarMinimized;
156+
if (localStorage) {
157+
localStorage.setItem('isSidebarMinimized', this.isSidebarMinimized);
158+
}
159+
},
153160
generateBreadcrumbs: function generateBreadcrumbs(
154161
crumbName,
155162
subSectionName,
@@ -186,6 +193,28 @@ export default {
186193
mounted() {
187194
if (this.$dtrack && this.$dtrack.version.includes('SNAPSHOT')) {
188195
this.$root.$emit('bv::show::modal', 'snapshotModal');
196+
197+
this.isSidebarMinimized =
198+
localStorage && localStorage.getItem('isSidebarMinimized') !== null
199+
? localStorage.getItem('isSidebarMinimized') === 'true'
200+
: false;
201+
const sidebar = document.body;
202+
if (sidebar) {
203+
if (this.isSidebarMinimized) {
204+
sidebar.classList.add('sidebar-minimized');
205+
} else {
206+
sidebar.classList.remove('sidebar-minimized');
207+
}
208+
}
209+
this.$nextTick(() => {
210+
const sidebarMinimizer = this.$el.querySelector('.sidebar-minimizer');
211+
if (sidebarMinimizer) {
212+
sidebarMinimizer.addEventListener(
213+
'click',
214+
this.handleMinimizedUpdate,
215+
);
216+
}
217+
});
189218
}
190219
},
191220
computed: {

0 commit comments

Comments
 (0)