From 36d4e8e9605e9e043592eed86b26c0ae6d57cb03 Mon Sep 17 00:00:00 2001 From: saez0pub Date: Wed, 17 Apr 2013 18:10:58 +0300 Subject: [PATCH] Add fieldvalue DateHistogramFacet query and panel config for the result --- panels/histogram/module.js | 39 ++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/panels/histogram/module.js b/panels/histogram/module.js index 42f3287a547d1..6f3a04f54a982 100644 --- a/panels/histogram/module.js +++ b/panels/histogram/module.js @@ -18,6 +18,7 @@ angular.module('kibana.histogram', []) legend : true, 'x-axis' : true, 'y-axis' : true, + count : 'count', } _.defaults($scope.panel,_d) @@ -80,12 +81,25 @@ angular.module('kibana.histogram', []) // Build the facet part, injecting the query in as a facet filter _.each(queries, function(v) { - request = request - .facet($scope.ejs.DateHistogramFacet("chart"+_.indexOf(queries,v)) - .field($scope.time.field) - .interval($scope.panel.interval) - .facetFilter($scope.ejs.QueryFilter(v)) - ).size(0) + //Handle the old confs without the fieldvalue + if (_.isUndefined($scope.panel.query[_.indexOf(queries,v)].fieldvalue)) + $scope.panel.query[_.indexOf(queries,v)].fieldvalue='' + if (_.isEmpty($scope.panel.query[_.indexOf(queries,v)].fieldvalue)) { + request = request + .facet($scope.ejs.DateHistogramFacet("chart"+_.indexOf(queries,v)) + .field($scope.time.field) + .interval($scope.panel.interval) + .facetFilter($scope.ejs.QueryFilter(v)) + ).size(0) + } else { + request = request + .facet($scope.ejs.DateHistogramFacet("chart"+_.indexOf(queries,v)) + .field($scope.time.field) + .valueField($scope.panel.query[_.indexOf(queries,v)].fieldvalue) + .interval($scope.panel.interval) + .facetFilter($scope.ejs.QueryFilter(v)) + ).size(0) + } }) // Populate the inspector panel @@ -127,9 +141,14 @@ angular.module('kibana.histogram', []) // Assemble segments var segment_data = []; _.each(v.entries, function(v, k) { - segment_data.push([v['time'],v['count']]) - hits += v['count']; // The series level hits counter - $scope.hits += v['count']; // Entire dataset level hits counter + if(_.isUndefined(v[$scope.panel.count])){ + countField=v['count'] + } else { + countField=v[$scope.panel.count] + } + segment_data.push([v['time'],countField]) + hits += countField; // The series level hits counter + $scope.hits += countField; // Entire dataset level hits counter }); data.splice.apply(data,[1,0].concat(segment_data)) // Join histogram data @@ -319,4 +338,4 @@ angular.module('kibana.histogram', []) }); } }; -}) \ No newline at end of file +})