collects valid child items and populate the map set up the real parent node
this.parent = this.node; if(this.parent.tagName.toLowerCase() == "table"){ var c = this.parent.getElementsByTagName("tbody"); if(c && c.length){ this.parent = c[0]; } } // process specially marked children this.getAllNodes().forEach(function(node){ if(!node.id){ node.id = dojo.dnd.getUniqueId(); } var type = node.getAttribute("dndType"), data = node.getAttribute("dndData"); this.setItem(node.id, { data: data ? data : node.innerHTML, type: type ? type.split(/\s*,\s*/) : ["text"] }); }, this);