klass: currentTag.attr('class'),
meta: meta,
others: others,
- rawChildren: currentTag.contents()
+ rawChildren: currentTag.contents(),
+ prepopulateOnEmpty: true
}, canvas);
['orig-before', 'orig-after', 'orig-begin', 'orig-end'].forEach(function(attr) {
hasSpanBefore = el.prev().length > 0 && getNode($(el.prev()[0])).attr('wlxml-tag') === 'span',
hasSpanAfter = el.next().length > 0 && getNode($(el.next()[0])).attr('wlxml-tag') === 'span';
- if(el.parent().hasClass('canvas-widget'))
+ if(el.parent().hasClass('canvas-widget') || elParent.attr('document-text-element') !== undefined)
return true; // continue
var addInfo = function(toAdd, where) {
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) {
cursorAtOperationEdge = position.offsetAtEnd;
}
- if(element.getText().length === 1 || selectsWholeTextElement()) {
+ var willDeleteWholeText = function() {
+ return element.getText().length === 1 || selectsWholeTextElement();
+ }
+
+ if(willDeleteWholeText()) {
e.preventDefault();
element.setText('');
}