oxidecomputer / oxidecomputer/console

Combobox rework

Open
#2,857 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
228
Forks
22
Avg merge
19h 42m
Merged PRs (30d)
32

Description

Currently a combobox and listbox both look are behave mostly the same but the combobox lets you add arbitrary values. But this treatment makes it unclear whether or not the input does accept arbitrary values and we run into issues by using the text input as the method by which you filter the list since you'd expect whatever is in the input to be the value accepted by the form.

I therefore think we can distinguish the two by having:

  1. Combobox that behaves basically as it does not but that commits the value on blur (rather than requiring click or enter to assign the custom value).
  2. A select that has a separate input to filter the list within the dropdown instead. This way it's clear that it will not be saved when the dropdown is closed, that its distinct from the actual input and its more intuitive which accepts custom input.

Ariakit has a good example of the dropdown input for a new filterable listbox.

Image

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

The issue names no files or tests; start by locating the existing combobox and listbox entry points and comparing their current behavior. Define completion around blur-committed custom combobox values and a separate, non-committing dropdown filter for the select, then verify both interaction paths.

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.