From 23e34a0a6471ce3a7844e23cf12966edff54466b Mon Sep 17 00:00:00 2001 From: Kurt Hutten Date: Fri, 12 Mar 2021 19:48:33 +1100 Subject: [PATCH] Add loading spinner on scroll --- web/src/components/IdeViewer/IdeViewer.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/web/src/components/IdeViewer/IdeViewer.js b/web/src/components/IdeViewer/IdeViewer.js index efc42a7..828af15 100644 --- a/web/src/components/IdeViewer/IdeViewer.js +++ b/web/src/components/IdeViewer/IdeViewer.js @@ -6,7 +6,7 @@ import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls' extend({ OrbitControls }) let debounceTimeoutId -function Controls({ onCameraChange }) { +function Controls({ onCameraChange, onDragStart }) { const controls = useRef() const { scene, camera, gl } = useThree() useEffect(() => { @@ -47,7 +47,10 @@ function Controls({ onCameraChange }) { }) }, 400) } - const dragStart = () => clearTimeout(debounceTimeoutId) + const dragStart = () => { + onDragStart() + clearTimeout(debounceTimeoutId) + } controls.current.addEventListener('end', dragCallback) controls.current.addEventListener('start', dragStart) const oldCurrent = controls.current @@ -120,6 +123,7 @@ const IdeViewer = () => { > setIsDragging(true)} onCameraChange={({ position, rotation }) => { dispatch({ type: 'render',