summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/contextual_sidebar.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/contextual_sidebar.js')
-rw-r--r--app/assets/javascripts/contextual_sidebar.js23
1 files changed, 9 insertions, 14 deletions
diff --git a/app/assets/javascripts/contextual_sidebar.js b/app/assets/javascripts/contextual_sidebar.js
index f59d953c2f1..a9013025bad 100644
--- a/app/assets/javascripts/contextual_sidebar.js
+++ b/app/assets/javascripts/contextual_sidebar.js
@@ -42,8 +42,7 @@ export default class ContextualSidebar {
const breakpoint = bp.getBreakpointSize();
if (!ContextualSidebar.isDesktopBreakpoint(breakpoint)) {
- const collapsed = !this.$sidebar.hasClass('sidebar-collapsed-mobile');
- this.toggleMobileCollapsedSidebar(collapsed);
+ this.toggleSidebarNav(!this.$sidebar.hasClass('sidebar-expanded-mobile'));
} else if (breakpoint === 'lg') {
const value = !this.$sidebar.hasClass('sidebar-collapsed-desktop');
this.toggleCollapsedSidebar(value, true);
@@ -64,25 +63,22 @@ export default class ContextualSidebar {
}
toggleSidebarNav(show) {
- this.$sidebar.toggleClass('sidebar-expanded-mobile', show);
- this.$overlay.toggleClass('mobile-nav-open', show);
- this.$sidebar.removeClass('sidebar-collapsed-desktop');
- }
+ const breakpoint = bp.getBreakpointSize();
+ const dbp = ContextualSidebar.isDesktopBreakpoint(breakpoint);
- toggleMobileCollapsedSidebar(collapsed) {
- this.$sidebar.toggleClass('sidebar-collapsed-mobile', collapsed);
- this.$sidebar.toggleClass('sidebar-expanded-mobile', !collapsed);
+ this.$sidebar.toggleClass('sidebar-expanded-mobile', !dbp ? show : false);
+ this.$overlay.toggleClass('mobile-nav-open', breakpoint === 'xs' ? show : false);
this.$sidebar.removeClass('sidebar-collapsed-desktop');
- this.$page.toggleClass('page-with-icon-sidebar', true);
- this.$page.toggleClass('page-with-contextual-sidebar', false);
- requestIdleCallback(() => this.toggleSidebarOverflow());
+ this.$page.toggleClass('page-with-contextual-sidebar', true);
}
toggleCollapsedSidebar(collapsed, saveCookie) {
const breakpoint = bp.getBreakpointSize();
+ const dbp = ContextualSidebar.isDesktopBreakpoint(breakpoint);
if (this.$sidebar.length) {
this.$sidebar.toggleClass('sidebar-collapsed-desktop', collapsed);
+ this.$sidebar.toggleClass('sidebar-expanded-mobile', !dbp ? !collapsed : false);
this.$page.toggleClass('page-with-icon-sidebar', breakpoint === 'sm' ? true : collapsed);
this.$page.toggleClass('page-with-contextual-sidebar', true);
}
@@ -106,9 +102,8 @@ export default class ContextualSidebar {
if (!this.$sidebar.length) return;
const breakpoint = bp.getBreakpointSize();
-
if (!ContextualSidebar.isDesktopBreakpoint(breakpoint)) {
- this.toggleMobileCollapsedSidebar(true);
+ this.toggleSidebarNav(false);
} else if (breakpoint === 'lg') {
const collapse = parseBoolean(Cookies.get('sidebar_collapsed'));
this.toggleCollapsedSidebar(collapse, false);