You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by xi...@apache.org on 2014/08/26 00:50:34 UTC
git commit: AMBARI-7000. Config History: Service Config page UI
tweaks.(xiwang)
Repository: ambari
Updated Branches:
refs/heads/trunk 0c1bce053 -> 46a91dbb0
AMBARI-7000. Config History: Service Config page UI tweaks.(xiwang)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/46a91dbb
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/46a91dbb
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/46a91dbb
Branch: refs/heads/trunk
Commit: 46a91dbb0bfacd5cda1f8a0713061b798eac5722
Parents: 0c1bce0
Author: Xi Wang <xi...@apache.org>
Authored: Fri Aug 22 15:38:46 2014 -0700
Committer: Xi Wang <xi...@apache.org>
Committed: Mon Aug 25 15:47:43 2014 -0700
----------------------------------------------------------------------
.../data/configurations/service_version.json | 7 +-
.../data/configurations/service_versions.json | 77 +++++++++++---------
.../main/dashboard/config_history_controller.js | 6 +-
.../controllers/main/service/info/configs.js | 4 +-
.../mappers/service_config_version_mapper.js | 3 +-
ambari-web/app/messages.js | 1 +
ambari-web/app/models/service_config_version.js | 12 ++-
ambari-web/app/styles/application.less | 58 +++++++++++++--
.../common/configs/config_history_flow.hbs | 40 ++++++----
.../templates/main/dashboard/config_history.hbs | 6 +-
ambari-web/app/utils/ajax/ajax.js | 2 +-
.../views/common/configs/config_history_flow.js | 37 +++++++++-
12 files changed, 182 insertions(+), 71 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/ambari-web/app/assets/data/configurations/service_version.json
----------------------------------------------------------------------
diff --git a/ambari-web/app/assets/data/configurations/service_version.json b/ambari-web/app/assets/data/configurations/service_version.json
index dc02514..bf48cb7 100644
--- a/ambari-web/app/assets/data/configurations/service_version.json
+++ b/ambari-web/app/assets/data/configurations/service_version.json
@@ -2,11 +2,12 @@
"items": [
{
"serviceconfigversion": "1",
- "servicename": "HDFS",
"createtime": "43800000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : null,
+ "service_name" : "HDFS",
"configurations": [
{
"type": "hdfs-site",
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/ambari-web/app/assets/data/configurations/service_versions.json
----------------------------------------------------------------------
diff --git a/ambari-web/app/assets/data/configurations/service_versions.json b/ambari-web/app/assets/data/configurations/service_versions.json
index 9c1a8a4..ddd59f0 100644
--- a/ambari-web/app/assets/data/configurations/service_versions.json
+++ b/ambari-web/app/assets/data/configurations/service_versions.json
@@ -2,11 +2,12 @@
"items": [
{
"serviceconfigversion": "1",
- "servicename": "HDFS",
"createtime": "43800000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : "Notes should be here",
+ "service_name" : "HDFS",
"configurations": [
{
"type": "core-site",
@@ -21,11 +22,12 @@
},
{
"serviceconfigversion": "1",
- "servicename": "YARN",
"createtime": "43300000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : "Notes should be here",
+ "service_name" : "YARN",
"configurations": [
{
"type": "core-site",
@@ -40,11 +42,12 @@
},
{
"serviceconfigversion": "2",
- "servicename": "HDFS",
"createtime": "43500000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : "Notes should be here",
+ "service_name" : "HDFS",
"configurations": [
{
"type": "core-site",
@@ -59,11 +62,12 @@
},
{
"serviceconfigversion": "2",
- "servicename": "YARN",
"createtime": "13800000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : "Notes should be here",
+ "service_name" : "YARN",
"configurations": [
{
"type": "core-site",
@@ -78,11 +82,12 @@
},
{
"serviceconfigversion": "3",
- "servicename": "HDFS",
"createtime": "23800000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : "Notes should be here",
+ "service_name" : "HDFS",
"configurations": [
{
"type": "core-site",
@@ -97,11 +102,12 @@
},
{
"serviceconfigversion": "3",
- "servicename": "YARN",
"createtime": "47800000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : "Notes should be here",
+ "service_name" : "YARN",
"configurations": [
{
"type": "core-site",
@@ -116,11 +122,12 @@
},
{
"serviceconfigversion": "4",
- "servicename": "HDFS",
"createtime": "43900000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : "Notes should be here",
+ "service_name" : "HDFS",
"configurations": [
{
"type": "core-site",
@@ -135,11 +142,12 @@
},
{
"serviceconfigversion": "4",
- "servicename": "YARN",
"createtime": "33800000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : "Notes should be here",
+ "service_name" : "YARN",
"configurations": [
{
"type": "core-site",
@@ -154,11 +162,12 @@
},
{
"serviceconfigversion": "5",
- "servicename": "HDFS",
"createtime": "41800000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : "Notes should be here",
+ "service_name" : "HDFS",
"configurations": [
{
"type": "core-site",
@@ -173,11 +182,12 @@
},
{
"serviceconfigversion": "5",
- "servicename": "YARN",
"createtime": "46800000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : "Notes should be here",
+ "service_name" : "YARN",
"configurations": [
{
"type": "core-site",
@@ -192,11 +202,12 @@
},
{
"serviceconfigversion": "6",
- "servicename": "YARN",
"createtime": "44800000000",
- "appliedtime": "58600000000",
"author": "admin",
- "notes": "Notes should be here",
+ "group_id" : null,
+ "group_name" : null,
+ "service_config_version_note" : "Notes should be here",
+ "service_name" : "YARN",
"configurations": [
{
"type": "core-site",
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/ambari-web/app/controllers/main/dashboard/config_history_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/dashboard/config_history_controller.js b/ambari-web/app/controllers/main/dashboard/config_history_controller.js
index 574a5ae..2a81c28 100644
--- a/ambari-web/app/controllers/main/dashboard/config_history_controller.js
+++ b/ambari-web/app/controllers/main/dashboard/config_history_controller.js
@@ -31,7 +31,7 @@ App.MainConfigHistoryController = Em.ArrayController.extend(App.TableServerMixin
filteredCount: 0,
mockUrl: '/data/configurations/service_versions.json',
realUrl: function () {
- return App.apiPrefix + '/clusters/' + App.get('clusterName') + '/configurations/serviceconfigversions?<parameters>fields=serviceconfigversion,user,appliedtime,createtime,service_name,service_config_version_note&minimal_response=true';
+ return App.apiPrefix + '/clusters/' + App.get('clusterName') + '/configurations/serviceconfigversions?<parameters>fields=serviceconfigversion,user,group_id,group_name,createtime,service_name,service_config_version_note&minimal_response=true';
}.property('App.clusterName'),
/**
@@ -41,7 +41,7 @@ App.MainConfigHistoryController = Em.ArrayController.extend(App.TableServerMixin
colPropAssoc: function () {
var associations = [];
associations[1] = 'serviceVersion';
- associations[2] = 'configGroup';
+ associations[2] = 'configGroupName';
associations[3] = 'createTime';
associations[4] = 'author';
associations[5] = 'briefNotes';
@@ -56,7 +56,7 @@ App.MainConfigHistoryController = Em.ArrayController.extend(App.TableServerMixin
},
{
name: 'configGroup',
- key: 'group_name',////
+ key: 'group_name',
type: 'EQUAL'
},
{
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/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 c10a4fa..dce4c35 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -79,8 +79,8 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
}.property('App.isHadoop2Stack'),
showConfigHistoryFeature: function() {
- return (App.supports.configHistory && this.get('selectedConfigGroup.isDefault'));
- }.property('selectedConfigGroup.isDefault'),
+ return App.supports.configHistory;
+ }.property('App.supports.configHistory'),
/**
* Map, which contains relation between group and site
* to upload overridden properties
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/ambari-web/app/mappers/service_config_version_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/service_config_version_mapper.js b/ambari-web/app/mappers/service_config_version_mapper.js
index fcdb145..25d5aba 100644
--- a/ambari-web/app/mappers/service_config_version_mapper.js
+++ b/ambari-web/app/mappers/service_config_version_mapper.js
@@ -25,7 +25,8 @@ App.serviceConfigVersionsMapper = App.QuickDataMapper.create({
service_id: 'service_name',
version: "serviceconfigversion",
create_time: 'createtime',
- applied_time: 'appliedtime',
+ group_id: 'group_id',
+ group_name: 'group_name',
author: 'user',
notes: 'service_config_version_note',
is_current: 'is_current',
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index f569411..a02b729 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -88,6 +88,7 @@ Em.I18n.translations = {
'common.service': 'Service',
'common.version':'Version',
'common.description':'Description',
+ 'common.default':'Default',
'common.client':'Client',
'common.zookeeper':'ZooKeeper',
'common.hbase':'HBase',
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/ambari-web/app/models/service_config_version.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/service_config_version.js b/ambari-web/app/models/service_config_version.js
index 3074c0e..807d76f 100644
--- a/ambari-web/app/models/service_config_version.js
+++ b/ambari-web/app/models/service_config_version.js
@@ -23,7 +23,8 @@ var dateUtil = require('utils/date');
App.ServiceConfigVersion = DS.Model.extend({
serviceName: DS.attr('string'),
- configGroup: DS.attr('string'),
+ groupName: DS.attr('string'),
+ groupId: DS.attr('string'),
version: DS.attr('number'),
createTime: DS.attr('number'),
author: DS.attr('string'),
@@ -32,10 +33,13 @@ App.ServiceConfigVersion = DS.Model.extend({
index: DS.attr('number'),
isCurrent: DS.attr('boolean'),
currentTooltip: function () {
- return Em.I18n.t('dashboard.configHistory.table.current.tooltip').format(this.get('serviceName'), this.get('configGroup') || '');
- }.property('serviceName', 'configGroup'),
+ return Em.I18n.t('dashboard.configHistory.table.current.tooltip').format(this.get('serviceName'), this.get('configGroupName'));
+ }.property('serviceName', 'configGroupName'),
+ configGroupName: function () {
+ return this.get('groupName') || (this.get('serviceName') + ' ' + Em.I18n.t('common.default'));
+ }.property('groupName'),
briefNotes: function () {
- return (typeof this.get('notes') === 'string') ? this.get('notes').slice(0, 100) : " ";
+ return (typeof this.get('notes') === 'string') ? this.get('notes').slice(0, 100) : "";
}.property('notes'),
versionText: function () {
return Em.I18n.t('dashboard.configHistory.table.version.versionText').format(this.get('version'));
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index 3a90d7d..dd0adb9 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -1106,6 +1106,10 @@ h1 {
.icon-lock {
color: #008000;
}
+ a.btn[disabled],
+ a.btn[disabled] [class^="icon-"], a [class*=" icon-"] {
+ cursor: not-allowed;
+ }
.action{
margin-left: 3px;
margin-right: 1px;
@@ -1211,6 +1215,7 @@ h1 {
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+ cursor: not-allowed;
}
}
.capacity-scheduler {
@@ -4957,11 +4962,15 @@ ul.inline li {
.flow-element {
width: 18%;
height: 100%;
- .box {
+ .version-box {
position: relative;
+ height: 90%;
+ }
+ .version-box .box {
+ //position: relative;
cursor: pointer;
width: 72%;
- height: 90%;
+ height: 100%;
background-color: #ffffff;
border: 1px solid #dddddd;
font-size: @default-font-size;
@@ -4975,14 +4984,49 @@ ul.inline li {
color: #555555;
}
}
- .box.displayed {
+ .version-box .version-popover {
+ display: none;
+ position: absolute;
+ bottom: 89px;
+ left: -45px;
+ z-index: 1000;
+ float: left;
+ min-width: 290px;
+ padding: 8px;
+ list-style: none;
+ background-color: #ffffff;
+ border: 1px solid #c3c3c3;
+ -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+ font-size: 13px;
+ .content {
+ padding: 1px 5px 15px 5px;
+ text-align: left;
+ .notes{
+ word-wrap: break-word;
+ }
+ }
+ .btn {
+ font-size: 13px;
+ }
+ }
+ .version-box:hover{
+ .version-popover {
+ display: block;
+ }
+ }
+ .version-box .box.displayed {
border: 1px solid #444444;
.content {
color: #444444;
font-weight: bold;
}
}
- .box.grayedOut {
+ .version-box .box.grayedOut {
background-color: #eeeeee;
border: 1px solid #eeeeee;
.content {
@@ -5006,7 +5050,7 @@ ul.inline li {
.arrow-box {
display: none;
}
- .box {
+ .version-box .box {
width: 100%;
}
width: 13%;
@@ -5072,6 +5116,7 @@ ul.inline li {
}
.dropdown-submenu .dropdown-menu {
min-width: 200px;
+ max-width: 300px;
line-height: 20px;
margin: 0px;
padding: 5px;
@@ -5079,6 +5124,9 @@ ul.inline li {
cursor: default;
.content {
padding: 1px 5px 15px 5px;
+ .notes{
+ word-wrap: break-word;
+ }
}
.btn {
font-size: 13px;
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/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 0722f1e..9aade90 100644
--- a/ambari-web/app/templates/common/configs/config_history_flow.hbs
+++ b/ambari-web/app/templates/common/configs/config_history_flow.hbs
@@ -23,18 +23,32 @@
{{#each serviceVersion in view.visibleServiceVersion}}
<div {{bindAttr class=":flow-element :pull-left serviceVersion.first:first"}}>
<div class="arrow-box pull-left"><i class="icon-arrow-right icon-3x"></i></div>
- <div {{bindAttr class=":box :pull-right serviceVersion.isDisplayed:displayed"}} {{action switchVersion serviceVersion target="view"}}>
- <div class="top-label">
- <span class="label label-info">{{serviceVersion.versionText}}</span>
- {{#if serviceVersion.isCurrent}}
- <span class="label label-success">
+ <div class="version-box">
+ <div {{bindAttr class=":box :pull-right serviceVersion.isDisplayed:displayed serviceVersion.isDisabled:grayedOut"}} {{action switchVersion serviceVersion target="view"}}>
+ <div class="top-label">
+ <span class="label label-info">{{serviceVersion.versionText}}</span>
+ {{#if serviceVersion.isCurrent}}
+ <span class="label label-success">
{{t common.current}}
<i {{bindAttr class=":icon-refresh :restart-required-service view.serviceVersion.isRestartRequired::hidden"}}></i>
</span>
- {{/if}}
+ {{/if}}
+ </div>
+ <div class="content">{{serviceVersion.author}}</div>
+ <div class="content">{{serviceVersion.shortModifiedDate}}</div>
+ </div>
+
+ <div class="version-popover">
+ <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>
</div>
- <div class="content">{{serviceVersion.author}}</div>
- <div class="content">{{serviceVersion.shortModifiedDate}}</div>
</div>
</div>
{{/each}}
@@ -58,13 +72,13 @@
</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.configGroup}}</strong>
- <div>{{serviceVersion.briefNotes}}</div>
+ <strong>{{t services.service.config.configHistory.configGroup}}:{{serviceVersion.configGroupName}}</strong>
+ <div class="notes">{{serviceVersion.briefNotes}}</div>
</div>
<div>
- <button class="btn" {{bindAttr disabled="view.disableView"}} {{action switchVersion serviceVersion target="view"}}><i class="icon-search"></i> {{t common.view}}</button>
- <button class="btn" {{bindAttr disabled="view.disableCompare"}} {{action compare serviceVersion target="view"}}><i class="icon-copy"></i> {{t common.compare}}</button>
- <button class="btn" {{bindAttr disabled="view.disableMakeCurrent"}} {{action revert serviceVersion target="view"}}>{{t dashboard.configHistory.info-bar.revert.button}}</button>
+ <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>
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/ambari-web/app/templates/main/dashboard/config_history.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/dashboard/config_history.hbs b/ambari-web/app/templates/main/dashboard/config_history.hbs
index d25b3a0..de8680a 100644
--- a/ambari-web/app/templates/main/dashboard/config_history.hbs
+++ b/ambari-web/app/templates/main/dashboard/config_history.hbs
@@ -47,7 +47,7 @@
</a>
<i {{bindAttr class=":icon-refresh :restart-required-service item.isRestartRequired::hidden"}}></i>
</td>
- <td>{{item.configGroup}}
+ <td>{{item.configGroupName}}
{{#if item.isCurrent}}
<span class="label label-success" rel="currentTooltip"
{{bindAttr data-original-title="item.currentTooltip"}}>{{t common.current}}
@@ -61,13 +61,13 @@
{{/each}}
{{else}}
<tr>
- <td class="first" colspan="6">
+ <td class="first" colspan="5">
{{t dashboard.configHistory.table.empty}}
</td>
</tr>
{{/if}}
{{else}}
- <tr><td colspan="6"><div class="spinner"></div></td></tr>
+ <tr><td colspan="5"><div class="spinner"></div></td></tr>
{{/if}}
</tbody>
</table>
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/ambari-web/app/utils/ajax/ajax.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js
index 987696c..3140595 100644
--- a/ambari-web/app/utils/ajax/ajax.js
+++ b/ambari-web/app/utils/ajax/ajax.js
@@ -1894,7 +1894,7 @@ var urls = {
}
},
'service.serviceConfigVersions.get': {
- real: '/clusters/{clusterName}/configurations/serviceconfigversions?service_name={serviceName}&fields=serviceconfigversion,user,appliedtime,createtime,service_name,service_config_version_note&minimal_response=true',
+ real: '/clusters/{clusterName}/configurations/serviceconfigversions?service_name={serviceName}&fields=serviceconfigversion,user,group_id,group_name,createtime,service_name,service_config_version_note&minimal_response=true',
mock: '/data/configurations/service_versions.json'
},
'service.serviceConfigVersions.get.current': {
http://git-wip-us.apache.org/repos/asf/ambari/blob/46a91dbb/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 b6881a5..a4c21af 100644
--- a/ambari-web/app/views/common/configs/config_history_flow.js
+++ b/ambari-web/app/views/common/configs/config_history_flow.js
@@ -42,6 +42,14 @@ App.ConfigHistoryFlowView = Em.View.extend({
return this.get('controller.selectedService.serviceName');
}.property('controller.selectedService.serviceName'),
+ selectedConfigGroupName: function () {
+ return this.get('controller.selectedConfigGroup.displayName');
+ }.property('controller.selectedConfigGroup.displayName'),
+
+ isDefaultConfigGroupSelected: function () {
+ return this.get('controller.selectedConfigGroup.isDefault');
+ }.property('controller.selectedConfigGroup.isDefault'),
+
displayedServiceVersion: function () {
return this.get('serviceVersions').findProperty('isDisplayed');
}.property('serviceVersions.@each.isDisplayed'),
@@ -64,11 +72,30 @@ App.ConfigHistoryFlowView = Em.View.extend({
}.property('displayedServiceVersion'),
serviceVersions: function () {
+ var serviceVersions;
var allServiceVersions = App.ServiceConfigVersion.find().filterProperty('serviceName', this.get('serviceName'));
- return allServiceVersions.sort(function (a, b) {
+ if (this.get('isDefaultConfigGroupSelected')) {
+ // filtered all versions which belong to default group
+ serviceVersions = allServiceVersions.filterProperty('groupName', null);
+ serviceVersions.forEach( function (version) {
+ version.set('isDisabled', false);
+ });
+ }else {
+ // filter out default group(should be grayedOut) and current selectedGroup versions
+ var defaultServiceVersions = allServiceVersions.filterProperty('groupName', null);
+ defaultServiceVersions.forEach( function (version) {
+ version.set('isDisabled', true);
+ });
+ var selectedServiceVersions = allServiceVersions.filterProperty('groupName', this.get('selectedConfigGroupName'));
+ selectedServiceVersions.forEach( function (version) {
+ version.set('isDisabled', false);
+ });
+ serviceVersions = selectedServiceVersions.concat(defaultServiceVersions) ;
+ }
+ return serviceVersions.sort(function (a, b) {
return Em.get(a, 'createTime') - Em.get(b, 'createTime');
});
- }.property('serviceName'),
+ }.property('serviceName', 'selectedConfigGroupName', 'isDefaultConfigGroupSelected'),
/**
* service versions which in viewport and visible to user
*/
@@ -204,6 +231,8 @@ App.ConfigHistoryFlowView = Em.View.extend({
* add a second version-info-bar for the chosen version
*/
compare: function (event) {
+ var isDisabled = event.context ? event.context.get('isDisabled') : false;
+ if (isDisabled) return;
this.set('controller.compareServiceVersion', event.context);
this.get('controller').onConfigGroupChange();
},
@@ -212,6 +241,8 @@ App.ConfigHistoryFlowView = Em.View.extend({
*/
revert: function (event) {
var self = this;
+ var isDisabled = event.context ? event.context.get('isDisabled') : false;
+ if (isDisabled) return;
var serviceConfigVersion = event.context || Em.Object.create({
version: this.get('displayedServiceVersion.version'),
serviceName: this.get('displayedServiceVersion.serviceName')
@@ -220,7 +251,7 @@ App.ConfigHistoryFlowView = Em.View.extend({
App.showConfirmationPopup(function () {
self.sendRevertCall(serviceConfigVersion);
},
- Em.I18n.t('services.service.config.configHistory.makeCurrent.message').format(versionText, this.get('displayedServiceVersion.serviceName'), this.get('displayedServiceVersion.configGroup'))
+ Em.I18n.t('services.service.config.configHistory.makeCurrent.message').format(versionText, this.get('displayedServiceVersion.serviceName'), this.get('displayedServiceVersion.configGroupName'))
);
},