mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Added an option for the hits panel to receive its counter from the histogram panel
This commit is contained in:
parent
dfc9ad949a
commit
47bc78c7f7
@ -86,13 +86,15 @@ angular.module('kibana.histogram', [])
|
|||||||
// Populate scope when we have results
|
// Populate scope when we have results
|
||||||
results.then(function(results) {
|
results.then(function(results) {
|
||||||
$scope.panel.loading = false;
|
$scope.panel.loading = false;
|
||||||
$scope.hits = results.hits.total;
|
|
||||||
if(_segment == 0) {
|
if(_segment == 0) {
|
||||||
|
$scope.hits = 0;
|
||||||
$scope.data = [];
|
$scope.data = [];
|
||||||
query_id = $scope.query_id = new Date().getTime();
|
query_id = $scope.query_id = new Date().getTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
if($scope.query_id === query_id) {
|
if($scope.query_id === query_id) {
|
||||||
|
$scope.hits += results.hits.total;
|
||||||
|
|
||||||
_.each(results.facets, function(v, k) {
|
_.each(results.facets, function(v, k) {
|
||||||
// Null values at each end of the time range ensure we see entire range
|
// Null values at each end of the time range ensure we see entire range
|
||||||
if(_.isUndefined($scope.data[k]) || _segment == 0) {
|
if(_.isUndefined($scope.data[k]) || _segment == 0) {
|
||||||
@ -122,6 +124,7 @@ angular.module('kibana.histogram', [])
|
|||||||
$scope.data[k] = series.data
|
$scope.data[k] = series.data
|
||||||
});
|
});
|
||||||
|
|
||||||
|
eventBus.broadcast($scope.$id,$scope.panel.group,'hits',$scope.hits)
|
||||||
$scope.$emit('render')
|
$scope.$emit('render')
|
||||||
if(_segment < $scope.panel.index.length-1) {
|
if(_segment < $scope.panel.index.length-1) {
|
||||||
$scope.get_data(_segment+1,query_id)
|
$scope.get_data(_segment+1,query_id)
|
||||||
|
@ -1,11 +1,17 @@
|
|||||||
<div class="row-fluid" ng-controller="hits">
|
<div class="row-fluid" ng-controller="hits">
|
||||||
<div class="span11">
|
<div class="span2">
|
||||||
The hits panel shows a simple count of how many records match your filtered query. If multiple queries are sent from a single panel the <strong>first query will be displayed</strong>
|
<label class="small">Run Query</label><input type="checkbox" ng-model="panel.run_query" ng-checked="panel.run_query">
|
||||||
|
</div>
|
||||||
|
<div class="span9" ng-show='!panel.run_query'>
|
||||||
|
With query running disabled, this panel receives its hit count from a histogram panel. If multiple queries are running this <strong>will show the total of all queries</strong>.
|
||||||
|
</div>
|
||||||
|
<div class="span9" ng-show='panel.run_query'>
|
||||||
|
This shows a simple count of how many records match your filtered query. If multiple queries are sent from a single panel the <strong>first query will be displayed</strong>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span9">
|
<div class="span9" ng-show='panel.run_query'>
|
||||||
<form class="input-append">
|
<form class="input-append">
|
||||||
<h6>Query</h6>
|
<h6>Query</h6>
|
||||||
<input type="text" style="width:85%" ng-model="panel.query">
|
<input type="text" style="width:85%" ng-model="panel.query">
|
||||||
|
@ -6,15 +6,24 @@ angular.module('kibana.hits', [])
|
|||||||
query : "*",
|
query : "*",
|
||||||
group : "default",
|
group : "default",
|
||||||
style : { "font-size": '36pt', "font-weight": "bold" },
|
style : { "font-size": '36pt', "font-weight": "bold" },
|
||||||
|
run_query : false
|
||||||
}
|
}
|
||||||
_.defaults($scope.panel,_d)
|
_.defaults($scope.panel,_d)
|
||||||
|
|
||||||
$scope.init = function () {
|
$scope.init = function () {
|
||||||
eventBus.register($scope,'time', function(event,time){set_time(time)});
|
$scope.hits = 0;
|
||||||
|
eventBus.register($scope,'time', function(event,time){
|
||||||
|
if($scope.panel.run_query)
|
||||||
|
set_time(time)
|
||||||
|
});
|
||||||
eventBus.register($scope,'query', function(event, query) {
|
eventBus.register($scope,'query', function(event, query) {
|
||||||
$scope.panel.query = _.isArray(query) ? query[0] : query;
|
$scope.panel.query = _.isArray(query) ? query[0] : query;
|
||||||
$scope.get_data();
|
if($scope.panel.run_query)
|
||||||
|
$scope.get_data();
|
||||||
});
|
});
|
||||||
|
eventBus.register($scope,'hits', function(event, hits) {
|
||||||
|
$scope.hits = hits;
|
||||||
|
})
|
||||||
// Now that we're all setup, request the time from our group
|
// Now that we're all setup, request the time from our group
|
||||||
eventBus.broadcast($scope.$id,$scope.panel.group,'get_time')
|
eventBus.broadcast($scope.$id,$scope.panel.group,'get_time')
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user