Explorar o código

heatmap: able to reverse Y buckets order, #15683

Alexander Zobnin %!s(int64=7) %!d(string=hai) anos
pai
achega
abb8e71fdc

+ 7 - 2
public/app/plugins/panel/heatmap/heatmap_ctrl.ts

@@ -34,6 +34,7 @@ const panelDefaults = {
   },
   },
   dataFormat: 'timeseries',
   dataFormat: 'timeseries',
   yBucketBound: 'auto',
   yBucketBound: 'auto',
+  reverseYBuckets: false,
   xAxis: {
   xAxis: {
     show: true,
     show: true,
   },
   },
@@ -108,7 +109,7 @@ export class HeatmapCtrl extends MetricsPanelCtrl {
   selectionActivated: boolean;
   selectionActivated: boolean;
   unitFormats: any;
   unitFormats: any;
   data: any;
   data: any;
-  series: any;
+  series: any[];
   timeSrv: any;
   timeSrv: any;
   dataWarning: any;
   dataWarning: any;
   decimals: number;
   decimals: number;
@@ -225,8 +226,12 @@ export class HeatmapCtrl extends MetricsPanelCtrl {
       this.series.sort(sortSeriesByLabel);
       this.series.sort(sortSeriesByLabel);
     }
     }
 
 
+    if (this.panel.reverseYBuckets) {
+      this.series.reverse();
+    }
+
     // Convert histogram to heatmap. Each histogram bucket represented by the series which name is
     // Convert histogram to heatmap. Each histogram bucket represented by the series which name is
-    // a top (or bottom, depends of datasource) bucket bound. Further, these values will be used as X axis labels.
+    // a top (or bottom, depends of datasource) bucket bound. Further, these values will be used as Y axis labels.
     bucketsData = histogramToHeatmap(this.series);
     bucketsData = histogramToHeatmap(this.series);
 
 
     tsBuckets = _.map(this.series, 'label');
     tsBuckets = _.map(this.series, 'label');

+ 5 - 0
public/app/plugins/panel/heatmap/partials/axes_editor.html

@@ -40,6 +40,11 @@
         </select>
         </select>
       </div>
       </div>
     </div>
     </div>
+    <gf-form-switch ng-if="ctrl.panel.dataFormat == 'tsbuckets'"
+      class="gf-form" label-class="width-8"
+      label="Reverse order"
+      checked="ctrl.panel.reverseYBuckets" on-change="ctrl.refresh()">
+    </gf-form-switch>
   </div>
   </div>
 
 
   <div class="section gf-form-group" ng-if="ctrl.panel.dataFormat == 'timeseries'">
   <div class="section gf-form-group" ng-if="ctrl.panel.dataFormat == 'timeseries'">