You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ja...@apache.org on 2015/01/14 22:45:12 UTC
ambari git commit: AMBARI-8823 Install Wizard Step 5 should have a
checkbox for 'Select All' instead of 'all/none' (wangy6 via jaoki)
Repository: ambari
Updated Branches:
refs/heads/trunk a6df75fd6 -> de18175ff
AMBARI-8823 Install Wizard Step 5 should have a checkbox for 'Select All' instead of 'all/none' (wangy6 via jaoki)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/de18175f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/de18175f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/de18175f
Branch: refs/heads/trunk
Commit: de18175ff2cbb23603a33cc79f29e1650941d335
Parents: a6df75f
Author: Jun Aoki <ja...@apache.org>
Authored: Wed Jan 14 13:45:02 2015 -0800
Committer: Jun Aoki <ja...@apache.org>
Committed: Wed Jan 14 13:45:02 2015 -0800
----------------------------------------------------------------------
.../app/controllers/wizard/step4_controller.js | 50 ++++++--------------
ambari-web/app/styles/application.less | 5 ++
ambari-web/app/templates/wizard/step4.hbs | 10 +---
.../test/controllers/wizard/step4_test.js | 30 ++----------
4 files changed, 25 insertions(+), 70 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/de18175f/ambari-web/app/controllers/wizard/step4_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step4_controller.js b/ambari-web/app/controllers/wizard/step4_controller.js
index 0f8b998..2620fae 100644
--- a/ambari-web/app/controllers/wizard/step4_controller.js
+++ b/ambari-web/app/controllers/wizard/step4_controller.js
@@ -30,6 +30,21 @@ App.WizardStep4Controller = Em.ArrayController.extend({
content: [],
/**
+ * Check / Uncheck 'Select All' checkbox with one argument; Check / Uncheck all other checkboxes with more arguments
+ * @type {bool}
+ */
+ isAllChecked: function(key, value) {
+ if (arguments.length > 1) {
+ this.filterProperty('isInstalled', false).setEach('isSelected', value);
+ return value;
+ } else {
+ return this.filterProperty('isInstalled', false).
+ filterProperty('isHiddenOnSelectServicePage', false).
+ everyProperty('isSelected', true);
+ }
+ }.property('@each.isSelected'),
+
+ /**
* Is Submit button disabled
* @type {bool}
*/
@@ -46,46 +61,11 @@ App.WizardStep4Controller = Em.ArrayController.extend({
errorStack: [],
/**
- * Check whether all properties are selected
- * @type {bool}
- */
- isAll: function () {
- return this.filterProperty('isInstalled', false).
- filterProperty('isHiddenOnSelectServicePage', false).
- everyProperty('isSelected', true);
- }.property('@each.isSelected'),
-
- /**
- * Check whether none properties(minimum) are selected
- * @type {bool}
- */
- isMinimum: function () {
- return this.filterProperty('isInstalled', false).
- filterProperty('isHiddenOnSelectServicePage', false).
- everyProperty('isSelected', false);
- }.property('@each.isSelected'),
-
- /**
* Drop errorStack content on selected state changes.
**/
clearErrors: function() {
this.set('errorStack', []);
}.observes('@each.isSelected'),
- /**
- * Onclick handler for <code>select all</code> link
- * @method selectAll
- */
- selectAll: function () {
- this.filterProperty('isInstalled', false).setEach('isSelected', true);
- },
-
- /**
- * Onclick handler for <code>select minimum</code> link
- * @method selectMinimum
- */
- selectMinimum: function () {
- this.filterProperty('isInstalled', false).setEach('isSelected', false);
- },
/**
* Check if multiple distributed file systems were selected
http://git-wip-us.apache.org/repos/asf/ambari/blob/de18175f/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index 8a28084..1c02346 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -853,6 +853,11 @@ h1 {
i.icon-asterisks {
color: #00688B;
}
+ th {
+ input {
+ margin-right: 5px;
+ }
+ }
}
#step6 {
a.remove-link {
http://git-wip-us.apache.org/repos/asf/ambari/blob/de18175f/ambari-web/app/templates/wizard/step4.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/wizard/step4.hbs b/ambari-web/app/templates/wizard/step4.hbs
index 68a7e0e..71835d5 100644
--- a/ambari-web/app/templates/wizard/step4.hbs
+++ b/ambari-web/app/templates/wizard/step4.hbs
@@ -25,14 +25,8 @@
<table class="table table-striped">
<thead>
<tr>
- <th class="span3">{{t common.service}}
- <span style="margin-left:10px">
- <a href="#" id="all" {{action selectAll target="controller"}} {{bindAttr
- class="isAll:selected:deselected"}}>{{t all}}</a>
- |
- <a href="#" id="none" {{action selectMinimum target="controller"}} {{bindAttr
- class="isMinimum:selected:deselected"}}>{{t none}}</a>
- </span>
+ <th class="span3">
+ {{view Ember.Checkbox disabledBinding="isInstalled" checkedBinding="isAllChecked"}}{{t common.service}}
</th>
<th>{{t common.version}}</th>
<th>{{t common.description}}</th>
http://git-wip-us.apache.org/repos/asf/ambari/blob/de18175f/ambari-web/test/controllers/wizard/step4_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/wizard/step4_test.js b/ambari-web/test/controllers/wizard/step4_test.js
index 9d12275..bb4e15d 100644
--- a/ambari-web/test/controllers/wizard/step4_test.js
+++ b/ambari-web/test/controllers/wizard/step4_test.js
@@ -75,40 +75,16 @@ describe('App.WizardStep4Controller', function () {
});
});
- describe('#isAll', function () {
+ describe('#isAllChecked', function () {
it('should return true if all services are selected', function () {
controller.setEach('isInstalled', false);
controller.findProperty('serviceName', 'HDFS').set('isSelected', true);
- expect(controller.get('isAll')).to.equal(true);
+ expect(controller.get('isAllChecked')).to.equal(true);
});
it('should return false if at least one service is not selected', function () {
controller.findProperty('serviceName', 'HDFS').set('isSelected', false);
- expect(controller.get('isAll')).to.equal(false);
- });
- });
-
- describe('#isMinimum', function () {
- it('should return true if there are no services selected, except disabled', function () {
- controller.setEach('isSelected', false);
- expect(controller.get('isMinimum')).to.equal(true);
- });
- });
-
- describe('#selectAll()', function () {
- it('should select all services', function () {
- controller.setEach('isSelected', false);
- controller.selectAll();
- expect(controller.filterProperty('canBeSelected', true).everyProperty('isSelected', true)).to.equal(true);
- });
- });
-
- describe('#selectMinimum()', function () {
- it('should set isSelected false for all services', function () {
- controller.setEach('isSelected', true);
- controller.selectMinimum();
- expect(controller.findProperty('serviceName', 'HDFS').get('isSelected')).to.equal(false);
- expect(controller.filterProperty('isDisabled', false).everyProperty('isSelected', false)).to.equal(true);
+ expect(controller.get('isAllChecked')).to.equal(false);
});
});