dify/web/app/components/base/form/hooks/use-get-form-values.ts
Stephen Zhou a84c2d36a3
style: format with vp fmt (#38803)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-12 15:57:46 +00:00

44 lines
1.2 KiB
TypeScript

import type { AnyFormApi } from '@tanstack/react-form'
import type { FormSchema, GetValuesOptions } from '../types'
import { useCallback } from 'react'
import { getTransformedValuesWhenSecretInputPristine } from '../utils/secret-input'
import { useCheckValidated } from './use-check-validated'
export const useGetFormValues = (form: AnyFormApi, formSchemas: FormSchema[]) => {
const { checkValidated } = useCheckValidated(form, formSchemas)
const getFormValues = useCallback(
({
needCheckValidatedValues = true,
needTransformWhenSecretFieldIsPristine,
}: GetValuesOptions) => {
const values = form?.store.state.values || {}
if (!needCheckValidatedValues) {
return {
values,
isCheckValidated: true,
}
}
if (checkValidated()) {
return {
values: needTransformWhenSecretFieldIsPristine
? getTransformedValuesWhenSecretInputPristine(formSchemas, form)
: values,
isCheckValidated: true,
}
} else {
return {
values: {},
isCheckValidated: false,
}
}
},
[form, checkValidated, formSchemas],
)
return {
getFormValues,
}
}