34 lines
773 B
JavaScript
34 lines
773 B
JavaScript
import { TpRtbBaseExtension } from './tp-rtb-base-extension.js';
|
|
import Bold from '@tiptap/extension-bold';
|
|
|
|
class TpRtbBold extends TpRtbBaseExtension {
|
|
constructor() {
|
|
super();
|
|
this.label = 'Bold';
|
|
}
|
|
|
|
getExtension() {
|
|
return Bold;
|
|
}
|
|
|
|
_handleClick() {
|
|
if (this.parentEditor && this.parentEditor.editor) {
|
|
this.parentEditor.editor.chain().focus().toggleBold().run();
|
|
}
|
|
}
|
|
|
|
_setupEditorListeners() {
|
|
const { editor } = this.parentEditor;
|
|
|
|
// Update button state when selection changes
|
|
editor.on('selectionUpdate', () => {
|
|
this.active = editor.isActive('bold');
|
|
});
|
|
|
|
editor.on('focus', () => {
|
|
this.active = editor.isActive('bold');
|
|
});
|
|
}
|
|
}
|
|
|
|
customElements.define('tp-rtb-bold', TpRtbBold); |