jsPlumb Toolkit
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 - 16 are supported.
- React integration Supporting React 16+.
- Vue 2 integration
- Vue 3 integration
- Svelte 3 integration
These docs refer to version 6.5.0. For the 2.x documentation, see this page. For the 5.x documentation, see this page.
You can read more about the 6.x release on our blog.
This site provides the documentation for the Toolkit edition. For Community edition documentation, visit this page.
Getting Started
A good way to get started familiarising yourself with the architecture of the Toolkit is to clone the Starter applications project on GitHub, and take a look through the various applications available. If you're using Vue, Angular, or React there are versions of these apps that use the appropriate library integration that ships with the Toolkit, and we're working on adding Svelte versions too.
If you're a new evaluator then you will find the starter applications inside your evaluation download.
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.
Demonstrations
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:
https://github.com/jsplumb-toolkit-demonstrations
The main
branch of each of these demonstrations is setup for version 6.x of the Toolkit.