move some code to extension manager

This commit is contained in:
Philipp Kühn
2020-04-02 09:42:26 +02:00
parent 72cd81640e
commit a914786f46
2 changed files with 11 additions and 6 deletions

View File

@@ -1,7 +1,7 @@
import { EditorState, TextSelection } from 'prosemirror-state' import { EditorState, TextSelection } from 'prosemirror-state'
import { EditorView} from 'prosemirror-view' import { EditorView} from 'prosemirror-view'
import { Schema, DOMParser, DOMSerializer } from 'prosemirror-model' import { Schema, DOMParser, DOMSerializer } from 'prosemirror-model'
import { inputRules, undoInputRule } from 'prosemirror-inputrules' import { undoInputRule } from 'prosemirror-inputrules'
import { keymap } from 'prosemirror-keymap' import { keymap } from 'prosemirror-keymap'
import { baseKeymap } from 'prosemirror-commands' import { baseKeymap } from 'prosemirror-commands'
import { dropCursor } from 'prosemirror-dropcursor' import { dropCursor } from 'prosemirror-dropcursor'
@@ -121,9 +121,6 @@ export class Editor extends EventEmitter {
private get plugins() { private get plugins() {
return [ return [
...this.extensionManager.plugins, ...this.extensionManager.plugins,
...this.extensionManager.keymaps,
...this.extensionManager.pasteRules,
inputRules({ rules: this.extensionManager.inputRules }),
keymap({ Backspace: undoInputRule }), keymap({ Backspace: undoInputRule }),
keymap(baseKeymap), keymap(baseKeymap),
dropCursor(), dropCursor(),

View File

@@ -1,5 +1,6 @@
import { keymap } from 'prosemirror-keymap'
import collect from 'collect.js' import collect from 'collect.js'
import { keymap } from 'prosemirror-keymap'
import { inputRules } from 'prosemirror-inputrules'
import { Editor } from './Editor' import { Editor } from './Editor'
import Extension from './Extension' import Extension from './Extension'
import Node from './Node' import Node from './Node'
@@ -43,9 +44,16 @@ export default class ExtensionManager {
} }
get plugins(): any { get plugins(): any {
return collect(this.extensions) const plugins = collect(this.extensions)
.flatMap(extension => extension.plugins()) .flatMap(extension => extension.plugins())
.toArray() .toArray()
return [
...plugins,
...this.keymaps,
...this.pasteRules,
inputRules({ rules: this.inputRules }),
]
} }
get inputRules(): any { get inputRules(): any {