From 3fff535713fc2dabb5dac0911bfebf7223d4d6be Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Wed, 5 Feb 2025 18:49:07 +0100 Subject: [PATCH] prevent custom defaultHeaderFilter breaking tristate built-in filter --- public/js/tabulator/filters/defaultHeaderFilter.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/public/js/tabulator/filters/defaultHeaderFilter.js b/public/js/tabulator/filters/defaultHeaderFilter.js index 7e463921b..facce437a 100644 --- a/public/js/tabulator/filters/defaultHeaderFilter.js +++ b/public/js/tabulator/filters/defaultHeaderFilter.js @@ -3,6 +3,11 @@ function parseFilterExpression(expression){ const excludeTerms = []; const comparisons = []; + if( typeof expression !== 'string' ) { + comparisons.push({ operator: '=', number: expression }); + return { includeGroups, excludeTerms, comparisons }; + } + const andParts = expression.split('&&').map(part => part.trim()); andParts.forEach(part => { @@ -54,7 +59,7 @@ export function defaultHeaderFilter(headerValue, rowValue) const comparisonCheck = comparisons.every(({ operator, number }) => { let value = rowValue; - if (!isNaN(number)) + if (!isNaN(number) && typeof number !== 'boolean') { value = parseFloat(rowValue); if (isNaN(value)) return false;