cms/app-client/app/routes/tabs/thematiques.js
changeset 237 69a9f3687902
parent 236 ac6928e86d14
child 240 aa101458cd4e
equal deleted inserted replaced
236:ac6928e86d14 237:69a9f3687902
     1 import Ember from 'ember';
     1 import Ember from 'ember';
     2 
     2 
     3 export default Ember.Route.extend({
     3 export default Ember.Route.extend({
     4 
     4 
     5 	page: 0,
     5     index: 0,
     6 	limit: 40,
     6     limit: 40,
     7 	sort: 'alphabetical',
     7     sort: 'alphabetical',
     8 
     8 
     9     model: function() {
     9     themes: [],
    10         return this.store.query('theme', {
    10 
    11         	'limit': this.get('limit'),
    11     model: Ember.observer('index', function() {
    12         	'page': this.get('page'),
    12         var self = this;
    13         	'sort': this.get('sort')
    13         var promise = this.store.query('theme', {
       
    14             'limit': this.get('limit'),
       
    15             'index': this.get('index'),
       
    16             'sort': this.get('sort')
    14         });
    17         });
       
    18         promise.then(function(value) {
       
    19             if (self.get('themes').length) {
       
    20                 value = self.get('themes').pushObjects(value.get('content'));
       
    21             }
       
    22             self.set('themes', value);
       
    23         })
       
    24         return promise;
       
    25     }),
       
    26 
       
    27     setupController: function(controller, model) {
       
    28         this._super(...arguments);
       
    29         // Add ArrayProxy to template context.
       
    30         controller.set('themes', this.get('themes'));
       
    31     },
       
    32 
       
    33     actions: {
       
    34 
       
    35         setIndexQueryparams: function() {
       
    36             this.set('index', this.get('index') + 1);
       
    37         },
       
    38 
       
    39         setSortQueryparams: function(sort) {
       
    40             this.set('sort', sort);
       
    41             this.get('themes').replaceContent(0, this.get('themes').get('content').length, null);
       
    42             // Force property reset to trigger request.
       
    43             this.propertyWillChange('index');
       
    44             this.set('index', 0);
       
    45             this.propertyDidChange('index');            
       
    46         }
       
    47         
    15     }
    48     }
    16 
    49 
    17 });
    50 });