You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by yu...@apache.org on 2013/12/01 00:44:35 UTC
git commit: AMBARI-3938. JS error when switching config groups in
Hive / Oozie service config pages. (yusaku)
Updated Branches:
refs/heads/trunk a9f8f3b69 -> cb0b3d928
AMBARI-3938. JS error when switching config groups in Hive / Oozie service config pages. (yusaku)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/cb0b3d92
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/cb0b3d92
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/cb0b3d92
Branch: refs/heads/trunk
Commit: cb0b3d928a6c0045697034ef007987d37429babc
Parents: a9f8f3b
Author: Yusaku Sako <yu...@hortonworks.com>
Authored: Sat Nov 30 15:40:22 2013 -0800
Committer: Yusaku Sako <yu...@hortonworks.com>
Committed: Sat Nov 30 15:40:22 2013 -0800
----------------------------------------------------------------------
ambari-web/app/views/wizard/controls_view.js | 42 ++++++++++++++---------
1 file changed, 26 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/cb0b3d92/ambari-web/app/views/wizard/controls_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/wizard/controls_view.js b/ambari-web/app/views/wizard/controls_view.js
index 7f36c15..4e9d9fa 100644
--- a/ambari-web/app/views/wizard/controls_view.js
+++ b/ambari-web/app/views/wizard/controls_view.js
@@ -315,34 +315,44 @@ App.ServiceConfigRadioButton = Ember.Checkbox.extend({
value: null,
didInsertElement: function () {
+ console.debug('App.ServiceConfigRadioButton.didInsertElement');
if (this.get('parentView.serviceConfig.value') === this.get('value')) {
+ console.debug(this.get('name') + ":" + this.get('value') + ' is checked');
this.set('checked', true);
}
},
click: function () {
this.set('checked', true);
+ console.debug('App.ServiceConfigRadioButton.click');
this.onChecked();
},
onChecked: function () {
- this.set('parentView.serviceConfig.value', this.get('value'));
- var components = this.get('parentView.serviceConfig.options');
- components
- .forEach(function (_component) {
- if (_component.foreignKeys) {
- _component.foreignKeys.forEach(function (_componentName) {
- if (this.get('parentView.categoryConfigsAll').someProperty('name', _componentName)) {
- var component = this.get('parentView.categoryConfigsAll').findProperty('name', _componentName);
- if (_component.displayName === this.get('value')) {
- component.set('isVisible', true);
- } else {
- component.set('isVisible', false);
+ // Wrapping the call with Ember.run.next prevents a problem where setting isVisible on component
+ // causes JS error due to re-rendering. For example, this occurs when switching the Config Group
+ // in Service Config page
+ Ember.run.next(this, function() {
+ console.debug('App.ServiceConfigRadioButton.onChecked');
+ this.set('parentView.serviceConfig.value', this.get('value'));
+ var components = this.get('parentView.serviceConfig.options');
+ components
+ .forEach(function (_component) {
+ if (_component.foreignKeys) {
+ _component.foreignKeys.forEach(function (_componentName) {
+ if (this.get('parentView.categoryConfigsAll').someProperty('name', _componentName)) {
+ var component = this.get('parentView.categoryConfigsAll').findProperty('name', _componentName);
+ if (_component.displayName === this.get('value')) {
+ console.debug('setting isVisible on ' + component.get('name'));
+ component.set('isVisible', true);
+ } else {
+ component.set('isVisible', false);
+ }
}
- }
- }, this);
- }
- }, this);
+ }, this);
+ }
+ }, this);
+ });
}.observes('checked'),
disabled: function () {