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;
* 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,
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);