From: Aleksander Ɓukasz Date: Tue, 22 Apr 2014 13:28:21 +0000 (+0200) Subject: editor: Missing transactions metadata in canvas keyboard handler X-Git-Url: https://git.mdrn.pl/fnpeditor.git/commitdiff_plain/81054e4b1ef66686a9d77c22ae709890a8096dad?ds=inline editor: Missing transactions metadata in canvas keyboard handler --- diff --git a/src/editor/modules/documentCanvas/canvas/keyboard.js b/src/editor/modules/documentCanvas/canvas/keyboard.js index 9be3dae..fc8be1e 100644 --- a/src/editor/modules/documentCanvas/canvas/keyboard.js +++ b/src/editor/modules/documentCanvas/canvas/keyboard.js @@ -44,20 +44,27 @@ handlers.push({key: KEYS.ENTER, 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; } @@ -68,13 +75,20 @@ handlers.push({key: KEYS.ENTER, 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 { @@ -105,7 +119,11 @@ handlers.push({key: KEYS.ENTER, 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; @@ -284,6 +302,10 @@ handlers.push({keys: [KEYS.BACKSPACE, KEYS.DELETE], } event.preventDefault(); } + }, { + metadata: { + description: gettext('Remove text') + } }); } });