From 3150f713420336a94a1a3d054e0d567aad3f6818 Mon Sep 17 00:00:00 2001 From: A-312 Date: Fri, 10 Apr 2020 22:34:10 +0200 Subject: [PATCH] Add `toolbar` variable instead `wrapper.previousSibling` In my project we customize Easymde and add div between toolbar and wrapper, this break fullscreen feature. --- src/js/easymde.js | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/js/easymde.js b/src/js/easymde.js index d64a52f..5662e0a 100644 --- a/src/js/easymde.js +++ b/src/js/easymde.js @@ -306,12 +306,10 @@ function toggleFullScreen(editor) { // Update toolbar class - var wrap = cm.getWrapperElement(); - - if (!/fullscreen/.test(wrap.previousSibling.className)) { - wrap.previousSibling.className += ' fullscreen'; + if (!/fullscreen/.test(editor.toolbar_div.className)) { + editor.toolbar_div.className += ' fullscreen'; } else { - wrap.previousSibling.className = wrap.previousSibling.className.replace(/\s*fullscreen\b/, ''); + editor.toolbar_div.className = editor.toolbar_div.className.replace(/\s*fullscreen\b/, ''); } @@ -859,7 +857,7 @@ function toggleSideBySide(editor) { /\s*editor-preview-active\s*/g, '' ); var toolbar = editor.toolbarElements.preview; - var toolbar_div = wrapper.previousSibling; + var toolbar_div = editor.toolbar_div; toolbar.className = toolbar.className.replace(/\s*active\s*/g, ''); toolbar_div.className = toolbar_div.className.replace(/\s*disabled-for-preview*/g, ''); } @@ -896,7 +894,7 @@ function toggleSideBySide(editor) { function togglePreview(editor) { var cm = editor.codemirror; var wrapper = cm.getWrapperElement(); - var toolbar_div = wrapper.previousSibling; + var toolbar_div = editor.toolbar_div; var toolbar = editor.options.toolbar ? editor.toolbarElements.preview : false; var preview = wrapper.lastChild; if (!preview || !/editor-preview-full/.test(preview.className)) { @@ -2336,6 +2334,7 @@ EasyMDE.prototype.createToolbar = function (items) { })(items[i]); } + self.toolbar_div = bar; self.toolbarElements = toolbarData; var cm = this.codemirror;