Commit a921eeb5 by Al Lefebvre

Merge branch 'master' of github.com:hartfordfive/grafana into issue-3374

parents 4a29d459 f3f34e18
...@@ -341,6 +341,8 @@ function($, _) { ...@@ -341,6 +341,8 @@ function($, _) {
// 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('£');
kbn.valueFormats.currencyEUR = kbn.formatBuilders.currency('€');
kbn.valueFormats.currencyJPY = kbn.formatBuilders.currency('¥');
// Data // Data
kbn.valueFormats.bits = kbn.formatBuilders.binarySIPrefix('b'); kbn.valueFormats.bits = kbn.formatBuilders.binarySIPrefix('b');
...@@ -430,7 +432,7 @@ function($, _) { ...@@ -430,7 +432,7 @@ function($, _) {
kbn.valueFormats.s = function(size, decimals, scaledDecimals) { kbn.valueFormats.s = function(size, decimals, scaledDecimals) {
if (size === null) { return ""; } if (size === null) { return ""; }
if (Math.abs(size) < 600) { if (Math.abs(size) < 60) {
return kbn.toFixed(size, decimals) + " s"; return kbn.toFixed(size, decimals) + " s";
} }
// Less than 1 hour, devide in minutes // Less than 1 hour, devide in minutes
...@@ -487,6 +489,57 @@ function($, _) { ...@@ -487,6 +489,57 @@ function($, _) {
} }
}; };
kbn.valueFormats.m = function(size, decimals, scaledDecimals) {
if (size === null) { return ""; }
if (Math.abs(size) < 60) {
return kbn.toFixed(size, decimals) + " min";
}
else if (Math.abs(size) < 1440) {
return kbn.toFixedScaled(size / 60, decimals, scaledDecimals, 2, " hour");
}
else if (Math.abs(size) < 10080) {
return kbn.toFixedScaled(size / 1440, decimals, scaledDecimals, 3, " day");
}
else if (Math.abs(size) < 604800) {
return kbn.toFixedScaled(size / 10080, decimals, scaledDecimals, 4, " week");
}
else {
return kbn.toFixedScaled(size / 5.25948e5, decimals, scaledDecimals, 5, " year");
}
};
kbn.valueFormats.h = function(size, decimals, scaledDecimals) {
if (size === null) { return ""; }
if (Math.abs(size) < 24) {
return kbn.toFixed(size, decimals) + " hour";
}
else if (Math.abs(size) < 168) {
return kbn.toFixedScaled(size / 24, decimals, scaledDecimals, 2, " day");
}
else if (Math.abs(size) < 8760) {
return kbn.toFixedScaled(size / 168, decimals, scaledDecimals, 3, " week");
}
else {
return kbn.toFixedScaled(size / 8760, decimals, scaledDecimals, 4, " year");
}
};
kbn.valueFormats.d = function(size, decimals, scaledDecimals) {
if (size === null) { return ""; }
if (Math.abs(size) < 7) {
return kbn.toFixed(size, decimals) + " day";
}
else if (Math.abs(size) < 365) {
return kbn.toFixedScaled(size / 7, decimals, scaledDecimals, 2, " week");
}
else {
return kbn.toFixedScaled(size / 365, decimals, scaledDecimals, 3, " year");
}
};
///// FORMAT MENU ///// ///// FORMAT MENU /////
kbn.getUnitFormats = function() { kbn.getUnitFormats = function() {
...@@ -508,6 +561,8 @@ function($, _) { ...@@ -508,6 +561,8 @@ function($, _) {
submenu: [ submenu: [
{text: 'Dollars ($)', value: 'currencyUSD'}, {text: 'Dollars ($)', value: 'currencyUSD'},
{text: 'Pounds (£)', value: 'currencyGBP'}, {text: 'Pounds (£)', value: 'currencyGBP'},
{text: 'Euro (€)', value: 'currencyEUR'},
{text: 'Yen (¥)', value: 'currencyJPY'},
] ]
}, },
{ {
...@@ -518,6 +573,9 @@ function($, _) { ...@@ -518,6 +573,9 @@ function($, _) {
{text: 'microseconds (µs)', value: 'µs' }, {text: 'microseconds (µs)', value: 'µs' },
{text: 'milliseconds (ms)', value: 'ms' }, {text: 'milliseconds (ms)', value: 'ms' },
{text: 'seconds (s)', value: 's' }, {text: 'seconds (s)', value: 's' },
{text: 'minutes (m)', value: 'm' },
{text: 'hours (h)', value: 'h' },
{text: 'days (d)', value: 'd' },
] ]
}, },
{ {
......
...@@ -90,11 +90,11 @@ define([ ...@@ -90,11 +90,11 @@ define([
timer.cancel(this.refresh_timer); timer.cancel(this.refresh_timer);
}; };
this.setTime = function(time) { this.setTime = function(time, enableRefresh) {
_.extend(this.time, time); _.extend(this.time, time);
// disable refresh if we have an absolute time // disable refresh if zoom in or zoom out
if (moment.isMoment(time.to)) { if (!enableRefresh && moment.isMoment(time.to)) {
this.old_refresh = this.dashboard.refresh || this.old_refresh; this.old_refresh = this.dashboard.refresh || this.old_refresh;
this.setAutoRefresh(false); this.setAutoRefresh(false);
} }
......
...@@ -115,7 +115,7 @@ export class TimePickerCtrl { ...@@ -115,7 +115,7 @@ export class TimePickerCtrl {
this.timeSrv.setAutoRefresh(this.refresh.value); this.timeSrv.setAutoRefresh(this.refresh.value);
} }
this.timeSrv.setTime(this.timeRaw); this.timeSrv.setTime(this.timeRaw, true);
this.$rootScope.appEvent('hide-dash-editor'); this.$rootScope.appEvent('hide-dash-editor');
} }
......
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
<ul class="tight-form-list" role="menu"> <ul class="tight-form-list" role="menu">
<li class="tight-form-item query-keyword tight-form-align" style="width: 100px"> <li class="tight-form-item query-keyword tight-form-align" style="width: 100px">
Alias Alias
<tip>{{metric}} {{stat}} {{namespace}} {{region}} {{<dimension name>}}</tip> <tip>{{metric}} {{stat}} {{namespace}} {{region}} {{DIMENSION_NAME}}</tip>
</li> </li>
<li> <li>
<input type="text" class="input-xlarge tight-form-input" ng-model="target.alias" spellcheck='false' ng-model-onblur ng-change="refreshMetricData()"> <input type="text" class="input-xlarge tight-form-input" ng-model="target.alias" spellcheck='false' ng-model-onblur ng-change="refreshMetricData()">
......
...@@ -68,6 +68,27 @@ define([ ...@@ -68,6 +68,27 @@ define([
describeValueFormat('wps', 789000000, 1000000, -1, '789M wps'); describeValueFormat('wps', 789000000, 1000000, -1, '789M wps');
describeValueFormat('iops', 11000000000, 1000000000, -1, '11B iops'); describeValueFormat('iops', 11000000000, 1000000000, -1, '11B iops');
describeValueFormat('s', 24, 1, 0, '24 s');
describeValueFormat('s', 246, 1, 0, '4.1 min');
describeValueFormat('s', 24567, 100, 0, '6.82 hour');
describeValueFormat('s', 24567890, 10000, 0, '40.62 week');
describeValueFormat('s', 24567890000, 1000000, 0, '778.53 year');
describeValueFormat('m', 24, 1, 0, '24 min');
describeValueFormat('m', 246, 10, 0, '4.1 hour');
describeValueFormat('m', 6545, 10, 0, '4.55 day');
describeValueFormat('m', 24567, 100, 0, '2.44 week');
describeValueFormat('m', 24567892, 10000, 0, '46.7 year');
describeValueFormat('h', 21, 1, 0, '21 hour');
describeValueFormat('h', 145, 1, 0, '6.04 day');
describeValueFormat('h', 1234, 100, 0, '7.3 week');
describeValueFormat('h', 9458, 1000, 0, '1.08 year');
describeValueFormat('d', 3, 1, 0, '3 day');
describeValueFormat('d', 245, 100, 0, '35 week');
describeValueFormat('d', 2456, 10, 0, '6.73 year');
describe('kbn.toFixed and negative decimals', function() { describe('kbn.toFixed and negative decimals', function() {
it('should treat as zero decimals', function() { it('should treat as zero decimals', function() {
var str = kbn.toFixed(186.123, -2); var str = kbn.toFixed(186.123, -2);
......
...@@ -78,13 +78,20 @@ define([ ...@@ -78,13 +78,20 @@ define([
}); });
describe('setTime', function() { describe('setTime', function() {
it('should return disable refresh for absolute times', function() { it('should return disable refresh if refresh is disabled for any range', function() {
_dashboard.refresh = false; _dashboard.refresh = false;
ctx.service.setTime({from: '2011-01-01', to: '2015-01-01' }); ctx.service.setTime({from: '2011-01-01', to: '2015-01-01' });
expect(_dashboard.refresh).to.be(false); expect(_dashboard.refresh).to.be(false);
}); });
it('should restore refresh for absolute time range', function() {
_dashboard.refresh = '30s';
ctx.service.setTime({from: '2011-01-01', to: '2015-01-01' });
expect(_dashboard.refresh).to.be('30s');
});
it('should restore refresh after relative time range is set', function() { it('should restore refresh after relative time range is set', function() {
_dashboard.refresh = '10s'; _dashboard.refresh = '10s';
ctx.service.setTime({from: moment([2011,1,1]), to: moment([2015,1,1])}); ctx.service.setTime({from: moment([2011,1,1]), to: moment([2015,1,1])});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment