treeview_kernel.js
来自「精美的AJAX树形菜单」· JavaScript 代码 · 共 1,421 行 · 第 1/3 页
JS
1,421 行
};
ComponentArt_TreeViewNode.prototype.qzzp=function(qzgu,qzhb,bInnerOnly){
var qqZi=false,qza=new Array();
if(!bInnerOnly)
qza[qza.length]="<td id='"+this.ParentTreeView.TreeViewID+'_item_'+this.StorageIndex+"_expcol' align='center'>";
if(qzgu){
var qzoi="",qzoh="",qzzu=-1,qzxa=-1;
if(this.ParentTreeView.ShowLines){
qqZi=true;
if(this.ParentTreeView.LineImageHeight>0)
qzxa=this.ParentTreeView.LineImageHeight;
if(this.ParentTreeView.LineImageWidth>0)
qzzu=this.ParentTreeView.LineImageWidth;
if(this.qzcu==0){
if(this.StorageIndex==this.ParentTreeView.GetFirstRootNodeIndex()){
if(qzhb){
qzoh=this.ParentTreeView.LineImagesFolderUrl+"/dashminus.gif";
qzoi=this.ParentTreeView.LineImagesFolderUrl+"/dashplus.gif";
}
else{
qzoh=this.ParentTreeView.LineImagesFolderUrl+"/rminus.gif";
qzoi=this.ParentTreeView.LineImagesFolderUrl+"/rplus.gif";
};
}
else if(qzhb){
qzoh=this.ParentTreeView.LineImagesFolderUrl+"/lminus.gif";
qzoi=this.ParentTreeView.LineImagesFolderUrl+"/lplus.gif";
}
else{
qzoh=this.ParentTreeView.LineImagesFolderUrl+"/tminus.gif";
qzoi=this.ParentTreeView.LineImagesFolderUrl+"/tplus.gif";
};
}
else{
if(qzhb){
qzoh=this.ParentTreeView.LineImagesFolderUrl+"/lminus.gif";
qzoi=this.ParentTreeView.LineImagesFolderUrl+"/lplus.gif";
}
else{
qzoh=this.ParentTreeView.LineImagesFolderUrl+"/tminus.gif";
qzoi=this.ParentTreeView.LineImagesFolderUrl+"/tplus.gif";
};
};
}
else{
if(this.ParentTreeView.ExpandCollapseImageHeight>0)
qzxa=this.ParentTreeView.ExpandCollapseImageHeight;
if(this.ParentTreeView.ExpandCollapseImageWidth>0)
qzzu=this.ParentTreeView.ExpandCollapseImageWidth;
qzoh=this.ParentTreeView.CollapseImageUrl;
qzoi=this.ParentTreeView.ExpandImageUrl;
};
if(qzoh!=''&&qzoi!=''){
qqZi=true;
};
qza[qza.length]="<img onclick=\"ComponentArt_CancelEvent(event);ComponentArt_ExpandCollapse("+this.StorageIndex+",'"
+this.ParentTreeView.TreeViewID+"',"+this.qzcu+")\"";
if(qzxa>0){
qza[qza.length]=" height=\""+qzxa+"\"";
};
if(qzzu>0){
qza[qza.length]=" width=\""+qzzu+"\"";
};
if(this.Expanded){
qza[qza.length]=" style=\"display: none;\"";
};
qza[qza.length]=" src=\""+qzoi+"\" />";
qza[qza.length]="<img onclick=\"ComponentArt_CancelEvent(event);ComponentArt_ExpandCollapse("+this.StorageIndex+",'"
+this.ParentTreeView.TreeViewID+"',"+this.qzcu+")\"";
if(qzxa>0){
qza[qza.length]=" height=\""+qzxa+"\"";
};
if(qzzu>0){
qza[qza.length]=" width=\""+qzzu+"\"";
};
if(!this.Expanded){
qza[qza.length]=" style=\"display: none;\"";
};
qza[qza.length]=" src=\""+qzoh+"\" />";
}
else{
qza[qza.length]="<img";
if(this.ParentTreeView.ShowLines){
qqZi=true;
if(this.ParentTreeView.LineImageHeight>0)
qza[qza.length]=" height='"+this.ParentTreeView.LineImageHeight+"'";
if(this.ParentTreeView.LineImageWidth>0)
qza[qza.length]=" width='"+this.ParentTreeView.LineImageWidth+"'";
if(this.qzcu==0){
if(this.StorageIndex==this.ParentTreeView.GetFirstRootNodeIndex()){
if(qzhb){
qza[qza.length]=" src='"+this.ParentTreeView.LineImagesFolderUrl+"/dash.gif'";
}
else{
qza[qza.length]=" src='"+this.ParentTreeView.LineImagesFolderUrl+"/r.gif'";
};
}
else if(qzhb){
qza[qza.length]=" src='"+this.ParentTreeView.LineImagesFolderUrl+"/l.gif'";
}
else {
qza[qza.length]=" src='"+this.ParentTreeView.LineImagesFolderUrl+"/t.gif'";
};
}
else{
if(qzhb){
qza[qza.length]=" src='"+this.ParentTreeView.LineImagesFolderUrl+"/l.gif'";
}
else{
qza[qza.length]=" src='"+this.ParentTreeView.LineImagesFolderUrl+"/t.gif'";
};
};
}
else{
if(this.ParentTreeView.NoExpandImageUrl!=''){
if(this.ParentTreeView.ExpandCollapseImageHeight>0)
qza[qza.length]=" height='"+this.ParentTreeView.ExpandCollapseImageHeight+"'";
if(this.ParentTreeView.ExpandCollapseImageWidth>0)
qza[qza.length]=" width='"+this.ParentTreeView.ExpandCollapseImageWidth+"'";
qza[qza.length]=" src='"+this.ParentTreeView.NoExpandImageUrl+"'";
qqZi=true;
}
else{
if(this.ParentTreeView.CollapseImageUrl!=''&&this.ParentTreeView.ExpandImageUrl!=''){
return this.qzvm();
}
else{
qqZi=false;
};
};
};
qza[qza.length]=">";
};
if(!qqZi)
return '';
if(!bInnerOnly)
qza[qza.length]="</td>";
return qza.join('');
};
ComponentArt_TreeViewNode.prototype.qzvm=function(iDepth){
var qza=new Array();
qza[qza.length]="<td";
if(this.ParentTreeView.ShowLines){
var qzsi=this;
for(var qzba=this.qzcu;qzba>iDepth;qzba--){
if(!qzsi.ParentNode)
qzsi.ParentNode=qzsi.GetParentNode();
qzsi=qzsi.ParentNode;
}
;
if(this.ParentTreeView.LineImageHeight>0)
qza[qza.length]=" height=\""+this.ParentTreeView.LineImageHeight+"\"";
if(this.ParentTreeView.LineImageWidth>0)
qza[qza.length]=" width=\""+this.ParentTreeView.LineImageWidth+"\"";
qza[qza.length]="><img";
if(this.ParentTreeView.LineImageHeight>0)
qza[qza.length]=" height=\""+this.ParentTreeView.LineImageHeight+"\"";
if(this.ParentTreeView.LineImageWidth>0)
qza[qza.length]=" width=\""+this.ParentTreeView.LineImageWidth+"\"";
if(qzsi.qzvn()){
qza[qza.length]=" src=\""+this.ParentTreeView.LineImagesFolderUrl+"/noexpand.gif\">";
}
else{
qza[qza.length]=" src=\""+this.ParentTreeView.LineImagesFolderUrl+"/i.gif\">";
};
}
else{
qza[qza.length]=" width=\""+this.Indent+"\"";
qza[qza.length]="><div style=\"height: 1px; width: "+this.Indent+"px;\">";
};
qza[qza.length]="</td>";
return qza.join('');
};
ComponentArt_TreeViewNode.prototype.qzuc=function(){
var qza=new Array(),qzie=this.Nodes();
for(var qzba=0;qzba<qzie.length;qzba++){
qza[qza.length]=qzie[qzba].GetHtml();
}
;
return qza.join('');
};
function qznj(qzm,qzAie,qzAmm){
for(var qzba=0;qzba<qzAie.length;qzba++){
var qzau=qzAie[qzba],qzbt=new ComponentArt_TreeViewNode();
if(qzAmm&&!qzau.getAttribute){
continue;
};
for(var prop=0;prop<qzm.ParentTreeView.qqGo.length;prop++){
var sValue=qzau.getAttribute(qzm.ParentTreeView.qqGo[prop]);
if(sValue){
qzbt[qzm.ParentTreeView.qqGo[prop]]=sValue;
};
}
;
if(qzbt.ID&&qzbt.ID!=''){
qzbt.PostBackID='p_'+qzbt.ID;
};
if(qze&&qze.ImagesBaseUrl){
if(qzbt.ImageUrl){
qzbt.ImageUrl=qze.ImagesBaseUrl+qzbt.ImageUrl;
};
if(qzbt.ExpandedImageUrl){
qzbt.ExpandedImageUrl=qze.ImagesBaseUrl+qzbt.ExpandedImageUrl;
};
if(qzbt.MarginImageUrl){
qzbt.MarginImageUrl=qze.ImagesBaseUrl+qzbt.MarginImageUrl;
};
};
if(qzbt.Selectable&&qzbt.Selectable.toLowerCase&&qzbt.Selectable.toLowerCase()=='false'){
qzbt.Selectable=false;
};
qzbt.Expanded=(qzbt.Expanded&&(qzbt.Expanded.toLowerCase()=='true'));
qzbt.Checked=(qzbt.Checked&&(qzbt.Checked.toLowerCase()=='true'));
qzbt.ShowCheckBox=(qzbt.ShowCheckBox&&(qzbt.ShowCheckBox.toLowerCase()=='true'));
qzbt.EditingEnabled=(qzbt.EditingEnabled&&(qzbt.EditingEnabled.toLowerCase()=='true'));
qzbt.DraggingEnabled=(qzbt.DraggingEnabled&&(qzbt.DraggingEnabled.toLowerCase()=='true'));
qzbt.DroppingEnabled=(qzbt.DroppingEnabled&&(qzbt.DroppingEnabled.toLowerCase()=='true'));
if(qzau.getAttribute('ImageHeight')){
qzbt.ImageHeight=parseInt(qzbt.ImageHeight);
}
else{
qzbt.ImageHeight=qzm.ImageHeight;
};
if(qzau.getAttribute('ImageWidth')){
qzbt.ImageWidth=parseInt(qzbt.ImageWidth);
}
else{
qzbt.ImageWidth=qzm.ImageWidth;
};
if(qzau.getAttribute('LabelPadding')){
qzbt.LabelPadding=parseInt(qzbt.LabelPadding);
}
else{
qzbt.LabelPadding=qzm.LabelPadding;
};
if(qzau.getAttribute('ExtendNodeCell')){
qzbt.ExtendNodeCell=(qzbt.ExtendNodeCell.toLowerCase()=='true');
}
else if(qze){
qzbt.ExtendNodeCell=qze.ExtendNodeCells;
};
if(qzau.getAttribute('Indent')){
qzbt.Indent=parseInt(qzbt.Indent);
}
else if(qze){
qzbt.Indent=qze.NodeIndent;
};
if(qzau.getAttribute('AutoPostBackOnSelect')){
qzbt.AutoPostBackOnSelect=(qzbt.AutoPostBackOnSelect.toLowerCase()=='true');
}
else if(qze){
qzbt.AutoPostBackOnSelect=qze.AutoPostBackOnSelect;
};
if(qzau.getAttribute('AutoPostBackOnExpand')){
qzbt.AutoPostBackOnExpand=(AutoPostBackOnExpand.toLowerCase()=='true');
}
else if(qze){
qzbt.AutoPostBackOnExpand=qze.AutoPostBackOnExpand;
};
if(qzau.getAttribute('AutoPostBackOnCollapse')){
qzbt.AutoPostBackOnCollapse=(qzbt.AutoPostBackOnCollapse.toLowerCase()=='true');
}
else if(qze){
qzbt.AutoPostBackOnCollapse=qze.AutoPostBackOnCollapse;
};
if(qzau.getAttribute('AutoPostBackOnRename')){
qzbt.AutoPostBackOnRename=(qzbt.AutoPostBackOnRename.toLowerCase()=='true');
}
else if(qze){
qzbt.AutoPostBackOnRename=qze.AutoPostBackOnRename;
};
if(qzau.getAttribute('AutoPostBackOnMove')){
qzbt.AutoPostBackOnMove=(qzbt.AutoPostBackOnMove.toLowerCase()=='true');
}
else if(qze){
qzbt.AutoPostBackOnMove=qze.AutoPostBackOnMove;
};
if(qzau.getAttribute('AutoPostBackOnCheckChanged')){
qzbt.AutoPostBackOnCheckChanged=(qzbt.AutoPostBackOnCheckChanged.toLowerCase()=='true');
}
else if(qze){
qzbt.AutoPostBackOnCheckChanged=qze.AutoPostbackOnCheckChanged
};
qzm.AddNode(qzbt);
if(qzau.childNodes.length>0){
qznj(qzbt,qzau.childNodes,qzAmm);
};
}
;
}
;
function ComponentArt_RememberScrollData(qzbu,qzt){
var qzux=document.getElementById(qzt.TreeViewID+"_ScrollData");
if(qzux){
qzux.value=qzbu.scrollLeft+','+qzbu.scrollTop;
};
}
;
function qzrb(qzt,qzm,qzcd,qzgo,qzma){
var qqDa=qqDb(qzm,qzt);
if(!qzma&&(qzm.ChildIndices.length>0||(qzm.ContentCallbackUrl&&qzm.ContentCallbackUrl!=''))&&(!qqDa||qqDa=='')
&&((qzm.Expanded&&qzt.CollapseNodeOnSelect)||(!qzm.Expanded&&qzt.ExpandNodeOnSelect))){
var qzcu=qzm.CalculateDepth();
ComponentArt_ExpandCollapse(qzm.StorageIndex,qzt.TreeViewID,qzcu);
};
if(!qzm.Selectable)
return;
if(qzt.SelectedNode){
if(!qzt.SelectedNodeDom){
qzt.SelectedNodeDom=document.getElementById(qzt.TreeViewID+'_item_'+qzt.SelectedNode.StorageIndex);
};
if(!qzt.SelectedNodeCellDom){
qzt.SelectedNodeCellDom=document.getElementById(qzt.TreeViewID+'_item_'+qzt.SelectedNode.StorageIndex+'_cell');
};
qzt.SelectedNodeDom.className=qzt.SelectedNode.qzao(false,false,true);
qzt.SelectedNodeCellDom.className=qzt.SelectedNode.qzao(false,false,false);
qzt.SelectedNodeDom.classOver=qzt.SelectedNode.qzao(true,false,true);
qzt.SelectedNodeDom.classNormal=qzt.SelectedNodeDom.className;
qzt.SelectedNodeCellDom.classOver=qzt.SelectedNode.qzao(true,false,false);
qzt.SelectedNodeCellDom.classNormal=qzt.SelectedNodeCellDom.className;
};
qzt.SelectedNode=qzm;
qzt.SelectedNodeDom=qzcd;
qzt.SelectedNodeCellDom=qzgo;
qzcd.className=qzm.qzao(false,true,true);
qzgo.className=qzm.qzao(false,true,false);
qzcd.classOver=qzm.qzao(true,true,true);
qzcd.classNormal=qzcd.className;
qzgo.classOver=qzm.qzao(true,true,false);
qzgo.classNormal=qzgo.className;
if(qzt.KeyboardEnabled){
qzAex(qzt,qzm,qzcd);
};
if(qzma){
return;
};
var qznx=document.getElementById(qzt.TreeViewID+'_SelectedNode');
if(qznx){
qznx.value=qzm.PostBackID;
};
if(qzt.ClientSideOnNodeSelect){
qzm.ResolveAncestors();
qzt.ClientSideOnNodeSelect(qzm);
};
if(qqDa!=''){
eval(qqDa);
};
}
;
function ComponentArt_TreeView_ClientSideMouse(qzAml,storageIndex){
var qzsz=qze.qzo(storageIndex);
if(qzAml){
qze.ClientSideOnNodeMouseOver(qzsz);
}
else{
qze.ClientSideOnNodeMouseOut(qzsz);
};
return false;
}
;
function ComponentArt_HandleTooltip(qzrm,qzbc,qzgc){
var qzt=qzlh(qzrm),qzq=document.getElementById(qzt.TreeViewID+"_div"),offsetx=0,qzgx=qzbc;
while(qzgx!=qzq){
offsetx+=qzgx.offsetLeft;
qzgx=qzgx.parentNode;
}
;
if(offsetx+qzbc.offsetWidth>qzq.offsetWidth-qzq.scrollLeft){
var qzz=qzt.qzo(qzgc),qzAgj=qzz.Text;
qzbc.title=qzAgj;
};
}
;
function ComponentArt_HandleStyles(qzbc,qzAml,qzAcb,qzAef){
if(qzbc.IsEditing||qzbc==qzdt){
return;
};
if(qzAml&&qzdt&&qqQl&&qqQl.DropChildCssClass&&qqQl.DropChildCssClass!=''){
qzbc.className=qqQl.DropChildCssClass;
return;
};
if(qze&&qze.qzkj==1){
qze.qzkj=0;
qze.qzai.onmouseout();
qze.qzfj.onmouseout();
};
if(!qzbc.classNormal){
qzbc.classNormal=qzAcb;
};
if(!qzbc.classOver){
qzbc.classOver=qzAef;
};
if(qzAml){
qzbc.className=qzbc.classOver;
}
else{
qzbc.className=qzbc.classNormal;
};
}
;
function ComponentArt_HandleCheck(qzAiy,postbackId,storageIndex){
var qzm=qze.qzo(storageIndex);
qzm.Checked=qzAiy.checked;
qzm.SaveState();
if(qze.ClientSideOnNodeCheckChanged){
qzm.ResolveAncestors();
qze.ClientSideOnNodeCheckChanged(qzm);
};
if(qzm.AutoPostBackOnCheckChanged){
__doPostBack(qze.ControlId,'CHECK '+qzm.PostBackID+' '+qzm.Checked);
return;
};
}
;
function ComponentArt_HandleClick(treeViewId,storageIndex){
qze=qzlh(treeViewId);
var qzcd=document.getElementById(treeViewId+'_item_'+storageIndex),
qzgo=document.getElementById(treeViewId+'_item_'+storageIndex+'_cell');
if(qze){
var qzm=qze.qzo(storageIndex);
if(qzm.EditingEnabled&&qze.SelectedNode&&qze.SelectedNode.StorageIndex==qzm.StorageIndex&&!qzm.IsEditing){
qzAho(qzgo);
qze.SelectedNode.IsEditing=true;
return;
}
else {
qzrb(qze,qzm,qzcd,qzgo);
};
};
return false;
}
;
function ComponentArt_HandleRightClick(qzim,storageIndex){
if(document.all){
if(qzim.button!=2){
return true;
};
}
else{
if(qzim.which!=3){
return true;
};
};
var qzm=qze.qzo(storageIndex);
qzm.ResolveAncestors();
qze.OnContextMenu(qzm,qzim);
ComponentArt_CancelEvent(qzim);
return false;
}
;
function ComponentArt_SetActiveTree(qzwz){
qze=qzwz;
}
;
function qzdu(qzAky){
return parseInt(qzAky.substring(qzAky.lastIndexOf('_')+1));
}
;
function qzlh(qzrm){
return eval(qzrm.replace(':','_').replace('$','_'));
}
;
var qze=null,ComponentArt_TreeView_Kernel_Loaded=true;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?