mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2025-09-02 16:52:31 +00:00
open collapsibles if needed
This commit is contained in:
@@ -12,7 +12,7 @@
|
|||||||
import { get, type Readable } from 'svelte/store';
|
import { get, type Readable } from 'svelte/store';
|
||||||
import FileListNodeContent from './FileListNodeContent.svelte';
|
import FileListNodeContent from './FileListNodeContent.svelte';
|
||||||
import FileListNodeLabel from './FileListNodeLabel.svelte';
|
import FileListNodeLabel from './FileListNodeLabel.svelte';
|
||||||
import { getContext, onDestroy } from 'svelte';
|
import { afterUpdate, getContext } from 'svelte';
|
||||||
import {
|
import {
|
||||||
ListTrackSegmentItem,
|
ListTrackSegmentItem,
|
||||||
ListWaypointItem,
|
ListWaypointItem,
|
||||||
@@ -46,15 +46,18 @@
|
|||||||
: '';
|
: '';
|
||||||
|
|
||||||
const { verticalFileView } = settings;
|
const { verticalFileView } = settings;
|
||||||
const unsubscribe = selection.subscribe(($selection) => {
|
|
||||||
|
function openIfSelectedChild() {
|
||||||
if (collapsible && get(verticalFileView) && $selection.hasAnyChildren(item, false)) {
|
if (collapsible && get(verticalFileView) && $selection.hasAnyChildren(item, false)) {
|
||||||
collapsible.openNode();
|
collapsible.openNode();
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
onDestroy(() => {
|
if ($selection) {
|
||||||
unsubscribe();
|
openIfSelectedChild();
|
||||||
});
|
}
|
||||||
|
|
||||||
|
afterUpdate(openIfSelectedChild);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if node instanceof Map}
|
{#if node instanceof Map}
|
||||||
|
@@ -198,8 +198,10 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let firstUpdateAfterMount = false;
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
createSortable();
|
createSortable();
|
||||||
|
firstUpdateAfterMount = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
afterUpdate(() => {
|
afterUpdate(() => {
|
||||||
@@ -218,7 +220,10 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
syncFileOrder();
|
syncFileOrder();
|
||||||
updateFromSelection();
|
if (firstUpdateAfterMount) {
|
||||||
|
firstUpdateAfterMount = false;
|
||||||
|
updateFromSelection();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function getChangedIds() {
|
function getChangedIds() {
|
||||||
|
Reference in New Issue
Block a user