diff options
Diffstat (limited to 'src/dumbymap.mjs')
-rw-r--r-- | src/dumbymap.mjs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs index f4e3d83..e5dd2cd 100644 --- a/src/dumbymap.mjs +++ b/src/dumbymap.mjs | |||
@@ -348,16 +348,20 @@ export const generateMaps = (container, { | |||
348 | const mapElement = renderer.target | 348 | const mapElement = renderer.target |
349 | // FIXME | 349 | // FIXME |
350 | mapElement.renderer = renderer | 350 | mapElement.renderer = renderer |
351 | // Make map not focusable by tab key | ||
351 | mapElement.tabindex = -1 | 352 | mapElement.tabindex = -1 |
353 | |||
354 | // Cache if render is fulfilled | ||
352 | if (mapElement.dataset.render === 'fulfilled') { | 355 | if (mapElement.dataset.render === 'fulfilled') { |
353 | mapCache[mapElement.id] = renderer | 356 | mapCache[mapElement.id] = renderer |
354 | } else { | 357 | } else { |
355 | return | 358 | return |
356 | } | 359 | } |
357 | 360 | ||
361 | // Simple callback by caller | ||
358 | renderCallback?.(renderer) | 362 | renderCallback?.(renderer) |
359 | 363 | ||
360 | // Work with Mutation Observer | 364 | // Watch change of class |
361 | const observer = mapClassObserver() | 365 | const observer = mapClassObserver() |
362 | observer.observe(mapElement, { | 366 | observer.observe(mapElement, { |
363 | attributes: true, | 367 | attributes: true, |
@@ -367,6 +371,14 @@ export const generateMaps = (container, { | |||
367 | onRemove(dumbymap.htmlHolder, () => { | 371 | onRemove(dumbymap.htmlHolder, () => { |
368 | observer.disconnect() | 372 | observer.disconnect() |
369 | }) | 373 | }) |
374 | |||
375 | // Focus current map is no map is focused | ||
376 | if ( | ||
377 | !dumbymap.utils.renderedMaps().find(map => map.classList.contains('focus')) || | ||
378 | container.querySelectorAll('.mapclay.focus').length === 0 | ||
379 | ) { | ||
380 | mapElement.classList.add('focus') | ||
381 | } | ||
370 | } | 382 | } |
371 | 383 | ||
372 | // Set unique ID for map container | 384 | // Set unique ID for map container |