@payloadcms/ui 3.13.0 → 3.14.0

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 (72) hide show
  1. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  2. package/dist/elements/PublishButton/index.js +11 -4
  3. package/dist/elements/PublishButton/index.js.map +1 -1
  4. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  5. package/dist/elements/SaveButton/index.js +12 -4
  6. package/dist/elements/SaveButton/index.js.map +1 -1
  7. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  8. package/dist/elements/SaveDraftButton/index.js +3 -2
  9. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  10. package/dist/elements/Upload/index.d.ts.map +1 -1
  11. package/dist/elements/Upload/index.js +6 -2
  12. package/dist/elements/Upload/index.js.map +1 -1
  13. package/dist/exports/client/index.js +22 -22
  14. package/dist/exports/client/index.js.map +3 -3
  15. package/dist/exports/shared/index.js +2 -2
  16. package/dist/exports/shared/index.js.map +3 -3
  17. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  18. package/dist/fields/Upload/HasMany/index.js +6 -4
  19. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  20. package/dist/fields/Upload/Input.d.ts.map +1 -1
  21. package/dist/fields/Upload/Input.js +166 -143
  22. package/dist/fields/Upload/Input.js.map +1 -1
  23. package/dist/fields/Upload/RelationshipContent/index.d.ts +1 -1
  24. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
  25. package/dist/fields/Upload/RelationshipContent/index.js +55 -45
  26. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  27. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +3 -0
  28. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  29. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +22 -24
  30. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  31. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  32. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +14 -7
  33. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  34. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  35. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  36. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  37. package/dist/forms/fieldSchemasToFormState/iterateFields.js +26 -3
  38. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  39. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  40. package/dist/providers/DocumentInfo/index.js +6 -0
  41. package/dist/providers/DocumentInfo/index.js.map +1 -1
  42. package/dist/providers/DocumentInfo/types.d.ts +3 -0
  43. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  44. package/dist/providers/DocumentInfo/types.js.map +1 -1
  45. package/dist/providers/ServerFunctions/index.d.ts +5 -2
  46. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  47. package/dist/providers/ServerFunctions/index.js +1 -0
  48. package/dist/providers/ServerFunctions/index.js.map +1 -1
  49. package/dist/utilities/abortAndIgnore.d.ts +8 -0
  50. package/dist/utilities/abortAndIgnore.d.ts.map +1 -1
  51. package/dist/utilities/abortAndIgnore.js +11 -5
  52. package/dist/utilities/abortAndIgnore.js.map +1 -1
  53. package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
  54. package/dist/utilities/buildClientFieldSchemaMap/index.js +4 -6
  55. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  56. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  57. package/dist/utilities/buildFieldSchemaMap/index.js +4 -6
  58. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  59. package/dist/utilities/schedulePublishHandler.d.ts +1 -1
  60. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  61. package/dist/utilities/schedulePublishHandler.js +25 -4
  62. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  63. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  64. package/dist/views/Edit/Auth/index.js +79 -90
  65. package/dist/views/Edit/Auth/index.js.map +1 -1
  66. package/dist/views/Edit/Auth/types.d.ts +0 -1
  67. package/dist/views/Edit/Auth/types.d.ts.map +1 -1
  68. package/dist/views/Edit/Auth/types.js.map +1 -1
  69. package/dist/views/Edit/index.d.ts.map +1 -1
  70. package/dist/views/Edit/index.js +2 -8
  71. package/dist/views/Edit/index.js.map +1 -1
  72. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"addFieldStatePromise.js","names":["ObjectIdImport","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","fieldIsID","fieldIsLocalized","fieldIsSidebar","getFieldPaths","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","clientFieldSchemaMap","collectionSlug","data","field","fieldIndex","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentIndexPath","parentPath","parentPermissions","parentSchemaPath","passesCondition","preferences","previousFormState","renderAllFields","renderFieldFn","req","skipConditionChecks","skipValidation","state","console","warn","indexPath","path","schemaPath","index","requiresRender","fieldPermissions","fieldState","errorPaths","fieldSchema","undefined","initialValue","isSidebar","valid","value","name","hasPermission","read","access","doc","siblingData","validate","validationResult","jsonError","type","JSON","parse","e","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rows","reduce","acc","row","i","toHexString","fields","find","localized","parentPassesCondition","permissions","previousRows","collapsedRowIDsFromPrefs","collapsed","previousRow","prevRow","admin","initCollapsed","Promise","all","length","disableFormData","blocksValue","rowMetadata","block","blocks","blockType","slug","Error","rowSchemaPath","blockField","blockName","collapsedRowIDs","filterOptions","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabPath","tabSchemaPath","childPermissions","tabPermissions","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormFieldWithoutComponents,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsLocalized,\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 clientFieldSchemaMap?: ClientFieldSchemaMap\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 parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\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 clientFieldSchemaMap,\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 parentPermissions,\n parentSchemaPath,\n passesCondition,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\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 let fieldPermissions: SanitizedFieldPermissions = true\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 if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field)) {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\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 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) => fieldIsID(field))\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 clientFieldSchemaMap,\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:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const previousRows = previousFormState?.[path]?.rows || []\n const collapsedRowIDsFromPrefs = preferences?.fields?.[path]?.collapsed\n\n acc.rows.push({\n id: row.id,\n collapsed: (() => {\n // First, check if `previousFormState` has a matching row\n const previousRow = previousRows.find((prevRow) => prevRow.id === row.id)\n if (previousRow?.collapsed !== undefined) {\n return previousRow.collapsed\n }\n\n // If previousFormState is undefined, check preferences\n if (collapsedRowIDsFromPrefs !== undefined) {\n return collapsedRowIDsFromPrefs.includes(row.id) // Check if collapsed in preferences\n }\n\n // If neither exists, fallback to `field.admin.initCollapsed`\n return field.admin.initCollapsed\n })(),\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((blockField) => fieldIsID(blockField))\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 clientFieldSchemaMap,\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:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[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 clientFieldSchemaMap,\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:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.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 req,\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: fieldIsLocalized(field) || anyParentLocalized,\n clientFieldSchemaMap,\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: parentPermissions, // TODO: Verify this is correct\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 let childPermissions: SanitizedFieldsPermissions = undefined\n\n if (isNamedTab) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[tab.name]\n if (tabPermissions === true) {\n childPermissions = true\n } else {\n childPermissions = tabPermissions?.fields\n }\n }\n } else {\n childPermissions = parentPermissions\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n clientFieldSchemaMap,\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: childPermissions,\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] = fieldState\n state[path].disableFormData = true\n }\n }\n\n if (requiresRender && renderFieldFn && !fieldIsHiddenOrDisabled(field)) {\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 id,\n clientFieldSchemaMap,\n collectionSlug,\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: fieldPermissions,\n preferences,\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","deepCopyObjectSimple","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","fieldIsID","fieldIsLocalized","fieldIsSidebar","getFieldPaths","tabHasName","getFilterOptionsQuery","iterateFields","ObjectId","default","addFieldStatePromise","args","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","clientFieldSchemaMap","collectionSlug","data","field","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","indexPath","omitParents","operation","parentPath","parentPermissions","parentSchemaPath","passesCondition","path","preferences","previousFormState","renderAllFields","renderFieldFn","req","schemaPath","skipConditionChecks","skipValidation","state","console","warn","requiresRender","fieldPermissions","fieldState","errorPaths","fieldSchema","undefined","initialValue","isSidebar","valid","value","name","hasPermission","read","access","doc","siblingData","validate","validationResult","jsonError","type","JSON","parse","e","err","payload","logger","error","msg","errorPath","includes","push","errorMessage","arrayValue","Array","isArray","promises","rows","reduce","acc","row","i","toHexString","fields","find","localized","parentIndexPath","parentPassesCondition","permissions","previousRows","collapsedRowIDsFromPrefs","collapsed","previousRow","prevRow","admin","initCollapsed","Promise","all","length","disableFormData","blocksValue","rowMetadata","block","blocks","blockType","slug","Error","rowSchemaPath","blockField","blockName","collapsedRowIDs","filterOptions","relationTo","relation","query","user","hasMany","relationshipValue","map","relationship","tabs","tab","tabIndex","isNamedTab","tabIndexPath","tabPath","tabSchemaPath","index","childPermissions","tabPermissions","fieldConfig","get","endsWith","formState","previousFieldState"],"sources":["../../../src/forms/fieldSchemasToFormState/addFieldStatePromise.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormFieldWithoutComponents,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport {\n deepCopyObjectSimple,\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsLocalized,\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 clientFieldSchemaMap?: ClientFieldSchemaMap\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 indexPath: string\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 parentPermissions: SanitizedFieldsPermissions\n parentSchemaPath: string\n passesCondition: boolean\n path: string\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 schemaPath: string\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 clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n indexPath,\n omitParents = false,\n operation,\n parentPath,\n parentPermissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n skipConditionChecks = false,\n skipValidation = false,\n state,\n } = args\n\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n console.warn(\n 'clientFieldSchemaMap is not passed to addFieldStatePromise - this will reduce performance',\n )\n }\n\n const requiresRender = renderAllFields || previousFormState?.[path]?.requiresRender\n\n let fieldPermissions: SanitizedFieldPermissions = true\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 if (fieldAffectsData(field) && !fieldIsHiddenOrDisabled(field)) {\n fieldPermissions =\n parentPermissions === true\n ? parentPermissions\n : deepCopyObjectSimple(parentPermissions?.[field.name])\n\n let hasPermission: boolean =\n fieldPermissions === true || deepCopyObjectSimple(fieldPermissions?.read)\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 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 try {\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 } catch (err) {\n validationResult = `Error validating field at path: ${path}`\n\n req.payload.logger.error({\n err,\n msg: validationResult,\n })\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) => fieldIsID(field))\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 clientFieldSchemaMap,\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:\n fieldPermissions === true ? fieldPermissions : fieldPermissions?.fields || {},\n preferences,\n previousFormState,\n renderAllFields: requiresRender,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n\n const previousRows = previousFormState?.[path]?.rows || []\n const collapsedRowIDsFromPrefs = preferences?.fields?.[path]?.collapsed\n\n acc.rows.push({\n id: row.id,\n collapsed: (() => {\n // First, check if `previousFormState` has a matching row\n const previousRow = previousRows.find((prevRow) => prevRow.id === row.id)\n if (previousRow?.collapsed !== undefined) {\n return previousRow.collapsed\n }\n\n // If previousFormState is undefined, check preferences\n if (collapsedRowIDsFromPrefs !== undefined) {\n return collapsedRowIDsFromPrefs.includes(row.id) // Check if collapsed in preferences\n }\n\n // If neither exists, fallback to `field.admin.initCollapsed`\n return field.admin.initCollapsed\n })(),\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((blockField) => fieldIsID(blockField))\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 clientFieldSchemaMap,\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:\n fieldPermissions === true\n ? fieldPermissions\n : parentPermissions?.[field.name]?.blocks?.[block.slug] === true\n ? true\n : parentPermissions?.[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 clientFieldSchemaMap,\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:\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.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 req,\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: fieldIsLocalized(field) || anyParentLocalized,\n clientFieldSchemaMap,\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: parentPermissions, // TODO: Verify this is correct\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 let childPermissions: SanitizedFieldsPermissions = undefined\n\n if (isNamedTab) {\n if (parentPermissions === true) {\n childPermissions = true\n } else {\n const tabPermissions = parentPermissions?.[tab.name]\n if (tabPermissions === true) {\n childPermissions = true\n } else {\n childPermissions = tabPermissions?.fields\n }\n }\n } else {\n childPermissions = parentPermissions\n }\n\n return iterateFields({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized: tab.localized || anyParentLocalized,\n clientFieldSchemaMap,\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: childPermissions,\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] = fieldState\n state[path].disableFormData = true\n }\n }\n\n if (requiresRender && renderFieldFn && !fieldIsHiddenOrDisabled(field)) {\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 id,\n clientFieldSchemaMap,\n collectionSlug,\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: fieldPermissions,\n preferences,\n previousFieldState: previousFormState?.[path],\n req,\n schemaPath,\n siblingData: data,\n })\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAO5E,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAGD,eAAO,MAAM,mBAAmB,GAAU,CAAC,wDAQxC,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CAuJxB,CAAA"}
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../../../src/forms/fieldSchemasToFormState/calculateDefaultValues/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAO5E,KAAK,IAAI,CAAC,CAAC,IAAI;IACb,IAAI,EAAE,CAAC,CAAA;IACP,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,GAAG,EAAE,cAAc,CAAA;IACnB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAGD,eAAO,MAAM,mBAAmB,GAAU,CAAC,wDAQxC,IAAI,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,IAAI,CA8JxB,CAAA"}
@@ -13,13 +13,20 @@ export const defaultValuePromise = async ({
13
13
  }) => {
14
14
  if (fieldAffectsData(field)) {
15
15
  if (typeof siblingData[field.name] === 'undefined' && typeof field.defaultValue !== 'undefined') {
16
- siblingData[field.name] = await getDefaultValue({
17
- defaultValue: field.defaultValue,
18
- locale,
19
- req,
20
- user,
21
- value: siblingData[field.name]
22
- });
16
+ try {
17
+ siblingData[field.name] = await getDefaultValue({
18
+ defaultValue: field.defaultValue,
19
+ locale,
20
+ req,
21
+ user,
22
+ value: siblingData[field.name]
23
+ });
24
+ } catch (err) {
25
+ req.payload.logger.error({
26
+ err,
27
+ msg: `Error calculating default value for field: ${field.name}`
28
+ });
29
+ }
23
30
  }
24
31
  }
25
32
  // Traverse subfields
@@ -1 +1 @@
1
- {"version":3,"file":"promise.js","names":["getDefaultValue","fieldAffectsData","tabHasName","iterateFields","defaultValuePromise","id","data","field","locale","req","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, PayloadRequest, 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 req: PayloadRequest\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 req,\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 req,\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 req,\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 req,\n siblingData: row,\n user,\n }),\n )\n }\n })\n await Promise.all(promises)\n }\n\n break\n }\n\n case 'collapsible':\n case 'row': {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\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 req,\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 req,\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 req,\n siblingData,\n user,\n })\n\n break\n }\n\n default: {\n break\n }\n }\n}\n"],"mappings":"AAEA,SAASA,eAAe,QAAQ;AAChC,SAASC,gBAAgB,EAAEC,UAAU,QAAQ;AAE7C,SAASC,aAAa,QAAQ;AAY9B;AACA,OAAO,MAAMC,mBAAA,GAAsB,MAAAA,CAAU;EAC3CC,EAAE;EACFC,IAAI;EACJC,KAAK;EACLC,MAAM;EACNC,GAAG;EACHC,WAAW;EACXC;AAAI,CACI;EACR,IAAIV,gBAAA,CAAiBM,KAAA,GAAQ;IAC3B,IACE,OAAOG,WAAW,CAACH,KAAA,CAAMK,IAAI,CAAC,KAAK,eACnC,OAAOL,KAAA,CAAMM,YAAY,KAAK,aAC9B;MACAH,WAAW,CAACH,KAAA,CAAMK,IAAI,CAAC,GAAG,MAAMZ,eAAA,CAAgB;QAC9Ca,YAAA,EAAcN,KAAA,CAAMM,YAAY;QAChCL,MAAA;QACAC,GAAA;QACAE,IAAA;QACAG,KAAA,EAAOJ,WAAW,CAACH,KAAA,CAAMK,IAAI;MAC/B;IACF;EACF;EAEA;EACA,QAAQL,KAAA,CAAMQ,IAAI;IAChB,KAAK;MAAS;QACZ,MAAMC,IAAA,GAAON,WAAW,CAACH,KAAA,CAAMK,IAAI,CAAC;QAEpC,IAAIK,KAAA,CAAMC,OAAO,CAACF,IAAA,GAAO;UACvB,MAAMG,QAAA,GAAW,EAAE;UAEnBH,IAAA,CAAKI,OAAO,CAAEC,GAAA;YACZF,QAAA,CAASG,IAAI,CACXnB,aAAA,CAAc;cACZE,EAAA;cACAC,IAAA;cACAiB,MAAA,EAAQhB,KAAA,CAAMgB,MAAM;cACpBf,MAAA;cACAC,GAAA;cACAC,WAAA,EAAaW,GAAA;cACbV;YACF;UAEJ;UAEA,MAAMa,OAAA,CAAQC,GAAG,CAACN,QAAA;QACpB;QACA;MACF;IAEA,KAAK;MAAU;QACb,MAAMH,IAAA,GAAON,WAAW,CAACH,KAAA,CAAMK,IAAI,CAAC;QAEpC,IAAIK,KAAA,CAAMC,OAAO,CAACF,IAAA,GAAO;UACvB,MAAMG,QAAA,GAAW,EAAE;UACnBH,IAAA,CAAKI,OAAO,CAAEC,GAAA;YACZ,MAAMK,gBAAA,GAAmBL,GAAA,CAAIM,SAAS;YACtC,MAAMC,KAAA,GAAQrB,KAAA,CAAMsB,MAAM,CAACC,IAAI,CAAEH,SAAA,IAAcA,SAAA,CAAUI,IAAI,KAAKL,gBAAA;YAElE,IAAIE,KAAA,EAAO;cACTP,GAAA,CAAIM,SAAS,GAAGD,gBAAA;cAEhBP,QAAA,CAASG,IAAI,CACXnB,aAAA,CAAc;gBACZE,EAAA;gBACAC,IAAA;gBACAiB,MAAA,EAAQK,KAAA,CAAML,MAAM;gBACpBf,MAAA;gBACAC,GAAA;gBACAC,WAAA,EAAaW,GAAA;gBACbV;cACF;YAEJ;UACF;UACA,MAAMa,OAAA,CAAQC,GAAG,CAACN,QAAA;QACpB;QAEA;MACF;IAEA,KAAK;IACL,KAAK;MAAO;QACV,MAAMhB,aAAA,CAAc;UAClBE,EAAA;UACAC,IAAA;UACAiB,MAAA,EAAQhB,KAAA,CAAMgB,MAAM;UACpBf,MAAA;UACAC,GAAA;UACAC,WAAA;UACAC;QACF;QAEA;MACF;IACA,KAAK;MAAS;QACZ,IAAI,OAAOD,WAAW,CAACH,KAAA,CAAMK,IAAI,CAAC,KAAK,UAAU;UAC/CF,WAAW,CAACH,KAAA,CAAMK,IAAI,CAAC,GAAG,CAAC;QAC7B;QAEA,MAAMoB,SAAA,GAAYtB,WAAW,CAACH,KAAA,CAAMK,IAAI,CAAC;QAEzC,MAAMT,aAAA,CAAc;UAClBE,EAAA;UACAC,IAAA;UACAiB,MAAA,EAAQhB,KAAA,CAAMgB,MAAM;UACpBf,MAAA;UACAC,GAAA;UACAC,WAAA,EAAasB,SAAA;UACbrB;QACF;QAEA;MACF;IAEA,KAAK;MAAO;QACV,IAAIsB,cAAA;QACJ,IAAI/B,UAAA,CAAWK,KAAA,GAAQ;UACrB,IAAI,OAAOG,WAAW,CAACH,KAAA,CAAMK,IAAI,CAAC,KAAK,UAAU;YAC/CF,WAAW,CAACH,KAAA,CAAMK,IAAI,CAAC,GAAG,CAAC;UAC7B;UAEAqB,cAAA,GAAiBvB,WAAW,CAACH,KAAA,CAAMK,IAAI,CAAC;QAC1C,OAAO;UACLqB,cAAA,GAAiBvB,WAAA;QACnB;QAEA,MAAMP,aAAA,CAAc;UAClBE,EAAA;UACAC,IAAA;UACAiB,MAAA,EAAQhB,KAAA,CAAMgB,MAAM;UACpBf,MAAA;UACAC,GAAA;UACAC,WAAA,EAAauB,cAAA;UACbtB;QACF;QAEA;MACF;IAEA,KAAK;MAAQ;QACX,MAAMR,aAAA,CAAc;UAClBE,EAAA;UACAC,IAAA;UACAiB,MAAA,EAAQhB,KAAA,CAAM2B,IAAI,CAACC,GAAG,CAAEC,GAAA,KAAS;YAAE,GAAGA,GAAG;YAAErB,IAAA,EAAM;UAAM;UACvDP,MAAA;UACAC,GAAA;UACAC,WAAA;UACAC;QACF;QAEA;MACF;IAEA;MAAS;QACP;MACF;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"promise.js","names":["getDefaultValue","fieldAffectsData","tabHasName","iterateFields","defaultValuePromise","id","data","field","locale","req","siblingData","user","name","defaultValue","value","err","payload","logger","error","msg","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, PayloadRequest, 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 req: PayloadRequest\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 req,\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 try {\n siblingData[field.name] = await getDefaultValue({\n defaultValue: field.defaultValue,\n locale,\n req,\n user,\n value: siblingData[field.name],\n })\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `Error calculating default value for field: ${field.name}`,\n })\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 req,\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 req,\n siblingData: row,\n user,\n }),\n )\n }\n })\n await Promise.all(promises)\n }\n\n break\n }\n\n case 'collapsible':\n case 'row': {\n await iterateFields({\n id,\n data,\n fields: field.fields,\n locale,\n req,\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 req,\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 req,\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 req,\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":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EAET,cAAc,EACd,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,KAAK,IAAI,GAAG;IACV;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;IAC3B;;;;OAIG;IACH,cAAc,EAAE,cAAc,GAAG,SAAS,CAAA;IAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,EAAE,mBAAmB,CAAA;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;IAEnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,uBAAuB,SAAgB,IAAI,KAAG,OAAO,CAAC,SAAS,CAiE3E,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,EACL,cAAc,EACd,SAAS,EAET,cAAc,EACd,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,KAAK,IAAI,GAAG;IACV;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;IAC3B;;;;OAIG;IACH,cAAc,EAAE,cAAc,GAAG,SAAS,CAAA;IAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC/B,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,EAAE,mBAAmB,CAAA;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,iBAAiB,CAAA;IACjC,GAAG,EAAE,cAAc,CAAA;IAEnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,uBAAuB,SAAgB,IAAI,KAAG,OAAO,CAAC,SAAS,CAkE3E,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["calculateDefaultValues","iterateFields","fieldSchemasToFormState","args","clientFieldSchemaMap","renderFieldFn","console","warn","id","collectionSlug","data","fields","fieldSchemaMap","operation","permissions","preferences","previousFormState","renderAllFields","req","schemaPath","length","state","dataWithDefaultValues","locale","siblingData","user","addErrorPathToParent","fullData","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath"],"sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { calculateDefaultValues } from './calculateDefaultValues/index.js'\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n /**\n * The client field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the client field schema map is not required.\n */\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data?: Data\n fields: Field[] | undefined\n /**\n * The field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the field schema map is not required.\n */\n fieldSchemaMap: FieldSchemaMap | undefined\n id?: number | string\n operation?: 'create' | 'update'\n permissions: SanitizedFieldsPermissions\n preferences: DocumentPreferences\n /**\n * Optionally accept the previous form state,\n * to be able to determine if custom fields need to be re-rendered.\n */\n previousFormState?: FormState\n /**\n * If renderAllFields is true, then no matter what is in previous form state,\n * all custom fields will be re-rendered.\n */\n renderAllFields: boolean\n renderFieldFn?: RenderFieldMethod\n req: PayloadRequest\n\n schemaPath: string\n}\n\nexport const fieldSchemasToFormState = async (args: Args): Promise<FormState> => {\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n console.warn(\n 'clientFieldSchemaMap is not passed to fieldSchemasToFormState - this will reduce performance',\n )\n }\n const {\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data = {},\n fields,\n fieldSchemaMap,\n operation,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n } = args\n\n if (fields && fields.length) {\n const state: FormStateWithoutComponents = {}\n\n const dataWithDefaultValues = { ...data }\n\n await calculateDefaultValues({\n id,\n data: dataWithDefaultValues,\n fields,\n locale: req.locale,\n req,\n siblingData: dataWithDefaultValues,\n user: req.user,\n })\n\n await iterateFields({\n id,\n addErrorPathToParent: null,\n clientFieldSchemaMap,\n collectionSlug,\n data: dataWithDefaultValues,\n fields,\n fieldSchemaMap,\n fullData: dataWithDefaultValues,\n operation,\n parentIndexPath: '',\n parentPassesCondition: true,\n parentPath: '',\n parentSchemaPath: schemaPath,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n state,\n })\n\n return state\n }\n\n return {}\n}\n\nexport { iterateFields }\n"],"mappings":"AAcA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AAsC9B,OAAO,MAAMC,uBAAA,GAA0B,MAAOC,IAAA;EAC5C,IAAI,CAACA,IAAA,CAAKC,oBAAoB,IAAID,IAAA,CAAKE,aAAa,EAAE;IACpDC,OAAA,CAAQC,IAAI,CACV;EAEJ;EACA,MAAM;IACJC,EAAE;IACFJ,oBAAoB;IACpBK,cAAc;IACdC,IAAA,GAAO,CAAC,CAAC;IACTC,MAAM;IACNC,cAAc;IACdC,SAAS;IACTC,WAAW;IACXC,WAAW;IACXC,iBAAiB;IACjBC,eAAe;IACfZ,aAAa;IACba,GAAG;IACHC;EAAU,CACX,GAAGhB,IAAA;EAEJ,IAAIQ,MAAA,IAAUA,MAAA,CAAOS,MAAM,EAAE;IAC3B,MAAMC,KAAA,GAAoC,CAAC;IAE3C,MAAMC,qBAAA,GAAwB;MAAE,GAAGZ;IAAK;IAExC,MAAMV,sBAAA,CAAuB;MAC3BQ,EAAA;MACAE,IAAA,EAAMY,qBAAA;MACNX,MAAA;MACAY,MAAA,EAAQL,GAAA,CAAIK,MAAM;MAClBL,GAAA;MACAM,WAAA,EAAaF,qBAAA;MACbG,IAAA,EAAMP,GAAA,CAAIO;IACZ;IAEA,MAAMxB,aAAA,CAAc;MAClBO,EAAA;MACAkB,oBAAA,EAAsB;MACtBtB,oBAAA;MACAK,cAAA;MACAC,IAAA,EAAMY,qBAAA;MACNX,MAAA;MACAC,cAAA;MACAe,QAAA,EAAUL,qBAAA;MACVT,SAAA;MACAe,eAAA,EAAiB;MACjBC,qBAAA,EAAuB;MACvBC,UAAA,EAAY;MACZC,gBAAA,EAAkBZ,UAAA;MAClBL,WAAA;MACAC,WAAA;MACAC,iBAAA;MACAC,eAAA;MACAZ,aAAA;MACAa,GAAA;MACAG;IACF;IAEA,OAAOA,KAAA;EACT;EAEA,OAAO,CAAC;AACV;AAEA,SAASpB,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["calculateDefaultValues","iterateFields","fieldSchemasToFormState","args","clientFieldSchemaMap","renderFieldFn","console","warn","id","collectionSlug","data","fields","fieldSchemaMap","operation","permissions","preferences","previousFormState","renderAllFields","req","schemaPath","length","state","dataWithDefaultValues","locale","siblingData","user","addErrorPathToParent","fullData","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath"],"sources":["../../../src/forms/fieldSchemasToFormState/index.tsx"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { calculateDefaultValues } from './calculateDefaultValues/index.js'\nimport { iterateFields } from './iterateFields.js'\n\ntype Args = {\n /**\n * The client field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the client field schema map is not required.\n */\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data?: Data\n fields: Field[] | undefined\n /**\n * The field schema map is required for field rendering.\n * If fields should not be rendered (=> `renderFieldFn` is not provided),\n * then the field schema map is not required.\n */\n fieldSchemaMap: FieldSchemaMap | undefined\n id?: number | string\n operation?: 'create' | 'update'\n permissions: SanitizedFieldsPermissions\n preferences: DocumentPreferences\n /**\n * Optionally accept the previous form state,\n * to be able to determine if custom fields need to be re-rendered.\n */\n previousFormState?: FormState\n /**\n * If renderAllFields is true, then no matter what is in previous form state,\n * all custom fields will be re-rendered.\n */\n renderAllFields: boolean\n renderFieldFn?: RenderFieldMethod\n req: PayloadRequest\n\n schemaPath: string\n}\n\nexport const fieldSchemasToFormState = async (args: Args): Promise<FormState> => {\n if (!args.clientFieldSchemaMap && args.renderFieldFn) {\n console.warn(\n 'clientFieldSchemaMap is not passed to fieldSchemasToFormState - this will reduce performance',\n )\n }\n\n const {\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data = {},\n fields,\n fieldSchemaMap,\n operation,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n } = args\n\n if (fields && fields.length) {\n const state: FormStateWithoutComponents = {}\n\n const dataWithDefaultValues = { ...data }\n\n await calculateDefaultValues({\n id,\n data: dataWithDefaultValues,\n fields,\n locale: req.locale,\n req,\n siblingData: dataWithDefaultValues,\n user: req.user,\n })\n\n await iterateFields({\n id,\n addErrorPathToParent: null,\n clientFieldSchemaMap,\n collectionSlug,\n data: dataWithDefaultValues,\n fields,\n fieldSchemaMap,\n fullData: dataWithDefaultValues,\n operation,\n parentIndexPath: '',\n parentPassesCondition: true,\n parentPath: '',\n parentSchemaPath: schemaPath,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n state,\n })\n\n return state\n }\n\n return {}\n}\n\nexport { iterateFields }\n"],"mappings":"AAcA,SAASA,sBAAsB,QAAQ;AACvC,SAASC,aAAa,QAAQ;AAsC9B,OAAO,MAAMC,uBAAA,GAA0B,MAAOC,IAAA;EAC5C,IAAI,CAACA,IAAA,CAAKC,oBAAoB,IAAID,IAAA,CAAKE,aAAa,EAAE;IACpDC,OAAA,CAAQC,IAAI,CACV;EAEJ;EAEA,MAAM;IACJC,EAAE;IACFJ,oBAAoB;IACpBK,cAAc;IACdC,IAAA,GAAO,CAAC,CAAC;IACTC,MAAM;IACNC,cAAc;IACdC,SAAS;IACTC,WAAW;IACXC,WAAW;IACXC,iBAAiB;IACjBC,eAAe;IACfZ,aAAa;IACba,GAAG;IACHC;EAAU,CACX,GAAGhB,IAAA;EAEJ,IAAIQ,MAAA,IAAUA,MAAA,CAAOS,MAAM,EAAE;IAC3B,MAAMC,KAAA,GAAoC,CAAC;IAE3C,MAAMC,qBAAA,GAAwB;MAAE,GAAGZ;IAAK;IAExC,MAAMV,sBAAA,CAAuB;MAC3BQ,EAAA;MACAE,IAAA,EAAMY,qBAAA;MACNX,MAAA;MACAY,MAAA,EAAQL,GAAA,CAAIK,MAAM;MAClBL,GAAA;MACAM,WAAA,EAAaF,qBAAA;MACbG,IAAA,EAAMP,GAAA,CAAIO;IACZ;IAEA,MAAMxB,aAAA,CAAc;MAClBO,EAAA;MACAkB,oBAAA,EAAsB;MACtBtB,oBAAA;MACAK,cAAA;MACAC,IAAA,EAAMY,qBAAA;MACNX,MAAA;MACAC,cAAA;MACAe,QAAA,EAAUL,qBAAA;MACVT,SAAA;MACAe,eAAA,EAAiB;MACjBC,qBAAA,EAAuB;MACvBC,UAAA,EAAY;MACZC,gBAAA,EAAkBZ,UAAA;MAClBL,WAAA;MACAC,WAAA;MACAC,iBAAA;MACAC,eAAA;MACAZ,aAAA;MACAa,GAAA;MACAG;IACF;IAEA,OAAOA,KAAA;EACT;EAEA,OAAO,CAAC;AACV;AAEA,SAASpB,aAAa","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,IAAI,WAAW,EACpB,cAAc,EACd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,KAAK,IAAI,GAAG;IACV,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,0BAA0B,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,+aA4BvB,IAAI,KAAG,OAAO,CAAC,IAAI,CAiDrB,CAAA"}
1
+ {"version":3,"file":"iterateFields.d.ts","sourceRoot":"","sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,mBAAmB,EACnB,KAAK,IAAI,WAAW,EACpB,cAAc,EACd,SAAS,EACT,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC3B,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAInD,KAAK,IAAI,GAAG;IACV,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAA;IACpD;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,IAAI,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,0BAA0B,CAAA;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,iBAAiB,EAAE,SAAS,CAAA;IAC5B,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,iBAAiB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,0BAA0B,CAAA;CACnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,+aA4BvB,IAAI,KAAG,OAAO,CAAC,IAAI,CAqErB,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { getFieldPaths } from 'payload/shared';
1
2
  import { addFieldStatePromise } from './addFieldStatePromise.js';
2
3
  /**
3
4
  * Flattens the fields schema and fields data
@@ -34,10 +35,29 @@ export const iterateFields = async ({
34
35
  const promises = [];
35
36
  fields.forEach((field, fieldIndex) => {
36
37
  let passesCondition = true;
38
+ const {
39
+ indexPath,
40
+ path,
41
+ schemaPath
42
+ } = getFieldPaths({
43
+ field,
44
+ index: fieldIndex,
45
+ parentIndexPath: 'name' in field ? '' : parentIndexPath,
46
+ parentPath,
47
+ parentSchemaPath
48
+ });
37
49
  if (!skipConditionChecks) {
38
- passesCondition = Boolean((field?.admin?.condition ? Boolean(field.admin.condition(fullData || {}, data || {}, {
39
- user: req.user
40
- })) : true) && parentPassesCondition);
50
+ try {
51
+ passesCondition = Boolean((field?.admin?.condition ? Boolean(field.admin.condition(fullData || {}, data || {}, {
52
+ user: req.user
53
+ })) : true) && parentPassesCondition);
54
+ } catch (err) {
55
+ passesCondition = false;
56
+ req.payload.logger.error({
57
+ err,
58
+ msg: `Error evaluating field condition at path: ${path}`
59
+ });
60
+ }
41
61
  }
42
62
  promises.push(addFieldStatePromise({
43
63
  id,
@@ -53,6 +73,7 @@ export const iterateFields = async ({
53
73
  forceFullValue,
54
74
  fullData,
55
75
  includeSchema,
76
+ indexPath,
56
77
  omitParents,
57
78
  operation,
58
79
  parentIndexPath,
@@ -60,11 +81,13 @@ export const iterateFields = async ({
60
81
  parentPermissions: permissions,
61
82
  parentSchemaPath,
62
83
  passesCondition,
84
+ path,
63
85
  preferences,
64
86
  previousFormState,
65
87
  renderAllFields,
66
88
  renderFieldFn,
67
89
  req,
90
+ schemaPath,
68
91
  skipConditionChecks,
69
92
  skipValidation,
70
93
  state
@@ -1 +1 @@
1
- {"version":3,"file":"iterateFields.js","names":["addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","clientFieldSchemaMap","collectionSlug","data","fields","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath","permissions","preferences","previousFormState","renderAllFields","renderFieldFn","req","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","passesCondition","Boolean","admin","condition","user","push","parentPermissions","Promise","all"],"sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field as FieldSchema,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\nimport type { RenderFieldMethod } from './types.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n fields: FieldSchema[]\n fieldSchemaMap: FieldSchemaMap\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. @default false\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPassesCondition?: boolean\n parentPath: string\n parentSchemaPath: string\n permissions: SanitizedFieldsPermissions\n preferences?: DocumentPreferences\n previousFormState: FormState\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\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 */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPassesCondition = true,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn: renderFieldFn,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n let passesCondition = true\n\n if (!skipConditionChecks) {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(field.admin.condition(fullData || {}, data || {}, { user: req.user }))\n : true) && parentPassesCondition,\n )\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n omitParents,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions: permissions,\n parentSchemaPath,\n passesCondition,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"AAeA,SAASA,oBAAoB,QAAQ;AAqDrC;;;AAGA,OAAO,MAAMC,aAAA,GAAgB,MAAAA,CAAO;EAClCC,EAAE;EACFC,oBAAA,EAAsBC,uBAAuB;EAC7CC,kBAAA,GAAqB,KAAK;EAC1BC,oBAAoB;EACpBC,cAAc;EACdC,IAAI;EACJC,MAAM;EACNC,cAAc;EACdC,MAAM;EACNC,cAAA,GAAiB,KAAK;EACtBC,QAAQ;EACRC,aAAA,GAAgB,KAAK;EACrBC,WAAA,GAAc,KAAK;EACnBC,SAAS;EACTC,eAAe;EACfC,qBAAA,GAAwB,IAAI;EAC5BC,UAAU;EACVC,gBAAgB;EAChBC,WAAW;EACXC,WAAW;EACXC,iBAAiB;EACjBC,eAAe;EACfC,aAAA,EAAeA,aAAa;EAC5BC,GAAG;EACHC,mBAAA,GAAsB,KAAK;EAC3BC,cAAA,GAAiB,KAAK;EACtBC,KAAA,GAAQ,CAAC;AAAC,CACL;EACL,MAAMC,QAAA,GAAW,EAAE;EAEnBrB,MAAA,CAAOsB,OAAO,CAAC,CAACC,KAAA,EAAOC,UAAA;IACrB,IAAIC,eAAA,GAAkB;IAEtB,IAAI,CAACP,mBAAA,EAAqB;MACxBO,eAAA,GAAkBC,OAAA,CAChB,CAACH,KAAA,EAAOI,KAAA,EAAOC,SAAA,GACXF,OAAA,CAAQH,KAAA,CAAMI,KAAK,CAACC,SAAS,CAACxB,QAAA,IAAY,CAAC,GAAGL,IAAA,IAAQ,CAAC,GAAG;QAAE8B,IAAA,EAAMZ,GAAA,CAAIY;MAAK,MAC3E,IAAG,KAAMpB,qBAAA;IAEjB;IAEAY,QAAA,CAASS,IAAI,CACXvC,oBAAA,CAAqB;MACnBE,EAAA;MACAC,oBAAA,EAAsBC,uBAAA;MACtBC,kBAAA;MACAC,oBAAA;MACAC,cAAA;MACAC,IAAA;MACAwB,KAAA;MACAC,UAAA;MACAvB,cAAA;MACAC,MAAA;MACAC,cAAA;MACAC,QAAA;MACAC,aAAA;MACAC,WAAA;MACAC,SAAA;MACAC,eAAA;MACAE,UAAA;MACAqB,iBAAA,EAAmBnB,WAAA;MACnBD,gBAAA;MACAc,eAAA;MACAZ,WAAA;MACAC,iBAAA;MACAC,eAAA;MACAC,aAAA;MACAC,GAAA;MACAC,mBAAA;MACAC,cAAA;MACAC;IACF;EAEJ;EAEA,MAAMY,OAAA,CAAQC,GAAG,CAACZ,QAAA;AACpB","ignoreList":[]}
1
+ {"version":3,"file":"iterateFields.js","names":["getFieldPaths","addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","clientFieldSchemaMap","collectionSlug","data","fields","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","omitParents","operation","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath","permissions","preferences","previousFormState","renderAllFields","renderFieldFn","req","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","passesCondition","indexPath","path","schemaPath","index","Boolean","admin","condition","user","err","payload","logger","error","msg","push","parentPermissions","Promise","all"],"sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field as FieldSchema,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport { getFieldPaths } from 'payload/shared'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\nimport type { RenderFieldMethod } from './types.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n fields: FieldSchema[]\n fieldSchemaMap: FieldSchemaMap\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. @default false\n */\n includeSchema?: boolean\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPassesCondition?: boolean\n parentPath: string\n parentSchemaPath: string\n permissions: SanitizedFieldsPermissions\n preferences?: DocumentPreferences\n previousFormState: FormState\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\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 */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPassesCondition = true,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn: renderFieldFn,\n req,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n let passesCondition = true\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 if (!skipConditionChecks) {\n try {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(field.admin.condition(fullData || {}, data || {}, { user: req.user }))\n : true) && parentPassesCondition,\n )\n } catch (err) {\n passesCondition = false\n\n req.payload.logger.error({\n err,\n msg: `Error evaluating field condition at path: ${path}`,\n })\n }\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n indexPath,\n omitParents,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions: permissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"mappings":"AAYA,SAASA,aAAa,QAAQ;AAK9B,SAASC,oBAAoB,QAAQ;AAqDrC;;;AAGA,OAAO,MAAMC,aAAA,GAAgB,MAAAA,CAAO;EAClCC,EAAE;EACFC,oBAAA,EAAsBC,uBAAuB;EAC7CC,kBAAA,GAAqB,KAAK;EAC1BC,oBAAoB;EACpBC,cAAc;EACdC,IAAI;EACJC,MAAM;EACNC,cAAc;EACdC,MAAM;EACNC,cAAA,GAAiB,KAAK;EACtBC,QAAQ;EACRC,aAAA,GAAgB,KAAK;EACrBC,WAAA,GAAc,KAAK;EACnBC,SAAS;EACTC,eAAe;EACfC,qBAAA,GAAwB,IAAI;EAC5BC,UAAU;EACVC,gBAAgB;EAChBC,WAAW;EACXC,WAAW;EACXC,iBAAiB;EACjBC,eAAe;EACfC,aAAA,EAAeA,aAAa;EAC5BC,GAAG;EACHC,mBAAA,GAAsB,KAAK;EAC3BC,cAAA,GAAiB,KAAK;EACtBC,KAAA,GAAQ,CAAC;AAAC,CACL;EACL,MAAMC,QAAA,GAAW,EAAE;EAEnBrB,MAAA,CAAOsB,OAAO,CAAC,CAACC,KAAA,EAAOC,UAAA;IACrB,IAAIC,eAAA,GAAkB;IAEtB,MAAM;MAAEC,SAAS;MAAEC,IAAI;MAAEC;IAAU,CAAE,GAAGtC,aAAA,CAAc;MACpDiC,KAAA;MACAM,KAAA,EAAOL,UAAA;MACPhB,eAAA,EAAiB,UAAUe,KAAA,GAAQ,KAAKf,eAAA;MACxCE,UAAA;MACAC;IACF;IAEA,IAAI,CAACO,mBAAA,EAAqB;MACxB,IAAI;QACFO,eAAA,GAAkBK,OAAA,CAChB,CAACP,KAAA,EAAOQ,KAAA,EAAOC,SAAA,GACXF,OAAA,CAAQP,KAAA,CAAMQ,KAAK,CAACC,SAAS,CAAC5B,QAAA,IAAY,CAAC,GAAGL,IAAA,IAAQ,CAAC,GAAG;UAAEkC,IAAA,EAAMhB,GAAA,CAAIgB;QAAK,MAC3E,IAAG,KAAMxB,qBAAA;MAEjB,EAAE,OAAOyB,GAAA,EAAK;QACZT,eAAA,GAAkB;QAElBR,GAAA,CAAIkB,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;UACvBH,GAAA;UACAI,GAAA,EAAK,6CAA6CX,IAAA;QACpD;MACF;IACF;IAEAN,QAAA,CAASkB,IAAI,CACXhD,oBAAA,CAAqB;MACnBE,EAAA;MACAC,oBAAA,EAAsBC,uBAAA;MACtBC,kBAAA;MACAC,oBAAA;MACAC,cAAA;MACAC,IAAA;MACAwB,KAAA;MACAC,UAAA;MACAvB,cAAA;MACAC,MAAA;MACAC,cAAA;MACAC,QAAA;MACAC,aAAA;MACAqB,SAAA;MACApB,WAAA;MACAC,SAAA;MACAC,eAAA;MACAE,UAAA;MACA8B,iBAAA,EAAmB5B,WAAA;MACnBD,gBAAA;MACAc,eAAA;MACAE,IAAA;MACAd,WAAA;MACAC,iBAAA;MACAC,eAAA;MACAC,aAAA;MACAC,GAAA;MACAW,UAAA;MACAV,mBAAA;MACAC,cAAA;MACAC;IACF;EAEJ;EAEA,MAAMqB,OAAA,CAAQC,GAAG,CAACrB,QAAA;AACpB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AA2T7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAkU7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
@@ -88,6 +88,10 @@ const DocumentInfo = ({
88
88
  const [currentEditor, setCurrentEditor] = useState(currentEditorFromProps);
89
89
  const [lastUpdateTime, setLastUpdateTime] = useState(lastUpdateTimeFromProps);
90
90
  const [savedDocumentData, setSavedDocumentData] = useState(initialData);
91
+ const [uploadStatus, setUploadStatus] = useState('idle');
92
+ const updateUploadStatus = useCallback(status => {
93
+ setUploadStatus(status);
94
+ }, []);
91
95
  const isInitializing = initialState === undefined || initialData === undefined;
92
96
  const {
93
97
  getPreference,
@@ -279,11 +283,13 @@ const DocumentInfo = ({
279
283
  setLastUpdateTime,
280
284
  setMostRecentVersionIsAutosaved,
281
285
  setUnpublishedVersionCount,
286
+ setUploadStatus: updateUploadStatus,
282
287
  title: documentTitle,
283
288
  unlockDocument,
284
289
  unpublishedVersionCount,
285
290
  updateDocumentEditor,
286
291
  updateSavedDocumentData,
292
+ uploadStatus,
287
293
  versionCount
288
294
  };
289
295
  return /*#__PURE__*/_jsx(Context.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","useAuth","requests","formatDocTitle","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","savedDocumentData","setSavedDocumentData","isInitializing","undefined","getPreference","setPreference","code","locale","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","query","request","get","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","user","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","versions","Math","min","maxPerDoc","max","updateSavedDocumentData","re1","current","abort","_err","action","useMemo","docURL","params","depth","addQueryPrefix","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n DocumentPreferences,\n SanitizedDocumentPermissions,\n} from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] =\n useState<SanitizedDocumentPermissions>(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useState<boolean | undefined>(isLockedFromProps)\n const [currentEditor, setCurrentEditor] = useState<ClientUser | null>(currentEditorFromProps)\n const [lastUpdateTime, setLastUpdateTime] = useState<number>(lastUpdateTimeFromProps)\n const [savedDocumentData, setSavedDocumentData] = useState(initialData)\n\n const isInitializing = initialState === undefined || initialData === undefined\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n if (collectionConfig && collectionConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, collectionConfig.versions.maxPerDoc))\n } else if (globalConfig && globalConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, globalConfig.versions.max))\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n const updateSavedDocumentData = React.useCallback<DocumentInfoContext['updateSavedDocumentData']>(\n (json) => {\n setSavedDocumentData(json)\n },\n [],\n )\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...savedDocumentData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n title: documentTitle,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData,\n versionCount,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","useAuth","requests","formatDocTitle","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","savedDocumentData","setSavedDocumentData","uploadStatus","setUploadStatus","updateUploadStatus","status","isInitializing","undefined","getPreference","setPreference","code","locale","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","query","request","get","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","user","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","versions","Math","min","maxPerDoc","max","updateSavedDocumentData","re1","current","abort","_err","action","useMemo","docURL","params","depth","addQueryPrefix","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n DocumentPreferences,\n SanitizedDocumentPermissions,\n} from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] =\n useState<SanitizedDocumentPermissions>(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useState<boolean | undefined>(isLockedFromProps)\n const [currentEditor, setCurrentEditor] = useState<ClientUser | null>(currentEditorFromProps)\n const [lastUpdateTime, setLastUpdateTime] = useState<number>(lastUpdateTimeFromProps)\n const [savedDocumentData, setSavedDocumentData] = useState(initialData)\n const [uploadStatus, setUploadStatus] = useState<'failed' | 'idle' | 'uploading'>('idle')\n\n const updateUploadStatus = useCallback((status: 'failed' | 'idle' | 'uploading') => {\n setUploadStatus(status)\n }, [])\n\n const isInitializing = initialState === undefined || initialData === undefined\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n if (collectionConfig && collectionConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, collectionConfig.versions.maxPerDoc))\n } else if (globalConfig && globalConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, globalConfig.versions.max))\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n const updateSavedDocumentData = React.useCallback<DocumentInfoContext['updateSavedDocumentData']>(\n (json) => {\n setSavedDocumentData(json)\n },\n [],\n )\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...savedDocumentData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n setUploadStatus: updateUploadStatus,\n title: documentTitle,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData,\n uploadStatus,\n versionCount,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -49,10 +49,13 @@ export type DocumentInfoContext = {
49
49
  setLastUpdateTime: React.Dispatch<React.SetStateAction<number>>;
50
50
  setMostRecentVersionIsAutosaved: React.Dispatch<React.SetStateAction<boolean>>;
51
51
  setUnpublishedVersionCount: React.Dispatch<React.SetStateAction<number>>;
52
+ setUploadStatus?: (status: 'failed' | 'idle' | 'uploading') => void;
52
53
  title: string;
53
54
  unlockDocument: (docID: number | string, slug: string) => Promise<void>;
54
55
  unpublishedVersionCount: number;
55
56
  updateDocumentEditor: (docID: number | string, slug: string, user: ClientUser) => Promise<void>;
56
57
  updateSavedDocumentData: (data: Data) => void;
58
+ uploadStatus?: 'failed' | 'idle' | 'uploading';
59
+ versionCount: number;
57
60
  } & DocumentInfoProps;
58
61
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"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"}