add editor to placeholder props

This commit is contained in:
Philipp Kühn
2021-03-27 11:16:50 +01:00
parent 5f599c45b9
commit 0a238d9c12
2 changed files with 11 additions and 3 deletions

View File

@@ -1,11 +1,15 @@
import { Extension, isNodeEmpty } from '@tiptap/core'
import { Editor, Extension, isNodeEmpty } from '@tiptap/core'
import { Node as ProsemirrorNode } from 'prosemirror-model'
import { Decoration, DecorationSet } from 'prosemirror-view'
import { Plugin } from 'prosemirror-state'
export interface PlaceholderOptions {
emptyEditorClass: string,
emptyNodeClass: string,
placeholder: string | Function,
placeholder: ((PlaceholderProps: {
editor: Editor,
node: ProsemirrorNode,
}) => string) | string,
showOnlyWhenEditable: boolean,
showOnlyCurrent: boolean,
}
@@ -48,7 +52,10 @@ export const Placeholder = Extension.create<PlaceholderOptions>({
const decoration = Decoration.node(pos, pos + node.nodeSize, {
class: classes.join(' '),
'data-placeholder': typeof this.options.placeholder === 'function'
? this.options.placeholder(node)
? this.options.placeholder({
editor: this.editor,
node,
})
: this.options.placeholder,
})