enable routing tool without selection, and support multi-select

This commit is contained in:
vcoppe
2024-07-16 12:17:23 +02:00
parent 7f143bf843
commit e88dbafead
6 changed files with 124 additions and 65 deletions

View File

@@ -102,10 +102,7 @@ export class SelectionTreeType {
return false;
}
getSelected(selection?: ListItem[]): ListItem[] {
if (selection === undefined) {
selection = [];
}
getSelected(selection: ListItem[] = []): ListItem[] {
if (this.selected) {
selection.push(this.item);
}
@@ -200,6 +197,14 @@ export function selectAll() {
});
}
export function getOrderedSelection(reverse: boolean = false): ListItem[] {
let selected: ListItem[] = [];
applyToOrderedSelectedItemsFromFile((fileId, level, items) => {
selected.push(...items);
}, reverse);
return selected;
}
export function applyToOrderedItemsFromFile(selectedItems: ListItem[], callback: (fileId: string, level: ListLevel | undefined, items: ListItem[]) => void, reverse: boolean = true) {
get(settings.fileOrder).forEach((fileId) => {
let level: ListLevel | undefined = undefined;