Jelajahi Sumber

Added 'more' button to related fields section for users with large field counts

Rashid Khan 12 tahun lalu
induk
melakukan
cfceadc87d

+ 1 - 1
src/app/components/kbn.js

@@ -41,7 +41,7 @@ function($, _, moment) {
       }
     });
     var counts = _.countBy(_.without(field_array,field),function(field){return field;});
-    return counts;
+    return _.map(counts, function(num, key){return {name:key,count:num};});
   };
 
   kbn.recurse_field_dots = function(object,field) {

+ 2 - 3
src/app/panels/table/micropanel.html

@@ -42,13 +42,12 @@
   <div ng-repeat='field in micropanel.values' bs-tooltip="field[0]+' ('+percent(field[1],data.length)+')'" class="bar {{micropanelColor($index)}}" ng-style="{width: percent(field[1],data.length)};"></div>
 </div>
 <div>
-  <span ng-repeat='(field,count) in micropanel.related track by $index'><a ng-click="toggle_field(field)">{{field}}</a> ({{Math.round((count / micropanel.count) * 100)}}%), </span>
+  <span ng-repeat="field in micropanel.related|orderBy:'count':true|limitTo:micropanel.limit track by $index"><a ng-click="toggle_field(field)">{{field.name}}</a> ({{Math.round((field.count / micropanel.count) * 100)}}%), </span>
+  <a class="link" ng-show="micropanel.related.length > micropanel.limit" ng-click="micropanel.limit = micropanel.limit + 10">More <i class="icon-caret-right"></i></a>
 </div>
 <div class="row-fluid">
   <div class="span12">
     <h5>Facets</h5>
-    <!--<button class="btn" ng-click="termsModal(field,'pie');dismiss();"><i class="icon-list-ol"></i> Terms</button>-->
-
     <div class="btn-group">
       <a class="btn dropdown-toggle pointer" data-toggle="dropdown">
         <i class="icon-list-ol"></i> Terms

+ 1 - 0
src/app/panels/table/module.js

@@ -138,6 +138,7 @@ function (angular, app, _, kbn, moment) {
         values : topFieldValues.counts,
         hasArrays : topFieldValues.hasArrays,
         related : kbn.get_related_fields(docs,field),
+        limit: 10,
         count: _.countBy(docs,function(doc){return _.contains(_.keys(doc),field);})['true']
       };
     };