Releases: elyra-ai/canvas
release_12.39.1
release_12.39.0
release_12.38.0
Feature Enhancements
Common-Canvas
#1631 updated translations
New translations have been added.
#1627 Cannot edit nodes below the notification panel
There is a bug in 12.37.0 that prevents the user from interacting with nodes that appear below the notification panel (when that panel is open). If your app is using the Notification Panel function you should use this release instead of 12.37.0.
Common-Properties
#1629 Added getTopLevelActiveGroupId() method in properties controller
A new properties controller method has been added called getTopLevelActiveGroupId()
.
/*
* Returns the id of top-level active tab or accordion
*/
getTopLevelActiveGroupId()
Please note this method won't work for nested tabs or panels.
In this case, the method will return the id of Tab Test3
group -
In this case, the method will return the id of Tab Test2
group -
Issues Resolved
#1631 updated translations (#1632)
#1629 Added getTopLevelActiveGroupId() method in properties controller (#1630)
#1627 Cannot edit nodes below the notification panel (#1628)
release_12.37.0
Feature Enhancements
Common-Canvas
#1577 Peer dependency warnings when using @elyra/canvas with React 17 (partially implemented)
- As part of this change we no longer use the
react-contextmenu
module. Some of the class names on DOM elements of the context menu have changed. - The react-resize-detector version has been incremented to the latest release. Note: we had to fix our Jest tests so they will run successfully with the following workaround: https://github.com/maslianok/react-resize-detector#testing-with-enzyme-and-jest
You may need to do the same.
The team still needs to fix the code mirror aspects of this issue.
#1601 Allow individual palette nodes to be disabled
Two new UI attributes are now supported for nodes:
palette_class_name - a class that will be applied to the div that represents the node in the palette
palette_disabled - will prevent the node in the palette from being dragged or double-clicked onto the canvas
Another related attribute which was added in a previous release is:
palette_image - an alternative image that us displayed to represent the node in the palette.
The schema for UI attributes for nodes has been updated in the pipeline-schemas repo.
#1129 Externalize string 'Return to previous flow'
This build includes a fix that changes the way the Return to previous flow
button works which is shown when viewing a sub-flow. The button is now a Carbon button and the text is in the translatable files and will be translated during the next translation cycle.
Common-Properties
Bug fixes
Issues Resolved
#1624 Enable skipped tests to run in Cypress (#1625)
#1129 Externalize string 'Return to previous flow' (#1623)
#1619 Notification panel temporarily appearing in test harness (#1620)
#1621 In Cypress, open palette directly instead of simulating the action through the right-side flyout. (#1622)
#1617 Using keyboard to Redo (Command + Shift + Z) beyond end of command stack causes error (#1618)
#1615 Refactor zoom code into a utility file (for consistency) (#1616)
#1599 Implement new link creation using d3-drag (for consistency) (#1600)
#1577 Peer dependency warnings when using @elyra/canvas with React 17 (#1610)
#1613 Allow individual palette nodes to be disabled (for double-click) (#1614)
#1601 Allow individual palette nodes to be disabled (#1606)
#1598 Prototype the mapping transformer application (#1609)
#1607 Rename react-node sample app to be react-nodes-carbon (#1608)
release_12.36.0
Feature Enhancements
Common-Canvas
Just bug fixes
Common-Properties
#1604 Added property config to be able to hide "Alerts" tab and message count on tab names
Added a new config option in propertiesConfig object to show/hide "Alerts" tab -
showAlertsTab (boolean) - Default true to show "Alerts" tab whenever there are error or warning messages. If set to false, Alerts tab won't be displayed.
When showAlertsTab: true
or showAlertsTab
is not set, "Alerts" tab will be displayed. Also tab name shows the number of error/warning messages in the tab. Like this:
When showAlertsTab: false
, "Alerts" tab won't be displayed. Tab name doesn't show number next to it. Like this:
Issues Resolved
#1604 Added property config to hide Alerts tab and message count on tab names (#1605)
#1602 Category label in palette category misaligned with no category image and long label (#1603)
#135 Notification panel scrolling issue (#1587)
#1596 Use separate function to apply listeners to link handles (#1597)
#1594 Attempt is made to close context toolbar even when toolbar is closed (#1595)
#1592 Palette items are not left aligned (#1593 )
#1590 Contents div should be opened in appropriate order (#1591)
#1588 Console error being displayed when unexpected object is dropped… (#1589)
release_12.35.0
Feature Enhancements
Common-Canvas
#1567 Nodes raising to top on hover
A new config parameter called enableRaiseNodesToTopOnHover
has been added. When set to true
(which is the default) when the mouse cursor is moved over a node it will be displayed on top of any overlapping nodes — this has been the default behavior of common-canvas up to now. When set to false
, nodes will not be raised to the top when hovered over with the mouse cursor. See details here:
https://github.com/elyra-ai/canvas/wiki/2.1-Config-Objects#enableraisenodestotoponhover
#1569 Add a setLinks method to canvas controller
A new method has been added to the canvas-controller called setLinks
// Sets the current links array for a pipeline to the list passed in.
// linkList - An array of links to replace the current array.
// pipelineId - The ID of the pipeline (optional)
setLinks(linkList, pipelineId)
#1571 Allow app to disable automatic node sizing with large number of ports
When a node has a large number of input or output ports the node is sized so that when the ports are displayed they all fit within the dimensions of the node. A new node layout field has been added that can tell the node to not automatically size the node based on the number of ports. It defaults to true
but it can be set to false
like this:
const canvasConfig: {
enableNodeLayout: {
autoNodeSize: false
}
};
Common-Properties
#1575 When parameterDef is dynamically updated, don't set INITIAL_LOAD on pre-existing properties
Added a new optional config option “id” in propertiesInfo object.
id: "{id}" // Unique parameter definition ID [Optional]
If a host application wants to be notified that new properties were added in the existing parameterDef, it should specify the same id
each time common-properties is rendered. Common-properties will compare the id
to identify whether an old parameterDef is updated (same id provided) or a completely new parameterDef is provided (new id provided).
If a parameterDef is dynamically updated, the propertyListener callback will set type: "initial_load"
on the newly added properties only. For pre-existing properties, the type will not be set.
Issues Resolved
Bump postcss from 8.3.6 to 8.4.31 in /canvas_modules/harness (#1586)
#1575 When parameterDef is dynamically updated, don't set INITIAL_LOAD on pre-existing properties (#1578)
#1584 Remove stroke from read-only nodes (#1585)
#1582 Resize height and width used even when isResized is false (#1583)
#1580 Drag behavior incorrectly removed with enableEditingAction: false (#1581)
#1573 Zoom to fit action causing console error when already zoomed to… (#1574)
#1571 Allow app to disable automatic node sizing with large number of… (#1572)
#1569 Add a setLinks method to canvas controller (#1570)
#1567 Nodes raising to top on hover (#1568)
release_12.34.0
Feature Enhancements
Build
Elyra Canvas peer dependencies support for React has been extended to v17, it previously supported v16 and v18.
"react": "^16.0.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0",
Common-Canvas
Just bug fixes
Common-Properties
Just bug fixes
Issues Resolved
#1562 For oneofselect with custom_value_allowed, don't display error message on initial render (#1563)
#1565 Group elements being created for nodes on hover when layout.ellipsisDisplay is false (#1566)
#1560 Node image is being displayed even when imageDisplay is set to … (#1561)
#1559 Consider adding React 17 support to @elyra/canvas (#1564)
#1557 Top and bottom panel don't interact with the canvas area correctly (#1558)
#1555 When enableEditingActions is changed while the canvas is open, d… (#1556)
#1553 Duplicate ID in toolbar causing accessibility errors (#1554)
release_12.33.0
Feature Enhancements
Common-Canvas
#1540 Improve SVG file load performance (This was actually added in release 12.32.2)
A new canvas config property called enableImageDisplay
has been added which allows the application to control the way in which images are retrieved for display on the canvas. In particular, it can be used to improve performance of the display of images when the browser cache is disabled and there are a large number of repeated images on the canvas.
Details here: https://github.com/elyra-ai/canvas/wiki/2.1-Config-Objects#enableimagedisplay
#1549 Provide field to differentiate different updateLink gestures
With detachable links enabled, that is, with the config field enableLinkSelection
set to "Detachable", the user can perform a number of different gestures with the link handles which are at the ends of the link. For each gesture, the editActionHandler
callback is called with the editType
property of the data
parameter (first parameter) set to ”updateLink”
. This however is not suffcient for the host application to detect what specific gesture the user performed on the link.
For the updateLink
action, a new field has been added to the data
parameter called editSubType
which will be set to one of the following strings:
"detachFromSrcNode"
The source end of the link was dragged from a node onto the canvas background.
"detachFromTrgNode"
The target end of the link was dragged from a node onto the canvas background.
"attachToSrcNode"
The source end of the link was dragged from the canvas background to a source node.
"attachToTrgNode"
The target end of the link was dragged from the canvas background to a target node.
"moveSrcPosition"
The source end of the link was dragged from one position on the canvas background to another.
"moveTrgPosition"
The target end of the link was dragged from one position on the canvas background to another.
"switchSrcNode"
The source end of the link was dragged from the source node to a different source node.
"switchTrgNode"
The target end of the link was dragged from the target node to a different target node
"switchSrcNodePort"
The source end of the link was dragged from a port on the source node to a different port on that node.
"switchTrgNodePort"
The target end of the link was dragged from a port on the target node to a different port on that node.
Note:
The link objects, referenced in the updateLink
action, can have a number of fields that are used to indicate the source end of the link’s source node or position. For the source end of the link these are:
srcPos - an object with two fields x_pos and y_pos.
or
srcNodeId - ID of the source node
srcNodePortId - ID of the source port
srcObj - the source object (either a node or comment)
If the srcPos
field exists, this indicates that the source end of the link is detached and is drawn from a point on the canvas background described by the x_pos
and y_pos
values. If the srcPos
field does not exist, then the other fields describe the source node (and optionally) source port that the link’s source end is attached to. If the source port ID is undefined, this indicates that the link is attached to the first input port of the source node.
The same rules apply for the target node and position except, of course, ‘src’ in the field names is ‘trg’.
The code has been tided up in this area so now, in the debugger, you should see either srcPos/trgPos OR the other fields to identify node and port info. Previously, both sets of fields were in the link even though some srcNodeId, srcNodePortId and srcObj are redundant when srcPos exists.
Also, previously, there was a duplication of fields in that links had srcNodePortId and srcPortId as well as trgNodePortId and trgPortId. This has also been tided up so that now only srcNodePortId and trgNodePortId are provided on the link.
Common-Properties
Just bug fixes
Issues Resolved
#1551 Disabled numberfield controls should not remain in error state (#1552)
#1549 Provide field to differentiate different updateLink gestures (#1550)
#1547 Set flexible table height in ‘px’ instead of ‘rem’ (#1548)
#1545 Set month in Datefield sub_panel, on_panel control (#1546)
#1543 Fixed properties editor crashes when using numberfield cell condition (#1544)