|
2 | 2 | <div class="app">
|
3 | 3 | <DefaultHeader />
|
4 | 4 | <div class="app-body">
|
5 |
| - <AppSidebar fixed> |
| 5 | + <AppSidebar ref="sidebar" fixed> |
6 | 6 | <SidebarHeader />
|
7 | 7 | <SidebarForm />
|
8 | 8 | <SidebarNav :navItems="permissibleNav"></SidebarNav>
|
@@ -60,6 +60,7 @@ export default {
|
60 | 60 | },
|
61 | 61 | data() {
|
62 | 62 | return {
|
| 63 | + isSidebarMinimized: true, |
63 | 64 | breadcrumbs: [],
|
64 | 65 | nav: [
|
65 | 66 | {
|
@@ -150,6 +151,12 @@ export default {
|
150 | 151 | };
|
151 | 152 | },
|
152 | 153 | methods: {
|
| 154 | + handleMinimizedUpdate() { |
| 155 | + this.isSidebarMinimized = !this.isSidebarMinimized; |
| 156 | + if (localStorage) { |
| 157 | + localStorage.setItem('isSidebarMinimized', this.isSidebarMinimized); |
| 158 | + } |
| 159 | + }, |
153 | 160 | generateBreadcrumbs: function generateBreadcrumbs(
|
154 | 161 | crumbName,
|
155 | 162 | subSectionName,
|
@@ -186,6 +193,28 @@ export default {
|
186 | 193 | mounted() {
|
187 | 194 | if (this.$dtrack && this.$dtrack.version.includes('SNAPSHOT')) {
|
188 | 195 | 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 | + }); |
189 | 218 | }
|
190 | 219 | },
|
191 | 220 | computed: {
|
|
0 commit comments