From: Aleksander Ɓukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Date: Wed, 10 Jul 2013 14:27:10 +0000 (+0200)
Subject: fixing wrapping DocumentElements
X-Git-Url: https://git.mdrn.pl/fnpeditor.git/commitdiff_plain/aa19ea0b08ad083be37ebc43aa9ba3f2bf63a043?ds=sidebyside

fixing wrapping DocumentElements
---

diff --git a/modules/documentCanvas/canvas/canvas.test3.js b/modules/documentCanvas/canvas/canvas.test3.js
index 6f28439..32e6190 100644
--- a/modules/documentCanvas/canvas/canvas.test3.js
+++ b/modules/documentCanvas/canvas/canvas.test3.js
@@ -358,6 +358,8 @@ describe('Canvas', function() {
 
                     expect(returned.sameNode(parent)).to.be.true;
                     expect(returned.sameNode(parent2)).to.be.true;
+                    expect(returned.getWlxmlTag()).to.equal('header');
+                    expect(returned.getWlxmlClass()).to.equal('some.class');
                 });
                 it('wraps DocumentTextElement', function() {
                     var c = canvas.fromXML('<section>Alice</section>'),
@@ -369,6 +371,8 @@ describe('Canvas', function() {
 
                     expect(returned.sameNode(parent)).to.be.true;
                     expect(returned.sameNode(parent2)).to.be.true;
+                    expect(returned.getWlxmlTag()).to.equal('header');
+                    expect(returned.getWlxmlClass()).to.equal('some.class');
                 });
                 
                 it('wraps part of DocumentTextElement', function() {
@@ -384,6 +388,8 @@ describe('Canvas', function() {
                     expect(children[0].getText()).to.equal('Alice');
 
                     expect(children[1].sameNode(returned)).to.be.true;
+                    expect(returned.getWlxmlTag()).to.equal('header');
+                    expect(returned.getWlxmlClass()).to.equal('some.class');
                     expect(children[1].children().length).to.equal(1);
                     expect(children[1].children()[0].getText()).to.equal(' has a ');
 
diff --git a/modules/documentCanvas/canvas/documentElement.js b/modules/documentCanvas/canvas/documentElement.js
index 88287b8..f2ef09c 100644
--- a/modules/documentCanvas/canvas/documentElement.js
+++ b/modules/documentCanvas/canvas/documentElement.js
@@ -49,8 +49,10 @@ $.extend(DocumentElement.prototype, {
     },
 
     wrapWithNodeElement: function(wlxmlNode) {
-        this.$element.wrap($('<' + wlxmlNode.tag + ' class="' + wlxmlNode.klass.replace('.', '-') + '">')[0]);
-        return documentElementFromHTMLElement(this.$element.parent().get(0), this.canvas);
+        var wrapper = DocumentNodeElement.create({tag: wlxmlNode.tag, klass: wlxmlNode.klass});
+        this.$element.replaceWith(wrapper.dom());
+        wrapper.append(this);
+        return wrapper;
     },
 
     childIndex: function(child) {