mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 19:59:50 +08:00
dabfd74622
Co-authored-by: StyleZhang <jasonapring2015@outlook.com> Co-authored-by: Yi <yxiaoisme@gmail.com> Co-authored-by: -LAN- <laipz8200@outlook.com>
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,
|
|
}
|
|
}
|