|
|
|
@ -73,8 +73,25 @@ class ComboMarkdownEditor {
|
|
|
|
|
// upstream bug: The role code is never executed in base MarkdownButtonElement https://github.com/github/markdown-toolbar-element/issues/70
|
|
|
|
|
el.setAttribute('role', 'button');
|
|
|
|
|
}
|
|
|
|
|
this.switchToEasyMDEButton = this.container.querySelector('.markdown-switch-easymde');
|
|
|
|
|
this.switchToEasyMDEButton?.addEventListener('click', async (e) => {
|
|
|
|
|
|
|
|
|
|
const monospaceButton = this.container.querySelector('.markdown-switch-monospace');
|
|
|
|
|
const monospaceEnabled = localStorage?.getItem('markdown-editor-monospace') === 'true';
|
|
|
|
|
const monospaceText = monospaceButton.getAttribute(monospaceEnabled ? 'data-disable-text' : 'data-enable-text');
|
|
|
|
|
monospaceButton.setAttribute('data-tooltip-content', monospaceText);
|
|
|
|
|
monospaceButton.setAttribute('aria-checked', String(monospaceEnabled));
|
|
|
|
|
|
|
|
|
|
monospaceButton?.addEventListener('click', (e) => {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
const enabled = localStorage?.getItem('markdown-editor-monospace') !== 'true';
|
|
|
|
|
localStorage.setItem('markdown-editor-monospace', String(enabled));
|
|
|
|
|
this.textarea.classList.toggle('gt-mono', enabled);
|
|
|
|
|
const text = monospaceButton.getAttribute(enabled ? 'data-disable-text' : 'data-enable-text');
|
|
|
|
|
monospaceButton.setAttribute('data-tooltip-content', text);
|
|
|
|
|
monospaceButton.setAttribute('aria-checked', String(enabled));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const easymdeButton = this.container.querySelector('.markdown-switch-easymde');
|
|
|
|
|
easymdeButton?.addEventListener('click', async (e) => {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
this.userPreferredEditor = 'easymde';
|
|
|
|
|
await this.switchToEasyMDE();
|
|
|
|
|