feat(pathfinding-edge): add and export props type

This commit is contained in:
Braks
2022-05-22 22:23:42 +02:00
parent 18cf57937c
commit 0a285d63c7
10 changed files with 111 additions and 104 deletions

View File

@@ -1,7 +1,8 @@
<script lang="ts" setup>
import { VueFlow, MiniMap, Controls, Background, Connection, Edge, Elements, FlowInstance, addEdge } from '@braks/vue-flow'
import type { Connection, Edge, Elements, FlowInstance } from '@braks/vue-flow'
import { Background, VueFlow, addEdge } from '@braks/vue-flow'
import initialElements from './elements'
import { PathFindingEdge } from '~/index'
import { PathFindingEdge, PerfectArrow } from '~/index'
const elements = ref<Elements>(initialElements)
const rfInstance = ref<FlowInstance | null>(null)
@@ -11,21 +12,31 @@ const onLoad = (flowInstance: FlowInstance) => {
rfInstance.value = flowInstance
}
</script>
<template>
<div style="height: 100%">
<VueFlow v-model="elements" class="vue-flow-basic-example" @connect="onConnect" @pane-ready="onLoad">
<VueFlow
v-model="elements"
:default-edge-options="{ type: 'perfectArrow' }"
class="vue-flow-basic-example"
@connect="onConnect"
@pane-ready="onLoad"
>
<template #edge-pathFinding="props">
<PathFindingEdge v-bind="props" />
</template>
<Controls />
<MiniMap />
<template #edge-perfectArrow="props">
<PerfectArrow v-bind="props" />
</template>
<Background color="#aaa" :gap="8" />
</VueFlow>
</div>
</template>
<style>
@import '../node_modules/@braks/vue-flow/dist/style.css';
@import '../node_modules/@braks/vue-flow/dist/theme-default.css';
@import '@braks/vue-flow/dist/style.css';
@import '@braks/vue-flow/dist/theme-default.css';
html,
body,

View File

@@ -1,7 +1,7 @@
import type { Elements } from '@braks/vue-flow'
import type { EdgeMarkerType, Elements } from '@braks/vue-flow'
import { MarkerType } from '@braks/vue-flow'
const markerEnd = MarkerType.Arrow
const markerEnd: EdgeMarkerType = MarkerType.Arrow
export default [
{
@@ -101,7 +101,8 @@ export default [
id: 'e2c2d',
source: '2c',
target: '2d',
type: 'pathFinding',
type: 'perfectArrow',
label: 'perfect arrow',
markerEnd,
},
{