Flow Studio
Right-Click Context Menu
Right-clicking on the canvas or a node opens a context-sensitive menu. The available options change based on what you right-clicked and whether you are in Design or Execution Mode.
Node Context Menu (Design Mode)
| Option | Action |
|---|---|
| Edit / Configure | Opens the node's configuration form in the right panel (same as clicking the node) |
| Rename | Puts the node label into inline edit mode |
| Duplicate | Creates a copy of the node offset by 20px, with the same configuration |
| Copy | Copies the node to the clipboard (includes configuration) |
| Cut | Copies and removes the node |
| Group | Groups this node with any other selected nodes |
| Align → | Submenu: Align Left, Right, Top, Bottom, Centre H, Centre V |
| Distribute → | Submenu: Distribute Horizontally, Vertically |
| Edit Template | Opens NodeTemplateEditModal (admin only) |
| Delete | Deletes the node and all its connected edges |
Node Context Menu (Execution Mode)
| Option | Action |
|---|---|
| Run This Node | Executes only this single node (uses the output of its predecessors as input) |
| Set Breakpoint | Pauses execution when this node is about to be reached (Shift+Click also toggles) |
| Inspect | Opens the Node Inspector tab in the Observer Panel for this node |
| View Logs | Jumps to the Logs tab filtered to this node |
Canvas Context Menu (right-click on empty area)
| Option | Action |
|---|---|
| Paste | Pastes clipboard nodes at the right-click position |
| Select All | Selects all nodes on the canvas |
| Fit View | Zooms and pans to fit all nodes in the visible area |
| Add Note | Creates a sticky-note annotation on the canvas (does not affect execution) |
Context Menu and the EventBus
Context menu actions do not call React handlers directly. Instead, they publish events to the platform EventBus:
// Example: the Delete menu item publishes:
bus.publish('node:delete', { nodeId: 'abc123' });
// The canvas subscribes and handles:
bus.subscribe('node:delete', ({ nodeId }) => {
workflowStore.removeNode(nodeId);
});
This architecture allows plugins and custom extensions to intercept, modify, or supplement any context menu action by subscribing to the same events.