some other minor changes from milpeer
[fnpeditor.git] / src / editor / plugins / core / core.js
index eda3c72..0221ed0 100644 (file)
@@ -120,6 +120,8 @@ plugin.documentExtension.textNode.transformations = {
                 parent.contents().some(function(n) {
                     return move(n, newNode);
                 });
+                // span can't be the last node
+                newNode.append({'text': ''});
                 if(newNodes.second.contents()[0].getText().length === 0) {
                     var textNode = newNodes.second.contents()[0];
                     newNodes.second.detach();
@@ -192,7 +194,7 @@ plugin.documentExtension.documentNode.transformations = {
                         node: ret,
                         offset: ret.getText().length - len
                     };
-                } else {
+                } else if(!toret) {
                     toret = {
                         node: ret.getFirstTextNode(),
                         offset: 0
@@ -521,6 +523,10 @@ var createWrapTextAction = function(createParams) {
                                 offsetEnd: params.fragment.endOffset,
                                 textNodeIdx: [params.fragment.startNode.getIndex(), params.fragment.endNode.getIndex()]
                             });
+                            if(wrapper.next() === null) {
+                                // span can't be the last node
+                                parent.append({text: ''});
+                            }
                                 
                             lastTextNode = wrapper.getLastTextNode();
                             if(lastTextNode) {