diff --git a/public/src/admin.js b/public/src/admin.js
index d206d7f627..cb1534952a 100644
--- a/public/src/admin.js
+++ b/public/src/admin.js
@@ -24,30 +24,7 @@ var admin = {};
};
$(function() {
- var menuEl = $('.sidebar-nav'),
- liEls = menuEl.find('li'),
- parentEl,
- activate = function(li) {
- liEls.removeClass('active');
- li.addClass('active');
- };
-
- // also on ready, check the pathname, maybe it was a page refresh and no item was clicked
- liEls.each(function(i, li){
- li = $(li);
- if ((li.find('a').attr('href') || '').indexOf(location.pathname) >= 0) {
- activate(li);
- }
- });
-
- // On menu click, change "active" state
- menuEl.on('click', function(e) {
- parentEl = $(e.target).parent();
- if (parentEl.is('li')) {
- activate(parentEl);
- }
- });
-
+ setupMenu();
setupKeybindings();
});
@@ -64,7 +41,29 @@ var admin = {};
// move this to admin.config
app.config = config;
- });
+ });
+
+ function setupMenu() {
+ var listElements = $('.sidebar-nav li');
+
+ listElements.on('click', function() {
+ var $this = $(this);
+
+ if ($this.hasClass('nav-header')) {
+ $this.parents('.sidebar-nav').toggleClass('open');
+ setTimeout(function() {
+ $('.nano').nanoScroller();
+ }, 500); // replace with animationend event
+ } else {
+ listElements.removeClass('active');
+ $this.addClass('active');
+ }
+ });
+
+ $('.nano').nanoScroller();
+
+ $('#main-menu .nav-list > li a').append(' ');
+ }
function setupKeybindings() {
Mousetrap.bind('ctrl+shift+a r', function() {
diff --git a/public/src/admin/footer.js b/public/src/admin/footer.js
index 76f1d9dd4d..dd0846d636 100644
--- a/public/src/admin/footer.js
+++ b/public/src/admin/footer.js
@@ -16,8 +16,6 @@ define('admin/footer', ['admin/settings'], function(Settings) {
selectMenuItem(data.url);
});
-
- setupMainMenu();
});
function activateMobile() {
@@ -45,19 +43,6 @@ define('admin/footer', ['admin/settings'], function(Settings) {
});
}
- function setupMainMenu() {
- $('.sidebar-nav .nav-header').on('click', function() {
- $(this).parents('.sidebar-nav').toggleClass('open');
- setTimeout(function() {
- $('.nano').nanoScroller();
- }, 500); // replace with animationend event
- });
-
- $('.nano').nanoScroller();
-
- $('#main-menu .nav-list > li a').append(' ');
- }
-
function selectMenuItem(url) {
$('#main-menu .nav-list > li').removeClass('active').each(function() {
var menu = $(this),