📄 tree.js
字号:
this.labelContainer.className=this.labelContainer.className.replace(/tree-lines-./,"");if(this.isFirstNodeInBranch()){if(this.isLastNodeInBranch()){if(this.config.level==1){this.labelContainer.className+=" tree-lines-s";}else{this.labelContainer.className+=" tree-lines-b";}}else{if(this.config.level==1){this.labelContainer.className+=" tree-lines-t";}else{this.labelContainer.className+=" tree-lines-c";}}}else if(this.isLastNodeInBranch()){this.labelContainer.className+=" tree-lines-b";}else{this.labelContainer.className+=" tree-lines-c";}if(this.hasSubtree()){if(this.isLastNodeInBranch()){this.childrenContainer.className=this.childrenContainer.className.replace(/\btree-lined\b/,"");}else{this.childrenContainer.className+=" tree-lined";}}};Zapatec.Tree.Node.prototype.putIcons=function(){if(!this.isCreated){return null;}if(this.expandedIcon||this.collapsedIcon||this.fetchingIcon||this.elementIcon){if(this.fetchingIcon){this.fetchingIcon.style.display=this.isFetching?"block":"none";}if(this.expandedIcon){this.expandedIcon.style.display=!this.data.isExpanded||this.isFetching?"none":"block";}if(this.collapsedIcon){this.collapsedIcon.style.display=this.data.isExpanded||this.isFetching?"none":"block";}}if(this.signElement){if(this.isFetching){this.signElement.className=this.signElement.className.replace(/\b(plus|minus)\b/,"fetching");}else if(this.data.isExpanded){this.signElement.className=this.signElement.className.replace(/\b(plus|fetching)\b/,"minus");}else{this.signElement.className=this.signElement.className.replace(/\b(minus|fetching)\b/,"plus");}}};Zapatec.Tree.Node.prototype.onIconClick=function(){this.fireEvent("iconClick");if(this.config.tree.config.selectOnIconClick){if(this.config.tree.config.deselectSelected&&this.data.isSelected){this.deselect();}else{this.select();}}if(!this.config.tree.config.expandOnIconClick){return null;}this.toggle();};Zapatec.Tree.Node.prototype.onIconDblclick=function(){this.fireEvent("iconDblclick");if(this.config.tree.config.selectOnIconDblclick){if(this.config.tree.config.deselectSelected&&this.data.isSelected){this.deselect();}else{this.select();}}if(!this.config.tree.config.expandOnIconDblclick){return null;}this.toggle();};Zapatec.Tree.Node.prototype.onIconContextMenu=function(){return!this.config.tree.config.disableContextMenu;}Zapatec.Tree.Node.prototype.onIconMouseup=function(ev){if(!ev){ev=window.event;}if(Zapatec.Tree.Utils.isRightClick(ev)){this.fireEvent("labelRightClick",ev);Zapatec.Utils.stopEvent(ev);ev.returnValue=true;return false;}}Zapatec.Tree.Node.prototype.onSignClick=function(){this.fireEvent("signClick");if(this.config.tree.config.selectOnSignClick){if(this.config.tree.config.deselectSelected&&this.data.isSelected){this.deselect();}else{this.select();}}if(!this.config.tree.config.expandOnSignClick){return null;}this.toggle();};Zapatec.Tree.Node.prototype.onSignDblclick=function(){this.fireEvent("signDblclick");if(this.config.tree.config.selectOnSignDblclick){if(this.config.tree.config.deselectSelected&&this.data.isSelected){this.deselect();}else{this.select();}}if(!this.config.tree.config.expandOnSignDblclick){return null;}this.toggle();};Zapatec.Tree.Node.prototype.onLabelClick=function(){this.fireEvent("labelClick");if(this.config.tree.config.selectOnLabelClick){if(this.config.tree.config.deselectSelected&&this.data.isSelected){this.deselect();}else{this.select();}}if(this.config.tree.config.editable&&this.config.tree.config.editOnClick){this.config.tree.editInline.show(this.getLinkToLabelElement());}if(!this.config.tree.config.expandOnLabelClick){return null;}this.toggle();};Zapatec.Tree.Node.prototype.onLabelDblclick=function(){this.fireEvent("labelDblclick");if(this.config.tree.config.selectOnLabelDblclick){if(this.config.tree.config.deselectSelected&&this.data.isSelected){this.deselect();}else{this.select();}}if(this.config.tree.config.editable&&this.config.tree.config.editOnDblclick){this.config.tree.editInline.show(this.getLinkToLabelElement());}if(!this.config.tree.config.expandOnLabelDblclick){return null;}this.toggle();};Zapatec.Tree.Node.prototype.onLabelContextMenu=function(){return!this.config.tree.config.disableContextMenu;}Zapatec.Tree.Node.prototype.onLabelMouseup=function(ev){if(!ev){ev=window.event;}if(Zapatec.Tree.Utils.isRightClick(ev)){this.fireEvent("labelRightClick",ev);Zapatec.Utils.stopEvent(ev);ev.returnValue=true;return false;}}Zapatec.Tree.Node.prototype.select=function(){if(this.config.isRootNode){return null;}if(!this.config.tree.config.selectMultiple){if(this.config.tree.prevSelected){this.config.tree.prevSelected.deselect();}}this.data.isSelected=true;this.config.tree.prevSelected=this;if(this.config.tree.config.saveState){Zapatec.Utils.writeCookie("Zapatec.Tree-"+this.config.tree.config.saveId,this.data.attributes&&this.data.attributes.id?this.data.attributes.id:this.id,null,'/',7);}if(this.isCreated&&this.config.tree.config.highlightSelectedNode){Zapatec.Utils.addClass(this.labelContainer,"tree-item-selected");}this.fireEvent("select");if(this.config.tree.onItemSelect){this.config.tree.onItemSelect(this.data&&this.data.attributes&&this.data.attributes.id?this.data.attributes.id:this.id);}};Zapatec.Tree.Node.prototype.deselect=function(){if(this.config.isRootNode||!this.data.isSelected){return null;}if(this.isCreated){this.labelContainer.className=this.labelContainer.className.replace(/\btree-item-selected\b/,"");}this.data.isSelected=false;this.config.tree.prevSelected=null;this.fireEvent("deselect");};Zapatec.Tree.Node.prototype.collapse=function(){this.data.isExpanded=false;if(!this.isCreated||!this.hasSubtree()){return null;}this.childrenContainer.style.display='none';if(!this.config.isRootNode){this.labelContainer.className=this.labelContainer.className.replace(/\btree-item-expanded\b/,"");this.labelContainer.className+=" tree-item-collapsed";this.putIcons();}this.fireEvent("collapse");};Zapatec.Tree.Node.prototype.collapseBranch=function(){if(!this.children){return null;}for(var ii=0;ii<this.children.length;ii++){this.children[ii].collapseBranch();}this.collapse();this.fireEvent("collapseBranch");};Zapatec.Tree.Node.prototype.expand=function(){this.data.isExpanded=true;if(this.config.tree.config.compact){var parentNodes=[];var parentNode=this;while(parentNode!=null&&!parentNode.config.isRootNode){parentNodes.push(parentNode);parentNode=parentNode.config.parentNode;}for(var ii=this.config.tree.allNodes.length-1;ii>=0;ii--){var node=this.config.tree.allNodes[ii];if(node.data&&node.data.isExpanded){var isParent=false;for(var jj=parentNodes.length-1;jj>=0;jj--){if(node==parentNodes[jj]){isParent=true;break;}}if(!isParent){node.collapse();}}}}if(!this.isCreated||!this.hasSubtree()){return null;}if(!this.config.isRootNode){this.labelContainer.className=this.labelContainer.className.replace(/\btree-item-collapsed\b/,"");this.labelContainer.className+=" tree-item-expanded";this.putIcons();}if(this.config.quick||this.children.length==0){if(this.config.source){if(!this.isFetching){this.loadData();}}else{this.childrenContainer.style.display='block';this.createChildren();for(var ii=0;ii<this.children.length;ii++){if(!this.children[ii].isCreated){this.children[ii].afterCreate();}}}}else{this.childrenContainer.style.display='block';this.createChildren();for(var ii=0;ii<this.children.length;ii++){if(!this.children[ii].isCreated){this.children[ii].afterCreate();}}if(this.config.source){if(!this.isFetching){this.loadData();}}}this.fireEvent("expand");};Zapatec.Tree.Node.prototype.expandBranch=function(){if(!this.children){return null;}for(var ii=0;ii<this.children.length;ii++){this.children[ii].expandBranch();}this.expand();this.fireEvent("expandBranch");};Zapatec.Tree.Node.prototype.toggle=function(){this.fireEvent("toggle");if(this.data.isExpanded){return this.collapse();}else{return this.expand();}};Zapatec.Tree.Node.prototype.loadDataJson=function(objResponse){if(objResponse==null){return null;}if(objResponse.expandedIcon){objResponse.expandedIcon=Zapatec.Tree.Utils.addIconClass(objResponse.expandedIcon,"expandedIcon");}if(objResponse.collapsedIcon){objResponse.collapsedIcon=Zapatec.Tree.Utils.addIconClass(objResponse.collapsedIcon,"collapsedIcon");}if(objResponse.fetchingIcon){objResponse.fetchingIcon=Zapatec.Tree.Utils.addIconClass(objResponse.fetchingIcon,"fetchingIcon");}if(objResponse.elementIcon){objResponse.elementIcon=Zapatec.Tree.Utils.addIconClass(objResponse.elementIcon,"elementIcon");}if(this.isCreated&&(!this.config.tree.config.quick||this.config.tree.config.quick&&this.isChildrenCreated)){if(objResponse.children){for(var ii=0;ii<objResponse.children.length;ii++){this.appendChild(objResponse.children[ii]);}}}else{if(this.data==null){this.data=objResponse;}else{if(objResponse.children){this.data.children=this.data.children.concat(objResponse.children);}else{this.data.children=objResponse.children;}this.updateCheckbox();}if(!this.config.tree.config.quick||this.config.isRootNode){this.initChildren();}if(this.data.attributes&&this.data.attributes.id){this.config.tree.id2Obj[this.data.attributes.id]=this;}else{this.config.tree.id2Obj[this.id]=this;}}};Zapatec.Tree.Node.prototype.loadDataXml=function(objSource){if(objSource==null||objSource.documentElement==null){return null;}if(objSource.documentElement.tagName.toLowerCase()=="list"){var arr=[];for(var jj=0;jj<objSource.documentElement.childNodes.length;jj++){try{var tmp=Zapatec.Tree.Utils.convertXml2Json(objSource.documentElement.childNodes[jj]);}catch(e){}if(tmp!=null){arr.push(tmp);}}this.loadDataJson({children:arr});}else{this.loadDataJson(Zapatec.Tree.Utils.convertXml2Json(objSource.documentElement));}};Zapatec.Tree.Node.prototype.loadDataHtml=function(objSource){if(objSource==null||!objSource.nodeName){return null;}if(objSource.nodeName.toLowerCase()=='ul'){var arr=[];for(var ii=0;ii<objSource.childNodes.length;ii++){var tmp=Zapatec.Tree.Utils.convertLi2Json(objSource.childNodes[ii],this.config.tree.config.prevCompatible);if(tmp!=null){arr.push(tmp);}}this.loadDataJson({children:arr});}else{this.loadDataJson(Zapatec.Tree.Utils.convertLi2Json(objSource,this.config.tree.config.prevCompatible));}};Zapatec.Tree.Node.prototype.showContainer=function(){};Zapatec.Tree.Node.prototype.hideContainer=function(){};Zapatec.Tree.Node.prototype.expandHere=function(){if(this.config.isRootNode){return null;}var parentNodes=[];var parentNode=this.config.parentNode;while(parentNode!=null){parentNodes.push(parentNode);parentNode=parentNode.config.parentNode;}for(var ii=parentNodes.length-1;ii>=0;ii--){parentNodes[ii].expand();}};Zapatec.Tree.Node.prototype.sync=function(){if(this.config.isRootNode){return null;}this.expandHere();this.select();};Zapatec.Tree.Node.prototype.destroy=function(quick){if(this.isCreated&&!quick){Zapatec.Utils.destroy(this.labelContainer);if(this.hasSubtree()){Zapatec.Utils.destroy(this.childrenContainer);}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -