You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by at...@apache.org on 2014/08/28 13:19:47 UTC
git commit: AMBARI-7053 Config History: Compare UI tweaks. (atkach)
Repository: ambari
Updated Branches:
refs/heads/trunk b35b87d6f -> 6bcd6d55c
AMBARI-7053 Config History: Compare UI tweaks. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/6bcd6d55
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/6bcd6d55
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/6bcd6d55
Branch: refs/heads/trunk
Commit: 6bcd6d55c980f13e56ae9ddc8d4ab15371893d98
Parents: b35b87d
Author: atkach <at...@hortonworks.com>
Authored: Thu Aug 28 14:17:32 2014 +0300
Committer: atkach <at...@hortonworks.com>
Committed: Thu Aug 28 14:17:32 2014 +0300
----------------------------------------------------------------------
.../controllers/main/service/info/configs.js | 7 +
ambari-web/app/messages.js | 1 +
ambari-web/app/styles/application.less | 14 +-
.../common/configs/compare_property.hbs | 8 ++
.../common/configs/config_history_flow.hbs | 128 +++++++++++--------
.../common/configs/service_config_category.hbs | 30 +++--
.../views/common/configs/config_history_flow.js | 9 +-
7 files changed, 131 insertions(+), 66 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/6bcd6d55/ambari-web/app/controllers/main/service/info/configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js
index 78c9b53..22e3aac 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -572,6 +572,11 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
allConfigs.push(this.getMockConfig(prop, serviceName, App.config.getOriginalFileName(configuration.type)));
}
}
+ if (configuration.properties_attributes && configuration.properties_attributes.final) {
+ for (var final in configuration.properties_attributes.final) {
+ serviceVersionMap[final].isFinal = (configuration.properties_attributes.final[final] === 'true');
+ }
+ }
}, this);
allConfigs.forEach(function (serviceConfig) {
@@ -587,6 +592,8 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
compareObject.isMock = false;
}
serviceConfig.compareConfig = App.ServiceConfigProperty.create(compareObject);
+ this.setSupportsFinal(serviceConfig.compareConfig);
+ serviceConfig.compareConfig.set('isFinal', compareConfig.isFinal);
serviceConfig.compareConfig.set('value', App.config.formatOverrideValue(serviceConfig, compareConfig.value));
serviceConfig.isComparison = true;
} else if (serviceConfig.isUserProperty) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/6bcd6d55/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 9579b04..36bfa10 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -1993,6 +1993,7 @@ Em.I18n.translations = {
'dashboard.configHistory.table.created.title' : 'Created',
'dashboard.configHistory.table.empty' : 'No history to display',
'dashboard.configHistory.table.version.versionText' : 'V{0}',
+ 'dashboard.configHistory.table.version.prefix' : 'V',
'dashboard.configHistory.table.current.tooltip' : 'Current config for {0}:{1}',
'dashboard.configHistory.table.restart.tooltip' : 'Restart required',
'dashboard.configHistory.table.filteredHostsInfo': '{0} of {1} versions showing',
http://git-wip-us.apache.org/repos/asf/ambari/blob/6bcd6d55/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index dd0adb9..0570220 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -4953,8 +4953,14 @@ ul.inline li {
}
}
-#config_history_flow {
+.one-story-bar {
margin-bottom: 80px;
+}
+.two-stories-bar {
+ margin-bottom: 120px;
+}
+
+#config_history_flow {
.version-slider {
width: 100%;
height: 100px;
@@ -5069,6 +5075,10 @@ ul.inline li {
}
}
}
+ .version-info-bar-wrapper {
+ position: fixed;
+ z-index: 2;
+ }
.version-info-bar {
background-image: -moz-linear-gradient(top, @top-nav-bg-color-from, @top-nav-bg-color-to);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@top-nav-bg-color-from), to(@top-nav-bg-color-to));
@@ -5081,8 +5091,6 @@ ul.inline li {
box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1);
margin: 5px 0;
padding: 5px;
- position: fixed;
- z-index: 2;
width: 747px;
.label-wrapper {
http://git-wip-us.apache.org/repos/asf/ambari/blob/6bcd6d55/ambari-web/app/templates/common/configs/compare_property.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/compare_property.hbs b/ambari-web/app/templates/common/configs/compare_property.hbs
index f2b2a45..2d0137f 100644
--- a/ambari-web/app/templates/common/configs/compare_property.hbs
+++ b/ambari-web/app/templates/common/configs/compare_property.hbs
@@ -20,5 +20,13 @@
{{view view.serviceConfigProperty.compareConfig.viewClass serviceConfigBinding="view.serviceConfigProperty.compareConfig"}}
{{#unless view.serviceConfigProperty.compareConfig.isMock}}
<span class="label label-info">{{view.serviceConfigProperty.compareConfig.serviceVersion.versionText}}</span>
+ {{#if view.serviceConfigProperty.compareConfig.serviceVersion.isCurrent}}
+ <span class="label label-success">{{t common.current}}</span>
+ {{/if}}
+ {{#if view.serviceConfigProperty.compareConfig.supportsFinal}}
+ <a disabled="disabled" {{bindAttr class=":btn :btn-small :btn-final view.serviceConfigProperty.compareConfig.isFinal:active" }}>
+ <i class="icon-lock"></i>
+ </a>
+ {{/if}}
{{/unless}}
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/6bcd6d55/ambari-web/app/templates/common/configs/config_history_flow.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/config_history_flow.hbs b/ambari-web/app/templates/common/configs/config_history_flow.hbs
index 8fe54c8..55e622f 100644
--- a/ambari-web/app/templates/common/configs/config_history_flow.hbs
+++ b/ambari-web/app/templates/common/configs/config_history_flow.hbs
@@ -17,7 +17,7 @@
}}
-<div id="config_history_flow">
+<div id="config_history_flow" {{bindAttr class="view.showCompareVersionBar:two-stories-bar:one-story-bar"}}>
<div class="version-slider">
<div {{bindAttr class=":icon-chevron-box :pull-left view.showLeftArrow::hide"}} {{action shiftBack target="view"}}><i class="icon-chevron-left icon-3x"></i></div>
{{#each serviceVersion in view.visibleServiceVersion}}
@@ -54,59 +54,83 @@
{{/each}}
<div {{bindAttr class=":icon-chevron-box :pull-right view.showRightArrow::hide"}} {{action shiftForward target="view"}}><i class="icon-chevron-right icon-3x"></i></div>
</div>
- <div class="version-info-bar">
- <div class="row-fluid">
- <div class="btn-group pull-left">
- <button class="btn dropdown-toggle" data-toggle="dropdown" href="#" {{action hideFullList target="view"}} {{bindAttr disabled="view.versionActionsDisabled"}}>
- <i class="icon-random"></i>
- <span class="caret"></span>
- </button>
- <ul class="dropdown-menu">
- {{#each serviceVersion in view.dropDownList}}
- <li class="pointer dropdown-submenu">
- <div class="row-fluid" {{action switchVersion serviceVersion target="view"}}>
- <div class="span2">{{serviceVersion.versionText}}</div>
- <div class="span6">{{serviceVersion.modifiedDate}}</div>
- <div class="span3">{{serviceVersion.author}}</div>
- <div class="pull-right"><i class="icon-caret-right"></i></div>
+ <div class="version-info-bar-wrapper">
+ <div {{bindAttr class="view.showCompareVersionBar::hidden :version-info-bar"}}>
+ <div class="row-fluid">
+ <div class="span1">
</div>
- <ul class="dropdown-menu">
- <div class="content"> <strong>{{serviceVersion.serviceName}}</strong> <span class="label label-info">{{serviceVersion.versionText}}</span>
- <strong>{{t services.service.config.configHistory.configGroup}}:{{serviceVersion.configGroupName}}</strong>
- <div class="notes">{{serviceVersion.briefNotes}}</div>
- </div>
- <div>
- <button class="btn" {{action switchVersion serviceVersion target="view"}}><i class="icon-search"></i> {{t common.view}}</button>
- <button class="btn" {{bindAttr disabled="serviceVersion.isDisabled"}} {{action compare serviceVersion target="view"}}><i class="icon-copy"></i> {{t common.compare}}</button>
- <button class="btn" {{bindAttr disabled="serviceVersion.isDisabled"}} {{action revert serviceVersion target="view"}}>{{t dashboard.configHistory.info-bar.revert.button}}</button>
- </div>
- </ul>
- </li>
- {{/each}}
- {{#unless view.showFullList}}
- <li class="align-center pointer" id="show_more">
- <a {{action openFullList target="view"}}>
- {{t dashboard.configHistory.info-bar.showMore}} {{view.serviceName}}
- <span class="lowercase ellipsis">{{t dashboard.configHistory.title}}</span>
- </a>
- </li>
- {{/unless}}
- </ul>
+ <div class="label-wrapper span9"
+ data-toggle="tooltip" {{bindAttr data-original-title="view.compareServiceVersion.briefNotes"}}>
+ <span class="label label-info">{{view.compareServiceVersion.versionText}}</span>
+ {{#if view.compareServiceVersion.isCurrent}}
+ <span class="label label-success">{{t common.current}}</span>
+ {{/if}}
+ <strong>{{view.compareServiceVersion.author}}</strong> {{t dashboard.configHistory.info-bar.authoredOn}}
+ <strong>{{view.compareServiceVersion.modifiedDate}}</strong>
+ </div>
+ <div class="pull-right">
+ <div {{bindAttr class="view.compareServiceVersion.isCurrent::hidden"}}>
+ <button class="btn" {{action doCancel target="controller"}} {{bindAttr disabled="view.versionActionsDisabled"}}>{{t common.cancel}}</button>
+ <button class="btn btn-success" {{action save target="view"}} {{bindAttr disabled="view.isSaveDisabled"}}>{{t common.save}}</button>
+ </div>
+ <button class="btn btn-success" {{action revert target="view"}} {{bindAttr disabled="view.versionActionsDisabled" class="view.compareServiceVersion.isCurrent:hidden"}}>{{t dashboard.configHistory.info-bar.revert.button}}</button>
+ </div>
+ </div>
</div>
- <div class="label-wrapper span9" data-toggle="tooltip" {{bindAttr data-original-title="view.displayedServiceVersion.briefNotes"}}>
- <span class="label label-info">{{view.displayedServiceVersion.versionText}}</span>
- {{#if view.displayedServiceVersion.isCurrent}}
- <span class="label label-success">{{t common.current}}</span>
- {{/if}}
- <strong>{{view.displayedServiceVersion.author}}</strong> {{t dashboard.configHistory.info-bar.authoredOn}} <strong>{{view.displayedServiceVersion.modifiedDate}}</strong>
- </div>
- <div class="pull-right">
- <div {{bindAttr class="view.displayedServiceVersion.isCurrent::hidden"}}>
- <button class="btn" {{action doCancel target="controller"}} {{bindAttr disabled="view.versionActionsDisabled"}}>{{t common.cancel}}</button>
- <button class="btn btn-success" {{action save target="view"}} {{bindAttr disabled="view.isSaveDisabled"}}>{{t common.save}}</button>
+ <div class="version-info-bar">
+ <div class="row-fluid">
+ <div class="btn-group pull-left">
+ <button class="btn dropdown-toggle" data-toggle="dropdown" href="#" {{action hideFullList target="view"}} {{bindAttr disabled="view.versionActionsDisabled"}}>
+ <i class="icon-random"></i>
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu">
+ {{#each serviceVersion in view.dropDownList}}
+ <li class="pointer dropdown-submenu">
+ <div class="row-fluid" {{action switchVersion serviceVersion target="view"}}>
+ <div class="span2">{{serviceVersion.versionText}}</div>
+ <div class="span6">{{serviceVersion.modifiedDate}}</div>
+ <div class="span3">{{serviceVersion.author}}</div>
+ <div class="pull-right"><i class="icon-caret-right"></i></div>
+ </div>
+ <ul class="dropdown-menu">
+ <div class="content"> <strong>{{serviceVersion.serviceName}}</strong> <span class="label label-info">{{serviceVersion.versionText}}</span>
+ <strong>{{t services.service.config.configHistory.configGroup}}:{{serviceVersion.configGroupName}}</strong>
+ <div class="notes">{{serviceVersion.briefNotes}}</div>
+ </div>
+ <div>
+ <button class="btn" {{action switchVersion serviceVersion target="view"}}><i class="icon-search"></i> {{t common.view}}</button>
+ <button class="btn" {{bindAttr disabled="serviceVersion.isDisabled"}} {{action compare serviceVersion target="view"}}><i class="icon-copy"></i> {{t common.compare}}</button>
+ <button class="btn" {{bindAttr disabled="serviceVersion.isDisabled"}} {{action revert serviceVersion target="view"}}>{{t dashboard.configHistory.info-bar.revert.button}}</button>
+ </div>
+ </ul>
+ </li>
+ {{/each}}
+ {{#unless view.showFullList}}
+ <li class="align-center pointer" id="show_more">
+ <a {{action openFullList target="view"}}>
+ {{t dashboard.configHistory.info-bar.showMore}} {{view.serviceName}}
+ <span class="lowercase ellipsis">{{t dashboard.configHistory.title}}</span>
+ </a>
+ </li>
+ {{/unless}}
+ </ul>
+ </div>
+ <div class="label-wrapper span9" data-toggle="tooltip" {{bindAttr data-original-title="view.displayedServiceVersion.briefNotes"}}>
+ <span class="label label-info">{{view.displayedServiceVersion.versionText}}</span>
+ {{#if view.displayedServiceVersion.isCurrent}}
+ <span class="label label-success">{{t common.current}}</span>
+ {{/if}}
+ <strong>{{view.displayedServiceVersion.author}}</strong> {{t dashboard.configHistory.info-bar.authoredOn}} <strong>{{view.displayedServiceVersion.modifiedDate}}</strong>
+ </div>
+ <div class="pull-right">
+ <div {{bindAttr class="view.displayedServiceVersion.isCurrent::hidden"}}>
+ <button class="btn" {{action doCancel target="controller"}} {{bindAttr disabled="view.versionActionsDisabled"}}>{{t common.cancel}}</button>
+ <button class="btn btn-success" {{action save target="view"}} {{bindAttr disabled="view.isSaveDisabled"}}>{{t common.save}}</button>
+ </div>
+ <button class="btn btn-success" {{action revert target="view"}} {{bindAttr disabled="view.versionActionsDisabled" class="view.displayedServiceVersion.isCurrent:hidden"}}>{{t dashboard.configHistory.info-bar.revert.button}}</button>
+ </div>
</div>
- <button class="btn btn-success" {{action revert target="view"}} {{bindAttr disabled="view.versionActionsDisabled" class="view.displayedServiceVersion.isCurrent:hidden"}}>{{t dashboard.configHistory.info-bar.revert.button}}</button>
- </div>
- </div>
+ </div>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/6bcd6d55/ambari-web/app/templates/common/configs/service_config_category.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/common/configs/service_config_category.hbs b/ambari-web/app/templates/common/configs/service_config_category.hbs
index faab9a3..dcbdba6 100644
--- a/ambari-web/app/templates/common/configs/service_config_category.hbs
+++ b/ambari-web/app/templates/common/configs/service_config_category.hbs
@@ -48,6 +48,12 @@
{{! Here serviceConfigBinding should ideally be serviceConfigPropertyBinding }}
<div {{bindAttr class="errorMessage:error: warnMessage:warning: :control-group"}}>
{{view viewClass serviceConfigBinding="this" categoryConfigsAllBinding="view.categoryConfigsAll" }}
+ {{#if this.isComparison}}
+ <span class="label label-info">{{t dashboard.configHistory.table.version.prefix}}{{controller.selectedVersion}}</span>
+ {{#if controller.isCurrentSelected}}
+ <span class="label label-success">{{t common.current}}</span>
+ {{/if}}
+ {{/if}}
{{#if supportsFinal}}
<a href="#" data-toggle="tooltip"
{{bindAttr class=":btn :btn-small :btn-final isFinal:active" disabled="isNotEditable"}}
@@ -60,11 +66,13 @@
{{#if isPropertyOverridable}}
{{#if view.supportsHostOverrides}}
{{#if App.isAdmin}}
- <a class="btn btn-small" href="#" data-toggle="tooltip"
- {{action "createOverrideProperty" this target="view"}}
- {{translateAttr data-original-title="common.override"}}>
- <i class="icon-plus-sign"></i>
- </a>
+ {{#unless this.isComparison}}
+ <a class="btn btn-small" href="#" data-toggle="tooltip"
+ {{action "createOverrideProperty" this target="view"}}
+ {{translateAttr data-original-title="common.override"}}>
+ <i class="icon-plus-sign"></i>
+ </a>
+ {{/unless}}
{{/if}}
{{/if}}
{{/if}}
@@ -79,11 +87,13 @@
{{/unless}}
{{#if isRemovable}}
{{#if App.isAdmin}}
- <a class="btn btn-small" href="#" data-toggle="tooltip"
- {{action "removeProperty" this target="view"}}
- {{translateAttr data-original-title="common.remove"}}>
- <i class="icon-minus-sign"></i>
- </a>
+ {{#unless this.isComparison}}
+ <a class="btn btn-small" href="#" data-toggle="tooltip"
+ {{action "removeProperty" this target="view"}}
+ {{translateAttr data-original-title="common.remove"}}>
+ <i class="icon-minus-sign"></i>
+ </a>
+ {{/unless}}
{{/if}}
{{/if}}
{{#unless isEditable}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/6bcd6d55/ambari-web/app/views/common/configs/config_history_flow.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/config_history_flow.js b/ambari-web/app/views/common/configs/config_history_flow.js
index 8c81f42..fc054c8 100644
--- a/ambari-web/app/views/common/configs/config_history_flow.js
+++ b/ambari-web/app/views/common/configs/config_history_flow.js
@@ -33,6 +33,11 @@ App.ConfigHistoryFlowView = Em.View.extend({
* flag identify whether to show all versions or short list of them
*/
showFullList: false,
+ compareServiceVersion: null,
+
+ showCompareVersionBar: function() {
+ return !Em.isNone(this.get('compareServiceVersion'));
+ }.property('compareServiceVersion'),
isSaveDisabled: function () {
return (this.get('controller.isSubmitDisabled') || !this.get('controller.versionLoaded'));
@@ -172,7 +177,7 @@ App.ConfigHistoryFlowView = Em.View.extend({
$(window).unbind('scroll');
$(window).on('scroll', function (event) {
- var infoBar = $('#config_history_flow>.version-info-bar');
+ var infoBar = $('#config_history_flow>.version-info-bar-wrapper');
var scrollTop = $(window).scrollTop();
if (infoBar.length === 0) {
@@ -220,6 +225,7 @@ App.ConfigHistoryFlowView = Em.View.extend({
var version = event.context.get('version');
var versionIndex = 0;
+ this.set('compareServiceVersion', null);
this.get('serviceVersions').forEach(function (serviceVersion, index) {
if (serviceVersion.get('version') === version) {
serviceVersion.set('isDisplayed', true);
@@ -241,6 +247,7 @@ App.ConfigHistoryFlowView = Em.View.extend({
var isDisabled = event.context ? event.context.get('isDisabled') : false;
if (isDisabled) return;
this.set('controller.compareServiceVersion', event.context);
+ this.set('compareServiceVersion', event.context);
this.get('controller').onConfigGroupChange();
},
/**