mirror of
https://github.com/Ionaru/easy-markdown-editor
synced 2025-06-28 13:41:01 -06:00
Autosave improvements (see description)
Checks that localStorage is available for all features, logs error if not Added function to clear the autosaved value Prefixed the autosave localStorage key with “smde_”
This commit is contained in:
parent
a70b4978cb
commit
a64f07e1c3
11
README.md
11
README.md
@ -221,14 +221,15 @@ simplemde.codemirror.on("change", function(){
|
|||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
## State methods
|
## Useful methods
|
||||||
The following methods will let you check on the state of the editor.
|
The following self-explanatory methods may be of use while developing with SimpleMDE.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
var simplemde = new SimpleMDE();
|
var simplemde = new SimpleMDE();
|
||||||
simplemde.isPreviewActive();
|
simplemde.isPreviewActive(); // returns boolean
|
||||||
simplemde.isSideBySideActive();
|
simplemde.isSideBySideActive(); // returns boolean
|
||||||
simplemde.isFullscreenActive();
|
simplemde.isFullscreenActive(); // returns boolean
|
||||||
|
simplemde.clearAutosavedValue(); // no returned value
|
||||||
```
|
```
|
||||||
|
|
||||||
## How it works
|
## How it works
|
||||||
|
@ -999,6 +999,7 @@ SimpleMDE.prototype.render = function(el) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
SimpleMDE.prototype.autosave = function() {
|
SimpleMDE.prototype.autosave = function() {
|
||||||
|
if(localStorage) {
|
||||||
var simplemde = this;
|
var simplemde = this;
|
||||||
|
|
||||||
if(this.options.autosave.uniqueId == undefined || this.options.autosave.uniqueId == "") {
|
if(this.options.autosave.uniqueId == undefined || this.options.autosave.uniqueId == "") {
|
||||||
@ -1008,20 +1009,18 @@ SimpleMDE.prototype.autosave = function() {
|
|||||||
|
|
||||||
if(simplemde.element.form != null && simplemde.element.form != undefined) {
|
if(simplemde.element.form != null && simplemde.element.form != undefined) {
|
||||||
simplemde.element.form.addEventListener("submit", function() {
|
simplemde.element.form.addEventListener("submit", function() {
|
||||||
localStorage.setItem(simplemde.options.autosave.uniqueId, "");
|
localStorage.removeItem("smde_" + simplemde.options.autosave.uniqueId);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.options.autosave.loaded !== true) {
|
if(this.options.autosave.loaded !== true) {
|
||||||
if(typeof localStorage.getItem(this.options.autosave.uniqueId) == "string" && localStorage.getItem(this.options.autosave.uniqueId) != "")
|
if(typeof localStorage.getItem("smde_" + this.options.autosave.uniqueId) == "string" && localStorage.getItem("smde_" + this.options.autosave.uniqueId) != "")
|
||||||
this.codemirror.setValue(localStorage.getItem(this.options.autosave.uniqueId));
|
this.codemirror.setValue(localStorage.getItem("smde_" + this.options.autosave.uniqueId));
|
||||||
|
|
||||||
this.options.autosave.loaded = true;
|
this.options.autosave.loaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(localStorage) {
|
localStorage.setItem("smde_" + this.options.autosave.uniqueId, simplemde.value());
|
||||||
localStorage.setItem(this.options.autosave.uniqueId, simplemde.value());
|
|
||||||
}
|
|
||||||
|
|
||||||
var el = document.getElementById("autosaved");
|
var el = document.getElementById("autosaved");
|
||||||
if(el != null && el != undefined && el != "") {
|
if(el != null && el != undefined && el != "") {
|
||||||
@ -1045,6 +1044,22 @@ SimpleMDE.prototype.autosave = function() {
|
|||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
simplemde.autosave();
|
simplemde.autosave();
|
||||||
}, this.options.autosave.delay || 10000);
|
}, this.options.autosave.delay || 10000);
|
||||||
|
} else {
|
||||||
|
console.log("SimpleMDE: localStorage not available, cannot autosave");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
SimpleMDE.prototype.clearAutosavedValue = function() {
|
||||||
|
if(localStorage) {
|
||||||
|
if(this.options.autosave.uniqueId == undefined || this.options.autosave.uniqueId == "") {
|
||||||
|
console.log("SimpleMDE: You must set a uniqueId to use the autosave feature");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
localStorage.removeItem("smde_" + this.options.autosave.uniqueId);
|
||||||
|
} else {
|
||||||
|
console.log("SimpleMDE: localStorage not available, cannot autosave");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
SimpleMDE.prototype.createSideBySide = function() {
|
SimpleMDE.prototype.createSideBySide = function() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user