diff --git a/install/ui/src/freeipa/topology.js b/install/ui/src/freeipa/topology.js index 7e501eb35..c33adba9a 100644 --- a/install/ui/src/freeipa/topology.js +++ b/install/ui/src/freeipa/topology.js @@ -28,13 +28,14 @@ define([ './facets/Facet', './topology_graph', './navigation', + './widget', // plain imports './search', './entity'], function(lang, declare, Evented, Stateful, Deferred, on, all, when, builder, IPA, $, menu, metadata_provider, phases, reg, rpc, text, mod_details, mod_facet, mod_field, ActionMixin, - HeaderMixin, Facet, topology_graph, navigation) { + HeaderMixin, Facet, topology_graph, navigation, widget_mod) { /** * Topology module * @class @@ -206,6 +207,7 @@ return { facets: [ { $type: 'search', + $factory: topology.servers_search_facet, no_update: true, disable_facet_tabs: false, tabs_in_sidebar: true, @@ -483,6 +485,75 @@ topology.location_adapter = declare([mod_field.Adapter], { } }); +topology.servers_search_facet = function(spec, no_init) { + spec = spec || {}; + + var that = IPA.search_facet(spec); + + that.create_get_records_command = function(pkeys, on_success, on_error) { + + var on_success_extended = function(data, text_status, xhr) { + // Call original on_success handler + on_success(data, text_status, xhr); + + var result = data.result.results; + var counter = 0; + + for (var i=0, l=result.length; i