--- a/cms/app-client/app/components/visu-chrono.js Tue Jun 21 14:24:30 2016 +0200
+++ b/cms/app-client/app/components/visu-chrono.js Wed Jun 22 22:13:46 2016 +0200
@@ -1,16 +1,16 @@
import Ember from 'ember';
-const { getOwner } = Ember;
+export default Ember.Component.extend({
-export default Ember.Component.extend({
+ filter: Ember.inject.service(),
elementId: "chrono-table",
didInsertElement: function(){
var self = this;
- if (getOwner(self).lookup('controller:application').date !== null){
- this.highlightQuery(getOwner(self).lookup('controller:application').date);
+ if (this.get('filter').get('date') !== null){
+ this.highlightQuery(this.get('filter').get('date'));
}
var isMouseDown = false,
@@ -20,12 +20,28 @@
isMouseDown = true;
Ember.$(this).toggleClass("highlighted");
isHighlighted = Ember.$(this).hasClass("highlighted");
- self.sendUpdate();
+ 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')));
+ } else {
+ dates.splice(index, 1);
+ }
+ self.get('filter').set('date', dates);
return false; // prevent text selection
}).mouseover(function () {
if (isMouseDown) {
- Ember.$(this).toggleClass("highlighted", isHighlighted);
- self.sendUpdate();
+ 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) {
+ dates.push(parseInt(Ember.$(this).attr('id')));
+ } else {
+ dates.splice(index, 1);
+ }
+ self.get('filter').set('date', dates);
+ }
}
}).bind("selectstart", function () {
return false;
@@ -36,18 +52,9 @@
});
},
- sendUpdate: function(){
- var dateQuery = [];
- Ember.$('.highlighted').map(function(index, elt) {
- dateQuery.push(parseInt(Ember.$(elt).parent().attr('id')) + parseInt(Ember.$(elt).html()));
- });
- this.sendAction('action', dateQuery);
- },
-
- highlightQuery: function(list){
- list.map(function(elt){
- var year = Math.floor(parseInt(elt)/10)*10;
- Ember.$("#"+year+" ."+(parseInt(elt)-year)).toggleClass("highlighted", true);
+ highlightQuery: function(dates){
+ dates.map(function(date){
+ Ember.$("#" + date).toggleClass("highlighted", true);
});
}