📄️ Graph Model
The central part of the Reactodia state is the diagram content which is a mutable collection of so-called cells presented on the Canvas.
📄️ Data Provider
Reactodia defines a contract (DataProvider interface) to query a subset of data from external source (data graph) to provide means for incremental data loading when exploring the graph.
📄️ Event System
Reactodia uses a lightweight EventEmitter-like publish-subscribe mechanism to connect different components and observe changes to the state.
📄️ Command History
Reactodia uses a common pattern to organize changes to the diagram model into "commands" representing different atomic actions to facilitate undo/redo support.
📄️ Workspace Context
Reactodia uses a common context to connect its components with the graph model and other services such as graph layout, i18n and visual graph authoring.
📄️ Canvas Coordinates
Reactodia uses different coordinate systems when dealing with infinitely-resizable and scalable canvas content.
📄️ Graph Layout
Reactodia supports the usage of graph layout algorithms on the diagram content to re-position the elements and links.
📄️ Overlay dialogs and tasks
Canvas dialogs
📄️ Graph Authoring
The library supports visual graph authoring mechanism to edit the graph data: create, update or delete entities and relations.
📄️ UI localization and i18n
Reactodia has a built-in support for UI text strings localization.
📄️ Design System
Reactodia defines a basic design system inspired by Infima styling framework to support both light and dark color schemes and easy customization via CSS custom properties.