mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
21 lines
No EOL
683 B
TypeScript
21 lines
No EOL
683 B
TypeScript
import { Extension } from '@tiptap/core';
|
|
import { Plugin, PluginKey } from 'prosemirror-state';
|
|
|
|
export const NoTextInput = Extension.create({
|
|
name: 'noTextInput',
|
|
|
|
addProseMirrorPlugins() {
|
|
return [
|
|
new Plugin({
|
|
key: new PluginKey('noTextInput'),
|
|
filterTransaction: (transaction) => {
|
|
// If the transaction is adding text, stop it
|
|
return !transaction.docChanged || transaction.steps.every((step) => {
|
|
const { slice } = step.toJSON();
|
|
return !slice || !slice.content.some((node: { type: string; }) => node.type === 'text');
|
|
});
|
|
},
|
|
}),
|
|
];
|
|
},
|
|
}); |