소스 검색

AMBARI-7148 Need filter for problem properties. (atkach)

atkach 10 년 전
부모
커밋
a537b8e0ae

+ 9 - 0
ambari-web/app/controllers/main/service/info/configs.js

@@ -128,16 +128,24 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
   propertyFilters: [
     {
       attributeName: 'isOverridden',
+      attributeValue: true,
       caption: 'common.combobox.dropdown.overridden'
     },
     {
       attributeName: 'isFinal',
+      attributeValue: true,
       caption: 'common.combobox.dropdown.final'
     },
     {
       attributeName: 'hasCompareDiffs',
+      attributeValue: true,
       caption: 'common.combobox.dropdown.changed',
       dependentOn: 'isCompareMode'
+    },
+    {
+      attributeName: 'isValid',
+      attributeValue: false,
+      caption: 'common.combobox.dropdown.issues'
     }
   ],
 
@@ -161,6 +169,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
       if (Em.isNone(filter.dependentOn) || this.get(filter.dependentOn)) {
         filterColumns.push(Ember.Object.create({
           attributeName: filter.attributeName,
+          attributeValue: filter.attributeValue,
           name: this.t(filter.caption),
           selected: false
         }));

+ 8 - 0
ambari-web/app/controllers/wizard/step7_controller.js

@@ -202,11 +202,18 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, {
   propertyFilters: [
     {
       attributeName: 'isOverridden',
+      attributeValue: true,
       caption: 'common.combobox.dropdown.overridden'
     },
     {
       attributeName: 'isFinal',
+      attributeValue: true,
       caption: 'common.combobox.dropdown.final'
+    },
+    {
+      attributeName: 'isValid',
+      attributeValue: false,
+      caption: 'common.combobox.dropdown.issues'
     }
   ],
 
@@ -217,6 +224,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, {
     return this.get('propertyFilters').map(function(filter) {
       return Ember.Object.create({
         attributeName: filter.attributeName,
+        attributeValue: filter.attributeValue,
         name: this.t(filter.caption),
         selected: false
       })

+ 1 - 0
ambari-web/app/messages.js

@@ -2257,6 +2257,7 @@ Em.I18n.translations = {
   'common.combobox.dropdown.overridden': 'Overridden properties',
   'common.combobox.dropdown.final': 'Final properties',
   'common.combobox.dropdown.changed': 'Changed properties',
+  'common.combobox.dropdown.issues': 'Show property issues',
 
   'quick.links.error.label': 'Hostname is undefined',
   'quick.links.publicHostName': '{0} ({1})',

+ 2 - 2
ambari-web/app/views/common/configs/services_config.js

@@ -354,7 +354,7 @@ App.ServiceConfigsByCategoryView = Ember.View.extend(App.UserPref, {
       var passesFilters = true;
 
       selectedFilters.forEach(function (filter) {
-        if (!config.get(filter.attributeName)) {
+        if (config.get(filter.attributeName) !== filter.attributeValue) {
           passesFilters = false;
         }
       });
@@ -397,7 +397,7 @@ App.ServiceConfigsByCategoryView = Ember.View.extend(App.UserPref, {
     var categoryBlock = $('.' + this.get('category.name').split(' ').join('.') + '>.accordion-body');
     filteredResult.length && !this.get('category.isCollapsed') ? categoryBlock.show() : categoryBlock.hide();
     return filteredResult;
-  }.property('categoryConfigs', 'parentView.filter', 'parentView.columns.@each.selected').cacheable(),
+  }.property('categoryConfigs', 'parentView.filter', 'parentView.columns.@each.selected', 'categoryConfigs.@each.isValid').cacheable(),
 
   /**
    * sort configs in current category by index