var elements = position.element.split({offset: position.offset}),
newEmpty,
- goto;
+ goto,
+ gotoOptions;
if(position.offsetAtBeginning)
newEmpty = elements.first;
else if(position.offsetAtEnd)
newEmpty = elements.second;
+
if(newEmpty) {
goto = newEmpty.append(documentElement.DocumentTextElement.create({text: ''}, this));
- canvas.setCurrentElement(goto);
+ gotoOptions = {};
+ } else {
+ goto = elements.second;
+ gotoOptions = {caretTo: 'start'};
}
+
+ canvas.setCurrentElement(goto, gotoOptions);
}
}
}
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
- if(documentElement.DocumentTextElement.isContentContainer(mutation.target) && mutation.target.data === '')
- mutation.target.data = utils.unicode.ZWS;
+ if(documentElement.DocumentTextElement.isContentContainer(mutation.target)) {
+ if(mutation.target.data === '')
+ mutation.target.data = utils.unicode.ZWS;
+ canvas.publisher('contentChanged');
+ }
});
});
var config = { attributes: false, childList: false, characterData: true, subtree: true, characterDataOldValue: true};