diff --git a/src/filterRows.js b/src/filterRows.js index 18e0f47..0adbdad 100644 --- a/src/filterRows.js +++ b/src/filterRows.js @@ -55,6 +55,15 @@ function getFilterMethod(filter) { .map(cell => cell.rowIndex); }, + equals(keyword, cells) { + return cells + .filter(cell => { + const value = parseFloat(cell.content); + return value === keyword; + }) + .map(cell => cell.rowIndex); + }, + range(rangeValues, cells) { return cells .filter(cell => { @@ -100,6 +109,17 @@ function guessFilter(keyword = '') { }; } + if (keyword.startsWith('=')) { + if (isNumber(keyword.slice(1))) { + return { + type: 'equals', + text: Number(keyword.slice(1).trim()) + }; + } + + keyword = keyword.slice(1); + } + return { type: 'contains', text: keyword.toLowerCase()