@payloadcms/ui 3.0.0-canary.67aae47 → 3.0.0-canary.6b9e4be

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/elements/Banner/index.d.ts.map +1 -1
  2. package/dist/elements/Banner/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/AddingFilesView/index.js +2 -2
  4. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  5. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  6. package/dist/elements/BulkUpload/EditForm/index.js +13 -2
  7. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  8. package/dist/elements/BulkUpload/FormsManager/reducer.js +14 -14
  9. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  10. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  11. package/dist/elements/DocumentDrawer/DrawerContent.js +44 -30
  12. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  13. package/dist/elements/DuplicateDocument/index.d.ts +1 -1
  14. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  15. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  16. package/dist/elements/EditMany/index.d.ts.map +1 -1
  17. package/dist/elements/EditMany/index.js +155 -247
  18. package/dist/elements/EditMany/index.js.map +1 -1
  19. package/dist/elements/RenderServerComponent/index.d.ts +0 -6
  20. package/dist/elements/RenderServerComponent/index.d.ts.map +1 -1
  21. package/dist/elements/RenderServerComponent/index.js +1 -24
  22. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  23. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
  24. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  25. package/dist/elements/Table/DefaultCell/index.d.ts +1 -1
  26. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  27. package/dist/elements/Table/DefaultCell/index.js +2 -2
  28. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  29. package/dist/elements/Table/RelationshipProvider/reducer.js +16 -16
  30. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  31. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +4 -4
  32. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  33. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +7 -7
  34. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  35. package/dist/exports/client/index.js +10 -10
  36. package/dist/exports/client/index.js.map +4 -4
  37. package/dist/exports/shared/index.d.ts +1 -0
  38. package/dist/exports/shared/index.d.ts.map +1 -1
  39. package/dist/exports/shared/index.js +2 -2
  40. package/dist/exports/shared/index.js.map +4 -4
  41. package/dist/fields/Relationship/optionsReducer.js +42 -42
  42. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  43. package/dist/forms/Form/fieldReducer.js +170 -170
  44. package/dist/forms/Form/fieldReducer.js.map +1 -1
  45. package/dist/forms/Form/index.d.ts.map +1 -1
  46. package/dist/forms/Form/index.js +7 -29
  47. package/dist/forms/Form/index.js.map +1 -1
  48. package/dist/forms/RenderFields/RenderField.js +6 -6
  49. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  50. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  51. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  52. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +17 -17
  53. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  54. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  55. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  56. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  57. package/dist/providers/ServerFunctions/index.d.ts +0 -2
  58. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  59. package/dist/providers/ServerFunctions/index.js +16 -67
  60. package/dist/providers/ServerFunctions/index.js.map +1 -1
  61. package/dist/utilities/abortAndIgnore.d.ts +2 -0
  62. package/dist/utilities/abortAndIgnore.d.ts.map +1 -0
  63. package/dist/utilities/abortAndIgnore.js +10 -0
  64. package/dist/utilities/abortAndIgnore.js.map +1 -0
  65. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +12 -12
  66. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  67. package/dist/utilities/buildFormState.d.ts +0 -4
  68. package/dist/utilities/buildFormState.d.ts.map +1 -1
  69. package/dist/utilities/buildFormState.js +1 -15
  70. package/dist/utilities/buildFormState.js.map +1 -1
  71. package/dist/utilities/buildTableState.d.ts +2 -1
  72. package/dist/utilities/buildTableState.d.ts.map +1 -1
  73. package/dist/utilities/buildTableState.js +6 -3
  74. package/dist/utilities/buildTableState.js.map +1 -1
  75. package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
  76. package/dist/utilities/handleFormStateLocking.js +2 -0
  77. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  78. package/dist/views/Edit/index.d.ts.map +1 -1
  79. package/dist/views/Edit/index.js +11 -18
  80. package/dist/views/Edit/index.js.map +1 -1
  81. package/dist/views/List/index.d.ts.map +1 -1
  82. package/dist/views/List/index.js +41 -52
  83. package/dist/views/List/index.js.map +1 -1
  84. package/license.md +22 -0
  85. package/package.json +15 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["dequal","useRouter","serialize","deepCopyObjectSimpleWithoutReactComponents","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","reduceFieldsToValues","wait","React","useCallback","useEffect","useReducer","useRef","useState","toast","useIgnoredEffectDebounced","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useLocale","useOperation","useServerFunctions","useTranslation","requests","FormContext","FormFieldsContext","FormWatchContext","InitializingContext","ModifiedContext","ProcessingContext","SubmittedContext","errorMessages","fieldReducer","initContextState","mergeServerFormState","baseClass","Form","props","id","collectionSlug","docPermissions","getDocPreferences","globalSlug","action","beforeSubmit","children","className","disabled","disabledFromProps","disableSuccessStatus","disableValidationOnSubmit","handleResponse","initialState","isInitializing","initializingFromProps","onChange","onSubmit","onSuccess","redirect","submitted","submittedFromProps","uuid","waitForAutocomplete","method","undefined","router","code","locale","i18n","t","refreshCookie","user","operation","getFormState","config","setDisabled","isMounted","setIsMounted","modified","setModified","initializing","setInitializing","processing","setProcessing","setSubmitted","formRef","contextRef","abortControllerRef","AbortController","abortControllerRef2","fieldsReducer","fields","dispatchFields","current","validateForm","validatedFieldState","isValid","dataFromContext","getData","data","validationPromises","Object","entries","map","path","field","validatedField","passesCondition","validationResult","valid","validate","valueToValidate","value","rows","Array","isArray","preferences","req","payload","siblingData","errorMessage","Promise","all","type","state","submit","options","e","actionArg","methodToUse","overrides","skipValidation","preventDefault","errorToast","successToast","promise","resolve","reject","hasFormSubmitAction","success","error","loading","stopPropagation","revalidatedFormState","serializableFields","reduce","priorOnChange","beforeSubmitFn","result","formState","every","key","formData","createFormData","res","toLowerCase","body","headers","language","contentType","get","isJSON","indexOf","json","status","push","message","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","statusText","console","getFields","getField","file","dataWithOverrides","dataToSerialize","_payload","JSON","stringify","indices","nullsAsUndefineds","reset","abort","abortController","docPreferences","newState","renderAllFields","schemaPath","signal","replaceState","addFieldRow","blockType","rowIndex","rowIndexArg","subFieldState","newRows","length","removeFieldRow","replaceFieldRow","currentRows","re1","re2","_err","optimize","classes","filter","Boolean","join","executeOnChange","onChangeFn","changed","delay","_jsx","noValidate","ref","Provider","useAllFormFields","useForm","useFormFields","useFormModified","useFormProcessing","useFormSubmitted","useWatchForm"],"sources":["../../../src/forms/Form/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { useRouter } from 'next/navigation.js'\nimport { serialize } from 'object-to-formdata'\nimport { type FormState, type PayloadRequest } from 'payload'\nimport {\n deepCopyObjectSimpleWithoutReactComponents,\n getDataByPath as getDataByPathFunc,\n getSiblingData as getSiblingDataFunc,\n reduceFieldsToValues,\n wait,\n} from 'payload/shared'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type {\n Context as FormContextType,\n FormProps,\n GetDataByPath,\n SubmitOptions,\n} from './types.js'\n\nimport { useIgnoredEffectDebounced } from '../../hooks/useIgnoredEffect.js'\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport {\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n InitializingContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n} from './context.js'\nimport { errorMessages } from './errorMessages.js'\nimport { fieldReducer } from './fieldReducer.js'\nimport { initContextState } from './initContextState.js'\nimport { mergeServerFormState } from './mergeServerFormState.js'\n\nconst baseClass = 'form'\n\nexport const Form: React.FC<FormProps> = (props) => {\n const { id, collectionSlug, docPermissions, getDocPreferences, globalSlug } = useDocumentInfo()\n\n const {\n action,\n beforeSubmit,\n children,\n className,\n disabled: disabledFromProps,\n disableSuccessStatus,\n disableValidationOnSubmit,\n // fields: fieldsFromProps = collection?.fields || global?.fields,\n handleResponse,\n initialState, // fully formed initial field state\n isInitializing: initializingFromProps,\n onChange,\n onSubmit,\n onSuccess,\n redirect,\n submitted: submittedFromProps,\n uuid,\n waitForAutocomplete,\n } = props\n\n const method = 'method' in props ? props?.method : undefined\n\n const router = useRouter()\n\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n const { refreshCookie, user } = useAuth()\n const operation = useOperation()\n\n const { getFormState } = useServerFunctions()\n\n const { config } = useConfig()\n\n const [disabled, setDisabled] = useState(disabledFromProps || false)\n const [isMounted, setIsMounted] = useState(false)\n const [modified, setModified] = useState(false)\n const [initializing, setInitializing] = useState(initializingFromProps)\n const [processing, setProcessing] = useState(false)\n const [submitted, setSubmitted] = useState(false)\n const formRef = useRef<HTMLFormElement>(null)\n const contextRef = useRef({} as FormContextType)\n const abortControllerRef = useRef(new AbortController())\n const abortControllerRef2 = useRef(new AbortController())\n\n const fieldsReducer = useReducer(fieldReducer, {}, () => initialState)\n\n /**\n * `fields` is the current, up-to-date state/data of all fields in the form. It can be modified by using dispatchFields,\n * which calls the fieldReducer, which then updates the state.\n */\n const [fields, dispatchFields] = fieldsReducer\n\n contextRef.current.fields = fields\n\n const validateForm = useCallback(async () => {\n const validatedFieldState = {}\n let isValid = true\n\n const dataFromContext = contextRef.current.getData()\n const data = dataFromContext\n\n const validationPromises = Object.entries(contextRef.current.fields).map(\n async ([path, field]) => {\n const validatedField = field\n\n if (field.passesCondition !== false) {\n let validationResult: boolean | string = validatedField.valid\n\n if ('validate' in field && typeof field.validate === 'function') {\n let valueToValidate = field.value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = contextRef.current.getDataByPath(path)\n }\n\n validationResult = await field.validate(valueToValidate, {\n ...field,\n id,\n collectionSlug,\n data,\n operation,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: contextRef.current.getSiblingData(path),\n })\n\n if (typeof validationResult === 'string') {\n validatedField.errorMessage = validationResult\n validatedField.valid = false\n } else {\n validatedField.valid = true\n validatedField.errorMessage = undefined\n }\n }\n\n if (validatedField.valid === false) {\n isValid = false\n }\n }\n\n validatedFieldState[path] = validatedField\n },\n )\n\n await Promise.all(validationPromises)\n\n if (!dequal(contextRef.current.fields, validatedFieldState)) {\n dispatchFields({ type: 'REPLACE_STATE', state: validatedFieldState })\n }\n\n return isValid\n }, [collectionSlug, config, dispatchFields, id, operation, t, user])\n\n const submit = useCallback(\n async (options: SubmitOptions = {}, e): Promise<void> => {\n const {\n action: actionArg = action,\n method: methodToUse = method,\n overrides = {},\n skipValidation,\n } = options\n\n if (disabled) {\n if (e) {\n e.preventDefault()\n }\n return\n }\n\n // create new toast promise which will resolve manually later\n let errorToast, successToast\n const promise = new Promise((resolve, reject) => {\n successToast = resolve\n errorToast = reject\n })\n\n const hasFormSubmitAction =\n actionArg || typeof action === 'string' || typeof action === 'function'\n\n if (redirect || disableSuccessStatus || !hasFormSubmitAction) {\n // Do not show submitting toast, as the promise toast may never disappear under these conditions.\n // Instead, make successToast() or errorToast() throw toast.success / toast.error\n successToast = (data) => toast.success(data)\n errorToast = (data) => toast.error(data)\n } else {\n toast.promise(promise, {\n error: (data) => {\n return data as string\n },\n loading: t('general:submitting'),\n success: (data) => {\n return data as string\n },\n })\n }\n\n if (e) {\n e.stopPropagation()\n e.preventDefault()\n }\n\n setProcessing(true)\n setDisabled(true)\n\n if (waitForAutocomplete) {\n await wait(100)\n }\n\n // Execute server side validations\n if (Array.isArray(beforeSubmit)) {\n let revalidatedFormState: FormState\n const serializableFields = deepCopyObjectSimpleWithoutReactComponents(fields)\n\n await beforeSubmit.reduce(async (priorOnChange, beforeSubmitFn) => {\n await priorOnChange\n\n const result = await beforeSubmitFn({\n formState: serializableFields,\n })\n\n revalidatedFormState = result\n }, Promise.resolve())\n\n const isValid = Object.entries(revalidatedFormState).every(([, field]) => field.valid)\n\n if (!isValid) {\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return dispatchFields({ type: 'REPLACE_STATE', state: revalidatedFormState })\n }\n }\n\n const isValid =\n skipValidation || disableValidationOnSubmit ? true : await contextRef.current.validateForm()\n\n // If not valid, prevent submission\n if (!isValid) {\n errorToast(t('error:correctInvalidFields'))\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n // If submit handler comes through via props, run that\n if (onSubmit) {\n const serializableFields = deepCopyObjectSimpleWithoutReactComponents(fields)\n const data = reduceFieldsToValues(serializableFields, true)\n\n if (overrides) {\n for (const [key, value] of Object.entries(overrides)) {\n data[key] = value\n }\n }\n\n onSubmit(serializableFields, data)\n }\n\n if (!hasFormSubmitAction) {\n // No action provided, so we should return. An example where this happens are lexical link drawers. Upon submitting the drawer, we\n // want to close it without submitting the form. Stuff like validation would be handled by lexical before this, through beforeSubmit\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n const formData = contextRef.current.createFormData(overrides)\n\n try {\n let res\n\n if (typeof actionArg === 'string') {\n res = await requests[methodToUse.toLowerCase()](actionArg, {\n body: formData,\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n } else if (typeof action === 'function') {\n res = await action(formData)\n }\n\n setModified(false)\n setDisabled(false)\n\n if (typeof handleResponse === 'function') {\n handleResponse(res, successToast, errorToast)\n return\n }\n\n const contentType = res.headers.get('content-type')\n const isJSON = contentType && contentType.indexOf('application/json') !== -1\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let json: Record<string, any> = {}\n\n if (isJSON) {\n json = await res.json()\n }\n if (res.status < 400) {\n if (typeof onSuccess === 'function') {\n await onSuccess(json)\n }\n setSubmitted(false)\n setProcessing(false)\n\n if (redirect) {\n router.push(redirect)\n } else if (!disableSuccessStatus) {\n successToast(json.message || t('general:submissionSuccessful'))\n }\n } else {\n setProcessing(false)\n setSubmitted(true)\n\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n if (json.message) {\n errorToast(json.message)\n\n return\n }\n\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.path) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n errorToast(err.message || t('error:unknown'))\n })\n\n return\n }\n\n const message = errorMessages?.[res.status] || res?.statusText || t('error:unknown')\n\n errorToast(message)\n }\n } catch (err) {\n console.error('Error submitting form', err) // eslint-disable-line no-console\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n errorToast(err.message)\n }\n },\n [\n beforeSubmit,\n action,\n disableSuccessStatus,\n disableValidationOnSubmit,\n disabled,\n dispatchFields,\n fields,\n handleResponse,\n method,\n onSubmit,\n onSuccess,\n redirect,\n router,\n t,\n i18n,\n waitForAutocomplete,\n ],\n )\n\n const getFields = useCallback(() => contextRef.current.fields, [])\n\n const getField = useCallback((path: string) => contextRef.current.fields[path], [])\n\n const getData = useCallback(() => reduceFieldsToValues(contextRef.current.fields, true), [])\n\n const getSiblingData = useCallback(\n (path: string) => getSiblingDataFunc(contextRef.current.fields, path),\n [],\n )\n\n const getDataByPath = useCallback<GetDataByPath>(\n (path: string) => getDataByPathFunc(contextRef.current.fields, path),\n [],\n )\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const createFormData = useCallback((overrides: any = {}) => {\n const data = reduceFieldsToValues(contextRef.current.fields, true)\n\n const file = data?.file\n\n if (file) {\n delete data.file\n }\n\n const dataWithOverrides = {\n ...data,\n ...overrides,\n }\n\n const dataToSerialize = {\n _payload: JSON.stringify(dataWithOverrides),\n file,\n }\n\n // nullAsUndefineds is important to allow uploads and relationship fields to clear themselves\n const formData = serialize(dataToSerialize, { indices: true, nullsAsUndefineds: false })\n\n return formData\n }, [])\n\n const reset = useCallback(\n async (data: unknown) => {\n if (abortControllerRef.current) {\n try {\n abortControllerRef.current.abort()\n } catch (error) {\n // swallow error\n }\n }\n\n const abortController = new AbortController()\n abortControllerRef.current = abortController\n\n const docPreferences = await getDocPreferences()\n\n const { state: newState } = await getFormState({\n id,\n collectionSlug,\n data,\n docPermissions,\n docPreferences,\n globalSlug,\n operation,\n renderAllFields: true,\n schemaPath: collectionSlug ? collectionSlug : globalSlug,\n signal: abortController.signal,\n })\n\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state: newState })\n },\n [\n collectionSlug,\n dispatchFields,\n globalSlug,\n id,\n operation,\n getFormState,\n docPermissions,\n getDocPreferences,\n ],\n )\n\n const replaceState = useCallback(\n (state: FormState) => {\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state })\n },\n [dispatchFields],\n )\n\n const addFieldRow: FormContextType['addFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const newRows: unknown[] = getDataByPath(path) || []\n const rowIndex = rowIndexArg === undefined ? newRows.length : rowIndexArg\n\n // dispatch ADD_ROW that sets requiresRender: true and adds a blank row to local form state.\n // This performs no form state request, as the debounced onChange effect will do that for us.\n dispatchFields({\n type: 'ADD_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n },\n [dispatchFields, getDataByPath],\n )\n\n const removeFieldRow: FormContextType['removeFieldRow'] = useCallback(\n ({ path, rowIndex }) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n },\n [dispatchFields],\n )\n\n const replaceFieldRow: FormContextType['replaceFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const currentRows: unknown[] = getDataByPath(path)\n const rowIndex = rowIndexArg === undefined ? currentRows.length : rowIndexArg\n\n dispatchFields({\n type: 'REPLACE_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n },\n [dispatchFields, getDataByPath],\n )\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n const re2 = abortControllerRef2.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n\n if (re2) {\n try {\n re2.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n useEffect(() => {\n if (initializingFromProps !== undefined) {\n setInitializing(initializingFromProps)\n }\n }, [initializingFromProps])\n\n contextRef.current.submit = submit\n contextRef.current.getFields = getFields\n contextRef.current.getField = getField\n contextRef.current.getData = getData\n contextRef.current.getSiblingData = getSiblingData\n contextRef.current.getDataByPath = getDataByPath\n contextRef.current.validateForm = validateForm\n contextRef.current.createFormData = createFormData\n contextRef.current.setModified = setModified\n contextRef.current.setProcessing = setProcessing\n contextRef.current.setSubmitted = setSubmitted\n contextRef.current.disabled = disabled\n contextRef.current.setDisabled = setDisabled\n contextRef.current.formRef = formRef\n contextRef.current.reset = reset\n contextRef.current.replaceState = replaceState\n contextRef.current.dispatchFields = dispatchFields\n contextRef.current.addFieldRow = addFieldRow\n contextRef.current.removeFieldRow = removeFieldRow\n contextRef.current.replaceFieldRow = replaceFieldRow\n contextRef.current.uuid = uuid\n contextRef.current.initializing = initializing\n\n useEffect(() => {\n setIsMounted(true)\n }, [])\n\n useEffect(() => {\n if (typeof disabledFromProps === 'boolean') {\n setDisabled(disabledFromProps)\n }\n }, [disabledFromProps])\n\n useEffect(() => {\n if (typeof submittedFromProps === 'boolean') {\n setSubmitted(submittedFromProps)\n }\n }, [submittedFromProps])\n\n useEffect(() => {\n if (initialState) {\n contextRef.current = { ...initContextState } as FormContextType\n dispatchFields({ type: 'REPLACE_STATE', optimize: false, state: initialState })\n }\n }, [initialState, dispatchFields])\n\n useThrottledEffect(\n () => {\n refreshCookie()\n },\n 15000,\n [fields],\n )\n\n useEffect(() => {\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n setModified(false)\n }, [locale])\n\n const classes = [className, baseClass].filter(Boolean).join(' ')\n\n useIgnoredEffectDebounced(\n () => {\n const executeOnChange = async () => {\n if (Array.isArray(onChange)) {\n let revalidatedFormState: FormState = contextRef.current.fields\n\n for (const onChangeFn of onChange) {\n // Edit view default onChange is in packages/ui/src/views/Edit/index.tsx. This onChange usually sends a form state request\n revalidatedFormState = await onChangeFn({\n formState: deepCopyObjectSimpleWithoutReactComponents(contextRef.current.fields),\n })\n }\n\n if (!revalidatedFormState) {\n return\n }\n\n const { changed, newState } = mergeServerFormState(\n contextRef.current.fields || {},\n revalidatedFormState,\n )\n\n if (changed) {\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n state: newState,\n })\n }\n }\n }\n\n if (modified) {\n void executeOnChange()\n }\n },\n /*\n Make sure we trigger this whenever modified changes (not just when `fields` changes),\n otherwise we will miss merging server form state for the first form update/onChange.\n\n Here's why:\n `fields` updates before `modified`, because setModified is in a setTimeout.\n So on the first change, modified is false, so we don't trigger the effect even though we should.\n **/\n [contextRef.current.fields, modified],\n [dispatchFields, onChange],\n {\n delay: 250,\n },\n )\n\n return (\n <form\n action={typeof action === 'function' ? void action : action}\n className={classes}\n method={method}\n noValidate\n onSubmit={(e) => void contextRef.current.submit({}, e)}\n ref={formRef}\n >\n <FormContext.Provider value={contextRef.current}>\n <FormWatchContext.Provider\n value={{\n fields,\n ...contextRef.current,\n }}\n >\n <SubmittedContext.Provider value={submitted}>\n <InitializingContext.Provider value={!isMounted || (isMounted && initializing)}>\n <ProcessingContext.Provider value={processing}>\n <ModifiedContext.Provider value={modified}>\n <FormFieldsContext.Provider value={fieldsReducer}>\n {children}\n </FormFieldsContext.Provider>\n </ModifiedContext.Provider>\n </ProcessingContext.Provider>\n </InitializingContext.Provider>\n </SubmittedContext.Provider>\n </FormWatchContext.Provider>\n </FormContext.Provider>\n </form>\n )\n}\n\nexport {\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useAllFormFields,\n useForm,\n useFormFields,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n useWatchForm,\n} from './context.js'\n\nexport { FormProps }\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["dequal","useRouter","serialize","deepCopyObjectSimpleWithoutReactComponents","getDataByPath","getDataByPathFunc","getSiblingData","getSiblingDataFunc","reduceFieldsToValues","wait","React","useCallback","useEffect","useReducer","useRef","useState","toast","useIgnoredEffectDebounced","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useLocale","useOperation","useServerFunctions","useTranslation","abortAndIgnore","requests","FormContext","FormFieldsContext","FormWatchContext","InitializingContext","ModifiedContext","ProcessingContext","SubmittedContext","errorMessages","fieldReducer","initContextState","mergeServerFormState","baseClass","Form","props","id","collectionSlug","docPermissions","getDocPreferences","globalSlug","action","beforeSubmit","children","className","disabled","disabledFromProps","disableSuccessStatus","disableValidationOnSubmit","handleResponse","initialState","isInitializing","initializingFromProps","onChange","onSubmit","onSuccess","redirect","submitted","submittedFromProps","uuid","waitForAutocomplete","method","undefined","router","code","locale","i18n","t","refreshCookie","user","operation","getFormState","config","setDisabled","isMounted","setIsMounted","modified","setModified","initializing","setInitializing","processing","setProcessing","setSubmitted","formRef","contextRef","resetFormStateAbortControllerRef","fieldsReducer","fields","dispatchFields","current","validateForm","validatedFieldState","isValid","dataFromContext","getData","data","validationPromises","Object","entries","map","path","field","validatedField","passesCondition","validationResult","valid","validate","valueToValidate","value","rows","Array","isArray","preferences","req","payload","siblingData","errorMessage","Promise","all","type","state","submit","options","e","actionArg","methodToUse","overrides","skipValidation","preventDefault","errorToast","successToast","promise","resolve","reject","hasFormSubmitAction","success","error","loading","stopPropagation","revalidatedFormState","serializableFields","reduce","priorOnChange","beforeSubmitFn","result","formState","every","key","formData","createFormData","res","toLowerCase","body","headers","language","contentType","get","isJSON","indexOf","json","status","push","message","errors","fieldErrors","nonFieldErrors","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","forEach","dataError","statusText","console","getFields","getField","file","dataWithOverrides","dataToSerialize","_payload","JSON","stringify","indices","nullsAsUndefineds","reset","controller","AbortController","docPreferences","newState","renderAllFields","schemaPath","signal","replaceState","addFieldRow","blockType","rowIndex","rowIndexArg","subFieldState","newRows","length","removeFieldRow","replaceFieldRow","currentRows","optimize","classes","filter","Boolean","join","executeOnChange","onChangeFn","changed","delay","_jsx","noValidate","ref","Provider","useAllFormFields","useForm","useFormFields","useFormModified","useFormProcessing","useFormSubmitted","useWatchForm"],"sources":["../../../src/forms/Form/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport { useRouter } from 'next/navigation.js'\nimport { serialize } from 'object-to-formdata'\nimport { type FormState, type PayloadRequest } from 'payload'\nimport {\n deepCopyObjectSimpleWithoutReactComponents,\n getDataByPath as getDataByPathFunc,\n getSiblingData as getSiblingDataFunc,\n reduceFieldsToValues,\n wait,\n} from 'payload/shared'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type {\n Context as FormContextType,\n FormProps,\n GetDataByPath,\n SubmitOptions,\n} from './types.js'\n\nimport { useIgnoredEffectDebounced } from '../../hooks/useIgnoredEffect.js'\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore } from '../../utilities/abortAndIgnore.js'\nimport { requests } from '../../utilities/api.js'\nimport {\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n InitializingContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n} from './context.js'\nimport { errorMessages } from './errorMessages.js'\nimport { fieldReducer } from './fieldReducer.js'\nimport { initContextState } from './initContextState.js'\nimport { mergeServerFormState } from './mergeServerFormState.js'\n\nconst baseClass = 'form'\n\nexport const Form: React.FC<FormProps> = (props) => {\n const { id, collectionSlug, docPermissions, getDocPreferences, globalSlug } = useDocumentInfo()\n\n const {\n action,\n beforeSubmit,\n children,\n className,\n disabled: disabledFromProps,\n disableSuccessStatus,\n disableValidationOnSubmit,\n // fields: fieldsFromProps = collection?.fields || global?.fields,\n handleResponse,\n initialState, // fully formed initial field state\n isInitializing: initializingFromProps,\n onChange,\n onSubmit,\n onSuccess,\n redirect,\n submitted: submittedFromProps,\n uuid,\n waitForAutocomplete,\n } = props\n\n const method = 'method' in props ? props?.method : undefined\n\n const router = useRouter()\n\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n const { refreshCookie, user } = useAuth()\n const operation = useOperation()\n\n const { getFormState } = useServerFunctions()\n\n const { config } = useConfig()\n\n const [disabled, setDisabled] = useState(disabledFromProps || false)\n const [isMounted, setIsMounted] = useState(false)\n const [modified, setModified] = useState(false)\n const [initializing, setInitializing] = useState(initializingFromProps)\n const [processing, setProcessing] = useState(false)\n const [submitted, setSubmitted] = useState(false)\n const formRef = useRef<HTMLFormElement>(null)\n const contextRef = useRef({} as FormContextType)\n const resetFormStateAbortControllerRef = useRef<AbortController>(null)\n\n const fieldsReducer = useReducer(fieldReducer, {}, () => initialState)\n\n /**\n * `fields` is the current, up-to-date state/data of all fields in the form. It can be modified by using dispatchFields,\n * which calls the fieldReducer, which then updates the state.\n */\n const [fields, dispatchFields] = fieldsReducer\n\n contextRef.current.fields = fields\n\n const validateForm = useCallback(async () => {\n const validatedFieldState = {}\n let isValid = true\n\n const dataFromContext = contextRef.current.getData()\n const data = dataFromContext\n\n const validationPromises = Object.entries(contextRef.current.fields).map(\n async ([path, field]) => {\n const validatedField = field\n\n if (field.passesCondition !== false) {\n let validationResult: boolean | string = validatedField.valid\n\n if ('validate' in field && typeof field.validate === 'function') {\n let valueToValidate = field.value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = contextRef.current.getDataByPath(path)\n }\n\n validationResult = await field.validate(valueToValidate, {\n ...field,\n id,\n collectionSlug,\n data,\n operation,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: contextRef.current.getSiblingData(path),\n })\n\n if (typeof validationResult === 'string') {\n validatedField.errorMessage = validationResult\n validatedField.valid = false\n } else {\n validatedField.valid = true\n validatedField.errorMessage = undefined\n }\n }\n\n if (validatedField.valid === false) {\n isValid = false\n }\n }\n\n validatedFieldState[path] = validatedField\n },\n )\n\n await Promise.all(validationPromises)\n\n if (!dequal(contextRef.current.fields, validatedFieldState)) {\n dispatchFields({ type: 'REPLACE_STATE', state: validatedFieldState })\n }\n\n return isValid\n }, [collectionSlug, config, dispatchFields, id, operation, t, user])\n\n const submit = useCallback(\n async (options: SubmitOptions = {}, e): Promise<void> => {\n const {\n action: actionArg = action,\n method: methodToUse = method,\n overrides = {},\n skipValidation,\n } = options\n\n if (disabled) {\n if (e) {\n e.preventDefault()\n }\n return\n }\n\n // create new toast promise which will resolve manually later\n let errorToast, successToast\n const promise = new Promise((resolve, reject) => {\n successToast = resolve\n errorToast = reject\n })\n\n const hasFormSubmitAction =\n actionArg || typeof action === 'string' || typeof action === 'function'\n\n if (redirect || disableSuccessStatus || !hasFormSubmitAction) {\n // Do not show submitting toast, as the promise toast may never disappear under these conditions.\n // Instead, make successToast() or errorToast() throw toast.success / toast.error\n successToast = (data) => toast.success(data)\n errorToast = (data) => toast.error(data)\n } else {\n toast.promise(promise, {\n error: (data) => {\n return data as string\n },\n loading: t('general:submitting'),\n success: (data) => {\n return data as string\n },\n })\n }\n\n if (e) {\n e.stopPropagation()\n e.preventDefault()\n }\n\n setProcessing(true)\n setDisabled(true)\n\n if (waitForAutocomplete) {\n await wait(100)\n }\n\n // Execute server side validations\n if (Array.isArray(beforeSubmit)) {\n let revalidatedFormState: FormState\n const serializableFields = deepCopyObjectSimpleWithoutReactComponents(fields)\n\n await beforeSubmit.reduce(async (priorOnChange, beforeSubmitFn) => {\n await priorOnChange\n\n const result = await beforeSubmitFn({\n formState: serializableFields,\n })\n\n revalidatedFormState = result\n }, Promise.resolve())\n\n const isValid = Object.entries(revalidatedFormState).every(([, field]) => field.valid)\n\n if (!isValid) {\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return dispatchFields({ type: 'REPLACE_STATE', state: revalidatedFormState })\n }\n }\n\n const isValid =\n skipValidation || disableValidationOnSubmit ? true : await contextRef.current.validateForm()\n\n // If not valid, prevent submission\n if (!isValid) {\n errorToast(t('error:correctInvalidFields'))\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n // If submit handler comes through via props, run that\n if (onSubmit) {\n const serializableFields = deepCopyObjectSimpleWithoutReactComponents(fields)\n const data = reduceFieldsToValues(serializableFields, true)\n\n if (overrides) {\n for (const [key, value] of Object.entries(overrides)) {\n data[key] = value\n }\n }\n\n onSubmit(serializableFields, data)\n }\n\n if (!hasFormSubmitAction) {\n // No action provided, so we should return. An example where this happens are lexical link drawers. Upon submitting the drawer, we\n // want to close it without submitting the form. Stuff like validation would be handled by lexical before this, through beforeSubmit\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n return\n }\n\n const formData = contextRef.current.createFormData(overrides)\n\n try {\n let res\n\n if (typeof actionArg === 'string') {\n res = await requests[methodToUse.toLowerCase()](actionArg, {\n body: formData,\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n } else if (typeof action === 'function') {\n res = await action(formData)\n }\n\n setModified(false)\n setDisabled(false)\n\n if (typeof handleResponse === 'function') {\n handleResponse(res, successToast, errorToast)\n return\n }\n\n const contentType = res.headers.get('content-type')\n const isJSON = contentType && contentType.indexOf('application/json') !== -1\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let json: Record<string, any> = {}\n\n if (isJSON) {\n json = await res.json()\n }\n if (res.status < 400) {\n if (typeof onSuccess === 'function') {\n await onSuccess(json)\n }\n setSubmitted(false)\n setProcessing(false)\n\n if (redirect) {\n router.push(redirect)\n } else if (!disableSuccessStatus) {\n successToast(json.message || t('general:submissionSuccessful'))\n }\n } else {\n setProcessing(false)\n setSubmitted(true)\n\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n if (json.message) {\n errorToast(json.message)\n\n return\n }\n\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data?.errors)) {\n err.data?.errors.forEach((dataError) => {\n if (dataError?.path) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n errorToast(err.message || t('error:unknown'))\n })\n\n return\n }\n\n const message = errorMessages?.[res.status] || res?.statusText || t('error:unknown')\n\n errorToast(message)\n }\n } catch (err) {\n console.error('Error submitting form', err) // eslint-disable-line no-console\n setProcessing(false)\n setSubmitted(true)\n setDisabled(false)\n errorToast(err.message)\n }\n },\n [\n beforeSubmit,\n action,\n disableSuccessStatus,\n disableValidationOnSubmit,\n disabled,\n dispatchFields,\n fields,\n handleResponse,\n method,\n onSubmit,\n onSuccess,\n redirect,\n router,\n t,\n i18n,\n waitForAutocomplete,\n ],\n )\n\n const getFields = useCallback(() => contextRef.current.fields, [])\n\n const getField = useCallback((path: string) => contextRef.current.fields[path], [])\n\n const getData = useCallback(() => reduceFieldsToValues(contextRef.current.fields, true), [])\n\n const getSiblingData = useCallback(\n (path: string) => getSiblingDataFunc(contextRef.current.fields, path),\n [],\n )\n\n const getDataByPath = useCallback<GetDataByPath>(\n (path: string) => getDataByPathFunc(contextRef.current.fields, path),\n [],\n )\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const createFormData = useCallback((overrides: any = {}) => {\n const data = reduceFieldsToValues(contextRef.current.fields, true)\n\n const file = data?.file\n\n if (file) {\n delete data.file\n }\n\n const dataWithOverrides = {\n ...data,\n ...overrides,\n }\n\n const dataToSerialize = {\n _payload: JSON.stringify(dataWithOverrides),\n file,\n }\n\n // nullAsUndefineds is important to allow uploads and relationship fields to clear themselves\n const formData = serialize(dataToSerialize, { indices: true, nullsAsUndefineds: false })\n\n return formData\n }, [])\n\n const reset = useCallback(\n async (data: unknown) => {\n abortAndIgnore(resetFormStateAbortControllerRef.current)\n\n const controller = new AbortController()\n resetFormStateAbortControllerRef.current = controller\n\n const docPreferences = await getDocPreferences()\n\n const { state: newState } = await getFormState({\n id,\n collectionSlug,\n data,\n docPermissions,\n docPreferences,\n globalSlug,\n operation,\n renderAllFields: true,\n schemaPath: collectionSlug ? collectionSlug : globalSlug,\n signal: controller.signal,\n })\n\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state: newState })\n },\n [\n collectionSlug,\n dispatchFields,\n globalSlug,\n id,\n operation,\n getFormState,\n docPermissions,\n getDocPreferences,\n ],\n )\n\n const replaceState = useCallback(\n (state: FormState) => {\n contextRef.current = { ...initContextState } as FormContextType\n setModified(false)\n dispatchFields({ type: 'REPLACE_STATE', state })\n },\n [dispatchFields],\n )\n\n const addFieldRow: FormContextType['addFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const newRows: unknown[] = getDataByPath(path) || []\n const rowIndex = rowIndexArg === undefined ? newRows.length : rowIndexArg\n\n // dispatch ADD_ROW that sets requiresRender: true and adds a blank row to local form state.\n // This performs no form state request, as the debounced onChange effect will do that for us.\n dispatchFields({\n type: 'ADD_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n },\n [dispatchFields, getDataByPath],\n )\n\n const removeFieldRow: FormContextType['removeFieldRow'] = useCallback(\n ({ path, rowIndex }) => {\n dispatchFields({ type: 'REMOVE_ROW', path, rowIndex })\n },\n [dispatchFields],\n )\n\n const replaceFieldRow: FormContextType['replaceFieldRow'] = useCallback(\n ({ blockType, path, rowIndex: rowIndexArg, subFieldState }) => {\n const currentRows: unknown[] = getDataByPath(path)\n const rowIndex = rowIndexArg === undefined ? currentRows.length : rowIndexArg\n\n dispatchFields({\n type: 'REPLACE_ROW',\n blockType,\n path,\n rowIndex,\n subFieldState,\n })\n },\n [dispatchFields, getDataByPath],\n )\n\n useEffect(() => {\n return () => {\n abortAndIgnore(resetFormStateAbortControllerRef.current)\n }\n }, [])\n\n useEffect(() => {\n if (initializingFromProps !== undefined) {\n setInitializing(initializingFromProps)\n }\n }, [initializingFromProps])\n\n contextRef.current.submit = submit\n contextRef.current.getFields = getFields\n contextRef.current.getField = getField\n contextRef.current.getData = getData\n contextRef.current.getSiblingData = getSiblingData\n contextRef.current.getDataByPath = getDataByPath\n contextRef.current.validateForm = validateForm\n contextRef.current.createFormData = createFormData\n contextRef.current.setModified = setModified\n contextRef.current.setProcessing = setProcessing\n contextRef.current.setSubmitted = setSubmitted\n contextRef.current.disabled = disabled\n contextRef.current.setDisabled = setDisabled\n contextRef.current.formRef = formRef\n contextRef.current.reset = reset\n contextRef.current.replaceState = replaceState\n contextRef.current.dispatchFields = dispatchFields\n contextRef.current.addFieldRow = addFieldRow\n contextRef.current.removeFieldRow = removeFieldRow\n contextRef.current.replaceFieldRow = replaceFieldRow\n contextRef.current.uuid = uuid\n contextRef.current.initializing = initializing\n\n useEffect(() => {\n setIsMounted(true)\n }, [])\n\n useEffect(() => {\n if (typeof disabledFromProps === 'boolean') {\n setDisabled(disabledFromProps)\n }\n }, [disabledFromProps])\n\n useEffect(() => {\n if (typeof submittedFromProps === 'boolean') {\n setSubmitted(submittedFromProps)\n }\n }, [submittedFromProps])\n\n useEffect(() => {\n if (initialState) {\n contextRef.current = { ...initContextState } as FormContextType\n dispatchFields({ type: 'REPLACE_STATE', optimize: false, state: initialState })\n }\n }, [initialState, dispatchFields])\n\n useThrottledEffect(\n () => {\n refreshCookie()\n },\n 15000,\n [fields],\n )\n\n useEffect(() => {\n contextRef.current = { ...contextRef.current } // triggers rerender of all components that subscribe to form\n setModified(false)\n }, [locale])\n\n const classes = [className, baseClass].filter(Boolean).join(' ')\n\n useIgnoredEffectDebounced(\n () => {\n const executeOnChange = async () => {\n if (Array.isArray(onChange)) {\n let revalidatedFormState: FormState = contextRef.current.fields\n\n for (const onChangeFn of onChange) {\n // Edit view default onChange is in packages/ui/src/views/Edit/index.tsx. This onChange usually sends a form state request\n revalidatedFormState = await onChangeFn({\n formState: deepCopyObjectSimpleWithoutReactComponents(contextRef.current.fields),\n })\n }\n\n if (!revalidatedFormState) {\n return\n }\n\n const { changed, newState } = mergeServerFormState(\n contextRef.current.fields || {},\n revalidatedFormState,\n )\n\n if (changed) {\n dispatchFields({\n type: 'REPLACE_STATE',\n optimize: false,\n state: newState,\n })\n }\n }\n }\n\n if (modified) {\n void executeOnChange()\n }\n },\n /*\n Make sure we trigger this whenever modified changes (not just when `fields` changes),\n otherwise we will miss merging server form state for the first form update/onChange.\n\n Here's why:\n `fields` updates before `modified`, because setModified is in a setTimeout.\n So on the first change, modified is false, so we don't trigger the effect even though we should.\n **/\n [contextRef.current.fields, modified],\n [dispatchFields, onChange],\n {\n delay: 250,\n },\n )\n\n return (\n <form\n action={typeof action === 'function' ? void action : action}\n className={classes}\n method={method}\n noValidate\n onSubmit={(e) => void contextRef.current.submit({}, e)}\n ref={formRef}\n >\n <FormContext.Provider value={contextRef.current}>\n <FormWatchContext.Provider\n value={{\n fields,\n ...contextRef.current,\n }}\n >\n <SubmittedContext.Provider value={submitted}>\n <InitializingContext.Provider value={!isMounted || (isMounted && initializing)}>\n <ProcessingContext.Provider value={processing}>\n <ModifiedContext.Provider value={modified}>\n <FormFieldsContext.Provider value={fieldsReducer}>\n {children}\n </FormFieldsContext.Provider>\n </ModifiedContext.Provider>\n </ProcessingContext.Provider>\n </InitializingContext.Provider>\n </SubmittedContext.Provider>\n </FormWatchContext.Provider>\n </FormContext.Provider>\n </form>\n )\n}\n\nexport {\n FormContext,\n FormFieldsContext,\n FormWatchContext,\n ModifiedContext,\n ProcessingContext,\n SubmittedContext,\n useAllFormFields,\n useForm,\n useFormFields,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n useWatchForm,\n} from './context.js'\n\nexport { FormProps }\n"],"mappings":"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","ignoreList":[]}
@@ -81,18 +81,18 @@ export function RenderField(t0) {
81
81
  });
82
82
  break bb0;
83
83
  }
84
- case "group":
84
+ case "collapsible":
85
85
  {
86
- t2 = _jsx(GroupField, {
86
+ t2 = _jsx(CollapsibleField, {
87
87
  ...sharedProps,
88
88
  field: clientFieldConfig,
89
89
  permissions
90
90
  });
91
91
  break bb0;
92
92
  }
93
- case "tabs":
93
+ case "group":
94
94
  {
95
- t2 = _jsx(TabsField, {
95
+ t2 = _jsx(GroupField, {
96
96
  ...sharedProps,
97
97
  field: clientFieldConfig,
98
98
  permissions
@@ -108,9 +108,9 @@ export function RenderField(t0) {
108
108
  });
109
109
  break bb0;
110
110
  }
111
- case "collapsible":
111
+ case "tabs":
112
112
  {
113
- t2 = _jsx(CollapsibleField, {
113
+ t2 = _jsx(TabsField, {
114
114
  ...sharedProps,
115
115
  field: clientFieldConfig,
116
116
  permissions
@@ -1 +1 @@
1
- {"version":3,"file":"RenderField.js","names":["c","_c","React","ArrayField","BlocksField","CollapsibleField","GroupField","HiddenField","RowField","TabsField","useFormFields","useFieldComponents","RenderField","t0","$","clientFieldConfig","forceRender","indexPath","parentPath","parentSchemaPath","path","permissions","readOnly","schemaPath","fieldComponents","t1","t2","fields","customComponents","Field","undefined","Symbol","for","sharedProps","admin","hidden","_jsx","field","DefaultField","type","bb0"],"sources":["../../../src/forms/RenderFields/RenderField.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientComponentProps, ClientField, FieldPermissions } from 'payload'\n\nimport React from 'react'\n\nimport { ArrayField } from '../../fields/Array/index.js'\nimport { BlocksField } from '../../fields/Blocks/index.js'\nimport { CollapsibleField } from '../../fields/Collapsible/index.js'\nimport { GroupField } from '../../fields/Group/index.js'\nimport { HiddenField } from '../../fields/Hidden/index.js'\nimport { RowField } from '../../fields/Row/index.js'\nimport { TabsField } from '../../fields/Tabs/index.js'\nimport { useFormFields } from '../../forms/Form/index.js'\nimport { useFieldComponents } from '../../providers/FieldComponents/index.js'\n\ntype RenderFieldProps = {\n clientFieldConfig: ClientField\n permissions: FieldPermissions\n} & Pick<\n ClientComponentProps,\n | 'forceRender'\n | 'indexPath'\n | 'parentPath'\n | 'parentSchemaPath'\n | 'path'\n | 'readOnly'\n | 'schemaPath'\n>\n\nexport function RenderField({\n clientFieldConfig,\n forceRender,\n indexPath,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n readOnly,\n schemaPath,\n}: RenderFieldProps) {\n const fieldComponents = useFieldComponents()\n\n const Field = useFormFields(([fields]) => fields && fields?.[path]?.customComponents?.Field)\n\n if (Field !== undefined) {\n return Field || null\n }\n\n const sharedProps: Pick<\n ClientComponentProps,\n | 'forceRender'\n | 'indexPath'\n | 'parentPath'\n | 'parentSchemaPath'\n | 'path'\n | 'readOnly'\n | 'schemaPath'\n > = {\n forceRender,\n indexPath,\n parentPath,\n parentSchemaPath,\n path,\n readOnly,\n schemaPath,\n }\n\n if (clientFieldConfig.admin?.hidden) {\n return <HiddenField field={clientFieldConfig} {...sharedProps} />\n }\n\n const DefaultField = fieldComponents?.[clientFieldConfig?.type]\n\n switch (clientFieldConfig.type) {\n // named fields with subfields\n case 'array':\n return <ArrayField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n case 'blocks':\n return <BlocksField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n case 'group':\n return <GroupField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n case 'tabs':\n return <TabsField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n\n // unnamed fields with subfields\n case 'row':\n return <RowField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n case 'collapsible':\n return (\n <CollapsibleField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n )\n\n default:\n return DefaultField ? <DefaultField field={clientFieldConfig} {...sharedProps} /> : null\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RenderField.js","names":["c","_c","React","ArrayField","BlocksField","CollapsibleField","GroupField","HiddenField","RowField","TabsField","useFormFields","useFieldComponents","RenderField","t0","$","clientFieldConfig","forceRender","indexPath","parentPath","parentSchemaPath","path","permissions","readOnly","schemaPath","fieldComponents","t1","t2","fields","customComponents","Field","undefined","Symbol","for","sharedProps","admin","hidden","_jsx","field","DefaultField","type","bb0"],"sources":["../../../src/forms/RenderFields/RenderField.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientComponentProps, ClientField, FieldPermissions } from 'payload'\n\nimport React from 'react'\n\nimport { ArrayField } from '../../fields/Array/index.js'\nimport { BlocksField } from '../../fields/Blocks/index.js'\nimport { CollapsibleField } from '../../fields/Collapsible/index.js'\nimport { GroupField } from '../../fields/Group/index.js'\nimport { HiddenField } from '../../fields/Hidden/index.js'\nimport { RowField } from '../../fields/Row/index.js'\nimport { TabsField } from '../../fields/Tabs/index.js'\nimport { useFormFields } from '../../forms/Form/index.js'\nimport { useFieldComponents } from '../../providers/FieldComponents/index.js'\n\ntype RenderFieldProps = {\n clientFieldConfig: ClientField\n permissions: FieldPermissions\n} & Pick<\n ClientComponentProps,\n | 'forceRender'\n | 'indexPath'\n | 'parentPath'\n | 'parentSchemaPath'\n | 'path'\n | 'readOnly'\n | 'schemaPath'\n>\n\nexport function RenderField({\n clientFieldConfig,\n forceRender,\n indexPath,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n readOnly,\n schemaPath,\n}: RenderFieldProps) {\n const fieldComponents = useFieldComponents()\n\n const Field = useFormFields(([fields]) => fields && fields?.[path]?.customComponents?.Field)\n\n if (Field !== undefined) {\n return Field || null\n }\n\n const sharedProps: Pick<\n ClientComponentProps,\n | 'forceRender'\n | 'indexPath'\n | 'parentPath'\n | 'parentSchemaPath'\n | 'path'\n | 'readOnly'\n | 'schemaPath'\n > = {\n forceRender,\n indexPath,\n parentPath,\n parentSchemaPath,\n path,\n readOnly,\n schemaPath,\n }\n\n if (clientFieldConfig.admin?.hidden) {\n return <HiddenField field={clientFieldConfig} {...sharedProps} />\n }\n\n const DefaultField = fieldComponents?.[clientFieldConfig?.type]\n\n switch (clientFieldConfig.type) {\n // named fields with subfields\n case 'array':\n return <ArrayField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n case 'blocks':\n return <BlocksField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n case 'collapsible':\n return (\n <CollapsibleField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n )\n case 'group':\n return <GroupField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n\n // unnamed fields with subfields\n case 'row':\n return <RowField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n case 'tabs':\n return <TabsField {...sharedProps} field={clientFieldConfig} permissions={permissions} />\n\n default:\n return DefaultField ? <DefaultField field={clientFieldConfig} {...sharedProps} /> : null\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -325,8 +325,8 @@ export const addFieldStatePromise = async args => {
325
325
  });
326
326
  break;
327
327
  }
328
- case 'upload':
329
328
  case 'relationship':
329
+ case 'upload':
330
330
  {
331
331
  if (field.filterOptions) {
332
332
  if (typeof field.filterOptions === 'object') {
@@ -1 +1 @@
1
- {"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","fieldAffectsData","fieldHasSubFields","fieldIsSidebar","getFieldPaths","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","collectionSlug","data","field","fieldIndex","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentIndexPath","parentPath","parentSchemaPath","passesCondition","permissions","preferences","previousFormState","renderAllFields","renderFieldFn","req","skipConditionChecks","skipValidation","state","indexPath","path","schemaPath","index","requiresRender","isHiddenField","hidden","disabledFromAdmin","admin","disabled","hasPermission","name","read","access","doc","siblingData","validate","fieldState","errorPaths","fieldSchema","undefined","initialValue","isSidebar","valid","value","validationResult","jsonError","type","JSON","parse","e","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rows","reduce","acc","row","i","toHexString","fields","find","localized","parentPassesCondition","collapsedRowIDs","collapsed","initCollapsed","Promise","all","length","disableFormData","blocksValue","rowMetadata","block","blocks","blockType","slug","Error","rowSchemaPath","blockField","blockName","filterOptions","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabPath","tabSchemaPath","isDisabled","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormFieldWithoutComponents,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsSidebar,\n getFieldPaths,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n collectionSlug?: string\n data: Data\n field: Field\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPath: string\n parentSchemaPath: string\n passesCondition: boolean\n permissions: DocumentPermissions['fields']\n preferences: DocumentPreferences\n previousFormState: FormState\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n passesCondition,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const requiresRender = renderAllFields || previousFormState?.[path]?.requiresRender\n\n const isHiddenField = 'hidden' in field && field?.hidden\n const disabledFromAdmin = field?.admin && 'disabled' in field.admin && field.admin.disabled\n\n if (fieldAffectsData(field) && !(isHiddenField || disabledFromAdmin)) {\n let hasPermission =\n typeof permissions?.[field.name]?.read === 'boolean' ? permissions[field.name].read : true\n\n if (typeof field?.access?.read === 'function') {\n hasPermission = await field.access.read({ doc: fullData, req, siblingData: data })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate = field.validate\n\n const fieldState: FormFieldWithoutComponents = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n isSidebar: fieldIsSidebar(field),\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(\n data?.[field.name] as never,\n {\n ...field,\n id,\n collectionSlug,\n data: fullData,\n jsonError,\n operation,\n preferences,\n req,\n siblingData: data,\n } as any,\n )\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, i: number) => {\n const parentPath = path + '.' + i\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => 'name' in field && field.name === 'id')\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: schemaPath,\n permissions: permissions?.[field.name]?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[path]?.collapsed\n\n acc.rows.push({\n id: row.id,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n\n return acc\n },\n {\n promises: [],\n rows: [],\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n fieldState.rows = rows\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const parentPath = path + '.' + i\n const rowSchemaPath = schemaPath + '.' + block.slug\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'id',\n )\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[parentPath + '.blockType'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[parentPath + '.blockName'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: rowSchemaPath,\n permissions: permissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[path]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: permissions?.[field.name]?.fields || {},\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n case 'upload':\n case 'relationship': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n\n await iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n collectionSlug,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: tabHasName(tab) ? '' : tabIndexPath,\n parentPassesCondition: passesCondition,\n parentPath: tabHasName(tab) ? tabPath : parentPath,\n parentSchemaPath: tabHasName(tab) ? tabSchemaPath : parentSchemaPath,\n permissions: tabHasName(tab) ? permissions?.[tab.name]?.fields || {} : permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n isSidebar: fieldIsSidebar(field),\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n }\n\n const isDisabled = field?.admin && 'disabled' in field.admin && field.admin.disabled\n\n if (requiresRender && !isDisabled && renderFieldFn) {\n const fieldState = state[path]\n\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!fieldState) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n renderFieldFn({\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState,\n formState: state,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n previousFieldState: previousFormState?.[path],\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","fieldAffectsData","fieldHasSubFields","fieldIsSidebar","getFieldPaths","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","collectionSlug","data","field","fieldIndex","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentIndexPath","parentPath","parentSchemaPath","passesCondition","permissions","preferences","previousFormState","renderAllFields","renderFieldFn","req","skipConditionChecks","skipValidation","state","indexPath","path","schemaPath","index","requiresRender","isHiddenField","hidden","disabledFromAdmin","admin","disabled","hasPermission","name","read","access","doc","siblingData","validate","fieldState","errorPaths","fieldSchema","undefined","initialValue","isSidebar","valid","value","validationResult","jsonError","type","JSON","parse","e","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rows","reduce","acc","row","i","toHexString","fields","find","localized","parentPassesCondition","collapsedRowIDs","collapsed","initCollapsed","Promise","all","length","disableFormData","blocksValue","rowMetadata","block","blocks","blockType","slug","Error","rowSchemaPath","blockField","blockName","filterOptions","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabPath","tabSchemaPath","isDisabled","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormFieldWithoutComponents,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsSidebar,\n getFieldPaths,\n tabHasName,\n} from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { getFilterOptionsQuery } from './getFilterOptionsQuery.js'\nimport { iterateFields } from './iterateFields.js'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport type AddFieldStatePromiseArgs = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if all parents are localized, then the field is localized\n */\n anyParentLocalized?: boolean\n collectionSlug?: string\n data: Data\n field: Field\n fieldIndex: number\n fieldSchemaMap: FieldSchemaMap\n /**\n * You can use this to filter down to only `localized` fields that require translation (type: text, textarea, etc.). Another plugin might want to look for only `point` type fields to do some GIS function. With the filter function you can go in like a surgeon.\n */\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id: number | string\n /**\n * Whether the field schema should be included in the state\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPath: string\n parentSchemaPath: string\n passesCondition: boolean\n permissions: DocumentPermissions['fields']\n preferences: DocumentPreferences\n previousFormState: FormState\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n /**\n * Req is used for validation and defaultValue calculation. If you don't need validation,\n * just create your own req and pass in the locale and the user\n */\n req: PayloadRequest\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data.\n * The output is the field path (e.g. array.0.name) mapped to a FormField object.\n */\nexport const addFieldStatePromise = async (args: AddFieldStatePromiseArgs): Promise<void> => {\n const {\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n passesCondition,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const requiresRender = renderAllFields || previousFormState?.[path]?.requiresRender\n\n const isHiddenField = 'hidden' in field && field?.hidden\n const disabledFromAdmin = field?.admin && 'disabled' in field.admin && field.admin.disabled\n\n if (fieldAffectsData(field) && !(isHiddenField || disabledFromAdmin)) {\n let hasPermission =\n typeof permissions?.[field.name]?.read === 'boolean' ? permissions[field.name].read : true\n\n if (typeof field?.access?.read === 'function') {\n hasPermission = await field.access.read({ doc: fullData, req, siblingData: data })\n } else {\n hasPermission = true\n }\n\n if (!hasPermission) {\n return\n }\n\n const validate = field.validate\n\n const fieldState: FormFieldWithoutComponents = {\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n isSidebar: fieldIsSidebar(field),\n passesCondition,\n valid: true,\n value: undefined,\n }\n\n let validationResult: string | true = true\n\n if (typeof validate === 'function' && !skipValidation && passesCondition) {\n let jsonError\n\n if (field.type === 'json' && typeof data[field.name] === 'string') {\n try {\n JSON.parse(data[field.name])\n } catch (e) {\n jsonError = e\n }\n }\n\n validationResult = await validate(\n data?.[field.name] as never,\n {\n ...field,\n id,\n collectionSlug,\n data: fullData,\n jsonError,\n operation,\n preferences,\n req,\n siblingData: data,\n } as any,\n )\n }\n\n const addErrorPathToParent = (errorPath: string) => {\n if (typeof addErrorPathToParentArg === 'function') {\n addErrorPathToParentArg(errorPath)\n }\n\n if (!fieldState.errorPaths.includes(errorPath)) {\n fieldState.errorPaths.push(errorPath)\n fieldState.valid = false\n }\n }\n\n if (typeof validationResult === 'string') {\n fieldState.errorMessage = validationResult\n fieldState.valid = false\n addErrorPathToParent(path)\n } else {\n fieldState.valid = true\n }\n\n switch (field.type) {\n case 'array': {\n const arrayValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rows } = arrayValue.reduce(\n (acc, row, i: number) => {\n const parentPath = path + '.' + i\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? field.fields.find((field) => 'name' in field && field.name === 'id')\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n collectionSlug,\n data: row,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: schemaPath,\n permissions: permissions?.[field.name]?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[path]?.collapsed\n\n acc.rows.push({\n id: row.id,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n\n return acc\n },\n {\n promises: [],\n rows: [],\n },\n )\n\n // Wait for all promises and update fields with the results\n await Promise.all(promises)\n\n fieldState.rows = rows\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? arrayValue : arrayValue.length\n fieldState.initialValue = forceFullValue ? arrayValue : arrayValue.length\n\n if (arrayValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'blocks': {\n const blocksValue = Array.isArray(data[field.name]) ? data[field.name] : []\n\n const { promises, rowMetadata } = blocksValue.reduce(\n (acc, row, i: number) => {\n const block = field.blocks.find((blockType) => blockType.slug === row.blockType)\n if (!block) {\n throw new Error(\n `Block with type \"${row.blockType}\" was found in block data, but no block with that type is defined in the config for field with schema path ${schemaPath}.`,\n )\n }\n\n const parentPath = path + '.' + i\n const rowSchemaPath = schemaPath + '.' + block.slug\n\n if (block) {\n row.id = row?.id || new ObjectId().toHexString()\n\n if (!omitParents && (!filter || filter(args))) {\n state[parentPath + '.id'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'id',\n )\n : undefined,\n initialValue: row.id,\n valid: true,\n value: row.id,\n }\n\n state[parentPath + '.blockType'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockType',\n )\n : undefined,\n initialValue: row.blockType,\n valid: true,\n value: row.blockType,\n }\n\n state[parentPath + '.blockName'] = {\n fieldSchema: includeSchema\n ? block.fields.find(\n (blockField) => 'name' in blockField && blockField.name === 'blockName',\n )\n : undefined,\n initialValue: row.blockName,\n valid: true,\n value: row.blockName,\n }\n }\n\n acc.promises.push(\n iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n collectionSlug,\n data: row,\n fields: block.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath: rowSchemaPath,\n permissions: permissions?.[field.name]?.blocks?.[block.slug]?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const collapsedRowIDs = preferences?.fields?.[path]?.collapsed\n\n acc.rowMetadata.push({\n id: row.id,\n blockType: row.blockType,\n collapsed:\n collapsedRowIDs === undefined\n ? field.admin.initCollapsed\n : collapsedRowIDs.includes(row.id),\n })\n }\n\n return acc\n },\n {\n promises: [],\n rowMetadata: [],\n },\n )\n\n await Promise.all(promises)\n\n // Add values to field state\n if (data[field.name] === null) {\n fieldState.value = null\n fieldState.initialValue = null\n } else {\n fieldState.value = forceFullValue ? blocksValue : blocksValue.length\n fieldState.initialValue = forceFullValue ? blocksValue : blocksValue.length\n\n if (blocksValue.length > 0) {\n fieldState.disableFormData = true\n }\n }\n\n fieldState.rows = rowMetadata\n\n // Unset requiresRender\n // so it will be removed from form state\n fieldState.requiresRender = false\n\n // Add field to state\n if (!omitParents && (!filter || filter(args))) {\n state[path] = fieldState\n }\n\n break\n }\n\n case 'group': {\n if (!filter || filter(args)) {\n fieldState.disableFormData = true\n state[path] = fieldState\n }\n\n await iterateFields({\n id,\n addErrorPathToParent,\n anyParentLocalized: field.localized || anyParentLocalized,\n collectionSlug,\n data: data?.[field.name] || {},\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: '',\n parentPassesCondition: passesCondition,\n parentPath: path,\n parentSchemaPath: schemaPath,\n permissions: permissions?.[field.name]?.fields || {},\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n\n break\n }\n case 'relationship':\n case 'upload': {\n if (field.filterOptions) {\n if (typeof field.filterOptions === 'object') {\n if (typeof field.relationTo === 'string') {\n fieldState.filterOptions = {\n [field.relationTo]: field.filterOptions,\n }\n } else {\n fieldState.filterOptions = field.relationTo.reduce((acc, relation) => {\n acc[relation] = field.filterOptions\n return acc\n }, {})\n }\n }\n\n if (typeof field.filterOptions === 'function') {\n const query = await getFilterOptionsQuery(field.filterOptions, {\n id,\n data: fullData,\n relationTo: field.relationTo,\n siblingData: data,\n user: req.user,\n })\n\n fieldState.filterOptions = query\n }\n }\n\n if (field.hasMany) {\n const relationshipValue = Array.isArray(data[field.name])\n ? data[field.name].map((relationship) => {\n if (Array.isArray(field.relationTo)) {\n return {\n relationTo: relationship.relationTo,\n value:\n relationship.value && typeof relationship.value === 'object'\n ? relationship.value?.id\n : relationship.value,\n }\n }\n if (typeof relationship === 'object' && relationship !== null) {\n return relationship.id\n }\n return relationship\n })\n : undefined\n\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n } else if (Array.isArray(field.relationTo)) {\n if (\n data[field.name] &&\n typeof data[field.name] === 'object' &&\n 'relationTo' in data[field.name] &&\n 'value' in data[field.name]\n ) {\n const value =\n typeof data[field.name]?.value === 'object' &&\n data[field.name]?.value &&\n 'id' in data[field.name].value\n ? data[field.name].value.id\n : data[field.name].value\n const relationshipValue = {\n relationTo: data[field.name]?.relationTo,\n value,\n }\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n } else {\n const relationshipValue =\n data[field.name] && typeof data[field.name] === 'object' && 'id' in data[field.name]\n ? data[field.name].id\n : data[field.name]\n fieldState.value = relationshipValue\n fieldState.initialValue = relationshipValue\n }\n\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n\n default: {\n fieldState.value = data[field.name]\n fieldState.initialValue = data[field.name]\n\n // Add field to state\n if (!filter || filter(args)) {\n state[path] = fieldState\n }\n\n break\n }\n }\n } else if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n // Handle field types that do not use names (row, etc)\n\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n errorPaths: [],\n initialValue: undefined,\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n\n await iterateFields({\n id,\n // passthrough parent functionality\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: field.localized || anyParentLocalized,\n collectionSlug,\n data,\n fields: field.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: indexPath,\n parentPassesCondition: passesCondition,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n } else if (field.type === 'tabs') {\n const promises = field.tabs.map((tab, tabIndex) => {\n const isNamedTab = tabHasName(tab)\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: {\n ...tab,\n type: 'tab',\n },\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath,\n parentSchemaPath,\n })\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n collectionSlug,\n data: isNamedTab ? data?.[tab.name] || {} : data,\n fields: tab.fields,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath: tabHasName(tab) ? '' : tabIndexPath,\n parentPassesCondition: passesCondition,\n parentPath: tabHasName(tab) ? tabPath : parentPath,\n parentSchemaPath: tabHasName(tab) ? tabSchemaPath : parentSchemaPath,\n permissions: tabHasName(tab) ? permissions?.[tab.name]?.fields || {} : permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n })\n })\n\n await Promise.all(promises)\n } else if (field.type === 'ui') {\n if (!filter || filter(args)) {\n state[path] = {\n disableFormData: true,\n errorPaths: [],\n fieldSchema: includeSchema ? field : undefined,\n initialValue: undefined,\n isSidebar: fieldIsSidebar(field),\n passesCondition,\n valid: true,\n value: undefined,\n }\n }\n }\n\n const isDisabled = field?.admin && 'disabled' in field.admin && field.admin.disabled\n\n if (requiresRender && !isDisabled && renderFieldFn) {\n const fieldState = state[path]\n\n const fieldConfig = fieldSchemaMap.get(schemaPath)\n\n if (!fieldConfig) {\n if (schemaPath.endsWith('.blockType')) {\n return\n } else {\n throw new Error(`Field config not found for ${schemaPath}`)\n }\n }\n\n if (!fieldState) {\n // Some fields (ie `Tab`) do not live in form state\n // therefore we cannot attach customComponents to them\n return\n }\n\n renderFieldFn({\n data: fullData,\n fieldConfig: fieldConfig as Field,\n fieldSchemaMap,\n fieldState,\n formState: state,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n previousFieldState: previousFormState?.[path],\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -22,22 +22,6 @@ export const defaultValuePromise = async ({
22
22
  }
23
23
  // Traverse subfields
24
24
  switch (field.type) {
25
- case 'group':
26
- {
27
- if (typeof siblingData[field.name] !== 'object') {
28
- siblingData[field.name] = {};
29
- }
30
- const groupData = siblingData[field.name];
31
- await iterateFields({
32
- id,
33
- data,
34
- fields: field.fields,
35
- locale,
36
- siblingData: groupData,
37
- user
38
- });
39
- break;
40
- }
41
25
  case 'array':
42
26
  {
43
27
  const rows = siblingData[field.name];
@@ -81,8 +65,8 @@ export const defaultValuePromise = async ({
81
65
  }
82
66
  break;
83
67
  }
84
- case 'row':
85
68
  case 'collapsible':
69
+ case 'row':
86
70
  {
87
71
  await iterateFields({
88
72
  id,
@@ -94,6 +78,22 @@ export const defaultValuePromise = async ({
94
78
  });
95
79
  break;
96
80
  }
81
+ case 'group':
82
+ {
83
+ if (typeof siblingData[field.name] !== 'object') {
84
+ siblingData[field.name] = {};
85
+ }
86
+ const groupData = siblingData[field.name];
87
+ await iterateFields({
88
+ id,
89
+ data,
90
+ fields: field.fields,
91
+ locale,
92
+ siblingData: groupData,
93
+ user
94
+ });
95
+ break;
96
+ }
97
97
  case 'tab':
98
98
  {
99
99
  let tabSiblingData;
@@ -1 +1 @@
1
- {"version":3,"file":"promise.js","names":["getDefaultValue","fieldAffectsData","tabHasName","iterateFields","defaultValuePromise","id","data","field","locale","siblingData","user","name","defaultValue","value","type","groupData","fields","rows","Array","isArray","promises","forEach","row","push","Promise","all","blockTypeToMatch","blockType","block","blocks","find","slug","tabSiblingData","tabs","map","tab"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"sourcesContent":["import type { Data, Field, TabAsField, User } from 'payload'\n\nimport { getDefaultValue } from 'payload'\nimport { fieldAffectsData, tabHasName } from 'payload/shared'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args<T> = {\n data: T\n field: Field | TabAsField\n id?: number | string\n locale: string | undefined\n siblingData: Data\n user: User\n}\n\n// TODO: Make this works for rich text subfields\nexport const defaultValuePromise = async <T>({\n id,\n data,\n field,\n locale,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n if (fieldAffectsData(field)) {\n if (\n typeof siblingData[field.name] === 'undefined' &&\n typeof field.defaultValue !== 'undefined'\n ) {\n siblingData[field.name] = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale,\n user,\n value: siblingData[field.name],\n })\n }\n }\n\n // Traverse subfields\n switch (field.type) {\n case 'group': {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n const groupData = siblingData[field.name] as Record<string, unknown>\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: groupData,\n user,\n })\n\n break\n }\n\n case 'array': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n\n rows.forEach((row) => {\n promises.push(\n iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: row,\n user,\n }),\n )\n })\n\n await Promise.all(promises)\n }\n break\n }\n\n case 'blocks': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n rows.forEach((row) => {\n const blockTypeToMatch = row.blockType\n const block = field.blocks.find((blockType) => blockType.slug === blockTypeToMatch)\n\n if (block) {\n row.blockType = blockTypeToMatch\n\n promises.push(\n iterateFields({\n id,\n data,\n fields: block.fields,\n locale,\n siblingData: row,\n user,\n }),\n )\n }\n })\n await Promise.all(promises)\n }\n\n break\n }\n\n case 'row':\n case 'collapsible': {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData,\n user,\n })\n\n break\n }\n\n case 'tab': {\n let tabSiblingData\n if (tabHasName(field)) {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n tabSiblingData = siblingData[field.name] as Record<string, unknown>\n } else {\n tabSiblingData = siblingData\n }\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: tabSiblingData,\n user,\n })\n\n break\n }\n\n case 'tabs': {\n await iterateFields({\n id,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n locale,\n siblingData,\n user,\n })\n\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"promise.js","names":["getDefaultValue","fieldAffectsData","tabHasName","iterateFields","defaultValuePromise","id","data","field","locale","siblingData","user","name","defaultValue","value","type","rows","Array","isArray","promises","forEach","row","push","fields","Promise","all","blockTypeToMatch","blockType","block","blocks","find","slug","groupData","tabSiblingData","tabs","map","tab"],"sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"sourcesContent":["import type { Data, Field, TabAsField, User } from 'payload'\n\nimport { getDefaultValue } from 'payload'\nimport { fieldAffectsData, tabHasName } from 'payload/shared'\n\nimport { iterateFields } from './iterateFields.js'\n\ntype Args<T> = {\n data: T\n field: Field | TabAsField\n id?: number | string\n locale: string | undefined\n siblingData: Data\n user: User\n}\n\n// TODO: Make this works for rich text subfields\nexport const defaultValuePromise = async <T>({\n id,\n data,\n field,\n locale,\n siblingData,\n user,\n}: Args<T>): Promise<void> => {\n if (fieldAffectsData(field)) {\n if (\n typeof siblingData[field.name] === 'undefined' &&\n typeof field.defaultValue !== 'undefined'\n ) {\n siblingData[field.name] = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale,\n user,\n value: siblingData[field.name],\n })\n }\n }\n\n // Traverse subfields\n switch (field.type) {\n case 'array': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n\n rows.forEach((row) => {\n promises.push(\n iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: row,\n user,\n }),\n )\n })\n\n await Promise.all(promises)\n }\n break\n }\n\n case 'blocks': {\n const rows = siblingData[field.name]\n\n if (Array.isArray(rows)) {\n const promises = []\n rows.forEach((row) => {\n const blockTypeToMatch = row.blockType\n const block = field.blocks.find((blockType) => blockType.slug === blockTypeToMatch)\n\n if (block) {\n row.blockType = blockTypeToMatch\n\n promises.push(\n iterateFields({\n id,\n data,\n fields: block.fields,\n locale,\n siblingData: row,\n user,\n }),\n )\n }\n })\n await Promise.all(promises)\n }\n\n break\n }\n\n case 'collapsible':\n\n case 'row': {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData,\n user,\n })\n\n break\n }\n case 'group': {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n const groupData = siblingData[field.name] as Record<string, unknown>\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: groupData,\n user,\n })\n\n break\n }\n\n case 'tab': {\n let tabSiblingData\n if (tabHasName(field)) {\n if (typeof siblingData[field.name] !== 'object') {\n siblingData[field.name] = {}\n }\n\n tabSiblingData = siblingData[field.name] as Record<string, unknown>\n } else {\n tabSiblingData = siblingData\n }\n\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n siblingData: tabSiblingData,\n user,\n })\n\n break\n }\n\n case 'tabs': {\n await iterateFields({\n id,\n data,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n locale,\n siblingData,\n user,\n })\n\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"renderField.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKnD,eAAO,MAAM,WAAW,EAAE,iBAuOzB,CAAA"}
1
+ {"version":3,"file":"renderField.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKnD,eAAO,MAAM,WAAW,EAAE,iBAwOzB,CAAA"}
@@ -27,7 +27,8 @@ export const renderField = ({
27
27
  clientField: deepCopyObjectSimple(fieldConfig),
28
28
  defaultIDType: req.payload.config.db.defaultIDType,
29
29
  field: fieldConfig,
30
- i18n: req.i18n
30
+ i18n: req.i18n,
31
+ importMap: req.payload.importMap
31
32
  });
32
33
  const permissions = fieldAffectsData(fieldConfig) ? incomingPermissions?.[fieldConfig.name] : {};
33
34
  const clientProps = {