Add Photino project
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
@using Blazor.Diagrams
|
||||
@using Blazor.Diagrams.Core.Anchors
|
||||
@using Blazor.Diagrams.Core.Geometry
|
||||
@using Blazor.Diagrams.Core.Models
|
||||
@using DotNetSolutionTools.Core.Models
|
||||
|
||||
<h3>BuildOrderDiagram</h3>
|
||||
<div style="width: 100%; height: 400px; border: black">
|
||||
<CascadingValue Value="Diagram" IsFixed="true">
|
||||
<DiagramCanvas />
|
||||
</CascadingValue>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
[Parameter, EditorRequired]
|
||||
public List<Project> Projects { get; set; }
|
||||
|
||||
private BlazorDiagram Diagram { get; set; } = null!;
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
Diagram = new BlazorDiagram();
|
||||
foreach (var project in Projects)
|
||||
{
|
||||
var node = Diagram.Nodes.Add(new NodeModel()
|
||||
{
|
||||
Title = project.Name,
|
||||
|
||||
});
|
||||
foreach (var dependency in project.DependsOn)
|
||||
{
|
||||
var dependencyNode = Diagram.Nodes.Add(new NodeModel()
|
||||
{
|
||||
Title = dependency.Name
|
||||
});
|
||||
Diagram.Links.Add(new LinkModel(node, dependencyNode));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void Example()
|
||||
{
|
||||
Diagram = new BlazorDiagram();
|
||||
var firstNode = Diagram.Nodes.Add(new NodeModel(position: new Point(50, 50))
|
||||
{
|
||||
Title = "Node 1"
|
||||
});
|
||||
var secondNode = Diagram.Nodes.Add(new NodeModel(position: new Point(200, 100))
|
||||
{
|
||||
Title = "Node 2"
|
||||
});
|
||||
var leftPort = secondNode.AddPort(PortAlignment.Left);
|
||||
var rightPort = secondNode.AddPort(PortAlignment.Right);
|
||||
// The connection point will be the intersection of
|
||||
// a line going from the target to the center of the source
|
||||
var sourceAnchor = new ShapeIntersectionAnchor(firstNode);
|
||||
// The connection point will be the port's position
|
||||
var targetAnchor = new SinglePortAnchor(leftPort);
|
||||
var link = Diagram.Links.Add(new LinkModel(sourceAnchor, targetAnchor));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user