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() {
let hidden = true;
selection.applyToOrderedSelectedItemsFromFile((fileId, level, items) => {
selection.applyToSelectedItemsFromFile((fileId, level, items) => {
let file = fileStateCollection.getFile(fileId);
if (file) {
for (let item of items) {

View File

@@ -187,6 +187,33 @@ export class Selection {
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(
callback: (fileId: string, level: ListLevel | undefined, items: ListItem[]) => void,
reverse: boolean = true