Merge pull request #498 from webadderallorg/fix/cursor-playhead-placement

Fix/cursor playhead placement
This commit is contained in:
webadderall
2026-05-11 19:38:38 +10:00
committed by GitHub
2 changed files with 13 additions and 0 deletions
@@ -10,6 +10,7 @@ interface RowProps extends RowDefinition {
onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;
onMouseMove?: React.MouseEventHandler<HTMLDivElement>;
onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;
onMouseDown?: React.MouseEventHandler<HTMLDivElement>;
onClick?: React.MouseEventHandler<HTMLDivElement>;
}
@@ -23,6 +24,7 @@ export default function Row({
onMouseEnter,
onMouseMove,
onMouseLeave,
onMouseDown,
onClick,
}: RowProps) {
const { setNodeRef, rowWrapperStyle, rowStyle } = useRow({ id });
@@ -52,6 +54,7 @@ export default function Row({
onMouseEnter={onMouseEnter}
onMouseMove={onMouseMove}
onMouseLeave={onMouseLeave}
onMouseDown={onMouseDown}
onClick={onClick}
>
{children}
@@ -170,6 +170,10 @@ function useTimelineHover({
setZoomRowHoverMs(null);
}, []);
const handleZoomRowMouseDown = useCallback((event: MouseEvent<HTMLDivElement>) => {
event.stopPropagation();
}, []);
const handleZoomRowClick = useCallback(
(event: MouseEvent<HTMLDivElement>) => {
event.stopPropagation();
@@ -213,6 +217,7 @@ function useTimelineHover({
handleZoomRowMouseEnter,
handleZoomRowMouseMove,
handleZoomRowMouseLeave,
handleZoomRowMouseDown,
handleZoomRowClick,
};
}
@@ -244,6 +249,7 @@ interface TimelineCanvasRowsProps {
onZoomRowMouseEnter: MouseEventHandler<HTMLDivElement>;
onZoomRowMouseMove: MouseEventHandler<HTMLDivElement>;
onZoomRowMouseLeave: MouseEventHandler<HTMLDivElement>;
onZoomRowMouseDown: MouseEventHandler<HTMLDivElement>;
onZoomRowClick: MouseEventHandler<HTMLDivElement>;
isLoading?: boolean;
}
@@ -311,6 +317,7 @@ const TimelineCanvasRows = memo(function TimelineCanvasRows({
onZoomRowMouseEnter,
onZoomRowMouseMove,
onZoomRowMouseLeave,
onZoomRowMouseDown,
onZoomRowClick,
isLoading = false,
}: TimelineCanvasRowsProps) {
@@ -422,6 +429,7 @@ const TimelineCanvasRows = memo(function TimelineCanvasRows({
onMouseEnter={onZoomRowMouseEnter}
onMouseMove={onZoomRowMouseMove}
onMouseLeave={onZoomRowMouseLeave}
onMouseDown={onZoomRowMouseDown}
onClick={onZoomRowClick}
>
{canShowGhostZoom && ghostStartMs !== null && (
@@ -699,6 +707,7 @@ export default function TimelineCanvas({
handleZoomRowMouseEnter,
handleZoomRowMouseMove,
handleZoomRowMouseLeave,
handleZoomRowMouseDown,
handleZoomRowClick,
} = useTimelineHover({
direction,
@@ -771,6 +780,7 @@ export default function TimelineCanvas({
onZoomRowMouseEnter={handleZoomRowMouseEnter}
onZoomRowMouseMove={handleZoomRowMouseMove}
onZoomRowMouseLeave={handleZoomRowMouseLeave}
onZoomRowMouseDown={handleZoomRowMouseDown}
onZoomRowClick={handleZoomRowClick}
isLoading={isLoading}
/>