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

code refactoring to improve readability

This commit is contained in:
Steve 2021-03-15 19:40:57 -07:00
parent 61e93a3d53
commit fa8855e3be

View File

@ -911,59 +911,49 @@ function toggleSideBySide(editor, triggeredByFullscreenToggle) {
} }
// helper method to add/remove no-fullscreen classes as appropriate // helper method to add/remove no-fullscreen classes as appropriate
function setupNoFullscreenClasses(previewActive) { function setupNoFullscreenClasses(sidePreviewActive) {
if (editor.options.sideBySideFullscreen === false) { if (editor.options.sideBySideFullscreen === false) {
if (!cm.getOption('fullScreen') && previewActive) { if (!cm.getOption('fullScreen') && sidePreviewActive) {
noFullscreenItems.forEach(function(el) { // only apply classes if !fullScreen and side preview is (or will be) active
addNoFullscreenClass(el); noFullscreenItems.forEach(addNoFullscreenClass);
});
} else { } else {
noFullscreenItems.forEach(function (el) { noFullscreenItems.forEach(removeNoFullscreenClass);
removeNoFullscreenClass(el);
});
} }
} }
} }
if (/editor-preview-active-side/.test(preview.className)) { var sidePreviewActive = /editor-preview-active-side/.test(preview.className);
// If side-by-side active...
if (dontToggle) { if (dontToggle) {
// if not toggling, cleanup noFullscreen classes as needed // if not toggling, handle noFullscreen classes as needed
setupNoFullscreenClasses(true); setupNoFullscreenClasses(sidePreviewActive);
} else { } else if (sidePreviewActive) {
// otherwise close side-by-side, and cleanup noFullscreen classes as needed // close side-by-side, and cleanup noFullscreen classes as needed
setupNoFullscreenClasses(false); setupNoFullscreenClasses(false);
preview.className = preview.className.replace( preview.className = preview.className.replace(
/\s*editor-preview-active-side\s*/g, '' /\s*editor-preview-active-side\s*/g, ''
); );
if (toolbarButton) toolbarButton.className = toolbarButton.className.replace(/\s*active\s*/g, ''); if (toolbarButton) toolbarButton.className = toolbarButton.className.replace(/\s*active\s*/g, '');
wrapper.className = wrapper.className.replace(/\s*CodeMirror-sided\s*/g, ' '); wrapper.className = wrapper.className.replace(/\s*CodeMirror-sided\s*/g, ' ');
}
} else { } else {
// If side-by-side not active... // open side-by-side, and setup noFullscreen classes as needed
if (dontToggle) { setTimeout(function () {
// if not toggling, cleanup noFullscreen classes as needed // When the preview button is clicked for the first time,
setupNoFullscreenClasses(false); // give some time for the transition from editor.css to
} else { // fire and the view to slide from right to left,
// otherwise open side-by-side, and setup noFullscreen classes as needed // instead of just appearing.
setTimeout(function () { if (!cm.getOption('fullScreen')) {
// When the preview button is clicked for the first time, if (editor.options.sideBySideFullscreen === false) {
// give some time for the transition from editor.css to setupNoFullscreenClasses(true);
// fire and the view to slide from right to left, } else {
// instead of just appearing. toggleFullScreen(editor);
if (!cm.getOption('fullScreen')) {
if (editor.options.sideBySideFullscreen === false) {
setupNoFullscreenClasses(true);
} else {
toggleFullScreen(editor);
}
} }
preview.className += ' editor-preview-active-side'; }
}, 1); preview.className += ' editor-preview-active-side';
if (toolbarButton) toolbarButton.className += ' active'; }, 1);
wrapper.className += ' CodeMirror-sided'; if (toolbarButton) toolbarButton.className += ' active';
useSideBySideListener = true; wrapper.className += ' CodeMirror-sided';
} useSideBySideListener = true;
} }