<!DOCTYPE html>
							 | 
						|
								<html lang="en">
							 | 
						|
								<head>
							 | 
						|
								    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
							 | 
						|
								    <meta charset="utf-8">
							 | 
						|
								    <meta http-equiv="X-UA-Compatible" content="IE=edge">
							 | 
						|
								    <meta name="viewport" content="width=device-width, initial-scale=1">
							 | 
						|
								    <meta name="description" content="">
							 | 
						|
								    <meta name="author" content="">
							 | 
						|
								    <title>vis.js - A dynamic, browser based visualization library.</title>
							 | 
						|
								
							 | 
						|
								    <!-- Bootstrap core CSS -->
							 | 
						|
								    <link href="../css/bootstrap.css" rel="stylesheet">
							 | 
						|
								    <link href="../css/style.css" rel="stylesheet">
							 | 
						|
								
							 | 
						|
								    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
							 | 
						|
								    <!--[if lt IE 9]>
							 | 
						|
								    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
							 | 
						|
								    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
							 | 
						|
								    <![endif]-->
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								    <link href="../css/prettify.css" type="text/css" rel="stylesheet"/>
							 | 
						|
								    <script type="text/javascript" src="../js/googleAnalytics.js"></script>
							 | 
						|
								    <script type="text/javascript" src="../js/prettify/prettify.js"></script>
							 | 
						|
								
							 | 
						|
								    <script src="../js/smooth-scroll.min.js"></script>
							 | 
						|
								    <script language="JavaScript">
							 | 
						|
								        smoothScroll.init();
							 | 
						|
								    </script>
							 | 
						|
								
							 | 
						|
								    <style>
							 | 
						|
								        tr.subHeader {
							 | 
						|
								            font-weight: bold;
							 | 
						|
								            font-style: italic;
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        tr.subHeader td {
							 | 
						|
								            padding-top: 30px;
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        td.midMethods {
							 | 
						|
								            width: 150px;
							 | 
						|
								            background-color: #ffffff;
							 | 
						|
								            border: 1px solid #dddddd;
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        tr.visible td {
							 | 
						|
								            padding: 10px;
							 | 
						|
								        }
							 | 
						|
								    </style>
							 | 
						|
								
							 | 
						|
								    <script>
							 | 
						|
								        function toggleGettingStarted(aThis) {
							 | 
						|
								            var gettingStartedDiv = document.getElementById('gettingStarted');
							 | 
						|
								            if (aThis.innerHTML.indexOf("Show") !== -1) {
							 | 
						|
								                gettingStartedDiv.className = '';
							 | 
						|
								                aThis.innerHTML = 'Hide the getting started again.';
							 | 
						|
								            }
							 | 
						|
								            else {
							 | 
						|
								                gettingStartedDiv.className = 'hidden';
							 | 
						|
								                aThis.innerHTML = 'Show the getting started!';
							 | 
						|
								            }
							 | 
						|
								        }
							 | 
						|
								    </script>
							 | 
						|
								
							 | 
						|
								    <script type="text/javascript" src="../js/toggleTable.js"></script>
							 | 
						|
								</head>
							 | 
						|
								<body onload="prettyPrint();">
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								<!-- NAVBAR
							 | 
						|
								================================================== -->
							 | 
						|
								<div class="navbar-wrapper">
							 | 
						|
								    <div class="container">
							 | 
						|
								        <nav class="navbar navbar-inverse navbar-static-top" role="navigation">
							 | 
						|
								            <div class="container">
							 | 
						|
								                <div class="navbar-header">
							 | 
						|
								                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar"
							 | 
						|
								                            aria-expanded="false" aria-controls="navbar">
							 | 
						|
								                        <span class="sr-only">Toggle navigation</span>
							 | 
						|
								                        <span class="icon-bar"></span>
							 | 
						|
								                        <span class="icon-bar"></span>
							 | 
						|
								                        <span class="icon-bar"></span>
							 | 
						|
								                    </button>
							 | 
						|
								                    <a class="navbar-brand hidden-sm" href="http://www.visjs.org/index.html">vis.js</a>
							 | 
						|
								                </div>
							 | 
						|
								                <div id="navbar" class="navbar-collapse collapse">
							 | 
						|
								                    <ul class="nav navbar-nav">
							 | 
						|
								                        <li><a href="http://www.visjs.org/index.html#modules">Modules</a></li>
							 | 
						|
								                        <li class="active"><a href="./docs/index.html" target="_blank">Documentation <img class="icon"
							 | 
						|
								                                                                                                          src="../img/external-link-icons/external-link-icon-white.png"></a>
							 | 
						|
								                        </li>
							 | 
						|
								                        <li><a href="http://www.visjs.org/blog.html">Blog</a></li>
							 | 
						|
								                        <li><a href="http://www.visjs.org/index.html#download_install">Download</a></li>
							 | 
						|
								                        <li><a href="http://www.visjs.org/showcase/index.html">Showcase</a></li>
							 | 
						|
								                        <li><a href="http://www.visjs.org/index.html#contribute">Contribute</a></li>
							 | 
						|
								                        <li><a href="http://www.visjs.org/featureRequests.html">Feature requests</a></li>
							 | 
						|
								                        <li><a href="http://www.visjs.org/index.html#licenses">License</a></li>
							 | 
						|
								                    </ul>
							 | 
						|
								                </div>
							 | 
						|
								            </div>
							 | 
						|
								        </nav>
							 | 
						|
								    </div>
							 | 
						|
								</div>
							 | 
						|
								
							 | 
						|
								<a href="https://github.com/almende/vis" class="hidden-xs hidden-sm hidden-md"><img
							 | 
						|
								        style="position: absolute; top: 0; right: 0; border: 0;"
							 | 
						|
								        src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67"
							 | 
						|
								        alt="Fork me on GitHub"
							 | 
						|
								        data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
							 | 
						|
								
							 | 
						|
								<div class="container full">
							 | 
						|
								    <h1>Network</h1>
							 | 
						|
								
							 | 
						|
								    <p>Network is a visualization to display networks and networks consisting of nodes and edges. The visualization
							 | 
						|
								        is easy to use and supports custom shapes, styles, colors, sizes, images, and more.
							 | 
						|
								
							 | 
						|
								        The network visualization works smooth on any modern browser for up to a few thousand nodes and edges. To
							 | 
						|
								        handle a larger amount of nodes, Network has clustering support. Network uses HTML canvas for rendering.</p>
							 | 
						|
								
							 | 
						|
								    <p>As of 4.0, the network consists of individual modules which handle specific parts of the network. These modules
							 | 
						|
								        have their own docs, options, methods and events which you can access
							 | 
						|
								        by clicking on the modules in the list below.</p>
							 | 
						|
								
							 | 
						|
								    <a class="btn btn-primary" role="button" onclick="toggleGettingStarted(this)">Show the getting started!</a>
							 | 
						|
								    <div id="gettingStarted" class="hidden">
							 | 
						|
								    <h3>Creating a Network</h3>
							 | 
						|
								
							 | 
						|
								    <p>
							 | 
						|
								        Creating a vis network is easy. <a href="http://visjs.org/#download_install" target="_blank">It requires you to
							 | 
						|
								        include the vis.js and css files which you can get here</a>. If you have these
							 | 
						|
								        added to your application, you will need to specify your nodes and edges. You can use DOT language or export
							 | 
						|
								        nodes and edges from Gephi if you'd like but we will do it without these for now.
							 | 
						|
								        For more information on this click the tabs below. You can also use the vis.DataSets for dynamic data binding,
							 | 
						|
								        for instance, changing the color, label or any option after you have initialized the network.
							 | 
						|
								        <br><br>
							 | 
						|
								        Once you have the data, all you need is a container div to tell vis where to put your network. Additionally you
							 | 
						|
								        can use an options object to customize many aspects of the network. In code this
							 | 
						|
								        looks like this:</p>
							 | 
						|
								
							 | 
						|
								        <pre class="prettyprint lang-html options">
							 | 
						|
								<html>
							 | 
						|
								<head>
							 | 
						|
								    <script type="text/javascript" src="../../dist/vis.js"></script>
							 | 
						|
								    <link href="../../dist/vis.css" rel="stylesheet" type="text/css" />
							 | 
						|
								
							 | 
						|
								    <style type="text/css">
							 | 
						|
								        #mynetwork {
							 | 
						|
								            width: 600px;
							 | 
						|
								            height: 400px;
							 | 
						|
								            border: 1px solid lightgray;
							 | 
						|
								        }
							 | 
						|
								    </style>
							 | 
						|
								</head>
							 | 
						|
								<body>
							 | 
						|
								<div id="mynetwork"></div>
							 | 
						|
								
							 | 
						|
								<script type="text/javascript">
							 | 
						|
								    // create an array with nodes
							 | 
						|
								    var nodes = new vis.DataSet([
							 | 
						|
								        {id: 1, label: 'Node 1'},
							 | 
						|
								        {id: 2, label: 'Node 2'},
							 | 
						|
								        {id: 3, label: 'Node 3'},
							 | 
						|
								        {id: 4, label: 'Node 4'},
							 | 
						|
								        {id: 5, label: 'Node 5'}
							 | 
						|
								    ]);
							 | 
						|
								
							 | 
						|
								    // create an array with edges
							 | 
						|
								    var edges = new vis.DataSet([
							 | 
						|
								        {from: 1, to: 3},
							 | 
						|
								        {from: 1, to: 2},
							 | 
						|
								        {from: 2, to: 4},
							 | 
						|
								        {from: 2, to: 5}
							 | 
						|
								    ]);
							 | 
						|
								
							 | 
						|
								    // create a network
							 | 
						|
								    var container = document.getElementById('mynetwork');
							 | 
						|
								
							 | 
						|
								    // provide the data in the vis format
							 | 
						|
								    var data = {
							 | 
						|
								        nodes: nodes,
							 | 
						|
								        edges: edges
							 | 
						|
								    };
							 | 
						|
								    var options = {};
							 | 
						|
								
							 | 
						|
								    // initialize your network!
							 | 
						|
								    var network = new vis.Network(container, data, options);
							 | 
						|
								</script>
							 | 
						|
								</body>
							 | 
						|
								</html>
							 | 
						|
								</pre>
							 | 
						|
								    <p><a href="http://visjs.org/examples/network/01_basic_usage.html" target="_blank">The result of the code above will be the basic example which is shown here.</a></p>
							 | 
						|
								
							 | 
						|
								    <br>
							 | 
						|
								    </div>
							 | 
						|
								
							 | 
						|
								    <h3>Modules</h3>
							 | 
						|
								    <table class="modules">
							 | 
						|
								        <tr>
							 | 
						|
								            <td width="120px"><a href="./configure.html">configure</a></td>
							 | 
						|
								            <td>Generates an interactive option editor with filtering.</td>
							 | 
						|
								        </tr>
							 | 
						|
								        <tr>
							 | 
						|
								            <td><a href="./edges.html">edges</a></td>
							 | 
						|
								            <td>Handles the creation and deletion of edges and contains the global edge options and styles.</td>
							 | 
						|
								        </tr>
							 | 
						|
								        <tr>
							 | 
						|
								            <td><a href="./groups.html">groups</a></td>
							 | 
						|
								            <td>Contains the groups and some options on how to handle nodes with non-existing groups.</td>
							 | 
						|
								        </tr>
							 | 
						|
								        <tr>
							 | 
						|
								            <td><a href="./interaction.html">interaction</a></td>
							 | 
						|
								            <td>Used for all user interaction with the network. Handles mouse and touch events and selection as well as
							 | 
						|
								                the navigation buttons and the popups.
							 | 
						|
								            </td>
							 | 
						|
								        </tr>
							 | 
						|
								        <tr>
							 | 
						|
								            <td><a href="./layout.html">layout</a></td>
							 | 
						|
								            <td>Governs the initial and hierarchical positioning.</td>
							 | 
						|
								        </tr>
							 | 
						|
								        <tr>
							 | 
						|
								            <td><a href="./manipulation.html">manipulation</a></td>
							 | 
						|
								            <td>Supplies an API and optional GUI to alter the data in the network.</td>
							 | 
						|
								        </tr>
							 | 
						|
								        <tr>
							 | 
						|
								            <td><a href="./nodes.html">nodes</a></td>
							 | 
						|
								            <td>Handles the creation and deletion of nodes and contains the global node options and styles.</td>
							 | 
						|
								        </tr>
							 | 
						|
								        <tr>
							 | 
						|
								            <td><a href="./physics.html">physics</a></td>
							 | 
						|
								            <td>Does all the simulation moving the nodes and edges to their final positions, also governs
							 | 
						|
								                stabilization.
							 | 
						|
								            </td>
							 | 
						|
								        </tr>
							 | 
						|
								
							 | 
						|
								    </table>
							 | 
						|
								
							 | 
						|
								    <br>
							 | 
						|
								    <br>
							 | 
						|
								
							 | 
						|
								    <ul class="nav nav-tabs">
							 | 
						|
								        <li role="presentation" class="active"
							 | 
						|
								            onclick="toggleTab(this);"
							 | 
						|
								            targetNode="optionsDiv"><a>Options</a></li>
							 | 
						|
								        <li role="presentation"
							 | 
						|
								            onclick="toggleTab(this);"
							 | 
						|
								            targetNode="methodsDiv"><a>Methods</a></li>
							 | 
						|
								        <li role="presentation" onclick="toggleTab(this);"
							 | 
						|
								            targetNode="eventsDiv"><a>Events</a></li>
							 | 
						|
								        <li role="presentation"
							 | 
						|
								            onclick="toggleTab(this);"
							 | 
						|
								            targetNode="dotParserDiv"><a>DOT language</a></li>
							 | 
						|
								        <li role="presentation"
							 | 
						|
								            onclick="toggleTab(this);"
							 | 
						|
								            targetNode="gephiDiv"><a>Importing from Gephi</a></li>
							 | 
						|
								    </ul>
							 | 
						|
								    <br>
							 | 
						|
								
							 | 
						|
								    <div id="optionsDiv">
							 | 
						|
								<pre class="prettyprint lang-js options">
							 | 
						|
								var options = {
							 | 
						|
								  autoResize: true,
							 | 
						|
								  height: '100%',
							 | 
						|
								  width: '100%'
							 | 
						|
								  locale: 'en',
							 | 
						|
								  locales: locales,
							 | 
						|
								  clickToUse: false,
							 | 
						|
								  configure: {...},    // defined in the configure module.
							 | 
						|
								  edges: {...},        // defined in the edges module.
							 | 
						|
								  nodes: {...},        // defined in the nodes module.
							 | 
						|
								  groups: {...},       // defined in the groups module.
							 | 
						|
								  layout: {...},       // defined in the layout module.
							 | 
						|
								  interaction: {...},  // defined in the interaction module.
							 | 
						|
								  manipulation: {...}, // defined in the manipulation module.
							 | 
						|
								  physics: {...},      // defined in the physics module.
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								network.setOptions(options);
							 | 
						|
								</pre>
							 | 
						|
								        <p>The individual options are explained below. The ones referring to modules are explained in the corresponding
							 | 
						|
								            module.</p>
							 | 
						|
								        <table class="options">
							 | 
						|
								            <tr>
							 | 
						|
								                <th>Name</th>
							 | 
						|
								                <th>Type</th>
							 | 
						|
								                <th>Default</th>
							 | 
						|
								                <th>Description</th>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>autoResize</td>
							 | 
						|
								                <td>Boolean</td>
							 | 
						|
								                <td><code>true</code></td>
							 | 
						|
								                <td>If true, the Network will automatically detect when its container is resized, and redraw itself
							 | 
						|
								                    accordingly. If false, the Network can be forced to repaint after its container has been resized
							 | 
						|
								                    using the function redraw() and setSize().
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>width</td>
							 | 
						|
								                <td>String</td>
							 | 
						|
								                <td><code>'100%'</code></td>
							 | 
						|
								                <td>the width of the canvas. Can be in percentages or pixels (ie. <code>'400px'</code>).</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>height</td>
							 | 
						|
								                <td>String</td>
							 | 
						|
								                <td><code>'100%'</code></td>
							 | 
						|
								                <td>the height of the canvas. Can be in percentages or pixels (ie. <code>'400px'</code>).</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>locale</td>
							 | 
						|
								                <td>String</td>
							 | 
						|
								                <td><code>'en'</code></td>
							 | 
						|
								                <td>Select the locale. By default, the language is English. If you want to use another language, you
							 | 
						|
								                    will
							 | 
						|
								                    need to define your own locale and refer to it here.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>locales</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td>defaultLocales</td>
							 | 
						|
								                <td>Locales object. By default only <code>'en'</code> and <code>'nl'</code> are supported. Take a look
							 | 
						|
								                    at
							 | 
						|
								                    the <a href="#locales" data-scroll=""
							 | 
						|
								                           data-options="{ "easing": "easeInCubic" }">locales
							 | 
						|
								                        section below</a> for more explaination on how to customize this.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>clickToUse</td>
							 | 
						|
								                <td>Boolean</td>
							 | 
						|
								                <td>false</td>
							 | 
						|
								                <td>Locales object. By default only <code>'en'</code> and <code>'nl'</code> are supported. Take a look
							 | 
						|
								                    at
							 | 
						|
								                    the <a href="#locales" data-scroll=""
							 | 
						|
								                           data-options="{ "easing": "easeInCubic" }">locales
							 | 
						|
								                        section below</a> for more explaination on how to customize this.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>configure</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td><a href="./configure.html">All options in this object are explained in the configure module.</a>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>edges</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td><a href="./edges.html">All options in this object are explained in the edges module.</a>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>nodes</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td><a href="./nodes.html">All options in this object are explained in the nodes module.</a>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>groups</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td><a href="./groups.html">All options in this object are explained in the groups module.</a>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>layout</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td><a href="./layout.html">All options in this object are explained in the layout module.</a>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>interaction</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td><a href="./interaction.html">All options in this object are explained in the interaction module.</a>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>manipulation</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td><a href="./manipulation.html">All options in this object are explained in the manipulation module.</a>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>physics</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td><a href="./physics.html">All options in this object are explained in the physics module.</a>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								        </table>
							 | 
						|
								
							 | 
						|
								        <br>
							 | 
						|
								        <br>
							 | 
						|
								        <h4 id="locales">Custom locales</h4>
							 | 
						|
								
							 | 
						|
								        <p>The locales object has the following format:</p>
							 | 
						|
								    <pre class="prettyprint lang-js">
							 | 
						|
								var locales = {
							 | 
						|
								  en: {
							 | 
						|
								    edit: 'Edit',
							 | 
						|
								    del: 'Delete selected',
							 | 
						|
								    back: 'Back',
							 | 
						|
								    addNode: 'Add Node',
							 | 
						|
								    addEdge: 'Add Edge',
							 | 
						|
								    editNode: 'Edit Node',
							 | 
						|
								    editEdge: 'Edit Edge',
							 | 
						|
								    addDescription: 'Click in an empty space to place a new node.',
							 | 
						|
								    edgeDescription: 'Click on a node and drag the edge to another node to connect them.',
							 | 
						|
								    editEdgeDescription: 'Click on the control points and drag them to a node to connect to it.',
							 | 
						|
								    createEdgeError: 'Cannot link edges to a cluster.',
							 | 
						|
								    deleteClusterError: 'Clusters cannot be deleted.',
							 | 
						|
								    editClusterError: 'Clusters cannot be edited.'
							 | 
						|
								  }
							 | 
						|
								}</pre>
							 | 
						|
								        <p>If you want to define your own locale, you can change the key ('en' here) and change all the strings. You can
							 | 
						|
								            then use your new key in the locale option.</p>
							 | 
						|
								    </div>
							 | 
						|
								    <div id="methodsDiv" class=" hidden">
							 | 
						|
								        <h3>All Methods</h3>
							 | 
						|
								
							 | 
						|
								        <p>This is a list of all the methods in the public API. They have been grouped by category, which correspond to
							 | 
						|
								            the
							 | 
						|
								            modules listed above.</p>
							 | 
						|
								        <table class="methods-collapsable" id="methodTable">
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="2">Global methods for the network.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','destroy', this);">
							 | 
						|
								                <td colspan="2"><span parent="destroy" class="right-caret"></span> destroy()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="destroy">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Remove the network from the DOM and remove all Hammer bindings and references.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','setData', this);">
							 | 
						|
								                <td colspan="2"><span parent="setData" class="right-caret"></span> setData({<code><i>nodes: vis
							 | 
						|
								                    DataSet/Array</i></code>,<code><i>edges: vis
							 | 
						|
								                    DataSet/Array</i></code>})
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="setData">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Override all the data in the network. If stabilization is enabled in the <a href="physics.html">physics
							 | 
						|
								                    module</a>, the network will stabilize again. This method is also performed when first initializing
							 | 
						|
								                    the
							 | 
						|
								                    network.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','setOptions', this);">
							 | 
						|
								                <td colspan="2"><span parent="setOptions" class="right-caret"></span> setOptions(<code>Object
							 | 
						|
								                    options</code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="setOptions">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Set the options. All available options can be found in the modules above. Each module requires it's
							 | 
						|
								                    own
							 | 
						|
								                    container with the module name to contain its options.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="2">Methods related to the canvas.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','canvasToDOM', this);">
							 | 
						|
								                <td colspan="2"><span parent="canvasToDOM" class="right-caret"></span> canvasToDOM({<code><i>x:
							 | 
						|
								                    Number</i></code>,<code><i>y:
							 | 
						|
								                    Number</i></code>})
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="canvasToDOM">
							 | 
						|
								                <td class="midMethods">Returns: Object</td>
							 | 
						|
								                <td>This function converts canvas coordinates to coordinates on the DOM. Input and output are in the
							 | 
						|
								                    form of
							 | 
						|
								                    <code>{x:Number,y:Number}</code>. The DOM values are relative to the network container.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','DOMtoCanvas', this);">
							 | 
						|
								                <td colspan="2"><span parent="DOMtoCanvas" class="right-caret"></span> DOMtoCanvas({<code><i>x:
							 | 
						|
								                    Number</i></code>,<code><i>y:
							 | 
						|
								                    Number</i></code>})
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="DOMtoCanvas">
							 | 
						|
								                <td class="midMethods">Returns: Object</td>
							 | 
						|
								                <td>This function converts DOM coordinates to coordinates on the canvas. Input and output are in the
							 | 
						|
								                    form of
							 | 
						|
								                    <code>{x:Number,y:Number}</code>. The DOM values are relative to the network container.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','redraw', this);">
							 | 
						|
								                <td colspan="2"><span parent="redraw" class="right-caret"></span> redraw()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="redraw">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Redraw the network.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','setSize', this);">
							 | 
						|
								                <td colspan="2"><span parent="setSize" class="right-caret"></span> setSize(<code><i>String
							 | 
						|
								                    width</i></code>,<code><i>String
							 | 
						|
								                    height</i></code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="setSize">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Set the size of the canvas. This is automatically done on a window resize.</td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="2">Clustering</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','cluster', this);">
							 | 
						|
								                <td colspan="2"><span parent="cluster" class="right-caret"></span> cluster(
							 | 
						|
								                    <code>Object options</code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="cluster">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>The options object is explained in full <a data-scroll=""
							 | 
						|
								                                                               data-options="{ "easing": "easeInCubic" }"
							 | 
						|
								                                                               href="#optionsObject">below</a>. The joinCondition
							 | 
						|
								                    function
							 | 
						|
								                    is presented with all nodes.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','clusterByConnection', this);">
							 | 
						|
								                <td colspan="2"><span parent="clusterByConnection" class="right-caret"></span> clusterByConnection(
							 | 
						|
								                    <code>String nodeId</code>,
							 | 
						|
								                    <code>[Object options]</code>
							 | 
						|
								                    )
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="clusterByConnection">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>This method looks at the provided node and makes a cluster of it and all it's connected nodes. The
							 | 
						|
								                    behaviour can be customized by proving the options object. All options of this object are explained
							 | 
						|
								                    <a
							 | 
						|
								                            data-scroll="" data-options="{ "easing": "easeInCubic" }"
							 | 
						|
								                            href="#optionsObject">below</a>. The joinCondition is only presented with the connected
							 | 
						|
								                    nodes.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','clusterByHubsize', this);">
							 | 
						|
								                <td colspan="2"><span parent="clusterByHubsize" class="right-caret"></span> clusterByHubsize(
							 | 
						|
								                    <code>Number hubsize</code>,
							 | 
						|
								                    <code>[Object options]</code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="clusterByHubsize">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>This method checks all nodes in the network and those with a equal or higher amount of edges than
							 | 
						|
								                    specified with the <code>hubsize</code> qualify. Cluster by connection is performed on each of them.
							 | 
						|
								                    The
							 | 
						|
								                    options object is described for <code>clusterByConnection</code> and does the same here.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','clusterOutliers', this);">
							 | 
						|
								                <td colspan="2"><span parent="clusterOutliers" class="right-caret"></span> clusterOutliers(
							 | 
						|
								                    <code>[Object options]</code>)
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="clusterOutliers">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>This method will cluster all nodes with 1 edge with their respective connected node.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','findNode', this);">
							 | 
						|
								                <td colspan="2"><span parent="findNode" class="right-caret"></span> findNode(
							 | 
						|
								                    <code>String nodeId</code>)
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="findNode">
							 | 
						|
								                <td class="midMethods">Returns: Array</td>
							 | 
						|
								                <td>Nodes can be in clusters. Clusters can also be in clusters. This function returns and array of
							 | 
						|
								                    nodeIds
							 | 
						|
								                    showing where the node is. <br><br> Example:
							 | 
						|
								                    cluster 'A' contains cluster 'B',
							 | 
						|
								                    cluster 'B' contains cluster 'C',
							 | 
						|
								                    cluster 'C' contains node 'fred'.
							 | 
						|
								                    <code>network.clustering.findNode('fred')</code> will return <code>['A','B','C','fred']</code>.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','isCluster', this);">
							 | 
						|
								                <td colspan="2"><span parent="isCluster" class="right-caret"></span> isCluster(
							 | 
						|
								                    <code>String nodeId</code>)
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="isCluster">
							 | 
						|
								                <td class="midMethods">Returns: Boolean</td>
							 | 
						|
								                <td>Returns true if the node whose ID has been supplied is a cluster.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','openCluster', this);">
							 | 
						|
								                <td colspan="2"><span parent="openCluster" class="right-caret"></span> openCluster(
							 | 
						|
								                    <code>String nodeId</code>)
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="openCluster">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Opens the cluster, releases the contained nodes and edges, removing the cluster node and cluster
							 | 
						|
								                    edges.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="2">Layout</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','getSeed', this);">
							 | 
						|
								                <td colspan="2"><span parent="getSeed" class="right-caret"></span> getSeed()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="clusterByHubsize">
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="getSeed">
							 | 
						|
								                <td class="midMethods">Returns: Number</td>
							 | 
						|
								                <td>If you like the layout of your network and would like it to start in the same way next time, ask for
							 | 
						|
								                    the
							 | 
						|
								                    seed using this method and put it in the <code>layout.randomSeed</code> option.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="2">Manipulation methods to use the manipulation system without GUI.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','enableEditMode', this);">
							 | 
						|
								                <td colspan="2"><span parent="enableEditMode" class="right-caret"></span> enableEditMode()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="enableEditMode">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Programatically enable the edit mode. Similar effect to pressing the edit button.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','disableEditMode', this);">
							 | 
						|
								                <td colspan="2"><span parent="disableEditMode" class="right-caret"></span> disableEditMode()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="disableEditMode">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Programatically disable the edit mode. Similar effect to pressing the close icon (small cross in the
							 | 
						|
								                    corner of the toolbar).
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','addNodeMode', this);">
							 | 
						|
								                <td colspan="2"><span parent="addNodeMode" class="right-caret"></span> addNodeMode()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="addNodeMode">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Go into addNode mode. Having edit mode or manipulation enabled is not required. To get out of this
							 | 
						|
								                    mode,
							 | 
						|
								                    call <code>disableEditMode()</code>. The callback functions defined in <code>handlerFunctions</code>
							 | 
						|
								                    still apply. To use these methods without having the manipulation GUI, make sure you set
							 | 
						|
								                    <code>enabled</code> to false.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','editNodeMode', this);">
							 | 
						|
								                <td colspan="2"><span parent="editNodeMode" class="right-caret"></span> editNodeMode()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="editNodeMode">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Go into editNode mode. The explaination from <code>addNodeMode</code> applies here as well.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','addEdgeMode', this);">
							 | 
						|
								                <td colspan="2"><span parent="addEdgeMode" class="right-caret"></span> addEdgeMode()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="addEdgeMode">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Go into addEdge mode. The explaination from <code>addNodeMode</code> applies here as well.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','editEdgeMode', this);">
							 | 
						|
								                <td colspan="2"><span parent="editEdgeMode" class="right-caret"></span> editEdgeMode()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="editEdgeMode">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Go into editEdge mode. The explaination from <code>addNodeMode</code> applies here as well.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','deleteSelected', this);">
							 | 
						|
								                <td colspan="2"><span parent="deleteSelected" class="right-caret"></span> deleteSelected()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="deleteSelected">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Delete selected. Having edit mode or manipulation enabled is not required.</td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="2">Methods to get information on nodes.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','getPositions', this);">
							 | 
						|
								                <td colspan="2"><span parent="getPositions" class="right-caret"></span> getPositions(<code><i>[Array of
							 | 
						|
								                    nodeIds]</i></code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="getPositions">
							 | 
						|
								                <td class="midMethods">Returns: Object</td>
							 | 
						|
								                <td>Returns the x y positions in canvas space of the nodes with the supplied nodeIds as an object:
							 | 
						|
								<pre class="code">
							 | 
						|
								{
							 | 
						|
								  nodeId1: {x: xValue, y:yValue},
							 | 
						|
								  nodeId2: {x: xValue, y:yValue},
							 | 
						|
								  ...
							 | 
						|
								}
							 | 
						|
								</pre>
							 | 
						|
								                    Alternative inputs are a String containing a nodeId or nothing. When a String is supplied, the
							 | 
						|
								                    position
							 | 
						|
								                    of the node corresponding to the ID is returned. When nothing is supplied, the positions of all
							 | 
						|
								                    nodes
							 | 
						|
								                    are returned.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','storePositions', this);">
							 | 
						|
								                <td colspan="2"><span parent="storePositions" class="right-caret"></span> storePositions()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="storePositions">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>When using the vis.DataSet to load your nodes into the network, this method will put the X and Y
							 | 
						|
								                    positions of all nodes into that dataset. If you're loading your nodes from a database and have
							 | 
						|
								                    this dynamically coupled with
							 | 
						|
								                    the DataSet, you can
							 | 
						|
								                    use this to stablize your network once, then save the positions in that database through the DataSet
							 | 
						|
								                    so
							 | 
						|
								                    the next
							 | 
						|
								                    time you load the nodes, stabilization will be near instantaneous.
							 | 
						|
								                    <br><br>
							 | 
						|
								                    If the nodes are still moving and you're using dynamic smooth edges (which is on by default), you
							 | 
						|
								                    can
							 | 
						|
								                    use the option <code>stabilization.onlyDynamicEdges</code> in the <a href="physics.html">physics
							 | 
						|
								                        module</a>
							 | 
						|
								                    to improve initialization time.
							 | 
						|
								                    <br><br>
							 | 
						|
								                    <b>This method does not support clustering. At the moment it is not possible to cache
							 | 
						|
								                        positions when using clusters since they cannot be correctly initialized from just the
							 | 
						|
								                        positions.</b>
							 | 
						|
								                </td>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','getBoundingBox', this);">
							 | 
						|
								                <td colspan="2"><span parent="getBoundingBox" class="right-caret"></span> getBoundingBox(<code><i>String
							 | 
						|
								                    nodeId</i></code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="getBoundingBox">
							 | 
						|
								                <td class="midMethods">Returns: Object</td>
							 | 
						|
								                <td> Returns a bounding box for the node including label in the format:
							 | 
						|
								<pre class="code">
							 | 
						|
								{
							 | 
						|
								  top: Number,
							 | 
						|
								  left: Number,
							 | 
						|
								  right: Number,
							 | 
						|
								  bottom: Number
							 | 
						|
								}
							 | 
						|
								</pre>
							 | 
						|
								                    These values are in canvas space.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','getConnectedNodes', this);">
							 | 
						|
								                <td colspan="2"><span parent="getConnectedNodes" class="right-caret"></span> getConnectedNodes(<code><i>String
							 | 
						|
								                    nodeId</i></code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="getConnectedNodes">
							 | 
						|
								                <td class="midMethods">Returns: Array</td>
							 | 
						|
								                <td>Returns an array of nodeIds of the all the nodes that are directly connected to this node.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','getEdges', this);">
							 | 
						|
								                <td colspan="2"><span parent="getEdges" class="right-caret"></span> getEdges(<code><i>String
							 | 
						|
								                    nodeId</i></code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="getEdges">
							 | 
						|
								                <td class="midMethods">Returns: Array</td>
							 | 
						|
								                <td>Returns an array of edgeIds of the edges connected to this node.</td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="2">Physics methods to control when the simulation should run.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','startSimulation', this);">
							 | 
						|
								                <td colspan="2"><span parent="startSimulation" class="right-caret"></span> startSimulation()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="startSimulation">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Start the physics simulation. This is normally done whenever needed and is only really useful if you
							 | 
						|
								                    stop the simulation yourself and wish to continue it afterwards.
							 | 
						|
								                </td>
							 | 
						|
								                .</td></tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','stopSimulation', this);">
							 | 
						|
								                <td colspan="2"><span parent="stopSimulation" class="right-caret"></span> stopSimulation()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="stopSimulation">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>This stops the physics simulation and triggers a <code>stabilized</code> event. It can be restarted
							 | 
						|
								                    by
							 | 
						|
								                    dragging a node, altering the dataset or calling <code>startSimulation()</code>.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','stabilize', this);">
							 | 
						|
								                <td colspan="2"><span parent="stabilize" class="right-caret"></span> stabilize([iterations])</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="stabilize">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>You can manually call stabilize at any time. All the stabilization options above are used. You can optionally supply the number of iterations it should do.</td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="2">Selection methods for nodes and edges.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','getSelection', this);">
							 | 
						|
								                <td colspan="2"><span parent="getSelection" class="right-caret"></span> getSelection()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="getSelection">
							 | 
						|
								                <td class="midMethods">Returns: Object</td>
							 | 
						|
								                <td>Returns an object with selected nodes and edges ids like this:
							 | 
						|
								            <pre class="code">
							 | 
						|
								{
							 | 
						|
								  nodes: [Array of selected nodeIds],
							 | 
						|
								  edges: [Array of selected edgeIds]
							 | 
						|
								}</pre>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','getSelectedNodes', this);">
							 | 
						|
								                <td colspan="2"><span parent="getSelectedNodes" class="right-caret"></span> getSelectedNodes()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="getSelectedNodes">
							 | 
						|
								                <td class="midMethods">Returns: Array</td>
							 | 
						|
								                <td>Returns an array of selected node ids like so:
							 | 
						|
								                    <code>[nodeId1, nodeId2, ..]</code>.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','getSelectedEdges', this);">
							 | 
						|
								                <td colspan="2"><span parent="getSelectedEdges" class="right-caret"></span> getSelectedEdges()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="getSelectedEdges">
							 | 
						|
								                <td class="midMethods">Returns: Array</td>
							 | 
						|
								                <td>Returns an array of selected edge ids like so: <code>[edgeId1, edgeId2, ..]</code>.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','getNodeAt', this);">
							 | 
						|
								                <td colspan="2"><span parent="getNodeAt" class="right-caret"></span> getNodeAt(<code><i>{x: xPosition
							 | 
						|
								                    DOM, y: yPosition DOM}</i></code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="getNodeAt">
							 | 
						|
								                <td class="midMethods">Returns: String</td>
							 | 
						|
								                <td>Returns a nodeId or undefined. The DOM positions are expected to be in pixels from the top left
							 | 
						|
								                    corner
							 | 
						|
								                    of the canvas.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','getEdgeAt', this);">
							 | 
						|
								                <td colspan="2"><span parent="getEdgeAt" class="right-caret"></span> getEdgeAt(<code><i>{x: xPosition
							 | 
						|
								                    DOM, y: yPosition DOM}</i></code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="getEdgeAt">
							 | 
						|
								                <td class="midMethods">Returns: String</code></td>
							 | 
						|
								                <td>Returns a edgeId or undefined. The DOM positions are expected to be in pixels from the top left
							 | 
						|
								                    corner
							 | 
						|
								                    of the canvas..
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','selectNodes', this);">
							 | 
						|
								                <td colspan="2"><span parent="selectNodes" class="right-caret"></span> selectNodes(<code><i>Array with
							 | 
						|
								                    nodeIds</i></code>,<code><i>[Boolean
							 | 
						|
								                    highlightEdges]</i></code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="selectNodes">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Selects the nodes corresponding to the id's in the input array. If highlightEdges is true or
							 | 
						|
								                    undefined,
							 | 
						|
								                    the neighbouring edges will also be selected. This method unselects all other objects before
							 | 
						|
								                    selecting
							 | 
						|
								                    its own objects. <i>Does not fire events</i>.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','selectEdges', this);">
							 | 
						|
								                <td colspan="2"><span parent="selectEdges" class="right-caret"></span> selectEdges(<code><i>Array with
							 | 
						|
								                    edgeIds</i></code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="selectEdges">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Selects the edges corresponding to the id's in the input array. This method unselects all other
							 | 
						|
								                    objects
							 | 
						|
								                    before selecting its own objects. <i>Does not fire events</i>.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','unselectAll', this);">
							 | 
						|
								                <td colspan="2"><span parent="unselectAll" class="right-caret"></span> unselectAll()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="unselectAll">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Unselect all objects. <i>Does not fire events</i>.</td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="2">Methods to control the viewport for zoom and animation.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','getScale', this);">
							 | 
						|
								                <td colspan="2"><span parent="getScale" class="right-caret"></span> getScale()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="getScale">
							 | 
						|
								                <td class="midMethods">Returns: Number</td>
							 | 
						|
								                <td>Returns the current scale of the network. 1.0 is comparible to 100%, 0 is zoomed out infinitely.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','clusterByHubsize', this);">
							 | 
						|
								                <td colspan="2"><span parent="clusterByHubsize" class="right-caret"></span> getPosition()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="clusterByHubsize">
							 | 
						|
								                <td class="midMethods">Returns: Number</td>
							 | 
						|
								                <td>Returns the current central focus point of the camera.</td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','fit', this);">
							 | 
						|
								                <td colspan="2"><span parent="fit" class="right-caret"></span> fit(<code>[Object
							 | 
						|
								                    options]</code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="fit">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Zooms out so all nodes fit on the canvas. You can supply options to customize this:
							 | 
						|
								<pre class="code">
							 | 
						|
								{
							 | 
						|
								  nodes:[Array of nodeIds],
							 | 
						|
								  animation: { // -------------------> can be a boolean too!
							 | 
						|
								    duration: Number
							 | 
						|
								    easingFunction: String
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								</pre>
							 | 
						|
								                    The nodes can be used to zoom to fit only specific nodes in the view. <br/><br/>
							 | 
						|
								                    The other options are explained in the <code>moveTo()</code> description below.
							 | 
						|
								                    All options are optional for the fit method.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','focus', this);">
							 | 
						|
								                <td colspan="2"><span parent="focus" class="right-caret"></span> focus(
							 | 
						|
								                    <code>String nodeId</code>,
							 | 
						|
								                    <code>[Object options]</code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="focus">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>You can focus on a node with this function. What that means is the view will lock onto that node, if
							 | 
						|
								                    it
							 | 
						|
								                    is moving, the view will also move accordingly. If the view is dragged by the user, the focus is
							 | 
						|
								                    broken.
							 | 
						|
								                    You can supply options to customize the effect:
							 | 
						|
								<pre class="code">
							 | 
						|
								{
							 | 
						|
								  scale: Number,
							 | 
						|
								  offset: {x:Number, y:Number}
							 | 
						|
								  locked: boolean
							 | 
						|
								  animation: { // -------------------> can be a boolean too!
							 | 
						|
								    duration: Number
							 | 
						|
								    easingFunction: String
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								</pre>
							 | 
						|
								                    All options except for locked are explained in the <code>moveTo()</code> description below. Locked
							 | 
						|
								                    denotes whether or not the view remains locked to the node once the zoom-in animation is finished.
							 | 
						|
								                    Default value is true. The options object is optional in the focus method.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','moveTo', this);">
							 | 
						|
								                <td colspan="2"><span parent="moveTo" class="right-caret"></span> moveTo(<code>Object
							 | 
						|
								                    options</code>)
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="moveTo">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>You can animate or move the camera using the moveTo method. Options are:
							 | 
						|
								<pre class="code">
							 | 
						|
								{
							 | 
						|
								  position: {x:Number, y:Number},
							 | 
						|
								  scale: Number,
							 | 
						|
								  offset: {x:Number, y:Number}
							 | 
						|
								  animation: { // -------------------> can be a boolean too!
							 | 
						|
								    duration: Number
							 | 
						|
								    easingFunction: String
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								</pre>
							 | 
						|
								                    The position (in canvas units!) is the position of the central focus point of the camera.
							 | 
						|
								                    The scale is the target zoomlevel. Default value is 1.0.
							 | 
						|
								                    The offset (in DOM units) is how many pixels from the center the view is focussed. Default value is
							 | 
						|
								                    {x:0,y:0}.
							 | 
						|
								                    For animation you can either use a Boolean to use it with the default options or disable it or you
							 | 
						|
								                    can
							 | 
						|
								                    define the duration (in milliseconds) and easing function manually. Available are:
							 | 
						|
								                    <code>linear, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCubic,
							 | 
						|
								                        easeInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint</code>.
							 | 
						|
								
							 | 
						|
								                    <i>You will have to define at least a scale or a position. Otherwise, there is nothing to move
							 | 
						|
								                        to.</i>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								            <tr class="collapsible toggle" onclick="toggleTable('methodTable','releaseNode', this);">
							 | 
						|
								                <td colspan="2"><span parent="releaseNode" class="right-caret"></span> releaseNode()</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="hidden" parent="releaseNode">
							 | 
						|
								                <td class="midMethods">Returns: none</td>
							 | 
						|
								                <td>Programatically release the focussed node.</td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								        </table>
							 | 
						|
								
							 | 
						|
								        <br>
							 | 
						|
								        <br>
							 | 
						|
								
							 | 
						|
								        <h4 id="optionsObject">Cluster methods options object</h4>
							 | 
						|
								
							 | 
						|
								        <p>The options object supplied to the cluster functions can contain these properties:</p>
							 | 
						|
								        <table class="methods">
							 | 
						|
								            <tr>
							 | 
						|
								                <th>Name</th>
							 | 
						|
								                <th>Type</th>
							 | 
						|
								                <th>Description</th>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>joinCondition(<br>  <code>nodeOptions: Object</code><br>)</td>
							 | 
						|
								                <td>Function</td>
							 | 
						|
								                <td><i>Optional for all but the cluster method. </i> The cluster module loops over all nodes that are
							 | 
						|
								                    selected to be in the cluster and calls this function with their data as argument.
							 | 
						|
								                    If this function returns true, this node will be added to the cluster. You have access to all
							 | 
						|
								                    options
							 | 
						|
								                    (including the default)
							 | 
						|
								                    as well as any custom fields you may have added to the node to determine whether or not to include
							 | 
						|
								                    it in
							 | 
						|
								                    the cluster. Example:
							 | 
						|
								<pre class="prettyprint lang-js">
							 | 
						|
								var nodes = [
							 | 
						|
								  {id: 4, label: 'Node 4'},
							 | 
						|
								  {id: 5, label: 'Node 5'},
							 | 
						|
								  {id: 6, label: 'Node 6', cid:1},
							 | 
						|
								  {id: 7, label: 'Node 7', cid:1}
							 | 
						|
								]
							 | 
						|
								
							 | 
						|
								var options = {
							 | 
						|
								  joinCondition:function(nodeOptions) {
							 | 
						|
								    return nodeOptions.cid === 1;
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								network.clustering.cluster(options);
							 | 
						|
								</pre>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>processProperties(<br>  <code>nodeOptions: Object</code><br>)</td>
							 | 
						|
								                <td>Function</td>
							 | 
						|
								                <td><i>Optional. </i> Before creating the new cluster node, this (optional) function will be called with
							 | 
						|
								                    the
							 | 
						|
								                    properties supplied by you (<code>clusterNodeProperties</code>), all contained nodes and all
							 | 
						|
								                    contained
							 | 
						|
								                    edges. You can use this to update the
							 | 
						|
								                    properties of the cluster based on which items it contains. The function should return the
							 | 
						|
								                    properties to
							 | 
						|
								                    create the cluster node. In the example below, we ensure preservation of mass and value when forming
							 | 
						|
								                    the
							 | 
						|
								                    cluster:
							 | 
						|
								<pre class="prettyprint lang-js">
							 | 
						|
								var options = {
							 | 
						|
								  processProperties: function (clusterOptions,
							 | 
						|
								      childNodes, childEdges) {
							 | 
						|
								    var totalMass = 0;
							 | 
						|
								    var totalValue = 0;
							 | 
						|
								    for (var i = 0; i < childNodes.length; i++) {
							 | 
						|
								      totalMass += childNodes[i].mass;
							 | 
						|
								      totalValue = childNodes[i].value
							 | 
						|
								        ? totalValue + childNodes[i].value
							 | 
						|
								        : totalValue;
							 | 
						|
								    }
							 | 
						|
								    clusterOptions.mass = totalMass;
							 | 
						|
								    if (totalValue > 0) {
							 | 
						|
								      clusterOptions.value = totalValue;
							 | 
						|
								    }
							 | 
						|
								    return clusterOptions;
							 | 
						|
								  },
							 | 
						|
								}
							 | 
						|
								</pre>
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>clusterNodeProperties</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td><i>Optional. </i> This is an object containing the options for the cluster node. All options
							 | 
						|
								                    described
							 | 
						|
								                    in the <a href="./nodes.html">nodes module</a> are allowed. This allows you to style your cluster
							 | 
						|
								                    node
							 | 
						|
								                    any way you want. This is also the style object that is provided in the processProperties function
							 | 
						|
								                    for
							 | 
						|
								                    fine tuning. If undefined, default node options will be used.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>clusterEdgeProperties</td>
							 | 
						|
								                <td>Object</td>
							 | 
						|
								                <td><i>Optional. </i> This is an object containing the options for the edges connected to the cluster.
							 | 
						|
								                    All
							 | 
						|
								                    options described in the <a href="./edges.html">edges module</a> are allowed. Using this, you can
							 | 
						|
								                    style
							 | 
						|
								                    the edges connecting to the cluster any way you want. If none are provided, the optoins from the
							 | 
						|
								                    edges
							 | 
						|
								                    that are replaced are used. If undefined, default edge options will be used.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								        </table>
							 | 
						|
								    </div>
							 | 
						|
								    <div id="eventsDiv" class=" hidden">
							 | 
						|
								        <h3>All Events</h3>
							 | 
						|
								
							 | 
						|
								        <p>This is a list of all the events in the public API. They are collected here from all individual modules.</p>
							 | 
						|
								
							 | 
						|
								        <p>These events are fired by the interaction module. They are related to user input.</p>
							 | 
						|
								        <table class="events">
							 | 
						|
								            <tr>
							 | 
						|
								                <th>Name</th>
							 | 
						|
								                <th>Properties</th>
							 | 
						|
								                <th>Description</th>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="3">Events triggered by human interaction, selection, dragging etc.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>click</td>
							 | 
						|
								                <td>
							 | 
						|
								<pre class="code">
							 | 
						|
								{
							 | 
						|
								  nodes: [Array of selected nodeIds],
							 | 
						|
								  edges: [Array of selected edgeIds],
							 | 
						|
								  event: [Object] original click event,
							 | 
						|
								  pointer: {
							 | 
						|
								    DOM: {x:pointer_x, y:pointer_y},
							 | 
						|
								    canvas: {x:canvas_x, y:canvas_y}
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								</pre>
							 | 
						|
								                </td>
							 | 
						|
								                <td>Fired when the user clicks the mouse or taps on a touchscreen device.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>doubleClick</td>
							 | 
						|
								                <td>same as <code>click</code>.</td>
							 | 
						|
								                <td>Fired when the user double clicks the mouse or double taps on a touchscreen device. Since a double
							 | 
						|
								                    click
							 | 
						|
								                    is in fact 2 clicks, 2 click events are fired, followed by a double click event. If you do not want
							 | 
						|
								                    to
							 | 
						|
								                    use the click events if a double click event is fired, just check the time between click events
							 | 
						|
								                    before
							 | 
						|
								                    processing them.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>oncontext</td>
							 | 
						|
								                <td>same as <code>click</code>.</td>
							 | 
						|
								                <td>Fired when the user click on the canvas with the right mouse button. The right mouse button does not
							 | 
						|
								                    select by default. You can use <a href="./selection.html">getNodeAt</a> to select the node if you
							 | 
						|
								                    want.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>hold</td>
							 | 
						|
								                <td>same as <code>click</code>.</td>
							 | 
						|
								                <td>Fired when the user clicks and holds the mouse or taps and holds on a touchscreen device. A click
							 | 
						|
								                    event
							 | 
						|
								                    is also fired in this case.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>release</td>
							 | 
						|
								                <td>same as <code>click</code>.</td>
							 | 
						|
								                <td>Fired after drawing on the canvas has been completed. Can be used to draw on top of the network.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>select</td>
							 | 
						|
								                <td>same as <code>click</code>.</td>
							 | 
						|
								                <td>Fired when the selection has changed by user action. This means a node or edge has been selected,
							 | 
						|
								                    added
							 | 
						|
								                    to the selection or deselected. <b>All select events are only triggered on click and hold</b>.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>selectNode</td>
							 | 
						|
								                <td>same as <code>click</code>.</td>
							 | 
						|
								                <td>Fired when a node has been selected by the user.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>selectEdge</td>
							 | 
						|
								                <td>same as <code>click</code>.</td>
							 | 
						|
								                <td>Fired when a edge has been selected by the user.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>deselectNode</td>
							 | 
						|
								                <td><pre class="code">
							 | 
						|
								{
							 | 
						|
								  nodes: [Array of selected nodeIds],
							 | 
						|
								  edges: [Array of selected edgeIds],
							 | 
						|
								  event: [Object] original click event,
							 | 
						|
								  pointer: {
							 | 
						|
								    DOM: {x:pointer_x, y:pointer_y},
							 | 
						|
								    canvas: {x:canvas_x, y:canvas_y}
							 | 
						|
								    }
							 | 
						|
								  },
							 | 
						|
								  previousSelection: {
							 | 
						|
								    nodes: [Array of previously selected nodeIds],
							 | 
						|
								    edges: [Array of previously selected edgeIds]
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								</pre>
							 | 
						|
								                </td>
							 | 
						|
								                <td>Fired when a node (or nodes) has (or have) been deselected by the user. The previous selection is
							 | 
						|
								                    the
							 | 
						|
								                    list of nodes and edges that were selected before the last user event.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>deselectEdge</td>
							 | 
						|
								                <td>same as <code>deselectNode</code>.</td>
							 | 
						|
								                <td>Fired when a edge (or edges) has (or have) been deselected by the user. The previous selection is
							 | 
						|
								                    the
							 | 
						|
								                    list of nodes and edges that were selected before the last user event.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>dragStart</td>
							 | 
						|
								                <td>same as <code>click</code>.</td>
							 | 
						|
								                <td>Fired when starting a drag.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>dragging</td>
							 | 
						|
								                <td>same as <code>click</code>.</td>
							 | 
						|
								                <td>Fired when dragging node(s) or the view.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>dragEnd</td>
							 | 
						|
								                <td>same as <code>click</code>.</td>
							 | 
						|
								                <td>Fired when the drag has finished.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>zoom</td>
							 | 
						|
								                <td><code>{direction:'+'/'-'}</code></td>
							 | 
						|
								                <td>Fired when the user zooms in or out. The properties tell you which direction the zoom is in.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>showPopup</td>
							 | 
						|
								                <td><code>id of item corresponding to popup</code></td>
							 | 
						|
								                <td>Fired when the popup (tooltip) is shown.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>hidePopup</td>
							 | 
						|
								                <td>none</td>
							 | 
						|
								                <td>Fired when the popup (tooltip) is hidden.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="subHeader ">
							 | 
						|
								                <td colspan="3">Events triggered the physics simulation. Can be used to trigger GUI updates.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>startStabilizing</td>
							 | 
						|
								                <td>none</td>
							 | 
						|
								                <td>Fired when stabilization starts. This is also the case when you drag a node and the physics
							 | 
						|
								                    simulation
							 | 
						|
								                    restarts to stabilize again. Stabilization does not neccesarily imply 'without showing'.
							 | 
						|
								                </td>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>stabilizationProgress</td>
							 | 
						|
								                <td>
							 | 
						|
								<pre class="code">
							 | 
						|
								{
							 | 
						|
								  iterations: Number // iterations so far,
							 | 
						|
								  total: Number      // total iterations in options
							 | 
						|
								}
							 | 
						|
								</pre>
							 | 
						|
								                </td>
							 | 
						|
								                <td>Fired when a multiple of the <code>updateInterval</code> number of iterations is reached. This only
							 | 
						|
								                    occurs in the 'hidden' stabilization.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>stabilizationIterationsDone</td>
							 | 
						|
								                <td>none</td>
							 | 
						|
								                <td>Fired when the 'hidden' stabilization finishes. This does not necessarily mean the network is
							 | 
						|
								                    stabilized; it could also mean that the amount of iterations defined in the options has been
							 | 
						|
								                    reached.
							 | 
						|
								                </td>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>stabilized</td>
							 | 
						|
								                <td>
							 | 
						|
								<pre class="code">
							 | 
						|
								{
							 | 
						|
								  iterations: Number // iterations it took
							 | 
						|
								}
							 | 
						|
								</pre>
							 | 
						|
								                </td>
							 | 
						|
								                <td>Fired when the network has stabilized or when the <code>stopSimulation()</code> has been called. The
							 | 
						|
								                    amount of iterations it took could be used to tweak the maximum amount of iterations needed to
							 | 
						|
								                    stabilize
							 | 
						|
								                    the network.
							 | 
						|
								                </td>
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="3">Event triggered by the canvas.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>resize</td>
							 | 
						|
								                <td>
							 | 
						|
								<pre class="code">
							 | 
						|
								{
							 | 
						|
								  width: Number     // the new width  of the canvas
							 | 
						|
								  height: Number    // the new height of the canvas
							 | 
						|
								  oldWidth: Number  // the old width  of the canvas
							 | 
						|
								  oldHeight: Number // the old height of the canvas
							 | 
						|
								}
							 | 
						|
								</pre>
							 | 
						|
								                    <ul>
							 | 
						|
								                    </ul>
							 | 
						|
								                </td>
							 | 
						|
								                <td>Fired when the size of the canvas has been resized, either by a redraw call when the container div
							 | 
						|
								                    has
							 | 
						|
								                    changed in size, a setSize() call with new values or a setOptions() with new width and/or height
							 | 
						|
								                    values.
							 | 
						|
								                </td>
							 | 
						|
								
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="subHeader ">
							 | 
						|
								                <td colspan="3">Events triggered by the rendering module. Can be used to draw custom elements on the
							 | 
						|
								                    canvas.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>initRedraw</td>
							 | 
						|
								                <td>none</td>
							 | 
						|
								                <td>Fired before the redrawing begins. The simulation step has completed at this point. Can be used to
							 | 
						|
								                    move
							 | 
						|
								                    custom elements before starting drawing the new frame.
							 | 
						|
								                </td>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>beforeDrawing</td>
							 | 
						|
								                <td><code>canvas context</code></td>
							 | 
						|
								                <td>Fired after the canvas has been cleared, scaled and translated to the viewing position but before
							 | 
						|
								                    all
							 | 
						|
								                    edges and nodes are drawn. Can be used to draw behind the network.
							 | 
						|
								                </td>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>afterDrawing</td>
							 | 
						|
								                <td><code>canvas context</code></td>
							 | 
						|
								                <td>Fired after drawing on the canvas has been completed. Can be used to draw on top of the network.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="subHeader">
							 | 
						|
								                <td colspan="3">Event triggered by the view module.</td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr class="">
							 | 
						|
								                <td>animationFinished</td>
							 | 
						|
								                <td>none</td>
							 | 
						|
								                <td>Fired when an animation is finished.</td>
							 | 
						|
								        </table>
							 | 
						|
								
							 | 
						|
								    </div>
							 | 
						|
								    <div id="dotParserDiv" class=" hidden">
							 | 
						|
								        <p>
							 | 
						|
								            Network supports data in the
							 | 
						|
								            <a href="http://en.wikipedia.org/wiki/DOT_language" target="_blank">DOT language</a>.
							 | 
						|
								            To use data in the DOT language, you can use the vis.network.convertDot converter to transform the DOT
							 | 
						|
								            language
							 | 
						|
								            into a vis.Network compatible nodes, edges and options objects. You can extend the options object with other
							 | 
						|
								            options if you'd like.
							 | 
						|
								        </p>
							 | 
						|
								
							 | 
						|
								        <p>
							 | 
						|
								            Example usage:
							 | 
						|
								        </p>
							 | 
						|
								
							 | 
						|
								<pre class="prettyprint lang-js">
							 | 
						|
								// provide data in the DOT language
							 | 
						|
								var DOTstring = 'dinetwork {1 -> 1 -> 2; 2 -> 3; 2 -- 4; 2 -> 1 }';
							 | 
						|
								var parsedData = vis.network.convertDot(DOTstring);
							 | 
						|
								
							 | 
						|
								var data = {
							 | 
						|
								  nodes: parsedData.nodes,
							 | 
						|
								  edges: parsedData.edges
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								var options = parsedData.options;
							 | 
						|
								
							 | 
						|
								// you can extend the options like a normal JSON variable:
							 | 
						|
								options.nodes = {
							 | 
						|
								  color: 'red'
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// create a network
							 | 
						|
								var network = new vis.Network(container, data, options);
							 | 
						|
								</pre>
							 | 
						|
								    </div>
							 | 
						|
								    <div id="gephiDiv" class=" hidden">
							 | 
						|
								        <p>
							 | 
						|
								            Network can import data straight from an exported json file from gephi. You can get the JSON exporter here:
							 | 
						|
								            <a href="https://marketplace.gephi.org/plugin/json-exporter/" target="_blank">https://marketplace.gephi.org/plugin/json-exporter/</a>.
							 | 
						|
								            An example exists showing how to get a JSON file into Vis: <a
							 | 
						|
								                href="../examples/network/30_importing_from_gephi.html">30_importing_from_gephi</a>.
							 | 
						|
								        </p>
							 | 
						|
								
							 | 
						|
								        <p>
							 | 
						|
								            Example usage:
							 | 
						|
								        </p>
							 | 
						|
								
							 | 
						|
								<pre class="prettyprint lang-js">
							 | 
						|
								// load the JSON file containing the Gephi network.
							 | 
						|
								var gephiJSON = loadJSON("./data/WorldCup2014.json"); // code in example 30
							 | 
						|
								
							 | 
						|
								// you can customize the result like with these options. These are explained below.
							 | 
						|
								// These are the default options.
							 | 
						|
								var parserOptions = {
							 | 
						|
								  edges: {
							 | 
						|
								    inheritColors: false
							 | 
						|
								  },
							 | 
						|
								  nodes: {
							 | 
						|
								    fixed: true,
							 | 
						|
								    parseColor: false
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								// parse the gephi file to receive an object
							 | 
						|
								// containing nodes and edges in vis format.
							 | 
						|
								var parsed = vis.network.convertGephi(gephiJSON, parserOptions);
							 | 
						|
								
							 | 
						|
								// provide data in the normal fashion
							 | 
						|
								var data = {
							 | 
						|
								  nodes: parsed.nodes,
							 | 
						|
								  edged: parsed.edges
							 | 
						|
								};
							 | 
						|
								
							 | 
						|
								// create a network
							 | 
						|
								var network = new vis.Network(container, data);
							 | 
						|
								</pre>
							 | 
						|
								
							 | 
						|
								        <br>
							 | 
						|
								        <h4>Gephi parser options</h4>
							 | 
						|
								
							 | 
						|
								        There are a few options you can use to tell Vis what to do with the data from Gephi.
							 | 
						|
								        <table class="options">
							 | 
						|
								            <tr>
							 | 
						|
								                <th>Name</th>
							 | 
						|
								                <th>Type</th>
							 | 
						|
								                <th>Default</th>
							 | 
						|
								                <th>Description</th>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>nodes.fixed</td>
							 | 
						|
								                <td>Boolean</td>
							 | 
						|
								                <td><code>true</code></td>
							 | 
						|
								                <td>When false, the nodes will move according to the physics model after import. If true, the nodes do
							 | 
						|
								                    not move at all. If set to true, the node positions have to be defined to avoid infinite recursion
							 | 
						|
								                    errors in the physics.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>nodes.parseColor</td>
							 | 
						|
								                <td>Boolean</td>
							 | 
						|
								                <td><code>false</code></td>
							 | 
						|
								                <td>If true, the color will be parsed by the vis parser, generating extra colors for the borders,
							 | 
						|
								                    highlighs and hover. If false, the node will be the supplied color.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								            <tr>
							 | 
						|
								                <td>edges.inheritColor</td>
							 | 
						|
								                <td>Boolean</td>
							 | 
						|
								                <td><code>false</code></td>
							 | 
						|
								                <td>When true, the color supplied by gephi is ignored and the inherit color mode is used with the global
							 | 
						|
								                    setting.
							 | 
						|
								                </td>
							 | 
						|
								            </tr>
							 | 
						|
								
							 | 
						|
								        </table>
							 | 
						|
								    </div>
							 | 
						|
								
							 | 
						|
								</div>
							 | 
						|
								
							 | 
						|
								<!-- Bootstrap core JavaScript
							 | 
						|
								================================================== -->
							 | 
						|
								<!-- Placed at the end of the document so the pages load faster -->
							 | 
						|
								<script src="../js/jquery.min.js"></script>
							 | 
						|
								<script src="../js/bootstrap.min.js"></script>
							 | 
						|
								<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
							 | 
						|
								<script src="../js/ie10-viewport-bug-workaround.js"></script>
							 |