}
};
+commands.register('undo', function(canvas) {
+ var doc = canvas.wlxmlDocument;
+
+ doc.undo();
+});
+
+commands.register('redo', function(canvas) {
+ var doc = canvas.wlxmlDocument;
+
+ doc.redo();
+});
+
+commands.register('remove-node', function(canvas) {
+ var cursor = canvas.getCursor(),
+ selectionStart = cursor.getSelectionStart(),
+ selectionEnd = cursor.getSelectionEnd(),
+ parent1 = selectionStart.element.parent() || undefined,
+ parent2 = selectionEnd.element.parent() || undefined;
+
+ canvas.wlxmlDocument.transform('detach2', {node:canvas.getCurrentNodeElement().data('wlxmlNode')});
+});
+
commands.register('unwrap-node', function(canvas) {
var cursor = canvas.getCursor(),
selectionStart = cursor.getSelectionStart(),
} else if(!cursor.isSelecting()) {
var nodeToUnwrap = cursor.getPosition().element.data('wlxmlNode'),
parentNode = nodeToUnwrap.unwrap();
- canvas.setCurrentElement(utils.findCanvasElement(parentNode));
+ if(parentNode) {
+ canvas.setCurrentElement(utils.findCanvasElement(parentNode));
+ }
}
});
return;
- var range = nodeElement.unwrapContents();
+ var range = nodeElement.data('wlxmlNode').unwrapContent();
if(element) {
var elementIsFirstChild = nodeElement.childIndex(element);
canvas.setCurrentElement(element, {caretTo: position.offset});
} else {
if(elementIsFirstChild) {
- canvas.setCurrentElement(range.element1, {caretTo: 'end'});
+ canvas.setCurrentElement(findCanvasElement(range.element1), {caretTo: 'end'});
} else {
- canvas.setCurrentElement(range.element2, {caretTo: 'end'});
+ canvas.setCurrentElement(findCanvasElement(range.element2), {caretTo: 'end'});
}
}
} else {
- canvas.setCurrentElement(range.element1, {caretTo: 'start'});
+ canvas.setCurrentElement(findCanvasElement(range.element1), {caretTo: 'start'});
}
});