From bf7ee6eeecd71ffeb4740a440fd237a6fac4793f Mon Sep 17 00:00:00 2001 From: Petr Vobornik Date: Thu, 14 May 2015 13:02:24 +0200 Subject: webui: facet policies for all facets Now also facets other than details facet can use facet policies. Facet policies purpose is to extend facets behavior without overriding base class. This shared behavior could be reused in several other facets which may have completely different base classes. Reviewed-By: David Kupka Reviewed-By: Thierry Bordaz --- install/ui/src/freeipa/association.js | 2 ++ install/ui/src/freeipa/details.js | 10 ---------- install/ui/src/freeipa/facet.js | 12 +++++++++++- install/ui/src/freeipa/search.js | 1 + 4 files changed, 14 insertions(+), 11 deletions(-) (limited to 'install') diff --git a/install/ui/src/freeipa/association.js b/install/ui/src/freeipa/association.js index d786bfd47..0448fad84 100644 --- a/install/ui/src/freeipa/association.js +++ b/install/ui/src/freeipa/association.js @@ -1283,6 +1283,7 @@ exp.association_facet = IPA.association_facet = function (spec, no_init) { that.init_facet(); that.init_table_columns(); init(); + that.policies.init(); }; if (!no_init) that.init_association_facet(); @@ -1535,6 +1536,7 @@ exp.attribute_facet = IPA.attribute_facet = function(spec, no_init) { that.init_facet(); that.init_table_columns(); that.init_table(that.entity); + that.policies.init(); }; if (!no_init) that.init_attribute_facet(); diff --git a/install/ui/src/freeipa/details.js b/install/ui/src/freeipa/details.js index d18788e88..cce19616f 100644 --- a/install/ui/src/freeipa/details.js +++ b/install/ui/src/freeipa/details.js @@ -574,15 +574,6 @@ exp.details_facet = IPA.details_facet = function(spec, no_init) { */ that.fields = IPA.field_container({ container: that }); - /** - * Policies - * @property {IPA.facet_policies} - */ - that.policies = IPA.facet_policies({ - container: that, - policies: spec.policies - }); - that.fields.add_field = function(field) { if (field.dirty_changed) { @@ -634,7 +625,6 @@ exp.details_facet = IPA.details_facet = function(spec, no_init) { } that.facet_create(container); - that.policies.post_create(); }; /** diff --git a/install/ui/src/freeipa/facet.js b/install/ui/src/freeipa/facet.js index 2106e1a35..2bb2c4837 100644 --- a/install/ui/src/freeipa/facet.js +++ b/install/ui/src/freeipa/facet.js @@ -225,6 +225,15 @@ exp.facet = IPA.facet = function(spec, no_init) { */ that.header_actions = spec.header_actions || []; + /** + * Policies + * @property {IPA.facet_policies} + */ + that.policies = IPA.facet_policies({ + container: that, + policies: spec.policies + }); + /** * Facet header * @property {facet.facet_header} @@ -658,6 +667,7 @@ exp.facet = IPA.facet = function(spec, no_init) { that.create_content(that.content); dom_node.removeClass('active-facet'); + that.policies.post_create(); }; /** @@ -1897,7 +1907,7 @@ exp.table_facet = IPA.table_facet = function(spec, no_init) { } that.table.refresh_pagination(); - + that.policies.post_load(data); that.post_load.notify([data], that); that.clear_expired_flag(); }; diff --git a/install/ui/src/freeipa/search.js b/install/ui/src/freeipa/search.js index a59ea1ee4..87523b673 100644 --- a/install/ui/src/freeipa/search.js +++ b/install/ui/src/freeipa/search.js @@ -314,6 +314,7 @@ IPA.search_facet = function(spec, no_init) { that.init_facet(); that.init_table_columns(); that.init_table(that.managed_entity); + that.policies.init(); }; if (!no_init) that.init_search_facet(); -- cgit