Changes for 1.5.5:
• Added the CheckBoxes sample, demonstrating how to define a “check box” and how to customize them.
• Added the static method GraphObject.takeBuilderArgument, for use by GraphObject.defineBuilder functions for more easily retrieving builder arguments from the arguments passed to GraphObject.make.
• Added the definitions of the predefined arrowheads to the Arrowheads.js file in the Extensions directory. The predefined arrowheads are still predefined, so you will not need to load this file in order to have those definitions. This file provides information about how each arrowhead is defined, so that you can customize them or copy-and-adapt them.
• Fixed TextBlock.isStrikethrough to work with all values of TextBlock.textAlign.
• Adding a Part is now undoable if its layer has changed without notifying the undo manager, such as with a “layerName”:“isSelected” binding.
• Fixed Geometry.scale and Geometry.rotate of PathSegments that are arcs.
Changes for 1.5.4:
- Added the Realtime Drag Selecting sample, with the RealtimeDragSelectingTool defined in the RealtimeDragSelectingTool.js in the Extensions directory.
- Added the Hover Buttons sample, demonstrating how an Adornment can be used to show buttons for a node when the mouse is briefly motionless over the node.
- Added the Spiral Layout sample, with the SpiralLayout defined in the SpiralLayout.js file in the Extensions directory.
- Fixed ContextMenuTool so that any click events (Tool.standardMouseClick) in the ContextMenuTool.currentContextMenu occur on mouse-up, not mouse-down.
Changes for 1.5.3:
- The transaction name argument to UndoManager.commitTransaction (or Model.commitTransaction or Diagram.commitTransaction) is now optional, and defaults to the name given at the time of the call to UndoManager.startTransaction.
- The Backspace (Windows) or Delete (Mac) key now invokes CommandHandler.deleteSelection just like the Delete (Windows) or Delete-Forward (Mac) key already does.
Changes for 1.5.2:
- Updated the TypeScript definition file,
goJS.d.ts, to TypeScript version 1.4.
- Fixed Brush constructor in Debug mode improperly raising error about string argument not being a valid color string.
- Fixed a cross-origin error when using Diagram.makeImageData with SVG images in Internet Explorer.
Changes for 1.5.1:
- Added the Kanban Board sample, derived from the Swim Lanes (vertical) sample.
- Fixed scrollbar clicking on touch-enabled devices in Chrome on Windows.
- More graceful handling of Picture image errors.
- Fixed bugs with undo of changed state inside Parts whose Part.category was later changed.
- Stopped touch events from always calling preventDefault (touch events were impossible to bubble).
I’m pleased to announce that version 1.5.0 is now the latest release of GoJS, with many new samples and features.
If I counted correctly, there are 33 new samples, most of which you can see at http://gojs.net/latest/samples. The Change Log lists all of the new samples.
Some of the new samples are in the http://gojs.net/latest/extensions directory, demonstrating new classes that are defined there. Those extension classes are designed to be reused in your application – just load the JS file.
Many of the old samples have been improved, including bug fixes. If you based your app on a GoJS sample, you might want to consider seeing if there were any changes. Some samples, such as BPMN, http://gojs.net/latest/extensions/BPMN.html, have had code cleanups and lots of new features.
Buttons are now styled to be flatter and more rectangular. If you are curious about how the predefined Buttons are now defined, you can see their definitions in http://gojs.net/latest/extensions/Buttons.js.
There are now Diagram methods for doing “query-by-example”, such as Diagram.findNodesByExample.
You can let the user scroll or pan the diagram infinitely far by setting Diagram.scrollMode. You can now limit the specific values that a Diagram may be scrolled to or zoomed to by supplying functions that return the permitted values: Diagram.positionComputation and Diagram.scaleComputation.
You can now define your own custom named Shape figures and arrowheads by calling the static methods Shape.defineFigureGenerator and Shape.defineArrowheadGeometry.
You can now define your own named kinds of Panel or GraphObject, just as “Button”, “TreeExpanderButton”, “SubGraphExpanderButton”, “ContextMenuButton”, and “PanelExpanderButton” (new!) are now defined in Buttons.js. Those definitions make use of the new static method GraphObject.defineBuilder.
We have now documented the Picture.sourceCrossOrigin property, whose value may be a function that you can use to customize cross-origin requests for Images.
I sometimes had bugs in my apps because I forgot to make sure that Arrays of Objects in my model node data were copied when the node was copied. Although implementing a Model.copyNodeDataFunction still works, you can now set Model.copiesArrays and Model.copiesArrayObjects to true to accomplish the same results.
You can now use Placeholders in tooltip and context menu Adornments in order to determine the positioning of those Adornments.
Read about these and all of the other improvements in GoJS at http://gojs.net/latest and the Change Log.