From 7242dc2ebe1e254565e716ab653991ec483a8d0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Fri, 12 Aug 2016 10:50:31 +0200 Subject: [PATCH] feat(thresholds): hide threshold handles when second y axis is shown --- public/app/plugins/panel/graph/graph.js | 2 +- .../plugins/panel/graph/threshold_manager.ts | 20 +++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/public/app/plugins/panel/graph/graph.js b/public/app/plugins/panel/graph/graph.js index c71321f4478..750c8972163 100755 --- a/public/app/plugins/panel/graph/graph.js +++ b/public/app/plugins/panel/graph/graph.js @@ -177,7 +177,7 @@ function (angular, $, moment, _, kbn, GraphTooltip, thresholdManExports) { } // give space to alert editing - thresholdManager.prepare(elem); + thresholdManager.prepare(elem, data); var stack = panel.stack ? true : null; diff --git a/public/app/plugins/panel/graph/threshold_manager.ts b/public/app/plugins/panel/graph/threshold_manager.ts index 1fbdfa99cc8..0d6c79e5ffd 100644 --- a/public/app/plugins/panel/graph/threshold_manager.ts +++ b/public/app/plugins/panel/graph/threshold_manager.ts @@ -10,6 +10,7 @@ export class ThresholdManager { height: any; thresholds: any; needsCleanup: boolean; + hasSecondYAxis: any; constructor(private panelCtrl) {} @@ -109,8 +110,20 @@ export class ThresholdManager { handleElem.css({top: handleTopPos}); } - prepare(elem) { - if (this.panelCtrl.editingThresholds) { + shouldDrawHandles() { + return !this.hasSecondYAxis && this.panelCtrl.editingThresholds && this.panelCtrl.panel.thresholds.length > 0; + } + + prepare(elem, data) { + this.hasSecondYAxis = false; + for (var i = 0; i < data.length; i++) { + if (data[i].yaxis > 1) { + this.hasSecondYAxis = true; + break; + } + } + + if (this.shouldDrawHandles()) { var thresholdMargin = this.panelCtrl.panel.thresholds.length > 1 ? '220px' : '110px'; elem.css('margin-right', thresholdMargin); } else if (this.needsCleanup) { @@ -127,8 +140,7 @@ export class ThresholdManager { this.cleanUp(); } - // if no thresholds or not editing alerts skip rendering handles - if (this.thresholds.length === 0 || !this.panelCtrl.editingThresholds) { + if (!this.shouldDrawHandles()) { return; }