Refactor JS into modules, and add basic MVC.
[quanweb.git] / js / PagingController.js
1 // ================
2 // PagingController
3
4 var PagingController = (function() {
5     var my = {};
6     
7     var booksModel = undefined;
8     
9     // ==============
10     // Public Methods
11     
12     my.init = function(linkedBooksModel) {
13         booksModel = linkedBooksModel;
14     };
15     
16     my.adjustPos = function (setting) {
17         var value = parseInt(setting);
18     
19         if (booksModel.first === value) {
20             // No change
21             return;
22         }
23     
24         var maxFirst = Math.max(0, booksModel.count - booksModel.pageSize);
25     
26         if (value < 0) {
27             booksModel.first = 0;
28         } else if (value > maxFirst) {
29             booksModel.first = maxFirst;
30         } else {
31             booksModel.first = value;
32         }
33     
34         booksModel.last = booksModel.first + booksModel.pageSize - 1;
35         if (booksModel.last >= booksModel.count) {
36             booksModel.last = booksModel.count - 1;
37         }
38     
39         document.getElementById('slider').value = setting;
40     
41         booksModel.refreshData();
42     };
43
44     return my;
45 })();