MindFusion.JavaScript Pack, 2025.R2

Below you will find a brief description of the included components.

***** ABOUT MINDFUSION.DIAGRAMMING *****

JsDiagram is a JavaScript library that provides to web applications the ability to create and display various kinds of interactive diagrams. The component 
supports workflow, flowchart and process diagrams, object hierarchy and relationship charts, entity-relationship diagrams, structures like graphs and trees.
Every behavioral and appearance aspect of JsDiagram can be customized as suits best your project. Diagram elements can have different styles, colors, fonts 
and pictures. The control's programming model comprises hundreds of methods, properties and events.

***** ABOUT MINDFUSION.SCHEDULING *****

MindFusion.Scheduling for JavaScript is a lean and powerful interactive library that lets developers easily create timetables, calendars with events, 
resource tables, task schedules, appointment lists and much more. The control boasts an intuitive API with self-explanatory member names, detailed 
documentation and many samples. Numerous properties and flexible CSS styling through themes provide full control over the appearance of each item and 
schedule. All user actions are reported by events. Various built-in forms provide convenient way for the users to create, edit and delete items, recurrences, 
reminders and appointments. 

***** ABOUT MINDFUSION.CHARTING *****

The MindFusion.Charting library provides to HTML5 / JavaScript applications the ability to create and display various kinds of charts: line, area, step, 
curve, scatter, bubble, bar, column, stacked bar, overlay bar, radar, polar, candlestick, funnel, pie, doughnut as well combinations of them and 3D bar 
charts. Charts can have customizable grid, numerous legends and multiple axes. Appearance is customized through themes. The library supports pan, scroll, 
zoom and hit testing.
The Dashboard class enables you to arrange chart plots and gauges in a dashboard. The plots can contain any type of chart. The dashboard has a dynamic 
layout system, which allows the contained elements to remain in place and maintain their position relative to each other by resize of the dashboard. The 
dashboard library includes text and image components. Each dashboard component can be placed inside a border. The count of components you can use is 
unlimited.

***** ABOUT MINDFUSION.GAUGES *****

A set of oval and rectangular gauges that can be customized according to your needs. The library includes various predefined gauges: clock, compass, 
equalizer, car dashboard, thermometer etc. The gauges support three different scales: small, medium and large as well as different ticks. Their appearance is 
completely customizable through themes.

***** ABOUT MINDFUSION.DATAVIEWS *****

JsDataViews Grid is a grid control, that binds to an array of objects and displays the data in tabular format. Grid column data types include String, Integer, 
RealNumber, Date, DateTime, Currency, Image and Lookup. Supports row virtualization, inplace editing, CRUD operations, columns sorting and resizing. The appearance
and behavior of the Grid control can be customized through custom editors, custom drawing, localization and themes.
JsDataViews PropertyGrid control providies a user interface for browsing and editing the properties of an object.

***** ABOUT MINDFUSION.KEYBOARD ***** 

MindFusion JavaScript virtual keyboard is written entirely in JavaScript and extends your application with keyboard functionality similar to that of touch-
screen and mobile devices. The library gives you a fast and easy way to implement:

- text input in a keyboardless environment;
- kiosk or POS user interfaces with a limited number of input keys;
- accessibility features for users with mobility impairments;
- rendering of common words for your application as keys in the keyboard;

The API is intuitive to use. Key-press is handled by a special event. Localization is supported in a variety of languages. 

Styling is done through CSS themes. The control is packed with a set of 8 beautiful predefined themes. You can edit them or create your own themes from 
scratch. 

You can choose among three keyboard layout modes – default, extended and compact.

***** ABOUT THE VIRTUAL KEYBOARD CREATOR TOOL *****

Run VirtualKeyboardCreator.exe that is found in the download package of the control to start the tool. There you can use one of the keyboard layouts as a 
template and design your own keyboard. You can add, remove, resize and relocate keys. The result is saved as a *.js file.


***** ABOUT MINDFUSION.MAPPING *****

The map library can use any Tile Map Service to render a map. A special property is provided to credit the TMS provider, if required. A map can have 
unlimited number of decoration layers that contain bubbles and markers. The bubbles provide images and/or text. The markers are customizable pins that mark a 
location. The layer controller allows you to control the visibility of the layers you've created.


***** ABOUT MINDFUSION.UI *****

The UI library contains the following controls - Accordion, Calendar, CheckListBox, CheckListPicker, DateTimePicker, ImagePicker, ListView, Menu, TabControl, 
TabStrip, ToolStrip, Tooltip, TreeView, Window and WindowHost.


***** SOURCE CODE *****

A MindFusion JavaScript Pack license can be purchased with the complete source code of the controls contained in it. They are being fully developed in 
JavaScript. 


***** SAMPLES *****

MindFusion Pack for JavaScript comes with the following examples, which demonstrate different aspects of the functionality of the controls in it:

***** MINDFUSION PACK SAMPLES *****

~ Activities ~ A dashboard that represents an activity timetable. A diagramming NodeListView offers items to drag and drop onto a timetable created by the 
Scheduling control. Two charts - one pie chart and the other line chart provide data visualization.

~ Chat ~ A chat-like application that uses the WindowHost and ListView UI controls. The WindowHost is a container of the separate windows that represent the 
chat. Each of them contains a ToolStrip with icons as custom footer.

~ DomInspector ~ This sample shows how to build a tree dynamically in the Diagram and TreeView controls. The Diagram is arranged by the automatic tree layout 
algorithm. Tree nodes can be rearranged inside the TreeView control or moved to the ListView control below by using the built-in drag and drop capabilities 
of the TreeView and ListView controls. Tips are displayed by the Tooltip control. 

~ Flip Match ~ The Diagram library is used to represent items for the classical memory game. An oval gauge measures the time. Input and Confirm Dialog 
instances are used to prompt the user to action and make a choice.

~ Observatories ~ A TreeView is used to host a list of observatories grouped by continent. When the user selects one, its location is loaded in an instance 
of the Mapping control. The schedule module is used to render two calendar instances in ListView with dates. A click on a date cell changes the data for a 
BarChart.

~ ServerLoad ~ A combination of an oval gauge, line chart with multiple series and a diagram are used to render a dashboard that displays load data for 
servers in a network. The user can select multiple network connections and render data just for them.

~ WorldPopulation ~ A Grid-based data-editing application. A Diagram control, arranged by the TreeMapLayout algorithm, and a BarChart control provide visual 
representations of the data.

~ TemperatureLog ~ The sample uses the Calendar control to represent a monthly calendar. When the user clicks on a date an instance of the Window class pops 
up with a thermometer Gauge. The user has to adjust the temperature and save it. The area chart under the calendar reflects the changes made.


***** MINDFUSION.DIAGRAMMING SAMPLES *****

For best experience, open the sample pages through a web server.

~ Anchors ~ demonstrates how to define and use anchor point patterns.

~ Animations ~ shows how to animate diagram nodes and links.

~ Containers ~ demonstrates foldable container nodes.

~ Controls ~ presents auxiliary UI controls available with JsDiagram.

~ ControlNodes ~ shows how to create ControlNodes, that display custom HTML content.

~ DBDesign ~ generates SQL code from TableNodes drawn on canvas.

~ DomTree ~ shows how to use JsDiagram as a tree control, utilizing automatic tree arrangement and collapsing and expanding of sub-trees.

~ DragDrop ~ demonstrates drag-and-drop from external HTML elements to the diagram and from the diagram to external elements.

~ Flowcharter ~ shows how to create an online flowchart editor, providing UI for zooming, scrolling, creating new nodes and formatting nodes' contents.

~ FlowchartLayout ~ builds parse tree and block diagram from JavaScript source code and applies the TreeLayout and FlowchartLayout algorithms to them.

~ FractalLayout ~ demonstrates the FractalLayout tree layout algorithm.

~ Inheritance ~ demonstrates how to visualize class inheritance using TableNode objects.

~ Lanes ~ implements a Gantt chart using JsDiagram's swimlane grid.

~ LayeredLayout ~ demonstrates the LayeredLayout graph layout algorithm.

~ MultipleViews ~ shows how to create two DiagramView controls, displaying a shared Diagram instance.

~ OrgChartEditor ~ uses custom nodes based on TableNode to display org-charts.

~ PathFinder ~ searches for paths between selected graph nodes.

~ SpanningCells ~ shows how to create cells that span several rows and/or columns in table nodes.

~ StockShapes ~ shows the predefined JsDiagram shapes and their identifiers.

~ StressTest ~ demonstrates how spatial indexing allows for fast hit-test and viewport queries.

~ SvgNodes ~ demonstrates the SvgNode type.

~ TabbedView ~ demonstrates the functionality of the TabbedDiagramView control.

~ Themes ~ demonstrates the predefined themes.

~ TreeLayout ~ shows how to build a tree interactively using drag and drop.

~ TreeViewNodes ~ shows how to create TreeView nodes.

~ TreeMap ~ demonstrates the TreeMapLayout tree mapping algorithm, where node weights are set to either population size or area of world countries.

~ WebComponents ~ instantiates the DiagramView and UI controls as web components.

~ Tutorial1 ~ demonstrates how to build a graph from relational Json data.

~ Tutorial2 ~ demonstrates how to build a tree from hierarchical Json data.

~ Tutorial3 ~ shows how to create a custom node class that implements its own rendering.

~ Tutorial4 ~ shows how to implement undo/redo, serialization and drag/drop creation support in custom node classes.


***** MINDFUSION.CHARTING AND MINDFUSION.GAUGES SAMPLES *****

MindFusion.Charting comes with the following examples, which demonstrate Different aspects of the control’s functionality:

~ AreaChart ~ This sample demonstrates various properties of the AreaChart control.

~ BarChart ~ This sample demonstrates various properties of the BarChart control.

~ BarChart3D ~ This sample demonstrates various properties of the BarChart3D control.

~ BubbleChart ~ This sample demonstrates various properties of the BubbleChart control. 

~ CandlestickChart ~ Demonstrates how to create a candlestick chart, used to display open, close, high and low prices of stocks for a period of time.

~ CarGauges ~ Shows how to use the gauge controls to imitate a vehicle dashboard.

~ Clock ~ shows how to use the oval gauge to create an analog clock.

~ Compass ~ shows how to use use the oval gauge to create a compass.

~ CustomData ~ This sample shows how a list of TypeScript objects can be used directly in a chart by means of a custom series class that implements the 
Series interface.

~ Dashboard ~ shows how to build a dashboard with dynamic layout.

~ DateTimeSeries ~ This sample shows how to use the DateTimeSeries class and apply different label formats.

~ Equalizer ~ shows how to use linear gauges to build equalizer UI.

~ FunnelChart ~ This sample demonstrates various properties of the FunnelChart control.

~ GroupLabels ~ This sample shows how to display labels for bar groups by using the AnnotationRenderer class.

~ Interactivity ~ Use mouse click and drag to pan the chart. Dragging while pressing the CTRL key zooms the selected area of the chart. The legend can be 
moved too.

~ LineChart ~ This sample demonstrates various properties of the LineChart control. 

~ ListBinding ~ This sample shows how to bind the chart to a list of custom TypeScript objects by setting the list as DataSource.

~ MultipleAxes ~ demonstrates how to set up multiple axes.

~ MultiplePlots ~ This sample shows how to build a dashboard containing multiple plots that share a common axis.

~ PieChart ~ This sample demonstrates various properties of the PieChart control.

~ RadarChart ~ This sample demonstrates various properties of the RadarChart control.

~ SynchronizedScroll ~ Demonstrates how you can synchronize scroll positions of two plots by configuring them to use a shared Axis instance.

~ Thermometer ~ Shows how to use a linear gauge to create a thermometer.

~ TowerChart ~ This sample demonstrates various properties of the TowerChart control.


***** MINDFUSION.SCHEDULING SAMPLES *****

~ Booking ~ Create and edit reservations for the four rooms defined as locations for the schedule.

~ DualView ~ The sample presents a single schedule instance in two different calendar controls - a timetable and a week range.

~ FirstSchedule ~ A sample that demonstrates all basic actions: how to build a schedule, customize the view, create a custom CSS theme, handle events and 
save/load the calendar to /from a Json file.

~ GardenCalendar ~ A 12-month garden calendar is presented in a horizontal list view, grouped by resources, where each resource represents a different crop.

~ Holidays ~ A schedule with the SingleMonth view with data fetched from a public api, which exposes Roman Catholic liturgical calendar celebrations for the  
selected month. 

~ Interactions ~ The sample shows how the calendar control's response to different user interactions can be customized.

~ Items ~ The sample teaches you the basics of creating schedule items.

~ ListView ~ A demonstration of the capabilities of the ListView and its ability to display a number of cells, representing a single second, minute, hour, 
day, week, month or year time interval.

~ MinApp ~ A quick guide on the bare minimum you need to know to create a responsive JavaScript schedule with the library.

~ MonthView ~ A demonstration of the MonthRange and SingleMonth views with their settings and capabilities.

~ Resources ~ This sample demonstrates the grouping and filtering capabilities of Scheduling for JavaScript.

~ ResourceView ~ Demonstrates the capabilities of the resource view, which displays the distribution of items over a period of time for particular contacts, 
locations, tasks or resources.

~ Timetable ~ The sample demonstrates the features of the Timetable view, which displays one or more days, divided in arbitrary time intervals.

~ Views ~ This sample shows how to use different calendar views to achieve different levels of detail in a single Calendar object.

~ WeekView ~ This sample shows the capabilities of the WeekRange view, which displays a range of weeks.


***** MINDFUSION.KEYBOARD SAMPLES ***** 

~ Custom ~ Presents a custom keyboard layout that consists only of the numpad keys.

~ Demo ~  Demonstrates the available styling themes, input languages, layout modes and several DOM elements that can receive the input of the keyboard.

~ HiddenKeyboard ~ This sample shows how to show and hide the keyboard on demand, and load different custom layouts.


***** MINDFUSION.DATAVIEWS SAMPLES ***** 

~ Columns ~ This sample shows how to setup grid columns of different data types.

~ Events ~ This sampleshows how to handle the basic events in the Grid control. 

~ CRUD ~ This sample shows how to setup CRUD operations on the Grid control.

~ Validation ~ Shows how to perform user input validation. If the entered value is not valid, a red border and a warning popup are shown.

~ Navigation ~ Shows how to navigate the grid programmatically.

~ CustomModel ~ Shows how to setup a Grid control to use a Schedule's items collection as a backing array.

~ CustomDraw ~ Demonstrates different ways to custom draw grid data cells and column headers.

~ Selection ~ Demonstrates different ways to custom draw grid data cells and column headers.

~ Localization ~ Shows how to localize the Grid control and the DateTimePicker custom editor.

~ DynamicColumn ~ Shows how to use the DynamicType to create a Grid column that shows data of mixed types.

~ PropertyGrid ~ Shows how to use the PropertyGrid control.


***** MINDFUSION.MAPPING SAMPLES ***** 

~ Coordinates ~ This sample shows how to get the map's geographical and client coordinates and use the panTo and scrollTo methods of the mapView. 

~ Decorations ~ This sample shows the different types of decorations, supported by the control. Decoration layers can display Marker and Bubble objects, 
associated with a given geographic location. They support images, text and styling. The built-in layers list controller shows the list of all layers (map 
layers on top and overlays below) and provides an easy way to control their visibility. 

~ Interactions ~ This sample shows how to interactively add and remove decorations. Click on the map surface to create a marker with the specified type and a 
bubble with the specified text. Click on a decoration to remove it from the map.

~ MinApp ~ A sample program that demonstrates how to render a map in a web page. 

~ CanvasLayer ~ Shows how to display drawings, such as polylines and circles in a Canvas-based decoration layer.


***** MINDFUSION.UI SAMPLES *****

~ Accordion ~ The sample shows how to use the Accordion control.

~ CheckListBox ~ The sample shows how to use the CheckListBox control.

~ CustomDialog ~ The sample shows how create a custom OK/Cancel dialog.

~ DataForm ~ The sample demonstrates how to use a Window control as a data form. The HTML of the data form is contained in "form.html" and this file will be 
used as a template for the window content.

~ DateTimePicker ~ Shows how to use the DateTimePicker control.

~ Drag and Drop ~ The sample shows how to create static items in a drag-and-drop enabled ListView control. It also creates drag-and-drop groups by handling 
the dragDrop event.

~ Drag and Drop 2 ~ The sample shows how to enable drag-and-drop from external sources in a ListView control. 

~ Drag and Drop 3 ~ The sample shows how to enable drag-and-drop from external sources in a TreeView control. 

~ ImagePicker ~ Shows how to use the ImagePicker control.

~ Interactive Tree ~ This sample shows how to use a Menu control as a popup menu for a TreeView control to add and remove tree nodes interactively. 

~ Menu ~ This sample shows how to use the Menu control, how to create different types of menu items and how to apply custom theming. 

~ Tabs ~ The tutorial shows how to create interactive and non-interactive pages in a TabControl. Additionally, the tutorial shows how to use the Tooltip 
control.

~ ToolStrip ~ The sample shows how to use the ToolStrip control, how to create different types of toolstrip items and how to handle various events. 

~ Tree ~ tutorial shows how to override the default appearance of nodes in a TreeView control and how to load its data from a JSON object. Additionally, it 
shows how to create a templated Tooltip control, show and hide it programmatically and use it to display node-dependent data. 

~ Windows ~ This sample shows how to create templated windows in a WindowHost control. Each of the windows displays a templated ListView control, and a 
Tooltip control is attached to its header element. 

***** HISTORY *****
version 2025.R2:
MindFusion.Diagramming
  - paged container nodes
  - CompositeRouter link routing class
  - PatternRouter link routing class
  - grid graph layout
  - set LayeredLayout start/end nodes
  - bringIntoView method
  - GridRouter.crossingCost property
  - allowLinksRepeat property
  - controlUnloading / Unloaded events

MindFusion.Scheduling
  - localization improvements

MindFusion.Keyboard
 - layout ring

version 2025.R1:
MindFusion.Diagramming
 - ItemListView component
 - Palette component
 - ItemLabel images
 - spatial indexing
 - node constraints
 - shape design enhancements
 - event emitter objects as properties
 - nodePointed, linkPointed, linkRouted, actionUndone, actionRedone, shapeLibraryLoaded events
 - collapse and expand table rows
 - ContainerNode.foldedSize property
 - ShapeNode.clipText property
 - strokeThickness scaled by ZoomFactor
 - dividerStroke in Container, Table and TreeViewNode
 - separate zoom level and scroll position per tab in TabbedDiagramView
 - label argument in itemClick and itemDoubleClick events
 - ItemLabel.locked property
 - ContainerNode.autoDeleteChildren property

MindFusion.UI
 - Accordion control

version 2024.R1:

MindFusion.Diagramming
 - table rows anchor patterns
 - TableNode.cellTextColor property
 - Diagram.allowUnachoredLinks and autoDeleteLinks properties
 - custom drawing of anchorPoints
 - interactive page rename in TabbedDiagramView
 - validation events in TabbedDiagramView
 - inplace edit improvements
 - option to skip validity checks to speed up adding of items
 - cornerRadius property for rounded rectangle node shapes

API changes 
 - web components must be registered by using the corresponding module's
WebComponents.register method
  - Blazor bindings moved to MindFusion.Diagramming.JavaScript namespace
 - angular bindings updated to angular 16
 
MindFusion.Charting
 - all charting controls can be used as web components 

MindFusion.DataViews
 - Grid and PropertyGrid controls can be used as web components 

MindFusion.Gauges
 - Linear and OvalGauge controls can be used as web components 

MindFusion.Keyboard
 - the VirtualKeyboard control can be used as a web component

MindFusion.Mapping
 - the MapView control can be used as a web component

MindFusion.Scheduling
 - the Calendar control can be used as a web component

MindFusion.UI
 - all UI controls can be used as web components

version 2023.R3:

MindFusion.Diagramming
 - standard animation classes
 - intermediate arrowheads
 - controls registered as web components
 - allowSplitLinks property
 - reversed tree layouts

MindFusion.Scheduling
 - calendar registered as web component

MindFusion.DataViews
 - grid registered as web component

version 2023.R2:

MindFusion.Diagramming
 - support for multiple diagram pages by the DiagramDocument class 
 - TabbedDiagramView control
 - black theme
 - Theme.fromId static method for loading a predefined theme by string id
 - DiagramItem.opacity property
 - validateAnchorPoint and validateLinkCrossing events

version 2023.R1:

MindFusion.Diagramming
  - radial tree layout
  - lasso zoom tool
  - Blazor bindings
  - NodeListView.removeNode method
  - PanAndModify behavior
  - strokeThickness scales dashes
  - font size tag in styled text
  - styled text and text wrapping in ItemLabel
  - ArrowHeads lists standard arrowhead shapes
  - custom stroke dash patterns

MindFusion.Scheduling
  - localization files for chinese, spanish, french, italian, korean, dutch, portuguese, turkish, polish, japanese locales

version 2022.R1:

MindFusion.Diagramming
   - React functional components
   - multiple labels per node
   - multi-touch support
   - createDiagramLink method can now be used to connect to TableNode rows or TreeViewNode items
   - cancelDrag method added to DiagramView
   - MoveLabels behavior
   - LinkEventArgs now includes origin and destination properties that report respective candidate nodes to linkCreating and linkModifying event handlers
   - SvgNode.contentAlign property
   - DiagramLink.lineAlignment property

MindFusion.Charting
   - Tower chart control

MindFusion.DataViews
   - PropertyGrid control

MindFusion.UI
   - React functional component wrappers for ListView, TreeView, TabControl and ToolStrip controls
   - CheckListBox and CheckListPicker controls

version 2021.R2:

The source code of JavaScript Pack has been refactored to fully follow ES6 standards, including modules, classes, properties and native collections. 
Get/set functions have been replaced by getter/setter properties.
The distribution includes ES5-compatible scripts located in Scripts/umd folder, whose classes are exposed as members of global MindFusion namespace object. 
The Scripts/esm folder contains ES6 code that lets you import the classes from respective modules.
Script file names correspond to the name of the contained module, namespace and npm package, e.g.
the diagramming.js script file exports the @mindfusion/diagramming module, which includes the classes from the MindFusion.Diagramming namespace.

MindFusion.Diagramming
   - ES6 modules, classes and properties
   - DiagramView control
   - OrthogonalLayout layout algorithm
   - TreeView nodes
   - copy/paste via Navigator.clipboard API
   - print pagination
   - mouseWheelAction sets zooming or scrolling
   - new selection and text edit validation events
   - rotation of FreeFormNode instances
   - new ImageAlign modes
   - stock themes
   - Style.captionBackBrush and properties for selected items
   - MoveNodes behavior
   - AnchorPoint.toolTip property 
   - NodeListView backColor and textColor properties
   - adjustment handle styling
   - improved rendering of link segment joints

MindFusion.Gauges
   - ES6 properties	

MindFusion.Charting
   - new FunctionSeries class, that represents a series that calculates its values from provided formula
   - Area charts are now rendered relatively to axis' Origin too.

MindFusion.Scheduling
   - localization improvements

Script references changes
  When referencing JsPack scripts in a JavaScript project, comply with the following dependency list. 
  Replace the old references with references to the new scripts, located in the /umd folder for ES5 projects and /esm folder for ES6 projects.
  Note that when referencing with <script src> tags it is important to follow the order.

 - diagramming
	MindFusion.Common.js
	MindFusion.Diagramming.js

	collections.js
	drawing.js
	controls.js
	animations.js
	graphs.js
	diagramming.js

  - charting
	MindFusion.Common.js
	MindFusion.Charting.js

	drawing.js
	controls.js
	common.js
	common-collections.js
	charting.js

  - scheduling
	MindFusion.Common.js
	jscommon.js
	jscollections.js
	MindFusion.Scheduling.js

	drawing.js
	controls.js
	common.js
	common-collections.js
	scheduling.js
	
    - gauges
	MindFusion.Common.js
	MindFusion.Gauges.js

	drawing.js
	controls.js
	gauges.js

   - dataviews
	MindFusion.Common.js
	jscommon.js
	jscollections.js
	jsui.js
	MindFusion.Common.Full.js
	
	drawing.js
	controls.js
	common.js
	common-collections.js
	common-ui.js
	dataviews.js

   - keyboard
	MindFusion.Common.js
	jscommon.js
	MindFusion.Keyboard.js

	drawing.js
	controls.js
	common.js
	keyboard.js

   - mapping
	MindFusion.Common.js
	jscommon.js
	jscollections.js
	MindFusion.Mapping.js
	
	drawing.js
	controls.js
	common.js
	common-collections.js
	mapping.js

   - ui
	MindFusion.Common.js
	jscommon.js
	jscollections.js
	jsui.js
	MindFusion.Common.Full.js

	drawing.js
	controls.js
	common.js
	common-collections.js
	common-ui.js

NPM packages changes
	Product packages are now in the @mindfusion scope. Shared libraries are automatically added as dependencies, only install the main package of the product.
	Check the following list for package correspondence.
	
	diagram-library		@mindsuion/diagramming
	chart-library		@mindfusion/charting
	scheduler-library	@mindfusion/scheduling
	gauges-library		@mindfusion/gauges
	dataviews-library	@mindfusion/dataviews
	grid-library		@mindfusion/dataviews
	mapping (N/A)		@mindfusion/mapping
	keyboard (N/A)		@mindfusion/keyboard
	ui (N/A)		@mindfusion/common-ui
	
Licensing improvements
You can set the license file location for all MindFusion controls in a page through the static MindFusion.Controls.Control.licenseLocation field.
	
	
version 2021.R1:

MindFusion.Diagramming
   - topological layout
   - adjustment handles styling
   - nodeTextEditing, linkTextEditing, cellTextEditing validation events
   - scroll-related fixes
   - XML and JSON serialization improvements

MindFusion.DataViews
   - React support

MindFusion.Charting
   - Area charts are now drawn relative to Axis' Origin
   - rendering fixes 

version 2020.R2:

MindFusion.Diagramming
   - *created events report mouse position
   - Electron.js compatibility
   - virtual-scroll mode enabled by default
   - virtual-scroll CSS grid
   - mouse wheel in virtual-scroll mode
   - CompositeNode +/- icon
   - Visibility of CompositeNode components
   - performance improvements
   - StrokeThickness considers MeasureUnit
   - ControlNode class displays HTML content
   - Button component for composite nodes
   - clip composite nodes by outline Shape
   - ExpandButtonAction custom +/- handling

MindFusion.Charting
    - Axis origin property
    - SimpleSeries constructor override to define tooltips
    - drawLeftFromPoint for left-aligned text			
    - Font serialization to/from Json objects

API changes
  Some of the code in the MindFusion namespace has been refactored. 
   - Key, KeyboardLayout, KeyboardState, VirtualKeyboard classes are now part of MindFusion.Keyboard namespace
   - KeyboardMode and Keys enums are now part of MindFusion.Keyboard namespace
   - The MindFusion.Keyboard.VirtualKeyboard control now inherits from MindFusion.Common.Control
   - VirtualKeyboard.addEventListener method removed; use the EventDispatcher API to subscribe to events
   - Get/set methods of the VirtualKeyboard class refactored to properties
   - A reference to the mindfusion-common/jsmodules package or to the MindFusion.Common.Full.js or references to MindFusion.Common.js and jscommon.js 
should be added to projects that use MindFusion.Keyboard 
	

version 2020.R1:

MindFusion.Diagramming
   - shape components
   - video nodes
   - support for Angular, React, and Vue.js
   - links automatic routing improvements
   - TableNode scrolling improvements
   - containerChildAdding event propagation handling
   - TableNode.resizeToFitText improvements and fixes
   - LayeredLayout uses stable sorting

MindFusion.Charting
   - BarChart labels rendering improvements
   - series can be created from arrays
   - tooltips improvements
   - brush and pen instances can be created from HTML color codes
   - BiaxialChart.yLabelAlignment
   - underlined fonts

MindFusion.Scheduling
   - XML and JSON serialization improvements
   - custom item and resource-derived classes support
   - Calendar.itemDraw event

MindFusion.Mapping
   - canvas layer, supporting circle and polyline decoration drawings

MindFusion.Keyboard
   - Quill editor support

MindFusion.Common.UI
   - DateTimePicker control
   - Calendar control
   - ImagePicker control

MindFusion.DataViews
    Initial release
	
API changes
  Some of the code in the MindFusion.Scheduling, MindFusion.Mapping and MindFusion.UI namespaces has been refactored. 
   - EventArgs, EmptyEventArgs, CancelEventArgs, EventDispatcher, Control and Unit classes are now part of MindFusion.Common namespace.
   - IEnumerable, List, ObservableCollection and Dictionary classes are now part of MindFusion.Common.Collections namespace.
   - The MindFusion.Scheduling.Calendar control now inherits from MindFusion.Common.Control; the calendarLoad event is renamed to controlLoad (inherited from Control)
   - All other classses from the MindFusion.UI namespace have been moved to MindFusion.Common.UI namespace.
   - A reference to the mindfusion-common/jsmodules package or to the MindFusion.Common.Full.js or references to MindFusion.Common.js, jscommon.js, jscollections.js
should be added to projects that use MindFusion.Scheduling and MindFusion.Mapping 
   - A reference to the mindfusion-common/jsmodules package or to the MindFusion.Common.Full.js or references to MindFusion.Common.js, jscommon.js, jscollections.js,
jsui.js should be added to projects that use MindFusion.Common.UI
	
version 2019.R1:
  Initial release.  

***** CONTACT US *****

for any questions you might have about using the control:
support@mindfusion.eu

for administrative and sales information:
sales@mindfusion.eu

our web site:
https://www.mindfusion.dev

telephone for technical support:
(+359) 888 951737


***** COPYRIGHTS *****

Copyright (C) 2019-2025, MindFusion LLC, Bulgaria
All rights reserved.
