-import {debounce} from "../services/util";
import {Component} from "./component";
import {init as initEditor} from "../markdown/editor";
window.$events.emitPublic(this.elem, 'editor-markdown::setup', {
markdownIt: this.editor.markdown.getRenderer(),
displayEl: this.display,
- codeMirrorInstance: this.editor.cm,
+ cmEditorView: this.editor.cm,
});
}
if (button === null) return;
const action = button.getAttribute('data-action');
- if (action === 'insertImage') this.editor.actions.insertImage();
+ if (action === 'insertImage') this.editor.actions.showImageInsert();
if (action === 'insertLink') this.editor.actions.showLinkSelector();
if (action === 'insertDrawing' && (event.ctrlKey || event.metaKey)) {
this.editor.actions.showImageManager();
toolbarLabel.closest('.markdown-editor-wrap').classList.add('active');
});
- // Refresh CodeMirror on container resize
- const resizeDebounced = debounce(() => this.editor.cm.refresh(), 100, false);
- const observer = new ResizeObserver(resizeDebounced);
- observer.observe(this.elem);
-
this.handleDividerDrag();
}
window.removeEventListener('pointerup', upListener);
this.display.style.pointerEvents = null;
document.body.style.userSelect = null;
- this.editor.cm.refresh();
};
this.display.style.pointerEvents = 'none';
return drawioAttrEl.getAttribute('drawio-url') || '';
}
+ /**
+ * Get the content of this editor.
+ * Used by the parent page editor component.
+ * @return {{html: String, markdown: String}}
+ */
+ getContent() {
+ return this.editor.actions.getContent();
+ }
+
}