Skip to content

wip: allow to group layers#3151

Merged
yohanboniface merged 61 commits into
masterfrom
layer-parent
Apr 1, 2026
Merged

wip: allow to group layers#3151
yohanboniface merged 61 commits into
masterfrom
layer-parent

Conversation

@yohanboniface

@yohanboniface yohanboniface commented Jan 13, 2026

Copy link
Copy Markdown
Member
  • permissions
  • drag and drop in edit datalayers panel
  • CSS/UI
  • fold/unfold group according to visibility of children
  • tests
    • permissions (child with inherit should respect parent with collaborators and team only)
    • sync parent change (add parent/change parent/remove parent)
    • import with _umap_options key (and maybe serve file from back with same key)
  • awareness of cascading properties => later
  • performance for 'DataLayer.chidren/hasChildren'
  • more elegant way to chain/combine filters in umap.datalayers manager
  • deal with parent ordering
  • in drag'n'drop, add a children to a datalayer that has no child yet
  • do not allow to add children to a datalayer that already has features (or is remoteData), and do not allow to add features to a datalayer that has children
  • drag'n'drop: do not show "middle" mode if it's not possible to add a children (=no container available) => in rules
  • delete a parent, and undo this delete
  • clone a parent (functionality hidden for now)
  • tree in caption
  • inherit fields and filters from parents
  • inherit rules from parents
  • tree select (OptGroup) for datalayer selector in bottom bar
  • chose between "parent" and "group" for naming the parent (or group :p)
  • decide what to do about feature.properties._umap_options (keep or move to other property, like we did for DataLayer._umap_options) => later
  • edit filter dialog
  • field name autocompletion for groups =>works, it just only search in group layers, which is expected

cf #2824 #939

@yohanboniface yohanboniface force-pushed the layer-parent branch 4 times, most recently from 0bf2541 to 2b6a0fe Compare January 15, 2026 14:58
@yohanboniface yohanboniface force-pushed the layer-parent branch 4 times, most recently from a00b45f to 2990130 Compare January 27, 2026 17:21
@yohanboniface yohanboniface force-pushed the layer-parent branch 2 times, most recently from 18d667c to 0abe3ec Compare February 6, 2026 15:46
@yohanboniface yohanboniface force-pushed the layer-parent branch 3 times, most recently from 750f242 to b1cb8d6 Compare February 18, 2026 16:54
@yohanboniface yohanboniface marked this pull request as ready for review February 18, 2026 16:55
@yohanboniface yohanboniface force-pushed the layer-parent branch 3 times, most recently from f0ce817 to 385909a Compare February 23, 2026 19:05
@yohanboniface yohanboniface force-pushed the layer-parent branch 2 times, most recently from d0c9af0 to 3ce41f4 Compare March 24, 2026 17:57
yohanboniface and others added 9 commits March 31, 2026 18:34
cf #2824 #939

Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
notree: we do not allow at all to have children node
        during drag'n'drop (eg. for rules)
nochildren: we do not allow to make this node child of
            this given node (eg. for a layer which has features)

Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
yohanboniface and others added 24 commits March 31, 2026 18:36
Co-authored-by: David Larlet <david@larlet.fr>
…ltered out

Otherwise, as soon as a filter excludes a parent, this will totally exclude
all the descendants, which is not what we want by default.

Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
We wanted to be defensive, but this was a bit too much.

Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
Also make that when user drop an element before the DOM feedback the
drag'n'drop action is cancelled.

Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
Propertie should only contain the keys edited by the user, while
umap keys should be outside (permissions, editMode, id, rank…).

Co-authored-by: David Larlet <david@larlet.fr>
…widgets

Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
…t fields

Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
We want the user to decide whether the layer they created is a layer or
a group.
So we can also adapt the UI and only talk about "group" (not "parent").

Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
So we have a better idea that there may be objects below.

Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
It breaks a lot of playwright tests because of the alert on top of
the map and other dialog/menus.

Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
Co-authored-by: David Larlet <david@larlet.fr>
yohanboniface and others added 2 commits March 31, 2026 18:57
Co-authored-by: David Larlet <david@larlet.fr>
Seems the "hover" event from playwright is a bit unstable.

Co-authored-by: David Larlet <david@larlet.fr>
@yohanboniface yohanboniface merged commit 9ddf211 into master Apr 1, 2026
3 checks passed
@yohanboniface yohanboniface deleted the layer-parent branch April 1, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant