diff --git a/src/app/directives/grafanaGraph.js b/src/app/directives/grafanaGraph.js
index 9bb302bf671..15f1556aa62 100755
--- a/src/app/directives/grafanaGraph.js
+++ b/src/app/directives/grafanaGraph.js
@@ -15,7 +15,7 @@ function (angular, $, kbn, moment, _) {
restrict: 'A',
template: '
',
link: function(scope, elem) {
- var data, plot, annotations;
+ var data, annotations;
var hiddenData = {};
var dashboard = scope.dashboard;
var legendSideLastValue = null;
@@ -82,6 +82,10 @@ function (angular, $, kbn, moment, _) {
render_panel_as_graphite_png(data);
return true;
}
+
+ if (elem.width() === 0) {
+ return;
+ }
}
// Function for rendering panel
@@ -165,18 +169,22 @@ function (angular, $, kbn, moment, _) {
var sortedSeries = _.sortBy(data, function(series) { return series.zindex; });
- // if legend is to the right delay plot draw a few milliseconds
- // so the legend width calculation can be done
+ function callPlot() {
+ try {
+ $.plot(elem, sortedSeries, options);
+ } catch (e) {
+ console.log('flotcharts error', e);
+ }
+
+ addAxisLabels();
+ }
+
if (shouldDelayDraw(panel)) {
+ setTimeout(callPlot, 50);
legendSideLastValue = panel.legend.rightSide;
- setTimeout(function() {
- plot = $.plot(elem, sortedSeries, options);
- addAxisLabels();
- }, 50);
}
else {
- plot = $.plot(elem, sortedSeries, options);
- addAxisLabels();
+ callPlot();
}
}