Skip to main content

Home > @jsplumbtoolkit/browser-ui-react

browser-ui-react package

Provides integration with React (17+). This package has a dependency on @jsplumbtoolkit/browser-ui.

For a detailed discussion of this package, see https://docs.jsplumbtoolkit.com/toolkit/6.x/lib/react-integration.

Classes

ClassDescription
BaseGroupComponentBase component that your group components can extend, to get access to a few helper methods. It is not imperative that you extend this component.
BaseNodeComponentBase component that your node components can extend, to get access to a few helper methods. It is not imperative that you extend this component.
BasePortComponentBase class for components that render Ports. Your port components can extend this to get access to a few helper methods. You are expected to supply a parent
BrowserUIReactExtension of the Toolkit suitable for use with the React integration.
ControlsComponent
EdgeTypePickerComponentA helper component to support the selection of an edge type from a set of edge property mappings.
JsPlumbToolkitDragDropComponentProvides a React component wrapper around the Toolkit's DropManager.
JsPlumbToolkitMiniviewComponentjsPlumb Toolkit Miniview Component
JsPlumbToolkitSurfaceComponentProvides a React component that fronts a surface widget.
ShapeComponentA component that renders an SVG shape.
ShapeLibraryPaletteComponent
SurfaceDropComponentSurface Drop Component - draggable nodes. This is an abstract component. You are expected to provide the render method.

Functions

FunctionDescription
newInstance(options)Creates a new instance of the Toolkit for use with the React integration.

Interfaces

InterfaceDescription
BasePortProps
ControlsComponentPropsProps for the controls component.
ControlsComponentState
DragDropPropsProps for the JsPlumbToolkitDragDropComponent. Most users will probably want to use the SurfaceDropComponent instead.
DragDropStateState object for drag/drop component.
EdgeTypePickerComponentPropsProps for the EdgeTypePickerComponent
EdgeTypePickerComponentState
MiniviewPropsProps for the miniview component.
MiniviewState
PropsWithContext
ShapeComponentPropsProps for the ShapeComponent.
ShapeComponentState
ShapeLibraryPaletteProps
ShapeLibraryPaletteState
SurfaceDropPropsProps for SurfaceDropComponent
SurfaceDropState
SurfaceProps

Props for the Surface component. You are expected to provide, at a minimum, an instance of BrowserUIReact to this component, and in practise you will also almost certainly want to pass a view and renderParams.

Asynchronous rendering ----------------------

From version 5.8.0 onwards this component will, by default, render vertices "asynchronously", which is to say that it will hold off informing the Toolkit that the rendering of some vertex has been completed until an internal ResizeObserver detects that the initial hydration of the element is complete. This mechanism is of particular use when you're bulk loading data and you're using React 18, as React 18's rendering pipeline does not always hydrate a component immediately, and the Toolkit cannot therefore effectively run a layout or compute the positions of connectors.

ResizeObserver is supported on all recent versions of modern browsers, but not on IE11. In the absence of ResizeObserver, the component will fall back to the "synchronous" rendering mechanism.

It is extremely unlikely you will want to switch off asynchronous rendering, but you can do so by setting the prop asynchronous to false.

Type Aliases

Type AliasDescription
BasePortState
BaseVertexState