mirror of
https://github.com/ueberdosis/tiptap.git
synced 2025-01-18 22:36:14 +08:00
refactoring
This commit is contained in:
parent
a96e0c2816
commit
0e1d6d41fe
@ -1,9 +1,9 @@
|
||||
import Vue, { Component, PropType } from 'vue'
|
||||
import { BubbleMenuPlugin, BubbleMenuPluginKey, BubbleMenuPluginProps } from '@tiptap/extension-bubble-menu'
|
||||
|
||||
interface BubleMenuInterface extends Vue {
|
||||
export interface BubbleMenuInterface extends Vue {
|
||||
tippyOptions: BubbleMenuPluginProps['tippyOptions'],
|
||||
editor: BubbleMenuPluginProps['editor']
|
||||
editor: BubbleMenuPluginProps['editor'],
|
||||
}
|
||||
|
||||
export const BubbleMenu: Component = {
|
||||
@ -24,7 +24,7 @@ export const BubbleMenu: Component = {
|
||||
watch: {
|
||||
editor: {
|
||||
immediate: true,
|
||||
handler(this: BubleMenuInterface, editor: BubbleMenuPluginProps['editor']) {
|
||||
handler(this: BubbleMenuInterface, editor: BubbleMenuPluginProps['editor']) {
|
||||
if (!editor) {
|
||||
return
|
||||
}
|
||||
@ -40,11 +40,11 @@ export const BubbleMenu: Component = {
|
||||
},
|
||||
},
|
||||
|
||||
render(this: BubleMenuInterface, createElement) {
|
||||
render(this: BubbleMenuInterface, createElement) {
|
||||
return createElement('div', { style: { visibility: 'hidden' } }, this.$slots.default)
|
||||
},
|
||||
|
||||
beforeDestroy(this: BubleMenuInterface) {
|
||||
beforeDestroy(this: BubbleMenuInterface) {
|
||||
this.editor.unregisterPlugin(BubbleMenuPluginKey)
|
||||
},
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
import Vue, { PropType, Component } from 'vue'
|
||||
import { Editor } from './Editor'
|
||||
|
||||
interface EditorContentInterface extends Vue {
|
||||
editor: Editor
|
||||
export interface EditorContentInterface extends Vue {
|
||||
editor: Editor,
|
||||
}
|
||||
|
||||
/** @this Component */
|
||||
export const EditorContent: Component = {
|
||||
name: 'EditorContent',
|
||||
|
||||
@ -46,8 +45,7 @@ export const EditorContent: Component = {
|
||||
return createElement('div')
|
||||
},
|
||||
|
||||
beforeDestroy() {
|
||||
// @ts-ignore
|
||||
beforeDestroy(this: EditorContentInterface) {
|
||||
const { editor } = this
|
||||
|
||||
if (!editor.isDestroyed) {
|
||||
|
@ -1,9 +1,9 @@
|
||||
import Vue, { Component, PropType } from 'vue'
|
||||
import { FloatingMenuPlugin, FloatingMenuPluginKey, FloatingMenuPluginProps } from '@tiptap/extension-floating-menu'
|
||||
|
||||
interface FloatingMenuInterface extends Vue {
|
||||
export interface FloatingMenuInterface extends Vue {
|
||||
tippyOptions: FloatingMenuPluginProps['tippyOptions'],
|
||||
editor: FloatingMenuPluginProps['editor']
|
||||
editor: FloatingMenuPluginProps['editor'],
|
||||
}
|
||||
|
||||
export const FloatingMenu: Component = {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import Vue, { Component } from 'vue'
|
||||
|
||||
interface NodeViewContentInterface extends Vue {
|
||||
as: string
|
||||
export interface NodeViewContentInterface extends Vue {
|
||||
as: string,
|
||||
}
|
||||
|
||||
export const NodeViewContent: Component = {
|
||||
|
@ -1,13 +1,11 @@
|
||||
import Vue, { Component } from 'vue'
|
||||
|
||||
interface DecorationClass {
|
||||
value: string
|
||||
}
|
||||
|
||||
interface NodeViewWrapperInterface extends Vue {
|
||||
export interface NodeViewWrapperInterface extends Vue {
|
||||
as: string,
|
||||
decorationClasses: DecorationClass,
|
||||
onDragStart: Function
|
||||
decorationClasses: {
|
||||
value: string,
|
||||
},
|
||||
onDragStart: Function,
|
||||
}
|
||||
|
||||
export const NodeViewWrapper: Component = {
|
||||
|
@ -42,7 +42,7 @@ export const nodeViewProps = {
|
||||
},
|
||||
}
|
||||
|
||||
interface VueNodeViewRendererOptions {
|
||||
export interface VueNodeViewRendererOptions {
|
||||
stopEvent: ((event: Event) => boolean) | null,
|
||||
update: ((node: ProseMirrorNode, decorations: Decoration[]) => boolean) | null,
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user