Fixing left/right arrow support in empty text element
[fnpeditor.git] / modules / documentCanvas / canvas / canvas.js
index a65375e..8ba871b 100644 (file)
@@ -188,8 +188,8 @@ $.extend(Canvas.prototype, {
                                 direction = 'below';
                                 caretTo = 'start';
                             }
-                            var el = canvas.getDocumentElement(utils.nearestInDocumentOrder('[document-text-element]', direction, window.getSelection().focusNode))
-                            canvas.setCurrentElement(element, {caretTo: caretTo});
+                            var el = canvas.getDocumentElement(utils.nearestInDocumentOrder('[document-text-element]', direction, element.dom()[0]));
+                            canvas.setCurrentElement(el, {caretTo: caretTo});
                         } else {
                             var txt = element.dom().contents()[0].data;
                             if(e.which === KEYS.ARROW_LEFT && position.offset > 1 && txt.charAt(position.offset-2) === utils.unicode.ZWS) {
@@ -227,7 +227,11 @@ $.extend(Canvas.prototype, {
                         cursorAtOperationEdge = position.offsetAtEnd;
                     }
 
-                    if(element.getText().length === 1 || selectsWholeTextElement()) {
+                    var willDeleteWholeText = function() {
+                        return element.getText().length === 1 || selectsWholeTextElement();
+                    }
+
+                    if(willDeleteWholeText()) {
                         e.preventDefault();
                         element.setText('');
                     }