3898 lines
195 KiB
HTML
3898 lines
195 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="description" content="GoJS changelog." />
|
|
<meta http-equiv="cache-control" content="no-cache">
|
|
<title>GoJS Change Log</title>
|
|
<!-- Copyright 1998-2017 by Northwoods Software Corporation. -->
|
|
<script>
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
|
|
ga('create', 'UA-1506307-5', 'auto');
|
|
ga('send', 'pageview');
|
|
</script>
|
|
<link rel="stylesheet" href="../assets/css/bootstrap.min.css">
|
|
<!-- custom CSS after bootstrap -->
|
|
<link href="../assets/css/main.css" rel="stylesheet" type="text/css"/>
|
|
<script src="../release/go.js"></script>
|
|
<script src="../assets/js/goDoc.js"></script>
|
|
</head>
|
|
|
|
<body onload="goDoc()">
|
|
<!-- fixed navbar -->
|
|
<nav id="fixed-nav" class="navbar navbar-inverse navbar-fixed-top">
|
|
<div class="container-fluid">
|
|
<div class="navbar-header">
|
|
<div class="navheader-container">
|
|
<div class="navheader-collapse" data-toggle="collapse" data-target="#navbar">
|
|
<a id="toplogo" class="navbar-brand" href="../index.html">GoJS</a>
|
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="navbar" class="navbar-collapse collapse">
|
|
<ul class="nav navbar-nav navbar-right">
|
|
<li><a href="../index.html">Home</a></li>
|
|
<li><a href="../learn/index.html">Learn</a></li>
|
|
<li><a href="../samples/index.html">Samples</a></li>
|
|
<li><a href="../intro/index.html">Intro</a></li>
|
|
<li><a href="../api/index.html">API</a></li>
|
|
<li><a href="https://www.nwoods.com/components/evalform.htm">Register</a></li>
|
|
<li><a href="../doc/download.html">Download</a></li>
|
|
<li><a href="https://forum.nwoods.com/c/gojs">Forum</a></li>
|
|
<li><a href="https://www.nwoods.com/contact.html" onclick="ga('send','event','Outbound Link','click','contact');">Contact</a></li>
|
|
<li class="buy"><a href="https://www.nwoods.com/sales/index.html" onclick="ga('send','event','Outbound Link','click','buy');">Buy</a></li>
|
|
<li class="activate"><a href="https://www.nwoods.com/app/activate.aspx?sku=gojs">Activate</a></li>
|
|
</ul>
|
|
</div><!--/.nav-collapse -->
|
|
</div>
|
|
</nav>
|
|
|
|
<div class="container-fluid mt70 plr15">
|
|
<h2>GoJS Change Log</h2>
|
|
<p id="ver"></p>
|
|
<script>
|
|
if (go && go.version) {
|
|
var p = document.getElementById('ver');
|
|
if (p !== null) p.textContent = ("Version: " + go.version);
|
|
}
|
|
</script>
|
|
|
|
|
|
<p>
|
|
We maintain a
|
|
<a href="https://github.com/NorthwoodsSoftware/GoJS">GitHub Repository</a>, which you can star to follow version updates. We also notify of changes on
|
|
<a href="https://twitter.com/NorthwoodsGo">Twitter</a>.
|
|
</p>
|
|
|
|
<hr>
|
|
|
|
<h4>
|
|
Changes for 1.8.5</h4>
|
|
<ul>
|
|
<li>
|
|
IE: Fixed a regression from 1.8.3 with PointerEvents: Mouse-based events now correctly report their button
|
|
(left, right middle) and modifier keys (Ctrl, Alt, etc). Additionally, meta keys now work with touches,
|
|
so users can do actions such as CTRL+touch to select multiple nodes.
|
|
</li>
|
|
<li>
|
|
Fixed a bug with shadows in IE (but not Edge) sometimes causing draw-related errors with the Canvas Context.
|
|
</li>
|
|
<li>
|
|
The user of <code>PointerEvents</code> is additionally limited by <code>window.navigator.msPointerEnabled</code> not being false.
|
|
This supports the use of IE 11 when embedded within Windows applications.
|
|
</li>
|
|
<li>
|
|
Fixed an animation regression that began with 1.7.0:
|
|
resizing Diagram DIVs now correctly animates layouts that have <a>Layout.isViewportSized</a> set to true.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.8.4</h4>
|
|
<ul>
|
|
<li>
|
|
Added <a>Diagram.scrollsPageOnFocus</a> property, to control whether the page scrolls to show the Diagram's HTMLDivElement
|
|
when the diagram receives focus, if the element is not entirely visible in the window.
|
|
For compatibility now the default value is true, but the default value will be false in version 2.0.
|
|
</li>
|
|
<li>
|
|
Fixed a regression from 1.7.28/1.7.29 with starting automatic animations.
|
|
</li>
|
|
<li>
|
|
Fixed an animation positioning bug with nested collapsed groups.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.8.3</h4>
|
|
<ul>
|
|
<li>
|
|
Added the
|
|
<a href="../samples/zoomPinch.html" target="_blank">Zoom Pinch</a> sample, demonstrating gesture customization.
|
|
</li>
|
|
<li>
|
|
Internally, browser PointerEvents are now used by default on IE-related browsers, when possible.
|
|
Other browsers still use Touch and Mouse events.
|
|
</li>
|
|
<li>
|
|
Fixed a measurement bug with <a>GraphObject.maxSize</a> when applied to TextBlocks.
|
|
</li>
|
|
<li>
|
|
Fixed another case of moving <a>Group</a>s not correctly invalidating link routes when the link connects with the group.
|
|
</li>
|
|
<li>
|
|
Fixed having <a>UndoManager.isUndoingRedoing</a> to be consistently true during "StartingUndo", "StartingRedo", "FinishedUndo", and "FinishedRedo"
|
|
Model <a>ChangedEvent</a>s of type Transaction.
|
|
</li>
|
|
<li>
|
|
Fixed hit testing in some edge cases for geometries.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.8.1 and 1.8.2</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed the measurement of GraphObjects with <a>GraphObject.isPanelMain</a> in Links and Auto panels.
|
|
</li>
|
|
<li>
|
|
Improved documentation and samples for GoCloudStorage.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.8 since 1.7.*</h4>
|
|
<ul>
|
|
<li>
|
|
<b>Licensing</b>
|
|
<p>
|
|
Improvements for unlimited-domains OEM customers.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<b>Samples and documentation:</b>
|
|
<ul>
|
|
<li>
|
|
Added GoCloudStorage classes, in the <code>storage</code> folder, for saving/loading models from
|
|
various cloud storage provider services plus <code>localStorage</code>.
|
|
<p>
|
|
An example of using these services is at: <a href="../storage/samples/GoCloudStorageManager.html" target="_blank">Go Cloud Storage Manager</a>.
|
|
<p>
|
|
The API documentation is at <a href="../storage/api/index.html" target="_blank">Storage API</a>.
|
|
<p>
|
|
Load the library from <a href="../storage/lib/gcs.js" target="_blank">Storage library</a>.
|
|
You will also need to load the libraries for each of the services themselves (other than localStorage).
|
|
<p>
|
|
The source code is at <a href="../storage/src/GoCloudStorage.ts">GoCloudStorage.ts</a> and in other files in that folder.
|
|
</li>
|
|
<li>
|
|
Typescript definition file (<code>go.d.ts</code>) fixes.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Diagram and Model:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>Diagram.commit</a> and <a>Model.commit</a>, which call a given function wrapped in a transaction.
|
|
This is offered as a concise alternative to calling <code>startTransaction</code> and <code>commitTransaction</code>.
|
|
</li>
|
|
<li>
|
|
Added <a>Model.set</a> as a synonym for <a>Model.setDataProperty</a>.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Parts:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>Part.key</a> and <a>Link.key</a>, as shortcuts for retrieving the Part's key in the Model data, if it exists.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Tools:</b>
|
|
<ul>
|
|
<li>
|
|
Fixed duplicate calls to focus within the <a>TextEditingTool</a>.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b style="color:red;">Deprecated features:</b>
|
|
<p>
|
|
These features will remain in the library until version 2.0, but they will no longer be documented and their use is discouraged.
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<b>Most Predefined Shape figures</b>
|
|
<p>
|
|
In order to shrink the size of the GoJS library we will be not be defining most predefined figures in the library.
|
|
Instead, you can find all of their definitions in the <a href="../extensions/Figures.js" target="_blank">Figures.js</a> file.
|
|
You can simply load only those figures that you want to use by copying their definitions into your code.
|
|
<p>
|
|
Until version 2.0 all of the predefined figures remain defined in the GoJS library,
|
|
so you do not yet have to load any figures from the extensions file.
|
|
However, a number of very common figures will remain predefined even in version 2.0.
|
|
The figures that will remain in 2.0 are: "Rectangle", "Square", "RoundedRectangle", "Border", "Ellipse", "Circle",
|
|
"TriangleRight", "TriangleDown", "TriangleLeft", "TriangleUp", "Triangle", "Diamond", "LineH", "LineV",
|
|
"BarH", "BarV", "MinusLine", "PlusLine", "XLine".
|
|
<p>
|
|
Note also that the definitions that are in the <a href="../extensions/Figures.js" target="_blank">Figures.js</a> file
|
|
are <em>not</em> entirely the same as their current definitions in the library.
|
|
A number of figures have been improved and some figure parameters have changed meaning.
|
|
</li>
|
|
<li>
|
|
<b>DiagramEvent.cancel</b>
|
|
<p>
|
|
The only use for this property was with the "SelectionDeleting" <a>DiagramEvent</a> in order to prevent the user from deleting the selection.
|
|
Where one might have written this Diagram listener:
|
|
<pre>"SelectionDeleting": function(e) {
|
|
if (e.diagram.selection.any(function(p) { return p.data.key.indexOf("e") >= 0; })) {
|
|
e.cancel = true;
|
|
}
|
|
},</pre>
|
|
one can write the equivalent functionality with this <a>CommandHandler.canDeleteSelection</a> method override:
|
|
<pre>"commandHandler.canDeleteSelection": function() {
|
|
return !this.diagram.selection.any(function(p) { return p.data.key.indexOf("e") >= 0; })
|
|
&& go.CommandHandler.prototype.canDeleteSelection.call(this);
|
|
},</pre>
|
|
<p>
|
|
Overriding the method supports the updating/enablement of commands that call <a>CommandHandler.deleteSelection</a>.
|
|
Furthermore not having a "cancel" property on the DiagramEvent avoids any potential problems that might occur if there
|
|
are multiple listeners for the "SelectionDeleting" event.
|
|
The "SelectionDeleting" <a>DiagramEvent</a> remains useful, but not for controlling whether or not the deletion should happen.
|
|
</li>
|
|
<li>
|
|
<b>GraphObject.fromEndSegmentDirection</b> and <b>GraphObject.toEndSegmentDirection</b>
|
|
<p>
|
|
These properties have not been useful. One can override <a>Link.getLinkDirection</a> to achieve the same effects.
|
|
</li>
|
|
<li>
|
|
<b>TextEditingTool.doFocus</b> and <b>TextEditingTool.doBlur</b>
|
|
<p>
|
|
These undocumented properties were used to modify the default functionality of the TextEditingTool.
|
|
That is now done by setting <a>TextBlock.defaultTextEditor</a> to an instance of <a>HTMLInfo</a> (new in 1.7).
|
|
<p>
|
|
For examples, see <a href="../samples/customTextEditingTool.html">Custom TextEditingTool sample</a> and
|
|
<a href="../extensions/TextEditor.html">Text Editor default implementation extension</a>.
|
|
</li>
|
|
<li>
|
|
<b>TextBlock.textEditor</b>, <b>TextEditingTool.defaultTextEditor</b>, and <b>TextEditingTool.currentTextEditor</b>
|
|
<p>
|
|
These properties are now primarily used with <a>HTMLInfo</a> values.
|
|
HTML Elements will still work until version 2.0.
|
|
</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<hr class="changelog" />
|
|
|
|
<h4>Changes for 1.7.29</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed a case of missing layout animation.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.28</h4>
|
|
<ul>
|
|
<li>
|
|
Typescript definition fixes.
|
|
</li>
|
|
<li>
|
|
When <a>Part.move</a> is called as <code>Group.move</code>, the method no longer invalidates Link routes inside the group.
|
|
</li>
|
|
<li>
|
|
Fixed regression in 1.7.23 with performing extra layouts involving nested Groups resulting in duplicate Transactions.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.27</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed <a>TextEditingTool</a> sometimes incorrectly ignoring non-<a>TextBlock</a>s in front of a <a>TextBlock</a>.
|
|
</li>
|
|
<li>
|
|
Fixed <a>RelinkingTool.copyLinkProperties</a> to include copying the <a>Link.points</a>, so that when <a>Link.adjusting</a> is
|
|
not None the behavior will be the same as for the original Link.
|
|
</li>
|
|
<li>
|
|
Improved AvoidsNodes link routing to be more likely to find a shorter route by looking beyond the area of the two connected nodes.
|
|
</li>
|
|
<li>
|
|
Improved link routing during <a>DraggingTool</a> moves to keep link routes while snapping is enabled.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.26</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed a regression when drawing large images scaled down, introduced in 1.7.21.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.25</h4>
|
|
<ul>
|
|
<li>
|
|
Replaced the Angular 2 project with a newer Angular 4 project, at <code>../projects/angular-basic</code>.
|
|
This projected was created with Angular CLI; we then added a <code>diagram-editor</code> Component
|
|
consisting of a <a>Diagram</a> and a <a>Palette</a>. That component takes a <a>Model</a> as an Input
|
|
and produces <code>nodeSelected</code> and <code>modelChanged</code> as Outputs.
|
|
The main app component shows editable details for the primary selection if it is a <a>Node</a>.
|
|
</li>
|
|
<li>
|
|
Automatically redraw with improved sharpness as the user zooms the page.
|
|
</li>
|
|
<li>
|
|
Fixed a bug where Pictures given a <a>GraphObject.maxSize</a> and no loaded <a>Picture.element</a> or <a>Picture.source</a> would measure incorrectly.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.24</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed a regression introduced in 1.7.18 with pinch-zooming on Microsoft touch devices in IE.
|
|
</li>
|
|
<li>
|
|
Fixed a visibility bug when a non-visible <a>Part</a> switches layers.
|
|
</li>
|
|
<li>
|
|
Events on the Diagram now attempt to find the Event target Diagram differently. This may help in libraries that use a shadow DOM or DOM scoping.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.23</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed a bug with SVG generation. Generated <code><svg></code> tags also now specify a <code>viewBox</code> attribute.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.22</h4>
|
|
<ul>
|
|
<li>
|
|
Improved routing of links to non-visible member nodes of collapsed groups,
|
|
when the spots of the group's default port are different than thespots of the non-visible node that the link is connected with.
|
|
</li>
|
|
<li>
|
|
Diagram mouseOut now appropriately calls <a>Tool.standardMouseOver</a>,
|
|
and <a>Tool.standardMouseOver</a> uses null as the current object if the mouse is not over the current Diagram.
|
|
</li>
|
|
<li>
|
|
For wrapping, TextBlocks respect the maxSize of their Panel, but also accidentally conformed to their Panel's minSize.
|
|
</li>
|
|
<li>
|
|
Diagram keyDown used to always preventDefault on keyDown events, but this is now overridable via <a>InputEvent.bubbling</a>.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.21</h4>
|
|
<ul>
|
|
<li>
|
|
Drawing fix for HTMLVideoElement sources to <a>Picture.element</a>, which were broken in 1.7.5.
|
|
</li>
|
|
<li>
|
|
Fix for the main element of a Panel (when using <a>GraphObject.isPanelMain</a>) sometimes getting cached incorrectly.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.20</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed <a>Panel.rebuildItemElements</a> not to remove any Links that were connected with item elements that are ports.
|
|
</li>
|
|
<li>
|
|
Fixes for link routing during animation.
|
|
</li>
|
|
<li>
|
|
Fixed slight shifting of <a>Group</a>s that have <a>Group.layout</a> being a <a>CircularLayout</a> after repeated layouts,
|
|
including after expanding the subgraph.
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
<h4>Changes for 1.7.19</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../samples/vue.html" target="_blank">Vue.js</a> sample,
|
|
demonstrating a simple GoJS app in the <a href="https://vuejs.org">Vue.js</a> framework.
|
|
</li>
|
|
<li>
|
|
Fixed a bug in <a>DraggingTool.moveParts</a> where it was incorrectly shifting Nodes when Nodes shifted by differing amounts.
|
|
</li>
|
|
<li>
|
|
Extended <a>RotatingTool</a> to work on link labels; the user still cannot rotate whole Links or the <a>Link.path</a>.
|
|
</li>
|
|
<li>
|
|
Restored behavior from 1.6 of <a>Model.fromJson</a> such that <code>linkdata.points</code> property value is of type <a>List</a>.
|
|
Version 1.7 had allowed that property to remain as an Array of numbers.
|
|
</li>
|
|
<li>
|
|
When a <a>Group.layout></a> was a <a>CircularLayout</a>, that layout was not respecting the implicit <a>Layout.arrangementOrigin</a>
|
|
provided by the group by calling and remembering <a>Layout.initialOrigin</a>.
|
|
</li>
|
|
<li>
|
|
Fixed Link arrowhead and Link label positioning when the object to be positioned is scaled.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.18</h4>
|
|
<ul>
|
|
<li>
|
|
Improved multi-finger touch handling while doing single-finger operations, like dragging and panning.
|
|
</li>
|
|
<li>
|
|
Fixed a bug where collapsing a Group in a LayeredDigraphLayout could cause incorrect routes for bezier links to member nodes.
|
|
</li>
|
|
<li>
|
|
<a>Diagram.makeSVG</a> will now wrap the outputted TextBlock <code><text></code>s with <code><g></code> if the TextBlock has multiple lines of text.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.17</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed a bug in Grid Panel where it might not draw the last horizontal grid line.
|
|
</li>
|
|
<li>
|
|
More extensions translated into TypeScript, at <a href="../extensionsTS/index.html" target="_blank">ExtensionsTS</a>.
|
|
</li>
|
|
<li>
|
|
Table Panels now allocate space to elements with a <a>GraphObject.stretch</a> value that also span multiple rows or columns in a more consistent fashion.
|
|
</li>
|
|
<li>
|
|
Shapes inside a Grid Panel now respect <a>GraphObject.opacity</a> values.
|
|
</li>
|
|
<li>
|
|
Label Nodes on labeled Links now are members of the link's containing Group, if any.
|
|
</li>
|
|
<li>
|
|
Fixed a bug where if multiple Diagrams shared a Picture, they might not all be redrawn properly upon the image element loading or erroring.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.16</h4>
|
|
<ul>
|
|
<li>
|
|
Translated and modularized the extensions into TypeScript <code>*.ts</code> files, in the <code>extensionsTS</code> directory.
|
|
The compiled files are present in that directory as <code>*.js</code> files, which can be required or imported even if you are not using TypeScript.
|
|
(Caution: all of the script in the HTML samples in the <code>extensions</code> directory have been split out into <code>...Script.ts</code>
|
|
files, so try not to be confused by the corresponding <code>*.js</code> files, which will have <code>Script</code> in their names.)
|
|
</li>
|
|
<li>
|
|
Fixed missing calls to <a>Node.linkConnected</a> and <a>Node.linkDisconnected</a> event handlers when
|
|
connecting or disconnecting reflexive links.
|
|
</li>
|
|
<li>
|
|
Fixed error in <a>Model.applyIncrementalJson</a> adding group nodes.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.15</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed scrollbar behavior when <a>Diagram.scrollMargin</a> was set.
|
|
</li>
|
|
<li>
|
|
Fixed <a>ResizingTool</a> not re-routing reflexive links on <a>Group</a>s.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.14</h4>
|
|
<ul>
|
|
<li>
|
|
Avoided undesired side effects of undo and redo after relinking duplicate links.
|
|
</li>
|
|
<li>
|
|
Further improved the dragging between Diagrams that was modified in 1.7.13.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.13</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed a bug with pinch-zooming in some browsers.
|
|
</li>
|
|
<li>
|
|
Fixed a regression with <a>Diagram.makeSVG</a> not including CORS-disabled images.
|
|
</li>
|
|
<li>
|
|
Fixed a bug with the TextEditingTool when using custom HTML text editors.
|
|
The code attempted to call <code>editor.focus()</code> and <code>editor.setSelectionRange()</code>
|
|
before the editor was added to the DOM. This problem does not affect <a>HTMLInfo</a>, only HTML Element text editors.
|
|
</li>
|
|
<li>
|
|
Improved dragging of nodes from a Diagram or Palette onto an empty Diagram without a new model.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.12</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../extensions/NonRealtimeDragging.html" target="_blank">Non Realtime Dragging</a> sample,
|
|
demonstrating how to customize the <a>DraggingTool</a> to have users drag around a translucent image of the selection,
|
|
rather than actually moving those Nodes and Links, until the mouse up occurs.
|
|
This makes use of the <a href="../extensions/NonRealtimeDraggingTool.js" target="_blank">NonRealtimeDraggingTool.js</a> extension.
|
|
</li>
|
|
<li>
|
|
The <a>DraggingTool</a> will now initiate auto scroll of the Diagram even if <a>Diagram.allowMove</a> and <a>Diagram.allowCopy</a> are false.
|
|
</li>
|
|
<li>
|
|
Link labels along multi-segmented links with unspecified <a>GraphObject.segmentIndex</a>es will now have more accurate angles.
|
|
</li>
|
|
<li>
|
|
Fixed a bug with TextBlocks when <a>TextBlock.wrapping</a> was set to <a>TextBlock.None</a>, it would size itself only by the last line.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.11</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed a bug in the <a>TextEditingTool</a> when editing TextBlocks with a non-default <a>TextBlock.textAlign</a> value.
|
|
</li>
|
|
<li>
|
|
Fixed some Diagram construction orders not respecting screen pixel ratios.
|
|
</li>
|
|
<li>
|
|
Fixed a <a>DraggingTool</a> bug when dragging disconnected links between Diagrams, when the destination Diagram had <a>Diagram.allowCopy</a> set to false.
|
|
</li>
|
|
<li>
|
|
Fixed faulty locations when <a>Part.locationSpot</a> or <a>Part.locationObjectName</a> were modified when a Part was transformed (angle or scale).
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.10</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed routing of <a>Link</a>s to rotated nodes with "...Side" Spots.
|
|
</li>
|
|
<li>
|
|
Fixed routing of <a>Link.AvoidsNodes</a> Links that also had <a>Link.adjusting</a> set to <a>Link.End</a>.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.9</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../extensions/ParallelRoute.html" target="_blank">Parallel Route</a> sample,
|
|
demonstrating a custom <a>Link.computePoints</a> method in order to have multiple links between the same two ports have parallel segments.
|
|
This makes use of the <a href="../extensions/ParallelRouteLink.js" target="_blank">ParallelRouteLink.js</a> extension.
|
|
</li>
|
|
<li>
|
|
Fixed some instances of ticks not rendering on Graduated Panels with small <a>Panel.graduatedTickUnit</a> values.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.8</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../extensions/LinkLabelOnPathDragging.html" target="_blank">Link Label On Path Dragging</a> sample,
|
|
demonstrating how to restrict the dragging of link labels to remain on the path of the link.
|
|
This makes use of the <a href="../extensions/LinkLabelOnPathDraggingTool.js" target="_blank">LinkLabelOnPathDraggingTool.js</a> extension.
|
|
</li>
|
|
<li>
|
|
TableRows and TableColumns now update their ports correctly when scrolling by setting <a>Panel.topIndex</a> or <a>Panel.leftIndex</a>.
|
|
</li>
|
|
<li>
|
|
<a>Link</a>s that have TwoWay Bindings of <a>Link.points</a> now copy faithfully between different Diagrams.
|
|
</li>
|
|
<li>
|
|
When the <a>DraggingTool.dragsLink</a> is true, a drag of a Link that reconnects one or both ends of the Link will now raise
|
|
one or two "LinkRelinked" <a>DiagramEvent</a>s. Just as with a "LinkRelinked" event raised by the <a>RelinkingTool</a>,
|
|
the <a>DiagramEvent.parameter</a> will be the old port with which the Link had been connected.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.7</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../samples/triStateCheckBoxTree.html" target="_blank">Tri-state CheckBox Tree</a> sample,
|
|
demonstrating checkboxes for each item in a "tree view".
|
|
</li>
|
|
<li>
|
|
Improved the performance of link routing when groups have a lot of member nodes and links.
|
|
</li>
|
|
<li>
|
|
Fixed shadow scaling when making images.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.6</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../extensions/RoundedRectangles.js" target="_blank">RoundedRectangles.js</a> definitions of figures
|
|
that have rounded corners only at the top or only at the bottom.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/roundedGroups.html" target="_blank">Rounded Groups</a> sample
|
|
demonstrating both Nodes and Groups that have rounded headers and rounded footers.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/twoHalves.html" target="_blank">Two Halves</a> sample
|
|
demonstrating a Node template that has both a top half and a bottom half and that has rounded corners overall.
|
|
</li>
|
|
<li>
|
|
Fixed cases where <a>InputEvent.left</a> remained true for mouse move events even after the left mouse button was released.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.5</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../samples/minimalSVG.html" target="_blank">Minimal SVG Download</a> sample,
|
|
demonstrating <a>Diagram.makeSvg</a> and "downloading" the resulting SVG file.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.4</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../extensions/SectorReshaping.html" target="_blank">Sector Reshaping</a> sample,
|
|
demonstrating a custom <a>Tool</a> that supports interactively changing the angle and breadth (sweep) and depth (radius)
|
|
of a pie-shaped sector of a circle.
|
|
The SectorReshapingTool is defined in the <a href="../extensions/SectorReshapingTool.js">SectorReshapingTool.js</a>
|
|
file in the Extensions directory.
|
|
</li>
|
|
<li>
|
|
Fixed broken <a>Diagram.makeImageData</a> for "blob" return type.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.3</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <code>angular2-minimal</code> project, in the projects subdirectory.
|
|
This is a copy of the Angular 2 Quick Start example, https://angular.io/docs/ts/latest/quickstart.html,
|
|
augmented to show the GoJS "minimal" sample.
|
|
</li>
|
|
<li>
|
|
Fixed another declaration in <code>go.d.ts</code>.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.2</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed missing declaration in <code>go.d.ts</code>.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.7.1</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed some corrupted image files in the samples.
|
|
</li>
|
|
<li>
|
|
Renewed a Leaflet access token for the Leaflet sample.
|
|
</li>
|
|
</ul>
|
|
|
|
<div style="border: 2px solid #1F4963; padding: 6px; margin-top: 30px; margin-bottom: 30px;">
|
|
<p><strong>GoJS version 1.7</strong> brings several new features and samples. Here are some highlights:</p>
|
|
<ul>
|
|
<li>
|
|
From GoJS 1.7 onward there is a new method of licensing that does not require a separate <code>go.js</code> file download, instead it uses a license key.
|
|
Read more on the <a href="../intro/deployment.html">Deployment Intro page</a>.
|
|
</li>
|
|
<li>
|
|
Added a new sample: <a href="../extensions/FloorPlanner.html" target="_blank">Floor Planner</a> in the extensions folder.
|
|
</li>
|
|
<li>
|
|
More intelligent link routing:
|
|
GoJS now attempts to preserve Link routes when elements of a Node resize or move, but do not affect the link ports.
|
|
</li>
|
|
<li>
|
|
Improved support for customizing tooltips, context menus and the <a>TextEditingTool</a> using a new class:
|
|
<a>HTMLInfo</a>, which contains methods to show and hide custom HTML.
|
|
HTMLInfo can be assigned as a value of <a>GraphObject.contextMenu</a>, <a>Diagram.contextMenu</a>,
|
|
<a>GraphObject.toolTip</a>, <a>Diagram.toolTip</a>, or <a>TextBlock.defaultTextEditor</a>.
|
|
Read more on the <a href="../intro/HTMLInteraction.html">HTML Interaction Intro page</a>.
|
|
</li>
|
|
<li>
|
|
New <a>Panel.type</a>: <a>Panel.Graduated</a>, used to draw regular tick marks and text along a main <a>Shape</a> element.
|
|
Read more on the <a href="../intro/graduatedPanels.html">Graduated Panels Intro page</a>.
|
|
</li>
|
|
<li>
|
|
Added the <a>Panel.isEnabled</a> property, the <a>GraphObject.isEnabledObject</a> method, and the <a>GraphObject.enabledChanged</a> event.
|
|
</li>
|
|
<li>
|
|
Added the <a>Panel.isClipping</a> property, which allows Spot Panels to designate their main Shape element as a clipping region instead of a drawn Shape.
|
|
</li>
|
|
<li>
|
|
Added <a>Brush</a> methods for computing lighter or darker colors or Brushes.
|
|
</li>
|
|
<li>
|
|
Added <a>Binding.ofModel</a> method, to support data binding of <a>GraphObject</a> properties to data
|
|
properties that are on the <a>Model.modelData</a> shared JavaScript Object.
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<h4>Changes for 1.7 since 1.6.*</h4>
|
|
<ul>
|
|
<li>
|
|
<b>Samples and documentation:</b>
|
|
<ul>
|
|
<li>
|
|
Copied definitions for all <a>Shape.figure</a> figures to the <a href="../extensions/Figures.js" target="_blank">Figures.js</a> file.
|
|
All of the old figures are still predefined, so you will not need to load any section of this file.
|
|
This file provides information about how each figure is defined, so that you can customize them or copy-and-adapt them.
|
|
</li>
|
|
<li>
|
|
Copied definitions for all predefined templates to the <a href="../extensions/Templates.js" target="_blank">Templates.js</a> file
|
|
in the Extensions directory.
|
|
The predefined templates are still predefined, so you will not need to load this file in order to use those definitions.
|
|
This file provides information about how each template is defined, so that you can customize them or copy-and-adapt them.
|
|
</li>
|
|
<li>
|
|
Added a new sample: <a href="../extensions/FloorPlanner.html" target="_blank">Floor Planner</a> in the extensions folder.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/customExpandCollapse.html" target="_blank">Custom Expand Collapse</a> sample,
|
|
demonstrating an alternative to the "TreeExpanderButton" and the use of the <a>Node.isTreeExpanded</a>.
|
|
This sample is tolerant of cycles in the graph.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/Hyperlink.html" target="_blank">Hyperlink</a> sample,
|
|
demonstrating a "HyperlinkText" GraphObject builder that implements a standard hyperlink or "HTML anchor" control.
|
|
The "HyperlinkText" builder is defined in the <a href="../extensions/HyperlinkText.js" target="_blank">HyperlinkText.js</a>
|
|
file in the Extensions directory.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/orgChartAssistants.html" target="_blank">Org Chart Assistants</a> sample,
|
|
demonstrating a custom <a>TreeLayout</a> that positions "assistant" child nodes to the side, above the regular child nodes.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/RadialLayout.js" target="_blank">Radial Layout</a> extension class,
|
|
used by the <a href="../samples/radial.html" target="_blank">Recentering Radial</a> sample and the
|
|
<a href="../samples/radialPartition.html" target="_blank">Radial Partition</a> sample.
|
|
</li>
|
|
<li>
|
|
Added several new HTML pages that showcase existing extensions as standalone samples:
|
|
<a href="../extensions/DrawCommandHandler.html" target="_blank">Draw CommandHandler</a>
|
|
<a href="../extensions/GeometryReshaping.html" target="_blank">Geometry Reshaping</a>,
|
|
<a href="../extensions/GuidedDragging.html" target="_blank">Guided Dragging</a>,
|
|
<a href="../extensions/HyperLink.html" target="_blank">HyperLink</a>,
|
|
<a href="../extensions/LocalStorageCommandHandler.html" target="_blank">Local Storage CommandHandler</a>,
|
|
<a href="../extensions/ResizeMultiple.html" target="_blank">Resize Multiple</a>,
|
|
<a href="../extensions/RotateMultiple.html" target="_blank">Rotate Multiple</a>.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/htmlLightBoxContextMenu.html" target="_blank">HTML Light Box Context Menu</a> sample,
|
|
a re-implementation of the default touch context menu using <a>HTMLInfo</a>, and references
|
|
<a href="../extensions/LightBoxContextMenu.js" target="_blank">LightBoxContextMenu.js</a> and
|
|
<a href="../extensions/LightBoxContextMenu.css" target="_blank">LightBoxContextMenu.css</a>.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/TextEditor.html" target="_blank">Text Editor</a> sample,
|
|
a re-implementation of the default text editor using <a>HTMLInfo</a>.
|
|
It uses the <a href="../extensions/TextEditor.js" target="_blank">TextEditor.js</a> extension.
|
|
</li>
|
|
<li>
|
|
Reworked the <a href="../samples/customTextEditingTool.html" target="_blank">CustomTextEditingTool</a> sample
|
|
to use two <a>HTMLInfo</a> instances, defined in
|
|
<a href="../extensions/TextEditorRadioButtons.js" target="_blank">TextEditorRadioButtons.js</a> and
|
|
<a href="../extensions/TextEditorSelectBox.js" target="_blank">TextEditorSelectBox.js</a>.
|
|
</li>
|
|
<li>
|
|
Reworked the <a href="../samples/timeline.html" target="_blank">Timeline</a> sample to use a Graduated Panel.
|
|
Added several samples demonstrating Graduated Panels:
|
|
<a href="../samples/thermometer.html" target="_blank">Thermometer</a>,
|
|
<a href="../samples/instrumentGauge.html" target="_blank">Instrument Gauge</a>,
|
|
<a href="../samples/ruleredDiagram.html" target="_blank">Rulered Diagram</a>,
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Diagram and Layer:</b>
|
|
<ul>
|
|
<li>
|
|
Enhanced the "ViewportBoundsChanged" <a>DiagramEvent</a> to provide the previous <a>Diagram.scale</a> as the "scale" property
|
|
of the <a>DiagramEvent.subject</a>; the previous <a>Diagram.position</a> is available as the "position" property of that subject,
|
|
and the previous <a>Diagram.viewportBounds</a> is also available as the "bounds" property of that same subject.
|
|
</li>
|
|
<li>
|
|
Enhanced <a>Diagram.computePartsBounds</a> to take optional argument whether to include the bounds of all <a>Link</a>s in the given collection.
|
|
</li>
|
|
<li>
|
|
<a>Diagram.makeImageData</a> has a new option, <code>returnType</code>, which allows you to specify a <code>string</code> (default),
|
|
<code>ImageData</code> (new), or <code>Blob</code> (new) as the returned type.
|
|
<a>Diagram.makeImageData</a> also has a new option <code>callback</code> which is used in conjunction with <code>returnType: "Blob"</code>.
|
|
See the <a href="../samples/minimalBlob.html">Minimal Image Blob Download sample</a> for usage details.
|
|
</li>
|
|
<li>
|
|
<a>Part</a>s that are added and selected or highlighted, and then are removed upon an undo, no longer remain selected or highlighted.
|
|
This policy avoids having non-existent nodes and links (due to undo of their insertion) remaining in
|
|
the <a>Diagram.selection</a> or <a>Diagram.highlighteds</a> collections.
|
|
</li>
|
|
<li>
|
|
Extended <a>Diagram.findPartForKey</a> to return <a>Link</a>s if the <a>Diagram.model</a> is a <a>GraphLinksModel</a> that is keeping keys for link data.
|
|
If <a>GraphLinksModel.findLinkDataForKey</a> returns a link data object, <a>Diagram.findPartForKey</a> may return the corresponding Link.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Parts:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>Node.findTreeParentChain</a> method, to return a collection of the <a>Node</a>s and <a>Link</a>s
|
|
following links up to a root node.
|
|
</li>
|
|
<li>
|
|
GoJS now attempts to preserve Link routes when elements of a Node resize or move but do not affect the absolute position of ports.
|
|
</li>
|
|
<li>
|
|
Improved Orthogonal <a>Link</a> routing for links coming out of and going into the same port.
|
|
</li>
|
|
<li>
|
|
<a>Link.AvoidsNodes</a> routing when <a>Link.adjusting</a> is <a>Link.End</a> now tries to preserve earlier routing not near the end(s) of the route that were adjusted.
|
|
</li>
|
|
<li>
|
|
<a>Link.AvoidsNodes</a> routing may be more likely to turn immediately when <a>Node.avoidable</a> Nodes overlap either or both ports.
|
|
</li>
|
|
<li>
|
|
Added <a>Part.highlightedChanged</a>, when one wants to modify the appearance of a Part in a manner that is inconvenient to implement using data Binding.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Panels</b>
|
|
<ul>
|
|
<li>
|
|
Added the <a>Panel.isEnabled</a> property, the <a>GraphObject.isEnabledObject</a> method,
|
|
and the <a>GraphObject.enabledChanged</a> functional property,
|
|
for use by <a>Panels</a> such as "Button"s that are <a>GraphObject.isActionable</a>,
|
|
to control whether or not the user may click them.
|
|
</li>
|
|
<li>
|
|
Added the <a>Panel.isClipping</a> property, which allows Spot Panels to designate their main Shape element as a clipping region instead of a drawn Shape.
|
|
</li>
|
|
<li>
|
|
Added the <a>Panel.isOpposite</a> property, which allows Horizontal and Vertical panels to arrange their contents
|
|
from the right and bottom side (respectively) instead of the top and left side.
|
|
</li>
|
|
<li>
|
|
Added the <a>Panel.alignmentFocusName</a> property, which allows elements of Spot Panels to name a nested Element to be the alignment object instead of the Panel.
|
|
</li>
|
|
<li>
|
|
Added the new <a>Panel.type</a>: <a>Panel.Graduated</a>, used to draw regular tick marks and text along a main <a>Shape</a> element.
|
|
Read more on the <a href="../intro/graduatedPanels.html">Graduated Panels Intro page</a>.
|
|
</li>
|
|
<li>
|
|
Added <a>Panel.graduatedMin</a>, <a>Panel.graduatedMax</a>, <a>Panel.graduatedRange</a>, <a>Panel.graduatedTickUnit</a>, <a>Panel.graduatedTickBase</a>,
|
|
<a>Panel.graduatedPointForValue</a>, <a>Panel.graduatedValueForPoint</a>, <a>Shape.graduatedStart</a>, <a>Shape.graduatedEnd</a>, <a>TextBlock.interval</a>,
|
|
<a>TextBlock.graduatedStart</a>, <a>TextBlock.graduatedEnd</a>, and <a>TextBlock.graduatedFunction</a>, all for use with Graduated Panels.
|
|
</li>
|
|
<li>
|
|
Improved the "PanelExpanderButton" to work in nested <a>Panel.itemTemplates</a>.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>GraphObjects and Geometry:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>Picture.successFunction</a>, a function called when the Picture's image loads successfully.
|
|
</li>
|
|
<li>
|
|
Added <a>Picture.imageAlignment</a>, a Spot to align the source image to, when the source image is smaller than the Picture.
|
|
</li>
|
|
<li>
|
|
Added <a>TextBlock.verticalAlignment</a>, which controls the vertical position of the glyphs
|
|
when the TextBlock has more available vertical space than it needs for drawing.
|
|
</li>
|
|
<li>
|
|
Added <a>TextBlock.textEdited</a>, a settable function that is called on a TextBlock when the <a>TextEditingTool</a> is completing.
|
|
</li>
|
|
<li>
|
|
Added <a>TextBlock.choices</a>, a settable/bindable Array that can help implement custom <a>TextEditingTool</a>s.
|
|
See the <a href="../samples/customTextEditingTool.html">Custom TextEditingTool Sample</a>.
|
|
</li>
|
|
<li>
|
|
Added <a>TextBlock.interval</a>, <a>TextBlock.graduatedFunction</a>, <a>TextBlock.graduatedStart</a>, <a>TextBlock.graduatedEnd</a>
|
|
for use in "Graduated" Panels to implement scales, gauges, rulers, and similar devices.
|
|
</li>
|
|
<li>
|
|
Added <a>Shape.graduatedStart</a> and <a>Shape.graduatedEnd</a> for use in "Graduated" Panels.
|
|
</li>
|
|
<li>
|
|
Added <a>Brush.lightenBy</a> and <a>Brush.darkenBy</a> instance and static methods, which lighten or darken colors in a Brush or a CSS color string.
|
|
There are also convenience methods <a>Brush.lighten</a> and <a>Brush.darken</a> which provide default behavior.
|
|
</li>
|
|
<li>
|
|
Extended <a>Placeholder.padding</a> to allow negative values.
|
|
</li>
|
|
<li>
|
|
Extended <a>GraphObject.getDocumentPoint</a> to take a <a>Point</a> in local coordinates, as well as a <a>Spot</a> in this GraphObject.
|
|
This is for convenience and clarity the opposite transformation performed by <a>GraphObject.getLocalPoint</a>.
|
|
</li>
|
|
<li>
|
|
Added support for zero-width spaces and soft hyphens wrapping lines in <a>TextBlock</a>.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Models:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>Binding.ofModel</a> method, to support data binding of <a>GraphObject</a> properties to data
|
|
properties that are on the <a>Model.modelData</a> shared JavaScript Object.
|
|
</li>
|
|
<li>
|
|
Enhanced <a>Diagram.updateAllRelationshipsFromData</a> to also add and remove <a>Node</a>s and <a>Link</a>s
|
|
for any additional and missing data in the model. Remember that it is more efficient to call
|
|
methods on the model to modify it and also notify all diagrams about the change
|
|
than it is to call <a>Diagram.updateAllRelationshipsFromData</a>. Calling methods such as
|
|
<a>Model.addNodeData</a> and <a>Model.setDataProperty</a> also have the benefit of supporting undo/redo --
|
|
the "update..." methods do not.
|
|
</li>
|
|
<li>
|
|
It is now possible for a TwoWay <a>Binding</a> in an item template to replace an item in the <a>Panel.itemArray</a>.
|
|
For an example, please see the updated documentation for the <a>Binding</a> class.
|
|
</li>
|
|
<li>
|
|
A third argument, the <a>Model</a>, is now passed to back-converter (source-to-target) functions in TwoWay <a>Binding</a>s.
|
|
This permits access to the model from the data object without having to explicitly add a reference to the model in each data object.
|
|
Such an argument is not needed for the regular source-to-target converters because one can always walk up the visual tree
|
|
of <a>GraphObject</a>s via <a>GraphObject.part</a>, <a>GraphObject.panel</a>, or <a>GraphObject.diagram</a>.
|
|
</li>
|
|
<li>
|
|
Fixed a call to <a>Model.removeNodeData</a> not potentially invalidating a <a>Layout</a>.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Layouts:</b>
|
|
<ul>
|
|
<li>
|
|
Added the <a>Layout.collectParts</a> method, a convenience method to be called by overrides of <a>Layout.doLayout</a>
|
|
to process the argument in order to get a collection of <a>Part</a>s that should be laid out by that custom <a>Layout</a>,
|
|
when <em>not</em> using a <a>LayoutNetwork</a>.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Tools and Commands:</b>
|
|
<ul>
|
|
<li>
|
|
Added new class <a>HTMLInfo</a>, which contains methods to show and hide custom HTML.
|
|
HTMLInfo can be assigned as a value of <a>GraphObject.contextMenu</a>, <a>Diagram.contextMenu</a>, <a>GraphObject.toolTip</a>, or <a>Diagram.toolTip</a>.
|
|
Read more on the <a href="../intro/HTMLInteraction.html">HTML Interaction Intro page</a>.
|
|
|
|
For examples, see:
|
|
<ul>
|
|
<li>Text Editors: <a href="../samples/customTextEditingTool.html">Custom Text Editors sample</a> and
|
|
<a href="../extensions/TextEditor.html">Re-implementation of the default Text Editor</a>
|
|
<li>Context Menus: <a href="../samples/customContextMenu.html">Custom Context Menu</a> and
|
|
<a href="../samples/htmlLightBoxContextMenu.html">HTML Lightbox Context Menu</a> (a re-implementation of the default touch context menu)
|
|
<li>Tooltips: <a href="../samples/dataVisualization.html">Data Visualization Tooltip</a>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
Added <a>TextEditingTool.state</a> and <a>TextEditingTool.measureTemporaryTextBlock</a> that can be used
|
|
by custom <a>HTMLInfo</a> text editors.
|
|
</li>
|
|
<li>
|
|
Added the <a>ContextMenuTool.defaultTouchContextMenu</a> property, which is an instance of <a>HTMLInfo</a> by default.
|
|
This may be set to another instance of HTMLInfo, or may be set to null to disable the default touch context menu.
|
|
</li>
|
|
<li>
|
|
Extended the <a>DragSelectingTool</a> to auto-scroll when the mouse point is just within the edge of the viewport.
|
|
</li>
|
|
<li>
|
|
Added the overridable method <a>LinkingTool.doNoLink</a>, which is called when a mouse up during a linking operation does <em>not</em> actually draw a new Link.
|
|
</li>
|
|
<li>
|
|
Added the overridable method <a>RelinkingTool.doNoRelink</a>, which is called when a mouse up during a relinking operation does <em>not</em> actually reconnect the Link.
|
|
</li>
|
|
<li>
|
|
Improved the <a>LinkingTool</a> and <a>RelinkingTool</a> to auto-scroll during a linking operation
|
|
even when snapped to a valid target port.
|
|
</li>
|
|
<li>
|
|
Added the overridable method <a>ResizingTool.computeReshape</a>, to make it easier to change when the user may change the aspect ratio of the object being resized.
|
|
</li>
|
|
<li>
|
|
Fixed the <a>ResizingTool</a> to work better when resizing rotated parts.
|
|
<span style="color:red;">Potentially Incompatible:</span> Previously the <a>Part.locationSpot</a> would determine where an resizing object expanded or contracted from.
|
|
Now, resizing objects always resize from their dragged handle, so that the opposite handle always stays in place.
|
|
</li>
|
|
<li>
|
|
Added <a>TextEditingTool.DoubleClick</a> as an additional option for <a>TextEditingTool.starting</a>.
|
|
</li>
|
|
<li>
|
|
<span style="color:red;">CSS Style incompatibility:</span> The <a>TextEditingTool.defaultTextEditor</a> Input element is no longer given the CSS class "start".
|
|
This CSS class had been undocumented and unsupported.
|
|
</li>
|
|
<li>
|
|
<span style="color:red;">CSS Style incompatibility:</span> The default context menu used the classes "defaultCXul", "defaultCXli", and "defaultCXa",
|
|
they have been renamed "goCXul", "goCXli", and "goCXa", respectively.
|
|
These CSS classes had been undocumented and unsupported.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b style="color:red;">Deprecated features:</b>
|
|
<p>
|
|
These features will remain in the library until version 2.0, but they will no longer be documented and their use is discouraged.
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<b>Most Predefined Shape figures</b>
|
|
<p>
|
|
In order to shrink the size of the GoJS library we will be not be defining most predefined figures in the library.
|
|
Instead, you can find all of their definitions in the <a href="../extensions/Figures.js" target="_blank">Figures.js</a> file.
|
|
You can simply load only those figures that you want to use by copying their definitions into your code.
|
|
<p>
|
|
Until version 2.0 all of the predefined figures remain defined in the GoJS library,
|
|
so you do not yet have to load any figures from the extensions file.
|
|
However, a number of very common figures will remain predefined even in version 2.0.
|
|
The figures that will remain in 2.0 are: "Rectangle", "Square", "RoundedRectangle", "Border", "Ellipse", "Circle",
|
|
"TriangleRight", "TriangleDown", "TriangleLeft", "TriangleUp", "Triangle", "Diamond", "LineH", "LineV",
|
|
"BarH", "BarV", "MinusLine", "PlusLine", "XLine".
|
|
<p>
|
|
Note also that the definitions that are in the <a href="../extensions/Figures.js" target="_blank">Figures.js</a> file
|
|
are <em>not</em> entirely the same as their current definitions in the library.
|
|
A number of figures have been improved and some figure parameters have changed meaning.
|
|
</li>
|
|
<li>
|
|
<b>DiagramEvent.cancel</b>
|
|
<p>
|
|
The only use for this property was with the "SelectionDeleting" <a>DiagramEvent</a> in order to prevent the user from deleting the selection.
|
|
Where one might have written this Diagram listener:
|
|
<pre>"SelectionDeleting": function(e) {
|
|
if (e.diagram.selection.any(function(p) { return p.data.key.indexOf("e") >= 0; })) {
|
|
e.cancel = true;
|
|
}
|
|
},</pre>
|
|
one can write the equivalent functionality with this <a>CommandHandler.canDeleteSelection</a> method override:
|
|
<pre>"commandHandler.canDeleteSelection": function() {
|
|
return !this.diagram.selection.any(function(p) { return p.data.key.indexOf("e") >= 0; })
|
|
&& go.CommandHandler.prototype.canDeleteSelection.call(this);
|
|
},</pre>
|
|
Overriding the method supports the updating/enablement of commands that call <a>CommandHandler.deleteSelection</a>.
|
|
Furthermore not having a "cancel" property on the DiagramEvent avoids any potential problems that might occur if there
|
|
are multiple listeners for the "SelectionDeleting" event.
|
|
The "SelectionDeleting" <a>DiagramEvent</a> remains useful, but not for controlling whether or not the deletion should happen.
|
|
</li>
|
|
<li>
|
|
<b>GraphObject.fromEndSegmentDirection</b> and <b>GraphObject.toEndSegmentDirection</b>
|
|
<p>
|
|
These properties have not been useful. One can override <a>Link.getLinkDirection</a> to achieve the same effects.
|
|
</li>
|
|
<li>
|
|
<b>TextEditingTool.doFocus</b> and <b>TextEditingTool.doBlur</b>
|
|
<p>
|
|
These undocumented properties were used to modify the default functionality of the TextEditingTool.
|
|
That is now done by setting <a>TextBlock.defaultTextEditor</a> to an instance of <a>HTMLInfo</a> (new in 1.7).
|
|
<p>For examples, see <a href="../samples/customTextEditingTool.html">Custom TextEditingTool sample</a> and
|
|
<a href="../extensions/TextEditor.html">Text Editor default implementation extension</a>.
|
|
</li>
|
|
<li>
|
|
<b>TextBlock.textEditor</b>, <b>TextEditingTool.defaultTextEditor</b>, and <b>TextEditingTool.currentTextEditor</b>
|
|
<p>
|
|
These properties are now primarily used with <a>HTMLInfo</a> values.
|
|
HTML Elements will still work until version 2.0.
|
|
</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<hr class="changelog" />
|
|
|
|
<h4>Changes for 1.6.24</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed an infinite recursion when a <a>Link</a> with a label <a>Node</a> connects with that same node.
|
|
</li>
|
|
<li>
|
|
Fixed a case of <a>AnimationManager</a> retaining references to Parts that were not cleared by <a>Diagram.clear</a>.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.23</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed a bug with <a>Picture.sourceCrossOrigin</a> setting the CORS flag too late.
|
|
Some browsers require it be set before an image source is set.
|
|
</li>
|
|
<li>
|
|
Fixed a bug in recent Chrome browsers and Edge where shift-scroll-wheel did not scroll horizontally.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.22</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed lack of jump-over or jump-gap when link routes have only two points.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.21</h4>
|
|
<ul>
|
|
<li>
|
|
Overviews are notified at the end of animations, in case they need to update their bounding box.
|
|
</li>
|
|
<li>
|
|
Fixed a scrollbar issue when using initalAutoScale and resetting the diagram or loading a new model.
|
|
</li>
|
|
<li>
|
|
Fixed link label positioning in certain cases where <a>GraphObject.alignmentFocus</a> and <a>GraphObject.segmentOrientation</a> are both set.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.20</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed a measuring issue with <a>GraphObject.desiredSize</a> when the old size matches the new size.
|
|
</li>
|
|
<li>
|
|
Fixed an animation issue with Group subgraph collapsing, when the member Nodes have a locationSpot set.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.19</h4>
|
|
<ul>
|
|
<li>
|
|
<a>Shape</a>s with a custom <a>Geometry</a> no longer lose their custom geometry when <a>GraphObject.desiredSize</a> is set to NaN.
|
|
Shapes also rebuild custom geometries more accurately when reshaped or scaled.
|
|
</li>
|
|
<li>
|
|
A <a>Group</a> whose <a>Group.layout</a>is a <a>LayeredDigraphLayout</a> is less likely to move after repeated cycles of collapsing and expanding.
|
|
</li>
|
|
<li>
|
|
Fixed an animation issue when there are multiple animations bundled together, and the last one does not add any animatable parts.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.18</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed <a>CommandHandler.scrollToPart</a> exception when called both before and after calling <a>CommandHandler.deleteSelection</a>.
|
|
</li>
|
|
<li>
|
|
Fixed rare infinite loop in <a>LayeredDigraphLayout</a> involving multiple links between nodes with multiple ports.
|
|
</li>
|
|
<li>
|
|
Updated <a href="../extensions/TableLayout.js">TableLayout.js</a> extension to take the <a>Layout.arrangementOrigin</a> into account.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.17</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed a <a>InputEvent.clickCount</a> values during mouseDown operations in IE10 and 11. This was already correct for mouseUp.
|
|
</li>
|
|
<li>
|
|
Fixed an issue with Table Panel spacing when <a>Panel.defaultRowSeparatorStroke</a> and <a>Panel.defaultColumnSeparatorStroke</a>
|
|
were set, and there is not enough room to display all rows/columns.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.16</h4>
|
|
<ul>
|
|
<li>
|
|
Scrollbar fixes for RTL langauges.
|
|
</li>
|
|
<li>
|
|
<a>TextBlock.textAlign</a> values "start" and "end" now correctly interpret the alignment value when Diagrams divs have direction: RTL set in their CSS.
|
|
</li>
|
|
<li>
|
|
Fix for Table Panel when panel elements had Horizontal or Vertical stretch, but not enough room.
|
|
The stretch had affected sizing in the wrong direction.
|
|
</li>
|
|
<li>
|
|
Fixed line dash drawing (Use of <a>Shape.strokeDashArray</a> and <a>Shape.strokeDashOffset</a>), a regression from 1.6.13.
|
|
</li>
|
|
<li>
|
|
Fixed routing of links connecting with non-visible ports, a regression from 1.6.12.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.15</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed some image loading scenarios when a <a>Picture</a> had no desiredSize set in a template, but a data-bound desiredSize.
|
|
</li>
|
|
<li>
|
|
Stopped <a>Shape.geometry</a> from being scaled to zero during panel measurement.
|
|
</li>
|
|
<li>
|
|
Fixed a null reference error when pasting a collection of Nodes and orthogonal JumpOver/JumpGap Links where some of
|
|
the Links were needed to be deleted because they did not have connections on both ends.
|
|
</li>
|
|
<li>
|
|
Fixed an issue where location bindings could potentially have side effects leading to improperly-measured Parts.
|
|
</li>
|
|
<li>
|
|
Disallowed animations from starting when there is nothing to animate.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.14</h4>
|
|
<ul>
|
|
<li>
|
|
Improved the time when a Diagram receives focus, fixing the change made in 1.6.13, so that the <a>ToolManager</a>
|
|
gives the focus to the diagram just before starting an eligible <a>Tool</a>, rather than just after it.
|
|
This allows tools and event handlers to give focus to other HTML elements, while still not having the
|
|
diagram get focus on the mouse down event of a click.
|
|
</li>
|
|
<li>
|
|
Browser mousemove events over the Diagram now bubble appropriately.
|
|
</li>
|
|
<li>
|
|
If a Tooltip or Context Menu <a>Adornment</a> has a <a>Placeholder</a>, the placeholder's scale now changes with the <a>Diagram.scale</a>.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.13</h4>
|
|
<ul>
|
|
<li>Renamed the TypeScript definition file from <code>release/goJS.d.ts</code> to <code>release/go.d.ts</code>.</li>
|
|
<li>Auto panels with a <a>GraphObject.desiredSize</a> set now account for <a>Shape.strokeWidth</a> if their main object is a Shape.</li>
|
|
<li>Fixed mouseUp erroneously blocking bubbling.</li>
|
|
<li>Fixed some touchMove events erroneously bubbling, causing the page to pan while. This behavior began in 1.6.5.</li>
|
|
<li>
|
|
Improved how often <a>Adornment</a>s get updated. They are now removed if the <a>Adornment.adornedObject</a>
|
|
is removed from the <a>Part</a>. They are now updated during the operation of <a>DraggingTool</a> and other Tools.
|
|
</li>
|
|
<li>
|
|
Changed when Diagrams receive browser focus. Diagram DOM elements are now focused on mouseUp/touchEnd, or when a tool starts.
|
|
Previously it was on mouseDown/touchStart. This is to ensure clicks and touches occur at the appropriate location before
|
|
the browser scrolls to focus Diagram elements when the Diagram receives focus.
|
|
</li>
|
|
<li>
|
|
Fixed spurious caution about inability to route the <a>LinkingBaseTool.temporaryLink</a> the first time the user tries to draw a new link.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.12</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed <a>Binding.ofObject</a> to evaluate more frequently when the source property is the empty string.
|
|
Remember that Bindings with a source property that is an empty string should only used when necessary,
|
|
because they get evaluated whenever any settable property on the source object is modified,
|
|
which may include many times when the conversion function returns the same value.
|
|
</li>
|
|
<li>
|
|
Fixed some links incorrectly invalidating at the end of an animation.
|
|
</li>
|
|
<li>
|
|
Corrected some cosmetic animations that were leaving state collapsed when repeated animations were successively called.
|
|
</li>
|
|
<li>
|
|
Reduced NaN errors when trying to route a <a>Link</a> connecting with a port element that is not <a>GraphObject.visible</a>.
|
|
</li>
|
|
<li><a>Overview</a>s will now respect custom pixel ratios.</li>
|
|
<li>Fixed Picture alignment when <a>Picture.imageStretch</a> is set.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.11</h4>
|
|
<ul>
|
|
<li>Improved loading for Pattern Brushes.</li>
|
|
<li><a>Diagram.makeSvg</a> now handles Pattern Brushes.</li>
|
|
<li>Fixed a bug introduced in 1.6.5 where some Key presses unintentionally bubbled.</li>
|
|
<li>Fixed an issue with setting location not always updating the diagram.</li>
|
|
<li>Improved event handling on devices that use Pointer events (e.g., Microsoft Surface)</li>
|
|
<li>
|
|
Added the <a href="../extensions/OrthogonalLinkReshaping.html" target="_blank">OrthogonalLinkReshapingTool</a> extension.
|
|
See <a href="../extensions/OrthogonalLinkReshapingTool.js" target="_blank">OrthogonalLinkReshapingTool.js</a> for the extension's code.
|
|
This extension can be used to allow for dragging of an entire orthogonal link segment, allowing for quick reshaping without needing to drag points.
|
|
</li>
|
|
<li>Improved orientation of Link Adornments along segments where both endpoints have the same location.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.10</h4>
|
|
<ul>
|
|
<li>Fixed an SVG rendering bug that was introduced in 1.6.8.</li>
|
|
<li><a>Shape.geometryString</a> setter no longer offsets the position, instead it sets it, always overwriting the old position.</li>
|
|
<li>Extended <a>Tool.standardMouseClick</a> to return a boolean, true if <a>InputEvent.handled</a> had been set to true by an event handler.</li>
|
|
<li>Fixed <a>ContextMenuTool</a> not to show a context menu <a>Adornment</a> if a <a>GraphObject.contextClick</a> or <a>Diagram.contextClick</a> event handler set <a>InputEvent.handled</a> to true.</li>
|
|
<li>Fixed mouse move events on IE9.</li>
|
|
<li>Fixed an infrequent scrolling issue sometimes seen at the edges of a Diagram.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.9</h4>
|
|
<ul>
|
|
<li>Fixes and improvements to samples.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.8</h4>
|
|
<ul>
|
|
<li>Fixed how <a>Diagram.findNodesByExample</a> and <a>Diagram.findLinksByExample</a> compared Arrays</li>
|
|
<li>Fixed link routing in some cases where there was a TwoWay <a>Binding</a> on <a>Link.points</a> with non-trivial conversions.</li>
|
|
<li>Improved link routing when <a>Link.adjusting</a> is <a>Link.Scale</a> after the route is computed to be less than one unit long.</li>
|
|
<li>Fixed unintended modification of model data involving TwoWay <a>Binding</a>s upon an undo after calling or causing <a>Diagram.rebuildParts</a>.</li>
|
|
<li>Fixed rare cases of wrong link routes after undo of a drag.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.7</h4>
|
|
<ul>
|
|
<li>Extended the <a>ContextMenuTool</a> to work on a right-mouse-down event if the tool is in the <a>ToolManager.mouseDownTools</a> list.</li>
|
|
<li>Changed how the main <a>Shape</a>s of <a>Link</a>s are measured to be more accurate. This may cause Links to have different position and location values than before.</li>
|
|
<li>Fixed a collapse animation bug when rolling back transactions.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.6</h4>
|
|
<ul>
|
|
<li>Fixed a bug with text measurement when using <a>TextBlock.OverflowEllipsis</a>.</li>
|
|
<li>Fixed a bug with Link geometry construction when switching templates.</li>
|
|
<li>Groups no longer try to update their own bounds when containing links are modified, so long as <a>Group.computesBoundsIncludingLinks</a> is set to false.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.5</h4>
|
|
<ul>
|
|
<li>Fixed updating of a link geometry when modifying <a>Link.curve</a> or <a>Link.curviness</a>.</li>
|
|
<li>MouseMove events now bubble by default, unless a tool other than the <a>ToolManager</a> is the <a>Diagram.currentTool</a>.</li>
|
|
<li>Fixed the invalidation of custom geometries of <a>Shape</a>s.</li>
|
|
<li>Reduced the shifting of <a>Group</a>s that have a <a>LayeredDigraphLayout</a> as the <a>Group.layout</a> upon repeated collapse/expand.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.4</h4>
|
|
<ul>
|
|
<li>Wheel scrolling now respects <a>Diagram.allowHorizontalScroll</a> and <a>Diagram.allowVerticalScroll</a> in all code paths.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.3</h4>
|
|
<ul>
|
|
<li>Fixed an exception in <a>CommandHandler.showContextMenu</a> when passed an argument.</li>
|
|
<li>Fixed adornment invalidation when a Part switches from a visible layer to an invisible one.</li>
|
|
<li>Smoothed <a>Diagram.scale</a> animations.</li>
|
|
<li>On Mac Trackpads, users can now scroll horizontally as well as vertically.</li>
|
|
<li>Improved some samples.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.2</h4>
|
|
<ul>
|
|
<li>Added the <a href="../extensions/DataInspector.html" target="_blank">Data Inspector</a> sample, a simple drop-in for inspecting and editing Part data.</li>
|
|
<li>Fixed some cases of testing for points being within quadratic bezier curve geometries.</li>
|
|
<li>The <a>ContextMenuTool</a> now supports tooltips for all objects in a context menu <a>Adornment</a>.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6.1</h4>
|
|
<ul>
|
|
<li>Fixed an exception in <code>go-debug.js</code> involving a name conflict caused by minification.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.6 since 1.5.*</h4>
|
|
|
|
<div style="border: 2px solid #1F4963; padding: 6px; margin-bottom: 30px;">
|
|
<p>GoJS version 1.6 brings several new features and samples. Here are some highlights:</p>
|
|
<ul>
|
|
<li>Z-ordering within <a>Layer</a>s by setting or binding the new <a>Part.zOrder</a> property.</li>
|
|
<li>Animations for tree and <a>Group</a> collapse, and animation of <a>Diagram.position</a> with <a>CommandHandler.scrollToPart</a>.</li>
|
|
<li><a>Link</a>s can now have automatically determined keys if you set the <a>GraphLinksModel.linkKeyProperty</a>.</li>
|
|
<li>You can now send and receive incremental changes to a database instead of sending the whole model,
|
|
with <a>Model.toIncrementalJson</a> and <a>Model.applyIncrementalJson</a>.</li>
|
|
<li>Tooltips are now shown on touch devices when the user clicks on an object with a <a>GraphObject.toolTip</a>
|
|
or in the diagram background when <a>Diagram.toolTip</a> is an <a>Adornment</a>.</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<p>The complete list of changes:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<b>Samples and documentation:</b>
|
|
<ul>
|
|
<li>
|
|
Changed the <a href="../extensions/CheckBoxes.html" target="_blank">CheckBoxes</a> sample to make use of the
|
|
newly predefined "CheckBox" panel. Note the renaming from the old sample's "CheckBoxPanel" to the predefined "CheckBox".
|
|
Another change is that "CheckBox" now respects <a>Diagram.isReadOnly</a> and <a>Model.isReadOnly</a>.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/leaflet.html" target="_blank">Leaflet and GoJS</a> sample,
|
|
demonstrating how to integrate GoJS Diagrams with a mapping library (LeafletJS). The sample shows nodes placed at latitude and longitude locations, depicting train stations and connections on the map.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/absolute.html" target="_blank">Absolute Positioning</a> sample,
|
|
demonstrating how a diagram can be made <em>not</em> to scroll or pan or zoom,
|
|
and to disallow dragging parts outside of a fixed area.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/adornmentButtons.html" target="_blank">Adornment Buttons</a> sample,
|
|
demonstrating showing buttons when a node is selected.
|
|
The buttons can invoke commands with clicks or start tools with drags.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/doubleCircle.html" target="_blank">Double Circle</a> sample,
|
|
demonstrating how to use repeated <a>CircularLayout</a>s to arrange any number of concentric circles of nodes.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/dragUnoccupied.html" target="_blank">Drag Unoccupied</a> sample,
|
|
demonstrating how to customize the <a>Part.dragComputation</a> property so that the user cannot
|
|
drag nodes to overlap any stationary nodes.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/faultTree.html" target="_blank">Fault Tree</a> sample.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/pathAnimation.html" target="_blank">Path Animation</a> sample,
|
|
demonstrating how to animate the traversal of some number of Parts along straight Links.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/radialPartition.html" target="_blank">Radial Partition</a> sample,
|
|
demonstrating how to arrange nodes in segmented rings about a central node.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/relationships.html" target="_blank">Relationships</a> sample,
|
|
demonstrating how to define custom link renderings by using <a>Shape.pathPattern</a> as a repeating pattern along a Shape stroke path.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/stateChartIncremental.html" target="_blank">State Chart Incremental</a> sample,
|
|
demonstrating how to save and replay incremental changes when <a>ChangedEvent.isTransactionFinished</a>
|
|
rather than sending or receiving a whole <a>Model</a>.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/systemDynamics.html" target="_blank">System Dynamics</a> sample,
|
|
demonstrating a modal editing interface, draggable labels, and multiple node and link templates.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/treeMapper.html" target="_blank">Tree Mapper</a> sample,
|
|
demonstrating how to show and allow the user to edit the relationships between nodes in two different trees.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/CurvedLinkReshaping.html" target="_blank">Simple Curved Link Reshaping Tool</a> sample,
|
|
demonstrating a custom <a>LinkReshapingTool</a> having Bezier curve links be reshaped using only a single reshape handle at the middle
|
|
rather than two reshape handles, one at each control point.
|
|
The CurvedLinkReshapingTool is defined in the <a href="../extensions/CurvedLinkReshapingTool.js">CurvedLinkReshapingTool.js</a>
|
|
file in the Extensions directory.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/Dimensioning.html" target="_blank">Dimensioning</a> sample,
|
|
demonstrating a custom <a>Link</a> that shows the distance between two spots on the connected nodes.
|
|
The DimensioningLink class is defined in the <a href="../extensions/DimensioningLink.js">DimensioningLink.js</a>
|
|
file in the Extensions directory.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/LocalStorageCommandHandler.js" target="_blank">LocalStorageCommandHandler.js</a> file,
|
|
implementing the <a>CommandHandler</a>'s clipboard in HTML <code>localStorage</code>.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/SnapLinkReshaping.html" target="_blank">Snap Link Reshaping Tool</a> sample,
|
|
demonstrating a custom <a>LinkReshapingTool</a> that snaps link route points to grid points.
|
|
The SnapLinkReshapingTool defined in the <a href="../extensions/SnapLinkReshapingTool.js">SnapLinkReshapingTool.js</a>
|
|
file in the Extensions directory.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Diagram and Layer:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>Diagram.addModelChangedListener</a> and <a>Diagram.removeModelChangedListener</a>,
|
|
for declaring <a>Model</a> <a>ChangedEvent</a> listeners on the Diagram.
|
|
The Diagram automatically passes these listeners in calls to <a>Model.removeChangedListener</a> (on the old model)
|
|
and <a>Model.addChangedListener</a> (on the new model) when the <a>Diagram.model</a> is replaced,
|
|
which can be important to avoid retaining references to objects that should be garbage collected.
|
|
A Model Changed event listener can also be established when initializing a Diagram:
|
|
<pre>
|
|
$(go.Diagram, "myDiagram",
|
|
{
|
|
. . .,
|
|
"ModelChanged": function(e) { if (e.isTransactionFinished) saveModel(); },
|
|
. . .
|
|
});
|
|
</pre>
|
|
The listener will be called even if the <a>Diagram.model</a> has been replaced.
|
|
</li>
|
|
<li>
|
|
Added "document" as a new kind of unit argument to <a>Diagram.scroll</a>, called by the <a>CommandHandler</a>
|
|
when handling the <code>Home</code> and <code>End</code> keys.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Animation:</b>
|
|
<ul>
|
|
<li>
|
|
Collapsing Groups and trees now animate. Specifically, these four commands animate:
|
|
<a>CommandHandler.collapseTree</a>, <a>CommandHandler.expandTree</a>,
|
|
<a>CommandHandler.collapseSubGraph</a>, <a>CommandHandler.expandSubGraph</a>.
|
|
</li>
|
|
<li>
|
|
Scrolling will animate when using <a>CommandHandler.scrollToPart</a>.
|
|
</li>
|
|
<li>
|
|
Added <a>AnimationManager.isInitial</a>, which determines whether an animation is performed on an initial layout.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Parts:</b>
|
|
<ul>
|
|
<li>
|
|
Added the <a>Part.zOrder</a> property, which defaults to NaN and controls the the Z-ordering position
|
|
of Parts when set to a real number.
|
|
</li>
|
|
<li>
|
|
Documented several methods that have been present in previous versions but had not been documented.
|
|
These methods are now overridable to customize the routing of links:
|
|
<ul>
|
|
<li><a>Link.computePoints</a></li>
|
|
<li><a>Link.computeOtherPoint</a></li>
|
|
<li><a>Link.computeEndSegmentLength</a></li>
|
|
<li><a>Link.computeSpot</a></li>
|
|
<li><a>Link.computeCurve</a></li>
|
|
<li><a>Link.hasCurviness</a></li>
|
|
<li><a>Link.computeCurviness</a></li>
|
|
<li><a>Link.computeSpacing</a></li>
|
|
<li><a>Link.computeThickness</a></li>
|
|
<li><a>Link.makeGeometry</a></li>
|
|
</ul>
|
|
These methods may be called within an override of <a>Link.computePoints</a> in order to build the desired route:
|
|
<ul>
|
|
<li><a>Link.clearPoints</a></li>
|
|
<li><a>Link.addPoint</a></li>
|
|
<li><a>Link.insertPoint</a></li>
|
|
<li><a>Link.removePoint</a></li>
|
|
<li><a>Link.setPoint</a></li>
|
|
</ul>
|
|
These methods may be called in unusual situations:
|
|
<ul>
|
|
<li><a>Link.invalidateRoute</a>, to cause link routes to be recomputed via a call to <a>Link.updateRoute</a></li>
|
|
<li><a>Link.updateRoute</a>, to call <a>Link.computePoints</a> if the link route is invalid</li>
|
|
<li><a>Part.ensureBounds</a>, to measure and arrange the part's visual tree and
|
|
make sure that the width and height are real numbers</li>
|
|
</ul>
|
|
Search the samples for example uses of these methods.
|
|
</li>
|
|
<li>
|
|
<b>Minor change:</b> Multiple links between the same pair of ports now route with a bit more space between them,
|
|
and possibly in a different order than before.
|
|
The routing now accounts for a mid-label object, if present, to reduce their overlap.
|
|
Setting or binding the <a>Link.curviness</a> to a real number results in routes that
|
|
are unaffected by this change or by other links.
|
|
</li>
|
|
<li>
|
|
Extended the functionality of the <a>Node.linkConnected</a> event handler to support access to a new <a>Link</a>'s data.
|
|
</li>
|
|
<li>
|
|
Extended <a>GraphObject.alignmentFocus</a> to permit the value of <a>Spot.None</a> when the object is a <a>Node</a>.
|
|
This may be set on link label nodes to indicate to the node's <a>Node.labeledLink</a> that it should use the node's
|
|
<a>Node.location</a> as the alignment point in the node instead of the normal <a>GraphObject.alignmentFocus</a>.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>GraphObjects and Geometry:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>GraphObject.shadowVisible</a> to control on a per-GraphObject basis whether or not a shadow will be drawn.
|
|
</li>
|
|
<li>
|
|
Added the "CheckBox" and "CheckBoxButton" predefined Panels.
|
|
The "CheckBox" panel is composed of a "CheckBoxButton" and whatever you want to use as a label.
|
|
The definitions are shown in the <a href="../extensions/Buttons.js">Buttons.js</a> file in the Extensions directory.
|
|
Various configurations of CheckBoxes are shown in the
|
|
<a href="../extensions/CheckBoxes.html" target="_blank">CheckBoxes</a> sample.
|
|
</li>
|
|
<li>
|
|
Added the <a>Panel.findItemPanelForData</a> method,
|
|
to efficiently find the <a>Panel</a> created for an Object in the <a>Panel.itemArray</a>.
|
|
</li>
|
|
<li>
|
|
Fixed the predefined "PanelExpanderButton" to respect the <a>Diagram.isReadOnly</a> property.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Models:</b>
|
|
<ul>
|
|
<li>
|
|
Added optional support for automatically maintaining unique identifiers on link data.
|
|
Added the <a>GraphLinksModel.linkKeyProperty</a> property, which defaults to the empty string,
|
|
meaning do <i>NOT</i> assign unique ids to links, which is compatible with previous non-behavior.
|
|
</li>
|
|
<li>
|
|
Added the following methods:
|
|
<a>GraphLinksModel.getKeyForLinkData</a>, <a>GraphLinksModel.setKeyForLinkData</a>,
|
|
<a>GraphLinksModel.findLinkDataForKey</a>, <a>GraphLinksModel.makeLinkDataKeyUnique</a>.
|
|
Added the <a>GraphLinksModel.makeUniqueLinkKeyFunction</a> property,
|
|
for customizing the assignment of unique identifiers.
|
|
</li>
|
|
<li>
|
|
Added <a>Model.toIncrementalJson</a> and <a>Model.applyIncrementalJson</a> methods,
|
|
to make it easier to send incremental changes to a database instead of sending a whole model.
|
|
Their use for a <a>GraphLinksModel</a> requires the assignment of unique identifiers to link data,
|
|
so you will need to set <a>GraphLinksModel.linkKeyProperty</a> to the name of a link data property.
|
|
</li>
|
|
<li>
|
|
Added the <a>Model.copy</a> method, which makes an <em>empty</em> copy of a model.
|
|
Model properties are copied but data and Change listeners are not copied.
|
|
Also added the <a>Model.cloneProtected</a> overridable method so that properties that
|
|
are added to custom models can be automatically copied.
|
|
</li>
|
|
<li>
|
|
<a>Model.copyNodeData</a> and <a>GraphLinksModel.copyLinkData</a> now copy property values that are
|
|
of type <a>Point</a>, <a>Size</a>, <a>Rect</a>, <a>Margin</a>, or <a>Spot</a>.
|
|
If you had supplied a custom <a>Model.copyNodeDataFunction</a> or <a>GraphLinksModel.copyLinkDataFunction</a>,
|
|
its behavior is unaffected.
|
|
</li>
|
|
<li>
|
|
Models now read and write property values that are predefined enumerated values,
|
|
such as <a>Link.Orthogonal</a> or <a>TextBlock.WrapDesiredSize</a>.
|
|
The Binding conversion functions <a>Binding.parseEnum</a> and <a>Binding.toString</a>
|
|
are no longer necessary for converting EnumValues to and from strings,
|
|
but they are still suggested in order to reduce the size of the corresponding JSON-formatted text renderings,
|
|
just as using <a>Point.parse</a> and <a>Point.stringify</a> are suggested for binding
|
|
conversions of <a>Point</a> values when you expect to use <a>Model.toJson</a> and <a>Model.fromJson</a>.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Layouts:</b>
|
|
<ul>
|
|
<li>
|
|
Added the overridable method <a>Layout.cloneProtected</a>,
|
|
to support the automatic copying of properties that are added in custom <a>Layout</a> classes.
|
|
</li>
|
|
<li>
|
|
When there are multiple roots, <a>TreeLayout</a> now arranges the trees respecting
|
|
<a>TreeLayout.sorting</a> and <a>TreeLayout.comparer</a>.
|
|
</li>
|
|
<li>
|
|
Improved <a>LayeredDigraphLayout</a> to better support routing of links from/to the sides of nodes.
|
|
Just set <a>LayeredDigraphLayout.setsPortSpots</a> to false and set the nodes' <a>GraphObject.fromSpot</a>
|
|
to be <code>Spot.RightSide</code> and their <a>GraphObject.toSpot</a> to be <code>Spot.LeftSide</code>
|
|
(assuming the <a>LayeredDigraphLayout.direction</a> is zero).
|
|
If you do not want the "backwards" cycle-producing links to be routed "around" nodes,
|
|
set <a>LayeredDigraphLayout.setsPortSpots</a> to false and set both the <a>GraphObject.fromSpot</a>
|
|
and <a>GraphObject.toSpot</a> on the nodes to be <code>Spot.TopBottomSides</code>
|
|
(assuming the <a>LayeredDigraphLayout.direction</a> is 90).
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Tools and Commands:</b>
|
|
<ul>
|
|
<li>
|
|
Added the ScrollToPart command, <a>CommandHandler.scrollToPart</a> and <a>CommandHandler.canScrollToPart</a>.
|
|
This can be invoked with the Space key to scroll the diagram to show the first Part in the highlighteds or selection collection.
|
|
Call it repeatedly to cycle through the collection, scrolling to each in turn.
|
|
<a>CommandHandler.scrollToPart</a> can also be called with any Part in the Diagram in order to scroll it into view.
|
|
</li>
|
|
<li>
|
|
Added the <a>CommandHandler.deletesConnectedLinks</a> property, to control whether deleting a <a>Node</a>
|
|
automatically deletes all <a>Link</a>s that are connected with that Node.
|
|
The default value is true.
|
|
</li>
|
|
<li>
|
|
Added <a>ToolManager.toolTipDuration</a>, to control how long to show a tool tip <a>Adornment</a> for
|
|
a GraphObject or the Diagram after being motionless.
|
|
<b style="color:red;">Change:</b> ToolTips now hide themselves by default after 5000 milliseconds,
|
|
whereas they had remained visible forever as long as the mouse remained stationary.
|
|
</li>
|
|
<li>
|
|
Tool Tips are now shown on touch devices when the user clicks on an object with a <a>GraphObject.toolTip</a>
|
|
or in the diagram background when <a>Diagram.toolTip</a> is an Adornment.
|
|
</li>
|
|
<li>
|
|
Fixed the <a>DraggingTool</a> to provide an empty <a>Set</a> as the <a>DiagramEvent.subject</a>
|
|
when an external drag-and-drop is cancelled during a drop.
|
|
</li>
|
|
<li>
|
|
Fixed <a>DraggingTool.canStart</a> to return false for diagrams that are <a>Diagram.isReadOnly</a>
|
|
unless <a>Diagram.allowDragOut</a> is true. This prevents the tool from running within read-only diagrams,
|
|
other than in <a>Palette</a>s and other diagrams where users will be dragging out of the diagram.
|
|
</li>
|
|
<li>
|
|
When <a>ContextMenuTool</a> handles a second click that is also a context click,
|
|
it may show another context menu if it is over another valid target.
|
|
</li>
|
|
<li>
|
|
The default values of <a>ToolManager.hoverDelay</a> and <a>ToolManager.holdDelay</a> have both been reduced from 1000 to 850 milliseconds.
|
|
</li>
|
|
<li>
|
|
<a>Tool.standardWaitAfter</a> now has a second, optional argument. When it exists it is the <a>InputEvent</a> that caused standardWaitAfter.
|
|
This event is passed on to <a>Tool.doWaitAfter</a>. The override, <a>ToolManager.doWaitAfter</a>, is now what handles long taps on mobile devices and emits a simulated right-click.
|
|
Long-taps simulating a right click has been part of GoJS for some time, but can now be overridden.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<hr class="changelog" />
|
|
|
|
<h4>Changes for 1.5.23</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed changing <a>GraphObject.segmentOrientation</a> of a Link label back to <a>Link.None</a>
|
|
not resetting the <a>GraphObject.angle</a> back to zero.
|
|
</li>
|
|
<li>
|
|
Fixed <a>Tool.findToolHandleAt</a> to support tool handles that are <a>Panel</a>s, not only simple <a>Shape</a>s.
|
|
All tool handles are elements of <a>Adornment</a>s.
|
|
</li>
|
|
<li>
|
|
Fixed <a>LinkReshapingTool</a> not to cause an exception if for some reason it is unable
|
|
to <a>Tool.findToolHandleAt</a> the new handle created by dragging a resegmenting tool handle.
|
|
</li>
|
|
<li>
|
|
DOM Input Events to the <a>TextEditingTool</a>'s default tool now check if the TextEditingTool is still running.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.22</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed a zoom bug introduced in 1.5.21.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.21</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed changing <a>Diagram.scale</a> causing an error for some values of <a>Diagram.contentAlignment</a>.
|
|
</li>
|
|
<li>
|
|
Improved the <a>TextEditingTool</a> to scroll the edited <a>TextBlock</a> into view, not the whole <a>Part</a> holding the TextBlock.
|
|
</li>
|
|
<li>
|
|
Fixed <a>Model.setKeyForNodeData</a> to update link data references (regression) in <a>GraphLinksModel</a>s.
|
|
</li>
|
|
<li>
|
|
Fixed an aspect-ratio issue when using <a>Diagram.makeSvg</a> with <a>Picture</a>s.
|
|
Fixed a related issue when using <a>Picture.sourcerect</a> with <a>Diagram.makeSvg</a>.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.20</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed <a>TextBlock.OverflowEllipsis</a> sometimes not displaying ellipses when a height was set on the TextBlock.
|
|
</li>
|
|
<li>
|
|
Fixed routing of links with <a>Link.adjusting</a> being <a>Link.Scale</a> or <a>Link.Stretch</a> sometimes resulting in straight lines.
|
|
</li>
|
|
<li>
|
|
Fixed <a>TreeLayout</a> not respecting <a>Part.isLayoutPositioned</a> set to false on Comment Nodes (Nodes with the category "Comment").
|
|
</li>
|
|
<li>
|
|
Text rendering improvements.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.19</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed error when operating in PhantomJS environment.
|
|
</li>
|
|
<li>
|
|
Fixed handling of control characters in text strings by <a>Model.toJson</a>.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.18</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed <a>Diagram.alignDocument</a> when scrolling the current screen out of view.
|
|
</li>
|
|
<li>
|
|
Fixed round-off errors in <a>GridLayout</a> positioning of nodes when <a>GridLayout.alignment</a> is <a>GridLayout.Location</a>.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.16 and 1.5.17</h4>
|
|
<ul>
|
|
<li>
|
|
In CommonJS environments, set <code>module.exports</code> as well as <code>window.module.exports</code>, in case they are different objects.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.15</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed zero-sized Arc <a>PathSegment</a>s.
|
|
</li>
|
|
<li>
|
|
Ensured Groups with Placeholders always recalculate their bounds when collapsed or expanded.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.14</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed <a>Picture.element</a> property setter to allow null.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.13</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed <a>GraphObject.isActionable</a> items being erroneously clickable through other non-actionable Parts.
|
|
</li>
|
|
<li>
|
|
<a>Diagram.makeSvg</a> now uses globally unique identifiers for its elements so that SVG from makeSvg can be used multiple times in the same page.
|
|
</li>
|
|
<li>
|
|
Fixed <a>DraggingTool</a> movement of a <a>Node</a> with a half-connected <a>Link</a> when <a>DraggingTool.isGridSnapEnabled</a> is true.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.12</h4>
|
|
<ul>
|
|
<li>
|
|
The <a>TextEditingTool.selectsTextOnActivate</a> now selects text on iOS Safari.
|
|
</li>
|
|
<li>
|
|
Fixed the <a>Part.containingGroup</a> of reflexive member <a>Link</a>s.
|
|
</li>
|
|
<li>
|
|
Fixed the loading of <a>Link</a> routes via a <a>Binding</a> on <a>Link.points</a> when the Links were connected with a <a>Group</a>.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.11</h4>
|
|
<ul>
|
|
<li>
|
|
Fixes for location data binding when animation is enabled.
|
|
</li>
|
|
<li>
|
|
Provisional fix for OSX scrollbars when invisible by default. Functionality may change in future releases.
|
|
</li>
|
|
<li>
|
|
Fixed <a>ResizingTool</a> when resizing a Group with reflexive links.
|
|
</li>
|
|
<li>
|
|
The <a>TextEditingTool</a> more accurately predicts the editable area for text.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.10</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed the way <a>PathSegment.Arc</a>s are calculated and approximated.
|
|
This will change computed bounds and hit-testing, which now correctly reflect drawn arcs,
|
|
but the bounds changes may cause incompatibilities in apps that depend on the old approximations.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.9</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed an undo/redo bug with <a>Part.location</a> and <a>GraphObject.position</a>.
|
|
</li>
|
|
<li>
|
|
Fixed Picture optimizations to work with <a>Picture.sourceRect</a>
|
|
</li>
|
|
<li>
|
|
Fixed the <a>TextEditingTool</a> inserting newlines into TextBlocks with <a>TextBlock.isMultiLine</a> set to false, when a validation function was present.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.8</h4>
|
|
<ul>
|
|
<li>
|
|
Improved the TypeScript definition file, <a href="../release/go.d.ts">go.d.ts</a>,
|
|
fixing some typos, changing some <b>Object</b> types to be <b>any</b> for easier usage.
|
|
</li>
|
|
<li>
|
|
Fixed <a>DraggingTool</a> when <a>DraggingTool.dragsLink</a> is true and when dragging a <a>Link</a>
|
|
to respect <a>LinkingBaseTool.isValidLink</a> on the <a>RelinkingTool</a>.
|
|
</li>
|
|
<li>
|
|
Fixed <a>TextBlock</a> rendering in some ellipses cases.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.7</h4>
|
|
<ul>
|
|
<li>
|
|
Added an Introduction page just for <a href="../intro/changedEvents.html">Changed Events</a>.
|
|
</li>
|
|
<li>
|
|
Fixed <a>Iterator.next</a> to continue returning false once it has already returned false.
|
|
</li>
|
|
<li>
|
|
Overviews now respect <a>Layer.opacity</a>
|
|
</li>
|
|
<li>
|
|
Successive calls to <a>CommandHandler.editTextBlock</a> now correctly switch the TextBlock.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.6</h4>
|
|
<ul>
|
|
<li>
|
|
Changed default behavior of <a>LayoutNetwork.commitLayout</a> to call <a>LayoutVertex.commit</a> on each vertex in the layout.
|
|
Previous behavior was to do nothing, but all predefined layouts that used <a>LayoutNetwork</a> already had overrides of this method.
|
|
The new behavior is convenient for the implementation of simple custom <a>Layout</a>s that use networks.
|
|
The new behavior does not affect custom layouts that do not use networks.
|
|
</li>
|
|
<li>
|
|
Fixed <a>GraphObject.getDocumentAngle</a> sometimes returning 0 when it should return 180.
|
|
</li>
|
|
<li>
|
|
Fixed text rendering when both <a>TextBlock.isUnderline</a> and <a>TextBlock.isStrikethrough</a> are true with all values of <a>TextBlock.textAlign</a>.
|
|
</li>
|
|
<li>
|
|
Fixed export of <a>LinkReshapingTool.setReshapingBehavior</a> and <a>LinkReshapingTool.getReshapingBehavior</a>.
|
|
</li>
|
|
<li>
|
|
Fixed <a>Model.fromJson</a> reading solid color <a>Brush</a>es, when they are not just strings.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.5</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../extensions/CheckBoxes.html" target="_blank">CheckBoxes</a> sample,
|
|
demonstrating how to define a "check box" and how to customize them.
|
|
</li>
|
|
<li>
|
|
Added the static method <a>GraphObject.takeBuilderArgument</a>, for use by <a>GraphObject.defineBuilder</a> functions
|
|
for more easily retrieving builder arguments from the arguments passed to <a>GraphObject.make</a>.
|
|
</li>
|
|
<li>
|
|
Added the definitions of the predefined arrowheads to the <a href="../extensions/Arrowheads.js" target="_blank">Arrowheads.js</a> 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.
|
|
</li>
|
|
<li>
|
|
Fixed <a>TextBlock.isStrikethrough</a> to work with all values of <a>TextBlock.textAlign</a>.
|
|
</li>
|
|
<li>
|
|
Adding a Part is now undoable if its layer has changed without notifying the undo manager, such as with a "layerName":"isSelected" binding.
|
|
</li>
|
|
<li>
|
|
Fixed <a>Geometry.scale</a> and <a>Geometry.rotate</a> of <a>PathSegment</a>s that are arcs.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.4</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../extensions/RealtimeDragSelecting.html" target="_blank">Realtime Drag Selecting Tool</a> sample,
|
|
with the RealtimeDragSelectingTool defined in the <a href="../extensions/RealtimeDragSelectingTool.js">RealtimeDragSelectingTool.js</a>
|
|
in the Extensions directory.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/hoverButtons.html" target="_blank">Hover Buttons</a> sample,
|
|
demonstrating how an <a>Adornment</a> can be used to show buttons for a node when the mouse is briefly motionless over the node.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/Spiral.html" target="_blank">Spiral Layout</a> sample,
|
|
with the SpiralLayout defined in the <a href="../extensions/SpiralLayout.js">SpiralLayout.js</a> file in the Extensions directory.
|
|
</li>
|
|
<li>
|
|
Fixed <a>ContextMenuTool</a> so that any click events (<a>Tool.standardMouseClick</a>) in the <a>ContextMenuTool.currentContextMenu</a>occur on mouse-up, not mouse-down.
|
|
</li>
|
|
<li>
|
|
Reworked <a>Picture</a> code so that <a>Picture.errorfunction</a> is now called on every Picture instance in every Diagram that references an image which has had an error.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.3</h4>
|
|
<ul>
|
|
<li>
|
|
The transaction name argument to <a>UndoManager.commitTransaction</a> (or <a>Model.commitTransaction</a> or <a>Diagram.commitTransaction</a>) is now optional,
|
|
and defaults to the name given at the time of the call to <a>UndoManager.startTransaction</a>.
|
|
</li>
|
|
<li>The Backspace (Windows) or Delete (Mac) key now invokes <a>CommandHandler.deleteSelection</a> just like the Delete (Windows) or Delete-Forward (Mac) key already does.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.2</h4>
|
|
<ul>
|
|
<li>Updated the TypeScript definition file, <a href="../release/go.d.ts">go.d.ts</a>, to TypeScript version 1.4.</li>
|
|
<li>Fixed <a>Brush</a> constructor in Debug mode improperly raising error about string argument not being a valid color string.</li>
|
|
<li>Fixed a cross-origin error when using <a>Diagram.makeImageData</a> with SVG images in Internet Explorer.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5.1</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../samples/kanban.html" target="_blank">Kanban Board</a> sample,
|
|
derived from the <a href="../samples/swimLanesVertical.html" target="_blank">Swim Lanes (vertical)</a> sample.
|
|
</li>
|
|
<li>Fixed scrollbar clicking on touch-enabled devices in Chrome on Windows.</li>
|
|
<li>More graceful handling of Picture image errors.</li>
|
|
<li>Fixed bugs with undo of changed state inside Parts whose <a>Part.category</a> was later changed.</li>
|
|
<li>Stopped touch events from always calling preventDefault (touch events were impossible to bubble).</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.5 since 1.4.*</h4>
|
|
<ul>
|
|
<li>
|
|
<b>Samples and documentation:</b>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../samples/addRemoveColumns.html" target="_blank">Add or Remove Columns</a> sample,
|
|
demonstrating how columns and rows may be added to or removed from a Table Panel.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/barCharts.html" target="_blank">Bar Charts</a> sample,
|
|
demonstrating simple bar charts in each node.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/candlestickCharts.html" target="_blank">Candlestick or Range Charts</a> sample,
|
|
demonstrating a simple candlestick chart showing ranges of values in each node.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/curviness.html" target="_blank">Link Curviness</a> sample,
|
|
demonstrating how <a>Link.curviness</a> may be set or bound to bend links by different amounts.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/dataFlow.html" target="_blank">Data Flow</a> and
|
|
<a href="../samples/dataFlowVertical.html" target="_blank">Data Flow (Vertical)</a> samples,
|
|
demonstrating additional styles of having labeled ports on nodes.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/distances.html" target="_blank">Distances and Paths</a> sample,
|
|
demonstrating finding a shortest path between two nodes and also demonstrating finding all paths between two nodes.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/draggablePorts.html" target="_blank">Draggable Ports</a> sample,
|
|
demonstrating how one could use Nodes as ports within a Group to allow users to select, move, copy, and delete ports.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/interactiveForce.html" target="_blank">Interactive Force Directed</a> sample,
|
|
demonstrating a <a>ForceDirectedLayout</a> that operates continuously while the user is dragging the selection.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/magnifier.html" target="_blank">Magnifying Glass</a> sample,
|
|
demonstrating how to use an <a>Overview</a> for magnifying an area of a Diagram, with a larger <a>Diagram.scale</a>
|
|
than the observed diagram.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/multiNodePathLinks.html" target="_blank">Multi-Node Path Links</a> sample,
|
|
demonstrating a custom Link routing that results in a path that goes through various other nodes.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/multiArrow.html" target="_blank">Multiple Arrowheads</a> sample,
|
|
demonstrating how a custom orthogonal Link can draw multiple arrowheads, one at the end of each segment.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/pieCharts.html" target="_blank">Pie Charts</a> sample,
|
|
demonstrating simple pie charts in each node.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/regroupingTreeView.html" target="_blank">Regrouping Tree View</a> sample,
|
|
demonstrating one way of synchronizing a <a>TreeModel</a> in one Diagram and a <a>GraphLinksModel</a> in another Diagram,
|
|
where both models are actually sharing the same data objects.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/sankey.html" target="_blank">Sankey Diagram</a> sample,
|
|
making use of the new <a>Node.portSpreading</a> property and variable width links.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/scrollModes.html" target="_blank">Scroll Modes</a> sample,
|
|
demonstrating how "Infinite Scrolling" can work and how the <a>Diagram.positionComputation</a>
|
|
and <a>Diagram.scaleComputation</a> functional properties can be used.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/selectableFields.html" target="_blank">Selectable Fields</a> sample,
|
|
demonstrating how the fields in the Records sample may be selected by the user.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/selectablePorts.html" target="_blank">Selectable Ports</a> sample,
|
|
demonstrating how ports can be selected and deleted from nodes.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/sharedStates.html" target="_blank">Shared States</a> sample,
|
|
demonstrating one way of pretending that a node can be a member of multiple groups simultaneously.
|
|
This does not make use of <a>Group</a>s, but makes use of custom layout and dragging to accomplish the effect.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/sparklineGraphs.html" target="_blank">Sparkline Graphs</a> sample,
|
|
demonstrating simple sparkline charts within nodes.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/spreadsheet.html" target="_blank">Spreadsheet</a> sample,
|
|
demonstrating many nested Table Panels forming something like a spreadsheet grid.
|
|
</li>
|
|
<li>
|
|
Split the <a href="../samples/swimLanes.html" target="_blank">Swim Lanes</a> samples into two: horizontal
|
|
and vertical, <a href="../samples/swimLanesVertical.html" target="_blank">Swim Lanes (vertical)</a>.
|
|
Each lane (implemented by a <a>Group</a>) is collapsible and resizable and movable.
|
|
Lanes belong to "Pool" Groups. When they are moved they are re-ordered by the custom PoolLayout within the pool.
|
|
Layout within a "Lane" Group no longer happens automatically -- it only happens by calling <code>relayoutLanes()</code>.
|
|
This allows the sample to remember where users have dragged the nodes, including saving and loading to JSON text.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/timeline.html" target="_blank">Timeline</a> sample,
|
|
demonstrating a simple graduated timeline with events positioned along it by a custom layout.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/twoDiagrams.html" target="_blank">Two Diagrams</a> sample,
|
|
demonstrating how two <a>Diagram</a>s, each with its own <a>Model</a>, can share a single <a>UndoManager</a>,
|
|
to facilitate dragging between the diagrams while supporting undo/redo.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/umlClass.html" target="_blank">UML Class Diagram</a> sample,
|
|
showing an implementation of UML class nodes.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/visualTreeGrouping.html" target="_blank">Visual Tree Using Nested Groups</a> sample,
|
|
showing the visual tree of a Diagram using nested Groups rather than Nodes and Links.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../samples/scrollModes.html" target="_blank">Scroll Modes</a> sample,
|
|
showing new properties for controlling scrolling and zooming.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Added the <a href="../extensions/BalloonLink.js">Balloon Link</a> class in the Extensions directory.
|
|
The Balloon Link is used by the updated <a href="../samples/comments.html">Comments</a> sample.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/ColumnResizing.html" target="_blank">Column and Row Resizing</a> sample,
|
|
with the ColumnResizingTool and RowResizingTool defined in the
|
|
<a href="../extensions/ColumnResizingTool.js">ColumnResizingTool.js</a> and
|
|
<a href="../extensions/RowResizingTool.js">RowResizingTool.js</a> files in the Extensions directory.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/DragCreating.html" target="_blank">Drag Creating Tool</a> sample,
|
|
with the DragCreatingTool defined in the <a href="../extensions/DragCreatingTool.js">DragCreatingTool.js</a>
|
|
in the Extensions directory.
|
|
</li>
|
|
<li>
|
|
Added overrides of <a>CommandHandler.copyToClipboard</a> and <a>CommandHandler.pasteFromClipboard</a>
|
|
to the DrawCommandHandler in the Extensions directory.
|
|
Added a DrawCommandHandler.pasteOffset property to control the offset distance.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/Inspector.html" target="_blank">Inspector</a> sample,
|
|
demonstrating a general HTML component for showing and editing various property values.
|
|
The Inspector code is defined in the
|
|
<a href="../extensions/Inspector.js">Inspector.js</a> file in the Extensions directory.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/Parallel.html" target="_blank">Parallel Layout</a> sample,
|
|
with the ParallelLayout, derived from <a>TreeLayout</a>, defined in the
|
|
<a href="../extensions/ParallelLayout.js">ParallelLayout.js</a> file in the Extensions directory.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/ScrollingTable.html" target="_blank">Scrolling Table</a> sample,
|
|
with the "ScrollingTable" <a>Panel</a> defined in <a href="../extensions/ScrollingTable.js">ScrollingTable.js</a>
|
|
in the Extensions directory.
|
|
That also contains the definition of the "AutoRepeatButton" Panel, two instances of which are used by each "ScrollingTable".
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/Table.html" target="_blank">Table Layout</a> sample,
|
|
with the custom Layout defined in <a href="../extensions/TableLayout.js">TableLayout.js</a> in the Extensions directory.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/TreeMap.html" target="_blank">Tree Map Layout</a> sample,
|
|
with the layout defined in <a href="TreeMapLayout.js">TreeMapLayout.js</a> in the Extensions directory.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Moved the definitions of the predefined Buttons from the <a href="../intro/buttons.html">Introduction</a>
|
|
to the <a href="../extensions/Buttons.js" target="_blank">Buttons.js</a> file in the Extensions directory.
|
|
The predefined buttons 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 button is defined, so that you can customize them or copy-and-adapt them.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Diagram and Layer:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>Diagram.findNodesByExample</a> and <a>Diagram.findLinksByExample</a>, two methods for finding
|
|
a collection of Nodes or Links that are bound to data whose properties match the argument object's properties.
|
|
This is used by the updated <a href="../samples/orgChartStatic.html">Org Chart (static)</a> sample,
|
|
to demonstrate search capabilities.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Added <a>Diagram.scrollMode</a> property, an enum property that can be set to <a>Diagram.DocumentScroll</a>
|
|
(the default) or <a>Diagram.InfiniteScroll</a>, to allow for endless scrolling in all directions.
|
|
This is demonstrated by the new <a href="../samples/scrollModes.html" target="_blank">Scroll Modes</a> sample.
|
|
</li>
|
|
<li>
|
|
Added <a>Diagram.scrollMargin</a> property, allowing the declaration of additional scrollable area
|
|
around the <a>Diagram.documentBounds</a>.
|
|
</li>
|
|
<li>
|
|
Added <a>Diagram.positionComputation</a> property, a function that determines the <a>Diagram.position</a>
|
|
that a Diagram can be scrolled or moved to.
|
|
</li>
|
|
<li>
|
|
Added <a>Diagram.scaleComputation</a> property, a function that determines the <a>Diagram.scale</a>
|
|
that a Diagram can be zoomed to.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Added <a>Diagram.updateAllRelationshipsFromData</a>, to update the relationships between nodes in the diagram
|
|
when there have been changes to properties in the model data that hold node references (keys) without
|
|
having gone through model methods.
|
|
Like <a>Diagram.updateAllTargetBindings</a>, this is only needed for environments
|
|
where one cannot control changes to model data.
|
|
</li>
|
|
<li>
|
|
Added <a>Diagram.setProperties</a>, to set a bunch of properties in exactly the same manner that
|
|
<a>GraphObject.make</a> does when constructing a Diagram.
|
|
</li>
|
|
<li>
|
|
Removed support for ancient versions of Firefox (3.6), Opera (10, 11), and Safari (5.0).
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Parts:</b>
|
|
<ul>
|
|
<li>
|
|
<b style="color:red;">Potentially Incompatible:</b> Fixed a <a>Link</a> to be a member of a <a>Group</a>
|
|
if it connects a member node of the group with the group itself.
|
|
Such links now connect with the group from inside rather than from the outside.
|
|
<b>GoJS</b> had been inconsistent with such membership and its implications.
|
|
The behavior is demonstrated by the <a href="../samples/navigation.html">Navigation</a> sample.
|
|
</li>
|
|
<li>
|
|
Extended the <a>Link.points</a> property setter to accept not only a <a>List</a> of <a>Point</a>s and
|
|
an Array of an even number of numbers, but also an Array of Objects each of which has 'x' and 'y' properties
|
|
that are numbers.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Added <a>Node.findTreeLevel</a> method, to determine a Node's depth in a tree.
|
|
Root nodes (i.e. no <a>Node.findTreeParentLink</a>) have a level of zero.
|
|
</li>
|
|
<li>
|
|
Added <a>Node.findCommonTreeParent</a> method, to find a Node that is the closest ancestor to two Nodes,
|
|
which may include either of the two Nodes themselves.
|
|
</li>
|
|
<li>
|
|
Added <a>Node.portSpreading</a> property, to control how link points are computed when "Side" spots are specified.
|
|
See the <a href="../samples/sankey.html">Sankey Diagram</a> sample for an example using <a>Node.SpreadingPacked</a>
|
|
instead of the default value of <a>Node.SpreadingEvenly</a>. Use <a>Node.SpreadingNone</a> with a multiple "Side" spot,
|
|
such as <a>Spot.LeftRightSides</a>, in order to have the connection point always be at the middle of either the
|
|
left side or the right side, whichever is closer.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Added <a>Group.handlesDragDropForMembers</a> property, which avoids having to define <a>GraphObject.mouseDragEnter</a>,
|
|
<a>GraphObject.mouseDragEnter</a>, or <a>GraphObject.mouseDrop</a> event handlers on each Node or Link that is a
|
|
member of a Group in order to delegate the drag-and-drop events to the containing Group.
|
|
For compatibility the default value is false. Adding this property has significantly simplified several samples:
|
|
<a href="../samples/planogram.html">Planogram</a>, <a href="../samples/regrouping.html">Regrouping</a>, and
|
|
<a href="../samples/swimLanes.html">Swim Lanes</a>.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Added <a>Part.findSubGraphLevel</a> method, to determine a Part's nested depth in the hierarchy of containing <a>Group</a>s.
|
|
A Part that is <a>Part.isTopLevel</a> has a level of zero.
|
|
See the <a href="../samples/regroupingScaled.html">Regrouping Scaled</a> sample for an example usage.
|
|
</li>
|
|
<li>
|
|
Added <a>Part.updateRelationshipsFromData</a> method, to update the relationships between nodes in the diagram
|
|
when there have been changes to properties in the model data that hold node references (keys)
|
|
without having gone through model methods.
|
|
Like <a>Part.updateTargetBindings</a>, this is only needed for environments where one cannot control changes to model data.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>GraphObjects and Geometry:</b>
|
|
<ul>
|
|
<li>
|
|
Changed the default value of <a>Shape.parameter1</a> and <a>Shape.parameter2</a> from 0 to NaN.
|
|
This allows the use of zero as a legimate value for the range of numbers handled by any particular figure.
|
|
However, since <a>Shape.defineFigureGenerator</a> is new for version 1.5,
|
|
this change is unlikely to be an issue for any existing code.
|
|
</li>
|
|
<li>
|
|
The predefined Buttons are styled differently, to be flatter and more rectangular.
|
|
You can customize them by setting their properties and their nested properties.
|
|
See their new definitions in the <a href="../extensions/Buttons.js">Buttons.js</a> file
|
|
in the Extensions directory.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Added the "PanelExpanderButton" predefined Panel,
|
|
used by the <a href="../samples/IVRtree.html">IVR Tree</a> and
|
|
<a href="../samples/entityRelationship.html">Entity Relationship</a> samples.
|
|
The definition is shown in the <a href="../extensions/Buttons.js">Buttons.js</a> file
|
|
in the Extensions directory.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Added <a>GraphObject.setProperties</a>, to set a bunch of properties in exactly the same manner that
|
|
<a>GraphObject.make</a> does when constructing a GraphObject.
|
|
</li>
|
|
<li>
|
|
Added <a>GraphObject.defineBuilder</a> static function for defining new names that can
|
|
be used by <a>GraphObject.make</a>.
|
|
This is used in the <a href="../extensions/ScrollingTable.html">Scrolling Table</a> sample
|
|
for the "AutoRepeatButton" and the "ScrollingTable".
|
|
</li>
|
|
<br />
|
|
<li>Added <a>Shape.defineFigureGenerator</a> static function for defining new figure names for <a>Shape.figure</a>.</li>
|
|
<li>
|
|
Added <a>Shape.getFigureGenerators</a> static function for getting a <a>Map</a> of figure names.
|
|
This is used in the <a href="../samples/shapes.html">Shapes</a> sample.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Added <a>Geometry.defaultStretch</a> property, which can be used by figure generators to control the aspect ratio of
|
|
the <a>Shape</a> that uses that figure.
|
|
</li>
|
|
<li>
|
|
Added <a>Geometry.add</a> and <a>PathFigure.add</a> methods, to make it easier to construct Path Geometries in code,
|
|
which is much more efficient than using <a>GraphObject.make</a>.
|
|
</li>
|
|
<li>
|
|
Added "BarH" and "BarV" figures, used by Grid <a>Panel</a>s to fill rectangular areas rather than just draw
|
|
horizontal or vertical lines.
|
|
See <a href="../intro/grids.html">Grid Patterns</a> for example usage.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Added <a>Shape.defineArrowheadGeometry</a> static function for defining new arrowhead names for <a>Shape.toArrow</a>
|
|
and <a>Shape.fromArrow</a>.
|
|
</li>
|
|
<li>
|
|
Added <a>Shape.getArrowheadGeometries</a> static function for getting a <a>Map</a> of arrowhead names.
|
|
This is used in the <a href="../samples/arrowheads.html">Arrowheads</a> sample.
|
|
</li>
|
|
<br />
|
|
<li>Added <a>Picture.sourceCrossOrigin</a> property, for customizing cross-origin image requests.</li>
|
|
<br />
|
|
<li>Added <a>TextBlock.maxLines</a>, to limit the number of lines of text shown in a TextBlock.</li>
|
|
<li>
|
|
The <a>TextBlock.font</a> property setter now raises an error in <code>Debug</code> mode if the new value
|
|
is not a valid font.
|
|
</li>
|
|
<br />
|
|
<li>
|
|
Added <a>Panel.findMainElement</a> method, to get the first child element with <a>GraphObject.isPanelMain</a> true,
|
|
or if there is no such element, just the first element.
|
|
</li>
|
|
<li>
|
|
Extended support for a first <a>Panel</a> element that is kept when <a>Panel.itemArray</a> gets a new Array value,
|
|
beyond just Spot and Auto and Link Panels,
|
|
to Table Panels whose first element is a "TableRow" or "TableColumn" Panel with <a>Panel.isMainPanel</a> true.
|
|
This makes implementing literal table headers possible without having the header information
|
|
in the item Array as the first item.
|
|
This is now demonstrated in <a href="../intro/itemArrays.html">Item Arrays</a>,
|
|
as well as the previously supported case where the header information was in the item array,
|
|
<a href="../intro/templateMaps.html">Template Maps</a>.
|
|
</li>
|
|
<li>
|
|
In templates, Auto or Spot Panels with zero or only one element in them will result in a warning message.
|
|
Their operation with zero or one element is otherwise unchanged. However, Auto and Spot Panels expect
|
|
there to be a "main" element, so having this warning may help detect places where editing mistakes may
|
|
have resulted in unexpected visual trees.
|
|
</li>
|
|
<li>
|
|
Fixed removing the wrong element in a Spot or Auto <a>Panel</a> that had a <a>Panel.itemArray</a> when
|
|
calling <a>Model.removeArrayItem</a>.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Models:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>Model.copiesArrays</a> and <a>Model.copiesArrayObjects</a> properties,
|
|
so that often one does not need to implement a custom <a>Model.copyNodeDataFunction</a>.
|
|
The samples have been simplified by using these two properties and removing all of the functions
|
|
that were used to copy node data without sharing Arrays or array item objects.
|
|
</li>
|
|
<li>Improved data binding target resolution when there are duplicate object names.</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Layouts:</b>
|
|
<ul>
|
|
<li>
|
|
Added an optional predicate argument to <a>LayoutNetwork.addParts</a>,
|
|
for easier filtering of which nodes or links to include in the network as vertexes or edges.
|
|
</li>
|
|
<li>
|
|
Added <a>ForceDirectedLayout.randomNumberGenerator</a>, which can be set to null each time you want to use and reset
|
|
its own internal random number generator instead of calling Math.random().
|
|
This is useful for repeatable results given identical initial circumstances.
|
|
</li>
|
|
<li>
|
|
Fixed bug in <a>LayeredDigraphLayout</a> when dealing with nodes of multiple ports that had not yet gotten real positions.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Tools and Commands:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>LinkingBaseTool.isValidCycle</a>, exposing a predicate called by <a>LinkingBaseTool.isValidLink</a>
|
|
to check the validity of a proposed link according to the value of <a>Diagram.validCycle</a>.
|
|
</li>
|
|
<li>
|
|
Added <a>CommandHandler.copiesConnectedLinks</a> property,
|
|
to allow control whether Links connected with selected Nodes are copied by <a>CommandHandler.copySelection</a>,
|
|
much as <a>DraggingTool.copiesEffectiveCollection</a> does for the <a>DraggingTool</a>.
|
|
</li>
|
|
<li>Improved external drag-and-drop between <a>Diagram</a>s to give focus to the target diagram upon a successful drop.</li>
|
|
<li>
|
|
Improved <a>ToolManager.positionToolTip</a> and <a>ContextMenuTool.positionContextMenu</a> to allow <a>Adornment</a>s
|
|
(tooltips and context menus)
|
|
to position themselves when they contain a <a>Placeholder</a>.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Collections:</b>
|
|
<ul>
|
|
<li>Added <a>List.last</a>, <a>List.push</a>, and <a>List.pop</a> methods, for convenience in treating a List as a stack.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<hr class="changelog" />
|
|
|
|
<h4>Changes for 1.4.28</h4>
|
|
<ul>
|
|
<li>Fixed calculation of "Side" port positions when there are multiple ports on a node.</li>
|
|
<li>More permissive Picture drawing: Will still draw if an image has an error but is complete at a later time (such as from a timeout).</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.27</h4>
|
|
<ul>
|
|
<li>Fixed TextBlock ellipses when using the undocumented property TextBlock.maxLines</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.26</h4>
|
|
<ul>
|
|
<li>Fixed some clipping scenarios with <a>Diagram.makeSvg</a>.</li>
|
|
<li>Improved shadow rendering in <a>Diagram.makeSvg</a>.</li>
|
|
<li><a>Diagram.makeSvg</a> now includes temporary parts in its bounds computation when <code>showTemporary</code> is set to true.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.25</h4>
|
|
<ul>
|
|
<li>Dragging into a new Diagram now initializes it.</li>
|
|
<li>Moving collapsed members of Groups now modifies position or location, depending on which is real.</li>
|
|
<li>Fixed <a>ResizingTool</a>, which could make assumptions expecting a non-null <a>Shape.geometry</a>.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.24</h4>
|
|
<ul>
|
|
<li>Fixed routes of dragged Links after temporarily copying when the <a>UndoManager.isEnabled</a>.</li>
|
|
<li>Fixed <a>DraggingTool</a> to disallow drag-and-drop from another <a>Diagram</a> whose <a>Model.dataFormat</a> is different than its own.</li>
|
|
<li>
|
|
<b style="color:red;">Reverting a change from 1.4.14 and 1.4.20</b>, setting <a>Picture.source</a> no longer sets the <code>crossOrigin</code>
|
|
flag on generated images. This functionality can be customized with the undocumented property Picture.sourceCrossOrigin,
|
|
a settable function that returns a new value for the <code>image.crossOrigin</code>. This property will be documented in 1.5.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.23</h4>
|
|
<ul>
|
|
<li><a>Part.updateAdornments</a> now calls <a>Panel.updateTargetBindings</a> on each <a>Adornment</a>.</li>
|
|
<li>Changing the category of <a>Group</a>s no longer collapses sub-groups.</li>
|
|
<li>Minimum width and height now correctly account for margins.</li>
|
|
<li>Improved sizing of the <a>TextEditingTool</a>'s text editor.</li>
|
|
<li>Improved routing of adjusted routes between Spot.None ports.</li>
|
|
</ul>
|
|
|
|
|
|
<h4>Changes for 1.4.22</h4>
|
|
<ul>
|
|
<li>Fixed a position initialization bug when <a>GraphObject.position</a> is data-bound and <a>Part.locationSpot</a> is not <a>Spot.TopLeft</a>.</li>
|
|
<li>Updated the "Inductor" <a>Shape.figure</a>.</li>
|
|
<li>Stopped the keyboard's Menu key from erroneously emitting an additional event.</li>
|
|
<li><a>Shape.strokeDashArray</a> once again accepts zeroes as dash values, but does not accept an array of nothing but zeroes.</li>
|
|
<li>Fixed <a>GraphObject.toMaxLinks</a> and <a>GraphObject.fromMaxLinks</a> property setters to allow Infinity (which is the default value).</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.21</h4>
|
|
<ul>
|
|
<li>Fixed measuring Table Panels that contained only TableRow and TableColumns.</li>
|
|
<li>Free up DOM elements by setting <a>Diagram.div</a> to null.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.20</h4>
|
|
<ul>
|
|
<li>Dynamically adding a <a>RowColumnDefinition</a> now updates its containing <a>Panel</a>.</li>
|
|
<li>RowColumnDefinition width and height now correctly undo/redo.</li>
|
|
<li>Fixed some <a>Link</a> routes when ungrouping collapsed <a>Group</a>s.</li>
|
|
<li><a>Panel.Viewbox</a> will no longer attempt to set a <a>GraphObject</a>'s scale to zero.</li>
|
|
<li>
|
|
Setting <a>Picture.source</a> now conditionally sets the crossOrigin flag on the generated image.
|
|
It is set to "anonymous" unless it is served from a data URI or the local filesystem (it will keep the default null value).
|
|
</li>
|
|
<li>Fixed <a>TextBlock.maxLines</a> not always working in some wrapping scenarios.</li>
|
|
<li>Fixed routing of some Links when copied by <a>DraggingTool</a>.</li>
|
|
<li>Fixed Link visibility issues when undoing tree collapsing and expanding.</li>
|
|
<li>Fixed expand/collapse issues when two data-bound diagrams share a model.</li>
|
|
<li>Group adornments are now correctly updated when collapsing trees.</li>
|
|
<li>
|
|
Fixed <a>CommandHandler.ungroupSelection</a> to expand the <a>Group</a> before removing its members and discarding the group,
|
|
and to select any links in addition to the nodes.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.19</h4>
|
|
<ul>
|
|
<li>Improved panning performance on high-density displays.</li>
|
|
<li>Fixed a bug introduced in 1.4.17 groups were unable to resize after parts were dragged out.</li>
|
|
<li>Fixes to auto scrolling.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.18</h4>
|
|
<ul>
|
|
<li>Fixed some jumpover Links not recalculating their routes at the right time.</li>
|
|
<li><a>Diagram.makeImage</a> "parts" option no longer conflicts with "position" option.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.17</h4>
|
|
<ul>
|
|
<li>Fixed initialization bug with Diagram.findObject... methods not working right after the inital layout completion.</li>
|
|
<li>DraggingTool now ignores invisible parts when computing bounds of dragged Parts.</li>
|
|
<li><a>Shape.strokeDashArray</a> no longer accepts zeroes as dash values.</li>
|
|
<li>Fixed expanding moved <a>Group</a>s not to route <a>Link</a>s at original locations.</li>
|
|
<li>Fixed DraggingTool not allowing Nodes to drag out of groups when grid snapping is enabled.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.16</h4>
|
|
<ul>
|
|
<li>Calculations for <a>Diagram.zoomPoint</a> values fixed when scroll and keyboard-command zooming.</li>
|
|
<li>Fixed Picture copying, and Picture now reports draw errors in go-debug.</li>
|
|
<li>Updated BPMN extension templates.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.15</h4>
|
|
<ul>
|
|
<li><a>Diagram.makeImage</a> and <a>Diagram.makeSvg</a> now stop animation before executing.</li>
|
|
<li>Text rendering fixed when combining newlines (\n) with wrapped text.</li>
|
|
<li>
|
|
<a>TreeLayout</a> no longer causes an iteration exception when the <a>TreeLayout.roots</a> collection
|
|
contains vertexes that are in the same tree.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.14</h4>
|
|
<ul>
|
|
<li>Text will always draw fully (instead of just a line at very small scales) when calling <a>Diagram.makeImage</a>.</li>
|
|
<li>Setting <a>Picture.source</a> will now set the crossOrigin property of the created image to "anonymous" by default.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.13</h4>
|
|
<ul>
|
|
<li>Fixed hiding Adornments of <a>Link</a>s hidden by a connected <a>Node</a> becoming not visible.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.12</h4>
|
|
<ul>
|
|
<li>Fixed AvoidsNodes routing of member Links during Group initialization.</li>
|
|
<li>Fixed Link route invalidation of duplicate links when loading model with <a>Link.points</a> data bound.</li>
|
|
<li>Fixed Link routing when the port is a TableRow or TableColumn, or element inside one.</li>
|
|
<li>Fixed incorrect error message when setting <a>Diagram.minScale</a> or <a>Diagram.maxScale</a> to their current values.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.11</h4>
|
|
<ul>
|
|
<li>Tweaked how shadows work for Parts that use Spot panels.</li>
|
|
<li>Fixed line height calculations broken in 1.4.10. This was causing the TextEditingTool's textArea to grow too large.</li>
|
|
<li>Fixed drawing issues arising from non-visible objects with a <a>GraphObject.opacity</a> set.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.10</h4>
|
|
<ul>
|
|
<li>Fixed link calculation when connecting to TableRows and TableColumns, and their immediate elements.</li>
|
|
<li>Fixed dragging coordinates for Diagrams with pixel ratios other than 1.0.</li>
|
|
<li>Fixed value for <a>Diagram.isModified</a> after undoing an insertion or removal after setting isModified to false.</li>
|
|
<li>Fixed some objects not drawing during animation when initially out of view.</li>
|
|
<li>Fixed <a>TreeLayout.layoutComments</a> to handle comment Nodes that are <a>Group</a>s.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.9</h4>
|
|
<ul>
|
|
<li>Added Introduction page for <a href="../intro/legends.html">Legends and Titles</a>.</li>
|
|
<li>
|
|
Fixed <a>LayoutNetwork.addParts</a> to treat links between nodes nested more than one Group deep as
|
|
if they were connecting the outer Groups.
|
|
</li>
|
|
<li>
|
|
Fixed case where making some changes, setting <a>Diagram.isModified</a> to false, undoing,
|
|
and then making a new change (thereby discarding some <a>Transaction</a> history),
|
|
resulted in isModified becoming false when it should have remained true.
|
|
</li>
|
|
<li>
|
|
Fixed the invalidation of <a>Layout</a> when adding or removing a <a>Link</a> even though the link's
|
|
<a>Part.layoutConditions</a> did not include <a>Part.LayoutAdded</a> or <a>Part.LayoutRemoved</a>.
|
|
</li>
|
|
<li>No longer give warnings when a <a>Picture.source</a> fails to load.</li>
|
|
<li>Fixed some sizing issues in IE9 when CSS box-sizing is applied to all HTML elements.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.8</h4>
|
|
<ul>
|
|
<li>Improved completely disconnected <a>Link</a> geometry not to assume that it must be Bezier curved.</li>
|
|
<li>Fixed a regression from 1.4.7 with link visibility when connected to Nodes in collapsed Groups.</li>
|
|
<li>Fixed some starting transactions animating improperly.</li>
|
|
<li>
|
|
Fixed <a>DraggingTool</a> to use the Option key (Alt) modifier on a Mac to indicate a copying operation,
|
|
rather than the Control key.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.7</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../extensions/PortShifting.html" target="_blank">Port Shifting</a> sample,
|
|
with the tool defined in <a href="../extensions/PortShiftingTool.js">PortShiftingTool.js</a>,
|
|
demonstrating how a custom <a>Tool</a> can allow the user to move a port within a node.
|
|
</li>
|
|
<li>
|
|
Added a "semantic zoom" slider to the <a href="../samples/regrouping.html">Regrouping</a> sample,
|
|
for controlling how many nested levels of Groups are expanded.
|
|
</li>
|
|
<li>Fixed some animation bugs on iOS/OSX Safari.</li>
|
|
<li>
|
|
Potentially Incompatible: Collapsed Groups no longer update their member's positions.
|
|
They are only updated when they are visible again (when the group is expanded).
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.6</h4>
|
|
<ul>
|
|
<li>
|
|
New property <a>DraggingTool.isComplexRoutingRealtime</a> allows the disabling of <a>Link.AvoidsNodes</a>
|
|
during dragging operations.
|
|
</li>
|
|
<li>Diagram.rebuildParts now allows animation.</li>
|
|
<li>Improved animation by removing a race condition.</li>
|
|
<li>
|
|
Reworked link label position. This fixes bugs but may cause some link labels to have new positions,
|
|
especially when <a>GraphObject.segmentOffset</a> values were NaN.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.5</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../extensions/Fishbone.html" target="_blank">Fishbone Layout</a> sample,
|
|
with the layout defined in <a href="../extensions/FishboneLayout.js">FishboneLayout.js</a>,
|
|
demonstrating how a custom <a>Layout</a> and a custom routed <a>Link</a> can
|
|
produce a fishbone or Ishikawa or cause-and-effect diagram.
|
|
</li>
|
|
<li>GoJS now accounts for window.devicePixelRatio.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.4</h4>
|
|
<ul>
|
|
<li>New option for <a>Diagram.makeSvg</a>: elementFinished, a function allowing you to modify the SVG as it is being built.</li>
|
|
<li>TextBlock ellipsis now works correctly with wrapped text.</li>
|
|
<li>All GraphObjects now allow opacity: Panel.opacity has been moved to <a>GraphObject.opacity</a>.</li>
|
|
<li>SVG generated with <a>Diagram.makeSvg</a> now contains the <code>xmlns</code> and <code>xmlns:xlink</code> attributes.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.3</h4>
|
|
<ul>
|
|
<li>Animations no longer continuously update the <a>Diagram.documentBounds</a>.</li>
|
|
<li>Fixed window resizing accidentally invalidating (viewport-sized) layouts on fixed-size diagrams.</li>
|
|
<li><a>Diagram.makeSvg</a> now includes a clipping region to fix IE's SVG behavior,
|
|
which does not clip to its SVG viewport by default.</li>
|
|
<li>
|
|
New option for <a>Diagram.makeImage</a> and <a>Diagram.makeSvg</a>: document, which accepts an optional
|
|
HTML Document in lieu of window.document.
|
|
This can be useful when opening generated SVG or Images in a new window.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.2</h4>
|
|
<ul>
|
|
<li>
|
|
Reworked transactions for the <a>TextEditingTool</a>.
|
|
Transactions no longer start when the tool activates,
|
|
instead they begin and end when the tool commits accepted text.
|
|
</li>
|
|
<li>Fixed Firefox's zoom shortcuts, CTRL-plus and CTRL-minus were not properly captured.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4.1</h4>
|
|
<ul>
|
|
<li>Fixed visibility of <a>Link</a>s when changing <a>Layer.visible</a> of connected <a>Node</a>s.</li>
|
|
<li>Fixed <a>DraggingTool</a> to allow moving of copied parts even though <a>Diagram.allowMove</a> is false.</li>
|
|
<li>Improved dragging from <a>Palette</a> to show temporary copy of dragged parts within the Palette.</li>
|
|
<li>Miscellaneous performance improvements.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.4 since 1.3.*</h4>
|
|
<ul>
|
|
<li>
|
|
<b>Animation:</b>
|
|
<ul>
|
|
<li>GoJS layouts now animate by default. This can be controlled with a Diagram's <a>AnimationManager</a> class.</li>
|
|
</ul>
|
|
<li>
|
|
<b>Samples and documentation:</b>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../samples/swimBands.html" target="_blank">Layer Bands</a> sample,
|
|
where the layout overrides the <a>TreeLayout.commitLayers</a> method in order to make sure the special
|
|
"_BANDS" Part's items are updated to show a "band" object around each tree layer.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/LinkLabelDragging.html" target="_blank">Link Label Dragging</a> sample,
|
|
with the tool defined in <a href="../extensions/LinkLabelDraggingTool.js">LinkLabelDraggingTool.js</a>,
|
|
demonstrating how the user can manually adjust the position of link labels.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/NodeLabelDragging.html" target="_blank">Node Label Dragging</a> sample,
|
|
with the tool defined in <a href="../extensions/NodeLabelDraggingTool.js">NodeLabelDraggingTool.js</a>,
|
|
demonstrating how the user can manually adjust the position of node labels that are in "Spot" Panels.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/LinkShifting.html" target="_blank">Link Shifting</a> sample,
|
|
with the tool defined in <a href="../extensions/LinkShiftingTool.js">LinkShiftingTool.js</a>,
|
|
demonstrating how the user can manually shift the end of a link to connect anywhere along the sides of a node.
|
|
</li>
|
|
<li>
|
|
Improved the <a href="../samples/friendWheel.html" target="_blank">Friend Wheel</a> sample
|
|
to make use of <a>Part.isHighlighted</a>.
|
|
</li>
|
|
<li>Changed the documentation style.</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Diagram and Layer:</b>
|
|
<ul>
|
|
<li>Added the <a>AnimationManager</a> class and the <a>Diagram.animationManager</a> property.</li>
|
|
<li>
|
|
Added <a>Diagram.highlighteds</a> collection and <a>Diagram.highlight</a>, <a>Diagram.highlightCollection</a>,
|
|
and <a>Diagram.clearHighlighteds</a> methods.
|
|
</li>
|
|
<li>
|
|
<a>Diagram.selectCollection</a> now accepts an Array of <a>Part</a>s
|
|
as well as an <a>Iterable</a> of <a>Part</a>s.
|
|
</li>
|
|
<li>
|
|
When dragging out from a <a>Palette</a>, the cursor initially shows the "no-drop" cursor
|
|
until it is over a diagram with <a>Diagram.allowDrop</a> true.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Parts:</b>
|
|
<ul>
|
|
<li>Added the <a>Part.isAnimated</a> property (default is true).</li>
|
|
<li>
|
|
Added <a>Part.isHighlighted</a> property, a standard way of declaring that a Part is highlighted.
|
|
Use data binding to change the appearance of your parts, e.g.:<br />
|
|
<code>new go.Binding("stroke", "isHighlighted", function (h) { return h ? "red" : "black"; }).ofObject()</code>
|
|
</li>
|
|
<li>
|
|
Added <a>Group.findExternalLinksConnected</a> and <a>Group.findExternalNodesConnected</a> methods,
|
|
to find connections from anywhere inside a Group (including inside nested Groups) to anywhere outside of that Group.
|
|
</li>
|
|
<li>
|
|
Fixed changing layers of Nodes and Links not to call <a>Group.memberAdded</a>, <a>Group.memberRemoved</a>,
|
|
<a>Node.linkConnected</a>, or <a>Node.linkDisconnected</a> event handlers.
|
|
</li>
|
|
<li>Fixed routing of Bezier Links when <a>Link.adjusting</a> is not None.</li>
|
|
<li>
|
|
Fixed a case of undoing the deletion of a port on a Node causing connected Links to
|
|
be connecting with the whole node instead of the particular port element.
|
|
</li>
|
|
<li>
|
|
Fixed the spreading of side <a>Link</a> connection points on a <a>Group</a> when some of
|
|
the links are actually connected with non-visible member <a>Node</a>s because the Group is collapsed.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>GraphObjects and Geometry:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>TextBlock.overflow</a> property and <a>TextBlock.OverflowEllipsis</a> and
|
|
<a>TextBlock.OverflowClip</a> enum values;
|
|
clipping is the default behavior when there is not enough room to draw all of the text.
|
|
</li>
|
|
<li>
|
|
Added <a>Panel.itemIndex</a>, set automatically for Panels created to represent itemArray items and
|
|
useful in data bindings within item templates.
|
|
</li>
|
|
<li>
|
|
Invalid color strings now result in errors when using <code>"go-debug.js"</code>,
|
|
making it easier to track down painting problems.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Models:</b>
|
|
<ul>
|
|
<li>
|
|
Undo and redo operations now raise "ChangingSelection" and "ChangedSelection" <a>DiagramEvent</a>s,
|
|
to handle cases where the undo or redo deleted selected Parts.
|
|
</li>
|
|
<li>Fixed updating of <a>Binding</a>s to the empty string property name when a specific data property was changed.</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Layouts:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>TreeLayout.layerStyle</a> property;
|
|
when set to the new enum value <a>TreeLayout.LayerUniform</a>, all nodes at the same layer level will be aligned.
|
|
The default value, <a>TreeLayout.LayerIndividual</a>, 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.
|
|
</li>
|
|
<li>
|
|
Added <a>TreeLayout.commitLayers</a> and <a>LayeredDigraphLayout.commitLayers</a> 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.
|
|
</li>
|
|
<li>Fixed <a>LayoutVertex.focus</a> to be at the center of the <a>Part.locationObject</a>.</li>
|
|
<li>Fixed <a>GridLayout</a>'s wrapping being influenced by the setting of <a>Layout.arrangementOrigin</a>.</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Tools and Commands:</b>
|
|
<ul>
|
|
<li>Removed ZoomIn and ZoomOut commands from the default touch context menu.</li>
|
|
<li>Added <a>DraggingTool.isCopyEnabled</a>, to allow disabling of copying by control-drag-drop without disabling copying altogether.</li>
|
|
<li>Added <a>ContextMenuTool.currentObject</a>, to make it easier to refer to the <a>GraphObject</a> for which the context menu is being shown.</li>
|
|
<li>Fixed some versions of Android Browser causing two click events for a single tap.</li>
|
|
<li><b style="color:red;">New Gesture: </b>Zooming with MSGesture events is now supported on Microsoft touch devices.</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Collections:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>Iterator.any</a>, <a>List.any</a>, <a>Set.any</a>, and <a>Map.any</a> 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.
|
|
</li>
|
|
<li>
|
|
Added <a>Iterator.all</a>, <a>List.all</a>, <a>Set.all</a>, and <a>Map.all</a> 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.
|
|
</li>
|
|
<li>Added <a>Iterator.each</a>, <a>List.each</a>, <a>Set.each</a>, and <a>Map.each</a> methods that take a function as an argument and call it on each item in the collection.</li>
|
|
<li>Added <a>Map.first</a> method, returning a key/value pair object, or null if the Map is empty.</li>
|
|
<li>Fixed <code>aMap.iterator.first()</code> to return a key/value pair object, not the first key.</li>
|
|
<li>
|
|
Added <a>Map.iteratorValues</a> property, for iterating over the values in the Map.
|
|
Added <a>Map.iteratorKeys</a> property, for iterating over the keys of the Map.
|
|
(<a>Map.iterator</a> continues to return an Iterator for iterating over the keys and values of the Map.
|
|
This is the same as <a>Map.iteratorValues</a> unless one calls <code>first</code>, <code>any</code>, <code>all</code>, or <code>each</code> on the Iterator.)
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<hr class="changelog" />
|
|
|
|
<h4>Changes for 1.3.11</h4>
|
|
<ul>
|
|
<li>Improved re-routing of Links to deeply nested subgraph Nodes upon expanding a subgraph.</li>
|
|
<li>Fixed potential error in <a>GridLayout</a> when switching template for an existing <a>Group</a>.</li>
|
|
<li>Brush copies now correctly copy start and end Spot values</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.3.10</h4>
|
|
<ul>
|
|
<li>Fixed some bounds calculations of elements inside of TableRow and TableColumn Panels.</li>
|
|
<li>Fixed the "Modified" <a>DiagramEvent</a> when the <a>UndoManager</a> is not enabled.</li>
|
|
<li>Improved AvoidsNodes routing of Links when there are Nodes that are not visible.</li>
|
|
<li>Fixed Diagram background grid issues when an Overview was only partially initialized.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.3.9</h4>
|
|
<ul>
|
|
<li>The TextEditingTool now checks Diagram.allowTextEdit (previously, only CommandHandler.canEditTextBlock did).</li>
|
|
<li>
|
|
Changing a drag from a move to a copy (with the control key) now correctly saves any link routes so that an undo/redo
|
|
does not restore the routes to where the node had been moved to before being copied.
|
|
</li>
|
|
<li>Panels with no elements now properly respect all combinations of desiredSize, minSize, maxSize, and padding.</li>
|
|
<li>
|
|
Allowed SVG to work with Picture elements on browsers that support drawing SVG to canvas.
|
|
See the <a href="../intro/pictures.html" target="_blank">Pictures intro page</a> for details.
|
|
</li>
|
|
<li>Fixed internal line-intersection for TableRow and TableColumn Panels.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.3.8</h4>
|
|
<ul>
|
|
<li>Fixed the measurement of some GraphObjects when modifying angle with both a desiredSize and minSize set.</li>
|
|
<li>Fixed <a>Diagram.addLayerAfter</a> and <a>Diagram.addLayerBefore</a> for re-ordering layers, and improved their error checking.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.3.7</h4>
|
|
<ul>
|
|
<li>Fixed <a>Set.toList</a>.</li>
|
|
<li>Fixed the <a>Diagram.model</a> property setter to call <a>Diagram.clearSelection</a> before actually replacing the model.</li>
|
|
<li>Fixed Picture measuring scenarios where it would incorrectly prefer a stretch value over the desiredSize when both were given.</li>
|
|
<li>The <a>Link.points</a> setter now also accepts an Array of numbers representing point values ([x1, y1, x2, y2, x3, y3], etc.)</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.3.6</h4>
|
|
<ul>
|
|
<li>Added <a href="../samples/seatingChart.html" target="_blank">Seating Chart</a> sample.</li>
|
|
<li>Fixed a bug in calculating positions of member nodes when dragging a group.</li>
|
|
<li>
|
|
The "TreeExpanderButton" and "SubGraphExpanderButton" <a>Panel</a>s are now
|
|
calling <a>CommandHandler.canCollapseTree</a>, <a>CommandHandler.canExpandTree</a>,
|
|
<a>CommandHandler.canCollapseSubGraph</a>, or <a>CommandHandler.canExpandSubGraph</a>, as
|
|
appropriate, in case any of those methods were overridden.
|
|
</li>
|
|
<li>
|
|
<a>Tool.standardMouseWheel</a> now calls <a>CommandHandler.canIncreaseZoom</a> or
|
|
<a>CommandHandler.canDecreaseZoom</a>, as appropriate, in case either method is overridden.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.3.5</h4>
|
|
<ul>
|
|
<li>
|
|
Added <a>Model.addNodeDataCollection</a>, <a>Model.removeNodeDataCollection</a>,
|
|
<a>GraphLinksModel.addLinkDataCollection</a>, <a>GraphLinksModel.removeLinkDataCollection</a>,
|
|
taking either Arrays or Iterables of model data objects, for convenience.
|
|
</li>
|
|
<li>Fixed Table Panel's measuring of GraphObjects that span multiple rows and columns in some situations.</li>
|
|
<li>Fixed <a>Node.ports</a> to include the default port, the whole <a>Node</a>, when there are no objects with <a>GraphObject.portId</a> set to non-null.</li>
|
|
<li>Fixed some method names on <a>Spot</a> which had not been exported.</li>
|
|
<li>Fixed the scaling of some arcs in a Geometry.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.3.4</h4>
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../extensions/Robot.html" target="_blank">Robot</a> sample in the extensions directory,
|
|
demonstrating the simulation of input events.
|
|
</li>
|
|
<li>Added the "Ring" figure for <a>Shape</a>s.</li>
|
|
<li>
|
|
Added property setters for <a>InputEvent</a> properties: control, shift, alt, meta, left, middle, right,
|
|
for convenience when initializing to avoid requiring knowledge of the particular flag values.
|
|
</li>
|
|
<li>
|
|
Added <a>Part.LayoutNodeReplaced</a> as a new reason for invalidating <a>Layout</a>s,
|
|
to fix a bug where a Layout would not be performed when replacing a Node or simple Part by changing its <a>Part.category</a>,
|
|
because the new Node had a fixed size.
|
|
</li>
|
|
<li>Scrolling on uninitialized Diagrams will no longer capture the event and prevent bubbling.</li>
|
|
<li>Fixed shadows in some <a>Panel</a> scenarios involving Auto panels.</li>
|
|
<li>Fixed the display of never-arranged Nodes when added to an invisible <a>Layer</a> that is later made visible.</li>
|
|
<li>Fixed data binding on the first elements of "Spot", "Auto", and "Link" <a>Panel</a>s that hold <a>Panel.itemArray</a>s.</li>
|
|
<li><a>Margin.parse</a> now parses strings with only zero, one, or two numbers in them, as if calling the <a>Margin</a> constructor.</li>
|
|
<li>Fixed the <a>Diagram.grid</a> setter, which was not always updating the grid immediately.</li>
|
|
<li>
|
|
<b style="color:red;">Potentially Incompatible:</b> Fixed Table Panel's allocation of cell size in some complex settings,
|
|
such as with multiple rows or columns stretching. Some complex Table Panels may size differently now.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.3.3</h4>
|
|
<ul>
|
|
<li>Added <a>CommandHandler.defaultScale</a> property, initially 1.0.</li>
|
|
<li>
|
|
When AMD Module <code>define</code> capability is present, <code>go</code> is still exposed to the global object,
|
|
which avoids problems with undefined <code>go</code> when explicitly loading <code>"go.js"</code> instead of using your framework's require mechanisms.
|
|
</li>
|
|
<li>Reduced possible errors with zero-sized images used as <a>Picture</a> sources.</li>
|
|
<li>Fixed default value of <code>scale</code> for <a>Diagram.makeImage</a> (Default should be <code>null</code>, was erroneously <code>NaN</code>).
|
|
<li>Zero is now an allowed value in the array of <a>Shape.strokeDashArray</a></li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.3.2</h4>
|
|
<ul>
|
|
<li>Fixed exception when <a>Diagram.makeImage</a> generates very large images.</li>
|
|
<li>Fixed Layouts maintaining custom link routing in nested groups.</li>
|
|
<li>Fixed tree collapsing causing some links to not update when the tree is expanded after moving the node.</li>
|
|
<li>Fixed the drawing of strokes when <a>Shape.strokeWidth</a> is zero.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.3.1</h4>
|
|
<ul>
|
|
<li>Fixed computation of tree relationships when <a>Link.isTreeLink</a> is modified dynamically.</li>
|
|
<li>
|
|
Fixed the behavior of <a>GraphObject.mouseDragEnter</a> and <a>GraphObject.mouseDragLeave</a> and
|
|
the <a href="../samples/regrouping.html" target="_blank">Regrouping</a> and
|
|
<a href="../samples/planogram.html" target="_blank">Planogram</a> samples
|
|
not to depend on the target <a>Diagram.selection</a> for external drag-and-drops.
|
|
</li>
|
|
<li>Fixed bounds calculations when using the <a>DraggingTool</a> with Parts that were not in the default layer.</li>
|
|
<li>
|
|
Implemented support for comments in <a>ForceDirectedLayout</a>;
|
|
for compatibility and efficiency <a>ForceDirectedLayout.comments</a> now defaults to false.
|
|
Also added overridable method <a>ForceDirectedLayout.addComments</a>.
|
|
</li>
|
|
<li>
|
|
Added <a>TreeLayout.comments</a> property,
|
|
for efficiency by disabling searching for "Comment" Nodes associated with each Node;
|
|
for compatibility the default value is true.
|
|
</li>
|
|
<li>Allowed <a>Diagram.makeImage</a> to accept no arguments again.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.3 since 1.2.*</h4>
|
|
<ul>
|
|
<li>
|
|
<b>Samples and documentation:</b>
|
|
<ul>
|
|
<li>Added the <a href="../samples/tournament.html" target="_blank">Tournament</a> sample.</li>
|
|
<li>Added the <a href="../samples/draggableLink.html" target="_blank">Draggable Link</a> sample, demonstrating partly or fully disconnected <a>Link</a>s.</li>
|
|
<li>Added the <a href="../samples/require.html" target="_blank">Require</a> sample, demonstrating use of <b>GoJS</b> AMD module definition and use with RequireJS.</li>
|
|
<li>Added the <a href="../samples/angular.html" target="_blank">Angular</a> sample, demonstrating a <b>GoJS</b> "goDiagram" directive in AngularJS.</li>
|
|
<li>Added the <a href="../extensions/BPMN.html" target="_blank">BPMN Editor</a> sample in the extensions directory, demonstrating BPMN templates and using custom tools.
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Diagram and Layer:</b>
|
|
<ul>
|
|
<li>
|
|
Added support for (static) SVG generation with <a>Diagram.makeSvg</a>.
|
|
You can generate an SVG scene of all or part of a Diagram using the same
|
|
options that <a>Diagram.makeImage</a> takes.
|
|
</li>
|
|
<li>
|
|
Added a "Modified" <a>DiagramEvent</a>, to support updating non-Diagram UI
|
|
after the <a>Diagram.isModified</a> property has changed.
|
|
Many samples now implement such a listener to add a "*" to the document title and to enable the "Save" Button.
|
|
A "Modified" DiagramEvent listener should not modify the Diagram or its Model.
|
|
Replacing the <a>Diagram.model</a> now automatically sets <a>Diagram.isModified</a>
|
|
to false, but you still have to set it when you save a diagram.
|
|
</li>
|
|
<li>
|
|
Added <a>Diagram.copyParts</a> method, for copying a collection of Parts and
|
|
returning a <a>Map</a> of original Parts and their respective copies.
|
|
(This is called by <a>CommandHandler.copySelection</a> and <a>CommandHandler.pasteSelection</a> and the <a>DraggingTool</a>.)
|
|
</li>
|
|
<li>
|
|
Added <a>Diagram.removeParts</a> method, for deleting a collection of Parts.
|
|
(This is called by <a>CommandHandler.deleteSelection</a>.)
|
|
</li>
|
|
<li>
|
|
Added <a>Diagram.moveParts</a> method, for shifting the location of a collection of Parts.
|
|
(This is called by the <a>DraggingTool</a> and <a>CommandHandler.pasteSelection</a>.)
|
|
Moving with a zero offset will align the parts to the grid, if <a>DraggingTool.isGridSnapEnabled</a> is true.
|
|
</li>
|
|
<li>
|
|
Fixed <a>Diagram.findPartAt</a> with a false <i>selectable</i> argument,
|
|
to ignore temporary <a>Layer</a>s, just as it always has when <i>selectable</i> is true.
|
|
</li>
|
|
<li>
|
|
Fixed <a>Diagram.findObjectAt</a> (and similar methods) not correctly finding remaining TableRow or TableColumn <a>Panel</a>s
|
|
in Table Panels that have been modified.
|
|
</li>
|
|
<li>
|
|
Fixed some cases where Layouts with <code><a>Layout.isRealtime</a> == false</code> would perform their layout at incorrect times.
|
|
</li>
|
|
<li>
|
|
There is now an implicit transaction that surrounds the initial layout of a Diagram.
|
|
This ensures that all model Changed listeners are called at a time when all of the diagram state has been updated.
|
|
</li>
|
|
<li>
|
|
<a>Diagram.hasHorizontalScrollbar</a> and <a>Diagram.hasVerticalScrollbar</a> now trigger an update to remove or add the scrollbars appropriately.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Parts:</b>
|
|
<ul>
|
|
<li>
|
|
The default <a>Diagram.nodeSelectionAdornmentTemplate</a>, <a>Diagram.groupSelectionAdornmentTemplate</a>,
|
|
<a>Diagram.linkSelectionAdornmentTemplate</a>, <a>ResizingTool.handleArchetype</a>,
|
|
<a>LinkReshapingTool.handleArchetype</a>, <a>LinkReshapingTool.midHandleArchetype</a>,
|
|
<a>RelinkingTool.fromHandleArchetype</a>, <a>RelinkingTool.toHandleArchetype</a>, and
|
|
<a>RotatingTool.handleArchetype</a> now all default to showing blue handles.
|
|
</li>
|
|
<li>
|
|
Added <a>Node.linkValidation</a> property, which if non-null, is called by <a>LinkingBaseTool.isValidLink</a>
|
|
to support validating potential links at each node,
|
|
in addition to the <a>LinkingBaseTool.linkValidation</a> on the <a>LinkingTool</a> and <a>RelinkingTool</a>.
|
|
</li>
|
|
<li>
|
|
Added <a>Group.computesBoundsIncludingLinks</a> property, which if false causes the computation of
|
|
a <a>Group</a>'s members bounds to ignore <a>Link</a>s.
|
|
</li>
|
|
<li>
|
|
Added <a>Group.computesBoundsIncludingLocation</a> property, which if true causes the computation
|
|
of a <a>Group</a>'s members bounds to include its current Location.
|
|
This is helpful to allow users to move member nodes at the top down or at the left side rightwards,
|
|
without necessarily shrinking the <a>Placeholder</a> and shifting it down or towards the right.
|
|
</li>
|
|
<li>
|
|
Fixed <a>RotatingTool.updateAdornments</a> not to require the rotation Adornment to use a <a>Part.locationSpot</a> of Spot.Center.
|
|
</li>
|
|
<li>
|
|
Copying a <a>Link</a> with AvoidsNodes routing no longer invalidates the route of the original Link.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>GraphObjects and Geometry:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>Point.projectOntoLineSegment</a>, <a>Point.projectOntoLineSegmentPoint</a>,
|
|
<a>Point.snapToGrid</a> and <a>Point.snapToGridPoint</a> methods.
|
|
</li>
|
|
<li>
|
|
Corrected some Table Panel layouts with complex sizing rules.
|
|
</li>
|
|
<li>
|
|
Added a new arrowhead (<a>Shape.toArrow</a> and <a>Shape.fromArrow</a>), the empty string (""),
|
|
which can be used to turn an arrowhead "off" without making ths Shape revert to a regular figure.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Models:</b>
|
|
<ul>
|
|
<li>
|
|
A regular <a>Node</a> may become a label node on a <a>Link</a> or vice-versa, dynamically.
|
|
Whether a node is a link label node is determined in a <a>GraphLinksModel</a> by whether
|
|
there is a reference to the node in the link's <a>GraphLinksModel.getLabelKeysForLinkData</a> Array.
|
|
You can use whatever category you like to choose the node template used to represent the node data;
|
|
"LinkLabel" is the default predefined category for link label nodes.
|
|
</li>
|
|
<li>
|
|
Added <a>Model.modelData</a> property, a JavaScript object for programmer-defined
|
|
properties that are written by <a>Model.toJson</a> and read by <a>Model.fromJson</a>.
|
|
This provides easy persistence of properties that are for the whole model,
|
|
not for individual nodes or links.
|
|
</li>
|
|
<li>
|
|
A <a>Binding</a> target of <a>GraphObject.name</a> now may produce an error.
|
|
A TwoWay <a>Binding</a> whose source is the key property on node data now may produce an error.
|
|
These kinds of Bindings have always been disallowed,
|
|
but now are more likely to produce an error that can be seen in the console log.
|
|
</li>
|
|
<li>
|
|
Added <a>ChangedEvent.isTransactionFinished</a> property,
|
|
for convenience in detecting model changes that are of type <a>ChangedEvent.Transaction</a>
|
|
and indicate the end of a committed transaction or undo or redo.
|
|
</li>
|
|
<li>
|
|
Fixed <a>Model.addArrayItem</a> and <a>Model.insertArrayItem</a> to accept non-Object new item values.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<!--
|
|
<li><b>Layouts:</b>
|
|
<ul>
|
|
(none)
|
|
</ul>
|
|
</li>
|
|
-->
|
|
<li>
|
|
<b>Tools and Commands:</b>
|
|
<ul>
|
|
<li>
|
|
<b style="color:red;">Potentially Incompatible:</b>
|
|
Mac-based platforms now use the Command key instead of Control for almost all commands.
|
|
For instance the undo command is Control-Z on Windows and Linux platforms and Command-Z on Macs.
|
|
This is more canonical on Macs, but could cause incompatibilities if custom tools were created.
|
|
</li>
|
|
<li>
|
|
<b style="color:red;">New Gesture:</b> On iOS devices, a two-finger pan now pans the page instead of the Diagram.
|
|
</li>
|
|
<li>
|
|
Scrolling and zooming with a mouse wheel can now be used on scrolling devices and
|
|
trackpads that allow for less than one "click" of a scroll wheel, accommodating finer scrolling.
|
|
</li>
|
|
<li>
|
|
The <a>TextEditingTool</a> now automatically selects text upon focus.
|
|
</li>
|
|
<li>
|
|
The <a>TextEditingTool</a> now demands focus until it is completed or cancelled.
|
|
</li>
|
|
<li>
|
|
Added <a>LinkReshapingTool.getReshapingBehavior</a> and <a>LinkReshapingTool.setReshapingBehavior</a>
|
|
to allow overrides of <a>LinkReshapingTool</a> methods access to the permitted
|
|
user reshaping behaviors of particular reshape handles.
|
|
</li>
|
|
<li>
|
|
Added <a>RelinkingTool.copyLinkProperties</a> method, which copies properties of the
|
|
selected Link to the <a>LinkingBaseTool.temporaryLink</a>.
|
|
</li>
|
|
<li>
|
|
Added <a>LinkingBaseTool.isUnconnectedLinkValid</a> property on <a>LinkingTool</a> or <a>RelinkingTool</a>,
|
|
to control whether the user may draw new links or reconnect existing links to no port/node.
|
|
</li>
|
|
<li>
|
|
Added <a>DraggingTool.dragsLink</a> property, to control whether the user may drag a single link,
|
|
disconnecting it from any nodes, and perhaps reconnecting the link at one or both ends.
|
|
</li>
|
|
<li>
|
|
Added <a>DraggingTool.startPoint</a> property, to improve ability to simulate drag-and-drops.
|
|
</li>
|
|
<li>
|
|
Added <a>CommandHandler.copiesParentKey</a> and <a>CommandHandler.copiesGroupKey</a> properties,
|
|
to have a copy/pasted new node automatically be a child of the original node's tree parent or
|
|
a member of the original node's containing group.
|
|
</li>
|
|
<li>
|
|
Resizing, reshaping, rotating, and relinking tool Adornments no longer appear on selected Parts
|
|
that are in Palettes or other Diagrams that are <a>Diagram.isReadOnly</a>.
|
|
</li>
|
|
<li>
|
|
Improved <a>Part.updateAdornments</a> to hide or show tool adornments on selected Parts as their
|
|
<a>Part.reshapable</a>, <a>Part.resizable</a>, or <a>Part.rotatable</a> properties are modified dynamically.
|
|
</li>
|
|
<li>
|
|
Only a left-button mouse-down will allow <a>LinkReshapingTool.canStart</a> to return true;
|
|
other buttons no longer cause the LinkReshapingTool to start.
|
|
</li>
|
|
<li>
|
|
Fixed some cases where a copy-pasted Part had a different location than the original.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<hr class="changelog" />
|
|
|
|
<h4>Changes for 1.2.8</h4>
|
|
<ul>
|
|
<li>Fixed some relinking bugs with undo/redo.</li>
|
|
<li>Some table panel measurement fixes.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.2.7</h4>
|
|
<ul>
|
|
<li>Fixed exception when changing <a>Panel.itemArray</a> decreased the number of items in an <a>Adornment</a> or <a>Group</a>.</li>
|
|
<li>Fixed mouse cursor on Diagram (<a>Diagram.currentCursor</a>, <a>Diagram.defaultCursor</a>) erroneously setting the cursor for the entire page.</li>
|
|
<li>Touch-zoom gestures now correctly respect <a>Diagram.minScale</a>, <a>Diagram.maxScale</a>, and <a>Diagram.allowZoom</a> on all platforms.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.2.6</h4>
|
|
<ul>
|
|
<li>Fixed the setter for <a>Shape.strokeDashArray</a>, which incorrectly discarded null as a value.</li>
|
|
<li>Fixed a divide-by-zero scenario in link routing.</li>
|
|
<li>Stopped Table Panel rows and columns with only stretch elements from taking up inappropriate space.</li>
|
|
<li>Other minor Table Panel fixes.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.2.5</h4>
|
|
<ul>
|
|
<li>Fixed context menu clicks on touch-capable devices when a mouse-right click was performed on an object with no available context menu.</li>
|
|
<li>Fixed some areaBackgrounds when they used shared brushes with objects of identical size, when those objects are rotated at different angles.</li>
|
|
<li>Fixed object picking after calling <a>Diagram.makeImage</a> with a non-default viewport.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.2.4</h4>
|
|
<ul>
|
|
<li>Fixed double-clicking in some circumstances on IE10 and IE11.</li>
|
|
<li>Fixed initial performance of <a>Group.layout</a>s even when <a>Layout.isInitial</a> was false.</li>
|
|
<li>Fixed some bugs with zero and near-zero sized Diagrams that caused update loops when layouts were <a>Layout.isViewportSized</a>.</li>
|
|
<li>Fixed <a>Link.getLinkDirection</a> to return better values for rotated ports when the <a>Node</a> is not rotated.</li>
|
|
<li><a>GraphObject.getDocumentAngle</a> now returns a normalized angle from 0 to 360, instead of returning an angle between -180 and 180.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.2.3</h4>
|
|
<ul>
|
|
<li>Fixed shadow drawing on Parts that had a non-real position.</li>
|
|
<li>Fixed <a>Diagram.isEnabled</a> failing to disable scrollbars.</li>
|
|
<li>Fixed some issues with dynamic Picture loading, and decreased time between tests for loaded images.</li>
|
|
<li>Fixed some errors with odd Diagram sizes, including disallowing negative-sized Diagrams in Internet Explorer.</li>
|
|
<li>Fixed <a>Panel.findRowForLocalY</a> and <a>Panel.findColumnForLocalX</a> when the input was a negative number.</li>
|
|
<li>Auto Panels now correctly measure main Shape elements that have a <a>Shape.geometryStretch</a> of Uniform, such as the figures 'Circle' and 'Square'.</li>
|
|
<li>Auto Panels now correctly re-measure TextBlock elements when the Panel's size changes dynamically (ie, desiredSize).</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.2.2</h4>
|
|
<ul>
|
|
<li>Added CommandHandler functions: <a>CommandHandler.showContextMenu</a> and <a>CommandHandler.canShowContextMenu</a>.</li>
|
|
<li>Added key-binding for Menu key to invoke <a>CommandHandler.showContextMenu</a>.</li>
|
|
<li>Fixed <a>TextEditingTool</a> sizing in some configurations.</li>
|
|
<li><a>Shape.strokeDashArray</a> now checks for zero, negative, and non-number values, and there is a fix for non-native dash drawing with offsets.</li>
|
|
<li>Fixed miscellaneous sizing issues with near-zero sized Diagrams.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.2.1</h4>
|
|
<ul>
|
|
<li>Fixed non-routing of the original <a>Link</a>s after they have been copied.</li>
|
|
<li>Fixed positioning of link label nodes that are <a>Group</a>s.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.2 since 1.1.*</h4>
|
|
<ul>
|
|
<li>Added a TypeScript definition file: <code>release/go.d.ts</code> for better type-checking when using TypeScript and for Intellisense support in Visual Studio.</li>
|
|
|
|
<li>
|
|
Added Extensions of <a>Tool</a>, <a>Layout</a>, and <a>CommandHandler</a>:
|
|
<ul>
|
|
<li>
|
|
Added the <a href="../extensions/DragZooming.html" target="_blank">Drag Zooming Tool</a> sample,
|
|
with the tool defined in <a href="DragZoomingTool.js">DragZoomingTool.js</a>.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/FreehandDrawing.html" target="_blank">Freehand Drawing Tool</a> sample,
|
|
with the tool defined in <a href="FreehandDrawingTool.js">FreehandDrawingTool.js</a>.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/PolygonDrawing.html" target="_blank">Polygon Drawing Tool</a> sample,
|
|
with the tool defined in <a href="PolygonDrawingTool.js">PolygonDrawingTool.js</a>.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/PolylineLinking.html" target="_blank">Polyline Linking Tool</a> sample,
|
|
with the tool defined in <a href="PolylineLinkingTool.js">PolylineLinkingTool.js</a>.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/Serpentine.html" target="_blank">Serpentine Layout</a> sample,
|
|
with the layout defined in <a href="SerpentineLayout.js">SerpentineLayout.js</a>.
|
|
</li>
|
|
<li>
|
|
Added the <a href="../extensions/FloorPlanEditor.html" target="_blank">Floor Plan Editor</a> and
|
|
<a href="../extensions/FloorPlanMonitor.html" target="_blank">Floor Plan Monitor</a> samples,
|
|
demonstrating several tools and a command handler:
|
|
<ul>
|
|
<li><a href="../extensions/GuidedDraggingTool.js">GuidedDraggingTool.js</a></li>
|
|
<li><a href="../extensions/ResizeMultipleTool.js">ResizeMultipleTool.js</a></li>
|
|
<li><a href="../extensions/RotateMultipleTool.js">RotateMultipleTool.js</a></li>
|
|
<li><a href="../extensions/DrawCommandHandler.js">DrawCommandHandler.js</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
Samples:
|
|
<ul>
|
|
<li>Added the <a href="../samples/euler.html" target="_blank">Euler Diagram</a> sample.</li>
|
|
<li>Added the <a href="../samples/grafcet.html" target="_blank">Grafcet Diagrams</a> sample.</li>
|
|
<li>Added the <a href="../samples/network.html" target="_blank">Network Configuration</a> sample.</li>
|
|
<li>Added the <a href="../samples/radial.html" target="_blank">Recentering Radial Layout</a> sample.</li>
|
|
<li>Added the <a href="../samples/regrouping.html" target="_blank">Regrouping</a> sample.</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
Selection and Tool <a>Adornment</a>s are now virtualized:
|
|
<ul>
|
|
<li>Adornments are only created automatically when viewed.</li>
|
|
<li>The "Adornment" <a>Layer</a>'s part count will only reflect Adornments created so far.</li>
|
|
<li>
|
|
<a>Part.adornments</a> will be empty for Parts that should have Adornments (i.e., are selected) but have yet to be viewed.
|
|
(<a>Part.adornments</a> will never be null.)
|
|
</li>
|
|
<li>If your app needs Adornments that should exist but are off-screen you can call <a>Part.updateAdornments</a> to create them.</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
Trees:
|
|
<ul>
|
|
<li>Added a parameter to <a>Node.findTreeParts</a> to control how much of a subtree is returned.</li>
|
|
<li>Added a parameter to <a>Node.collapseTree</a> and <a>Node.expandTree</a> for controlling how much of a tree is collapsed or expanded.</li>
|
|
<li>Added <a>Node.findTreeRoot</a> method for walking up the chain of tree parent links.</li>
|
|
<li>Added <a>Diagram.findTreeRoots</a> method for finding all root <a>Node</a>s of trees.</li>
|
|
<li>
|
|
Added <a>Link.isTreeLink</a> property; set to false to have tree-oriented methods ignore such <a>Link</a>s,
|
|
which is convenient when you want a tree-structured diagram using a <a>GraphLinksModel</a> with additional links connecting the nodes.
|
|
</li>
|
|
<li>Fixed <a>Node.collapseTree</a> not causing the Diagram to redraw.</li>
|
|
|
|
<li><a>TreeLayout.roots</a> collection now holds <a>TreeVertex</a>es, although Nodes in that collection are still supported for compatibility.</li>
|
|
<li>Added overridable <a>TreeLayout.initializeTreeVertexValues</a> method.</li>
|
|
<li>Added overridable <a>TreeLayout.addComments</a> and <a>TreeLayout.layoutComments</a> methods.</li>
|
|
<li>Added overridable <a>TreeLayout.arrangeTrees</a> method.</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
Links:
|
|
<ul>
|
|
<li>Added <a>Link.isOrthogonal</a> read-only property, for convenience in checking the kind of routing a Link does.</li>
|
|
<li>
|
|
Added <a>Link.getLinkPointFromPoint</a>, <a>Link.getLinkPoint</a>, and <a>Link.getLinkDirection</a> overridable methods,
|
|
to help customize the computation of link routes where a link connects with a port.
|
|
</li>
|
|
<li>Added <a>Link.resegmentable</a> and <a>LinkReshapingTool.midHandleArchetype</a> properties to allow users to add and remove straight segments from links.</li>
|
|
<li>Added <a>LinkingBaseTool.portTargeted</a> functional property as an event handler that is called during a linking or relinking operation.</li>
|
|
<li>
|
|
Added <a>LinkingBaseTool.copyPortProperties</a> and <a>LinkingBaseTool.setNoTargetPortProperties</a> overridable methods,
|
|
for customizing the behavior during linking and relinking operations, when setting <a>LinkingBaseTool.portTargeted</a> is not enough.
|
|
</li>
|
|
<li>The <a>LinkingTool</a> and <a>RelinkingTool</a> now autoscroll when dragging the end of a link just inside the edge of the viewport.</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
Added Row and Column separators in Table Panels:
|
|
<ul>
|
|
<li><a>RowColumnDefinition.separatorPadding</a></li>
|
|
<li><a>RowColumnDefinition.separatorStroke</a></li>
|
|
<li><a>RowColumnDefinition.separatorStrokeWidth</a></li>
|
|
<li><a>RowColumnDefinition.separatorDashArray</a></li>
|
|
<li><a>RowColumnDefinition.background</a></li>
|
|
<li><a>RowColumnDefinition.coversSeparators</a></li>
|
|
<li><a>RowColumnDefinition.total</a></li>
|
|
<li><a>Panel.defaultSeparatorPadding</a></li>
|
|
<li><a>Panel.defaultRowSeparatorStroke</a></li>
|
|
<li><a>Panel.defaultRowSeparatorStrokeWidth</a></li>
|
|
<li><a>Panel.defaultRowSeparatorDashArray</a></li>
|
|
<li><a>Panel.defaultColumnSeparatorStroke</a></li>
|
|
<li><a>Panel.defaultColumnSeparatorStrokeWidth</a></li>
|
|
<li><a>Panel.defaultColumnSeparatorDashArray</a></li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
Diagrams and Layers:
|
|
<ul>
|
|
<li>Added <a>Diagram.findTopLevelGroups</a> method for finding all unnested <a>Group</a>s.</li>
|
|
<li>Added a <i>partialInclusion</i> argument to <a>Diagram.findObjectsNear</a> and <a>Layer.findObjectsNear</a>.</li>
|
|
<li>
|
|
Added <a>Layer.pickable</a> and <a>GraphObject.pickable</a> properties, to permit visual objects to be ignored by methods such as <a>Diagram.findObjectAt</a>,
|
|
which in turn allows one to create Parts such as the background grid that cannot get mouse events but are still visible.
|
|
</li>
|
|
<li>Added <a>Diagram.zoomPoint</a> property, for controlling where to "focus" the diagram contents when changing the <a>Diagram.scale</a>.</li>
|
|
<li>Added <a>Overview.drawsTemporaryLayers</a> property to disable drawing temporary layers.</li>
|
|
<li>Fixed Overview's div setter when changing the div to null and back.</li>
|
|
<li>Fixed the drawing of grid on Overviews.</li>
|
|
<li><a>Diagram.makeImage</a> now correctly includes or excludes the grid based on showGrid and showTemporary when a parts list is used.</li>
|
|
<li>The viewport now changes size appropriately on browser window maximize and restore.</li>
|
|
<li>
|
|
When a Diagram's div is hidden in such a way that its clientWidth or clientHeight go to zero,
|
|
the old viewport width and height are kept at their old values until they are changed to nonzero values again.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
Parts and GraphObjects:
|
|
<ul>
|
|
<li>
|
|
Added <a>Layer.pickable</a> and <a>GraphObject.pickable</a> properties, to permit visual objects to be ignored by methods such as <a>Diagram.findObjectAt</a>,
|
|
which in turn allows one to create Parts such as the background grid that cannot get mouse events but are still visible.
|
|
</li>
|
|
<li>Added methods for finding links between nodes: <a>Node.findLinksTo</a> (in one direction) and <a>Node.findLinksBetween</a> (in either direction).</li>
|
|
<li>Added support for row and column separators in Table Panels -- see paragraph above.</li>
|
|
<li>Added <a>Panel.findColumnForLocalX</a> and <a>Panel.findRowForLocalY</a>.</li>
|
|
<li>Fixed the <a>Panel.data</a> binding of tooltip Adornments for GraphObjects created for items in a <a>Panel.itemArray</a>.</li>
|
|
<li>Fixed <a>Placeholder</a> positioning when a Placeholder has a padding or the Group has a non-default locationSpot.</li>
|
|
<li>Added <a>TextBlock.isUnderline</a> and <a>TextBlock.isStrikethrough</a>.</li>
|
|
<li>Fixed some geometric arc calculations on Geometries with more than one Figure.</li>
|
|
<li>Fixed deletion of label <a>Node</a>s from <a>Link</a>s to remove the key reference in the link data.</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
Layouts:
|
|
<ul>
|
|
<li>Added <a>Layout.isRealtime</a> property, to control whether an invalid layout is performed during some tool operations before a transaction is completed.</li>
|
|
<li>Improved <a>LayeredDigraphLayout</a> detection whether links need to be routed around the "from" node or the "to" node.</li>
|
|
|
|
<li><a>TreeLayout.roots</a> collection now holds <a>TreeVertex</a>es, although Nodes in that collection are still supported for compatibility.</li>
|
|
<li>Added overridable <a>TreeLayout.initializeTreeVertexValues</a> method.</li>
|
|
<li>Added overridable <a>TreeLayout.addComments</a> and <a>TreeLayout.layoutComments</a> methods.</li>
|
|
<li>Added overridable <a>TreeLayout.arrangeTrees</a> method.</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
Tools and CommandHandler:
|
|
<ul>
|
|
<li>Added <a>ToolManager.dragSize</a> property, for controlling the distance at which the mouse may move before it is no longer considered a click but a drag.</li>
|
|
<li>
|
|
Added <a>ToolManager.WheelNone</a>; set <a>ToolManager.mouseWheelBehavior</a> to this value
|
|
to ignore mouse wheel events without disabling scrolling or zooming by other means.
|
|
</li>
|
|
<li>Stopped <a>Tool.standardMouseOver</a> from being called with the initial <a>Diagram.lastInput</a>.</li>
|
|
<li>On touch-supported devices, the default context menu no longer appears if the right-click was initiated with a mouse.</li>
|
|
<li>Fixed <a>ActionTool</a> to work on a <a>Part</a>s when the whole Part has <a>GraphObject.isActionable</a> set to true.</li>
|
|
<li>Improved <a>ToolManager.positionToolTip</a> and <a>ContextMenuTool.positionContextMenu</a> not to position it left of the left edge of the viewport.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<hr class="changelog" />
|
|
|
|
<h4>Changes for 1.1.12</h4>
|
|
<ul>
|
|
<li>Dragging a selection over a foreign Diagram no longer selects the objects until they are successfully dropped.</li>
|
|
<li>Allowed Diagram and model listeners to modify the listener collection during execution.</li>
|
|
<li>
|
|
Fixes for <a>Diagram.makeImage</a>. Regardless of the Diagram.documentBounds value,
|
|
inputting a size and position that are analogous to a Node's actualBounds will always print that node.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1.11</h4>
|
|
<ul>
|
|
<li>
|
|
Fixed <a>Diagram.zoomToRect</a> scaling to default to <a>Diagram.Uniform</a>, not <a>Diagram.UniformToFill</a>.
|
|
Added an optional <i>scaling</i> argument to <a>Diagram.zoomToRect</a> so that you can choose the behavior.
|
|
</li>
|
|
<li>Fixed <a>GridLayout.doLayout</a> to take an <a>Iterable</a> collection of <a>Part</a>s.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1.10</h4>
|
|
<ul>
|
|
<li>Fixed some cases of Link routing when <a>Link.adjusting</a> is <a>Link.End</a>.</li>
|
|
<li>Fixed <a>Diagram.makeImage</a> when <a>Diagram.documentBounds</a> X and Y values are non-zero.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1.9</h4>
|
|
<ul>
|
|
<li>Fixed route invalidation of not visible Links.</li>
|
|
<li>Created a workaround for an IE10 bug that disallowed double clicking.</li>
|
|
<li>Fixed the initialization of <a>Node.isTreeLeaf</a> when changing the category of a Node.</li>
|
|
<li>Fixed <a>Diagram.grid</a>'s updating when toggling <a>GraphObject.visible</a>.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1.8</h4>
|
|
<ul>
|
|
<li>Fixed <a>Diagram.findObjectsAt</a> and <a>Diagram.findObjectsIn</a> not to throw away the argument results collection.</li>
|
|
<li>Fixed the ResizingTool Adornment location on Shapes with large strokeWidths.</li>
|
|
<li>Fixed some nested objects (Panels, Picture, and Shapes) with a scale and a stretch value measuring incorrectly.</li>
|
|
<li>
|
|
Changed Links to be not seen when a connected Node is not seen, if the Link is a member of a Group,
|
|
rather than appear to connect with the Group that contains it.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1.7</h4>
|
|
<ul>
|
|
<li>Fixed addition and removal of Parts from the temporary layers causing the diagram's bounds to update.</li>
|
|
<li>
|
|
Initial Diagram setup such as <a>Diagram.initialContentAlignment</a> now occurs at the end of the first transaction,
|
|
not at the transaction's start.
|
|
</li>
|
|
<li>Fixed <a>GraphObject.alignment</a> so that it correctly re-measures the GraphObject in all cases.</li>
|
|
<li>Fixed updating of tooltips when the viewport changes without any mouse move.</li>
|
|
<li>Fixed TableRow and TableColum visibility within Table Panels.</li>
|
|
<li>
|
|
TwoWay <a>Binding</a>s now update data properties by calling <a>Model.setDataProperty</a>,
|
|
thereby updating other bindings on the same property.
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1.6</h4>
|
|
<ul>
|
|
<li>Added <a href="../samples/parseTree.html" target="_blank">Parse Tree</a> sample.</li>
|
|
<li>
|
|
Improved the <a href="../samples/stateChart.html" target="_blank">State Chart</a> and
|
|
<a href="../samples/dynamicPorts.html" target="_blank">Dynamic Ports</a> samples to remember Link routes
|
|
by using TwoWay Binding on the <a>Link.points</a> property.
|
|
</li>
|
|
<li>Fixed hiding Links in collapsed trees when the tree is inside a Group.</li>
|
|
<li>Fixed <a>Diagram.position</a> setter incorrectly modifying values.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1.5</h4>
|
|
<ul>
|
|
<li>Fixed Arcs with negative radii made using <a>Geometry.parse</a>.</li>
|
|
<li>Corrected NaN locations when copying Parts under certain conditions.</li>
|
|
<li>Fixed <a>Diagram.makeImage</a> padding and background grid rendering, and padding can no longer be negative.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1.4</h4>
|
|
<ul>
|
|
<li>Fixed rules for <a>Part.addAdornment</a> or <a>Adornment.adornedObject</a> causing an Adornment to adorn a different part.</li>
|
|
<li>Fixed <a>Diagram.minScale</a> and <a>Diagram.maxScale</a> when using a <a>Diagram.autoScale</a> values other than <a>Diagram.None</a></li>
|
|
<li>Fixed incorrect autoScrolling when Diagram is zoomed.</li>
|
|
<li>Added support for Android pinch-zooming and fixed <a>Diagram.zoomPoint</a> setting during pinch zoom.</li>
|
|
<li>Fixed the drawing of the background Grid during <a>Diagram.makeImage</a></li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1.3</h4>
|
|
<ul>
|
|
<li>Added <a href="../samples/sequenceDiagram.html" target="_blank">Sequence Diagram</a> sample.</li>
|
|
<li>Improved behavior of <a>LinkingBaseTool.findTargetPort</a> when the <a>LinkingBaseTool.portGravity</a> is a small value.</li>
|
|
<li>Improved "AvoidsNodes" link routing not to compute special route when default orthogonal routing does not cross over any nodes.</li>
|
|
<li>
|
|
Improved the behavior of <a>LinkReshapingTool</a> when dragging a reshape handle adjacent to the end point of a link
|
|
that is connecting with a port for which <a>Spot.isNoSpot</a> is true.
|
|
</li>
|
|
<li>Fixed layouts with <a>Layout.isViewportSized</a> not redoing their layout when the Diagram's viewport changed size.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1.2</h4>
|
|
<ul>
|
|
<li>Fixed <a>Geometry.stringify</a> not to round off coordinate values.</li>
|
|
<li>Automatically set <a>Tool.diagram</a> for tools that are added to any of the three <a>ToolManager</a> tool lists.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1.1</h4>
|
|
<ul>
|
|
<li>Many enhancements to the <a href="../samples/pipes.html" target="_blank">Pipes</a> sample.</li>
|
|
<li>Improved "AvoidsNodes" link routing within groups.</li>
|
|
<li>Double-click implemented on touch devices.</li>
|
|
<li>Fixed copying collections declared to hold Objects.</li>
|
|
<li>Fixed un-handled mouseup events not bubbling.</li>
|
|
<li>Fixed updating Nodes that are modified in the middle of a Diagram update.</li>
|
|
<li>Fixed positioning of asymmetric background Grid Panel patterns.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.1 since 1.0.*</h4>
|
|
<ul>
|
|
<li>
|
|
<b style="color:red;">Incompatible changes in 1.1:</b>
|
|
<ul>
|
|
<li>
|
|
The second argument of <a>Geometry.parse</a> defaults to false instead of true.
|
|
The first argument is assumed to be a <b>GoJS</b> format geometry path string, not an SVG format string,
|
|
even though the SVG strings are now a subset of the <b>GoJS</b> strings.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<hr />
|
|
<li>
|
|
<b>Samples and documentation:</b>
|
|
<ul>
|
|
<li>Added <a href="../samples/IVRtree.html" target="_blank">IVR Tree</a> sample</li>
|
|
<li>Added <a href="../samples/genogram.html" target="_blank">Genogram</a> sample</li>
|
|
<li>Added <a href="../samples/comments.html" target="_blank">Comments</a> sample</li>
|
|
<li>Added <a href="../samples/pipes.html" target="_blank">Pipes</a> sample</li>
|
|
<li>Added <a href="../samples/canvases.html" target="_blank">Canvases</a> sample</li>
|
|
<li>Added <a href="../samples/kittenMonitor.html" target="_blank">Kitten Monitor</a> sample</li>
|
|
<li>Added <a href="../samples/doubleTreeJSON.html" target="_blank">Double Tree (JSON)</a> sample</li>
|
|
<li>Added intro page about <a href="../intro/makingImages.html" target="_blank">Diagram Images</a></li>
|
|
<li>Added intro page about <a href="../intro/printing.html" target="_blank">Local Printing</a></li>
|
|
<li>Added intro page about <a href="../intro/serverSideImages.html" target="_blank">Server-side Image Creation</a></li>
|
|
<li>Added intro page about <a href="../intro/geometry.html" target="_blank">Geometry Strings and Parsing</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Diagram and Layer:</b>
|
|
<ul>
|
|
<li>
|
|
New named property arguments for <a>Diagram.makeImage</a> and <a>Diagram.makeImageData</a>
|
|
can now specify "size", "maxSize", "padding", and "background" of the resulting Diagram image.
|
|
The new named property arguments "position" and "scale" control what area of the document is drawn.
|
|
The "parts" and "omitTemporary" property arguments control which Parts are drawn.
|
|
</li>
|
|
<li>Added <a>Diagram.computePartsBounds</a> method, to determine the area occupied by a collection of Parts.</li>
|
|
<li>Added <a>Diagram.delayInitialization</a>, replacing the now deprecated <code>update</code> and <code>requestUpdate</code> methods.</li>
|
|
<li>Added <a>Diagram.zoomToRect</a>, allowing easy changing of the viewport.</li>
|
|
<li>
|
|
Added <a>Diagram.initialScale</a> and <a>Diagram.initialPosition</a>, needed for more complex initialization
|
|
and when <a>Diagram.delayInitialization</a> is used.
|
|
</li>
|
|
<li>Added <a>Layer.opacity</a> property, for setting multiplicative opacity on all Parts in a layer.</li>
|
|
<li>Added double-click functionality for mobile devices</li>
|
|
<li>Fixed <a>Diagram.zoomToFit</a> not updating the document bounds first.</li>
|
|
<li>Fixed <a>Layer.findObjectsIn</a> not always returning the results of the <i>navigation</i> function.</li>
|
|
<li>Fixed picking of <a>Shape</a>s by <a>Layer.findObjectsIn</a> where partial containment was incorrect.</li>
|
|
<li>
|
|
Fixed Diagram scrolling using PageUp/PageDown. Diagrams now scroll the correct amount regardless of scale and
|
|
scroll left to right with Shift+PageUp/PageDown.
|
|
</li>
|
|
<li>Fixed removing a selected Part when deselecting it caused it to change layers.</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Parts:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>Node.findTreeParentLink</a>, <a>Node.findTreeParentNode</a>, <a>Node.findTreeChildrenLinks</a>, <a>Node.findTreeChildrenNodes</a>,
|
|
for your convenience in navigating a tree-structured diagram without worrying about <a>Diagram.isTreePathToChildren</a>.
|
|
For example, see the updated <a href="../samples/localview.html" target="_blank">Local View</a> sample.
|
|
</li>
|
|
<li>Added <a>Link.isLabeledLink</a> property, equivalent to <code>link.labelNodes.count > 0</code>, but more convenient.</li>
|
|
<li>Added <a>Part.findTopLevelPart</a> method.</li>
|
|
<li>
|
|
<a>Link.fromPortId</a> and <a>Link.toPortId</a> can now be set in a Link template -- if non-empty, the property will not be set with the value
|
|
of <a>GraphLinksModel.getFromPortIdForLinkData</a> or <a>GraphLinksModel.getToPortIdForLinkData</a> unless that value is non-empty.
|
|
</li>
|
|
<li>
|
|
Improved "ChangingSelection" and "ChangedSelection" <a>DiagramEvent</a>s not to happen when
|
|
<a>Diagram.clearSelection</a> is called when no Parts are selected.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>GraphObjects and Geometry:</b>
|
|
<ul>
|
|
<li>Added <a>Shape.geometryString</a> property to more easily use SVG geometry path strings in your Parts.</li>
|
|
<li>Added <a>Shape.isGeometryPositioned</a> property to position a Shape in a Position Panel ignoring the <a>Shape.strokeWidth</a>.</li>
|
|
<li>Added <a>Shape.strokeDashArray</a> and <a>Shape.strokeDashOffset</a> properties, to draw customizable dashed or dotted lines.</li>
|
|
<li>Fixed some cases of <a>GraphObject.stretch</a> improperly affecting <a>GraphObject.margin</a> calculations.</li>
|
|
<hr class="changelog" />
|
|
<li>
|
|
Added <a>PathSegment.SvgArc</a> enum value to allow the creation of SVG-like arcs.
|
|
<a>Geometry.parse</a> now parses SVG "a" commands as well as <b>GoJS</b>-specific commands.
|
|
See <a href="../intro/geometry.html">Geometry Path Strings</a> for details.
|
|
</li>
|
|
<li>
|
|
Added <a>Geometry.stringify</a> static method, as the opposite of <a>Geometry.parse</a>.
|
|
This saves the complete state of a <a>Geometry</a> object, except for the <a>Geometry.spot1</a> and
|
|
<a>Geometry.spot2</a> hints for <a>Shape</a> figures.
|
|
</li>
|
|
<li>Added <a>Geometry.fillPath</a> static method, to help convert SVG geometry path strings to GoJS.</li>
|
|
<li>
|
|
Added many "Backward..." arrowhead names, to make it easier to have double-ended arrow links.
|
|
See the <a href="../samples/arrowheads.html" target="_blank">Arrowheads</a> sample.
|
|
</li>
|
|
<li>
|
|
Added <a>Geometry.scale</a>, <a>Geometry.rotate</a>, <a>Geometry.offset</a>, <a>Geometry.normalize</a>,
|
|
<a>Geometry.computeBoundsWithoutOrigin</a> methods, for easier explicit manipulation of a Geometry.
|
|
</li>
|
|
<li>Fixed scaling of <a>Geometry</a>s that contain Bezier curves.</li>
|
|
<li>Fixed some computations of <a>Geometry.bounds</a> that contained multiple <a>PathFigure</a>s with arcs.</li>
|
|
<hr />
|
|
<li>Fixed <a>TextBlock</a> greeking (drawing lines instead of text at very small sizes) to be more accurately positioned.</li>
|
|
<li>Improved <a>TextBlock</a> measurement of an empty string to have a small non-zero width, to allow empty strings to be clicked.</li>
|
|
<hr />
|
|
<li>
|
|
Added <a>Panel.TableRow</a> and <a>Panel.TableColumn</a> Panel types, for use as elements of a Panel of type <a>Panel.Table</a>.
|
|
These are particularly useful as the Panel type of <a>Panel.itemTemplate</a>.
|
|
</li>
|
|
<li>Added support for <a>Panel.itemArray</a> elements in Panels of type <a>Panel.Spot</a> and <a>Panel.Auto</a>.</li>
|
|
<li>Added <a>Panel.opacity</a>, for affecting the opacity of the panel and all its elements.</li>
|
|
<li>Fixed GraphObject clipping in Panels.</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Models:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>TreeModel</a> to allow creating tree-structured graphs without the use of separate link data objects.
|
|
Many (but not all) samples involving trees have been updated to make use of a TreeModel.
|
|
</li>
|
|
<li>
|
|
Added <a>GraphLinksModel.archetypeNodeData</a> for automatically adding a node data to a <a>GraphLinksModel</a>
|
|
when there is an unresolved reference in a link data.
|
|
For example, see the updated <a href="../samples/beatpaths.html" target="_blank">Beat Paths</a> sample.
|
|
</li>
|
|
<li>
|
|
Added <a>Model.setKeyForNodeData</a>, to allow you to change a node data key and automatically
|
|
update all references in that model using the old key value to use the new one.
|
|
</li>
|
|
<li>Added <a>Model.addArrayItem</a>, for completeness -- this just calls <a>Model.insertArrayItem</a>.</li>
|
|
<li>Added <a>Iterator.first</a> method for your convenience.</li>
|
|
<li>Fixed <a>Model.setDataProperty</a> for objects in item Arrays in <a>GraphLinksModel</a>s.</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Layouts:</b>
|
|
<ul>
|
|
<li>Added <a>Layout.isRouting</a> property, to control whether Links are routed by the layout (default true).</li>
|
|
<li>Added <a>TreeLayout.assignTreeVertexValues</a> overridable method, for vertex-specific control of tree layout.</li>
|
|
<li>Added <a>LayeredDigraphLayout.assignLayers</a> overridable method, to control which layout layer each vertex should be in.</li>
|
|
<li>Added <a>LayoutNetwork.findAllParts</a> method.</li>
|
|
<li>
|
|
Changed <a>TreeLayout.path</a> to default to new value <a>TreeLayout.PathDefault</a>,
|
|
which chooses logical tree direction based on <a>Diagram.isTreePathToChildren</a>.
|
|
</li>
|
|
<li>
|
|
Fixed alignment of vertexes in layouts that use networks to be based on center of <a>Part.locationObject</a>,
|
|
except for <a>Group</a>s which align to the center of the whole Group.
|
|
</li>
|
|
<li>
|
|
Fixed <a>CircularLayout</a> Packed arrangement occasionally causing an exception and
|
|
improved it for full circles and for 3 or 4 nodes.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<b>Tools and Commands:</b>
|
|
<ul>
|
|
<li>
|
|
Added <a>CommandHandler.zoomToFit</a> command, invoked by <code>Shift-Z</code>.
|
|
Invoke it twice in a row to restore the original viewport.
|
|
</li>
|
|
<li>
|
|
Added <a>CommandHandler.zoomFactor</a> property, so that you can easily change how much <a>CommandHandler.decreaseZoom</a>
|
|
and <a>CommandHandler.increaseZoom</a> change the <a>Diagram.scale</a>.
|
|
</li>
|
|
<li>
|
|
Added <a>InputEvent.down</a> and <a>InputEvent.up</a> properties,
|
|
to make it easier to distinguish between mouse-down and mouse-up and other mouse events, and between key-down and key-up events.
|
|
</li>
|
|
<li>Added <a>DraggingTool.isGridSnapRealtime</a> to control whether the grid-snapping movement of parts occurs during the drag or only upon mouse-up.</li>
|
|
<li>
|
|
Added <a>DraggingTool.doDragOver</a>, <a>DraggingTool.doDropOnto</a>, <a>DraggingTool.computeMove</a>,
|
|
and <a>DraggingTool.moveParts</a> overridable methods, for easier implementation of custom dragging tools.
|
|
</li>
|
|
<li>
|
|
Added <a>LinkReshapingTool.originalPoint</a>, <a>LinkReshapingTool.originalPoints</a>,
|
|
<a>ResizingTool.originalDesiredSize</a>, <a>ResizingTool.originalLocation</a>,
|
|
<a>RotatingTool.originalAngle</a>, and <a>PanningTool.originalPosition</a> read-only properties,
|
|
for convenience when overriding some tool methods or implementing corresponding <a>DiagramEvent</a> handlers.
|
|
</li>
|
|
<li>Extended <a>Tool.isBeyondDragSize</a> to take two optional <a>Point</a> arguments, defaulting to the first and the last input points in view coordinates.</li>
|
|
<li>Improved tools to select a selectable containing <a>Group</a> when a <a>Part</a> is not selectable.</li>
|
|
<li>
|
|
Improved <a>ContextMenuTool.showContextMenu</a> and <a>ToolManager.showToolTip</a> to set the <a>Adornment</a>'s <a>GraphObject.scale</a>
|
|
such that the apparent size stays the same regardless of the <a>Diagram.scale</a>.
|
|
</li>
|
|
<li>
|
|
Improve <a>RelinkingTool</a> to disallow reconnecting not only to link label nodes on the Link itself,
|
|
but also to any link label nodes on links connecting perhaps indirectly via label nodes to that Link.
|
|
</li>
|
|
<li>Fixed <a>RelinkingTool</a> to update positions of temporary nodes even before any mouse move occurs.</li>
|
|
<li>Fixed <a>ClickCreatingTool</a>, when <a>ClickCreatingTool.isDoubleClick</a>, to check that both click points are close to each other.</li>
|
|
<li>Fixed <a>DragSelectingTool</a>, when used modally, not to show the previous selection box upon mouse-down.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<hr class="changelog" />
|
|
|
|
<h4>Changes for 1.0.8</h4>
|
|
<ul>
|
|
<li>Fixed some Bezier <a>Link</a>s not displaying correctly.</li>
|
|
<li>Fixed Position, Horizontal, and Vertical <a>Panel</a>s not respecting some padding values.</li>
|
|
<li><a>Picture</a> now appropriately handles Canvas elements as the <a>Picture.element</a>.</li>
|
|
<li>Fixed <a>Panel.Auto</a> measuring incorrectly when the main object was a <a>Shape</a>.</li>
|
|
<li>Fixed <a>ContextMenuTool</a> to also raise a <a>DiagramEvent</a> when a context click happens.</li>
|
|
<li>Fixed <a>Placeholder</a> objects not respecting padding when not part of a <a>Group</a>.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.0.7</h4>
|
|
<ul>
|
|
<li>Fixed asynchronous <a>Picture</a> loading failing to update the <a>Diagram.documentBounds</a>.</li>
|
|
<li>Fixed <a>DraggingTool</a> to move Parts to the mouse-up location, not the last mouse-move location.</li>
|
|
<li>Use <code>Array.isArray(x)</code> instead of <code>x instanceof Array</code> to check for Arrays created in different frames.</li>
|
|
<li>Fixed replacing the model not respecting <a>Diagram.contentAlignment</a>.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.0.6</h4>
|
|
<ul>
|
|
<li>Added "Links to Links" sample.</li>
|
|
<li>Added "Shop Floor Monitor" sample.</li>
|
|
<li>
|
|
Changed a <a>Link</a> to have a jump-over or a jump-gap with another link if they do not share the same start points or the same end points,
|
|
even if they connect with the same node.
|
|
</li>
|
|
<li>Improved <a>Diagram.add</a> to check that the argument <a>Part</a> is not already a part of a different <a>Diagram</a>.</li>
|
|
<li>Fixed copy and paste not to copy partly or fully disconnected <a>Link</a>s.</li>
|
|
<li>Fixed the updating of jump-overs or jump-gaps in other links after adding or removing links.</li>
|
|
<li>Fixed undo/redo changes of Z-ordering of <a>Panel</a> elements.</li>
|
|
<li>Fixed <a>Group</a> Z-ordering when adding groups or switching layers.</li>
|
|
<li>Fixed link validation check of <a>GraphObject.fromMaxLinks</a> or <a>GraphObject.toMaxLinks</a> when links were already connected in both directions.</li>
|
|
<li>Fixed an issue with Table <a>Panel</a>s not accounting for <a>GraphObject.padding</a> properly.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.0.5</h4>
|
|
<ul>
|
|
<li>Added "HTML Interaction" sample.</li>
|
|
<li>Added <a>Diagram.focus</a> method.</li>
|
|
<li>Improved more API documentation.</li>
|
|
<li>Improved error checking by <a>Panel.add</a> to disallow sharing of a <a>GraphObject</a> by <a>Panel</a>s.</li>
|
|
<li>Setting <a>Part.category</a> of a <a>Node</a> or <a>Link</a> or simple <a>Part</a> now also tries to set the category of any bound data in the model.</li>
|
|
<li>Fixed dynamically changing the <a>Part.category</a> of a <a>Link</a> that connects with specific ports to remember those port Ids.</li>
|
|
<li>Fixed <a>Diagram.skipsUndoManager</a> property setter to also set the Diagram's Model's <a>Model.skipsUndoManager</a>.</li>
|
|
<li>Fixed some issues relating to scrollbars, especially on small diagrams.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.0.4</h4>
|
|
<ul>
|
|
<li>Improved API documentation for some classes.</li>
|
|
<li>Improved error message when running in browsers without support for Canvas.</li>
|
|
<li>Fixed hit testing of individual <a>Panel.Grid</a> Panels</li>
|
|
<li>Fixed the default touch context menu to no longer scroll to the top of the page when a button was pressed.</li>
|
|
<li>Changed the way GoJS handles event coordinates, increasing accuracy on complex HTML pages.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.0.3</h4>
|
|
<ul>
|
|
<li>Added "Planogram" sample.</li>
|
|
<li>Fixed <a>ResizingTool</a> modifying the saved <a>ResizingTool.minSize</a>.</li>
|
|
<li><a>Diagram.selection</a> read-only-ness is now enforced.</li>
|
|
<li>Fixed <a>Panel.Table</a> <a>Panel</a> allocating an incorrect size for some stretched objects.</li>
|
|
<li>Fixed <a>TextBlock</a> not respecting maximum height.</li>
|
|
<li>Fixed <a>Panel.Grid</a> incorrect hit testing (object picking).</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.0.2</h4>
|
|
<ul>
|
|
<li>Added "Swim Lanes" sample.</li>
|
|
<li>Fixed <a>DraggingTool</a> updating the bounds of a containing <a>Group</a> when <a>Group.computesBoundsAfterDrag</a> is true.</li>
|
|
<li>Fixed a single <a>Shape</a> inside of a <a>Panel.Auto</a> <a>Panel</a> getting the wrong size if only <a>GraphObject.minSize</a> was set.</li>
|
|
<li>Improved measurement of nested <a>Group</a>s during automatic layouts.</li>
|
|
</ul>
|
|
|
|
<h4>Changes for 1.0.1</h4>
|
|
<ul>
|
|
<li>Added "Record Mapper" sample.</li>
|
|
<li>Removed deprecated "closed" argument to <a>PathFigure</a> constructor.</li>
|
|
<li>Fixed <a>LayeredDigraphLayout</a> routing of Bezier <a>Link</a>s connecting with visible <a>Node</a>s inside <a>Group</a>s.</li>
|
|
<li>Fixed sizing <a>Panel.Auto</a> <a>Panel</a>s with a <a>Panel</a> as the main element.</li>
|
|
<li>Initialization bugfixes.</li>
|
|
</ul>
|
|
|
|
<hr style="margin-top:50px;" />
|
|
</div> <!-- end container -->
|
|
<script src="../assets/js/jquery.min.js"></script>
|
|
<script async src="../assets/js/bootstrap.min.js"></script>
|
|
</body>
|
|
</html>
|