Merge pull request #658 from BrianHung/RegisterPluginPriority

Change registerPlugin to add plugin after Extensions plugins
This commit is contained in:
Philipp Kühn 2020-04-12 19:14:39 +02:00 committed by GitHub
commit 9bf8be403f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 9 deletions

View File

@ -85,7 +85,7 @@ export default {
| `setContent` | `content, emitUpdate, parseOptions` | Replace the current content. You can pass an HTML string or a JSON document. `emitUpdate` defaults to `false`. `parseOptions` defaults to those provided in constructor. |
| `clearContent` | `emitUpdate` | Clears the current content. `emitUpdate` defaults to `false`. |
| `setOptions` | `options` | Overwrites the current editor properties. |
| `registerPlugin` | `plugin` | Register a Prosemirror plugin. |
| `registerPlugin` | `plugin`, `handlePlugins` | Register a Prosemirror plugin. You can pass a function `handlePlugins` with parameters `(plugin, oldPlugins)` to define an order in which `newPlugins` will be called. `handlePlugins` defaults to pushing `plugin` to front of `oldPlugins`. |
| `getJSON` | | Get the current content as JSON. |
| `getHTML` | | Get the current content as HTML. |
| `focus` | | Focus the editor. |

View File

@ -498,14 +498,10 @@ export default class Editor extends Emitter {
}), {})
}
registerPlugin(plugin = null) {
if (!plugin) {
return
}
const newState = this.state.reconfigure({
plugins: this.state.plugins.concat([plugin]),
})
registerPlugin(plugin = null, handlePlugins) {
const plugins = typeof handlePlugins === 'function'
? handlePlugins(plugin, this.state.plugins) : [...plugin, this.state.plugins]
const newState = this.state.reconfigure({ plugins })
this.view.updateState(newState)
}