diff --git a/services/web/frontend/js/features/source-editor/extensions/visual/visual.ts b/services/web/frontend/js/features/source-editor/extensions/visual/visual.ts index c397af13b8..abcf1b2ce4 100644 --- a/services/web/frontend/js/features/source-editor/extensions/visual/visual.ts +++ b/services/web/frontend/js/features/source-editor/extensions/visual/visual.ts @@ -12,7 +12,6 @@ import { markDecorations } from './mark-decorations' import { EditorView, ViewPlugin } from '@codemirror/view' import { visualKeymap } from './visual-keymap' import { mousedown, mouseDownEffect } from './selection' -import { findEffect } from '../../utils/effects' import { forceParsing, syntaxTree } from '@codemirror/language' import { hasLanguageLoadedEffect } from '../language' import { restoreScrollPosition } from '../scroll-position' @@ -34,14 +33,18 @@ type Options = { const visualConf = new Compartment() export const toggleVisualEffect = StateEffect.define() -export const findToggleVisualEffect = findEffect(toggleVisualEffect) const visualState = StateField.define({ create() { return false }, update(value, tr) { - return findToggleVisualEffect(tr)?.value ?? value + for (const effect of tr.effects) { + if (effect.is(toggleVisualEffect)) { + return effect.value + } + } + return value }, }) @@ -80,10 +83,11 @@ export const sourceOnly = (visual: boolean, extension: Extension) => { // Respond to switching editor modes EditorState.transactionExtender.of(tr => { - const effect = findToggleVisualEffect(tr) - if (effect) { - return { - effects: conf.reconfigure(configure(effect.value)), + for (const effect of tr.effects) { + if (effect.is(toggleVisualEffect)) { + return { + effects: conf.reconfigure(configure(effect.value)), + } } } return null diff --git a/services/web/frontend/js/features/source-editor/utils/effects.ts b/services/web/frontend/js/features/source-editor/utils/effects.ts index c7f159d416..6ff612a5cb 100644 --- a/services/web/frontend/js/features/source-editor/utils/effects.ts +++ b/services/web/frontend/js/features/source-editor/utils/effects.ts @@ -12,8 +12,3 @@ export const updateHasEffect = update.transactions.some(tr => tr.effects.some(effect => effect.is(effectType)) ) - -export const findEffect = - (effectType: StateEffectType) => - (tr: Transaction) => - tr.effects.find(effect => effect.is(effectType))