mirror of
https://github.com/sparksuite/simplemde-markdown-editor.git
synced 2024-06-26 09:20:01 +02:00
Accepts blank test in editor value getter/setter
This commit is contained in:
parent
586f49d64a
commit
709a51af19
|
@ -33,10 +33,10 @@ function createIcon(options, enableTooltips) {
|
||||||
options = options || {};
|
options = options || {};
|
||||||
var el = document.createElement('a');
|
var el = document.createElement('a');
|
||||||
enableTooltips = (enableTooltips == undefined) ? true : enableTooltips;
|
enableTooltips = (enableTooltips == undefined) ? true : enableTooltips;
|
||||||
|
|
||||||
if (options.title && enableTooltips) {
|
if (options.title && enableTooltips) {
|
||||||
el.title = options.title;
|
el.title = options.title;
|
||||||
|
|
||||||
if (isMac) {
|
if (isMac) {
|
||||||
el.title = el.title.replace('Ctrl', '⌘');
|
el.title = el.title.replace('Ctrl', '⌘');
|
||||||
el.title = el.title.replace('Alt', '⌥');
|
el.title = el.title.replace('Alt', '⌥');
|
||||||
|
@ -96,9 +96,9 @@ function getState(cm, pos) {
|
||||||
function toggleFullScreen(editor) {
|
function toggleFullScreen(editor) {
|
||||||
var cm = editor.codemirror;
|
var cm = editor.codemirror;
|
||||||
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
|
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
|
||||||
|
|
||||||
var toolbarButton = editor.toolbarElements.fullscreen;
|
var toolbarButton = editor.toolbarElements.fullscreen;
|
||||||
|
|
||||||
if (!/active/.test(toolbarButton.className)) {
|
if (!/active/.test(toolbarButton.className)) {
|
||||||
toolbarButton.className += " active";
|
toolbarButton.className += " active";
|
||||||
}
|
}
|
||||||
|
@ -246,7 +246,7 @@ function togglePreview(editor) {
|
||||||
function _replaceSelection(cm, active, start, end) {
|
function _replaceSelection(cm, active, start, end) {
|
||||||
if (/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))
|
if (/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var text;
|
var text;
|
||||||
var startPoint = cm.getCursor('start');
|
var startPoint = cm.getCursor('start');
|
||||||
var endPoint = cm.getCursor('end');
|
var endPoint = cm.getCursor('end');
|
||||||
|
@ -273,7 +273,7 @@ function _replaceSelection(cm, active, start, end) {
|
||||||
function _toggleLine(cm, name) {
|
function _toggleLine(cm, name) {
|
||||||
if (/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))
|
if (/editor-preview-active/.test(cm.getWrapperElement().lastChild.className))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var stat = getState(cm);
|
var stat = getState(cm);
|
||||||
var startPoint = cm.getCursor('start');
|
var startPoint = cm.getCursor('start');
|
||||||
var endPoint = cm.getCursor('end');
|
var endPoint = cm.getCursor('end');
|
||||||
|
@ -310,7 +310,7 @@ function _toggleLine(cm, name) {
|
||||||
function _toggleBlock(editor, type, start_chars, end_chars) {
|
function _toggleBlock(editor, type, start_chars, end_chars) {
|
||||||
if (/editor-preview-active/.test(editor.codemirror.getWrapperElement().lastChild.className))
|
if (/editor-preview-active/.test(editor.codemirror.getWrapperElement().lastChild.className))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
end_chars = (typeof end_chars === 'undefined') ? start_chars : end_chars;
|
end_chars = (typeof end_chars === 'undefined') ? start_chars : end_chars;
|
||||||
var cm = editor.codemirror;
|
var cm = editor.codemirror;
|
||||||
var stat = getState(cm);
|
var stat = getState(cm);
|
||||||
|
@ -459,7 +459,7 @@ function SimpleMDE(options) {
|
||||||
if (options.element) {
|
if (options.element) {
|
||||||
this.element = options.element;
|
this.element = options.element;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options.toolbar !== false)
|
if (options.toolbar !== false)
|
||||||
options.toolbar = options.toolbar || SimpleMDE.toolbar;
|
options.toolbar = options.toolbar || SimpleMDE.toolbar;
|
||||||
|
|
||||||
|
@ -524,15 +524,15 @@ SimpleMDE.prototype.render = function(el) {
|
||||||
keyMaps["Esc"] = function(cm) {
|
keyMaps["Esc"] = function(cm) {
|
||||||
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
|
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
|
||||||
};
|
};
|
||||||
|
|
||||||
var mode = "spell-checker";
|
var mode = "spell-checker";
|
||||||
var backdrop = "gfm";
|
var backdrop = "gfm";
|
||||||
|
|
||||||
if (options.spellChecker === false) {
|
if (options.spellChecker === false) {
|
||||||
mode = "gfm";
|
mode = "gfm";
|
||||||
backdrop = undefined;
|
backdrop = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.codemirror = CodeMirror.fromTextArea(el, {
|
this.codemirror = CodeMirror.fromTextArea(el, {
|
||||||
mode: mode,
|
mode: mode,
|
||||||
backdrop: backdrop,
|
backdrop: backdrop,
|
||||||
|
@ -562,29 +562,29 @@ SimpleMDE.prototype.render = function(el) {
|
||||||
SimpleMDE.prototype.autosave = function() {
|
SimpleMDE.prototype.autosave = function() {
|
||||||
var content = this.value();
|
var content = this.value();
|
||||||
var simplemde = this;
|
var simplemde = this;
|
||||||
|
|
||||||
if(this.options.autosave.unique_id == undefined || this.options.autosave.unique_id == ""){
|
if(this.options.autosave.unique_id == undefined || this.options.autosave.unique_id == ""){
|
||||||
console.log("SimpleMDE: You must set a unique_id to use the autosave feature");
|
console.log("SimpleMDE: You must set a unique_id to use the autosave feature");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
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.unique_id, "");
|
localStorage.setItem(simplemde.options.autosave.unique_id, "");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.options.autosave.loaded !== true){
|
if(this.options.autosave.loaded !== true){
|
||||||
if(localStorage.getItem(this.options.autosave.unique_id) != null)
|
if(localStorage.getItem(this.options.autosave.unique_id) != null)
|
||||||
this.codemirror.setValue(localStorage.getItem(this.options.autosave.unique_id));
|
this.codemirror.setValue(localStorage.getItem(this.options.autosave.unique_id));
|
||||||
|
|
||||||
this.options.autosave.loaded = true;
|
this.options.autosave.loaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(localStorage) {
|
if(localStorage) {
|
||||||
localStorage.setItem(this.options.autosave.unique_id, content);
|
localStorage.setItem(this.options.autosave.unique_id, content);
|
||||||
}
|
}
|
||||||
|
|
||||||
var el = document.getElementById("autosaved");
|
var el = document.getElementById("autosaved");
|
||||||
if(el != null && el != undefined && el != ""){
|
if(el != null && el != undefined && el != ""){
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
|
@ -600,10 +600,10 @@ SimpleMDE.prototype.autosave = function() {
|
||||||
h = 12;
|
h = 12;
|
||||||
}
|
}
|
||||||
m = m<10?"0"+m:m;
|
m = m<10?"0"+m:m;
|
||||||
|
|
||||||
el.innerHTML = "Autosaved: "+h+":"+m+" "+dd;
|
el.innerHTML = "Autosaved: "+h+":"+m+" "+dd;
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
simplemde.autosave();
|
simplemde.autosave();
|
||||||
}, this.options.autosave.delay || 10000);
|
}, this.options.autosave.delay || 10000);
|
||||||
|
@ -628,7 +628,7 @@ SimpleMDE.prototype.createToolbar = function(items) {
|
||||||
for (var i = 0; i < items.length; i++) {
|
for (var i = 0; i < items.length; i++) {
|
||||||
if(items[i].name == "guide" && self.options.toolbarGuideIcon === false)
|
if(items[i].name == "guide" && self.options.toolbarGuideIcon === false)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
(function(item) {
|
(function(item) {
|
||||||
var el;
|
var el;
|
||||||
if (item === '|') {
|
if (item === '|') {
|
||||||
|
@ -652,7 +652,7 @@ SimpleMDE.prototype.createToolbar = function(items) {
|
||||||
bar.appendChild(el);
|
bar.appendChild(el);
|
||||||
})(items[i]);
|
})(items[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
self.toolbarElements = toolbar_data;
|
self.toolbarElements = toolbar_data;
|
||||||
|
|
||||||
var cm = this.codemirror;
|
var cm = this.codemirror;
|
||||||
|
@ -714,7 +714,7 @@ SimpleMDE.prototype.createStatusbar = function(status) {
|
||||||
bar.appendChild(el);
|
bar.appendChild(el);
|
||||||
})(status[i]);
|
})(status[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
var cmWrapper = this.codemirror.getWrapperElement();
|
var cmWrapper = this.codemirror.getWrapperElement();
|
||||||
cmWrapper.parentNode.insertBefore(bar, cmWrapper.nextSibling);
|
cmWrapper.parentNode.insertBefore(bar, cmWrapper.nextSibling);
|
||||||
return bar;
|
return bar;
|
||||||
|
@ -724,11 +724,11 @@ SimpleMDE.prototype.createStatusbar = function(status) {
|
||||||
* Get or set the text content.
|
* Get or set the text content.
|
||||||
*/
|
*/
|
||||||
SimpleMDE.prototype.value = function(val) {
|
SimpleMDE.prototype.value = function(val) {
|
||||||
if (val) {
|
if (val === undefined) {
|
||||||
|
return this.codemirror.getValue();
|
||||||
|
} else {
|
||||||
this.codemirror.getDoc().setValue(val);
|
this.codemirror.getDoc().setValue(val);
|
||||||
return this;
|
return this;
|
||||||
} else {
|
|
||||||
return this.codemirror.getValue();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -791,4 +791,4 @@ SimpleMDE.prototype.togglePreview = function() {
|
||||||
};
|
};
|
||||||
SimpleMDE.prototype.toggleFullScreen = function() {
|
SimpleMDE.prototype.toggleFullScreen = function() {
|
||||||
toggleFullScreen(this);
|
toggleFullScreen(this);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue