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 +});