jsPlumb Toolkit 是一個先進的、符合標準的、易於使用的JS庫,用於構建基於連接的應用程式,如流程圖、工藝流程圖、序列圖、組織圖等。可與Angular、React、Vue 2或Vanilla JS一起使用。
JsPlumb 提供了一組軟體包來幫助您快速建立功能強大的應用程序,其重點是圖表和視覺連接。 JsPlumb 的一些主要功能包括
- 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 (Hierarchy, Force directed, Circular, Balloon, Absolute), plus the ability to write your own.
- Data load/save Either automatically or on-demand.
- Angular integration Deep integration with Angular. All versions from 2 - 16 are supported.
- React integration Supporting React 16+ and NextJS.
- Vue 2 integration
- Vue 3 integration including the composition API.
- Svelte 3 integration
Library Integrations
Angular
Use rich Angular components to represent the nodes/groups in your UI and our underlying service to wire everything up
React
Seamlessly integrate the Toolkit into a React app, with both components based and hooks based approaches supported.
Vue
Leverage the power of the Toolkit's tight integration with Vue 2 and Vue 3
Svelte
Embed the Toolkit into a Svelte app with no fuss using our deep integration
Layouts
Standard Layouts
Force directed, Hierarchy, Balloon, Circular and Absolute positioning layouts are provided out of the box.
Custom Layouts
The Toolkit makes it a snap to create your own layout, should one of our standard layouts not suffice for your use case.
Magnetizer
The built-in magnetizer lets you make small adjustments to your UI to achieve the perfect layout.
Components
Surface
The Surface is the heart of the Toolkit's UI, offering an infinitely pannable canvas with the smoothest zoom for miles around.
Miniview
Attach a miniview to a surface and see your world in miniature. Pan and zoom directly on the miniview component to control the surface.
Node palette
Drag and drop new nodes/groups onto your canvas with the SurfaceDropManager
Controls
Manage surface mode (pan/lasso), undo/redo, zoom to extents from the Controls component.
Dialogs
Straightforward and easily skinned dialog manager, with tight data binding to your model.
Inspector
Property inspector component for the objects in your model. Supports inspecting multiple objects of disparate types at once.
Element Dragger
A helper class that you can use to turn any part of your UI external to the canvas into a draggable element
Data Model
Graph operations
A full set of operations on the underlying graph let you query and manipulate your dataset with ease
Undo & Redo
Limitless stack of operations allowing your users to undo and redo to their hearts content.
Transactions
Wrap multiple operations in a transaction and undo/redo them all in one atomic operation
Paths
Query the Toolkit to find paths between elements and then animate them
Selections
Select a set of nodes, groups and/or edges and perform operations on them at once. Or, use a selection as the data source for a Surface.
Full text search
Attach a text search index to your Toolkit instance and run queries over the contents of the dataset
Copy & paste
Easily copy nodes, groups and/or edges to the clipboard and paste them elsewhere in your UI
Drawing
Shape Libraries
Choose from our Basic or Flowchart shape libraries to render the nodes in your UI, or create your own!
Resize Objects
The DrawingTools plugin allows you to select and resize objects using the mouse or touch events.
Lasso
The Lasso plugin allows you to select multiple elements via the mouse or touch events.
Path editing
Click and drag to manually edit the paths of connectors with a powerful and intuitive interface
Snaplines
Display visual cues to help your users align their elements