Files
tp-rich-text-box/tp-rtb-underline.js
2025-07-06 19:03:59 +02:00

35 lines
824 B
JavaScript

import { TpRtbBaseExtension } from './tp-rtb-base-extension.js';
import Underline from '@tiptap/extension-underline';
class TpRtbUnderline extends TpRtbBaseExtension {
constructor() {
super();
this.label = 'Underline';
}
getExtension() {
return Underline;
}
_handleClick() {
if (this.parentEditor && this.parentEditor.editor) {
this.parentEditor.editor.chain().focus().toggleUnderline().run();
}
}
_setupEditorListeners() {
const { editor } = this.parentEditor;
// Update button state when selection changes
editor.on('selectionUpdate', () => {
this.active = editor.isActive('underline');
});
editor.on('focus', () => {
this.active = editor.isActive('underline');
});
}
}
customElements.define('tp-rtb-underline', TpRtbUnderline);