Releases: elyra-ai/canvas
release_9.2.9
Feature Enhancements
Common-Canvas
- The three methods which were enabled in the previous release (that allow the setting of class names on nodes, comments and links) have been changed.
setNodesClassName(nodeIds, newClassName, pipelineId) setCommentsClassName(commentIds, newClassName, pipelineId) setLinksClassName(linkIds, newClassName, pipelineId)
They will now set the provided class name on the group object <g>
for the appropriate element in the DOM. Previously they assigned the class name to the background rectangle of the node/comment and for links to the link line and arrow head. This approach allows constituent parts of each group element to be customized based on a single class assigned to the parent group <g>
.
- The class names for link lines have been changed. Previously the class that indicates the type of link (for example,
d3-data-link
) was assigned to both the parent group<g>
object of the link and also to the line element<path>
within the group. Now it is only assigned to the parent group<g>
element. You probably won't see any sign of this change but, for completeness, if you are overriding any of these classes to provide your own line styles for the different types of link:
.d3-data-link
.d3-comment-link
.d3-object-link
.d3-association-link
You should change them to:
.d3-data-link .d3-link-line
.d3-comment-link .d3-link-line
.d3-object-link .d3-link-line
.d3-association-link .d3-link-line
Common-Properties
- Just bug fixes.
Issues resolved
#474 Link decorators should appear under link handles (#475)
#470 Selection of comment to node links difficult (#471)
#472 Fixed filtering error in structurelisteditor (#473)
#468 Set classname API should set class name on group objects (#469)
release_9.2.8
Feature Enhancements
Common-Canvas
-
The Canvas Controller now supports methods that allow the application to add class names to the canvas objects. These methods were present in the API before but not functional. The methods are:
setNodesClassName(nodeIds, newClassName, pipelineId) setCommentsClassName(commentIds, newClassName, pipelineId) setLinksClassName(linkIds, newClassName, pipelineId)
These will add the provided class name (string) to the class name attribute in the DOM for specified object. For nodes and comments the class name will be applied to the background rectangle of the node or comment, for links it will be applied to the link line and arrow head (if there is one).
-
The Canvas Controller now has three new methods that retrieve the class name applied to the object specified.
getNodeClassName(nodeId, pipelineId) getCommentClassName(commentId, pipelineId) getLinkClassName(linkId, pipelineId)
Common-Properties
-
A new option
schemaValidation
has been introduced in thepropertiesConfig
object. If set to true, schema validation will be enabled when a parameter definition has been set in CommonProperties. Any errors found will be reported on the browser dev console -
A new UI hint
class_name
has been introduced for common properties groups and parameters -
A new UI hint
custom_value_allowed
has been introduced for common properties dropdown controls. If set to true, users may enter a new value for the dropdown. -
A new
multiselect
dropdown control has been added. -
Numerous accessibility improvements have been made.
Issues resolved
#462 Improve test harness code that creates externally dragged objects (#463)
#452 Multiselect dropdown (#461)
#437 List control and Virtualized Table are accessible (#438)
#446 Default properties schema validator to false (#460)
#453 Undo of link deletion doesn't bring back link decorations (#454)
#457 Update to latest Cypress version: 6.3.0 (#458)
#459 Fixed Cypress tests (#456)
#446 Schema validator for properties parameter definitions (#448)
#449 Refactor canvas utility functions (#450)
#442 Enable setting class name property on links, comments and nodes (#443)
#431 Properties panels and conditions can specify class names (#433)
#445 Test harness header is accessible (#447)
#441 Removed padding in properties dropdown (#444)
#439 Performance issues while dragging new node over links in canvas (#440)
#408 Remove node-sass dependency (#409)
#434 Add custom condition operation in test harness for properties (#435)
#426 Textarea, Textfield, Timefield, Toggletext controls are accessible (#432)
#427 dropdown support to enter custom value (#428)
#423 Datefield, Numberfield, Spinner, Passwordfield controls are accessible (#424)
#419 Improve Common Properties TitleEditor (#425)
#391 Checkboxset control should be accessible (#393)
#420 Remove zoomPipeline method and refactor (#421)
release_9.2.7
Issues resolved
#410 add null checks (#417)
#415 Refactor common canvas and svg-canvas-d3 initial render function (#416)
#413 Change background color in properties documentation (#414)
#403 Support Cypress v6.1.0 (#412)
#410 setPropertyValues() should convert input values into the internal format (#411)
release_9.2.6
Feature Enhancements
Common Canvas
-
The canvas objects (nodes, comments, links) can now be offset from the origin by a specified x and y amount when the canvas is first opened. This might be useful if you know your canvas always needs to be moved by a fixed amount of space regardless of what canvas objects are displayed. To specify the x and y amount create a canvas config object like this:
const config = { enableCanvasLayout: { initialPanX: 100, initialPanY: 200 } };
where the numbers are coordinate positions from the origin which is, by default, the top left corner of the canvas.
Note: These values will only be used when other saved zoom behaviors are not specified. Examples, of saved zoom behaviors are:
- A saved zoom object in the browser's Local Storage when the canvas config value
enableSaveZoom
is set toLocalStorage
- A saved zoom object in the pipeline flow when the canvas config value
enableSaveZoom
is set toPipelineflow
- When the canvas config value
enablePanIntoViewOnOpen
is specified astrue
- A saved zoom object in the browser's Local Storage when the canvas config value
Issues resolved
#405 Ability to position nodes on the canvas during componentDidMount (#407)
release_9.2.5
Feature Enhancements
Common-Canvas
- The ghost image displayed when dragging a node from the palette now works correctly when the Chrome or Firefox browser page is zoomed. Note: There is still an issue with this on Safari.
- Zoom amounts are now saved in a valid format in the pipelineFlow document when
enableSaveZoom
is set to"Pipelineflow"
- Comments that are positioned with either a negative x or y coordinate are now saved to a pipeline flow document that conforms to the pipeline flow UI schema.
- Elbow lines now behave the same way as curved lines when the target node is 'behind' the source node. That is, they loop around the outside of the source and target nodes instead of going underneath them.
- The
Paste
option does not now appear in theEdit
submenu for Nodes, Links and Comments. - Port circles are now removed if an empty inputs or outputs array is specified for a node in the Canvas Controller API
- The Canvas Controller API now returns copies of objects from the object store instead of a pointer to the actual data in the object store.
Issues resolved
#399 Use latest pipeline-schemas module (#400)
#394 Add publish Action (#398)
#381 Palette icon positioning does not match cursor when browser zoom… (#382)
#385 Saved pipelineFlow should store valid zoom amount (#386)
#387 Adapt overlapping link algorithm to elbow link type (#388)
#389 propertyListener return values as object if the parameter structureType is object (#390)
#394 Move to github actions (#395)
#383 Remove Paste option from node and link overflow menus (#384)
#376 Port circle still visible after port has ben removed (#377)
#373 Common canvas API should not return Redux store data to host app (#374)
Attribute copyright notice to Elyra Authors (#380)
release_9.2.2
Feature Enhancements
Common-Properties
- #359 a new “readonlyTable” is introduced. A complex structure can be set to be readonly by specifying “control”: “readonlyTable” in the parameter_info section of the parameter definition. Examples can be found at https://github.com/elyra-ai/canvas/blob/master/canvas_modules/harness/test_resources/parameterDefs/readonlyTable_paramDef.json
Issues resolved
#368 Add dark themed CodeMirror support for Expression Builder (#372)
#359 readonlyTable control (#371)
#349 Display checkbox tooltips next to label in common-properties (#350)
release_9.2.1
Feature Enhancements
Common-Canvas
-
#12 The context menu
Paste
option now pastes objects from the clipboard at the mouse pointer position where the context menu was requested. -
#357 Four new API methods have been added to Canvas Controller:
getNodeInputPorts(nodeId, pipelineId) getNodeOutputPorts(nodeId, pipelineId) setNodeInputPorts(nodeId, inputs, pipelineId) setNodeOutputPorts(nodeId, outputs, pipelineId)
The second two can be used to add new ports to the node; they will cause the canvas to refresh to reflect the ports specified.
See the canvas controller API documentation for more details. -
Warning: In this release the internal structure of canvas objects in the DOM has changed. Nodes, Links and Comments are now inside their own group (
<g>
) element. This means, if you have any tests that use selectors to identify objects (nodes, comments, links) like this:svg > g > g[data-id=123]
the selector would now be:
svg > g > g > g[data-id=123]
Common-Properties
- #255 Nested complex structures are now supported in common-properties. Complex structures that can be nested includes: structuretables, structurelisteditors, structureeditor and list controls. Examples are added to the test harness https://github.com/elyra-ai/canvas/tree/master/canvas_modules/harness/test_resources/parameterDefs
Issues resolved
#366 Some toolbar icons not visible with dark theme (#367)
#362 Selectable links disappear under comment when hovering stops (#363)
#167 Paste button is always enabled (#364)
#255 Complex types support complex types sub-controls (#256)
#360 Wide node labels truncated when displayed as part of ghost image (#361)
#357 Port addition/deletion UI render bugs (#358)
#12 Clipboard paste with context menu should add objects at mouse pos… (#353)
release_9.1.9
Feature Enhancements
Common-Canvas
This release contains the two bug fixes mentioned below; one of which is high priority.
Common-Properties
No changes
Issues resolved
#354 Can't delete the node on click of delete button of keyboard for the 1st time (#355)
#351 Link selection highlighting incorrectly displayed when link selection switched off (#352)
release_9.1.8
Feature Enhancements
Common-Canvas
- Two new properties are now supported for decorations:
- distance - this can be used for positioning a decoration at an offset distance along a straight connecting line between nodes. An example of the usage of this new property can be seen in the
detached links
sample application in the test harness. - temporary - if set to true the decoration will not be written into the pipeline flow document when it is requested using
CanvasController.getPipelineFlow()
See the decoration documentation in the wiki for details.
- distance - this can be used for positioning a decoration at an offset distance along a straight connecting line between nodes. An example of the usage of this new property can be seen in the
Common-Properties
- #319 - For accessibility, the landmark role
complementary
was added for common-properties. This means the right flyout view of common-properties is now wrapped in an<aside />
tag. Earlier this was a<div />
tag. This will change any selectors you might use for common properties if you have included the tag name (div
) in the selector. There is no change in the modal view.
Issues resolved
#339 Link decorations improvements (#342)
#347 Translations (#348)
#345 Empty toolbarConfig object produces error messages in developer console (#346)
#343 Fixed dropdown menu border blocked by Close button (#344)
#319 Add landmark role for common-properties (#340)
#325 Fixes expression builder onBlur behavior (#336)
#337 Double click on node causing text areas in properties to be highlighted (#338)
#328 Prevent evt propagation when selecting a dropdown option within a table row (#335)
#333 Properties table performance (#334)
release_9.1.6
Feature Enhancements
Common-Canvas
-
A new boolean config variable called
enablePositionNodeOnRightFlyoutOpen
has been added. When set to true, if the right-side flyout is open the currently selected node will be automatically positioned in the center of the canvas area (viewport). See the wiki section for details: https://github.com/elyra-ai/canvas/wiki/2.1-Config-Objects#enablepositionnodeonrightflyoutopen -
Two new CanvasController API methods have been added to allow the host application to modify the source and target information for a link. These are:
- setNodeDataLinkSrcInfo(linkId, srcNodeId, srcNodePortId, pipelineId)
- setNodeDataLinkTrgInfo(linkId, trgNodeId, trgNodePortId, pipelineId)
-
With
enableLinkSelection
set toDetacahable
, a node can now be a attached to either the source-end or the target-end of a fully-detached link. -
Select All
actions with the keyboard (Ctrl-A) and the context menu will now select the links on the canvas as well as comments and nodes (whenenableLinkSelection
is set toLinkOnly
,Handles
orDetacahable
). -
Nodes with empty
inputs
and/oroutputs
properties are now correctly written out into PipelineFlow documents returned fromCanvasController.getPipelinFlow()
Issues resolved
#331 Pipeline-out handler not writing empty outputs and inputs arrays (#332)
#329 Not able to attach a node as target on a detached link (#330)
#326 Add new canvas controller APIs to modify canvas objects (#327)
#323 Right flyout drop shadow should not extend above top of flyout (#324)
#320 Enable positioning of node on opening rightside flyout (#321)
#138 Fix Travis message that is obscured (#318)
#316 Select All option (keyboard or context menu) should select links… (#317)
#315 Add validate option to test harness (#314)
#311 Adjust Right side flyout height (#312)
#307 Accessibility support for API configuration options (#310)