MindFusion.Diagramming for ASP.NET MVC 4.3

Released: Dec 9, 2024

Updates in 4.3

Features

  • Multi-platform support
    • Multi-platform System.Drawing support has been deprecated in .NET 8. To allow hosting on non-Windows servers, MindFusion have moved server-side diagram code to Microsoft.Maui.Graphics API.
  • .NET 8 support
    • Added assemblies and sample projects for .NET 8. Distribution no longer includes assemblies for older .NET versions. If bug fixes are required, MindFusion will be patching version 4.2 branch for clients that host on old .NET versions, but no new features will be added to it.
  • Shape design enhancements
    • The anchorPattern property of Shape lets you associate anchor points with shape definitions. That pattern is shared between all nodes of same shape, but can be overridden by setting node's own anchorPattern.
    • Individual segments of a shape's geometry can be styled independently by setting stroke and fill attributes of ShapeElement and ShapeDecoration objects.
    • MindFusion have replaced the Windows-only shape designer tool with an online shape editor.
    • The shape editor is implemented as a reusable ShapeDesigner control, which can be integrated into your own applications.
  • New client-side event system
    • Event emitter objects are now exposed as properties of Diagram and DiagramView, and you can register handlers by calling their addEventListener method.
    • Legacy event handling syntax will remain supported for compatibility with old code.
  • Collapse and expand table rows
    • Table rows can be assigned to distinct sections of the table. Each section can be collapsed or expanded, hiding or showing all rows in the section except the header one. To define a section, set the header property of a row. A section consists of all rows after a header row and spans to the next header. Each header row displays a [±] button that allows expanding or collapsing the section interactively. Clicking that button raises the tableSectionCollapsed and tableSectionExpanded events. Sections can be collapsed or expanded programmatically by setting the expanded property of their header rows.
  • New mouse events
    • nodePointed event has been replaced by a set of more specific events: nodePointerEnter and nodePointerLeave are raised when the mouse pointer respectively enters or leaves the boundaries of a node. nodeHovered fires if the pointer rests over a node for hoverDelay milliseconds.
    • linkPointed event has been replaced by a set of more specific events: linkPointerEnter and linkPointerLeave are raised when the mouse pointer respectively enters or leaves the boundaries of a link. linkHovered fires if the pointer rests over a link for hoverDelay milliseconds.
  • Miscellaneous
    • dividerStroke properties added to ContainerNode, TableNode and TreeViewNode classes. It lets you customize the appearance of the divider line drawn between a node's caption bar and content area.
    • Set the autoDeleteLinks property to false to prevent deleting links along with a node they connect, and disconnect the links instead.
    • Enable the autoDeleteChildren property to automatically delete child nodes when a container is deleted.
    • Removed an eval call used for creating custom components from CompositeNode Json templates, allowing for stricter Content Security Policy rules. Now custom components must be registered by calling registerComponent method to allow instantiating them from a template.
    • linkRouted event raised when links are modified by automatic routing.
  • API changes
    • To allow for stricter Content Security Policy rules, the library no longer loads CSS scripts automatically. If you use components from the Diagramming.Controls package, you must now explicitly link the common-ui.css file from distribution's themes folder.
    • linkPointed and nodePointed events replaced by linkHovered and nodeHovered.
  • .NET API changes
    • All properties and method parameters of RectangleF, PointF, SizeF and Color types from System.Drawing namespace have been changed to respective Rect, Point, Size and Color from Microsoft.Maui.Graphics namespace.
    • Due to BinaryFormatter deprecation and runtime exceptions in non-desktop applications, binary SaveToFile and LoadFromFile methods have been removed. Remaining serialization methods allow storing diagrams in JSON and XML formats.
    • SwfExporter (Adobe Flash format) and WmfExporter (Windows Metafile) classes have been removed.