From 1ceb54bc198f273e4cec5726dd076f9bb2bdd90b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Mon, 30 Nov 2020 13:56:42 +0100 Subject: [PATCH] rename init to create --- docs/src/docPages/api/events.md | 11 +++++++++-- packages/core/src/Editor.ts | 8 +++++--- packages/core/src/types.ts | 3 ++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/docs/src/docPages/api/events.md b/docs/src/docPages/api/events.md index 0be726bc..db2a990d 100644 --- a/docs/src/docPages/api/events.md +++ b/docs/src/docPages/api/events.md @@ -10,7 +10,7 @@ You can define your event listeners on a new editor instance right-away: ```js const editor = new Editor({ - onInit() { + onCreate() { // The editor is ready. }, onUpdate() { @@ -28,6 +28,9 @@ const editor = new Editor({ onBlur({ event }) { // The editor isn’t focused anymore. }, + onDestroy() { + // The editor is destroyed. + }, }) ``` @@ -36,7 +39,7 @@ Or you can register your event listeners on a running editor instance: ### Bind event listeners ```js -editor.on('init', () => { +editor.on('create', () => { // The editor is ready. } @@ -59,6 +62,10 @@ editor.on('focus', ({ event }) => { editor.on('blur', ({ event }) => { // The editor isn’t focused anymore. } + +editor.on('destroy', () => { + // The editor is destroyed. +} ``` ### Unbind event listeners diff --git a/packages/core/src/Editor.ts b/packages/core/src/Editor.ts index 8731902a..8d464faf 100644 --- a/packages/core/src/Editor.ts +++ b/packages/core/src/Editor.ts @@ -50,12 +50,13 @@ export class Editor extends EventEmitter { parseOptions: {}, enableInputRules: true, enablePasteRules: true, - onInit: () => null, + onCreate: () => null, onUpdate: () => null, onSelection: () => null, onTransaction: () => null, onFocus: () => null, onBlur: () => null, + onDestroy: () => null, } constructor(options: Partial = {}) { @@ -73,16 +74,17 @@ export class Editor extends EventEmitter { this.createSchema() this.createView() this.injectCSS() - this.on('init', this.options.onInit) + this.on('create', this.options.onCreate) this.on('update', this.options.onUpdate) this.on('selection', this.options.onSelection) this.on('transaction', this.options.onTransaction) this.on('focus', this.options.onFocus) this.on('blur', this.options.onBlur) + this.on('destroy', this.options.onDestroy) window.setTimeout(() => { this.commands.focus(this.options.autofocus) - this.emit('init') + this.emit('create') }, 0) } diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index c6db1b24..ff36dcdf 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -25,12 +25,13 @@ export interface EditorOptions { parseOptions: ParseOptions, enableInputRules: boolean, enablePasteRules: boolean, - onInit: () => void, + onCreate: () => void, onUpdate: () => void, onSelection: () => void, onTransaction: (props: { transaction: Transaction }) => void, onFocus: (props: { event: FocusEvent }) => void, onBlur: (props: { event: FocusEvent }) => void, + onDestroy: () => void, } export type EditorContent = string | JSON | null