Add helper method .addNodes() that accepts list of strings.
This commit is contained in:
		
							parent
							
								
									bc1e1a13a3
								
							
						
					
					
						commit
						90b23f131e
					
				
							
								
								
									
										15
									
								
								README.mkdn
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								README.mkdn
									
									
									
									
									
								
							|  | @ -24,7 +24,7 @@ Demo | |||
| [demo](http://dhotson.github.com/springy/demo.html) | ||||
| 
 | ||||
| 
 | ||||
| Basic Usage | ||||
| Getting Started | ||||
| ---- | ||||
| 
 | ||||
| springy.js by itself is quite plain and doesn't include any code to do rendering | ||||
|  | @ -36,10 +36,19 @@ However, I've written a little helper jQuery plugin called springyui.js | |||
| to help get you started. It's got a semi-decent default renderer and some | ||||
| half assed drag and drop. | ||||
| 
 | ||||
| See demo.html and springyui.js for an example of usage. | ||||
| Basic Usage | ||||
| ---- | ||||
| 
 | ||||
| See [demo.html](http://dhotson.github.com/springy/demo.html) for the way to | ||||
| add nodes and edges to graph and springyui.js for the rendering example. | ||||
| 
 | ||||
| Advanced Usage | ||||
| Starting from Springy 1.1 it is possible to add nodes with simple array | ||||
| of node names [demo2.html](http://techtonik.github.com/springy/demo2.html): | ||||
| 
 | ||||
|     var graph = new Graph(); | ||||
|     graph.addNodes(['mark', 'higgs', 'other', 'etc']); | ||||
| 
 | ||||
| Advanced Drawing | ||||
| ---- | ||||
| 
 | ||||
| If you're keen to do your own custom drawing, you'll need to know a few | ||||
|  |  | |||
							
								
								
									
										42
									
								
								demo2.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								demo2.html
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,42 @@ | |||
| <html> | ||||
| <body> | ||||
| <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> | ||||
| <script src="springy.js"></script> | ||||
| <script src="springyui.js"></script> | ||||
| <script> | ||||
| var graph = new Graph(); | ||||
| graph.addNodes(['Dennis', 'Michael', 'Jessica', 'Timothy', 'Barbara', 'Franklin']) | ||||
| graph.addNodes(['Monty', 'James', 'Bianca']); | ||||
| 
 | ||||
| var dennis = graph.newNode({label: 'Dennis'}); | ||||
| var michael = graph.newNode({label: 'Michael'}); | ||||
| var jessica = graph.newNode({label: 'Jessica'}); | ||||
| var timothy = graph.newNode({label: 'Timothy'}); | ||||
| var barbara = graph.newNode({label: 'Barbara'}); | ||||
| var franklin = graph.newNode({label: 'Franklin'}); | ||||
| var monty = graph.newNode({label: 'Monty'}); | ||||
| var james = graph.newNode({label: 'James'}); | ||||
| var bianca = graph.newNode({label: 'Bianca'}); | ||||
| 
 | ||||
| graph.newEdge(dennis, michael, {color: '#00A0B0', label: 'Foo bar'}); | ||||
| graph.newEdge(michael, dennis, {color: '#6A4A3C'}); | ||||
| graph.newEdge(michael, jessica, {color: '#CC333F'}); | ||||
| graph.newEdge(jessica, barbara, {color: '#EB6841'}); | ||||
| graph.newEdge(michael, timothy, {color: '#EDC951'}); | ||||
| graph.newEdge(franklin, monty, {color: '#7DBE3C'}); | ||||
| graph.newEdge(dennis, monty, {color: '#000000'}); | ||||
| graph.newEdge(monty, james, {color: '#00A0B0'}); | ||||
| graph.newEdge(barbara, timothy, {color: '#6A4A3C'}); | ||||
| graph.newEdge(dennis, bianca, {color: '#CC333F'}); | ||||
| graph.newEdge(bianca, monty, {color: '#EB6841'}); | ||||
| 
 | ||||
| jQuery(function(){ | ||||
| 	var springy = jQuery('#springydemo').springy({ | ||||
| 		graph: graph | ||||
| 	}); | ||||
| }); | ||||
| </script> | ||||
| 
 | ||||
| <canvas id="springydemo" width="640" height="480" /> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										21
									
								
								springy.js
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								springy.js
									
									
									
									
									
								
							|  | @ -1,5 +1,5 @@ | |||
| /** | ||||
|  * Springy v1.0.1 | ||||
|  * Springy v1.1.0 | ||||
|  * | ||||
|  * Copyright (c) 2010 Dennis Hotson | ||||
|  * | ||||
|  | @ -39,13 +39,23 @@ var Graph = function() { | |||
| var Node = function(id, data) { | ||||
| 	this.id = id; | ||||
| 	this.data = (data !== undefined) ? data : {}; | ||||
| 
 | ||||
| // Data fields used by layout algorithm in this file:
 | ||||
| //   	this.data.mass 
 | ||||
| // Data used by default renderer in springyui.js
 | ||||
| //   	this.data.label
 | ||||
| }; | ||||
| 
 | ||||
| var Edge = function(id, source, target, data) { | ||||
| 	this.id = id; | ||||
|         /** @type {Node} */ | ||||
| 	this.source = source; | ||||
| 	this.target = target; | ||||
| 	this.data = (data !== undefined) ? data : {}; | ||||
| 
 | ||||
| // Edge data field used by layout alorithm
 | ||||
| //   	this.data.length
 | ||||
| //   	this.data.type
 | ||||
| }; | ||||
| 
 | ||||
| Graph.prototype.addNode = function(node) { | ||||
|  | @ -59,6 +69,15 @@ Graph.prototype.addNode = function(node) { | |||
| 	return node; | ||||
| }; | ||||
| 
 | ||||
| Graph.prototype.addNodes = function(list) { | ||||
|         if (typeof(list[0]) == "string") { | ||||
| 		list.forEach(function(name) { | ||||
|                     var node = new Node(name, data = {label:name}); | ||||
|                     this.addNode(node); | ||||
|                 }, this); | ||||
|         } | ||||
| }; | ||||
| 
 | ||||
| Graph.prototype.addEdge = function(edge) { | ||||
| 	var exists = false; | ||||
| 	this.edges.forEach(function(e) { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user