25 lines
769 B
JavaScript
Executable File
25 lines
769 B
JavaScript
Executable File
document.addEventListener('click', function(event) {
|
|
const button = event.target.closest('[data-md-before]');
|
|
|
|
if (!button) {
|
|
return;
|
|
}
|
|
|
|
const editor = button.closest('[data-documentation-editor]');
|
|
const textarea = editor ? editor.querySelector('[data-markdown-textarea]') : null;
|
|
|
|
if (!textarea) {
|
|
return;
|
|
}
|
|
|
|
const before = button.getAttribute('data-md-before') || '';
|
|
const after = button.getAttribute('data-md-after') || '';
|
|
const start = textarea.selectionStart || 0;
|
|
const end = textarea.selectionEnd || 0;
|
|
const selected = textarea.value.substring(start, end);
|
|
const replacement = before + selected + after;
|
|
|
|
textarea.setRangeText(replacement, start, end, 'end');
|
|
textarea.focus();
|
|
});
|