Skip to content

Commit 961e539

Browse files
committed
fix: Workflow node search for several errors
1 parent d9df9b4 commit 961e539

File tree

2 files changed

+27
-18
lines changed

2 files changed

+27
-18
lines changed

ui/src/workflow/common/NodeSearch.vue

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -98,20 +98,22 @@ const getSelectNodes = (kw: string) => {
9898
const graph_data = props.lf?.getGraphData()
9999
graph_data.nodes.filter((node: any) => {
100100
if (node.properties.stepName.includes(kw)) {
101-
result.push({
102-
...node,
103-
order: 1,
104-
focusOn: () => {
105-
focusOn(node)
106-
props.lf?.graphModel.getNodeModelById(node.id).focusOn(searchText.value)
107-
},
108-
selectOn: () => {
109-
props.lf?.graphModel.getNodeModelById(node.id).selectOn(searchText.value)
110-
},
111-
clearSelectOn: () => {
112-
props.lf?.graphModel.getNodeModelById(node.id).clearSelectOn(searchText.value)
113-
},
114-
})
101+
if (node.type !== 'loop-body-node') {
102+
result.push({
103+
...node,
104+
order: 1,
105+
focusOn: () => {
106+
focusOn(node)
107+
props.lf?.graphModel.getNodeModelById(node.id)?.focusOn(searchText.value)
108+
},
109+
selectOn: () => {
110+
props.lf?.graphModel.getNodeModelById(node.id)?.selectOn(searchText.value)
111+
},
112+
clearSelectOn: () => {
113+
props.lf?.graphModel.getNodeModelById(node.id)?.clearSelectOn(searchText.value)
114+
},
115+
})
116+
}
115117
}
116118
if (node.type == 'loop-body-node') {
117119
const nodeModel = props.lf?.graphModel
@@ -154,7 +156,7 @@ const next = () => {
154156
const up = () => {
155157
if (selectedNodes.value && selectedNodes.value.length > 0) {
156158
selectedNodes.value[currentIndex.value]?.selectOn()
157-
if (currentIndex.value - 1 <= 0) {
159+
if (currentIndex.value - 1 < 0) {
158160
currentIndex.value = selectedNodes.value.length - 1
159161
} else {
160162
currentIndex.value--
@@ -214,7 +216,10 @@ const handleSearch = (kw: string) => {
214216
onSearch?.(searchText.value)
215217
}
216218
}
217-
219+
const reSearch = () => {
220+
console.log('ss')
221+
handleSearch(searchText.value)
222+
}
218223
// 生命周期
219224
onMounted(() => {
220225
window.addEventListener('keydown', handleKeyDown)
@@ -223,6 +228,7 @@ onMounted(() => {
223228
onUnmounted(() => {
224229
window.removeEventListener('keydown', handleKeyDown)
225230
})
231+
defineExpose({ reSearch })
226232
</script>
227233

228234
<style scoped>

ui/src/workflow/index.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<!-- 辅助工具栏 -->
44
<Control class="workflow-control" v-if="lf" :lf="lf"></Control>
55
<TeleportContainer :flow-id="flowId" />
6-
<NodeSearch :lf="lf"></NodeSearch>
6+
<NodeSearch :lf="lf" ref="nodeSearchRef"></NodeSearch>
77
</template>
88
<script setup lang="ts">
99
import LogicFlow from '@logicflow/core'
@@ -23,7 +23,7 @@ import NodeSearch from '@/workflow/common/NodeSearch.vue'
2323
const nodes: any = import.meta.glob('./nodes/**/index.ts', { eager: true })
2424
const workflow_mode = inject('workflowMode') || WorkflowMode.Application
2525
const loop_workflow_mode = inject('loopWorkflowMode') || WorkflowMode.ApplicationLoop
26-
26+
const nodeSearchRef = ref<InstanceType<typeof NodeSearch>>()
2727
defineOptions({ name: 'WorkFlow' })
2828
const TeleportContainer = getTeleport()
2929
const flowId = ref('')
@@ -87,6 +87,9 @@ const renderGraphData = (data?: any) => {
8787
lf.value.on('graph:rendered', () => {
8888
flowId.value = lf.value.graphModel.flowId
8989
})
90+
lf.value.on('node:delete', () => {
91+
nodeSearchRef.value?.reSearch()
92+
})
9093
initDefaultShortcut(lf.value, lf.value.graphModel)
9194
lf.value.batchRegister([
9295
...Object.keys(nodes).map((key) => nodes[key].default),

0 commit comments

Comments
 (0)