From bbf1f61b8b3b06c7bcb9e03552a0e7626257b47a Mon Sep 17 00:00:00 2001 From: Gilbert Sinnott Date: Tue, 9 Jan 2024 15:24:22 +0200 Subject: [PATCH] add debouncer to onChange event (400ms) --- packages/studio/src/workbench/EditorPane.jsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/studio/src/workbench/EditorPane.jsx b/packages/studio/src/workbench/EditorPane.jsx index a1898c6..5c17894 100644 --- a/packages/studio/src/workbench/EditorPane.jsx +++ b/packages/studio/src/workbench/EditorPane.jsx @@ -50,6 +50,8 @@ export const ErrorOverlay = styled.div` `; export default observer(function EditorPane() { + + let debounceReference = null; const store = useEditorStore(); const handleEditorDidMount = (editor, monaco) => { @@ -84,7 +86,10 @@ export default observer(function EditorPane() { theme="vs-dark" height="100%" onChange={(e) => { - store.code.update(e, true); + if (debounceReference) clearTimeout(debounceReference); + debounceReference = setTimeout( () => { + store.code.update(e, true); + }, 400 ) }} onMount={handleEditorDidMount} options={{