From 3800336fe528a2f0cd5b4f3c90ed17fdca0bc0c8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aleksander=20=C5=81ukasz?= Date: Tue, 18 Feb 2014 12:05:59 +0100 Subject: [PATCH] smartxml: Refactoring Document.transform This should make handling single transformation transactions more explicit. --- src/smartxml/smartxml.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/smartxml/smartxml.js b/src/smartxml/smartxml.js index ab4d6fb..5cadcd7 100644 --- a/src/smartxml/smartxml.js +++ b/src/smartxml/smartxml.js @@ -476,6 +476,12 @@ $.extend(Document.prototype, Backbone.Events, { transform: function(Transformation, args) { var toret, transformation; + if(!this._currentTransaction) { + return this.transaction(function() { + return this.transform(Transformation, args); + }, this); + } + if(typeof Transformation === 'function') { transformation = new Transformation(this, this, args); } else { @@ -491,11 +497,7 @@ $.extend(Document.prototype, Backbone.Events, { }, function() { if(this._transformationLevel === 1 && !this._undoInProgress) { - if(this._currentTransaction) { - this._currentTransaction.pushTransformation(transformation); - } else { - this.undoStack.push(new Transaction([transformation])); - } + this._currentTransaction.pushTransformation(transformation); } if(!this._undoInProgress && this._transformationLevel === 1) { this.redoStack = []; -- 2.20.1