gabriel / musehub public
tree.ts typescript
19 lines 667 B
Raw
sha256:e519738f2102d625d47828a17d113283cd744577b43551013cb668fd04f1c3fe chore(mwp8/phase5): tick all RG checkboxes; close-out doc (… Sonnet 4.6 18 days ago
1 /**
2 * tree.ts — File tree browser page module.
3 *
4 * The tree is fully SSR'd. This module only handles the branch selector
5 * navigation, which requires JS to redirect on change.
6 *
7 * Registered as: window.MusePages['tree']
8 */
9
10 export function initTree(data: Record<string, unknown>): void {
11 const base = String(data.base ?? '');
12 const dirPath = String(data.dir_path ?? '');
13 const pathSuffix = dirPath ? '/' + dirPath : '';
14
15 const sel = document.getElementById('branch-sel') as HTMLSelectElement | null;
16 sel?.addEventListener('change', () => {
17 window.location.href = base + '/tree/' + encodeURIComponent(sel.value) + pathSuffix;
18 });
19 }
File History 2 commits
sha256:e519738f2102d625d47828a17d113283cd744577b43551013cb668fd04f1c3fe chore(mwp8/phase5): tick all RG checkboxes; close-out doc (… Sonnet 4.6 18 days ago
sha256:0e5174da777684df43b2db71f282079030ef28bacffb93e19c29ee712b2a8bc4 test(mwp8/phase0): audit — repair+force-push leave stale ca… Sonnet 4.6 20 days ago