mirror of https://github.com/grafana/grafana
improved asset (css/js) build pipeline, added revision to css and js. Will remove issues related to the browser cache when upgrading grafana and improve load performance (Fixes #418)
parent
62af77979b
commit
0f7a55d031
@ -1,57 +0,0 @@ |
||||
define([ |
||||
'kbn' |
||||
], |
||||
function (kbn) { |
||||
'use strict'; |
||||
|
||||
/** |
||||
* manages the interval logic |
||||
* @param {[type]} interval_string An interval string in the format '1m', '1y', etc |
||||
*/ |
||||
function Interval(interval_string) { |
||||
this.string = interval_string; |
||||
|
||||
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') { |
||||
// we will just modify this time object rather that create a new one constantly
|
||||
this.get = this.get_complex; |
||||
this.date = new Date(0); |
||||
} else { |
||||
this.get = this.get_simple; |
||||
} |
||||
} |
||||
|
||||
Interval.prototype = { |
||||
toString: function () { |
||||
return this.string; |
||||
}, |
||||
after: function(current_ms) { |
||||
return this.get(current_ms, 1); |
||||
}, |
||||
before: function (current_ms) { |
||||
return this.get(current_ms, -1); |
||||
}, |
||||
get_complex: function (current, delta) { |
||||
this.date.setTime(current); |
||||
switch(this.type) { |
||||
case 'M': |
||||
this.date.setUTCMonth(this.date.getUTCMonth() + delta); |
||||
break; |
||||
case 'y': |
||||
this.date.setUTCFullYear(this.date.getUTCFullYear() + delta); |
||||
break; |
||||
} |
||||
return this.date.getTime(); |
||||
}, |
||||
get_simple: function (current, delta) { |
||||
return current + (delta * this.ms); |
||||
} |
||||
}; |
||||
|
||||
return Interval; |
||||
|
||||
}); |
||||
Loading…
Reference in new issue