feat(thresholds): hide threshold handles when second y axis is shown

This commit is contained in:
Torkel Ödegaard 2016-08-12 10:50:31 +02:00
parent 597103a1f2
commit 7242dc2ebe
2 changed files with 17 additions and 5 deletions

View File

@ -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;

View File

@ -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;
}