summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--install/ui/association.js10
-rw-r--r--install/ui/entity.js6
2 files changed, 12 insertions, 4 deletions
diff --git a/install/ui/association.js b/install/ui/association.js
index 6ce8fea4..6ef73daf 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 75f781e6..f7bf992a 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();