add topNode option

This commit is contained in:
Philipp Kühn
2020-03-06 00:15:36 +01:00
parent b21bed1694
commit cb6a723d57
4 changed files with 14 additions and 2 deletions

View File

@@ -57,7 +57,7 @@ export class Editor extends EventEmitter {
private createSchema() {
this.schema = new Schema({
// topNode: this.options.topNode,
topNode: this.extensionManager.topNode,
nodes: this.extensionManager.nodes,
marks: this.extensionManager.marks,
})

View File

@@ -14,6 +14,14 @@ export default class ExtensionManager {
})
}
get topNode() {
const topNode = this.extensions.find(extension => extension.topNode)
if (topNode) {
return topNode.name
}
}
get nodes(): any {
return collect(this.extensions)
.where('type', 'node')

View File

@@ -8,6 +8,8 @@ export default abstract class Node extends Extension {
public type = 'node'
public topNode = false
// get type() {
// return 'node'
// }

View File

@@ -2,7 +2,9 @@ import { Node } from '@tiptap/core'
export default class Document extends Node {
name = 'doc'
name = 'document'
topNode = true
schema = {
content: 'block+',