|
161 | 161 | // IMAGE PASTE FROM CLIPBOARD |
162 | 162 | // ======================================== |
163 | 163 | M.markdownEditor.addEventListener('paste', function (e) { |
| 164 | + if (M.markdownEditor.readOnly) return; |
164 | 165 | var items = e.clipboardData && e.clipboardData.items; |
165 | 166 | if (!items) return; |
166 | 167 | for (var i = 0; i < items.length; i++) { |
|
182 | 183 | // FORMATTING TOOLBAR HELPERS |
183 | 184 | // ======================================== |
184 | 185 | function wrapSelection(before, after, placeholder) { |
| 186 | + if (M.markdownEditor.readOnly) return; |
185 | 187 | var start = M.markdownEditor.selectionStart; |
186 | 188 | var end = M.markdownEditor.selectionEnd; |
187 | 189 | var text = M.markdownEditor.value; |
|
200 | 202 | } |
201 | 203 |
|
202 | 204 | function insertAtCursor(text) { |
| 205 | + if (M.markdownEditor.readOnly) return; |
203 | 206 | var start = M.markdownEditor.selectionStart; |
204 | 207 | var end = M.markdownEditor.selectionEnd; |
205 | 208 | var value = M.markdownEditor.value; |
|
211 | 214 | M.insertAtCursor = insertAtCursor; |
212 | 215 |
|
213 | 216 | function insertLinePrefix(prefix) { |
| 217 | + if (M.markdownEditor.readOnly) return; |
214 | 218 | var start = M.markdownEditor.selectionStart; |
215 | 219 | var end = M.markdownEditor.selectionEnd; |
216 | 220 | var text = M.markdownEditor.value; |
|
395 | 399 | // --- Keyboard Shortcuts for Formatting --- |
396 | 400 | M.markdownEditor.addEventListener('keydown', function (e) { |
397 | 401 | if (!(e.ctrlKey || e.metaKey)) return; |
| 402 | + if (M.markdownEditor.readOnly) return; |
398 | 403 | if (e.key === 'z' || e.key === 'Z') { |
399 | 404 | e.preventDefault(); |
400 | 405 | if (e.shiftKey) performRedo(); else performUndo(); |
|
526 | 531 | function findPrev() { if (findMatches.length === 0) return; selectMatch((findCurrentIndex - 1 + findMatches.length) % findMatches.length); } |
527 | 532 |
|
528 | 533 | function replaceOne() { |
| 534 | + if (M.markdownEditor.readOnly) return; |
529 | 535 | if (findCurrentIndex < 0 || findCurrentIndex >= findMatches.length) return; |
530 | 536 | var els = getActiveFindEls(); |
531 | 537 | var match = findMatches[findCurrentIndex]; |
|
538 | 544 | function escapeRegExpChars(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); } |
539 | 545 |
|
540 | 546 | function replaceAll() { |
| 547 | + if (M.markdownEditor.readOnly) return; |
541 | 548 | var els = getActiveFindEls(); |
542 | 549 | var query = els.findInput ? els.findInput.value : ''; |
543 | 550 | var replacement = els.replaceInput ? els.replaceInput.value : ''; |
|
0 commit comments