add parent to nodeviews

This commit is contained in:
Philipp Kühn 2018-11-05 20:53:51 +01:00
parent 21ed0761e7
commit 77e30cad4a
3 changed files with 6 additions and 1 deletions

View File

@ -219,6 +219,7 @@ export default {
state: this.state, state: this.state,
dispatchTransaction: this.dispatchTransaction, dispatchTransaction: this.dispatchTransaction,
nodeViews: initNodeViews({ nodeViews: initNodeViews({
parent: this,
nodes: this.views, nodes: this.views,
editable: this.editable, editable: this.editable,
}), }),

View File

@ -2,12 +2,14 @@ import Vue from 'vue'
export default class ComponentView { export default class ComponentView {
constructor(component, { constructor(component, {
parent,
node, node,
view, view,
getPos, getPos,
decorations, decorations,
editable, editable,
}) { }) {
this.parent = parent
this.component = component this.component = component
this.node = node this.node = node
this.view = view this.view = view
@ -22,6 +24,7 @@ export default class ComponentView {
createDOM() { createDOM() {
const Component = Vue.extend(this.component) const Component = Vue.extend(this.component)
this.vm = new Component({ this.vm = new Component({
parent: this.parent,
propsData: { propsData: {
node: this.node, node: this.node,
view: this.view, view: this.view,

View File

@ -1,6 +1,6 @@
import ComponentView from './ComponentView' import ComponentView from './ComponentView'
export default function initNodeViews({ nodes, editable }) { export default function initNodeViews({ parent, nodes, editable }) {
const nodeViews = {} const nodeViews = {}
Object.keys(nodes).forEach(nodeName => { Object.keys(nodes).forEach(nodeName => {
@ -8,6 +8,7 @@ export default function initNodeViews({ nodes, editable }) {
const component = nodes[nodeName] const component = nodes[nodeName]
return new ComponentView(component, { return new ComponentView(component, {
parent,
node, node,
view, view,
getPos, getPos,