You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2016/09/28 17:27:55 UTC
[02/17] ambari git commit: AMBARI-18449 Ambari create widget does not
show what the error is (Vivek Ratnavel Subramanian via zhewang)
AMBARI-18449 Ambari create widget does not show what the error is (Vivek Ratnavel Subramanian via zhewang)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/69e8f6fa
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/69e8f6fa
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/69e8f6fa
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: 69e8f6fa89b5b2a4e6246e0e32b23c314a12df5c
Parents: ee4e63a
Author: Zhe (Joe) Wang <zh...@apache.org>
Authored: Mon Sep 26 13:12:09 2016 -0700
Committer: Zhe (Joe) Wang <zh...@apache.org>
Committed: Mon Sep 26 13:12:09 2016 -0700
----------------------------------------------------------------------
.../service/widgets/create/step2_controller.js | 26 ++++++++++++++++++++
.../main/service/widgets/create/expression.hbs | 10 ++++++--
.../main/service/widgets/create/step2_graph.hbs | 6 ++++-
.../service/widgets/create/step2_number.hbs | 6 ++++-
.../service/widgets/create/step2_template.hbs | 6 ++++-
.../service/widgets/create/expression_view.js | 14 +++++++++--
6 files changed, 61 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/69e8f6fa/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js b/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js
index 4e3ab91..8b1045a 100644
--- a/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js
+++ b/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js
@@ -138,6 +138,32 @@ App.WidgetWizardStep2Controller = Em.Controller.extend({
},
/**
+ * check whether any of the expressions is incomplete or invalid
+ * @returns {boolean}
+ */
+ isAnyExpressionInvalid: function() {
+ var isAnyExpressionInvalid = false;
+ switch (this.get('content.widgetType')) {
+ case "NUMBER":
+ case "GAUGE":
+ case "TEMPLATE":
+ isAnyExpressionInvalid = this.get('isSubmitDisabled') && this.get('expressions').someProperty('isEmpty', false);
+ break;
+ case "GRAPH":
+ var dataSets = this.get('dataSets'),
+ isNotEmpty = false;
+ for (var i = 0; i < dataSets.length; i++) {
+ if (dataSets[i].get('expression.data').length > 0) {
+ isNotEmpty = true;
+ break;
+ }
+ }
+ isAnyExpressionInvalid = this.get('isSubmitDisabled') && isNotEmpty;
+ }
+ return isAnyExpressionInvalid;
+ }.property('isSubmitDisabled'),
+
+ /**
* check whether data of graph widget is complete
* @param dataSets
* @returns {boolean} isComplete
http://git-wip-us.apache.org/repos/asf/ambari/blob/69e8f6fa/ambari-web/app/templates/main/service/widgets/create/expression.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/widgets/create/expression.hbs b/ambari-web/app/templates/main/service/widgets/create/expression.hbs
index 826cb43..0ad08bf 100644
--- a/ambari-web/app/templates/main/service/widgets/create/expression.hbs
+++ b/ambari-web/app/templates/main/service/widgets/create/expression.hbs
@@ -33,8 +33,15 @@
{{view App.AddNumberExpressionView valueBinding="view.numberValue" class="input-small"}}
<button class="btn add-on" {{action addNumber target="view"}} {{bindAttr disabled="view.isNumberValueInvalid"}}>{{t dashboard.widgets.wizard.step2.newNumber}}</button>
</div>
-
</div>
+{{#if view.isInvalid}}
+ <div class="alert alert-error">
+ Invalid expression!
+ {{#if view.isInvalidTextfield}}
+ Only numbers or operators are allowed in this field.
+ {{/if}}
+ </div>
+{{/if}}
<div class="metric-field">
{{#if view.expression.isRemovable}}
<a {{action removeExpression view.expression target="controller"}} class="remove-link"><i class="icon-trash"></i></a>
@@ -54,6 +61,5 @@
</div>
<div class="placeholder">{{t dashboard.widgets.wizard.step2.addMetrics}}</div>
{{/if}}
-
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/69e8f6fa/ambari-web/app/templates/main/service/widgets/create/step2_graph.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/widgets/create/step2_graph.hbs b/ambari-web/app/templates/main/service/widgets/create/step2_graph.hbs
index 17e4790..483abd6 100644
--- a/ambari-web/app/templates/main/service/widgets/create/step2_graph.hbs
+++ b/ambari-web/app/templates/main/service/widgets/create/step2_graph.hbs
@@ -20,7 +20,11 @@
<div class="alert alert-info">
{{t widget.create.wizard.step2.body.text}}
</div>
-
+{{#if isAnyExpressionInvalid}}
+ <div class="alert alert-error">
+ Expression is not complete or is invalid!
+ </div>
+{{/if}}
{{#each dataSet in dataSets}}
<fieldset>
<h5>{{view Ember.TextField valueBinding="dataSet.label"}}</h5>
http://git-wip-us.apache.org/repos/asf/ambari/blob/69e8f6fa/ambari-web/app/templates/main/service/widgets/create/step2_number.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/widgets/create/step2_number.hbs b/ambari-web/app/templates/main/service/widgets/create/step2_number.hbs
index 27fd7e4..13c4f4b 100644
--- a/ambari-web/app/templates/main/service/widgets/create/step2_number.hbs
+++ b/ambari-web/app/templates/main/service/widgets/create/step2_number.hbs
@@ -20,7 +20,11 @@
<div class="alert alert-info">
{{t widget.create.wizard.step2.body.text}}
</div>
-
+{{#if isAnyExpressionInvalid}}
+ <div class="alert alert-error">
+ Expression is not complete or is invalid!
+ </div>
+{{/if}}
{{#each expression in expressions}}
{{view App.WidgetWizardExpressionView expressionBinding="expression"}}
{{/each}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/69e8f6fa/ambari-web/app/templates/main/service/widgets/create/step2_template.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/widgets/create/step2_template.hbs b/ambari-web/app/templates/main/service/widgets/create/step2_template.hbs
index 6a8a469..c0faedc 100644
--- a/ambari-web/app/templates/main/service/widgets/create/step2_template.hbs
+++ b/ambari-web/app/templates/main/service/widgets/create/step2_template.hbs
@@ -33,7 +33,11 @@
<div class="alert alert-info">
{{t widget.create.wizard.step2.body.text}}
</div>
-
+{{#if isAnyExpressionInvalid}}
+ <div class="alert alert-error">
+ Expression is not complete or is invalid!
+ </div>
+{{/if}}
{{#each expression in expressions}}
<h5>{{EXPRESSION_PREFIX}}{{expression.id}}</h5>
{{view App.WidgetWizardExpressionView expressionBinding="expression"}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/69e8f6fa/ambari-web/app/views/main/service/widgets/create/expression_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/service/widgets/create/expression_view.js b/ambari-web/app/views/main/service/widgets/create/expression_view.js
index 32c664f..a12bf99 100644
--- a/ambari-web/app/views/main/service/widgets/create/expression_view.js
+++ b/ambari-web/app/views/main/service/widgets/create/expression_view.js
@@ -67,6 +67,11 @@ App.WidgetWizardExpressionView = Em.View.extend({
isInvalid: false,
/**
+ * @type {boolean}
+ */
+ isInvalidTextfield: false,
+
+ /**
* contains value of number added to expression
* @type {string}
*/
@@ -431,7 +436,8 @@ App.InputCursorTextfieldView = Ember.TextField.extend({
validateInput: function () {
var value = this.get('value');
var parentView = this.get('parentView');
- var isInvalid = false;
+ var isInvalid = false,
+ isInvalidTextfield = false;
if (!number_utils.isPositiveNumber(value)) {
if (value && parentView.get('OPERATORS').contains(value)) {
@@ -451,10 +457,12 @@ App.InputCursorTextfieldView = Ember.TextField.extend({
this.set('value', '');
} else if (value) {
// invalid operator
- isInvalid = true;
+ isInvalid = isInvalidTextfield = true;
}
}
this.set('isInvalid', isInvalid);
+ this.set('parentView.isInvalid', isInvalid);
+ this.set('parentView.isInvalidTextfield', isInvalidTextfield);
}.observes('value'),
keyDown: function (event) {
@@ -479,6 +487,8 @@ App.InputCursorTextfieldView = Ember.TextField.extend({
}));
this.set('numberValue', "");
this.set('isInvalid', false);
+ this.set('parentView.isInvalid', false);
+ this.set('parentView.isInvalidTextfield', false);
this.set('value', '');
}
}