mirror of
https://github.com/langgenius/dify.git
synced 2025-07-13 12:10:29 +00:00
42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
![]() |
import { useCallback } from 'react'
|
||
|
import { generateNewNode } from '../utils'
|
||
|
import { useWorkflowStore } from '../store'
|
||
|
import type { NoteNodeType } from '../note-node/types'
|
||
|
import { CUSTOM_NOTE_NODE } from '../note-node/constants'
|
||
|
import { NoteTheme } from '../note-node/types'
|
||
|
import { useAppContext } from '@/context/app-context'
|
||
|
|
||
|
export const useOperator = () => {
|
||
|
const workflowStore = useWorkflowStore()
|
||
|
const { userProfile } = useAppContext()
|
||
|
|
||
|
const handleAddNote = useCallback(() => {
|
||
|
const newNode = generateNewNode({
|
||
|
type: CUSTOM_NOTE_NODE,
|
||
|
data: {
|
||
|
title: '',
|
||
|
desc: '',
|
||
|
type: '' as any,
|
||
|
text: '',
|
||
|
theme: NoteTheme.blue,
|
||
|
author: userProfile?.name || '',
|
||
|
showAuthor: true,
|
||
|
width: 240,
|
||
|
height: 88,
|
||
|
_isCandidate: true,
|
||
|
} as NoteNodeType,
|
||
|
position: {
|
||
|
x: 0,
|
||
|
y: 0,
|
||
|
},
|
||
|
})
|
||
|
workflowStore.setState({
|
||
|
candidateNode: newNode,
|
||
|
})
|
||
|
}, [workflowStore, userProfile])
|
||
|
|
||
|
return {
|
||
|
handleAddNote,
|
||
|
}
|
||
|
}
|