Files
payload/packages/ui/src/forms/Form/initContextState.ts
Alessio Gravili ebd43c7763 feat: pre-compile ui and richtext-lexical with react compiler (#7688)
This noticeably improves performance in the admin panel, for example
when there are multiple richtext editors on one page (& likely
performance in other areas too, though I mainly tested rich text).

The babel plugin currently only optimizes files with a 'use client'
directive at the top - thus we have to make sure to add use client
wherever possible, even if it's imported by a parent client component.

There's one single component that broke when it was compiled using the
React compiler (it stopped being reactive and failed one of our admin
e2e tests):
150808f608
opting out of it completely fixed that issue

Fixes https://github.com/payloadcms/payload/issues/7366
2024-08-19 17:31:36 -04:00

53 lines
1.3 KiB
TypeScript

'use client'
import type { Data, FormField, FormState } from 'payload'
import type {
Context,
CreateFormData,
DispatchFields,
GetSiblingData,
Reset,
SetModified,
SetProcessing,
SetSubmitted,
Submit,
ValidateForm,
} from './types.js'
const submit: Submit = () => undefined
const getSiblingData: GetSiblingData = () => undefined
const dispatchFields: DispatchFields = () => undefined
const validateForm: ValidateForm = () => undefined
const createFormData: CreateFormData = () => undefined
const setModified: SetModified = () => undefined
const setProcessing: SetProcessing = () => undefined
const setSubmitted: SetSubmitted = () => undefined
const reset: Reset = () => undefined
export const initContextState: Context = {
addFieldRow: () => undefined,
buildRowErrors: () => undefined,
createFormData,
disabled: false,
dispatchFields,
fields: {},
formRef: null,
getData: (): Data => undefined,
getDataByPath: () => undefined,
getField: (): FormField => undefined,
getFields: (): FormState => ({}),
getSiblingData,
initializing: undefined,
removeFieldRow: () => undefined,
replaceFieldRow: () => undefined,
replaceState: () => undefined,
reset,
setDisabled: () => undefined,
setModified,
setProcessing,
setSubmitted,
submit,
validateForm,
}