feat: workflow add note node (#5164)

This commit is contained in:
zxhlyh 2024-06-14 17:08:11 +08:00 • committed by GitHub
commit c28d709d7f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
69 changed files with 2375 additions and 169 deletions

View file

@ -34,8 +34,10 @@ import {
useWorkflowStore,
} from '../store'
import {
CUSTOM_NODE,
SUPPORT_OUTPUT_VARS_NODE,
} from '../constants'
import { CUSTOM_NOTE_NODE } from '../note-node/constants'
import { findUsedVarNodes, getNodeOutputVars, updateNodeVars } from '../nodes/_base/components/variable/utils'
import { useNodesExtraData } from './use-nodes-data'
import { useWorkflowTemplate } from './use-workflow-template'
@ -88,7 +90,7 @@ export const useWorkflow = () => {
const rankMap = {} as Record<string, Node>
nodes.forEach((node) => {
if (!node.parentId) {
if (!node.parentId && node.type === CUSTOM_NODE) {
const rank = layout.node(node.id).rank!
if (!rankMap[rank]) {
@ -103,7 +105,7 @@ export const useWorkflow = () => {
const newNodes = produce(nodes, (draft) => {
draft.forEach((node) => {
if (!node.parentId) {
if (!node.parentId && node.type === CUSTOM_NODE) {
const nodeWithPosition = layout.node(node.id)
node.position = {
@ -345,6 +347,9 @@ export const useWorkflow = () => {
if (targetNode.data.isIterationStart)
return false
if (sourceNode.type === CUSTOM_NOTE_NODE || targetNode.type === CUSTOM_NOTE_NODE)
return false
if (sourceNode && targetNode) {
const sourceNodeAvailableNextNodes = nodesExtraData[sourceNode.data.type].availableNextNodes
const targetNodeAvailablePrevNodes = [...nodesExtraData[targetNode.data.type].availablePrevNodes, BlockEnum.Start]