AMBARI-3794. Clicking +Exception in Default config-group doesnt add new row. (akovalenko)
diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js
index 5e3e444..105f21d 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -33,6 +33,8 @@
customConfig: [],
serviceConfigsData: require('data/service_configs'),
isApplyingChanges: false,
+ // contain Service Config Property, when user proceed from Select Config Group dialog
+ overrideToAdd: null,
serviceConfigs: function () {
return App.config.get('preDefinedServiceConfigs');
}.property('App.config.preDefinedServiceConfigs'),
@@ -628,6 +630,14 @@
componentConfig.configs.pushObject(serviceConfigProperty);
serviceConfigProperty.validate();
}, this);
+ var overrideToAdd = this.get('overrideToAdd');
+ if (overrideToAdd) {
+ overrideToAdd = componentConfig.configs.findProperty('name', overrideToAdd.name);
+ if (overrideToAdd) {
+ this.addOverrideProperty(overrideToAdd);
+ this.set('overrideToAdd', null);
+ }
+ }
},
/**
@@ -1725,6 +1735,22 @@
});
},
+ addOverrideProperty: function(serviceConfigProperty) {
+ var overrides = serviceConfigProperty.get('overrides');
+ if (!overrides) {
+ overrides = [];
+ serviceConfigProperty.set('overrides', overrides);
+ }
+ // create new override with new value
+ var newSCP = App.ServiceConfigProperty.create(serviceConfigProperty);
+ newSCP.set('value', '');
+ newSCP.set('isOriginalSCP', false); // indicated this is overridden value,
+ newSCP.set('parentSCP', serviceConfigProperty);
+ newSCP.set('isEditable', true);
+ console.debug("createOverrideProperty(): Added:", newSCP, " to main-property:", serviceConfigProperty);
+ overrides.pushObject(newSCP);
+ },
+
selectConfigGroup: function (event) {
this.set('selectedConfigGroup', event.context);
}
diff --git a/ambari-web/app/views/common/configs/services_config.js b/ambari-web/app/views/common/configs/services_config.js
index 0ffd5bf..3a501cb 100644
--- a/ambari-web/app/views/common/configs/services_config.js
+++ b/ambari-web/app/views/common/configs/services_config.js
@@ -488,7 +488,6 @@
createOverrideProperty: function (event) {
var serviceConfigProperty = event.contexts[0];
- var self = this;
var serviceConfigController = this.get('controller');
var selectedConfigGroup = serviceConfigController.get('selectedConfigGroup');
if (selectedConfigGroup.get('isDefault')) {
@@ -497,31 +496,15 @@
serviceConfigController.get('configGroups'), function (selectedGroupInPopup) {
console.log("launchConfigGroupSelectionCreationDialog(): Selected/Created:", selectedGroupInPopup);
if (selectedGroupInPopup) {
+ serviceConfigController.set('overrideToAdd', serviceConfigProperty);
serviceConfigController.set('selectedConfigGroup', selectedGroupInPopup);
- self.addOverrideProperty(serviceConfigProperty);
}
});
} else {
- this.addOverrideProperty(serviceConfigProperty);
+ serviceConfigController.addOverrideProperty(serviceConfigProperty);
}
},
- addOverrideProperty: function(serviceConfigProperty) {
- var overrides = serviceConfigProperty.get('overrides');
- if (!overrides) {
- overrides = [];
- serviceConfigProperty.set('overrides', overrides);
- }
- // create new override with new value
- var newSCP = App.ServiceConfigProperty.create(serviceConfigProperty);
- newSCP.set('value', '');
- newSCP.set('isOriginalSCP', false); // indicated this is overridden value,
- newSCP.set('parentSCP', serviceConfigProperty);
- newSCP.set('isEditable', true);
- console.debug("createOverrideProperty(): Added:", newSCP, " to main-property:", serviceConfigProperty);
- overrides.pushObject(newSCP);
- },
-
showOverrideWindow: function (event) {
// argument 1
var serviceConfigProperty = event.contexts[0];