cms/app-client/app/routes/application.js
changeset 344 70451a4dc9ae
parent 204 dd969e178944
child 392 4fbe94af93e8
--- 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,