event.preventDefault();
var cursor = canvas.getCursor(),
position = cursor.getPosition(),
- element = position.element,
- added;
+ element = position.element;
if(Object.keys(cursor.getPosition()).length === 0) {
var currentElement = canvas.getCurrentNodeElement();
if(currentElement) {
- canvas.wlxmlDocument.startTransaction(gettext('Splitting text'));
- added = currentElement.wlxmlNode.after({
- tagName: currentElement.getWlxmlTag() || 'div',
- attrs: {'class': currentElement.getWlxmlClass() || 'p'}
+ canvas.wlxmlDocument.transaction(function() {
+ var added = currentElement.wlxmlNode.after({
+ tagName: currentElement.getWlxmlTag() || 'div',
+ attrs: {'class': currentElement.getWlxmlClass() || 'p'}
+ });
+ added.append({text:''});
+ return added;
+ }, {
+ metadata: {
+ description: gettext('Splitting text')
+ },
+ success: function(ret) {
+ canvas.setCurrentElement(utils.findCanvasElement(ret), {caretTo: 'start'});
+ }
});
- added.append({text:''});
- canvas.wlxmlDocument.endTransaction();
- canvas.setCurrentElement(utils.findCanvasElement(added), {caretTo: 'start'});
+
}
return;
}
element = element.parent();
}
- canvas.wlxmlDocument.startTransaction(gettext('Splitting text'));
- added = element.wlxmlNode.after(
- {tagName: element.getWlxmlTag() || 'div', attrs: {'class': element.getWlxmlClass() || 'p'}}
- );
- added.append({text: ''});
- canvas.wlxmlDocument.endTransaction();
- canvas.setCurrentElement(utils.findCanvasElement(added), {caretTo: 'start'});
+ canvas.wlxmlDocument.transaction(function() {
+ var added = element.wlxmlNode.after(
+ {tagName: element.getWlxmlTag() || 'div', attrs: {'class': element.getWlxmlClass() || 'p'}}
+ );
+ added.append({text: ''});
+ return added;
+ }, {
+ metadata: {
+ description: gettext('Splitting text')
+ },
+ success: function(ret) {
+ canvas.setCurrentElement(utils.findCanvasElement(ret), {caretTo: 'start'});
+ }
+ });
} else {
node.document.transaction(function() {
result = position.element.wlxmlNode.breakContent({offset: position.offset});
- }, this, gettext('Splitting text'));
+ }, {
+ metadata: {
+ description: gettext('Splitting text')
+ }
+ });
if(result.emptyText) {
goto = result.emptyText;
}
if(element) {
goto = element.wlxmlNode.mergeContentUp();
- canvas.setCurrentElement(goto.node, {caretTo: goto.offset});
+ if(goto) {
+ canvas.setCurrentElement(goto.node, {caretTo: goto.offset});
+ }
}
event.preventDefault();
}
+ }, {
+ metadata: {
+ description: gettext('Remove text')
+ }
});
}
});