diff options
| -rw-r--r-- | src/MenuItem.mjs | 5 | ||||
| -rw-r--r-- | src/dumbymap.mjs | 2 | ||||
| -rw-r--r-- | src/editor.mjs | 18 |
3 files changed, 20 insertions, 5 deletions
diff --git a/src/MenuItem.mjs b/src/MenuItem.mjs index 54da450..9218b45 100644 --- a/src/MenuItem.mjs +++ b/src/MenuItem.mjs | |||
| @@ -133,11 +133,6 @@ export const pickLayoutItem = ({ container, layouts }) => | |||
| 133 | new Folder({ | 133 | new Folder({ |
| 134 | innerHTML: '<span>Layouts<span><span class="info">(x)</span>', | 134 | innerHTML: '<span>Layouts<span><span class="info">(x)</span>', |
| 135 | items: [ | 135 | items: [ |
| 136 | new Item({ | ||
| 137 | text: 'EDIT', | ||
| 138 | onclick: () => | ||
| 139 | container.closest('[data-mode]').setAttribute('data-mode', 'editing') | ||
| 140 | }), | ||
| 141 | ...layouts.map( | 136 | ...layouts.map( |
| 142 | layout => | 137 | layout => |
| 143 | new Item({ | 138 | new Item({ |
diff --git a/src/dumbymap.mjs b/src/dumbymap.mjs index 8f049b2..a31274e 100644 --- a/src/dumbymap.mjs +++ b/src/dumbymap.mjs | |||
| @@ -465,6 +465,8 @@ export const generateMaps = (container, { delay } = {}) => { | |||
| 465 | } | 465 | } |
| 466 | 466 | ||
| 467 | shiftByWindow(menu) | 467 | shiftByWindow(menu) |
| 468 | |||
| 469 | return menu | ||
| 468 | } | 470 | } |
| 469 | 471 | ||
| 470 | // Remove menu when click outside | 472 | // Remove menu when click outside |
diff --git a/src/editor.mjs b/src/editor.mjs index 90c446e..9bb62a9 100644 --- a/src/editor.mjs +++ b/src/editor.mjs | |||
| @@ -4,6 +4,7 @@ import { markdown2HTML, generateMaps } from './dumbymap' | |||
| 4 | import { defaultAliases, parseConfigsFromYaml } from 'mapclay' | 4 | import { defaultAliases, parseConfigsFromYaml } from 'mapclay' |
| 5 | import * as menuItem from './MenuItem' | 5 | import * as menuItem from './MenuItem' |
| 6 | import { shiftByWindow } from './utils.mjs' | 6 | import { shiftByWindow } from './utils.mjs' |
| 7 | import { Item } from './MenuItem.mjs' | ||
| 7 | 8 | ||
| 8 | // Set up Containers {{{ | 9 | // Set up Containers {{{ |
| 9 | 10 | ||
| @@ -333,6 +334,23 @@ const updateDumbyMap = () => { | |||
| 333 | 334 | ||
| 334 | const htmlHolder = dumbymap.htmlHolder | 335 | const htmlHolder = dumbymap.htmlHolder |
| 335 | htmlHolder.onscroll = htmlOnScroll(htmlHolder) | 336 | htmlHolder.onscroll = htmlOnScroll(htmlHolder) |
| 337 | |||
| 338 | const dumbymenu = dumbyContainer.oncontextmenu | ||
| 339 | dumbyContainer.oncontextmenu = e => { | ||
| 340 | const menu = dumbymenu(e) | ||
| 341 | |||
| 342 | if (context.dataset.mode !== 'editing') { | ||
| 343 | menu.appendChild( | ||
| 344 | new Item({ | ||
| 345 | innerHTML: '<strong>EDIT</strong>', | ||
| 346 | onclick: () => context.dataset.mode = 'editing' | ||
| 347 | }) | ||
| 348 | ) | ||
| 349 | } | ||
| 350 | |||
| 351 | menu.style.transform = '' | ||
| 352 | shiftByWindow(menu) | ||
| 353 | } | ||
| 336 | } | 354 | } |
| 337 | updateDumbyMap() | 355 | updateDumbyMap() |
| 338 | 356 | ||