From 21b2d422fb447084dba8ed404d19587b1aa9a778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Wed, 13 Jan 2021 09:09:56 +0100 Subject: [PATCH 1/2] fix nodeview type, fix #92 --- packages/core/src/types.ts | 2 +- packages/vue/src/VueRenderer.ts | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 534735a7..404a3c06 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -97,7 +97,7 @@ export type NodeViewRendererProps = { extension: Node, } -export type NodeViewRenderer = (props: NodeViewRendererProps) => NodeView +export type NodeViewRenderer = (props: NodeViewRendererProps) => (NodeView | undefined) export type UnfilteredCommands = { [Item in keyof AllExtensions]: AllExtensions[Item] extends Extension diff --git a/packages/vue/src/VueRenderer.ts b/packages/vue/src/VueRenderer.ts index a5fd4788..0d3252fa 100644 --- a/packages/vue/src/VueRenderer.ts +++ b/packages/vue/src/VueRenderer.ts @@ -1,4 +1,9 @@ -import { Editor, Node, NodeViewRendererProps } from '@tiptap/core' +import { + Editor, + Node, + NodeViewRenderer, + NodeViewRendererProps, +} from '@tiptap/core' import { Decoration, NodeView } from 'prosemirror-view' import { NodeSelection } from 'prosemirror-state' import { Node as ProseMirrorNode } from 'prosemirror-model' @@ -309,7 +314,7 @@ class VueNodeView implements NodeView { } -export default function VueRenderer(component: Vue | VueConstructor, options?: Partial) { +export default function VueRenderer(component: Vue | VueConstructor, options?: Partial): NodeViewRenderer { return (props: NodeViewRendererProps) => { // try to get the parent component // this is important for vue devtools to show the component hierarchy correctly From 2608294d044861405e6fcaad1f5029b36ff54822 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Wed, 13 Jan 2021 10:17:47 +0100 Subject: [PATCH 2/2] fix bug --- packages/core/src/types.ts | 2 +- packages/vue/src/VueRenderer.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 404a3c06..b9ff3aaf 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -97,7 +97,7 @@ export type NodeViewRendererProps = { extension: Node, } -export type NodeViewRenderer = (props: NodeViewRendererProps) => (NodeView | undefined) +export type NodeViewRenderer = (props: NodeViewRendererProps) => (NodeView | {}) export type UnfilteredCommands = { [Item in keyof AllExtensions]: AllExtensions[Item] extends Extension diff --git a/packages/vue/src/VueRenderer.ts b/packages/vue/src/VueRenderer.ts index 0d3252fa..4215b9c2 100644 --- a/packages/vue/src/VueRenderer.ts +++ b/packages/vue/src/VueRenderer.ts @@ -324,7 +324,7 @@ export default function VueRenderer(component: Vue | VueConstructor, options?: P : undefined if (!parent) { - return undefined + return {} } return new VueNodeView(component, props, options) as NodeView