mirror of
https://github.com/gantry/gantry5.git
synced 2026-08-19 01:15:04 -05:00
More menu fixes. Reset states when switching between offcanvas and desktop. Do not fixHeights in toplevel when in desktop mode and touch screen.
This commit is contained in:
@@ -142,7 +142,7 @@ var Menu = new prime({
|
||||
|
||||
if (sublevel) {
|
||||
var isNavMenu = target.parent(selectors.mainContainer);
|
||||
this._fixHeights(sublevel, slideout, isGoingBack, isNavMenu);
|
||||
if (!isNavMenu || (isNavMenu && !sublevel.matches('.g-toplevel'))) { this._fixHeights(sublevel, slideout, isGoingBack, isNavMenu); }
|
||||
if (!isNavMenu && columns && (blocks = columns.search('> .g-grid > .g-block'))) {
|
||||
if (blocks.length > 1) { sublevel = blocks.search('> .g-sublevel'); }
|
||||
}
|
||||
@@ -197,6 +197,17 @@ var Menu = new prime({
|
||||
this.toggleOverlay(topLevel);
|
||||
},
|
||||
|
||||
resetStates: function(menu) {
|
||||
if (!menu) { return; }
|
||||
var items = menu.search('.g-toplevel, .g-dropdown-column, .g-dropdown, .g-selected, .g-active, .g-slide-out'),
|
||||
actives = menu.search('.g-active');
|
||||
if (!items) { return; }
|
||||
|
||||
menu.attribute('style', null).removeClass('g-selected').removeClass('g-slide-out');
|
||||
items.attribute('style', null).removeClass('g-selected').removeClass('g-slide-out');
|
||||
if (actives) { actives.removeClass('g-active').addClass('g-inactive'); }
|
||||
},
|
||||
|
||||
toggleOverlay: function(menu) {
|
||||
if (!menu) { return; }
|
||||
var shouldOpen = !!menu.find('.g-active, .g-selected');
|
||||
@@ -256,6 +267,8 @@ var Menu = new prime({
|
||||
find = mobileContainer.find(selectors.topLevel);
|
||||
if (find) { find.top(mainContainer); }
|
||||
}
|
||||
|
||||
this.resetStates(find);
|
||||
},
|
||||
|
||||
_debug: function() {}
|
||||
|
||||
Reference in New Issue
Block a user