Просмотр исходного кода

[search] Remove non needed facet data

Pretty useful as cuts data by half
Romain Rigaux 10 лет назад
Родитель
Сommit
f454b78a42

+ 4 - 1
apps/search/src/search/models.py

@@ -499,7 +499,6 @@ def augment_solr_response(response, collection, query):
   selected_values = dict([(fq['id'], fq['filter']) for fq in query['fqs']])
 
   if response and response.get('facet_counts'):
-    # e.g. [{u'field': u'sun', u'type': u'query', u'id': u'67b43a63-ed22-747b-47e8-b31aad1431ea', u'label': u'sun'}
     for facet in collection['facets']:
       category = facet['type']
 
@@ -562,6 +561,10 @@ def augment_solr_response(response, collection, query):
         }
         normalized_facets.append(facet)
 
+    # Remove unnecessary facet data
+    if response:
+      response.pop('facet_counts')
+
   # HTML escaping
   for doc in response['response']['docs']:
     for field, value in doc.iteritems():

+ 3 - 2
apps/search/src/search/static/search/js/search.ko.js

@@ -834,9 +834,10 @@ var Collection = function (vm, collection) {
   }
 
   self.rangeZoomOut = function (facet_json) {
-    var facet = self.getFacetById(typeof facet_json.id == "function" ? facet_json.id() : facet_json.id);
+	var facet_id = ko.mapping.toJS(facet_json).id;
+    var facet = self.getFacetById(facet_id);
 
-    vm.query.removeFilter(ko.mapping.fromJS({'id': facet_json.id}));
+    vm.query.removeFilter(ko.mapping.fromJS({'id': facet_id}));
     if (facet.properties.gap() != null) { // Bar, line charts don't have gap
       facet.properties.gap(facet.properties.initial_gap());
     }