X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/b7d40f4f02e71505150c8b33ad3ad7d7acde0ae2..72f859c70150e9268ee7fd1829917ce0823750f6:/modules/documentCanvas/transformations.js diff --git a/modules/documentCanvas/transformations.js b/modules/documentCanvas/transformations.js index de72efd..2b5a5eb 100644 --- a/modules/documentCanvas/transformations.js +++ b/modules/documentCanvas/transformations.js @@ -1,5 +1,7 @@ define(['libs/jquery-1.9.1.min'], function($) { + 'use strict'; + var transformations = {}; transformations.fromXML = { @@ -35,6 +37,20 @@ define(['libs/jquery-1.9.1.min'], function($) { transform(toBlock, 'div'); transform(toInline, 'span'); + toret.find(":not(iframe)").addBack().contents().filter(function() { + return this.nodeType == 3} ).each(function() { + var n = $(this); + var hasText = /\S/g.test(n.text()); + if(!hasText) { + n.remove(); + return; + } + var startSpace = /\s/g.test(n.text().substr(0,1)); + var endSpace = /\s/g.test(n.text().substr(-1)) && n.text().length > 1; + var trimmed = $.trim(n.text()); + n.get(0).data = (startSpace ? ' ' : '') + trimmed + (endSpace ? ' ' : ''); + }); + return toret.children(); }, getMetaData: function(xml) { @@ -56,7 +72,7 @@ define(['libs/jquery-1.9.1.min'], function($) { transformations.toXML = { getXML: function(body) { - var inner = $(body); + var inner = body.clone(); var toret = $('
'); toret.append(inner); @@ -74,7 +90,8 @@ define(['libs/jquery-1.9.1.min'], function($) { var wlxmlName = split.splice(1).join('-'); var value = wlxmlName === 'class' ? attr.value.replace(/-/g, '.') : attr.value; console.log(name + ': ' + value); - toret.attr(wlxmlName, value); + if(value.length && value.length > 0) + toret.attr(wlxmlName, value); } toret.append(div.contents());