From 8da66c9cd8552ca001287ffd74a8b5eca343a851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Thu, 5 Mar 2020 22:40:02 +0100 Subject: [PATCH] enable extensions init --- packages/tiptap-core/src/Extension.ts | 22 +++++++++----------- packages/tiptap-core/src/ExtensionManager.ts | 10 ++++----- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/packages/tiptap-core/src/Extension.ts b/packages/tiptap-core/src/Extension.ts index 87a8b6ff..6a0b66ca 100644 --- a/packages/tiptap-core/src/Extension.ts +++ b/packages/tiptap-core/src/Extension.ts @@ -2,29 +2,27 @@ import { Editor } from './Editor' export default abstract class Extension { - public abstract name: string - - editor: any - options: { [key: string]: any } = {} - defaultOptions: { [key: string]: any } = {} - constructor(options = {}) { this.options = { ...this.defaultOptions, ...options, } } + + editor!: Editor + options: { [key: string]: any } = {} + defaultOptions: { [key: string]: any } = {} + + public abstract name: string + + public type = 'extension' - init(): any { - return null - } + protected init() {} - bindEditor(editor: Editor): void { + protected bindEditor(editor: Editor): void { this.editor = editor } - public type = 'extension' - get update(): any { return () => {} } diff --git a/packages/tiptap-core/src/ExtensionManager.ts b/packages/tiptap-core/src/ExtensionManager.ts index aa76a041..d6a54653 100644 --- a/packages/tiptap-core/src/ExtensionManager.ts +++ b/packages/tiptap-core/src/ExtensionManager.ts @@ -7,11 +7,11 @@ export default class ExtensionManager { extensions: [any?] constructor(extensions: any = [], editor: Editor) { - // extensions.forEach(extension => { - // extension.bindEditor(editor) - // extension.init() - // }) this.extensions = extensions + this.extensions.forEach(extension => { + extension.bindEditor(editor) + extension.init() + }) } get nodes(): any { @@ -28,7 +28,7 @@ export default class ExtensionManager { .all() } - get plugins(): any { + get plugins() { return collect(this.extensions) .flatMap(extension => extension.plugins) .toArray()