mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 10:53:02 +00:00 
			
		
		
		
	 7709d9df20
			
		
	
	
		7709d9df20
		
			
		
	
	
	
	
		
			
			Co-authored-by: NFish <douxc512@gmail.com> Co-authored-by: zxhlyh <jasonapring2015@outlook.com> Co-authored-by: twwu <twwu@dify.ai> Co-authored-by: jZonG <jzongcode@gmail.com>
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { memo } from 'react'
 | |
| import { useViewport } from 'reactflow'
 | |
| import { useStore } from '../store'
 | |
| import type {
 | |
|   HelpLineHorizontalPosition,
 | |
|   HelpLineVerticalPosition,
 | |
| } from './types'
 | |
| 
 | |
| const HelpLineHorizontal = memo(({
 | |
|   top,
 | |
|   left,
 | |
|   width,
 | |
| }: HelpLineHorizontalPosition) => {
 | |
|   const { x, y, zoom } = useViewport()
 | |
| 
 | |
|   return (
 | |
|     <div
 | |
|       className='absolute z-[9] h-[1px] bg-primary-300'
 | |
|       style={{
 | |
|         top: top * zoom + y,
 | |
|         left: left * zoom + x,
 | |
|         width: width * zoom,
 | |
|       }}
 | |
|     />
 | |
|   )
 | |
| })
 | |
| HelpLineHorizontal.displayName = 'HelpLineBase'
 | |
| 
 | |
| const HelpLineVertical = memo(({
 | |
|   top,
 | |
|   left,
 | |
|   height,
 | |
| }: HelpLineVerticalPosition) => {
 | |
|   const { x, y, zoom } = useViewport()
 | |
| 
 | |
|   return (
 | |
|     <div
 | |
|       className='absolute z-[9] w-[1px] bg-primary-300'
 | |
|       style={{
 | |
|         top: top * zoom + y,
 | |
|         left: left * zoom + x,
 | |
|         height: height * zoom,
 | |
|       }}
 | |
|     />
 | |
|   )
 | |
| })
 | |
| HelpLineVertical.displayName = 'HelpLineVertical'
 | |
| 
 | |
| const HelpLine = () => {
 | |
|   const helpLineHorizontal = useStore(s => s.helpLineHorizontal)
 | |
|   const helpLineVertical = useStore(s => s.helpLineVertical)
 | |
| 
 | |
|   if (!helpLineHorizontal && !helpLineVertical)
 | |
|     return null
 | |
| 
 | |
|   return (
 | |
|     <>
 | |
|       {
 | |
|         helpLineHorizontal && (
 | |
|           <HelpLineHorizontal {...helpLineHorizontal} />
 | |
|         )
 | |
|       }
 | |
|       {
 | |
|         helpLineVertical && (
 | |
|           <HelpLineVertical {...helpLineVertical} />
 | |
|         )
 | |
|       }
 | |
|     </>
 | |
|   )
 | |
| }
 | |
| 
 | |
| export default memo(HelpLine)
 |