From c780d5af38835754ef9c1ebbd60560646a7e7d8e Mon Sep 17 00:00:00 2001 From: Michael Bolli Date: Fri, 2 Oct 2020 10:45:53 +0200 Subject: [PATCH 1/2] include codemirror autorefresh addon --- src/js/easymde.js | 2 ++ types/easymde.d.ts | 1 + 2 files changed, 3 insertions(+) diff --git a/src/js/easymde.js b/src/js/easymde.js index a99e29d..fd4a3fe 100644 --- a/src/js/easymde.js +++ b/src/js/easymde.js @@ -6,6 +6,7 @@ require('codemirror/addon/display/fullscreen.js'); require('codemirror/mode/markdown/markdown.js'); require('codemirror/addon/mode/overlay.js'); require('codemirror/addon/display/placeholder.js'); +require('codemirror/addon/display/autorefresh.js'); require('codemirror/addon/selection/mark-selection.js'); require('codemirror/addon/search/searchcursor.js'); require('codemirror/mode/gfm/gfm.js'); @@ -2043,6 +2044,7 @@ EasyMDE.prototype.render = function (el) { configureMouse: configureMouse, inputStyle: (options.inputStyle != undefined) ? options.inputStyle : isMobile() ? 'contenteditable' : 'textarea', spellcheck: (options.nativeSpellcheck != undefined) ? options.nativeSpellcheck : true, + autoRefresh: (options.autoRefresh != undefined) ? options.autoRefresh : false, }); this.codemirror.getScrollerElement().style.minHeight = options.minHeight; diff --git a/types/easymde.d.ts b/types/easymde.d.ts index d8ba0be..7edb44a 100644 --- a/types/easymde.d.ts +++ b/types/easymde.d.ts @@ -168,6 +168,7 @@ declare namespace EasyMDE { autoDownloadFontAwesome?: boolean; autofocus?: boolean; autosave?: AutoSaveOptions; + autoRefresh?: boolean | { delay: number }; blockStyles?: BlockStyleOptions; element?: HTMLElement; forceSync?: boolean; From 206f02272bec7ee38511268ae40867d635c48b65 Mon Sep 17 00:00:00 2001 From: Michael Bolli Date: Fri, 2 Oct 2020 11:16:38 +0200 Subject: [PATCH 2/2] changelog: include new autoRefresh option --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c713992..0322477 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,7 @@ easyMDE.value('New input for **EasyMDE**'); - **uniqueId**: You must set a unique string identifier so that EasyMDE can autosave. Something that separates this from other instances of EasyMDE elsewhere on your website. - **timeFormat**: Set DateTimeFormat. More information see [DateTimeFormat instances](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat). Default `locale: en-US, format: hour:minute`. - **text**: Set text for autosave. +- **autoRefresh**: Useful, when initializing the editor in a hidden DOM node. If set to `{ delay: 300 }`, it will check every 300 ms if the editor is visible and if positive, call CodeMirror's [`refresh()`](https://codemirror.net/doc/manual.html#refresh). - **blockStyles**: Customize how certain buttons that style blocks of text behave. - **bold**: Can be set to `**` or `__`. Defaults to `**`. - **code**: Can be set to ```` ``` ```` or `~~~`. Defaults to ```` ``` ````.