GlFilteredSearch miscellanous bugs

This is a placeholder issue for a collection of bugs found in GlFilteredSearch as part of an investigation into gitlab-org/gitlab-ui#1803 (closed). Eventually, this issue should be close in favour of separate issues for each bug listed before (or group of bugs).

Some of these are addressed in gitlab-org/gitlab-ui!3226 (closed), although some of them should be pulled out into separate MRs.

Fixed by gitlab-org/gitlab-ui!3362 (merged)
Fixed by gitlab-org/gitlab-ui!3368 (merged)
  • Suggestions not being highlighted unless text is entered with the correct casing
  • An input is not always rendered, so you can’t always start editing the search input by keyboard only
  • The options[].title being used as the token value instead of options[].value
  • Matching suggestions aren't activated? E.g., type "auth", and only the Author token suggestion is available. Why not activate it?
Fixed by gitlab-org/gitlab-ui!3382 (merged)
  • Inconsistent quote handling
  • A runtime error if you type a quoted string followed by a space
  • It's possible to deselect the first/last suggestions by pressing up/down respectively
  • A runtime error if you choose the Author token, press up arrow to deselect the operator suggestion, then press Escape
  • A runtime error when you choose a token type, then press RightArrow before typing or choosing an operator.
  • Inconsistent behaviour of suggestions for a term and a segment. In a term, typing reduces the list of visible options. For a segment, it only maybe activates one of them. This is because suggestion display logic lives in both Term and Segment components, and are implemented differently.
  • When show-friendly-text is enabled, typing any key except ! or = chooses the first operator, and then that key is placed in the next segment.
  • When arrowing up in a suggestion list, the text cursor goes to the beginning (though this is just normal text input behaviour, so arguably not a bug)
Edited by Mark Florian