From 6802ea7d706d00ad0078d31bc650140e82b3d3a8 Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Thu, 3 Nov 2011 23:43:58 -0500 Subject: [PATCH] Fixed problem changing page in association facet. The association facet has been modified to detect page change to determine whether the facet needs to be updated. Ticket #1459 --- install/ui/association.js | 10 ++++++++-- install/ui/entity.js | 6 ++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/install/ui/association.js b/install/ui/association.js index 6ce8fea46..6ef73dafe 100644 --- a/install/ui/association.js +++ b/install/ui/association.js @@ -1165,7 +1165,7 @@ IPA.association_facet = function (spec) { that.table.total_pages = 1; } - that.table.current_page = 1; + delete that.table.current_page; that.table.refresh(); that.table.unselect_all(); @@ -1207,8 +1207,14 @@ IPA.association_facet = function (spec) { that.needs_update = function() { if (that._needs_update !== undefined) return that._needs_update; + var pkey = IPA.nav.get_state(that.entity.name+'-pkey'); - return that.pkey !== pkey; + if (that.pkey !== pkey) return true; + + var page = parseInt(IPA.nav.get_state(that.entity_name+'-page'), 10) || 1; + if (that.table.current_page !== page) return true; + + return false; }; /*initialization*/ diff --git a/install/ui/entity.js b/install/ui/entity.js index 75f781e62..f7bf992aa 100644 --- a/install/ui/entity.js +++ b/install/ui/entity.js @@ -156,8 +156,10 @@ IPA.entity = function(spec) { var facet_name = IPA.nav.get_state(that.name+'-facet'); that.facet = that.get_facet(facet_name); + var needs_update = that.facet.needs_update(); + // same entity, same facet, and doesn't need updating => return - if (that == prev_entity && that.facet == prev_facet && !that.facet.needs_update()) { + if (that == prev_entity && that.facet == prev_facet && !needs_update) { return; } @@ -175,7 +177,7 @@ IPA.entity = function(spec) { that.facet.create(facet_container); } - if (that.facet.needs_update()) { + if (needs_update) { that.facet.clear(); that.facet.show(); that.facet.header.select_tab();