diff options
Diffstat (limited to 'src/MenuItem.mjs')
-rw-r--r-- | src/MenuItem.mjs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/MenuItem.mjs b/src/MenuItem.mjs index 9218b45..f5dfb5b 100644 --- a/src/MenuItem.mjs +++ b/src/MenuItem.mjs | |||
@@ -366,3 +366,25 @@ export const restoreCamera = map => | |||
366 | text: 'Restore Camera', | 366 | text: 'Restore Camera', |
367 | onclick: () => map.renderer.restoreCamera() | 367 | onclick: () => map.renderer.restoreCamera() |
368 | }) | 368 | }) |
369 | |||
370 | /** | ||
371 | * addRefLink. replace selected text into markdown link by reference style links | ||
372 | * | ||
373 | * @param {CodeMirror} cm | ||
374 | * @param {Object[]} refLinks -- object for { ref, link } | ||
375 | */ | ||
376 | export const addRefLink = (cm, refLinks) => | ||
377 | new Folder({ | ||
378 | text: 'Add Link', | ||
379 | items: refLinks.map(refLink => new Item({ | ||
380 | text: refLink.ref, | ||
381 | onclick: () => { | ||
382 | const selection = cm.getSelection() | ||
383 | if (selection === refLink.ref) { | ||
384 | cm.replaceSelection(`[${selection}]`) | ||
385 | } else { | ||
386 | cm.replaceSelection(`[${selection}][${refLink.ref}]`) | ||
387 | } | ||
388 | } | ||
389 | })) | ||
390 | }) | ||