grafana
grafana copied to clipboard
Epic: New select component
Old Select related issues (which we aim to address with the New Select):
- https://github.com/grafana/grafana/pull/92026
- https://github.com/grafana/grafana/issues/91683
- https://github.com/grafana/grafana/issues/91546
- Unexpected custom value behavior (this might be related to fuzzy searching) https://github.com/grafana/grafana/issues/91176
These tasks cover Act 1. Things intentionally not adressed here, as they will be adressed at a later date (Act 2):
- Async loading functionality
- Fuzzy search
- Performance regression testing
### Tasks
- [x] Evaluate Downshift vs Floating UI for base
- [ ] https://github.com/grafana/grafana/issues/88897
- [ ] https://github.com/grafana/grafana/issues/88898
- [ ] https://github.com/grafana/grafana/issues/89412
- [ ] https://github.com/grafana/grafana/issues/90122
- [x] Loading/disabled/invalid states
- [ ] https://github.com/grafana/grafana/issues/90646
- [ ] https://github.com/grafana/grafana/issues/91255
- [ ] A11y testing
- [ ] https://github.com/grafana/grafana/issues/90645
- [ ] https://github.com/grafana/grafana/issues/91260
- [ ] https://github.com/grafana/grafana/issues/91259
- [ ] https://github.com/grafana/grafana/issues/92051
- [ ] https://github.com/grafana/grafana/issues/92396
- [ ] Document component
- [ ] https://github.com/grafana/grafana/issues/92404
### Non-functional requirements
- [ ] Be FAST! for 1 million items (define "fast")
- [ ] Must be accessible
- [ ] Must work properly in modals and drawers (be portalled)
- [ ] Must be easy to test
- [ ] Menu placement should always be visible on the screen
### Known issues
- [ ] https://github.com/grafana/grafana/issues/91950
- [ ] https://github.com/grafana/grafana/issues/91952
- [ ] https://github.com/grafana/grafana/issues/92473
- [ ] https://github.com/grafana/grafana/issues/92586
For the Downshift vs Floating UI task, it doesn't really make sense, as Downshfit handles combobox functionality and Floating UI popover behavior.
Considerations:
- What should be the default "no value" value? At the moment it is
null, but another option could be'' - What should the behavior be when you set a value which is not present in the list of options?
- This might tie into custom value
Small follow up issue may appear, but this is running Prometheus and is exposed from grafana/ui since 11.5