diff --git a/example.html b/example.html
index fd54462e..4cf66a25 100644
--- a/example.html
+++ b/example.html
@@ -118,8 +118,8 @@
showInlineToolbar: true,
enableLineBreaks: true
},
- quote: {
- type: 'quote',
+ quote_styled: {
+ type: 'quote_styled',
iconClassname: 'ce-icon-quote',
make: quote.makeBlockToAppend,
appendCallback: null,
diff --git a/plugins/quote/quote.js b/plugins/quote/quote.js
index 2ddf39da..e69de29b 100644
--- a/plugins/quote/quote.js
+++ b/plugins/quote/quote.js
@@ -1,457 +0,0 @@
-/**
-* Codex Team
-* @author Khaydarov Murod
-*/
-
-var quote = (function(quote) {
-
- /** Default path to redactors images */
- var path = '/upload/redactor_images/';
-
- /**
- * Default quote style
- */
- var defaultStyle = 'withPhoto';
-
- var styles = {
-
- ce_quote : 'ce-quote',
- quoteText : 'ce_quote--text',
- quoteAuthor : 'ce_quote--author',
- authorsJob : 'ce_quote--job',
- authorsPhoto : 'authorsPhoto',
- authorsPhotoWrapper : 'authorsPhoto-wrapper',
-
- simple : {
- text : 'quoteStyle-simple--text'
- },
-
- withCaption : {
- blockquote : 'quoteStyle-withCaption--blockquote',
- author : 'quoteStyle-withCaption--author'
- },
-
- withPhoto : {
- photo : 'quoteStyle-withPhoto--photo',
- author : 'quoteStyle-withPhoto--author',
- job : 'quoteStyle-withPhoto--job',
- quote : 'quoteStyle-withPhoto--quote',
- wrapper : 'quoteStyle-withPhoto--wrapper',
- authorHolder : 'quoteStyle-withPhoto--authorWrapper'
- },
-
- settings : {
- holder : 'ce_plugin_quote--settings',
- caption : 'ce_plugin_quote--caption',
- buttons : 'ce_plugin_quote--select_button',
- selectedType : 'ce-quote-settings--selected'
- }
- };
-
- var photoUploadingCallbacks = {
-
- /**
- * Success callbacks for uploaded photo.
- * Replace upload icon with uploaded photo
- */
- success : function(result) {
-
- var parsed = JSON.parse(result),
- filename = parsed.filename,
- uploadImageWrapper = codex.content.currentNode.querySelector('.' + styles.withPhoto.photo),
- authorsPhoto = ui.img(styles.authorsPhoto);
-
- authorsPhoto.src = path + 'b_' + filename;
-
- /** Remove icon from image wrapper */
- uploadImageWrapper.innerHTML = '';
-
- /** Appending uploaded image */
- uploadImageWrapper.classList.add(styles.authorsPhotoWrapper);
- uploadImageWrapper.appendChild(authorsPhoto);
- },
-
- /** Error callback. Sends notification to user that something happend or plugin doesn't supports method */
- error : function(result) {
-
- console.log('Can\'t upload an image');
- codex.notifications.errorThrown();
-
- }
-
- };
-
- var ui = {
-
- wrapper : function($classList) {
-
- var el = document.createElement('DIV');
-
- el.classList.add($classList);
-
- return el;
-
- },
-
- blockquote : function() {
-
- var el = document.createElement('BLOCKQUOTE');
-
- return el;
-
- },
-
- img : function(attribute) {
- var imageTag = document.createElement('IMG');
- imageTag.classList.add(attribute);
-
- return imageTag;
- },
-
- makeBlock : function(tag, classList) {
-
- var el = document.createElement(tag);
-
-
- if ( classList ) {
-
- for( var i = 0; i < classList.length; i++)
- el.className += ' ' + classList[i];
-
- }
- return el;
-
- }
-
- };
-
- var methods = {
-
- changeStyleClicked : function() {
-
- var changeStyleButton = this,
- quote = codex.content.currentNode.querySelector('.' + styles.ce_quote),
- newStyle = changeStyleButton.dataset.style,
- styleSelectors = this.parentNode.childNodes;
-
- quote.dataset.quoteStyle = newStyle;
-
- /**
- * Mark selected style button
- */
- for (var i = styleSelectors.length - 1; i >= 0; i--) {
- styleSelectors[i].classList.remove(styles.settings.selectedType);
- }
-
- this.classList.add(styles.settings.selectedType);
-
- },
-
- /**
- * @deprecated
- */
- selectTypeQuoteStyle : function(type) {
-
- /**
- * Choose Quote style to replace
- */
- switch (type) {
- case 'simple':
- quoteStyleFunction = makeSimpleQuote;
- break;
- case 'withCaption':
- quoteStyleFunction = makeQuoteWithCaption;
- break;
- case 'withPhoto':
- quoteStyleFunction = makeQuoteWithPhoto;
- break;
- }
- return quoteStyleFunction;
- },
-
- /**
- * @deprecated
- */
- addSelectTypeClickListener : function(el, quoteStyle) {
-
- el.addEventListener('click', function () {
-
- /**
- * Parsing currentNode to JSON.
- */
- var parsedOldQuote = methods.parseBlockQuote(),
- newStyledQuote = quoteStyle(parsedOldQuote);
-
- var wrapper = codex.content.composeNewBlock(newStyledQuote, 'quote');
- wrapper.appendChild(newStyledQuote);
-
- codex.content.switchBlock(codex.content.currentNode, newStyledQuote, 'quote');
-
- /** Close settings after replacing */
- codex.toolbar.settings.close();
-
- }, false);
-
- },
-
- /**
- * @deprecated
- */
- makeSimpleQuote : function(data) {
-
- var wrapper = ui.makeBlock('BLOCKQUOTE', [styles.simple.text, styles.quoteText]);
-
- wrapper.innerHTML = data.text || '';
-
- wrapper.dataset.quoteStyle = 'simple';
- wrapper.classList.add(styles.ce_quote);
- wrapper.contentEditable = 'true';
-
- return wrapper;
- },
-
- /**
- * @deprecated
- */
- makeQuoteWithCaption : function(data) {
-
- var wrapper = ui.blockquote(),
- text = ui.makeBlock('DIV', [styles.withCaption.blockquote, styles.quoteText]),
- author = ui.makeBlock('DIV', [styles.withCaption.author, styles.quoteAuthor]);
-
- /* make text block ontentEditable */
- text.contentEditable = 'true';
-
- text.innerHTML = data.text;
-
- /* make Author contentEditable */
- author.contentEditable = 'true';
-
- author.textContent = data.cite;
-
- /* Appending created components */
- wrapper.dataset.quoteStyle = 'withCaption';
- wrapper.classList.add(styles.ce_quote);
-
- wrapper.appendChild(text);
- wrapper.appendChild(author);
-
- return wrapper;
-
- },
-
- makeQuoteWithPhoto : function(data) {
-
- var wrapper = ui.blockquote(),
- photo = ui.makeBlock('DIV', [styles.withPhoto.photo]),
- author = ui.makeBlock('DIV', [styles.withPhoto.author, styles.quoteAuthor]),
- job = ui.makeBlock('DIV', [styles.withPhoto.job, styles.authorsJob]),
- quote = ui.makeBlock('DIV', [styles.withPhoto.quote, styles.quoteText]);
-
- /* Default Image src */
- if (!data.photo) {
-
- var icon = ui.makeBlock('SPAN', ['ce-icon-picture']);
- photo.appendChild(icon);
-
- } else {
-
- var authorsPhoto = ui.img(styles.authorsPhoto);
- authorsPhoto.src = data.photo;
-
- photo.classList.add(styles.authorsPhotoWrapper);
- photo.appendChild(authorsPhoto);
- }
-
-
- photo.addEventListener('click', methods.fileUploadClicked, false);
-
- /* make author block contentEditable */
- author.contentEditable = 'true';
- author.textContent = data.cite;
-
- /* Author's position and job */
- job.contentEditable = 'true';
- job.textContent = data.job;
-
- var authorsWrapper = ui.makeBlock('DIV', [styles.withPhoto.authorHolder]);
- authorsWrapper.appendChild(author);
- authorsWrapper.appendChild(job);
-
- /* make quote text contentEditable */
- quote.contentEditable = 'true';
- quote.innerHTML = data.text;
-
- wrapper.classList.add(styles.ce_quote);
- wrapper.classList.add(styles.withPhoto.wrapper);
- wrapper.dataset.quoteStyle = 'withPhoto';
-
- wrapper.appendChild(quote);
- wrapper.appendChild(photo);
- wrapper.appendChild(authorsWrapper);
-
- return wrapper;
- },
-
- parseBlockQuote : function(block) {
-
- var currentNode = block || codex.content.currentNode,
- photo = currentNode.getElementsByTagName('img')[0],
- author = currentNode.querySelector('.' + styles.quoteAuthor),
- job = currentNode.querySelector('.' + styles.authorsJob),
- quote ;
-
- /** Simple quote text placed in Blockquote tag*/
- if ( currentNode.dataset.quoteStyle == 'simple' )
- quote = currentNode.innerHTML;
- else
- quote = currentNode.querySelector('.' + styles.quoteText).innerHTML;
-
- if (job)
- job = job.textContent;
-
- if (author)
- author = author.textContent;
-
- if (photo)
- photo = photo.src;
-
- var data = {
- style : currentNode.dataset.quoteStyle,
- text : quote,
- author : author,
- job : job,
- photo : photo
- };
-
- return data;
- },
-
- fileUploadClicked : function() {
-
- codex.transport.selectAndUpload({
- sucess: photoUploadingCallbacks.success,
- error: photoUploadingCallbacks.error
- });
-
- }
- };
-
- /**
- * Make Quote from JSON datasets
- */
- quote.makeBlockToAppend = function(data) {
-
- var tag;
-
- if (data && data.size) {
-
- data.style = 'withPhoto';
-
- switch (data.style) {
- case 'simple':
- tag = methods.makeSimpleQuote(data);
- break;
- case 'withCaption':
- tag = methods.makeQuoteWithCaption(data);
- break;
- case 'withPhoto':
- tag = methods.makeQuoteWithPhoto(data);
- break;
- }
- } else {
-
- var settings = {
- style : 'withPhoto',
- text : '',
- author : '',
- job : '',
- photo : ''
- };
-
- tag = methods.makeQuoteWithPhoto(settings);
- }
-
- return tag;
- };
-
- quote.validate = function(data) {
-
- console.log(data);
- if (data.style.trim() == '' || data.text.trim() == '' || data.cite.trim() == ''
- || data.size.trim() == '')
- return;
-
- return true;
- };
-
- quote.render = function(data) {
- return quote.makeBlockToAppend(data);
- };
-
- quote.save = function(blockContent) {
-
- /**
- * Extracts JSON quote data from HTML block
- * @param {Text} text, {Text} author, {Object} photo
- */
- var parsedblock = methods.parseBlockQuote(blockContent);
-
- if (parsedblock.style == 'withPhoto') {
- parsedblock.style = 'small';
- }
- var data = {
- "text" : parsedblock.text,
- "format" : "html",
- "cite" : parsedblock.author,
- "size" : parsedblock.style
- };
-
- return data;
- };
-
- quote.makeSettings = function(data) {
-
- var holder = document.createElement('DIV'),
- types = {
- big : 'По центру',
- small : 'Врезка'
- // simple : 'Простая цитата',
- // withCaption : 'Цитата с подписью',
- // withPhoto : 'Цитата с фото и ФИО'
- },
- selectTypeButton;
-
- /** Add holder classname */
- holder.className = styles.settings.holder;
-
- /** Now add type selectors */
- for (var type in types){
-
- selectTypeButton = document.createElement('SPAN');
-
- selectTypeButton.textContent = types[type];
- selectTypeButton.className = styles.settings.buttons;
-
- selectTypeButton.dataset.style = type;
-
- if ( type == defaultStyle ){
- selectTypeButton.classList.add(styles.settings.selectedType);
- }
-
- // var quoteStyle = quoteTools.selectTypeQuoteStyle(type);
-
- selectTypeButton.addEventListener('click', methods.changeStyleClicked, false);
- // quoteTools.addSelectTypeClickListener(selectTypeButton, quoteStyle);
-
- holder.appendChild(selectTypeButton);
-
- }
-
- return holder;
-
- };
-
- return quote;
-
-})({});
\ No newline at end of file