From aa110ef9fec28e2881e37874c09c1d12e77faff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jannis=20Mo=C3=9Fhammer?= Date: Mon, 23 Sep 2013 13:45:27 +0200 Subject: [PATCH] Fix pagination in main-detail refs #4611 --- public/js/icinga/components/container.js | 4 ++-- public/js/icinga/components/mainDetailGrid.js | 13 +++++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/public/js/icinga/components/container.js b/public/js/icinga/components/container.js index 623b66067..683582904 100644 --- a/public/js/icinga/components/container.js +++ b/public/js/icinga/components/container.js @@ -412,6 +412,7 @@ define(['jquery', 'logging', 'icinga/componentLoader', 'URIjs/URI', 'URIjs/URITe * (those starting with '#'). */ $('body').on('click', '#icingamain, #icingadetail', function(ev) { + var targetEl = ev.target || ev.toElement || ev.relatedTarget; if (targetEl.tagName.toLowerCase() !== 'a') { return true; @@ -420,10 +421,9 @@ define(['jquery', 'logging', 'icinga/componentLoader', 'URIjs/URI', 'URIjs/URITe if (Container.isExternalLink($(targetEl).attr('href'))) { return true; } else { - var container = new Container($(targetEl)); // detail links render to main by default; Icinga.replaceBodyFromUrl( - container.updateContainerHref(URI($(targetEl).attr('href')).href()) + mainContainer.updateContainerHref(URI($(targetEl).attr('href')).href()) ); ev.preventDefault(); diff --git a/public/js/icinga/components/mainDetailGrid.js b/public/js/icinga/components/mainDetailGrid.js index 76ebf0881..7c14d2dcd 100644 --- a/public/js/icinga/components/mainDetailGrid.js +++ b/public/js/icinga/components/mainDetailGrid.js @@ -147,10 +147,9 @@ function(Container, $, logger, URI) { * current container */ this.registerControls = function() { - controlForms.on('submit', function(evt) { - var form = $(this); var container = (new Container(this)); + var form = $(this); var url = URI(container.getContainerHref()); url.search(URI.parseQuery(form.serialize())); container.replaceDomFromUrl(url.href()); @@ -160,8 +159,14 @@ function(Container, $, logger, URI) { return false; }); - $('.pagination li a', contentNode).on('click', function() { - Container.hideDetail(); + $('.pagination li a', contentNode.parent()).on('click', function(ev) { + var container = (new Container(this)); + Icinga.replaceBodyFromUrl( + container.updateContainerHref($(this).attr('href')) + ); + ev.preventDefault(); + ev.stopPropagation(); + return false; }); };