summaryrefslogtreecommitdiff
path: root/imdb-lookup/js/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'imdb-lookup/js/app.js')
-rw-r--r--imdb-lookup/js/app.js23
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)
}
}
});