Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/demo/src/components/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export function App() {
return (
<>
<div className="tools">
<button onClick={handleStartStreaming} onMouseEnter={handlePreload}>
<button onClick={handleStartStreaming} onPointerEnter={handlePreload}>
Stream Code
</button>
<div>
Expand Down
6 changes: 3 additions & 3 deletions apps/demo/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ function renderDiff(parsedPatches: ParsedPatch[], manager?: WorkerPoolManager) {
// event.stopPropagation();
// console.log('ZZZZ - clicked', getHoveredLine());
// });
// el.addEventListener('mousedown', (event) => {
// el.addEventListener('pointerdown', (event) => {
// event.stopPropagation();
// });
// return el;
Expand Down Expand Up @@ -336,7 +336,7 @@ document.getElementById('toggle-theme')?.addEventListener('click', toggleTheme);
const streamCode = document.getElementById('stream-code');
if (streamCode != null) {
streamCode.addEventListener('click', startStreaming);
streamCode.addEventListener('mouseenter', handlePreload);
streamCode.addEventListener('pointerenter', handlePreload);
}

const loadDiff = document.getElementById('load-diff');
Expand All @@ -351,7 +351,7 @@ if (loadDiff != null) {
})();
}
loadDiff.addEventListener('click', handleClick);
loadDiff.addEventListener('mouseenter', () => void handlePreloadDiff);
loadDiff.addEventListener('pointerenter', () => void handlePreloadDiff);
}

const wrapCheckbox = document.getElementById('wrap-lines');
Expand Down
20 changes: 10 additions & 10 deletions packages/diffs/src/managers/LineSelectionManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,17 +107,17 @@ export class LineSelectionManager {
if (this.pre == null) return;
// Lets run a cleanup, just in case
this.removeEventListeners();
this.pre.addEventListener('mousedown', this.handleMouseDown);
this.pre.addEventListener('pointerdown', this.handleMouseDown);
}

private removeEventListeners(): void {
if (this.pre == null) return;
this.pre.removeEventListener('mousedown', this.handleMouseDown);
document.removeEventListener('mousemove', this.handleMouseMove);
document.removeEventListener('mouseup', this.handleMouseUp);
this.pre.removeEventListener('pointerdown', this.handleMouseDown);
document.removeEventListener('pointermove', this.handleMouseMove);
document.removeEventListener('pointerup', this.handleMouseUp);
}

private handleMouseDown = (event: MouseEvent): void => {
private handleMouseDown = (event: PointerEvent): void => {
// Only handle left mouse button
const mouseEventData =
event.button === 0
Expand Down Expand Up @@ -165,11 +165,11 @@ export class LineSelectionManager {
this.notifySelectionStart(this.selectedRange);
}

document.addEventListener('mousemove', this.handleMouseMove);
document.addEventListener('mouseup', this.handleMouseUp);
document.addEventListener('pointermove', this.handleMouseMove);
document.addEventListener('pointerup', this.handleMouseUp);
};

private handleMouseMove = (event: MouseEvent): void => {
private handleMouseMove = (event: PointerEvent): void => {
const mouseEventData = this.getMouseEventDataForPath(
event.composedPath(),
'move'
Expand All @@ -181,8 +181,8 @@ export class LineSelectionManager {

private handleMouseUp = (): void => {
this.anchor = undefined;
document.removeEventListener('mousemove', this.handleMouseMove);
document.removeEventListener('mouseup', this.handleMouseUp);
document.removeEventListener('pointermove', this.handleMouseMove);
document.removeEventListener('pointerup', this.handleMouseUp);
this.notifySelectionEnd(this.selectedRange);
this.notifySelectionChange();
};
Expand Down
26 changes: 13 additions & 13 deletions packages/diffs/src/managers/MouseEventManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,20 @@ export interface OnLineClickProps extends LineEventBaseProps {
}

export interface OnLineEnterLeaveProps extends LineEventBaseProps {
event: MouseEvent;
event: PointerEvent;
}

export interface OnDiffLineClickProps extends DiffLineEventBaseProps {
event: PointerEvent;
}

export interface OnDiffLineEnterLeaveProps extends DiffLineEventBaseProps {
event: MouseEvent;
event: PointerEvent;
}

type HandleMouseEventProps =
| { eventType: 'click'; event: MouseEvent }
| { eventType: 'move'; event: MouseEvent };
| { eventType: 'click'; event: PointerEvent }
| { eventType: 'move'; event: PointerEvent };

type EventClickProps<TMode extends MouseEventManagerMode> = TMode extends 'file'
? OnLineClickProps
Expand Down Expand Up @@ -114,8 +114,8 @@ export class MouseEventManager<TMode extends MouseEventManagerMode> {

cleanUp(): void {
this.pre?.removeEventListener('click', this.handleMouseClick);
this.pre?.removeEventListener('mousemove', this.handleMouseMove);
this.pre?.removeEventListener('mouseout', this.handleMouseLeave);
this.pre?.removeEventListener('pointermove', this.handleMouseMove);
this.pre?.removeEventListener('pointerout', this.handleMouseLeave);
delete this.pre?.dataset.interactiveLines;
delete this.pre?.dataset.interactiveLineNumbers;
this.pre = undefined;
Expand Down Expand Up @@ -179,17 +179,17 @@ export class MouseEventManager<TMode extends MouseEventManagerMode> {
);
}
if (onLineEnter != null || onLineLeave != null || enableHoverUtility) {
pre.addEventListener('mousemove', this.handleMouseMove);
pre.addEventListener('pointermove', this.handleMouseMove);
debugLogIfEnabled(
__debugMouseEvents,
'move',
'FileDiff.DEBUG.attachEventListeners: Attaching mouse move event'
'FileDiff.DEBUG.attachEventListeners: Attaching pointer move event'
);
pre.addEventListener('mouseleave', this.handleMouseLeave);
pre.addEventListener('pointerleave', this.handleMouseLeave);
debugLogIfEnabled(
__debugMouseEvents,
'move',
'FileDiff.DEBUG.attachEventListeners: Attaching mouse leave event'
'FileDiff.DEBUG.attachEventListeners: Attaching pointer leave event'
);
}
}
Expand All @@ -211,7 +211,7 @@ export class MouseEventManager<TMode extends MouseEventManagerMode> {
return undefined;
};

handleMouseClick = (event: MouseEvent): void => {
handleMouseClick = (event: PointerEvent): void => {
debugLogIfEnabled(
this.options.__debugMouseEvents,
'click',
Expand All @@ -221,7 +221,7 @@ export class MouseEventManager<TMode extends MouseEventManagerMode> {
this.handleMouseEvent({ eventType: 'click', event });
};

handleMouseMove = (event: MouseEvent): void => {
handleMouseMove = (event: PointerEvent): void => {
debugLogIfEnabled(
this.options.__debugMouseEvents,
'move',
Expand All @@ -231,7 +231,7 @@ export class MouseEventManager<TMode extends MouseEventManagerMode> {
this.handleMouseEvent({ eventType: 'move', event });
};

handleMouseLeave = (event: MouseEvent): void => {
handleMouseLeave = (event: PointerEvent): void => {
const { __debugMouseEvents } = this.options;
debugLogIfEnabled(
__debugMouseEvents,
Expand Down