feat: knowledge pipeline (#25360)

Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: twwu <twwu@dify.ai>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: jyong <718720800@qq.com>
Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com>
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com>
Co-authored-by: quicksand <quicksandzn@gmail.com>
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com>
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: Yongtao Huang <yongtaoh2022@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: nite-knite <nkCoding@gmail.com>
Co-authored-by: Hanqing Zhao <sherry9277@gmail.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Harry <xh001x@hotmail.com>
This commit is contained in:
-LAN-
2025-09-18 12:49:10 +08:00
committed by GitHub
parent 7dadb33003
commit 85cda47c70
1772 changed files with 102407 additions and 31710 deletions

View File

@ -0,0 +1,68 @@
import {
memo,
useRef,
} from 'react'
import { useTranslation } from 'react-i18next'
import type { NodeProps } from 'reactflow'
import {
NoteEditor,
NoteEditorContextProvider,
} from '@/app/components/workflow/note-node/note-editor'
import { THEME_MAP } from '@/app/components/workflow/note-node/constants'
import type { NoteNodeType } from '@/app/components/workflow/note-node/types'
import cn from '@/utils/classnames'
const NoteNode = ({
data,
}: NodeProps<NoteNodeType>) => {
const { t } = useTranslation()
const ref = useRef<HTMLDivElement | null>(null)
const theme = data.theme
return (
<div
className={cn(
'relative flex flex-col rounded-md border shadow-xs hover:shadow-md',
THEME_MAP[theme].bg,
data.selected ? THEME_MAP[theme].border : 'border-black/5',
)}
style={{
width: data.width,
height: data.height,
}}
ref={ref}
>
<NoteEditorContextProvider
value={data.text}
editable={false}
>
<>
<div
className={cn(
'h-2 shrink-0 rounded-t-md opacity-50',
THEME_MAP[theme].title,
)}></div>
<div className='grow overflow-y-auto px-3 py-2.5'>
<div className={cn(
data.selected && 'nodrag nopan nowheel cursor-text',
)}>
<NoteEditor
containerElement={ref.current}
placeholder={t('workflow.nodes.note.editor.placeholder') || ''}
/>
</div>
</div>
{
data.showAuthor && (
<div className='p-3 pt-0 text-xs text-text-tertiary'>
{data.author}
</div>
)
}
</>
</NoteEditorContextProvider>
</div>
)
}
export default memo(NoteNode)