elyra-ai / canvas Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Common-canvas retrieves SVG files for in-lining every time the canvas is refreshed. It should only get the files when the canvas is first displayed.
Ref: 2897
When the window is too narrow, the notification center is no longer able to scroll to see later messages
There is a default state showPropertiesButtons
in PropertiesMain.jsx that is set to true. This should be configurable
Link decorations using .svg files (which are displayed by common-canvas as inline SVG in the DOM) tend to either disappear or flash as connected nodes are being moved around.
When the enableSaveZoom config parameter is set to LocalStorage common-canvas attempts to save the zoom amount for flows in LocalStore by accessing window.localStorage. This access is managed in the local-storage.js program. When common-canvas runs in an electron app it should access localStorage using window.electronUtil.localStorage.
carbon-components and carbon-components-react need to be upgraded to versions:
"carbon-components": "10.14.0",
"carbon-components-react": "7.14.0",
If there are alot of UI elements in common-properties, triggering a dropdown or checkbox at the bottom of the page will cause the entire canvas to jump out of view. This is only happening in Chrome.
Screen Recording 2020-07-10 at 4.47.56 PM.zip
Although this div is not position: fixed
, the solution posted in https://stackoverflow.com/questions/11258877/fixed-element-disappears-in-chrome seems to fix it. There is an issue opened against Chrome but there is no fix available https://bugs.chromium.org/p/chromium/issues/detail?id=288747
When zooming the canvas the user's perception of what is happening would be enhanced if there was a different colored rectangle under the nodes and comments.
Some of the Wiki pages use the wrong npm package name in code snippets. Example: https://github.com/elyra-ai/canvas/wiki/2.0-Common-Canvas-Documentation#step-1--import
import { CommonCanvas, CanvasController } from "@elyra-ai/canvas";
should be:
import { CommonCanvas, CanvasController } from "@elyra/canvas";
Add a new control that uses the expression control without the builder option
Decorations which can be images or labels are currently supported for nodes and links.
Common-canvas should also support the ability for a decorator to be an SVG path so that any individual shape can be drawn as a decorator.
When a value changes in the evaluate of the enum_filter we should process all refs and update property values to filter out values that shouldn't be set anymore.
This can be seen in the checkboxset_paramDef.json example in the table. Add a row, select the filter. Currently nothing is changed. Add another row and the first column is updated.
Enable clipboard actions on the browser's Edit menu
There is a limitation right now where disabled controls cannot be set to hidden or visible via conditions. This should be allowed
Add a new control option for hidden
.
There is also visible
but that determines if a table cell is visible but will still be shown in a subpanel.
Version 4.17.15 has vulnerability https://hackerone.com/reports/712065
When creating an SVG image that contains elements, only one of those elements should be added to the image.
The chimp tests have been replaced by Cypress
When CanvasController.setCanvasConfig()
is called with new node layout information in the nodeLayout
field the internal layout information is not updated.
When a canvas is first opened, if no zoom object has NOT been saved for the canvas using one of the two possible methods, the canvas ought to be panned so the objects (nodes and comments) are displayed in the viewport.
The node version used in the test harness and common-canvas needs to be updated to use a newer version of node
Currently the clipboard paste gesture for toolbar, keyboard and context menu all paste the objects onto the target canvas at the x,y coordinate position already stored in the objects meaning the objects appeared in the same relative position to the origin from which they were copied or cut.
When pasting using the context menu it is more likely the user will want the objects to appear the position on the canvas that the context menu was requested. The context menu behavior should be changed to do this.
Issue copied from internal issue by @tomlyn and required by elyra-ai/elyra#198
Currently if a control isn't part of a group it's not considered a control within common-properties and is never processed.
We should give a console warning in this case.
Add some additional utilities
We should deploy the latest release builds to Cloud to allow consumers to see and test out features.
A new columnPanel
will be added to support wider panels that can have multiple columns of controls.
This will fix newly discovered memory leak vulnerability
While browsing the wiki I found references to "wdp-pipeline-schemas" repository in a few different places and some links that give a 404, I believe this should now be referring to the elyra-ai/pipeline-schemas repo.
test harness source:
canvas controller source:
references to github.ibm.com in source files: https://github.com/elyra-ai/canvas/search?q=%22github.ibm.com%22&unscoped_q=%22github.ibm.com%22
And in the wiki at these pages:
https://github.com/elyra-ai/canvas/wiki/2.4-Canvas-Controller-API#pipeline-flow-methods and "Palette methods" section
links in this section https://github.com/elyra-ai/canvas/wiki/3.0-Common-Properties-documentation#helpclickhandler
https://github.com/elyra-ai/canvas/wiki/3.6-Common-Properties-Controller#datasetmetadata-methods
Occasionally, input fields in pipelineFlow documents which are numeric are provided as strings instead of integer values as specified in the schema. This causes confusion with developers because the strings do not cause an observable error but do result in a invalid canvas display with, for example, missing links or something similar.
Some host applications cannot support the ability to display nodes or comments in negative coordinate space. That is, where the x or y coordinate of the node or comments is less than one.
Common-canvas should support the ability to zoom the canvas but to not reveal any negative coordinate space so the user is not able to move objects into it or create objects in it.
The incorrect propertyId is used to retrieve the value for a control that was initiated by a complex type control.
{
"visible": {
"parameter_refs": [
"option-one",
"option-two"
],
"evaluate": {
"and": [
{
"condition": {
"op": "equals",
"parameter_ref": "options",
"value": "options"
}
},
{
"condition": {
"op": "isEmpty",
"parameter_ref": "option-three[0]"
}
}
]
}
}
}
When evaluating the condition for parameter_ref "options", the propertyId used to retrieve the value is for "option-three[0]", causing the wrong value to be returned for "options".
When a node is dragged it keeps its display position in the DOM which means the drag nodes may disappear under other nodes on the canvas as it is being dragged. It is expected that the dragged node would appear above other nodes on drag.
Also, if a node displays 'popup ports' that appear on when mouseover the node, those ports can sometimes disappear under adjacent nodes. The expected behavior is that those ports should be visible above the adjacent ports:
Some applications want to arrange nodes from top to bottom and others from bottom to top of the canvas, with the ports for the nodes appearing either at the top or bottom of the nodes as appropriate.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.