my.init = function(linkedBooksModel) {
booksModel = linkedBooksModel;
+ booksModel.listen(my);
};
- my.adjustPos = function (setting) {
+ my.adjustPos = function(setting) {
var value = parseInt(setting);
if (booksModel.first === value) {
// No change
return;
}
+
+ booksModel.adjustPos(setting);
+ };
- var maxFirst = Math.max(0, booksModel.count - booksModel.pageSize);
-
- if (value < 0) {
- booksModel.first = 0;
- } else if (value > maxFirst) {
- booksModel.first = maxFirst;
- } else {
- booksModel.first = value;
- }
-
- booksModel.last = booksModel.first + booksModel.pageSize - 1;
- if (booksModel.last >= booksModel.count) {
- booksModel.last = booksModel.count - 1;
- }
-
- document.getElementById('slider').value = setting;
-
- booksModel.refreshData();
+ my.notify = function() {
+ document.getElementById('slider').value = booksModel.first;
};
return my;