--- a/timeline/js/timeline.js Fri Oct 04 11:25:57 2013 +0200
+++ b/timeline/js/timeline.js Fri Oct 04 11:26:40 2013 +0200
@@ -13,13 +13,13 @@
Tlns.Utils.zeroPad = function(_n) {
return (_n < 10 ? "0" : "") + _n;
-}
+};
Tlns.Utils.SetDefaults = function(_object, _defaults, _options) {
var _options = _options || {};
_(_defaults).each(function(_v, _k) {
if(/^m(in|ax)_/.test(_k)) {
- var _tab = _k.split('_')
+ var _tab = _k.split('_');
if( typeof _object[_tab[1]] !== "undefined") {
var _fn = Math[_tab[0] === "max" ? "min":"max"];
_object[_tab[1]] = _fn(_object[_tab[1]], _v);
@@ -55,7 +55,7 @@
monthName: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"][_date.getMonth()],
shortMonthName: ["jan.","fev.","mar.","avr.","mai","jun.","jul.","aou.","sep.","oct.","nov.","dec."][_date.getMonth()],
year: _date.getFullYear()
- }
+ };
return Mustache.to_html(_template, _params);
};
@@ -79,7 +79,7 @@
hours: _h,
minutes: _m,
text: Tlns.Utils.zeroPad(_h) + ':' + Tlns.Utils.zeroPad(_m)
- }
+ };
};
Tlns.Utils.dateFieldProcess = function(_val) {
@@ -106,11 +106,13 @@
month: _m,
date: _d,
text: Tlns.Utils.zeroPad(_d) + '/' + Tlns.Utils.zeroPad(_m) + '/' + _y
- }
+ };
};
/* Defaults */
+/* TOUTE LA CONFIGURATION DE L'APPLI SE FAIT ICI */
+
Tlns.Defaults.Timeline = {
email: "",
token: "",
@@ -132,19 +134,19 @@
span : 7 * 86400 * 1000,
grid_interval : 86400 * 1000,
grid_date_format : '{{dayOfMonth}} {{monthName}}',
- min_importance : 0
+ min_importance : 3
}, {
label : "3 jours",
span : 3 * 86400 * 1000,
grid_interval : 6 * 3600 * 1000,
grid_date_format : '{{^isDayStart}}{{0hours}}h{{0minutes}}{{/isDayStart}}{{#isDayStart}}{{dayOfMonth}} {{shortMonthName}}{{/isDayStart}}',
- min_importance : 0
+ min_importance : 2
}, {
label : "Journée",
span : 86400 * 1000,
grid_interval : 2 * 3600 * 1000,
grid_date_format : '{{^isDayStart}}{{0hours}}h{{0minutes}}{{/isDayStart}}{{#isDayStart}}{{dayOfMonth}} {{shortMonthName}}{{/isDayStart}}',
- min_importance : 0
+ min_importance : 1
}, {
label : "Demi-Journée",
span : 6 * 3600 * 1000,
@@ -558,9 +560,33 @@
var minT = this.timeFromX(-32),
minI = this.timescales[this.level].min_importance;
var _visible = _(this.occurrences).filter(function(_occ) {
- return (_occ.date >= minT && _occ.date <= _this.end_time && (_occ.importance >= minI));
+ _occ.visible = (_occ.date >= minT && _occ.date <= _this.end_time && (_occ.importance >= minI));
+ return _occ.visible;
});
+ /* FILTRAGE SI TROP D'OCCURRENCES PAR UNITE DE TEMPS */
+
+ var _timescale = this.timescales[this.level],
+ _offset = new Date().getTimezoneOffset() * 60000,
+ _grid_width = Math.floor(_timescale.grid_interval * this.current_scale),
+ _roundstart = Math.floor((this.start_time - _offset) / _timescale.grid_interval) * _timescale.grid_interval + _offset,
+ _html = '';
+ for (var _t = _roundstart; _t < this.end_time; _t += _timescale.grid_interval) {
+ var items = _(_visible).filter(function(_occ) {
+ return _occ.date >= _t && _occ.date < _t + _timescale.grid_interval;
+ });
+ if (items && items.length > 1) {
+ _(items).chain().rest().each(function(_occ) {
+ _occ.visible = false;
+ });
+ }
+ }
+ var _visible = _(_visible).filter(function(_occ) { return _occ.visible; });
+
+ /* FIN FILTRAGE */
+
+ /* REORGANISATION DES PICTOS SI TROP NOMBREUX */
+
var _moved = true, l = 0;
while (_moved && l < 10) {
l++;
@@ -581,6 +607,8 @@
}
}
+ /* FIN REORGANISATION */
+
var _html = Mustache.to_html(Tlns.Templates.Occurrence, {
occurrences: _visible
});