timeline/js/timeline.js
changeset 78 3fe54fb581f5
parent 77 04b8157f077b
child 79 be3defb1bbdb
equal deleted inserted replaced
77:04b8157f077b 78:3fe54fb581f5
   218     + '<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>'
   218     + '<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>'
   219     
   219     
   220     +'<div class="Ls-Main"><div class="Ls-Filtres"><h2>Filtres&nbsp;:</h2>'
   220     +'<div class="Ls-Main"><div class="Ls-Filtres"><h2>Filtres&nbsp;:</h2>'
   221     + '<div class="Ls-Column"><h3>Univers&nbsp;:</h3><ul class="Ls-Univers"></ul></div>'
   221     + '<div class="Ls-Column"><h3>Univers&nbsp;:</h3><ul class="Ls-Univers"></ul></div>'
   222     + '<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>'
   222     + '<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>'
   223     + '<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>'
   223     + '<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>'
       
   224     + '<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>'
   224     + '<div class="Ls-Column"><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>'
   225     + '<div class="Ls-Column"><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>'
   225     + '</div><div class="Ls-Resultats"><h2>Occurrences&nbsp;:</h2><ul class="Ls-Occurrences"></ul></div></div>';
   226     + '</div><div class="Ls-Resultats"><h2>Occurrences&nbsp;:</h2><ul class="Ls-Occurrences"></ul></div></div>';
   226 
   227 
   227 Tlns.Templates.Univers = '<span class="Tl-UniversText">{{title}}</span>';
   228 Tlns.Templates.Univers = '<span class="Tl-UniversText">{{title}}</span>';
   228 
   229 
   234 //  + '{{#locked}}<div class="Tl-Locked"></div>{{/locked}}'
   235 //  + '{{#locked}}<div class="Tl-Locked"></div>{{/locked}}'
   235     + '<div class="Tl-Link"{{#editing}} style="display: block"{{/editing}}></div></div>{{/occurrences}}{{#open_cluster}}<div class="Tl-ClusterOverlay" style="left: {{x}}px; top: {{y}}px;">'
   236     + '<div class="Tl-Link"{{#editing}} style="display: block"{{/editing}}></div></div>{{/occurrences}}{{#open_cluster}}<div class="Tl-ClusterOverlay" style="left: {{x}}px; top: {{y}}px;">'
   236     + '{{#occurrences}}<div class="Tl-Occurrence Tl-OccInCluster Tl-Occ{{type}} Tl-Occ{{status}}{{#editing}} Tl-Editing{{/editing}}" occurrence-id="{{id}}">'
   237     + '{{#occurrences}}<div class="Tl-Occurrence Tl-OccInCluster Tl-Occ{{type}} Tl-Occ{{status}}{{#editing}} Tl-Editing{{/editing}}" occurrence-id="{{id}}">'
   237     + '{{#locked}}<div class="Tl-Locked"></div>{{/locked}}<div class="Tl-Link"{{#editing}} style="display: block"{{/editing}}></div></div>{{/occurrences}}</div>{{/open_cluster}}';
   238     + '{{#locked}}<div class="Tl-Locked"></div>{{/locked}}<div class="Tl-Link"{{#editing}} style="display: block"{{/editing}}></div></div>{{/occurrences}}</div>{{/open_cluster}}';
   238 
   239 
   239 Tlns.Templates.Occurrence_List = '{{#occurrences}}<li class="Ls-Occurrence"><div class="Ls-OccIcon Tl-Occ{{type}} Tl-Occ{{status}}"></div><div class="Ls-Occurrence-Title">{{title}}</div><div class="Tl-Tooltip-Date">{{formatted_date}}</div><div style="clear:both;"></div></li>{{/occurrences}}';
   240 Tlns.Templates.Occurrence_List = '{{#occurrences}}<li class="Ls-Occurrence"><div class="Ls-OccIcon Tl-Occ{{type}} Tl-Occ{{status}}"></div><h4 class="Ls-Occurrence-Title">{{title}}</h4>'
   240 
   241     + '<p class="Ls-Occ-More">{{formatted_date}} &mdash; {{univers.title}} &mdash; {{translated_status}} &mdash; {{#jt}}Au JT{{/jt}}{{^jt}}Hors JT{{/jt}}</p><div style="clear:both;"></div></li>{{/occurrences}}';
   241 Tlns.Templates.OccurrenceTooltip = '<h3 class="Tl-Tooltip-Title">{{title}}</h3><p class="Tl-Tooltip-Date">{{formatted_date}} - {{translated_status}}</p>'
   242 
       
   243 Tlns.Templates.OccurrenceTooltip = '<h3 class="Tl-Tooltip-Title">{{title}}</h3><p class="Tl-Tooltip-Date">{{formatted_date}} &mdash; {{translated_status}}</p>'
   242     + '<p class="Tl-Tooltip-Description">{{description}}</p>'
   244     + '<p class="Tl-Tooltip-Description">{{description}}</p>'
   243 //    + '<p class="Tl-Tooltip-Characters">{{univers.mainCharacter}}{{#characters}}, {{.}}{{/characters}}</p>'
   245 //    + '<p class="Tl-Tooltip-Characters">{{univers.mainCharacter}}{{#characters}}, {{.}}{{/characters}}</p>'
   244 
   246 
   245 /* Classes */
   247 /* Classes */
   246 
   248 
   350                 _type,
   352                 _type,
   351                 {
   353                 {
   352                     datePublication: Math.floor(_d / 1000),
   354                     datePublication: Math.floor(_d / 1000),
   353                     titre: '<Nouvelle occurrence>',
   355                     titre: '<Nouvelle occurrence>',
   354                     idUnivers: _this.univers[_u].id,
   356                     idUnivers: _this.univers[_u].id,
   355                     statut: 'a_realiser'
   357                     statut: 'a_realiser',
       
   358                     jt: false
   356                 }
   359                 }
   357             );
   360             );
   358         _occ.just_created = true;
   361         _occ.just_created = true;
   359         _occ.editing = true;
   362         _occ.editing = true;
   360         _this.editing_occurrence = _occ;
   363         _this.editing_occurrence = _occ;
   416     this.$.find(".Onglet-Tl").click(function() {
   419     this.$.find(".Onglet-Tl").click(function() {
   417         _this.$.find(".Tl-Main").show();
   420         _this.$.find(".Tl-Main").show();
   418         _this.$.find(".Ls-Main").hide();
   421         _this.$.find(".Ls-Main").hide();
   419         _this.$.find(".Onglet-Ls").removeClass("active");
   422         _this.$.find(".Onglet-Ls").removeClass("active");
   420         _this.$.find(".Onglet-Tl").addClass("active");
   423         _this.$.find(".Onglet-Tl").addClass("active");
       
   424         _this.throttledDrawGrid();
   421     });
   425     });
   422     
   426     
   423     this.$.find(".Onglet-Ls").click(function() {
   427     this.$.find(".Onglet-Ls").click(function() {
   424         _this.$.find(".Ls-Main").show();
   428         _this.$.find(".Ls-Main").show();
   425         _this.$.find(".Tl-Main").hide();
   429         _this.$.find(".Tl-Main").hide();
   426         _this.$.find(".Onglet-Tl").removeClass("active");
   430         _this.$.find(".Onglet-Tl").removeClass("active");
   427         _this.$.find(".Onglet-Ls").addClass("active");
   431         _this.$.find(".Onglet-Ls").addClass("active");
       
   432         _this.throttledDrawList();
   428     });
   433     });
   429 }
   434 }
   430 
   435 
   431 Tlns.Classes.Timeline.prototype.onMouseDown = function(_event) {
   436 Tlns.Classes.Timeline.prototype.onMouseDown = function(_event) {
   432     this.mouse_down = true;
   437     this.mouse_down = true;
   838 
   843 
   839 Tlns.Classes.Timeline.prototype.drawList = function() {
   844 Tlns.Classes.Timeline.prototype.drawList = function() {
   840     var _universfilter = this.$.find(".Ls-Univers li.Ls-Active").map(function(){return $(this).attr("data")}),
   845     var _universfilter = this.$.find(".Ls-Univers li.Ls-Active").map(function(){return $(this).attr("data")}),
   841         _occtypefilter = this.$.find(".Ls-Occtypes li.Ls-Active").map(function(){return $(this).attr("data")}),
   846         _occtypefilter = this.$.find(".Ls-Occtypes li.Ls-Active").map(function(){return $(this).attr("data")}),
   842         _statusfilter = this.$.find(".Ls-Occstatuses li.Ls-Active").map(function(){return $(this).attr("data")}),
   847         _statusfilter = this.$.find(".Ls-Occstatuses li.Ls-Active").map(function(){return $(this).attr("data")}),
       
   848         _jtfilter = this.$.find(".Ls-IsJt li.Ls-Active").map(function(){return !!+$(this).attr("data")}),
   843         _title = this.$.find(".Ls-Search").val() || "",
   849         _title = this.$.find(".Ls-Search").val() || "",
   844         _titleregexp = new RegExp( "(" + _title.replace(/(\W)/gm, "\\$1") + ")", "gim" ),
   850         _titleregexp = new RegExp( "(" + _title.replace(/(\W)/gm, "\\$1") + ")", "gim" ),
   845         _startdate = false,
   851         _startdate = false,
   846         _enddate = false,
   852         _enddate = false,
   847         _fromDate = this.$.find(".Ls-From-Date").val(),
   853         _fromDate = this.$.find(".Ls-From-Date").val(),
   865                         _keep = (
   871                         _keep = (
   866                                ( !_title || _titletest )
   872                                ( !_title || _titletest )
   867                             && (_(_occtypefilter).indexOf(_occ.type) !== -1)
   873                             && (_(_occtypefilter).indexOf(_occ.type) !== -1)
   868                             && (_(_universfilter).indexOf(_occ.univers_id) !== -1)
   874                             && (_(_universfilter).indexOf(_occ.univers_id) !== -1)
   869                             && (_(_statusfilter).indexOf(_occ.status) !== -1)
   875                             && (_(_statusfilter).indexOf(_occ.status) !== -1)
       
   876                             && (_(_jtfilter).indexOf(_occ.jt) !== -1)
   870                             && ( !_fromDate || _occ.date >= _startdate )
   877                             && ( !_fromDate || _occ.date >= _startdate )
   871                             && ( !_toDate || _occ.date <= _enddate )
   878                             && ( !_toDate || _occ.date <= _enddate )
   872                         );
   879                         );
   873                     return _keep;
   880                     return _keep;
   874                 })
   881                 })
   944             this.status = "a_realiser";
   951             this.status = "a_realiser";
   945         break;
   952         break;
   946         default:
   953         default:
   947             this.status = false;
   954             this.status = false;
   948     }
   955     }
       
   956     this.jt = !!+_data.JT;
   949     this.translated_status = Tlns.Defaults.Timeline.statuses[this.status];
   957     this.translated_status = Tlns.Defaults.Timeline.statuses[this.status];
   950 //    this.published = (_data.publication && _data.publication == "En ligne");
   958 //    this.published = (_data.publication && _data.publication == "En ligne");
   951 //    this.locked = _data.verrouille || false;
   959 //    this.locked = _data.verrouille || false;
   952 //    this.characters = _data.personnagesSecondaires || [];
   960 //    this.characters = _data.personnagesSecondaires || [];
   953     this.dependsOn = [];
   961     this.dependsOn = [];