feat: arrastrar con el mouse para reordenar actividades y tareas
Hook reutilizable useDragReorder (drag & drop nativo HTML5, sin libreria nueva) usado en dos lugares: ListView (opt-in via onReorder, deshabilitado mientras haya un ordenamiento por columna activo) para el listado de actividades de un proyecto, y el listado de tareas de una actividad. Orden persistido en sort_order (activities y tasks, migracion 012, posiciones siempre 1..N). Fix real encontrado durante las pruebas: sincronizar el estado interno del hook por la REFERENCIA del arreglo de entrada entraba en loop infinito de renders cuando el llamador pasa "algo || []" (un arreglo nuevo en cada render mientras los datos cargan). Corregido para sincronizar por el contenido (ids), no por referencia. Probado en dev con curl (persistencia del orden) y Playwright (arrastrar filas en el navegador, orden visible y guardado correctamente, sin errores de consola tras el fix). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,13 @@
|
||||
# Changelog - project.linkedcorp.net
|
||||
|
||||
## [1.14.0] - 2026-09-15
|
||||
### Added
|
||||
- Arrastrar con el mouse para reordenar: actividades (dentro de un proyecto) y tareas (dentro de
|
||||
una actividad), ambas con el mismo mecanismo — un hook reutilizable (`useDragReorder`, drag &
|
||||
drop nativo, sin librería nueva) usado tanto en `ListView` (opt-in vía `onReorder`, deshabilitado
|
||||
mientras haya un ordenamiento por columna activo) como en el listado de tareas. Orden persistido
|
||||
(`sort_order` en `activities`/`tasks`, migración `012`, posiciones 1..N).
|
||||
|
||||
## [1.13.0] - 2026-09-15
|
||||
### Added
|
||||
- Eliminar actividad: `DELETE /api/activities/:id` (no existía) + botón "Eliminar" en el listado
|
||||
|
||||
Reference in New Issue
Block a user