X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/4f821bed58088f0c808e7cf912edb7a680def3ef..a287eed34e6c59d08ece25f89b05ad4bfc182835:/modules/visualEditor.transformations.js?ds=sidebyside diff --git a/modules/visualEditor.transformations.js b/modules/visualEditor.transformations.js index 0f89641..1e8c2e0 100644 --- a/modules/visualEditor.transformations.js +++ b/modules/visualEditor.transformations.js @@ -11,7 +11,6 @@ if(typeof module !== 'undefined' && module.exports) { var inner = $(xml).clone(); var toret = $('
'); toret.append(inner); - toret.find('metadata').remove(); var toBlock = ['div', 'document', 'section', 'header']; var toInline = ['aside', 'span']; @@ -24,8 +23,11 @@ if(typeof module !== 'undefined' && module.exports) { if(currentTag.attr('wlxml-tag')) return; var toret = $('
').attr('wlxml-tag', tagName); - if(currentTag.attr('class')) - toret.attr('wlxml-class', currentTag.attr('class').replace(/\./g, '-')); + 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; }); @@ -38,8 +40,11 @@ if(typeof module !== 'undefined' && module.exports) { if(currentTag.attr('wlxml-tag')) return; var toret = $('').attr('wlxml-tag', tagName); - if(currentTag.attr('class')) - toret.attr('wlxml-class', currentTag.attr('class').replace(/\./g, '-')); + 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; }); @@ -73,18 +78,30 @@ if(typeof module !== 'undefined' && module.exports) { var div = $(this); var tagName = div.attr('wlxml-tag'); var toret = $('<'+tagName+'>'); - if(div.attr('wlxml-class')) - toret.attr('class', div.attr('wlxml-class').replace(/-/g, '.')) + + 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 = $(''); + var meta = $('\n'); _.each(_.keys(documentDescription.metadata), function(key) { - meta.append($('' + documentDescription.metadata[key] + '')); + meta.append('\n\t' + documentDescription.metadata[key] + ''); }); + meta.append('\n'); - toret.find('document').prepend(meta); + toret.find('metadata').replaceWith(meta); return toret.html();