mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Hex units (#5530)
* added hex units * deleted blank line, to fix style error * added unit tests * updated unit tests and changed the way it handles negative hex0x
This commit is contained in:
parent
60abe75615
commit
e58ccc5a83
@ -368,6 +368,23 @@ function($, _, moment) {
|
|||||||
return kbn.toFixed(100*size, decimals) + '%';
|
return kbn.toFixed(100*size, decimals) + '%';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Formats the value to hex. Uses float if specified decimals are not 0.
|
||||||
|
* There are two options, one with 0x, and one without */
|
||||||
|
|
||||||
|
kbn.valueFormats.hex = function(value, decimals) {
|
||||||
|
if (value == null) { return ""; }
|
||||||
|
return parseFloat(kbn.toFixed(value, decimals)).toString(16).toUpperCase();
|
||||||
|
};
|
||||||
|
|
||||||
|
kbn.valueFormats.hex0x = function(value, decimals) {
|
||||||
|
if (value == null) { return ""; }
|
||||||
|
var hexString = kbn.valueFormats.hex(value, decimals);
|
||||||
|
if (hexString.substring(0,1) === "-") {
|
||||||
|
return "-0x" + hexString.substring(1);
|
||||||
|
}
|
||||||
|
return "0x" + hexString;
|
||||||
|
};
|
||||||
|
|
||||||
// Currencies
|
// Currencies
|
||||||
kbn.valueFormats.currencyUSD = kbn.formatBuilders.currency('$');
|
kbn.valueFormats.currencyUSD = kbn.formatBuilders.currency('$');
|
||||||
kbn.valueFormats.currencyGBP = kbn.formatBuilders.currency('£');
|
kbn.valueFormats.currencyGBP = kbn.formatBuilders.currency('£');
|
||||||
@ -617,6 +634,8 @@ function($, _, moment) {
|
|||||||
{text: 'Humidity (%H)', value: 'humidity' },
|
{text: 'Humidity (%H)', value: 'humidity' },
|
||||||
{text: 'ppm', value: 'ppm' },
|
{text: 'ppm', value: 'ppm' },
|
||||||
{text: 'decibel', value: 'dB' },
|
{text: 'decibel', value: 'dB' },
|
||||||
|
{text: 'hexadecimal (0x)', value: 'hex0x' },
|
||||||
|
{text: 'hexadecimal', value: 'hex' },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -161,4 +161,50 @@ define([
|
|||||||
expect(str).to.be('15ms');
|
expect(str).to.be('15ms');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('hex', function() {
|
||||||
|
it('positive integer', function() {
|
||||||
|
var str = kbn.valueFormats.hex(100, 0);
|
||||||
|
expect(str).to.be('64');
|
||||||
|
});
|
||||||
|
it('negative integer', function() {
|
||||||
|
var str = kbn.valueFormats.hex(-100, 0);
|
||||||
|
expect(str).to.be('-64');
|
||||||
|
});
|
||||||
|
it('null', function() {
|
||||||
|
var str = kbn.valueFormats.hex(null, 0);
|
||||||
|
expect(str).to.be('');
|
||||||
|
});
|
||||||
|
it('positive float', function() {
|
||||||
|
var str = kbn.valueFormats.hex(50.52, 1);
|
||||||
|
expect(str).to.be('32.8');
|
||||||
|
});
|
||||||
|
it('negative float', function() {
|
||||||
|
var str = kbn.valueFormats.hex(-50.333, 2);
|
||||||
|
expect(str).to.be('-32.547AE147AE14');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('hex 0x', function() {
|
||||||
|
it('positive integeter', function() {
|
||||||
|
var str = kbn.valueFormats.hex0x(7999,0);
|
||||||
|
expect(str).to.be('0x1F3F');
|
||||||
|
});
|
||||||
|
it('negative integer', function() {
|
||||||
|
var str = kbn.valueFormats.hex0x(-584,0);
|
||||||
|
expect(str).to.be('-0x248');
|
||||||
|
});
|
||||||
|
it('null', function() {
|
||||||
|
var str = kbn.valueFormats.hex0x(null, 0);
|
||||||
|
expect(str).to.be('');
|
||||||
|
});
|
||||||
|
it('positive float', function() {
|
||||||
|
var str = kbn.valueFormats.hex0x(74.443, 3);
|
||||||
|
expect(str).to.be('0x4A.716872B020C4');
|
||||||
|
});
|
||||||
|
it('negative float', function() {
|
||||||
|
var str = kbn.valueFormats.hex0x(-65.458, 1);
|
||||||
|
expect(str).to.be('-0x41.8');
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user