@e280/quay
Version:
File-browser and outliner UI for the web
24 lines • 600 B
JavaScript
import { signal } from "@e280/strata";
export class TreeTrail {
signal = signal([]);
constructor(root) {
this.signal([root]);
}
setTrail(e, item) {
if (e.target !== e.currentTarget)
return;
const trail = [];
let cur = item.kind === "folder"
? item
: item.parent;
while (cur) {
trail.unshift(cur);
cur = cur.parent;
}
this.signal(trail);
}
get currentFolder() {
return this.signal().at(-1)?.children ?? [];
}
}
//# sourceMappingURL=tree-trail.js.map