diff --git a/internal/server/web/static/app.css b/internal/server/web/static/app.css index 5bd5ae0..49b5995 100644 --- a/internal/server/web/static/app.css +++ b/internal/server/web/static/app.css @@ -407,7 +407,8 @@ body.dnd, body.dnd * { cursor:grabbing !important; } .dropdlg .dd-c { display:flex; align-items:center; gap:6px; } .dropdlg .mv-prog { margin-top:0; } .dropdlg .dd-btns { display:flex; gap:6px; justify-content:flex-end; } -.fpane .fp-list tr[data-name] { user-select:none; } +/* Dragging rows: no text gets selected meanwhile (it can be selected otherwise). */ +body.dnd, body.dnd * { user-select:none !important; -webkit-user-select:none !important; } .empty { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:var(--muted); } .empty[hidden] { display:none; } /* The "+" menu: a terminal here, or on another machine. */ diff --git a/internal/server/web/static/dnd.js b/internal/server/web/static/dnd.js index cb5c245..17f1bc2 100644 --- a/internal/server/web/static/dnd.js +++ b/internal/server/web/static/dnd.js @@ -50,6 +50,9 @@ begin(); } d.ghost.style.transform = 'translate(' + (ev.clientX + 12) + 'px,' + (ev.clientY + 10) + 'px)'; + // What the browser began to select before the drag was told apart goes. + const sel = getSelection(); + if (sel && !sel.isCollapsed) sel.removeAllRanges(); d.target = null; box.hidden = true; d.ghost.dataset.hint = '';