فهرست منبع

SingleStatPanel: various fixes

Torkel Ödegaard 11 سال پیش
والد
کامیت
fa813024ca

+ 3 - 1
src/app/panels/stats/module.js

@@ -169,7 +169,9 @@ function (angular, app, _, TimeSeries, kbn) {
       var data = {};
 
       if (!$scope.series || $scope.series.length === 0) {
-        data.series = { mainValue: null, datapoints: [] };
+        data.flotpairs = [];
+        data.mainValue = Number.NaN;
+        data.mainValueFormated = 'NaN';
       }
       else {
         var series = $scope.series[0];

+ 3 - 9
src/app/panels/stats/statsDirective.js

@@ -21,14 +21,6 @@ function (angular, app, _, kbn, $) {
         var $panelContainer = elem.parents('.panel-container');
 
         scope.$on('render', function() {
-          data = scope.data;
-          panel = scope.panel;
-
-          if (!data || data.flotpairs.length === 0) {
-            elem.html('no data');
-            return;
-          }
-
           render();
         });
 
@@ -148,9 +140,11 @@ function (angular, app, _, kbn, $) {
         }
 
         function render() {
+          data = scope.data;
+          panel = scope.panel;
+
           setElementHeight();
 
-          var panel = scope.panel;
           var body = getBigValueHtml();
 
           if (panel.colorBackground && data.mainValue) {

+ 5 - 0
src/app/services/dashboard/dashboardSrv.js

@@ -99,10 +99,15 @@ function (angular, $, kbn, _, moment) {
             result.panel = panel;
             result.row = row;
             result.index = index;
+            return;
           }
         });
       });
 
+      if (!result.panel) {
+        return null;
+      }
+
       return result;
     };
 

+ 3 - 1
src/app/services/dashboard/dashboardViewStateSrv.js

@@ -39,7 +39,9 @@ function (angular, _, $) {
       if (!this.state.panelId) { return; }
 
       var panelInfo = this.$scope.dashboard.getPanelInfoById(this.state.panelId);
-      panelInfo.row.collapse = false;
+      if (panelInfo) {
+        panelInfo.row.collapse = false;
+      }
     };
 
     DashboardViewState.prototype.needsSync = function(urlState) {