DataView filters: support icons on select options (and use field.icon)
Los mantenedores suelen responder en 5 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 86/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Empieza por el tipo FilterSelectOption y el componente FilterChip mencionados en el issue, además de la implementación de Select.Item que muestra SelectItemProps y leadingIcon. Rastrea dónde se hacen spread de las opciones de filtro y dónde se construye el elemento de menú "Add filter" para ver por qué DataViewField.icon nunca se lee. Está terminado cuando las opciones llevan leadingIcon/disabled, un chip de un único valor muestra ese icono, field.icon aparece en el menú y en el chip, y los tests de componentes existentes de DataView/FilterChip siguen pasando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Select filters in DataView can only show plain text options right now. A lot of filters can have an icon that goes with each value, like a status dot, a priority glyph, or an avatar. Without it, the filter dropdown looks different from the column it's filtering, and it's slower to scan.
Select.Item already supports leadingIcon. But FilterSelectOption is just { value, label }, and FilterChip only passes label through, so there's no way to get an icon in.
Also, DataViewField has an icon prop, but as far as I can tell nothing reads it. It doesn't show in the "Add filter" menu or on the chip.
What I'd suggest
-
Let filter options take the same extras
Select.Itemdoes, instead of adding fields one by one:type FilterSelectOption = { value: FilterValueType; label: string; } & Pick<SelectItemProps, 'leadingIcon' | 'disabled'>;FilterChipwould spread those ontoSelect.Item.labelstays a plain string, since search, accessibility and the "N selected" text all depend on it. -
When one value is picked, show its icon in the chip as well, not just in the dropdown. Multiple values can keep showing "N selected".
-
Use
field.iconfor the "Add filter" menu item and the chip'sleadingIcon.
I'd skip a render-prop like renderOption. It would break the text-based stuff above, and every app would end up drawing options differently. If two-line options are ever needed (name + email), a description field would cover that better.
- Lenguaje dominante
- TypeScript
- Estrellas
- 69
- Forks
- 13
- Merge medio
- 4 d 4 h
- PR fusionados (30 d)
- 27
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de raystack/apsara
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 5 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 5 días
-
Handle restored date filters when DataTable and DataView metadata changes after mountPosiblemente ocupada @Shreyag02 la tomó hace 7 días. Abierto
raystack/apsara#944 · 1 asignado ·
Los mantenedores suelen responder en 5 días
Todos los issues de raystack/apsara
Issues similares
-
A hung CI job runs for 6 hours before it is cancelledPosiblemente ocupada @Olanetsoft la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Olanetsoft/agent-lookout#110 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
thedotmack/claude-mem#4757 ·
Los mantenedores suelen responder en 1 día
-
🐛 bug 🗺️ MCP OAuth
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
LibreChat-AI/LibreChat#17077 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100