From a067db0bcbf7aedc91fe8d9d4896ddd6d759a773 Mon Sep 17 00:00:00 2001 From: Matthew Bargar Date: Mon, 22 Aug 2016 15:29:24 -0400 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; }