if(direction === 'above') {
if(start.offsetAtBeginning) {
- goto = start.element.getNearestTextElement('above');
+ goto = canvas.getNearestTextElement('above', start.element);
caretTo = 'end';
} else {
goto = start.element;
}
} else {
if(end.offsetAtEnd) {
- goto = start.element.getNearestTextElement('below');
+ goto = canvas.getNearestTextElement('below', start.element);
caretTo = 'start';
} else {
goto = end.element;
if(grandParent && grandParent.children().length === 1) {
goto = grandParent.wlxmlNode.append({text: ''});
} else {
- goto = element.getNearestTextElement(direction);
+ goto = canvas.getNearestTextElement(direction, element);
}
parent.wlxmlNode.detach();
} else {
- goto = element.getNearestTextElement(direction);
+ goto = canvas.getNearestTextElement(direction, element);
element.wlxmlNode.detach();
}
canvas.setCurrentElement(goto, {caretTo: caretTo});
}
else if(cursorAtOperationEdge) {
if(direction === 'below') {
- element = element.getNearestTextElement(direction);
+ element = canvas.getNearestTextElement(direction, element);
}
if(element) {
goto = element.wlxmlNode.mergeContentUp();
- canvas.setCurrentElement(goto.node, {caretTo: goto.offset});
+ if(goto) {
+ canvas.setCurrentElement(goto.node, {caretTo: goto.offset});
+ }
}
event.preventDefault();
}