From ace67c4fa89f3848644643c4f9a1d91f662d3f28 Mon Sep 17 00:00:00 2001 From: Sam Day Date: Fri, 19 Aug 2016 21:07:19 -0700 Subject: [PATCH] Enable non-match queries in custom filters filterManager.add assumes that if it finds a filter that has a query prop, then it must also have a match clause contained in that query. User created custom filters may use term queries, range queries and the like. Once you've added any filters without a match clause like that, you can no longer add new filters by clicking the "add filter" icon next to a field in the results. Instead you'll get an error that says "Cannot read property '' of undefined" when filterManager.add iterates over your custom filter with no match key. Fixes: https://github.com/elastic/kibana/issues/7246 Related: https://github.com/elastic/kibana/pull/8038 --- src/ui/public/filter_manager/filter_manager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/public/filter_manager/filter_manager.js b/src/ui/public/filter_manager/filter_manager.js index c856ab0c07746..71a7fb057a395 100644 --- a/src/ui/public/filter_manager/filter_manager.js +++ b/src/ui/public/filter_manager/filter_manager.js @@ -23,7 +23,7 @@ export default function (Private) { return filter.exists.field === value; } - if (filter.query) { + if (filter.query && filter.query.match) { return filter.query.match[fieldName] && filter.query.match[fieldName].query === value; }