Releases: fkling/JSNetworkX
Releases · fkling/JSNetworkX
v0.3.2
v0.3.1
New
API/Algorithms
Weighted and generic shortest path algorithms. The "generic" functions provide
a single interface for weighted and unweighted algorithms.
- allPairsDijkstraPath
- allPairsDijkstraPathLength
- dijkstraPath
- dijkstraPathLength
- singleSourceDijkstra
- singleSourceDijkstraPath
- singleSourceDijkstraPathLength
- shortestPath
- shortestPathLength
- hasPath
including async (gen*) versions.
v0.3.0
New
API
- Many algorithms are now available as asynchronous methods. E.g.
clustering
is available asgenClustering
. Those methods return aPromise
and will
delegate to a web worker in browsers. In Node.js, a new process will be
spawned.
Note that in both cases the data has to be serialized, which happens
synchronously and may also take some time, depending on the size of the
graph.
Drawing
- New drawing option
stickyDrag
. If set totrue
, the dragged node will keep
its new position after dragging and is not subject to the force layout.
D3 example.
Changes
API
- Moved from
underscore_method_names
tocamelCaseMethodNames
. makeSmallUndirectedGraph
andmakeSmallGraph
now accept an object of the form
{type, name, n, list}
as first argument instead of an array[type, name, n, list]
.- Objects are not considered as "NodeContainers" anymore. Previously, any function
that accepted a list of nodes also accepted an object of the form
{n1: ..., n2: ..., ...}
andn1
,n2
, ... would have been treated as nodes.
Instead, any object that implements the ES6 iterator protocol
can be used.
This includes (by default) arrays and generator functions. - Graph classes cannot be instantiated without
new
anymore. I.e. you have to use
var G = new jsnx.Graph();
instead ofvar G = jsnx.Graph();
. That's because
ES6 classes cannot be called withoutnew
. - The utility methods
cumulative_sum
,generate_unique_node
and
is_list_of_ints
have been removed, since there was no need for them.
Algorithms
balancedTree
doesn't set the height to2
anymore if the branching factor is
1
. SobalancedTree(1, 4)
is equivalent topathGraph(4)
.
Drawing
- Like with method names, drawing options are
camelCase
now instead of
under_score
.
Fixed
Drawing
- Fixed dragging (canvas doesn't pan while node is dragged).