From: Aleksander Ɓukasz Date: Mon, 8 Jul 2013 10:30:34 +0000 (+0200) Subject: DocumentElement.childIndex X-Git-Url: https://git.mdrn.pl/fnpeditor.git/commitdiff_plain/86ecf0f60182c63eecb45c7cc836fe5a050d8d8a DocumentElement.childIndex --- diff --git a/modules/documentCanvas/canvas/canvas.test3.js b/modules/documentCanvas/canvas/canvas.test3.js index 778c4bf..a92ddb3 100644 --- a/modules/documentCanvas/canvas/canvas.test3.js +++ b/modules/documentCanvas/canvas/canvas.test3.js @@ -20,6 +20,15 @@ describe('Canvas', function() { var c = canvas.fromXML('
'); expect(c.doc().wlxmlTag).to.equal('section'); }); + + describe('DocumentElement', function() { + it('knows index of its child', function() { + var c = canvas.fromXML('
'), + root = c.doc(), + child = root.children()[1]; + expect(root.childIndex(child)).to.equal(1); + }); + }); }); describe('document representation api', function() { diff --git a/modules/documentCanvas/canvas/documentElement.js b/modules/documentCanvas/canvas/documentElement.js index 5e3983e..d1973b8 100644 --- a/modules/documentCanvas/canvas/documentElement.js +++ b/modules/documentCanvas/canvas/documentElement.js @@ -43,6 +43,18 @@ $.extend(DocumentElement.prototype, { wrapWithNodeElement: function(wlxmlNode) { this.$element.wrap($('<' + wlxmlNode.tag + ' class="' + wlxmlNode.klass + '"">')[0]); return documentElementFromHTMLElement(this.$element.parent().get(0)); + }, + + childIndex: function(child) { + var children = this.children(), + toret = null; + children.forEach(function(c, idx) { + if(c.sameNode(child)) { + toret = idx; + return false; + } + }); + return toret; } });