Cap pager input params to valid range(s)

This commit is contained in:
Larry Weya
2013-01-15 13:51:25 +03:00
parent 5691466cda
commit 11630c46ff
2 changed files with 6 additions and 0 deletions

3
dist/recline.js vendored
View File

@@ -4985,6 +4985,8 @@ my.Pager = Backbone.View.extend({
e.preventDefault(); e.preventDefault();
var newFrom = parseInt(this.el.find('input[name="from"]').val()); var newFrom = parseInt(this.el.find('input[name="from"]').val());
var newSize = parseInt(this.el.find('input[name="to"]').val()) - newFrom; var newSize = parseInt(this.el.find('input[name="to"]').val()) - newFrom;
newFrom = Math.max(newFrom, 0);
newSize = Math.max(newSize, 1);
this.model.set({size: newSize, from: newFrom}); this.model.set({size: newSize, from: newFrom});
}, },
onPaginationUpdate: function(e) { onPaginationUpdate: function(e) {
@@ -4996,6 +4998,7 @@ my.Pager = Backbone.View.extend({
} else { } else {
newFrom = this.model.get('from') + this.model.get('size'); newFrom = this.model.get('from') + this.model.get('size');
} }
newFrom = Math.max(newFrom, 0);
this.model.set({from: newFrom}); this.model.set({from: newFrom});
}, },
render: function() { render: function() {

View File

@@ -32,6 +32,8 @@ my.Pager = Backbone.View.extend({
e.preventDefault(); e.preventDefault();
var newFrom = parseInt(this.el.find('input[name="from"]').val()); var newFrom = parseInt(this.el.find('input[name="from"]').val());
var newSize = parseInt(this.el.find('input[name="to"]').val()) - newFrom; var newSize = parseInt(this.el.find('input[name="to"]').val()) - newFrom;
newFrom = Math.max(newFrom, 0);
newSize = Math.max(newSize, 1);
this.model.set({size: newSize, from: newFrom}); this.model.set({size: newSize, from: newFrom});
}, },
onPaginationUpdate: function(e) { onPaginationUpdate: function(e) {
@@ -43,6 +45,7 @@ my.Pager = Backbone.View.extend({
} else { } else {
newFrom = this.model.get('from') + this.model.get('size'); newFrom = this.model.get('from') + this.model.get('size');
} }
newFrom = Math.max(newFrom, 0);
this.model.set({from: newFrom}); this.model.set({from: newFrom});
}, },
render: function() { render: function() {