extensions library
Extension system - events, extensions, and built-in extensions.
Events
Events are organized by category in the events/ subdirectory:
- Node events: NodeAdded, NodeRemoved, NodeMoved, etc.
- Connection events: ConnectionAdded, ConnectionRemoved
- Selection events: SelectionChanged
- Viewport events: ViewportChanged
- Drag events: NodeDragStarted, ConnectionDragStarted, etc.
- Hover events: NodeHoverChanged, PortHoverChanged, etc.
- Lifecycle events: GraphCleared, GraphLoaded
- Batch events: BatchStarted, BatchEnded
- LOD events: LODLevelChanged
Extension System
- NodeFlowExtension - Base class for extensions
- ExtensionRegistry - Registry for managing extensions
Built-in Extensions
- AutoPanExtension - Autopan near viewport edges
- DebugExtension - Debug overlay visualizations
- LodExtension - Level of Detail visibility based on zoom
- MinimapExtension - Minimap state and highlighting
- StatsExtension - Reactive graph statistics
Classes
- AutoPanConfig
- Configuration for autopan behavior during drag operations.
- AutoPanExtension
- Extension for managing autopan behavior during drag operations.
- BatchEnded
- Marks the end of a batch operation.
- BatchStarted
- Marks the start of a batch operation.
- ConnectionAdded
- Emitted when a connection is added to the graph.
- ConnectionDragEnded
- Emitted when connection drag ends (connected or cancelled).
- ConnectionDragStarted
- Emitted when connection creation begins (dragging from a port).
- ConnectionHoverChanged
- Emitted when hover state changes on a connection.
- ConnectionRemoved
- Emitted when a connection is removed from the graph.
- DebugExtension
- Extension for managing debug visualization overlays.
- DebugTheme
- Theme configuration for debug visualizations.
- ExtensionRegistry
- Registry that manages extension instances.
- GraphCleared
- Emitted when the graph is cleared.
- GraphEvent
- Base class for all graph events emitted by NodeFlowController.
- GraphLoaded
- Emitted when a graph is loaded (replacing current content).
- LodExtension
- Level of Detail (LOD) extension that provides reactive visibility settings based on the viewport zoom level.
- LODLevelChanged
- Emitted when the LOD visibility level changes.
- MinimapConfig
- Configuration for the minimap extension.
- MinimapExtension
- Minimap extension for managing minimap state and behavior.
-
NodeAdded<
T> - Emitted when a node is added to the graph.
-
NodeDataChanged<
T> - Emitted when a node's data changes.
- NodeDragEnded
- Emitted when a node drag operation ends.
- NodeDragStarted
- Emitted when a node drag operation starts.
-
NodeFlowExtension<
TConfig> - Interface for extensions that add behavior and state to the node flow editor.
-
NodeGroupChanged<
T> - Emitted when a node's group membership changes.
- NodeHoverChanged
- Emitted when hover state changes on a node.
-
NodeLockChanged<
T> - Emitted when a node's lock state changes.
-
NodeMoved<
T> - Emitted when a node's position changes.
-
NodeRemoved<
T> - Emitted when a node is removed from the graph.
-
NodeResized<
T> - Emitted when a node's size changes.
-
NodeVisibilityChanged<
T> - Emitted when a node's visibility changes.
-
NodeZIndexChanged<
T> - Emitted when a node's z-index changes.
- PortHoverChanged
- Emitted when hover state changes on a port.
- ResizeEnded
- Emitted when a resize operation ends.
- ResizeStarted
- Emitted when a resize operation starts.
- SelectionChanged
- Emitted when the selection changes.
- StatsExtension
- Reactive graph statistics extension.
- ViewportChanged
- Emitted when the viewport changes (pan or zoom).
Enums
- DebugMode
- Debug visualization mode for NodeFlow.
- MinimapPosition
- Position options for minimap placement.
Extensions
-
AutoPanExtensionAccess
on NodeFlowController<
T, dynamic> - Dart extension providing access to the autopan extension.
-
DebugExtensionAccess
on NodeFlowController<
T, dynamic> - Dart extension providing access to the debug extension.
-
LodExtensionAccess
on NodeFlowController<
T, dynamic> - Dart extension providing convenient access to LOD functionality.
-
MinimapExtensionAccess
on NodeFlowController<
T, dynamic> - Dart extension providing access to the minimap extension.
-
StatsExtensionAccess
on NodeFlowController<
T, dynamic> - Dart extension providing access to the stats extension.