*Not* using redux for mouseState.

This commit is contained in:
vdv committed 2022-09-12 08:53:11 +02:00
1 parent 3421686f1f
commit ec0883ac54
3 files changed
+25 -54

No files matched your search

+24 -27
View File
@@ -4,7 +4,6 @@ import { useDispatch, useSelector } from 'react-redux';
import _ from 'lodash';
import { slippyActions } from '../store/slippy';
import { mouseHandlerActions } from '../store/mouse-handler';
interface MouseHandlerProps {
children: any;
@@ -21,9 +20,13 @@ const MouseHandler: react.FC<MouseHandlerProps> = (
timestamp: number;
}
const mouseState = useSelector(
(state: { mouseHandler: MouseState }) => state.mouseHandler
);
const initialMouseState = {
down: false,
starting: { x: -1, y: -1 },
timestamp: 0,
};
const [mouseState, setMouseState] = useState(initialMouseState);
console.log('MouseHandler, mouseState: ' + JSON.stringify(mouseState));
@@ -42,31 +45,29 @@ const MouseHandler: react.FC<MouseHandlerProps> = (
const mouseLeaveHandler = (event: any) => {
genericHandler(event);
// throtteledMouseMoveHandler.cancel();
dispatch(mouseHandlerActions.init());
// throtteledMouseMoveHandler.cancel();
setMouseState(initialMouseState);
};
const mouseDownHandler = (event: any) => {
event.preventDefault();
genericHandler(event);
dispatch(
mouseHandlerActions.set({
down: true,
starting: { x: event.pageX, y: event.pageY },
timestamp: Date.now(),
})
);
setMouseState({
down: true,
starting: { x: event.pageX, y: event.pageY },
timestamp: Date.now(),
});
};
const mouseUpHandler = (event: any) => {
genericHandler(event);
event.preventDefault();
dispatch(mouseHandlerActions.init());
setMouseState(initialMouseState);
};
const mouseMoveHandler = (event: any) => {
event.preventDefault();
if (mouseState.down && (Date.now() - mouseState.timestamp) > 50 ) {
if (mouseState.down && Date.now() - mouseState.timestamp > 50) {
genericHandler(event);
console.log(
`dispatch ${JSON.stringify({
@@ -81,16 +82,14 @@ const MouseHandler: react.FC<MouseHandlerProps> = (
})
);
dispatch(
mouseHandlerActions.set({
down: true,
starting: {
x: event.pageX,
y: event.pageY,
},
timestamp: Date.now(),
})
);
setMouseState({
down: true,
starting: {
x: event.pageX,
y: event.pageY,
},
timestamp: Date.now(),
});
}
};
@@ -99,8 +98,6 @@ const MouseHandler: react.FC<MouseHandlerProps> = (
// [mouseState.down, mouseState.starting.x, mouseState.starting.y]
// );
const doubleClickHandler = (event: any) => {
genericHandler(event);
dispatch(