Releases: elyra-ai/canvas
release_9.1.4
Feature Enhancements
Common-Canvas
-
The right side flyout may now be displayed below the toolbar so the toolbar does not compress when the properties are being edited. The
enableRightFlyoutUnderToolbar
canvas configuration field needs to be set totrue
to activate this behavior. See this section in the wiki. -
The zoom in and zoom out buttons in the toolbar now zoom the canvas objects to and from the center of the viewport. Previously they always moved the canvas to the center of the viewport (zoom-to-fit) and then performed the zoom.
-
When the canvas is empty an appropriate image is now displayed. An incorrect image was displayed in version 9.1.1.
-
The
ghost
image displayed as a node is being dragged from the palette now correctly includes the node icon the first time it is dragged. In addition it now includes the text for the node as well.
Issues resolved
#308 Enable right-side flyout to appear below the toolbar (#309)
#300 Accessibility support for common-canvas configuration options (#306)
#304 Text panels without descriptions shouldn't show text (#305)
#297 Zoom in/out buttons should not zoom to fit before zooming (#298)
#302 Upgrade jsonschema library to latest version (#303)
#299 Accessibility support for common-properties configuration options (#301)
#293 Display an appropriate image when the canvas is empty (#294)
#278 Added landmark roles for A11y (#279)
#291 Allow empty canvas content and drop zone content to be switched on and off in the test harness (#292)
#289 The test harness should support enableHightlightNodeOnNewLinkDrag config option (#290)
#287 Drag ghost image sometimes doesn't contain the node icon (#288)
#284 Upgrade dependencies to latest (#285)
#250 Styling fix - Implement new design for Expression Builder (#286)
#280 Replace icons with slimmed down versions (#281)
#282 Change properties-button height to 64px (#283)
release_9.1.1
Feature Enhancements
Common-Canvas
#271 Detachable links are now supported. The enableLinkSelection
configuration field can now be set to one of 4 values: "None", "LinkOnly", "Handles" and "Detachable". Each setting enables an increasing amount of function to manipulate links.
The "Handles" setting allows:
- link handles (either a circle or an image) to be displayed at the start and end of the link line
- link handles can be used to rewire the flow by dragging, say, the end link handle from one node/port to another node/port
The "Detachable" setting allows:
- detached links to be drawn on the canvas
- detached links to be stored in and retrieved from the pipeline flow document
- detached links to be manipulated with link handles
- a new detached link to created by drawing out a new link from a node and dropping it on the canvas
- palette and canvas nodes when they are dragged over the canvas may be dropped onto detachable links to automatically attach them to the node
See the wiki for details of enableLinkSelection
#274 The 'ghost' image displayed when a node is dragged from the palette is now tailored to represent what the user is going to get when they drop the image over the canvas. This includes the correct size based on whether horizontal
or vertical
nodes are being displayed and the correct size based on the zoom amount.
In Elyra canvas, there is now more robust checking of port cardinalities when making connections between nodes. The cardinality of input and output ports should be set appropriately in the pipeline flow and palette . As per the pipeline flow UI schema, the maximum cardinality can be set to -1 to allow an unlimited number of connections to an input port of from an output port.
Common-Properties
#262 - A new parameter is now passed into closePropertiesDialog() callback function to indicate where this call was originated from. For more information, see the common properties wiki
#266 - Reduced spacing around properties within a modal
#262 - Custom labels are now supported for main properties button. For more information, see the common properties wiki
#250 - The layout of the Expression Builder has been updated also some bugs have been fixed for inconsistent cursor behavior when adding fields/functions/operators to the expression builder.
Developer Notes
As of version 9.1.0, you will need to upgrade your Carbon dependencies (listed below) to match the ones in Elyra canvas, as there were some breaking changes between 10.14 and 10.20
@carbon/icons-react
@carbon/themes
carbon-components
carbon-components-react
#269 - Updated the sizing set on Carbon modals. A classname "small" , "medium", "large" was removed from properties-modal since its no longer required by common-properties to override the size.
Issues resolved
#271 Support link handles to enable manipulation of links and detache… (#277)
#250 expression builder redesign (#273)
#268 Translate dropdown menu tooltips (#276)
#274 Dragged palette object should show the user what they are going … (#275)
#263 custom labels for properties buttons (#265)
#269 map properties modal sizes to carbon modals (#270)
#266 reduce spacing for properties in modal (#267)
#262 differentiate when closePropertiesDialog is called from 'Cancel' or 'Save' (#264)
#260 Update svgs and fix unit test failure and subtab styling (#261)
#243 Display tooltip for last palette node on screen (#257)
#258 Skipped a unit test - validate subtabs work correctly (#259)
#253 CanvasController.creatNodeLinks does not return the links created (#254)
#251 Numberfield default value set to empty string when undefined (#252)
#244 Support function to read and write detachable links to/form a pi… (#245)
#248 New array and string length conditions (#249)
#246 support conditions in subtabs (#247)
#225 Context menu should close when panning or zooming the canvas (#226)
#241 adding latest translations after TVT phase 1 (#242)
#238 Add subtitle to notification messages - styling (#240)
#238 Add subtitle to notification messages (#239)
#236 Enums rendered in paramDefs should render the translated label, not the internal value (#237)
#227 Add function to get palette node type for operators (#235)
#229 Pipleine handlers do not read in and write out node's connection fields correctly (#234)
#232 Add a callback for notifications "Clear All" button (#233)
#230 Long notification message overflow for environments that don't support overflow-wrap: anywhere (#231)
#222 Palette icon not picking up translated text (#223)
release_9.0.9
Feature Enhancements
Translation
- Translated text is now included for the supported languages
Common Canvas
-
Links are now selectable.
- Historically common-canvas links were not selectable although the user could right-click a link and get a context menu. There is now a new canvas configuration variable called
enableLinkSelection
which, when set to true, will allow links to be selected. When selected they are highlighted. - Link selection will work just like other canvas objects so Cmd + Click-on-link will add the link to the set of selected objects.
- When
enableLinkSelection
is set to true, any data returned in callback functions (such as editActionHandler) which contains the selected objects array will contain the selected links in the array along with any selected nodes and comments. This means link IDs are in the same name space as node IDs and comment IDs and therefore must be unique when compared to node and comment IDs. - Also, when
enableLinkSelection
is set to true, theclickActionHandler
andselectionChangeHandler
will be called when the user clicks on a link. - This change altered some internal class names for link objects:
link-group is now d3-link-group
d3-selectable-link was removed and replaced with d3-link-line for link lines and .d3-link-line-arrow-head for arrow heads
The data-id and data-pipelineId attributes have been removed from link lines (SVG path) elements. Those attributes are now only applied to the d3-link-group
- Historically common-canvas links were not selectable although the user could right-click a link and get a context menu. There is now a new canvas configuration variable called
-
Toolbar now allows tooltip text to be specified.
Previously the tooltip always showed the label text. Host applications can now override that text and specify different text for the tooltip than for the label. -
Toolbar now allows JSX objects in addition to buttons
Traditionally the toolbar allows actions to be specified in the form of icons, labels etc which are managed by common canvas as buttons. Some host applications want to specify other elements in the toolbar that are not wrappered inside a button.
Common canvas now supports an advanced capability which allows the host app to specify a toolbar action as pure JSX object. See the toolbar documentation for more details. https://github.com/elyra-ai/canvas/wiki/2.1-Config-Objects#advanced-jsx-actions -
getZoomToReveal now accepts position information.
ThegetZoomToReveal()
method in canvas controller returns a zoom object which can be provided to thezoomTo()
method that will zoom objects into the canvas viewport. That method has been extended so it now receives xPos and yPos parameters (which are a percentage of the viewport width and height) to indicate where you want the identified node(s) to zoom to. -
Connections schema now allows properties of native types
The pipeline-connection-v3-schema.json schema now allows theproperties
property to contain properties of native types. Previously each property had to be an object.
Common Properties
- Carbon 10 styling updates
Issues Resolved since last release build
#95 common properties carbon 10 styling updates (#224)
#221 Enabling translation (#220)
#210 Adjust notification panel padding (#211)
#218 Make zoomToReveal accept x and y offset amounts (#219)
#199 Translated data type tooltips in fieldpicker filters (#201)
#216 Translations in Expression Builder (#217)
#214 SelectionChangeHandler not called on link selection with enableLinkSelectio (#215)
#208 Support ability to hookup custom components in the Toolbar (#213)
#206 Use new pipeline-schemas version: 3.0.19 (#207)
#204 Rename common-canvas-d3.scss to svg-canvas-d3.scss (#205)
#202 Provide API method to pan objects to center of the canvas viewport (#203)
#197 Support link selection
#195 Toolbar icon label vertical positioning (#196)
#193 Toolbar related issues with smaple apps (tiny and small) (#194)
#188 Enable toolbar for screen reader (#189)
#191 Notification Panel subtitle should allow object or string (#192)
#187 Notification Messages overflow on long words (#190)
#185 Enable sample apps for toolbar change (#186)
#183 CommonCanvasToolbar should not alter props (#184)
release_9.0.3
Feature Enhancements
Build
- Peer dependencies have been updated to include react-intl 5.x
- Moved up to babel 7 along with many other node dependencies.
- Fixes for tree shaking have been added so common-canvas bundle now includes all dependencies besides peer dependencies.
Common-properties
- A new
list
control has been introduced. #170 - Ability to specify a complex structure
type
to Common Properties and return the data values in that format. #168
Common-canvas
- The palette can now be switched off using
enablePaletteLayout = "None"
in the canvas config object. If this is done the palette icon will not be displayed in the toolbar. - There is a new canvas configuration option to switch off the toolbar called
enableToolbarLayout
. This can be set to "Top" or "None". - The configuration of the toolbar has changed. The host application can now:
- Optionally, customize the right side 'tools' in the toolbar
- Optionally, specify that the text label be shown next to the icon in the toolbar (either before or after the icon)
- Optionally, specify one of the carbon button styles to be used for a tool in the toolbar: Primary, Danger, Secondary, Tertiary and Ghost as well as the default styling.
- The current configuration is still supported but deprecated.
- The
editActionHandler
callback will now be called when the user clicks the following toolbar actions:zoomIn
,zoomOut
,zoomToFit
,togglePallete
,toggleNotificationPanel
Developer Notes
Build
- The path to @elyra/canvas/dist/common-canvas.min.css has changed to @elyra/canvas/dist/styles/common-canvas.min.css
- Update your react-intl to 5.x
- An update to the uuid library in Elyra-canvas might break your jest tests with this error: "crypto.getRandomValues() not supported". See this wiki documentation for more details on how to fix this.
Common-properties
- propertiesController.getPropertyValue(propertyId, options) and propertiesController.getPropertyValues(options) now takes an
options
object instead of a singlefilterHiddenDisabled
value.filterHiddenDisabled
may be specified in theoptions
as a boolean value.
This was changed as part of #168. For more information, see https://github.com/elyra-ai/canvas/wiki/3.6-Common-Properties-Controller#property-methods.
Common-canvas
- If your application does NOT use the palette then set
enablePaletteLayout
to"None"
. This should be specified rather than overriding palette CSS styles to suppress the palette. - There has been a major overhaul of the toolbar in this version.
- If you do NOT want the canvas toolbar to be displayed then set
enableToolbarLayout
to"None"
. This should be specified rather than overriding toolbar CSS styles to suppress the toolbar. - The toolbar configuration has changed to be an object but the previous configuration (which was an array of left side toolbar items) is still supported. It is recommended you change to use the new toolbar configuration because the old configuration is deprecated.
The new toolbar configuration object has two fields:leftBar
andrightBar
. Each is an array of toolbar action itms. See the toolbar configuration documentation for details. - The toolbar label can now be displayed in the toolbar action alongside the icon. See the toolbar configuration documentation for details.
- Toolbar actions can now be displayed using any of the carbon button styles. See the toolbar configuration documentation for details.
Issues Resolved since last release build.
#166 Support toolbar enhancements - label with icon and customize rig… (#181)
#168 structures to return objects of parameter ids and value pairs (#169)
#170 support list with no currentValue or default value set (#180)
#178 Remove style override for carbon select control (#179)
#170 new list control (#171)
#176 Cypress - CSS values should be in the compare range of +/- 2px (#177)
#173 Set default theme to gray10 (#175)
#173 fix common canvas css output (#174)
#164 Update to the latest node modules (#165)
#162 nodeTemplate inputs and output ui_data is being deleted (#163)
#160 properties causes canvas div to jump off screen (#161)
#154 Fix alignment for columnPanel and conditions for other panels (#155)
#158 Update lodash to 4.17.19 for security (#159)
#156 Upgrade node version to 12.18.2 (#157)
#153 Removed chimp tests from test harness (#152)
#150 Pan canvas objects into view on open (#151)
#148 Flow zoom and pan amounts not being saved correctly in desktop version (#149)
#143 Upgrade carbon components to latest version (#144)
#145 Remove unused method from condition parser (#147)
#145 Provide a properties-controller method to return action control (#146)
#141 Enable clipboard actions on the browser's Edit menu (#142)
#139 Only one element shoud be added to images (#140)
#136 Improve zoom behavior and utilities
#132 disabled control can be set to hidden (#134)
release_8.0.25
Feature Enahancements:
The notification panel has been improved with the following new features:
- Compatibility with Carbon styling for projects that use a Carbon theme
- Fixes notification message scrolling issue introduced by the fix for no-click-through when the notification panel is open
release_8.0.23
Feature Enahancements:
The notification panel has been improved with the following new features:
- Optional clear all button
- Options to dismiss individual messages
- Spacing and structure for a subtitle
- Ability to open notification center when empty, with option to pass in a default empty message
- Option to keep notification center open when clicking elsewhere
- A close button
- Styling changes
Developer Notes
The notification config object has been extended with new fields to control the features mentioned above. See the Notification Config documentation for details on how to make use of them.
release_8.0.22
Update version for common-canvas to version 8.0.22 [skip ci]