Handle restored date filters when DataTable and DataView metadata changes after mount
Los mantenedores suelen responder en 5 días
@Shreyag02 ya está trabajando en esto.
Desde el 6/10/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Summary
Handle restored date filters when field metadata gains filterType: 'date' after mount in both DataTable and DataView.
- DataTable:
columnscan gain date-filter metadata afterDataTableRootinitializestableQuery. - DataView: root fields can change after mount, and a view's
fieldsoverride can register after the initial query loads. These changes affecteffectiveFields.
In both cases, an untyped restored date filter can remain untyped. Client filtering can then match no rows, and server query emission can use string-filter behavior instead of date-filter behavior.
This limitation predates PR #919. The follow-up is separate from that PR.
Required changes
- Derive missing filter types from the current DataTable
columnsand DataVieweffectiveFieldswhen computing row-filter state and emitted queries. - Use the shared date-filter metadata helper where appropriate.
- Preserve existing filter values, operators, explicit types, and user edits.
- Do not reinitialize
tableQueryfrom the original query or add an effect that replaces user edits. - Ensure DataView uses the active view's effective metadata, including its
fieldsoverride.
Affected areas
- DataTable:
DataTableRoot, row-filter state derivation, and server query emission. The reviewed root file ispackages/react/components/data-table/data-table.tsx. - DataView:
DataViewRoot,effectiveFields, row-filter state derivation, and server query emission. - Shared date-filter metadata helpers and DataTable/DataView regression tests.
Acceptance criteria
- Mount DataTable with an untyped restored date filter, then give its column
filterType: 'date'. Client filtering compares whole days and selects the expected rows. - Repeat this scenario in DataView for both updated root fields and a view's late-registering
fieldsoverride. - In server mode, both components emit the restored filter with date semantics and a viewer-local
YYYY-MM-DDstringValueafter date metadata becomes available. - Preserve the original filter
valueand any user edits made before metadata arrives. - Leave explicitly typed filters and unrelated filters unchanged.
- Add regression tests for both components, including client filtering and server query emission.
References
Requested by @Shreyag02.
- 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 86/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
Todos los issues de raystack/apsara
Issues similares
-
ai-driven-qa bug claude Minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
linagora/twake-contacts-frontend#241 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
ui(ListToolbar): search takes the full row on a phone instead of sharing it with the result countAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
Los mantenedores suelen responder en 1 día
-
priority:high
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
ahmedkhaleel2004/gitdiagram#228 ·