Use page scrolling for snapshot browser
This commit is contained in:
@@ -109,6 +109,8 @@
|
||||
.bu-partial-label { border: 1px solid var(--bu-accent); border-radius: 999px; color: var(--bu-text); display: inline-block; font-size: 11px; font-weight: 700; margin-left: 8px; padding: 2px 7px; vertical-align: middle; }
|
||||
.bu-inherited-label { border: 1px solid var(--bu-good); border-radius: 999px; color: var(--bu-good); display: inline-block; font-size: 11px; font-weight: 700; margin-left: 8px; padding: 2px 7px; vertical-align: middle; }
|
||||
.bu-tree { background: var(--bu-input); border: 1px solid var(--bu-border); border-radius: 6px; max-height: 520px; overflow: auto; padding: 6px; }
|
||||
.bu-snapshot-tree { max-height: none; overflow: visible; }
|
||||
.bu-snapshot-tree .bu-tree-row { margin-left: min(calc(var(--bu-tree-depth) * 24px), 320px); }
|
||||
.bu-tree-node { min-width: 0; }
|
||||
.bu-tree-node + .bu-tree-node { border-top: 1px solid color-mix(in srgb, var(--bu-border) 45%, transparent); }
|
||||
.bu-tree-row { align-items: center; border-radius: 6px; display: grid; gap: 14px; grid-template-columns: 34px 28px minmax(0, 1fr); margin-left: calc(var(--bu-tree-depth) * 24px); min-height: 48px; padding: 5px 8px; }
|
||||
@@ -373,4 +375,5 @@ body.bu-dialog-open { overflow: hidden; }
|
||||
.bu-dialog-panel { grid-template-columns: 1fr; padding: 20px; }
|
||||
.bu-dialog-actions { flex-direction: column-reverse; }
|
||||
.bu-dialog-actions .bu-button { width: 100%; }
|
||||
.bu-snapshot-tree .bu-tree-row { margin-left: min(calc(var(--bu-tree-depth) * 18px), 110px); }
|
||||
}
|
||||
|
||||
@@ -766,7 +766,7 @@
|
||||
const total=state.snapshotTreeMeta?.total||0;
|
||||
const loaded=Object.values(state.snapshotTreeChildren).reduce((sum,items)=>sum+items.length,0);
|
||||
const hint=total?`${Number(total).toLocaleString()} Einträge im Snapshot · ${Number(loaded).toLocaleString()} sichtbare Einträge geladen`:'Struktur noch nicht geladen';
|
||||
return `<section class="bu-card" style="margin-top:16px"><div class="bu-toolbar"><div><h3>Snapshot ${esc(state.selectedSnapshot.slice(0,12))}</h3><span class="bu-muted">${esc(hint)}</span></div><div class="bu-actions">${button(`Auswahl wiederherstellen (${state.restoreIncludes.length})`,'restore-selected','primary')}</div></div><div class="bu-selection-list">${chosen}</div><div class="bu-tree" role="tree">${body}</div></section>`;
|
||||
return `<section class="bu-card bu-section-gap bu-snapshot-browser"><div class="bu-toolbar"><div><h3>Snapshot ${esc(state.selectedSnapshot.slice(0,12))}</h3><span class="bu-muted">${esc(hint)} · Der Dateibaum verwendet den Seiten-Scroll.</span></div><div class="bu-actions">${button(`Auswahl wiederherstellen (${state.restoreIncludes.length})`,'restore-selected','primary')}</div></div><div class="bu-selection-list">${chosen}</div><div class="bu-tree bu-snapshot-tree" role="tree">${body}</div></section>`;
|
||||
}
|
||||
|
||||
function renderRestore() {
|
||||
|
||||
Reference in New Issue
Block a user