@payloadcms/next 3.68.0-internal-debug.591ab42 → 3.68.0-internal-debug.e9b66ee
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/DocumentHeader/Tabs/Tab/TabLink.js +6 -21
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +20 -44
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +41 -73
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +1 -10
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.js +7 -45
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/FormHeader/index.js +4 -25
- package/dist/elements/FormHeader/index.js.map +1 -1
- package/dist/elements/Nav/NavHamburger/index.js +5 -21
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +10 -24
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.js +4 -27
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/index.client.js +43 -91
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.js +48 -100
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/layouts/Root/NestProviders.js +3 -12
- package/dist/layouts/Root/NestProviders.js.map +1 -1
- package/dist/layouts/Root/index.js +19 -84
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +5 -0
- package/dist/routes/rest/og/image.js +61 -97
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +1 -15
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/templates/Default/NavHamburger/index.js +1 -10
- package/dist/templates/Default/NavHamburger/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +9 -16
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.js +38 -106
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Minimal/index.js +3 -18
- package/dist/templates/Minimal/index.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +5 -15
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +59 -156
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.js +71 -215
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js +1 -7
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +8 -35
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js +3 -15
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/Settings/index.js +12 -58
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +19 -30
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.js +25 -83
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/BrowseByFolder/buildView.js +28 -38
- package/dist/views/BrowseByFolder/buildView.js.map +1 -1
- package/dist/views/CollectionFolders/buildView.js +35 -45
- package/dist/views/CollectionFolders/buildView.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +20 -75
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js +5 -36
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +94 -169
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +24 -43
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/index.js +14 -76
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/index.js +1 -9
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +57 -104
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +23 -75
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/index.js +31 -53
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.js +9 -21
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/Login/LoginField/index.js +23 -49
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +20 -68
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.js +33 -66
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +7 -36
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js +4 -26
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/index.client.js +15 -55
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.js +5 -33
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +12 -57
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/ResetPassword/index.js +23 -86
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/index.js +12 -52
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.js +15 -50
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Verify/index.js +10 -47
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/SelectedLocalesContext.js +1 -1
- package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
- package/dist/views/Version/Default/index.js +52 -258
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +16 -65
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +24 -66
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +5 -34
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +4 -17
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +10 -55
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +43 -128
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +23 -151
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +3 -16
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +4 -17
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +51 -122
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +4 -17
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +27 -176
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +1 -9
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/Restore/index.js +21 -61
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +16 -24
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +6 -37
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +10 -40
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +17 -33
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +17 -84
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Version/index.js +21 -63
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.js +9 -58
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +4 -31
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +7 -15
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +2 -9
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +20 -98
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +13 -59
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +10 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"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 {\n DocumentInfoProvider,\n EditDepthProvider,\n HydrateAuthProvider,\n LivePreviewProvider,\n} from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { handleLivePreview, handlePreview } from '@payloadcms/ui/rsc'\nimport { isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { isolateObjectProperty, logError } from 'payload'\nimport { formatAdminURL, hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getDocumentView } from './getDocumentView.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\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 serverURL,\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 serverURL,\n })\n 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 { docPermissions, hasPublishPermission, hasSavePermission },\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 const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\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 ])\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 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 = collectionSlug\n ? `${serverURL}${apiRoute}/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n : globalSlug\n ? `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\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\n if (!View) {\n View = NotFoundView\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 serverURL,\n })\n\n redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n id,\n collectionConfig,\n globalConfig,\n hasSavePermission,\n permissions: docPermissions,\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 hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\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 === '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 logError({ err: error, payload: props.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","LivePreviewProvider","RenderServerComponent","handleLivePreview","handlePreview","isEditing","getIsEditing","buildFormState","notFound","redirect","isolateObjectProperty","logError","formatAdminURL","hasAutosaveEnabled","hasDraftsEnabled","React","DocumentHeader","getPreferences","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getDocumentView","getIsLocked","getMetaBySegment","getVersions","renderDocumentSlots","generateMetadata","args","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","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","doc","redirectURL","path","encodeURIComponent","Error","isTrashedDoc","Boolean","deletedAt","reqForPermissions","transactionID","reqForLockCheck","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","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","initialState","isTrashed","breakpoints","isLivePreviewing","value","editViewType","typeofLivePreviewURL","url","AfterHeader","serverProps","DocumentView","props","RenderedDocument","error","message","err"],"mappings":";AAYA,SACEA,oBAAoB,EACpBC,iBAAiB,EACjBC,mBAAmB,EACnBC,mBAAmB,QACd,iBAAgB;AACvB,SAASC,qBAAqB,QAAQ,gDAA+C;AACrF,SAASC,iBAAiB,EAAEC,aAAa,QAAQ,qBAAoB;AACrE,SAASC,aAAaC,YAAY,QAAQ,wBAAuB;AACjE,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,qBAAoB;AACvD,SAASC,qBAAqB,EAAEC,QAAQ,QAAQ,UAAS;AACzD,SAASC,cAAc,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,iBAAgB;AACrF,OAAOC,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,yCAAwC;AACvE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,YAAY,QAAQ,uBAAsB;AACnD,SAASC,iBAAiB,QAAQ,yBAAwB;AAC1D,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,sBAAsB,QAAQ,8BAA6B;AACpE,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,SAASC,mBAAmB,QAAQ,2BAA0B;AAE9D,OAAO,MAAMC,mBAA6C,OAAOC,OAASJ,iBAAiBI,MAAK;AAQhG;;;;;CAKC,GACD,OAAO,MAAMC,iBAAiB,OAAO,EACnCC,cAAc,EACdC,mBAAmB,EACnBC,UAAU,EACVC,SAAS,EACTC,WAAW,EACXC,cAAc,EACdC,wBAAwB,EACxBC,MAAM,EACNC,mBAAmB,EACnBC,mBAAmB,EACnBC,sBAAsB,EACtBC,oBAAoB,EACpBC,YAAY,EACZC,QAAQ,EACRC,QAAQ,EASc;IAItB,MAAM,EACJC,gBAAgB,EAChBC,OAAOC,UAAU,EACjBC,YAAY,EACZC,MAAM,EACNC,WAAW,EACXC,GAAG,EACHA,KAAK,EACHC,IAAI,EACJC,OAAO,EACPA,SAAS,EACPC,MAAM,EACNA,QAAQ,EACNC,QAAQ,EAAEC,OAAOC,UAAU,EAAEC,KAAKC,QAAQ,EAAE,EAC5CC,SAAS,EACV,EACF,EACDC,IAAI,EACL,EACDC,eAAe,EAChB,GAAG3B;IAEJ,MAAM4B,WAAWC,MAAMC,OAAO,CAAC5B,QAAQ0B,YAAY1B,OAAO0B,QAAQ,GAAG,EAAE;IACvE,MAAMG,iBAAiBrB,kBAAkBsB,QAAQC;IACjD,MAAMC,aAAarB,cAAcmB,QAAQC;IACzC,IAAI/D,YAAYC,aAAa;QAAEgE,IAAIvB;QAAYmB;QAAgBG;IAAW;IAE1E,sCAAsC;IACtC,IAAIE,MACF,CAACxB,cAAc,CAACsB,aACZnC,eAAe,OACf,MAAMd,gBAAgB;QACpBkD,IAAIvB;QACJmB;QACAG;QACApB;QACAI;QACAF;QACAY;QACAF;IACF;IAEN,IAAIxD,aAAa,CAACkE,KAAK;QACrB,gFAAgF;QAChF,IAAIL,gBAAgB;YAClB,MAAMM,cAAc5D,eAAe;gBACjC6C;gBACAgB,MAAM,CAAC,aAAa,EAAEP,eAAe,UAAU,EAAEQ,mBAAmB3B,aAAa;gBACjFa;YACF;YACAnD,SAAS+D;QACX,OAAO;YACL,oDAAoD;YACpD,MAAM,IAAIG,MAAM;QAClB;IACF;IAEA,MAAMC,eAAeC,QAAQN,OAAO,eAAeA,OAAO,OAAOA,KAAKO,cAAc;IAEpF,+CAA+C;IAC/C,uFAAuF;IACvF,2FAA2F;IAC3F,sDAAsD;IACtD,6FAA6F;IAC7F,wEAAwE;IACxE,8GAA8G;IAC9G,oIAAoI;IACpI,kFAAkF;IAClF,EAAE;IACF,oGAAoG;IACpG,6FAA6F;IAC7F,mFAAmF;IACnF,oFAAoF;IACpF,mFAAmF;IAEnF,+EAA+E;IAC/E,yEAAyE;IACzE,0BAA0B;IAC1B,MAAMC,oBAAoB5B,IAAI6B,aAAa,GAAG7B,MAAMzC,sBAAsByC,KAAK;IAC/E,MAAM8B,kBAAkB9B,IAAI6B,aAAa,GAAG7B,MAAMzC,sBAAsByC,KAAK;IAE7E,MAAM,CACJ+B,gBACA,EAAEC,cAAc,EAAEC,oBAAoB,EAAEC,iBAAiB,EAAE,EAC3D,EAAEC,aAAa,EAAEC,QAAQ,EAAEC,cAAc,EAAE,EAC3CC,kBACD,GAAG,MAAMC,QAAQC,GAAG,CAAC;QACpB,2BAA2B;QAC3BxE,kBAAkB;YAChBmD,IAAIvB;YACJmB;YACAG;YACAhB;YACAQ;QACF;QAEA,wEAAwE;QACxExC,uBAAuB;YACrBiD,IAAIvB;YACJF;YACA+C,MAAMrB;YACNvB;YACAG,KAAK4B;QACP;QAEA,kFAAkF;QAClFxD,YAAY;YACV+C,IAAIvB;YACJF;YACAG;YACA3C;YACA8C,KAAK8B;QACP;QAEA,yBAAyB;QACzBhE,eACEiD,iBAAiB,CAAC,WAAW,EAAEA,gBAAgB,GAAG,CAAC,OAAO,EAAEG,YAAY,EACxEhB,SACAF,IAAIU,IAAI,CAACS,EAAE,EACXnB,IAAIU,IAAI,CAACgC,UAAU;KAEtB;IAED,MAAMC,YAAY,AAAC5B,kBAAkBnB,cAAesB,aAAa,WAAW;IAE5E,MAAM,CACJ,EAAE0B,eAAe,EAAEC,4BAA4B,EAAEC,uBAAuB,EAAEC,YAAY,EAAE,EACxF,EAAEC,OAAOC,SAAS,EAAE,CACrB,GAAG,MAAMV,QAAQC,GAAG,CAAC;QACpBlE,YAAY;YACV6C,IAAIvB;YACJF;YACA0B;YACAY;YACAnC;YACAC,QAAQA,QAAQoD;YAChBhD;YACAQ;QACF;QACAtD,eAAe;YACb+D,IAAIvB;YACJmB;YACA0B,MAAMrB;YACNY;YACAD;YACAoB,gBAAgB;YAChBjC;YACApB,QAAQA,QAAQoD;YAChBP;YACAS,UAAU3B,gBAAgBW;YAC1BiB,iBAAiB;YACjBrD;YACAsD,YAAYvC,kBAAkBG;YAC9BqC,gBAAgB;QAClB;KACD;IAED,MAAMC,0BAAuD;QAC3DpC;QACAwB;QACA3C;QACAjB;QACAc;QACAZ;QACAgB;QACAH;QACA0D,eAAe7C;QACfrB;QACAmB;QACAlB;IACF;IAEA,IACE,CAACP,4BACA,CAAA,AAAC8B,kBACA,CAACJ,iBAAiB+C,aAAaC,KAAK,CAACC,cAAgBA,gBAAgB7C,mBACpEG,cAAc,CAACP,iBAAiBkD,SAASF,KAAK,CAACC,cAAgBA,gBAAgB1C,WAAW,GAC7F;QACA,MAAM,IAAIM,MAAM;IAClB;IAEA,MAAMsC,kBAAkB,IAAIC;IAE5B,IAAIpG,iBAAiB+B,oBAAoBG,eAAe;QACtDiE,gBAAgBE,MAAM,CAAC,SAAS;IAClC;IAEA,IAAIlE,QAAQoD,MAAM;QAChBY,gBAAgBE,MAAM,CAAC,UAAUlE,OAAOoD,IAAI;IAC9C;IAEA,MAAMe,iBAAiB,CAAC,CAAC,EAAEH,gBAAgBI,QAAQ,IAAI;IAEvD,MAAMC,SAASpD,iBACX,GAAGN,YAAYD,SAAS,CAAC,EAAEO,eAAe,CAAC,EAAEnB,aAAaqE,gBAAgB,GAC1E/C,aACE,GAAGT,YAAYD,SAAS,CAAC,EAAEU,aAAa+C,gBAAgB,GACxD;IAEN,IAAIG,OAAqB;IAEzB,IAAIC,aAAa;IAEjB,MAAMC,mBACJ5E,kBAAkBW,OAAOkE,YAAYC,OAAOC,MAAMC,QAClD,eAAehF,iBAAiBW,KAAK,CAACkE,UAAU,CAACC,KAAK,CAACC,IAAI,CAACC,IAAI,GAC5DhF,kBAAkBW,OAAOkE,YAAYC,OAAOC,MAAMC,MAAMC,YACxD9E,cAAcQ,OAAOkE,YAAYC,OAAOC,MAAMC,QAC5C,eAAe7E,aAAaQ,KAAK,CAACkE,UAAU,CAACC,KAAK,CAACC,IAAI,CAACC,IAAI,GAC5D7E,cAAcQ,OAAOkE,YAAYC,OAAOC,MAAMC,MAAMC,YACpD;IAER,IAAIL,kBAAkB;QACpBF,OAAOE;QACPD,aAAa;IACf,OAAO;;QACH,CAAA,EAAED,IAAI,EAAE,GAAGjG,gBAAgB;YAC3BuB;YACAS;YACA6B;YACAnC;YACA4D,eAAe7C;QACjB,EAAC;IACH;IAEA,IAAI,CAACwD,MAAM;QACTA,OAAOrG;IACT;IAEA;;;GAGC,GACD,MAAM6G,iBAAiB1C,qBAAqBxE,mBAAmBgC,oBAAoBG;IAEnF,MAAMgF,oBACJnF,kBAAkBF,UAAUsF,UAAUpF,kBAAkBF,UAAUsF,QAAQC;IAE5E,IAAI5D,KAAKvB;IAET,IAAIgF,kBAAkB,CAACC,qBAAqB,CAACjF,cAAcmB,gBAAgB;QACzEK,MAAM,MAAMlB,QAAQ8E,MAAM,CAAC;YACzBtC,YAAY3B;YACZ0B,MAAM1D,eAAe,CAAC;YACtBkG,OAAO;YACPC,OAAO;YACP/B,gBAAgB;YAChBrD,QAAQA,QAAQoD;YAChBlD;YACAU;QACF;QAEA,IAAIU,KAAKD,IAAI;YACXA,KAAKC,IAAID,EAAE;YACXjE,YAAYC,aAAa;gBAAEgE,IAAIC,IAAID,EAAE;gBAAEJ;gBAAgBG;YAAW;YAElE,IAAI,CAACrC,cAAcM,wBAAwB,OAAO;gBAChD,MAAMkC,cAAc5D,eAAe;oBACjC6C;oBACAgB,MAAM,CAAC,aAAa,EAAEP,eAAe,CAAC,EAAEK,IAAID,EAAE,EAAE;oBAChDV;gBACF;gBAEAnD,SAAS+D;YACX;QACF,OAAO;YACL,MAAM,IAAIG,MAAM;QAClB;IACF;IAEA,MAAM2D,gBAAgB5G,oBAAoB;QACxC4C;QACAzB;QACAG;QACAqC;QACAnC,aAAaiC;QACbhC;IACF;IAEA,mEAAmE;IACnE,MAAM,EAAEoF,WAAW,EAAE,GAAGD;IAExB,MAAME,cAAuC;QAC3CpC;QACA,GAAGkC,aAAa;QAChBvG;QACAa;IACF;IAEA,MAAM,EAAE6F,oBAAoB,EAAEC,iBAAiB,EAAEC,cAAc,EAAE,GAAG,MAAMxI,kBAAkB;QAC1F+D;QACAZ;QACAsC,MAAMrB;QACNF;QACAyB;QACA3C;IACF;IAEA,MAAM,EAAEyF,gBAAgB,EAAEC,UAAU,EAAE,GAAG,MAAMzI,cAAc;QAC3D8D;QACAZ;QACAsC,MAAMrB;QACNF;QACAyB;QACA3C;IACF;IAEA,OAAO;QACLyC,MAAMrB;QACNuE,wBACE,QAAChJ;YACCwH,QAAQA;YACRpD,gBAAgBrB,kBAAkBsB;YAClCmB,eAAeA;YACfxD,gBAAgBA,kBAAkB;YAClCqD,gBAAgBA;YAChBd,YAAYrB,cAAcmB;YAC1B4B,iBAAiBA;YACjBX,sBAAsBA;YACtBC,mBAAmBA;YACnBf,IAAIA;YACJpC,aAAaqC;YACbwE,cAAc3C;YACd/F,WAAWA;YACXkF,UAAUA;YACVyD,WAAWpE;YAEXY,gBAAgBA;YAChBQ,8BAA8BA;YAC9B1D,qBAAqBA;YACrBC,qBAAqBA;YACrBC,wBAAwBA;YACxBC,sBAAsBA;YACtBwD,yBAAyBA;YACzBC,cAAcA;sBAEd,cAAA,QAACjG;gBACCgJ,aAAaP,mBAAmBO;gBAChCR,sBAAsBA,wBAAwB3C,cAAc;gBAC5DoD,kBAAkBrE,QAChBY,mBAAmB0D,OAAOC,iBAAiB,kBAAkBT;gBAE/DC,kBAAkB/D,QAAQ+D;gBAC1BC,YAAYA;gBACZQ,sBAAsB,OAAOX,mBAAmBY;gBAChDA,KAAKX;;oBAEJnB,cAAc,CAACxF,4BACd,QAAChB;wBACCuI,aAAahB;wBACb1F,kBAAkBA;wBAClBG,cAAcA;wBACdE,aAAaA;wBACbC,KAAKA;;;;;;kCAGT,QAACnD;wBAAoBkD,aAAaA;;;;;;kCAClC,QAACnD;kCACEG,sBAAsB;4BACrBsI;4BACAV,WAAWP;4BACXtF;4BACAuH,aAAa7C;wBACf;;;;;;;;;;;;WArCC1D,QAAQoD;;;;;IA0CnB;AACF,EAAC;AAED,OAAO,eAAeoD,aAAaC,KAA2B;IAC5D,IAAI;QACF,MAAM,EAAEZ,UAAUa,gBAAgB,EAAE,GAAG,MAAM9H,eAAe6H;QAC5D,OAAOC;IACT,EAAE,OAAOC,OAAO;QACd,IAAIA,OAAOC,YAAY,iBAAiB;YACtC,MAAMD;QACR;QAEAjJ,SAAS;YAAEmJ,KAAKF;YAAOvG,SAASqG,MAAMvH,cAAc,CAACgB,GAAG,CAACE,OAAO;QAAC;QAEjE,IAAIuG,MAAMC,OAAO,KAAK,aAAa;YACjCrJ;QACF;IACF;AACF"}
|
|
1
|
+
{"version":3,"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 {\n DocumentInfoProvider,\n EditDepthProvider,\n HydrateAuthProvider,\n LivePreviewProvider,\n} from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { handleLivePreview, handlePreview } from '@payloadcms/ui/rsc'\nimport { isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { isolateObjectProperty, logError } from 'payload'\nimport { formatAdminURL, hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getDocumentView } from './getDocumentView.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\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 serverURL,\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 serverURL,\n })\n 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 { docPermissions, hasPublishPermission, hasSavePermission },\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 const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\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 ])\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 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 = collectionSlug\n ? `${serverURL}${apiRoute}/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n : globalSlug\n ? `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\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\n if (!View) {\n View = NotFoundView\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 serverURL,\n })\n\n redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n id,\n collectionConfig,\n globalConfig,\n hasSavePermission,\n permissions: docPermissions,\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 hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\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 === '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 logError({ err: error, payload: props.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","LivePreviewProvider","RenderServerComponent","handleLivePreview","handlePreview","isEditing","getIsEditing","buildFormState","notFound","redirect","isolateObjectProperty","logError","formatAdminURL","hasAutosaveEnabled","hasDraftsEnabled","DocumentHeader","getPreferences","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getDocumentView","getIsLocked","getMetaBySegment","getVersions","renderDocumentSlots","generateMetadata","args","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","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","doc","redirectURL","path","encodeURIComponent","Error","isTrashedDoc","Boolean","deletedAt","reqForPermissions","transactionID","reqForLockCheck","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","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","initialState","isTrashed","key","breakpoints","isLivePreviewing","value","editViewType","typeofLivePreviewURL","url","AfterHeader","serverProps","DocumentView","props","RenderedDocument","error","message","err"],"mappings":"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"}
|
package/dist/views/Edit/index.js
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
2
|
import { DefaultEditView } from '@payloadcms/ui';
|
|
4
|
-
import React from 'react';
|
|
5
3
|
export const EditView = (props)=>{
|
|
6
|
-
return
|
|
7
|
-
...props
|
|
8
|
-
}, void 0, false, {
|
|
9
|
-
fileName: "src/views/Edit/index.tsx",
|
|
10
|
-
lineNumber: 9,
|
|
11
|
-
columnNumber: 10
|
|
12
|
-
}, this);
|
|
4
|
+
return <DefaultEditView {...props}/>;
|
|
13
5
|
};
|
|
14
6
|
|
|
15
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DocumentViewClientProps } from 'payload'\n\nimport { DefaultEditView } from '@payloadcms/ui'\nimport React from 'react'\n\nexport const EditView: React.FC<DocumentViewClientProps> = (props) => {\n return <DefaultEditView {...props} />\n}\n"],"names":["DefaultEditView","
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DocumentViewClientProps } from 'payload'\n\nimport { DefaultEditView } from '@payloadcms/ui'\nimport React from 'react'\n\nexport const EditView: React.FC<DocumentViewClientProps> = (props) => {\n return <DefaultEditView {...props} />\n}\n"],"names":["DefaultEditView","EditView","props"],"mappings":"AAAA;AAIA,SAASA,eAAe,QAAQ,iBAAgB;AAGhD,OAAO,MAAMC,WAA8C,CAACC;IAC1D,QAAQF,iBAAiB,GAAGE,KAAK;AACnC,EAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
2
|
import { EmailField, Form, FormSubmit, TextField, useConfig, useTranslation } from '@payloadcms/ui';
|
|
4
3
|
import { email, text } from 'payload/shared';
|
|
5
|
-
import
|
|
4
|
+
import { useState } from 'react';
|
|
6
5
|
import { FormHeader } from '../../../elements/FormHeader/index.js';
|
|
7
6
|
export const ForgotPasswordForm = ()=>{
|
|
8
7
|
const { config, getEntityConfig } = useConfig();
|
|
@@ -35,111 +34,65 @@ export const ForgotPasswordForm = ()=>{
|
|
|
35
34
|
}
|
|
36
35
|
};
|
|
37
36
|
if (hasSubmitted) {
|
|
38
|
-
return
|
|
39
|
-
description: t('authentication:checkYourEmailForPasswordReset'),
|
|
40
|
-
heading: t('authentication:emailSent')
|
|
41
|
-
}, void 0, false, {
|
|
42
|
-
fileName: "src/views/ForgotPassword/ForgotPasswordForm/index.tsx",
|
|
43
|
-
lineNumber: 59,
|
|
44
|
-
columnNumber: 7
|
|
45
|
-
}, this);
|
|
37
|
+
return <FormHeader description={t('authentication:checkYourEmailForPasswordReset')} heading={t('authentication:emailSent')}/>;
|
|
46
38
|
}
|
|
47
|
-
return
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
39
|
+
return <Form action={`${api}/${userSlug}/forgot-password`} handleResponse={handleResponse} initialState={initialState} method="POST">
|
|
40
|
+
<FormHeader description={loginWithUsername ? t('authentication:forgotPasswordUsernameInstructions') : t('authentication:forgotPasswordEmailInstructions')} heading={t('authentication:forgotPassword')}/>
|
|
41
|
+
|
|
42
|
+
{loginWithUsername ? <TextField field={{
|
|
43
|
+
name: 'username',
|
|
44
|
+
label: t('authentication:username'),
|
|
45
|
+
required: true
|
|
46
|
+
}} path="username" validate={(value)=>text(value, {
|
|
47
|
+
name: 'username',
|
|
48
|
+
type: 'text',
|
|
49
|
+
blockData: {},
|
|
50
|
+
data: {},
|
|
51
|
+
event: 'onChange',
|
|
52
|
+
path: [
|
|
53
|
+
'username'
|
|
54
|
+
],
|
|
55
|
+
preferences: {
|
|
56
|
+
fields: {}
|
|
57
|
+
},
|
|
58
|
+
req: {
|
|
59
|
+
payload: {
|
|
60
|
+
config
|
|
66
61
|
},
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
},
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}, this) : /*#__PURE__*/ _jsxDEV(EmailField, {
|
|
94
|
-
field: {
|
|
95
|
-
name: 'email',
|
|
96
|
-
admin: {
|
|
97
|
-
autoComplete: 'email'
|
|
98
|
-
},
|
|
99
|
-
label: t('general:email'),
|
|
100
|
-
required: true
|
|
62
|
+
t
|
|
63
|
+
},
|
|
64
|
+
required: true,
|
|
65
|
+
siblingData: {}
|
|
66
|
+
})}/> : <EmailField field={{
|
|
67
|
+
name: 'email',
|
|
68
|
+
admin: {
|
|
69
|
+
autoComplete: 'email'
|
|
70
|
+
},
|
|
71
|
+
label: t('general:email'),
|
|
72
|
+
required: true
|
|
73
|
+
}} path="email" validate={(value)=>email(value, {
|
|
74
|
+
name: 'email',
|
|
75
|
+
type: 'email',
|
|
76
|
+
blockData: {},
|
|
77
|
+
data: {},
|
|
78
|
+
event: 'onChange',
|
|
79
|
+
path: [
|
|
80
|
+
'email'
|
|
81
|
+
],
|
|
82
|
+
preferences: {
|
|
83
|
+
fields: {}
|
|
84
|
+
},
|
|
85
|
+
req: {
|
|
86
|
+
payload: {
|
|
87
|
+
config
|
|
101
88
|
},
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
path: [
|
|
110
|
-
'email'
|
|
111
|
-
],
|
|
112
|
-
preferences: {
|
|
113
|
-
fields: {}
|
|
114
|
-
},
|
|
115
|
-
req: {
|
|
116
|
-
payload: {
|
|
117
|
-
config
|
|
118
|
-
},
|
|
119
|
-
t
|
|
120
|
-
},
|
|
121
|
-
required: true,
|
|
122
|
-
siblingData: {}
|
|
123
|
-
})
|
|
124
|
-
}, void 0, false, {
|
|
125
|
-
fileName: "src/views/ForgotPassword/ForgotPasswordForm/index.tsx",
|
|
126
|
-
lineNumber: 111,
|
|
127
|
-
columnNumber: 9
|
|
128
|
-
}, this),
|
|
129
|
-
/*#__PURE__*/ _jsxDEV(FormSubmit, {
|
|
130
|
-
size: "large",
|
|
131
|
-
children: t('general:submit')
|
|
132
|
-
}, void 0, false, {
|
|
133
|
-
fileName: "src/views/ForgotPassword/ForgotPasswordForm/index.tsx",
|
|
134
|
-
lineNumber: 137,
|
|
135
|
-
columnNumber: 7
|
|
136
|
-
}, this)
|
|
137
|
-
]
|
|
138
|
-
}, void 0, true, {
|
|
139
|
-
fileName: "src/views/ForgotPassword/ForgotPasswordForm/index.tsx",
|
|
140
|
-
lineNumber: 67,
|
|
141
|
-
columnNumber: 5
|
|
142
|
-
}, this);
|
|
89
|
+
t
|
|
90
|
+
},
|
|
91
|
+
required: true,
|
|
92
|
+
siblingData: {}
|
|
93
|
+
})}/>}
|
|
94
|
+
<FormSubmit size="large">{t('general:submit')}</FormSubmit>
|
|
95
|
+
</Form>;
|
|
143
96
|
};
|
|
144
97
|
|
|
145
98
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@payloadcms/ui'\nimport type { FormState, PayloadRequest } from 'payload'\n\nimport { EmailField, Form, FormSubmit, TextField, useConfig, useTranslation } from '@payloadcms/ui'\nimport { email, text } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport { FormHeader } from '../../../elements/FormHeader/index.js'\n\nexport const ForgotPasswordForm: React.FC = () => {\n const { config, getEntityConfig } = useConfig()\n\n const {\n admin: { user: userSlug },\n routes: { api },\n } = config\n\n const { t } = useTranslation()\n const [hasSubmitted, setHasSubmitted] = useState(false)\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug })\n const loginWithUsername = collectionConfig?.auth?.loginWithUsername\n\n const handleResponse: FormProps['handleResponse'] = (res, successToast, errorToast) => {\n res\n .json()\n .then(() => {\n setHasSubmitted(true)\n successToast(t('general:submissionSuccessful'))\n })\n .catch(() => {\n errorToast(\n loginWithUsername\n ? t('authentication:usernameNotValid')\n : t('authentication:emailNotValid'),\n )\n })\n }\n\n const initialState: FormState = loginWithUsername\n ? {\n username: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n : {\n email: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n\n if (hasSubmitted) {\n return (\n <FormHeader\n description={t('authentication:checkYourEmailForPasswordReset')}\n heading={t('authentication:emailSent')}\n />\n )\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/forgot-password`}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <FormHeader\n description={\n loginWithUsername\n ? t('authentication:forgotPasswordUsernameInstructions')\n : t('authentication:forgotPasswordEmailInstructions')\n }\n heading={t('authentication:forgotPassword')}\n />\n\n {loginWithUsername ? (\n <TextField\n field={{\n name: 'username',\n label: t('authentication:username'),\n required: true,\n }}\n path=\"username\"\n validate={(value) =>\n text(value, {\n name: 'username',\n type: 'text',\n blockData: {},\n data: {},\n event: 'onChange',\n path: ['username'],\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n ) : (\n <EmailField\n field={{\n name: 'email',\n admin: {\n autoComplete: 'email',\n },\n label: t('general:email'),\n required: true,\n }}\n path=\"email\"\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n blockData: {},\n data: {},\n event: 'onChange',\n path: ['email'],\n preferences: { fields: {} },\n req: { payload: { config }, t } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <FormSubmit size=\"large\">{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["EmailField","Form","FormSubmit","TextField","useConfig","useTranslation","email","text","
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@payloadcms/ui'\nimport type { FormState, PayloadRequest } from 'payload'\n\nimport { EmailField, Form, FormSubmit, TextField, useConfig, useTranslation } from '@payloadcms/ui'\nimport { email, text } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport { FormHeader } from '../../../elements/FormHeader/index.js'\n\nexport const ForgotPasswordForm: React.FC = () => {\n const { config, getEntityConfig } = useConfig()\n\n const {\n admin: { user: userSlug },\n routes: { api },\n } = config\n\n const { t } = useTranslation()\n const [hasSubmitted, setHasSubmitted] = useState(false)\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug })\n const loginWithUsername = collectionConfig?.auth?.loginWithUsername\n\n const handleResponse: FormProps['handleResponse'] = (res, successToast, errorToast) => {\n res\n .json()\n .then(() => {\n setHasSubmitted(true)\n successToast(t('general:submissionSuccessful'))\n })\n .catch(() => {\n errorToast(\n loginWithUsername\n ? t('authentication:usernameNotValid')\n : t('authentication:emailNotValid'),\n )\n })\n }\n\n const initialState: FormState = loginWithUsername\n ? {\n username: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n : {\n email: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n\n if (hasSubmitted) {\n return (\n <FormHeader\n description={t('authentication:checkYourEmailForPasswordReset')}\n heading={t('authentication:emailSent')}\n />\n )\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/forgot-password`}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <FormHeader\n description={\n loginWithUsername\n ? t('authentication:forgotPasswordUsernameInstructions')\n : t('authentication:forgotPasswordEmailInstructions')\n }\n heading={t('authentication:forgotPassword')}\n />\n\n {loginWithUsername ? (\n <TextField\n field={{\n name: 'username',\n label: t('authentication:username'),\n required: true,\n }}\n path=\"username\"\n validate={(value) =>\n text(value, {\n name: 'username',\n type: 'text',\n blockData: {},\n data: {},\n event: 'onChange',\n path: ['username'],\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n ) : (\n <EmailField\n field={{\n name: 'email',\n admin: {\n autoComplete: 'email',\n },\n label: t('general:email'),\n required: true,\n }}\n path=\"email\"\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n blockData: {},\n data: {},\n event: 'onChange',\n path: ['email'],\n preferences: { fields: {} },\n req: { payload: { config }, t } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <FormSubmit size=\"large\">{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["EmailField","Form","FormSubmit","TextField","useConfig","useTranslation","email","text","useState","FormHeader","ForgotPasswordForm","config","getEntityConfig","admin","user","userSlug","routes","api","t","hasSubmitted","setHasSubmitted","collectionConfig","collectionSlug","loginWithUsername","auth","handleResponse","res","successToast","errorToast","json","then","catch","initialState","username","initialValue","valid","value","undefined","description","heading","action","method","field","name","label","required","path","validate","type","blockData","data","event","preferences","fields","req","payload","siblingData","autoComplete","size"],"mappings":"AAAA;AAKA,SAASA,UAAU,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AACnG,SAASC,KAAK,EAAEC,IAAI,QAAQ,iBAAgB;AAC5C,SAAgBC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,UAAU,QAAQ,wCAAuC;AAElE,OAAO,MAAMC,qBAA+B;IAC1C,MAAM,EAAEC,MAAM,EAAEC,eAAe,EAAE,GAAGR;IAEpC,MAAM,EACJS,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEC,GAAG,EAAE,EAChB,GAAGN;IAEJ,MAAM,EAAEO,CAAC,EAAE,GAAGb;IACd,MAAM,CAACc,cAAcC,gBAAgB,GAAGZ,SAAS;IACjD,MAAMa,mBAAmBT,gBAAgB;QAAEU,gBAAgBP;IAAS;IACpE,MAAMQ,oBAAoBF,kBAAkBG,MAAMD;IAElD,MAAME,iBAA8C,CAACC,KAAKC,cAAcC;QACtEF,IACGG,IAAI,GACJC,IAAI,CAAC;YACJV,gBAAgB;YAChBO,aAAaT,EAAE;QACjB,GACCa,KAAK,CAAC;YACLH,WACEL,oBACIL,EAAE,qCACFA,EAAE;QAEV;IACJ;IAEA,MAAMc,eAA0BT,oBAC5B;QACEU,UAAU;YACRC,cAAc;YACdC,OAAO;YACPC,OAAOC;QACT;IACF,IACA;QACE/B,OAAO;YACL4B,cAAc;YACdC,OAAO;YACPC,OAAOC;QACT;IACF;IAEJ,IAAIlB,cAAc;QAChB,QACGV,WACC6B,aAAapB,EAAE,kDACfqB,SAASrB,EAAE;IAGjB;IAEA,QACGjB,KACCuC,QAAQ,GAAGvB,IAAI,CAAC,EAAEF,SAAS,gBAAgB,CAAC,EAC5CU,gBAAgBA,gBAChBO,cAAcA,cACdS,OAAO,OACR;MACC,CAAChC,WACC6B,aACEf,oBACIL,EAAE,uDACFA,EAAE,mDAERqB,SAASrB,EAAE,mCACX;;MAEF,CAACK,qBACEpB,UACCuC,OAAO;QACLC,MAAM;QACNC,OAAO1B,EAAE;QACT2B,UAAU;IACZ,GACAC,KAAK,WACLC,UAAU,CAACX,QACT7B,KAAK6B,OAAO;YACVO,MAAM;YACNK,MAAM;YACNC,WAAW,CAAC;YACZC,MAAM,CAAC;YACPC,OAAO;YACPL,MAAM;gBAAC;aAAW;YAClBM,aAAa;gBAAEC,QAAQ,CAAC;YAAE;YAC1BC,KAAK;gBACHC,SAAS;oBACP5C;gBACF;gBACAO;YACF;YACA2B,UAAU;YACVW,aAAa,CAAC;QAChB,SAIHxD,WACC0C,OAAO;QACLC,MAAM;QACN9B,OAAO;YACL4C,cAAc;QAChB;QACAb,OAAO1B,EAAE;QACT2B,UAAU;IACZ,GACAC,KAAK,QACLC,UAAU,CAACX,QACT9B,MAAM8B,OAAO;YACXO,MAAM;YACNK,MAAM;YACNC,WAAW,CAAC;YACZC,MAAM,CAAC;YACPC,OAAO;YACPL,MAAM;gBAAC;aAAQ;YACfM,aAAa;gBAAEC,QAAQ,CAAC;YAAE;YAC1BC,KAAK;gBAAEC,SAAS;oBAAE5C;gBAAO;gBAAGO;YAAE;YAC9B2B,UAAU;YACVW,aAAa,CAAC;QAChB,MAGJ;MACF,CAACtD,WAAWwD,KAAK,SAASxC,EAAE,oBAAoBhB,WAAW;IAC7D,EAAED;AAEN,EAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
1
|
import { Button, Link } from '@payloadcms/ui';
|
|
3
2
|
import { Translation } from '@payloadcms/ui/shared';
|
|
4
3
|
import { formatAdminURL } from 'payload/shared';
|
|
5
|
-
import
|
|
4
|
+
import { Fragment } from 'react';
|
|
6
5
|
import { FormHeader } from '../../elements/FormHeader/index.js';
|
|
7
6
|
import { ForgotPasswordForm } from './ForgotPasswordForm/index.js';
|
|
8
7
|
export const forgotPasswordBaseClass = 'forgot-password';
|
|
@@ -10,80 +9,29 @@ export function ForgotPasswordView({ initPageResult }) {
|
|
|
10
9
|
const { req: { i18n, payload: { config }, user } } = initPageResult;
|
|
11
10
|
const { admin: { routes: { account: accountRoute, login: loginRoute } }, routes: { admin: adminRoute } } = config;
|
|
12
11
|
if (user) {
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
description: /*#__PURE__*/ _jsxDEV(Translation, {
|
|
17
|
-
elements: {
|
|
18
|
-
'0': ({ children })=>/*#__PURE__*/ _jsxDEV(Link, {
|
|
19
|
-
href: formatAdminURL({
|
|
20
|
-
adminRoute,
|
|
21
|
-
path: accountRoute
|
|
22
|
-
}),
|
|
23
|
-
prefetch: false,
|
|
24
|
-
children: children
|
|
25
|
-
}, void 0, false, {
|
|
26
|
-
fileName: "src/views/ForgotPassword/index.tsx",
|
|
27
|
-
lineNumber: 37,
|
|
28
|
-
columnNumber: 19
|
|
29
|
-
}, void 0)
|
|
30
|
-
},
|
|
31
|
-
i18nKey: "authentication:loggedInChangePassword",
|
|
32
|
-
t: i18n.t
|
|
33
|
-
}, void 0, false, {
|
|
34
|
-
fileName: "src/views/ForgotPassword/index.tsx",
|
|
35
|
-
lineNumber: 34,
|
|
36
|
-
columnNumber: 13
|
|
37
|
-
}, void 0),
|
|
38
|
-
heading: i18n.t('authentication:alreadyLoggedIn')
|
|
39
|
-
}, void 0, false, {
|
|
40
|
-
fileName: "src/views/ForgotPassword/index.tsx",
|
|
41
|
-
lineNumber: 32,
|
|
42
|
-
columnNumber: 9
|
|
43
|
-
}, this),
|
|
44
|
-
/*#__PURE__*/ _jsxDEV(Button, {
|
|
45
|
-
buttonStyle: "secondary",
|
|
46
|
-
el: "link",
|
|
47
|
-
size: "large",
|
|
48
|
-
to: adminRoute,
|
|
49
|
-
children: i18n.t('general:backToDashboard')
|
|
50
|
-
}, void 0, false, {
|
|
51
|
-
fileName: "src/views/ForgotPassword/index.tsx",
|
|
52
|
-
lineNumber: 54,
|
|
53
|
-
columnNumber: 9
|
|
54
|
-
}, this)
|
|
55
|
-
]
|
|
56
|
-
}, void 0, true, {
|
|
57
|
-
fileName: "src/views/ForgotPassword/index.tsx",
|
|
58
|
-
lineNumber: 31,
|
|
59
|
-
columnNumber: 7
|
|
60
|
-
}, this);
|
|
61
|
-
}
|
|
62
|
-
return /*#__PURE__*/ _jsxDEV(Fragment, {
|
|
63
|
-
children: [
|
|
64
|
-
/*#__PURE__*/ _jsxDEV(ForgotPasswordForm, {}, void 0, false, {
|
|
65
|
-
fileName: "src/views/ForgotPassword/index.tsx",
|
|
66
|
-
lineNumber: 63,
|
|
67
|
-
columnNumber: 7
|
|
68
|
-
}, this),
|
|
69
|
-
/*#__PURE__*/ _jsxDEV(Link, {
|
|
70
|
-
href: formatAdminURL({
|
|
12
|
+
return <Fragment>
|
|
13
|
+
<FormHeader description={<Translation elements={{
|
|
14
|
+
'0': ({ children })=><Link href={formatAdminURL({
|
|
71
15
|
adminRoute,
|
|
72
|
-
path:
|
|
73
|
-
})
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
16
|
+
path: accountRoute
|
|
17
|
+
})} prefetch={false}>
|
|
18
|
+
{children}
|
|
19
|
+
</Link>
|
|
20
|
+
}} i18nKey="authentication:loggedInChangePassword" t={i18n.t}/>} heading={i18n.t('authentication:alreadyLoggedIn')}/>
|
|
21
|
+
<Button buttonStyle="secondary" el="link" size="large" to={adminRoute}>
|
|
22
|
+
{i18n.t('general:backToDashboard')}
|
|
23
|
+
</Button>
|
|
24
|
+
</Fragment>;
|
|
25
|
+
}
|
|
26
|
+
return <Fragment>
|
|
27
|
+
<ForgotPasswordForm/>
|
|
28
|
+
<Link href={formatAdminURL({
|
|
29
|
+
adminRoute,
|
|
30
|
+
path: loginRoute
|
|
31
|
+
})} prefetch={false}>
|
|
32
|
+
{i18n.t('authentication:backToLogin')}
|
|
33
|
+
</Link>
|
|
34
|
+
</Fragment>;
|
|
87
35
|
}
|
|
88
36
|
|
|
89
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/ForgotPassword/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { Button, Link } from '@payloadcms/ui'\nimport { Translation } from '@payloadcms/ui/shared'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport { ForgotPasswordForm } from './ForgotPasswordForm/index.js'\n\nexport const forgotPasswordBaseClass = 'forgot-password'\n\nexport function ForgotPasswordView({ initPageResult }: AdminViewServerProps) {\n const {\n req: {\n i18n,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: {\n routes: { account: accountRoute, login: loginRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (user) {\n return (\n <Fragment>\n <FormHeader\n description={\n <Translation\n elements={{\n '0': ({ children }) => (\n <Link\n href={formatAdminURL({\n adminRoute,\n path: accountRoute,\n })}\n prefetch={false}\n >\n {children}\n </Link>\n ),\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n }\n heading={i18n.t('authentication:alreadyLoggedIn')}\n />\n <Button buttonStyle=\"secondary\" el=\"link\" size=\"large\" to={adminRoute}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </Fragment>\n )\n }\n\n return (\n <Fragment>\n <ForgotPasswordForm />\n <Link\n href={formatAdminURL({\n adminRoute,\n path: loginRoute,\n })}\n prefetch={false}\n >\n {i18n.t('authentication:backToLogin')}\n </Link>\n </Fragment>\n )\n}\n"],"names":["Button","Link","Translation","formatAdminURL","
|
|
1
|
+
{"version":3,"sources":["../../../src/views/ForgotPassword/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { Button, Link } from '@payloadcms/ui'\nimport { Translation } from '@payloadcms/ui/shared'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport { ForgotPasswordForm } from './ForgotPasswordForm/index.js'\n\nexport const forgotPasswordBaseClass = 'forgot-password'\n\nexport function ForgotPasswordView({ initPageResult }: AdminViewServerProps) {\n const {\n req: {\n i18n,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: {\n routes: { account: accountRoute, login: loginRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (user) {\n return (\n <Fragment>\n <FormHeader\n description={\n <Translation\n elements={{\n '0': ({ children }) => (\n <Link\n href={formatAdminURL({\n adminRoute,\n path: accountRoute,\n })}\n prefetch={false}\n >\n {children}\n </Link>\n ),\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n }\n heading={i18n.t('authentication:alreadyLoggedIn')}\n />\n <Button buttonStyle=\"secondary\" el=\"link\" size=\"large\" to={adminRoute}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </Fragment>\n )\n }\n\n return (\n <Fragment>\n <ForgotPasswordForm />\n <Link\n href={formatAdminURL({\n adminRoute,\n path: loginRoute,\n })}\n prefetch={false}\n >\n {i18n.t('authentication:backToLogin')}\n </Link>\n </Fragment>\n )\n}\n"],"names":["Button","Link","Translation","formatAdminURL","Fragment","FormHeader","ForgotPasswordForm","forgotPasswordBaseClass","ForgotPasswordView","initPageResult","req","i18n","payload","config","user","admin","routes","account","accountRoute","login","loginRoute","adminRoute","description","elements","children","href","path","prefetch","i18nKey","t","heading","buttonStyle","el","size","to"],"mappings":"AAEA,SAASA,MAAM,EAAEC,IAAI,QAAQ,iBAAgB;AAC7C,SAASC,WAAW,QAAQ,wBAAuB;AACnD,SAASC,cAAc,QAAQ,iBAAgB;AAC/C,SAAgBC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,UAAU,QAAQ,qCAAoC;AAC/D,SAASC,kBAAkB,QAAQ,gCAA+B;AAElE,OAAO,MAAMC,0BAA0B,kBAAiB;AAExD,OAAO,SAASC,mBAAmB,EAAEC,cAAc,EAAwB;IACzE,MAAM,EACJC,KAAK,EACHC,IAAI,EACJC,SAAS,EAAEC,MAAM,EAAE,EACnBC,IAAI,EACL,EACF,GAAGL;IAEJ,MAAM,EACJM,OAAO,EACLC,QAAQ,EAAEC,SAASC,YAAY,EAAEC,OAAOC,UAAU,EAAE,EACrD,EACDJ,QAAQ,EAAED,OAAOM,UAAU,EAAE,EAC9B,GAAGR;IAEJ,IAAIC,MAAM;QACR,QACGV,SAAS;QACR,CAACC,WACCiB,cACGpB,YACCqB,UAAU;YACR,KAAK,CAAC,EAAEC,QAAQ,EAAE,IACfvB,KACCwB,MAAMtB,eAAe;oBACnBkB;oBACAK,MAAMR;gBACR,IACAS,UAAU,OACX;oBACC,CAACH,SAAS;kBACZ,EAAEvB;QAEN,GACA2B,QAAQ,wCACRC,GAAGlB,KAAKkB,CAAC,KAGbC,SAASnB,KAAKkB,CAAC,CAAC,oCAChB;QACF,CAAC7B,OAAO+B,YAAY,YAAYC,GAAG,OAAOC,KAAK,QAAQC,IAAIb,YAAY;UACrE,CAACV,KAAKkB,CAAC,CAAC,2BAA2B;QACrC,EAAE7B,OAAO;MACX,EAAEI;IAEN;IAEA,QACGA,SAAS;MACR,CAACE,oBAAqB;MACtB,CAACL,KACCwB,MAAMtB,eAAe;QACnBkB;QACAK,MAAMN;IACR,IACAO,UAAU,OACX;QACC,CAAChB,KAAKkB,CAAC,CAAC,8BAA8B;MACxC,EAAE5B,KAAK;IACT,EAAEG;AAEN"}
|
package/dist/views/List/index.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
1
|
import { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui';
|
|
3
2
|
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
4
3
|
import { getColumns, renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc';
|
|
5
4
|
import { notFound } from 'next/navigation.js';
|
|
6
5
|
import { appendUploadSelectFields, combineWhereConstraints, formatAdminURL, isNumber, mergeListSearchAndWhere, transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared';
|
|
7
|
-
import
|
|
6
|
+
import { Fragment } from 'react';
|
|
8
7
|
import { getDocumentPermissions } from '../Document/getDocumentPermissions.js';
|
|
9
8
|
import { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.js';
|
|
10
9
|
import { handleGroupBy } from './handleGroupBy.js';
|
|
@@ -263,57 +262,36 @@ import { transformColumnsToSelect } from './transformColumnsToSelect.js';
|
|
|
263
262
|
// Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.
|
|
264
263
|
query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined;
|
|
265
264
|
return {
|
|
266
|
-
List:
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
renderedFilters,
|
|
297
|
-
resolvedFilterOptions,
|
|
298
|
-
Table,
|
|
299
|
-
viewType
|
|
300
|
-
},
|
|
301
|
-
Component: ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,
|
|
302
|
-
Fallback: DefaultListView,
|
|
303
|
-
importMap: payload.importMap,
|
|
304
|
-
serverProps
|
|
305
|
-
})
|
|
306
|
-
}, void 0, false, {
|
|
307
|
-
fileName: "src/views/List/index.tsx",
|
|
308
|
-
lineNumber: 396,
|
|
309
|
-
columnNumber: 11
|
|
310
|
-
}, this)
|
|
311
|
-
]
|
|
312
|
-
}, void 0, true, {
|
|
313
|
-
fileName: "src/views/List/index.tsx",
|
|
314
|
-
lineNumber: 394,
|
|
315
|
-
columnNumber: 9
|
|
316
|
-
}, this)
|
|
265
|
+
List: <Fragment>
|
|
266
|
+
<HydrateAuthProvider permissions={permissions}/>
|
|
267
|
+
<ListQueryProvider collectionSlug={collectionSlug} data={data} modifySearchParams={!isInDrawer} orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined} query={query}>
|
|
268
|
+
{RenderServerComponent({
|
|
269
|
+
clientProps: {
|
|
270
|
+
...listViewSlots,
|
|
271
|
+
collectionSlug,
|
|
272
|
+
columnState,
|
|
273
|
+
disableBulkDelete,
|
|
274
|
+
disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,
|
|
275
|
+
disableQueryPresets,
|
|
276
|
+
enableRowSelections,
|
|
277
|
+
hasCreatePermission,
|
|
278
|
+
hasDeletePermission,
|
|
279
|
+
listPreferences: collectionPreferences,
|
|
280
|
+
newDocumentURL,
|
|
281
|
+
queryPreset,
|
|
282
|
+
queryPresetPermissions,
|
|
283
|
+
renderedFilters,
|
|
284
|
+
resolvedFilterOptions,
|
|
285
|
+
Table,
|
|
286
|
+
viewType
|
|
287
|
+
},
|
|
288
|
+
Component: ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,
|
|
289
|
+
Fallback: DefaultListView,
|
|
290
|
+
importMap: payload.importMap,
|
|
291
|
+
serverProps
|
|
292
|
+
})}
|
|
293
|
+
</ListQueryProvider>
|
|
294
|
+
</Fragment>
|
|
317
295
|
};
|
|
318
296
|
}
|
|
319
297
|
throw new Error('not-found');
|