);
},
run: function(e,s) {
- var direction, caretTo, cursorAtOperationEdge, goto, element;
+ var goto, element;
if(e.key === KEYS.BACKSPACE) {
- direction = 'above';
- caretTo = 'end';
- cursorAtOperationEdge = s.isAtBeginning(); // always true?
element = s.element;
}
else {
- direction = 'below';
- caretTo = 'start';
- cursorAtOperationEdge = s.isAtEnd(); // always true?
- element = cursorAtOperationEdge && s.canvas.getNearestTextElement(direction, s.element);
+ element = s.canvas.getNearestTextElement('below', s.element);
}
- if(!cursorAtOperationEdge || !element) {
+ if(!element) {
return;
}
applies: function(e, s) {
var parent = s.element && s.element.wlxmlNode.parent(),
parentIsItem = parent && parent.is('item'),
- itemIsOnList = parent && parent.parent() && parent.parent().is('list');
- return s.type === 'caret' && e.key === KEYS.ENTER && s.element.isEmpty() && parentIsItem && itemIsOnList;
+ itemIsOnList = parent && parent.parent() && parent.parent().is('list'),
+ onlyChild = parent.contents().length === 1;
+ return s.type === 'caret' && e.key === KEYS.ENTER && s.element.isEmpty() && onlyChild &&
+ parentIsItem && itemIsOnList;
},
run: function(e, s) {
var item = s.element.wlxmlNode.parent(),