⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dhtmlxtree.js

📁 用js做的树 用js做的树 用js做的树
💻 JS
📖 第 1 页 / 共 5 页
字号:
{
 var img0=document.createElement((itemObject.id==this.rootId)?"div":"img");
 img0.border="0"; if(itemObject.id!=this.rootId)img0.align="absmiddle";
 td1.appendChild(img0);img0.style.padding=0;img0.style.margin=0;
}

 var td11=document.createElement('td');
  var inp=document.createElement(((this.cBROf)||(itemObject.id==this.rootId))?"div":"img");
 inp.checked=0;inp.src=this.imPath+this.checkArray[0];inp.style.width="16px";inp.style.height="16px";
  if(!acheck)(((_isOpera)||(_isKHTML))?td11:inp).style.display="none";

   td11.appendChild(inp);
 if((!this.cBROf)&&(itemObject.id!=this.rootId))inp.align="absmiddle";
 inp.onclick=this.onCheckBoxClick;
 inp.treeNod=this;
 inp.parentObject=itemObject;
 td11.width="20px";

 var td12=document.createElement('td');
 td12.className="standartTreeImage";
 var img=document.createElement((itemObject.id==this.rootId)?"div":"img");img.onmousedown=this._preventNsDrag;img.ondragstart=this._preventNsDrag;
 img.border="0";
 if(this._aimgs){
 img.parentObject=itemObject;
 if(itemObject.id!=this.rootId)img.align="absmiddle";
 img.onclick=this.onRowSelect;}
 if(!mode)img.src=this.imPath+this.imageArray[0];
 td12.appendChild(img);img.style.padding=0;img.style.margin=0;
 if(this.timgen)
{img.style.width=this.def_img_x;img.style.height=this.def_img_y;}
 else
{
 img.style.width="0px";img.style.height="0px";
 if(_isOpera)td12.style.display="none";
}


 var td2=document.createElement('td');
 td2.className="standartTreeRow";

 itemObject.span=document.createElement('span');
 itemObject.span.className="standartTreeRow";
 if(this.mlitems){
 itemObject.span.style.width=this.mlitems;
  itemObject.span.style.display="block";
}
 else td2.noWrap=true;
 if(!_isKHTML)td2.style.width="100%";

  itemObject.span.innerHTML=itemObject.label;
 td2.appendChild(itemObject.span);
 td2.parentObject=itemObject;td1.parentObject=itemObject;
 td2.onclick=this.onRowSelect;td1.onclick=this.onRowClick;td2.ondblclick=this.onRowClick2;
 if(this.ettip)

 td2.title=itemObject.label;

 if(this.dragAndDropOff){
 if(this._aimgs){this.dragger.addDraggableItem(td12,this);td12.parentObject=itemObject;}
 this.dragger.addDraggableItem(td2,this);
}

 itemObject.span.style.paddingLeft="5px";itemObject.span.style.paddingRight="5px";td2.style.verticalAlign="";
 td2.style.fontSize="10pt";td2.style.cursor=this.style_pointer;
 tr.appendChild(td1);tr.appendChild(td11);tr.appendChild(td12);
 tr.appendChild(td2);
 tbody.appendChild(tr);
 table.appendChild(tbody);
 if(this.ehlt){ tr.onmousemove=this._itemMouseIn;
 tr[(_isIE)?"onmouseleave":"onmouseout"]=this._itemMouseOut;
}

 if(this.arFunc){
  tr.oncontextmenu=function(e){this.childNodes[0].parentObject.treeNod.arFunc(this.childNodes[0].parentObject.id,(e||event));return false;};
}
 return table;
};
 

 
 dhtmlXTreeObject.prototype.setImagePath=function(newPath){this.imPath=newPath;};



 
 dhtmlXTreeObject.prototype.setOnRightClickHandler=function(func){if(typeof(func)=="function")this.arFunc=func;else this.arFunc=eval(func);};

 
 dhtmlXTreeObject.prototype.setOnClickHandler=function(func){if(typeof(func)=="function")this.aFunc=func;else this.aFunc=eval(func);};


 
 dhtmlXTreeObject.prototype.setXMLAutoLoading=function(filePath){this.XMLsource=filePath;};

 
 dhtmlXTreeObject.prototype.setOnCheckHandler=function(func){if(typeof(func)=="function")this.checkFuncHandler=func;else this.checkFuncHandler=eval(func);};


 
 dhtmlXTreeObject.prototype.setOnOpenHandler=function(func){if(typeof(func)=="function")this._spnFH=func;else this._spnFH=eval(func);};
 
 dhtmlXTreeObject.prototype.setOnOpenStartHandler=function(func){if(typeof(func)=="function")this._spnFH=func;else this._spnFH=eval(func);};

 
 dhtmlXTreeObject.prototype.setOnOpenEndHandler=function(func){if(typeof(func)=="function")this._epnFH=func;else this._epnFH=eval(func);};

 
 dhtmlXTreeObject.prototype.setOnDblClickHandler=function(func){if(typeof(func)=="function")this.dblclickFuncHandler=func;else this.dblclickFuncHandler=eval(func);};









 
 dhtmlXTreeObject.prototype.openAllItems=function(itemId)
{
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;
 this._xopenAll(temp);
};
 
 
 dhtmlXTreeObject.prototype.getOpenState=function(itemId){
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return "";
 return this._getOpenState(temp);
};

 
 dhtmlXTreeObject.prototype.closeAllItems=function(itemId)
{
 if(itemId===window.undefined)itemId=this.rootId;
 
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;
 this._xcloseAll(temp);

  this.allTree.childNodes[0].border = "1";
 this.allTree.childNodes[0].border = "0";

};
 
 
 
 dhtmlXTreeObject.prototype.setUserData=function(itemId,name,value){
 var sNode=this._globalIdStorageFind(itemId,0,true);
 if(!sNode)return;
 if(name=="hint")

 sNode.htmlNode.childNodes[0].childNodes[0].title=value;
 if(sNode.userData["t_"+name]===undefined){
 if(!sNode._userdatalist)sNode._userdatalist=name;
 else sNode._userdatalist+=","+name;
}
 sNode.userData["t_"+name]=value;
};
 
 
 dhtmlXTreeObject.prototype.getUserData=function(itemId,name){
 var sNode=this._globalIdStorageFind(itemId,0,true);
 if(!sNode)return;
 return sNode.userData["t_"+name];
};




 
 dhtmlXTreeObject.prototype.getItemColor=function(itemId)
{
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;

 var res= new Object();
 if(temp.acolor)res.acolor=temp.acolor;
 if(temp.acolor)res.scolor=temp.scolor;
 return res;
};
 
 dhtmlXTreeObject.prototype.setItemColor=function(itemId,defaultColor,selectedColor)
{
 if((itemId)&&(itemId.span))
 var temp=itemId;
 else
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;
 else{
 if(temp.i_sel)
{if(selectedColor)temp.span.style.color=selectedColor;}
 else
{if(defaultColor)temp.span.style.color=defaultColor;}

 if(selectedColor)temp.scolor=selectedColor;
 if(defaultColor)temp.acolor=defaultColor;
}
};

 
 dhtmlXTreeObject.prototype.getItemText=function(itemId)
{
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;
 return(temp.htmlNode.childNodes[0].childNodes[0].childNodes[3].childNodes[0].innerHTML);
};
 
 dhtmlXTreeObject.prototype.getParentId=function(itemId)
{
 var temp=this._globalIdStorageFind(itemId);
 if((!temp)||(!temp.parentObject))return "";
 return temp.parentObject.id;
};



 
 dhtmlXTreeObject.prototype.changeItemId=function(itemId,newItemId)
{
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;
 temp.id=newItemId;
 temp.span.contextMenuId=newItemId;
 for(var i=0;i<this._globalIdStorageSize;i++)
 if(this._globalIdStorage[i]==itemId)
{
 this._globalIdStorage[i]=newItemId;
}
};


 
 dhtmlXTreeObject.prototype.doCut=function(){
 if(this.nodeCut)this.clearCut();
 this.nodeCut=(new Array()).concat(this._selected);
 for(var i=0;i<this.nodeCut.length;i++){
 var tempa=this.nodeCut[i];
 tempa._cimgs=new Array();
 tempa._cimgs[0]=tempa.images[0];
 tempa._cimgs[1]=tempa.images[1];
 tempa._cimgs[2]=tempa.images[2];
 tempa.images[0]=tempa.images[1]=tempa.images[2]=this.cutImage;
 this._correctPlus(tempa);
}
};

 
 dhtmlXTreeObject.prototype.doPaste=function(itemId){
 var tobj=this._globalIdStorageFind(itemId);
 if(!tobj)return 0;
 for(var i=0;i<this.nodeCut.length;i++){
 if(this._checkPNodes(tobj,this.nodeCut[i]))continue;
 this._moveNode(this.nodeCut[i],tobj);
}
 this.clearCut();
};

 
 dhtmlXTreeObject.prototype.clearCut=function(){
 for(var i=0;i<this.nodeCut.length;i++)
{
 var tempa=this.nodeCut[i];
 tempa.images[0]=tempa._cimgs[0];
 tempa.images[1]=tempa._cimgs[1];
 tempa.images[2]=tempa._cimgs[2];
 this._correctPlus(tempa);
}
 this.nodeCut=new Array();
};
 


 
 dhtmlXTreeObject.prototype._moveNode=function(itemObject,targetObject){

 return this._moveNodeTo(itemObject,targetObject);

}

 

dhtmlXTreeObject.prototype._fixNodesCollection=function(target,zParent){
 var flag=0;var icount=0;
 var Nodes=target.childNodes;
 var Count=target.childsCount-1;

 if(zParent==Nodes[Count])return;
 for(var i=0;i<Count;i++)
 if(Nodes[i]==Nodes[Count]){Nodes[i]=Nodes[i+1];Nodes[i+1]=Nodes[Count];}

  for(var i=0;i<Count+1;i++)
{
 if(flag){
 var temp=Nodes[i];
 Nodes[i]=flag;
 flag=temp;
}
 else 
 if(Nodes[i]==zParent){flag=Nodes[i];Nodes[i]=Nodes[Count];}
}
};
 
 
dhtmlXTreeObject.prototype._recreateBranch=function(itemObject,targetObject,beforeNode,level){
 var i;var st="";
 if(beforeNode){
 for(i=0;i<targetObject.childsCount;i++)
 if(targetObject.childNodes[i]==beforeNode)break;

 if(i!=0)
 beforeNode=targetObject.childNodes[i-1];
 else{
 st="TOP";
 beforeNode="";
}
}

 var newNode=this._attachChildNode(targetObject,itemObject.id,itemObject.label,0,itemObject.images[0],itemObject.images[1],itemObject.images[2],st,0,beforeNode);

  newNode._userdatalist=itemObject._userdatalist;
 newNode.userData=itemObject.userData.clone();
 newNode.XMLload=itemObject.XMLload;


 for(var i=0;i<itemObject.childsCount;i++)
 this._recreateBranch(itemObject.childNodes[i],newNode,0,1);


 return newNode;
}

 
 dhtmlXTreeObject.prototype._moveNodeTo=function(itemObject,targetObject,beforeNode){
  if(itemObject.treeNod._nonTrivialNode)
 return itemObject.treeNod._nonTrivialNode(this,targetObject,beforeNode,itemObject);

 if(targetObject.mytype)
 var framesMove=(itemObject.treeNod.lWin!=targetObject.lWin);
 else
 var framesMove=(itemObject.treeNod.lWin!=targetObject.treeNod.lWin);

 if(this.dragFunc)if(!this.dragFunc(itemObject.id,targetObject.id,(beforeNode?beforeNode.id:null),itemObject.treeNod,targetObject.treeNod))return false;
 if((targetObject.XMLload==0)&&(this.XMLsource))
{
 targetObject.XMLload=1;
 this._loadDynXML(targetObject.id);
}
 this.openItem(targetObject.id);

 var oldTree=itemObject.treeNod;
 var c=itemObject.parentObject.childsCount;
 var z=itemObject.parentObject;

 if((framesMove)||(oldTree.dpcpy)){ var _otiid=itemObject.id;
 itemObject=this._recreateBranch(itemObject,targetObject,beforeNode);
 if(!oldTree.dpcpy)oldTree.deleteItem(_otiid);
}
 else
{

 var Count=targetObject.childsCount;var Nodes=targetObject.childNodes;
 Nodes[Count]=itemObject;
 itemObject.treeNod=targetObject.treeNod;
 targetObject.childsCount++;

 var tr=this._drawNewTr(Nodes[Count].htmlNode);

 if(!beforeNode)
{
 targetObject.htmlNode.childNodes[0].appendChild(tr);
 if(this.dadmode==1)this._fixNodesCollection(targetObject,beforeNode);
}
 else
{
 targetObject.htmlNode.childNodes[0].insertBefore(tr,beforeNode.tr);
 this._fixNodesCollection(targetObject,beforeNode);
 Nodes=targetObject.childNodes;
}


}

 if((!oldTree.dpcpy)&&(!framesMove)){
 var zir=itemObject.tr;

 if((document.all)&&(navigator.appVersion.search(/MSIE\ 5\.0/gi)!=-1))
{
 window.setTimeout(function(){zir.removeNode(true);},250);
}
 else 
 itemObject.parentObject.htmlNode.childNodes[0].removeChild(itemObject.tr);

  if((!beforeNode)||(targetObject!=itemObject.parentObject)){
 for(var i=0;i<z.childsCount;i++){
 if(z.childNodes[i].id==itemObject.id){
 z.childNodes[i]=0;
 break;}}}
 else z.childNodes[z.childsCount-1]=0;

 oldTree._compressChildList(z.childsCount,z.childNodes);
 z.childsCount--;
}


 if((!framesMove)&&(!oldTree.dpcpy)){
 itemObject.tr=tr;
 tr.nodem=itemObject;
 itemObject.parentObject=targetObject;

 if(oldTree!=targetObject.treeNod){if(itemObject.treeNod._registerBranch(itemObject,oldTree))return;this._clearStyles(itemObject);this._redrawFrom(this,itemObject.parentObject);};

 this._correctPlus(targetObject);
 this._correctLine(targetObject);

 this._correctLine(itemObject);
 this._correctPlus(itemObject);

  if(beforeNode)
{

 this._correctPlus(beforeNode);
 }
 else 
 if(targetObject.childsCount>=2)
{

 this._correctPlus(Nodes[targetObject.childsCount-2]);
 this._correctLine(Nodes[targetObject.childsCount-2]);
}
 
 this._correctPlus(Nodes[targetObject.childsCount-1]);
 

 if(this.tscheck)this._correctCheckStates(targetObject);
 if(oldTree.tscheck)oldTree._correctCheckStates(z);

}

 
 if(c>1){oldTree._correctPlus(z.childNodes[c-2]);
 oldTree._correctLine(z.childNodes[c-2]);
}


  oldTree._correctPlus(z);
 oldTree._correctLine(z);


 if(this.dropFunc)this.dropFunc(itemObject.id,targetObject.id,(beforeNode?beforeNode.id:null),oldTree,targetObject.treeNod);
 return itemObject.id;
};

 

 
 dhtmlXTreeObject.prototype._clearStyles=function(itemObject){
 var td1=itemObject.htmlNode.childNodes[0].childNodes[0].childNodes[1];
 var td3=td1.nextSibling.nextSibling;

 itemObject.span.innerHTML=itemObject.label;
 itemObject.i_sel=false;

 if(this.checkBoxOff){td1.childNodes[0].style.display="";td1.childNodes[0].onclick=this.onCheckBoxClick;}
 else td1.childNodes[0].style.display="none";
 td1.childNodes[0].treeNod=this;

 itemObject.span.onmousedown=function(){};

 this.dragger.removeDraggableItem(td3);
 if(this.dragAndDropOff)this.dragger.addDraggableItem(td3,this);
 td3.childNodes[0].className="standartTreeRow";
 td3.onclick=this.onRowSelect;td3.ondblclick=this.onRowClick2;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -