fix: arrastrar tareas para reordenar dejo de funcionar

Regresion del fix del checkbox (v1.15.2): draggable/onDragStart quedaron directo sobre el <svg>
del icono de agarre, que solo capta el mousedown sobre lo pintado (huecos entre sus formas), no
sobre todo su recuadro -- el navegador no siempre detectaba el inicio del arrastre. Envuelto en
un <span> con area de agarre solida, mismo patron ya usado en el listado de Actividades.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Milton Gonzalez
2026-09-16 14:22:26 -05:00
parent 8e7c0d87c2
commit 696ab0d092
6 changed files with 21 additions and 7 deletions
+8
View File
@@ -1,5 +1,13 @@
# Changelog - project.linkedcorp.net
## [1.16.3] - 2026-09-16
### Fixed
- Arrastrar tareas para reordenar dejó de funcionar tras el fix del checkbox (v1.15.2): al mover
`draggable`/`onDragStart` del icono de agarre directamente sobre el `<svg>` (huecos entre sus
formas — un SVG solo capta el mousedown sobre lo pintado, no sobre todo su recuadro), el
navegador no siempre detectaba el inicio del arrastre. Corregido envolviendo el icono en un
`<span>` con área de agarre sólida (mismo patrón ya usado en el listado de Actividades).
## [1.16.2] - 2026-09-16
### Changed
- El contador de la pestaña "Tareas" pasa de mostrar solo las pendientes a "pendientes/total"
+1 -1
View File
@@ -1 +1 @@
1.16.2
1.16.3
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "project-linkedcorp-backend",
"version": "1.16.2",
"version": "1.16.3",
"private": true,
"type": "module",
"main": "src/server.js",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "project-linkedcorp-frontend",
"private": true,
"version": "1.16.2",
"version": "1.16.3",
"type": "module",
"scripts": {
"dev": "vite",
@@ -263,10 +263,9 @@ export default function ActivityDetailPanel({ activity, projectId, siblingActivi
</>
) : (
<>
<GripVertical
size={15} className="drag-handle" style={{ opacity: .6, cursor: 'grab', flexShrink: 0 }}
{...getHandleProps(task)}
/>
<span className="drag-handle-wrap" {...getHandleProps(task)}>
<GripVertical size={15} className="drag-handle" style={{ opacity: .6 }} />
</span>
<input type="checkbox" checked={!!task.is_done} onChange={() => toggleTask(task)} />
<span style={{ flex: 1, fontSize: '.8rem', textDecoration: task.is_done ? 'line-through' : 'none', opacity: task.is_done ? .6 : 1 }}>{task.name}</span>
<button className="icon-btn" title={t('common_edit')} onClick={() => startEditTask(task)}><Pencil size={15} /></button>
+7
View File
@@ -157,6 +157,13 @@ table.list-table { width: 100%; border-collapse: collapse; font-size: .8rem; }
/* --- Arrastrar para reordenar (ListView con onReorder, listado de tareas de una actividad) --- */
.drag-handle-cell { width: 28px; padding: 10px 4px !important; color: rgb(var(--muted)); cursor: grab; }
.drag-handle-cell:active { cursor: grabbing; }
/* Area de agarre solida (no el icono suelto): un SVG con huecos entre sus formas no capta el
mousedown de forma confiable en todo su recuadro, y el arrastre dejaba de iniciar. */
.drag-handle-wrap {
display: inline-flex; align-items: center; justify-content: center;
width: 20px; height: 20px; flex: none; cursor: grab;
}
.drag-handle-wrap:active { cursor: grabbing; }
.list-table tbody tr.dragging, .drag-row.dragging { opacity: .4; }
/* --- Badges --- */