
Improves Diagramming, Charting and Virtual Keyboard controls.
Features
MindFusion.Diagramming
- Control nodes - New ControlNodes.html example included in distribution demonstrates the ControlNode API.
- ControlNode objects display custom HTML content, specified via their Template property.
- Button components - Composite nodes can now contain buttons. Button components respond to user clicks by calling the JavaScript function whose name is assigned to their clickHandler attribute. A button can show a text label assigned to the text attribute, or an image whose URL is assigned to imageLocation.
- Virtual scroll improvements
- The control now handles mouse wheel events to scroll the diagram when virtual scrolling is enabled.
- DOM elements that implement virtual scroll mode now use CSS grid layout.
- VirtualScroll mode is now enabled by default.
- Electron compatibility - Serialization and clipboard operations should now work under Electron.js.
- Miscellaneous
- Content of CompositeNodes is now clipped by default if Shape in the template is marked with isOutline attribute.
- You can now implement custom logic for the +/- button.
- Mouse pointer position is now provided as an argument for nodeCreated and linkCreated events.
- Visibility property added to CompositeNode components lets you keep invisible components in the template.
- General performance improvements.
- Collapse/expand icon is now drawn correctly for CompositeNode when Expandable is enabled.
- JSON deserialization no longer creates undo records.
- StrokeThickness is now specified in MeasureUnit instead of pixels.
MindFusion.Charting
- Axis origin - New property lets you specify the origin of a chart axis.
- Miscellaneous
- A new SimpleSeries constructor override allows you to specify a list with tooltips for the newly created Series.
- The new drawLeftFromPoint method allows you to render text, which is left-aligned compared to a given Point.
- The new methods fromObject and toObject of the Font class allow you to deserialize and serialize font instances from/to JSON objects.
MindFusion Virtual Keyboard
- API changes
- The VirtualKeyboard control now inherits from MindFusion.Common.Control.
- VirtualKeyboard.addEventListener method removed; use the EventDispatcher API to subscribe to events.
- Get/set methods have been refactored to properties and can be accessed directly.
- Important: A reference to the mindfusion-common/jsmodules package or to the MindFusion.Common.Full.js should be added to projects that use the Virtual Keyboard.