You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sr...@apache.org on 2015/04/07 00:30:43 UTC

ambari git commit: AMBARI-10340. Provide support for final configs (Richard Zang via srimanth)

Repository: ambari
Updated Branches:
  refs/heads/trunk 2bb9aa2de -> c55d89c1a


AMBARI-10340. Provide support for final configs (Richard Zang via srimanth)


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

Branch: refs/heads/trunk
Commit: c55d89c1a0d53197598da2f60ff85c19f7aa9157
Parents: 2bb9aa2
Author: Srimanth Gunturi <sg...@hortonworks.com>
Authored: Mon Apr 6 15:30:20 2015 -0700
Committer: Srimanth Gunturi <sg...@hortonworks.com>
Committed: Mon Apr 6 15:30:20 2015 -0700

----------------------------------------------------------------------
 ambari-web/app/styles/application.less             | 10 +++++++++-
 .../configs/widgets/slider_config_widget.hbs       | 16 ++++++++++++----
 .../views/common/configs/restore_config_view.js    |  3 ++-
 .../common/configs/widgets/config_widget_view.js   | 17 +++++++++++++++++
 4 files changed, 40 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/c55d89c1/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index 3c82dfa..e5b8a9b 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -1176,7 +1176,7 @@ h1 {
       list-style-type: none;
     }
   }
-  .common-config-category {
+  .common-config-category, .enhanced-config-tab-content  {
     .action {
       cursor: pointer;
     }
@@ -1219,6 +1219,14 @@ h1 {
       }
     }
   }
+
+  .enhanced-config-tab-content
+  {
+    .action-button {
+      margin-left: 3px;
+    }
+  }
+
   .capacity-scheduler {
     .header {
       margin-bottom: 10px;

http://git-wip-us.apache.org/repos/asf/ambari/blob/c55d89c1/ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs b/ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs
index e983ec8..5956230 100644
--- a/ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs
@@ -25,13 +25,18 @@
     <div class="pull-left ui-slider-wrapper-inner">{{view Ember.TextField valueBinding="view.config.value" class="input-mini slider-input"}}</div>
     <div class="pull-right ui-slider-label">{{view.mirrorValue}} {{view.unitLabel}}</div>
   </div>
-  <div {{bindAttr class="view.isHover:show:not-show :clearfix"}}>
-      {{#if view.isOriginalSCP}}
-        {{view App.RestoreConfigView visibleBinding="view.undoAllowed"}}
+  <div {{bindAttr class=":clearfix"}}>
+      {{#if view.config.supportsFinal}}
+        <a href="#" data-toggle="tooltip"
+          {{bindAttr class=":btn :btn-small :btn-final :pull-left view.config.isFinal:active view.showFinalConfig:show:not-show" disabled="view.config.isNotEditable"}}
+          {{action "toggleFinalFlag" view.config target="view"}}
+          {{translateAttr data-original-title="services.service.config.final"}}>
+          <i class="icon-lock"></i>
+        </a>
       {{/if}}
       {{#if view.overrideAllowed}}
         {{#isAccessible ADMIN}}
-          <div class="pull-left action-button">
+          <div {{bindAttr class=":pull-left :action-button view.isHover:show:not-show"}}>
             <a class="btn btn-small" href="#" data-toggle="tooltip"
               {{action "createOverrideProperty" view.config target="view.parentView"}}
               {{translateAttr data-original-title="common.override"}}>
@@ -40,6 +45,9 @@
           </div>
         {{/isAccessible}}
       {{/if}}
+      {{#if view.isOriginalSCP}}
+        {{view App.RestoreConfigView visibleBinding="view.undoAllowed"}}
+      {{/if}}
   </div>
 
   {{#if view.isComparison}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/c55d89c1/ambari-web/app/views/common/configs/restore_config_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/restore_config_view.js b/ambari-web/app/views/common/configs/restore_config_view.js
index 0693af8..117a0f1 100644
--- a/ambari-web/app/views/common/configs/restore_config_view.js
+++ b/ambari-web/app/views/common/configs/restore_config_view.js
@@ -25,5 +25,6 @@ var App = require('app');
 App.RestoreConfigView = Em.View.extend({
   templateName: require('templates/common/configs/restore_config'),
   classNames: ['pull-left', 'action-button'],
-  visibleBinding: 'parentView.valueIsChanged'
+  visibleBinding: 'parentView.valueIsChanged',
+  classNameBindings: ['parentView.isHover:show:not-show']
 });

http://git-wip-us.apache.org/repos/asf/ambari/blob/c55d89c1/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 6277253..d24e845 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
@@ -83,6 +83,10 @@ App.ConfigWidgetView = Em.View.extend(App.SupportsDependentConfigs, App.WidgetPo
   restoreValue: function () {
     this.set('config.value', this.get('config.defaultValue'));
     this.sendRequestRorDependentConfigs(this.get('config'));
+
+    if (this.get('config.supportsFinal')) {
+      this.get('config').set('isFinal', this.get('config.defaultIsFinal'));
+    }
   },
 
   /**
@@ -105,6 +109,19 @@ App.ConfigWidgetView = Em.View.extend(App.SupportsDependentConfigs, App.WidgetPo
     return !config.get('cantBeUndone') && config.get('isNotDefaultValue');
   }.property('config.cantBeUndone', 'config.isNotDefaultValue'),
 
+  showFinalConfig: function () {
+    var config = this.get('config');
+    return config.get('isFinal') || (!config.get('isNotEditable') && this.get('isHover'));
+  }.property('config.isFinal', 'config.isNotEditable', 'isHover'),
+
+  toggleFinalFlag: function (event) {
+    var configProperty = event.context;
+    if (configProperty.get('isNotEditable')) {
+      return;
+    }
+    configProperty.toggleProperty('isFinal');
+  },
+
   /**
    * sync widget value with config value when dependent properties
    * have been loaded or changed