refactor(edges): use computed properties for class and styles
This commit is contained in:
@@ -55,9 +55,6 @@ const handleEdgeUpdater = (event: MouseEvent, isSourceHandle: boolean) => {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
const getClass = () => (edge.value.class instanceof Function ? edge.value.class(edge.value) : edge.value.class)
|
|
||||||
const getStyle = () => (edge.value.style instanceof Function ? edge.value.style(edge.value) : edge.value.style)
|
|
||||||
|
|
||||||
// when connection type is loose we can define all handles as sources
|
// when connection type is loose we can define all handles as sources
|
||||||
const targetNodeHandles = computed(() => {
|
const targetNodeHandles = computed(() => {
|
||||||
if (store.connectionMode === ConnectionMode.Strict) {
|
if (store.connectionMode === ConnectionMode.Strict) {
|
||||||
@@ -147,6 +144,24 @@ const type = computed(() => {
|
|||||||
|
|
||||||
return slot
|
return slot
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const getClass = computed(() => {
|
||||||
|
const extraClass = edge.value.class instanceof Function ? edge.value.class(edge.value) : edge.value.class
|
||||||
|
return [
|
||||||
|
'vue-flow__edge',
|
||||||
|
`vue-flow__edge-${name.value}`,
|
||||||
|
store.noPanClassName,
|
||||||
|
{
|
||||||
|
selected: edge.value.selected,
|
||||||
|
animated: edge.value.animated,
|
||||||
|
inactive: !props.selectable,
|
||||||
|
updating: updating.value,
|
||||||
|
},
|
||||||
|
extraClass,
|
||||||
|
]
|
||||||
|
})
|
||||||
|
|
||||||
|
const getStyle = () => (edge.value.style instanceof Function ? edge.value.style(edge.value) : edge.value.style)
|
||||||
</script>
|
</script>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
export default {
|
export default {
|
||||||
@@ -157,18 +172,7 @@ export default {
|
|||||||
<template>
|
<template>
|
||||||
<g
|
<g
|
||||||
:key="`edge-${edge.id}`"
|
:key="`edge-${edge.id}`"
|
||||||
:class="[
|
:class="getClass"
|
||||||
'vue-flow__edge',
|
|
||||||
`vue-flow__edge-${name}`,
|
|
||||||
store.noPanClassName,
|
|
||||||
{
|
|
||||||
selected: edge.selected,
|
|
||||||
animated: edge.animated,
|
|
||||||
inactive: !props.selectable,
|
|
||||||
updating,
|
|
||||||
},
|
|
||||||
getClass(),
|
|
||||||
]"
|
|
||||||
@click="onEdgeClick"
|
@click="onEdgeClick"
|
||||||
@dblClick="onDoubleClick"
|
@dblClick="onDoubleClick"
|
||||||
@contextmenu="onEdgeContextMenu"
|
@contextmenu="onEdgeContextMenu"
|
||||||
|
|||||||
Reference in New Issue
Block a user