Skip to content

Releases: Blazor-Diagrams/Blazor.Diagrams

3.0.3

03 Dec 11:54
f5f3d9d
Compare
Choose a tag to compare

Added

  • Support for .NET 9 (thanks to @PanayiotisTheodosiou)
  • registerDefaultBehaviors argument to BlazorDiagram constructor, it's true by default and can be disabled if you want to control what behaviors are added and their order.

Changed

  • Make DiagramCanvas await un-subscription to resizes subscription (thanks to @toluwtglobal)

Fixed

  • Exception thrown when node.Visible was false from the creation and the library was trying to observe its resizes when the element won't exist (fixes #476).

Removed

  • gzip versions of assets, it was causing an issue with .NET 9 (fixes #471, thanks a lot @robertmclaws)

3.0.2

24 Feb 11:52
ac4eef3
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.0.1...3.0.2

3.0.1

27 Oct 11:43
46d9800
Compare
Choose a tag to compare

Added

  • Route property to BaseLinkModel to hold the result of the executed router

Fixed

  • Constraints not checked when using RemoveControl (thanks to @K0369)
  • NRE Exception on the landing page demo when dragging a new link and not linking it to something (thanks to @K0369)
  • LinkVertexWidgetTests failing on cultures that are not using a dot as decimal separator (thanks to @K0369)
  • NRE exception in the Diagram Demo project (thanks to @Suraj0500)

3.0.0

14 Aug 14:46
c27ef34
Compare
Choose a tag to compare

Finally, the new documentation website is here!
Please don't hesitate to create issues for any problems or improvements.
PS: I suck at design.

Added

  • AddLabel method to links to easily create LinkLabelModel
  • AddVertex method to links to easily create LinkVertexModel
  • ControlledSize property to nodes. If true, the node will not be registered in the ResizeObserver (saves a JS call).
  • autoSize argument to SvgGroupModel constructor

Changed

  • Renamed Point.Substract to Subtract (duh)
  • Avoid rendering link selection helper on dragged link

Fixed

  • SmoothPathGenerator not working with LinkAnchor
  • Mouse overlapping dragged link
  • Useless Console Logs from GroupModel are now removed
  • JS exception in (un)oberve methods when the element doesn't exist anymore

Check out the other beta version for a complete CHANGELOG !

3.0.0 beta 7

10 May 13:34
098c5b4
Compare
Choose a tag to compare
3.0.0 beta 7 Pre-release
Pre-release

Fix a dumb issue by me regarding ordering

3.0.0 beta 6

10 May 13:17
c153569
Compare
Choose a tag to compare
3.0.0 beta 6 Pre-release
Pre-release

All NuGet packages have been updated.

Added

  • Style parameter to PortRenderer
  • TargetAttached to links, which triggers when a dragged link attaches to a target
    • If port snapping is enabled, it will trigger only once when you let go of the mouse
  • SuspendSorting to Diagram in order to suspend sorting models in each OrderChanged
    • If you know what you're doing, you could save some processing and avoid sorting everytime
  • RefreshOrders to be called after unsuspending sorting in order to sort the models again and refresh the diagram

Changed

  • BaseLayer.Add now returns the specific type given to it in argument
  • [BREAKING] CSS classes are now prefixed with diagram- to avoid clashes with other libraries
    • diagram-group, diagram-node, diagram-link, diagram-port, diagram-link-label, diagram-link-vertex, diagram-control

Fixed

  • Portless links in children not refreshing when moving the parent group
  • Link's GetBounds not returning a valid box
  • Port snapping choosing the first port in radius rather than the closest one
  • Remove Console.WriteLine from KeyboardShortcutsBehavior
  • Diagram overwriting Order when it's not zero (zero being the default int value, which we now consider as not set)

3.0.0 beta 5

24 Nov 09:18
Compare
Choose a tag to compare
3.0.0 beta 5 Pre-release
Pre-release

Added

  • AdditionalSvg option to DiagramCanvas in order to render any extra SVG content you want
  • AdditionalHtml option to DiagramCanvas in order to render any extra HTML content you want
  • DistanceTo overload method to Point that takes x and y
  • MoveAlongLine method to Point
  • FullPath to PathGeneratorResult to represent the full path without cuts
  • Fallback router to Orthogonal router
  • Margin options to OrthogonalRouter
  • radius option to StraightPathGenerator in order to generate rounded bends
  • Support for custom vertices
  • AutoSize option to groups to control whether moving children resizes the group

Changed

  • All routers are now classes instead of functions, they inherit from the new abstract class Router
  • All path generators are now classes instead of functions, they inherit from the new abstract class PathGenerator
  • Optimize Orthogonal router by using custom A* (x5 improvement)

Removed

  • Router delegate
  • PathGenerator delegate

3.0.0 beta 4

16 Oct 14:58
Compare
Choose a tag to compare
3.0.0 beta 4 Pre-release
Pre-release

Added

  • Initial version of Ordering!
    • Nodes, groups and links can now be ordered using the new Order property or SendToFront/Back methods
    • Diagram.OrderedSelectables returns the ordered selectables/models
    • DiagramCanvas now uses this new property to render everything
  • GridSnapToCenter option in order to snap nodes from their center instead of their top/left position (thanks to @Jeremy Vance)
  • More unit tests

Changed

  • Groups is not a list of groups anymore, but a layer instead (just like Nodes and Links)

Fixed

  • Deleting a group doesn't delete links attached to it
  • Deleting a group inside of a group doesn't refresh the parent group
  • Links not refreshing when a group's dimensions are updated directly (e.g. deleting a child)
  • Layers causing more refreshes than intended

Removed

  • All group-related methods and events from Diagram, please use the new layer from now on

3.0.0-beta.3

19 Sep 18:34
Compare
Choose a tag to compare
3.0.0-beta.3 Pre-release
Pre-release

Added

  • Support for LinkFactory to return null in order to not create an ongoing link
  • Support for free links (no source/target required)
  • PositionAnchor which reprensents a simple plain position (mutable)
  • ArrowHeadControl to control a link's Source/Target on the fly
  • attached css class to attached links

Changed

  • Replace OngoingPosition with the new PositionAnchor
    • BaseLinkModel.Target will never be null anymore. An ongoing link will have a position anchor as the target
  • Links.Factory signature now takes the diagram, source (model) and the target anchor
  • Move DynamicAnchor back to Anchors namespace and seal all Anchor classes

Fixed

  • Links attached to links not refreshing when the others are
  • LinkPathPositionProvider not working with maxlength ratios
  • Deleting a link not deleting the links attached to it

Removed

  • PositionProvider argument from ExecutableControl for more freedom
  • Id and Refresh from ILinkable
  • Unused Offset from Anchor and make Model nullable

3.0.0 beta 2

11 Sep 21:58
Compare
Choose a tag to compare
3.0.0 beta 2 Pre-release
Pre-release

Added

  • Moved event to Movables
  • Visible property and VisbilityChanged event to models
  • Options.Virtualization (of type [Diagram]VirtualizationOptions) for virtualization options
  • PointerEnter/Leave events for groups as well
  • Experimental Link to Link (using LinkAnchor)

Changed

  • Rename RegisterModelComponent to RegisterComponent
  • Rename GetComponentForModel to GetComponent
  • Virtualization is now handled by a behavior instead of NodeRender
    • This means that it works for almost all models (nodes, groups and links)
  • Render link labels without foreignObject in widget nor MarkupString (Thank you .NET 6)
  • Custom link labels only need to contain relevant content, they don't need to handle positioning anymore

Removed

  • EnableVirtualization option (see added alternative)