@payloadcms/ui 4.0.0-canary.27 → 4.0.0-canary.29
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.
- package/dist/elements/AppHeader/index.js +1 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +2 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +2 -3
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +8 -9
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +2 -3
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/Dropzone/index.css +10 -4
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +2 -3
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +2 -3
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/FileManager/index.css +0 -30
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +379 -287
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +2 -3
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +2 -3
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +2 -3
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +1 -1
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +1 -1
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +8 -30
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +5 -6
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +2 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/RestoreMany/index.d.ts.map +1 -1
- package/dist/elements/RestoreMany/index.js +2 -3
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +2 -3
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +2 -3
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +2 -3
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +2 -3
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +3 -4
- package/dist/elements/UnpublishButton/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +2 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.css +39 -32
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +37 -99
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
- package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
- package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.js +201 -0
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.css +31 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.js +62 -0
- package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +2 -3
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +2 -3
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.d.ts.map +1 -1
- package/dist/fields/FieldLabel/index.js +4 -5
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +2 -3
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +2 -3
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +46 -19
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/Input.spec.js +242 -0
- package/dist/fields/Upload/Input.spec.js.map +1 -0
- package/dist/fields/shared/index.d.ts +1 -1
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +2 -3
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.d.ts.map +1 -1
- package/dist/forms/NullifyField/index.js +2 -3
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +2 -3
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +2 -3
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts +1 -5
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +61 -139
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +2 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +5 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +15 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
- package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
- package/dist/utilities/getFilesFromClipboard.js +49 -0
- package/dist/utilities/getFilesFromClipboard.js.map +1 -0
- package/dist/utilities/getHasScheduledPublish.d.ts +2 -3
- package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
- package/dist/utilities/getHasScheduledPublish.js +2 -5
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.d.ts +8 -1
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +68 -4
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +2 -1
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +1 -0
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +2 -3
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +1 -2
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +3 -2
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +10 -13
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +12 -13
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.d.ts.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js +2 -3
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["isolateObjectProperty","logError","formatAdminURL","hasAutosaveEnabled","hasDraftsEnabled","React","DocumentHeader","RenderServerComponent","DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","LivePreviewProvider","buildFormState","getDocPreferences","getDocumentData","getDocumentPermissions","getHasScheduledPublish","getIsLocked","getVersions","handleLivePreview","handlePreview","isEditing","getIsEditing","getPreferences","NotFoundView","UnauthorizedViewWithGutter","getDocumentView","recordRecentlyViewed","renderDocumentSlots","renderDocument","disableActions","documentSubViewType","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","searchParams","versions","viewType","collectionConfig","docID","idFromArgs","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","doc","redirectURL","path","encodeURIComponent","server","redirect","Error","isTrashedDoc","Boolean","deletedAt","reqForPermissions","transactionID","reqForLockCheck","docPreferences","docPermissions","hasDeletePermission","hasPublishPermission","hasSavePermission","hasTrashPermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","recentlyViewedPromise","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","hasScheduledPublish","code","fallbackLocale","readOnly","renderAllFields","schemaPath","skipValidation","documentViewServerProps","routeSegments","collections","find","visibleSlug","globals","formattedParams","URLSearchParams","append","apiQueryParams","toString","apiURL","View","showHeader","RootViewOverride","components","views","edit","root","Component","shouldAutosave","validateDraftData","drafts","validate","create","depth","draft","documentSlots","Description","clientProps","isLivePreviewEnabled","livePreviewConfig","livePreviewURL","isPreviewEnabled","previewURL","Document","_jsx","initialState","isTrashed","_jsxs","breakpoints","isLivePreviewing","value","editViewType","openByDefault","typeofLivePreviewURL","url","AfterHeader","serverProps","DocumentView","props","RenderedDocument","error","message","startsWith","err","notFound"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Data,\n DocumentViewClientProps,\n DocumentViewServerProps,\n DocumentViewServerPropsOnly,\n EditViewComponent,\n PayloadComponent,\n RenderDocumentVersionsProperties,\n} from 'payload'\n\nimport { isolateObjectProperty, logError } from 'payload'\nimport { formatAdminURL, hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds */\nimport {\n DocumentInfoProvider,\n EditDepthProvider,\n HydrateAuthProvider,\n LivePreviewProvider,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { buildFormState } from '../../utilities/buildFormState.js'\nimport { getDocPreferences } from '../../utilities/getDocPreferences.js'\nimport { getDocumentData } from '../../utilities/getDocumentData.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\nimport { getHasScheduledPublish } from '../../utilities/getHasScheduledPublish.js'\nimport { getIsLocked } from '../../utilities/getIsLocked.js'\nimport { getVersions } from '../../utilities/getVersions.js'\nimport { handleLivePreview } from '../../utilities/handleLivePreview.js'\nimport { handlePreview } from '../../utilities/handlePreview.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { getPreferences } from '../../utilities/upsertPreferences.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { UnauthorizedViewWithGutter } from '../Unauthorized/index.js'\nimport { getDocumentView } from './getDocumentView.js'\nimport { recordRecentlyViewed } from './recordRecentlyViewed.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport { getDocumentView } from './getDocumentView.js'\n\nexport type ViewToRender =\n | EditViewComponent\n | PayloadComponent<DocumentViewServerProps>\n | React.FC\n | React.FC<DocumentViewClientProps>\n\n/**\n * This function is responsible for rendering\n * an Edit Document view on the server for both:\n * - default document edit views\n * - on-demand edit views within drawers\n */\nexport const renderDocument = async ({\n disableActions,\n documentSubViewType,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n searchParams,\n versions,\n viewType,\n}: {\n drawerSlug?: string\n overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n versions?: RenderDocumentVersionsProperties\n} & AdminViewServerProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: idFromArgs,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n let isEditing = getIsEditing({ id: idFromArgs, collectionSlug, globalSlug })\n\n // Fetch the doc required for the view\n let doc =\n !idFromArgs && !globalSlug\n ? initialData || null\n : await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n segments,\n user,\n })\n\n if (isEditing && !doc) {\n // If it's a collection document that doesn't exist, redirect to collection list\n if (collectionSlug) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?notFound=${encodeURIComponent(idFromArgs)}`,\n })\n req.server.redirect(redirectURL)\n } else {\n // For globals or other cases, keep the 404 behavior\n throw new Error('not-found')\n }\n }\n\n const isTrashedDoc = Boolean(doc && 'deletedAt' in doc && typeof doc?.deletedAt === 'string')\n\n // CRITICAL FIX FOR TRANSACTION RACE CONDITION:\n // When running parallel operations with Promise.all, if they share the same req object\n // and one operation calls initTransaction() which MUTATES req.transactionID, that mutation\n // is visible to all parallel operations. This causes:\n // 1. Operation A (e.g., getDocumentPermissions → docAccessOperation) calls initTransaction()\n // which sets req.transactionID = Promise, then resolves it to a UUID\n // 2. Operation B (e.g., getIsLocked) running in parallel receives the SAME req with the mutated transactionID\n // 3. Operation A (does not even know that Operation B even exists and is stil using the transactionID) commits/ends its transaction\n // 4. Operation B tries to use the now-expired session → MongoExpiredSessionError!\n //\n // Solution: Use isolateObjectProperty to create a Proxy that isolates the 'transactionID' property.\n // This allows each operation to have its own transactionID without affecting the parent req.\n // If parent req already has a transaction, preserve it (don't isolate), since this\n // issue only arises when one of the operations calls initTransaction() themselves -\n // because then, that operation will also try to commit/end the transaction itself.\n\n // If the transactionID is already set, the parallel operations will not try to\n // commit/end the transaction themselves, so we don't need to isolate the\n // transactionID property.\n const reqForPermissions = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n const reqForLockCheck = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n\n const [\n docPreferences,\n {\n docPermissions,\n hasDeletePermission,\n hasPublishPermission,\n hasSavePermission,\n hasTrashPermission,\n },\n { currentEditor, isLocked, lastUpdateTime },\n entityPreferences,\n ] = await Promise.all([\n // Get document preferences\n getDocPreferences({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions - isolated transactionID prevents cross-contamination\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req: reqForPermissions,\n }),\n\n // Fetch document lock state - isolated transactionID prevents cross-contamination\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req: reqForLockCheck,\n }),\n\n // get entity preferences\n getPreferences<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n payload,\n req.user.id,\n req.user.collection,\n ),\n ])\n\n const operation = (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create'\n\n // Record the document as recently viewed (collections only, never on the create route or for\n // trashed docs). Runs concurrently with the work below and never throws.\n const recentlyViewedPromise =\n collectionSlug && idFromArgs && doc && !isTrashedDoc\n ? recordRecentlyViewed({ id: idFromArgs, collectionSlug, req })\n : undefined\n\n const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\n hasScheduledPublish,\n ] = await Promise.all([\n getVersions({\n id: idFromArgs,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id: idFromArgs,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n fallbackLocale: false,\n globalSlug,\n locale: locale?.code,\n operation,\n readOnly: isTrashedDoc || isLocked,\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n skipValidation: true,\n }),\n getHasScheduledPublish({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n hasPublishPermission,\n payload,\n user,\n }),\n ])\n\n await recentlyViewedPromise\n\n const documentViewServerProps: DocumentViewServerPropsOnly = {\n doc,\n hasPublishedDoc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n server: req.server,\n user,\n versions,\n }\n\n if (\n !overrideEntityVisibility &&\n ((collectionSlug &&\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) ||\n (globalSlug && !visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)))\n ) {\n throw new Error('not-found')\n }\n\n const formattedParams = new URLSearchParams()\n\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n formattedParams.append('draft', 'true')\n }\n\n if (locale?.code) {\n formattedParams.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${formattedParams.toString()}`\n\n const apiURL = formatAdminURL({\n apiRoute,\n path: collectionSlug\n ? `/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n : globalSlug\n ? `/${globalSlug}${apiQueryParams}`\n : '',\n })\n\n let View: ViewToRender = null\n\n let showHeader = true\n\n const RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (RootViewOverride) {\n View = RootViewOverride\n showHeader = false\n } else {\n ;({ View } = getDocumentView({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n }))\n\n if (View === UnauthorizedViewWithGutter) {\n showHeader = false\n }\n }\n\n if (!View) {\n View = NotFoundView as React.FC<AdminViewServerProps>\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave = hasSavePermission && hasAutosaveEnabled(collectionConfig || globalConfig)\n\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n let id = idFromArgs\n\n if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {\n doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n id = doc.id\n isEditing = getIsEditing({ id: doc.id, collectionSlug, globalSlug })\n\n if (!drawerSlug && redirectAfterCreate !== false) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n })\n\n req.server.redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n id,\n collectionConfig,\n doc: doc as Record<string, unknown>,\n globalConfig,\n hasSavePermission,\n locale,\n permissions,\n req,\n })\n\n // Extract Description from documentSlots to pass to DocumentHeader\n const { Description } = documentSlots\n\n const clientProps: DocumentViewClientProps = {\n formState,\n ...documentSlots,\n documentSubViewType,\n viewType,\n }\n\n const { isLivePreviewEnabled, livePreviewConfig, livePreviewURL } = await handleLivePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n const { isPreviewEnabled, previewURL } = await handlePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n return {\n data: doc,\n Document: (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n currentEditor={currentEditor}\n disableActions={disableActions ?? false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasDeletePermission={hasDeletePermission}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n hasScheduledPublish={hasScheduledPublish}\n hasTrashPermission={hasTrashPermission}\n id={id}\n initialData={doc}\n initialState={formState}\n isEditing={isEditing}\n isLocked={isLocked}\n isTrashed={isTrashedDoc}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterCreate={redirectAfterCreate}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <LivePreviewProvider\n breakpoints={livePreviewConfig?.breakpoints}\n isLivePreviewEnabled={isLivePreviewEnabled && operation !== 'create'}\n isLivePreviewing={Boolean(\n (entityPreferences?.value?.editViewType === undefined\n ? livePreviewConfig?.openByDefault\n : entityPreferences.value.editViewType === 'live-preview') && livePreviewURL,\n )}\n isPreviewEnabled={Boolean(isPreviewEnabled)}\n previewURL={previewURL}\n typeofLivePreviewURL={typeof livePreviewConfig?.url as 'function' | 'string' | undefined}\n url={livePreviewURL}\n >\n {showHeader && !drawerSlug && (\n <DocumentHeader\n AfterHeader={Description}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n permissions={permissions}\n req={req}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {RenderServerComponent({\n clientProps,\n Component: View,\n importMap,\n serverProps: documentViewServerProps,\n })}\n </EditDepthProvider>\n </LivePreviewProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport async function DocumentView(props: AdminViewServerProps) {\n try {\n const { Document: RenderedDocument } = await renderDocument(props)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n\n // The TanStack adapter's `req.server.redirect()` throws `redirect:<url>` as a\n // control-flow signal — the target is already recorded on `req.server` and\n // honored upstream in `loadAdminPage`. It isn't a real error, so swallow it\n // without logging, mirroring the `NEXT_REDIRECT` guard above.\n if (error?.message?.startsWith('redirect:')) {\n return\n }\n\n logError({ err: error, payload: props.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n props.initPageResult.req.server.notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["isolateObjectProperty","logError","formatAdminURL","hasAutosaveEnabled","hasDraftsEnabled","React","DocumentHeader","RenderServerComponent","DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","LivePreviewProvider","buildFormState","getDocPreferences","getDocumentData","getDocumentPermissions","getHasScheduledPublish","getIsLocked","getVersions","handleLivePreview","handlePreview","isEditing","getIsEditing","getPreferences","NotFoundView","UnauthorizedViewWithGutter","getDocumentView","recordRecentlyViewed","renderDocumentSlots","renderDocument","disableActions","documentSubViewType","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","searchParams","versions","viewType","collectionConfig","docID","idFromArgs","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","doc","redirectURL","path","encodeURIComponent","server","redirect","Error","isTrashedDoc","Boolean","deletedAt","reqForPermissions","transactionID","reqForLockCheck","docPreferences","docPermissions","hasDeletePermission","hasPublishPermission","hasSavePermission","hasTrashPermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","recentlyViewedPromise","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","hasScheduledPublish","code","fallbackLocale","readOnly","renderAllFields","schemaPath","skipValidation","documentViewServerProps","routeSegments","collections","find","visibleSlug","globals","formattedParams","URLSearchParams","append","apiQueryParams","toString","apiURL","View","showHeader","RootViewOverride","components","views","edit","root","Component","shouldAutosave","validateDraftData","drafts","validate","create","depth","draft","documentSlots","Description","clientProps","isLivePreviewEnabled","livePreviewConfig","livePreviewURL","isPreviewEnabled","previewURL","Document","_jsx","initialState","isTrashed","_jsxs","breakpoints","isLivePreviewing","value","editViewType","openByDefault","typeofLivePreviewURL","url","AfterHeader","serverProps","DocumentView","props","RenderedDocument","error","message","startsWith","err","notFound"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Data,\n DocumentViewClientProps,\n DocumentViewServerProps,\n DocumentViewServerPropsOnly,\n EditViewComponent,\n PayloadComponent,\n RenderDocumentVersionsProperties,\n} from 'payload'\n\nimport { isolateObjectProperty, logError } from 'payload'\nimport { formatAdminURL, hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds */\nimport {\n DocumentInfoProvider,\n EditDepthProvider,\n HydrateAuthProvider,\n LivePreviewProvider,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { buildFormState } from '../../utilities/buildFormState.js'\nimport { getDocPreferences } from '../../utilities/getDocPreferences.js'\nimport { getDocumentData } from '../../utilities/getDocumentData.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\nimport { getHasScheduledPublish } from '../../utilities/getHasScheduledPublish.js'\nimport { getIsLocked } from '../../utilities/getIsLocked.js'\nimport { getVersions } from '../../utilities/getVersions.js'\nimport { handleLivePreview } from '../../utilities/handleLivePreview.js'\nimport { handlePreview } from '../../utilities/handlePreview.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { getPreferences } from '../../utilities/upsertPreferences.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { UnauthorizedViewWithGutter } from '../Unauthorized/index.js'\nimport { getDocumentView } from './getDocumentView.js'\nimport { recordRecentlyViewed } from './recordRecentlyViewed.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport { getDocumentView } from './getDocumentView.js'\n\nexport type ViewToRender =\n | EditViewComponent\n | PayloadComponent<DocumentViewServerProps>\n | React.FC\n | React.FC<DocumentViewClientProps>\n\n/**\n * This function is responsible for rendering\n * an Edit Document view on the server for both:\n * - default document edit views\n * - on-demand edit views within drawers\n */\nexport const renderDocument = async ({\n disableActions,\n documentSubViewType,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n searchParams,\n versions,\n viewType,\n}: {\n drawerSlug?: string\n overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n versions?: RenderDocumentVersionsProperties\n} & AdminViewServerProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: idFromArgs,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n let isEditing = getIsEditing({ id: idFromArgs, collectionSlug, globalSlug })\n\n // Fetch the doc required for the view\n let doc =\n !idFromArgs && !globalSlug\n ? initialData || null\n : await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n segments,\n user,\n })\n\n if (isEditing && !doc) {\n // If it's a collection document that doesn't exist, redirect to collection list\n if (collectionSlug) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?notFound=${encodeURIComponent(idFromArgs)}`,\n })\n req.server.redirect(redirectURL)\n } else {\n // For globals or other cases, keep the 404 behavior\n throw new Error('not-found')\n }\n }\n\n const isTrashedDoc = Boolean(doc && 'deletedAt' in doc && typeof doc?.deletedAt === 'string')\n\n // CRITICAL FIX FOR TRANSACTION RACE CONDITION:\n // When running parallel operations with Promise.all, if they share the same req object\n // and one operation calls initTransaction() which MUTATES req.transactionID, that mutation\n // is visible to all parallel operations. This causes:\n // 1. Operation A (e.g., getDocumentPermissions → docAccessOperation) calls initTransaction()\n // which sets req.transactionID = Promise, then resolves it to a UUID\n // 2. Operation B (e.g., getIsLocked) running in parallel receives the SAME req with the mutated transactionID\n // 3. Operation A (does not even know that Operation B even exists and is stil using the transactionID) commits/ends its transaction\n // 4. Operation B tries to use the now-expired session → MongoExpiredSessionError!\n //\n // Solution: Use isolateObjectProperty to create a Proxy that isolates the 'transactionID' property.\n // This allows each operation to have its own transactionID without affecting the parent req.\n // If parent req already has a transaction, preserve it (don't isolate), since this\n // issue only arises when one of the operations calls initTransaction() themselves -\n // because then, that operation will also try to commit/end the transaction itself.\n\n // If the transactionID is already set, the parallel operations will not try to\n // commit/end the transaction themselves, so we don't need to isolate the\n // transactionID property.\n const reqForPermissions = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n const reqForLockCheck = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n\n const [\n docPreferences,\n {\n docPermissions,\n hasDeletePermission,\n hasPublishPermission,\n hasSavePermission,\n hasTrashPermission,\n },\n { currentEditor, isLocked, lastUpdateTime },\n entityPreferences,\n ] = await Promise.all([\n // Get document preferences\n getDocPreferences({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions - isolated transactionID prevents cross-contamination\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req: reqForPermissions,\n }),\n\n // Fetch document lock state - isolated transactionID prevents cross-contamination\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req: reqForLockCheck,\n }),\n\n // get entity preferences\n getPreferences<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n payload,\n req.user.id,\n req.user.collection,\n ),\n ])\n\n const operation = (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create'\n\n // Record the document as recently viewed (collections only, never on the create route or for\n // trashed docs). Runs concurrently with the work below and never throws.\n const recentlyViewedPromise =\n collectionSlug && idFromArgs && doc && !isTrashedDoc\n ? recordRecentlyViewed({ id: idFromArgs, collectionSlug, req })\n : undefined\n\n const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\n hasScheduledPublish,\n ] = await Promise.all([\n getVersions({\n id: idFromArgs,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id: idFromArgs,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n fallbackLocale: false,\n globalSlug,\n locale: locale?.code,\n operation,\n readOnly: isTrashedDoc || isLocked,\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n skipValidation: true,\n }),\n getHasScheduledPublish({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n hasPublishPermission,\n payload,\n }),\n ])\n\n await recentlyViewedPromise\n\n const documentViewServerProps: DocumentViewServerPropsOnly = {\n doc,\n hasPublishedDoc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n server: req.server,\n user,\n versions,\n }\n\n if (\n !overrideEntityVisibility &&\n ((collectionSlug &&\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) ||\n (globalSlug && !visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)))\n ) {\n throw new Error('not-found')\n }\n\n const formattedParams = new URLSearchParams()\n\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n formattedParams.append('draft', 'true')\n }\n\n if (locale?.code) {\n formattedParams.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${formattedParams.toString()}`\n\n const apiURL = formatAdminURL({\n apiRoute,\n path: collectionSlug\n ? `/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n : globalSlug\n ? `/${globalSlug}${apiQueryParams}`\n : '',\n })\n\n let View: ViewToRender = null\n\n let showHeader = true\n\n const RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (RootViewOverride) {\n View = RootViewOverride\n showHeader = false\n } else {\n ;({ View } = getDocumentView({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n }))\n\n if (View === UnauthorizedViewWithGutter) {\n showHeader = false\n }\n }\n\n if (!View) {\n View = NotFoundView as React.FC<AdminViewServerProps>\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave = hasSavePermission && hasAutosaveEnabled(collectionConfig || globalConfig)\n\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n let id = idFromArgs\n\n if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {\n doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n id = doc.id\n isEditing = getIsEditing({ id: doc.id, collectionSlug, globalSlug })\n\n if (!drawerSlug && redirectAfterCreate !== false) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n })\n\n req.server.redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n id,\n collectionConfig,\n doc: doc as Record<string, unknown>,\n globalConfig,\n hasSavePermission,\n locale,\n permissions,\n req,\n })\n\n // Extract Description from documentSlots to pass to DocumentHeader\n const { Description } = documentSlots\n\n const clientProps: DocumentViewClientProps = {\n formState,\n ...documentSlots,\n documentSubViewType,\n viewType,\n }\n\n const { isLivePreviewEnabled, livePreviewConfig, livePreviewURL } = await handleLivePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n const { isPreviewEnabled, previewURL } = await handlePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n return {\n data: doc,\n Document: (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n currentEditor={currentEditor}\n disableActions={disableActions ?? false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasDeletePermission={hasDeletePermission}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n hasScheduledPublish={hasScheduledPublish}\n hasTrashPermission={hasTrashPermission}\n id={id}\n initialData={doc}\n initialState={formState}\n isEditing={isEditing}\n isLocked={isLocked}\n isTrashed={isTrashedDoc}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterCreate={redirectAfterCreate}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <LivePreviewProvider\n breakpoints={livePreviewConfig?.breakpoints}\n isLivePreviewEnabled={isLivePreviewEnabled && operation !== 'create'}\n isLivePreviewing={Boolean(\n (entityPreferences?.value?.editViewType === undefined\n ? livePreviewConfig?.openByDefault\n : entityPreferences.value.editViewType === 'live-preview') && livePreviewURL,\n )}\n isPreviewEnabled={Boolean(isPreviewEnabled)}\n previewURL={previewURL}\n typeofLivePreviewURL={typeof livePreviewConfig?.url as 'function' | 'string' | undefined}\n url={livePreviewURL}\n >\n {showHeader && !drawerSlug && (\n <DocumentHeader\n AfterHeader={Description}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n permissions={permissions}\n req={req}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {RenderServerComponent({\n clientProps,\n Component: View,\n importMap,\n serverProps: documentViewServerProps,\n })}\n </EditDepthProvider>\n </LivePreviewProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport async function DocumentView(props: AdminViewServerProps) {\n try {\n const { Document: RenderedDocument } = await renderDocument(props)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n\n // The TanStack adapter's `req.server.redirect()` throws `redirect:<url>` as a\n // control-flow signal — the target is already recorded on `req.server` and\n // honored upstream in `loadAdminPage`. It isn't a real error, so swallow it\n // without logging, mirroring the `NEXT_REDIRECT` guard above.\n if (error?.message?.startsWith('redirect:')) {\n return\n }\n\n logError({ err: error, payload: props.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n props.initPageResult.req.server.notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/SetDocumentTitle/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AASvF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAClC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/SetDocumentTitle/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AASvF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAClC,CAuCA,CAAA"}
|
|
@@ -69,7 +69,10 @@ export const SetDocumentTitle = props => {
|
|
|
69
69
|
hasInitialized.current = true;
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
const animationFrame = requestAnimationFrame(() => {
|
|
73
|
+
setDocumentTitle(title);
|
|
74
|
+
});
|
|
75
|
+
return () => cancelAnimationFrame(animationFrame);
|
|
73
76
|
};
|
|
74
77
|
t4 = [setDocumentTitle, title];
|
|
75
78
|
$[10] = setDocumentTitle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useEffect","useRef","useFormFields","useDocumentTitle","useTranslation","formatDocTitle","SetDocumentTitle","props","$","collectionConfig","config","fallback","globalConfig","useAsTitle","admin","t0","t1","fields","field","hasInitialized","i18n","setDocumentTitle","dateFormatFromConfig","dateFormat","value","t2","data","id","title","t3","t4","current"],"sources":["../../../../src/views/Edit/SetDocumentTitle/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig } from 'payload'\n\nimport { useEffect, useRef } from 'react'\n\nimport { useFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatDocTitle } from '../../../utilities/formatDocTitle/index.js'\n\nexport const SetDocumentTitle: React.FC<{\n collectionConfig?: ClientCollectionConfig\n config?: ClientConfig\n fallback: string\n globalConfig?: ClientGlobalConfig\n}> = (props) => {\n const { collectionConfig, config, fallback, globalConfig } = props\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n const field = useFormFields(([fields]) => (useAsTitle && fields && fields?.[useAsTitle]) || null)\n\n const hasInitialized = useRef(false)\n\n const { i18n } = useTranslation()\n\n const { setDocumentTitle } = useDocumentTitle()\n\n const dateFormatFromConfig = config?.admin?.dateFormat\n\n const title = formatDocTitle({\n collectionConfig,\n data: { id: '', [useAsTitle]: field?.value || '' },\n dateFormat: dateFormatFromConfig,\n fallback,\n globalConfig,\n i18n,\n })\n\n useEffect(() => {\n if (!hasInitialized.current) {\n hasInitialized.current = true\n return\n }\n\n setDocumentTitle(title)\n }, [setDocumentTitle, title])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAElC,SAASC,aAAa,QAAQ;AAC9B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,gBAAA,GAKRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,gBAAA;IAAAC,MAAA;IAAAC,QAAA;IAAAC;EAAA,IAA6DL,KAAA;EAE7D,MAAAM,UAAA,GAAmBJ,gBAAA,EAAAK,KAAA,EAAAD,UAAA;EAAyB,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAK,UAAA;IAEhBE,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,IAAAD,EAAQ;MAAA,OAAKH,UAAC,IAAcI,MAAA,IAAUA,MAAA,GAASJ,UAAA,CAAW,QAAK;IAAA;IAAAL,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA5F,MAAAU,KAAA,GAAchB,aAAA,CAAca,EAAgE;EAE5F,MAAAI,cAAA,GAAuBlB,MAAA,MAAO;EAE9B;IAAAmB;EAAA,IAAiBhB,cAAA;EAEjB;IAAAiB;EAAA,IAA6BlB,gBAAA;EAE7B,MAAAmB,oBAAA,GAA6BZ,MAAA,EAAAI,KAAA,EAAAS,UAAA;EAIG,MAAAP,EAAA,GAAAE,KAAA,EAAAM,KAAA,IAAgB;EAAA,IAAAC,EAAA;EAAA,IAAAjB,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAc,oBAAA,IAAAd,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAY,IAAA,IAAAZ,CAAA,QAAAQ,EAAA,IAAAR,CAAA,QAAAK,UAAA;IAFlCY,EAAA,GAAApB,cAAA;MAAAI,gBAAA;MAAAiB,IAAA;QAAAC,EAAA,EAEA;QAAA,CAAKd,UAAA,GAAaG;MAAgB;MAAAO,UAAA,EAClCD,oBAAA;MAAAX,QAAA;MAAAC,YAAA;MAAAQ;IAAA,CAId;IAAAZ,CAAA,MAAAC,gBAAA;IAAAD,CAAA,MAAAc,oBAAA;IAAAd,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAY,IAAA;IAAAZ,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAPA,MAAAoB,KAAA,GAAcH,EAOd;EAAA,IAAAI,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAtB,CAAA,SAAAa,gBAAA,IAAAb,CAAA,SAAAoB,KAAA;IAEUC,EAAA,GAAAA,CAAA;MAAA,KACHV,cAAA,CAAAY,OAAA;QACHZ,cAAA,CAAAY,OAAA;QAAA;MAAA;
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useEffect","useRef","useFormFields","useDocumentTitle","useTranslation","formatDocTitle","SetDocumentTitle","props","$","collectionConfig","config","fallback","globalConfig","useAsTitle","admin","t0","t1","fields","field","hasInitialized","i18n","setDocumentTitle","dateFormatFromConfig","dateFormat","value","t2","data","id","title","t3","t4","current","animationFrame","requestAnimationFrame","cancelAnimationFrame"],"sources":["../../../../src/views/Edit/SetDocumentTitle/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig } from 'payload'\n\nimport { useEffect, useRef } from 'react'\n\nimport { useFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatDocTitle } from '../../../utilities/formatDocTitle/index.js'\n\nexport const SetDocumentTitle: React.FC<{\n collectionConfig?: ClientCollectionConfig\n config?: ClientConfig\n fallback: string\n globalConfig?: ClientGlobalConfig\n}> = (props) => {\n const { collectionConfig, config, fallback, globalConfig } = props\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n const field = useFormFields(([fields]) => (useAsTitle && fields && fields?.[useAsTitle]) || null)\n\n const hasInitialized = useRef(false)\n\n const { i18n } = useTranslation()\n\n const { setDocumentTitle } = useDocumentTitle()\n\n const dateFormatFromConfig = config?.admin?.dateFormat\n\n const title = formatDocTitle({\n collectionConfig,\n data: { id: '', [useAsTitle]: field?.value || '' },\n dateFormat: dateFormatFromConfig,\n fallback,\n globalConfig,\n i18n,\n })\n\n useEffect(() => {\n if (!hasInitialized.current) {\n hasInitialized.current = true\n return\n }\n\n // Coalesce rapid field changes before updating the title and step navigation contexts.\n const animationFrame = requestAnimationFrame(() => {\n setDocumentTitle(title)\n })\n\n return () => cancelAnimationFrame(animationFrame)\n }, [setDocumentTitle, title])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAElC,SAASC,aAAa,QAAQ;AAC9B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,gBAAA,GAKRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,gBAAA;IAAAC,MAAA;IAAAC,QAAA;IAAAC;EAAA,IAA6DL,KAAA;EAE7D,MAAAM,UAAA,GAAmBJ,gBAAA,EAAAK,KAAA,EAAAD,UAAA;EAAyB,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAK,UAAA;IAEhBE,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,IAAAD,EAAQ;MAAA,OAAKH,UAAC,IAAcI,MAAA,IAAUA,MAAA,GAASJ,UAAA,CAAW,QAAK;IAAA;IAAAL,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA5F,MAAAU,KAAA,GAAchB,aAAA,CAAca,EAAgE;EAE5F,MAAAI,cAAA,GAAuBlB,MAAA,MAAO;EAE9B;IAAAmB;EAAA,IAAiBhB,cAAA;EAEjB;IAAAiB;EAAA,IAA6BlB,gBAAA;EAE7B,MAAAmB,oBAAA,GAA6BZ,MAAA,EAAAI,KAAA,EAAAS,UAAA;EAIG,MAAAP,EAAA,GAAAE,KAAA,EAAAM,KAAA,IAAgB;EAAA,IAAAC,EAAA;EAAA,IAAAjB,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAc,oBAAA,IAAAd,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAY,IAAA,IAAAZ,CAAA,QAAAQ,EAAA,IAAAR,CAAA,QAAAK,UAAA;IAFlCY,EAAA,GAAApB,cAAA;MAAAI,gBAAA;MAAAiB,IAAA;QAAAC,EAAA,EAEA;QAAA,CAAKd,UAAA,GAAaG;MAAgB;MAAAO,UAAA,EAClCD,oBAAA;MAAAX,QAAA;MAAAC,YAAA;MAAAQ;IAAA,CAId;IAAAZ,CAAA,MAAAC,gBAAA;IAAAD,CAAA,MAAAc,oBAAA;IAAAd,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAY,IAAA;IAAAZ,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAPA,MAAAoB,KAAA,GAAcH,EAOd;EAAA,IAAAI,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAtB,CAAA,SAAAa,gBAAA,IAAAb,CAAA,SAAAoB,KAAA;IAEUC,EAAA,GAAAA,CAAA;MAAA,KACHV,cAAA,CAAAY,OAAA;QACHZ,cAAA,CAAAY,OAAA;QAAA;MAAA;MAKF,MAAAC,cAAA,GAAuBC,qBAAA;QACrBZ,gBAAA,CAAiBO,KAAA;MAAA,CACnB;MAAA,aAEaM,oBAAA,CAAqBF,cAAA;IAAA;IACjCF,EAAA,IAACT,gBAAA,EAAkBO,KAAA;IAAMpB,CAAA,OAAAa,gBAAA;IAAAb,CAAA,OAAAoB,KAAA;IAAApB,CAAA,OAAAqB,EAAA;IAAArB,CAAA,OAAAsB,EAAA;EAAA;IAAAD,EAAA,GAAArB,CAAA;IAAAsB,EAAA,GAAAtB,CAAA;EAAA;EAZ5BR,SAAA,CAAU6B,EAYV,EAAGC,EAAyB;EAAA;AAAA,CAG9B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAQ,MAAM,SAAS,CAAA;AAG5D,OAAO,KAA4D,MAAM,OAAO,CAAA;AAsChF,OAAO,aAAa,CAAA;AAKpB,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAKD,wBAAgB,eAAe,CAAC,EAC9B,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EACN,eAAe,EACf,MAAM,EAAE,YAAY,EACpB,cAAc,EACd,iBAAiB,GAClB,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Edit/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAQ,MAAM,SAAS,CAAA;AAG5D,OAAO,KAA4D,MAAM,OAAO,CAAA;AAsChF,OAAO,aAAa,CAAA;AAKpB,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAKD,wBAAgB,eAAe,CAAC,EAC9B,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,WAAW,EAAE,iBAAiB,EAC9B,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EACN,eAAe,EACf,MAAM,EAAE,YAAY,EACpB,cAAc,EACd,iBAAiB,GAClB,EAAE,uBAAuB,qBAqxBzB"}
|
package/dist/views/Edit/index.js
CHANGED
|
@@ -379,7 +379,7 @@ export function DefaultEditView({
|
|
|
379
379
|
// Check for stale data on first edit only
|
|
380
380
|
// Skip this check entirely for autosave-enabled collections/globals to prevent
|
|
381
381
|
// false positives from the user's own autosaves
|
|
382
|
-
const checkForStaleData = !hasCheckedForStaleDataRef.current && originalUpdatedAtRef.current && operation === 'update' && !autosaveEnabled;
|
|
382
|
+
const checkForStaleData = !hasCheckedForStaleDataRef.current && originalUpdatedAtRef.current && operation === 'update' && !isTrashed && !autosaveEnabled;
|
|
383
383
|
if (checkForStaleData) {
|
|
384
384
|
hasCheckedForStaleDataRef.current = true;
|
|
385
385
|
}
|
|
@@ -394,6 +394,7 @@ export function DefaultEditView({
|
|
|
394
394
|
globalSlug,
|
|
395
395
|
operation,
|
|
396
396
|
originalUpdatedAt: checkForStaleData ? originalUpdatedAtRef.current : undefined,
|
|
397
|
+
readOnly: isTrashed || isReadOnlyForIncomingUser,
|
|
397
398
|
renderAllFields: false,
|
|
398
399
|
returnLockStatus: isLockingEnabled,
|
|
399
400
|
schemaPath: schemaPathSegments.join('.'),
|
|
@@ -420,7 +421,7 @@ export function DefaultEditView({
|
|
|
420
421
|
}
|
|
421
422
|
abortOnChangeRef.current = null;
|
|
422
423
|
return state_0;
|
|
423
|
-
}, [data?.updatedAt, editSessionStartTime, isLockingEnabled, getDocPreferences, getFormState, id, collectionSlug, docPermissions, globalSlug, operation, schemaPathSegments, handleDocumentLocking, autosaveEnabled]);
|
|
424
|
+
}, [data?.updatedAt, editSessionStartTime, isLockingEnabled, getDocPreferences, getFormState, id, collectionSlug, docPermissions, globalSlug, operation, schemaPathSegments, handleDocumentLocking, autosaveEnabled, isTrashed, isReadOnlyForIncomingUser]);
|
|
424
425
|
// Clean up when the component unmounts or when the document is unlocked
|
|
425
426
|
useEffect(() => {
|
|
426
427
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["formatAdminURL","hasAutosaveEnabled","React","useCallback","useEffect","useMemo","useRef","useState","toast","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentStaleData","DocumentTakeOver","FileManager","LeaveWithoutSaving","LivePreviewWindow","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouter","useSearchParams","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","PENDING_SUCCESS_TOAST_KEY","DefaultEditView","BeforeDocumentControls","BeforeDocumentMeta","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","UnpublishButton","Upload","CustomUpload","UploadControls","UploadFilePreview","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","isPopupOpen","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","showStaleDataModal","setShowStaleDataModal","editSessionStartTime","setEditSessionStartTime","Date","now","hasCheckedForStaleDataRef","originalUpdatedAtRef","updatedAt","saveCounterRef","isSavingRef","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handleStaleDataReload","refresh","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","toISOString","message","window","sessionStorage","setItem","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","file","onChange","prevFormState","submitted","saveCounterAtStart","isSavingAtStart","currentTime","timeSinceLastUpdate","updateLastEdited","checkForStaleData","originalUpdatedAt","staleDataState","isStale","abortOnChange","abortOnSave","pendingMessage","getItem","removeItem","success","shouldShowDocumentLockedModal","isFolderCollection","hierarchy","allowHasMany","documentControlsProps","customComponents","onDrawerCreateNew","onTakeOver","documentLockStateRef","isWithinDoc","permissions","readOnlyForIncomingUser","renderAuth","_jsx","className","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","shouldRenderUploadPanel","hideFileInputOnCreate","shouldScrollFieldsOnly","filter","_jsxs","disabled","disableSuccessStatus","disableValidationOnSubmit","isDocumentForm","method","onSubmit","onSuccess","actions","variant","AfterHeader","renderTitleAsLink","isActive","onReadOnly","onReload","modalSlug","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","_Fragment","fields","forceSidebarWrap","uploadConfig"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DocumentViewClientProps, User } from 'payload'\n\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentStaleData } from '../../elements/DocumentStaleData/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { FileManager } from '../../elements/FileManager/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { LivePreviewWindow } from '../../elements/LivePreview/Window/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-edit'\nconst PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast'\n\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n BeforeDocumentMeta,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n Upload: CustomUpload,\n UploadControls,\n UploadFilePreview,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = hasAutosaveEnabled(docConfig)\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n const [showStaleDataModal, setShowStaleDataModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const hasCheckedForStaleDataRef = useRef(false)\n const originalUpdatedAtRef = useRef(data?.updatedAt)\n const saveCounterRef = useRef(0)\n const isSavingRef = useRef(false)\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.current?.user\n\n if (lockedState && lockedState.user) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as User,\n }\n setCurrentEditor(lockedState.user as User)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handleStaleDataReload = useCallback(() => {\n // Reset modal state so it can appear again if needed\n setShowStaleDataModal(false)\n\n // Refresh to get the latest data\n router.refresh()\n }, [router])\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n setLastUpdateTime(new Date(updatedAt).getTime())\n\n // Update stale data check refs after successful save\n // This allows detecting if another user modifies the document after this save\n originalUpdatedAtRef.current = updatedAt\n hasCheckedForStaleDataRef.current = false\n isSavingRef.current = false\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Store success message to show after redirect\n if (json.message && typeof window !== 'undefined') {\n window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message)\n }\n\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // For upload collections, clear the file field from the returned state\n // to prevent the File object from persisting in form state after save\n if (upload && state) {\n delete state.file\n }\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n user,\n collectionSlug,\n userSlug,\n id,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n typeofLivePreviewURL,\n isPreviewEnabled,\n schemaPathSegments,\n upload,\n isLockingEnabled,\n reportUpdate,\n drawerSlug,\n entitySlug,\n setDocumentIsLocked,\n setLivePreviewURL,\n setPreviewURL,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n // Capture save state before the async form-state request so we can detect\n // if a save was triggered while this request was in-flight\n const saveCounterAtStart = saveCounterRef.current\n const isSavingAtStart = isSavingRef.current\n\n // Sync originalUpdatedAt with current data if it's NEWER (e.g., after router.refresh())\n if (data?.updatedAt && data.updatedAt > originalUpdatedAtRef.current) {\n originalUpdatedAtRef.current = data.updatedAt\n // Reset check flag so we can detect new stale data\n hasCheckedForStaleDataRef.current = false\n }\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n // Check for stale data on first edit only\n // Skip this check entirely for autosave-enabled collections/globals to prevent\n // false positives from the user's own autosaves\n const checkForStaleData =\n !hasCheckedForStaleDataRef.current &&\n originalUpdatedAtRef.current &&\n operation === 'update' &&\n !autosaveEnabled\n\n if (checkForStaleData) {\n hasCheckedForStaleDataRef.current = true\n }\n\n const docPreferences = await getDocPreferences()\n\n const result = await getFormState({\n id,\n checkForStaleData,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n originalUpdatedAt: checkForStaleData ? originalUpdatedAtRef.current : undefined,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, staleDataState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n // Handle stale data detection.\n // Skip if a save was in-flight when this request started, or if the save counter\n // has advanced — either way the newer updatedAt is from our OWN save.\n if (\n staleDataState?.isStale &&\n !isSavingAtStart &&\n saveCounterRef.current === saveCounterAtStart\n ) {\n setShowStaleDataModal(true)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n data?.updatedAt,\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n autosaveEnabled,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\n }, [])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n // Show pending success toast after redirect from create\n useEffect(() => {\n if (!isInitializing && typeof window !== 'undefined') {\n const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY)\n\n if (pendingMessage) {\n window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY)\n toast.success(pendingMessage)\n }\n }\n }, [isInitializing])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = Boolean(\n collectionConfig?.hierarchy &&\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy.allowHasMany === false,\n )\n\n const documentControlsProps: Omit<React.ComponentProps<typeof DocumentControls>, 'variant'> = {\n id,\n slug: collectionConfig?.slug || globalConfig?.slug,\n apiURL,\n BeforeDocumentControls,\n BeforeDocumentMeta,\n customComponents: {\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n },\n data,\n disableActions: disableActions || isTrashed,\n disableCreate,\n EditMenuItems,\n hasPublishPermission,\n hasSavePermission,\n isEditing,\n isInDrawer,\n isTrashed,\n onDelete,\n onDrawerCreateNew: clearDoc,\n onDuplicate,\n onRestore,\n onSave,\n onTakeOver: () => {\n void handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n },\n permissions: docPermissions,\n readOnlyForIncomingUser: isReadOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n user: currentEditor,\n }\n\n const renderAuth = auth ? (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n ) : undefined\n\n const shouldRenderUploadPanel =\n Boolean(upload) && !(operation === 'create' && upload.hideFileInputOnCreate)\n const shouldScrollFieldsOnly = shouldRenderUploadPanel\n\n return (\n <main\n className={[\n baseClass,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableSuccessStatus={!isEditing && depth < 2 && redirectAfterCreate !== false}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSubmit={() => {\n saveCounterRef.current += 1\n isSavingRef.current = true\n }}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n actions={\n <DocumentControls {...documentControlsProps} variant=\"drawerHeaderActions\" />\n }\n AfterHeader={Description}\n BeforeDocumentMeta={BeforeDocumentMeta}\n drawerSlug={drawerSlug}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n renderTitleAsLink={!isFolderCollection}\n Status={Status}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router, serverURL })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router, serverURL })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {showStaleDataModal && (\n <DocumentStaleData isActive={showStaleDataModal} onReload={handleStaleDataReload} />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving\n modalSlug={drawerSlug ? `leave-without-saving-${drawerSlug}` : undefined}\n onConfirm={handleLeaveConfirm}\n onPrevent={handlePrevent}\n />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n {!isInDrawer && <DocumentControls {...documentControlsProps} variant=\"default\" />}\n <div\n className={[\n `${baseClass}__main-wrapper`,\n shouldRenderUploadPanel && `${baseClass}__main-wrapper--has-upload-panel`,\n shouldScrollFieldsOnly && `${baseClass}__main-wrapper--scroll-fields-only`,\n isPopupOpen && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[`${baseClass}__main`, isPopupOpen && `${baseClass}__main--popup-open`]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n renderAuth || BeforeFields ? (\n <>\n {renderAuth}\n {BeforeFields}\n </>\n ) : null\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={shouldRenderUploadPanel || isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {shouldRenderUploadPanel && (\n <UploadControlsProvider>\n {CustomUpload || (\n <FileManager\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n UploadFilePreview={UploadFilePreview}\n />\n )}\n </UploadControlsProvider>\n )}\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["formatAdminURL","hasAutosaveEnabled","React","useCallback","useEffect","useMemo","useRef","useState","toast","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentStaleData","DocumentTakeOver","FileManager","LeaveWithoutSaving","LivePreviewWindow","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","useLivePreviewContext","usePreviewURL","OperationProvider","useRouteCache","useRouter","useSearchParams","useRouteTransition","useServerFunctions","UploadControlsProvider","useUploadEdits","abortAndIgnore","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","PENDING_SUCCESS_TOAST_KEY","DefaultEditView","BeforeDocumentControls","BeforeDocumentMeta","Description","EditMenuItems","LivePreview","CustomLivePreview","PreviewButton","PublishButton","SaveButton","SaveDraftButton","Status","UnpublishButton","Upload","CustomUpload","UploadControls","UploadFilePreview","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","data","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","documentLockState","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","isLocked","isTrashed","lastUpdateTime","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","setCurrentEditor","setData","setDocumentIsLocked","setLastUpdateTime","unlockDocument","updateDocumentEditor","clearDoc","drawerSlug","onDelete","onDuplicate","onRestore","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","serverURL","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","startRouteTransition","clearRouteCache","isLivePreviewEnabled","isLivePreviewing","isPopupOpen","setURL","setLivePreviewURL","typeofLivePreviewURL","url","livePreviewURL","isPreviewEnabled","setPreviewURL","abortOnChangeRef","abortOnSaveRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","showStaleDataModal","setShowStaleDataModal","editSessionStartTime","setEditSessionStartTime","Date","now","hasCheckedForStaleDataRef","originalUpdatedAtRef","updatedAt","saveCounterRef","isSavingRef","lockExpiryTime","isLockExpired","preventLeaveWithoutSaving","schemaPathSegments","validateBeforeSubmit","setValidateBeforeSubmit","disableLocalStrategy","nextHrefRef","handleDocumentLocking","lockedState","previousOwnerID","current","lockedUserID","hasShownLockedModal","lastEditedAt","getTime","handleStaleDataReload","refresh","handlePrevent","nextHref","handleLeaveConfirm","lockUser","isLockOwnedByCurrentUser","nextPath","URL","pathname","isInternalView","some","path","includes","err","console","error","json","ctx","context","formState","controller","document","doc","result","toISOString","message","window","sessionStorage","setItem","redirectRoute","push","docPreferences","previewURL","state","renderAllFields","returnLivePreviewURL","returnLockStatus","returnPreviewURL","schemaPath","join","signal","skipValidation","file","onChange","prevFormState","submitted","saveCounterAtStart","isSavingAtStart","currentTime","timeSinceLastUpdate","updateLastEdited","checkForStaleData","originalUpdatedAt","readOnly","staleDataState","isStale","abortOnChange","abortOnSave","pendingMessage","getItem","removeItem","success","shouldShowDocumentLockedModal","isFolderCollection","hierarchy","allowHasMany","documentControlsProps","customComponents","onDrawerCreateNew","onTakeOver","documentLockStateRef","isWithinDoc","permissions","readOnlyForIncomingUser","renderAuth","_jsx","className","email","loginWithUsername","requirePassword","useAPIKey","username","verify","shouldRenderUploadPanel","hideFileInputOnCreate","shouldScrollFieldsOnly","filter","_jsxs","disabled","disableSuccessStatus","disableValidationOnSubmit","isDocumentForm","method","onSubmit","onSuccess","actions","variant","AfterHeader","renderTitleAsLink","isActive","onReadOnly","onReload","modalSlug","onConfirm","onPrevent","pluralLabel","labels","plural","useAsTitle","fallback","toString","_Fragment","fields","forceSidebarWrap","uploadConfig"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DocumentViewClientProps, User } from 'payload'\n\nimport { formatAdminURL, hasAutosaveEnabled } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { FormOnSuccess } from '../../forms/Form/types.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentStaleData } from '../../elements/DocumentStaleData/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { FileManager } from '../../elements/FileManager/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { LivePreviewWindow } from '../../elements/LivePreview/Window/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLivePreviewContext, usePreviewURL } from '../../providers/LivePreview/context.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useRouter, useSearchParams } from '../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { UploadControlsProvider } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.css'\n\nconst baseClass = 'collection-edit'\nconst PENDING_SUCCESS_TOAST_KEY = 'payload-pending-success-toast'\n\nexport type OnSaveContext = {\n getDocPermissions?: boolean\n incrementVersionCount?: boolean\n}\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport function DefaultEditView({\n BeforeDocumentControls,\n BeforeDocumentMeta,\n Description,\n EditMenuItems,\n LivePreview: CustomLivePreview,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n Upload: CustomUpload,\n UploadControls,\n UploadFilePreview,\n}: DocumentViewClientProps) {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n data,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n documentLockState,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n isLocked,\n isTrashed,\n lastUpdateTime,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n setCurrentEditor,\n setData,\n setDocumentIsLocked,\n setLastUpdateTime,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onRestore,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n const { startRouteTransition } = useRouteTransition()\n const { clearRouteCache } = useRouteCache()\n const {\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n setURL: setLivePreviewURL,\n typeofLivePreviewURL,\n url: livePreviewURL,\n } = useLivePreviewContext()\n const { isPreviewEnabled, setPreviewURL } = usePreviewURL()\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const autosaveEnabled = hasAutosaveEnabled(docConfig)\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n const [showStaleDataModal, setShowStaleDataModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const hasCheckedForStaleDataRef = useRef(false)\n const originalUpdatedAtRef = useRef(data?.updatedAt)\n const saveCounterRef = useRef(0)\n const isSavingRef = useRef(false)\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n const isLockExpired = Date.now() > lockExpiryTime\n\n const preventLeaveWithoutSaving =\n !isReadOnlyForIncomingUser &&\n (typeof disableLeaveWithoutSaving !== 'undefined'\n ? !disableLeaveWithoutSaving\n : !autosaveEnabled)\n\n const schemaPathSegments = useMemo(() => [entitySlug], [entitySlug])\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const nextHrefRef = React.useRef<null | string>(null)\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\n const previousOwnerID =\n typeof documentLockState.current?.user === 'object'\n ? documentLockState.current?.user?.id\n : documentLockState.current?.user\n\n if (lockedState && lockedState.user) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockState.current || lockedUserID !== previousOwnerID) {\n if (previousOwnerID === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockState.current.hasShownLockedModal = true\n }\n\n documentLockState.current = {\n hasShownLockedModal: documentLockState.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as User,\n }\n setCurrentEditor(lockedState.user as User)\n }\n\n // Update lastUpdateTime when lock state changes\n if (lockedState.lastEditedAt) {\n setLastUpdateTime(new Date(lockedState.lastEditedAt).getTime())\n }\n }\n },\n [documentLockState, setCurrentEditor, setDocumentIsLocked, setLastUpdateTime, user?.id],\n )\n\n const handleStaleDataReload = useCallback(() => {\n // Reset modal state so it can appear again if needed\n setShowStaleDataModal(false)\n\n // Refresh to get the latest data\n router.refresh()\n }, [router])\n\n const handlePrevent = useCallback((nextHref: null | string) => {\n nextHrefRef.current = nextHref\n }, [])\n\n const handleLeaveConfirm = useCallback(async () => {\n const lockUser = documentLockState.current?.user\n\n const isLockOwnedByCurrentUser =\n typeof lockUser === 'object' ? lockUser?.id === user?.id : lockUser === user?.id\n\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Check where user is trying to go\n const nextPath = nextHrefRef.current ? new URL(nextHrefRef.current).pathname : ''\n const isInternalView = ['/preview', '/api', '/versions'].some((path) =>\n nextPath.includes(path),\n )\n\n // Remove the lock if the user is navigating away from the document view they have locked\n if (isLockOwnedByCurrentUser && !isInternalView) {\n try {\n await unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n } catch (err) {\n console.error('Failed to unlock before leave', err) // eslint-disable-line no-console\n }\n }\n }\n }, [\n collectionSlug,\n documentIsLocked,\n documentLockState,\n globalSlug,\n id,\n isLockingEnabled,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n user?.id,\n ])\n\n const onSave: FormOnSuccess<any, OnSaveContext> = useCallback(\n async (json, ctx) => {\n const { context, formState } = ctx || {}\n\n const controller = handleAbortRef(abortOnSaveRef)\n\n const document = json?.doc || json?.result\n\n const updatedAt = document?.updatedAt || new Date().toISOString()\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n setLastUpdateTime(new Date(updatedAt).getTime())\n\n // Update stale data check refs after successful save\n // This allows detecting if another user modifies the document after this save\n originalUpdatedAtRef.current = updatedAt\n hasCheckedForStaleDataRef.current = false\n isSavingRef.current = false\n\n if (context?.incrementVersionCount !== false) {\n incrementVersionCount()\n }\n\n if (typeof setData === 'function') {\n void setData(document || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n const operation = id ? 'update' : 'create'\n\n void onSaveFromContext({\n ...(json as Record<string, unknown>),\n context,\n operation,\n // @ts-expect-error todo: this is not right, should be under `doc`?\n updatedAt:\n operation === 'update'\n ? new Date().toISOString()\n : document?.updatedAt || new Date().toISOString(),\n })\n }\n\n if (!isEditing && depth < 2 && redirectAfterCreate !== false) {\n // Store success message to show after redirect\n if (json.message && typeof window !== 'undefined') {\n window.sessionStorage.setItem(PENDING_SUCCESS_TOAST_KEY, json.message)\n }\n\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${document?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n\n if (context?.getDocPermissions !== false) {\n await getDocPermissions(json)\n }\n\n if (id || globalSlug) {\n const docPreferences = await getDocPreferences()\n\n const { livePreviewURL, previewURL, state } = await getFormState({\n id,\n collectionSlug,\n data: document,\n docPermissions,\n docPreferences,\n formState,\n globalSlug,\n operation,\n renderAllFields: false,\n returnLivePreviewURL: isLivePreviewEnabled && typeofLivePreviewURL === 'function',\n returnLockStatus: false,\n returnPreviewURL: isPreviewEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: true,\n })\n\n // For upload collections, clear the file field from the returned state\n // to prevent the File object from persisting in form state after save\n if (upload && state) {\n delete state.file\n }\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (isLivePreviewEnabled && typeofLivePreviewURL === 'function') {\n setLivePreviewURL(livePreviewURL)\n }\n\n if (isPreviewEnabled) {\n setPreviewURL(previewURL)\n }\n\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'update',\n updatedAt,\n })\n\n abortOnSaveRef.current = null\n\n return state\n } else {\n reportUpdate({\n id,\n doc: document,\n drawerSlug,\n entitySlug,\n operation: 'create',\n updatedAt,\n })\n }\n },\n [\n user,\n collectionSlug,\n userSlug,\n id,\n setLastUpdateTime,\n setData,\n onSaveFromContext,\n isEditing,\n depth,\n redirectAfterCreate,\n globalSlug,\n refreshCookieAsync,\n incrementVersionCount,\n adminRoute,\n locale,\n startRouteTransition,\n router,\n resetUploadEdits,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n docPermissions,\n operation,\n isLivePreviewEnabled,\n typeofLivePreviewURL,\n isPreviewEnabled,\n schemaPathSegments,\n upload,\n isLockingEnabled,\n reportUpdate,\n drawerSlug,\n entitySlug,\n setDocumentIsLocked,\n setLivePreviewURL,\n setPreviewURL,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n // Capture save state before the async form-state request so we can detect\n // if a save was triggered while this request was in-flight\n const saveCounterAtStart = saveCounterRef.current\n const isSavingAtStart = isSavingRef.current\n\n // Sync originalUpdatedAt with current data if it's NEWER (e.g., after router.refresh())\n if (data?.updatedAt && data.updatedAt > originalUpdatedAtRef.current) {\n originalUpdatedAtRef.current = data.updatedAt\n // Reset check flag so we can detect new stale data\n hasCheckedForStaleDataRef.current = false\n }\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n // Check for stale data on first edit only\n // Skip this check entirely for autosave-enabled collections/globals to prevent\n // false positives from the user's own autosaves\n const checkForStaleData =\n !hasCheckedForStaleDataRef.current &&\n originalUpdatedAtRef.current &&\n operation === 'update' &&\n !isTrashed &&\n !autosaveEnabled\n\n if (checkForStaleData) {\n hasCheckedForStaleDataRef.current = true\n }\n\n const docPreferences = await getDocPreferences()\n\n const result = await getFormState({\n id,\n checkForStaleData,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n originalUpdatedAt: checkForStaleData ? originalUpdatedAtRef.current : undefined,\n readOnly: isTrashed || isReadOnlyForIncomingUser,\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n skipValidation: !submitted,\n updateLastEdited,\n })\n\n if (!result) {\n return\n }\n\n const { lockedState, staleDataState, state } = result\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n // Handle stale data detection.\n // Skip if a save was in-flight when this request started, or if the save counter\n // has advanced — either way the newer updatedAt is from our OWN save.\n if (\n staleDataState?.isStale &&\n !isSavingAtStart &&\n saveCounterRef.current === saveCounterAtStart\n ) {\n setShowStaleDataModal(true)\n }\n\n abortOnChangeRef.current = null\n\n return state\n },\n [\n data?.updatedAt,\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPathSegments,\n handleDocumentLocking,\n autosaveEnabled,\n isTrashed,\n isReadOnlyForIncomingUser,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n setShowTakeOverModal(false)\n }\n }, [])\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\n }\n }, [])\n\n // Show pending success toast after redirect from create\n useEffect(() => {\n if (!isInitializing && typeof window !== 'undefined') {\n const pendingMessage = window.sessionStorage.getItem(PENDING_SUCCESS_TOAST_KEY)\n\n if (pendingMessage) {\n window.sessionStorage.removeItem(PENDING_SUCCESS_TOAST_KEY)\n toast.success(pendingMessage)\n }\n }\n }, [isInitializing])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n !documentLockState.current?.hasShownLockedModal &&\n !isLockExpired\n\n const isFolderCollection = Boolean(\n collectionConfig?.hierarchy &&\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy.allowHasMany === false,\n )\n\n const documentControlsProps: Omit<React.ComponentProps<typeof DocumentControls>, 'variant'> = {\n id,\n slug: collectionConfig?.slug || globalConfig?.slug,\n apiURL,\n BeforeDocumentControls,\n BeforeDocumentMeta,\n customComponents: {\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Status,\n UnpublishButton,\n },\n data,\n disableActions: disableActions || isTrashed,\n disableCreate,\n EditMenuItems,\n hasPublishPermission,\n hasSavePermission,\n isEditing,\n isInDrawer,\n isTrashed,\n onDelete,\n onDrawerCreateNew: clearDoc,\n onDuplicate,\n onRestore,\n onSave,\n onTakeOver: () => {\n void handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: true,\n setCurrentEditor,\n setIsReadOnlyForIncomingUser,\n updateDocumentEditor,\n user,\n })\n },\n permissions: docPermissions,\n readOnlyForIncomingUser: isReadOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n user: currentEditor,\n }\n\n const renderAuth = auth ? (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={data?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n // eslint-disable-next-line react-compiler/react-compiler\n useAPIKey={auth.useAPIKey}\n username={data?.username}\n verify={auth.verify}\n />\n ) : undefined\n\n const shouldRenderUploadPanel =\n Boolean(upload) && !(operation === 'create' && upload.hideFileInputOnCreate)\n const shouldScrollFieldsOnly = shouldRenderUploadPanel\n\n return (\n <main\n className={[\n baseClass,\n (id || globalSlug) && `${baseClass}--is-editing`,\n globalSlug && `global-edit--${globalSlug}`,\n collectionSlug && `collection-edit--${collectionSlug}`,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission || isTrashed}\n disableSuccessStatus={!isEditing && depth < 2 && redirectAfterCreate !== false}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isDocumentForm={true}\n isInitializing={isInitializing}\n key={`${isLocked}`}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSubmit={() => {\n saveCounterRef.current += 1\n isSavingRef.current = true\n }}\n onSuccess={onSave}\n >\n {isInDrawer && (\n <DocumentDrawerHeader\n actions={\n <DocumentControls {...documentControlsProps} variant=\"drawerHeaderActions\" />\n }\n AfterHeader={Description}\n BeforeDocumentMeta={BeforeDocumentMeta}\n drawerSlug={drawerSlug}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n renderTitleAsLink={!isFolderCollection}\n Status={Status}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && shouldShowDocumentLockedModal && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router, serverURL })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver({\n id,\n clearRouteCache,\n collectionSlug,\n documentLockStateRef: documentLockState,\n globalSlug,\n isLockingEnabled,\n isWithinDoc: false,\n setCurrentEditor,\n updateDocumentEditor,\n user,\n })\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router, serverURL })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {showStaleDataModal && (\n <DocumentStaleData isActive={showStaleDataModal} onReload={handleStaleDataReload} />\n )}\n {preventLeaveWithoutSaving && (\n <LeaveWithoutSaving\n modalSlug={drawerSlug ? `leave-without-saving-${drawerSlug}` : undefined}\n onConfirm={handleLeaveConfirm}\n onPrevent={handlePrevent}\n />\n )}\n {!isInDrawer && (\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n isTrashed={isTrashed}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n {!isInDrawer && <DocumentControls {...documentControlsProps} variant=\"default\" />}\n <div\n className={[\n `${baseClass}__main-wrapper`,\n shouldRenderUploadPanel && `${baseClass}__main-wrapper--has-upload-panel`,\n shouldScrollFieldsOnly && `${baseClass}__main-wrapper--scroll-fields-only`,\n isPopupOpen && `${baseClass}--detached`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[`${baseClass}__main`, isPopupOpen && `${baseClass}__main--popup-open`]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n renderAuth || BeforeFields ? (\n <>\n {renderAuth}\n {BeforeFields}\n </>\n ) : null\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n forceSidebarWrap={shouldRenderUploadPanel || isLivePreviewing}\n isTrashed={isTrashed}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission || isTrashed}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </div>\n {shouldRenderUploadPanel && (\n <UploadControlsProvider>\n {CustomUpload || (\n <FileManager\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n UploadControls={UploadControls}\n UploadFilePreview={UploadFilePreview}\n />\n )}\n </UploadControlsProvider>\n )}\n {isLivePreviewEnabled && !isInDrawer && livePreviewURL && (\n <>\n {CustomLivePreview || (\n <LivePreviewWindow collectionSlug={collectionSlug} globalSlug={globalSlug} />\n )}\n </>\n )}\n </div>\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAW9B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;IAC1C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CA8GA,CAAA"}
|
|
@@ -7,10 +7,9 @@ import { useEffect } from 'react';
|
|
|
7
7
|
import { useStepNav } from '../../../elements/StepNav/index.js';
|
|
8
8
|
import { useConfig } from '../../../providers/Config/index.js';
|
|
9
9
|
import { useDocumentTitle } from '../../../providers/DocumentTitle/index.js';
|
|
10
|
-
import { useLocale } from '../../../providers/Locale/index.js';
|
|
11
10
|
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
12
11
|
export const SetStepNav = t0 => {
|
|
13
|
-
const $ = _c(
|
|
12
|
+
const $ = _c(23);
|
|
14
13
|
const {
|
|
15
14
|
id,
|
|
16
15
|
collectionConfig,
|
|
@@ -29,7 +28,6 @@ export const SetStepNav = t0 => {
|
|
|
29
28
|
i18n,
|
|
30
29
|
t
|
|
31
30
|
} = useTranslation();
|
|
32
|
-
const locale = useLocale();
|
|
33
31
|
const {
|
|
34
32
|
title
|
|
35
33
|
} = useDocumentTitle();
|
|
@@ -115,23 +113,22 @@ export const SetStepNav = t0 => {
|
|
|
115
113
|
t1 = $[10];
|
|
116
114
|
}
|
|
117
115
|
let t2;
|
|
118
|
-
if ($[11] !== collectionConfig || $[12] !== config || $[13] !== globalConfig || $[14] !== i18n || $[15] !== id || $[16] !== isTrashed || $[17] !==
|
|
119
|
-
t2 = [config, setStepNav, id, isTrashed,
|
|
116
|
+
if ($[11] !== collectionConfig || $[12] !== config || $[13] !== globalConfig || $[14] !== i18n || $[15] !== id || $[16] !== isTrashed || $[17] !== setStepNav || $[18] !== t || $[19] !== title || $[20] !== versionToCreatedAtFormatted || $[21] !== versionToID) {
|
|
117
|
+
t2 = [config, setStepNav, id, isTrashed, t, i18n, collectionConfig, globalConfig, title, versionToCreatedAtFormatted, versionToID];
|
|
120
118
|
$[11] = collectionConfig;
|
|
121
119
|
$[12] = config;
|
|
122
120
|
$[13] = globalConfig;
|
|
123
121
|
$[14] = i18n;
|
|
124
122
|
$[15] = id;
|
|
125
123
|
$[16] = isTrashed;
|
|
126
|
-
$[17] =
|
|
127
|
-
$[18] =
|
|
128
|
-
$[19] =
|
|
129
|
-
$[20] =
|
|
130
|
-
$[21] =
|
|
131
|
-
$[22] =
|
|
132
|
-
$[23] = t2;
|
|
124
|
+
$[17] = setStepNav;
|
|
125
|
+
$[18] = t;
|
|
126
|
+
$[19] = title;
|
|
127
|
+
$[20] = versionToCreatedAtFormatted;
|
|
128
|
+
$[21] = versionToID;
|
|
129
|
+
$[22] = t2;
|
|
133
130
|
} else {
|
|
134
|
-
t2 = $[
|
|
131
|
+
t2 = $[22];
|
|
135
132
|
}
|
|
136
133
|
useEffect(t1, t2);
|
|
137
134
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetStepNav.js","names":["c","_c","getTranslation","formatAdminURL","useEffect","useStepNav","useConfig","useDocumentTitle","
|
|
1
|
+
{"version":3,"file":"SetStepNav.js","names":["c","_c","getTranslation","formatAdminURL","useEffect","useStepNav","useConfig","useDocumentTitle","useTranslation","SetStepNav","t0","$","id","collectionConfig","globalConfig","isTrashed","versionToCreatedAtFormatted","versionToID","config","setStepNav","i18n","t","title","t1","routes","t2","admin","adminRoute","collectionSlug","slug","pluralLabel","labels","plural","docBasePath","nav","label","url","path","push","undefined","globalSlug"],"sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\nimport type React from 'react'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport { useEffect } from 'react'\n\nimport { useStepNav } from '../../../elements/StepNav/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\n\nexport const SetStepNav: React.FC<{\n readonly collectionConfig?: ClientCollectionConfig\n readonly globalConfig?: ClientGlobalConfig\n readonly id?: number | string\n readonly isTrashed?: boolean\n versionToCreatedAtFormatted?: string\n versionToID?: string\n}> = ({\n id,\n collectionConfig,\n globalConfig,\n isTrashed,\n versionToCreatedAtFormatted,\n versionToID,\n}) => {\n const { config } = useConfig()\n const { setStepNav } = useStepNav()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentTitle()\n\n useEffect(() => {\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n const collectionSlug = collectionConfig.slug\n\n const pluralLabel = collectionConfig.labels?.plural\n\n const docBasePath: `/${string}` = isTrashed\n ? `/collections/${collectionSlug}/trash/${id}`\n : `/collections/${collectionSlug}/${id}`\n\n const nav = [\n {\n label: getTranslation(pluralLabel, i18n),\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n },\n ]\n\n if (isTrashed) {\n nav.push({\n label: t('general:trash'),\n url: formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/trash`,\n }),\n })\n }\n\n nav.push(\n {\n label: title,\n url: formatAdminURL({\n adminRoute,\n path: docBasePath,\n }),\n },\n {\n label: t('version:versions'),\n url: formatAdminURL({\n adminRoute,\n path: `${docBasePath}/versions`,\n }),\n },\n {\n label: versionToCreatedAtFormatted,\n url: undefined,\n },\n )\n\n setStepNav(nav)\n return\n }\n\n if (globalConfig) {\n const globalSlug = globalConfig.slug\n\n setStepNav([\n {\n label: globalConfig.label,\n url: formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n }),\n },\n {\n label: t('version:versions'),\n url: formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}/versions`,\n }),\n },\n {\n label: versionToCreatedAtFormatted,\n },\n ])\n }\n }, [\n config,\n setStepNav,\n id,\n isTrashed,\n t,\n i18n,\n collectionConfig,\n globalConfig,\n title,\n versionToCreatedAtFormatted,\n versionToID,\n ])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2E,MAAM,OAAO,CAAA;AAG/F,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAYzE,OAAO,aAAa,CAAA;AAQpB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2E,MAAM,OAAO,CAAA;AAG/F,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAYzE,OAAO,aAAa,CAAA;AAQpB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAmOjE,CAAA"}
|