@payloadcms/next 3.13.0 → 3.14.1-canary.549a973
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/prod/styles.css +1 -1
- package/dist/routes/graphql/handler.d.ts.map +1 -1
- package/dist/routes/graphql/handler.js +5 -1
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/rest/collections/delete.js +2 -2
- package/dist/routes/rest/collections/delete.js.map +1 -1
- package/dist/routes/rest/collections/update.js +2 -2
- package/dist/routes/rest/collections/update.js.map +1 -1
- package/dist/routes/rest/routeError.d.ts.map +1 -1
- package/dist/routes/rest/routeError.js +6 -11
- package/dist/routes/rest/routeError.js.map +1 -1
- package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.d.ts +6 -0
- package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.d.ts.map +1 -0
- package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.js +83 -0
- package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.js.map +1 -0
- package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.scss +40 -0
- package/dist/views/Account/ResetPreferences/index.d.ts +6 -0
- package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -0
- package/dist/views/Account/ResetPreferences/index.js +73 -0
- package/dist/views/Account/ResetPreferences/index.js.map +1 -0
- package/dist/views/Account/Settings/index.d.ts +3 -1
- package/dist/views/Account/Settings/index.d.ts.map +1 -1
- package/dist/views/Account/Settings/index.js +9 -2
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +4 -1
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +1 -1
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +1 -0
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts +3 -2
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js +17 -2
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getDocumentPermissions.js +11 -5
- package/dist/views/Document/getDocumentPermissions.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +6 -1
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +4 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
- package/dist/views/Versions/getLatestVersion.js +6 -2
- package/dist/views/Versions/getLatestVersion.js.map +1 -1
- package/dist/views/Versions/index.d.ts +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +11 -4
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","buildFormState","notFound","React","DocumentHeader","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getVersions","EditView","AccountClient","Settings","generateAccountMetadata","Account","initPageResult","params","searchParams","languageOptions","locale","permissions","req","i18n","payload","config","user","admin","theme","userSlug","routes","api","serverURL","collectionConfig","collections","find","collection","slug","id","data","collectionSlug","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","state","formState","code","operation","renderAllFields","schemaPath","currentEditor","isLocked","lastUpdateTime","isEditing","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","doc","_jsx","AfterFields","apiURL","initialData","initialState","_jsxs","hideTabs","Component","components","views","account","Fallback","importMap","serverProps","routeSegments"],"sources":["../../../src/views/Account/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { getIsLocked } from '../Document/getIsLocked.js'\nimport { getVersions } from '../Document/getVersions.js'\nimport { EditView } from '../Edit/index.js'\nimport { AccountClient } from './index.client.js'\nimport { Settings } from './Settings/index.js'\n\nexport { generateAccountMetadata } from './meta.js'\n\nexport const Account: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n languageOptions,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: { theme, user: userSlug },\n routes: { api },\n serverURL,\n } = config\n\n const collectionConfig = config.collections.find((collection) => collection.slug === userSlug)\n\n if (collectionConfig && user?.id) {\n // Fetch the data required for the view\n const data = await getDocumentData({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n locale,\n payload,\n user,\n })\n\n if (!data) {\n throw new Error('not-found')\n }\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n payload,\n user,\n })\n\n // Get permissions\n const { docPermissions, hasPublishPermission, hasSavePermission } =\n await getDocumentPermissions({\n id: user.id,\n collectionConfig,\n data,\n req,\n })\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions,\n docPreferences,\n locale: locale?.code,\n operation: 'update',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n })\n\n // Fetch document lock state\n const { currentEditor, isLocked, lastUpdateTime } = await getIsLocked({\n id: user.id,\n collectionConfig,\n isEditing: true,\n req,\n })\n\n // Get all versions required for UI\n const { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount } =\n await getVersions({\n id: user.id,\n collectionConfig,\n doc: data,\n docPermissions,\n locale: locale?.code,\n payload,\n user,\n })\n\n return (\n <DocumentInfoProvider\n AfterFields={<Settings
|
|
1
|
+
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","buildFormState","notFound","React","DocumentHeader","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getVersions","EditView","AccountClient","Settings","generateAccountMetadata","Account","initPageResult","params","searchParams","languageOptions","locale","permissions","req","i18n","payload","config","user","admin","theme","userSlug","routes","api","serverURL","collectionConfig","collections","find","collection","slug","id","data","collectionSlug","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","state","formState","code","operation","renderAllFields","schemaPath","currentEditor","isLocked","lastUpdateTime","isEditing","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","doc","_jsx","AfterFields","apiURL","initialData","initialState","_jsxs","hideTabs","Component","components","views","account","Fallback","importMap","serverProps","routeSegments"],"sources":["../../../src/views/Account/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { getIsLocked } from '../Document/getIsLocked.js'\nimport { getVersions } from '../Document/getVersions.js'\nimport { EditView } from '../Edit/index.js'\nimport { AccountClient } from './index.client.js'\nimport { Settings } from './Settings/index.js'\n\nexport { generateAccountMetadata } from './meta.js'\n\nexport const Account: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n languageOptions,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: { theme, user: userSlug },\n routes: { api },\n serverURL,\n } = config\n\n const collectionConfig = config.collections.find((collection) => collection.slug === userSlug)\n\n if (collectionConfig && user?.id) {\n // Fetch the data required for the view\n const data = await getDocumentData({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n locale,\n payload,\n req,\n user,\n })\n\n if (!data) {\n throw new Error('not-found')\n }\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n payload,\n user,\n })\n\n // Get permissions\n const { docPermissions, hasPublishPermission, hasSavePermission } =\n await getDocumentPermissions({\n id: user.id,\n collectionConfig,\n data,\n req,\n })\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions,\n docPreferences,\n locale: locale?.code,\n operation: 'update',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n })\n\n // Fetch document lock state\n const { currentEditor, isLocked, lastUpdateTime } = await getIsLocked({\n id: user.id,\n collectionConfig,\n isEditing: true,\n req,\n })\n\n // Get all versions required for UI\n const { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount } =\n await getVersions({\n id: user.id,\n collectionConfig,\n doc: data,\n docPermissions,\n locale: locale?.code,\n payload,\n user,\n })\n\n return (\n <DocumentInfoProvider\n AfterFields={\n <Settings\n i18n={i18n}\n languageOptions={languageOptions}\n payload={payload}\n theme={theme}\n user={user}\n />\n }\n apiURL={`${serverURL}${api}/${userSlug}${user?.id ? `/${user.id}` : ''}`}\n collectionSlug={userSlug}\n currentEditor={currentEditor}\n docPermissions={docPermissions}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={user?.id}\n initialData={data}\n initialState={formState}\n isEditing\n isLocked={isLocked}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <EditDepthProvider>\n <DocumentHeader\n collectionConfig={collectionConfig}\n hideTabs\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n Component: config.admin?.components?.views?.account?.Component,\n Fallback: EditView,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: [],\n searchParams,\n user,\n },\n })}\n <AccountClient />\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n }\n\n return notFound()\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","names":["ConfirmPasswordField","EmailAndUsernameFields","Form","FormSubmit","PasswordField","RenderFields","useAuth","useConfig","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","React","useEffect","CreateFirstUserClient","docPermissions","docPreferences","initialState","loginWithUsername","userSlug","config","routes","admin","api","apiRoute","serverURL","getEntityConfig","getFormState","t","setUser","abortOnChangeRef","useRef","collectionConfig","collectionSlug","onChange","useCallback","formState","prevFormState","controller","response","operation","schemaPath","signal","current","state","handleFirstRegister","data","abortOnChange","_jsxs","action","method","onSuccess","redirect","validationOperation","_jsx","className","readOnly","autoComplete","field","name","label","required","path","fields","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","size"],"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps, UserWithToken } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n DocumentPreferences,\n FormState,\n LoginWithUsernameOptions,\n SanitizedDocumentPermissions,\n} from 'payload'\n\nimport {\n ConfirmPasswordField,\n EmailAndUsernameFields,\n Form,\n FormSubmit,\n PasswordField,\n RenderFields,\n useAuth,\n useConfig,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore, handleAbortRef } from '@payloadcms/ui/shared'\nimport React, { useEffect } from 'react'\n\nexport const CreateFirstUserClient: React.FC<{\n docPermissions: SanitizedDocumentPermissions\n docPreferences: DocumentPreferences\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ docPermissions, docPreferences, initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug }) as ClientCollectionConfig\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const response = await getFormState({\n collectionSlug: userSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath:
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["ConfirmPasswordField","EmailAndUsernameFields","Form","FormSubmit","PasswordField","RenderFields","useAuth","useConfig","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","React","useEffect","CreateFirstUserClient","docPermissions","docPreferences","initialState","loginWithUsername","userSlug","config","routes","admin","api","apiRoute","serverURL","getEntityConfig","getFormState","t","setUser","abortOnChangeRef","useRef","collectionConfig","collectionSlug","onChange","useCallback","formState","prevFormState","controller","response","operation","schemaPath","signal","current","state","handleFirstRegister","data","abortOnChange","_jsxs","action","method","onSuccess","redirect","validationOperation","_jsx","className","readOnly","autoComplete","field","name","label","required","path","fields","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","size"],"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps, UserWithToken } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n DocumentPreferences,\n FormState,\n LoginWithUsernameOptions,\n SanitizedDocumentPermissions,\n} from 'payload'\n\nimport {\n ConfirmPasswordField,\n EmailAndUsernameFields,\n Form,\n FormSubmit,\n PasswordField,\n RenderFields,\n useAuth,\n useConfig,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore, handleAbortRef } from '@payloadcms/ui/shared'\nimport React, { useEffect } from 'react'\n\nexport const CreateFirstUserClient: React.FC<{\n docPermissions: SanitizedDocumentPermissions\n docPreferences: DocumentPreferences\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ docPermissions, docPreferences, initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug }) as ClientCollectionConfig\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const response = await getFormState({\n collectionSlug: userSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath: userSlug,\n signal: controller.signal,\n })\n\n abortOnChangeRef.current = null\n\n if (response && response.state) {\n return response.state\n }\n },\n [userSlug, getFormState, docPermissions, docPreferences],\n )\n\n const handleFirstRegister = (data: UserWithToken) => {\n setUser(data)\n }\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={initialState}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={handleFirstRegister}\n redirect={admin}\n validationOperation=\"create\"\n >\n <EmailAndUsernameFields\n className=\"emailAndUsername\"\n loginWithUsername={loginWithUsername}\n operation=\"create\"\n readOnly={false}\n t={t}\n />\n <PasswordField\n autoComplete=\"off\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n path=\"password\"\n />\n <ConfirmPasswordField />\n <RenderFields\n fields={collectionConfig.fields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={userSlug}\n permissions={true}\n readOnly={false}\n />\n <FormSubmit size=\"large\">{t('general:create')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAA;AAE3D,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmExD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["buildFormState","React","getDocPreferences","getDocumentData","getDocumentPermissions","CreateFirstUserClient","generateCreateFirstUserMetadata","CreateFirstUserView","initPageResult","locale","req","payload","config","admin","user","userSlug","collectionConfig","collections","find","collection","slug","auth","authOptions","loginWithUsername","data","collectionSlug","docPreferences","docPermissions","state","formState","code","operation","renderAllFields","schemaPath","_jsxs","className","_jsx","t","initialState"],"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport React from 'react'\n\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport { generateCreateFirstUserMetadata } from './meta.js'\n\nexport const CreateFirstUserView: React.FC<AdminViewProps> = async ({ initPageResult }) => {\n const {\n locale,\n req,\n req: {\n payload: {\n config: {\n admin: { user: userSlug },\n },\n config,\n },\n },\n } = initPageResult\n\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n // Fetch the data required for the view\n const data = await getDocumentData({\n collectionSlug: collectionConfig.slug,\n locale,\n payload: req.payload,\n user: req.user,\n })\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n collectionSlug: collectionConfig.slug,\n payload: req.payload,\n user: req.user,\n })\n\n // Get permissions\n const { docPermissions } = await getDocumentPermissions({\n collectionConfig,\n data,\n req,\n })\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions,\n docPreferences,\n locale: locale?.code,\n operation: 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n docPermissions={docPermissions}\n docPreferences={docPreferences}\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,qBAAqB,QAAQ;AAGtC,SAASC,+BAA+B,QAAQ;AAEhD,OAAO,MAAMC,mBAAA,GAAgD,MAAAA,CAAO;EAAEC;AAAc,CAAE;EACpF,MAAM;IACJC,MAAM;IACNC,GAAG;IACHA,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YAAEC,IAAA,EAAMC;UAAQ;QAAE,CAC1B;QACDH;MAAM;IACP;EACF,CACF,GAAGJ,cAAA;EAEJ,MAAMQ,gBAAA,GAAmBJ,MAAA,CAAOK,WAAW,EAAEC,IAAA,CAAMC,UAAA,IAAeA,UAAA,EAAYC,IAAA,KAASL,QAAA;EACvF,MAAM;IAAEM,IAAA,EAAMC;EAAW,CAAE,GAAGN,gBAAA;EAC9B,MAAMO,iBAAA,GAAoBD,WAAA,CAAYC,iBAAiB;EAEvD;EACA,MAAMC,IAAA,GAAO,MAAMrB,eAAA,CAAgB;IACjCsB,cAAA,EAAgBT,gBAAA,CAAiBI,IAAI;IACrCX,MAAA;IACAE,OAAA,EAASD,GAAA,CAAIC,OAAO;
|
|
1
|
+
{"version":3,"file":"index.js","names":["buildFormState","React","getDocPreferences","getDocumentData","getDocumentPermissions","CreateFirstUserClient","generateCreateFirstUserMetadata","CreateFirstUserView","initPageResult","locale","req","payload","config","admin","user","userSlug","collectionConfig","collections","find","collection","slug","auth","authOptions","loginWithUsername","data","collectionSlug","docPreferences","docPermissions","state","formState","code","operation","renderAllFields","schemaPath","_jsxs","className","_jsx","t","initialState"],"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport React from 'react'\n\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport { generateCreateFirstUserMetadata } from './meta.js'\n\nexport const CreateFirstUserView: React.FC<AdminViewProps> = async ({ initPageResult }) => {\n const {\n locale,\n req,\n req: {\n payload: {\n config: {\n admin: { user: userSlug },\n },\n config,\n },\n },\n } = initPageResult\n\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n // Fetch the data required for the view\n const data = await getDocumentData({\n collectionSlug: collectionConfig.slug,\n locale,\n payload: req.payload,\n req,\n user: req.user,\n })\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n collectionSlug: collectionConfig.slug,\n payload: req.payload,\n user: req.user,\n })\n\n // Get permissions\n const { docPermissions } = await getDocumentPermissions({\n collectionConfig,\n data,\n req,\n })\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions,\n docPreferences,\n locale: locale?.code,\n operation: 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n docPermissions={docPermissions}\n docPreferences={docPreferences}\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,qBAAqB,QAAQ;AAGtC,SAASC,+BAA+B,QAAQ;AAEhD,OAAO,MAAMC,mBAAA,GAAgD,MAAAA,CAAO;EAAEC;AAAc,CAAE;EACpF,MAAM;IACJC,MAAM;IACNC,GAAG;IACHA,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YAAEC,IAAA,EAAMC;UAAQ;QAAE,CAC1B;QACDH;MAAM;IACP;EACF,CACF,GAAGJ,cAAA;EAEJ,MAAMQ,gBAAA,GAAmBJ,MAAA,CAAOK,WAAW,EAAEC,IAAA,CAAMC,UAAA,IAAeA,UAAA,EAAYC,IAAA,KAASL,QAAA;EACvF,MAAM;IAAEM,IAAA,EAAMC;EAAW,CAAE,GAAGN,gBAAA;EAC9B,MAAMO,iBAAA,GAAoBD,WAAA,CAAYC,iBAAiB;EAEvD;EACA,MAAMC,IAAA,GAAO,MAAMrB,eAAA,CAAgB;IACjCsB,cAAA,EAAgBT,gBAAA,CAAiBI,IAAI;IACrCX,MAAA;IACAE,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBD,GAAA;IACAI,IAAA,EAAMJ,GAAA,CAAII;EACZ;EAEA;EACA,MAAMY,cAAA,GAAiB,MAAMxB,iBAAA,CAAkB;IAC7CuB,cAAA,EAAgBT,gBAAA,CAAiBI,IAAI;IACrCT,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBG,IAAA,EAAMJ,GAAA,CAAII;EACZ;EAEA;EACA,MAAM;IAAEa;EAAc,CAAE,GAAG,MAAMvB,sBAAA,CAAuB;IACtDY,gBAAA;IACAQ,IAAA;IACAd;EACF;EAEA;EACA,MAAM;IAAEkB,KAAA,EAAOC;EAAS,CAAE,GAAG,MAAM7B,cAAA,CAAe;IAChDyB,cAAA,EAAgBT,gBAAA,CAAiBI,IAAI;IACrCI,IAAA;IACAG,cAAA;IACAD,cAAA;IACAjB,MAAA,EAAQA,MAAA,EAAQqB,IAAA;IAChBC,SAAA,EAAW;IACXC,eAAA,EAAiB;IACjBtB,GAAA;IACAuB,UAAA,EAAYjB,gBAAA,CAAiBI;EAC/B;EAEA,oBACEc,KAAA,CAAC;IAAIC,SAAA,EAAU;4BACbC,IAAA,CAAC;gBAAI1B,GAAA,CAAI2B,CAAC,CAAC;qBACXD,IAAA,CAAC;gBAAG1B,GAAA,CAAI2B,CAAC,CAAC;qBACVD,IAAA,CAAC/B,qBAAA;MACCsB,cAAA,EAAgBA,cAAA;MAChBD,cAAA,EAAgBA,cAAA;MAChBY,YAAA,EAAcT,SAAA;MACdN,iBAAA,EAAmBA,iBAAA;MACnBR,QAAA,EAAUA;;;AAIlB","ignoreList":[]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Locale, type Payload, type PayloadRequest, type TypedUser, type TypeWithID } from 'payload';
|
|
2
2
|
type Args = {
|
|
3
3
|
collectionSlug?: string;
|
|
4
4
|
globalSlug?: string;
|
|
5
5
|
id?: number | string;
|
|
6
6
|
locale?: Locale;
|
|
7
7
|
payload: Payload;
|
|
8
|
+
req?: PayloadRequest;
|
|
8
9
|
user?: TypedUser;
|
|
9
10
|
};
|
|
10
|
-
export declare const getDocumentData: ({ id: idArg, collectionSlug, globalSlug, locale, payload, user, }: Args) => Promise<null | Record<string, unknown> | TypeWithID>;
|
|
11
|
+
export declare const getDocumentData: ({ id: idArg, collectionSlug, globalSlug, locale, payload, req, user, }: Args) => Promise<null | Record<string, unknown> | TypeWithID>;
|
|
11
12
|
export {};
|
|
12
13
|
//# sourceMappingURL=getDocumentData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDocumentData.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getDocumentData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getDocumentData.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getDocumentData.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,SAAS,CAAA;AAEhB,KAAK,IAAI,GAAG;IACV,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,eAAe,2EAQzB,IAAI,KAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CA4C5D,CAAA"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { sanitizeID } from '@payloadcms/ui/shared';
|
|
2
|
+
import { logError } from 'payload';
|
|
2
3
|
export const getDocumentData = async ({
|
|
3
4
|
id: idArg,
|
|
4
5
|
collectionSlug,
|
|
5
6
|
globalSlug,
|
|
6
7
|
locale,
|
|
7
8
|
payload,
|
|
9
|
+
req,
|
|
8
10
|
user
|
|
9
11
|
}) => {
|
|
10
12
|
const id = sanitizeID(idArg);
|
|
@@ -19,6 +21,11 @@ export const getDocumentData = async ({
|
|
|
19
21
|
fallbackLocale: false,
|
|
20
22
|
locale: locale?.code,
|
|
21
23
|
overrideAccess: false,
|
|
24
|
+
req: {
|
|
25
|
+
query: req?.query,
|
|
26
|
+
search: req?.search,
|
|
27
|
+
searchParams: req?.searchParams
|
|
28
|
+
},
|
|
22
29
|
user
|
|
23
30
|
});
|
|
24
31
|
}
|
|
@@ -30,11 +37,19 @@ export const getDocumentData = async ({
|
|
|
30
37
|
fallbackLocale: false,
|
|
31
38
|
locale: locale?.code,
|
|
32
39
|
overrideAccess: false,
|
|
40
|
+
req: {
|
|
41
|
+
query: req?.query,
|
|
42
|
+
search: req?.search,
|
|
43
|
+
searchParams: req?.searchParams
|
|
44
|
+
},
|
|
33
45
|
user
|
|
34
46
|
});
|
|
35
47
|
}
|
|
36
|
-
} catch (
|
|
37
|
-
|
|
48
|
+
} catch (err) {
|
|
49
|
+
logError({
|
|
50
|
+
err,
|
|
51
|
+
payload
|
|
52
|
+
});
|
|
38
53
|
}
|
|
39
54
|
return resolvedData;
|
|
40
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDocumentData.js","names":["sanitizeID","getDocumentData","id","idArg","collectionSlug","globalSlug","locale","payload","user","resolvedData","findByID","collection","depth","draft","fallbackLocale","code","overrideAccess","
|
|
1
|
+
{"version":3,"file":"getDocumentData.js","names":["sanitizeID","logError","getDocumentData","id","idArg","collectionSlug","globalSlug","locale","payload","req","user","resolvedData","findByID","collection","depth","draft","fallbackLocale","code","overrideAccess","query","search","searchParams","findGlobal","slug","err"],"sources":["../../../src/views/Document/getDocumentData.ts"],"sourcesContent":["import { sanitizeID } from '@payloadcms/ui/shared'\nimport {\n type Locale,\n logError,\n type Payload,\n type PayloadRequest,\n type TypedUser,\n type TypeWithID,\n} from 'payload'\n\ntype Args = {\n collectionSlug?: string\n globalSlug?: string\n id?: number | string\n locale?: Locale\n payload: Payload\n req?: PayloadRequest\n user?: TypedUser\n}\n\nexport const getDocumentData = async ({\n id: idArg,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n user,\n}: Args): Promise<null | Record<string, unknown> | TypeWithID> => {\n const id = sanitizeID(idArg)\n let resolvedData: Record<string, unknown> | TypeWithID = null\n\n try {\n if (collectionSlug && id) {\n resolvedData = await payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n overrideAccess: false,\n req: {\n query: req?.query,\n search: req?.search,\n searchParams: req?.searchParams,\n },\n user,\n })\n }\n\n if (globalSlug) {\n resolvedData = await payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n overrideAccess: false,\n req: {\n query: req?.query,\n search: req?.search,\n searchParams: req?.searchParams,\n },\n user,\n })\n }\n } catch (err) {\n logError({ err, payload })\n }\n\n return resolvedData\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ;AAC3B,SAEEC,QAAQ,QAKH;AAYP,OAAO,MAAMC,eAAA,GAAkB,MAAAA,CAAO;EACpCC,EAAA,EAAIC,KAAK;EACTC,cAAc;EACdC,UAAU;EACVC,MAAM;EACNC,OAAO;EACPC,GAAG;EACHC;AAAI,CACC;EACL,MAAMP,EAAA,GAAKH,UAAA,CAAWI,KAAA;EACtB,IAAIO,YAAA,GAAqD;EAEzD,IAAI;IACF,IAAIN,cAAA,IAAkBF,EAAA,EAAI;MACxBQ,YAAA,GAAe,MAAMH,OAAA,CAAQI,QAAQ,CAAC;QACpCT,EAAA;QACAU,UAAA,EAAYR,cAAA;QACZS,KAAA,EAAO;QACPC,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBT,MAAA,EAAQA,MAAA,EAAQU,IAAA;QAChBC,cAAA,EAAgB;QAChBT,GAAA,EAAK;UACHU,KAAA,EAAOV,GAAA,EAAKU,KAAA;UACZC,MAAA,EAAQX,GAAA,EAAKW,MAAA;UACbC,YAAA,EAAcZ,GAAA,EAAKY;QACrB;QACAX;MACF;IACF;IAEA,IAAIJ,UAAA,EAAY;MACdK,YAAA,GAAe,MAAMH,OAAA,CAAQc,UAAU,CAAC;QACtCC,IAAA,EAAMjB,UAAA;QACNQ,KAAA,EAAO;QACPC,KAAA,EAAO;QACPC,cAAA,EAAgB;QAChBT,MAAA,EAAQA,MAAA,EAAQU,IAAA;QAChBC,cAAA,EAAgB;QAChBT,GAAA,EAAK;UACHU,KAAA,EAAOV,GAAA,EAAKU,KAAA;UACZC,MAAA,EAAQX,GAAA,EAAKW,MAAA;UACbC,YAAA,EAAcZ,GAAA,EAAKY;QACrB;QACAX;MACF;IACF;EACF,EAAE,OAAOc,GAAA,EAAK;IACZvB,QAAA,CAAS;MAAEuB,GAAA;MAAKhB;IAAQ;EAC1B;EAEA,OAAOG,YAAA;AACT","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { hasSavePermission as getHasSavePermission, isEditing as getIsEditing } from '@payloadcms/ui/shared';
|
|
2
|
-
import { docAccessOperation, docAccessOperationGlobal } from 'payload';
|
|
2
|
+
import { docAccessOperation, docAccessOperationGlobal, logError } from 'payload';
|
|
3
3
|
export const getDocumentPermissions = async args => {
|
|
4
4
|
const {
|
|
5
5
|
id,
|
|
@@ -40,8 +40,11 @@ export const getDocumentPermissions = async args => {
|
|
|
40
40
|
}
|
|
41
41
|
}).then(permissions => permissions.update);
|
|
42
42
|
}
|
|
43
|
-
} catch (
|
|
44
|
-
|
|
43
|
+
} catch (err) {
|
|
44
|
+
logError({
|
|
45
|
+
err,
|
|
46
|
+
payload: req.payload
|
|
47
|
+
});
|
|
45
48
|
}
|
|
46
49
|
}
|
|
47
50
|
if (globalConfig) {
|
|
@@ -65,8 +68,11 @@ export const getDocumentPermissions = async args => {
|
|
|
65
68
|
}
|
|
66
69
|
}).then(permissions => permissions.update);
|
|
67
70
|
}
|
|
68
|
-
} catch (
|
|
69
|
-
|
|
71
|
+
} catch (err) {
|
|
72
|
+
logError({
|
|
73
|
+
err,
|
|
74
|
+
payload: req.payload
|
|
75
|
+
});
|
|
70
76
|
}
|
|
71
77
|
}
|
|
72
78
|
const hasSavePermission = getHasSavePermission({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDocumentPermissions.js","names":["hasSavePermission","getHasSavePermission","isEditing","getIsEditing","docAccessOperation","docAccessOperationGlobal","getDocumentPermissions","args","id","collectionConfig","data","globalConfig","req","docPermissions","hasPublishPermission","toString","collection","config","_status","versions","drafts","then","permissions","update","
|
|
1
|
+
{"version":3,"file":"getDocumentPermissions.js","names":["hasSavePermission","getHasSavePermission","isEditing","getIsEditing","docAccessOperation","docAccessOperationGlobal","logError","getDocumentPermissions","args","id","collectionConfig","data","globalConfig","req","docPermissions","hasPublishPermission","toString","collection","config","_status","versions","drafts","then","permissions","update","err","payload","collectionSlug","slug","globalSlug"],"sources":["../../../src/views/Document/getDocumentPermissions.tsx"],"sourcesContent":["import type {\n Data,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport {\n hasSavePermission as getHasSavePermission,\n isEditing as getIsEditing,\n} from '@payloadcms/ui/shared'\nimport { docAccessOperation, docAccessOperationGlobal, logError } from 'payload'\n\nexport const getDocumentPermissions = async (args: {\n collectionConfig?: SanitizedCollectionConfig\n data: Data\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n req: PayloadRequest\n}): Promise<{\n docPermissions: SanitizedDocumentPermissions\n hasPublishPermission: boolean\n hasSavePermission: boolean\n}> => {\n const { id, collectionConfig, data = {}, globalConfig, req } = args\n\n let docPermissions: SanitizedDocumentPermissions\n let hasPublishPermission = false\n\n if (collectionConfig) {\n try {\n docPermissions = await docAccessOperation({\n id: id?.toString(),\n collection: {\n config: collectionConfig,\n },\n req: {\n ...req,\n data: {\n ...data,\n _status: 'draft',\n },\n },\n })\n\n if (collectionConfig.versions?.drafts) {\n hasPublishPermission = await docAccessOperation({\n id: id?.toString(),\n collection: {\n config: collectionConfig,\n },\n req: {\n ...req,\n data: {\n ...data,\n _status: 'published',\n },\n },\n }).then((permissions) => permissions.update)\n }\n } catch (err) {\n logError({ err, payload: req.payload })\n }\n }\n\n if (globalConfig) {\n try {\n docPermissions = await docAccessOperationGlobal({\n globalConfig,\n req: {\n ...req,\n data,\n },\n })\n\n if (globalConfig.versions?.drafts) {\n hasPublishPermission = await docAccessOperationGlobal({\n globalConfig,\n req: {\n ...req,\n data: {\n ...data,\n _status: 'published',\n },\n },\n }).then((permissions) => permissions.update)\n }\n } catch (err) {\n logError({ err, payload: req.payload })\n }\n }\n\n const hasSavePermission = getHasSavePermission({\n collectionSlug: collectionConfig?.slug,\n docPermissions,\n globalSlug: globalConfig?.slug,\n isEditing: getIsEditing({\n id,\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n }),\n })\n\n return {\n docPermissions,\n hasPublishPermission,\n hasSavePermission,\n }\n}\n"],"mappings":"AAQA,SACEA,iBAAA,IAAqBC,oBAAoB,EACzCC,SAAA,IAAaC,YAAY,QACpB;AACP,SAASC,kBAAkB,EAAEC,wBAAwB,EAAEC,QAAQ,QAAQ;AAEvE,OAAO,MAAMC,sBAAA,GAAyB,MAAOC,IAAA;EAW3C,MAAM;IAAEC,EAAE;IAAEC,gBAAgB;IAAEC,IAAA,GAAO,CAAC,CAAC;IAAEC,YAAY;IAAEC;EAAG,CAAE,GAAGL,IAAA;EAE/D,IAAIM,cAAA;EACJ,IAAIC,oBAAA,GAAuB;EAE3B,IAAIL,gBAAA,EAAkB;IACpB,IAAI;MACFI,cAAA,GAAiB,MAAMV,kBAAA,CAAmB;QACxCK,EAAA,EAAIA,EAAA,EAAIO,QAAA;QACRC,UAAA,EAAY;UACVC,MAAA,EAAQR;QACV;QACAG,GAAA,EAAK;UACH,GAAGA,GAAG;UACNF,IAAA,EAAM;YACJ,GAAGA,IAAI;YACPQ,OAAA,EAAS;UACX;QACF;MACF;MAEA,IAAIT,gBAAA,CAAiBU,QAAQ,EAAEC,MAAA,EAAQ;QACrCN,oBAAA,GAAuB,MAAMX,kBAAA,CAAmB;UAC9CK,EAAA,EAAIA,EAAA,EAAIO,QAAA;UACRC,UAAA,EAAY;YACVC,MAAA,EAAQR;UACV;UACAG,GAAA,EAAK;YACH,GAAGA,GAAG;YACNF,IAAA,EAAM;cACJ,GAAGA,IAAI;cACPQ,OAAA,EAAS;YACX;UACF;QACF,GAAGG,IAAI,CAAEC,WAAA,IAAgBA,WAAA,CAAYC,MAAM;MAC7C;IACF,EAAE,OAAOC,GAAA,EAAK;MACZnB,QAAA,CAAS;QAAEmB,GAAA;QAAKC,OAAA,EAASb,GAAA,CAAIa;MAAQ;IACvC;EACF;EAEA,IAAId,YAAA,EAAc;IAChB,IAAI;MACFE,cAAA,GAAiB,MAAMT,wBAAA,CAAyB;QAC9CO,YAAA;QACAC,GAAA,EAAK;UACH,GAAGA,GAAG;UACNF;QACF;MACF;MAEA,IAAIC,YAAA,CAAaQ,QAAQ,EAAEC,MAAA,EAAQ;QACjCN,oBAAA,GAAuB,MAAMV,wBAAA,CAAyB;UACpDO,YAAA;UACAC,GAAA,EAAK;YACH,GAAGA,GAAG;YACNF,IAAA,EAAM;cACJ,GAAGA,IAAI;cACPQ,OAAA,EAAS;YACX;UACF;QACF,GAAGG,IAAI,CAAEC,WAAA,IAAgBA,WAAA,CAAYC,MAAM;MAC7C;IACF,EAAE,OAAOC,GAAA,EAAK;MACZnB,QAAA,CAAS;QAAEmB,GAAA;QAAKC,OAAA,EAASb,GAAA,CAAIa;MAAQ;IACvC;EACF;EAEA,MAAM1B,iBAAA,GAAoBC,oBAAA,CAAqB;IAC7C0B,cAAA,EAAgBjB,gBAAA,EAAkBkB,IAAA;IAClCd,cAAA;IACAe,UAAA,EAAYjB,YAAA,EAAcgB,IAAA;IAC1B1B,SAAA,EAAWC,YAAA,CAAa;MACtBM,EAAA;MACAkB,cAAA,EAAgBjB,gBAAA,EAAkBkB,IAAA;MAClCC,UAAA,EAAYjB,YAAA,EAAcgB;IAC5B;EACF;EAEA,OAAO;IACLd,cAAA;IACAC,oBAAA;IACAf;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAA6C,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAA6C,MAAM,SAAS,CAAA;AAQ9F,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAKhG,eAAO,MAAM,cAAc,yKAWxB;IACD,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC,GAAG,cAAc,KAAG,OAAO,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA6UA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAe7C,CAAA"}
|
|
@@ -4,6 +4,7 @@ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerCompo
|
|
|
4
4
|
import { formatAdminURL, isEditing as getIsEditing } from '@payloadcms/ui/shared';
|
|
5
5
|
import { buildFormState } from '@payloadcms/ui/utilities/buildFormState';
|
|
6
6
|
import { notFound, redirect } from 'next/navigation.js';
|
|
7
|
+
import { logError } from 'payload';
|
|
7
8
|
import React from 'react';
|
|
8
9
|
import { DocumentHeader } from '../../elements/DocumentHeader/index.js';
|
|
9
10
|
import { NotFoundView } from '../NotFound/index.js';
|
|
@@ -75,6 +76,7 @@ export const renderDocument = async ({
|
|
|
75
76
|
globalSlug,
|
|
76
77
|
locale,
|
|
77
78
|
payload,
|
|
79
|
+
req,
|
|
78
80
|
user
|
|
79
81
|
}));
|
|
80
82
|
if (isEditing && !doc) {
|
|
@@ -324,7 +326,10 @@ export const Document = async args => {
|
|
|
324
326
|
if (error?.message === 'NEXT_REDIRECT') {
|
|
325
327
|
throw error;
|
|
326
328
|
}
|
|
327
|
-
|
|
329
|
+
logError({
|
|
330
|
+
err: error,
|
|
331
|
+
payload: args.initPageResult.req.payload
|
|
332
|
+
});
|
|
328
333
|
if (error.message === 'not-found') {
|
|
329
334
|
notFound();
|
|
330
335
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","formatAdminURL","isEditing","getIsEditing","buildFormState","notFound","redirect","React","DocumentHeader","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getMetaBySegment","getVersions","getViewsFromConfig","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterDelete","redirectAfterDuplicate","searchParams","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","RootViewOverride","CustomView","DefaultView","ErrorView","apiURL","doc","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","Promise","all","data","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","operation","renderAllFields","schemaPath","serverProps","routeSegments","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","apiQueryParams","toString","components","views","edit","root","Component","collectionViews","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","create","collection","depth","draft","redirectURL","path","documentSlots","clientProps","Document","_jsxs","initialState","_jsx","ComponentConfig","RenderedDocument","error","message","logger"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type { AdminViewProps, Data, PayloadComponent, ServerSideEditViewProps } from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL, isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\nimport type { ViewFromConfig } from './getViewsFromConfig.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\n// This function will be responsible for rendering an Edit Document view\n// it will be called on the server for Edit page views as well as\n// called on-demand from document drawers\nexport const renderDocument = async ({\n disableActions,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams,\n}: {\n overrideEntityVisibility?: boolean\n} & AdminViewProps): 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 let RootViewOverride: PayloadComponent\n let CustomView: ViewFromConfig<ServerSideEditViewProps>\n let DefaultView: ViewFromConfig<ServerSideEditViewProps>\n let ErrorView: ViewFromConfig<AdminViewProps>\n\n let apiURL: string\n\n // Fetch the doc required for the view\n let doc =\n initialData ||\n (await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n user,\n }))\n\n if (isEditing && !doc) {\n throw new Error('not-found')\n }\n\n const [\n docPreferences,\n { docPermissions, hasPublishPermission, hasSavePermission },\n { currentEditor, isLocked, lastUpdateTime },\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\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req,\n }),\n\n // Fetch document lock state\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n }),\n ])\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: (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n }),\n ])\n\n const serverProps: ServerSideEditViewProps = {\n doc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n }\n\n if (collectionConfig) {\n if (\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug) &&\n !overrideEntityVisibility\n ) {\n throw new Error('not-found')\n }\n\n const params = new URLSearchParams()\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n\n 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 : null\n\n if (!RootViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n throw new Error('not-found')\n }\n\n const params = new URLSearchParams({\n locale: locale?.code,\n })\n\n if (globalConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n\n RootViewOverride =\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 const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\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 =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\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) {\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 collectionConfig,\n globalConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n\n const clientProps = { formState, ...documentSlots }\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 key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n {!RootViewOverride && !drawerSlug && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {ErrorView\n ? RenderServerComponent({\n clientProps,\n Component: ErrorView.ComponentConfig || ErrorView.Component,\n importMap,\n serverProps,\n })\n : RenderServerComponent({\n clientProps,\n Component: RootViewOverride\n ? RootViewOverride\n : CustomView?.ComponentConfig || CustomView?.Component\n ? CustomView?.ComponentConfig || CustomView?.Component\n : DefaultView?.ComponentConfig || DefaultView?.Component,\n importMap,\n serverProps,\n })}\n </EditDepthProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport const Document: React.FC<AdminViewProps> = async (args) => {\n try {\n const { Document: RenderedDocument } = await renderDocument(args)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n args.initPageResult.req.payload.logger.error(error)\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","formatAdminURL","isEditing","getIsEditing","buildFormState","notFound","redirect","logError","React","DocumentHeader","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getMetaBySegment","getVersions","getViewsFromConfig","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterDelete","redirectAfterDuplicate","searchParams","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","RootViewOverride","CustomView","DefaultView","ErrorView","apiURL","doc","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","Promise","all","data","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","operation","renderAllFields","schemaPath","serverProps","routeSegments","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","apiQueryParams","toString","components","views","edit","root","Component","collectionViews","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","create","collection","depth","draft","redirectURL","path","documentSlots","clientProps","Document","_jsxs","initialState","_jsx","ComponentConfig","RenderedDocument","error","message","err"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type { AdminViewProps, Data, PayloadComponent, ServerSideEditViewProps } from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL, isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { logError } from 'payload'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\nimport type { ViewFromConfig } from './getViewsFromConfig.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\n// This function will be responsible for rendering an Edit Document view\n// it will be called on the server for Edit page views as well as\n// called on-demand from document drawers\nexport const renderDocument = async ({\n disableActions,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams,\n}: {\n overrideEntityVisibility?: boolean\n} & AdminViewProps): 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 let RootViewOverride: PayloadComponent\n let CustomView: ViewFromConfig<ServerSideEditViewProps>\n let DefaultView: ViewFromConfig<ServerSideEditViewProps>\n let ErrorView: ViewFromConfig<AdminViewProps>\n\n let apiURL: string\n\n // Fetch the doc required for the view\n let doc =\n initialData ||\n (await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n user,\n }))\n\n if (isEditing && !doc) {\n throw new Error('not-found')\n }\n\n const [\n docPreferences,\n { docPermissions, hasPublishPermission, hasSavePermission },\n { currentEditor, isLocked, lastUpdateTime },\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\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req,\n }),\n\n // Fetch document lock state\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n }),\n ])\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: (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n }),\n ])\n\n const serverProps: ServerSideEditViewProps = {\n doc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n }\n\n if (collectionConfig) {\n if (\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug) &&\n !overrideEntityVisibility\n ) {\n throw new Error('not-found')\n }\n\n const params = new URLSearchParams()\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n\n 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 : null\n\n if (!RootViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n throw new Error('not-found')\n }\n\n const params = new URLSearchParams({\n locale: locale?.code,\n })\n\n if (globalConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n\n RootViewOverride =\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 const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\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 =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\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) {\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 collectionConfig,\n globalConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n\n const clientProps = { formState, ...documentSlots }\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 key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n {!RootViewOverride && !drawerSlug && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {ErrorView\n ? RenderServerComponent({\n clientProps,\n Component: ErrorView.ComponentConfig || ErrorView.Component,\n importMap,\n serverProps,\n })\n : RenderServerComponent({\n clientProps,\n Component: RootViewOverride\n ? RootViewOverride\n : CustomView?.ComponentConfig || CustomView?.Component\n ? CustomView?.ComponentConfig || CustomView?.Component\n : DefaultView?.ComponentConfig || DefaultView?.Component,\n importMap,\n serverProps,\n })}\n </EditDepthProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport const Document: React.FC<AdminViewProps> = async (args) => {\n try {\n const { Document: RenderedDocument } = await renderDocument(args)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n\n logError({ err: error, payload: args.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuC,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAK3F,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIrD,OAAO,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuC,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAK3F,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIrD,OAAO,cAAc,CAAA;AAwFrB,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CA2DvE,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -20,6 +20,7 @@ const generateLabelFromValue = (collections, field, locale, value) => {
|
|
|
20
20
|
let valueToReturn = '';
|
|
21
21
|
const relationTo = 'relationTo' in field ? field.relationTo : undefined;
|
|
22
22
|
if (value === null || typeof value === 'undefined') {
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string -- We want to return a string specifilly for null and undefined
|
|
23
24
|
return String(value);
|
|
24
25
|
}
|
|
25
26
|
if (typeof value === 'object' && 'relationTo' in value) {
|
|
@@ -43,18 +44,18 @@ const generateLabelFromValue = (collections, field, locale, value) => {
|
|
|
43
44
|
} else {
|
|
44
45
|
valueToReturn = relatedDoc;
|
|
45
46
|
}
|
|
46
|
-
if (typeof valueToReturn === 'object' && titleFieldIsLocalized) {
|
|
47
|
+
if (typeof valueToReturn === 'object' && titleFieldIsLocalized && valueToReturn?.[locale]) {
|
|
47
48
|
valueToReturn = valueToReturn[locale];
|
|
48
49
|
}
|
|
49
50
|
} else if (relatedDoc) {
|
|
50
51
|
// Handle non-polymorphic `hasMany` relationships or fallback
|
|
51
52
|
if (typeof relatedDoc?.id !== 'undefined') {
|
|
52
|
-
valueToReturn = relatedDoc.id;
|
|
53
|
+
valueToReturn = String(relatedDoc.id);
|
|
53
54
|
} else {
|
|
54
55
|
valueToReturn = relatedDoc;
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
|
-
if (typeof valueToReturn === 'object' && valueToReturn !== null) {
|
|
58
|
+
if (valueToReturn && typeof valueToReturn === 'object' && valueToReturn !== null || typeof valueToReturn !== 'string') {
|
|
58
59
|
valueToReturn = JSON.stringify(valueToReturn);
|
|
59
60
|
}
|
|
60
61
|
return valueToReturn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","useConfig","fieldAffectsData","fieldIsPresentationalOnly","React","ReactDiffViewerImport","Label","diffStyles","ReactDiffViewer","default","baseClass","generateLabelFromValue","collections","field","locale","value","Array","isArray","map","v","filter","Boolean","join","relatedDoc","valueToReturn","relationTo","undefined","String","relatedCollection","find","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","localized","id","JSON","stringify","Relationship","t0","$","comparison","i18n","version","placeholder","t","config","t1","t2","versionToRender","comparisonToRender","hasMany","val","val_0","label","t3","_jsx","className","children","_jsxs","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, RelationshipFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig } from '@payloadcms/ui'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React from 'react'\nimport ReactDiffViewerImport from 'react-diff-viewer-continued'\n\nimport type { DiffComponentProps } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport './index.scss'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: ClientField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n): string => {\n if (Array.isArray(value)) {\n return value\n .map((v) => generateLabelFromValue(collections, field, locale, v))\n .filter(Boolean) // Filters out any undefined or empty values\n .join(', ')\n }\n\n let relatedDoc: RelationshipValue\n let valueToReturn = ''
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","useConfig","fieldAffectsData","fieldIsPresentationalOnly","React","ReactDiffViewerImport","Label","diffStyles","ReactDiffViewer","default","baseClass","generateLabelFromValue","collections","field","locale","value","Array","isArray","map","v","filter","Boolean","join","relatedDoc","valueToReturn","relationTo","undefined","String","relatedCollection","find","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","localized","id","JSON","stringify","Relationship","t0","$","comparison","i18n","version","placeholder","t","config","t1","t2","versionToRender","comparisonToRender","hasMany","val","val_0","label","t3","_jsx","className","children","_jsxs","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientField, RelationshipFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig } from '@payloadcms/ui'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React from 'react'\nimport ReactDiffViewerImport from 'react-diff-viewer-continued'\n\nimport type { DiffComponentProps } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport './index.scss'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: ClientField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n): string => {\n if (Array.isArray(value)) {\n return value\n .map((v) => generateLabelFromValue(collections, field, locale, v))\n .filter(Boolean) // Filters out any undefined or empty values\n .join(', ')\n }\n\n let relatedDoc: RelationshipValue\n let valueToReturn: RelationshipValue | string = ''\n\n const relationTo = 'relationTo' in field ? field.relationTo : undefined\n\n if (value === null || typeof value === 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string -- We want to return a string specifilly for null and undefined\n return String(value)\n }\n\n if (typeof value === 'object' && 'relationTo' in value) {\n relatedDoc = value.value\n } else {\n // Non-polymorphic relationship\n relatedDoc = value\n }\n\n const relatedCollection = relationTo\n ? collections.find(\n (c) =>\n c.slug ===\n (typeof value === 'object' && 'relationTo' in value ? value.relationTo : relationTo),\n )\n : null\n\n if (relatedCollection) {\n const useAsTitle = relatedCollection?.admin?.useAsTitle\n const useAsTitleField = relatedCollection.fields.find(\n (f) => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle,\n )\n let titleFieldIsLocalized = false\n\n if (useAsTitleField && fieldAffectsData(useAsTitleField)) {\n titleFieldIsLocalized = useAsTitleField.localized\n }\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = relatedDoc.id\n } else {\n valueToReturn = relatedDoc\n }\n\n if (typeof valueToReturn === 'object' && titleFieldIsLocalized && valueToReturn?.[locale]) {\n valueToReturn = valueToReturn[locale]\n }\n } else if (relatedDoc) {\n // Handle non-polymorphic `hasMany` relationships or fallback\n if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = String(relatedDoc.id)\n } else {\n valueToReturn = relatedDoc\n }\n }\n\n if (\n (valueToReturn && typeof valueToReturn === 'object' && valueToReturn !== null) ||\n typeof valueToReturn !== 'string'\n ) {\n valueToReturn = JSON.stringify(valueToReturn)\n }\n\n return valueToReturn\n}\n\nconst Relationship: React.FC<DiffComponentProps<RelationshipFieldClient>> = ({\n comparison,\n field,\n i18n,\n locale,\n version,\n}) => {\n const placeholder = `[${i18n.t('general:noValue')}]`\n\n const {\n config: { collections },\n } = useConfig()\n\n let versionToRender: string | undefined = placeholder\n let comparisonToRender: string | undefined = placeholder\n\n if (version) {\n if ('hasMany' in field && field.hasMany && Array.isArray(version)) {\n versionToRender =\n version.map((val) => generateLabelFromValue(collections, field, locale, val)).join(', ') ||\n placeholder\n } else {\n versionToRender = generateLabelFromValue(collections, field, locale, version) || placeholder\n }\n }\n\n if (comparison) {\n if ('hasMany' in field && field.hasMany && Array.isArray(comparison)) {\n comparisonToRender =\n comparison\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ') || placeholder\n } else {\n comparisonToRender =\n generateLabelFromValue(collections, field, locale, comparison) || placeholder\n }\n }\n\n const label =\n 'label' in field && typeof field.label !== 'boolean' && typeof field.label !== 'function'\n ? field.label\n : ''\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(label, i18n)}\n </Label>\n <ReactDiffViewer\n hideLineNumbers\n newValue={versionToRender}\n oldValue={comparisonToRender}\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n </div>\n )\n}\n\nexport default Relationship\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLatestVersion.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/getLatestVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"getLatestVersion.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/getLatestVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,SAAS,CAAA;AAI7C,KAAK,UAAU,GAAG;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAAA;AAER,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,GAAG,WAAW,CAAA;IAC7B,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAA;CAC9B,CAAA;AACD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAqDtE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { logError } from 'payload';
|
|
1
2
|
export async function getLatestVersion(args) {
|
|
2
3
|
const {
|
|
3
4
|
slug,
|
|
@@ -41,8 +42,11 @@ export async function getLatestVersion(args) {
|
|
|
41
42
|
id: response.docs[0].id,
|
|
42
43
|
updatedAt: response.docs[0].updatedAt
|
|
43
44
|
};
|
|
44
|
-
} catch (
|
|
45
|
-
|
|
45
|
+
} catch (err) {
|
|
46
|
+
logError({
|
|
47
|
+
err,
|
|
48
|
+
payload
|
|
49
|
+
});
|
|
46
50
|
return null;
|
|
47
51
|
}
|
|
48
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLatestVersion.js","names":["getLatestVersion","args","slug","type","parentID","payload","status","and","equals","push","parent","sharedOptions","depth","limit","sort","where","response","findVersions","collection","findGlobalVersions","docs","length","id","updatedAt","
|
|
1
|
+
{"version":3,"file":"getLatestVersion.js","names":["logError","getLatestVersion","args","slug","type","parentID","payload","status","and","equals","push","parent","sharedOptions","depth","limit","sort","where","response","findVersions","collection","findGlobalVersions","docs","length","id","updatedAt","err"],"sources":["../../../src/views/Versions/getLatestVersion.ts"],"sourcesContent":["import type { Payload, Where } from 'payload'\n\nimport { logError } from 'payload'\n\ntype ReturnType = {\n id: string\n updatedAt: string\n} | null\n\ntype Args = {\n parentID?: number | string\n payload: Payload\n slug: string\n status: 'draft' | 'published'\n type: 'collection' | 'global'\n}\nexport async function getLatestVersion(args: Args): Promise<ReturnType> {\n const { slug, type = 'collection', parentID, payload, status } = args\n\n const and: Where[] = [\n {\n 'version._status': {\n equals: status,\n },\n },\n ]\n\n if (type === 'collection' && parentID) {\n and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n try {\n const sharedOptions = {\n depth: 0,\n limit: 1,\n sort: '-updatedAt',\n where: {\n and,\n },\n }\n\n const response =\n type === 'collection'\n ? await payload.findVersions({\n collection: slug,\n ...sharedOptions,\n })\n : await payload.findGlobalVersions({\n slug,\n ...sharedOptions,\n })\n\n if (!response.docs.length) {\n return null\n }\n\n return {\n id: response.docs[0].id,\n updatedAt: response.docs[0].updatedAt,\n }\n } catch (err) {\n logError({ err, payload })\n\n return null\n }\n}\n"],"mappings":"AAEA,SAASA,QAAQ,QAAQ;AAczB,OAAO,eAAeC,iBAAiBC,IAAU;EAC/C,MAAM;IAAEC,IAAI;IAAEC,IAAA,GAAO,YAAY;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAM,CAAE,GAAGL,IAAA;EAEjE,MAAMM,GAAA,GAAe,CACnB;IACE,mBAAmB;MACjBC,MAAA,EAAQF;IACV;EACF,EACD;EAED,IAAIH,IAAA,KAAS,gBAAgBC,QAAA,EAAU;IACrCG,GAAA,CAAIE,IAAI,CAAC;MACPC,MAAA,EAAQ;QACNF,MAAA,EAAQJ;MACV;IACF;EACF;EAEA,IAAI;IACF,MAAMO,aAAA,GAAgB;MACpBC,KAAA,EAAO;MACPC,KAAA,EAAO;MACPC,IAAA,EAAM;MACNC,KAAA,EAAO;QACLR;MACF;IACF;IAEA,MAAMS,QAAA,GACJb,IAAA,KAAS,eACL,MAAME,OAAA,CAAQY,YAAY,CAAC;MACzBC,UAAA,EAAYhB,IAAA;MACZ,GAAGS;IACL,KACA,MAAMN,OAAA,CAAQc,kBAAkB,CAAC;MAC/BjB,IAAA;MACA,GAAGS;IACL;IAEN,IAAI,CAACK,QAAA,CAASI,IAAI,CAACC,MAAM,EAAE;MACzB,OAAO;IACT;IAEA,OAAO;MACLC,EAAA,EAAIN,QAAA,CAASI,IAAI,CAAC,EAAE,CAACE,EAAE;MACvBC,SAAA,EAAWP,QAAA,CAASI,IAAI,CAAC,EAAE,CAACG;IAC9B;EACF,EAAE,OAAOC,GAAA,EAAK;IACZzB,QAAA,CAAS;MAAEyB,GAAA;MAAKnB;IAAQ;IAExB,OAAO;EACT;AACF","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type EditViewComponent, type PayloadServerReactComponent } from 'payload';
|
|
2
2
|
import './index.scss';
|
|
3
3
|
export declare const baseClass = "versions";
|
|
4
4
|
export declare const VersionsView: PayloadServerReactComponent<EditViewComponent>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,iBAAiB,EAGtB,KAAK,2BAA2B,EACjC,MAAM,SAAS,CAAA;AAOhB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,aAAa,CAAA;AAEnC,eAAO,MAAM,YAAY,EAAE,2BAA2B,CAAC,iBAAiB,CAmMvE,CAAA"}
|