mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Merge remote-tracking branch 'spencer/interval-issues' into intervals
This commit is contained in:
commit
37d212c757
@ -209,7 +209,7 @@ function($, _) {
|
||||
kbn.interval_regex = /(\d+(?:\.\d+)?)([Mwdhmsy])/;
|
||||
|
||||
// histogram & trends
|
||||
var intervals_in_seconds = {
|
||||
kbn.intervals_in_seconds = {
|
||||
y: 31536000,
|
||||
M: 2592000,
|
||||
w: 604800,
|
||||
@ -219,17 +219,27 @@ function($, _) {
|
||||
s: 1
|
||||
};
|
||||
|
||||
kbn.interval_to_ms = function(string) {
|
||||
kbn.describe_interval = function (string) {
|
||||
var matches = string.match(kbn.interval_regex);
|
||||
if (!matches || !_.has(intervals_in_seconds, matches[2])) {
|
||||
if (!matches || !_.has(kbn.intervals_in_seconds, matches[2])) {
|
||||
throw new Error('Invalid interval string, expexcting a number followed by one of "Mwdhmsy"');
|
||||
} else {
|
||||
return intervals_in_seconds[matches[2]] * matches[1] * 1000;
|
||||
return {
|
||||
sec: kbn.intervals_in_seconds[matches[2]],
|
||||
type: matches[2],
|
||||
count: parseInt(matches[1], 10)
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
kbn.interval_to_ms = function(string) {
|
||||
var info = kbn.describe_interval(string);
|
||||
return info.sec * 1000 * info.count;
|
||||
};
|
||||
|
||||
kbn.interval_to_seconds = function (string) {
|
||||
return kbn.interval_to_ms(string)/1000;
|
||||
var info = kbn.describe_interval(string);
|
||||
return info.sec * info.count;
|
||||
};
|
||||
|
||||
// This should go away, moment.js can do this
|
||||
|
@ -10,11 +10,10 @@ function (kbn) {
|
||||
*/
|
||||
function Interval(interval_string) {
|
||||
this.string = interval_string;
|
||||
this.ms = kbn.interval_to_ms(interval_string);
|
||||
|
||||
var matches = interval_string.match(kbn.interval_regex);
|
||||
this.count = parseInt(matches[1], 10);
|
||||
this.type = matches[2];
|
||||
var info = kbn.describe_interval(interval_string);
|
||||
this.type = info.type;
|
||||
this.ms = info.sec * 1000 * info.count;
|
||||
|
||||
// does the length of the interval change based on the current time?
|
||||
if (this.type === 'y' || this.type === 'M') {
|
||||
@ -31,10 +30,10 @@ function (kbn) {
|
||||
return this.string;
|
||||
},
|
||||
after: function(current_ms) {
|
||||
return this.get(current_ms, this.count);
|
||||
return this.get(current_ms, 1);
|
||||
},
|
||||
before: function (current_ms) {
|
||||
return this.get(current_ms, -this.count);
|
||||
return this.get(current_ms, -1);
|
||||
},
|
||||
get_complex: function (current, delta) {
|
||||
this.date.setTime(current);
|
||||
|
Loading…
Reference in New Issue
Block a user