blob: 46e5a6918bdac26d8f7e02bbcbf660e788bd036f [file] [log] [blame]
/*==================================================
* Planning Labeller
*==================================================
*/
Timeline.PlanningLabeller = function(locale) {
this._locale = locale;
};
Timeline.PlanningLabeller.labels = [];
Timeline.PlanningLabeller.prototype.labelInterval = function(date, intervalUnit) {
var n = Timeline.PlanningUnit.toNumber(date);
var prefix = "";
var divider = 1;
var divider2 = 7;
var labels = Timeline.PlanningLabeller.labels[this._locale];
switch (intervalUnit) {
case Timeline.PlanningUnit.DAY: prefix = labels.dayPrefix; break;
case Timeline.PlanningUnit.WEEK: prefix = labels.weekPrefix; divider = 7; divider2 = divider * 4; break;
case Timeline.PlanningUnit.MONTH: prefix = labels.monthPrefix; divider = 28; divider2 = divider * 3; break;
case Timeline.PlanningUnit.QUARTER: prefix = labels.quarterPrefix; divider = 28 * 3; divider2 = divider * 4; break;
case Timeline.PlanningUnit.YEAR: prefix = labels.yearPrefix; divider = 28 * 12; divider2 = divider * 5; break;
}
return { text: prefix + Math.floor(n / divider), emphasized: (n % divider2) == 0 };
};
Timeline.PlanningLabeller.prototype.labelPrecise = function(date) {
return Timeline.PlanningLabeller.labels[this._locale].dayPrefix +
Timeline.PlanningUnit.toNumber(date);
};