diff --git a/src/UIShell/GlobalHeader/HeaderNav.svelte b/src/UIShell/GlobalHeader/HeaderNav.svelte index d7dd5e98..33b68399 100644 --- a/src/UIShell/GlobalHeader/HeaderNav.svelte +++ b/src/UIShell/GlobalHeader/HeaderNav.svelte @@ -13,7 +13,7 @@ diff --git a/src/UIShell/GlobalHeader/HeaderNavItem.svelte b/src/UIShell/GlobalHeader/HeaderNavItem.svelte index 60376fcf..8492c1e6 100644 --- a/src/UIShell/GlobalHeader/HeaderNavItem.svelte +++ b/src/UIShell/GlobalHeader/HeaderNavItem.svelte @@ -17,16 +17,27 @@ /** Obtain a reference to the HTML anchor element */ export let ref = null; - import { getContext } from "svelte"; + import { getContext, onMount } from "svelte"; const id = "ccs-" + Math.random().toString(36); - const { selectedItems, updateSelectedItems, closeMenu } = - getContext("HeaderNavMenu"); + const ctx = getContext("HeaderNavMenu"); - $: updateSelectedItems({ id, isSelected }); + let selectedItemIds = []; + + const unsubSelectedItems = ctx?.selectedItems.subscribe((_selectedItems) => { + selectedItemIds = Object.keys(_selectedItems); + }); + + $: ctx?.updateSelectedItems({ id, isSelected }); + + onMount(() => { + return () => { + if (unsubSelectedItems) unsubSelectedItems(); + }; + }); -