AMBARI-13624 Ranger Smart config: Filtering a config shows Ranger Admin and Ranger Audit tab incorrectly active. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e593c5ae Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e593c5ae Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e593c5ae Branch: refs/heads/trunk Commit: e593c5ae3c8861978fe373c61155955d0409164e Parents: cf9eb74 Author: aBabiichuk <[email protected]> Authored: Thu Oct 29 11:36:18 2015 +0200 Committer: aBabiichuk <[email protected]> Committed: Thu Oct 29 11:40:58 2015 +0200 ---------------------------------------------------------------------- .../app/models/configs/theme/sub_section.js | 4 +++- .../app/models/configs/theme/sub_section_tab.js | 4 +++- ambari-web/test/models/configs/section_test.js | 19 +++++++++++++------ .../test/models/configs/sub_section_test.js | 11 ++++++++--- 4 files changed, 27 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e593c5ae/ambari-web/app/models/configs/theme/sub_section.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/configs/theme/sub_section.js b/ambari-web/app/models/configs/theme/sub_section.js index ed3c7a2..ce26a3c 100644 --- a/ambari-web/app/models/configs/theme/sub_section.js +++ b/ambari-web/app/models/configs/theme/sub_section.js @@ -182,7 +182,9 @@ App.SubSection = DS.Model.extend({ * @type {boolean} */ isHiddenByFilter: function () { - var configs = this.get('configs'); + var configs = this.get('configs').filter(function(c) { + return !c.get('hiddenBySection') && c.get('isVisible'); + }); return configs.length ? configs.everyProperty('isHiddenByFilter', true) : false; }.property('[email protected]'), http://git-wip-us.apache.org/repos/asf/ambari/blob/e593c5ae/ambari-web/app/models/configs/theme/sub_section_tab.js ---------------------------------------------------------------------- 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 ca42aeb..d5d5349 100644 --- a/ambari-web/app/models/configs/theme/sub_section_tab.js +++ b/ambari-web/app/models/configs/theme/sub_section_tab.js @@ -76,7 +76,9 @@ App.SubSectionTab = DS.Model.extend({ * @type {boolean} */ isHiddenByFilter: function () { - var configs = this.get('configs'); + var configs = this.get('configs').filter(function(c) { + return !c.get('hiddenBySection') && c.get('isVisible'); + }); return configs.length ? configs.everyProperty('isHiddenByFilter', true) : false; }.property('[email protected]'), http://git-wip-us.apache.org/repos/asf/ambari/blob/e593c5ae/ambari-web/test/models/configs/section_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/models/configs/section_test.js b/ambari-web/test/models/configs/section_test.js index 055c532..967534e 100644 --- a/ambari-web/test/models/configs/section_test.js +++ b/ambari-web/test/models/configs/section_test.js @@ -56,24 +56,31 @@ describe('App.Section', function () { }, { subSections: [ - App.SubSection.createRecord({configs: [{isHiddenByFilter: false, isVisible: true}, {isHiddenByFilter: false, isVisible: true}]}), - App.SubSection.createRecord({configs: [{isHiddenByFilter: false, isVisible: true}, {isHiddenByFilter: false, isVisible: true}]}) + App.SubSection.createRecord({configs: [Em.Object.create({isHiddenByFilter: false, isVisible: true}), Em.Object.create({isHiddenByFilter: false, isVisible: true})]}), + App.SubSection.createRecord({configs: [Em.Object.create({isHiddenByFilter: false, isVisible: true}), Em.Object.create({isHiddenByFilter: false, isVisible: true})]}) ], m: 'no subsections are hidden', e: false }, { subSections: [ - App.SubSection.createRecord({configs: [{isHiddenByFilter: true, isVisible: true}, {isHiddenByFilter: true, isVisible: true}]}), - App.SubSection.createRecord({configs: [{isHiddenByFilter: false, isVisible: true}, {isHiddenByFilter: false, isVisible: true}]}) + App.SubSection.createRecord({configs: [Em.Object.create({isHiddenByFilter: true, isVisible: false, hiddenBySection: false}), Em.Object.create({isHiddenByFilter: true, isVisible: true, hiddenBySection: true})]}) + ], + m: 'no subsections are hidden (hiddenBySection)', + e: false + }, + { + subSections: [ + App.SubSection.createRecord({configs: [Em.Object.create({isHiddenByFilter: true, isVisible: true}), Em.Object.create({isHiddenByFilter: true, isVisible: true})]}), + App.SubSection.createRecord({configs: [Em.Object.create({isHiddenByFilter: false, isVisible: true}), Em.Object.create({isHiddenByFilter: false, isVisible: true})]}) ], m: 'one subsection is hidden', e: false }, { subSections: [ - App.SubSection.createRecord({configs: [{isHiddenByFilter: true, isVisible: true}, {isHiddenByFilter: true, isVisible: true}]}), - App.SubSection.createRecord({configs: [{isHiddenByFilter: true, isVisible: true}, {isHiddenByFilter: true, isVisible: true}]}) + App.SubSection.createRecord({configs: [Em.Object.create({isHiddenByFilter: true, isVisible: true}), Em.Object.create({isHiddenByFilter: true, isVisible: true})]}), + App.SubSection.createRecord({configs: [Em.Object.create({isHiddenByFilter: true, isVisible: true}), Em.Object.create({isHiddenByFilter: true, isVisible: true})]}) ], m: 'all subsections are hidden', e: true http://git-wip-us.apache.org/repos/asf/ambari/blob/e593c5ae/ambari-web/test/models/configs/sub_section_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/models/configs/sub_section_test.js b/ambari-web/test/models/configs/sub_section_test.js index cf394e5..1e1e356 100644 --- a/ambari-web/test/models/configs/sub_section_test.js +++ b/ambari-web/test/models/configs/sub_section_test.js @@ -62,17 +62,22 @@ describe('App.SubSection', function () { m: 'Can\'t be hidden if there is no configs' }, { - configs: [{isHiddenByFilter: true}, {isHiddenByFilter: true}], + configs: [Em.Object.create({isHiddenByFilter: true, isVisible: true}), Em.Object.create({isHiddenByFilter: true, isVisible: true})], e: true, m: 'All configs are hidden' }, { - configs: [{isHiddenByFilter: false}, {isHiddenByFilter: true}], + configs: [Em.Object.create({isHiddenByFilter: false, isVisible: true}), Em.Object.create({isHiddenByFilter: true, isVisible: true})], e: false, m: 'Some configs are hidden' }, { - configs: [{isHiddenByFilter: false}, {isHiddenByFilter: false}], + configs: [Em.Object.create({isHiddenByFilter: false, isVisible: true}), Em.Object.create({isHiddenByFilter: true, isVisible: true})], + e: false, + m: 'Some configs are hidden' + }, + { + configs: [Em.Object.create({isHiddenByFilter: false, isVisible: true}), Em.Object.create({isHiddenByFilter: false, isVisible: true})], e: false, m: 'No configs are hidden' }
