Search
What's New In This Release

The list below describes recent changes and additions to MindFusion JavaScript Pack:

New in 2024.R1

Web components

The WebComponents.register method of each module from the pack lets you register its controls as web components:

 Diagramming

TableNode improvements

DiagramLink improvements

TabbedDiagramView improvements

  • Enable allowRenamePages to let users edit the title of DiagramPage by clicking the active tab.
  • The control raises pageAdding event when users click the plus icon to let you validate the operation, and pageAdded once the page is added.
  • The control raises pageRemoving event when users close a tab to let you validate the operation, and pageRemoved once the page is removed.
  • Fix for scroll range not updating when changing tabs.
  • Fixed exception when moving multiple selection in TabbedDiagramView.

NodeListView improvements

Miscellaneous

API changes

  • Due to problems with some script loaders, the library no longer registers web components automatically. Call the WebComponents.register method to explicitly register component classes.
  • Blazor bindings moved to MindFusion.Diagramming.JavaScript nuget package.

New in 2023.R3

 Diagramming

Web components

The library registers each control class as a web component. You can use the following tags to create corresponding components:

  • <mindfusion-diagramview> creates a DiagramView instance.
  • <mindfusion-ruler> creates a Ruler instance.
  • <mindfusion-zoomcontrol> creates a ZoomControl instance.
  • <mindfusion-overview> creates an Overview instance.
  • <mindfusion-nodelistview> creates a NodeListView instance.

When instantiated as a web component, each control class creates required HTML elements as internal shadow DOM. You can get the JavaScript object corresponding to a web component by calling controls' find method with id argument.

HTML  Copy Code

<mindfusion-diagramview
    id="diagramView"
    style="position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px; overflow: auto;">
</mindfusion-diagramview>

JavaScript  Copy Code

var diagramView = DiagramView.find("diagramView");
var diagram = diagramView.diagram;

Animations

The library now includes several standard animation classes and methods.

The animate method of DiagramItem can run following animations:

Following animations can be applied to DiagramNodes:

The animate method of DiagramView can run following animations:

DiagramLink improvements

  • Set the intermediateShape property to display arrowheads at the middle of each link segment. This could help users follow longer link paths. Intermediate arrowheads can be customized further by setting intermediateBrush and intermediateShapeSize.
  • Set the allowSplitLinks property of Diagram to let users insert new link segments by dragging any point of a selected link's segment. In this mode users can also merge link segments by making them close to collinear, or by moving adjustment handles close to each other, as set via mergeThreshold.

Reversed tree layouts

The reversedLinks property of TreeLayout, RadialTreeLayout and BorderedTreeLayout lets you arrange trees where links point from child to parent nodes, instead of the default parent to child direction.

Miscellaneous

 Scheduling

The library registers the Calendar class as a web component. You can use the <mindfusion-calendar> tag to create the control.

When instantiated as a web component, the control creates required HTML elements as internal shadow DOM. You can get the JavaScript object corresponding to a web component by calling the find method with id argument.

HTML  Copy Code

<mindfusion-calendar id="calendar" style="height: 100%; width: 100%;">
</mindfusion-calendar>


JavaScript  Copy Code

var ms = MindFusion.Scheduling;
calendar = ms.Calendar.find("calendar");
calendar.currentView = ms.CalendarView.SingleMonth;

 DataViews

The library registers the Grid class as a web component. You can use the <mindfusion-grid> tag to create the control.

When instantiated as a web component, the control creates required HTML elements as internal shadow DOM. You can get the JavaScript object corresponding to a web component by calling the find method with id argument.

HTML  Copy Code

<mindfusion-grid id="grid">
</mindfusion-grid>

JavaScript  Copy Code

var dv = MindFusion.DataViews;
var grid = dv.Grid.find("grid");
grid.model = new dv.ArrayModel(participants, columns, "index");