X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/63ee9d994b0718108e45386230d6045f00af27a6..04b969b68c922970339a783e865bb1f9c593946c:/src/editor/plugins/core/core.js diff --git a/src/editor/plugins/core/core.js b/src/editor/plugins/core/core.js index 18bf7c6..c2c5ffa 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}); } }, @@ -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); } }