Redesign the screen editor's element tree and add duplication
The "Éléments de cet écran" tree now renders every level of nesting (previously stopped after one level of children) as a compact single-line list, and right-clicking a row opens a context menu to duplicate the element (and its full subtree) in place, in its current container. Also: all property panels start collapsed instead of some being open by default, the redundant nested element list inside "Ajouter DANS ce conteneur" is removed (it only needs the widget picker), and the now-unneeded "a container is selected" warning banner is gone. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
3039489e39
commit
bb79f2f93d
@@ -154,6 +154,33 @@ body.builderBody > main.content{ flex:1 1 auto; min-height:0; overflow:hidden; d
|
||||
.childRow{ padding:7px 10px; font-size:12px; }
|
||||
.childRow .rowTitle{ font-size:12px; }
|
||||
|
||||
/* Arborescence compacte des éléments de l'écran (panneau gauche) — une
|
||||
ligne par élément, indentation par imbrication réelle (profondeur
|
||||
illimitée) plutôt qu'un seul niveau d'enfants comme l'ancienne .childList,
|
||||
pour rester lisible même avec beaucoup d'éléments. */
|
||||
.elementTree{ display:flex; flex-direction:column; gap:1px; max-height:55vh; overflow-y:auto; margin-bottom:14px; }
|
||||
.treeNode{ display:flex; flex-direction:column; }
|
||||
.treeRowLink{
|
||||
display:flex; align-items:center; gap:6px; padding:4px 6px; border-radius:5px;
|
||||
text-decoration:none; color:var(--text); font-size:12.5px; line-height:1.5;
|
||||
white-space:nowrap; overflow:hidden;
|
||||
}
|
||||
.treeRowLink:hover{ background:var(--panel2); }
|
||||
.treeRowLink.selected{ background:var(--accent); color:#0b0e14; font-weight:600; }
|
||||
.treeIcon{ flex:0 0 auto; font-size:12px; }
|
||||
.treeLabel{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
|
||||
.treeChildren{ display:flex; flex-direction:column; margin-left:10px; padding-left:8px; border-left:1px dashed var(--border); }
|
||||
|
||||
.contextMenu{
|
||||
position:fixed; z-index:500; background:var(--panel); border:1px solid var(--border);
|
||||
border-radius:8px; box-shadow:0 8px 24px rgba(0,0,0,.4); padding:4px; min-width:160px;
|
||||
}
|
||||
.contextMenu button{
|
||||
display:block; width:100%; text-align:left; background:none; border:none; color:var(--text);
|
||||
padding:7px 10px; border-radius:5px; font-size:13px; cursor:pointer;
|
||||
}
|
||||
.contextMenu button:hover{ background:var(--panel2); }
|
||||
|
||||
.propGroup{ border:1px solid var(--border); border-radius:8px; margin-bottom:8px; background:var(--panel); }
|
||||
.propGroup > summary{
|
||||
list-style:none; cursor:pointer; padding:9px 12px; font-size:13px; color:var(--accent);
|
||||
|
||||
Reference in New Issue
Block a user