[UI / PRESENTATION] F-06.1 — Listado del Catálogo de Códigos de Error
Épica: EPIC-06 — Catálogo de Códigos de Error (CRUD)
🏷️ Categoría
Categoría: UI / PresentationSecundaria: Logic / BusinessImpacta en: Equipo Fullstack (Livewire + Laravel)
📦 Dependencias
Backlogs que deben estar completados antes de implementar esta feature.
| Backlog | Motivo |
|---|---|
| F-00.2 | Tabla error_codes y modelo ErrorCode disponibles |
| F-00.3 | Nav con enlace 'Error Codes' activo y layout base |
| F-05.3 | Rutas protegidas |
| F-05.4 | Ruta GET /error-codes definida en routes/web.php |
Prioridad: Must
Descripción: Como administrador del sistema Quiero ver una tabla paginada con todos los códigos de error registrados, con filtros y búsqueda Para encontrar rápidamente un código concreto y gestionar el catálogo completo
Criterios de Aceptación (Checklist):
- [ ] Escenario 1 (Tabla de error codes): Dado que accedo a la sección "Error Codes" desde la navegación, cuando se carga la página, entonces veo una tabla con columnas: Código, Aplicación, Nombre, Fichero, Línea, Acciones (Editar / Borrar).
- [ ] Escenario 2 (Paginación): Dado que existen más de 15 error codes, cuando se renderiza la tabla, entonces aparece el paginador y los registros se muestran en páginas de 15 elementos.
- [ ] Escenario 3 (Filtro por aplicación): Dado que selecciono una aplicación en el filtro "App", cuando se aplica, entonces la tabla muestra solo los error codes de esa aplicación.
- [ ] Escenario 4 (Búsqueda por código o nombre): Dado que escribo texto en el buscador, cuando Livewire actualiza, entonces la tabla filtra por código o nombre de error que contengan el texto buscado.
- [ ] Escenario 5 (Botón Crear): Dado que pulso el botón "+ Nuevo Error Code", cuando se ejecuta la acción, entonces se abre el formulario de creación (modal o página separada según diseño).
- [ ] Escenario 6 (Fila clicable): Dado que pulso sobre cualquier fila de la tabla, cuando se ejecuta la acción, entonces navego al detalle/edición del error code seleccionado.
- [ ] Requisito Técnico: Componente Livewire
ErrorCodesTableenresources/views/livewire/error-codes-table.blade.php. Propiedades con#[Url]:$search,$filterApp. Ruta webGET /error-codes→ErrorCodeController@index. La consulta usaILIKE(PostgreSQL) para búsqueda case-insensitive.
MoSCoW: MUSTSprint: Sprint 2
Notas:
- El listado de aplicaciones para el filtro se obtiene con
Application::orderBy('name')->pluck('name', 'id')(join implícito sobre la tablaapplications), no con un DISTINCT sobreerror_codes. - La tabla de error codes en el wireframe se ve como la segunda pantalla (con columnas Filtrados, Error, Aplicacion, Crear, flechas de orden y filas).