-
Notifications
You must be signed in to change notification settings - Fork 51
/
Copy pathplaceholder.ts
37 lines (32 loc) · 949 Bytes
/
placeholder.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import './style/placeholder.css'
import { Plugin } from 'prosemirror-state'
import { Decoration, DecorationSet } from 'prosemirror-view'
export const placeholder = (): Plugin =>
new Plugin({
props: {
decorations: (state) => {
const decorations: Decoration[] = []
if (state.doc.content.size === 2) {
decorations.push(
Decoration.node(0, 2, {
class: 'empty-node',
})
)
}
// state.doc.descendants((node, pos) => {
// if (
// node.type.isBlock &&
// node.childCount === 0 &&
// node.content.size === 0
// ) {
// decorations.push(
// Decoration.node(pos, pos + node.nodeSize, {
// class: 'empty-node',
// })
// )
// }
// })
return DecorationSet.create(state.doc, decorations)
},
},
})