X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/c986f6ebfd3d20bdc75ce00ee09bd2c716e0cb16..f7c97ef38dc00ec9b5358ae0bf959a5e6f99271c:/modules/documentCanvas/canvasNode.js diff --git a/modules/documentCanvas/canvasNode.js b/modules/documentCanvas/canvasNode.js index 0bfd358..2b108a1 100644 --- a/modules/documentCanvas/canvasNode.js +++ b/modules/documentCanvas/canvasNode.js @@ -2,6 +2,9 @@ define(['libs/jquery-1.9.1.min'], function($) { 'use strict'; + +var tagSelector = '[wlxml-tag]'; + var CanvasNode = function(desc) { if(desc instanceof $) { this.dom = desc; @@ -42,9 +45,34 @@ CanvasNode.prototype.setContent = function(content) { } CanvasNode.prototype.isSame = function(other) { - return this.dom.get(0).isSameNode(other.dom.get(0)); + return (other instanceof CanvasNode) && this.dom.get(0).isSameNode(other.dom.get(0)); } +CanvasNode.prototype.children = function() { + var list = []; + this.dom.children(tagSelector).each(function() { + list.push(new CanvasNode($(this))); + }); + return $(list); +}; + + +CanvasNode.prototype.parent = function() { + var node = this.dom.parent(tagSelector); + if(node.length) + return new CanvasNode(node); + return null; +}; + +CanvasNode.prototype.parents = function() { + var list = []; + this.dom.parents(tagSelector).each(function() { + list.push(new CanvasNode($(this))); + }); + return $(list); +}; + + return { create: function(desc) { return new CanvasNode(desc);