GithubHelp home page GithubHelp logo

canvas's People

Contributors

akchinstc avatar aqtang avatar bourdakos1 avatar caritaou avatar curtis-browning avatar dependabot[bot] avatar dino0509 avatar fresende avatar ivanybma avatar jesusguerrero avatar jihyoungkim avatar joekent1 avatar karlaspuldaro avatar lresende avatar lucaslalima avatar marthacryan avatar matthoward366 avatar nabilibm avatar nmgokhale avatar sara-akhtar avatar sarur avatar srikant-ch5 avatar tanvimehta10 avatar terryobrien58 avatar tomlyn avatar veenas1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

canvas's Issues

Only fetch svg files when needed

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.

Update notification center

New design:

  • Able to open notification center when empty
  • styling changes
  • subtitle, close button, and clear all button added

image

Save canvas zoom on desktop running in electron

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.

canvas div scrolls out of view if properties UI have a lot of elements

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

Add new code control

Add a new control that uses the expression control without the builder option

Enable path decorators on nodes and links

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.

enum_filter should filter values in refs

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.

Option to set a control to be hidden

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.

Update properties to carbon 10 styling guidelines

  • table add/remove buttons
  • spacing on panels and controls
  • fix background colors on controls
  • update table background colors
  • update table styling (remove right/left border, fix hover selected to show borders)
  • fix table buttons to sit on top of table
  • update icons on summary panel link
  • update expand button styling
  • Fix deprecated icon warnings
  • Fix warnings/errors showing on disabled controls
  • Fix alignment of warning/error icons with text below controls

Pan canvas objects into view on open

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.

Clipboard paste with context menu should add objects at mouse position

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

Improve zoom behavior and utilities

Add some additional utilities

  • getZoom() to CanvasController
  • translateBy() to CanvasController
  • Ensure mouse position in context menu is snapped to grid
  • Ensure saved zoom (in LocalStorage) is restored correctly
  • If no saved zoom, open the canvas so the canvas area is always displayed in the viewport
  • Constrain zoom so the canvas area never goes out of the viewport when zooming or panning

References and links to "wdp-pipeline-schemas" repo and internal github

Allow numeric fields to be provided as strings

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.

Provide zoom type to hide negative coordinate space

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.

Incorrect propertyId used in conditions triggered from a complexType control

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".

Improve drag behavior for nodes

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.
e12ff626-d45a-11e7-942f-9ba0379e2ecd

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:

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.