Skip to content

Commit d288ac6

Browse files
committed
Prevent text selection when multi-selecting logs
1 parent 1c5cf7a commit d288ac6

1 file changed

Lines changed: 16 additions & 5 deletions

File tree

components/LoggerPanel.tsx

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,10 @@ const LoggerPanel: React.FC<LoggerPanelProps> = ({ isVisible, onToggleVisibility
243243
if (isTextSelectionTarget(target) && hasActiveTextSelection()) {
244244
return;
245245
}
246+
247+
if (event.nativeEvent instanceof MouseEvent && (shiftKey || isMetaKey)) {
248+
event.preventDefault();
249+
}
246250
}
247251

248252
let nextSelection: Set<number>;
@@ -300,18 +304,25 @@ const LoggerPanel: React.FC<LoggerPanelProps> = ({ isVisible, onToggleVisibility
300304
}
301305

302306
const { shiftKey, metaKey, ctrlKey } = event;
307+
const hasModifier = shiftKey || metaKey || ctrlKey;
303308

304309
if (isTextSelectionTarget(event.target)) {
310+
if (hasModifier) {
311+
event.preventDefault();
312+
}
305313
return;
306314
}
307315

308-
if (!(shiftKey || metaKey || ctrlKey)) {
309-
handleLogSelection(event, filteredLogs[index].id, index);
316+
if (hasModifier) {
310317
event.preventDefault();
311-
setIsDragging(true);
312-
setDragStartIndex(index);
313-
setSelectionAnchor(index);
318+
return;
314319
}
320+
321+
handleLogSelection(event, filteredLogs[index].id, index);
322+
event.preventDefault();
323+
setIsDragging(true);
324+
setDragStartIndex(index);
325+
setSelectionAnchor(index);
315326
}, [filteredLogs, handleLogSelection, isTextSelectionTarget]);
316327

317328
const handleLogMouseEnter = useCallback((index: number) => {

0 commit comments

Comments
 (0)