move some code to extension manager
This commit is contained in:
@@ -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(),
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user