Prechádzať zdrojové kódy

HUE-2300 [search] Link data to partitioned tree

Romain Rigaux 11 rokov pred
rodič
commit
d4dfb5e

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

@@ -501,7 +501,10 @@ def augment_solr_response(response, collection, query):
       elif category == 'pivot':
         name = ','.join([facet['field']] + [f['field'] for f in facet['properties']['facets']])
         if 'facet_pivot' in response['facet_counts'] and name in response['facet_counts']['facet_pivot']:
-          count = _augment_pivot_2d(facet['id'], response['facet_counts']['facet_pivot'][name], selected_values)
+          if facet['properties']['scope'] == 'stack':
+            count = _augment_pivot_2d(facet['id'], response['facet_counts']['facet_pivot'][name], selected_values)
+          else:
+            count = response['facet_counts']['facet_pivot'][name]
         else:
           count = []
         facet = {

+ 25 - 15
apps/search/src/search/templates/search.mako

@@ -180,7 +180,7 @@ ${ commonheader(_('Search'), "search", user, "80px") | n,unicode }
                               'stop': function(event, ui){$('.card-body').slideDown('fast', function(){$(window).scrollTop(lastWindowScrollPosition)});}}}"
          title="${_('Pivot')}" rel="tooltip" data-placement="top">
          <a data-bind="style: { cursor: $root.availableDraggableChart() ? 'move' : 'default' }">
-                       <i class="fa fa-sitemap"></i>
+                       <i class="fa fa-sitemap fa-rotate-270"></i>
          </a>
    </div>
     <div data-bind="css: { 'draggable-widget': true, 'disabled': !availableDraggableChart() },
@@ -1270,16 +1270,13 @@ function barChartDataTransformer(rawDatum) {
   return _datum;
 }
 
-function partitionChartDataTransformer(rawDatum) {
-  var _partitionData = {
-    name: "${ _('Total') }",
-    children: []
-  }
+
+function _partitionChartDataTransformer(counts) {
   var _categories = [];
-  $(rawDatum.counts).each(function (cnt, item) {
-    item.widget_id = rawDatum.widget_id;
 
+  $(counts).each(function (cnt, item) {
     var _category = null;
+
     _categories.forEach(function (category) {
       if (category.name == item.value) {
         _category = category;
@@ -1289,24 +1286,37 @@ function partitionChartDataTransformer(rawDatum) {
     if (_category == null) {
       _category = {
         name: item.value,
+        size: item.count,
         children: []
       }
       _categories.push(_category);
     }
 
-    _category.children.push({
-      name: item.cat,
-      size: item.count,
-      obj: item,
-      children: []
-    });
+    if (item.pivot != undefined) {
+      var children = []
+      $(item.pivot).each(function (cnt, child) {
+        children = children.concat(_partitionChartDataTransformer(child));
+      });
+     _category.children = children;
+    }
   });
 
-  _partitionData.children = _categories;
+  return _categories;
+}
+
+function partitionChartDataTransformer(rawDatum) {
+  var _partitionData = {
+    name: "${ _('Total') }",
+    children: []
+  }
+
+  _partitionData.children = _partitionChartDataTransformer(rawDatum.counts);
 
   return _partitionData;
 }
 
+
+
 function pivotChartDataTransformer(rawDatum) {
   var _categories = [];