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 2017/03/13 17:51:45 UTC
ambari git commit: AMBARI-20425 Empty current and recommended values
in "Recommended configs" panel during Add Service. (ababiichuk)
Repository: ambari
Updated Branches:
refs/heads/trunk 369057a8b -> 592c1a90c
AMBARI-20425 Empty current and recommended values in "Recommended configs" panel during Add Service. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/592c1a90
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/592c1a90
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/592c1a90
Branch: refs/heads/trunk
Commit: 592c1a90c66b621cada4c6f335196dce2121814a
Parents: 369057a
Author: ababiichuk <ab...@hortonworks.com>
Authored: Mon Mar 13 18:12:23 2017 +0200
Committer: ababiichuk <ab...@hortonworks.com>
Committed: Mon Mar 13 19:51:42 2017 +0200
----------------------------------------------------------------------
ambari-web/app/messages.js | 3 +-
ambari-web/app/styles/application.less | 19 ++++++++-----
.../views/common/configs/config_diff_view.js | 29 ++++++++++++++++++--
3 files changed, 40 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/592c1a90/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 2e80a2b..1a26516 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -477,7 +477,8 @@ Em.I18n.translations = {
'popup.dependent.configs.table.currentValue': 'Current Value',
'popup.dependent.configs.table.recommendedValue': 'Recommended Value',
'popup.dependent.configs.table.newValue': 'New Value',
- 'popup.dependent.configs.table.not.defined': 'Not Defined',
+ 'popup.dependent.configs.table.undefined': 'Property undefined',
+ 'popup.dependent.configs.table.removed': 'Property removed',
'popup.dependent.configs.select.config.group.header': 'Select Config Group',
http://git-wip-us.apache.org/repos/asf/ambari/blob/592c1a90/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index 8a15fb1..151e404 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -2293,6 +2293,10 @@ input[type="radio"].align-checkbox, input[type="checkbox"].align-checkbox {
@config-dependency-t-group-width: 140px;
@config-dependency-t-filename-width: 150px;
@config-dependency-t-value-width: 230px;
+@diff-background-insert: #eaffea;
+@diff-background-delete: #ffecec;
+@diff-background-equal: #fff;
+@diff-background-empty: #ddd;
#config-dependencies {
max-height: 500px;
@@ -2327,17 +2331,18 @@ input[type="radio"].align-checkbox, input[type="checkbox"].align-checkbox {
&.empty {
width: 50%;
}
- &.delete, &.insert, &.replace {
- color: #fff;
- }
&.delete {
- background-color: @health-status-red !important;
+ background-color: @diff-background-delete !important;
}
&.insert {
- background-color: @health-status-green !important;
+ background-color: @diff-background-insert !important;
+ }
+ &.equal, &.not-defined:last-of-type, &.is-removed:first-of-type {
+ background-color: @diff-background-equal;
}
- &.replace {
- background-color: @health-status-orange !important;
+ &.not-defined:first-of-type, &.is-removed:last-of-type {
+ background-color: @diff-background-empty;
+ font-style: italic;
}
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/592c1a90/ambari-web/app/views/common/configs/config_diff_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/config_diff_view.js b/ambari-web/app/views/common/configs/config_diff_view.js
index 135efb7..cbaf2b0 100644
--- a/ambari-web/app/views/common/configs/config_diff_view.js
+++ b/ambari-web/app/views/common/configs/config_diff_view.js
@@ -29,12 +29,35 @@ App.ConfigDiffView = Em.View.extend({
}).sort().join("\n");
return difflib.stringAsLines(values);
};
- var initialValues = trimAndSort(this.get('config.initialValue'));
- var recommendedValues = trimAndSort(this.get('config.recommendedValue'));
+ var initialValues = trimAndSort(this.get('config.initialValue')),
+ recommendedValues = trimAndSort(this.get('config.recommendedValue')),
+ opcodes = new difflib.SequenceMatcher(initialValues, recommendedValues).get_opcodes();
+ if (initialValues.length === 1 && recommendedValues.length === 1) {
+ // changes in properties with single-line values shouldn't be highlighted
+ opcodes[0][0] = 'equal';
+ }
+ if (!initialValues.length) {
+ if (recommendedValues.length > 1) {
+ // initial and recommended values should have the same number of rows
+ initialValues = Array(recommendedValues.length - 1).join('.').split('.');
+ }
+ initialValues.unshift(Em.I18n.t('popup.dependent.configs.table.undefined'));
+ opcodes[0][0] = 'not-defined'; // class name for cell corresponding to undefined property
+ opcodes[0][2] = recommendedValues.length; // specifying rows number explicitly to avoid omitting of 'Property undefined' message
+ }
+ if (!recommendedValues.length) {
+ if (initialValues.length > 1) {
+ // initial and recommended values should have the same number of rows
+ recommendedValues = Array(initialValues.length - 1).join('.').split('.');
+ }
+ recommendedValues.unshift(Em.I18n.t('popup.dependent.configs.table.removed'));
+ opcodes[0][0] = 'is-removed'; // class name for cell corresponding to removed property
+ opcodes[0][4] = initialValues.length; // specifying rows number explicitly to avoid omitting of 'Property removed' message
+ }
return new Handlebars.SafeString(diffview.buildView({
baseTextLines: initialValues,
newTextLines: recommendedValues,
- opcodes: new difflib.SequenceMatcher(initialValues, recommendedValues).get_opcodes()
+ opcodes: opcodes
}).outerHTML);
}.property('config.initialValues', 'config.recommendedValues')
});