Skip to content

Releases: Blazor-Diagrams/Blazor.Diagrams

1.5.0

05 Jan 13:20
ab54d55
Compare
Choose a tag to compare

Added

  • The ability to have ports on groups.
  • EXPERIMENTAL/INCOMPLETE Nested groups. Since GroupModel now inherits NodeModel, it became possible to have nested groups, but there are still problems with the order of links between groups.
  • A Class parameter to GroupContainer.

Changed

  • Only rerender groups when necessary.
  • Receiving the same size from ResizeObserver doesn't trigger a rerender anymore.
  • Avoid rerendering ports twice to update positions.
  • Avoid rerendering ports when their parent node is moving.
  • Padding is now handled in GroupModel instead of GroupContainer (UI). This is because the padding is necessary to have accurate size/position in the group model directly.

Fixed

  • Use @key when rendering the list of groups. Not using it caused big/weird render times.
  • Groups not showing in Navigator/Overview.

1.4.2

30 Dec 17:09
2d6a7aa
Compare
Choose a tag to compare

Added

  • Locked nodes now have a locked class and their cursor is changed to pointer.

1.4.1

24 Dec 17:50
84bebc3
Compare
Choose a tag to compare

Added

  • EnableVirtualization option: whether to only render visible nodes or not.
  • RegisterModelComponent overload that takes Types as input for dynamic registrations.

1.4.0

12 Dec 17:19
78f954c
Compare
Choose a tag to compare

Added

  • Two zoom related options, Minimum and Maximum, to clamp the zoom value.

Changed

  • [BREAKING] Grouped zoom related options into DiagramZoomOptions, available unnder Options.Zoom.
    • The option AllowZooming was renamed to Enabled.
    • The option InverseZoom was renamed to Inverse.

Fixed

  • The diagram canvas' container wasn't updated when the user scrolls (#51).

1.3.0

29 Nov 19:51
fd75232
Compare
Choose a tag to compare

Added

  • Abstract MovableModel, which inherits from SelectableModel and represents models that can be move with the mouse (e.g. nodes and groups).
  • Groups widget customization using RegisterModelComponent.
  • SizeChanged event on NodeModel.

Changed

  • SelectableModel is now abstract.
  • Groups:
    • Renamed model Group to GroupModel.
    • Rendered as a single entity (HTML div) with padding.
    • Movable and Selectable.
    • Selecting a node inside a group doesn't select the others anymore.
  • [BREAKING] Renamed DiagramManager.ChangePan to UpdatePan.
  • [BREAKING] Renamed DiagramManager.ChangeZoom to SetZoom.

Fixed

  • ZoomToFit wasn't unhiding hidden nodes.

1.2.0

08 Nov 14:11
b504799
Compare
Choose a tag to compare

Added

  • DefaultLinkModel in DiagramLinkOptions (@joezearing).
  • Ability to change source/target ports of a link (SetSourcePort and SetTargetPort).
    The methods also trigger the new events SourcePortChanged and TargetPortChanged.

Changed

  • Curved link paths now take into account the ports alignements and a margin (@joezearing).
  • The AddLink<T>(T link, PortModel source, PortModel? target = null) overload in DiagramManager is now public.
    This is useful when developers want to create the link instance themselves, DiagramMananger will setup ports and trigger appropriate events.

Fixed

  • GetMiddleTargetX and GetMiddleTargetY using SourcePort instead of TargetPort (@joezearing).

1.1.3

02 Nov 11:55
01ffe30
Compare
Choose a tag to compare

Fixed

  • Diagram Container not ready when ports/nodes need it.

1.1.2

02 Nov 11:41
00750de
Compare
Choose a tag to compare

Added

  • Drag & Drop demo.
  • Helper method DiagramManager.GetRelativePoint.

Fixed

  • Diagram container resizes don't update the offsets/position (top/left).
  • Container changes don't trigger node visibility checks.
  • Ports aren't refreshed when nodes are resized.

1.1.0

19 Oct 09:40
1ba61c1
Compare
Choose a tag to compare

Added

  • Track mouseup events on nodes @joriskalz.
  • Zooming in/out will now trigger the nodes visibility check.
  • AllowZooming and AllowPanning options.
  • DefaultColor and DefaultSelectedColor link options.
  • Custom ports/links demos/documentation.
  • Options documentation.

Changed

  • Group link related options into DiagramLinkOptions, available in DiagramOptions.Links.
  • All link related calculations (e.g. MiddleSourceX) are now extension methods available in LinkModelExtensions.

Removed

  • LinkWidget's behind file is not needed anymore.