timeline/js/timeline.js
author veltr
Fri, 20 Jul 2012 16:37:23 +0200
changeset 83 f8b1d6f5bb33
parent 82 f00eb382bff1
child 84 2448fdcef656
permissions -rw-r--r--
Lots of small modifications
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
     1
/*
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
     2
 * Main Timeline code
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
     3
 */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
     4
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
     5
window.Tlns = {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
     6
    Utils : {},
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
     7
    Defaults : {},
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
     8
    Templates : {},
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
     9
    Classes : {}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    10
};
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    11
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    12
/* Utility Functions */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    13
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    14
Tlns.Utils.zeroPad = function(_n) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    15
    return (_n < 10 ? "0" : "") + _n;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    16
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    17
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    18
Tlns.Utils.SetDefaults = function(_object, _defaults, _options) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    19
    var _options = _options || {};
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    20
    _(_defaults).each(function(_v, _k) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    21
        if(/^m(in|ax)_/.test(_k)) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    22
            var _tab = _k.split('_')
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    23
            if( typeof _object[_tab[1]] !== "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    24
                var _fn = (_tab[0] === "min" ? Math.max : Math.min);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    25
                _object[_tab[1]] = _fn(_object[_tab[1]], _v);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    26
            }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    27
        } else {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    28
            if( typeof _options[_k] !== "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    29
                _object[_k] = _options[_k];
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    30
            } else {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    31
                _object[_k] = _v;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    32
            }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    33
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    34
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    35
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    36
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    37
Tlns.Utils.dateFormat = function(_date, _template) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    38
    if (typeof _date !== "object") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    39
        _date = new Date(parseInt(_date));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    40
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    41
    var _params = {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    42
        hours: _date.getHours(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    43
        "0hours": Tlns.Utils.zeroPad(_date.getHours()),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    44
        minutes: _date.getMinutes(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    45
        "0minutes": Tlns.Utils.zeroPad(_date.getMinutes()),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    46
        seconds: _date.getSeconds(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    47
        "0seconds": Tlns.Utils.zeroPad(_date.getSeconds()),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    48
        dayOfWeek: ["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"][_date.getDay()],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    49
        shortDayOfWeek: ["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"][_date.getDay()],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    50
        dayOfMonth: _date.getDate(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    51
        "0dayOfMonth": Tlns.Utils.zeroPad(_date.getDate()),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    52
        monthNumber: 1+_date.getMonth(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    53
        "0monthNumber": Tlns.Utils.zeroPad(1+_date.getMonth()),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    54
        monthName: ["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"][_date.getMonth()],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    55
        shortMonthName: ["jan","fev","mar","avr","mai","jun","jul","aou","sep","oct","nov","dec"][_date.getMonth()],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    56
        year: _date.getFullYear()
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    57
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    58
    return Mustache.to_html(_template, _params);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    59
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    60
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    61
Tlns.Utils.guid = function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    62
    return 'xxxx-xxxx-xxxx-xxxx'.replace(/x/g,function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    63
        return Math.floor(Math.random()*16).toString(16);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    64
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    65
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    66
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    67
Tlns.Utils.drawArrow = function(_ctx, _color, _x1, _y1, _x2, _y2) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    68
    _ctx.strokeStyle = _color;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    69
    _ctx.fillStyle = _color;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    70
    _ctx.beginPath();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    71
    _ctx.moveTo(_x1,_y1);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    72
    _ctx.lineTo(_x2,_y2);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    73
    _ctx.stroke();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    74
    var _mod = Math.sqrt(Math.pow(_x2 - _x1, 2) + Math.pow(_y2 - _y1, 2)),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    75
        _xu = (_x2 - _x1) / _mod,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    76
        _yu = (_y2 - _y1) / _mod,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    77
        _xm = (_x1 + _x2) / 2,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    78
        _ym = (_y1 + _y2) / 2,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    79
        _arrowWidth = 4,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    80
        _arrowLength = 8,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    81
        _x3 = _xm - _arrowLength * _xu + _arrowWidth * _yu,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    82
        _y3 = _ym - _arrowLength * _yu - _arrowWidth * _xu,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    83
        _x4 = _xm - _arrowLength * _xu - _arrowWidth * _yu,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    84
        _y4 = _ym - _arrowLength * _yu + _arrowWidth * _xu;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    85
    _ctx.beginPath();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    86
    _ctx.moveTo(_x3, _y3);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    87
    _ctx.lineTo(_xm, _ym);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    88
    _ctx.lineTo(_x4, _y4);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    89
    _ctx.fill();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    90
    _ctx.stroke();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    91
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    92
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    93
Tlns.Utils.timeFieldProcess = function(_val) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    94
    var _h = 0,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    95
        _m = 0,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    96
        _matches = _val.match(/(\d+)/g);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    97
    if (_matches && _matches.length) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    98
        _h = Math.min(23, +(_matches[0]));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
    99
        if (_matches.length > 1) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   100
            _m = Math.min(59, +(_matches[1]));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   101
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   102
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   103
    return {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   104
        hours: _h,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   105
        minutes: _m,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   106
        text: Tlns.Utils.zeroPad(_h) + ':' + Tlns.Utils.zeroPad(_m)
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   107
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   108
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   109
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   110
Tlns.Utils.dateFieldProcess = function(_val) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   111
    var _now = new Date(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   112
        _y = _now.getFullYear(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   113
        _m = 1 + _now.getMonth(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   114
        _d = _now.getDate(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   115
        _matches = _val.match(/(\d+)/g);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   116
    if (_matches && _matches.length) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   117
        _d = Math.min(31, +(_matches[0]));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   118
        if (_matches.length > 1) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   119
            _m = Math.min(12, +(_matches[1]));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   120
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   121
        if (_matches.length > 2) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   122
            _y = parseInt(_matches[2]);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   123
            if (_y < 2000) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   124
                _y += 2000;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   125
            }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   126
            _y = Math.min(2020, Math.max(2000, _y));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   127
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   128
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   129
    return {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   130
        year: _y,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   131
        month: _m,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   132
        date: _d,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   133
        text: Tlns.Utils.zeroPad(_d) + '/' + Tlns.Utils.zeroPad(_m) + '/' + _y
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   134
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   135
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   136
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   137
Tlns.Utils.clickActiveProcess = function(_el) {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   138
    if (_el.hasClass("Ls-Active")) {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   139
        if (!_el.siblings(":not(.Ls-Active)").length) {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   140
            _el.siblings().removeClass("Ls-Active");
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   141
        } else {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   142
            if (!_el.siblings(".Ls-Active").length) {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   143
                _el.siblings().addClass("Ls-Active");
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   144
            }
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   145
            _el.removeClass("Ls-Active");
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   146
        }
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   147
    } else {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   148
        _el.addClass("Ls-Active");
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   149
    }
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   150
}
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   151
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   152
/* Defaults */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   153
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   154
Tlns.Defaults.Timeline = {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   155
    container : "timeline",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   156
    width : 950,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   157
    height : 200,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   158
    url_univers : '',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   159
    min_width : 400,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   160
    min_height : 100,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   161
    main_width : 800,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   162
    timescales : [{
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   163
        label : "Mois",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   164
        span : 32 * 86400 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   165
        grid_interval : 5 * 86400 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   166
        grid_date_format : '{{dayOfMonth}} {{shortMonthName}}',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   167
        start_date_format : '{{dayOfMonth}} {{shortMonthName}}',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   168
        end_date_format : '{{dayOfMonth}} {{shortMonthName}} {{year}}'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   169
    }, {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   170
        label : "Semaine",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   171
        span : 8 * 86400 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   172
        grid_interval : 86400 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   173
        grid_date_format : '{{shortDayOfWeek}} {{0dayOfMonth}}/{{0monthNumber}}',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   174
        start_date_format : '{{dayOfMonth}} {{shortMonthName}}',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   175
        end_date_format : '{{dayOfMonth}} {{shortMonthName}}'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   176
    }, {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   177
        label : "2 jours",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   178
        span : 2 * 86400 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   179
        grid_interval : 8 * 3600 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   180
        grid_date_format : '{{shortDayOfWeek}} {{0dayOfMonth}}/{{0monthNumber}} {{hours}}h',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   181
        start_date_format : '{{dayOfMonth}} {{shortMonthName}}',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   182
        end_date_format : '{{dayOfMonth}} {{shortMonthName}}'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   183
    }, {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   184
        label : "Demi-Journée",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   185
        span : 12 * 3600 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   186
        grid_interval : 2 * 3600 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   187
        grid_date_format : '{{hours}}h',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   188
        start_date_format : '{{dayOfMonth}} {{shortMonthName}} {{hours}}h',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   189
        end_date_format : '{{dayOfMonth}} {{shortMonthName}} {{hours}}h'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   190
    }, {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   191
        label : "3 Heures",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   192
        span : 3 * 3600 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   193
        grid_interval : 30 * 60 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   194
        grid_date_format : '{{0hours}}:{{0minutes}}',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   195
        start_date_format : '{{dayOfMonth}} {{shortMonthName}} {{0hours}}:{{0minutes}}',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   196
        end_date_format : '{{0hours}}:{{0minutes}}'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   197
    }, {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   198
        label : "1 Heure",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   199
        span : 60 * 60 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   200
        grid_interval : 15 * 60 * 1000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   201
        grid_date_format : '{{0hours}}:{{0minutes}}',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   202
        start_date_format : '{{dayOfMonth}} {{shortMonthName}} {{0hours}}:{{0minutes}}',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   203
        end_date_format : '{{0hours}}:{{0minutes}}'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   204
    }],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   205
    level: 0,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   206
    central_time: 0,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   207
    sync_now: true,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   208
    urls_occurrences: [],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   209
    occurrences: [],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   210
    cluster_spacing: 12,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   211
    tooltip_date_format: '{{dayOfMonth}} {{shortMonthName}} {{year}} {{0hours}}:{{0minutes}}',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   212
    statuses: {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   213
        "valide": "Validée",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   214
        "a_valider": "A valider",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   215
        "a_realiser": "A réaliser"
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   216
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   217
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   218
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   219
for (var _i = 0; _i < Tlns.Defaults.Timeline.timescales.length; _i++) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   220
    Tlns.Defaults.Timeline.timescales[_i].level = _i;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   221
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   222
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   223
/* Templates */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   224
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   225
Tlns.Templates.Timeline = '<ul class="Onglets"><li class="Onglet-Tl active">Frise chronologique</li><li class="Onglet-Ls">Liste des occurrences</li></ul><div class="Tl-Main"><div class="Tl-TopBar"><div class="Tl-TopBar-Button Tl-Border-Right"><div class="Tl-TopBar-AddButton"></div></div><div class="Tl-TopBar-Spacer Tl-Border-Right"></div>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   226
    + '<div class="Tl-TopBar-Button Tl-Border-Right"><div class="Tl-TopBar-PreviousButton"></div></div><div class="Tl-TopBar-TimeSpan Tl-TopBar-TextBtn Tl-Border-Right">--/--</div>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   227
    + '<div class="Tl-TopBar-Button Tl-Border-Right"><div class="Tl-TopBar-SyncButton"></div></div><div class="Tl-TopBar-Button Tl-Border-Right"><div class="Tl-TopBar-NextButton"></div></div><div class="Tl-TopBar-Spacer Tl-Border-Right"></div>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   228
    + '<div class="Tl-TopBar-Timescales">{{#timescales}}<div class="Tl-TopBar-Button Tl-TopBar-TextBtn Tl-Border-Right" data-level="{{level}}">{{label}}</div>{{/timescales}}</div></div>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   229
    + '<div class="Tl-BottomPart"><ul class="Tl-UniversLabels"></ul>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   230
    + '<div class="Tl-MainPart"><div class="Tl-Layer Tl-Grid"></div><canvas class="Tl-Layer Tl-Canvas"></canvas><canvas class="Tl-Layer Tl-Linking-Canvas"></canvas><div class="Tl-Layer Tl-Occurrences"></div>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   231
    + '<ul class="Tl-Adding"><li class="Tl-AddingTitle">Ajout d\'une occurrence</li><li><span>Narrative</span><div class="Tl-AddOccurrence Tl-Occnarrative" occurrence-type="narrative" title="Glisser sur la frise chronologique pour ajouter"></div></li>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   232
    + '<li><span>De Publication</span><div class="Tl-AddOccurrence Tl-Occpublication" occurrence-type="publication" title="Glisser sur la frise chronologique pour ajouter"></div></li></ul></div>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   233
    + '<div class="Tl-Overlay-Container"><div class="Tl-Overlay-Box"><div class="Tl-Overlay"><div class="Tl-Overlay-Tip-Top"></div><div class="Tl-Overlay-Main"></div><div class="Tl-Overlay-Tip-Bottom"></div></div></div></div></div></div>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   234
    
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   235
    +'<div class="Ls-Main"><div class="Ls-Filtres">'
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   236
    + '<div class="Ls-Column"><h2>Filtres&nbsp;:</h2><h3>Univers&nbsp;:</h3><ul class="Ls-Univers"></ul></div>'
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   237
    + '<div class="Ls-Column"><h3>Type d\'occurrence&nbsp;:</h3><ul class="Ls-Occtypes"><li data="narrative" class="Ls-Critere Ls-Active Ls-CrWithIcon"><div class="Ls-OccIcon Tl-Occnarrative"></div>Narratives</li><li data="publication" class="Ls-Critere Ls-Active Ls-CrWithIcon"><div class="Ls-OccIcon Tl-Occpublication"></div>de Publication</li></ul>'
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   238
    + '<h3>Statut&nbsp;:</h3><ul class="Ls-Occstatuses"><li data="a_realiser" class="Ls-Critere Ls-Active Ls-CrWithIcon"><div class="Ls-OccIcon Tl-Occpublication Tl-Occa_realiser"></div>À réaliser</li><li data="a_valider" class="Ls-Critere Ls-Active Ls-CrWithIcon"><div class="Ls-OccIcon Tl-Occpublication Tl-Occa_valider"></div>À valider</li><li data="valide" class="Ls-Critere Ls-Active Ls-CrWithIcon"><div class="Ls-OccIcon Tl-Occpublication Tl-Occvalide"></div>Validé</li></ul></div>'
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   239
    + '<div class="Ls-Column"><h3>Format&nbsp;:</h3><ul class="Ls-Formats"></ul><h3>Est au JT&nbsp;:</h3><ul class="Ls-IsJt"><li class="Ls-Critere Ls-Active" data="1">Oui</li><li class="Ls-Critere Ls-Active" data="0">Non</li></ul></div>'
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   240
    + '<div class="Ls-Column"><h3>Réinitialiser filtres&nbsp;:</h3><ul><li class="Ls-Critere Ls-Active Ls-All">Tous les contenus</li></ul><h3>Recherche par titre&nbsp;:</h3><p><input class="Ls-Search" type="search" placeholder="Rechercher" /></p><h3>Date&nbsp;:</h3><p><label class="Ls-Label">Du </label><input class="Ls-From-Date Ls-Input" /></p><p><label class="Ls-Label">à </label><input class="Ls-From-Time Ls-Input" /></p><p><label class="Ls-Label">Au </label><input class="Ls-To-Date Ls-Input" /></p><p><label class="Ls-Label">à </label><input class="Ls-To-Time Ls-Input" /></p></div>'
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   241
    + '</div><div class="Ls-Resultats"><h2>Occurrences&nbsp;:</h2><ul class="Ls-Occurrences"></ul></div></div>';
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   242
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   243
Tlns.Templates.Univers = '<span class="Tl-UniversText">{{title}}</span>';
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   244
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   245
Tlns.Templates.Univers_List = '{{#univers}}<li data="{{id}}" class="Ls-Critere Ls-Active">{{title}}</li>{{/univers}}';
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   246
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   247
Tlns.Templates.Formats_List = '{{#formats}}<li class="Ls-Critere Ls-Active">{{.}}</li>{{/formats}}';
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   248
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   249
Tlns.Templates.Occurrence = '{{#clusters}}<div class="Tl-Cluster" style="left: {{x}}px; top: {{y}}px;" cluster-contents="{{contents}}">'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   250
    + '<div class="Tl-ClusterCount">{{occurrences.length}}</div></div>{{/clusters}}'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   251
    + '{{#occurrences}}<div class="Tl-Occurrence Tl-OccOnGrid Tl-Occ{{type}} Tl-Occ{{status}}{{#editing}} Tl-Editing{{/editing}}" occurrence-id="{{id}}" style="left: {{x}}px; top: {{y}}px;">'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   252
//  + '{{#locked}}<div class="Tl-Locked"></div>{{/locked}}'
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   253
    + '<div class="Tl-Link"></div></div>{{/occurrences}}{{#open_cluster}}<div class="Tl-ClusterOverlay" style="left: {{x}}px; top: {{y}}px;">'
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   254
    + '{{#occurrences}}<div class="Tl-Occurrence Tl-OccInCluster Tl-Occ{{type}} Tl-Occ{{status}}{{#editing}} Tl-Editing{{/editing}}" occurrence-id="{{id}}">'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   255
    + '{{#locked}}<div class="Tl-Locked"></div>{{/locked}}<div class="Tl-Link"{{#editing}} style="display: block"{{/editing}}></div></div>{{/occurrences}}</div>{{/open_cluster}}';
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   256
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   257
Tlns.Templates.Occurrence_List = '{{#occurrences}}<li class="Ls-Occurrence" data-id="{{id}}"><div class="Ls-OccIcon Tl-Occ{{type}} Tl-Occ{{status}}"></div><h4 class="Ls-Occurrence-Title"><a href="#">{{title}}</a></h4>'
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   258
    + '<p class="Ls-Occ-More">{{formatted_date}} &mdash; {{univers.title}} &mdash; {{translated_status}} &mdash; {{#jt}}Au JT{{/jt}}{{^jt}}Hors JT{{/jt}}{{#format}} &mdash; {{format}}{{/format}}</p><div style="clear:both;"></div></li>{{/occurrences}}';
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   259
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   260
Tlns.Templates.OccurrenceTooltip = '<h3 class="Tl-Tooltip-Title">{{title}}</h3><p class="Tl-Tooltip-Date">{{formatted_date}} &mdash; {{translated_status}} &mdash; {{#jt}}Au JT{{/jt}}{{^jt}}Hors JT{{/jt}}{{#format}} &mdash; {{format}}{{/format}}</p>'
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   261
    + '<p class="Tl-Tooltip-Description">{{description}}</p>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   262
//    + '<p class="Tl-Tooltip-Characters">{{univers.mainCharacter}}{{#characters}}, {{.}}{{/characters}}</p>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   263
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   264
/* Classes */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   265
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   266
Tlns.Classes.Timeline = function(_options) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   267
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   268
    /* Setting Defaults */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   269
    Tlns.Utils.SetDefaults(this, Tlns.Defaults.Timeline, _options);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   270
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   271
    /* Setting container CSS */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   272
    this.$ = $('#' + this.container).html(Mustache.to_html(Tlns.Templates.Timeline, this));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   273
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   274
    this.$.find('.Tl-Main').css({
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   275
        width : this.width + "px",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   276
        height : this.height + "px"
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   277
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   278
    this.main_height = this.height - this.$.find('.Tl-TopBar').outerHeight();
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   279
    //this.main_height = this.height - 27;
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   280
    this.$.find('.Tl-BottomPart').css("height", this.main_height + "px");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   281
    this.$.find('.Tl-MainPart').css("width", this.main_width + "px");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   282
    this.$.find('.Tl-Overlay-Container').css("left", (this.$.find('.Tl-BottomPart').outerWidth() - this.main_width) + "px");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   283
    this.$.find('canvas.Tl-Layer').attr({
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   284
        width: this.main_width,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   285
        height: this.main_height
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   286
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   287
    var _o = this.$.find('.Tl-MainPart').offset();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   288
    this.dragging_bounds = {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   289
        left: _o.left,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   290
        top: _o.top,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   291
        right: _o.left + this.$.find('.Tl-MainPart').outerWidth(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   292
        bottom: _o.top + this.$.find('.Tl-MainPart').outerHeight(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   293
    };
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   294
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   295
    var _this = this;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   296
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   297
    this.throttledDrawGrid = _.throttle(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   298
        _this.drawGrid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   299
    }, 150);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   300
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   301
    this.throttledDrawList = _.throttle(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   302
        _this.drawList();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   303
    }, 150);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   304
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   305
    this.setLevel(this.level);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   306
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   307
    this.$.find('.Tl-TopBar-Timescales>div').click(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   308
        _this.setLevel($(this).attr("data-level"));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   309
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   310
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   311
    this.$.find('.Tl-TopBar-SyncButton').click(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   312
        _this.sync_now = !_this.sync_now;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   313
        _this.changeSpan();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   314
    })
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   315
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   316
    this.$.find('.Tl-TopBar-PreviousButton').click(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   317
        _this.offsetTime(-_this.timescales[_this.level].span / 4);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   318
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   319
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   320
    this.$.find('.Tl-TopBar-NextButton').click(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   321
        _this.offsetTime(_this.timescales[_this.level].span / 4);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   322
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   323
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   324
    this.$.find('.Tl-MainPart').mousedown(function(_event) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   325
        _this.onMouseDown(_event);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   326
        return false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   327
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   328
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   329
    this.$.find('.Tl-MainPart').mousemove(function(_event) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   330
        _this.onMouseMove(_event);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   331
        return false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   332
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   333
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   334
    this.$.find('.Tl-MainPart').mouseup(function(_event) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   335
        _this.onMouseUp(_event);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   336
        return false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   337
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   338
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   339
    this.$.find('.Tl-MainPart').mousewheel(function(_event, _delta) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   340
        var _newLevel = Math.max(0,Math.min(_this.timescales.length-1, (_delta < 0 ? -1 : 1) + parseInt(_this.level)));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   341
        if (_newLevel != _this.level) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   342
            _this.hideTooltip();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   343
            var _deltaX = _event.pageX - _this.dragging_bounds.left,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   344
                _tAtMouse = _this.timeFromMouse(_event.pageX),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   345
                _newScale = _this.main_width / (_this.timescales[_newLevel].span),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   346
                _newStart = _tAtMouse - _deltaX / _newScale;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   347
            _this.central_time = _newStart + _this.timescales[_newLevel].span / 2;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   348
            _this.setLevel(_newLevel);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   349
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   350
        return false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   351
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   352
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   353
    this.$.find('.Tl-Overlay-Box').mouseover(function(_event) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   354
        $(this).show();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   355
    }).mouseout(function(_event) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   356
        $(this).hide();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   357
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   358
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   359
    this.$.find('.Tl-TopBar-AddButton').click(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   360
        $(this).toggleClass('active');
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   361
        _this.$.find('.Tl-Adding').toggle();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   362
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   363
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   364
    this.$.find('.Tl-AddOccurrence').mousedown(function(_event) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   365
        var _el = $(this),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   366
            _type = _el.attr("occurrence-type"),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   367
            _d = _this.timeFromMouse(_event.pageX),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   368
            _u = _this.universFromMouse(_event.pageY),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   369
            _occ = _this.createOrUpdateOccurrence(
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   370
                _type,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   371
                {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   372
                    datePublication: Math.floor(_d / 1000),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   373
                    titre: '<Nouvelle occurrence>',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   374
                    idUnivers: _this.univers[_u].id,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   375
                    statut: 'a_realiser',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   376
                    jt: false
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   377
                }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   378
            );
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   379
        _occ.just_created = true;
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   380
        _(_this.occurrences).each(function(_occ) {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   381
            _occ.editing = false;
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   382
        });
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   383
        _occ.editing = true;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   384
        _this.editing_occurrence = _occ;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   385
        _this.dragging_type = "occurrence";
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   386
        window.setTimeout(function () {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   387
            _this.$.find('.Tl-TopBar-AddButton').removeClass('active');
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   388
            _this.$.find('.Tl-Adding').hide();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   389
        }, 200);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   390
        _this.throttledDrawGrid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   391
    }).mouseup(function(_event) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   392
        _this.onMouseUp(_event);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   393
        return false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   394
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   395
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   396
    /* Loading Univers */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   397
    $.getJSON(this.url_univers, function(_data) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   398
        _this.onUniversLoaded(_data);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   399
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   400
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   401
    /* LIST */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   402
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   403
    this.$.find("li.Ls-Critere").click(function() {
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   404
        Tlns.Utils.clickActiveProcess($(this));
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   405
        _this.throttledDrawList();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   406
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   407
    this.$.find(".Ls-Search").bind("keyup change click", function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   408
        _this.throttledDrawList();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   409
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   410
    this.$.find(".Ls-From-Date, .Ls-To-Date").datepicker(
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   411
        {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   412
            dateFormat: "dd/mm/yy",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   413
            dayNames: [ "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" ],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   414
            dayNamesShort: [ "Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam" ],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   415
            dayNamesMin: [ "D", "L", "Ma", "Me", "J", "V", "S" ],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   416
            monthNames:  [ "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre" ],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   417
            monthNamesShort: [ "Jan", "Fév", "Mar", "Avr", "Mai", "Jun", "Jul", "Aoû", "Sep", "Oct", "Nov", "Déc" ],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   418
            showOtherMonths: true,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   419
            selectOtherMonths: true
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   420
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   421
    ).change(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   422
        var _val = $(this).val();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   423
        if (_val) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   424
            $(this).val(Tlns.Utils.dateFieldProcess( _val ).text);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   425
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   426
        _this.drawList();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   427
    }).bind("keyup", function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   428
        _this.throttledDrawList();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   429
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   430
    this.$.find(".Ls-From-Time, .Ls-To-Time").change(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   431
        var _val = $(this).val();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   432
        if (_val) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   433
            $(this).val(Tlns.Utils.timeFieldProcess( _val ).text);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   434
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   435
        _this.throttledDrawList();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   436
    }).bind("keyup", function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   437
        _this.throttledDrawList();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   438
    });
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   439
    this.$.find(".Ls-All").click(function() {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   440
       _this.$.find(".Ls-Critere").addClass("Ls-Active");
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   441
       _this.throttledDrawList();
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   442
    });
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   443
    this.$.find(".Ls-None").click(function() {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   444
       _this.$.find(".Ls-Critere").removeClass("Ls-Active");
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   445
       _this.throttledDrawList();
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   446
    });
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   447
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   448
    this.$.find(".Onglet-Tl").click(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   449
        _this.$.find(".Tl-Main").show();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   450
        _this.$.find(".Ls-Main").hide();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   451
        _this.$.find(".Onglet-Ls").removeClass("active");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   452
        _this.$.find(".Onglet-Tl").addClass("active");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   453
        _this.throttledDrawGrid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   454
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   455
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   456
    this.$.find(".Onglet-Ls").click(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   457
        _this.$.find(".Ls-Main").show();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   458
        _this.$.find(".Tl-Main").hide();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   459
        _this.$.find(".Onglet-Tl").removeClass("active");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   460
        _this.$.find(".Onglet-Ls").addClass("active");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   461
        _this.throttledDrawList();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   462
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   463
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   464
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   465
    /* BINDING MEDIADATA EVENTS */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   466
   
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   467
    $("body").bind("AjoutOccurrenceEditeur MiseAJourOccurrenceEditeur", function(_event, _data) {
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   468
        var _type = _data.typeOccurrence.replace(/^Occurrence/i,'').toLowerCase();
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   469
        _this.createOrUpdateOccurrence(_type, _data);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   470
        _this.throttledDrawGrid();
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   471
        _this.throttledDrawList();
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   472
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   473
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   474
    $("body").bind("SuppressionOccurrenceEditeur", function(_event, _data) {
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   475
        var _id = _data.typeOccurrence.replace(/^Occurrence/i,'').toLowerCase() + '_' + _data.id;
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   476
        _this.deleteOccurrence(_id);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   477
        _this.throttledDrawGrid();
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   478
        _this.throttledDrawList();
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   479
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   480
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   481
    $("body").bind("AjoutDependanceEditeur", function(_event, _data) {
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   482
        var _sourceId = _data.typeOccurrence.replace(/^Occurrence/i,'').toLowerCase() + '_' + _data.id,
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   483
            _targetId = _data.typeOccurrenceCible.replace(/^Occurrence/i,'').toLowerCase() + '_' + _data.idCible;
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   484
        _this.getOccurrence(_sourceId).addDependency(_targetId);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   485
        _this.throttledDrawGrid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   486
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   487
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   488
    $("body").bind("SuppressionDependanceEditeur", function(_event, _data) {
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   489
        var _sourceId = _data.typeOccurrence.replace(/^Occurrence/i,'').toLowerCase() + '_' + _data.id,
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   490
            _targetId = _data.typeOccurrenceCible.replace(/^Occurrence/i,'').toLowerCase() + '_' + _data.idCible;
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   491
        _this.getOccurrence(_sourceId).removeDependency(_targetId);
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   492
        _this.throttledDrawGrid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   493
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   494
    
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   495
    $("body").bind("SelectionOccurrenceEditeur", function(_event, _data) {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   496
        var _id = _data.typeOccurrence.replace(/^Occurrence/i,'').toLowerCase() + '_' + _data.id;
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   497
        _(_this.occurrences).each(function(_occ) {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   498
            _occ.editing = (_occ.id == _id);
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   499
        });
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   500
        _this.throttledDrawGrid();
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   501
    })
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   502
    
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   503
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   504
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   505
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   506
Tlns.Classes.Timeline.prototype.onMouseDown = function(_event) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   507
    this.mouse_down = true;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   508
    this.is_dragging = false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   509
    this.start_pos = {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   510
        x: _event.pageX,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   511
        y: _event.pageY
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   512
    };
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   513
    if (typeof this.dragging_type === "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   514
        this.time_at_start = this.central_time;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   515
        this.dragging_type = "timeline";
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   516
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   517
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   518
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   519
Tlns.Classes.Timeline.prototype.onMouseUp = function(_event) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   520
    if (this.is_dragging) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   521
        switch (this.dragging_type) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   522
            case "occurrence":
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   523
                var _event = ( this.editing_occurrence.just_created ? "Ajout" : "MiseAJour" ) + "OccurrenceTimeline",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   524
                    _data = {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   525
                        id: this.editing_occurrence.original_id,
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   526
                        typeOccurrence: "Occurrence" + this.editing_occurrence.type.replace(/^./,function(_l) { return _l.toUpperCase()}),
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   527
                        datePublication : Math.floor(this.editing_occurrence.date / 1000),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   528
                        titre : this.editing_occurrence.title,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   529
                        idUnivers: this.editing_occurrence.univers_id,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   530
                        statut: this.statuses[this.editing_occurrence.status],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   531
                        JT: +!!this.editing_occurrence.jt
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   532
                    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   533
                $("body").trigger(_event, _data);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   534
                this.editing_occurrence.just_created = false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   535
                this.throttledDrawGrid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   536
            break;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   537
            case "link":
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   538
                this.throttledDrawGrid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   539
                var _ctx = this.$.find('.Tl-Linking-Canvas')[0].getContext('2d');
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   540
                _ctx.clearRect(0,0,this.main_width, this.main_height);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   541
            break;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   542
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   543
    } else {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   544
        if (this.dragging_type == "occurrence" || this.dragging_type == "link") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   545
            if (this.editing_occurrence.just_created) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   546
                this.deleteOccurrence(this.editing_occurrence.id);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   547
                this.throttledDrawGrid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   548
            } else {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   549
                var _data = {
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   550
                        id: this.editing_occurrence.original_id,
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   551
                        typeOccurrence: "Occurrence" + this.editing_occurrence.type.replace(/^./,function(_l) { return _l.toUpperCase()})
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   552
                    }
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   553
                $("body").trigger("SelectionOccurrenceTimeline", _data);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   554
            }
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   555
        } 
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   556
    }
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   557
    this.$.find('.Tl-Link').hide();
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   558
    this.mouse_down = false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   559
    this.is_dragging = false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   560
    this.dragging_type = undefined;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   561
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   562
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   563
Tlns.Classes.Timeline.prototype.timeFromX = function(_x) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   564
    return Math.max(this.start_time,Math.min(this.end_time, this.start_time + _x / this.current_scale));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   565
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   566
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   567
Tlns.Classes.Timeline.prototype.timeFromMouse = function(_pageX) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   568
    return this.timeFromX(_pageX - this.dragging_bounds.left);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   569
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   570
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   571
Tlns.Classes.Timeline.prototype.universFromY = function(_y) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   572
    return Math.max(0,Math.min(this.univers.length, Math.floor(_y / this.univers_height)))
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   573
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   574
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   575
Tlns.Classes.Timeline.prototype.universFromMouse = function(_pageY) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   576
    return this.universFromY(_pageY - this.dragging_bounds.top);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   577
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   578
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   579
Tlns.Classes.Timeline.prototype.onMouseMove = function(_event) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   580
    if (this.mouse_down) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   581
        this.is_dragging = true;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   582
        this.hideTooltip();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   583
        switch (this.dragging_type) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   584
            case "occurrence":
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   585
                var _d = this.timeFromMouse(_event.pageX);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   586
                this.editing_occurrence.date = _d;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   587
                this.editing_occurrence.formatted_date = Tlns.Utils.dateFormat(this.editing_occurrence.date,this.tooltip_date_format);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   588
                var _u = this.universFromMouse(_event.pageY);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   589
                this.editing_occurrence.univers = this.univers[_u];
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   590
                this.editing_occurrence.univers_id = this.univers[_u].id;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   591
                this.throttledDrawGrid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   592
            break;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   593
            case "timeline":
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   594
                this.setTime(this.time_at_start + Math.floor(( this.start_pos.x - _event.pageX ) / this.current_scale));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   595
            break;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   596
            case "link":
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   597
                var _ctx = this.$.find('.Tl-Linking-Canvas')[0].getContext('2d');
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   598
                _ctx.clearRect(0,0,this.main_width, this.main_height);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   599
                Tlns.Utils.drawArrow(
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   600
                    _ctx,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   601
                    '#800080',
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   602
                    this.editing_occurrence.x,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   603
                    this.editing_occurrence.y + Math.floor(this.univers_height / 2),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   604
                    _event.pageX - this.dragging_bounds.left,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   605
                    _event.pageY - this.dragging_bounds.top
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   606
                );
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   607
            break;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   608
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   609
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   610
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   611
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   612
Tlns.Classes.Timeline.prototype.onUniversLoaded = function(_data) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   613
    this.univers = [];
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   614
    if(_data.length) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   615
        this.univers_height = Math.floor(this.main_height / _data.length);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   616
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   617
    for(var _i = 0; _i < _data.length; _i++) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   618
        this.univers.push(new Tlns.Classes.Univers(_data[_i], this, _i));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   619
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   620
    
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   621
    this.$.find(".Ls-Univers").html(
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   622
        Mustache.to_html(
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   623
            Tlns.Templates.Univers_List,
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   624
            {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   625
                univers: _(this.univers).map(function(_u) {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   626
                    return {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   627
                        id: _u.id,
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   628
                        title: _u.title.replace(/(^.{10,20})[\s].+$/m,'$1&hellip;')
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   629
                    }
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   630
                })
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   631
            }
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   632
        )
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   633
    );
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   634
    var _this = this;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   635
    this.$.find(".Ls-Univers li.Ls-Critere").click( function() {
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   636
        Tlns.Utils.clickActiveProcess($(this));
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   637
        _this.throttledDrawList();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   638
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   639
    this.loadOccurrences();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   640
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   641
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   642
Tlns.Classes.Timeline.prototype.offsetTime = function(_timeOffset) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   643
    this.setTime(this.central_time + _timeOffset);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   644
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   645
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   646
Tlns.Classes.Timeline.prototype.setTime = function(_centralTime) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   647
    this.sync_now = false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   648
    this.central_time = _centralTime;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   649
    this.changeSpan();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   650
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   651
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   652
Tlns.Classes.Timeline.prototype.setLevel = function(_level) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   653
    if (_level >= 0 && _level < this.timescales.length) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   654
        this.$.find('.Tl-TopBar-Timescales>div').each(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   655
            var _el = $(this);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   656
            if (_el.attr("data-level") == _level) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   657
                _el.addClass("active");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   658
            } else {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   659
                _el.removeClass("active");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   660
            }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   661
        });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   662
        this.level = _level;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   663
        this.changeSpan();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   664
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   665
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   666
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   667
Tlns.Classes.Timeline.prototype.changeSpan = function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   668
    var _now = new Date().valueOf();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   669
    if (this.sync_now) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   670
        this.central_time = _now;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   671
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   672
    var _timescale = this.timescales[this.level];
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   673
    this.current_scale = this.main_width / (_timescale.span);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   674
    this.start_time = this.central_time - (_timescale.span / 2);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   675
    this.end_time = this.central_time + (_timescale.span / 2);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   676
    this.$.find(".Ls-From-Time").val(Tlns.Utils.dateFormat(this.start_time, '{{0hours}}:{{0minutes}}'));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   677
    this.$.find(".Ls-From-Date").val(Tlns.Utils.dateFormat(this.start_time, '{{0dayOfMonth}}/{{0monthNumber}}/{{year}}'));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   678
    this.$.find(".Ls-To-Time").val(Tlns.Utils.dateFormat(this.end_time, '{{0hours}}:{{0minutes}}'));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   679
    this.$.find(".Ls-To-Date").val(Tlns.Utils.dateFormat(this.end_time, '{{0dayOfMonth}}/{{0monthNumber}}/{{year}}'));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   680
    this.throttledDrawGrid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   681
    this.throttledDrawList();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   682
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   683
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   684
Tlns.Classes.Timeline.prototype.drawGrid = function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   685
    if (this.sync_now) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   686
        this.$.find('.Tl-TopBar-SyncButton').addClass("active");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   687
    } else {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   688
        this.$.find('.Tl-TopBar-SyncButton').removeClass("active");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   689
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   690
    var _now = new Date().valueOf(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   691
        _timescale = this.timescales[this.level],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   692
        _offset = new Date().getTimezoneOffset() * 60000,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   693
        _grid_width = Math.floor(_timescale.grid_interval * this.current_scale),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   694
        _roundstart = Math.floor((this.start_time - _offset) / _timescale.grid_interval) * _timescale.grid_interval + _offset,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   695
        _html = '';
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   696
    this.$.find('.Tl-TopBar-TimeSpan').html(Tlns.Utils.dateFormat(this.start_time, _timescale.start_date_format) + ' - ' + Tlns.Utils.dateFormat(this.end_time, _timescale.end_date_format));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   697
    for (var _t = _roundstart; _t < this.end_time; _t += _timescale.grid_interval) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   698
        var _x = this.current_scale * (_t - this.start_time);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   699
        if (_x > 0) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   700
            _html += '<div class="Tl-Grid-Column" style="width:' + _grid_width + 'px; left: ' + _x + 'px">'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   701
            + '<div class="Tl-Grid-Label">' + Tlns.Utils.dateFormat(_t, _timescale.grid_date_format) + '</div></div>';
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   702
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   703
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   704
    if (this.start_time <= _now && this.end_time >= _now) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   705
        _html += '<div class="Tl-Grid-Now" style="left: ' + this.current_scale * (_now - this.start_time) + 'px"></div>'
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   706
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   707
    this.$.find('.Tl-Grid').html(_html);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   708
    this.drawOccurrences();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   709
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   710
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   711
Tlns.Classes.Timeline.prototype.loadOccurrences = function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   712
    var _this = this;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   713
    _(this.urls_occurrences).each(function(_url_occ) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   714
        $.getJSON(_url_occ.url, function(_data) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   715
            _this.onOccurrencesLoaded(_data, _url_occ.type);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   716
        });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   717
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   718
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   719
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   720
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   721
Tlns.Classes.Timeline.prototype.onOccurrencesLoaded = function(_data, _type) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   722
    for (var _i = 0; _i < _data.length; _i++) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   723
        this.createOrUpdateOccurrence(_type, _data[_i]);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   724
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   725
    if (!this.mouse_down) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   726
        this.drawOccurrences();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   727
    }
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   728
    this.$.find(".Ls-Formats").html(
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   729
        Mustache.to_html(
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   730
            Tlns.Templates.Formats_List,
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   731
            {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   732
                formats: _(this.occurrences).chain().pluck('format').unique().value()
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   733
            }
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   734
        )
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   735
    );
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   736
    var _this = this;
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   737
    this.$.find(".Ls-Formats li.Ls-Critere").click( function() {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   738
        Tlns.Utils.clickActiveProcess($(this));
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   739
        _this.throttledDrawList();
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   740
    });
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   741
    this.throttledDrawList();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   742
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   743
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   744
Tlns.Classes.Timeline.prototype.deleteOccurrence = function(_id) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   745
    this.occurrences = _(this.occurrences).reject(function(_occ) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   746
        return _occ.id == _id;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   747
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   748
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   749
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   750
Tlns.Classes.Timeline.prototype.getOccurrence = function(_id) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   751
    return _(this.occurrences).find(function(_occ) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   752
        return _occ.id == _id;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   753
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   754
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   755
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   756
Tlns.Classes.Timeline.prototype.createOrUpdateOccurrence = function(_type, _data) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   757
    var _id = _type + "_" + _data.id,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   758
        _occurrence = this.getOccurrence(_id);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   759
    if (typeof _occurrence === "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   760
        _occurrence = new Tlns.Classes.Occurrence(this);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   761
        this.occurrences.push(_occurrence);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   762
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   763
    _occurrence.update(_type, _data);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   764
    return _occurrence;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   765
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   766
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   767
Tlns.Classes.Timeline.prototype.showTooltip = function(_x, _y, _html, _isUp) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   768
    this.$.find('.Tl-Overlay-Box')
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   769
        .removeClass(_isUp ? 'Tl-Overlay-Down' : 'Tl-Overlay-Up')
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   770
        .addClass(_isUp ? 'Tl-Overlay-Up' : 'Tl-Overlay-Down')
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   771
        .show()
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   772
        .css({
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   773
            left: _x + "px",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   774
            top: _y + "px"
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   775
        });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   776
    this.$.find('.Tl-Overlay-Main').html(_html);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   777
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   778
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   779
Tlns.Classes.Timeline.prototype.hideTooltip = function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   780
    this.$.find('.Tl-Overlay-Box').hide();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   781
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   782
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   783
Tlns.Classes.Timeline.prototype.drawOccurrences = function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   784
    var _this = this,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   785
        _visible = _(this.occurrences).filter(function(_occ) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   786
        return (_occ.date >= _this.start_time && _occ.date <= _this.end_time && _occ.status);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   787
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   788
    _(_visible).each(function(_occ) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   789
        _occ.x = _this.current_scale * (_occ.date - _this.start_time);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   790
        _occ.y = _occ.univers.y;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   791
        _occ.in_cluster = false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   792
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   793
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   794
    var _moved = true;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   795
    while (_moved) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   796
        _moved = false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   797
        for (var _i = 0; _i < _visible.length; _i++) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   798
            for (var _j = 0; _j < _i; _j++) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   799
                if (_visible[_j].univers_id == _visible[_i].univers_id
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   800
                    && _visible[_j].x != _visible[_i].x
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   801
                    && Math.abs(_visible[_j].x-_visible[_i].x) < this.cluster_spacing
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   802
                ) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   803
                    _moved = true;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   804
                    _visible[_i].x = this.cluster_spacing * Math.round(_visible[_i].x / this.cluster_spacing);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   805
                    _visible[_j].x = this.cluster_spacing * Math.round(_visible[_j].x / this.cluster_spacing);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   806
                }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   807
            }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   808
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   809
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   810
    var _clusters = [],
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   811
        _openCluster = false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   812
    for (var _i = 0; _i < _visible.length; _i++) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   813
        for (var _j = 0; _j < _i; _j++) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   814
            if (_visible[_j].univers_id == _visible[_i].univers_id && _visible[_j].x == _visible[_i].x) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   815
                _visible[_j].in_cluster = true;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   816
                _visible[_i].in_cluster = true;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   817
                var _x = _visible[_j].x,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   818
                    _y = _visible[_j].y;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   819
                    _cluster = _(_clusters).find(function(_c) { return _c.x == _x && _c.y == _y });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   820
                if (typeof _cluster === "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   821
                    _cluster = { x: _x, y: _y, occurrences: [] };
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   822
                    _clusters.push(_cluster);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   823
                }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   824
                if ("undefined" === typeof _(_cluster.occurrences).find(function(_o) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   825
                    return _o.type == _visible[_j].type && _o.id == _visible[_j].id;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   826
                })) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   827
                    _cluster.occurrences.push(_visible[_j]);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   828
                }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   829
                if ("undefined" === typeof _(_cluster.occurrences).find(function(_o) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   830
                    return _o.type == _visible[_i].type && _o.id == _visible[_i].id;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   831
                })) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   832
                    _cluster.occurrences.push(_visible[_i]);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   833
                }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   834
            }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   835
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   836
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   837
    _(_clusters).each(function(_cluster) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   838
        _cluster.occurrences = _(_cluster.occurrences).sortBy(function(_o) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   839
            return _o.date;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   840
        });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   841
        _cluster.contents = _cluster.occurrences.map(function(_o) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   842
            return _o.type + ":" + _o.id;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   843
        }).join("|");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   844
        if (_cluster.contents == _this.open_cluster) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   845
            _openCluster = _cluster;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   846
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   847
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   848
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   849
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   850
    var _links = [];
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   851
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   852
    _(_visible).each(function(_occurrence) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   853
        _(_occurrence.dependsOn).each(function(_dependance) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   854
            var _parent = _(_visible).find(function(_o) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   855
                return _o.id == _dependance;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   856
            });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   857
            if (typeof _parent !== "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   858
                _links.push({
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   859
                    from_x: _occurrence.x,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   860
                    from_y: _occurrence.y + Math.floor(_this.univers_height / 2),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   861
                    to_x: _parent.x,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   862
                    to_y: _parent.y + Math.floor(_this.univers_height / 2)
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   863
                });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   864
            }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   865
        });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   866
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   867
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   868
    var _ctx = this.$.find('.Tl-Canvas')[0].getContext('2d');
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   869
    _ctx.clearRect(0,0,this.main_width, this.main_height);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   870
    _(_links).each(function(_link) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   871
        Tlns.Utils.drawArrow(_ctx, "#505050", _link.from_x,_link.from_y, _link.to_x,_link.to_y);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   872
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   873
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   874
    var _html = Mustache.to_html(Tlns.Templates.Occurrence, {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   875
        occurrences:_(_visible).reject(function(_o) {return _o.in_cluster}),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   876
        clusters: _clusters,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   877
        open_cluster: _openCluster
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   878
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   879
    this.$.find('.Tl-Occurrences').html(_html);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   880
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   881
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   882
    if (_openCluster) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   883
        var _w = this.$.find('.Tl-Occurrence').width(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   884
            _ww = _w * _openCluster.occurrences.length;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   885
        this.$.find('.Tl-ClusterOverlay').css({
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   886
            "margin-left": - Math.floor(_ww/2) + "px",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   887
            width: _ww
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   888
        });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   889
        _(_openCluster.occurrences).each(function(_o, _i) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   890
            _o.y = _o.y - 20;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   891
            _o.x = _o.x - (_ww / 2) + ((_i + .5) * _w);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   892
        });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   893
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   894
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   895
    this.$.find('.Tl-Occurrence').mousedown(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   896
        var _el = $(this),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   897
            _id = _el.attr("occurrence-id");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   898
        if (typeof _id !== "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   899
            _this.editing_occurrence = _this.getOccurrence(_id);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   900
            if (typeof _this.dragging_type === "undefined" && typeof _this.editing_occurrence !== "undefined" /* && !_this.editing_occurrence.locked */ ) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   901
                _this.dragging_type = "occurrence";
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   902
            }
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   903
            if (!_this.editing_occurrence.editing) {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   904
                _(_this.occurrences).each(function(_occ) {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   905
                    _occ.editing = false;
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   906
                });
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   907
                _this.editing_occurrence.editing = true;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   908
            }
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   909
            _this.throttledDrawGrid();
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   910
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   911
    }).mouseover(function(_event) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   912
        var _el = $(this),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   913
            _id = _el.attr("occurrence-id");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   914
        if (typeof _id !== "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   915
            var _occurrence = _this.getOccurrence(_id);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   916
//            if (!_occurrence.locked) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   917
            _el.find('.Tl-Link').show();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   918
//            }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   919
            if (!_this.is_dragging) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   920
                var _html = Mustache.to_html(Tlns.Templates.OccurrenceTooltip, _occurrence);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   921
                _this.showTooltip(_occurrence.x, _occurrence.y, _html, (_event.pageY - _this.dragging_bounds.top) >= (.4 * _this.main_height) );
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   922
            }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   923
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   924
    }).mouseout(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   925
        var _el = $(this),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   926
            _id = _el.attr("occurrence-id");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   927
        if (typeof _id !== "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   928
            var _occurrence = _this.getOccurrence(_id);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   929
            _this.hideTooltip();
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   930
            _this.$.find('.Tl-Link').hide();
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   931
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   932
    }).mouseup(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   933
        var _el = $(this);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   934
        if (_this.dragging_type == "link") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   935
            var _target = _el.attr("occurrence-id");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   936
            if (_target != _this.editing_occurrence.id) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   937
                _this.editing_occurrence.addDependency(_target);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   938
                $("body").trigger("AjoutDependanceTimeline",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   939
                    {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   940
                        id: _this.editing_occurrence.original_id,
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   941
                        typeOccurrence: "Occurrence" + _this.editing_occurrence.type.replace(/^./,function(_l) { return _l.toUpperCase()}),
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   942
                        idCible: _target.replace(/^.*_/,''),
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
   943
                        typeOccurrenceCible: "Occurrence" + _target.replace(/_.*$/,'').replace(/^./,function(_l) { return _l.toUpperCase()})
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   944
                    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   945
                );
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   946
            }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   947
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   948
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   949
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   950
    this.$.find('.Tl-Link').mousedown(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   951
        var _el = $(this).parent(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   952
            _id = _el.attr("occurrence-id");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   953
        _this.editing_occurrence = _this.getOccurrence(_id);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   954
        if (typeof _this.editing_occurrence !== "undefined" /* && !_this.editing_occurrence.locked */ ) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   955
            _this.dragging_type = "link";
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   956
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   957
    })
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   958
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   959
    this.$.find('.Tl-Cluster').click(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   960
        var _el = $(this),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   961
            _contents = _el.attr("cluster-contents");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   962
        if (_this.open_cluster == _contents) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   963
            _this.open_cluster = false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   964
        } else {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   965
            _this.open_cluster = _contents;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   966
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   967
        _this.throttledDrawGrid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   968
    })
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   969
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   970
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   971
Tlns.Classes.Timeline.prototype.drawList = function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   972
    var _universfilter = this.$.find(".Ls-Univers li.Ls-Active").map(function(){return $(this).attr("data")}),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   973
        _occtypefilter = this.$.find(".Ls-Occtypes li.Ls-Active").map(function(){return $(this).attr("data")}),
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
   974
        _formatsfilter = this.$.find(".Ls-Formats li.Ls-Active").map(function(){return $(this).text()}),
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   975
        _statusfilter = this.$.find(".Ls-Occstatuses li.Ls-Active").map(function(){return $(this).attr("data")}),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   976
        _jtfilter = this.$.find(".Ls-IsJt li.Ls-Active").map(function(){return !!+$(this).attr("data")}),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   977
        _title = this.$.find(".Ls-Search").val() || "",
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   978
        _titleregexp = new RegExp( "(" + _title.replace(/(\W)/gm, "\\$1") + ")", "gim" ),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   979
        _startdate = false,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   980
        _enddate = false,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   981
        _fromDate = this.$.find(".Ls-From-Date").val(),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   982
        _toDate = this.$.find(".Ls-To-Date").val();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   983
    if (_fromDate) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   984
        var _date = Tlns.Utils.dateFieldProcess(_fromDate),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   985
            _time = Tlns.Utils.timeFieldProcess(this.$.find(".Ls-From-Time").val());
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   986
        _startdate = new Date(_date.year, _date.month - 1, _date.date, _time.hours, _time.minutes);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   987
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   988
    if (_toDate) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   989
        var _date = Tlns.Utils.dateFieldProcess(_toDate),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   990
            _time = Tlns.Utils.timeFieldProcess(this.$.find(".Ls-To-Time").val());
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   991
        _enddate = new Date(_date.year, _date.month - 1, _date.date, _time.hours, _time.minutes);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   992
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   993
    this.$.find(".Ls-Occurrences").html(
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   994
        Mustache.to_html(
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   995
            Tlns.Templates.Occurrence_List,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   996
            {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   997
                occurrences: this.occurrences.filter(function(_occ) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   998
                    var _titletest = (!!_occ.title.match(_titleregexp)),
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
   999
                        _keep = (
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1000
                               ( !_title || _titletest )
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
  1001
                            && _(_occtypefilter).include(_occ.type)
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
  1002
                            && _(_universfilter).include(_occ.univers_id)
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
  1003
                            && _(_statusfilter).include(_occ.status)
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
  1004
                            && _(_formatsfilter).include(_occ.format)
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
  1005
                            && _(_jtfilter).include(_occ.jt)
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1006
                            && ( !_fromDate || _occ.date >= _startdate )
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1007
                            && ( !_toDate || _occ.date <= _enddate )
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1008
                        );
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1009
                    return _keep;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1010
                })
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1011
            }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1012
        )
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1013
    );
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1014
    if (_title) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1015
        this.$.find(".Ls-Occurrence-Title").each(function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1016
            $(this).html($(this).text().replace(_titleregexp, "<span style='background:yellow'>$1</span>"));
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1017
        });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1018
    }
82
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
  1019
    this.$.find(".Ls-Occurrence").click(function() {
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
  1020
        var _id = $(this).attr("data-id"),
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
  1021
            _data = {
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
  1022
                id: _id.replace(/^.*_/,''),
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
  1023
                typeOccurrence: "Occurrence" + _id.replace(/_.*$/,'').replace(/^./,function(_l) { return _l.toUpperCase()})
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
  1024
            }
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
  1025
        $("body").trigger("SelectionOccurrenceTimeline", _data);
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
  1026
        return false;
f00eb382bff1 Bugfixes
veltr
parents: 81
diff changeset
  1027
    });
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1028
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1029
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1030
Tlns.Classes.Timeline.prototype.getUnivers = function(_id) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1031
    return _(this.univers).find(function(_univ) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1032
        return (_univ.id == _id);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1033
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1034
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1035
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1036
/*
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1037
 * Univers
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1038
 */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1039
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1040
Tlns.Classes.Univers = function(_data, _timeline, _index) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1041
    this.id = _data.idUnivers;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1042
    this.index = _index;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1043
    this.title = _data.nomUnivers;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1044
//    this.mainCharacter = _data.personnage;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1045
    this.y = (_timeline.univers_height * _index);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1046
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1047
    this.$label = $('<li>').css({
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1048
        height : _timeline.univers_height + "px"
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1049
    }).html(Mustache.to_html(Tlns.Templates.Univers, this))
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1050
      .addClass((_index % 2) ? 'Tl-Line-Odd' : 'Tl-Line-Even');
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1051
    
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1052
    _timeline.$.find('.Tl-UniversLabels').append(this.$label);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1053
    var _txt = this.title,
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1054
        _span = this.$label.find('span');
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1055
    while (_span.outerWidth() > (_timeline.width - _timeline.main_width) && _txt) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1056
        _txt = _txt.substr(0, _txt.length - 1);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1057
        _span.html(_txt + '&hellip;');
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1058
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1059
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1060
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1061
/*
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1062
 * Occurrence
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1063
 */
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1064
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1065
Tlns.Classes.Occurrence = function(_timeline) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1066
    this.timeline = _timeline;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1067
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1068
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1069
Tlns.Classes.Occurrence.prototype.update = function(_type, _data) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1070
    this.type = _type;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1071
    if (typeof _data.idOccurrencePublication !== "undefined" || typeof _data.id !== "undefined" || typeof this.original_id === "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1072
        this.original_id = _data.idOccurrencePublication || _data.id || Tlns.Utils.guid();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1073
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1074
    this.id = _type + "_" + this.original_id;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1075
    if (typeof _data.date !== "undefined" || typeof _data.datePublication !== "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1076
        this.date = 1000 * (_data.datePublication || _data.date);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1077
    } else {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1078
        if (typeof this.date === "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1079
            this.date = new Date().valueOf();
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1080
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1081
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1082
    this.formatted_date = Tlns.Utils.dateFormat(this.date,Tlns.Defaults.Timeline.tooltip_date_format);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1083
    if (typeof _data.titre !== "undefined" || typeof this.title === "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1084
        this.title = _data.titre || "<untitled>";
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1085
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1086
    if (typeof _data.idUnivers !== "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1087
        this.univers_id = _data.idUnivers;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1088
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1089
    this.univers = this.timeline.getUnivers(this.univers_id);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1090
    if (typeof _data.statut !== "undefined" || typeof this.status === "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1091
        switch(_data.statut) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1092
            case "Validée":
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1093
            case "valide":
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1094
                this.status = "valide"
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1095
            break;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1096
            case "A valider":
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1097
            case "a_valider":
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1098
                this.status = "a_valider";
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1099
            break;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1100
            case "A réaliser":
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1101
            case "a_realiser":
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1102
                this.status = "a_realiser";
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1103
            break;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1104
            default:
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1105
                this.status = false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1106
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1107
    }
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
  1108
    if (typeof _data.typeOccurrencePublication !== "undefined" || typeof this.format === "undefined") {
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
  1109
        this.format = _data.typeOccurrencePublication || 'Format non défini';
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
  1110
    }
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1111
    if (typeof _data.JT !== "undefined") {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1112
        this.jt = !!+_data.JT;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1113
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1114
    this.translated_status = Tlns.Defaults.Timeline.statuses[this.status];
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1115
//    this.published = (_data.publication && _data.publication == "En ligne");
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1116
//    this.locked = _data.verrouille || false;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1117
//    this.characters = _data.personnagesSecondaires || [];
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1118
    this.dependsOn = [];
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1119
    if (_data.dependanceNarrative) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1120
        for (var _i = 0; _i < _data.dependanceNarrative.length; _i++) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1121
            this.dependsOn.push("narrative_" + _data.dependanceNarrative[_i])
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1122
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1123
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1124
    if (_data.dependancePublication) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1125
        for (var _i = 0; _i < _data.dependancePublication.length; _i++) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1126
            this.dependsOn.push("publication_" + _data.dependancePublication[_i])
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1127
        }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1128
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1129
    var _tmp = $('<p>').html(_data.accroche || "");
83
f8b1d6f5bb33 Lots of small modifications
veltr
parents: 82
diff changeset
  1130
    this.description = _tmp.text().trim().replace(/(\n|\r|\r\n)/mg,' ').replace(/(^.{60,80})[\s].+$/m,'$1&hellip;');
81
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1131
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1132
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1133
Tlns.Classes.Occurrence.prototype.addDependency = function(_id) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1134
    if (_(this.dependsOn).indexOf(_id) == -1) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1135
        this.dependsOn.push(_id);
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1136
    }
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1137
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1138
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1139
Tlns.Classes.Occurrence.prototype.removeDependency = function(_id) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1140
    this.dependsOn = _(this.dependsOn).reject(function(_n) {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1141
        return _n == _id;
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1142
    });
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1143
}
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1144
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1145
Tlns.Classes.Occurrence.prototype.toString = function() {
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1146
    return "Occurrence " + this.type + ': "' + this.title + '"';
bf6adf981cc2 JS file was accidentally deleted
veltr
parents:
diff changeset
  1147
}