Added code for creating widget-rows in the dataview

This commit is contained in:
Andreas Stöckel
2011-09-05 14:35:28 +00:00
parent 366bad914d
commit d037187234
11 changed files with 312 additions and 28 deletions

View File

@@ -151,7 +151,7 @@ var et2_DOMWidget = et2_widget.extend(et2_IDOMNode, {
}
// Append this node at its index
var idx = this._parent ? this._parent.getChildren().indexOf(this) : -1;
var idx = this.getDOMIndex();
if (idx < 0 || idx >= this.parentNode.childNodes.length - 1)
{
this.parentNode.appendChild(node);
@@ -210,6 +210,31 @@ var et2_DOMWidget = et2_widget.extend(et2_IDOMNode, {
return this.parentNode;
},
/**
* Returns the index of this element in the DOM tree
*/
getDOMIndex: function() {
if (this._parent)
{
var idx = 0;
var children = this._parent.getChildren();
for (var i = 0; i < children.length; i++)
{
if (children[i] == this)
{
return idx;
}
else if (children[i].isInTree())
{
idx++;
}
}
}
return -1;
},
/**
* Sets the id of the DOM-Node.
*/