aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/dumbymap.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'src/dumbymap.mjs')
-rw-r--r--src/dumbymap.mjs13
1 files changed, 10 insertions, 3 deletions
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 }
173 * mapFocusObserver. observe for map focus 173 * mapFocusObserver. observe for map focus
174 * @return {MutationObserver} observer 174 * @return {MutationObserver} observer
175 */ 175 */
176 const mapFocusObserver = () => 176 const mapClassObserver = () =>
177 new window.MutationObserver(mutations => { 177 new window.MutationObserver(mutations => {
178 const mutation = mutations.at(-1) 178 const mutation = mutations.at(-1)
179 const target = mutation.target 179 const target = mutation.target
@@ -191,6 +191,13 @@ export const generateMaps = (container, { layouts = [], delay, renderCallback }
191 .renderedMaps() 191 .renderedMaps()
192 .filter(map => map.id !== target.id) 192 .filter(map => map.id !== target.id)
193 .forEach(map => map.classList.remove('focus')) 193 .forEach(map => map.classList.remove('focus'))
194
195 if (target.classList.contains('focus-manual')) {
196 setTimeout(
197 () => target.classList.remove('focus-manual'),
198 2000,
199 )
200 }
194 } 201 }
195 202
196 if (shouldBeInShowcase) { 203 if (shouldBeInShowcase) {
@@ -304,7 +311,7 @@ export const generateMaps = (container, { layouts = [], delay, renderCallback }
304 renderCallback?.(renderer) 311 renderCallback?.(renderer)
305 312
306 // Work with Mutation Observer 313 // Work with Mutation Observer
307 const observer = mapFocusObserver() 314 const observer = mapClassObserver()
308 observer.observe(mapElement, { 315 observer.observe(mapElement, {
309 attributes: true, 316 attributes: true,
310 attributeFilter: ['class'], 317 attributeFilter: ['class'],
@@ -511,4 +518,4 @@ export const generateMaps = (container, { layouts = [], delay, renderCallback }
511 ) 518 )
512 519
513 return Object.seal(dumbymap) 520 return Object.seal(dumbymap)
514} \ No newline at end of file 521}