From 75faca6e8dd944b6c6bcab4299964e3f4c649123 Mon Sep 17 00:00:00 2001 From: Maciej Sitarz Date: Wed, 6 Dec 2017 21:51:36 +0100 Subject: [PATCH] First search for rgx: then for other operators --- src/tablefilter.js | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/tablefilter.js b/src/tablefilter.js index 516b6165..680f0c20 100644 --- a/src/tablefilter.js +++ b/src/tablefilter.js @@ -1780,8 +1780,21 @@ export class TableFilter { // first checks if there is any operator (<,>,<=,>=,!,*,=,{,}, // rgx:) + + //regexp + if (hasRE) { + //in case regexp throws + try { + //operator is removed + let srchArg = term.replace(reRe, ''); + let rgx = new RegExp(srchArg); + occurence = rgx.test(cellValue); + } catch (ex) { + occurence = false; + } + } // lower equal - if (hasLE) { + else if (hasLE) { occurence = numData <= parseNb( term.replace(reLe, ''), decimal @@ -1844,18 +1857,6 @@ export class TableFilter { //non-empty else if (hasNM) { occurence = !isEmptyString(cellValue); - } - //regexp - else if (hasRE) { - //in case regexp throws - try { - //operator is removed - let srchArg = term.replace(reRe, ''); - let rgx = new RegExp(srchArg); - occurence = rgx.test(cellValue); - } catch (ex) { - occurence = false; - } } else { // If numeric type data, perform a strict equality test and // fallback to unformatted number string comparison