diff --git a/src/backend.memory.js b/src/backend.memory.js
index 00f1db4c..0c83a7d1 100644
--- a/src/backend.memory.js
+++ b/src/backend.memory.js
@@ -141,21 +141,19 @@ this.recline.Backend.Memory = this.recline.Backend.Memory || {};
}
function range(record, filter) {
- var filterStart = filter.start || filter.from;
- var filterStop = filter.stop || filter.to;
- var startnull = (_.isUndefined(filterStart) || filterStart === null || filterStart === '');
- var stopnull = (_.isUndefined(filterStop) || filterStop === null || filterStop === '');
+ var fromnull = (_.isUndefined(filter.from) || filter.from === null || filter.from === '');
+ var tonull = (_.isUndefined(filter.to) || filter.to === null || filter.to === '');
var parse = getDataParser(filter);
var value = parse(record[filter.field]);
- var start = parse(startnull ? '' : filterStart);
- var stop = parse(stopnull ? '' : filterStop);
+ var from = parse(fromnull ? '' : filter.from);
+ var to = parse(tonull ? '' : filter.to);
// if at least one end of range is set do not allow '' to get through
// note that for strings '' <= {any-character} e.g. '' <= 'a'
- if ((!startnull || !stopnull) && value === '') {
+ if ((!fromnull || !tonull) && value === '') {
return false;
}
- return ((startnull || value >= start) && (stopnull || value <= stop));
+ return ((fromnull || value >= from) && (tonull || value <= to));
}
function geo_distance() {
diff --git a/src/widget.filtereditor.js b/src/widget.filtereditor.js
index ff92af87..3473b9d5 100644
--- a/src/widget.filtereditor.js
+++ b/src/widget.filtereditor.js
@@ -59,9 +59,9 @@ my.FilterEditor = Backbone.View.extend({
× \
\
\
- \
+ \
\
- \
+ \
\
\
',
diff --git a/test/backend.memory.test.js b/test/backend.memory.test.js
index 9b88bec2..440e7d8d 100644
--- a/test/backend.memory.test.js
+++ b/test/backend.memory.test.js
@@ -99,20 +99,6 @@ test('filters', function () {
deepEqual(_.pluck(out.hits, 'country'), ['UK','UK','UK']);
});
- query = new recline.Model.Query();
- query.addFilter({type: 'range', field: 'date', start: '2011-01-01', stop: '2011-05-01'});
- data.query(query.toJSON()).then(function(out) {
- equal(out.total, 3);
- deepEqual(_.pluck(out.hits, 'date'), ['2011-01-01','2011-02-03','2011-04-05']);
- });
-
- query = new recline.Model.Query();
- query.addFilter({type: 'range', field: 'z', start: '0', stop: '10'});
- data.query(query.toJSON()).then(function(out) {
- equal(out.total, 3);
- deepEqual(_.pluck(out.hits, 'z'), [3,6,9]);
- });
-
query = new recline.Model.Query();
query.addFilter({type: 'range', field: 'date', from: '2011-01-01', to: '2011-05-01'});
data.query(query.toJSON()).then(function(out) {
@@ -126,42 +112,25 @@ test('filters', function () {
equal(out.total, 3);
deepEqual(_.pluck(out.hits, 'z'), [3,6,9]);
});
+
});
test('filters with nulls', function () {
var data = _wrapData();
- query = new recline.Model.Query();
- query.addFilter({type: 'range', field: 'z', start: '', stop: null});
- data.query(query.toJSON()).then(function(out) {
- equal(out.total, 6);
- });
-
query = new recline.Model.Query();
query.addFilter({type: 'range', field: 'z', from: '', to: null});
data.query(query.toJSON()).then(function(out) {
equal(out.total, 6);
});
- query = new recline.Model.Query();
- query.addFilter({type: 'range', field: 'x', start: '', stop: '3'});
- data.query(query.toJSON()).then(function(out) {
- equal(out.total, 3);
- });
-
query = new recline.Model.Query();
query.addFilter({type: 'range', field: 'x', from: '', to: '3'});
data.query(query.toJSON()).then(function(out) {
equal(out.total, 3);
});
- query = new recline.Model.Query();
- query.addFilter({type: 'range', field: 'x', start: '3', stop: ''});
- data.query(query.toJSON()).then(function(out) {
- equal(out.total, 4);
- });
-
query = new recline.Model.Query();
query.addFilter({type: 'range', field: 'x', from: '3', to: ''});
data.query(query.toJSON()).then(function(out) {
@@ -169,11 +138,6 @@ test('filters with nulls', function () {
});
data.records[5].country = '';
- query = new recline.Model.Query();
- query.addFilter({type: 'range', field: 'country', start: '', stop: 'Z'});
- data.query(query.toJSON()).then(function(out) {
- equal(out.total, 5);
- });
query = new recline.Model.Query();
query.addFilter({type: 'range', field: 'country', from: '', to: 'Z'});
@@ -181,12 +145,6 @@ test('filters with nulls', function () {
equal(out.total, 5);
});
- query = new recline.Model.Query();
- query.addFilter({type: 'range', field: 'x', start: '', stop: ''});
- data.query(query.toJSON()).then(function(out) {
- equal(out.total, 6);
- });
-
query = new recline.Model.Query();
query.addFilter({type: 'range', field: 'x', from: '', to: ''});
data.query(query.toJSON()).then(function(out) {
@@ -350,14 +308,14 @@ test('filters', function () {
});
dataset = makeBackendDataset();
- dataset.queryState.addFilter({type: 'range', field: 'date', start: '2011-01-01', stop: '2011-05-01'});
+ dataset.queryState.addFilter({type: 'range', field: 'date', from: '2011-01-01', to: '2011-05-01'});
dataset.query().then(function() {
equal(dataset.records.length, 3);
deepEqual(dataset.records.pluck('date'), ['2011-01-01','2011-02-03','2011-04-05']);
});
dataset = makeBackendDataset();
- dataset.queryState.addFilter({type: 'range', field: 'z', start: '0', stop: '10'});
+ dataset.queryState.addFilter({type: 'range', field: 'z', from: '0', to: '10'});
dataset.query().then(function() {
equal(dataset.records.length, 3);
deepEqual(dataset.records.pluck('z'), [3,6,9]);
diff --git a/test/widget.filtereditor.test.js b/test/widget.filtereditor.test.js
index 656185c2..5faa0189 100644
--- a/test/widget.filtereditor.test.js
+++ b/test/widget.filtereditor.test.js
@@ -41,7 +41,7 @@ test('basics', function () {
$editForm.find('.filter-range input').last().val('4');
$editForm.submit();
equal(dataset.queryState.attributes.filters[0].term, 'UK');
- equal(dataset.queryState.attributes.filters[1].start, 2);
+ equal(dataset.queryState.attributes.filters[1].from, 2);
equal(dataset.records.length, 2);
// now remove filter