X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/86b856fc4fd3a7834c5780b2e5e5700f93a4b0b9..2bb3ace4395ece36636f8b6b8a46b974a17d4a6f:/src/smartxml/core.js?ds=sidebyside diff --git a/src/smartxml/core.js b/src/smartxml/core.js index 10d058f..4d3c2c1 100644 --- a/src/smartxml/core.js +++ b/src/smartxml/core.js @@ -99,6 +99,8 @@ var elementNodeTransformations = { if(this.sameNode(this.document.root)) { this.document._defineDocumentProperties(node._$); } + + /* TODO: This invalidates old references to this node. Caching instances on nodes would fix this. */ this._$.replaceWith(node._$); this._setNativeNode(node._$[0]); this._$.append(myContents); @@ -186,9 +188,15 @@ var elementNodeTransformations = { }; var textNodeTransformations = { - setText: function(text) { - this.nativeNode.data = text; - this.triggerTextChangeEvent(); + setText: { + impl: function(t, text) { + t.oldText = this.getText(); + this.nativeNode.data = text; + this.triggerTextChangeEvent(); + }, + undo: function(t) { + this.setText(t.oldText); + } }, appendText: function(text) {