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

📄 graph.js

📁 dojo与json创建无限级树的时候,当在父结点下添加了一个新结点,我怎么让父亲结点重新调用json加载一下子结点内容.
💻 JS
字号:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.collections.Graph");dojo.require("dojo.collections.Collections");dojo.experimental("dojo.collections.Graph");dojo.collections.Graph=function(nodes){	function node(key, data, neighbors) {		this.key=key;		this.data=data;		this.neighbors=neighbors||new adjacencyList();		this.addDirected=function(){			if (arguments[0].constructor==edgeToNeighbor){				this.neighbors.add(arguments[0]);			}else{				var n=arguments[0];				var cost=arguments[1]||0;				this.neighbors.add(new edgeToNeighbor(n, cost));			}		}	}	function nodeList(){		var d=new dojo.collections.Dictionary();		function nodelistiterator(){			var o=[] ;	//	Create an indexing array			var e=d.getIterator();			while(e.get()){				o[o.length]=e.element;			}			var position=0;			this.element=o[position]||null;			this.atEnd=function(){				return (position>=o.length);			}			this.get=function(){				if(this.atEnd()){					return null;		//	object				}				this.element=o[position++];				return this.element;	//	object			};			this.map=function(/* function */fn, /* object? */scope){				var s=scope||dj_global;				if(Array.map){					return Array.map(o,fn,s);	//	array				}else{					var arr=[];					for(var i=0; i<o.length; i++){						arr.push(fn.call(s,o[i]));					}					return arr;		//	array				}			};			this.reset=function(){				position=0;				this.element=o[position];			};		}				this.add=function(node){			d.add(node.key, node);		};		this.clear=function(){			d.clear();		};		this.containsKey=function(key){			return d.containsKey(key);		};		this.getIterator=function(){			return new nodelistiterator(this);		};		this.item=function(key){			return d.item(key);		};		this.remove=function(node){			d.remove(node.key);		};	}	function edgeToNeighbor(node, cost){		this.neighbor=node;		this.cost=cost;	}	function adjacencyList(){		var d=[];		this.add=function(o){			d.push(o);		};		this.item=function(i){			return d[i];		};		this.getIterator=function(){			return new dojo.collections.Iterator([].concat(d));		};	}	this.nodes=nodes||new nodeList();	this.count=this.nodes.count;	this.clear=function(){		this.nodes.clear();		this.count=0;	};	this.addNode=function(){		var n=arguments[0];		if(arguments.length > 1){			n=new node(arguments[0],arguments[1]);		}		if(!this.nodes.containsKey(n.key)){			this.nodes.add(n);			this.count++;		}	};	this.addDirectedEdge=function(uKey, vKey, cost){		var uNode,vNode;		if(uKey.constructor!= node){			uNode=this.nodes.item(uKey);			vNode=this.nodes.item(vKey);		}else{			uNode=uKey;			vNode=vKey;		}		var c=cost||0;		uNode.addDirected(vNode,c);	};	this.addUndirectedEdge=function(uKey, vKey, cost){		var uNode, vNode;		if(uKey.constructor!=node){			uNode=this.nodes.item(uKey);			vNode=this.nodes.item(vKey);		}else{			uNode=uKey;			vNode=vKey;		}		var c=cost||0;		uNode.addDirected(vNode,c);		vNode.addDirected(uNode,c);	};	this.contains=function(n){		return this.nodes.containsKey(n.key);	};	this.containsKey=function(k){		return this.nodes.containsKey(k);	};}

⌨️ 快捷键说明

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