revert stupid change
[fnpeditor.git] / src / editor / plugins / core / core.js
index 18bf7c6..c2c5ffa 100644 (file)
@@ -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);
                     }
                 }