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:
@@ -1,5 +1,13 @@
|
|||||||
# Changelog - project.linkedcorp.net
|
# 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
|
## [1.16.2] - 2026-09-16
|
||||||
### Changed
|
### Changed
|
||||||
- El contador de la pestaña "Tareas" pasa de mostrar solo las pendientes a "pendientes/total"
|
- El contador de la pestaña "Tareas" pasa de mostrar solo las pendientes a "pendientes/total"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "project-linkedcorp-backend",
|
"name": "project-linkedcorp-backend",
|
||||||
"version": "1.16.2",
|
"version": "1.16.3",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "src/server.js",
|
"main": "src/server.js",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "project-linkedcorp-frontend",
|
"name": "project-linkedcorp-frontend",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.16.2",
|
"version": "1.16.3",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@@ -263,10 +263,9 @@ export default function ActivityDetailPanel({ activity, projectId, siblingActivi
|
|||||||
</>
|
</>
|
||||||
) : (
|
) : (
|
||||||
<>
|
<>
|
||||||
<GripVertical
|
<span className="drag-handle-wrap" {...getHandleProps(task)}>
|
||||||
size={15} className="drag-handle" style={{ opacity: .6, cursor: 'grab', flexShrink: 0 }}
|
<GripVertical size={15} className="drag-handle" style={{ opacity: .6 }} />
|
||||||
{...getHandleProps(task)}
|
</span>
|
||||||
/>
|
|
||||||
<input type="checkbox" checked={!!task.is_done} onChange={() => toggleTask(task)} />
|
<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>
|
<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>
|
<button className="icon-btn" title={t('common_edit')} onClick={() => startEditTask(task)}><Pencil size={15} /></button>
|
||||||
|
|||||||
@@ -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) --- */
|
/* --- 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 { width: 28px; padding: 10px 4px !important; color: rgb(var(--muted)); cursor: grab; }
|
||||||
.drag-handle-cell:active { cursor: grabbing; }
|
.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; }
|
.list-table tbody tr.dragging, .drag-row.dragging { opacity: .4; }
|
||||||
|
|
||||||
/* --- Badges --- */
|
/* --- Badges --- */
|
||||||
|
|||||||
Reference in New Issue
Block a user