Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support rendering of ghost element when creating elements through the tool palette #1159

Closed
3 tasks done
martin-fleck-at opened this issue Nov 12, 2023 · 0 comments · Fixed by eclipse-glsp/glsp-client#301
Closed
3 tasks done
Assignees
Labels
enhancement New feature or request

Comments

@martin-fleck-at
Copy link
Contributor

martin-fleck-at commented Nov 12, 2023

When we create elements from the toolbox (e.g., Task Nodes or Activity Nodes in the workflow example) we already have a rough (or maybe even a precise) idea of what that element might look like. It would be great if we could give a schematic representation of the element ("ghost element") that may be created by a tool in the toolbox and then position that element through the mouse cursor. Currently we can only place new elements through the cursor without any idea of what the element may look like. Giving that feedback allows us to (roughly) visualize the future model and thus provide better UX overall.

@martin-fleck-at martin-fleck-at added the enhancement New feature or request label Nov 12, 2023
@martin-fleck-at martin-fleck-at self-assigned this Nov 12, 2023
martin-fleck-at added a commit to eclipse-glsp/glsp-client that referenced this issue Nov 12, 2023
- Introduce new element template module
-- Adding new elements to the diagram based on templates
-- Removing templates again

- Support local bounds calculation for client-only added elements
-- Must trigger RequestBounds for hidden view calculation
-- Must not modify main view until ComputedBounds response is handled
-- Mark ResizeHandles as not to be considered for bounds calculation
-- Fix positioning of decorations for hidden view calculation

- Add ghost element extension to tool palette
-- Optional ghost element field in the trigger node creation action
-- Ghost element is added as feedback to the mouse cursor
-- If ghost element is dynamic, templates (palette items) are reloaded

- Bonus: Re-calculate local bounds for resize behavior

Fixes eclipse-glsp/glsp#1159
martin-fleck-at added a commit to eclipse-glsp/glsp-server-node that referenced this issue Nov 12, 2023
martin-fleck-at added a commit to eclipse-glsp/glsp-client that referenced this issue Nov 12, 2023
- Introduce new element template module
-- Adding new elements to the diagram based on templates
-- Removing templates again

- Support local bounds calculation for client-only added elements
-- Must trigger RequestBounds for hidden view calculation
-- Must not modify main view until ComputedBounds response is handled
-- Mark ResizeHandles as not to be considered for bounds calculation
-- Fix positioning of decorations for hidden view calculation

- Add ghost element extension to tool palette
-- Optional ghost element field in the trigger node creation action
-- Ghost element is added as feedback to the mouse cursor
-- If ghost element is dynamic, templates (palette items) are reloaded

- Bonus: Re-calculate local bounds for resize behavior

Fixes eclipse-glsp/glsp#1159
martin-fleck-at added a commit to eclipse-glsp/glsp-server that referenced this issue Nov 14, 2023
tortmayr pushed a commit to eclipse-glsp/glsp-client that referenced this issue Nov 20, 2023
* Support rendering of ghost element when creating elements

- Introduce new element template module
-- Adding new elements to the diagram based on templates
-- Removing templates again

- Support local bounds calculation for client-only added elements
-- Must trigger RequestBounds for hidden view calculation
-- Must not modify main view until ComputedBounds response is handled
-- Mark ResizeHandles as not to be considered for bounds calculation
-- Fix positioning of decorations for hidden view calculation

- Add ghost element extension to tool palette
-- Optional ghost element field in the trigger node creation action
-- Ghost element is added as feedback to the mouse cursor
-- If ghost element is dynamic, templates (palette items) are reloaded

- Bonus: Re-calculate local bounds for resize behavior

Fixes eclipse-glsp/glsp#1159
tortmayr pushed a commit to eclipse-glsp/glsp-server-node that referenced this issue Nov 21, 2023
tortmayr pushed a commit to eclipse-glsp/glsp-server that referenced this issue Nov 21, 2023
tortmayr added a commit to eclipse-glsp/glsp-server-node that referenced this issue Nov 21, 2023
* Add ghost elements to tool palette items through trigger actions

Relates to eclipse-glsp/glsp#1159

* PR Review: Add easier hooks for customization

* Update yarn lock

---------

Co-authored-by: Tobias Ortmayr <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant