From 337a562ee8c9e2531a1a6799acaa66567ad7ef12 Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Thu, 17 Oct 2024 10:28:32 +0800 Subject: feat: option "autoMap" in case no valid render target in Semantic HTML --- addon/index.mjs | 1 + src/dumbymap.mjs | 14 ++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/addon/index.mjs b/addon/index.mjs index 092adc4..b5d71ba 100644 --- a/addon/index.mjs +++ b/addon/index.mjs @@ -38,4 +38,5 @@ window.generateMaps(document.querySelector('main') ?? document.body, { addBlocks, initialLayout: '', render: simpleRender, + autoMap: true, }) diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs index 94fcc1d..706e874 100644 --- a/src/dumbymap.mjs +++ b/src/dumbymap.mjs @@ -14,7 +14,7 @@ import { register, fromEPSGCode } from 'ol/proj/proj4' import LeaderLine from 'leader-line' /** CSS Selector for main components */ -const mapBlockSelector = 'pre:has(.language-map)' +const mapBlockSelector = 'pre:has(.language-map), .mapclay-container' const docLinkSelector = 'a[href^="#"][title^="=>"]' const geoLinkSelector = 'a[href^="geo:"]' @@ -163,6 +163,7 @@ export const generateMaps = (container, { delay, renderCallback, addBlocks = defaultBlocks, + autoMap = false, render = defaultRender, } = {}) => { /** Prepare Contaner */ @@ -457,11 +458,12 @@ export const generateMaps = (container, { const elementsWithMapConfig = Array.from( container.querySelectorAll(mapBlockSelector) ?? [], ) - if (elementsWithMapConfig.length === 0) { - const map = document.createElement('pre') - map.textContent = '#Created by DumbyMap' - htmlHolder.insertBefore(map, htmlHolder.firstElementChild) - elementsWithMapConfig.push(map) + if (autoMap && elementsWithMapConfig.length === 0) { + const mapContainer = document.createElement('pre') + mapContainer.className = 'mapclay-container' + mapContainer.textContent = '#Created by DumbyMap' + htmlHolder.insertBefore(mapContainer, htmlHolder.firstElementChild) + elementsWithMapConfig.push(mapContainer) } /** Render each taget element for maps */ -- cgit v1.2.3-70-g09d2