Repository: ambari
Updated Branches:
  refs/heads/trunk 36711dbde -> 698be84bb


AMBARI-11300 RU: After installing new packages, 'Reinstall Packages' button is 
present on UI (atkach)


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

Branch: refs/heads/trunk
Commit: 698be84bbafe89e1de7123eb7a549898655f1286
Parents: 36711db
Author: Oleg Nechiporenko <onechipore...@apache.org>
Authored: Thu May 21 21:41:54 2015 +0300
Committer: Oleg Nechiporenko <onechipore...@apache.org>
Committed: Thu May 21 21:41:54 2015 +0300

----------------------------------------------------------------------
 ambari-web/app/styles/stack_versions.less       |  19 ++--
 .../admin/stack_upgrade/upgrade_version_box.hbs |  31 ++++-
 .../stack_upgrade/upgrade_version_box_view.js   |  29 ++---
 .../upgrade_version_box_view_test.js            | 112 +++++--------------
 4 files changed, 72 insertions(+), 119 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/698be84b/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 00700ad..cbe4151 100644
--- a/ambari-web/app/styles/stack_versions.less
+++ b/ambari-web/app/styles/stack_versions.less
@@ -144,7 +144,7 @@
     position: relative;
     background: none repeat scroll 0 0 #fff;
     border: 1px solid #d2d9dd;
-    height: 198px;
+    height: 168px;
     margin: 15px 15px 0 0;
     padding: 5px 0px;
     a.not-active:hover {
@@ -159,7 +159,7 @@
       color: orange;
     }
     .state {
-      margin: 30px 0;
+      margin: 15px 0;
       line-height: 30px;
       padding-top: 5px;
       height: 30px;
@@ -171,9 +171,15 @@
         padding: 5px 20px;
         font-size: 14px;
       }
+      .btn-group {
+        display: inline-block;
+      }
+      .dropdown-menu {
+        cursor: pointer;
+      }
     }
     .installing {
-      margin-top: 25px;
+      margin-top: 10px;
       padding-top: 0;
       padding-bottom: 10px;
       .progress {
@@ -182,13 +188,6 @@
         margin: 0 20%;
       }
     }
-    .multiple-buttons-container {
-      margin: 10px 0;
-      height: 60px;
-      button {
-        margin-top: 5px;
-      }
-    }
     .host-link a {
       color: #0088cc;
       font-size: 14px;

http://git-wip-us.apache.org/repos/asf/ambari/blob/698be84b/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_box.hbs
----------------------------------------------------------------------
diff --git 
a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_box.hbs 
b/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_box.hbs
index 08324e1..75abdbd 100644
--- a/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_box.hbs
+++ b/ambari-web/app/templates/main/admin/stack_upgrade/upgrade_version_box.hbs
@@ -27,16 +27,35 @@
   </a>
 </p>
 <p class="repository-name">({{view.content.repositoryVersion}})</p>
-<div {{bindAttr class="view.stateElement.isInstalling:installing 
view.stateElement.hasMultipleButtons:multiple-buttons-container :align-center 
:state"}}>
+<div {{bindAttr class="view.stateElement.isInstalling:installing :align-center 
:state"}}>
   {{#if view.stateElement.isButton}}
-    {{#each button in view.stateElement.buttons}}
+    <button class="btn btn-primary"
+      {{action runAction target="view"}}
+      {{bindAttr disabled="view.stateElement.isDisabled"}}>
+      {{view.stateElement.text}}
+    </button>
+  {{/if}}
+  {{#if view.stateElement.isButtonGroup}}
+    <div class="btn-group">
       <button class="btn btn-primary"
-        {{action runAction button.action target="view"}}
+        {{action runAction target="view"}}
         {{bindAttr disabled="view.stateElement.isDisabled"}}>
-        {{button.text}}
+        {{view.stateElement.text}}
+      </button>
+      <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
+        <span class="caret"></span>
       </button>
-      <br />
-    {{/each}}
+      <ul class="dropdown-menu">
+        {{#each button in view.stateElement.buttons}}
+          <li>
+            <a {{action runAction button.action target="view"}}
+              {{bindAttr disabled="button.isDisabled"}}>
+            {{button.text}}
+            </a>
+          </li>
+        {{/each}}
+      </ul>
+    </div>
   {{/if}}
   {{#if view.stateElement.isLabel}}
     <span {{bindAttr 
class="view.stateElement.class"}}>{{view.stateElement.text}}</span>

http://git-wip-us.apache.org/repos/asf/ambari/blob/698be84b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
----------------------------------------------------------------------
diff --git 
a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js 
b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
index 7e78535..4401bae 100644
--- a/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
+++ b/ambari-web/app/views/main/admin/stack_upgrade/upgrade_version_box_view.js
@@ -106,11 +106,8 @@ App.UpgradeVersionBoxView = Em.View.extend({
       isInstalling: function () {
         return this.get('status') === 'INSTALLING';
       }.property('status'),
-      isDisabled: false,
       buttons: [],
-      hasMultipleButtons: function () {
-        return this.get('buttons.length') > 1;
-      }.property('buttons.length')
+      isDisabled: false
     });
     var isInstalling = 
this.get('parentView.repoVersions').someProperty('status', 'INSTALLING');
 
@@ -120,10 +117,8 @@ App.UpgradeVersionBoxView = Em.View.extend({
       element.set('class', 'label label-success');
     } else if (['INIT', 'INSTALL_FAILED', 'OUT_OF_SYNC'].contains(status)) {
       element.set('isButton', true);
-      element.get('buttons').pushObject({
-        text: Em.I18n.t('admin.stackVersions.version.installNow'),
-        action: 'installRepoVersionConfirmation'
-      });
+      element.set('text', Em.I18n.t('admin.stackVersions.version.installNow'));
+      element.set('action', 'installRepoVersionConfirmation');
       element.set('isDisabled', !App.isAccessible('ADMIN') || 
this.get('controller.requestInProgress') || isInstalling);
     } else if (status === 'INSTALLING') {
       element.set('iconClass', 'icon-cog');
@@ -132,17 +127,13 @@ App.UpgradeVersionBoxView = Em.View.extend({
       element.set('action', 'showProgressPopup');
     } else if (status === 'INSTALLED' && !this.get('isUpgrading')) {
       if (stringUtils.compareVersions(this.get('content.repositoryVersion'), 
currentVersion.repository_version) === 1) {
-        element.set('isButton', true);
-        element.get('buttons').pushObjects([
-          {
-            text: Em.I18n.t('admin.stackVersions.version.performUpgrade'),
-            action: 'confirmUpgrade'
-          },
-          {
-            text: Em.I18n.t('admin.stackVersions.version.reinstall'),
-            action: 'installRepoVersionConfirmation'
-          }
-        ]);
+        element.set('isButtonGroup', true);
+        element.set('text', 
Em.I18n.t('admin.stackVersions.version.performUpgrade'));
+        element.set('action', 'confirmUpgrade');
+        element.get('buttons').pushObject({
+          text: Em.I18n.t('admin.stackVersions.version.reinstall'),
+          action: 'installRepoVersionConfirmation'
+        });
         element.set('isDisabled', !App.isAccessible('ADMIN') || 
this.get('controller.requestInProgress') || isInstalling);
       } else {
         element.set('iconClass', 'icon-ok');

http://git-wip-us.apache.org/repos/asf/ambari/blob/698be84b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js
----------------------------------------------------------------------
diff --git 
a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js
 
b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js
index 28d881c..21cea1c 100644
--- 
a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js
+++ 
b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_version_box_view_test.js
@@ -239,7 +239,7 @@ describe('App.UpgradeVersionBoxView', function () {
     });
   });
 
-  describe('stateElement', function () {
+  describe('#stateElement', function () {
 
     var cases = [
       {
@@ -250,8 +250,7 @@ describe('App.UpgradeVersionBoxView', function () {
           status: 'CURRENT',
           isLabel: true,
           text: Em.I18n.t('common.current'),
-          class: 'label label-success',
-          hasMultipleButtons: false
+          class: 'label label-success'
         },
         title: 'current version'
       },
@@ -271,14 +270,8 @@ describe('App.UpgradeVersionBoxView', function () {
         expected: {
           status: 'INIT',
           isButton: true,
-          buttons: [
-            {
-              text: Em.I18n.t('admin.stackVersions.version.installNow'),
-              action: 'installRepoVersionConfirmation'
-            }
-          ],
-          isDisabled: true,
-          hasMultipleButtons: false
+          buttons: [],
+          isDisabled: true
         },
         title: 'INIT state, no admin access, no requests in progress'
       },
@@ -298,14 +291,8 @@ describe('App.UpgradeVersionBoxView', function () {
         expected: {
           status: 'INIT',
           isButton: true,
-          buttons: [
-            {
-              text: Em.I18n.t('admin.stackVersions.version.installNow'),
-              action: 'installRepoVersionConfirmation'
-            }
-          ],
-          isDisabled: true,
-          hasMultipleButtons: false
+          buttons: [],
+          isDisabled: true
         },
         title: 'INIT state, no admin access, request in progress, not 
installation'
       },
@@ -328,14 +315,8 @@ describe('App.UpgradeVersionBoxView', function () {
         expected: {
           status: 'INSTALL_FAILED',
           isButton: true,
-          buttons: [
-            {
-              text: Em.I18n.t('admin.stackVersions.version.installNow'),
-              action: 'installRepoVersionConfirmation'
-            }
-          ],
-          isDisabled: true,
-          hasMultipleButtons: false
+          buttons: [],
+          isDisabled: true
         },
         title: 'install failed, no admin access, request in progress, another 
installation running'
       },
@@ -358,14 +339,8 @@ describe('App.UpgradeVersionBoxView', function () {
         expected: {
           status: 'INSTALL_FAILED',
           isButton: true,
-          buttons: [
-            {
-              text: Em.I18n.t('admin.stackVersions.version.installNow'),
-              action: 'installRepoVersionConfirmation'
-            }
-          ],
-          isDisabled: true,
-          hasMultipleButtons: false
+          buttons: [],
+          isDisabled: true
         },
         title: 'install failed, no admin access, no requests in progress, 
another installation running'
       },
@@ -385,14 +360,8 @@ describe('App.UpgradeVersionBoxView', function () {
         expected: {
           status: 'OUT_OF_SYNC',
           isButton: true,
-          buttons: [
-            {
-              text: Em.I18n.t('admin.stackVersions.version.installNow'),
-              action: 'installRepoVersionConfirmation'
-            }
-          ],
-          isDisabled: false,
-          hasMultipleButtons: false
+          buttons: [],
+          isDisabled: false
         },
         title: 'version out of sync, admin access, no requests in progress, no 
installation'
       },
@@ -412,14 +381,8 @@ describe('App.UpgradeVersionBoxView', function () {
         expected: {
           status: 'OUT_OF_SYNC',
           isButton: true,
-          buttons: [
-            {
-              text: Em.I18n.t('admin.stackVersions.version.installNow'),
-              action: 'installRepoVersionConfirmation'
-            }
-          ],
-          isDisabled: true,
-          hasMultipleButtons: false
+          buttons: [],
+          isDisabled: true
         },
         title: 'version out of sync, admin access, request in progress, no 
installation'
       },
@@ -438,8 +401,7 @@ describe('App.UpgradeVersionBoxView', function () {
           isLink: true,
           iconClass: 'icon-ok',
           text: Em.I18n.t('common.installed'),
-          action: null,
-          hasMultipleButtons: false
+          action: null
         },
         title: 'installed version, earlier than current one'
       },
@@ -467,19 +429,14 @@ describe('App.UpgradeVersionBoxView', function () {
         },
         expected: {
           status: 'INSTALLED',
-          isButton: true,
+          isButtonGroup: true,
           buttons: [
             {
-              text: Em.I18n.t('admin.stackVersions.version.performUpgrade'),
-              action: 'confirmUpgrade'
-            },
-            {
               text: Em.I18n.t('admin.stackVersions.version.reinstall'),
               action: 'installRepoVersionConfirmation'
             }
           ],
-          isDisabled: true,
-          hasMultipleButtons: true
+          isDisabled: true
         },
         title: 'installed version, later than current one, admin access, 
request in progress, another installation running'
       },
@@ -507,19 +464,14 @@ describe('App.UpgradeVersionBoxView', function () {
         },
         expected: {
           status: 'INSTALLED',
-          isButton: true,
+          isButtonGroup: true,
           buttons: [
             {
-              text: Em.I18n.t('admin.stackVersions.version.performUpgrade'),
-              action: 'confirmUpgrade'
-            },
-            {
               text: Em.I18n.t('admin.stackVersions.version.reinstall'),
               action: 'installRepoVersionConfirmation'
             }
           ],
-          isDisabled: true,
-          hasMultipleButtons: true
+          isDisabled: true
         },
         title: 'installed version, later than current one, admin access, no 
requests in progress, another installation running'
       },
@@ -538,8 +490,7 @@ describe('App.UpgradeVersionBoxView', function () {
           isLink: true,
           action: 'openUpgradeDialog',
           iconClass: 'icon-cog',
-          text: Em.I18n.t('admin.stackVersions.version.downgrade.running'),
-          hasMultipleButtons: false
+          text: Em.I18n.t('admin.stackVersions.version.downgrade.running')
         },
         title: 'downgrading'
       },
@@ -559,8 +510,7 @@ describe('App.UpgradeVersionBoxView', function () {
           isLink: true,
           action: 'openUpgradeDialog',
           iconClass: 'icon-cog',
-          text: Em.I18n.t('admin.stackVersions.version.upgrade.running'),
-          hasMultipleButtons: false
+          text: Em.I18n.t('admin.stackVersions.version.upgrade.running')
         },
         title: 'upgrading'
       },
@@ -580,8 +530,7 @@ describe('App.UpgradeVersionBoxView', function () {
           isLink: true,
           action: 'openUpgradeDialog',
           iconClass: 'icon-pause',
-          text: Em.I18n.t('admin.stackVersions.version.upgrade.pause'),
-          hasMultipleButtons: false
+          text: Em.I18n.t('admin.stackVersions.version.upgrade.pause')
         },
         title: 'upgrading, holding'
       },
@@ -601,8 +550,7 @@ describe('App.UpgradeVersionBoxView', function () {
           isLink: true,
           action: 'openUpgradeDialog',
           iconClass: 'icon-pause',
-          text: Em.I18n.t('admin.stackVersions.version.upgrade.pause'),
-          hasMultipleButtons: false
+          text: Em.I18n.t('admin.stackVersions.version.upgrade.pause')
         },
         title: 'upgrading, holding failed'
       },
@@ -622,8 +570,7 @@ describe('App.UpgradeVersionBoxView', function () {
           isLink: true,
           action: 'openUpgradeDialog',
           iconClass: 'icon-pause',
-          text: Em.I18n.t('admin.stackVersions.version.upgrade.pause'),
-          hasMultipleButtons: false
+          text: Em.I18n.t('admin.stackVersions.version.upgrade.pause')
         },
         title: 'upgrade failed, holding finished on timeout'
       },
@@ -643,8 +590,7 @@ describe('App.UpgradeVersionBoxView', function () {
           isLink: true,
           action: 'openUpgradeDialog',
           iconClass: 'icon-pause',
-          text: Em.I18n.t('admin.stackVersions.version.downgrade.pause'),
-          hasMultipleButtons: false
+          text: Em.I18n.t('admin.stackVersions.version.downgrade.pause')
         },
         title: 'downgrading, holding'
       },
@@ -664,8 +610,7 @@ describe('App.UpgradeVersionBoxView', function () {
           isLink: true,
           action: 'openUpgradeDialog',
           iconClass: 'icon-pause',
-          text: Em.I18n.t('admin.stackVersions.version.downgrade.pause'),
-          hasMultipleButtons: false
+          text: Em.I18n.t('admin.stackVersions.version.downgrade.pause')
         },
         title: 'downgrading, holding failed'
       },
@@ -685,8 +630,7 @@ describe('App.UpgradeVersionBoxView', function () {
           isLink: true,
           action: 'openUpgradeDialog',
           iconClass: 'icon-pause',
-          text: Em.I18n.t('admin.stackVersions.version.downgrade.pause'),
-          hasMultipleButtons: false
+          text: Em.I18n.t('admin.stackVersions.version.downgrade.pause')
         },
         title: 'downgrading, holding finished on timeout'
       }
@@ -717,4 +661,4 @@ describe('App.UpgradeVersionBoxView', function () {
 
   });
 
-});
\ No newline at end of file
+});

Reply via email to