|
@@ -1,5 +1,5 @@
|
|
<template>
|
|
<template>
|
|
- <div class="node" ref="ref_node">
|
|
|
|
|
|
+ <div class="node" ref="ref_node" :class="{active: state.node?.id === WorkflowStore.panel.node?.id}" @mouseenter="onMouseenter" @mouseleave="onMouseleave">
|
|
<div class="node-title">
|
|
<div class="node-title">
|
|
{{ state.nodeData?.title }}
|
|
{{ state.nodeData?.title }}
|
|
<div class="node-sub" v-if="state.nodeData?.subTitle">{{ state.nodeData.subTitle }}</div>
|
|
<div class="node-sub" v-if="state.nodeData?.subTitle">{{ state.nodeData.subTitle }}</div>
|
|
@@ -29,6 +29,7 @@ import testNode from '../instance/test/node/index.vue'
|
|
import answerNode from '../instance/answer/node/index.vue'
|
|
import answerNode from '../instance/answer/node/index.vue'
|
|
import {useWorkflowStore} from "@/stores";
|
|
import {useWorkflowStore} from "@/stores";
|
|
import {NodeType} from "@/views/workflow/types";
|
|
import {NodeType} from "@/views/workflow/types";
|
|
|
|
+import {lineActiveStyle, lineStyle} from "@/views/workflow/config";
|
|
|
|
|
|
const WorkflowStore = useWorkflowStore()
|
|
const WorkflowStore = useWorkflowStore()
|
|
const getNode: any = inject('getNode')
|
|
const getNode: any = inject('getNode')
|
|
@@ -40,6 +41,18 @@ const state: any = reactive({
|
|
nodeData: {}
|
|
nodeData: {}
|
|
})
|
|
})
|
|
const ref_node = ref()
|
|
const ref_node = ref()
|
|
|
|
+const onMouseenter = () => {
|
|
|
|
+ const connectEdges = WorkflowStore.graph.getConnectedEdges(state.node.id)
|
|
|
|
+ connectEdges.forEach(edge => {
|
|
|
|
+ edge.attr(lineActiveStyle)
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+const onMouseleave = () => {
|
|
|
|
+ const connectEdges = WorkflowStore.graph.getConnectedEdges(state.node.id)
|
|
|
|
+ connectEdges.forEach(edge => {
|
|
|
|
+ edge.attr(lineStyle)
|
|
|
|
+ })
|
|
|
|
+}
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
state.node = getNode()
|
|
state.node = getNode()
|
|
state.nodeData = state.node.data.workflowData
|
|
state.nodeData = state.node.data.workflowData
|
|
@@ -61,7 +74,7 @@ onMounted(() => {
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
border-width: 4px;
|
|
border-width: 4px;
|
|
border-color: transparent;
|
|
border-color: transparent;
|
|
- &:hover {
|
|
|
|
|
|
+ &:hover, &.active {
|
|
border-color: var(--czr-main-color);
|
|
border-color: var(--czr-main-color);
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
}
|
|
}
|