add basic extension manager

This commit is contained in:
Philipp Kühn
2020-03-05 21:05:01 +01:00
parent 6e85098741
commit 54dcbfc473
8 changed files with 89 additions and 11 deletions

View File

@@ -0,0 +1,34 @@
import { keymap } from 'prosemirror-keymap'
import { Editor } from './Editor'
export default class ExtensionManager {
extensions: [any?]
constructor(extensions: any = [], editor: Editor) {
// extensions.forEach(extension => {
// extension.bindEditor(editor)
// extension.init()
// })
this.extensions = extensions
}
get nodes() {
return this.extensions
.filter(extension => extension.type === 'node')
.reduce((nodes, { name, schema }) => ({
...nodes,
[name]: schema,
}), {})
}
get marks() {
return this.extensions
.filter(extension => extension.type === 'mark')
.reduce((marks, { name, schema }) => ({
...marks,
[name]: schema,
}), {})
}
}