diff --git a/src/Blazor.Diagrams.Core/Models/LinkModel.cs b/src/Blazor.Diagrams.Core/Models/LinkModel.cs index 0fad9b04..ad45459f 100644 --- a/src/Blazor.Diagrams.Core/Models/LinkModel.cs +++ b/src/Blazor.Diagrams.Core/Models/LinkModel.cs @@ -23,5 +23,11 @@ public LinkModel(string id, NodeModel sourceNode, NodeModel targetNode) public string? Color { get; set; } public string? SelectedColor { get; set; } + + /// + /// Set a value equal to values accepted by SVG's 'stroke-dasharray' attribute. + /// For example '5,5' will result in patter where the line is drawn for 5px and not drawn for another 5px. + /// + public string? DashPattern { get; set; } public double Width { get; set; } = 2; } diff --git a/src/Blazor.Diagrams/Components/LinkWidget.razor b/src/Blazor.Diagrams/Components/LinkWidget.razor index 4a1229e1..4e5650ee 100644 --- a/src/Blazor.Diagrams/Components/LinkWidget.razor +++ b/src/Blazor.Diagrams/Components/LinkWidget.razor @@ -10,10 +10,17 @@ var d = result.FullPath.ToString(); } +@{ + var extraPathAttributes = new Dictionary(); + if (!string.IsNullOrEmpty(Link.DashPattern)) + extraPathAttributes["stroke-dasharray"] = Link.DashPattern; +} + + stroke="@color" + @attributes="extraPathAttributes"/> @if (dnlb?.OngoingLink == null || dnlb.OngoingLink != Link) {