From ba403ebfa2fab1c1e39d7b0827762da5d621bd0f Mon Sep 17 00:00:00 2001 From: Sergey Baev Date: Sun, 5 Jun 2016 14:45:10 +0300 Subject: [PATCH] Fixed localStorage cleaning on a form submit denial of the autosave feature --- debug/simplemde.debug.js | 7 ++++++- debug/simplemde.js | 7 ++++++- src/js/simplemde.js | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/debug/simplemde.debug.js b/debug/simplemde.debug.js index 85019f9..decbd70 100644 --- a/debug/simplemde.debug.js +++ b/debug/simplemde.debug.js @@ -14443,10 +14443,12 @@ SimpleMDE.prototype.autosave = function() { return; } - if(simplemde.element.form != null && simplemde.element.form != undefined) { + if(this.element.form != null && this.element.form != undefined && !this.options.autosave.isEventListening) { simplemde.element.form.addEventListener("submit", function() { localStorage.removeItem("smde_" + simplemde.options.autosave.uniqueId); + simplemde.options.autosave.stop = true; }); + this.options.autosave.isEventListening = true; } if(this.options.autosave.loaded !== true) { @@ -14458,6 +14460,9 @@ SimpleMDE.prototype.autosave = function() { this.options.autosave.loaded = true; } + if (this.options.autosave.stop) + return; + localStorage.setItem("smde_" + this.options.autosave.uniqueId, simplemde.value()); var el = document.getElementById("autosaved"); diff --git a/debug/simplemde.js b/debug/simplemde.js index 9158990..7396675 100644 --- a/debug/simplemde.js +++ b/debug/simplemde.js @@ -14440,10 +14440,12 @@ SimpleMDE.prototype.autosave = function() { return; } - if(simplemde.element.form != null && simplemde.element.form != undefined) { + if(this.element.form != null && this.element.form != undefined && !this.options.autosave.isEventListening) { simplemde.element.form.addEventListener("submit", function() { localStorage.removeItem("smde_" + simplemde.options.autosave.uniqueId); + simplemde.options.autosave.stop = true; }); + this.options.autosave.isEventListening = true; } if(this.options.autosave.loaded !== true) { @@ -14455,6 +14457,9 @@ SimpleMDE.prototype.autosave = function() { this.options.autosave.loaded = true; } + if (this.options.autosave.stop) + return; + localStorage.setItem("smde_" + this.options.autosave.uniqueId, simplemde.value()); var el = document.getElementById("autosaved"); diff --git a/src/js/simplemde.js b/src/js/simplemde.js index 7961339..62a63f0 100644 --- a/src/js/simplemde.js +++ b/src/js/simplemde.js @@ -1537,10 +1537,12 @@ SimpleMDE.prototype.autosave = function() { return; } - if(simplemde.element.form != null && simplemde.element.form != undefined) { + if(this.element.form != null && this.element.form != undefined && !this.options.autosave.isEventListening) { simplemde.element.form.addEventListener("submit", function() { localStorage.removeItem("smde_" + simplemde.options.autosave.uniqueId); + simplemde.options.autosave.stop = true; }); + this.options.autosave.isEventListening = true; } if(this.options.autosave.loaded !== true) { @@ -1552,6 +1554,9 @@ SimpleMDE.prototype.autosave = function() { this.options.autosave.loaded = true; } + if (this.options.autosave.stop) + return; + localStorage.setItem("smde_" + this.options.autosave.uniqueId, simplemde.value()); var el = document.getElementById("autosaved");