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