We are pleased to announce the first public release of the beta program for version 1.2.
- Version 1.2 includes a lot of performance improvements – everything takes a lot less memory than before, and many things should be a bit faster too.
- We have added support for drawing separator lines between some or all rows and/or columns of a Table Panel.
- You can now customize Links in more ways than before.
- There are additional ways to navigate or operate on trees.
- We have added several new samples.
- We have added an “extensions” folder: Extensions. This holds several sample apps which depend on the regular GoJS library plus extension classes inheriting from Layout, Tool, or CommandHandler.
Changes for 1.2 beta 1, since 1.1.11:
- Samples:
- Added Euler Diagram sample.
- Added Grafcet Diagrams sample.
- Added Network Configuration sample.
- Added Recentering Radial Layout sample.
- Added Regrouping sample.
- Selection and Tool Adornments are now virtualized:
- Adornments are only created automatically when viewed.
- The “Adornment” Layer's part count will only reflect Adornments created so far.
- Part.adornments will be empty for Parts that should have Adornments (i.e., are selected) but have yet to be viewed. (Part.adornments will never be null.)
- If your app needs Adornments that should exist but are off-screen you can call Part.updateAdornments to create them.
- Trees:
- Added a parameter to Node.findTreeParts to control how much of a subtree is returned.
- Added a parameter to Node.collapseTree and Node.expandTree for controlling how much of a tree is collapsed or expanded.
- Added Node.findTreeRoot method for walking up the chain of tree parent links.
- Added Diagram.findTreeRoots method for finding all root Nodes of trees.
- Added Link.isTreeLink property; set to false to have tree-oriented methods ignore such Links, which is convenient when you want a tree-structured diagram using a GraphLinksModel with additional links connecting the nodes.
- TreeLayout.roots collection now holds TreeVertexes, although Nodes in that collection are still supported for compatibility.
- Added overridable TreeLayout.initializeTreeVertexValues method.
- Added overridable TreeLayout.addComments and TreeLayout.layoutComments methods.
- Added overridable TreeLayout.arrangeTrees method.
- Links:
- Added Link.isOrthogonal read-only property, for convenience in checking the kind of routing a Link does.
- Added Link.getLinkPointFromPoint, Link.getLinkPoint, and Link.getLinkDirection overridable methods, to help customize the computation of link routes where a link connects with a port.
- Added Link.resegmentable and LinkReshapingTool.midHandleArchetype properties for allow users to add and remove straight segments from links.
- Added LinkingBaseTool.portTargeted functional property as an event handler that is called during a linking or relinking operation.
- Added LinkingBaseTool.copyPortProperties and LinkingBaseTool.setNoTargetPortProperties overridable methods, for customizing the behavior during linking and relinking operations, when setting LinkingBaseTool.portTargeted is not enough.
- Added Row and Column separators in Table Panels:
- RowColumnDefinition.separatorPadding
- RowColumnDefinition.separatorStroke
- RowColumnDefinition.separatorStrokeWidth
- RowColumnDefinition.separatorDashArray
- RowColumnDefinition.background
- RowColumnDefinition.coversSeparators
- RowColumnDefinition.total
- Panel.defaultSeparatorPadding
- Panel.defaultRowSeparatorStroke
- Panel.defaultRowSeparatorStrokeWidth
- Panel.defaultRowSeparatorDashArray
- Panel.defaultColumnSeparatorStroke
- Panel.defaultColumnSeparatorStrokeWidth
- Panel.defaultColumnSeparatorDashArray
- Miscellaneous:
- Added Diagram.findTopLevelGroups method for finding all unnested Groups.
- Added a partialInclusion argument to Diagram.findObjectsNear and Layer.findObjectsNear.
- Added Layer.pickable and GraphObject.pickable properties, to permit visual objects to be ignored by methods such as Diagram.findObjectAt, which in turn allows one to create Parts such as the background grid that cannot get mouse events.
- Added methods for finding links between nodes: Node.findLinksTo (in one direction) and Node.findLinksBetween (in either direction).
- Added TextBlock.isUnderline and TextBlock.isStrikethrough.
- Added Layout.isRealtime property, to control whether an invalid layout is performed during some tool operations before a transaction is completed.
- Added ToolManager.dragSize property, for controlling the distance at which the mouse may move before it is no longer considered a click but a drag.
- Added ToolManager.WheelNone; set ToolManager.mouseWheelBehavior to this value to ignore mouse wheel events without disabling scrolling or zooming by other means.
Get the most recent beta version at: http://gojs.net/beta.
The change log is at: http://gojs.net/beta/doc/changelog.html.