From afc905f090f54c938e60d2fc4d189c1c6b16a519 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Fri, 28 Mar 2014 19:57:24 +0000 Subject: [PATCH] Improve class handling on container module switch --- public/js/icinga/loader.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/public/js/icinga/loader.js b/public/js/icinga/loader.js index ab8b06dea..0ed0e17c6 100644 --- a/public/js/icinga/loader.js +++ b/public/js/icinga/loader.js @@ -237,6 +237,7 @@ var $resp = $('
' + req.responseText + '
'); var active = false; var rendered = false; + var classes; if (! req.autorefresh) { // TODO: Hook for response/url? @@ -295,15 +296,22 @@ } var moduleName = req.getResponseHeader('X-Icinga-Module'); + classes = $.grep(req.$target.classes(), function (el) { + if (el === 'icinga-module' || el.match(/^module\-/)) { + return false; + } + return true; + }); if (moduleName) { - req.$target.addClass('icinga-module'); req.$target.data('icingaModule', moduleName); - req.$target.addClass('module-' + moduleName); + classes.push('icinga-module'); + classes.push('module-' + moduleName); + req.$target.attr('class', classes); } else { - req.$target.removeClass('icinga-module'); req.$target.removeData('icingaModule'); - req.$target.attr('class', 'container'); // TODO: remove module-$name + // req.$target.attr('class', 'container'); // TODO: remove module-$name } + req.$target.attr('class', classes.join(' ')); var cssreload = req.getResponseHeader('X-Icinga-CssReload'); if (cssreload) {