This is an extension and not part of the main GoJS library. Note that the API for this class may change at any time. If you intend to use an extension in production, you should copy the code to your own source directory. Extensions can be found in the GoJS kit under the
extensions (for loading via script tags),
extensionsTS (UMD modules), or
extensionsJSM (ES6 modules) folders. See the Extensions intro page for more information.
The PolylineLinkingTool class the user to draw a new Link by clicking where the route should go, until clicking on a valid target port.
This tool supports routing both orthogonal and straight links. You can customize the LinkingBaseTool.temporaryLink as needed to affect the appearance and behavior of the temporary link that is shown during the linking operation. You can customize the LinkingTool.archetypeLinkData to specify property values that can be data-bound by your link template for the Links that are actually created.
If you want to experiment with this extension, try the Polyline Linking sample.
Use a "crosshair" cursor.
This supports the "Z" command during this tool's operation to remove the last added point of the route. Type ESCAPE to completely cancel the operation of the tool.
Add a point to the route that the temporary Link is accumulating.
Have the temporary link reach to the last mouse point.
If this event happens on a valid target port (as determined by LinkingBaseTool.findTargetPort), we complete the link drawing operation. insertLink is overridden to transfer the accumulated route drawn by user clicks to the new Link that was created.
If this event happens elsewhere in the diagram, this tool is not stopped: the drawing of the route continues.