From 895cff78b61f6647adf7cb1252c4f2e809d3122f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 11 Aug 2016 22:22:15 +0200 Subject: [PATCH] feat(thresholds): more work on thresholds, within and outside types no work --- public/app/plugins/panel/graph/graph.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/public/app/plugins/panel/graph/graph.js b/public/app/plugins/panel/graph/graph.js index 4d705aedf0f..bce8058ba4f 100755 --- a/public/app/plugins/panel/graph/graph.js +++ b/public/app/plugins/panel/graph/graph.js @@ -322,9 +322,10 @@ function (angular, $, moment, _, kbn, GraphTooltip, thresholds) { var gtLimit = Infinity; var ltLimit = -Infinity; + var i, threshold, other; - for (var i = 0; i < panel.thresholds.length; i++) { - var threshold = panel.thresholds[i]; + for (i = 0; i < panel.thresholds.length; i++) { + threshold = panel.thresholds[i]; if (!_.isNumber(threshold.value)) { continue; } @@ -333,12 +334,26 @@ function (angular, $, moment, _, kbn, GraphTooltip, thresholds) { switch(threshold.op) { case 'gt': { limit = gtLimit; - gtLimit = threshold.value; + // if next threshold is less then op and greater value, then use that as limit + if (panel.thresholds.length > i+1) { + other = panel.thresholds[i+1]; + if (other.value > threshold.value) { + limit = other.value; + ltLimit = limit; + } + } break; } case 'lt': { limit = ltLimit; - ltLimit = threshold.value; + // if next threshold is less then op and greater value, then use that as limit + if (panel.thresholds.length > i+1) { + other = panel.thresholds[i+1]; + if (other.value < threshold.value) { + limit = other.value; + gtLimit = limit; + } + } break; } }