📄 dhtmlxtree.js
字号:
}
else temp.images[0]=image1;
this._correctPlus(temp);
};
dhtmlXTreeObject.prototype.getSubItems =function(itemId)
{
var temp=this._globalIdStorageFind(itemId);
if(!temp)return 0;
var z="";
for(i=0;i<temp.childsCount;i++)
if(!z)z=temp.childNodes[i].id;
else z+=","+temp.childNodes[i].id;
return z;
};
dhtmlXTreeObject.prototype.getAllSubItems =function(itemId){
return this._getAllSubItems(itemId);
}
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+=","+temp.childNodes[i].id;
var zb=this._getAllSubItems(0,z,temp.childNodes[i])
if(zb)z+=","+zb;
}
return z;
};
dhtmlXTreeObject.prototype.selectItem=function(itemId,mode){
mode=convertStringToBoolean(mode);
var temp=this._globalIdStorageFind(itemId);
if(!temp)return 0;
if(this._getOpenState(temp.parentObject)==-1)
this.openItem(itemId);
if(mode)
this.onRowSelect(0,temp.htmlNode.childNodes[0].childNodes[0].childNodes[3],false);
else
this.onRowSelect(0,temp.htmlNode.childNodes[0].childNodes[0].childNodes[3],true);
};
dhtmlXTreeObject.prototype.getSelectedItemText=function()
{
if(this.lastSelected)
return this.lastSelected.parentObject.htmlNode.childNodes[0].childNodes[0].childNodes[3].childNodes[0].innerHTML;
else return("");
};
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){
state=convertStringToBoolean(state);
var sNode=this._globalIdStorageFind(itemId);
if(!sNode)return;
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){
var z=sNode.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0];
if(state=="notsure")sNode.checkstate=2;
else if(state)sNode.checkstate=1;else sNode.checkstate=0;
z.src=this.imPath+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;
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.unParsed)
this._setSubCheckedXML(state,sNode.unParsed)
for(var i=0;i<sNode.childsCount;i++)
{
this._setSubChecked(state,sNode.childNodes[i]);
};
var z=sNode.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0];
if(state)sNode.checkstate=1;
else sNode.checkstate=0;
z.src=this.imPath+this.checkArray[sNode.checkstate];
};
dhtmlXTreeObject.prototype.isItemChecked=function(itemId){
var sNode=this._globalIdStorageFind(itemId);
if(!sNode)return;
return sNode.checkstate;
};
dhtmlXTreeObject.prototype.getAllChecked=function(){
return this._getAllChecked("","",1);
}
dhtmlXTreeObject.prototype.getAllCheckedBranches=function(){
return this._getAllChecked("","",0);
}
dhtmlXTreeObject.prototype._getAllChecked=function(htmlNode,list,mode){
if(!htmlNode)htmlNode=this.htmlNode;
if(((mode)&&(htmlNode.checkstate==1))||((!mode)&&(htmlNode.checkstate>0)))
if(!htmlNode.nocheckbox){if(list)list+=","+htmlNode.id;else list=htmlNode.id;}
var j=htmlNode.childsCount;
for(var i=0;i<j;i++)
{
list=this._getAllChecked(htmlNode.childNodes[i],list,mode);
};
if(htmlNode.unParsed)
list=this._getAllCheckedXML(htmlNode.unParsed,list,mode);
if(list)return list;else return "";
};
dhtmlXTreeObject.prototype._getAllCheckedXML=function(htmlNode,list,mode){
var j=htmlNode.childNodes.length;
for(var i=0;i<j;i++)
{
var tNode=htmlNode.childNodes[i];
if(tNode.tagName=="item")
{
var z=tNode.getAttribute("checked");
if((z!=null)&&(z!="")&&(z!="0"))
if(((z=="-1")&&(!mode))||(z!="-1"))
if(list)list+=","+tNode.getAttribute("id");
else list=htmlNode.id;
list=this._getAllChecked(tNode,list,mode);
}
};
if(list)return list;else return "";
};
dhtmlXTreeObject.prototype.deleteChildItems=function(itemId)
{
var sNode=this._globalIdStorageFind(itemId);
if(!sNode)return;
var j=sNode.childsCount;
for(var i=0;i<j;i++)
{
this._deleteNode(sNode.childNodes[0].id,sNode.childNodes[0]);
};
};
dhtmlXTreeObject.prototype.deleteItem=function(itemId,selectParent){
this._deleteItem(itemId,selectParent);
this.allTree.childNodes[0].border = "1";
this.allTree.childNodes[0].border = "0";
}
dhtmlXTreeObject.prototype._deleteItem=function(itemId,selectParent,skip){
selectParent=convertStringToBoolean(selectParent);
var sNode=this._globalIdStorageFind(itemId);
if(!sNode)return;
if(selectParent)this.selectItem(this.getParentId(this.getSelectedItemId()),1);
else
if(sNode==this.lastSelected.parentObject)
this.lastSelected=null;
if(!skip){
this._globalIdStorageRecSub(sNode);
};
var zTemp=sNode.parentObject;
this._deleteNode(itemId,sNode,skip);
this._correctPlus(zTemp);
this._correctLine(zTemp);
return zTemp;
};
dhtmlXTreeObject.prototype._globalIdStorageRecSub=function(itemObject){
for(var i=0;i<itemObject.childsCount;i++)
{
this._globalIdStorageRecSub(itemObject.childNodes[i]);
this._globalIdStorageSub(itemObject.childNodes[i].id);
};
this._globalIdStorageSub(itemObject.id);
};
dhtmlXTreeObject.prototype.insertNewNext=function(parentItemId,itemId,itemName,itemActionHandler,image1,image2,image3,optionStr,childs){
var sNode=this._globalIdStorageFind(parentItemId);
if((!sNode)||(!sNode.parentObject))return(0);
this._attachChildNode(0,itemId,itemName,itemActionHandler,image1,image2,image3,optionStr,childs,sNode);
};
dhtmlXTreeObject.prototype.getItemIdByIndex=function(itemId,index){
var z=this._globalIdStorageFind(itemId);
if((!z)||(index>z.childsCount))return null;
return z.childNodes[index].id;
};
dhtmlXTreeObject.prototype.getChildItemIdByIndex=function(itemId,index){
var z=this._globalIdStorageFind(itemId);
if((!z)||(index>z.childsCount))return null;
return z.childNodes[index].id;
};
dhtmlXTreeObject.prototype.setDragHandler=function(func){if(typeof(func)=="function")this.dragFunc=func;else this.dragFunc=eval(func);};
dhtmlXTreeObject.prototype._clearMove=function(htmlNode){
if((htmlNode.parentObject)&&(htmlNode.parentObject.span)){
htmlNode.parentObject.span.className='standartTreeRow';
if(htmlNode.parentObject.acolor)htmlNode.parentObject.span.style.color=htmlNode.parentObject.acolor;
}
this.selectionBar.style.display="none";
this.allTree.className="containerTableStyle";
};
dhtmlXTreeObject.prototype.enableDragAndDrop=function(mode){
this.dragAndDropOff=convertStringToBoolean(mode);
if(this.dragAndDropOff)this.dragger.addDragLanding(this.allTree,this);
};
dhtmlXTreeObject.prototype._setMove=function(htmlNode,x,y){
if(htmlNode.parentObject.span){
var a1=getAbsoluteTop(htmlNode);
var a2=getAbsoluteTop(this.allTree);
this.dadmodec=this.dadmode;
this.dadmodefix=0;
if(this.dadmodec==0)
{
htmlNode.parentObject.span.className='selectedTreeRow';
if(htmlNode.parentObject.scolor)htmlNode.parentObject.span.style.color=htmlNode.parentObject.scolor;
}
else{
htmlNode.parentObject.span.className='standartTreeRow';
if(htmlNode.parentObject.acolor)htmlNode.parentObject.span.style.color=htmlNode.parentObject.acolor;
this.selectionBar.style.top=a1-a2+16+this.dadmodefix+"px";
this.selectionBar.style.left="5px";
this.selectionBar.style.display="";
}
if(this.autoScroll)
{
if((a1-a2-parseInt(this.allTree.scrollTop))>(parseInt(this.allTree.offsetHeight)-50))
this.allTree.scrollTop=parseInt(this.allTree.scrollTop)+20;
if((a1-a2)<(parseInt(this.allTree.scrollTop)+30))
this.allTree.scrollTop=parseInt(this.allTree.scrollTop)-20;
}
}
};
dhtmlXTreeObject.prototype._createDragNode=function(htmlObject){
dhtmlObject=htmlObject.parentObject;
if(this.lastSelected)this._clearMove(this.lastSelected);
var dragSpan=document.createElement('div');
dragSpan.innerHTML=dhtmlObject.label;
dragSpan.style.position="absolute";
dragSpan.className="dragSpanDiv";
return dragSpan;
}
dhtmlXTreeObject.prototype._preventNsDrag=function(e){
if((e)&&(e.preventDefault)){e.preventDefault();return false;}
return false;
}
dhtmlXTreeObject.prototype._drag=function(sourceHtmlObject,dhtmlObject,targetHtmlObject){
if(this._autoOpenTimer)clearTimeout(this._autoOpenTimer);
if(!targetHtmlObject.parentObject){
targetHtmlObject=this.htmlNode.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0];
this.dadmodec=0;
}
this._clearMove(targetHtmlObject);
var z=targetHtmlObject.parentObject.treeNod;
z._clearMove("");
if((!this.dragMove)||(this.dragMove()))
{
var newID=this._moveNode(sourceHtmlObject.parentObject,targetHtmlObject.parentObject);
z.selectItem(newID);
}
try{}
catch(e){
return;
}
}
dhtmlXTreeObject.prototype._dragIn=function(htmlObject,shtmlObject,x,y){
if(!htmlObject.parentObject)
{
this.allTree.className="containerTableStyle selectionBox";
return htmlObject;
}
if((!this._checkParenNodes(shtmlObject.parentObject.id,htmlObject.parentObject,shtmlObject.parentObject))&&(htmlObject.parentObject.id!=shtmlObject.parentObject.id))
{
htmlObject.parentObject.span.parentNode.appendChild(this.selectionBar);
this._setMove(htmlObject,x,y);
if(this._getOpenState(htmlObject.parentObject)<0)
this._autoOpenTimer=window.setTimeout(new callerFunction(this._autoOpenItem,this),1000);
this._autoOpenId=htmlObject.parentObject.id;
return htmlObject;
}
else return 0;
}
dhtmlXTreeObject.prototype._autoOpenItem=function(e,treeObject){
treeObject.openItem(treeObject._autoOpenId);
};
dhtmlXTreeObject.prototype._dragOut=function(htmlObject){
this._clearMove(htmlObject);
if(this._autoOpenTimer)clearTimeout(this._autoOpenTimer);
}
dhtmlXTreeObject.prototype._getNextNode=function(item,mode){
if((!mode)&&(item.childsCount))return item.childNodes[0];
if(item==this.htmlNode)
return -1;
if((item.tr)&&(item.tr.nextSibling)&&(item.tr.nextSibling.nodem))
return item.tr.nextSibling.nodem;
return this._getNextNode(item.parentObject,true);
};
dhtmlXTreeObject.prototype._lastChild=function(item){
if(item.childsCount)
return this._lastChild(item.childNodes[item.childsCount-1]);
else return item;
};
dhtmlXTreeObject.prototype._getPrevNode=function(node,mode){
if((node.tr)&&(node.tr.previousSibling)&&(node.tr.previousSibling.nodem))
return this._lastChild(node.tr.previousSibling.nodem);
if(node.parentObject)
return node.parentObject;
else return -1;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -