You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by on...@apache.org on 2015/03/16 17:40:20 UTC

ambari git commit: AMBARI-10084. There is no revert indicator for repositories on stack and versions tab (onechiporenko)

Repository: ambari
Updated Branches:
  refs/heads/trunk 5796e12de -> 35b96f728


AMBARI-10084. There is no revert indicator for repositories on stack and versions tab (onechiporenko)


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

Branch: refs/heads/trunk
Commit: 35b96f7283be0469594c3fda7cb3b6a8b5aeec91
Parents: 5796e12
Author: Oleg Nechiporenko <on...@apache.org>
Authored: Mon Mar 16 18:03:05 2015 +0200
Committer: Oleg Nechiporenko <on...@apache.org>
Committed: Mon Mar 16 18:40:09 2015 +0200

----------------------------------------------------------------------
 ambari-web/app/styles/stack_versions.less       |  2 +-
 .../admin/stack_upgrade/edit_repositories.hbs   | 12 ++---
 ambari-web/app/views/common/controls_view.js    | 50 +++++++++++++++++++-
 .../test/views/common/controls_view_test.js     | 42 ++++++++++++++++
 4 files changed, 97 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/35b96f72/ambari-web/app/styles/stack_versions.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/stack_versions.less b/ambari-web/app/styles/stack_versions.less
index 5416aac..a54953b 100644
--- a/ambari-web/app/styles/stack_versions.less
+++ b/ambari-web/app/styles/stack_versions.less
@@ -276,7 +276,7 @@
     padding-top: 10px;
   }
   input[type="text"] {
-    width: 97%;
+    width: 80%;
   }
 }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/35b96f72/ambari-web/app/templates/main/admin/stack_upgrade/edit_repositories.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/stack_upgrade/edit_repositories.hbs b/ambari-web/app/templates/main/admin/stack_upgrade/edit_repositories.hbs
index af861b3..053f7dc 100644
--- a/ambari-web/app/templates/main/admin/stack_upgrade/edit_repositories.hbs
+++ b/ambari-web/app/templates/main/admin/stack_upgrade/edit_repositories.hbs
@@ -34,11 +34,11 @@
     <div class="span2">
       {{os.osType}}
     </div>
-  <div class="span10">
-  {{#each repository in os.repositories}}
-    <div class="row-fluid">
-      <div class="span3">{{repository.repoName}}</div>
-      <div {{bindAttr class="repository.hasError:error :control-group :span9"}}>{{view App.BaseUrlTextField repositoryBinding="repository"}}</div>
+    <div class="span10">
+      {{#each repository in os.repositories}}
+        <div class="row-fluid">
+          <div class="span3">{{repository.repoName}}</div>
+          <div {{bindAttr class="repository.hasError:error :control-group :span9"}}>{{view App.BaseUrlTextField repositoryBinding="repository"}}</div>
         </div>
       {{/each}}
     </div>
@@ -48,5 +48,5 @@
 <div>
   <label>{{view view.skipCheckBox checkedBinding="view.parentView.skipValidation"}}{{t installer.step1.advancedRepo.skipValidation.message}}
     <i class="icon-question-sign" rel="skip-validation-tooltip"
-  data-toggle="tooltip" {{translateAttr title="installer.step1.advancedRepo.skipValidation.tooltip"}}></i></label>
+       data-toggle="tooltip" {{translateAttr title="installer.step1.advancedRepo.skipValidation.tooltip"}}></i></label>
 </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/35b96f72/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 5a0d007..118534e 100644
--- a/ambari-web/app/views/common/controls_view.js
+++ b/ambari-web/app/views/common/controls_view.js
@@ -1352,14 +1352,60 @@ App.CheckDBConnectionView = Ember.View.extend({
 });
 
 /**
- *
+ * View with input field used to repo-version URLs
  * @type {*}
  */
 App.BaseUrlTextField = Ember.TextField.extend({
 
+  layout: Ember.Handlebars.compile('<div class="pull-left">{{yield}}</div> {{#if view.valueWasChanged}}<div class="pull-right"><a class="btn btn-small" {{action "restoreValue" target="view"}}><i class="icon-undo"></i></a></div>{{/if}}'),
+
+  /**
+   * Binding in the template
+   * @type {App.RepositoryVersion}
+   */
+  repository: null,
+
+  /**
+   * @type {string}
+   */
   valueBinding: 'repository.baseUrl',
 
-  keyUp: function (event) {
+  /**
+   * @type {string}
+   */
+  defaultValue: '',
+
+  /**
+   * Determines if user have put some new value
+   * @type {boolean}
+   */
+  valueWasChanged: false,
+
+  didInsertElement: function () {
+    this.set('defaultValue', this.get('value'));
+    this.addObserver('value', this, this.valueWasChangedObs);
+  },
+
+  valueWasChangedObs: function () {
+    var value = this.get('value'),
+      defaultValue = this.get('defaultValue');
+    this.set('valueWasChanged', value !== defaultValue);
+  },
+
+  /**
+   * Restore value and unset error-flag
+   * @method restoreValue
+   */
+  restoreValue: function () {
+    this.set('value', this.get('defaultValue'));
+    this.keyUp();
+  },
+
+  /**
+   * Remove error-highlight after user puts some new value
+   * @method keyUp
+   */
+  keyUp: function () {
     if (Em.get(this, 'repository.hasError')) {
       Em.set(this, 'repository.hasError', false);
     }

http://git-wip-us.apache.org/repos/asf/ambari/blob/35b96f72/ambari-web/test/views/common/controls_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/common/controls_view_test.js b/ambari-web/test/views/common/controls_view_test.js
index f995941..00b641e 100644
--- a/ambari-web/test/views/common/controls_view_test.js
+++ b/ambari-web/test/views/common/controls_view_test.js
@@ -654,4 +654,46 @@ describe('App.CheckDBConnectionView', function () {
 
   });
 
+});
+
+describe('App.BaseUrlTextField', function () {
+
+  var view;
+
+  beforeEach(function () {
+    view = App.BaseUrlTextField.create({
+      repository: Em.Object.create({
+        baseUrl: 'val'
+      })
+    });
+    view.didInsertElement();
+  });
+
+  describe('#valueWasChanged', function () {
+
+    it('should be recalculated after value is changed', function () {
+      view.setProperties({
+        value: 'val',
+        defaultValue: 'val'
+      });
+      expect(view.get('valueWasChanged')).to.be.false;
+      view.set('value', 'newVal');
+      expect(view.get('valueWasChanged')).to.be.true;
+    });
+
+  });
+
+  describe('#restoreValue', function () {
+
+    it('should unset value', function () {
+      view.setProperties({
+        value: 'valNew',
+        defaultValue: 'val'
+      });
+      view.restoreValue();
+      expect(view.get('value')).to.equal('val');
+    });
+
+  });
+
 });
\ No newline at end of file