14 location: null, |
14 location: null, |
15 theme: null, |
15 theme: null, |
16 |
16 |
17 filter: Ember.inject.service(), |
17 filter: Ember.inject.service(), |
18 setFilter: Ember.observer('discourse', 'language', 'location', 'theme', function(sender, key) { |
18 setFilter: Ember.observer('discourse', 'language', 'location', 'theme', function(sender, key) { |
19 console.log('propertyDidChange', this.get('queryParams'), this.get('date'), this.get('filter.date')); |
|
20 this.get('filter').set(key, this.get(key)); |
19 this.get('filter').set(key, this.get(key)); |
21 }), |
20 }), |
22 filterObserver: Ember.observer('filter.discourse', 'filter.language', 'filter.location', 'filter.theme', function(sender, key) { |
21 filterObserver: Ember.observer('filter.discourse', 'filter.language', 'filter.location', 'filter.theme', function(sender, key) { |
23 key = key.split('.').pop(); |
22 key = key.split('.').pop(); |
24 this.set(key, this.get('filter').get(key)); |
23 this.set(key, this.get('filter').get(key)); |
25 }), |
24 }), |
26 |
25 |
27 setDateFilter: Ember.observer('date', function(sender, key) { |
26 setDateFilter: Ember.observer('date', function(sender, key) { |
28 var intervals = []; |
27 var intervals = []; |
29 this.get(key).forEach(function(interval) { |
28 this.get(key).forEach(function(interval) { |
30 var interval = interval.split('-'); |
29 interval = interval.split('-'); |
31 if(interval.length > 1) { |
30 if(interval.length > 1) { |
32 var array = []; |
31 var array = []; |
33 for(var i = interval[0]; i <= interval[1]; i++) { |
32 for(var i = interval[0]; i <= interval[1]; i++) { |
34 array.push(parseInt(i)); |
33 array.push(parseInt(i)); |
35 } |
34 } |
56 intervals.push([date]); |
55 intervals.push([date]); |
57 } |
56 } |
58 }); |
57 }); |
59 intervals.forEach(function(interval, index) { |
58 intervals.forEach(function(interval, index) { |
60 if(interval.length > 1) { |
59 if(interval.length > 1) { |
61 intervals[index] = interval.shift() + '-' + interval.pop() |
60 intervals[index] = interval.shift() + '-' + interval.pop(); |
62 } else { |
61 } else { |
63 intervals[index] = interval.toString(); |
62 intervals[index] = interval.toString(); |
64 } |
63 } |
65 }); |
64 }); |
66 if(!this.arraysEqual(this.get(key).toArray(), intervals)) { |
65 if(!this.arraysEqual(this.get(key).toArray(), intervals)) { |