]> BookStack Code Mirror - bookstack/blobdiff - resources/js/markdown/index.mts
MD Editor: Added plaintext input implementation
[bookstack] / resources / js / markdown / index.mts
index 5385e27cc462f57cb003686343e3e3c4c95b3a94..7edf80d4fb401dfa3caf9816437557fde972053f 100644 (file)
@@ -7,6 +7,9 @@ import {init as initCodemirror} from './codemirror';
 import {CodeModule} from "../global";
 import {MarkdownEditorInput} from "./inputs/interface";
 import {CodemirrorInput} from "./inputs/codemirror";
+import {TextareaInput} from "./inputs/textarea";
+import {provideShortcutMap} from "./shortcuts";
+import {getMarkdownDomEventHandlers} from "./dom-handlers";
 
 export interface MarkdownEditorConfig {
     pageId: string;
@@ -31,7 +34,7 @@ export interface MarkdownEditor {
  * Initiate a new Markdown editor instance.
  */
 export async function init(config: MarkdownEditorConfig): Promise<MarkdownEditor> {
-    const Code = await window.importVersioned('code') as CodeModule;
+    // const Code = await window.importVersioned('code') as CodeModule;
 
     const editor: MarkdownEditor = {
         config,
@@ -42,8 +45,17 @@ export async function init(config: MarkdownEditorConfig): Promise<MarkdownEditor
     editor.actions = new Actions(editor);
     editor.display = new Display(editor);
 
-    const codeMirror = initCodemirror(editor, Code);
-    editor.input = new CodemirrorInput(codeMirror);
+    const eventHandlers = getMarkdownDomEventHandlers(editor);
+    // TODO - Switching
+    // const codeMirror = initCodemirror(editor, Code);
+    // editor.input = new CodemirrorInput(codeMirror);
+    editor.input = new TextareaInput(
+        config.inputEl,
+        provideShortcutMap(editor),
+        eventHandlers
+    );
+
+    // window.devinput = editor.input;
 
     listenToCommonEvents(editor);