Skip to content

Releases: elyra-ai/canvas

release_12.11.0

05 Apr 07:23
342db20
Compare
Choose a tag to compare

Feature Enhancements

#988 Korean Translations (#989)

A new language, Korean, is now included in Elyra Canvas.

Common-Canvas

#959 Enable user to color comment backgrounds (#960)

The background color of comments can now be changed to one of 12 pre-defined colors. 

image

The user can change the background color by using the Color background option in the comment's context menu. 

image

The host application can switch off this option if it is not needed, by setting the defaultMenuEntries.colorBackground property of the context menu config object to false.  

When the user chooses a background color the class_name property of the comment is updated with one of the following classes: "bkg-col-white-0", "bkg-col-yellow-20", "bkg-col-gray-20",  "bkg-col-green-20", "bkg-col-teal-20", "bkg-col-cyan-20", "bkg-col-red-50", "bkg-col-orange-40", "bkg-col-gray-50",  "bkg-col-green-50", "bkg-col-teal-50", "bkg-col-cyan-50".  

#902 Making bottom panel resizable (#907)

(This was added in the previous fixpack)
The bottom panel, when made visible by setting the showBottomPanel common-canvas prop to true, can now be manually sized using drag and drop.

Apr-05-2022 00-14-04

Common-Properties

#842 Support adjustable column headers in tables (#843)

Users can now resize columns in tables. Columns are not resizable by default. Host application specifies resizable columns in UIHints parameter_info section. When a column is resized, width of ALL the columns to the right of resized column is adjusted. When any column's width reaches 56px, resizing is stopped.

"resizable": {
          "description": "Determines if this column can be resized in a table.",
          "type": "boolean",
          "default": false
 },

resize-column

#969 Replaced Close button with "X" icon when applyOnBlur is set (#970)

When applyOnBlur: true, properties panel shows "X" icon in properties title.

image

Issues Resolved

#990 Drag and drop from palette leads to performance issues (#991)
#971 Create tests for commom-canvas zoomTo() and getZoomToReveal() me… (#972)
#957 Ghost image offset incorrect on Chrome browser when dragging from the palette (#958)
#988 Korean Translations (#989)
#987 Dynamically show/hide "Edit" button on top of readonly data grid (#973)
#982 Allow toolbar to only show a label and no icon (#983)
#980 Fixed left aligned long tooltip overlaps tooltip-trigger element (#981)
#978 Update PasswordInput to TextInput.PasswordInput in common-properties (#979)
#965 Copy and paste lead to performance issues(part 2) (#974)
#975 Make default comment white-0 (#976)
#969 Replaced Close button with X icon when applyOnBlur is set (#970)
#967 Fix table button spacing and styling (#968)
#965 Copy and paste lead to performance issues (#966)
#953 Bottom panel can be sized to be above the top of the canvas (#955)
#842 Support adjustable column headers in tables (#843)
#959 Enable user to color comment backgrounds (#960)
#964 Update test harness and build to node 14 (#963)
#961 Timestamp data type showing raw value (#962)
#951 Improve Undo / Redo tooltips -- excude 0 from the text (#952)
#954 Write tests for 'drag node over link` function (#956)

release_12.10.2

03 Mar 22:33
244afe1
Compare
Choose a tag to compare

Feature Enhancements

#902 Making bottom panel resizable (#907)

Issues Resolved

#949 Opening right flyout with many nodes in canvas is slow (#950)
#947 Palette search crashes app when description field is missing (#948)

release_12.10.1

21 Feb 22:58
dd49c17
Compare
Choose a tag to compare

Feature Enhancements

None - just bug fixes.

Issues Resolved

#945 Fix Tree shaking in esm bundle (#946)
#943 Use esm import for react-virtualized table (#944)
#939 Tooltip should not be displayed when object provied for label is shown in the button (#940)
#941 Drop zone graphic stays displayed with enableEditingActions set to false (#942)

release_12.10.0

11 Feb 18:38
69da74e
Compare
Choose a tag to compare

Feature Enhancements

Common-Canvas

#917 Add config variable to disable editing actions
A new canvas config variable called enableEditingActions has been added. When set to false this will prevent actions being performed that would alter the canvas objects. This is useful when implementing a read-only canvas.  This supersedes the functionality of the recently added 'enableDragToMoveSizeNodesComments' config option which has now been removed.
See this link for details: https://github.com/elyra-ai/canvas/wiki/2.1-Config-Objects#enableeditingactions

#928 Add a sample application to show read-only behaviors
A new sample application, called Read-Only, has been added to the test harness. The code for this can be inspected to see how the read-only options are switched on:
https://github.com/elyra-ai/canvas/blob/master/canvas_modules/harness/src/client/components/custom-canvases/read-only/read-only.jsx

#936 Write a Wiki page to explain how a host app can display a read-only/locked canvas
A page was added to the wiki to describe what applications need to do to implement a read-only or locked canvas: 
https://github.com/elyra-ai/canvas/wiki/2.4.6-Constructing-a-read-only-or-locked-canvas

#930 Refactor toolbar code to allow selection highlight on any toolbar
The selection emphasis which is currently only applied to the notification messages button

image

can now be applied to any toolbar button by specifying the isSelected property of a toolbar item.  This can be used for single buttons  that have a boolean state (like a checkbox) or applied to one of a set of buttons to show a choice within a mutually exclusive set of options (like a radio button set).  See the toolbar config docs for details: 
https://github.com/elyra-ai/canvas/wiki/2.1-Config-Objects#toolbar-config-object

Common-Properties

No functional changes

Issues Resolved

#937 When text is used in toolbar button don't show tooltip (#938)
#932 Minor read-only canvas alterations (#933)
#934 Remove isSelectable from toolbar items - not needed (#935)
#928 Add a sample application to show read-only behaviors (#929)
#930 Refactor toolbar code to allow selection highlight on any toolba… (#931)
#926 Extend enableEditingActions function (#927)
#924 replace moment with new date formatting module (#925)
#922 Filter context menu after the context menu is returnd from the c… (#923)
#920 Add ability to prevent creation of nodes (#921)
#917 Add config variable to disable editing actions (#918)
#915 XSS Security vulnerability in comments where users can enter jav… (#916)

release_12.9.0

19 Jan 21:23
8bd7ed3
Compare
Choose a tag to compare

Feature Enhancements

Common-Canvas

#912 Display Locked/Read Only label on Canvas
A new canvas config property has been added called enableStateTag. This can be either "None", "Locked" or "ReadOnly". The default is "None".  When set to either "Locked" or "ReadOnly", a 'state tag' object will be shown permanently over the top of the canvas. The state tag will be positioned in the center and towards the top of the canvas. The state tag consists of a black background rectangle with rounded corners overlaid with an icon and a text label. A tooltip is displayed when the mouse pointer is hovered over the state tag. The icon, label and default tooltip will be set appropriately based on the value ("Locked" or "ReadOnly") for this setting. The host application can override the tooltip by implementing the tipHandler callback. 
Here's what the State Tag looks like: 

image

#896 Add config variable to prevent dragging/sizing of nodes and comments
A new canvas configuration property has been added called enableDragToMoveSizeNodesComments which controls whether nodes and comments on the canvas can be dragged/sized or not. The default is true so it can be set to false to prevent dragging or sizing of nodes and comments. This settings does not affect the users ability to drag the canvas background to pan the canvas, only the ability to move the nodes and comments relative to one another. This setting may be useful when displaying a read-only canvas. 

Common-Properties

#898 Configurable action image tooltip direction (#899)
Host applications can set the tooltip direction for action image using tooltip_direction option in uihints "action_info" section.  Values are right, left, top, or bottom. Default is bottom.
Documentation - https://github.com/elyra-ai/canvas/wiki/3.2-Common-Properties--UI-Hints#action-info

 #901 custom table buttons (#908) Host applications can specify custom buttons to appear within a table. If set, these buttons will override any of the default buttons that would have appeared. 

Issues Resolved

#912 Display Locked/Read Only label on Canvas (#913)
#901 Custom table buttons (#908)
#910 Set textfield to null when no default value is provided (#911)
#905 Commonjs output is missing expected exported constant (#906)
#903 Unavailable node highlighting not being cleared when link end is dropped onto unavailable node (#904)
#896 Add config variable to prevent dragging/sizing of nodes and comm… (#897)
#898 Replace "tooltipDirection" with "tooltip_direction" (#900)
#898 Configurable action image tooltip direction (#899)

release_12.8.0

17 Dec 19:20
Compare
Choose a tag to compare

Feature Enhancements

Build

#879 - Moved from webpack to rollup for module packaging.  This allow for publishing builds in esm and cjs formats instead of just cjs.  With this change there are some new peerDependencies (carbon-components, carbon-components-react, carbon-icons) and dependency are no longer bundled with the cjs module.  It's recommended to use the esm module which allows for tree shaking.  If the consuming application is using webpack to build the application it will use the new esm module by default.

Common-Canvas

#888 - Common-canvas now displays in the tooltips for the undo and redo toolbar buttons,  some text that describes the action that is to be undone or redone when the button is clicked. 

The host application can override this text for the actions that common-canvas supports by providing a new callback handler called the actionLabelHandler. See the wiki for details: https://github.com/elyra-ai/canvas/wiki/2.2-Common-Canvas-callbacks#actionlabelhandler  

Common-Properties

#877 Aligned Properties Panel Widths to Carbon standard (#878)
Properties panel width is updated to match with carbon standards for panel grid
"small" properties flyout panel has width 320px (no change). 
"medium" properties flyout panel has width 480px. Earlier this was 625px.
"large" properties flyout panel has width 640px. Earlier this was 900px.
Please review all node proeprties to ensure content is not cut off because of updated width.

#886 Added setParamDef method in propertiesController (#887)
This method  sets the default property values from given parameter definition in the propertiesController.
These values won't be displayed on the UI. Host applications can call getPropertyValues() to retrieve the values. 

setParamDef(paramDef)

#890 Added callback to allow Undo/Redo label override for Save properties action (#891)
Added a new callback method propertiesActionLabelHandler. This callback allows your code to override the default tooltip text for the Undo and Redo buttons for "Save properties" action. This callback should return a string or null. See the wiki for more details: https://github.com/elyra-ai/canvas/wiki/3.0-Common-Properties-documentation#propertiesactionlabelhandler

propertiesActionLabelHandler() {
       return "Save properties custom label";
 }

Issues Resolved

#890 Added callback to allow Undo/Redo label override for Save properties action (#891)
#892 Removed padding for empty control group (#893)
#888 Improve Elyra undo/redo to include recording event of what will be undone/redone (#889)
#886 Added paramDef getter/setter methods in propertiesController (#887
#858 Enable tooltips for table cells in fieldpicker and expression control tables (#859)
#849 Testing bottom panel right pannel (#885)
#883 Region select behaves differently for links and nodes (#884)
#881 Minimum initial line for elbow link lines not set (#882)
#879 Move from webpack to rollup (#880)
#877 Aligned Properties Panel Widths to Carbon standard (#878)
#875 Context menu remains displayed while dragging (#876)
#873 Errors in console when straight line is drawn and start and end point of line are the same (#874)
#871 Error in console after dragging guide image near origin of line (#872)

release_12.7.0

24 Nov 21:07
f8b4dd9
Compare
Choose a tag to compare

Feature Enhancements

Note: This release should have been called 12.6.1

Common-canvas

Just bug fixes

Common-properties

Just bug fixes

Issues Resolved

#869 Console error when straight line drawn to expanded supernode (and line is not drawn) (#870)
#867 Hovering a node over a linked node Link can cause incorrect insertion of node into link (#868)
#865 Palette search text not appearing highlighted in node descriptions (#866)
#863 While holding the mouse down and drag a node; hit del cause canv… (#864)
#861 Deleting nodes, links in rapid succession crashes Canvas (Part 1) (#862)
#856 Fix build messages to use Elyra Canvas instead of common canvas (#857)

release_12.6.0

15 Nov 19:02
62ef4ed
Compare
Choose a tag to compare

Feature Enhancements

Build

#810 Carbon has been upgraded to version to 10.48.0

With this upgrade, if the common properties title is non-editable, there will now be an edit-off icon next to the title. Like this:
image

Common-canvas

#792 Enhance CTRL+V Paste location

When the user presses Ctrl/Cmnd + V to paste objects into the canvas, the objects will be pasted at the position where the mouse pointer is located on the canvas, provided the pointer is within the bounds of the canvas. If the mouse pointer is outside the bounds of the canvas, common-canvas will use he default behavior to position the pasted objects.

#779 Category names wrapped into second line

Long category names in the palette will now get wrapped instead of being truncated.

image

#824 Refactor clone code
#828 Improve drag behavior with large number of nodes
#840 Clone data using cloneDeep
#847 Refactor link creation code to improve perfomance
#854 Re-enable draggable links

These issues have been implemented to improve performance of operations with a large numbers of objects on the canvas.

Common-properties

Just bug fixes

Issues Resolved

#854 Reenable draggable links (#855)
#810 Upgrade carbon version 10.48.0 (#852)
#847 Refactor link creation code to improve perfomance (#848)
#850 Search nodes in the palette not working properly when node descr… (#851)
#845 default_value condition is validated before other conditions (#846)
#779 Category names wrapped into second line (#844)
#840 Clone data using cloneDeep (#841)
#837 Fix radio button styling (#838)
#835 App data (app_data) in a link is not copied to the clipboard (#836)
#792 Enhance CTRL+V Paste location (#816)
#832 handle duplicate group param refs (#833)
#828 Improve drag behavior with large number of nodes (#829)
#826 Fixed alignment of action image with tooltip (#827)
#824 Refactor clone code (#825)
#818 Tip handler error in console within 'explain 2' sample app (#819)
#820 Refactor code for arrange node layout (#821)
#822 Rename cloneMultipleObjectsAction.js to pasteAction.js (#823)
#814 Add comments to palette data-id tests to explain why the attribute is needed (#815)
#812 Context menu cut off when bottom panel is opened (#813)

release_12.5.0

09 Oct 00:05
cfc605c
Compare
Choose a tag to compare

Feature Enhancements

Common-canvas

#804 Upgrade to latest D3 version
Common-Canvas has been upgraded to use D3 v7.1.1

#806 Support bottom panel that appears between the palette and right
A bottom panel is now supported which, when specified, will appear below the canvas area and between the palette and the right flyout. The panel will appear with a fixed default height for now. User controlled sizing may be added later. See the common canvas wiki page for details.

#808 Nodes not appearing when added to full-page display of a sub-flow
Fix to bug which was preventing edits to a sub-flow to be displayed, after the edit was complete.

Common-properties

None

Issues Resolved

#806 Support bottom panel that appears between the palette and right… (#807)
#808 Nodes not appearing when added to full-page display of a sub-flow (#809)
#804 Upgrade to latest D3 version (#805)

release_12.4.0

06 Oct 06:38
c6831da
Compare
Choose a tag to compare

Feature Enhancements

Common-canvas

#786 Support deconstruction of a supernode

A new action called deconstructSuperNode is now supported for supernodes. This will take the contents of the sub-flow, referenced by the supernode and add them to the main flow in place of the supernode. It will remove any binding nodes from the sub-flow that are referenced by the ports of the supernode. If the config setting enableMoveNodesOnSupernodeResize is set to true (the default), it will also adjust the position of nodes and comments to ensure there is sufficient space to add the new nodes and comments from the sub-flow into the main flow.

A new option called Deconstruct supernode will appear in the default context menu for a supernode created by common-canvas.  This will perform the deconstructSuperNode action when it is clicked. If you construct your own context menus you can add an option to your menu for supernodes specifying the deconstructSuperNode action property.

If your application supports external pipeline flows and the supernode being deconstructed refers to an external pipeline, you must return the external pipeline flow when requested. This means your beforeEditActionHandler method must detect the  deconstructSuperNodeand return the pipeline flow in the appropriate data object field. See the wiki for details: https://github.com/elyra-ai/canvas/wiki/2.9-External-Subflows-support

#783 Expose functionality for retrieving a list of upstream nodes

Three new API calls have been added to the canvas controller. These will return the upstream, downstream and branch (upstream and downstream) nodes from the node or nodes passed in the nodeIds parameter. 

  • getBranchNodes(nodeIds, pipelineId)
  • getUpstreamNodes(nodeIds, pipelineId)
  • getDownstreamNodes(nodeIds, pipelineId)

This is the same function that is used by these three current API calls

  • highlightBranch(nodeIds, pipelineId)
  • highlightUpstream(nodeIds, pipelineId)
  • highlightDownstream(nodeIds, pipelineId)

Common-properties

#802 Number generator button next to numeric control 

For numeric fields that display random values, the Generate link which used to appear next to the label has been removed. A new button has been added to the right of the number field and any spinner controls it might have. Like this:

image

#788 Added callback method for properties title change

A new callback method called titleChangeHandler() was added. This can be used to validate a newly entered node title and return a warning or an error message if the new title is invalid. This callback is optional.

In the case of an error or a warning, titleChangeHandler should call callbackFunction with an object with type and message settings. If the new title is valid, there is no need to call the callbackFunction.

titleChangeHandler(title, callbackFunction) {
        // If Title is valid. No need to send anything in callbackFunction
        if (title.length > 15) {
                callbackFunction({
                        type: "error",
                        message: "Only 15 characters are allowed in title."
                });
        } 
}

where:
type (string, required): this must be one of two values: "warning", or "error".
message(string, required): error or warning message. There is no restriction on length of the message.

Here is an example of a warning message:
image

Here is an example of an error message:
image

#790 Updated required message in properties

The format of messages that are displayed when a value has not been provided for a field has been updated. It now has the following format: You must provide your {label}.
For example messages like this will be displayed:
You must provide your API key.
You must provide your username.
You must provide your password.

Issues Resolved

#802 Number generator button next to numeric control (#803)
#788 Added callback method for properties title change (#789)
#800 Console errors creating a supernode in BigCanvas (#801)
#798 Overhaul link drawing code (#799)
#796 Link not created when deconstructing supernode with missing port info (#797)
#794 Errors deconstructing supernode in allTypesCanvas.json (#795)
#783 Expose functionality for retrieving a list of upstream nodes (#793)
#786 Support deconstruction of a supernode (#787)
#790 Updated required message in properties (#791)
#784 replace react file with js file (#785)
Update clone instructions to valid git URL (#782)