X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/63ee9d994b0718108e45386230d6045f00af27a6..80171129ff588251385ba80b64a8d2fd203176de:/src/editor/plugins/core/core.js?ds=inline diff --git a/src/editor/plugins/core/core.js b/src/editor/plugins/core/core.js index 18bf7c6..eda3c72 100644 --- a/src/editor/plugins/core/core.js +++ b/src/editor/plugins/core/core.js @@ -121,12 +121,19 @@ plugin.documentExtension.textNode.transformations = { return move(n, newNode); }); if(newNodes.second.contents()[0].getText().length === 0) { + var textNode = newNodes.second.contents()[0]; newNodes.second.detach(); newNodes.second = parent; - emptyText = newNodes.second.append({text: '\u200b'}); // why? why is ZWS needed here? + emptyText = newNodes.second.append(textNode); } } + var newNodeText = newNodes.second.contents()[0].getText(); + if(newNodes.second.is({tagName: 'header'}) && newNodeText === '') { + newNodes.second = newNodes.second.setTag('div'); + newNodes.second.setClass('p'); + } + return _.extend(newNodes, {emptyText: emptyText}); } }, @@ -185,7 +192,7 @@ plugin.documentExtension.documentNode.transformations = { node: ret, offset: ret.getText().length - len }; - } else if(!toret) { + } else { toret = { node: ret.getFirstTextNode(), offset: 0 @@ -227,10 +234,12 @@ plugin.documentExtension.documentNode.transformations = { return toMerge.is({tagName: 'div', 'klass': 'p'}) || (toMerge.is({tagName: 'div'}) && toMerge.getClass() === ''); }, run: function() { - if(prev && (prev.is('p') || prev.is({tagName: 'header'}))) { + if (!prev) + return; + if(prev.is('p') || prev.is({tagName: 'header'})) { return merge(toMerge, prev); } - if(prev && prev.is('list')) { + if(prev.is('list')) { var items = prev.contents().filter(function(n) { return n.is('item');}); return merge(toMerge, items[items.length-1]); } @@ -287,7 +296,7 @@ plugin.documentExtension.documentNode.transformations = { return toMerge.is({tagName: 'header'}); }, run: function() { - if(prev && prev.is('p') || prev.is({tagName: 'header'})) { + if(prev && (prev.is('p') || prev.is({tagName: 'header'}))) { return merge(toMerge, prev); } }