3.0.0 beta 1 #228
zHaytam
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
.NET 6!
A lot of things changed in this version, a lot of breaking changes were introduced but I believe it was necessary.
Many changes were required to make everything clearer, customizable and cleaner (code wise).
I'm aiming to completely decouple the Core library from the UI, because I'm thinking of giving MAUI Diagrams a try very soon!
Added
BlazorDiagram
class (inheritsDiagram
) to the blazor package to replace the old Core oneBlazorDiagramOptions
that inherit from the other diagram options to add Blazor (UI) specific optionsBlazor.Diagrams.Models.SvgNodeModel
class to represent a node that needs to be rendered in the SVG layerGetBehavior<T>
method toDiagram
in order to retrieve a registered behaviorKeyboardShortcutsBehavior
class which handles keyboard shortcuts/actions:SetShortcut
: sets an action (Func<Diagrambase, ValueTask>
) to be executed whenever the specified combination is pressedRemoveShortcut
: removes a defined action (if it exists)KeyboardShortcutsDefaults
containing the default shortcuts that were deleted (DeleteSelection
andGrouping
)Source
andTarget
of typeAnchor
SinglePortAnchor
: Specifies that the connection point is a specific port (supports shape & alignment)ShapeIntersectionAnchor
: Specifies that the connection point is the intersection of a line with the node's shapeDynamicAnchor
: Specifies that the connection point is one of the given positions (closest)IShape GetShape()
method on nodes (defaultRectangle
) and ports (defaultCircle
)Options.LinksLayerOrder
to indicate the order of the links layer (svg for blazor)Options.NodesLayerOrder
to indicate the order of the nodes layer (html for blazor)SvgGroupModel
)node locked
, the classesselected grouped
IHasBounds
andIHasShape
interfaces to both nodes and portsIPositionProvider
to encapsulate how certain positions are calculated given a modelBoundsBasedPositionProvider
returns the position based on the bounds of the model (e.g. (0.5, 0.5) would be the center)ShapeAnglePositionProvider
returns the position as the point at the angle of the shapeLinkPathPositionProvider
returns the position based on the link's path (getPointAtLength
)Diagram
nowPointerEnter
andPointerLeave
events for nodes and links for nowGeneratedPathResult
andPaths
toBaseLinkModel
to always have access to the actual pathsControls
feature (beta):Control
designates a control that has a position and will be rendered if visibleExecutableControl
designates a control that has a position and will be executed when pressed (PointerDown event)BoundaryControl
shows the model's boundaryRemoveControl
shows a button that when clicked, removes the model from the diagramDragNewLink
shows a button that when clicked, starts a new link dragging from that nodeGridWidget
a background grid that moves with the diagram instead of being fixed like in the Snap to grid exampleChanged
Diagram
is now abstractDiagram.GetComponentForModel
now accepts acheckSubclasses
argument (defaulttrue
)ValueTask<bool>
instead of a simplebool
AllLinks
toPortLinks
for more clarity on which links, sinceLinks
contains the othersGroupRenderer
will take care of rendering the group with the appropriate style and classesGroupNodes
is required,GroupLinks
was deleted because all links are shown in the svg layer (with appropriate order)Diagram.AddGroup
will now return the added groupMouse
events have been converted toPointer
eventsPathGenerator
now returnSvgPath
instead of just stringsNavigatorWidget
was rewritten to be faster, lighter, WORKING and customizableFixed
@key
(Problem with removing ports #220)Removed
DefaultNodeComponent
andDefaultLinkComponent
options (seeGetComponentForModel
changes)RenderLayer
from the Core package and all its usageDeleteSelectionBehavior
since there is a new keyboard shortcuts systemGroupingBehavior
since there is a new keyboard shortcuts systemBaseLinkModelExtensions
since it was ObseleteShapeDefiner
delegate and constructor arguments on nodes since delegates can't be serializedTouchX
eventsThis discussion was created from the release 3.0.0 beta 1.
Beta Was this translation helpful? Give feedback.
All reactions