You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by is...@apache.org on 2018/06/19 15:33:39 UTC
[ambari] branch trunk updated: [AMBARI-24142] Show/Hide config-section not working for Ranger and Ra… (#1577)
This is an automated email from the ASF dual-hosted git repository.
ishanbha pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new 9ff13b2 [AMBARI-24142] Show/Hide config-section not working for Ranger and Ra… (#1577)
9ff13b2 is described below
commit 9ff13b2d7c080ccd81ace1e70bd9a941032d8c55
Author: Ishan Bhatt <is...@gmail.com>
AuthorDate: Tue Jun 19 08:33:36 2018 -0700
[AMBARI-24142] Show/Hide config-section not working for Ranger and Ra… (#1577)
* [AMBARI-24142] Show/Hide config-section not working for Ranger and Ranger KMS theme.
* fixed a typo
* Replaced contains with includes
---
ambari-web/app/mappers/configs/themes_mapper.js | 2 ++
.../app/mixins/common/configs/enhanced_configs.js | 8 ++++++--
ambari-web/app/models/configs/theme/sub_section.js | 5 +++++
.../app/models/configs/theme/sub_section_tab.js | 5 +++++
ambari-web/test/mappers/configs/themes_mapper_test.js | 19 ++++++++++++-------
5 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/ambari-web/app/mappers/configs/themes_mapper.js b/ambari-web/app/mappers/configs/themes_mapper.js
index aa6e004..3eb72ce 100644
--- a/ambari-web/app/mappers/configs/themes_mapper.js
+++ b/ambari-web/app/mappers/configs/themes_mapper.js
@@ -142,6 +142,7 @@ App.themesMapper = App.QuickDataMapper.create({
var parsedSubSection = this.parseIt(subSection, this.get("subSectionConfig"));
parsedSubSection.section_id = parsedSection.id;
parsedSubSection.id = parsedSubSection.name + '_' + serviceName + '_' + themeName;
+ parsedSubSection.theme_name = themeName;
this.loadSubSectionTabs(subSection, parsedSubSection);
if (parsedSubSection['depends_on']) {
@@ -167,6 +168,7 @@ App.themesMapper = App.QuickDataMapper.create({
subSection['subsection-tabs'].forEach(function (subSectionTab) {
var parsedSubSectionTab = this.parseIt(subSectionTab, this.get("subSectionTabConfig"));
parsedSubSectionTab.sub_section_id = parsedSubSection.id;
+ parsedSubSectionTab.theme_name = parsedSubSection.theme_name;
if (parsedSubSectionTab['depends_on']) {
subSectionTabConditions.push(parsedSubSectionTab);
}
diff --git a/ambari-web/app/mixins/common/configs/enhanced_configs.js b/ambari-web/app/mixins/common/configs/enhanced_configs.js
index 78e65a9..cec9744 100644
--- a/ambari-web/app/mixins/common/configs/enhanced_configs.js
+++ b/ambari-web/app/mixins/common/configs/enhanced_configs.js
@@ -826,9 +826,13 @@ App.EnhancedConfigsMixin = Em.Mixin.create(App.ConfigWithOverrideRecommendationP
if (valueAttributes && !Em.none(valueAttributes.visible)) {
let themeResource;
if (subsectionCondition.get('type') === 'subsection') {
- themeResource = App.SubSection.find().findProperty('name', subsectionConditionName);
+ themeResource = App.SubSection.find().find(function (subsection) {
+ return subsection.get('name') === subsectionConditionName && subsectionCondition.get('id').toLowerCase().includes(subsection.get('themeName').toLowerCase());
+ });
} else if (subsectionCondition.get('type') === 'subsectionTab') {
- themeResource = App.SubSectionTab.find().findProperty('name', subsectionConditionName);
+ themeResource = App.SubSectionTab.find().find(function (subsectionTab) {
+ return subsectionTab.get('name') === subsectionConditionName && subsectionCondition.get('id').toLowerCase().includes(subsectionTab.get('themeName').toLowerCase());
+ });
}
themeResource.set('isHiddenByConfig', !valueAttributes.visible);
themeResource.get('configs').setEach('hiddenBySection', !valueAttributes.visible);
diff --git a/ambari-web/app/models/configs/theme/sub_section.js b/ambari-web/app/models/configs/theme/sub_section.js
index 591a3e9..f32854b 100644
--- a/ambari-web/app/models/configs/theme/sub_section.js
+++ b/ambari-web/app/models/configs/theme/sub_section.js
@@ -28,6 +28,11 @@ App.SubSection = DS.Model.extend({
name: DS.attr('string'),
/**
+ * theme from which this is coming from , eg: default, database, credentials, etc.
+ */
+ themeName: DS.attr('string'),
+
+ /**
* @type {string}
*/
displayName: DS.attr('string'),
diff --git a/ambari-web/app/models/configs/theme/sub_section_tab.js b/ambari-web/app/models/configs/theme/sub_section_tab.js
index 9062457..79cea52 100644
--- a/ambari-web/app/models/configs/theme/sub_section_tab.js
+++ b/ambari-web/app/models/configs/theme/sub_section_tab.js
@@ -28,6 +28,11 @@ App.SubSectionTab = DS.Model.extend({
name: DS.attr('string'),
/**
+ * theme from which this is coming from , eg: default, database, credentials, etc.
+ */
+ themeName: DS.attr('string'),
+
+ /**
* @type {string}
*/
displayName: DS.attr('string'),
diff --git a/ambari-web/test/mappers/configs/themes_mapper_test.js b/ambari-web/test/mappers/configs/themes_mapper_test.js
index 3b078c2..a2983f1 100644
--- a/ambari-web/test/mappers/configs/themes_mapper_test.js
+++ b/ambari-web/test/mappers/configs/themes_mapper_test.js
@@ -219,7 +219,8 @@ describe('App.themeMapper', function () {
"name": "SSEC1",
"row_index": 2,
"row_span": 5,
- "section_id": 1
+ "section_id": 1,
+ "theme_name": "t1",
}
]);
});
@@ -239,7 +240,8 @@ describe('App.themeMapper', function () {
"name": "SSEC1",
"row_index": 2,
"row_span": 5,
- "section_id": 1
+ "section_id": 1,
+ "theme_name": "t1"
}],
'subsection'
]);
@@ -260,7 +262,8 @@ describe('App.themeMapper', function () {
"name": "SSEC1",
"row_index": 2,
"row_span": 5,
- "section_id": 1
+ "section_id": 1,
+ "theme_name": "t1"
}
]);
});
@@ -293,7 +296,7 @@ describe('App.themeMapper', function () {
});
it('mapThemeConditions should be called', function() {
- App.themesMapper.loadSubSectionTabs(subSection, {id: 2});
+ App.themesMapper.loadSubSectionTabs(subSection, {id: 2, theme_name: "t1"});
expect(App.themesMapper.mapThemeConditions.getCall(0).args).to.be.eql([
[{
"depends_on": [],
@@ -301,14 +304,15 @@ describe('App.themeMapper', function () {
"id": "SEC1",
"is_active": true,
"name": "SEC1",
- "sub_section_id": 2
+ "sub_section_id": 2,
+ "theme_name": "t1"
}],
'subsectionTab'
]);
});
it('App.store.safeLoadMany should be called', function() {
- App.themesMapper.loadSubSectionTabs(subSection, {id: 2});
+ App.themesMapper.loadSubSectionTabs(subSection, {id: 2, theme_name: "t1"});
expect(App.store.safeLoadMany.getCall(0).args[1]).to.be.eql([
{
"depends_on": [],
@@ -316,7 +320,8 @@ describe('App.themeMapper', function () {
"id": "SEC1",
"is_active": true,
"name": "SEC1",
- "sub_section_id": 2
+ "sub_section_id": 2,
+ "theme_name": "t1"
}
]);
});