@page "/custom-nodes" Custom Nodes ยท Blow

Custom Nodes

Nodes rendered with a custom template. The "color" node has multiple labelled source handles.

@if (node.Type == "color" && node.Data is ColorData data) {
@node.Label
@data.Color
} else {
@node.Label
}
@code { public record ColorData(string Color); private List _nodes = new(); private List _edges = new(); protected override void OnInitialized() { _nodes = [ new BlowNode { Id = "1", Type = "color", Label = "Crimson", Position = new(80, 80), Data = new ColorData("#dc2626"), Width = 180 }, new BlowNode { Id = "2", Type = "color", Label = "Emerald", Position = new(80, 220), Data = new ColorData("#10b981"), Width = 180 }, new BlowNode { Id = "3", Label = "Mixer", Position = new(400, 150) }, ]; _edges = [ new BlowEdge { Id = "e1-3", Source = "1", Target = "3", SourceHandle = "a", Type = BlowEdgeType.SmoothStep }, new BlowEdge { Id = "e2-3", Source = "2", Target = "3", SourceHandle = "b", Type = BlowEdgeType.SmoothStep }, ]; } }