The jsPlumb Toolkit offers a set of packages to assist you in rapidly building powerful applications whose focus is on visual connectivity. Some key features of the Toolkit are:
- A powerful declarative mechanism for defining the appearance and behaviour of the various parts of your UI.
- Data binding via client side templates, supporting declarative configuration of connectivity.
- An underlying directed graph, allowing you to query the data in several ways.
- A pan/zoom widget with the ability to serialize its state (either manually or automatically) to local storage or cookies.
- A miniview widget to assist in the navigation of large datasets.
- Automatic layouts (Hierarchical, Force directed, Circular, Balloon, Absolute, Spring), plus the ability to write your own.
- Data load/save Either automatically or on-demand.
- Angular integration All versions from 2 - 14 are supported.
- React integration Supporting React 16+.
- Vue 2 integration
- Vue 3 integration
- Svelte 3 integration
This site provides the documentation for the Toolkit edition. For Community edition documentation, visit this page.
A good way to get started familiarising yourself with the architecture of the Toolkit is to clone one of the demonstrations discussed below - either the Database Visualizer or the Flowchart Builder might be a good option, since they are fully-featured apps, and also they offer examples in Typescript, ES6 and ES5. If you're using Vue, Angular, React or Svelte there are versions of these apps that use the appropriate library integration that ships with the Toolkit.
The Data Model page is a good place to start looking around when you want to familiarise yourself with the way the Toolkit models the world. In a nutshell, the Toolkit uses a directed graph as its core data structure. Every app that has a need for jsPlumb - which is to say a need for the ability to connect entities - can be thought of in terms of a directed (or undirected) graph.
In this GitHub organisation you will find source code and documentation for all of the demonstrations on the jsPlumb Toolkit site, plus a few more:
main branch of each of these demonstrations is setup for version 5.x of the Toolkit.