diff options
author | Yves Fischer <yvesf-git@xapek.org> | 2014-12-21 23:47:49 +0100 |
---|---|---|
committer | Yves Fischer <yvesf-git@xapek.org> | 2014-12-21 23:47:49 +0100 |
commit | 3a502a504dfe88cac68f18304f593ac15f0495e2 (patch) | |
tree | c28e5afb352634d5c7fc9e1c553f7579e71ccd92 /imdb-lookup/js/app.js | |
parent | bdfaf600d4226c7201ff9ffff1a6534b3ab909b5 (diff) | |
download | scripts-3a502a504dfe88cac68f18304f593ac15f0495e2.tar.gz scripts-3a502a504dfe88cac68f18304f593ac15f0495e2.zip |
pagination
Diffstat (limited to 'imdb-lookup/js/app.js')
-rw-r--r-- | imdb-lookup/js/app.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/imdb-lookup/js/app.js b/imdb-lookup/js/app.js index 8cd5e76..d5f7c53 100644 --- a/imdb-lookup/js/app.js +++ b/imdb-lookup/js/app.js @@ -49,10 +49,33 @@ App.Movie = DS.Model.extend({ }); App.IndexController = Ember.ArrayController.extend({ + page: 1, + perPage: "10", + visiblePerPage: ["10", "20", "25", "50", "100", "250", "500"], + pages: function() { + var list = []; + for (var i = 1; i <= this.get("pagesCount"); i++) { + list.push(i); + } + return list; + }.property('page','perPage'), + paginatedContent: function() { + var page = this.get('page'); + var perPage = parseInt(this.get('perPage')); + var start = (page - 1 ) * perPage; + var end = page * perPage; + return this.get('arrangedContent').slice(start, end) + }.property('arrangedContent.[]', 'page', 'perPage'), + pagesCount: function() { + return Math.ceil(this.get("content.length") / parseInt(this.get("perPage"))) + }.property('content.[]', 'perPage'), actions: { sortBy: function(property) { this.set('sortProperties', [property]); this.set('sortAscending', !this.get('sortAscending')); + }, + setPage: function(property) { + this.set('page', property) } } }); |