From: Aleksander Ɓukasz Date: Thu, 16 Jan 2014 14:37:43 +0000 (+0100) Subject: smartxml: data cloning handler gets reference to the cloned node X-Git-Url: https://git.mdrn.pl/fnpeditor.git/commitdiff_plain/e298a4a95de93951eee23d33ba7e8d1387a90a5b?ds=sidebyside smartxml: data cloning handler gets reference to the cloned node --- diff --git a/src/smartxml/smartxml.js b/src/smartxml/smartxml.js index e525c14..d168e6d 100644 --- a/src/smartxml/smartxml.js +++ b/src/smartxml/smartxml.js @@ -33,14 +33,17 @@ $.extend(DocumentNode.prototype, { }, clone: function() { - var clone = this._$.clone(true, true); + var clone = this._$.clone(true, true), + node = this; clone.find('*').addBack().each(function() { - var clonedData = $(this).data(); + var el = this, + clonedData = $(this).data(); + _.pairs(clonedData).forEach(function(pair) { var key = pair[0], value = pair[1]; if(_.isFunction(value.clone)) { - clonedData[key] = value.clone(); + clonedData[key] = value.clone(node.document.createDocumentNode(el)); } }); });