cms/app-client/app/controllers/application.js
changeset 204 dd969e178944
parent 203 2ee21302dc47
child 209 35cb7200bb0a
equal deleted inserted replaced
203:2ee21302dc47 204:dd969e178944
    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)) {
    73             return true;
    72             return true;
    74         }
    73         }
    75         if (a == null || b == null) {
    74         if (a == null || b == null) {
    76             return false;
    75             return false;
    77         }
    76         }
    78         if (a.length != b.length) {
    77         if (a.length !== b.length) {
    79             return false;
    78             return false;
    80         }
    79         }
    81         for(var i = 0; i < a.length; ++i) {
    80         for(var i = 0; i < a.length; ++i) {
    82             if(a[i] !== b[i]) {
    81             if(a[i] !== b[i]) {
    83                 return false;
    82                 return false;