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 model: function() { |
5 page: 1, |
6 return this.store.findAll('document'); |
6 limit: 10, |
7 }, |
7 |
|
8 documents: [], |
|
9 model: Ember.observer('page', function() { |
|
10 var self = this; |
|
11 var promise = this.store.query('document', { |
|
12 page: this.get('page'), |
|
13 perpage: this.get('limit') |
|
14 }); |
|
15 promise.then(function(value) { |
|
16 if(self.controller) { |
|
17 self.controller.set('page', self.get('page')); |
|
18 self.controller.set('documents', self.get('documents')); |
|
19 } |
|
20 self.set('documents', value); |
|
21 }); |
|
22 return promise; |
|
23 }), |
8 |
24 |
9 serializeQueryParam: function(value, urlKey) { |
25 serializeQueryParam: function(value, urlKey) { |
10 if (urlKey === 'date') { |
26 if (urlKey === 'date') { |
11 return value; |
27 return value; |
12 } |
28 } |
13 return '' + value; |
29 return '' + value; |
|
30 }, |
|
31 |
|
32 setupController: function(controller) { |
|
33 this._super(...arguments); |
|
34 controller.set('page', this.get('page')); |
|
35 controller.set('limit', this.get('limit')); |
|
36 controller.set('documents', this.get('documents')); |
14 }, |
37 }, |
15 |
38 |
16 deserializeQueryParam: function(value, urlKey) { |
39 deserializeQueryParam: function(value, urlKey) { |
17 if (urlKey === 'date') { |
40 if (urlKey === 'date') { |
18 var array = []; |
41 var array = []; |
23 } |
46 } |
24 return value; |
47 return value; |
25 }, |
48 }, |
26 |
49 |
27 actions: { |
50 actions: { |
|
51 |
|
52 setPageQueryparams: function(type) { |
|
53 var page = this.get('page'); |
|
54 if(type === 'previous') { |
|
55 page = page - 1; |
|
56 } else if(type === 'next') { |
|
57 page = page + 1; |
|
58 } |
|
59 this.propertyWillChange('page'); |
|
60 this.set('page', page); |
|
61 this.propertyDidChange('page'); |
|
62 }, |
28 |
63 |
29 willTransition: function() { |
64 willTransition: function() { |
30 // Prevent navigation from removing query parameters |
65 // Prevent navigation from removing query parameters |
31 var _this = this, |
66 var _this = this, |
32 queryParams = {}; |
67 queryParams = {}; |