diff --git a/scripts/__tests__/griddle-test.js b/scripts/__tests__/griddle-test.js index 885a80d7..a6880eac 100644 --- a/scripts/__tests__/griddle-test.js +++ b/scripts/__tests__/griddle-test.js @@ -154,6 +154,11 @@ describe('Griddle', function() { expect(grid.state.filteredResults.length).toEqual(1); }); + it('correctly handles a null value in defaultColumnFilter', function(){ + const test = grid.defaultColumnFilter(null, 'May'); + expect(test).toEqual(false); + }); + it('sets the filteredResults when filterByColumn called on object field', function(){ grid.filterByColumn('Hawaii', 'address'); expect(grid.state.filteredResults.length).toEqual(1); diff --git a/scripts/griddle.jsx b/scripts/griddle.jsx index 4af18c47..86a327ba 100644 --- a/scripts/griddle.jsx +++ b/scripts/griddle.jsx @@ -166,7 +166,9 @@ var Griddle = React.createClass({ defaultColumnFilter(value, filter) { return _filter(deep.getObjectValues(value), function(value) { - return value.toString().toLowerCase().indexOf(filter.toLowerCase()) >= 0; + if (value !== null && value.toString) { + return value.toString().toLowerCase().indexOf(filter.toLowerCase()) >= 0; + } }).length > 0; },