88 lines
2.5 KiB
JavaScript
88 lines
2.5 KiB
JavaScript
var AdaptiveTicker, CompositeTicker, DatetimeTicker, DaysTicker, MonthsTicker, ONE_HOUR, ONE_MILLI, ONE_MINUTE, ONE_MONTH, ONE_SECOND, YearsTicker, _, util,
|
|
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
|
hasProp = {}.hasOwnProperty;
|
|
|
|
_ = require("underscore");
|
|
|
|
AdaptiveTicker = require("./adaptive_ticker");
|
|
|
|
CompositeTicker = require("./composite_ticker");
|
|
|
|
DaysTicker = require("./days_ticker");
|
|
|
|
MonthsTicker = require("./months_ticker");
|
|
|
|
YearsTicker = require("./years_ticker");
|
|
|
|
util = require("./util");
|
|
|
|
ONE_MILLI = util.ONE_MILLI;
|
|
|
|
ONE_SECOND = util.ONE_SECOND;
|
|
|
|
ONE_MINUTE = util.ONE_MINUTE;
|
|
|
|
ONE_HOUR = util.ONE_HOUR;
|
|
|
|
ONE_MONTH = util.ONE_MONTH;
|
|
|
|
DatetimeTicker = (function(superClass) {
|
|
extend(DatetimeTicker, superClass);
|
|
|
|
function DatetimeTicker() {
|
|
return DatetimeTicker.__super__.constructor.apply(this, arguments);
|
|
}
|
|
|
|
DatetimeTicker.prototype.type = 'DatetimeTicker';
|
|
|
|
DatetimeTicker.override({
|
|
num_minor_ticks: 0,
|
|
tickers: function() {
|
|
return [
|
|
new AdaptiveTicker.Model({
|
|
mantissas: [1, 2, 5],
|
|
base: 10,
|
|
min_interval: 0,
|
|
max_interval: 500 * ONE_MILLI,
|
|
num_minor_ticks: 0
|
|
}), new AdaptiveTicker.Model({
|
|
mantissas: [1, 2, 5, 10, 15, 20, 30],
|
|
base: 60,
|
|
min_interval: ONE_SECOND,
|
|
max_interval: 30 * ONE_MINUTE,
|
|
num_minor_ticks: 0
|
|
}), new AdaptiveTicker.Model({
|
|
mantissas: [1, 2, 4, 6, 8, 12],
|
|
base: 24.0,
|
|
min_interval: ONE_HOUR,
|
|
max_interval: 12 * ONE_HOUR,
|
|
num_minor_ticks: 0
|
|
}), new DaysTicker.Model({
|
|
days: _.range(1, 32)
|
|
}), new DaysTicker.Model({
|
|
days: _.range(1, 31, 3)
|
|
}), new DaysTicker.Model({
|
|
days: [1, 8, 15, 22]
|
|
}), new DaysTicker.Model({
|
|
days: [1, 15]
|
|
}), new MonthsTicker.Model({
|
|
months: _.range(0, 12, 1)
|
|
}), new MonthsTicker.Model({
|
|
months: _.range(0, 12, 2)
|
|
}), new MonthsTicker.Model({
|
|
months: _.range(0, 12, 4)
|
|
}), new MonthsTicker.Model({
|
|
months: _.range(0, 12, 6)
|
|
}), new YearsTicker.Model({})
|
|
];
|
|
}
|
|
});
|
|
|
|
return DatetimeTicker;
|
|
|
|
})(CompositeTicker.Model);
|
|
|
|
module.exports = {
|
|
Model: DatetimeTicker
|
|
};
|