var objImg = $(itemIndex +'_div').getElementsByTagName("img"); this.TransNodeImg(objImg[objImg.length-1]); if (objImg[objImg.length-2]) this.TransNodeImg(objImg[objImg.length-2]); },
ExpandParent:function(itemIndex) { var parent = ''; var indexArray = itemIndex.split('_').slice(0, -1);
indexArray.each(function(itemIndex) { var element = $(parent + itemIndex +'_box'); if (!element) { Tree.InsertNode(parent + itemIndex); element = $(parent + itemIndex +'_box'); } if (!element.visible()) Tree.nodeExpand(parent + itemIndex);
parent += itemIndex +'_'; }); },
ExpandAll: function(treeDiv, boolExpand) { var objDiv = $(treeDiv).getElementsByTagName("div");
$A(objDiv).each(function(div, index) { if (/_box$/.test(div.id)) { var change = boolExpand != $(div).visible();
if (change) { var objImg = objDiv[index -1].getElementsByTagName("img"); this.TransNodeImg(objImg[objImg.length-1]); if (objImg[objImg.length-2]) this.TransNodeImg(objImg[objImg.length-2]); $(div).toggle(); } } }.bind(this)); },
CheckCheckbox: function(itemIndex) { var boolen = $(itemIndex +'_checkbox').checked; var objTreeNode = $(itemIndex +'_box');
if (objTreeNode) { var nodeCheckBox = objTreeNode.getElementsByTagName("input"); $A(nodeCheckBox).each(function(checkbox) { checkbox.checked = boolen; }); }
if (boolen) { var parent = ''; var indexArray = itemIndex.split('_').slice(0, -1);
Create: function(source, itemIndex, nodePlace) { var itemIndexs = this.getItemIndexs(itemIndex); var htmls = '';
source.each(function(treeNode, index) { var itemIndex = this.getItemIndex(itemIndexs, index); var isClosed = treeNode.isOpened != undefined ? !treeNode.isOpened : (this.openRan <= nodePlace.length); if (isClosed) if (this.openIndexs.indexOf(','+ itemIndex) > -1) isClosed = false; var isTreeNode = treeNode.TreeNode ? true : false; var isLast = index == source.length - 1;
var html = ''; html += ' <div class="TreeNode" id="'+ itemIndex +'_div">'; html += this.buildLine(nodePlace); html += this.naviImg(isClosed, isTreeNode, isLast, itemIndex); html += this.buildTitle(treeNode, itemIndex, isTreeNode); html += ' </div>'; htmls += html;
if (!isClosed) { if (isTreeNode) { var html_ = ''; var displayed = isClosed ? 'style="display:none"' : ''; html_ += ' <div id="'+ itemIndex +'_box" '+ displayed +'>'; html_ += this.Create(treeNode.TreeNode, itemIndex, nodePlace.concat(isLast)); html_ += ' </div>';
naviImg: function(isClosed, isTreeNode, isLast, itemIndex) { var html = '';
if (isTreeNode) { if (isClosed) { if (isLast) html += this.CreatNodeImg(this.Image.TI_LPLUS, itemIndex); else html += this.CreatNodeImg(this.Image.TI_TPLUS, itemIndex);
if (this.fileImg) html += this.buildImg(this.Image.TI_CLOSE); } else { if (isLast) html += this.CreatNodeImg(this.Image.TI_LMINUS, itemIndex); else html += this.CreatNodeImg(this.Image.TI_TMINUS, itemIndex);
if (this.fileImg) html += this.buildImg(this.Image.TI_OPEN); } } else { if (isLast) html += this.buildImg(this.Image.TI_L); else html += this.buildImg(this.Image.TI_T);
if (this.fileImg) html += this.buildImg(this.Image.NI_DEFAULT); }