ni / ni/nimble

Combobox filter option to match input to any part of dropdown options

Open
#535 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
39
Forks
14
Avg merge
1d 16h
Merged PRs (30d)
13

Description

😯 Problem to Solve

UX has requested that the Combobox provide a filter option that would match the user input value to any part of the text in the dropdown option text.

The primary use-case for this feature would be matching a common term for a subset of options that doesn't appear at the front of the text.

💁 Proposed Solution

The FAST Select offers a set of "autocomplete" options that include inline (which autocompletes from the beginning), 'list' (which just filters matching items from the beginning), 'both' (which both filters and autocompletes), and 'none'.

We can't really extend this solution since it's a closed type that specifies the options to select from. Even if we could extend it, it would be awkward, because what would 'both' mean with this new filter option? The options available to us to support this feature seem to be the following:

  1. Push FAST to introduce this feature in the way they think is best. I've started the Discord discussion here.
  2. Add the new filter option to nimble-combobox. While technically this would be implementation-light, it would also make for an ugly implementation if we had to have logic that had to handle the insane case where both the new option we provided as set as well as the FAST option.
  3. Fork the fast-foundation Combobox and provide the API/implementation we desire. This has the obvious drawback of us being severed from any improvements/bug fixes made to the FAST Combobox.
  4. Other?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the FAST Select autocomplete options and the FAST Combobox behavior described in the issue. Read the linked Discord discussion and inspect nimble-combobox and the fast-foundation Combobox as the relevant entry points. Done requires a settled implementation direction and an agreed API and behavior for matching terms anywhere in dropdown option text.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.