mirror of
https://github.com/sparksuite/simplemde-markdown-editor.git
synced 2024-06-30 17:50:49 +02:00
Added useSideBySideListener avoid duplicate cm update
This commit is contained in:
parent
e96fddffcb
commit
e27a0933a3
|
@ -333,7 +333,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 toggleOn = false;
|
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, ""
|
||||||
|
@ -351,7 +351,7 @@ function toggleSideBySide(editor) {
|
||||||
}, 1);
|
}, 1);
|
||||||
toolbarButton.className += " active";
|
toolbarButton.className += " active";
|
||||||
wrapper.className += " CodeMirror-sided";
|
wrapper.className += " CodeMirror-sided";
|
||||||
toggleOn = true;
|
useSideBySideListener = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hide normal preview if active
|
// Hide normal preview if active
|
||||||
|
@ -366,20 +366,19 @@ 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, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
var renderfunc = function() {
|
var sideBySideRenderingFunction = function() {
|
||||||
preview.innerHTML = editor.options.previewRender(editor.value(), preview);
|
preview.innerHTML = editor.options.previewRender(editor.value(), preview);
|
||||||
};
|
};
|
||||||
|
|
||||||
//register the function it to cm object it can be reffered by next toggle.
|
if(!cm.sideBySideRenderingFunction) {
|
||||||
if(!cm.renderfunc) {
|
cm.sideBySideRenderingFunction = sideBySideRenderingFunction;
|
||||||
cm.renderfunc = renderfunc;
|
|
||||||
}
|
}
|
||||||
//if toggle off should remove the old listener avoid register a new listener each click 'toggleSideBySide' button
|
|
||||||
if(toggleOn) {
|
if(toggleOn) {
|
||||||
preview.innerHTML = editor.options.previewRender(editor.value(), preview);
|
preview.innerHTML = editor.options.previewRender(editor.value(), preview);
|
||||||
cm.on("update", cm.renderfunc);
|
cm.on("update", cm.sideBySideRenderingFunction);
|
||||||
} else {
|
} else {
|
||||||
cm.off("update", cm.renderfunc);
|
cm.off("update", cm.sideBySideRenderingFunction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue