mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
updating usages in singlestat
This commit is contained in:
parent
205a5baa56
commit
528f085c96
@ -3,6 +3,7 @@ import $ from 'jquery';
|
|||||||
import 'vendor/flot/jquery.flot';
|
import 'vendor/flot/jquery.flot';
|
||||||
import 'vendor/flot/jquery.flot.gauge';
|
import 'vendor/flot/jquery.flot.gauge';
|
||||||
import 'app/features/panel/panellinks/link_srv';
|
import 'app/features/panel/panellinks/link_srv';
|
||||||
|
import { getDecimalsForValue } from '@grafana/ui';
|
||||||
|
|
||||||
import kbn from 'app/core/utils/kbn';
|
import kbn from 'app/core/utils/kbn';
|
||||||
import config from 'app/core/config';
|
import config from 'app/core/config';
|
||||||
@ -190,7 +191,7 @@ class SingleStatCtrl extends MetricsPanelCtrl {
|
|||||||
data.value = 0;
|
data.value = 0;
|
||||||
data.valueRounded = 0;
|
data.valueRounded = 0;
|
||||||
} else {
|
} else {
|
||||||
const decimalInfo = this.getDecimalsForValue(data.value);
|
const decimalInfo = getDecimalsForValue(data.value);
|
||||||
const formatFunc = getValueFormat(this.panel.format);
|
const formatFunc = getValueFormat(this.panel.format);
|
||||||
|
|
||||||
data.valueFormatted = formatFunc(
|
data.valueFormatted = formatFunc(
|
||||||
@ -243,47 +244,6 @@ class SingleStatCtrl extends MetricsPanelCtrl {
|
|||||||
this.render();
|
this.render();
|
||||||
}
|
}
|
||||||
|
|
||||||
getDecimalsForValue(value) {
|
|
||||||
if (_.isNumber(this.panel.decimals)) {
|
|
||||||
return { decimals: this.panel.decimals, scaledDecimals: null };
|
|
||||||
}
|
|
||||||
|
|
||||||
const delta = value / 2;
|
|
||||||
let dec = -Math.floor(Math.log(delta) / Math.LN10);
|
|
||||||
|
|
||||||
const magn = Math.pow(10, -dec);
|
|
||||||
const norm = delta / magn; // norm is between 1.0 and 10.0
|
|
||||||
let size;
|
|
||||||
|
|
||||||
if (norm < 1.5) {
|
|
||||||
size = 1;
|
|
||||||
} else if (norm < 3) {
|
|
||||||
size = 2;
|
|
||||||
// special case for 2.5, requires an extra decimal
|
|
||||||
if (norm > 2.25) {
|
|
||||||
size = 2.5;
|
|
||||||
++dec;
|
|
||||||
}
|
|
||||||
} else if (norm < 7.5) {
|
|
||||||
size = 5;
|
|
||||||
} else {
|
|
||||||
size = 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
size *= magn;
|
|
||||||
|
|
||||||
// reduce starting decimals if not needed
|
|
||||||
if (Math.floor(value) === value) {
|
|
||||||
dec = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
const result: any = {};
|
|
||||||
result.decimals = Math.max(0, dec);
|
|
||||||
result.scaledDecimals = result.decimals - Math.floor(Math.log(size) / Math.LN10) + 2;
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
setValues(data) {
|
setValues(data) {
|
||||||
data.flotpairs = [];
|
data.flotpairs = [];
|
||||||
|
|
||||||
@ -319,7 +279,7 @@ class SingleStatCtrl extends MetricsPanelCtrl {
|
|||||||
data.value = this.series[0].stats[this.panel.valueName];
|
data.value = this.series[0].stats[this.panel.valueName];
|
||||||
data.flotpairs = this.series[0].flotpairs;
|
data.flotpairs = this.series[0].flotpairs;
|
||||||
|
|
||||||
const decimalInfo = this.getDecimalsForValue(data.value);
|
const decimalInfo = getDecimalsForValue(data.value);
|
||||||
|
|
||||||
data.valueFormatted = formatFunc(
|
data.valueFormatted = formatFunc(
|
||||||
data.value,
|
data.value,
|
||||||
|
Loading…
Reference in New Issue
Block a user