Skip to content

Releases: NorthwoodsSoftware/GoJS

2.1.40

18 May 19:57
Compare
Choose a tag to compare
  • Fixed some styling and missing files in the web site as a result of the reorganization in 2.1.39.
  • Simplified the Storage and FloorplannerTS projects.

2.1.51

04 Oct 15:50
Compare
Choose a tag to compare
  • The TextEditingTool, when the user has entered an invalid text string, has always called any TextBlock.errorFunction and then continued showing the text editor so that the user could fix their text entry. The TextEditingTool.doError method now calls any TextBlock.errorFunction and also calls HTMLInfo.show on the TextEditingTool.currentTextEditor. This will allow an override of TextEditingTool.doError not to continue showing the editor. If you have not overridden that method, which was new in 2.1, this change will not affect you.
  • Fixed Model.fromJson not to substitute instances of classes such as Point and Size when the Object's "class" property had a value that is "Point" or "Size". The property value must be what is produced by Model.toJson, which uses values such as "go.Point" or "go.Size". The documentation lists all of the substitution cases that Model.fromJson handles.
  • Fixed a regression from 2.1.43 which caused some links to animate routes incorrectly upon dragging.
  • Fixed loading Images used as a Picture.element.
  • Improved some AvoidsNodes routing of Links when connecting Nodes in different Groups and the Groups are not Group.avoidable.
  • Fixed using multiple license keys.

2.1.50

17 Sep 17:43
Compare
Choose a tag to compare

Changes for 2.1.50

  • Enhanced the LinkShiftingTool extension to support links that are only connected at one end.
  • Fixed CommandHandler.doKeyDown to support Robot.keyDown use of "F2" and "ContextMenu" keys.
  • Improved routing of AvoidsNodes links that have a "to" end segment with a direction that is a multiple of 45 (but not 90) degrees.
  • Fixed diagram not redrawing after images load in frameworks that use a shadow DOM, such as Angular.
  • If you call TextBlock.setBaseline or TextBlock.setUnderline outside of your diagram initialization, you should also call Diagram.redraw on all Diagrams.

2.1.49

01 Sep 16:09
Compare
Choose a tag to compare
  • Added the Flow PanelLayout extension, demonstrated in the Flow PanelLayout sample. This panel layout (not a diagram layout!) arranges panel elements into rows or columns. As time goes by we may add more properties to control the behavior of this custom panel layout.
  • Fixed undo/redo bug involving setting RowColumnDefinition properties and calls to Panel.removeColumnDefinition.
  • Fixed Picture.successFunction erroneously being called twice in some situations, such as when a node was copy-pasted.
  • Fixed Diagram.makeSVG not rendering shadows on some GraphObjects.
  • Fixed Diagram.makeSVG not clipping when using a Panel.Spot with Panel.isClipping set to true.
  • Improved visual consistency of shadows in SVG output from Diagram.makeSVG

2.1.48

13 Aug 15:03
Compare
Choose a tag to compare
  • Fixed Panel.removeRowDefinition and Panel.removeColumnDefinition to decrease the Panel.rowCount and Panel.columnCount when the highest index RowColumnDefinition is removed.
  • Fixed Picture.successFunction, which was called for only the first Picture with a given unique Picture.source. It is now called for every Picture that has a successFunction defined with the same (successfully loaded) source.

2.1.47

05 Aug 11:18
Compare
Choose a tag to compare
  • Fixed Diagram.layoutDiagram not performing a layout immediately if called within an ongoing Diagram update (such as during a DiagramEvent like "InitialLayoutCompleted").
  • Fixed Panel.itemTemplate so that it is used, not the default item template, when the panel cannot find any template with the given category name in the item data.
  • Diagram.viewSize, if set, now takes precedence over the size of the Diagram.div. It is not typical to set both a DIV and the viewSize, but in environments where a DIV is set automatically it may be useful for testing purposes to set an explicit viewSize as well.

2.1.46

16 Jul 18:20
Compare
Choose a tag to compare
  • Fixed an issue with indefinite animations causing some transactions to skip the UndoManager.
  • Fixed Diagram.makeImageData to draw any other Parts in the "Grid" Layer besides the Part holding the Diagram.grid when the showGrid option is true but the showTemporary option is false.

2.1.45

07 Jul 16:01
Compare
Choose a tag to compare
  • Fixed a bounds calculation bug with PathSegment.SvgArcs, when the arc has a zero X or Y radius value.
  • Link route calculations now avoid an effectively infinite loop due to floating point errors when the two ports almost exactly overlap each other.
  • Fixed an occasional exception when dragging a disconnected link when the link had no points in its route.
  • The GraphObject.naturalBounds of a Shape now always prefers GraphObject.desiredSize if it exists, over the Shape's Geometry.bounds. These are usually the same, but a Geometry with beziers can be slightly off from the desiredSize used to create it.

2.1.44

01 Jul 14:43
Compare
Choose a tag to compare
  • Fixed a regression from 2.1.28 with some Shape.geometryString paths. If a path contained an arc command that was closed, a relative move command afterwards would be at the wrong coordinates.

2.1.43

21 Jun 14:15
Compare
Choose a tag to compare
  • Improved performance of LayeredDigraphLayout for large graphs when LayeredDigraphLayout.packOption is set to LayeredDigraphLayout.PackAll. Setting LayeredDigraphLayout.packOption to a subset of the possible flags has always helped performance at the expense of improved layout. Also, it has always helped to set LayeredDigraphLayout.aggressiveOption to LayeredDigraphLayout.AggressiveNone.
  • Fixed non-default indefinite animations preventing the default animation from starting. Fixed some other non-default animation bugs, such as indefinite animations preventing Overviews from updating.
  • Enhanced LinkingTool.findLinkablePort, when LinkingTool.startObject is a Node and the whole node is not a port, to return the node's default port Node.port instead of null, if the port is a valid port for linking from or to.