From c1967269b6d1a2e78ae6ae24ffae37e9d981a9be Mon Sep 17 00:00:00 2001 From: Wes Cossick Date: Tue, 11 Aug 2015 12:04:59 -0500 Subject: [PATCH] Format JS file --- src/js/simplemde.js | 182 +++++++++++++++++++++----------------------- 1 file changed, 86 insertions(+), 96 deletions(-) diff --git a/src/js/simplemde.js b/src/js/simplemde.js index e89bb52..2f879d8 100644 --- a/src/js/simplemde.js +++ b/src/js/simplemde.js @@ -17,7 +17,7 @@ var shortcuts = { * Fix shortcut. Mac use Command, others use Ctrl. */ function fixShortcut(name) { - if (isMac) { + if(isMac) { name = name.replace('Ctrl', 'Cmd'); } else { name = name.replace('Cmd', 'Ctrl'); @@ -34,10 +34,10 @@ function createIcon(options, enableTooltips) { var el = document.createElement('a'); enableTooltips = (enableTooltips == undefined) ? true : enableTooltips; - if (options.title && enableTooltips) { + if(options.title && enableTooltips) { el.title = options.title; - if (isMac) { + if(isMac) { el.title = el.title.replace('Ctrl', '⌘'); el.title = el.title.replace('Alt', '⌥'); } @@ -61,28 +61,28 @@ function createSep() { function getState(cm, pos) { pos = pos || cm.getCursor('start'); var stat = cm.getTokenAt(pos); - if (!stat.type) return {}; + if(!stat.type) return {}; var types = stat.type.split(' '); var ret = {}, data, text; - for (var i = 0; i < types.length; i++) { + for(var i = 0; i < types.length; i++) { data = types[i]; - if (data === 'strong') { + if(data === 'strong') { ret.bold = true; - } else if (data === 'variable-2') { + } else if(data === 'variable-2') { text = cm.getLine(pos.line); - if (/^\s*\d+\.\s/.test(text)) { + if(/^\s*\d+\.\s/.test(text)) { ret['ordered-list'] = true; } else { ret['unordered-list'] = true; } - } else if (data === 'atom') { + } else if(data === 'atom') { ret.quote = true; - } else if (data === 'em') { + } else if(data === 'em') { ret.italic = true; - } else if (data === 'quote') { + } else if(data === 'quote') { ret.quote = true; } } @@ -99,10 +99,9 @@ function toggleFullScreen(editor) { var toolbarButton = editor.toolbarElements.fullscreen; - if (!/active/.test(toolbarButton.className)) { + if(!/active/.test(toolbarButton.className)) { toolbarButton.className += " active"; - } - else { + } else { toolbarButton.className = toolbarButton.className.replace(/\s*active\s*/g, ''); } } @@ -217,12 +216,12 @@ function togglePreview(editor) { var toolbar = editor.toolbarElements.preview; var parse = editor.constructor.markdown; var preview = wrapper.lastChild; - if (!/editor-preview/.test(preview.className)) { + if(!/editor-preview/.test(preview.className)) { preview = document.createElement('div'); preview.className = 'editor-preview'; wrapper.appendChild(preview); } - if (/editor-preview-active/.test(preview.className)) { + if(/editor-preview-active/.test(preview.className)) { preview.className = preview.className.replace( /\s*editor-preview-active\s*/g, '' ); @@ -244,13 +243,13 @@ function togglePreview(editor) { } 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; var text; var startPoint = cm.getCursor('start'); var endPoint = cm.getCursor('end'); - if (active) { + if(active) { text = cm.getLine(startPoint.line); start = text.slice(0, startPoint.ch); end = text.slice(startPoint.ch); @@ -271,7 +270,7 @@ function _replaceSelection(cm, active, start, end) { function _toggleLine(cm, name) { - if (/editor-preview-active/.test(cm.getWrapperElement().lastChild.className)) + if(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className)) return; var stat = getState(cm); @@ -287,10 +286,10 @@ function _toggleLine(cm, name) { 'unordered-list': '* ', 'ordered-list': '1. ' }; - for (var i = startPoint.line; i <= endPoint.line; i++) { + for(var i = startPoint.line; i <= endPoint.line; i++) { (function(i) { var text = cm.getLine(i); - if (stat[name]) { + if(stat[name]) { text = text.replace(repl[name], '$1'); } else { text = map[name] + text; @@ -308,7 +307,7 @@ function _toggleLine(cm, name) { } 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; end_chars = (typeof end_chars === 'undefined') ? start_chars : end_chars; @@ -322,14 +321,14 @@ function _toggleBlock(editor, type, start_chars, end_chars) { var startPoint = cm.getCursor('start'); var endPoint = cm.getCursor('end'); - if (stat[type]) { + if(stat[type]) { text = cm.getLine(startPoint.line); start = text.slice(0, startPoint.ch); end = text.slice(startPoint.ch); - if (type == "bold") { + if(type == "bold") { start = start.replace(/(\*\*|__)(?![\s\S]*(\*\*|__))/, ""); end = end.replace(/(\*\*|__)/, ""); - } else if (type == "italic") { + } else if(type == "italic") { start = start.replace(/(\*|_)(?![\s\S]*(\*|_))/, ""); end = end.replace(/(\*|_)/, ""); } @@ -341,19 +340,19 @@ function _toggleBlock(editor, type, start_chars, end_chars) { ch: 99999999999999 }); - if (type == "bold") { + if(type == "bold") { startPoint.ch -= 2; endPoint.ch -= 2; - } else if (type == "italic") { + } else if(type == "italic") { startPoint.ch -= 1; endPoint.ch -= 1; } } else { text = cm.getSelection(); - if (type == "bold") { + if(type == "bold") { text = text.split("**").join(""); text = text.split("__").join(""); - } else if (type == "italic") { + } else if(type == "italic") { text = text.split("*").join(""); text = text.split("_").join(""); } @@ -373,9 +372,9 @@ function wordCount(data) { var pattern = /[a-zA-Z0-9_\u0392-\u03c9]+|[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af]+/g; var m = data.match(pattern); var count = 0; - if (m === null) return count; - for (var i = 0; i < m.length; i++) { - if (m[i].charCodeAt(0) >= 0x4E00) { + if(m === null) return count; + for(var i = 0; i < m.length; i++) { + if(m[i].charCodeAt(0) >= 0x4E00) { count += m[i].length; } else { count += 1; @@ -390,59 +389,50 @@ var toolbar = [{ action: toggleBold, className: "fa fa-bold", title: "Bold (Ctrl+B)", - }, - { + }, { name: "italic", action: toggleItalic, className: "fa fa-italic", title: "Italic (Ctrl+I)", }, - "|", - { + "|", { name: "quote", action: toggleBlockquote, className: "fa fa-quote-left", title: "Quote (Ctrl+')", - }, - { + }, { name: "unordered-list", action: toggleUnorderedList, className: "fa fa-list-ul", title: "Generic List (Ctrl+L)", - }, - { + }, { name: "ordered-list", action: toggleOrderedList, className: "fa fa-list-ol", title: "Numbered List (Ctrl+Alt+L)", }, - "|", - { + "|", { name: "link", action: drawLink, className: "fa fa-link", title: "Create Link (Ctrl+K)", - }, - { + }, { name: "quote", action: drawImage, className: "fa fa-picture-o", title: "Insert Image (Ctrl+Alt+I)", }, - "|", - { + "|", { name: "preview", action: togglePreview, className: "fa fa-eye", title: "Toggle Preview (Ctrl+P)", - }, - { + }, { name: "fullscreen", action: toggleFullScreen, className: "fa fa-arrows-alt", title: "Toggle Fullscreen (F11)", - }, - { + }, { name: "guide", action: "http://nextstepwebs.github.io/simplemde-markdown-editor/markdown-guide", className: "fa fa-question-circle", @@ -456,28 +446,28 @@ var toolbar = [{ function SimpleMDE(options) { options = options || {}; - if (options.element) { + if(options.element) { this.element = options.element; } - if (options.toolbar !== false) + if(options.toolbar !== false) options.toolbar = options.toolbar || SimpleMDE.toolbar; - if (!options.hasOwnProperty('status')) { + if(!options.hasOwnProperty('status')) { options.status = ['autosave', 'lines', 'words', 'cursor']; } - this.options = options; + this.options = options; // If user has passed an element, it should auto rendered this.render(); - // The codemirror component is only available after rendering - // so, the setter for the initialValue can only run after - // the element has been rendered - if (options.initialValue) { - this.value(options.initialValue); - } + // The codemirror component is only available after rendering + // so, the setter for the initialValue can only run after + // the element has been rendered + if(options.initialValue) { + this.value(options.initialValue); + } } /** @@ -489,7 +479,7 @@ SimpleMDE.toolbar = toolbar; * Default markdown render. */ SimpleMDE.markdown = function(text) { - if (window.marked) { + if(window.marked) { // use marked as markdown parser return marked(text); } @@ -499,11 +489,11 @@ SimpleMDE.markdown = function(text) { * Render editor to the given element. */ SimpleMDE.prototype.render = function(el) { - if (!el) { + if(!el) { el = this.element || document.getElementsByTagName('textarea')[0]; } - if (this._rendered && this._rendered === el) { + if(this._rendered && this._rendered === el) { // Already rendered. return; } @@ -514,7 +504,7 @@ SimpleMDE.prototype.render = function(el) { var self = this; var keyMaps = {}; - for (var key in shortcuts) { + for(var key in shortcuts) { (function(key) { keyMaps[fixShortcut(key)] = function(cm) { shortcuts[key](self); @@ -529,13 +519,13 @@ SimpleMDE.prototype.render = function(el) { toggleFullScreen(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 backdrop = "gfm"; - if (options.spellChecker === false) { + if(options.spellChecker === false) { mode = "gfm"; backdrop = undefined; } @@ -553,13 +543,13 @@ SimpleMDE.prototype.render = function(el) { lineWrapping: (options.lineWrapping === false) ? false : true }); - if (options.toolbar !== false) { + if(options.toolbar !== false) { this.createToolbar(); } - if (options.status !== false) { + if(options.status !== false) { this.createStatusbar(); } - if (options.autosave != undefined && options.autosave.enabled === true) { + if(options.autosave != undefined && options.autosave.enabled === true) { this.autosave(); } @@ -570,18 +560,18 @@ SimpleMDE.prototype.autosave = function() { var content = this.value(); 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"); return; } - if(simplemde.element.form != null && simplemde.element.form != undefined){ - simplemde.element.form.addEventListener("submit", function(){ + if(simplemde.element.form != null && simplemde.element.form != undefined) { + simplemde.element.form.addEventListener("submit", function() { 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) this.codemirror.setValue(localStorage.getItem(this.options.autosave.unique_id)); @@ -593,22 +583,22 @@ SimpleMDE.prototype.autosave = function() { } var el = document.getElementById("autosaved"); - if(el != null && el != undefined && el != ""){ + if(el != null && el != undefined && el != "") { var d = new Date(); var hh = d.getHours(); var m = d.getMinutes(); var dd = "am"; var h = hh; - if (h >= 12) { - h = hh-12; + if(h >= 12) { + h = hh - 12; dd = "pm"; } - if (h == 0) { + if(h == 0) { 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() { @@ -619,7 +609,7 @@ SimpleMDE.prototype.autosave = function() { SimpleMDE.prototype.createToolbar = function(items) { items = items || this.options.toolbar; - if (!items || items.length === 0) { + if(!items || items.length === 0) { return; } @@ -632,25 +622,25 @@ SimpleMDE.prototype.createToolbar = function(items) { var toolbar_data = {}; self.toolbar = 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) continue; (function(item) { var el; - if (item === '|') { + if(item === '|') { el = createSep(); } else { el = createIcon(item, self.options.toolbarTips); } // bind events, special for info - if (item.action) { - if (typeof item.action === 'function') { + if(item.action) { + if(typeof item.action === 'function') { el.onclick = function(e) { item.action(self); }; - } else if (typeof item.action === 'string') { + } else if(typeof item.action === 'string') { el.href = item.action; el.target = '_blank'; } @@ -666,10 +656,10 @@ SimpleMDE.prototype.createToolbar = function(items) { cm.on('cursorActivity', function() { var stat = getState(cm); - for (var key in toolbar_data) { + for(var key in toolbar_data) { (function(key) { var el = toolbar_data[key]; - if (stat[key]) { + if(stat[key]) { el.className += ' active'; } else if(key != "fullscreen") { el.className = el.className.replace(/\s*active\s*/g, ''); @@ -687,34 +677,34 @@ SimpleMDE.prototype.createStatusbar = function(status) { status = status || this.options.status; options = this.options; - if (!status || status.length === 0) return; + if(!status || status.length === 0) return; var bar = document.createElement('div'); bar.className = 'editor-statusbar'; var pos, cm = this.codemirror; - for (var i = 0; i < status.length; i++) { + for(var i = 0; i < status.length; i++) { (function(name) { var el = document.createElement('span'); el.className = name; - if (name === 'words') { + if(name === 'words') { el.innerHTML = '0'; cm.on('update', function() { el.innerHTML = wordCount(cm.getValue()); }); - } else if (name === 'lines') { + } else if(name === 'lines') { el.innerHTML = '0'; cm.on('update', function() { el.innerHTML = cm.lineCount(); }); - } else if (name === 'cursor') { + } else if(name === 'cursor') { el.innerHTML = '0:0'; cm.on('cursorActivity', function() { pos = cm.getCursor(); el.innerHTML = pos.line + ':' + pos.ch; }); - } else if (name === 'autosave') { - if (options.autosave != undefined && options.autosave.enabled === true) { + } else if(name === 'autosave') { + if(options.autosave != undefined && options.autosave.enabled === true) { el.setAttribute("id", "autosaved"); } } @@ -731,7 +721,7 @@ SimpleMDE.prototype.createStatusbar = function(status) { * Get or set the text content. */ SimpleMDE.prototype.value = function(val) { - if (val === undefined) { + if(val === undefined) { return this.codemirror.getValue(); } else { this.codemirror.getDoc().setValue(val); @@ -798,4 +788,4 @@ SimpleMDE.prototype.togglePreview = function() { }; SimpleMDE.prototype.toggleFullScreen = function() { toggleFullScreen(this); -}; +}; \ No newline at end of file