[#66,filters][s]: memory backend support for filters.
This commit is contained in:
@@ -120,6 +120,12 @@ this.recline.Backend = this.recline.Backend || {};
|
|||||||
var numRows = queryObj.size;
|
var numRows = queryObj.size;
|
||||||
var start = queryObj.from;
|
var start = queryObj.from;
|
||||||
results = this.datasets[model.id].documents;
|
results = this.datasets[model.id].documents;
|
||||||
|
_.each(queryObj.filters, function(filter) {
|
||||||
|
results = _.filter(results, function(doc) {
|
||||||
|
var fieldId = _.keys(filter.term)[0];
|
||||||
|
return (doc[fieldId] == filter.term[fieldId]);
|
||||||
|
});
|
||||||
|
});
|
||||||
// not complete sorting!
|
// not complete sorting!
|
||||||
_.each(queryObj.sort, function(sortObj) {
|
_.each(queryObj.sort, function(sortObj) {
|
||||||
var fieldName = _.keys(sortObj)[0];
|
var fieldName = _.keys(sortObj)[0];
|
||||||
|
|||||||
@@ -79,7 +79,17 @@ test('Memory Backend: query sort', function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('Memory Backend: filters', function () {
|
||||||
|
var dataset = makeBackendDataset();
|
||||||
|
dataset.queryState.addTermFilter('country', 'UK');
|
||||||
|
dataset.query().then(function() {
|
||||||
|
equal(dataset.currentDocuments.length, 3);
|
||||||
|
deepEqual(dataset.currentDocuments.pluck('country'), ['UK', 'UK', 'UK']);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
test('Memory Backend: facet', function () {
|
test('Memory Backend: facet', function () {
|
||||||
|
console.log('here');
|
||||||
var dataset = makeBackendDataset();
|
var dataset = makeBackendDataset();
|
||||||
dataset.queryState.addFacet('country');
|
dataset.queryState.addFacet('country');
|
||||||
dataset.query().then(function() {
|
dataset.query().then(function() {
|
||||||
|
|||||||
Reference in New Issue
Block a user