mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
display value map or range map
This commit is contained in:
parent
f7cb5a1fd5
commit
50cd8d995b
@ -1,6 +1,6 @@
|
|||||||
import React, { PureComponent } from 'react';
|
import React, { PureComponent } from 'react';
|
||||||
import $ from 'jquery';
|
import $ from 'jquery';
|
||||||
import { RangeMap, Threshold, TimeSeriesVMs, ValueMap } from 'app/types';
|
import { MappingType, RangeMap, Threshold, TimeSeriesVMs, ValueMap } from 'app/types';
|
||||||
import config from '../core/config';
|
import config from '../core/config';
|
||||||
import kbn from '../core/utils/kbn';
|
import kbn from '../core/utils/kbn';
|
||||||
|
|
||||||
@ -47,16 +47,49 @@ export class Gauge extends PureComponent<Props> {
|
|||||||
this.draw();
|
this.draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
formatWithMappings(mappings, value) {
|
||||||
|
const valueMaps = mappings.filter(m => m.type === MappingType.ValueToText);
|
||||||
|
const rangeMaps = mappings.filter(m => m.type === MappingType.RangeToText);
|
||||||
|
|
||||||
|
const valueMap = valueMaps.map(mapping => {
|
||||||
|
if (mapping.value && value === mapping.value) {
|
||||||
|
return mapping.text;
|
||||||
|
}
|
||||||
|
})[0];
|
||||||
|
|
||||||
|
const rangeMap = rangeMaps.map(mapping => {
|
||||||
|
if (mapping.from && mapping.to && value > mapping.from && value < mapping.to) {
|
||||||
|
return mapping.text;
|
||||||
|
}
|
||||||
|
})[0];
|
||||||
|
|
||||||
|
return {
|
||||||
|
rangeMap,
|
||||||
|
valueMap,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
formatValue(value) {
|
formatValue(value) {
|
||||||
const { decimals, prefix, suffix, unit } = this.props;
|
const { decimals, mappings, prefix, suffix, unit } = this.props;
|
||||||
|
|
||||||
const formatFunc = kbn.valueFormats[unit];
|
const formatFunc = kbn.valueFormats[unit];
|
||||||
|
const formattedValue = formatFunc(value, decimals);
|
||||||
|
|
||||||
|
if (mappings.length > 0) {
|
||||||
|
const { rangeMap, valueMap } = this.formatWithMappings(mappings, formattedValue);
|
||||||
|
|
||||||
|
if (valueMap) {
|
||||||
|
return valueMap;
|
||||||
|
} else if (rangeMap) {
|
||||||
|
return rangeMap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isNaN(value)) {
|
if (isNaN(value)) {
|
||||||
return '-';
|
return '-';
|
||||||
}
|
}
|
||||||
|
|
||||||
return `${prefix} ${formatFunc(value, decimals)} ${suffix}`;
|
return `${prefix} ${formattedValue} ${suffix}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
draw() {
|
draw() {
|
||||||
|
Loading…
Reference in New Issue
Block a user