Repository: ambari
Updated Branches:
  refs/heads/trunk 52d466bc2 -> 737e60516


AMBARI-17525 Refactor config: mixins should use the same binding property. 
(atkach)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/737e6051
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/737e6051
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/737e6051

Branch: refs/heads/trunk
Commit: 737e6051629a883259099faed68088a67e55b54e
Parents: 52d466b
Author: Andrii Tkach <[email protected]>
Authored: Fri Jul 1 18:05:01 2016 +0300
Committer: Andrii Tkach <[email protected]>
Committed: Fri Jul 1 18:58:06 2016 +0300

----------------------------------------------------------------------
 .../templates/common/configs/widgets/controls.hbs   |  2 +-
 .../configs/widgets/plain_config_text_field.js      |  2 +-
 ambari-web/app/views/common/controls_view.js        | 16 ++++++++++++++++
 3 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/737e6051/ambari-web/app/templates/common/configs/widgets/controls.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/controls.hbs 
b/ambari-web/app/templates/common/configs/widgets/controls.hbs
index f51f7e8..9c6197b 100644
--- a/ambari-web/app/templates/common/configs/widgets/controls.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/controls.hbs
@@ -22,7 +22,7 @@
 {{#if view.supportSwitchToTextBox}}
   {{#unless view.isPropertyUndefined}}
     <div {{bindAttr class="view.config.showAsTextBox::hide :left 
:widget-config-raw"}}>
-      {{view App.PlainConfigTextField sectionBinding="view.section" 
subSectionBinding="view.subSection" configBinding="view.config" 
serviceConfigBinding="view.config" disabledBinding="view.canNotEdit"}}
+      {{view App.PlainConfigTextField sectionBinding="view.section" 
subSectionBinding="view.subSection" configBinding="view.config" 
disabledBinding="view.canNotEdit"}}
     </div>
   {{/unless}}
 {{/if}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/737e6051/ambari-web/app/views/common/configs/widgets/plain_config_text_field.js
----------------------------------------------------------------------
diff --git 
a/ambari-web/app/views/common/configs/widgets/plain_config_text_field.js 
b/ambari-web/app/views/common/configs/widgets/plain_config_text_field.js
index cdfd347..5444b27 100644
--- a/ambari-web/app/views/common/configs/widgets/plain_config_text_field.js
+++ b/ambari-web/app/views/common/configs/widgets/plain_config_text_field.js
@@ -25,7 +25,7 @@ var App = require('app');
 require('views/common/controls_view');
 
 //TODO should use only "serviceConfig" binding instead of "config"
-App.PlainConfigTextField = Ember.View.extend(App.SupportsDependentConfigs, 
App.WidgetPopoverSupport, App.ValueObserver, {
+App.PlainConfigTextField = Ember.View.extend(App.SupportsDependentConfigs, 
App.WidgetPopoverSupport, App.WidgetValueObserver, {
   templateName: 
require('templates/common/configs/widgets/plain_config_text_field'),
   valueBinding: 'config.value',
   classNames: ['widget-config-plain-text-field'],

http://git-wip-us.apache.org/repos/asf/ambari/blob/737e6051/ambari-web/app/views/common/controls_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/controls_view.js 
b/ambari-web/app/views/common/controls_view.js
index 4e90ead..1ed29ee 100644
--- a/ambari-web/app/views/common/controls_view.js
+++ b/ambari-web/app/views/common/controls_view.js
@@ -176,6 +176,22 @@ App.ValueObserver = 
Em.Mixin.create(App.SupportsDependentConfigs, {
 });
 
 /**
+ * mixin is used to send request for recommendations
+ * when config value is updated by user
+ */
+App.WidgetValueObserver = Em.Mixin.create(App.ValueObserver, {
+  onValueUpdate: function () {
+    if (this.get('selected')) {
+      var self = this, config = this.get('config'),
+        controller = this.get('controller');
+      delay(function(){
+        self.sendRequestRorDependentConfigs(config, controller);
+      }, 500);
+    }
+  }.observes('config.value')
+});
+
+/**
  * mixin set class that serve as unique element identifier,
  * id not used in order to avoid collision with ember ids
  */

Reply via email to