v13.5.0
Feature Enhancements
Common Canvas
#2033 Support new link line types
The link construction and drawing code has been completely overhauled in this release. Previously, Common Canvas supported "Curve" and "Elbow" links which connected ports together, and "Straight" links that were free floating (or 'freeform') which were drawn directly from the source to target node ignoring port positions.
In this new release, these concepts have been split as follows:
- The existing
enableLinkType
config field will specify the shape of the links, and can be set to either “Curve”, “Elbow”, “Parallax” or “Straight”. “Parallax” is a new line type which has a small starting and ending line separated by a diagonal line. - A new config field called
enableLinkMethod
, that can be set to "Ports" or “Freeform”, will control how the links are built, where "Ports" will draw the link from a specific port on the source node to a specific port on the target node and "Freeform" will draw the links between nodes with no reference to where ports are positioned. "Ports" is the default.
The application can use any combination of enableLinkType
and enableLinkMethod
to get the display required.
Please see the documentation here for some examples of this:
https://elyra-ai.github.io/canvas/01.01.02-links/#data-links
and here for how port positions will affect link drawing:
https://elyra-ai.github.io/canvas/03.06.01-node-customization/#overriding-port-positions-and-link-directions
There are three new sample applications in the test harness called “All ports”, "Parallax" and "Network" which shows some of the combinations of these config fields in action.
https://elyra-canvas-test-harness.u20youmx4sm.us-south.codeengine.appdomain.cloud/#/
enableStraightLinksAsFreeform
To avoid 'breaking' the API and to maintain the previous behavior where "Straight" links were always displayed as “Freeform”, a new config field has been introduced called enableStraightLinksAsFreeform
that is a boolean that defaults to true
. When true
, this will force “Straight” links to be displayed with the “Freeform” option regardless of what enableLinkMethod
is set to. If this is set to false , the value specified in enableLinkMethod
will be used by Common Canvas for "Straight" links.
Warning: enableStraightLinksAsFreeform
is deprecated and will be removed in the next major release. Therefore, applications using enableLinkType
set to “Straight” should set enableLinkMethod
to “Freeform” NOW to prevent problems when upgrading in the future.
Overriding port position and link drawing
The customization of port positions is already supported by Common Canvas but what is new in this release is that, with enableLinkMethod
set to "Ports", Common Canvas will decide on a direction for the links to be drawn to/from ports based on their positions on the node. This change means that, for example, output ports can be displayed at different sides of the node and the links will be drawn away from the node. Please see the docs here for details:
https://elyra-ai.github.io/canvas/03.06.01-node-customization/#overriding-port-positions-and-link-directions
Self-referencing links
In this release, nodes can optionally have self-referencing links that loop back to themselves.
If the new enableSelfRefLinks
config field is set to true
, users will be able to drag a link from an output port on a node and drop it onto an input port, or body, of the same node to create a self-referencing link. Alternatively, the application can programmatically create self-referencing links. These links will be displayed using the combination of settings specified for enableLinkType
and enableLinkMethod
described above.
See more in the documentation here:
https://elyra-ai.github.io/canvas/01.01.02-links/#self-referencing-links
Common Properties
Just bug fixes.
Issues Resolved
- #2028 default_value condition not run when setting property values by @caritaou in #2029
- #2033 Support new link line types by @tomlyn in #2034
- #2040 Deploy docs without versioning by @srikant-ch5 in #2041
- #2014 Use React Testing Library for common-properties tests - pt1 Actions by @mikieyx in #2015
- #2038 Add docs for node port customization by @tomlyn in #2039
Full Changelog: v13.4.0...v13.5.0