| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- import { useMemo } from 'react'
 - import type { BaseConfiguration } from '@/app/components/base/form/form-scenarios/base/types'
 - import { type RAGPipelineVariables, VAR_TYPE_MAP } from '@/models/pipeline'
 - import { BaseFieldType } from '@/app/components/base/form/form-scenarios/base/types'
 - 
 - export const useInitialData = (variables: RAGPipelineVariables, lastRunInputData?: Record<string, any>) => {
 -   const initialData = useMemo(() => {
 -     return variables.reduce((acc, item) => {
 -       const type = VAR_TYPE_MAP[item.type]
 -       const variableName = item.variable
 -       const defaultValue = lastRunInputData?.[variableName] || item.default_value
 -       if ([BaseFieldType.textInput, BaseFieldType.paragraph, BaseFieldType.select].includes(type))
 -         acc[variableName] = defaultValue ?? ''
 -       if (type === BaseFieldType.numberInput)
 -         acc[variableName] = defaultValue ?? 0
 -       if (type === BaseFieldType.checkbox)
 -         acc[variableName] = defaultValue ?? false
 -       if ([BaseFieldType.file, BaseFieldType.fileList].includes(type))
 -         acc[variableName] = defaultValue ?? []
 -       return acc
 -     }, {} as Record<string, any>)
 -   }, [lastRunInputData, variables])
 - 
 -   return initialData
 - }
 - 
 - export const useConfigurations = (variables: RAGPipelineVariables) => {
 -   const configurations = useMemo(() => {
 -     const configurations: BaseConfiguration[] = []
 -     variables.forEach((item) => {
 -       configurations.push({
 -         type: VAR_TYPE_MAP[item.type],
 -         variable: item.variable,
 -         label: item.label,
 -         required: item.required,
 -         maxLength: item.max_length,
 -         options: item.options?.map(option => ({
 -           label: option,
 -           value: option,
 -         })),
 -         showConditions: [],
 -         placeholder: item.placeholder,
 -         tooltip: item.tooltips,
 -         unit: item.unit,
 -         allowedFileTypes: item.allowed_file_types,
 -         allowedFileExtensions: item.allowed_file_extensions,
 -         allowedFileUploadMethods: item.allowed_file_upload_methods,
 -       })
 -     })
 -     return configurations
 -   }, [variables])
 - 
 -   return configurations
 - }
 
 
  |