Pārlūkot izejas kodu

AMBARI-6494. When filtering on a prop, if the prop is in adv, custom, etc, we should expand section.(Levgen Gorbachev via xiwang)

Xi Wang 11 gadi atpakaļ
vecāks
revīzija
a09565cffa
1 mainītis faili ar 16 papildinājumiem un 1 dzēšanām
  1. 16 1
      ambari-web/app/views/common/configs/services_config.js

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

@@ -360,7 +360,22 @@ App.ServiceConfigsByCategoryView = Ember.View.extend({
      }
     });
     filteredResult = this.sortByIndex(filteredResult);
-    var categoryBlock = $('.' + this.get('category.name') + '>.accordion-body');
+
+    if (filter && filteredResult.length ) {
+      if (typeof this.get('category.collapsedByDefault') === 'undefined') {
+        // Save state
+        this.set('category.collapsedByDefault', this.get('category.isCollapsed'));
+      }
+      this.set('category.isCollapsed', false);
+    } else if (filter && !filteredResult.length) {
+      this.set('category.isCollapsed', true);
+    } else if (!filter && typeof this.get('category.collapsedByDefault') !== 'undefined') {
+      // If user clear filter -- restore defaults
+      this.set('category.isCollapsed', this.get('category.collapsedByDefault'));
+      this.set('category.collapsedByDefault', undefined);
+    }
+
+    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'),