X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/ab5fdbdbf582607e4d3072b03c6aaff383653674..0fc9c9339c521db96bdd3043e64d8610d51a0e13:/modules/visualEditor.transformations.js diff --git a/modules/visualEditor.transformations.js b/modules/visualEditor.transformations.js deleted file mode 100644 index 1fef83a..0000000 --- a/modules/visualEditor.transformations.js +++ /dev/null @@ -1,108 +0,0 @@ -define(['libs/jquery-1.9.1.min'], function($) { - - var transformations = {}; - - transformations.fromXML = { - getHTMLTree: function(xml) { - var inner = $(xml).clone(); - var toret = $('
'); - toret.append(inner); - - var toBlock = ['div', 'section', 'header']; - var toInline = ['aside', 'span']; - - 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); - toret.attr('id', 'xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {var r = Math.random()*16|0,v=c=='x'?r:r&0x3|0x8;return v.toString(16);})); - 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) { - var toret = {}; - $(xml).find('metadata').children().each(function() { - var node = $(this); - toret[this.nodeName.split(':')[1].toLowerCase()] = node.text(); - }) - return toret; - }, - getDocumentDescription: function(xml) { - return { - HTMLTree: this.getHTMLTree(xml), - metadata: this.getMetaData(xml) - } - } - } - - transformations.toXML = { - getXML: function(documentDescription) { - - var inner = $(documentDescription.HTMLTree); - var toret = $(''); - toret.append(inner); - - toret.find('div, span').replaceWith(function() { - var div = $(this); - var tagName = div.attr('wlxml-tag'); - var toret = $('<'+tagName+'>'); - - for(var i = 0; i < this.attributes.length; i++) { - var attr = this.attributes.item(i); - var split = attr.name.split('-') - console.log(split); - if(split[0] !== 'wlxml' || (split.length > 1 && split[1] === 'tag')) - continue; - var wlxmlName = split.splice(1).join('-'); - var value = wlxmlName === 'class' ? attr.value.replace(/-/g, '.') : attr.value; - console.log(name + ': ' + value); - toret.attr(wlxmlName, value); - } - - toret.append(div.contents()); - return toret; - }); - - var meta = $('