X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/c81cb6f2afd79c33104671ea31f4b0a0e9f85eba..refs/pull/4247/head:/resources/js/code/views.js diff --git a/resources/js/code/views.js b/resources/js/code/views.js index cada9a1d6..12148ca09 100644 --- a/resources/js/code/views.js +++ b/resources/js/code/views.js @@ -1,7 +1,6 @@ -import {getLanguageExtension} from "./languages" -import {Compartment} from "@codemirror/state" -import {EditorView} from "@codemirror/view" -import {oneDark} from "@codemirror/theme-one-dark" +import {Compartment} from '@codemirror/state'; +import {EditorView} from '@codemirror/view'; +import {getLanguageExtension} from './languages'; const viewLangCompartments = new WeakMap(); @@ -14,7 +13,6 @@ const viewLangCompartments = new WeakMap(); export function createView(config) { const langCompartment = new Compartment(); config.extensions.push(langCompartment.of([])); - config.extensions.push(getTheme(config.parent)); const ev = new EditorView(config); @@ -23,23 +21,6 @@ export function createView(config) { return ev; } -/** - * Ge the theme extension to use for editor view instance. - * @returns {Extension} - */ -function getTheme(viewParentEl) { - const darkMode = document.documentElement.classList.contains('dark-mode'); - - const eventData = { - darkMode: darkMode, - theme: null, - }; - - window.$events.emitPublic(viewParentEl, 'library-cm6::configure-theme', eventData); - - return eventData.theme || (darkMode ? oneDark : []); -} - /** * Set the language mode of an EditorView. * @@ -47,11 +28,11 @@ function getTheme(viewParentEl) { * @param {string} modeSuggestion * @param {string} content */ -export function updateViewLanguage(ev, modeSuggestion, content) { +export async function updateViewLanguage(ev, modeSuggestion, content) { const compartment = viewLangCompartments.get(ev); - const language = getLanguageExtension(modeSuggestion, content); + const language = await getLanguageExtension(modeSuggestion, content); ev.dispatch({ - effects: compartment.reconfigure(language ? language : []) - }) -} \ No newline at end of file + effects: compartment.reconfigure(language || []), + }); +}