Foblex Flow
Introduction
Overview
Nodes
Custom Nodes
Drag Handle
Node Selection
Resize Handle
Rotate Handle
Grouping
Drag to Group
Connectors
Node as Connector
Connector Inside Node
Connector Outlet
Limiting Connections
Connection Rules
Connectable Side
Connections - Editing
Drag to Connect
Click to Connect
New
Drag to Reassign
Create Node on Connection Drop
Remove Connection on Drop
Assign Node to Connection on Drop
Auto Snap
Connections - Appearance
Connection Types (Straight, Segment, Bezier, Adaptive Curve)
Custom Connection Type
Connection Behaviours
Connection Markers
Connection Content
Connection Gradients
Connections - Routing
Connection Waypoints
Connection Connectable Side
Viewport
Minimap
Zoom
Background
Auto Pan
New
Canvas Layer Ordering
New
Editor Helpers
Selection Area
Magnetic Lines
Magnetic Rects
Grid System
Add Node from Palette
Accessibility
New
Help in Positioning (Legacy)
Deprecated
Layout Engines
Dagre Layout
Dagre Auto Layout
ELK.js Layout
ELK.js Auto Layout
Reflow
Reflow on Resize
Editor State
Cut/Copy/Paste
State
New
Events
Drag Start/End Events
Custom Event Triggers
Control Schemes
New
Performance
Large Scene Performance
Connection Redraw Performance
Reference Apps
AI Low-Code Platform
Schema Designer
Call Center Flow
UML Diagram
Tournament Bracket
Foblex Flow

Drag to Group

Description

Drag nodes or groups into containers, build nested hierarchies, and manage dynamic parent-child structures in Angular with Foblex Flow. Use this pattern when your editor needs more than a flat canvas and grouping should feel like a first-class interaction.

Example

[example.html] <<< https://raw.githubusercontent.com/Foblex/f-flow/main/libs/f-examples/nodes/drag-to-group/example.html [example.ts] <<< https://raw.githubusercontent.com/Foblex/f-flow/main/libs/f-examples/nodes/drag-to-group/example.ts [example.scss] <<< https://raw.githubusercontent.com/Foblex/f-flow/main/libs/f-examples/nodes/drag-to-group/example.scss

What this example shows

  • Turn the whole gesture on or off with the [fDropToGroup] input (on by default) — the "Drop to Group" toggle flips it live.
  • Move nodes or groups into another group and update parent-child relations through drag-and-drop.
  • Nest groups inside groups and nodes inside other containers when the editor needs hierarchy.
  • Create new nodes directly inside a target container via fExternalItem.
  • Control container geometry with fIncludePadding, fAutoSizeToFitChildren, and fAutoExpandOnChildHit.
  • React to reorganization events through fDropToGroup and fCreateNode.

Practical tips

  • Use fDropToGroup when your app needs to validate or persist hierarchy changes.
  • With Managed Flow State, enable withFlowState({ dropToGroup: true }) to apply the emitted hierarchy change to the plugin store automatically; it remains off by default.
  • Combine external palettes with fCreateNode if users should spawn nodes directly inside any container.
  • Enable auto-expand when manual group resizing would slow down editing.
  • Nesting can go deep, but groups inside nodes are still not supported.
Edit this page on GitHub