This PR evolves Kuery into a simplified, more lucene-like language. In a follow up PR we plan on getting rid of the language switcher dropdown and instead add a checkbox that will allow users to opt-in to this syntax, which will feel less like a separate language and more like a set of enhancements to the existing lucene query syntax.
This PR also updates the simple grammar to solve the following:
* Wildcards in field names
* "is one of" shorthand (e.g. foo:(bar OR baz OR qux))
* Don't split on whitespace (require explicit AND/ORs, case insensitive)
* "exists" query (e.g. foo:*)
* Improved range query shorthands (e.g. foo <= 1)
* Wildcard queries
Since this new syntax is simpler and does not support every filter type like old Kuery did, this PR also brings back the filter bar when kuery is selected in the language picker.
See the documentation updates in this PR if you need an overview of the new syntax (and let us know if the documentation is lacking).
* First stab at refactoring typeahead
* Don't double submit on enter
* Add item templating
* Remove unnecessary test
* Don't submit on enter
* Add clarifying comment
* Fix history log key
* Fix key handling
* Don't always hide on submit
* Check items exists
* Simplify select next/prev and reset selected on hide/backspace
* Add test
* Put persistedLog on scope so it can be tested
* Update typeahead items when language changes
* Finish that work I didn't do in the last commit
* Order matters
* use default index pattern when filter-editor is not passed any index patterns
* add functional test
* pass indexPatterns to filterBar directive
* handle check for [undefined]
* use _.compact to test if index patterns are provided
* simplify areIndexPatternsProvided
* Only update status when required
* Add missing Status.PARAMS
* Add requiresUpdateStatus to Vega vis
* Add requiresUpdateStatus for editors
* Fix stupid issue
* Create unit tests for getUpdateStatus method
* [kbn-plugin-helpers] allow opt-ing out of dependency installation
* [plugin-helpers] rename buildIgnoreDependencies to skipInstallDependencies
* [plugin-helpers] use noop3 for test
* [plugin-helpers] fix test description
* [plugin-helpers] fix assertion
* [server/rewriteBasePath] add option to enable basePath rewriting
* [server/rewriteBasePath/docs] end sentences with periods
* [server/rewriteBasePath] simplify Joi schema a smidge
* [server/rewriteBasePath] rename test file to match source
* [server/rewriteBasePath] initialize server in before/after hooks
* [server/rewriteBasePath] rephrase deprecation warning
* [server/config/schema] verify that non-strings are not accepted for basePath
* [server/config/schema] toss a trailing comma in there