Commit 713668ea7753207a47d73b1424e50903603d704c
1 parent
3dd44ba2
Exists in
master
and in
38 other branches
Add pagination to blog posts
Showing
3 changed files
with
22 additions
and
5 deletions
Show diff stats
src/app/components/noosfero-articles/blog/blog.directive.js
@@ -22,13 +22,24 @@ | @@ -22,13 +22,24 @@ | ||
22 | return directive; | 22 | return directive; |
23 | 23 | ||
24 | /** @ngInject */ | 24 | /** @ngInject */ |
25 | - function BlogController(noosfero) { | 25 | + function BlogController(noosfero, Restangular) { |
26 | var vm = this; | 26 | var vm = this; |
27 | vm.posts = []; | 27 | vm.posts = []; |
28 | + vm.perPage = 3; | ||
29 | + vm.currentPage = 1; | ||
28 | 30 | ||
29 | - noosfero.articles.one(vm.article.id).customGET('children', {content_type: 'TinyMceArticle'}).then(function(result) { | ||
30 | - vm.posts = result.articles; | ||
31 | - }); | 31 | + vm.loadPage = function() { |
32 | + Restangular.setFullResponse(true); | ||
33 | + noosfero.articles.one(vm.article.id).customGET('children', { | ||
34 | + content_type: 'TinyMceArticle', | ||
35 | + per_page: vm.perPage, | ||
36 | + page: vm.currentPage | ||
37 | + }).then(function(result) { | ||
38 | + vm.totalPosts = result.headers('total'); | ||
39 | + vm.posts = result.data.articles; | ||
40 | + }); | ||
41 | + } | ||
42 | + vm.loadPage(); | ||
32 | } | 43 | } |
33 | } | 44 | } |
34 | 45 |
src/app/components/noosfero-articles/blog/blog.html
@@ -16,4 +16,9 @@ | @@ -16,4 +16,9 @@ | ||
16 | </div> | 16 | </div> |
17 | </div> | 17 | </div> |
18 | </div> | 18 | </div> |
19 | + | ||
20 | + <pagination ng-model="vm.currentPage" total-items="vm.totalPosts" class="pagination-sm center-block" | ||
21 | + boundary-links="true" items-per-page="vm.perPage" ng-change="vm.loadPage()" | ||
22 | + first-text="«" last-text="»" previous-text="‹" next-text="›"> | ||
23 | + </pagination> | ||
19 | </div> | 24 | </div> |
src/app/components/noosfero-blocks/recent-documents/recent-documents.directive.js
@@ -31,8 +31,9 @@ | @@ -31,8 +31,9 @@ | ||
31 | $state.go("main.profile.page", {page: article.path, profile: article.profile.identifier}); | 31 | $state.go("main.profile.page", {page: article.path, profile: article.profile.identifier}); |
32 | } | 32 | } |
33 | 33 | ||
34 | + var limit = vm.block.settings.limit || 5; | ||
34 | //FIXME get all text articles | 35 | //FIXME get all text articles |
35 | - noosfero.profiles.one(vm.profile.id).one('articles').get({content_type: 'TinyMceArticle'}).then(function(result) { | 36 | + noosfero.profiles.one(vm.profile.id).one('articles').get({content_type: 'TinyMceArticle', per_page: limit}).then(function(result) { |
36 | vm.documents = result.articles; | 37 | vm.documents = result.articles; |
37 | }); | 38 | }); |
38 | } | 39 | } |