diff --git a/src/lib/Filters.js b/src/lib/Filters.js index 03c8a57f44..6947c0556b 100644 --- a/src/lib/Filters.js +++ b/src/lib/Filters.js @@ -76,6 +76,18 @@ export const Constraints = { composable: true, comparable: true, }, + onOrAfter: { + name: 'is on or after', + field: 'Date', + composable: true, + comparable: true, + }, + onOrBefore: { + name: 'is on or before', + field: 'Date', + composable: true, + comparable: true, + }, containsString: { name: 'contains string', field: 'String', @@ -170,7 +182,15 @@ export const FieldConstraints = { Boolean: ['exists', 'dne', 'eq', 'neq', 'unique'], Number: ['exists', 'dne', 'eq', 'neq', 'lt', 'lte', 'gt', 'gte', 'unique'], String: ['exists', 'dne', 'eq', 'neq', 'starts', 'ends', 'stringContainsString', 'unique'], - Date: ['exists', 'dne', 'before', 'after', 'unique'], + Date: [ + 'exists', + 'dne', + 'before', + 'onOrBefore', + 'after', + 'onOrAfter', + 'unique', + ], Object: [ 'exists', 'dne', diff --git a/src/lib/queryFromFilters.js b/src/lib/queryFromFilters.js index 047d69cad2..ea4c49a591 100644 --- a/src/lib/queryFromFilters.js +++ b/src/lib/queryFromFilters.js @@ -127,12 +127,14 @@ function addConstraint(query, filter) { query.lessThan(filter.get('field'), filter.get('compareTo')); break; case 'lte': + case 'onOrBefore': query.lessThanOrEqualTo(filter.get('field'), filter.get('compareTo')); break; case 'gt': query.greaterThan(filter.get('field'), filter.get('compareTo')); break; case 'gte': + case 'onOrAfter': query.greaterThanOrEqualTo(filter.get('field'), filter.get('compareTo')); break; case 'starts':