diff --git a/docs/css/style.css b/docs/css/style.css new file mode 100644 index 00000000..f0c251df --- /dev/null +++ b/docs/css/style.css @@ -0,0 +1,87 @@ +html, body { + width: 100%; + height: 100%; + padding: 0; + margin: 0; +} + +body, td, th { + font-family: arial, sans-serif; + font-size: 11pt; + color: #4D4D4D; + line-height: 1.7em; +} + +#container { + margin: 0 auto; + padding-bottom: 50px; + width: 900px; +} + +h1 { + font-size: 180%; + font-weight: bold; + padding: 0; + margin: 1em 0 1em 0; +} + +h2 { + padding-top: 20px; + padding-bottom: 10px; + border-bottom: 1px solid #a0c0f0; + color: #2B7CE9; +} + +h3 { + font-size: 140%; +} + + +a { + color: #2B7CE9; + text-decoration: none; +} +a:visited { + color: #2E60A4; +} +a:hover { + color: red; + text-decoration: underline; +} + +hr { + border: none 0; + border-top: 1px solid #abc; + height: 1px; +} + +pre { + display: block; + font-size: 10pt; + line-height: 1.5em; + font-family: monospace; +} + +pre, code { + background-color: #f5f5f5; +} + +table +{ + border-collapse: collapse; +} + +th { + font-weight: bold; + border: 1px solid lightgray; + background-color: #E5E5E5; + text-align: left; + vertical-align: top; + padding: 5px; +} + +td { + border: 1px solid lightgray; + padding: 5px; + vertical-align: top; +} diff --git a/docs/graph.html b/docs/graph.html new file mode 100644 index 00000000..25ada445 --- /dev/null +++ b/docs/graph.html @@ -0,0 +1,1532 @@ + + + +
+Author | +Jos de Jong, Almende B.V. | +
Webpage | +http://visjs.org | +
License | +Apache License, Version 2.0 | +
+ Graph is a visualization to display graphs and networks consisting of nodes + and edges. The visualization is easy to use and supports custom styles, + colors, sizes, images, and more. +
+ ++ The graph visualization works smooth on any modern browser for up to a + few hundred nodes and edges. +
+ ++ To get started with Graph, install or download the + vis.js library. +
+ ++ Here a basic graph example. More examples can be found in the + examples directory. +
+ +<!doctype html> + <html> + <head> + <title>Graph | Basic usage</title> + + <script type="text/javascript" src="../../vis.js"></script> + </head> + + <body> + + <div id="mygraph"></div> + + <script type="text/javascript"> + // create an array with nodes + var nodes = [ + {id: 1, text: 'Node 1'}, + {id: 2, text: 'Node 2'}, + {id: 3, text: 'Node 3'}, + {id: 4, text: 'Node 4'}, + {id: 5, text: 'Node 5'} + ]; + + // create an array with edges + var edges = [ + {from: 1, to: 2}, + {from: 1, to: 3}, + {from: 2, to: 4}, + {from: 2, to: 5} + ]; + + // specify options + var options = { + width: '400px', + height: '400px' + }; + + // create a graph + var graph = new vis.Graph(document.getElementById('mygraph')); + + // draw the graph with the created data and options + graph.draw(nodes, edges, options); + </script> + + </body> + </html> ++ + +
+ Install or download the vis.js library. + in a subfolder of your project. Include the library script in the head of your html code: +
+ ++<script type="text/javascript" src="vis/vis.js"></script> ++ + +The class name of the Graph is
vis.Graph
+var graph = new vis.Graph(container);+ +After being loaded, the graph can be drawn via the function
draw()
,
+provided with data and options.
+graph.draw(nodes, edges, packages, options);+where
nodes
, edges
, and packages
are
+an Array
, and options
is a name-value map in the
+JSON format. Both edges
and packages
are optional.
+
+
+
+
++ Graph accepts the following data +
+
+ The node array is required for the graph visualization.
+
+ The array must contain at least a property id
.
+ The array can have extra properties, used to define the type and style of
+ individual nodes.
+
+ A JavaScript Array with nodes is constructed like: +
++var nodes = [ + { + 'id': 1, + 'text': 'Node 1' + }, + // ... more data +]; ++ + +
+ The node properties are defined as: +
+ +Name | +Type | +Required | +Description | +
---|---|---|---|
action | +string | +no | +By specifying action , a node can be created, updated,
+ or deleted. This is useful in combination with timestamp
+ to animate history, or for dynamically updating the graph.
+
+ Available values are: create ,
+ update (default), or delete .
+ |
+
backgroundColor | +String | +"#97C2FC" | +Background color for the node. | +
borderColor | +String | +"#2B7CE9" | +Border color for the node. | +
group | +* | +no | +A group number or name. The type can be number ,
+ string , or an other type. All nodes with the same group get
+ the same color schema. |
+
fontColor | +String | +"black" | +Font color for text in the node. | +
fontFace | +String | +"sans" | +Font face for text in the node, for example "verdana" or "arial". | +
fontSize | +Number | +14 | +Font size in pixels for text in the node. | +
highlightColor | +String | +"#D2E5FF" | +Background color of the node when selected. | +
id | +* | +yes | +A unique id for this node. + Nodes may not have duplicate id's. + Id's do not need to be consecutive. + An id is normally a number, but may be any type. | +
image | +string | +no | +Url of an image. Only applicable when the style of the node is
+ image . |
+
radius | +number | +no | +Radius for the node. Applicable for all styles except rect ,
+ circle , and database .
+ The value of radius will override a value in
+ property value . |
+
style | +string | +no | +Define the shape for the node.
+ Choose from rect (default), circle ,
+ database , image , text ,
+ dot , star , triangle ,
+ triangleDown , and square .
+ + + In case of image , a property with name image must
+ be provided, containing image urls.
+ + + The shapes dot , star , triangle ,
+ triangleDown , and square , are scalable.
+ The size is determined by the properties radius or
+ value .
+ + + When a property text is provided,
+ this text will be displayed inside the shape in case of styles
+ rect , circle , and database .
+ For all other shapes, the text will be displayed right below the shape.
+
+ |
+
text | +string | +no | +Text to be displayed in the node or under the image of the node.
+ Multiple lines can be separated by a newline character \n . |
+
timestamp | +Date | Number | +no | +Timestamp used for filtering nodes when animating. + See section Animation for more information. | +
title | +string | +no | +Title to be displayed when the user hovers over the node. + The title can contain HTML code. | +
value | +number | +no | +A value for the node.
+ The radius of the nodes will be scaled automatically from minimum to
+ maximum value.
+ Only applicable when the style of the node is dot .
+ If a radius is provided for the node too, it will override the
+ radius calculated from the value. |
+
x | +number | +no | +Horizontal position in pixels. + The horizontal position of the node will be fixed. + The vertical position y may remain undefined. | +
y | +number | +no | +Vertical position in pixels. + The vertical position of the node will be fixed. + The horizontal position x may remain undefined. | +
+ The array with edges must at least contain properties from
and
+ to
.
+ The array can have extra properties, used to define the type and style of
+ individual edges.
+
+ A JavaScript Array with edges is constructed as: +
++var edges= [ + { + 'from': 1, + 'to': 3 + }, + // ... more data +]; ++ +
+ The edge properties are defined as: +
+ +Name | +Type | +Required | +Description | +
---|---|---|---|
action | +string | +no | +By specifying action , a link can be created, updated,
+ or deleted. This is useful in combination with timestamp
+ to animate history, or for dynamically updating the graph.
+
+ An action on a link can only be used when the link has an id.
+
+ Available values are: create (default),
+ update , or delete .
+
+ |
+
altdashlength | +number | +no | +Length of the alternated dash in pixels on a dashed line.
+ Specifying altdashlength allows for creating
+ a dashed line with a dash-dot style, for example when
+ dashlength=10 and altdashlength=5 .
+ See also the option dashlength .
+ Only applicable when the line style is dash-line . |
+
color | +string | +no | +A HTML color for the link. | +
dashlength | +number | +no | +Length of a dash in pixels on a dashed line.
+ Only applicable when the line style is dash-line . |
+
dashgap | +number | +no | +Length of a gap in pixels on a dashed line.
+ Only applicable when the line style is dash-line . |
+
fontColor | +String | +"black" | +Font color for the text label of the link. + Only applicable when "text" is defined. | +
fontFace | +String | +"sans" | +Font face for the text label of the link, + for example "verdana" or "arial". + Only applicable when "text" is defined. | +
fontSize | +Number | +14 | +Font size in pixels for the text label of the link. + Only applicable when "text" is defined. | +
from | +* | +yes | +The id of a node where the link starts. The type must correspond with + the type of the node id's. This is normally a number, but can be any + type. | +
length | +number | +no | +The length of the link in pixels. | +
style | +string | +no | +Define a drawing style for the link.
+ Choose from line (default), arrow ,
+ arrow-end , moving-arrows ,
+ or dash-line .
+ |
+
text | +string | +no | +Text to be displayed halfway the link. | +
timestamp | +Date | Number | +no | +Timestamp used for filtering edges when animating. + See section Animation for more information. | +
title | +string | +no | +Title to be displayed when the user hovers over the link. + The title can contain HTML code. | +
to | +* | +yes | +The id of a node where the link ends. The type must correspond with + the type of the node id's. This is normally a number, but can be any + type. | +
value | +number | +no | +A value for the link.
+ The width of the edges will be scaled automatically from minimum to
+ maximum value.
+ If a width is provided for the link too, it will override the
+ width calculated from the value. |
+
width | +number | +no | +Width of the line in pixels. The width will
+ override a specified value , if a value is
+ specified too. |
+
+ The array with packages must at least contain properties from
and
+ to
.
+ The array can have extra properties, used to define the type and style of
+ individual packages.
+
+ There are two types of packages: +
+ +progress
is provided,
+ the package is automatically moved from start node to end node, and deleted
+ once it has reached the end node. The duration can be customized by setting
+ a value for duration
.progress
is provided,
+ the package is positioned at the given progress between start and end node.
+ The progress can be updated dynamically via the method addPackages
,
+ and can be deleted via the method deletePackage
. Manual packages
+ must have an id specified, in order to be able to update and delete them lateron.
++ A JavaScript Array with packages is constructed as: +
++var packages = [ + { + 'from': 1, + 'to': 3 + } + // ... more data +]; ++ + +
+ The package properties are defined as: +
+ +Name | +Type | +Required | +Description | +
---|---|---|---|
action | +string | +no | +By specifying action , a package can be created or deleted.
+
+ Available values are: create (default),
+ update , or delete .
+
+ When a package is created with an id which already exists, the existing
+ package will be updated. The action property can be used in
+ combination with timestamp to animate history.
+ |
+
color | +string | +no | +A HTML color for the package. | +
duration | +number | +no | +Duration in seconds the animation of the package moving from start to + end node. Only applicable when progress is not provided. + | +
from | +* | +yes | +The id of a node where the link starts. The type must correspond with + the type of the node id's. This is normally a number, but can be any + type. | +
id | +* | +yes | +A unique id for the package. Packages cannot have duplicate id's. + An id is required for packages with manually defined progress, + in order to be able to update or delete them lateron. + | +
image | +string | +no | +Url of an image. Only applicable when style is image . |
+
progress | +number | +no | +A number between 0 and 1 which determines the progress of the package + between the start and end node. If progress is defined, the package must + also have an id defined. + | +
radius | +number | +no | +The radius of the package. Only applicable when style is dot . |
+
style | +string | +no | +Define a drawing style for the package.
+ Choose from dot (default), image ,
+ star , triangle , triangleDown , or
+ square .
+
+ In case of an image, a property with image url must be provided in the package.
+ |
+
title | +string | +no | +Title to be displayed when the user hovers over the package. + The title can contain HTML code. | +
to | +* | +yes | +The id of a node where the link ends. The type must correspond with + the type of the node id's. This is normally a number, but can be any + type. | +
timestamp | +Date or number | +no | +The time on which this package is added or removed.
+ Only applicable in combination with the property action .
+ When timestamp is provided, a slider with start and stop button is created
+ to enable playing history.
+ |
+
value | +number | +no | +A value for the package.
+ The radius of the packages will be scaled automatically from minimum to
+ maximum value.
+ Only applicable when the style of the node is dot .
+ If a parameter radius is provided for the node too,
+ this will override the radius calculated from the value. |
+
+ Graph contains parser to import data in the + DOT language. + There following methods are available: +
+ + +Method | +Return Type | +Description | +
---|---|---|
vis.Graph.util.parseDOT(data) | +Object | +
+ Parse a string containing data in DOT language into a JSON object.
+ The returned object contains two arrays, nodes ,
+ edges , containing the parsed nodes and edges.
+ |
+
vis.Graph.util.DOTToGraph(data) | +Object | +
+ Convert a string containing a graph in DOT language into a map
+ containing with nodes and edges in the format of Graph.
+ The returned object contains parameters nodes ,
+ edges , and options , which can be used
+ directly to draw a graph using draw(nodes, edges, options) .
+ |
+
+Example usage: +
+ ++ // create a graph view + var graph = new vis.Graph(container); + + // parse data in DOT-notation + var dot = 'digraph {1 -> 1 -> 2; 2 -> 3; 2 -- 4; 2 -> 1 }'; + data = vis.Graph.util.DOTToGraph(dot); + + // draw the data + graph.draw(data.nodes, data.edges, data.options); ++ + +
+ Options can be used to customize the graph. Options are defined as a JSON object. + All options are optional. +
+ ++var options = { + 'width': '100%', + 'height': '400px', + 'edges': { + 'color': 'red', + 'width': 2 + } +}; ++ +
+ The following options are available. +
+ +Name | +Type | +Default | +Description | +
---|---|---|---|
backgroundColor | +String or Object | +"white" | +The background color for the main area of the chart. + Can be either a simple HTML color string, for example: 'red' or '#00cc00', + or an object with optional properties stroke, strokeWidth, and fill. | +
backgroundColor.stroke | +String | +"#666" | +The color of the chart border, as an HTML color string. | +
backgroundColor.strokeWidth | +Number | +1 | +The border width, in pixels. | +
backgroundColor.fill | +String | +"white" | +The chart fill color, as an HTML color string. | +
groups | +Object | +none | +It is possible to specify custom styles for groups. + Each node assigned a group gets the specified style. + See Groups for an overview of the available styles + and an example. + | +
height | +String | +"400px" | +The height of the graph in pixels or as a percentage. | +
edges.altdashlength | +number | +none | +Length of the alternated dash in pixels on a dashed line.
+ Specifying altdashlength allows for creating
+ a dashed line with a dash-dot style, for example when
+ dashlength=10 and altdashlength=5 .
+ See also the option dashlength .
+ Only applicable when the line style is dash-line . |
+
edges.color | +String | +"#2B7CE9" | +The default color of a link. | +
edges.dashlength | +number | +10 | +Length of a dash in pixels on a dashed line.
+ Only applicable when the line style is dash-line . |
+
edges.dashgap | +number | +5 | +Length of a gap in pixels on a dashed line.
+ Only applicable when the line style is dash-line . |
+
edges.length | +Number | +100 | +The default length of a link. | +
edges.style | +String | +"line" | +The default style of a link.
+ Choose from line (default), arrow ,
+ moving-arrows , dash-line . |
+
edges.width | +Number | +1 | +The default width of a link. | +
nodes.borderColor | +String | +"#2B7CE9" | +Default border color of the nodes | +
nodes.backgroundColor | +String | +"#97C2FC" | +Default background color of the nodes | +
nodes.highlightColor | +String | +"#D2E5FF" | +Default background color of the node when the node is selected. | +
nodes.fontColor | +String | +"black" | +Default font color for text in the nodes. | +
nodes.fontFace | +String | +"sans" | +Default font face for text in the nodes, for example "verdana" or "arial". | +
nodes.fontSize | +Number | +14 | +Default font size in pixels for text in the nodes. | +
nodes.group | +String | +none | +Default group for the nodes. | +
nodes.image | +String | +none | +Default image url for the nodes. only applicable with style image . |
+
nodes.widthMin | +Number | +16 | +The minimum width for a scaled image. Only applicable with style image . |
+
nodes.widthMax | +Number | +64 | +The maximum width for a scaled image. Only applicable with style image . |
+
nodes.style | +String | +"rect" | +The default style for all nodes.
+ Choose from rect (default), circle ,
+ database , image , text , dot .
+ This style can be overridden by a group style, or by a style of an individual node. |
+
nodes.radius | +Number | +5 | +The default radius for a node. Only applicable with style dot . |
+
nodes.radiusMin | +Number | +5 | +The minimum radius for a scaled node. Only applicable with style dot . |
+
nodes.radiusMax | +Number | +20 | +The maximum radius for a scaled node. Only applicable with style dot . |
+
packages.color | +String | +"#2B7CE9" | +Default color for all packages | +
packages.duration | +Number | +1.0 | +Default duration of animated packages in seconds. | +
packages.image | +String | +none | +Default image for all packages.
+ Style of the packages must be set to image |
+
packages.widthMin | +Number | +16 | +The minimum width for a scaled package. Only applicable with style image . |
+
packages.widthMax | +Number | +64 | +The maximum width for a scaled package. Only applicable with style image . |
+
packages.radius | +Number | +5 | +Default radius for all packages. | +
packages.radiusMin | +Number | +5 | +The minimum radius for a scaled package. Only applicable with style dot . |
+
packages.radiusMax | +Number | +20 | +The maximum radius for a scaled package. Only applicable with style dot . |
+
packages.style | +String | +"dot" | +Default style for all packages.
+ Choose from dot (default) or image .
+ In case of an image, a property with image url must be provided in the package. |
+
selectable | +Boolean | +true | +If true, nodes in the graph can be selected by clicking them, or
+ by keeping the Shift key down and dragging a selection area around them.
+ When the Ctrl key is down, the new selection is appended to the
+ previous selection. If not, the new selection replaces the previous selection. |
+
stabilize | +Boolean | +true | +If true, the graph is stabilized before displaying it. If false, + the nodes move to a stabe position visibly in an animated way. | +
width | +String | +"400px" | +The width of the graph in pixels or as a percentage. | +
It is possible to specify custom styles for groups of nodes.
+ Each node having assigned to this group gets the specified style.
+ The options groups
is an object containing one or multiple groups,
+ identified by a unique string, the groupname.
+
+ A group can have the following styles: +
+ ++var options = { + // ... + + 'groups': { + 'mygroup': { + 'style': 'circle', + 'borderColor': 'black', + 'backgroundColor': 'white', + 'fontColor': 'red', + 'fontSize': 18, + 'highlightColor': 'yellow' + } + // add more groups here + } +}; + +var nodes = [ + {id: 1, text: 'Node 1'}, // will get the default style + {id: 2, text: 'Node 2', group: 'mygroup'}, // will get the style from 'mygroup' + // ... more data +]; ++ + +
The following styles are available for groups:
+Name | +Type | +Default | +Description | +
---|---|---|---|
borderColor | +String | +"#2B7CE9" | +Border color of the node | +
backgroundColor | +String | +"#97C2FC" | +Background color of the node | +
highlightColor | +String | +"#D2E5FF" | +Background color of the node when the node is selected. | +
image | +String | +none | +Default image for the nodes. Only applicable in combination with
+ style image . |
+
fontColor | +String | +"black" | +Font color of the node. | +
fontFace | +String | +"sans" | +Font name of the node, for example "verdana" or "arial". | +
fontSize | +Number | +14 | +Font size for the node in pixels. | +
style | +String | +"rect" | +Choose from rect (default), circle ,
+ database , image , text ,
+ dot .
+ In case of image, a property with name image must be provided, containing
+ image urls. |
+
radius | +Number | +5 | +Default radius for the node. Only applicable in combination with
+ styles rect and dot . |
+
+ The Graph is normally rendered using the method draw
.
+ The graph can handle dynamic data in two ways:
+
+ Historical data can be animated over time.
+ To create an animation, the data sets with nodes, edges, and
+ packages must have a property timestamp
,
+ and has a property action
describing the
+ change (create, update, or delete).
+ The Graph will automatically create an animation which runs from
+ the earliest to the latest encountered timestamp.
+ When the Graph is rendered at a certain timestamp,
+ all elements with a timestamp older than the current time will be rendered,
+ and all elements without a timestamp.
+
+ The animation state and speed can be manipulated using methods
+ animationSetAcceleration
,
+ animationSetDuration
,
+ animationSetFramerate
,
+ animationStart
,
+ and animationStop
.
+
+ The following package table shows how to change the state of a package over time: +
+ ++var packageTable = new google.visualization.DataTable(); +packageTable.addColumn('number', 'id'); +packageTable.addColumn('number', 'from'); +packageTable.addColumn('number', 'to'); +packageTable.addColumn('string', 'action'); +packageTable.addColumn('string', 'title'); +packageTable.addColumn('number', 'progress'); +packageTable.addColumn('datetime', 'timestamp'); + +// package with id 7 moved over time from node 1 to node 2 +// id, from, to, action, title, progress, timestamp +packageTable.addRow([7, 1, 2, 'create', 'Copy data [0%]', 0.00, new Date(2012,6,4,14,0,0)]); +packageTable.addRow([7, 1, 2, 'update', 'Copy data [10%]', 0.10, new Date(2012,6,4,14,10,0)]); +packageTable.addRow([7, 1, 2, 'update', 'Copy data [20%]', 0.20, new Date(2012,6,4,14,15,0)]); +packageTable.addRow([7, 1, 2, 'update', 'Copy data [50%]', 0.50, new Date(2012,6,4,14,20,0)]); +packageTable.addRow([7, 1, 2, 'update', 'Copy data [80%]', 0.80, new Date(2012,6,4,14,30,0)]); +packageTable.addRow([7, 1, 2, 'update', 'Copy data [100%]', 1.00, new Date(2012,6,4,14,35,0)]); +packageTable.addRow([7, 1, 2, 'delete', undefined, undefined, new Date(2012,6,4,14,40,0)]); ++ +
+ The data of a rendered Graph can be changed dynamically.
+ Data can be updated by appending a changeset to the Graph
+ using methods addNodes
, addEdges
, and addPackages
.
+
+ The appended data can contain new nodes, edges, and packages, but can
+ also adjust existing elements.
+ For example, the title of a Node or the width of a link can be updated.
+
+ The changeset is a regular Array like used
+ The action
property describes one of the following changes
+
+ Graph supports the following methods. +
+ +Method | +Return Type | +Description | +
---|---|---|
addEdges(edges) | +none | +Dynamically appends edges to the graph.
+ Parameter edges contains an Array.
+ A link can be created, updated, or deleted by specifying the property
+ action and choose a value create ,
+ update , or delete .
+ |
+
addNodes(nodes) | +none | +Dynamically adds nodes to the graph.
+ Parameter nodes contains an Array.
+ A node can be created, updated, or deleted by specifying the property
+ action and choose a value create ,
+ update , or delete .
+ |
addPackages(packages) | +none | +Dynamically appends packages to the graph.
+ Parameter packages contains an Array.
+ A package can be created, updated, or deleted by specifying the property
+ action and choose a value create ,
+ update , or delete .
+ |
+
animationSetAcceleration(acceleration) | +none | +Set the time acceleration for animation of history. + Only applicable when packages with a timestamp are available. + When acceleration is 1, history is played in real time. + And for example acceleration of 10 will play history then times the speed of + real time. | +
animationSetDuration(duration) | +none | +Duration of the animation in seconds. + Only applicable when packages with a timestamp are available. + The animation speed is scaled such that the total duration of playing the + history equals the set duration. | +
animationSetFramerate(framerate) | +none | +Set the framerate in frames per second for animation of history. + Only applicable when packages with a timestamp are available. + | +
animationStart() | +none | +Start animation of history. + Only applicable when packages with a timestamp are available. + | +
animationStop() | +none | +Stop animation of history. + Only applicable when packages with a timestamp are available. + | +
draw(nodes, edges, packages, options) | +none | +Loads data, sets the provided options, and draws the graph. + Parameters nodes, edges, and packages are an Array, + and options is a name-value map in the JSON format. + Both edges and packages are optional and can be left undefined. + | +
getSelection() | +Array of selection elements | +Standard getSelection() implementation.
+ Returns an array with one or multiple selections. Each selection contains
+ the property row . The selections are not ordered.
+ |
+
redraw() | +none | +Redraw the graph. Useful after the camera position is changed externally, + when data is changed, or when the layout of the webpage changed. | +
setSelection(selection) | +none | +Standard setSelection(selection) implementation.
+ selection is an array with selection elements. The visualization
+ accepts one or multiple selection elements, which must have the property row .
+ Example usage: graph.setSelection([{"row": 3}]); .
+ |
+
setSize(width, height) | +none | +Parameters width and height are strings,
+ containing a new size for the visualization. Size can be provided in pixels
+ or in percentages. |
+
start() | +none | +Start animation. + Only applicable when there are animated edges or nodes, + or when the nodes are not yet moved to a stable position. | +
stop() | +none | +Stop animation. + Only applicable when there are animated edges or nodes. | +
+ Graph fires events after one or multiple nodes are selected. + The event can be catched by creating a listener. +
+ +
+ Here an example on how to catch a select
event.
+
+function onselect() { + var sel = graph.getSelection(); + + var info = 'selected row(s): '; + for (var i = 0; i < sel.length; i++) { + info += sel[i].row + ' '; + } + + alert(info); +} + +vis.events.addListener(graph, 'select', onselect); ++ +
+ The following events are available. +
+ +name | +Description | +Properties | +
---|---|---|
select | +Fired after the user selects or unselects a node by clicking it,
+ or when selecting a number of nodes by dragging a selection area
+ around them. Not fired when the method setSelection
+ is executed. The corresponding rows in the Array are selected.
+ + The selected rows can be retrieved via the method getSelection .
+ |
+ none | +
ready | +The graph is loaded and ready for external method calls. + If you want to interact with the graph, and call methods after you draw it, + you should set up a listener for this event before you call the draw method, + and call them only after the event was fired. | +none | +
+ All code and data are processed and rendered in the browser. No data is sent to any server. +
+ +