aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/editor.mjs
diff options
context:
space:
mode:
authorHsieh Chin Fan <pham@topo.tw>2024-10-02 19:32:52 +0800
committerHsieh Chin Fan <pham@topo.tw>2024-10-02 19:49:38 +0800
commit32673af014933f79a8603aaae59a3da21fe3df17 (patch)
tree236e442a71c97fb65c1c9a391511eccbf83afd82 /src/editor.mjs
parent9b1d30eefc5dcdc40e23eacb13e99ed0f0908d96 (diff)
fix: set layout attribute wisely for observer
Diffstat (limited to 'src/editor.mjs')
-rw-r--r--src/editor.mjs14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/editor.mjs b/src/editor.mjs
index 4c50e79..2938745 100644
--- a/src/editor.mjs
+++ b/src/editor.mjs
@@ -6,25 +6,25 @@ import * as menuItem from './MenuItem'
6 6
7// Set up Containers {{{ 7// Set up Containers {{{
8 8
9const context = document.querySelector('[data-mode]')
9const HtmlContainer = document.querySelector('.DumbyMap') 10const HtmlContainer = document.querySelector('.DumbyMap')
10const textArea = document.querySelector('.editor textarea') 11const textArea = document.querySelector('.editor textarea')
11let dumbymap 12let dumbymap
12 13
13new window.MutationObserver(mutations => { 14new window.MutationObserver(() => {
14 const mutation = mutations.at(-1) 15 const mode = context.getAttribute('data-mode')
15 const mode = mutation.target.getAttribute('data-mode')
16 const layout = HtmlContainer.getAttribute('data-layout') 16 const layout = HtmlContainer.getAttribute('data-layout')
17 if (mode === 'editing' && layout !== 'normal') { 17 if (mode === 'editing' && layout !== 'normal') {
18 HtmlContainer.setAttribute('data-layout', 'normal') 18 HtmlContainer.setAttribute('data-layout', 'normal')
19 } 19 }
20}).observe(document.querySelector('[data-mode]'), { 20}).observe(context, {
21 attributes: true, 21 attributes: true,
22 attributeFilter: ['data-mode'], 22 attributeFilter: ['data-mode'],
23 attributeOldValue: true 23 attributeOldValue: true
24}) 24})
25const toggleEditing = () => { 25const toggleEditing = () => {
26 const mode = document.body.getAttribute('data-mode') 26 const mode = context.getAttribute('data-mode')
27 document.body.setAttribute('data-mode', mode === 'editing' ? '' : 'editing') 27 context.setAttribute('data-mode', mode === 'editing' ? '' : 'editing')
28} 28}
29// }}} 29// }}}
30// Set up EasyMDE {{{ 30// Set up EasyMDE {{{
@@ -658,7 +658,7 @@ new window.MutationObserver(mutaions => {
658 const mutation = mutaions.at(-1) 658 const mutation = mutaions.at(-1)
659 const layout = HtmlContainer.getAttribute('data-layout') 659 const layout = HtmlContainer.getAttribute('data-layout')
660 if (layout !== 'normal' || mutation.oldValue === 'normal') { 660 if (layout !== 'normal' || mutation.oldValue === 'normal') {
661 document.body.setAttribute('data-mode', '') 661 context.setAttribute('data-mode', '')
662 } 662 }
663}).observe(HtmlContainer, { 663}).observe(HtmlContainer, {
664 attributes: true, 664 attributes: true,