From 2f4f688cbf8fb596405cbd7d2c89765d0d54106d Mon Sep 17 00:00:00 2001 From: Hsieh Chin Fan Date: Fri, 11 Oct 2024 20:40:04 +0800 Subject: feat: add query param for layout --- src/editor.mjs | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'src/editor.mjs') diff --git a/src/editor.mjs b/src/editor.mjs index ecf3735..fd18f78 100644 --- a/src/editor.mjs +++ b/src/editor.mjs @@ -20,12 +20,25 @@ import * as tutorial from './tutorial' const url = new URL(window.location) const pageParams = url.searchParams const crs = pageParams.get('crs') ?? 'EPSG:4326' +const initialLayout = pageParams.get('layout') /** Variables: dumbymap and editor **/ const context = document.querySelector('[data-mode]') +const textArea = document.querySelector('.editor textarea') const dumbyContainer = document.querySelector('.DumbyMap') dumbyContainer.dataset.scrollLine = '' -const textArea = document.querySelector('.editor textarea') +/** Watch: Layout of DumbyMap */ +new window.MutationObserver(mutaions => { + const mutation = mutaions.at(-1) + const layout = dumbyContainer.dataset.layout + if (layout !== 'normal' || mutation.oldValue === 'normal') { + delete context.dataset.mode + } +}).observe(dumbyContainer, { + attributes: true, + attributeFilter: ['data-layout'], + attributeOldValue: true, +}) let dumbymap /** Variables: Reference Style Links in Markdown */ @@ -472,7 +485,11 @@ const updateDumbyMap = (callback = null) => { callback?.(dumbymap) } -updateDumbyMap() +updateDumbyMap(() => { + if (initialLayout) { + dumbyContainer.dataset.layout = initialLayout + } +}) // Re-render HTML by editor content cm.on('change', (_, change) => { @@ -931,20 +948,6 @@ document.onkeydown = e => { // }}} // }}} -// Layout Switch {{{ -new window.MutationObserver(mutaions => { - const mutation = mutaions.at(-1) - const layout = dumbyContainer.dataset.layout - if (layout !== 'normal' || mutation.oldValue === 'normal') { - delete context.dataset.mode - } -}).observe(dumbyContainer, { - attributes: true, - attributeFilter: ['data-layout'], - attributeOldValue: true, -}) -// }}} - /** * addMapRandomlyByPreset. insert random text of valid mapclay yaml into editor */ -- cgit v1.2.3-70-g09d2