mirror of
				https://github.com/langgenius/dify.git
				synced 2025-10-31 02:42:59 +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>
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 'use client'
 | |
| import React from 'react'
 | |
| import { useTranslation } from 'react-i18next'
 | |
| import { RiAddLine } from '@remixicon/react'
 | |
| import Button from '@/app/components/base/button'
 | |
| import VariableModal from '@/app/components/workflow/panel/env-panel/variable-modal'
 | |
| import {
 | |
|   PortalToFollowElem,
 | |
|   PortalToFollowElemContent,
 | |
|   PortalToFollowElemTrigger,
 | |
| } from '@/app/components/base/portal-to-follow-elem'
 | |
| import type { EnvironmentVariable } from '@/app/components/workflow/types'
 | |
| 
 | |
| type Props = {
 | |
|   open: boolean
 | |
|   setOpen: (value: React.SetStateAction<boolean>) => void
 | |
|   env?: EnvironmentVariable
 | |
|   onClose: () => void
 | |
|   onSave: (env: EnvironmentVariable) => void
 | |
| }
 | |
| 
 | |
| const VariableTrigger = ({
 | |
|   open,
 | |
|   setOpen,
 | |
|   env,
 | |
|   onClose,
 | |
|   onSave,
 | |
| }: Props) => {
 | |
|   const { t } = useTranslation()
 | |
| 
 | |
|   return (
 | |
|     <PortalToFollowElem
 | |
|       open={open}
 | |
|       onOpenChange={() => {
 | |
|         setOpen(v => !v)
 | |
|         open && onClose()
 | |
|       }}
 | |
|       placement='left-start'
 | |
|       offset={{
 | |
|         mainAxis: 8,
 | |
|         alignmentAxis: -104,
 | |
|       }}
 | |
|     >
 | |
|       <PortalToFollowElemTrigger onClick={() => {
 | |
|         setOpen(v => !v)
 | |
|         open && onClose()
 | |
|       }}>
 | |
|         <Button variant='primary'>
 | |
|           <RiAddLine className='mr-1 h-4 w-4' />
 | |
|           <span className='system-sm-medium'>{t('workflow.env.envPanelButton')}</span>
 | |
|         </Button>
 | |
|       </PortalToFollowElemTrigger>
 | |
|       <PortalToFollowElemContent className='z-[11]'>
 | |
|         <VariableModal
 | |
|           env={env}
 | |
|           onSave={onSave}
 | |
|           onClose={() => {
 | |
|             onClose()
 | |
|             setOpen(false)
 | |
|           }}
 | |
|         />
 | |
|       </PortalToFollowElemContent>
 | |
|     </PortalToFollowElem>
 | |
|   )
 | |
| }
 | |
| 
 | |
| export default VariableTrigger
 |