X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/58ba604b1c414d5484d8165c38662050809655aa..e1acb388e008f83e89976e3779330d2a268f525e:/src/editor/modules/documentCanvas/commands.js diff --git a/src/editor/modules/documentCanvas/commands.js b/src/editor/modules/documentCanvas/commands.js index 55de02c..5f3583e 100644 --- a/src/editor/modules/documentCanvas/commands.js +++ b/src/editor/modules/documentCanvas/commands.js @@ -34,7 +34,7 @@ commands.register('redo', function(canvas) { }); commands.register('remove-node', function(canvas) { - canvas.getCurrentNodeElement().data('wlxmlNode').detach(); + canvas.getCurrentNodeElement().wlxmlNode.detach(); }); commands.register('unwrap-node', function(canvas) { @@ -45,14 +45,14 @@ commands.register('unwrap-node', function(canvas) { parent2 = selectionEnd.element.parent() || undefined; var selectionAnchor = cursor.getSelectionAnchor(), - node1 = parent1.data('wlxmlNode'), - node2 = parent2.data('wlxmlNode'), + node1 = parent1.wlxmlNode, + node2 = parent2.wlxmlNode, doc = node1.document; if(doc.areItemsOfSameList({node1: node1, node2: node2})) { doc.extractItems({item1: node1, item2: node2}); canvas.setCurrentElement(selectionAnchor.element, {caretTo: selectionAnchor.offset}); } else if(!cursor.isSelecting()) { - var nodeToUnwrap = cursor.getPosition().element.data('wlxmlNode'), + var nodeToUnwrap = cursor.getPosition().element.wlxmlNode, parentNode = nodeToUnwrap.unwrap(); if(parentNode) { canvas.setCurrentElement(utils.findCanvasElement(parentNode)); @@ -67,8 +67,8 @@ commands.register('wrap-node', function(canvas) { parent1 = selectionStart.element.parent() || undefined, parent2 = selectionEnd.element.parent() || undefined; - var node1 = parent1.data('wlxmlNode'), - node2 = parent2.data('wlxmlNode'), + var node1 = parent1.wlxmlNode, + node2 = parent2.wlxmlNode, doc = node1.document; if(doc.areItemsOfSameList({node1: node1, node2: node2})) { @@ -90,8 +90,8 @@ commands.register('list', function(canvas, params) { return; } - var node1 = parent1.data('wlxmlNode'), - node2 = parent2.data('wlxmlNode'), + var node1 = parent1.wlxmlNode, + node2 = parent2.wlxmlNode, doc = node1.document; doc.createList({node1: node1, node2: node2}); @@ -120,21 +120,21 @@ commands.register('newNodeRequested', function(canvas, params, user) { }; if(params.wlxmlTag === 'aside' && params.wlxmlClass === 'comment') { - doc.startTransaction(); - node = insertion(); - if(user) { - creator = user.name; - if(user.email) { - creator += ' (' + user.email + ')'; + doc.transaction(function() { + node = insertion(); + if(user) { + creator = user.name; + if(user.email) { + creator += ' (' + user.email + ')'; + } + } else { + creator = 'anonymous'; } - } else { - creator = 'anonymous'; - } - metadata = node.getMetadata(); - metadata.add({key: 'creator', value: creator}); - metadata.add({key: 'date', value: datetime.currentStrfmt()}); - doc.endTransaction(); + metadata = node.getMetadata(); + metadata.add({key: 'creator', value: creator}); + metadata.add({key: 'date', value: datetime.currentStrfmt()}); + }); execCallback(node); } else if(params.wlxmlClass === 'link') { dialog = Dialog.create({ @@ -146,18 +146,18 @@ commands.register('newNodeRequested', function(canvas, params, user) { ] }); dialog.on('execute', function(event) { - doc.startTransaction(); - node = insertion(); - node.setAttr('href', event.formData.href); - doc.endTransaction(); - event.success(); + doc.transaction(function() { + node = insertion(); + node.setAttr('href', event.formData.href); + event.success(); + }); execCallback(node); }); dialog.show(); } else { - doc.startTransaction(); - node = insertion(); - doc.endTransaction(); + doc.transaction(function() { + node = insertion(); + }); execCallback(node); } }; @@ -165,7 +165,7 @@ commands.register('newNodeRequested', function(canvas, params, user) { if(cursor.isSelecting()) { if(cursor.isSelectingSiblings()) { if(cursor.isSelectingWithinElement()) { - wlxmlNode = selectionStart.element.data('wlxmlNode'); + wlxmlNode = selectionStart.element.wlxmlNode; caretTo = selectionStart.offset < selectionEnd.offset ? 'start' : 'end'; insertNode( @@ -179,7 +179,7 @@ commands.register('newNodeRequested', function(canvas, params, user) { ); } else { - wlxmlNode = selectionStart.element.data('wlxmlNode').parent(); + wlxmlNode = selectionStart.element.wlxmlNode.parent(); caretTo = selectionStart.element.sameNode(cursor.getSelectionAnchor().element) ? 'end' : 'start'; insertNode( @@ -188,7 +188,7 @@ commands.register('newNodeRequested', function(canvas, params, user) { _with: {tagName: params.wlxmlTag, attrs: {'class': params.wlxmlClass}}, offsetStart: selectionStart.offset, offsetEnd: selectionEnd.offset, - textNodeIdx: [wlxmlNode.indexOf(selectionStart.element.data('wlxmlNode')), wlxmlNode.indexOf(selectionEnd.element.data('wlxmlNode'))] //parent.childIndex(selectionEnd.element)] + textNodeIdx: [wlxmlNode.indexOf(selectionStart.element.wlxmlNode), wlxmlNode.indexOf(selectionEnd.element.wlxmlNode)] //parent.childIndex(selectionEnd.element)] }); }, function(wrapper) { @@ -198,8 +198,8 @@ commands.register('newNodeRequested', function(canvas, params, user) { ); } } else { - var node1 = selectionStart.element.data('wlxmlNode'), - node2 = selectionEnd.element.data('wlxmlNode'), + var node1 = selectionStart.element.wlxmlNode, + node2 = selectionEnd.element.wlxmlNode, siblingParents = canvas.wlxmlDocument.getSiblingParents({node1: node1, node2: node2}); if(siblingParents) { @@ -215,7 +215,7 @@ commands.register('newNodeRequested', function(canvas, params, user) { } } } else if(canvas.getCurrentNodeElement()) { - wlxmlNode = canvas.getCurrentNodeElement().data('wlxmlNode'); + wlxmlNode = canvas.getCurrentNodeElement().wlxmlNode; var linkFound = [wlxmlNode].concat(wlxmlNode.parents()).some(function(node) { if(node.getClass() === 'link') { @@ -228,9 +228,10 @@ commands.register('newNodeRequested', function(canvas, params, user) { ] }); dialog.on('execute', function(event) { - canvas.wlxmlDocument.startTransaction(); - node.setAttr('href', event.formData.href); - event.success(); + canvas.wlxmlDocument.transaction(function() { + node.setAttr('href', event.formData.href); + event.success(); + }); canvas.wlxmlDocument.endTransaction(); }); dialog.show(); @@ -272,9 +273,9 @@ commands.register('footnote', function(canvas, params) { if(cursor.isSelectingWithinElement()) { - asideNode = position.element.data('wlxmlNode').wrapWith({tagName: 'aside', attrs:{'class': 'footnote'}, start: cursor.getSelectionStart().offset, end: cursor.getSelectionEnd().offset}); + asideNode = position.element.wlxmlNode.wrapWith({tagName: 'aside', attrs:{'class': 'footnote'}, start: cursor.getSelectionStart().offset, end: cursor.getSelectionEnd().offset}); } else { - node = position.element.data('wlxmlNode'); + node = position.element.wlxmlNode; node.document.transaction(function() { asideNode = node.divideWithElementNode({tagName: 'aside', attrs:{'class': 'footnote'}}, {offset: position.offset}); asideNode.append({text: ''}); @@ -295,7 +296,7 @@ commands.register('take-away-node', function(canvas) { return; } - var range = nodeElement.data('wlxmlNode').unwrapContent(); + var range = nodeElement.wlxmlNode.unwrapContent(); if(element) { var elementIsFirstChild = nodeElement.childIndex(element);