Repository: ambari
Updated Branches:
  refs/heads/trunk 7b40c5bad -> e9f07973f


AMBARI-19934. Confusing Auto Start settings page behavior when loading and API 
takes a while (onechiporenko)


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

Branch: refs/heads/trunk
Commit: e9f07973f4c516590aca3e57e320a72a0bcedfe7
Parents: 7b40c5b
Author: Oleg Nechiporenko <[email protected]>
Authored: Thu Feb 9 12:15:02 2017 +0200
Committer: Oleg Nechiporenko <[email protected]>
Committed: Thu Feb 9 14:29:53 2017 +0200

----------------------------------------------------------------------
 .../templates/main/admin/service_auto_start.hbs | 28 +++++++++++---------
 .../app/views/main/admin/service_auto_start.js  |  8 +++---
 .../views/main/admin/service_auto_start_test.js |  2 ++
 3 files changed, 20 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/e9f07973/ambari-web/app/templates/main/admin/service_auto_start.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/service_auto_start.hbs 
b/ambari-web/app/templates/main/admin/service_auto_start.hbs
index 0de7d40..6dc7dc5 100644
--- a/ambari-web/app/templates/main/admin/service_auto_start.hbs
+++ b/ambari-web/app/templates/main/admin/service_auto_start.hbs
@@ -19,21 +19,21 @@
 <div class="admin-auto-start">
   <h4>{{t admin.serviceAutoStart.header}}</h4>
   <p>{{t admin.serviceAutoStart.header.text}}</p>
-  <div class="cluster-switcher row">
-    <div class="col-md-2">
-      <strong>{{t admin.serviceAutoStart.body.text}}</strong>
-    </div>
-    <div class="col-md-4">
-      {{view App.CheckboxView checkedBinding="controller.servicesAutoStart"}}
-    </div>
-    <div class="col-md-6">
-      <div class="pull-right operations-button">
-        <button class="btn btn-default" {{action revertStatus 
target="controller"}} {{bindAttr disabled="controller.isSaveDisabled"}}>{{t 
common.discard}}</button>
-        <button class="btn btn-success" {{action showSavePopup 
target="controller"}} {{bindAttr disabled="controller.isSaveDisabled"}}>{{t 
common.save}}</button>
+  {{#if view.isLoaded}}
+    <div class="cluster-switcher row">
+      <div class="col-md-2">
+        <strong>{{t admin.serviceAutoStart.body.text}}</strong>
+      </div>
+      <div class="col-md-4">
+        {{view App.CheckboxView checkedBinding="controller.servicesAutoStart"}}
+      </div>
+      <div class="col-md-6">
+        <div class="pull-right operations-button">
+          <button class="btn btn-default" {{action revertStatus 
target="controller"}} {{bindAttr disabled="controller.isSaveDisabled"}}>{{t 
common.discard}}</button>
+          <button class="btn btn-success" {{action showSavePopup 
target="controller"}} {{bindAttr disabled="controller.isSaveDisabled"}}>{{t 
common.save}}</button>
+        </div>
       </div>
     </div>
-  </div>
-  {{#if view.isLoaded}}
     <hr>
     <div class="row">
       <div class="col-md-4 col-lg-3">
@@ -99,5 +99,7 @@
         </div>
       </div>
     </div>
+  {{else}}
+    {{view App.SpinnerView}}
   {{/if}}
 </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/e9f07973/ambari-web/app/views/main/admin/service_auto_start.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/admin/service_auto_start.js 
b/ambari-web/app/views/main/admin/service_auto_start.js
index 317b029..6f7d644 100644
--- a/ambari-web/app/views/main/admin/service_auto_start.js
+++ b/ambari-web/app/views/main/admin/service_auto_start.js
@@ -30,12 +30,10 @@ App.MainAdminServiceAutoStartView = Em.View.extend({
   isDisabled: false,
 
   didInsertElement: function () {
-    var self = this;
-
     this.set('isDisabled', !App.isAuthorized('CLUSTER.MANAGE_AUTO_START'));
-    this.get('controller').load().then(function() {
-      self.set('isLoaded', true);
-      self.initSwitcher();
+    this.get('controller').load().then(() => {
+      this.set('isLoaded', true);
+      Em.run.next(() => this.initSwitcher());
     });
   },
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/e9f07973/ambari-web/test/views/main/admin/service_auto_start_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/admin/service_auto_start_test.js 
b/ambari-web/test/views/main/admin/service_auto_start_test.js
index f45f784..0edcf28 100644
--- a/ambari-web/test/views/main/admin/service_auto_start_test.js
+++ b/ambari-web/test/views/main/admin/service_auto_start_test.js
@@ -34,6 +34,7 @@ describe('App.MainAdminServiceAutoStartView', function () {
 
     beforeEach(function() {
       sinon.stub(view, 'initSwitcher');
+      sinon.stub(Em.run, 'next', Em.clb);
       sinon.stub(view.get('controller'), 'load').returns({
         then: Em.clb
       })
@@ -42,6 +43,7 @@ describe('App.MainAdminServiceAutoStartView', function () {
     afterEach(function() {
       view.initSwitcher.restore();
       view.get('controller').load.restore();
+      Em.run.next.restore();
     });
 
     it('initSwitcher should be called', function() {

Reply via email to