From 78d3bdf28c4799128806529f864bf255592238ba Mon Sep 17 00:00:00 2001 From: khaydarov Date: Fri, 1 Jul 2016 19:54:57 +0300 Subject: [PATCH] quotes#1 --- codex-editor.js | 80 +++++++++++++++++++++--------------------------- editor.css | 3 +- example.html | 2 +- img/01.jpg | Bin 0 -> 4033 bytes 4 files changed, 37 insertions(+), 48 deletions(-) create mode 100755 img/01.jpg diff --git a/codex-editor.js b/codex-editor.js index 249ec20c..703590ea 100644 --- a/codex-editor.js +++ b/codex-editor.js @@ -2065,17 +2065,10 @@ cEditor.tools.header = { }; -/ /** QUOTE PLUGIN **/ var quoteTools = { - quote : null, - style : null, - author : null, - position : null, - photo : null, - /** * Make Quote from JSON datasets */ @@ -2085,12 +2078,6 @@ var quoteTools = { if (data && data.type) { - this.quote = data.text; - this.style = data.type; - this.author = data.author || null; - this.position = data.position || null; - this.photo = data.photo || null; - switch (data.type) { case 'simple': tag = quoteTools.makeSimpleQuote(data); @@ -2105,12 +2092,11 @@ var quoteTools = { } else { tag = document.createElement('BLOCKQUOTE'); - tag.contentEditable = 'true'; - this.style = 'simple'; + tag.contentEditable = 'true'; + tag.id = 'ce_quote--text'; } - return tag; }, @@ -2166,7 +2152,8 @@ var quoteTools = { selectTypeButton.className = 'ce_plugin_quote--select_button'; - this.addSelectTypeClickListener(selectTypeButton, type); + var quoteStyle = quoteTools.selectTypeQuoteStyle(type); + quoteTools.addSelectTypeClickListener(selectTypeButton, quoteStyle); holder.appendChild(selectTypeButton); @@ -2176,9 +2163,7 @@ var quoteTools = { }, - addSelectTypeClickListener : function(el, type) { - - var quoteStyleFunction; + selectTypeQuoteStyle : function(type) { /** * Choose Quote style to replace @@ -2195,13 +2180,19 @@ var quoteTools = { break; } + return quoteStyleFunction; + + }, + + addSelectTypeClickListener : function(el, quoteStyle) { + el.addEventListener('click', function () { /** * Parsing currentNode to JSON. */ var parsedOldQuote = quoteTools.parseBlockQuote(), - newStyledQuote = quoteStyleFunction(parsedOldQuote); + newStyledQuote = quoteStyle(parsedOldQuote); cEditor.content.replaceBlock(cEditor.content.currentNode, newStyledQuote, 'quote'); @@ -2215,13 +2206,13 @@ var quoteTools = { var blockquote = document.createElement('BLOCKQUOTE'); - blockquote.innerHTML = data.text; + blockquote.innerHTML = data.text || ''; blockquote.classList.add('quoteStyle-simple--blockquote'); - + blockquote.dataset.quoteStyle = 'simple'; blockquote.id = 'ce_quote--text'; - + blockquote.contentEditable = 'true'; return blockquote; @@ -2233,20 +2224,19 @@ var quoteTools = { quote = document.createElement('DIV'), author = document.createElement('DIV'); - /* Creating ContentEditable block for quote */ quote.contentEditable = 'true'; - + quote.classList.add('quoteStyle-withCaption--blockquote'); - + quote.innerHTML = data.text; quote.id = 'ce_quote--text'; /* Block for author of quote */ author.contentEditable = 'true'; - + author.classList.add('quoteStyle-withCaption--author'); - + author.id = 'ce_quote--author'; author.textContent = data.author; @@ -2309,29 +2299,29 @@ var quoteTools = { var currentNode = block || cEditor.content.currentNode, photo = currentNode.getElementsByTagName('img')[0], - quote = document.getElementById('ce_quote--text'), - author = document.getElementById('ce_quote--author'), - position = document.getElementById('ce_quote--position'); - - this.style = currentNode.dataset.quoteStyle; + quote = currentNode.querySelector('#ce_quote--text'), + author = currentNode.querySelector('#ce_quote--author'), + position = currentNode.querySelector('#ce_quote--position'); + // this.style = currentNode.dataset.quoteStyle; + console.log(currentNode); if ( position ) - this.position = position.textContent; - - if ( author ) - this.author = author.textContent; + position = position.textContent; - if ( quote ) - this.quote = quote.textContent; + if ( author ) + author = author.textContent; + + if ( quote ) + quote = quote.textContent; if ( photo ) - this.photo = photo.src; + photo = photo.src; var data = { - text : this.quote, - author : this.author, - position : this.position, - photo : this.photo, + text : quote, + author : author, + position : position, + photo : photo, }; return data; diff --git a/editor.css b/editor.css index 805f0f42..cc27ba6f 100644 --- a/editor.css +++ b/editor.css @@ -281,7 +281,6 @@ .quoteStyle-withPhoto--quote { outline: none; overflow: hidden; - text-align: justify; } .quoteStle-withPhoto--author::before { @@ -328,4 +327,4 @@ -o-animation-name: bounceIn; -o-animation-duration: 600ms; -o-animation-iteration-count: 1; animation-name: bounceIn; animation-duration: 600ms; animation-iteration-count: 1; } -*/ \ No newline at end of file +*/ diff --git a/example.html b/example.html index b93f924d..cc3c2202 100644 --- a/example.html +++ b/example.html @@ -126,7 +126,7 @@ type : 'simple', text : 'git — распределенная система контроля версий файлов.
«Распределенная» значит, что каждый репозиторий содержит всю историю изменений, и из него можно развернуть полноценную рабочую копию проекта.', photo : '', - author : 'sss', + author : '', } }, { diff --git a/img/01.jpg b/img/01.jpg new file mode 100755 index 0000000000000000000000000000000000000000..b44786f3264057e99b90fd5239b7f0cc316f7b6a GIT binary patch literal 4033 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 literal 0 HcmV?d00001