fix: nodes as fragments

feat: accept vnode as edge text
This commit is contained in:
Braks
2021-10-20 22:39:54 +02:00
parent b2b1fe822f
commit 64a4b8c418
9 changed files with 53 additions and 40 deletions
+6 -8
View File
@@ -17,12 +17,10 @@ const props = withDefaults(defineProps<DefaultNodeProps>(), {
})
</script>
<template>
<div class="revue-flow__node-default">
<Handle type="target" :position="props.targetPosition" :is-connectable="props.connectable" />
<component :is="props.data?.label" v-if="typeof props.data?.label !== 'string'" />
<template v-else>
{{ props.data?.label }}
</template>
<Handle type="source" :position="props.sourcePosition" :is-connectable="props.connectable" />
</div>
<Handle type="target" :position="props.targetPosition" :is-connectable="props.connectable" />
<component :is="props.data?.label" v-if="typeof props.data?.label !== 'string'" />
<template v-else>
{{ props.data?.label }}
</template>
<Handle type="source" :position="props.sourcePosition" :is-connectable="props.connectable" />
</template>
+5 -7
View File
@@ -15,11 +15,9 @@ const props = withDefaults(defineProps<InputNodeProps>(), {
})
</script>
<template>
<div class="revue-flow__node-input">
<component :is="props.data?.label" v-if="typeof props.data?.label !== 'string'" />
<template v-else>
{{ props.data?.label }}
</template>
<Handle type="source" :position="props.sourcePosition" :connectable="props.connectable" />
</div>
<component :is="props.data?.label" v-if="typeof props.data?.label !== 'string'" />
<template v-else>
{{ props.data?.label }}
</template>
<Handle type="source" :position="props.sourcePosition" :connectable="props.connectable" />
</template>
+5 -7
View File
@@ -15,11 +15,9 @@ const props = withDefaults(defineProps<OutputNodeProps>(), {
})
</script>
<template>
<div class="revue-flow__node-output">
<component :is="props.data?.label" v-if="typeof props.data?.label !== 'string'" />
<template v-else>
{{ props.data?.label }}
</template>
<Handle type="source" :position="props.targetPosition" :is-connectable="props.connectable" />
</div>
<component :is="props.data?.label" v-if="typeof props.data?.label !== 'string'" />
<template v-else>
{{ props.data?.label }}
</template>
<Handle type="source" :position="props.targetPosition" :is-connectable="props.connectable" />
</template>