[#34,query][s]: rename offset to from on query object.
* More natural in fact and we may as well go whole hog with ES structure.
This commit is contained in:
@@ -80,7 +80,7 @@ this.recline.Backend = this.recline.Backend || {};
|
|||||||
},
|
},
|
||||||
query: function(model, queryObj) {
|
query: function(model, queryObj) {
|
||||||
var numRows = queryObj.size;
|
var numRows = queryObj.size;
|
||||||
var start = queryObj.offset;
|
var start = queryObj.from;
|
||||||
var dfd = $.Deferred();
|
var dfd = $.Deferred();
|
||||||
results = this.datasets[model.id].documents;
|
results = this.datasets[model.id].documents;
|
||||||
// not complete sorting!
|
// not complete sorting!
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ this.recline.Backend = this.recline.Backend || {};
|
|||||||
var base = model.get('webstore_url');
|
var base = model.get('webstore_url');
|
||||||
var data = {
|
var data = {
|
||||||
_limit: queryObj.size
|
_limit: queryObj.size
|
||||||
, _offset: queryObj.offset
|
, _offset: queryObj.from
|
||||||
};
|
};
|
||||||
var jqxhr = $.ajax({
|
var jqxhr = $.ajax({
|
||||||
url: base + '.json',
|
url: base + '.json',
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ my.FieldList = Backbone.Collection.extend({
|
|||||||
my.Query = Backbone.Model.extend({
|
my.Query = Backbone.Model.extend({
|
||||||
defaults: {
|
defaults: {
|
||||||
size: 100
|
size: 100
|
||||||
, offset: 0
|
, from: 0
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
16
src/view.js
16
src/view.js
@@ -186,7 +186,7 @@ my.QueryEditor = Backbone.View.extend({
|
|||||||
<div class="pagination"> \
|
<div class="pagination"> \
|
||||||
<ul> \
|
<ul> \
|
||||||
<li class="prev action-pagination-update"><a>« back</a></li> \
|
<li class="prev action-pagination-update"><a>« back</a></li> \
|
||||||
<li class="active"><a><input name="offset" type="text" value="{{offset}}" /> – <input name="to" type="text" value="{{to}}" /> </a></li> \
|
<li class="active"><a><input name="from" type="text" value="{{from}}" /> – <input name="to" type="text" value="{{to}}" /> </a></li> \
|
||||||
<li class="next action-pagination-update"><a>next »</a></li> \
|
<li class="next action-pagination-update"><a>next »</a></li> \
|
||||||
</ul> \
|
</ul> \
|
||||||
</div> \
|
</div> \
|
||||||
@@ -207,24 +207,24 @@ my.QueryEditor = Backbone.View.extend({
|
|||||||
},
|
},
|
||||||
onFormSubmit: function(e) {
|
onFormSubmit: function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var newOffset = parseInt(this.el.find('input[name="offset"]').val());
|
var newFrom = parseInt(this.el.find('input[name="from"]').val());
|
||||||
var newSize = parseInt(this.el.find('input[name="to"]').val()) - newOffset;
|
var newSize = parseInt(this.el.find('input[name="to"]').val()) - newFrom;
|
||||||
var query = this.el.find('.text-query').val();
|
var query = this.el.find('.text-query').val();
|
||||||
this.model.set({size: newSize, offset: newOffset, q: query});
|
this.model.set({size: newSize, from: newFrom, q: query});
|
||||||
},
|
},
|
||||||
onPaginationUpdate: function(e) {
|
onPaginationUpdate: function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var $el = $(e.target);
|
var $el = $(e.target);
|
||||||
if ($el.parent().hasClass('prev')) {
|
if ($el.parent().hasClass('prev')) {
|
||||||
var newOffset = this.model.get('offset') - Math.max(0, this.model.get('size'));
|
var newFrom = this.model.get('from') - Math.max(0, this.model.get('size'));
|
||||||
} else {
|
} else {
|
||||||
var newOffset = this.model.get('offset') + this.model.get('size');
|
var newFrom = this.model.get('from') + this.model.get('size');
|
||||||
}
|
}
|
||||||
this.model.set({offset: newOffset});
|
this.model.set({from: newFrom});
|
||||||
},
|
},
|
||||||
render: function() {
|
render: function() {
|
||||||
var tmplData = this.model.toJSON();
|
var tmplData = this.model.toJSON();
|
||||||
tmplData.to = this.model.get('offset') + this.model.get('size');
|
tmplData.to = this.model.get('from') + this.model.get('size');
|
||||||
var templated = $.mustache(this.template, tmplData);
|
var templated = $.mustache(this.template, tmplData);
|
||||||
this.el.html(templated);
|
this.el.html(templated);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ test('Memory Backend: query', function () {
|
|||||||
var dataset = makeBackendDataset();
|
var dataset = makeBackendDataset();
|
||||||
var queryObj = {
|
var queryObj = {
|
||||||
size: 4
|
size: 4
|
||||||
, offset: 2
|
, from: 2
|
||||||
};
|
};
|
||||||
dataset.query(queryObj).then(function(documentList) {
|
dataset.query(queryObj).then(function(documentList) {
|
||||||
deepEqual(data.documents[2], documentList.models[0].toJSON());
|
deepEqual(data.documents[2], documentList.models[0].toJSON());
|
||||||
|
|||||||
Reference in New Issue
Block a user