From: Aleksander Ɓukasz 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('
Alice
'), @@ -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) {