Skip to content

Commit

Permalink
Merge pull request #20216 from KDSBrowne/bbb-20200
Browse files Browse the repository at this point in the history
fix(whiteboard): Disable Duplication Shortcut Key While Drawing
  • Loading branch information
antobinary committed May 15, 2024
2 parents ea6e946 + 2b6d313 commit d3e78e7
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions bigbluebutton-html5/imports/ui/components/whiteboard/component.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ export default function Whiteboard(props) {
const [zoom, setZoom] = React.useState(HUNDRED_PERCENT);
const [tldrawZoom, setTldrawZoom] = React.useState(1);
const zoomValueRef = React.useRef(zoomValue);
const isMouseDownRef = React.useRef(false);
const [isMounting, setIsMounting] = React.useState(true);
const prevShapes = usePrevious(shapes);
const prevSlidePosition = usePrevious(slidePosition);
Expand Down Expand Up @@ -221,6 +222,7 @@ export default function Whiteboard(props) {
tldrawAPI?.completeSession?.();
}
}
isMouseDownRef.current = false;
};

const checkVisibility = () => {
Expand Down Expand Up @@ -259,12 +261,18 @@ export default function Whiteboard(props) {
window.dispatchEvent(new Event('resize'));
}

const setIsMouseDown = () => {
isMouseDownRef.current = true;
}

React.useEffect(() => {
document.addEventListener('mouseup', checkClientBounds);
document.addEventListener('visibilitychange', checkVisibility);
document.addEventListener('mousedown', setIsMouseDown);

return () => {
document.removeEventListener('mouseup', checkClientBounds);
document.removeEventListener('mousedown', setIsMouseDown);
document.removeEventListener('visibilitychange', checkVisibility);
const canvas = document.getElementById('canvas');
if (canvas) {
Expand Down Expand Up @@ -638,6 +646,12 @@ export default function Whiteboard(props) {
const handleOnKeyDown = (event) => {
const { which, ctrlKey } = event;

if (isMouseDownRef.current) {
event.preventDefault();
event.stopPropagation();
return;
}

switch (which) {
case KEY_CODES.ARROW_LEFT:
case KEY_CODES.PAGE_UP:
Expand Down

0 comments on commit d3e78e7

Please sign in to comment.