diff --git a/superset/assets/spec/javascripts/components/FilterableTable/FilterableTable_spec.jsx b/superset/assets/spec/javascripts/components/FilterableTable/FilterableTable_spec.jsx index 73837b68d7..d792f47973 100644 --- a/superset/assets/spec/javascripts/components/FilterableTable/FilterableTable_spec.jsx +++ b/superset/assets/spec/javascripts/components/FilterableTable/FilterableTable_spec.jsx @@ -26,6 +26,7 @@ describe('FilterableTable', () => { data: [ { a: 'a1', b: 'b1', c: 'c1', d: 0 }, { a: 'a2', b: 'b2', c: 'c2', d: 100 }, + { a: null, b: 'b3', c: 'c3', d: 50 }, ], height: 500, }; @@ -38,7 +39,7 @@ describe('FilterableTable', () => { }); it('renders a grid with 2 Table rows', () => { expect(wrapper.find('.ReactVirtualized__Grid')).toHaveLength(1); - expect(wrapper.find('.ReactVirtualized__Table__row')).toHaveLength(2); + expect(wrapper.find('.ReactVirtualized__Table__row')).toHaveLength(3); }); it('renders a grid with 2 Grid rows for wide tables', () => { const wideTableColumns = MAX_COLUMNS_FOR_TABLE + 1; diff --git a/superset/assets/src/components/FilterableTable/FilterableTable.jsx b/superset/assets/src/components/FilterableTable/FilterableTable.jsx index 0e17b3315f..b8c09ef9dd 100644 --- a/superset/assets/src/components/FilterableTable/FilterableTable.jsx +++ b/superset/assets/src/components/FilterableTable/FilterableTable.jsx @@ -223,7 +223,7 @@ export default class FilterableTable extends PureComponent { const cellValue = row[key]; if (typeof cellValue === 'string') { values.push(cellValue.toLowerCase()); - } else if (typeof cellValue.toString === 'function') { + } else if (cellValue !== null && typeof cellValue.toString === 'function') { values.push(cellValue.toString()); } }