fix hidden computation for new files

This commit is contained in:
vcoppe
2025-11-11 14:03:07 +01:00
parent 8c3365ef24
commit e5d45dee3a
2 changed files with 28 additions and 1 deletions

View File

@@ -23,7 +23,7 @@ export class AllHidden {
update() { update() {
let hidden = true; let hidden = true;
selection.applyToOrderedSelectedItemsFromFile((fileId, level, items) => { selection.applyToSelectedItemsFromFile((fileId, level, items) => {
let file = fileStateCollection.getFile(fileId); let file = fileStateCollection.getFile(fileId);
if (file) { if (file) {
for (let item of items) { for (let item of items) {

View File

@@ -187,6 +187,33 @@ export class Selection {
return selected; return selected;
} }
applyToSelectedItemsFromFile(
callback: (fileId: string, level: ListLevel | undefined, items: ListItem[]) => void
) {
let selectedItems = get(this._selection).getSelected();
get(fileStateCollection).forEach((_, fileId) => {
let level: ListLevel | undefined = undefined;
let items: ListItem[] = [];
selectedItems.forEach((item) => {
if (item.getFileId() === fileId) {
level = item.level;
if (
item instanceof ListFileItem ||
item instanceof ListTrackItem ||
item instanceof ListTrackSegmentItem ||
item instanceof ListWaypointsItem ||
item instanceof ListWaypointItem
) {
items.push(item);
}
}
});
if (items.length > 0) {
callback(fileId, level, items);
}
});
}
applyToOrderedSelectedItemsFromFile( applyToOrderedSelectedItemsFromFile(
callback: (fileId: string, level: ListLevel | undefined, items: ListItem[]) => void, callback: (fileId: string, level: ListLevel | undefined, items: ListItem[]) => void,
reverse: boolean = true reverse: boolean = true