Version 2.5 of JsDiagram adds the following new features:
Resize table columns and rowsColumns and rows of a TableNode can now be resized interactively if its AllowResizeColumns or AllowResizeRows properties are enabled. In order to resize, move the mouse pointer to the border line on column's right side or row's bottom side until it shows resize cursor and start dragging. The control raises tableColumnResizing and tableRowResizing events to let you validate new size or prevent resizing some elements. The tableColumnResized and tableRowResized events are raised after the operation completes.
Shape librariesThe ShapeLibrary class lets you use custom geometric shapes created using MindFusion ShapeDesigner tool. Call the ShapeLibrary.loadFromXml(url) method to load a library XML file. ShapeLibrary.getShapes() returns an array of the loaded Shape objects. The NodeListView.setShapeLibraryLocation(url) method creates a prototype ShapeNode object for each shape from the specified library.
Miscellaneous~ TextStroke and TextStrokeThickness properties of DiagramItem let you set color and thickness of text outlines;
~ items can now be deleted using Backspace key when running on Mac;
~ caption divider line in TableNode and ContainerNode is now rendered clipped when caption height is smaller than corner radius;
~ Diagram.TooltipDelay property specifies the delay in milliseconds before showing tooltips;
~ the NodeListView.Orientation property lets you set the view's orientation to Horizontal or Vertical (members of MindFusion.Diagramming.Orientation enum);
~ MindFusion.Common.js contains code shared with other JavaScript libraries by MindFusion; now it must be loaded before the MindFusion.Diagramming.js script;
Fixed bugs~ fixed overlaps in TreeLayout when arranging nodes of different sizes;
~ anchor points indices were not serialized and could be reset to different values when loading from JSON;
~ deserialization of custom item classes worked correctly only if their names contained Node or Link suffix;
If anyone is interested in trying the beta version, please download this archive containing the updated script files:
https://mindfusion.eu/_beta/jsdiag25.zipAny comments, questions and general feedback are welcome.