Merge pull request #471 from LevitatingOrange/detachedPreviewRendering

pull/494/head
Jeroen Akkerman 2 years ago committed by GitHub
commit b4c55d9075
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -267,6 +267,11 @@ const editor = new EasyMDE({
preview.innerHTML = customMarkdownParser(plainText); preview.innerHTML = customMarkdownParser(plainText);
}, 250); }, 250);
// If you return null, the innerHTML of the preview will not
// be overwritten. Useful if you control the preview node's content via
// vdom diffing.
// return null;
return "Loading..."; return "Loading...";
}, },
promptURLs: true, promptURLs: true,

@ -1072,7 +1072,11 @@ function togglePreview(editor) {
toolbar_div.classList.add('disabled-for-preview'); toolbar_div.classList.add('disabled-for-preview');
} }
} }
preview.innerHTML = editor.options.previewRender(editor.value(), preview);
var preview_result = editor.options.previewRender(editor.value(), preview);
if (preview_result !== null) {
preview.innerHTML = preview_result;
}
} }
@ -2860,7 +2864,11 @@ EasyMDE.prototype.value = function (val) {
if (this.isPreviewActive()) { if (this.isPreviewActive()) {
var wrapper = cm.getWrapperElement(); var wrapper = cm.getWrapperElement();
var preview = wrapper.lastChild; var preview = wrapper.lastChild;
preview.innerHTML = this.options.previewRender(val, preview); var preview_result = this.options.previewRender(val, preview);
if (preview_result !== null) {
preview.innerHTML = preview_result;
}
} }
return this; return this;
} }

@ -196,7 +196,7 @@ declare namespace EasyMDE {
previewClass?: string | ReadonlyArray<string>; previewClass?: string | ReadonlyArray<string>;
previewImagesInEditor?: boolean; previewImagesInEditor?: boolean;
imagesPreviewHandler?: (src: string) => string, imagesPreviewHandler?: (src: string) => string,
previewRender?: (markdownPlaintext: string, previewElement: HTMLElement) => string; previewRender?: (markdownPlaintext: string, previewElement: HTMLElement) => string | null;
promptURLs?: boolean; promptURLs?: boolean;
renderingConfig?: RenderingOptions; renderingConfig?: RenderingOptions;
shortcuts?: Shortcuts; shortcuts?: Shortcuts;

Loading…
Cancel
Save