From 6dec7fab6308ee409db41e3b4e59f3bd4012d919 Mon Sep 17 00:00:00 2001 From: Alf Eaton Date: Mon, 10 Jan 2022 13:56:36 +0000 Subject: [PATCH] Scroll editor line into view after inserting a symbol (#6164) GitOrigin-RevId: 20f80ec93148d36f951c956a942021f01490d120 --- services/web/frontend/js/ide/editor/EditorManager.js | 4 ++++ .../web/frontend/js/shared/context/editor-context.js | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/services/web/frontend/js/ide/editor/EditorManager.js b/services/web/frontend/js/ide/editor/EditorManager.js index 14f921866d..8bb0d66698 100644 --- a/services/web/frontend/js/ide/editor/EditorManager.js +++ b/services/web/frontend/js/ide/editor/EditorManager.js @@ -56,6 +56,10 @@ export default EditorManager = (function () { }, } + window.addEventListener('editor:insert-symbol', event => { + this.$scope.editor.insertSymbol(event.detail) + }) + this.$scope.$on('entity:selected', (event, entity) => { if (this.$scope.ui.view !== 'history' && entity.type === 'doc') { return this.openDoc(entity) diff --git a/services/web/frontend/js/shared/context/editor-context.js b/services/web/frontend/js/shared/context/editor-context.js index 119a188041..ed582f2bfd 100644 --- a/services/web/frontend/js/shared/context/editor-context.js +++ b/services/web/frontend/js/shared/context/editor-context.js @@ -77,7 +77,6 @@ export function EditorProvider({ children, settings }) { const [permissionsLevel] = useScopeValue('permissionsLevel') const [showSymbolPalette] = useScopeValue('editor.showSymbolPalette') const [toggleSymbolPalette] = useScopeValue('editor.toggleSymbolPalette') - const [insertSymbol] = useScopeValue('editor.insertSymbol') useEffect(() => { if (ide?.socket) { @@ -119,6 +118,14 @@ export function EditorProvider({ children, settings }) { ) }, [projectName, setTitle]) + const insertSymbol = useCallback(symbol => { + window.dispatchEvent( + new CustomEvent('editor:insert-symbol', { + detail: symbol, + }) + ) + }, []) + const value = useMemo( () => ({ cobranding,