Main submenu and explorer now disable eachother when clicked

pull/812/head
Dave Cranwell 2014-11-13 16:33:13 +00:00
rodzic c22e2e2914
commit 62f0cc338e
3 zmienionych plików z 54 dodań i 27 usunięć

Wyświetl plik

@ -1,27 +1,44 @@
$(function(){ $(function(){
var $explorer = $('#explorer');
var $body = $('body');
// Dynamically load menu on request. // Dynamically load menu on request.
$(document).on('click', '.dl-trigger', function(){ $(document).on('click', '.dl-trigger', function(){
var $this = $(this); var $this = $(this);
var $explorer = $('#explorer');
// Close any submenuss
$('.nav-main .submenu-active, .nav-wrapper').removeClass('submenu-active');
$this.addClass('icon-spinner'); if($explorer.data('dlmenu') && $explorer.dlmenu('isOpen')){
// if it's already open, allow the menu plugin to close it
if(!$explorer.children().length){ return false;
$explorer.load($this.data('explorer-menu-url'), function() {
$this.removeClass('icon-spinner');
$explorer.addClass('dl-menuwrapper').dlmenu({
animationClasses : {
classin : 'dl-animate-in-2',
classout : 'dl-animate-out-2'
}
});
$explorer.dlmenu('openMenu');
});
}else{ }else{
$explorer.dlmenu('openMenu'); $this.addClass('icon-spinner');
}
if(!$explorer.children().length){
$explorer.load($this.data('explorer-menu-url'), function() {
$this.removeClass('icon-spinner');
$explorer.addClass('dl-menuwrapper').dlmenu({
animationClasses : {
classin : 'dl-animate-in-2',
classout : 'dl-animate-out-2'
}
});
$explorer.dlmenu('openMenu');
});
}else{
$explorer.dlmenu('openMenu');
$this.removeClass('icon-spinner');
}
}
return false; return false;
}); });
// Close menu on ESC key
$(document).on('keydown click', function(e){
if($explorer.data('dlmenu') && $explorer.dlmenu('isOpen') && (e.keyCode == 27 || !e.keyCode)){
$explorer.dlmenu('closeMenu');
}
});
}); });

Wyświetl plik

@ -1,18 +1,23 @@
$(function(){ $(function(){
var $explorer = $('#explorer');
$('.nav-main .submenu-trigger').on('click', function(){ $('.nav-main .submenu-trigger').on('click', function(){
if($(this).closest('li').find('.nav-submenu').length){ if($(this).closest('li').find('.nav-submenu').length){
// Close explorer menu, although it may not be instantiated yet
if($explorer.data('dlmenu') && $explorer.dlmenu('isOpen')){
$explorer.dlmenu('closeMenu');
}
$(this).closest('li').toggleClass('submenu-active'); $(this).closest('li').toggleClass('submenu-active');
$('.nav-wrapper').toggleClass('submenu-active') $('.nav-wrapper').toggleClass('submenu-active');
return false return false
} }
}); });
$(document).on('keydown click', function(e){ $(document).on('keydown click', function(e){
if($('.nav-wrapper.submenu-active').length){ if($('.nav-wrapper.submenu-active').length && (e.keyCode == 27 || !e.keyCode)){
if(e.keyCode == 27 || !e.keyCode){ $('.nav-main .submenu-active, .nav-wrapper').removeClass('submenu-active');
$('.nav-main .submenu-active').removeClass('submenu-active');
$('.nav-wrapper').toggleClass('submenu-active')
}
} }
}); });
}); });

Wyświetl plik

@ -84,7 +84,7 @@
else { else {
self._openMenu(); self._openMenu();
} }
return false; return true;
} ); } );
@ -163,6 +163,11 @@
} ); } );
}, },
isOpen: function(){
return this.open
},
closeMenu : function() { closeMenu : function() {
if( this.open ) { if( this.open ) {
this._closeMenu(); this._closeMenu();
@ -197,9 +202,9 @@
_openMenu : function() { _openMenu : function() {
var self = this; var self = this;
// clicking somewhere else makes the menu close // clicking somewhere else makes the menu close
$body.off( 'click' ).on( 'click.dlmenu', function() { // $body.off( 'click' ).on( 'click.dlmenu', function() {
self._closeMenu() ; // self._closeMenu() ;
} ); // } );
this.$menu.addClass( 'dl-menuopen dl-menu-toggle' ).on( this.transEndEventName, function() { this.$menu.addClass( 'dl-menuopen dl-menu-toggle' ).on( this.transEndEventName, function() {
$( this ).removeClass( 'dl-menu-toggle' ); $( this ).removeClass( 'dl-menu-toggle' );
} ); } );