AMBARI-3860 Should allow selecting hosts by components in config-groups dialog. (ababiichuk)
diff --git a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
index 0055431..45f0b2d 100644
--- a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
+++ b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
@@ -19,6 +19,7 @@
var App = require('app');
var hostsManagement = require('utils/hosts');
+var serviceComponents = require('data/service_components');
App.ManageConfigGroupsController = Em.Controller.extend({
name: 'manageConfigGroupsController',
@@ -159,10 +160,21 @@
* add hosts to group
* @return {Array}
*/
+ componentsForFilter: function() {
+ var components = serviceComponents.filterProperty('service_name',this.get('serviceName'));
+ return components.map(function(component) {
+ return Em.Object.create({
+ displayName: component.display_name,
+ componentName: component.component_name,
+ selected: false
+ });
+ });
+ }.property('serviceName'),
+
addHosts: function () {
var availableHosts = this.get('selectedConfigGroup.availableHosts');
var group = this.get('selectedConfigGroup');
- hostsManagement.launchHostsSelectionDialog(availableHosts, [], false, [], function (selectedHosts) {
+ hostsManagement.launchHostsSelectionDialog(availableHosts, [], false, this.get('componentsForFilter'), function (selectedHosts) {
if (selectedHosts) {
var defaultHosts = group.get('parentConfigGroup.hosts');
var configGroupHosts = group.get('hosts');