cms/app-client/app/components/visu-chrono.js
changeset 202 0446e07981db
parent 197 7b266ccf6d3d
child 233 0ff47a9c5da2
--- a/cms/app-client/app/components/visu-chrono.js	Thu Jun 23 17:22:57 2016 +0200
+++ b/cms/app-client/app/components/visu-chrono.js	Thu Jun 23 23:21:02 2016 +0200
@@ -4,6 +4,14 @@
 
     filter: Ember.inject.service(),
 
+    dateObserver: Ember.observer('filter.date', function() {
+        var self = this;
+        this.$('li').removeClass('highlighted');
+        this.get('filter.date').forEach(function(date) {
+            self.$('li#' + date).addClass('highlighted');
+        });
+    }),
+
     elementId: "chrono-table",
 
     didInsertElement: function(){
@@ -14,25 +22,24 @@
         }
 
         var isMouseDown = false,
-        isHighlighted;
+            isHighlighted;
 
         Ember.$("#chrono-table li").mousedown(function () {
             isMouseDown = true;
-            Ember.$(this).toggleClass("highlighted");
-            isHighlighted = Ember.$(this).hasClass("highlighted");
             var dates = self.get('filter').get('date').toArray();
             var index = dates.indexOf(parseInt(Ember.$(this).attr('id')));
             if(index === -1) {
                 dates.push(parseInt(Ember.$(this).attr('id')));
+                isHighlighted = true;
             } else {
                 dates.splice(index, 1);
+                isHighlighted = false;
             }
             self.get('filter').set('date', dates);
             return false; // prevent text selection
         }).mouseover(function () {
             if (isMouseDown) {
                 if(Ember.$(this).hasClass("highlighted") !== isHighlighted) {
-                    Ember.$(this).toggleClass("highlighted", isHighlighted);
                     var dates = self.get('filter').get('date').toArray();
                     var index = dates.indexOf(parseInt(Ember.$(this).attr('id')));
                     if(index === -1) {