Просмотр исходного кода

Added an option to hide zero values

utkarshcmu 10 лет назад
Родитель
Сommit
1f57cf08a7

+ 6 - 0
public/app/core/time_series.ts

@@ -28,6 +28,7 @@ class TimeSeries {
   stats: any;
   legend: boolean;
   allIsNull: boolean;
+  allIsZero: boolean;
   decimals: number;
   scaledDecimals: number;
 
@@ -96,6 +97,7 @@ class TimeSeries {
     this.stats.avg = null;
     this.stats.current = null;
     this.allIsNull = true;
+    this.allIsZero = true;
 
     var ignoreNulls = fillStyle === 'connected';
     var nullAsZero = fillStyle === 'null as zero';
@@ -130,6 +132,10 @@ class TimeSeries {
         }
       }
 
+      if (currentValue != 0) {
+        this.allIsZero = false;
+      }
+
       result.push([currentTime, currentValue]);
     }
 

+ 3 - 0
public/app/panels/graph/axisEditor.html

@@ -167,6 +167,9 @@
 				<li class="tight-form-item last">
 					<editor-checkbox text="Hide empty" model="panel.legend.hideEmpty" change="render()"></editor-checkbox>
 				</li>
+        <li class="tight-form-item last">
+          <editor-checkbox text="Hide zero" model="panel.legend.hideZero" change="render()"></editor-checkbox>
+        </li>
 			</ul>
 			<div class="clearfix"></div>
 		</div>

+ 5 - 0
public/app/panels/graph/graph.tooltip.js

@@ -52,6 +52,11 @@ function ($) {
           continue;
         }
 
+        if (!series.data.length || (scope.panel.legend.hideZero && series.allIsZero)) {
+          results.push({ hidden: true });
+          continue;
+        }
+
         hoverIndex = this.findHoverIndexFromData(pos.x, series);
         results.time = series.data[hoverIndex][0];
 

+ 4 - 0
public/app/panels/graph/legend.js

@@ -137,6 +137,10 @@ function (angular, _, $) {
             if (!series.legend) {
               continue;
             }
+            // ignore zero series
+            if (panel.legend.hideZero && series.allIsZero) {
+              continue;
+            }
 
             var html = '<div class="graph-legend-series';
             if (series.yaxis === 2) { html += ' pull-right'; }