aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/MenuItem.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'src/MenuItem.mjs')
-rw-r--r--src/MenuItem.mjs17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/MenuItem.mjs b/src/MenuItem.mjs
index ac082b2..9830bf4 100644
--- a/src/MenuItem.mjs
+++ b/src/MenuItem.mjs
@@ -1,4 +1,5 @@
1import { createGeoLink } from './dumbymap'; 1import { createGeoLink } from './dumbymap';
2import { scrollToBlock } from './dumbyUtils';
2 3
3class Item { 4class Item {
4 constructor({ text, innerHTML, onclick }) { 5 constructor({ text, innerHTML, onclick }) {
@@ -55,7 +56,10 @@ export const pickMapItem = dumbymap =>
55 map => 56 map =>
56 new Item({ 57 new Item({
57 text: map.id, 58 text: map.id,
58 onclick: () => map.classList.add('focus'), 59 onclick: () => {
60 map.classList.add('focus');
61 map.scrollIntoView({ behavior: 'smooth' });
62 },
59 }).element, 63 }).element,
60 ), 64 ),
61 }).element; 65 }).element;
@@ -66,8 +70,15 @@ export const pickBlockItem = dumbymap =>
66 items: dumbymap.blocks.map( 70 items: dumbymap.blocks.map(
67 (block, index) => 71 (block, index) =>
68 new Item({ 72 new Item({
69 text: `Block ${index}`, 73 text:
70 onclick: () => block.classList.add('focus'), 74 block
75 .querySelector('p')
76 ?.textContent.substring(0, 20)
77 .concat(' ...') ?? `Block ${index}`,
78 onclick: () => {
79 block.classList.add('focus');
80 scrollToBlock(block);
81 },
71 }).element, 82 }).element,
72 ), 83 ),
73 }).element; 84 }).element;