Version 1.4.26 is now available

Version 1.4.26 is now available.

Changes since 1.4.25:

There is now a Search box at samples/index.html, so you can easily search the sample sources.

The major new feature in 1.4 is support for animation, mostly layout animation and animation of expanding trees and subgraphs. You can disable this animation by setting Diagram.animationManager.isEnabled = false. It is turned on by default. You can also control its duration, by setting Diagram.animationManager.duration, in milliseconds.

Major new features:

new go.Binding("stroke", "isHighlighted", function (h) { return h ? "red" : "black"; }).ofObject()
  • Added TextBlock.overflow
    property and TextBlock.OverflowEllipsis and TextBlock.OverflowClip enum
    values; clipping is the default behavior when there is not enough room
    to draw all of the text.
  • Added TreeLayout.layerStyle
    property; when set to the new enum value TreeLayout.LayerUniform, all
    nodes at the same layer level will be aligned. The default value,
    TreeLayout.LayerIndividual, produces the original behavior where each
    node only takes up as much depth as it needs, causing its children not
    necessarily to be aligned with its siblings’ children.
  • Added TreeLayout.commitLayers and LayeredDigraphLayout.commitLayers
    overridable methods, for getting information about the size and
    position of the “bands” (layout layers) cutting across the diagram,
    which is useful when positioning labels or putting rectangular areas
    behind each band.
  • Added Iterator.any, List.any, Set.any, and Map.any
    methods that take a predicate function as an argument and return true
    if the predicate is true for at least one item in the collection.
  • Added
    Iterator.all, List.all, Set.all, and Map.all methods that take a
    predicate function as an argument and return false if the predicate is
    false for at least one item in the collection.
  • Added Iterator.each,
    List.each, Set.each, and Map.each methods that take a function as an
    argument and call it on each item in the collection.

A full list of changes is available in the Change Log.