Fixing breaking node into two
[fnpeditor.git] / modules / documentCanvas / canvasManager.js
index 71c9342..da9b941 100644 (file)
@@ -159,6 +159,8 @@ Manager.prototype.selectFirstNode = function() {
 };\r
 \r
 Manager.prototype.movecaretToNode = function(nodeElement, where) {\r
+    if(!nodeElement.length)\r
+        return;\r
     var range = document.createRange();\r
     range.selectNodeContents(nodeElement[0]);\r
     \r
@@ -184,7 +186,7 @@ Manager.prototype.onEnterKey = function(e) {
 \r
     if(pos.isAtEnd) {\r
         newNode = canvasNode.create({tag: pos.parentNode.attr('wlxml-tag'), klass: pos.parentNode.attr('wlxml-class')});\r
-        this.canvas.nodeInsertAfter({node: newNode, after: canvas.getNodeById(pos.parentNode.attr('id'))});\r
+        this.canvas.nodeInsertAfter({node: newNode, after: this.canvas.getNodeById(pos.parentNode.attr('id'))});\r
     } else {\r
         newNode = this.canvas.nodeSplit({node: contextNode, textNodeIdx: pos.textNodeIndex, offset: pos.textNodeOffset});\r
     }\r
@@ -222,7 +224,7 @@ Manager.prototype.command = function(command, meta) {
         }\r
         else {\r
             if(!this.canvas.nodeInsideList({node: node})) {\r
-                this.canvas.listCreate({start: node, end: canvasNode.create(pos.focusNode)});\r
+                this.canvas.listCreate({start: node, end: canvasNode.create(pos.focusNode), type: meta});\r
                 this.selectNode(node, {movecaret: 'end'});\r
                 this.sandbox.publish('contentChanged');\r
             }\r