You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2015/04/29 19:01:50 UTC
[2/2] ambari git commit: AMBARI-10839 Move error/warning decorator
from actions area to beside config-name. (ababiichuk)
AMBARI-10839 Move error/warning decorator from actions area to beside config-name. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/705a0fb6
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/705a0fb6
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/705a0fb6
Branch: refs/heads/trunk
Commit: 705a0fb6f466e1b7f82def4039b814fb736c9511
Parents: 6cfff21
Author: aBabiichuk <ab...@hortonworks.com>
Authored: Wed Apr 29 19:34:46 2015 +0300
Committer: aBabiichuk <ab...@hortonworks.com>
Committed: Wed Apr 29 19:59:21 2015 +0300
----------------------------------------------------------------------
.../service/configs/widget_popover_support.js | 2 -
ambari-web/app/styles/widgets.less | 15 +++---
ambari-web/app/templates.js | 1 +
.../configs/widgets/checkbox_config_widget.hbs | 5 +-
.../configs/widgets/combo_config_widget.hbs | 5 +-
.../common/configs/widgets/config_label.hbs | 25 +++++++++
.../common/configs/widgets/controls.hbs | 13 +++--
.../configs/widgets/directory_config_widget.hbs | 7 +--
.../configs/widgets/list_config_widget.hbs | 5 +-
.../configs/widgets/radio_button_config.hbs | 7 +--
.../configs/widgets/slider_config_widget.hbs | 5 +-
.../configs/widgets/textfield_config_widget.hbs | 5 +-
.../configs/widgets/time_interval_spinner.hbs | 5 +-
.../configs/widgets/toggle_config_widget.hbs | 5 +-
.../configs/widgets/config_widget_view.js | 56 +++++++++++++++++---
.../widgets/directory_config_widget_view.js | 2 +
16 files changed, 106 insertions(+), 57 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/mixins/main/service/configs/widget_popover_support.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/main/service/configs/widget_popover_support.js b/ambari-web/app/mixins/main/service/configs/widget_popover_support.js
index c8dc1ed..98b6f50 100644
--- a/ambari-web/app/mixins/main/service/configs/widget_popover_support.js
+++ b/ambari-web/app/mixins/main/service/configs/widget_popover_support.js
@@ -48,8 +48,6 @@ App.WidgetPopoverSupport = Em.Mixin.create({
initPopover: function () {
if (this.get('isPopoverEnabled') !== false) {
- if (this.get('config.name') == 'keyserver_port')
- console.error(this.get('popoverPlacement'));
var leftPopoverTemplate = '<div class="popover config-widget-left-popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>';
App.popover(this.$('.original-widget'), {
template: this.get('popoverPlacement') == 'left'? leftPopoverTemplate : undefined,
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/styles/widgets.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/widgets.less b/ambari-web/app/styles/widgets.less
index b4dc883..76e4c0a 100644
--- a/ambari-web/app/styles/widgets.less
+++ b/ambari-web/app/styles/widgets.less
@@ -52,6 +52,11 @@
&.text-success {
color: @green;
}
+ .icon-warning-sign {
+ &.warning {
+ color: @health-status-yellow
+ }
+ }
}
.action-button {
margin-right: @undo-btn-margin;
@@ -75,18 +80,14 @@
text-decoration: none;
display: block;
}
- .widget-action-final {
+ .widget-action-final,
+ .widget-action-switch-view {
padding-left: 1px;
color: @widget-config-override-action-color;
&.active {
color: @widget-config-override-action-active-color;
}
}
- .icon-warning-sign {
- &.warning {
- color: @health-status-yellow
- }
- }
}
}
@@ -130,6 +131,7 @@
line-height: 14px;
min-width: 30px;
z-index: 1;
+ visibility: inherit;
&.tooltip-min,
&.tooltip-max {
display: none;
@@ -217,6 +219,7 @@
.ui-slider-wrapper {
.ui-slider-wrapper-inner {
width: 68%;
+ padding-left: 10px;
.slider.slider-horizontal {
width: 100%;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates.js b/ambari-web/app/templates.js
index af5a2c0..b181cc2 100644
--- a/ambari-web/app/templates.js
+++ b/ambari-web/app/templates.js
@@ -26,3 +26,4 @@ require("templates/main/service/widgets/create/step2_number");
require("templates/main/service/widgets/create/step2_template");
require("templates/main/service/widgets/create/step2_graph");
require('templates/common/configs/widgets/controls');
+require('templates/common/configs/widgets/config_label');
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates/common/configs/widgets/checkbox_config_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/checkbox_config_widget.hbs b/ambari-web/app/templates/common/configs/widgets/checkbox_config_widget.hbs
index 25cf3fc..a420cd6 100644
--- a/ambari-web/app/templates/common/configs/widgets/checkbox_config_widget.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/checkbox_config_widget.hbs
@@ -19,7 +19,10 @@
<label>
{{view view.configView class="pull-left"}}
{{#if view.isOriginalSCP}}
- <span class="widget-config-label">{{view.configLabel}}</span>
+ <span {{bindAttr class=":widget-config-label view.configLabelClass"}}>
+ {{view view.issueView configBinding="view.config"}}
+ {{view.configLabel}}
+ </span>
{{else}}
<span class="widget-config-label text-success">{{t common.override}}</span>
{{/if}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates/common/configs/widgets/combo_config_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/combo_config_widget.hbs b/ambari-web/app/templates/common/configs/widgets/combo_config_widget.hbs
index 10e215a..101a3c8 100644
--- a/ambari-web/app/templates/common/configs/widgets/combo_config_widget.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/combo_config_widget.hbs
@@ -15,10 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
}}
-{{#if view.isOriginalSCP}}
- <div class="clearfix"></div>
- <p class="widget-config-label">{{view.configLabel}}</p>
-{{/if}}
+{{template "templates/common/configs/widgets/config_label"}}
<div {{bindAttr class=":pull-left view.isOriginalSCP:original-widget view.disabled:disabled view.showAsTextBox:hide"}}>
<div class="input-append">
<div class="dropdown btn-group">
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates/common/configs/widgets/config_label.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/config_label.hbs b/ambari-web/app/templates/common/configs/widgets/config_label.hbs
new file mode 100644
index 0000000..6ff2952
--- /dev/null
+++ b/ambari-web/app/templates/common/configs/widgets/config_label.hbs
@@ -0,0 +1,25 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+{{#if view.isOriginalSCP}}
+ <div class="clearfix"></div>
+ <p {{bindAttr class=":widget-config-label view.configLabelClass"}}>
+ {{view view.issueView configBinding="view.config"}}
+ {{formatWordBreak view.configLabel}}
+ </p>
+{{/if}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates/common/configs/widgets/controls.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/controls.hbs b/ambari-web/app/templates/common/configs/widgets/controls.hbs
index 7cac2e9..268ab26 100644
--- a/ambari-web/app/templates/common/configs/widgets/controls.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/controls.hbs
@@ -24,13 +24,6 @@
{{/if}}
<div class="widget-config-controls">
<div class="widget-col left">
- {{#if view.supportSwitchToCheckBox}}
- <a href="#"
- {{bindAttr class=":icon-pencil view.isHover::hide"}}
- {{action "toggleWidgetView" target="view"}}>
- </a>
- {{/if}}
- {{view view.issueView configBinding="view.config"}}
{{#if view.config.isNotDefaultValue}}
{{#if view.undoAllowed}}
<a class="widget-action widget-action-undo" href="#" {{action "restoreValue" target="view"}}>
@@ -38,6 +31,12 @@
</a>
{{/if}}
{{/if}}
+ {{#if view.supportSwitchToCheckBox}}
+ <a href="#"
+ {{bindAttr class=":icon-pencil :widget-action :widget-action-switch-view view.isHover::hide view.showAsTextBox::active"}}
+ {{action "toggleWidgetView" target="view"}}>
+ </a>
+ {{/if}}
</div>
<div class="widget-col right">
{{#if view.config.supportsFinal}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates/common/configs/widgets/directory_config_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/directory_config_widget.hbs b/ambari-web/app/templates/common/configs/widgets/directory_config_widget.hbs
index d8d1483..8799273 100644
--- a/ambari-web/app/templates/common/configs/widgets/directory_config_widget.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/directory_config_widget.hbs
@@ -16,11 +16,8 @@
* limitations under the License.
}}
-<div class="span10">
- {{#if view.isOriginalSCP}}
- <div class="clearfix"></div>
- <span class="widget-config-label">{{view.config.displayName}}</span>
- {{/if}}
+<div {{bindAttr class="view.isOriginalSCP:original-widget"}}>
+ {{template "templates/common/configs/widgets/config_label"}}
<div class="directory-textarea-wrapper">
{{view view.configView}}
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates/common/configs/widgets/list_config_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/list_config_widget.hbs b/ambari-web/app/templates/common/configs/widgets/list_config_widget.hbs
index 13e2ce7..5b0cb05 100644
--- a/ambari-web/app/templates/common/configs/widgets/list_config_widget.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/list_config_widget.hbs
@@ -17,10 +17,7 @@
}}
<div {{bindAttr class="view.config.isHiddenByFilter:hide view.isOriginalSCP:original-widget :widget-config :list-widget"}}>
- {{#if view.isOriginalSCP}}
- <div class="clearfix"></div>
- <p class="widget-config-label">{{view.configLabel}}</p>
- {{/if}}
+ {{template "templates/common/configs/widgets/config_label"}}
<div class="pull-left btn-group">
<a {{bindAttr class=":btn :dropdown-toggle view.config.isEditable::disabled view.showAsTextBox:hide"}} data-toggle="dropdown">{{view.displayVal}} <span class="caret"></span></a>
<ul class="dropdown-menu">
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates/common/configs/widgets/radio_button_config.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/radio_button_config.hbs b/ambari-web/app/templates/common/configs/widgets/radio_button_config.hbs
index 995a31a..9fb4cf9 100644
--- a/ambari-web/app/templates/common/configs/widgets/radio_button_config.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/radio_button_config.hbs
@@ -16,12 +16,7 @@
* limitations under the License.
}}
-{{#if view.isOriginalSCP}}
- <div class="clearfix"></div>
- <p class="widget-config-label">
- {{view.configLabel}}
- </p>
-{{/if}}
+{{template "templates/common/configs/widgets/config_label"}}
<div class="pull-left">
{{#each item in view.content}}
<label>
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs b/ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs
index beebc0d..a1892de 100644
--- a/ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/slider_config_widget.hbs
@@ -17,10 +17,7 @@
}}
<div class="widget-config slider-widget">
- {{#if view.isOriginalSCP}}
- <div class="clearfix"></div>
- <p class="widget-config-label">{{formatWordBreak view.configLabel}}</p>
- {{/if}}
+ {{template "templates/common/configs/widgets/config_label"}}
<div {{bindAttr class="view.isOriginalSCP:original-widget view.showAsTextBox:hide :ui-slider-wrapper"}}>
<div {{bindAttr class=":pull-left :ui-slider-wrapper-inner"}}>{{view Ember.TextField valueBinding="view.config.value" class="input-mini slider-input"}}</div>
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates/common/configs/widgets/textfield_config_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/textfield_config_widget.hbs b/ambari-web/app/templates/common/configs/widgets/textfield_config_widget.hbs
index 7175902..bc23838 100644
--- a/ambari-web/app/templates/common/configs/widgets/textfield_config_widget.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/textfield_config_widget.hbs
@@ -17,10 +17,7 @@
}}
<div>
- {{#if view.isOriginalSCP}}
- <div class="clearfix"></div>
- <p class="widget-config-label">{{formatWordBreak view.configLabel}}</p>
- {{/if}}
+ {{template "templates/common/configs/widgets/config_label"}}
<div {{bindAttr class=":text-field-wrapper view.isOriginalSCP:original-widget"}}>
{{view view.configView}}
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates/common/configs/widgets/time_interval_spinner.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/time_interval_spinner.hbs b/ambari-web/app/templates/common/configs/widgets/time_interval_spinner.hbs
index 3274b23..b03a5c7 100644
--- a/ambari-web/app/templates/common/configs/widgets/time_interval_spinner.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/time_interval_spinner.hbs
@@ -16,10 +16,7 @@
* limitations under the License.
}}
-{{#if view.isOriginalSCP}}
- <div class="clearfix"></div>
- <p class="widget-config-label">{{view.configLabel}}</p>
-{{/if}}
+{{template "templates/common/configs/widgets/config_label"}}
<div {{bindAttr class=":pull-left view.isOriginalSCP:original-widget view.showAsTextBox:hide"}}>
{{#each spinnerContent in view.content}}
{{view App.SpinnerInputView contentBinding="spinnerContent" disabledBinding="view.disabled"}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/templates/common/configs/widgets/toggle_config_widget.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/widgets/toggle_config_widget.hbs b/ambari-web/app/templates/common/configs/widgets/toggle_config_widget.hbs
index 70c300f..d2cb97f 100644
--- a/ambari-web/app/templates/common/configs/widgets/toggle_config_widget.hbs
+++ b/ambari-web/app/templates/common/configs/widgets/toggle_config_widget.hbs
@@ -16,10 +16,7 @@
* limitations under the License.
}}
-{{#if view.isOriginalSCP}}
- <div class="clearfix"></div>
- <p class="widget-config-label">{{view.configLabel}}</p>
-{{/if}}
+{{template "templates/common/configs/widgets/config_label"}}
<div {{bindAttr class=":pull-left view.isOriginalSCP:original-widget"}}>
{{view Ember.Checkbox checkedBinding="view.switcherValue"}}
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/views/common/configs/widgets/config_widget_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/widgets/config_widget_view.js b/ambari-web/app/views/common/configs/widgets/config_widget_view.js
index 6b7dda4..bfa64a2 100644
--- a/ambari-web/app/views/common/configs/widgets/config_widget_view.js
+++ b/ambari-web/app/views/common/configs/widgets/config_widget_view.js
@@ -51,6 +51,12 @@ App.ConfigWidgetView = Em.View.extend(App.SupportsDependentConfigs, App.WidgetPo
canEdit: true,
/**
+ * Config label class attribute. Displays validation status of config.
+ * @type {string}
+ */
+ configLabelClass: '',
+
+ /**
* Tab where current widget placed
* Bound in the template
* @type {App.Tab}
@@ -110,17 +116,55 @@ App.ConfigWidgetView = Em.View.extend(App.SupportsDependentConfigs, App.WidgetPo
config: null,
+ issueIconClass: '',
+
+ issueMessage: false,
+
didInsertElement: function() {
App.tooltip($(this.get('element')));
+ this.errorLevelObserver();
+ this.addObserver('issuedConfig.warnMessage', this, this.errorLevelObserver);
+ this.addObserver('issuedConfig.errorMessage', this, this.errorLevelObserver);
+ },
+
+ willDestroyElement: function() {
+ this.removeObserver('issuedConfig.warnMessage', this, this.errorLevelObserver);
+ this.removeObserver('issuedConfig.errorMessage', this, this.errorLevelObserver);
+ },
+
+ errorLevelObserver: function() {
+ var messageLevel = this.get('issuedConfig.errorMessage') ? 'ERROR': this.get('issuedConfig.warnMessage') ? 'WARN' : 'NONE';
+ var issue = {
+ ERROR: {
+ iconClass: '',
+ message: this.get('issuedConfig.errorMessage'),
+ configLabelClass: 'text-error'
+ },
+ WARN: {
+ iconClass: 'warning',
+ message: this.get('issuedConfig.warnMessage'),
+ configLabelClass: 'text-warning'
+ },
+ NONE: {
+ iconClass: 'hide',
+ message: false,
+ configLabelClass: ''
+ }
+ }[messageLevel];
+ this.set('parentView.configLabelClass', issue.configLabelClass);
+ this.set('issueIconClass', issue.iconClass);
+ this.set('issueMessage', issue.message);
},
- issueIconClass: function() {
- return this.get('config.errorMessage') ? '': this.get('config.warnMessage') ? 'warning' : 'not-show';
- }.property('config.warnMessage', 'config.errorMessage'),
+ issuedConfig: function() {
+ var config = this.get('config');
+ // check editable overrides
+ if (!config.get('isEditable') && config.get('overrides.length') && config.get('overrides').someProperty('isEditable', true)) {
+ config = config.get('overrides').findProperty('isEditable', true);
+ }
+ return config;
+ }.property('config.isEditable', 'config.overrides.length')
- issueMessage: function() {
- return this.get('config.errorMessage') || this.get('config.warnMessage');
- }.property('config.warnMessage', 'config.errorMessage')
}),
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/705a0fb6/ambari-web/app/views/common/configs/widgets/directory_config_widget_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/widgets/directory_config_widget_view.js b/ambari-web/app/views/common/configs/widgets/directory_config_widget_view.js
index 8a39d51..be589b0 100644
--- a/ambari-web/app/views/common/configs/widgets/directory_config_widget_view.js
+++ b/ambari-web/app/views/common/configs/widgets/directory_config_widget_view.js
@@ -31,12 +31,14 @@ App.DirectoryConfigWidgetView = App.ConfigWidgetView.extend({
* @property configView
*/
configView: App.ServiceConfigTextArea.extend({
+ isPopoverEnabled: 'false',
widthClass: 'span12',
serviceConfigBinding: 'parentView.config',
popoverPlacement: 'top'
}),
didInsertElement: function() {
+ this.initPopover();
this.set('config.displayType', this.get('config.stackConfigProperty.widget.type'));
}