eclipse-glsp / glsp

Graphical language server platform for building web-based diagram editors
https://www.eclipse.dev/glsp
Other
200 stars 32 forks source link

Improve Container Support #1384

Open martin-fleck-at opened 3 months ago

martin-fleck-at commented 3 months ago

Goal

The goal of this epic is to ensure that the current support we have for containers and nested or structured components works as expected across all aspects of GLSP. A Container is defined as an element that can container other elements, i.e., the parent of it's contained elements ("children") is set to the container. The default container is the graph which contains all top-level elements. For an element to be a container it needs to have the 'containerFeature' set. With this feature, the container element will automatically implement the 'Containable' interface which defines the 'isContainableElement' method to check whether an element can be a child of the container. This can be controlled via the 'containableElementTypeIds' type hint. If none are given, the container cannot have any children.

Elements that can be moved between different parent containers need to have the 'reparentFeature' set (may also be specified through the 'reparentable' type hint).

This includes:

Steps

Issues

Related but not in scope