Release 6.21.0
Nested instances
-
Support was added for zooming in nested instances (eg. when some node in a given instance has another instance of JsPlumb embedded in it).
-
Support was added for dragging edges in nested instances.
You can see these new capabilities in action in our Nested instances demonstration.

Inspectors
- Inspectors were updated to ensure they are cleaned up when the port they are inspecting is removed from the dataset, or the node/group which the port they are inspecting belongs to has been removed from the dataset.
Drag/drop improvements
- Surface Drop manager was updated to not assign active/hover classes to nodes and groups in the canvas when
allowDropOnNodeorallowDropOnGroupis set to false.
Miscellaneous
-
Events bound on a Surface via
bindModelEventsare invoked in a timeout, which better isolates event binding behaviour from the Surface's lifecycle. -
ControlsComponent consumes events it has handled instead of allowing them to bubble.
Further reading
- Check out the source code for the nested instances demo here: https://github.com/jsplumb-demonstrations/nested-instances
Start a free trial
Interested in the concepts discussed in this article? JsPlumb is now in maintenance mode, but the good news is that we've released a bigger and better library - VisuallyJs. If you can do it in JsPlumb you can do it more easily in VisuallyJs.

To read more about VisuallyJs, check out the home page, or if you want to get started on a trial right now, head over to the trial page at https://visuallyjs.com/trial
Get in touch!
If you'd like to discuss any of the ideas/concepts in this article we'd love to hear from you - drop us a line at hello@jsplumbtoolkit.com.