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

📄 dhtmlxtree.js

📁 强大的动态功能树的生成文件
💻 JS
📖 第 1 页 / 共 5 页
字号:
 
 
 
 
 
 
 
 dhtmlXTreeObject.prototype.getLevel=function(itemId){
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;
 return this._getNodeLevel(temp,0);
};
 
 

 
 dhtmlXTreeObject.prototype.setItemCloseable=function(itemId,flag)
{
 flag=convertStringToBoolean(flag);
 if((itemId)&&(itemId.span))
 var temp=itemId;
 else 
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;
 temp.closeble=flag;
};

 
 dhtmlXTreeObject.prototype._getNodeLevel=function(itemObject,count){
 if(itemObject.parentObject)return this._getNodeLevel(itemObject.parentObject,count+1);
 return(count);
};
 
 
 dhtmlXTreeObject.prototype.hasChildren=function(itemId){
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;
 else 
{
 if((this.XMLsource)&&(!temp.XMLload))return true;
 else 
 return temp.childsCount;
};
};
 

 
 dhtmlXTreeObject.prototype._getLeafCount=function(itemNode){
 var a=0;
 for(var b=0;b<itemNode.childsCount;b++)
 if(itemNode.childNodes[b].childsCount==0)a++;
 return a;
}
 
 dhtmlXTreeObject.prototype._fixChildCountLabel=function(itemNode,index){
 if(this.childCalc==null)return;
 if((itemNode.unParsed)||((!itemNode.XMLload)&&(this.XMLsource)))
{
 if(itemNode._acc)
 itemNode.span.innerHTML=itemNode.label+this.htmlcA+itemNode._acc+this.htmlcB;
 else
 itemNode.span.innerHTML=itemNode.label;

 return;
}

 switch(this.childCalc){
 case 1:
 if(itemNode.childsCount!=0)
 itemNode.span.innerHTML=itemNode.label+this.htmlcA+itemNode.childsCount+this.htmlcB;
 else itemNode.span.innerHTML=itemNode.label;
 break;
 case 2:
 var z=this._getLeafCount(itemNode);
 if(z!=0)
 itemNode.span.innerHTML=itemNode.label+this.htmlcA+z+this.htmlcB;
 else itemNode.span.innerHTML=itemNode.label;
 break;
 case 3:
 if(itemNode.childsCount!=0)
{
 var bcc=0;
 for(var a=0;a<itemNode.childsCount;a++){
 if(!itemNode.childNodes[a]._acc)itemNode.childNodes[a]._acc=0;
 bcc+=itemNode.childNodes[a]._acc*1;}
 bcc+=itemNode.childsCount*1;

 itemNode.span.innerHTML=itemNode.label+this.htmlcA+bcc+this.htmlcB;
 itemNode._acc=bcc;
}
 else{itemNode.span.innerHTML=itemNode.label;itemNode._acc=1;}
 if((itemNode.parentObject)&&(itemNode.parentObject!=this.htmlNode))
 this._fixChildCountLabel(itemNode.parentObject);
 break;
 case 4:
 if(itemNode.childsCount!=0)
{
 var bcc=0;
 for(var a=0;a<itemNode.childsCount;a++){
 if(!itemNode.childNodes[a]._acc)itemNode.childNodes[a]._acc=1;
 bcc+=itemNode.childNodes[a]._acc*1;}
 
 itemNode.span.innerHTML=itemNode.label+this.htmlcA+bcc+this.htmlcB;
 itemNode._acc=bcc;
}
 else{itemNode.span.innerHTML=itemNode.label;itemNode._acc=1;}
 if((itemNode.parentObject)&&(itemNode.parentObject!=this.htmlNode))
 this._fixChildCountLabel(itemNode.parentObject);
 break;
}
}
 
 
 dhtmlXTreeObject.prototype.setItemText=function(itemId,newLabel,newTooltip)
{
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;
 temp.label=newLabel;
 temp.span.innerHTML=newLabel;
 if(this.childCalc)this._fixChildCountLabel(temp);
 temp.span.parentNode.title=newTooltip||"";
};
 
 dhtmlXTreeObject.prototype.refreshItem=function(itemId){
 if(!itemId)itemId=this.rootId;
 var temp=this._globalIdStorageFind(itemId);
 this.deleteChildItems(itemId);
 this._loadDynXML(itemId);
};
 
 
 dhtmlXTreeObject.prototype.setItemImage2=function(itemId,image1,image2,image3){
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;
 temp.images[1]=image2;
 temp.images[2]=image3;
 temp.images[0]=image1;
 this._correctPlus(temp);
};
 
 dhtmlXTreeObject.prototype.setItemImage=function(itemId,image1,image2)
{
 var temp=this._globalIdStorageFind(itemId);
 if(!temp)return 0;
 if(image2)
{
 temp.images[1]=image1;
 temp.images[2]=image2;
}
 else temp.images[0]=image1;
 this._correctPlus(temp);
};


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

 if(temp.unParsed)
 return(this._getSubItemsXML(temp.unParsed));

 var z="";
 for(i=0;i<temp.childsCount;i++){
 if(!z)z=temp.childNodes[i].id;
 else z+=this.dlmtr+temp.childNodes[i].id;

}

 return z;
};

 dhtmlXTreeObject.prototype._getSubItemsXML=function(temp){
 var z="";
 for(var i=0;i<temp.childNodes.length;i++)
{
 if(temp.childNodes[i].tagName=="item")
{
 if(!z)z=temp.childNodes[i].getAttribute("id");
 else z+=this.dlmtr+temp.childNodes[i].getAttribute("id");
}
}
 return z;
}
 
 dhtmlXTreeObject.prototype.getAllSubItems =function(itemId){
 return this._getAllSubItems(itemId);
}

 
 dhtmlXTreeObject.prototype.getAllLeafs =function(){
 return this._getAllScraggyItems(this.htmlNode);
}

 
 dhtmlXTreeObject.prototype._getAllScraggyItems =function(node)
{
 var z="";
 for(var i=0;i<node.childsCount;i++)
{
 if((node.childNodes[i].unParsed)||(node.childNodes[i].childsCount>0))
{
 if(node.childNodes[i].unParsed)
 var zb=this._getAllScraggyItemsXML(node.childNodes[i].unParsed,1);
 else
 var zb=this._getAllScraggyItems(node.childNodes[i])

 if(zb)
 if(z)z+=this.dlmtr+zb;
 else z=zb;
}
 else
 if(!z)z=node.childNodes[i].id;
 else z+=this.dlmtr+node.childNodes[i].id;
}
 return z;
};


 dhtmlXTreeObject.prototype._getAllScraggyItemsXML=function(node,x){
 var z="";
 var flag=false;
 for(var i=0;i<node.childNodes.length;i++)
 if((node.childNodes[i].tagName=="item")){
 flag=true;
 var zb=this._getAllScraggyItemsXML(node.childNodes[i],0);
 if(zb!="")
 if(z)
 z+=this.dlmtr+zb;
 else
 z=zb;
}
 if((!x)&&(!flag))
 if(z)
 z+=this.dlmtr+node.getAttribute("id");
 else z=node.getAttribute("id");

 return z;
}


 
 dhtmlXTreeObject.prototype.getAllFatItems =function(){
 return this._getAllFatItems(this.htmlNode);
}

 
 dhtmlXTreeObject.prototype._getAllFatItems =function(node)
{
 var z="";
 for(var i=0;i<node.childsCount;i++)
{
 if((node.childNodes[i].unParsed)||(node.childNodes[i].childsCount>0))
{
 if(!z)z=node.childNodes[i].id;
 else z+=this.dlmtr+node.childNodes[i].id;

 if(node.childNodes[i].unParsed)
 var zb=this._getAllFatItemsXML(node.childNodes[i].unParsed,1);
 else
 var zb=this._getAllFatItems(node.childNodes[i])

 if(zb)z+=this.dlmtr+zb;
}
}
 return z;
};

 dhtmlXTreeObject.prototype._getAllFatItemsXML=function(node,x){
 var z="";
 var flag=false;
 for(var i=0;i<node.childNodes.length;i++)
 if((node.childNodes[i].tagName=="item")){
 flag=true;
 var zb=this._getAllFatItemsXML(node.childNodes[i],0);
 if(zb!="")
 if(z)
 z+=this.dlmtr+zb;
 else
 z=zb;
}
 if((!x)&&(flag))
 if(z)
 z+=this.dlmtr+node.getAttribute("id");
 else z=node.getAttribute("id");

 return z;
}

 
 dhtmlXTreeObject.prototype._getAllSubItems =function(itemId,z,node)
{
 if(node)temp=node;
 else{
 var temp=this._globalIdStorageFind(itemId);
};
 if(!temp)return 0;

 z="";
 for(var i=0;i<temp.childsCount;i++)
{
 if(!z)z=temp.childNodes[i].id;
 else z+=this.dlmtr+temp.childNodes[i].id;
 var zb=this._getAllSubItems(0,z,temp.childNodes[i])

 if(zb)z+=this.dlmtr+zb;
}


 if(temp.unParsed)
 z=this._getAllSubItemsXML(itemId,z,temp.unParsed);
 return z;
};

 dhtmlXTreeObject.prototype._getAllSubItemsXML=function(itemId,z,node){
 for(var i=0;i<node.childNodes.length;i++)
 if(node.childNodes[i].tagName=="item"){
 if(!z)z=node.childNodes[i].getAttribute("id");
 else z+=this.dlmtr+node.childNodes[i].getAttribute("id");
 z=this._getAllSubItemsXML(itemId,z,node.childNodes[i]);
}
 return z;
}

 
 
 dhtmlXTreeObject.prototype.selectItem=function(itemId,mode,preserve){

 mode=convertStringToBoolean(mode);
 var temp=this._globalIdStorageFind(itemId);
 if((!temp)||(!temp.parentObject))return 0;

 if(this._getOpenState(temp.parentObject)==-1)
 if(this.XMLloadingWarning)
 temp.parentObject.openMe=1;
 else
 this._openItem(temp.parentObject);

 
 var ze=null;
 if(preserve){ze=new Object;ze.ctrlKey=true;}
 if(mode)
 this.onRowSelect(ze,temp.htmlNode.childNodes[0].childNodes[0].childNodes[3],false);
 else
 this.onRowSelect(ze,temp.htmlNode.childNodes[0].childNodes[0].childNodes[3],true);
};
 
 
 dhtmlXTreeObject.prototype.getSelectedItemText=function()
{
 var str=new Array();
 for(var i=0;i<this._selected.length;i++)str[i]=this._selected[i].span.innerHTML;
 return(str.join(this.dlmtr));
};




 
 dhtmlXTreeObject.prototype._compressChildList=function(Count,Nodes)
{
 Count--;
 for(var i=0;i<Count;i++)
{
 if(Nodes[i]==0){Nodes[i]=Nodes[i+1];Nodes[i+1]=0;}
};
};
 
 dhtmlXTreeObject.prototype._deleteNode=function(itemId,htmlObject,skip){

 if(!skip){
 this._globalIdStorageRecSub(htmlObject);
}
 
 if((!htmlObject)||(!htmlObject.parentObject))return 0;
 var tempos=0;var tempos2=0;
 if(htmlObject.tr.nextSibling)tempos=htmlObject.tr.nextSibling.nodem;
 if(htmlObject.tr.previousSibling)tempos2=htmlObject.tr.previousSibling.nodem;
 
 var sN=htmlObject.parentObject;
 var Count=sN.childsCount;
 var Nodes=sN.childNodes;
 for(var i=0;i<Count;i++)
{
 if(Nodes[i].id==itemId){
 if(!skip)sN.htmlNode.childNodes[0].removeChild(Nodes[i].tr);
 Nodes[i]=0;
 break;
}
}
 this._compressChildList(Count,Nodes);
 if(!skip){
 sN.childsCount--;
}

 if(tempos){
 this._correctPlus(tempos);
 this._correctLine(tempos);
}
 if(tempos2){
 this._correctPlus(tempos2);
 this._correctLine(tempos2);
}
 if(this.tscheck)this._correctCheckStates(sN);
};
 
 dhtmlXTreeObject.prototype.setCheck=function(itemId,state){
 var sNode=this._globalIdStorageFind(itemId,0,1);
 if(!sNode)return;

 if(state==="unsure")
 this._setCheck(sNode,state);
 else
{
 state=convertStringToBoolean(state);
 if((this.tscheck)&&(this.smcheck))this._setSubChecked(state,sNode);
 else this._setCheck(sNode,state);
}
 if(this.smcheck)
 this._correctCheckStates(sNode.parentObject);
};

 dhtmlXTreeObject.prototype._setCheck=function(sNode,state){
 if(((sNode.parentObject._r_logic)||(this._frbtr))&&(state))
 for(var i=0;i<sNode.parentObject.childsCount;i++)
 this._setCheck(sNode.parentObject.childNodes[i],0);

 var z=sNode.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0];

 if(state=="unsure")sNode.checkstate=2;
 else if(state)sNode.checkstate=1;else sNode.checkstate=0;
 if(sNode.dscheck)sNode.checkstate=sNode.dscheck;
 z.src=this.imPath+((sNode.parentObject._r_logic||this._frbtr)?this.radioArray:this.checkArray)[sNode.checkstate];
};

 
dhtmlXTreeObject.prototype.setSubChecked=function(itemId,state){
 var sNode=this._globalIdStorageFind(itemId);
 this._setSubChecked(state,sNode);
 this._correctCheckStates(sNode.parentObject);
}

 
dhtmlXTreeObject.prototype._setSubCheckedXML=function(state,sNode){
 if(!sNode)return;
 if(!_isOpera){
 var val= state?"1":"";
 var z=this.XMLLoader.doXPath(".//item",sNode);
 for(var i=0;i<z.length;i++)
 z[i].setAttribute("checked",val);
}
 else
 for(var i=0;i<sNode.childNodes.length;i++){
 var tag=sNode.childNodes[i];
 if((tag)&&(tag.tagName=="item")){
 if(state)tag.setAttribute("checked",1);
 else tag.setAttribute("checked","");
 this._setSubCheckedXML(state,tag);
}
}
}




 
 dhtmlXTreeObject.prototype._setSubChecked=function(state,sNode){
 state=convertStringToBoolean(state);
 if(!sNode)return;
 if(((sNode.parentObject._r_logic)||(this._frbtr))&&(state))
 for(var i=0;i<sNode.parentObject.childsCount;i++)
 this._setSubChecked(0,sNode.parentObject.childNodes[i]);

 if(sNode.unParsed)
 this._setSubCheckedXML(state,sNode.unParsed)

 if(sNode._r_logic||this._frbtr)
 this._setSubChecked(state,sNode.childNodes[0]);
 else
 for(var i=0;i<sNode.childsCount;i++)
{
 this._setSubChecked(state,sNode.childNodes[i

⌨️ 快捷键说明

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