From b4bf723adc4b54dcc0a6eefb592fbbe9795a39f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aleksander=20=C5=81ukasz?= Date: Mon, 22 Apr 2013 16:21:08 +0200 Subject: [PATCH] Visual editor - refactoring in transformations --- modules/visualEditor.transformations.js | 53 ++++++++++--------------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/modules/visualEditor.transformations.js b/modules/visualEditor.transformations.js index 1e8c2e0..f9fcb1f 100644 --- a/modules/visualEditor.transformations.js +++ b/modules/visualEditor.transformations.js @@ -15,40 +15,29 @@ if(typeof module !== 'undefined' && module.exports) { var toBlock = ['div', 'document', 'section', 'header']; var toInline = ['aside', 'span']; - toBlock.forEach(function(tagName) { - tagName = tagName.toLowerCase(); - console.log('running ' + tagName); - toret.find(tagName).replaceWith(function() { - var currentTag = $(this); - if(currentTag.attr('wlxml-tag')) - return; - var toret = $('
').attr('wlxml-tag', tagName); - for(var i = 0; i < this.attributes.length; i++) { - var attr = this.attributes.item(i); - var value = attr.name === 'class' ? attr.value.replace(/\./g, '-') : attr.value; - toret.attr('wlxml-' + attr.name, value) - } - toret.append(currentTag.contents()); - return toret; + var transform = function(tags, replacingTagName) { + tags.forEach(function(tagName) { + tagName = tagName.toLowerCase(); + console.log('running ' + tagName); + toret.find(tagName).replaceWith(function() { + var currentTag = $(this); + if(currentTag.attr('wlxml-tag')) + return; + var toret = $('<' + replacingTagName + '>').attr('wlxml-tag', tagName); + for(var i = 0; i < this.attributes.length; i++) { + var attr = this.attributes.item(i); + var value = attr.name === 'class' ? attr.value.replace(/\./g, '-') : attr.value; + toret.attr('wlxml-' + attr.name, value) + } + toret.append(currentTag.contents()); + return toret; + }); }); - }); + } - toInline.forEach(function(tagName) { - tagName = tagName.toLowerCase(); - toret.find(tagName).replaceWith(function() { - var currentTag = $(this); - if(currentTag.attr('wlxml-tag')) - return; - var toret = $('').attr('wlxml-tag', tagName); - for(var i = 0; i < this.attributes.length; i++) { - var attr = this.attributes.item(i); - var value = attr.name === 'class' ? attr.value.replace(/\./g, '-') : attr.value; - toret.attr('wlxml-' + attr.name, value) - } - toret.append(currentTag.contents()); - return toret; - }); - }); + transform(toBlock, 'div'); + transform(toInline, 'span'); + return toret.children(); }, getMetaData: function(xml) { -- 2.20.1