From 963f1ecf81ca2938364b5defdad5bd059c851601 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Thu, 10 Oct 2024 18:26:15 +0800 Subject: feat: only show map id when select manually --- src/dumbymap.mjs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/dumbymap.mjs') diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs index b01c73e..35a4614 100644 --- a/src/dumbymap.mjs +++ b/src/dumbymap.mjs @@ -173,7 +173,7 @@ export const generateMaps = (container, { layouts = [], delay, renderCallback } * mapFocusObserver. observe for map focus * @return {MutationObserver} observer */ - const mapFocusObserver = () => + const mapClassObserver = () => new window.MutationObserver(mutations => { const mutation = mutations.at(-1) const target = mutation.target @@ -191,6 +191,13 @@ export const generateMaps = (container, { layouts = [], delay, renderCallback } .renderedMaps() .filter(map => map.id !== target.id) .forEach(map => map.classList.remove('focus')) + + if (target.classList.contains('focus-manual')) { + setTimeout( + () => target.classList.remove('focus-manual'), + 2000, + ) + } } if (shouldBeInShowcase) { @@ -304,7 +311,7 @@ export const generateMaps = (container, { layouts = [], delay, renderCallback } renderCallback?.(renderer) // Work with Mutation Observer - const observer = mapFocusObserver() + const observer = mapClassObserver() observer.observe(mapElement, { attributes: true, attributeFilter: ['class'], @@ -511,4 +518,4 @@ export const generateMaps = (container, { layouts = [], delay, renderCallback } ) return Object.seal(dumbymap) -} \ No newline at end of file +} -- cgit v1.2.3-70-g09d2