Accepts blank test in editor value getter/setter

patch-ionaru
Fernando Mendes 9 years ago
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…
Cancel
Save