You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2015/04/03 12:25:30 UTC
ambari git commit: AMBARI-10342 Dependent config changes not being
shown to user. (ababiichuk)
Repository: ambari
Updated Branches:
refs/heads/trunk 105a62060 -> f34f2df9c
AMBARI-10342 Dependent config changes not being shown to user. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f34f2df9
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f34f2df9
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f34f2df9
Branch: refs/heads/trunk
Commit: f34f2df9c106b140dcd9c098dc19fadfcb4d8017
Parents: 105a620
Author: aBabiichuk <ab...@cybervisiontech.com>
Authored: Fri Apr 3 13:19:36 2015 +0300
Committer: aBabiichuk <ab...@cybervisiontech.com>
Committed: Fri Apr 3 13:19:36 2015 +0300
----------------------------------------------------------------------
.../controllers/global/cluster_controller.js | 4 +-
.../controllers/main/service/info/configs.js | 19 +-
.../configs/stack_config_properties_mapper.js | 4 +-
.../mixins/common/configs/enhanced_configs.js | 249 +++++++++----------
ambari-web/app/models/service_config.js | 3 +-
.../configs/widgets/config_widget_view.js | 2 +-
.../widgets/slider_config_widget_view.js | 8 +-
7 files changed, 138 insertions(+), 151 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/f34f2df9/ambari-web/app/controllers/global/cluster_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/cluster_controller.js b/ambari-web/app/controllers/global/cluster_controller.js
index 9fd1a46..1dafc13 100644
--- a/ambari-web/app/controllers/global/cluster_controller.js
+++ b/ambari-web/app/controllers/global/cluster_controller.js
@@ -280,9 +280,7 @@ App.ClusterController = Em.Controller.extend({
});
updater.updateServiceMetric(function () {
- if (App.get('supports.enhancedConfigs')) {
- App.config.loadConfigsFromStack(App.Service.find().mapProperty('serviceName'));
- }
+ App.config.loadConfigsFromStack(App.Service.find().mapProperty('serviceName'));
updater.updateComponentConfig(function () {
self.updateLoadStatus('componentConfigs');
http://git-wip-us.apache.org/repos/asf/ambari/blob/f34f2df9/ambari-web/app/controllers/main/service/info/configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js
index f9729e5..9a40545 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -770,6 +770,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
* @method onLoadOverrides
*/
onLoadOverrides: function (allConfigs) {
+ var self = this;
var serviceNames = this.get('servicesToLoad');
serviceNames.forEach(function(serviceName) {
var serviceConfig = App.config.createServiceConfig(serviceName);
@@ -789,11 +790,13 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
this.checkOverrideProperty(selectedService);
this.checkDatabaseProperties(selectedService);
this.checkForSecureConfig(this.get('selectedService'));
- this.setProperties({
- dataIsLoaded: true,
- versionLoaded: true,
- hash: this.getHash(),
- isInit: false
+ this.getRecommendationsForDependencies(null, true, function() {
+ self.setProperties({
+ dataIsLoaded: true,
+ versionLoaded: true,
+ hash: self.getHash(),
+ isInit: false
+ });
});
},
@@ -2450,9 +2453,10 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
* @param {object} serviceConfigProperty - config property object
* @param {App.ConfigGroup} group - config group for new property
* @param {String} value
+ * @param {boolean} isNotSaved TODO
* @method addOverrideProperty
*/
- addOverrideProperty: function (serviceConfigProperty, group, value) {
+ addOverrideProperty: function (serviceConfigProperty, group, value, isNotSaved) {
if (serviceConfigProperty.get('isOriginalSCP')) {
var overrides = serviceConfigProperty.get('overrides');
if (!overrides) {
@@ -2466,7 +2470,8 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
parentSCP: serviceConfigProperty,
isEditable: true,
group: group,
- overrides: null
+ overrides: null,
+ isNotSaved: isNotSaved
});
console.debug("createOverrideProperty(): Added:", newSCP, " to main-property:", serviceConfigProperty);
overrides.pushObject(newSCP);
http://git-wip-us.apache.org/repos/asf/ambari/blob/f34f2df9/ambari-web/app/mappers/configs/stack_config_properties_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/configs/stack_config_properties_mapper.js b/ambari-web/app/mappers/configs/stack_config_properties_mapper.js
index 9220b3f..377095a 100644
--- a/ambari-web/app/mappers/configs/stack_config_properties_mapper.js
+++ b/ambari-web/app/mappers/configs/stack_config_properties_mapper.js
@@ -87,7 +87,9 @@ App.stackConfigPropertiesMapper = App.QuickDataMapper.create({
*/
mergeWithUI: function(config) {
var uiConfigProperty = this.getUIConfig(config.StackConfigurations.property_name, config.StackConfigurations.type);
- config.display_name = uiConfigProperty ? uiConfigProperty.displayName : config.StackConfigurations.display_name;
+ if (!config.StackConfigurations.property_display_name) {
+ config.StackConfigurations.property_display_name = uiConfigProperty && uiConfigProperty.displayName ? uiConfigProperty.displayName : config.StackConfigurations.property_name;
+ }
config.category = uiConfigProperty ? uiConfigProperty.category : 'Advanced ' + App.config.getConfigTagFromFileName(config.StackConfigurations.type);
config.display_type = uiConfigProperty ? uiConfigProperty.displayType : 'string';
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/f34f2df9/ambari-web/app/mixins/common/configs/enhanced_configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/common/configs/enhanced_configs.js b/ambari-web/app/mixins/common/configs/enhanced_configs.js
index 02738c5..549b783 100644
--- a/ambari-web/app/mixins/common/configs/enhanced_configs.js
+++ b/ambari-web/app/mixins/common/configs/enhanced_configs.js
@@ -51,6 +51,7 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
* ex:
* {
* saveRecommended: {boolean}, //by default is true (checkbox binding)
+ * saveRecommendedDefault: {boolean}, used for cancel operation to restore previous state
* fileName: {string}, //file name without '.xml'
* propertyName: {string},
* configGroup: {string},
@@ -268,10 +269,13 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
/**
* sends request to get values for dependent configs
* @param changedConfigs
+ * @param initial
+ * @param onComplete
* @returns {$.ajax|null}
*/
- getRecommendationsForDependencies: function(changedConfigs) {
- if (Em.isArray(changedConfigs) && changedConfigs.length > 0) {
+ getRecommendationsForDependencies: function(changedConfigs, initial, onComplete) {
+ if (Em.isArray(changedConfigs) && changedConfigs.length > 0 || initial) {
+ var self = this;
var recommendations = this.get('hostGroups');
var configs = this._getConfigsByGroup(this.get('stepConfigs'));
recommendations.blueprint.configurations = blueprintUtils.buildConfigsJSON(this.get('services'), configs);
@@ -282,7 +286,7 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
services: this.get('serviceNames'),
recommendations: recommendations
};
- if (App.get('supports.enhancedConfigs')) {
+ if (App.get('supports.enhancedConfigs') && changedConfigs) {
dataToSend.recommend = 'configuration-dependencies';
dataToSend.changed_configurations = changedConfigs;
}
@@ -291,11 +295,17 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
sender: this,
data: {
stackVersionUrl: App.get('stackVersionURL'),
- dataToSend: dataToSend
+ dataToSend: dataToSend,
+ initial: initial
},
success: 'dependenciesSuccess',
error: 'dependenciesError',
- callback: this.onRecommendationsReceived.bind(this)
+ callback: function() {
+ self.onRecommendationsReceived();
+ if (onComplete) {
+ onComplete()
+ }
+ }
});
} else {
return null;
@@ -315,18 +325,20 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
* if case properties that was changes belongs to not default group
* user should pick to what config group from dependent service dependent properties will be saved
* @param data
+ * @param opt
+ * @param params
* @method dependenciesSuccess
*/
- dependenciesSuccess: function (data) {
+ dependenciesSuccess: function (data, opt, params) {
var self = this;
if (!this.get('selectedConfigGroup.isDefault')) {
self.showSelectGroupsPopup(function () {
- self._saveRecommendedValues(data);
- self._saveDependentConfigs();
+ self._saveRecommendedValues(data, params.initial);
+ self._updateDependentConfigs(self.get('selectedConfigGroup.isDefault'));
});
} else {
- self._saveRecommendedValues(data);
- self._saveDependentConfigs();
+ self._saveRecommendedValues(data, params.initial);
+ self._updateDependentConfigs(self.get('selectedConfigGroup.isDefault'));
}
},
@@ -338,8 +350,7 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
var self = this;
if (self.get('_dependentConfigValues.length') > 0) {
App.showDependentConfigsPopup(this.get('_dependentConfigValues'), function() {
- self._saveDependentConfigs();
- self._discardChanges();
+ self._updateDependentConfigs(self.get('selectedConfigGroup.isDefault'));
if (callback) {
callback();
}
@@ -391,74 +402,56 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
/**
* save values that are stored in <code>_dependentConfigValues<code>
- * for current service to step configs
- * for dependent services to model
+ * to step configs
+ * @param isDefaultConfigGroup
* @private
*/
- _saveDependentConfigs: function() {
+ _updateDependentConfigs: function(isDefaultConfigGroup) {
var self = this;
- this.get('_dependentConfigValues').forEach(function(dependentConfig) {
- if (Em.get(dependentConfig, 'saveRecommended')) { // if saveRecommended is false leave properties as is
- self.get('stepConfigs').forEach(function(serviceConfigs) {
- serviceConfigs.get('configs').forEach(function(stepConfig) {
- if (stepConfig.get('filename') === App.config.getOriginalFileName(Em.get(dependentConfig, 'fileName'))
- && stepConfig.get('name') === Em.get(dependentConfig, 'propertyName')) {
- if (self.get('selectedConfigGroup.isDefault') || (self.get('groupsToSave')[Em.get(dependentConfig, 'serviceName')]
- && self.get('groupsToSave')[Em.get(dependentConfig, 'serviceName')].contains('Default'))) {
- stepConfig.set('value', Em.get(dependentConfig, 'recommendedValue'))
- } else {
- if (!stepConfig.get('overrides')) {
- stepConfig.set('overrides', Em.A([]));
- }
- var overridenConfig = stepConfig.get('overrides').findProperty('group.name', Em.get(dependentConfig, 'configGroup'));
- if (overridenConfig) {
- overridenConfig.set('value', Em.get(dependentConfig, 'recommendedValue'));
- } else {
- self.addOverrideProperty(stepConfig.set('isNotSaved', true), self.get('selectedConfigGroup'), Em.get(dependentConfig, 'recommendedValue'));
- }
+ var dependentConfigs = this.get('_dependentConfigValues');
+ this.get('stepConfigs').forEach(function(serviceConfigs) {
+ var selectedGroup = self.getGroupForService(serviceConfigs.get('serviceName'));
+ serviceConfigs.get('configs').forEach(function(cp) {
+ var dependentConfig = dependentConfigs.filterProperty('propertyName', cp.get('name')).findProperty('fileName', App.config.getConfigTagFromFileName(cp.get('filename')));
+ if (dependentConfig) {
+ var valueToSave = dependentConfig.saveRecommended ? dependentConfig.recommendedValue : dependentConfig.value;
+ if (isDefaultConfigGroup || selectedGroup.get('isDefault')) {
+ cp.set('value', valueToSave);
+ } else {
+ var overridenConfig = cp.get('overrides') && cp.get('overrides').findProperty('group.name', selectedGroup.get('name'));
+ if (overridenConfig) {
+ overridenConfig.set('value', valueToSave);
+ }
+ if (dependentConfig.saveRecommended) {
+ if (!overridenConfig) {
+ self.addOverrideProperty(cp, selectedGroup, valueToSave, true);
+ }
+ } else {
+ if (overridenConfig && overridenConfig.get('isNotSaved')) {
+ cp.get('overrides').removeObject(overridenConfig);
}
}
- })
- });
- }
+ }
+ }
+ })
});
},
/**
- * opposite to <code>_saveDependentConfigs<code>
- * restore values that was before applying changes for dependent configs
- * do this action only for properties that has <code>saveRecommended<code> - false
- * @private
+ * get config group object for current service
+ * @param serviceName
+ * @returns {*}
*/
- _discardChanges: function () {
- var self = this;
- this.get('_dependentConfigValues').forEach(function(dependentConfig) {
- if (!Em.get(dependentConfig, 'saveRecommended')) { // if saveRecommended is false leave properties as is
- self.get('stepConfigs').forEach(function(serviceConfigs) {
- serviceConfigs.get('configs').forEach(function(stepConfig) {
- if (stepConfig.get('filename') === App.config.getOriginalFileName(Em.get(dependentConfig, 'fileName'))
- && stepConfig.get('name') === Em.get(dependentConfig, 'propertyName')) {
- if (self.get('selectedConfigGroup.isDefault')) {
- stepConfig.set('value', Em.get(dependentConfig, 'value'))
- } else {
- if (!stepConfig.get('overrides')) {
- stepConfig.set('overrides', Em.A([]));
- }
- var overridenConfig = stepConfig.get('overrides').findProperty('group.name', Em.get(dependentConfig, 'configGroup'));
- if (overridenConfig) {
- if (overridenConfig.get('isNotSaved')) {
- stepConfig.get('overrides').removeObject(overridenConfig);
- } else {
- overridenConfig.set('value', Em.get(dependentConfig, 'value'));
- }
- }
- }
- }
- })
- });
+ getGroupForService: function(serviceName) {
+ if (this.get('content.serviceName') === serviceName) {
+ return this.get('selectedConfigGroup')
+ } else {
+ if (this.get('selectedConfigGroup.isDefault')) {
+ return this.get('dependentConfigGroups').filterProperty('service.serviceName', serviceName).findProperty('isDefault');
+ } else {
+ return this.get('dependentConfigGroups').findProperty('name', this.get('groupsToSave')[serviceName]);
}
- });
- this.set('recommendationTimeStamp', (new Date).getTime());
+ }
},
/**
@@ -471,60 +464,79 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
* @private
*/
_getConfigsByGroup: function(stepConfigs) {
- var configsToSend = [];
if (this.get('selectedConfigGroup.isDefault')) {
return stepConfigs;
} else {
+ var configsToSend = [];
+
stepConfigs.forEach(function(serviceConfig) {
var stepConfigToSend = [];
- serviceConfig.get('configs').forEach(function(stepConfig) {
- if (stepConfig.get('overrides')) {
- var conf = stepConfig.get('overrides').findProperty('group.name', this.get('selectedConfigGroup.name'));
- stepConfigToSend.pushObject(conf ? conf : stepConfig);
+ var group = this.getGroupForService(serviceConfig.get('serviceName'));
+ serviceConfig.get('configs').forEach(function(cp) {
+ if (group && !group.get('isDefault') && cp.get('overrides')) {
+ var conf = cp.get('overrides').findProperty('group.name', group.get('name'));
+ stepConfigToSend.pushObject(conf ? conf : cp);
} else {
- stepConfigToSend.pushObject(stepConfig);
+ stepConfigToSend.pushObject(cp);
}
}, this);
- configsToSend.pushObject(stepConfigToSend);
- }, this)
+ App.config.createServiceConfig(serviceConfig.get('serviceName'));
+ var stepConfig = App.config.createServiceConfig(serviceConfig.get('serviceName'));
+ stepConfig.set('configs', stepConfigToSend);
+ configsToSend.pushObject(stepConfig);
+ }, this);
+
+ return configsToSend;
}
- return configsToSend;
},
/**
* saves values from response for dependent configs to <code>_dependentConfigValues<code>
* @param data
+ * @param updateOnlyBoundaries
* @method saveRecommendedValues
* @private
*/
- _saveRecommendedValues: function(data) {
+ _saveRecommendedValues: function(data, updateOnlyBoundaries) {
Em.assert('invalid data', data && data.resources[0] && Em.get(data.resources[0], 'recommendations.blueprint.configurations'));
var configs = data.resources[0].recommendations.blueprint.configurations;
+ /** get all configs by config group **/
+ var stepConfigsByGroup = this._getConfigsByGroup(this.get('stepConfigs'));
for (var key in configs) {
+
+ /** defines main info for file name (service name, config group, config that belongs to filename) **/
+ var serviceName = App.config.getServiceByConfigType(key).get('serviceName');
+ var stepConfig = stepConfigsByGroup.findProperty('serviceName', serviceName);
+ var configProperties = stepConfig ? stepConfig.get('configs').filterProperty('filename', App.config.getOriginalFileName(key)) : [];
+
+ var group = this.getGroupForService(serviceName);
+
for (var propertyName in configs[key].properties) {
- var service = App.config.getServiceByConfigType(key);
- var value = this._getCurrentValue(service.get('serviceName'), key, propertyName, this.get('selectedConfigGroup'));
+ /** if property exists and has value **/
+ var cp = configProperties.findProperty('name', propertyName);
+ var value = cp && cp.get('value');
+
if (!Em.isNone(value)) {
- var dependentProperty = this.get('_dependentConfigValues').findProperty('propertyName', propertyName);
- if (dependentProperty) {
- if (value != configs[key].properties[propertyName]) {
- Em.set(dependentProperty, 'value', value);
- Em.set(dependentProperty, 'recommendedValue', configs[key].properties[propertyName]);
- }
- } else {
- var configGroup = this.get('selectedConfigGroup.isDefault') ?
- service.get('serviceName') + ' Default' : this.get('groupsToSave')[service.get('serviceName')] || this.get('selectedConfigGroup.name');
- if (value != configs[key].properties[propertyName]) {
- this.get('_dependentConfigValues').pushObject({
- saveRecommended: true,
- saveRecommendedDefault: true,
- fileName: key,
- propertyName: propertyName,
- configGroup: configGroup,
- value: value,
- serviceName: service.get('serviceName'),
- recommendedValue: configs[key].properties[propertyName]
- });
+ if (!updateOnlyBoundaries) { //on first initial request we don't need to change values
+ var dependentProperty = this.get('_dependentConfigValues').findProperty('propertyName', propertyName);
+ if (dependentProperty) {
+ if (value != configs[key].properties[propertyName]) {
+ Em.set(dependentProperty, 'value', value);
+ Em.set(dependentProperty, 'recommendedValue', configs[key].properties[propertyName]);
+ }
+ } else {
+ if (value != configs[key].properties[propertyName]) {
+ this.get('_dependentConfigValues').pushObject({
+ saveRecommended: true,
+ saveRecommendedDefault: true,
+ fileName: key,
+ propertyName: propertyName,
+ configGroup: group.get('name'),
+ value: value,
+ serviceName: serviceName,
+ recommendedValue: configs[key].properties[propertyName]
+ });
+ }
}
}
/**
@@ -540,42 +552,13 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
if (configs[key].property_attributes[propertyName].max) {
stackProperty.set('valueAttributes.maximum', configs[key].property_attributes[propertyName].max);
}
+ if (configs[key].property_attributes[propertyName].step) {
+ stackProperty.set('valueAttributes.step', configs[key].property_attributes[propertyName].step);
+ }
}
}
}
}
}
- },
-
- /**
- * get current value for property by serviceName, tag and ConfigGroup
- * @param serviceName
- * @param tag
- * @param propertyName
- * @param configGroup
- * @returns {null|Object}
- * @private
- */
- _getCurrentValue: function (serviceName, tag, propertyName, configGroup) {
- var serviceConfig = this.get('stepConfigs').findProperty('serviceName', serviceName);
- var groupForService = serviceName == this.get('content.serviceName') ? configGroup.get('name') : this.get('groupsToSave')[serviceName];
- if (serviceConfig) {
- var stepConfig = serviceConfig.get('configs').find(function (stepConfig) {
- return (stepConfig.get('filename') === App.config.getOriginalFileName(tag) && stepConfig.get('name') === propertyName);
- });
- if (stepConfig) {
- if (configGroup.get('isDefault') || Em.isNone(stepConfig.get('overrides'))) {
- return stepConfig.get('value');
- } else {
- var overridenConfig = stepConfig.get('overrides').findProperty('group.name', groupForService);
- if (overridenConfig) {
- return overridenConfig.get('value');
- } else {
- return stepConfig.get('value');
- }
- }
- }
- }
- return null;
}
});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/f34f2df9/ambari-web/app/models/service_config.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/service_config.js b/ambari-web/app/models/service_config.js
index 7b1f08b..3913fb4 100644
--- a/ambari-web/app/models/service_config.js
+++ b/ambari-web/app/models/service_config.js
@@ -271,8 +271,7 @@ App.ServiceConfigProperty = Em.Object.extend({
var supportsFinal = this.get('supportsFinal');
var isFinal = this.get('isFinal');
var defaultIsFinal = this.get('defaultIsFinal');
- var isEditable = this.get('isEditable');
- return isEditable && ((defaultValue != null && value !== defaultValue) || (supportsFinal && isFinal !== defaultIsFinal));
+ return (defaultValue != null && value !== defaultValue) || (supportsFinal && isFinal !== defaultIsFinal);
}.property('value', 'defaultValue', 'isEditable', 'isFinal', 'defaultIsFinal'),
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/f34f2df9/ambari-web/app/views/common/configs/widgets/config_widget_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/widgets/config_widget_view.js b/ambari-web/app/views/common/configs/widgets/config_widget_view.js
index ba441b5..a1aaeab 100644
--- a/ambari-web/app/views/common/configs/widgets/config_widget_view.js
+++ b/ambari-web/app/views/common/configs/widgets/config_widget_view.js
@@ -56,7 +56,7 @@ App.ConfigWidgetView = Em.View.extend(App.SupportsDependentConfigs, App.WidgetPo
* @type {String}
*/
configLabel: function() {
- return this.get('config.displayName') || this.get('config.name');
+ return this.get('config.stackConfigProperty.displayName') || this.get('config.displayName') || this.get('config.name');
}.property('config.name', 'config.displayName'),
http://git-wip-us.apache.org/repos/asf/ambari/blob/f34f2df9/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js b/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js
index 8098337..8e00238 100644
--- a/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js
+++ b/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js
@@ -51,11 +51,11 @@ App.SliderConfigWidgetView = App.ConfigWidgetView.extend({
if (self.get('slider')) {
self.get('slider').destroy();
self.initSlider();
- if (self.get('config.value') > valueAttributes.get('maximum')) {
- self.set('mirrorValue', valueAttributes.get('maximum'))
+ if (self.get('config.value') > Em.get(valueAttributes, 'maximum')) {
+ self.set('mirrorValue', Em.get(valueAttributes, 'maximum'))
}
- if (self.get('config.value') < valueAttributes.get('minimum')) {
- self.set('mirrorValue', valueAttributes.get('minimum'))
+ if (self.get('config.value') < Em.get(valueAttributes, 'minimum')) {
+ self.set('mirrorValue', Em.get(valueAttributes, 'minimum'))
}
}
})