cms/app-client/app/routes/tabs/thematiques.js
author Chloe Laisne <chloe.laisne@gmail.com>
Tue, 12 Jul 2016 16:58:12 +0200
changeset 238 5fd45a9fdacb
parent 237 69a9f3687902
child 240 aa101458cd4e
permissions -rw-r--r--
Voir plus button styling
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
176
d1baf7ccecc8 Add `thematiques` components
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff changeset
     1
import Ember from 'ember';
d1baf7ccecc8 Add `thematiques` components
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff changeset
     2
d1baf7ccecc8 Add `thematiques` components
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff changeset
     3
export default Ember.Route.extend({
d1baf7ccecc8 Add `thematiques` components
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff changeset
     4
237
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
     5
    index: 0,
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
     6
    limit: 40,
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
     7
    sort: 'alphabetical',
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
     8
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
     9
    themes: [],
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    10
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    11
    model: Ember.observer('index', function() {
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    12
        var self = this;
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    13
        var promise = this.store.query('theme', {
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    14
            'limit': this.get('limit'),
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    15
            'index': this.get('index'),
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    16
            'sort': this.get('sort')
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    17
        });
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    18
        promise.then(function(value) {
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    19
            if (self.get('themes').length) {
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    20
                value = self.get('themes').pushObjects(value.get('content'));
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    21
            }
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    22
            self.set('themes', value);
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    23
        })
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    24
        return promise;
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    25
    }),
236
ac6928e86d14 Adapt theme query limit and offset and sorting order in fixtures
Chloe Laisne <chloe.laisne@gmail.com>
parents: 176
diff changeset
    26
237
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    27
    setupController: function(controller, model) {
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    28
        this._super(...arguments);
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    29
        // Add ArrayProxy to template context.
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    30
        controller.set('themes', this.get('themes'));
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    31
    },
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    32
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    33
    actions: {
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    34
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    35
        setIndexQueryparams: function() {
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    36
            this.set('index', this.get('index') + 1);
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    37
        },
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    38
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    39
        setSortQueryparams: function(sort) {
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    40
            this.set('sort', sort);
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    41
            this.get('themes').replaceContent(0, this.get('themes').get('content').length, null);
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    42
            // Force property reset to trigger request.
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    43
            this.propertyWillChange('index');
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    44
            this.set('index', 0);
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    45
            this.propertyDidChange('index');            
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    46
        }
69a9f3687902 Scrolling system in thematiques: more button and append data on scroll
Chloe Laisne <chloe.laisne@gmail.com>
parents: 236
diff changeset
    47
        
176
d1baf7ccecc8 Add `thematiques` components
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff changeset
    48
    }
d1baf7ccecc8 Add `thematiques` components
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff changeset
    49
d1baf7ccecc8 Add `thematiques` components
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff changeset
    50
});