docs: add teleportable example

This commit is contained in:
bcakmakoglu
2022-05-27 23:36:01 +02:00
committed by Braks
parent e38cb4e0c2
commit 5d94a988c7
8 changed files with 109 additions and 79 deletions
@@ -246,40 +246,38 @@ export default {
</script>
<template>
<Teleport :disabled="!node.teleport" :to="node.teleport">
<div
ref="nodeElement"
:class="getClass"
:style="getStyle"
:data-id="id"
@mouseenter="onMouseEnter"
@mousemove="onMouseMove"
@mouseleave="onMouseLeave"
@contextmenu="onContextMenu"
@click="onSelectNode"
@dblclick="onDoubleClick"
>
<component
:is="type"
:id="node.id"
:type="node.type"
:data="node.data"
:selected="!!node.selected"
:connectable="connectable"
:position="node.position"
:computed-position="node.computedPosition"
:dimensions="node.dimensions"
:is-valid-target-pos="node.isValidTargetPos"
:is-valid-source-pos="node.isValidSourcePos"
:parent-node="node.parentNode"
:dragging="!!node.dragging"
:z-index="node.computedPosition.z"
:target-position="node.targetPosition"
:source-position="node.sourcePosition"
:label="node.label"
:drag-handle="node.dragHandle"
:node-element="nodeElement"
/>
</div>
</Teleport>
<div
ref="nodeElement"
:class="getClass"
:style="getStyle"
:data-id="id"
@mouseenter="onMouseEnter"
@mousemove="onMouseMove"
@mouseleave="onMouseLeave"
@contextmenu="onContextMenu"
@click="onSelectNode"
@dblclick="onDoubleClick"
>
<component
:is="type"
:id="node.id"
:type="node.type"
:data="node.data"
:selected="!!node.selected"
:connectable="connectable"
:position="node.position"
:computed-position="node.computedPosition"
:dimensions="node.dimensions"
:is-valid-target-pos="node.isValidTargetPos"
:is-valid-source-pos="node.isValidSourcePos"
:parent-node="node.parentNode"
:dragging="!!node.dragging"
:z-index="node.computedPosition.z"
:target-position="node.targetPosition"
:source-position="node.sourcePosition"
:label="node.label"
:drag-handle="node.dragHandle"
:node-element="nodeElement"
/>
</div>
</template>
+1 -4
View File
@@ -1,4 +1,4 @@
import type { Component, TeleportProps, VNode } from 'vue'
import type { Component, VNode } from 'vue'
import type { BaseElement, Dimensions, ElementData, Position, SnapGrid, XYPosition, XYZPosition } from './flow'
import type { DefaultNodeTypes, NodeComponent } from './components'
import type { HandleElement, ValidConnectionFunc } from './handle'
@@ -69,9 +69,6 @@ export interface GraphNode<Data = ElementData> extends Node<Data> {
isParent: boolean
selected: boolean
dragging: boolean
/** teleports node element to specified dom location, this property is _not_ available on initial load, only after viewpane is ready */
teleport?: TeleportProps['to']
}
/** these props are passed to node components */