summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--install/ui/facet.js12
-rw-r--r--install/ui/search.js18
2 files changed, 27 insertions, 3 deletions
diff --git a/install/ui/facet.js b/install/ui/facet.js
index 267fc333..d5b21f32 100644
--- a/install/ui/facet.js
+++ b/install/ui/facet.js
@@ -1206,6 +1206,12 @@ IPA.facet_builder = function(entity) {
spec.tab_label = spec.tab_label || attr_metadata.label;
spec.factory = spec.factory || IPA.attribute_facet;
+ entity.policies.add_policy(IPA.build({
+ factory: IPA.facet_update_policy,
+ source_facet: 'search',
+ dest_facet: spec.name
+ }));
+
return spec;
};
@@ -1242,6 +1248,12 @@ IPA.facet_builder = function(entity) {
spec.read_only = true;
}
+ entity.policies.add_policy(IPA.build({
+ factory: IPA.facet_update_policy,
+ source_facet: 'search',
+ dest_facet: spec.name
+ }));
+
return spec;
};
diff --git a/install/ui/search.js b/install/ui/search.js
index 845da57c..2c30b5b7 100644
--- a/install/ui/search.js
+++ b/install/ui/search.js
@@ -310,6 +310,7 @@ IPA.search_deleter_dialog = function(spec) {
batch.on_success = function() {
that.facet.refresh();
+ that.facet.on_update.notify([],that.facet);
that.close();
};
@@ -421,9 +422,7 @@ IPA.batch_items_action = function(spec) {
var batch = IPA.batch_command({
name: entity.name + '_batch_'+ that.method,
- on_success: function() {
- facet.refresh();
- }
+ on_success: that.get_on_success(facet, on_success)
});
for (var i=0; i<pkeys.length; i++) {
@@ -441,5 +440,18 @@ IPA.batch_items_action = function(spec) {
batch.execute();
};
+ that.on_success = function(facet, data, text_status, xhr) {
+ facet.on_update.notify();
+ facet.refresh();
+ };
+
+ that.get_on_success = function(facet, on_success) {
+ return function(data, text_status, xhr) {
+ that.on_success(facet, data, text_status, xhr);
+ if (on_success) on_success.call(this, data, text_status, xhr);
+ };
+ };
+
+
return that;
};