diff --git a/public/js/icinga/behavior/navigation.js b/public/js/icinga/behavior/navigation.js index ab19886135..615e5ac081 100644 --- a/public/js/icinga/behavior/navigation.js +++ b/public/js/icinga/behavior/navigation.js @@ -77,6 +77,12 @@ $menu.data('icinga-url', menuDataUrl); }; + Navigation.prototype.setActiveByUrl = function(url) + { + this.resetActive(); + this.setActive($('#menu [href="' + url + '"]')); + } + /** * Change the active menu element * diff --git a/public/js/icinga/loader.js b/public/js/icinga/loader.js index ae5b4b6457..9847df4e61 100644 --- a/public/js/icinga/loader.js +++ b/public/js/icinga/loader.js @@ -343,7 +343,9 @@ var $matches = $.merge($('[href="' + url + '"]'), $forms); $matches.each(function (idx, el) { if ($(el).closest('#menu').length) { - self.icinga.behaviors.navigation.resetActive(); + if (req.$target[0].id === 'col1') { + self.icinga.behaviors.navigation.resetActive(); + } } else if ($(el).closest('table.action').length) { $(el).closest('table.action').find('.active').removeClass('active'); } @@ -355,7 +357,9 @@ if ($el.is('form')) { $('input', $el).addClass('active'); } else { - self.icinga.behaviors.navigation.setActive($el); + if (req.$target[0].id === 'col1') { + self.icinga.behaviors.navigation.setActive($el); + } } // Interrupt .each, only on menu item shall be active return false; diff --git a/public/js/icinga/ui.js b/public/js/icinga/ui.js index 7f2507bdc7..ac98fb14ce 100644 --- a/public/js/icinga/ui.js +++ b/public/js/icinga/ui.js @@ -136,6 +136,7 @@ var kill = this.cutContainer($('#col1')); this.pasteContainer($('#col1'), col2); this.fixControls(); + this.icinga.behaviors.navigation.setActiveByUrl($('#col1').data('icingaUrl')); }, cutContainer: function ($col) {