2
0
mirror of https://github.com/Ionaru/easy-markdown-editor synced 2025-07-02 23:54:28 -06:00

Merge pull request #211 from 7upcat/master

Fix #206 added useSideBySideListener
This commit is contained in:
Wes Cossick 2015-12-18 19:00:12 -06:00
commit 0ce602f68d

View File

@ -334,7 +334,7 @@ function toggleSideBySide(editor) {
var wrapper = cm.getWrapperElement(); var wrapper = cm.getWrapperElement();
var preview = wrapper.nextSibling; var preview = wrapper.nextSibling;
var toolbarButton = editor.toolbarElements["side-by-side"]; var toolbarButton = editor.toolbarElements["side-by-side"];
var useSideBySideListener = false;
if(/editor-preview-active-side/.test(preview.className)) { if(/editor-preview-active-side/.test(preview.className)) {
preview.className = preview.className.replace( preview.className = preview.className.replace(
/\s*editor-preview-active-side\s*/g, "" /\s*editor-preview-active-side\s*/g, ""
@ -352,6 +352,7 @@ function toggleSideBySide(editor) {
}, 1); }, 1);
toolbarButton.className += " active"; toolbarButton.className += " active";
wrapper.className += " CodeMirror-sided"; wrapper.className += " CodeMirror-sided";
useSideBySideListener = true;
} }
// Hide normal preview if active // Hide normal preview if active
@ -366,13 +367,20 @@ function toggleSideBySide(editor) {
toolbar_div.className = toolbar_div.className.replace(/\s*disabled-for-preview*/g, ""); toolbar_div.className = toolbar_div.className.replace(/\s*disabled-for-preview*/g, "");
} }
// Start preview with the current text var sideBySideRenderingFunction = function() {
preview.innerHTML = editor.options.previewRender(editor.value(), preview);
// Updates preview
cm.on("update", function() {
preview.innerHTML = editor.options.previewRender(editor.value(), preview); preview.innerHTML = editor.options.previewRender(editor.value(), preview);
}); };
if(!cm.sideBySideRenderingFunction) {
cm.sideBySideRenderingFunction = sideBySideRenderingFunction;
}
if(useSideBySideListener) {
preview.innerHTML = editor.options.previewRender(editor.value(), preview);
cm.on("update", cm.sideBySideRenderingFunction);
} else {
cm.off("update", cm.sideBySideRenderingFunction);
}
} }