make DataProvider an interface
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
- #7351 de @antdking — cerrado sin fusionar
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Localiza el alias de tipo DataProvider e inspecciona sus usos en los hooks y en los typings de resource/model. Comprueba cómo afecta cambiarlo a una interfaz a la propagación de genéricos y al tipado de los injectables, y valida el comportamiento con la demo propuesta; terminado significa que la asociación de resourceName con RaRecord funciona en todos los hooks sin wrappers genéricos explícitos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is your feature request related to a problem? Please describe.
Currently, to extend the DataProvider, we have to be very explicit about generics, and do a fair amount of hackery to expose Models/Resources everywhere.
The aim here is to build an abstraction around the pieces in react-admin, to make wiring up APIs/Models/Views a lot more seamless within editor environments (fully static with plain JS for users).
Describe the solution you'd like
Currently, DataProvider is a TypeAlias, which are not injectable.
By allowing us to inject the DataProvider, we can cause resourceName -> RaRecord associations to propagate to all the hooks (useGetList('cats') should automatically find my Cat Model).
For now, changing it from type to interface might be enough, however I'm unsure of the fallout. I'll spin up a PR with a Demo to verify how it all goes, and so you have something physical to see.
I suspect this will be beneficial for the no-code project, however I've yet to do a dive into what that is in detail.
Describe alternatives you've considered
Wrapping + explicit types == Code too noisy
Additional context
n/a
- Lenguaje dominante
- TypeScript
- Estrellas
- 27k
- Forks
- 5.5k
- Merge medio
- 1 d 3 min
- PR fusionados (30 d)
- 32
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 marmelab/react-admin
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
marmelab/react-admin#11431 ·
Los mantenedores suelen responder en 1 día
-
Pagination: page button aria-labels are not translated on small screensPosiblemente ocupada @Singmin la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
marmelab/react-admin#11427 ·
Los mantenedores suelen responder en 1 día
-
Add emptyText property to SelectArrayInputPosiblemente ocupada @kwitykwity la tomó hace 59 días. Abiertoenhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
marmelab/react-admin#10454 · 7 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 Más de una semana Aptitud para principiantes 38/100
marmelab/react-admin#11426 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
ra-data-graphql-simple: outdated graphql-ast-types-browser dependency causes npm peer warningsQuizá libre de nuevo @bipul724 la tomó hace 13 días y no hay ningún pull request abierto. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
marmelab/react-admin#11395 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de marmelab/react-admin
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
CopilotKit/openmuse#215 ·
Los mantenedores suelen responder en 3 días
-
b:minor bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
software-mansion/argent#1698 ·
Los mantenedores suelen responder en 1 día
-
e2e-failure ready-to-code
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
redhat-developer/rhdh-plugin-export-overlays#4624 · 1 comentario ·
Los mantenedores suelen responder en 1 día