diff --git a/js/controllers.js b/js/controllers.js
index ade2895d1a2..42936fdc877 100644
--- a/js/controllers.js
+++ b/js/controllers.js
@@ -76,7 +76,8 @@ angular.module('kibana.controllers', [])
// This is whoafully incomplete, but will do for now
$scope.parse_error = function(data) {
- return data.match("nested: (.*?);")[1]
+ var _error = data.match("nested: (.*?);")
+ return _.isNull(_error) ? data : _error[1];
}
$scope.init();
diff --git a/panels/dashcontrol/module.js b/panels/dashcontrol/module.js
index fdcd28dab31..7fb38f71ef0 100644
--- a/panels/dashcontrol/module.js
+++ b/panels/dashcontrol/module.js
@@ -187,8 +187,9 @@ angular.module('kibana.dashcontrol', [])
var results = request.query(
$scope.ejs.QueryStringQuery(query || '*')
).size($scope.panel.elasticsearch_size).doSearch();
+
results.then(function(results) {
- if(_.isUndefined(results)) {
+ if(_.isUndefined(results.hits)) {
return;
}
$scope.panel.error = false;
diff --git a/panels/histogram/module.html b/panels/histogram/module.html
index 9a52e1be939..3e646faad12 100644
--- a/panels/histogram/module.html
+++ b/panels/histogram/module.html
@@ -12,5 +12,6 @@
{{series.label}} ({{series.hits}})
per {{panel.interval}} | ({{hits}} total)
+
\ No newline at end of file
diff --git a/panels/histogram/module.js b/panels/histogram/module.js
index 68209063f2b..1bc9d5b34b3 100644
--- a/panels/histogram/module.js
+++ b/panels/histogram/module.js
@@ -48,6 +48,7 @@ angular.module('kibana.histogram', [])
}
$scope.get_data = function(segment,query_id) {
+ delete $scope.panel.error
// Make sure we have everything for the request to complete
if(_.isUndefined($scope.panel.index) || _.isUndefined($scope.time))
return
@@ -92,6 +93,13 @@ angular.module('kibana.histogram', [])
query_id = $scope.query_id = new Date().getTime();
}
+ // Check for error and abort if found
+ if(!(_.isUndefined(results.error))) {
+ $scope.panel.error = $scope.parse_error(results.error);
+ return;
+ }
+
+
if($scope.query_id === query_id) {
var i = 0;
@@ -183,8 +191,6 @@ angular.module('kibana.histogram', [])
var height = scope.panel.height || scope.row.height;
- elem.html('
')
-
// Receive render events
scope.$on('render',function(){
render_panel();
diff --git a/panels/table/module.js b/panels/table/module.js
index 81ba829ce5e..7a880b68c66 100644
--- a/panels/table/module.js
+++ b/panels/table/module.js
@@ -76,6 +76,8 @@ angular.module('kibana.table', [])
}
$scope.get_data = function(segment,query_id) {
+ $scope.panel.error = false;
+
// Make sure we have everything for the request to complete
if(_.isUndefined($scope.panel.index) || _.isUndefined($scope.time))
return
@@ -110,11 +112,11 @@ angular.module('kibana.table', [])
query_id = $scope.query_id = new Date().getTime()
}
+ // Check for error and abort if found
if(!(_.isUndefined(results.error))) {
$scope.panel.error = $scope.parse_error(results.error);
return;
}
- $scope.panel.error = false;
// Check that we're still on the same query, if not stop
if($scope.query_id === query_id) {