add nodeViewProps, fix #214
This commit is contained in:
@@ -11,9 +11,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { NodeViewWrapper, NodeViewContent } from '@tiptap/vue-2'
|
import { NodeViewWrapper, NodeViewContent, nodeViewProps } from '@tiptap/vue-2'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
props: nodeViewProps,
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
NodeViewWrapper,
|
NodeViewWrapper,
|
||||||
NodeViewContent,
|
NodeViewContent,
|
||||||
|
|||||||
@@ -14,19 +14,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { NodeViewWrapper } from '@tiptap/vue-2'
|
import { NodeViewWrapper, nodeViewProps } from '@tiptap/vue-2'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
NodeViewWrapper,
|
NodeViewWrapper,
|
||||||
},
|
},
|
||||||
|
|
||||||
props: {
|
props: nodeViewProps,
|
||||||
editor: {
|
|
||||||
type: Object,
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -58,10 +53,6 @@ export default {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
/* Basic editor styles */
|
/* Basic editor styles */
|
||||||
.ProseMirror {
|
.ProseMirror {
|
||||||
|
|||||||
@@ -11,24 +11,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { NodeViewWrapper } from '@tiptap/vue-2'
|
import { NodeViewWrapper, nodeViewProps } from '@tiptap/vue-2'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
NodeViewWrapper,
|
NodeViewWrapper,
|
||||||
},
|
},
|
||||||
|
|
||||||
props: {
|
props: nodeViewProps,
|
||||||
updateAttributes: {
|
|
||||||
type: Function,
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
|
|
||||||
node: {
|
|
||||||
type: Object,
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
increase() {
|
increase() {
|
||||||
|
|||||||
@@ -7,13 +7,15 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { NodeViewWrapper, NodeViewContent } from '@tiptap/vue-2'
|
import { NodeViewWrapper, NodeViewContent, nodeViewProps } from '@tiptap/vue-2'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
NodeViewWrapper,
|
NodeViewWrapper,
|
||||||
NodeViewContent,
|
NodeViewContent,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
props: nodeViewProps,
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,41 @@ import {
|
|||||||
import { Decoration, NodeView as ProseMirrorNodeView } from 'prosemirror-view'
|
import { Decoration, NodeView as ProseMirrorNodeView } from 'prosemirror-view'
|
||||||
import { Node as ProseMirrorNode } from 'prosemirror-model'
|
import { Node as ProseMirrorNode } from 'prosemirror-model'
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import { VueConstructor } from 'vue/types/umd'
|
import { VueConstructor, PropType } from 'vue/types/umd'
|
||||||
import { Editor } from './Editor'
|
import { Editor } from './Editor'
|
||||||
import { VueRenderer } from './VueRenderer'
|
import { VueRenderer } from './VueRenderer'
|
||||||
|
|
||||||
|
export const nodeViewProps = {
|
||||||
|
editor: {
|
||||||
|
type: Object as PropType<NodeViewProps['editor']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
node: {
|
||||||
|
type: Object as PropType<NodeViewProps['node']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
decorations: {
|
||||||
|
type: Object as PropType<NodeViewProps['decorations']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
selected: {
|
||||||
|
type: Boolean as PropType<NodeViewProps['selected']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
extension: {
|
||||||
|
type: Object as PropType<NodeViewProps['extension']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
getPos: {
|
||||||
|
type: Function as PropType<NodeViewProps['getPos']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
updateAttributes: {
|
||||||
|
type: Function as PropType<NodeViewProps['updateAttributes']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
interface VueNodeViewRendererOptions {
|
interface VueNodeViewRendererOptions {
|
||||||
stopEvent: ((event: Event) => boolean) | null,
|
stopEvent: ((event: Event) => boolean) | null,
|
||||||
update: ((node: ProseMirrorNode, decorations: Decoration[]) => boolean) | null,
|
update: ((node: ProseMirrorNode, decorations: Decoration[]) => boolean) | null,
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
import {
|
import {
|
||||||
ref,
|
ref,
|
||||||
provide,
|
provide,
|
||||||
|
PropType,
|
||||||
Component,
|
Component,
|
||||||
defineComponent,
|
defineComponent,
|
||||||
} from 'vue'
|
} from 'vue'
|
||||||
@@ -15,6 +16,37 @@ import { Node as ProseMirrorNode } from 'prosemirror-model'
|
|||||||
import { Editor } from './Editor'
|
import { Editor } from './Editor'
|
||||||
import { VueRenderer } from './VueRenderer'
|
import { VueRenderer } from './VueRenderer'
|
||||||
|
|
||||||
|
export const nodeViewProps = {
|
||||||
|
editor: {
|
||||||
|
type: Object as PropType<NodeViewProps['editor']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
node: {
|
||||||
|
type: Object as PropType<NodeViewProps['node']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
decorations: {
|
||||||
|
type: Object as PropType<NodeViewProps['decorations']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
selected: {
|
||||||
|
type: Boolean as PropType<NodeViewProps['selected']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
extension: {
|
||||||
|
type: Object as PropType<NodeViewProps['extension']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
getPos: {
|
||||||
|
type: Function as PropType<NodeViewProps['getPos']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
updateAttributes: {
|
||||||
|
type: Function as PropType<NodeViewProps['updateAttributes']>,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
interface VueNodeViewRendererOptions {
|
interface VueNodeViewRendererOptions {
|
||||||
stopEvent: ((event: Event) => boolean) | null,
|
stopEvent: ((event: Event) => boolean) | null,
|
||||||
update: ((node: ProseMirrorNode, decorations: Decoration[]) => boolean) | null,
|
update: ((node: ProseMirrorNode, decorations: Decoration[]) => boolean) | null,
|
||||||
|
|||||||
Reference in New Issue
Block a user