Fix: aplica el filtro de carrera y grupo al volver al listado de estudiantes
Mantis 0044460
Qué
Corrige el Mantis 0044460: al volver al listado de Estudiantes con el botón Atrás del navegador (o al abrir una URL que ya trae carrera o grupo), los controles mostraban el filtro elegido pero el listado no lo aplicaba y aparecían estudiantes de otras carreras o grupos.
Por qué
Los filtros de grupo y carrera viajan al backend por id, y ese id se resuelve a partir del catálogo de grupos. La búsqueda se disparaba antes de que terminara de cargar ese catálogo, así que el id iba vacío. Cuando los grupos llegaban, la búsqueda no se repetía, porque el efecto dependía de los nombres del filtro y no de los ids.
Cambios
src/components/students/StudentsListView.tsx:
- Nuevo estado
gruposCargados, que pasa atruecuando termina la carga de grupos, con o sin error. - Si hay un filtro de grupo o carrera elegido (por URL o por sesión) y los grupos todavía no cargaron, la búsqueda espera. Así no se muestra primero el listado sin filtrar.
- El efecto de búsqueda depende de
idGrupoeidCarreraya resueltos, en lugar de los nombres. - Se quita el
eslint-disabledereact-hooks/exhaustive-depsde ese efecto, que ya no hace falta.
Si la carga de grupos falla, la búsqueda sale igual sin ese filtro, como antes.
Cómo probar
- Iniciar sesión como Administrador, con dos estudiantes del mismo nombre en (A-Z). Se lista solo la estudiante de esa carrera.
- Abrir su ficha y volver con el botón Atrás del navegador.
- El listado conserva texto, carrera y orden, y muestra los mismos resultados que antes de entrar a la ficha.
- Repetir con el filtro de Grupo.
- Abrir directamente una URL con
?carrera=...o?grupo=...y verificar que el listado sale filtrado.
Cambios en BD
Ninguno.