]> BookStack Code Mirror - bookstack/blobdiff - resources/js/markdown/index.mts
MD Editor: Started work on input interface
[bookstack] / resources / js / markdown / index.mts
index 46345ccfd6f89c624ac3fa3f4096b58b0bb86614..b983285d90785f17efd4246e12bd1027ec0d579b 100644 (file)
@@ -5,11 +5,13 @@ import {Settings} from './settings';
 import {listenToCommonEvents} from './common-events';
 import {init as initCodemirror} from './codemirror';
 import {EditorView} from "@codemirror/view";
+import {importVersioned} from "../services/util";
+import {CodeModule} from "../global";
 
 export interface MarkdownEditorConfig {
     pageId: string;
     container: Element;
-    displayEl: Element;
+    displayEl: HTMLIFrameElement;
     inputEl: HTMLTextAreaElement;
     drawioUrl: string;
     settingInputs: HTMLInputElement[];
@@ -27,22 +29,19 @@ export interface MarkdownEditor {
 
 /**
  * Initiate a new Markdown editor instance.
- * @param {MarkdownEditorConfig} config
- * @returns {Promise<MarkdownEditor>}
  */
-export async function init(config) {
-    /**
-     * @type {MarkdownEditor}
-     */
+export async function init(config: MarkdownEditorConfig): Promise<MarkdownEditor> {
+    const Code = await window.importVersioned('code') as CodeModule;
+
     const editor: MarkdownEditor = {
         config,
         markdown: new Markdown(),
         settings: new Settings(config.settingInputs),
-    };
+    } as MarkdownEditor;
 
     editor.actions = new Actions(editor);
     editor.display = new Display(editor);
-    editor.cm = await initCodemirror(editor);
+    editor.cm = initCodemirror(editor, Code);
 
     listenToCommonEvents(editor);