--- a/cms/app-client/app/routes/application.js Mon Oct 17 00:33:28 2016 +0530
+++ b/cms/app-client/app/routes/application.js Mon Oct 17 14:50:30 2016 +0530
@@ -2,9 +2,25 @@
export default Ember.Route.extend({
- model: function() {
- return this.store.findAll('document');
- },
+ page: 1,
+ limit: 10,
+
+ documents: [],
+ model: Ember.observer('page', function() {
+ var self = this;
+ var promise = this.store.query('document', {
+ page: this.get('page'),
+ perpage: this.get('limit')
+ });
+ promise.then(function(value) {
+ if(self.controller) {
+ self.controller.set('page', self.get('page'));
+ self.controller.set('documents', self.get('documents'));
+ }
+ self.set('documents', value);
+ });
+ return promise;
+ }),
serializeQueryParam: function(value, urlKey) {
if (urlKey === 'date') {
@@ -13,6 +29,13 @@
return '' + value;
},
+ setupController: function(controller) {
+ this._super(...arguments);
+ controller.set('page', this.get('page'));
+ controller.set('limit', this.get('limit'));
+ controller.set('documents', this.get('documents'));
+ },
+
deserializeQueryParam: function(value, urlKey) {
if (urlKey === 'date') {
var array = [];
@@ -26,6 +49,18 @@
actions: {
+ setPageQueryparams: function(type) {
+ var page = this.get('page');
+ if(type === 'previous') {
+ page = page - 1;
+ } else if(type === 'next') {
+ page = page + 1;
+ }
+ this.propertyWillChange('page');
+ this.set('page', page);
+ this.propertyDidChange('page');
+ },
+
willTransition: function() {
// Prevent navigation from removing query parameters
var _this = this,