From efb173c9713e96ed17d5459671f237f6d46d9949 Mon Sep 17 00:00:00 2001 From: Mark Silverberg Date: Wed, 20 Jan 2016 19:47:42 -0500 Subject: [PATCH 1/3] #104 support IS [NOT] NULL queries this time in a feature branch --- src/scripts/collections/baseprovider.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/scripts/collections/baseprovider.js b/src/scripts/collections/baseprovider.js index d3d6904..2844c55 100644 --- a/src/scripts/collections/baseprovider.js +++ b/src/scripts/collections/baseprovider.js @@ -55,6 +55,12 @@ module.exports = Backbone.Collection.extend({ expression.type, '(' + expression.value.map(enclose).join(', ') + ')' ].join(' ') + } else if(expression.type === 'is not' || expression.type == 'is'){ + return [ + field, + expression.type, + expression.value + ].join(' ') } else { return [ field, From 786b9755fb58315b92bf2dfab3a06b8087f797e3 Mon Sep 17 00:00:00 2001 From: Mark Silverberg Date: Sat, 23 Jan 2016 17:30:11 -0500 Subject: [PATCH 2/3] #152 simpler fix to support null as an expression.value value --- src/scripts/collections/baseprovider.js | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/scripts/collections/baseprovider.js b/src/scripts/collections/baseprovider.js index 2844c55..f332c54 100644 --- a/src/scripts/collections/baseprovider.js +++ b/src/scripts/collections/baseprovider.js @@ -55,17 +55,11 @@ module.exports = Backbone.Collection.extend({ expression.type, '(' + expression.value.map(enclose).join(', ') + ')' ].join(' ') - } else if(expression.type === 'is not' || expression.type == 'is'){ - return [ - field, - expression.type, - expression.value - ].join(' ') } else { return [ field, expression.type, - enclose(expression.value) + enclose(expression.value)+'' ].join(' ') } }, From 1d8329244c4b08911cc11d2ed2a5f6f269ce1636 Mon Sep 17 00:00:00 2001 From: Mark Silverberg Date: Sat, 23 Jan 2016 18:28:32 -0500 Subject: [PATCH 3/3] #152 solution discussed on Gitter modified enclose function to handle null --- src/scripts/collections/baseprovider.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/scripts/collections/baseprovider.js b/src/scripts/collections/baseprovider.js index f332c54..895b724 100644 --- a/src/scripts/collections/baseprovider.js +++ b/src/scripts/collections/baseprovider.js @@ -9,7 +9,13 @@ var model = Backbone.Model.extend({ }) var enclose = function (val) { - return typeof val === 'string' && val != 'true' && val != 'false' ? "'" + val + "'" : val // eslint-disable-line + if (typeof val === 'string' && val != 'true' && val != 'false') { // eslint-disable-line + return "'" + val + "'" + } else if (val === null) { + return 'null' + } else { + return val + } } module.exports = Backbone.Collection.extend({ @@ -59,7 +65,7 @@ module.exports = Backbone.Collection.extend({ return [ field, expression.type, - enclose(expression.value)+'' + enclose(expression.value) ].join(' ') } },