React Diagram API

The Diagram UI component provides a visual interface to help you design new and modify existing diagrams.

import Diagram from "devextreme-react/diagram"
Selector: Diagram

Props

An object that defines the Diagram UI component's configuration properties.

Name Description
autoZoomMode

Specifies how the Diagram UI component automatically zooms the work area.

contextMenu

Configures the context menu's settings.

contextToolbox

Configures the context toolbox's settings.

customShapeComponent

An alias for the customShapeTemplate property specified in React. Accepts a custom component. Refer to Using a Custom Component for more information.

customShapeRender

An alias for the customShapeTemplate property specified in React. Accepts a rendering function. Refer to Using a Rendering Function for more information.

customShapes

Provide access to an array of custom shapes.

customShapeTemplate

Specifies a custom template for shapes.

customShapeToolboxComponent

An alias for the customShapeToolboxTemplate property specified in React. Accepts a custom component. Refer to Using a Custom Component for more information.

customShapeToolboxRender

An alias for the customShapeToolboxTemplate property specified in React. Accepts a rendering function. Refer to Using a Rendering Function for more information.

customShapeToolboxTemplate

Specifies a custom template for shapes in the toolbox.

defaultItemProperties

Configures default item properties.

disabled

Specifies whether the UI component responds to user interaction.

edges

Allows you to bind the collection of diagram edges to a data source. For more information, see the Data Binding section.

editing

Specifies which editing operations a user can perform.

elementAttr

Specifies the global attributes to be attached to the UI component's container element.

export

Configures export settings.

fullScreen

Specifies whether or not to display the UI component in full-screen mode.

gridSize

Specifies the grid pitch.

hasChanges

Indicates whether diagram content has unsaved changes.

height

Specifies the UI component's height.

historyToolbar

Configures the history toolbar's settings.

mainToolbar

Configures the main toolbar settings.

nodes

Allows you to bind the collection of diagram nodes to a data source. For more information, see the Data Binding section.

onContentReady

A function that is executed when the UI component is rendered and each time the component is repainted.

onCustomCommand

A function that is executed after a custom command item was clicked and allows you to implement the custom command's logic.

onDisposing

A function that is executed before the UI component is disposed of.

onInitialized

A function used in JavaScript frameworks to save the UI component instance.

onItemClick

A function that is executed after a shape or connector is clicked.

onItemDblClick

A function that is executed after a shape or connector is double-clicked.

onOptionChanged

A function that is executed after a UI component property is changed.

onRequestEditOperation

A function that allows you to prohibit an edit operation at run time.

onRequestLayoutUpdate

A function that is executed after diagram data is reloaded and allows you to specify whether or not the UI component should update the diagram layout.

onSelectionChanged

A function that is executed after the selection is changed in the Diagram.

pageColor

Specifies the color of a diagram page.

pageOrientation

Specifies the page orientation.

pageSize

Specifies a size of pages.

propertiesPanel

Configures the Properties panel settings.

readOnly

Specifies whether the diagram is read-only.

rtlEnabled

Switches the UI component to a right-to-left representation.

showGrid

Specifies whether grid lines are visible.

simpleView

Switch the Diagram UI component to simple view mode.

snapToGrid

Specifies whether diagram elements should snap to grid lines.

toolbox

Configures the toolbox settings.

units

Specifies the measurement unit for size properties.

useNativeScrolling

Specifies whether or not the UI component uses native scrolling.

viewToolbar

Configures the view toolbar settings.

viewUnits

Specifies the measurement unit that is displayed in user interface elements.

visible

Specifies whether the UI component is visible.

width

Specifies the UI component's width.

zoomLevel

Specifies the zoom level.

Methods

This section describes members used to manipulate the UI component.

Name Description
beginUpdate()

Prevents the UI component from refreshing until the endUpdate() method is called.

defaultOptions(rule)

Specifies the device-dependent default configuration properties for this component.

dispose()

Disposes of all the resources allocated to the Diagram instance.

element()

Gets the root UI component element.

endUpdate()

Refreshes the UI component after a call of the beginUpdate() method.

export()

Exports the diagram data to a JSON object.

exportTo(format, callback)

Exports the diagram to an image format.

fitToContent()

Fits the diagram content into the work area. The maximum scale is 100%.

fitToWidth()

Fits the diagram content's width into the work area width. The maximum scale is 100%.

focus()

Sets focus on the UI component.

getEdgeDataSource()

Returns the DataSource instance.

getInstance(element)

Gets the instance of a UI component found using its DOM node.

getItemById(id)

Returns a shape or connector object specified by its internal identifier.

getItemByKey(key)

Returns a shape or connector object specified by its key.

getItems()

Returns an array of diagram items.

getNodeDataSource()

Gets the DataSource instance.

getSelectedItems()

Returns an array of selected diagram items.

import(data, updateExistingItemsOnly)

Imports the diagram data.

instance()

Gets the UI component's instance. Use it to access other methods of the UI component.

off(eventName)

Detaches all event handlers from a single event.

off(eventName, eventHandler)

Detaches a particular event handler from a single event.

on(eventName, eventHandler)

Subscribes to an event.

on(events)

Subscribes to events.

option()

Gets all UI component properties.

option(optionName)

Gets the value of a single property.

option(optionName, optionValue)

Updates the value of a single property.

option(options)

Updates the values of several properties.

repaint()

Repaints the UI component without reloading data. Call it to update the UI component's markup.

resetOption(optionName)

Resets a property to its default value.

scrollToItem(item)

Scrolls the view area to the specified item.

setSelectedItems(items)

Selects the specified items.

updateToolbox()

Updates the diagram toolboxes.

See Also

Events

This section describes events this UI component fires.

Name Description
contentReady

Raised when the UI component's content is ready.

customCommand

Raised after a custom command item was clicked and allows you to implement custom command logic.

disposing

Raised before the UI component is disposed of.

initialized

Raised only once, after the UI component is initialized.

itemClick

Raised after a shape or connector is clicked.

itemDblClick

Raised after a shape or connector is double-clicked.

optionChanged

Raised after a UI component property is changed.

requestEditOperation

Raised before a user edits a diagram and before the UI related to an edit operation is updated. Requests clarification about edit operation availability.

requestLayoutUpdate

Raised after diagram data has been changed and requests whether the UI component should update the diagram layout.

selectionChanged

Raised after the selection is changed in the Diagram.

See Also

Interfaces

This section describes interfaces that the Diagram component uses.