@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/Version/index.tsx"],"sourcesContent":["import type {\n DocumentViewServerProps,\n Locale,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n TypeWithVersion,\n} from 'payload'\n\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { getClientSchemaMap } from '@payloadcms/ui/utilities/getClientSchemaMap'\nimport { getSchemaMap } from '@payloadcms/ui/utilities/getSchemaMap'\nimport { notFound } from 'next/navigation.js'\nimport { hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { CompareOption } from './Default/types.js'\n\nimport { DefaultVersionView } from './Default/index.js'\nimport { fetchLatestVersion, fetchVersion, fetchVersions } from './fetchVersions.js'\nimport { RenderDiff } from './RenderFieldsToDiff/index.js'\nimport { getVersionLabel } from './VersionPillLabel/getVersionLabel.js'\nimport { VersionPillLabel } from './VersionPillLabel/VersionPillLabel.js'\n\nexport async function VersionView(props: DocumentViewServerProps) {\n const { hasPublishedDoc, i18n, initPageResult, routeSegments, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req,\n req: { payload, payload: { config, config: { localization } } = {}, user } = {},\n } = initPageResult\n\n const versionToID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n const localeCodesFromParams = searchParams.localeCodes\n ? JSON.parse(searchParams.localeCodes as string)\n : null\n\n const versionFromIDFromParams = searchParams.versionFrom as string\n\n const modifiedOnly: boolean = searchParams.modifiedOnly === 'false' ? false : true\n\n const docPermissions: SanitizedCollectionPermission | SanitizedGlobalPermission = collectionSlug\n ? permissions.collections[collectionSlug]\n : permissions.globals[globalSlug]\n\n const versionTo = await fetchVersion<{\n _status?: string\n }>({\n id: versionToID,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n\n if (!versionTo) {\n return notFound()\n }\n\n const [\n previousVersionResult,\n versionFromResult,\n currentlyPublishedVersion,\n latestDraftVersion,\n previousPublishedVersionResult,\n ] = await Promise.all([\n // Previous version (the one before the versionTo)\n fetchVersions({\n collectionSlug,\n // If versionFromIDFromParams is provided, the previous version is only used in the version comparison dropdown => depth 0 is enough.\n // If it's not provided, this is used as `versionFrom` in the comparison, which expects populated data => depth 1 is needed.\n depth: versionFromIDFromParams ? 0 : 1,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n ],\n },\n }),\n // Version from ID from params\n (versionFromIDFromParams\n ? fetchVersion({\n id: versionFromIDFromParams,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n : Promise.resolve(null)) as Promise<null | TypeWithVersion<object>>,\n // Currently published version - do note: currently published != latest published, as an unpublished version can be the latest published\n hasPublishedDoc\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n status: 'published',\n user,\n })\n : Promise.resolve(null),\n // Latest draft version\n draftsEnabled\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n status: 'draft',\n user,\n })\n : Promise.resolve(null),\n // Previous published version\n // Only query for published versions if drafts are enabled (since _status field only exists with drafts)\n draftsEnabled\n ? fetchVersions({\n collectionSlug,\n depth: 0,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n {\n 'version._status': {\n equals: 'published',\n },\n },\n ],\n },\n })\n : Promise.resolve(null),\n ])\n\n const previousVersion: null | TypeWithVersion<object> = previousVersionResult?.docs?.[0] ?? null\n\n const versionFrom =\n versionFromResult ||\n // By default, we'll compare the previous version. => versionFrom = version previous to versionTo\n previousVersion\n\n // Previous published version before the versionTo\n const previousPublishedVersion = previousPublishedVersionResult?.docs?.[0] ?? null\n\n let selectedLocales: string[] = []\n if (localization) {\n let locales: Locale[] = []\n if (localeCodesFromParams) {\n for (const code of localeCodesFromParams) {\n const locale = localization.locales.find((locale) => locale.code === code)\n if (!locale) {\n continue\n }\n locales.push(locale)\n }\n } else {\n locales = localization.locales\n }\n\n if (localization.filterAvailableLocales) {\n locales = (await localization.filterAvailableLocales({ locales, req })) || []\n }\n\n selectedLocales = locales.map((locale) => locale.code)\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({\n config: payload.config,\n i18n,\n importMap: payload.importMap,\n user,\n }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n const RenderedDiff = RenderDiff({\n clientSchemaMap,\n customDiffComponents: {},\n entitySlug: collectionSlug || globalSlug,\n fields: (collectionConfig || globalConfig)?.fields,\n fieldsPermissions: docPermissions?.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: '',\n parentIsLocalized: false,\n parentPath: '',\n parentSchemaPath: '',\n req,\n selectedLocales,\n versionFromSiblingData: {\n ...versionFrom?.version,\n updatedAt: versionFrom?.updatedAt,\n },\n versionToSiblingData: {\n ...versionTo.version,\n updatedAt: versionTo.updatedAt,\n },\n })\n\n const versionToCreatedAtFormatted = versionTo.updatedAt\n ? formatDate({\n date:\n typeof versionTo.updatedAt === 'string'\n ? new Date(versionTo.updatedAt)\n : (versionTo.updatedAt as Date),\n i18n,\n pattern: config.admin.dateFormat,\n })\n : ''\n\n const formatPill = ({\n doc,\n labelOverride,\n labelStyle,\n labelSuffix,\n }: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n labelStyle?: 'pill' | 'text'\n labelSuffix?: React.ReactNode\n }): React.ReactNode => {\n return (\n <VersionPillLabel\n currentlyPublishedVersion={currentlyPublishedVersion}\n doc={doc}\n key={doc.id}\n labelFirst={true}\n labelOverride={labelOverride}\n labelStyle={labelStyle ?? 'text'}\n labelSuffix={labelSuffix}\n latestDraftVersion={latestDraftVersion}\n />\n )\n }\n\n // SelectComparison Options:\n //\n // Previous version: always, unless doesn't exist. Can be the same as previously published\n // Latest draft: only if no newer published exists (latestDraftVersion)\n // Currently published: always, if exists\n // Previously published: if there is a prior published version older than versionTo\n // Specific Version: only if not already present under other label (= versionFrom)\n\n let versionFromOptions: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n updatedAt: Date\n value: string\n }[] = []\n\n // Previous version\n if (previousVersion?.id) {\n versionFromOptions.push({\n doc: previousVersion,\n labelOverride: i18n.t('version:previousVersion'),\n updatedAt: new Date(previousVersion.updatedAt),\n value: previousVersion.id,\n })\n }\n\n // Latest Draft\n const publishedNewerThanDraft =\n currentlyPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n if (latestDraftVersion && !publishedNewerThanDraft) {\n versionFromOptions.push({\n doc: latestDraftVersion,\n updatedAt: new Date(latestDraftVersion.updatedAt),\n value: latestDraftVersion.id,\n })\n }\n\n // Currently Published\n if (currentlyPublishedVersion) {\n versionFromOptions.push({\n doc: currentlyPublishedVersion,\n updatedAt: new Date(currentlyPublishedVersion.updatedAt),\n value: currentlyPublishedVersion.id,\n })\n }\n\n // Previous Published\n if (previousPublishedVersion && currentlyPublishedVersion?.id !== previousPublishedVersion.id) {\n versionFromOptions.push({\n doc: previousPublishedVersion,\n labelOverride: i18n.t('version:previouslyPublished'),\n updatedAt: new Date(previousPublishedVersion.updatedAt),\n value: previousPublishedVersion.id,\n })\n }\n\n // Specific Version\n if (versionFrom?.id && !versionFromOptions.some((option) => option.value === versionFrom.id)) {\n // Only add \"specific version\" if it is not already in the options\n versionFromOptions.push({\n doc: versionFrom,\n labelOverride: i18n.t('version:specificVersion'),\n updatedAt: new Date(versionFrom.updatedAt),\n value: versionFrom.id,\n })\n }\n\n versionFromOptions = versionFromOptions.sort((a, b) => {\n // Sort by updatedAt, newest first\n if (a && b) {\n return b.updatedAt.getTime() - a.updatedAt.getTime()\n }\n return 0\n })\n\n const versionToIsVersionFrom = versionFrom?.id === versionTo.id\n\n const versionFromComparisonOptions: CompareOption[] = []\n\n for (const option of versionFromOptions) {\n const isVersionTo = option.value === versionTo.id\n\n if (isVersionTo && !versionToIsVersionFrom) {\n // Don't offer selecting a versionFrom that is the same as versionTo, unless it's already selected\n continue\n }\n\n const alreadyAdded = versionFromComparisonOptions.some(\n (existingOption) => existingOption.value === option.value,\n )\n if (alreadyAdded) {\n continue\n }\n\n const otherOptionsWithSameID = versionFromOptions.filter(\n (existingOption) => existingOption.value === option.value && existingOption !== option,\n )\n\n // Merge options with same ID to the same option\n const labelSuffix = otherOptionsWithSameID?.length ? (\n <span key={`${option.value}-suffix`}>\n {' ('}\n {otherOptionsWithSameID.map((optionWithSameID, index) => {\n const label =\n optionWithSameID.labelOverride ||\n getVersionLabel({\n currentlyPublishedVersion,\n latestDraftVersion,\n t: i18n.t,\n version: optionWithSameID.doc,\n }).label\n\n return (\n <React.Fragment key={`${optionWithSameID.value}-${index}`}>\n {index > 0 ? ', ' : ''}\n {label}\n </React.Fragment>\n )\n })}\n {')'}\n </span>\n ) : undefined\n\n versionFromComparisonOptions.push({\n label: formatPill({\n doc: option.doc,\n labelOverride: option.labelOverride,\n labelSuffix,\n }),\n value: option.value,\n })\n }\n\n return (\n <DefaultVersionView\n canUpdate={docPermissions?.update}\n modifiedOnly={modifiedOnly}\n RenderedDiff={RenderedDiff}\n selectedLocales={selectedLocales}\n versionFromCreatedAt={versionFrom?.createdAt}\n versionFromID={versionFrom?.id}\n versionFromOptions={versionFromComparisonOptions}\n versionToCreatedAt={versionTo.createdAt}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n VersionToCreatedAtLabel={formatPill({ doc: versionTo, labelStyle: 'pill' })}\n versionToID={versionTo.id}\n versionToStatus={versionTo.version?._status}\n />\n )\n}\n"],"names":["formatDate","getClientConfig","getClientSchemaMap","getSchemaMap","notFound","hasDraftsEnabled","React","DefaultVersionView","fetchLatestVersion","fetchVersion","fetchVersions","RenderDiff","getVersionLabel","VersionPillLabel","VersionView","props","hasPublishedDoc","i18n","initPageResult","routeSegments","searchParams","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","localization","user","versionToID","length","collectionSlug","slug","globalSlug","draftsEnabled","localeCodesFromParams","localeCodes","JSON","parse","versionFromIDFromParams","versionFrom","modifiedOnly","docPermissions","collections","globals","versionTo","depth","locale","overrideAccess","previousVersionResult","versionFromResult","currentlyPublishedVersion","latestDraftVersion","previousPublishedVersionResult","Promise","all","draft","limit","parentID","sort","where","and","updatedAt","less_than","resolve","status","equals","previousVersion","docs","previousPublishedVersion","selectedLocales","locales","code","find","push","filterAvailableLocales","map","schemaMap","clientSchemaMap","importMap","RenderedDiff","customDiffComponents","entitySlug","fields","fieldsPermissions","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","versionFromSiblingData","version","versionToSiblingData","versionToCreatedAtFormatted","date","Date","pattern","admin","dateFormat","formatPill","doc","labelOverride","labelStyle","labelSuffix","labelFirst","versionFromOptions","t","value","publishedNewerThanDraft","some","option","a","b","getTime","versionToIsVersionFrom","versionFromComparisonOptions","isVersionTo","alreadyAdded","existingOption","otherOptionsWithSameID","filter","span","optionWithSameID","index","label","Fragment","undefined","canUpdate","update","versionFromCreatedAt","createdAt","versionFromID","versionToCreatedAt","VersionToCreatedAtLabel","versionToStatus","_status"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type {\n DocumentViewServerProps,\n Locale,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n TypeWithVersion,\n} from 'payload'\n\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { getClientSchemaMap } from '@payloadcms/ui/utilities/getClientSchemaMap'\nimport { getSchemaMap } from '@payloadcms/ui/utilities/getSchemaMap'\nimport { notFound } from 'next/navigation.js'\nimport { hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { CompareOption } from './Default/types.js'\n\nimport { DefaultVersionView } from './Default/index.js'\nimport { fetchLatestVersion, fetchVersion, fetchVersions } from './fetchVersions.js'\nimport { RenderDiff } from './RenderFieldsToDiff/index.js'\nimport { getVersionLabel } from './VersionPillLabel/getVersionLabel.js'\nimport { VersionPillLabel } from './VersionPillLabel/VersionPillLabel.js'\n\nexport async function VersionView(props: DocumentViewServerProps) {\n const { hasPublishedDoc, i18n, initPageResult, routeSegments, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req,\n req: { payload, payload: { config, config: { localization } } = {}, user } = {},\n } = initPageResult\n\n const versionToID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const draftsEnabled = hasDraftsEnabled(collectionConfig || globalConfig)\n\n const localeCodesFromParams = searchParams.localeCodes\n ? JSON.parse(searchParams.localeCodes as string)\n : null\n\n const versionFromIDFromParams = searchParams.versionFrom as string\n\n const modifiedOnly: boolean = searchParams.modifiedOnly === 'false' ? false : true\n\n const docPermissions: SanitizedCollectionPermission | SanitizedGlobalPermission = collectionSlug\n ? permissions.collections[collectionSlug]\n : permissions.globals[globalSlug]\n\n const versionTo = await fetchVersion<{\n _status?: string\n }>({\n id: versionToID,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n\n if (!versionTo) {\n return notFound()\n }\n\n const [\n previousVersionResult,\n versionFromResult,\n currentlyPublishedVersion,\n latestDraftVersion,\n previousPublishedVersionResult,\n ] = await Promise.all([\n // Previous version (the one before the versionTo)\n fetchVersions({\n collectionSlug,\n // If versionFromIDFromParams is provided, the previous version is only used in the version comparison dropdown => depth 0 is enough.\n // If it's not provided, this is used as `versionFrom` in the comparison, which expects populated data => depth 1 is needed.\n depth: versionFromIDFromParams ? 0 : 1,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n ],\n },\n }),\n // Version from ID from params\n (versionFromIDFromParams\n ? fetchVersion({\n id: versionFromIDFromParams,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n : Promise.resolve(null)) as Promise<null | TypeWithVersion<object>>,\n // Currently published version - do note: currently published != latest published, as an unpublished version can be the latest published\n hasPublishedDoc\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n status: 'published',\n user,\n })\n : Promise.resolve(null),\n // Latest draft version\n draftsEnabled\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n status: 'draft',\n user,\n })\n : Promise.resolve(null),\n // Previous published version\n // Only query for published versions if drafts are enabled (since _status field only exists with drafts)\n draftsEnabled\n ? fetchVersions({\n collectionSlug,\n depth: 0,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n {\n 'version._status': {\n equals: 'published',\n },\n },\n ],\n },\n })\n : Promise.resolve(null),\n ])\n\n const previousVersion: null | TypeWithVersion<object> = previousVersionResult?.docs?.[0] ?? null\n\n const versionFrom =\n versionFromResult ||\n // By default, we'll compare the previous version. => versionFrom = version previous to versionTo\n previousVersion\n\n // Previous published version before the versionTo\n const previousPublishedVersion = previousPublishedVersionResult?.docs?.[0] ?? null\n\n let selectedLocales: string[] = []\n if (localization) {\n let locales: Locale[] = []\n if (localeCodesFromParams) {\n for (const code of localeCodesFromParams) {\n const locale = localization.locales.find((locale) => locale.code === code)\n if (!locale) {\n continue\n }\n locales.push(locale)\n }\n } else {\n locales = localization.locales\n }\n\n if (localization.filterAvailableLocales) {\n locales = (await localization.filterAvailableLocales({ locales, req })) || []\n }\n\n selectedLocales = locales.map((locale) => locale.code)\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({\n config: payload.config,\n i18n,\n importMap: payload.importMap,\n user,\n }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n const RenderedDiff = RenderDiff({\n clientSchemaMap,\n customDiffComponents: {},\n entitySlug: collectionSlug || globalSlug,\n fields: (collectionConfig || globalConfig)?.fields,\n fieldsPermissions: docPermissions?.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: '',\n parentIsLocalized: false,\n parentPath: '',\n parentSchemaPath: '',\n req,\n selectedLocales,\n versionFromSiblingData: {\n ...versionFrom?.version,\n updatedAt: versionFrom?.updatedAt,\n },\n versionToSiblingData: {\n ...versionTo.version,\n updatedAt: versionTo.updatedAt,\n },\n })\n\n const versionToCreatedAtFormatted = versionTo.updatedAt\n ? formatDate({\n date:\n typeof versionTo.updatedAt === 'string'\n ? new Date(versionTo.updatedAt)\n : (versionTo.updatedAt as Date),\n i18n,\n pattern: config.admin.dateFormat,\n })\n : ''\n\n const formatPill = ({\n doc,\n labelOverride,\n labelStyle,\n labelSuffix,\n }: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n labelStyle?: 'pill' | 'text'\n labelSuffix?: React.ReactNode\n }): React.ReactNode => {\n return (\n <VersionPillLabel\n currentlyPublishedVersion={currentlyPublishedVersion}\n doc={doc}\n key={doc.id}\n labelFirst={true}\n labelOverride={labelOverride}\n labelStyle={labelStyle ?? 'text'}\n labelSuffix={labelSuffix}\n latestDraftVersion={latestDraftVersion}\n />\n )\n }\n\n // SelectComparison Options:\n //\n // Previous version: always, unless doesn't exist. Can be the same as previously published\n // Latest draft: only if no newer published exists (latestDraftVersion)\n // Currently published: always, if exists\n // Previously published: if there is a prior published version older than versionTo\n // Specific Version: only if not already present under other label (= versionFrom)\n\n let versionFromOptions: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n updatedAt: Date\n value: string\n }[] = []\n\n // Previous version\n if (previousVersion?.id) {\n versionFromOptions.push({\n doc: previousVersion,\n labelOverride: i18n.t('version:previousVersion'),\n updatedAt: new Date(previousVersion.updatedAt),\n value: previousVersion.id,\n })\n }\n\n // Latest Draft\n const publishedNewerThanDraft =\n currentlyPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n if (latestDraftVersion && !publishedNewerThanDraft) {\n versionFromOptions.push({\n doc: latestDraftVersion,\n updatedAt: new Date(latestDraftVersion.updatedAt),\n value: latestDraftVersion.id,\n })\n }\n\n // Currently Published\n if (currentlyPublishedVersion) {\n versionFromOptions.push({\n doc: currentlyPublishedVersion,\n updatedAt: new Date(currentlyPublishedVersion.updatedAt),\n value: currentlyPublishedVersion.id,\n })\n }\n\n // Previous Published\n if (previousPublishedVersion && currentlyPublishedVersion?.id !== previousPublishedVersion.id) {\n versionFromOptions.push({\n doc: previousPublishedVersion,\n labelOverride: i18n.t('version:previouslyPublished'),\n updatedAt: new Date(previousPublishedVersion.updatedAt),\n value: previousPublishedVersion.id,\n })\n }\n\n // Specific Version\n if (versionFrom?.id && !versionFromOptions.some((option) => option.value === versionFrom.id)) {\n // Only add \"specific version\" if it is not already in the options\n versionFromOptions.push({\n doc: versionFrom,\n labelOverride: i18n.t('version:specificVersion'),\n updatedAt: new Date(versionFrom.updatedAt),\n value: versionFrom.id,\n })\n }\n\n versionFromOptions = versionFromOptions.sort((a, b) => {\n // Sort by updatedAt, newest first\n if (a && b) {\n return b.updatedAt.getTime() - a.updatedAt.getTime()\n }\n return 0\n })\n\n const versionToIsVersionFrom = versionFrom?.id === versionTo.id\n\n const versionFromComparisonOptions: CompareOption[] = []\n\n for (const option of versionFromOptions) {\n const isVersionTo = option.value === versionTo.id\n\n if (isVersionTo && !versionToIsVersionFrom) {\n // Don't offer selecting a versionFrom that is the same as versionTo, unless it's already selected\n continue\n }\n\n const alreadyAdded = versionFromComparisonOptions.some(\n (existingOption) => existingOption.value === option.value,\n )\n if (alreadyAdded) {\n continue\n }\n\n const otherOptionsWithSameID = versionFromOptions.filter(\n (existingOption) => existingOption.value === option.value && existingOption !== option,\n )\n\n // Merge options with same ID to the same option\n const labelSuffix = otherOptionsWithSameID?.length ? (\n <span key={`${option.value}-suffix`}>\n {' ('}\n {otherOptionsWithSameID.map((optionWithSameID, index) => {\n const label =\n optionWithSameID.labelOverride ||\n getVersionLabel({\n currentlyPublishedVersion,\n latestDraftVersion,\n t: i18n.t,\n version: optionWithSameID.doc,\n }).label\n\n return (\n <React.Fragment key={`${optionWithSameID.value}-${index}`}>\n {index > 0 ? ', ' : ''}\n {label}\n </React.Fragment>\n )\n })}\n {')'}\n </span>\n ) : undefined\n\n versionFromComparisonOptions.push({\n label: formatPill({\n doc: option.doc,\n labelOverride: option.labelOverride,\n labelSuffix,\n }),\n value: option.value,\n })\n }\n\n return (\n <DefaultVersionView\n canUpdate={docPermissions?.update}\n modifiedOnly={modifiedOnly}\n RenderedDiff={RenderedDiff}\n selectedLocales={selectedLocales}\n versionFromCreatedAt={versionFrom?.createdAt}\n versionFromID={versionFrom?.id}\n versionFromOptions={versionFromComparisonOptions}\n versionToCreatedAt={versionTo.createdAt}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n VersionToCreatedAtLabel={formatPill({ doc: versionTo, labelStyle: 'pill' })}\n versionToID={versionTo.id}\n versionToStatus={versionTo.version?._status}\n />\n )\n}\n"],"names":["formatDate","getClientConfig","getClientSchemaMap","getSchemaMap","notFound","hasDraftsEnabled","React","DefaultVersionView","fetchLatestVersion","fetchVersion","fetchVersions","RenderDiff","getVersionLabel","VersionPillLabel","VersionView","props","hasPublishedDoc","i18n","initPageResult","routeSegments","searchParams","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","localization","user","versionToID","length","collectionSlug","slug","globalSlug","draftsEnabled","localeCodesFromParams","localeCodes","JSON","parse","versionFromIDFromParams","versionFrom","modifiedOnly","docPermissions","collections","globals","versionTo","depth","locale","overrideAccess","previousVersionResult","versionFromResult","currentlyPublishedVersion","latestDraftVersion","previousPublishedVersionResult","Promise","all","draft","limit","parentID","sort","where","and","updatedAt","less_than","resolve","status","equals","previousVersion","docs","previousPublishedVersion","selectedLocales","locales","code","find","push","filterAvailableLocales","map","schemaMap","clientSchemaMap","importMap","RenderedDiff","customDiffComponents","entitySlug","fields","fieldsPermissions","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","versionFromSiblingData","version","versionToSiblingData","versionToCreatedAtFormatted","date","Date","pattern","admin","dateFormat","formatPill","doc","labelOverride","labelStyle","labelSuffix","key","labelFirst","versionFromOptions","t","value","publishedNewerThanDraft","some","option","a","b","getTime","versionToIsVersionFrom","versionFromComparisonOptions","isVersionTo","alreadyAdded","existingOption","otherOptionsWithSameID","filter","span","optionWithSameID","index","label","Fragment","undefined","canUpdate","update","versionFromCreatedAt","createdAt","versionFromID","versionToCreatedAt","VersionToCreatedAtLabel","versionToStatus","_status"],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
1
|
import { SortColumn } from '@payloadcms/ui';
|
|
3
2
|
import { hasDraftsEnabled } from 'payload/shared';
|
|
4
|
-
import React from 'react';
|
|
5
3
|
import { AutosaveCell } from './cells/AutosaveCell/index.js';
|
|
6
4
|
import { CreatedAtCell } from './cells/CreatedAt/index.js';
|
|
7
5
|
import { IDCell } from './cells/ID/index.js';
|
|
@@ -16,29 +14,12 @@ export const buildVersionColumns = ({ collectionConfig, CreatedAtCellOverride, c
|
|
|
16
14
|
name: '',
|
|
17
15
|
type: 'date'
|
|
18
16
|
},
|
|
19
|
-
Heading:
|
|
20
|
-
Label: t('general:updatedAt'),
|
|
21
|
-
name: "updatedAt"
|
|
22
|
-
}, void 0, false, {
|
|
23
|
-
fileName: "src/views/Versions/buildColumns.tsx",
|
|
24
|
-
lineNumber: 57,
|
|
25
|
-
columnNumber: 16
|
|
26
|
-
}, this),
|
|
17
|
+
Heading: <SortColumn Label={t('general:updatedAt')} name="updatedAt"/>,
|
|
27
18
|
renderedCells: docs.map((doc, i)=>{
|
|
28
|
-
return
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
isTrashed: isTrashed,
|
|
33
|
-
rowData: {
|
|
34
|
-
id: doc.id,
|
|
35
|
-
updatedAt: doc.updatedAt
|
|
36
|
-
}
|
|
37
|
-
}, i, false, {
|
|
38
|
-
fileName: "src/views/Versions/buildColumns.tsx",
|
|
39
|
-
lineNumber: 60,
|
|
40
|
-
columnNumber: 11
|
|
41
|
-
}, this);
|
|
19
|
+
return <CreatedAtCellComponent collectionSlug={collectionConfig?.slug} docID={docID} globalSlug={globalConfig?.slug} isTrashed={isTrashed} key={i} rowData={{
|
|
20
|
+
id: doc.id,
|
|
21
|
+
updatedAt: doc.updatedAt
|
|
22
|
+
}}/>;
|
|
42
23
|
})
|
|
43
24
|
},
|
|
44
25
|
{
|
|
@@ -48,23 +29,9 @@ export const buildVersionColumns = ({ collectionConfig, CreatedAtCellOverride, c
|
|
|
48
29
|
name: '',
|
|
49
30
|
type: 'text'
|
|
50
31
|
},
|
|
51
|
-
Heading:
|
|
52
|
-
disable: true,
|
|
53
|
-
Label: t('version:versionID'),
|
|
54
|
-
name: "id"
|
|
55
|
-
}, void 0, false, {
|
|
56
|
-
fileName: "src/views/Versions/buildColumns.tsx",
|
|
57
|
-
lineNumber: 81,
|
|
58
|
-
columnNumber: 16
|
|
59
|
-
}, this),
|
|
32
|
+
Heading: <SortColumn disable Label={t('version:versionID')} name="id"/>,
|
|
60
33
|
renderedCells: docs.map((doc, i)=>{
|
|
61
|
-
return
|
|
62
|
-
id: doc.id
|
|
63
|
-
}, i, false, {
|
|
64
|
-
fileName: "src/views/Versions/buildColumns.tsx",
|
|
65
|
-
lineNumber: 83,
|
|
66
|
-
columnNumber: 16
|
|
67
|
-
}, this);
|
|
34
|
+
return <IDCell id={doc.id} key={i}/>;
|
|
68
35
|
})
|
|
69
36
|
}
|
|
70
37
|
];
|
|
@@ -76,25 +43,9 @@ export const buildVersionColumns = ({ collectionConfig, CreatedAtCellOverride, c
|
|
|
76
43
|
name: '',
|
|
77
44
|
type: 'checkbox'
|
|
78
45
|
},
|
|
79
|
-
Heading:
|
|
80
|
-
disable: true,
|
|
81
|
-
Label: t('version:status'),
|
|
82
|
-
name: "status"
|
|
83
|
-
}, void 0, false, {
|
|
84
|
-
fileName: "src/views/Versions/buildColumns.tsx",
|
|
85
|
-
lineNumber: 96,
|
|
86
|
-
columnNumber: 16
|
|
87
|
-
}, this),
|
|
46
|
+
Heading: <SortColumn disable Label={t('version:status')} name="status"/>,
|
|
88
47
|
renderedCells: docs.map((doc, i)=>{
|
|
89
|
-
return
|
|
90
|
-
currentlyPublishedVersion: currentlyPublishedVersion,
|
|
91
|
-
latestDraftVersion: latestDraftVersion,
|
|
92
|
-
rowData: doc
|
|
93
|
-
}, i, false, {
|
|
94
|
-
fileName: "src/views/Versions/buildColumns.tsx",
|
|
95
|
-
lineNumber: 99,
|
|
96
|
-
columnNumber: 11
|
|
97
|
-
}, this);
|
|
48
|
+
return <AutosaveCell currentlyPublishedVersion={currentlyPublishedVersion} key={i} latestDraftVersion={latestDraftVersion} rowData={doc}/>;
|
|
98
49
|
})
|
|
99
50
|
});
|
|
100
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Versions/buildColumns.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n Column,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithVersion,\n} from 'payload'\n\nimport { SortColumn } from '@payloadcms/ui'\nimport { hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport { AutosaveCell } from './cells/AutosaveCell/index.js'\nimport { CreatedAtCell, type CreatedAtCellProps } from './cells/CreatedAt/index.js'\nimport { IDCell } from './cells/ID/index.js'\n\nexport const buildVersionColumns = ({\n collectionConfig,\n CreatedAtCellOverride,\n currentlyPublishedVersion,\n docID,\n docs,\n globalConfig,\n i18n: { t },\n isTrashed,\n latestDraftVersion,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n CreatedAtCellOverride?: React.ComponentType<CreatedAtCellProps>\n currentlyPublishedVersion?: {\n id: number | string\n updatedAt: string\n }\n docID?: number | string\n docs: PaginatedDocs<TypeWithVersion<any>>['docs']\n globalConfig?: SanitizedGlobalConfig\n i18n: I18n\n isTrashed?: boolean\n latestDraftVersion?: {\n id: number | string\n updatedAt: string\n }\n}): Column[] => {\n const entityConfig = collectionConfig || globalConfig\n\n const CreatedAtCellComponent = CreatedAtCellOverride ?? CreatedAtCell\n\n const columns: Column[] = [\n {\n accessor: 'updatedAt',\n active: true,\n field: {\n name: '',\n type: 'date',\n },\n Heading: <SortColumn Label={t('general:updatedAt')} name=\"updatedAt\" />,\n renderedCells: docs.map((doc, i) => {\n return (\n <CreatedAtCellComponent\n collectionSlug={collectionConfig?.slug}\n docID={docID}\n globalSlug={globalConfig?.slug}\n isTrashed={isTrashed}\n key={i}\n rowData={{\n id: doc.id,\n updatedAt: doc.updatedAt,\n }}\n />\n )\n }),\n },\n {\n accessor: 'id',\n active: true,\n field: {\n name: '',\n type: 'text',\n },\n Heading: <SortColumn disable Label={t('version:versionID')} name=\"id\" />,\n renderedCells: docs.map((doc, i) => {\n return <IDCell id={doc.id} key={i} />\n }),\n },\n ]\n\n if (hasDraftsEnabled(entityConfig)) {\n columns.push({\n accessor: '_status',\n active: true,\n field: {\n name: '',\n type: 'checkbox',\n },\n Heading: <SortColumn disable Label={t('version:status')} name=\"status\" />,\n renderedCells: docs.map((doc, i) => {\n return (\n <AutosaveCell\n currentlyPublishedVersion={currentlyPublishedVersion}\n key={i}\n latestDraftVersion={latestDraftVersion}\n rowData={doc}\n />\n )\n }),\n })\n }\n\n return columns\n}\n"],"names":["SortColumn","hasDraftsEnabled","
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Versions/buildColumns.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n Column,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithVersion,\n} from 'payload'\n\nimport { SortColumn } from '@payloadcms/ui'\nimport { hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport { AutosaveCell } from './cells/AutosaveCell/index.js'\nimport { CreatedAtCell, type CreatedAtCellProps } from './cells/CreatedAt/index.js'\nimport { IDCell } from './cells/ID/index.js'\n\nexport const buildVersionColumns = ({\n collectionConfig,\n CreatedAtCellOverride,\n currentlyPublishedVersion,\n docID,\n docs,\n globalConfig,\n i18n: { t },\n isTrashed,\n latestDraftVersion,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n CreatedAtCellOverride?: React.ComponentType<CreatedAtCellProps>\n currentlyPublishedVersion?: {\n id: number | string\n updatedAt: string\n }\n docID?: number | string\n docs: PaginatedDocs<TypeWithVersion<any>>['docs']\n globalConfig?: SanitizedGlobalConfig\n i18n: I18n\n isTrashed?: boolean\n latestDraftVersion?: {\n id: number | string\n updatedAt: string\n }\n}): Column[] => {\n const entityConfig = collectionConfig || globalConfig\n\n const CreatedAtCellComponent = CreatedAtCellOverride ?? CreatedAtCell\n\n const columns: Column[] = [\n {\n accessor: 'updatedAt',\n active: true,\n field: {\n name: '',\n type: 'date',\n },\n Heading: <SortColumn Label={t('general:updatedAt')} name=\"updatedAt\" />,\n renderedCells: docs.map((doc, i) => {\n return (\n <CreatedAtCellComponent\n collectionSlug={collectionConfig?.slug}\n docID={docID}\n globalSlug={globalConfig?.slug}\n isTrashed={isTrashed}\n key={i}\n rowData={{\n id: doc.id,\n updatedAt: doc.updatedAt,\n }}\n />\n )\n }),\n },\n {\n accessor: 'id',\n active: true,\n field: {\n name: '',\n type: 'text',\n },\n Heading: <SortColumn disable Label={t('version:versionID')} name=\"id\" />,\n renderedCells: docs.map((doc, i) => {\n return <IDCell id={doc.id} key={i} />\n }),\n },\n ]\n\n if (hasDraftsEnabled(entityConfig)) {\n columns.push({\n accessor: '_status',\n active: true,\n field: {\n name: '',\n type: 'checkbox',\n },\n Heading: <SortColumn disable Label={t('version:status')} name=\"status\" />,\n renderedCells: docs.map((doc, i) => {\n return (\n <AutosaveCell\n currentlyPublishedVersion={currentlyPublishedVersion}\n key={i}\n latestDraftVersion={latestDraftVersion}\n rowData={doc}\n />\n )\n }),\n })\n }\n\n return columns\n}\n"],"names":["SortColumn","hasDraftsEnabled","AutosaveCell","CreatedAtCell","IDCell","buildVersionColumns","collectionConfig","CreatedAtCellOverride","currentlyPublishedVersion","docID","docs","globalConfig","i18n","t","isTrashed","latestDraftVersion","entityConfig","CreatedAtCellComponent","columns","accessor","active","field","name","type","Heading","Label","renderedCells","map","doc","i","collectionSlug","slug","globalSlug","key","rowData","id","updatedAt","disable","push"],"mappings":"AASA,SAASA,UAAU,QAAQ,iBAAgB;AAC3C,SAASC,gBAAgB,QAAQ,iBAAgB;AAGjD,SAASC,YAAY,QAAQ,gCAA+B;AAC5D,SAASC,aAAa,QAAiC,6BAA4B;AACnF,SAASC,MAAM,QAAQ,sBAAqB;AAE5C,OAAO,MAAMC,sBAAsB,CAAC,EAClCC,gBAAgB,EAChBC,qBAAqB,EACrBC,yBAAyB,EACzBC,KAAK,EACLC,IAAI,EACJC,YAAY,EACZC,MAAM,EAAEC,CAAC,EAAE,EACXC,SAAS,EACTC,kBAAkB,EAiBnB;IACC,MAAMC,eAAeV,oBAAoBK;IAEzC,MAAMM,yBAAyBV,yBAAyBJ;IAExD,MAAMe,UAAoB;QACxB;YACEC,UAAU;YACVC,QAAQ;YACRC,OAAO;gBACLC,MAAM;gBACNC,MAAM;YACR;YACAC,UAAUxB,WAAWyB,OAAOZ,EAAE,sBAAsBS,KAAK;YACzDI,eAAehB,KAAKiB,GAAG,CAAC,CAACC,KAAKC;gBAC5B,QACGZ,uBACCa,gBAAgBxB,kBAAkByB,MAClCtB,OAAOA,OACPuB,YAAYrB,cAAcoB,MAC1BjB,WAAWA,WACXmB,KAAKJ,GACLK,SAAS;oBACPC,IAAIP,IAAIO,EAAE;oBACVC,WAAWR,IAAIQ,SAAS;gBAC1B;YAGN;QACF;QACA;YACEjB,UAAU;YACVC,QAAQ;YACRC,OAAO;gBACLC,MAAM;gBACNC,MAAM;YACR;YACAC,UAAUxB,WAAWqC,QAAQZ,OAAOZ,EAAE,sBAAsBS,KAAK;YACjEI,eAAehB,KAAKiB,GAAG,CAAC,CAACC,KAAKC;gBAC5B,QAAQzB,OAAO+B,IAAIP,IAAIO,EAAE,EAAEF,KAAKJ;YAClC;QACF;KACD;IAED,IAAI5B,iBAAiBe,eAAe;QAClCE,QAAQoB,IAAI,CAAC;YACXnB,UAAU;YACVC,QAAQ;YACRC,OAAO;gBACLC,MAAM;gBACNC,MAAM;YACR;YACAC,UAAUxB,WAAWqC,QAAQZ,OAAOZ,EAAE,mBAAmBS,KAAK;YAC9DI,eAAehB,KAAKiB,GAAG,CAAC,CAACC,KAAKC;gBAC5B,QACG3B,aACCM,2BAA2BA,2BAC3ByB,KAAKJ,GACLd,oBAAoBA,oBACpBmB,SAASN;YAGf;QACF;IACF;IAEA,OAAOV;AACT,EAAC"}
|
|
@@ -1,41 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
2
|
import { Pill, useTranslation } from '@payloadcms/ui';
|
|
4
|
-
import React from 'react';
|
|
5
3
|
import './index.scss';
|
|
6
4
|
import { VersionPillLabel } from '../../../Version/VersionPillLabel/VersionPillLabel.js';
|
|
7
5
|
const baseClass = 'autosave-cell';
|
|
8
6
|
export const AutosaveCell = ({ currentlyPublishedVersion, latestDraftVersion, rowData })=>{
|
|
9
7
|
const { t } = useTranslation();
|
|
10
|
-
return
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
size: "small",
|
|
15
|
-
children: t('version:autosave')
|
|
16
|
-
}, void 0, false, {
|
|
17
|
-
fileName: "src/views/Versions/cells/AutosaveCell/index.tsx",
|
|
18
|
-
lineNumber: 38,
|
|
19
|
-
columnNumber: 29
|
|
20
|
-
}, this),
|
|
21
|
-
/*#__PURE__*/ _jsxDEV(VersionPillLabel, {
|
|
22
|
-
currentlyPublishedVersion: currentlyPublishedVersion,
|
|
23
|
-
disableDate: true,
|
|
24
|
-
doc: rowData,
|
|
25
|
-
labelFirst: false,
|
|
26
|
-
labelStyle: "pill",
|
|
27
|
-
latestDraftVersion: latestDraftVersion
|
|
28
|
-
}, void 0, false, {
|
|
29
|
-
fileName: "src/views/Versions/cells/AutosaveCell/index.tsx",
|
|
30
|
-
lineNumber: 39,
|
|
31
|
-
columnNumber: 7
|
|
32
|
-
}, this)
|
|
33
|
-
]
|
|
34
|
-
}, void 0, true, {
|
|
35
|
-
fileName: "src/views/Versions/cells/AutosaveCell/index.tsx",
|
|
36
|
-
lineNumber: 37,
|
|
37
|
-
columnNumber: 5
|
|
38
|
-
}, this);
|
|
8
|
+
return <div className={`${baseClass}__items`}>
|
|
9
|
+
{rowData?.autosave && <Pill size="small">{t('version:autosave')}</Pill>}
|
|
10
|
+
<VersionPillLabel currentlyPublishedVersion={currentlyPublishedVersion} disableDate={true} doc={rowData} labelFirst={false} labelStyle="pill" latestDraftVersion={latestDraftVersion}/>
|
|
11
|
+
</div>;
|
|
39
12
|
};
|
|
40
13
|
|
|
41
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/views/Versions/cells/AutosaveCell/index.tsx"],"sourcesContent":["'use client'\nimport { Pill, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\nimport { VersionPillLabel } from '../../../Version/VersionPillLabel/VersionPillLabel.js'\n\nconst baseClass = 'autosave-cell'\n\ntype AutosaveCellProps = {\n currentlyPublishedVersion?: {\n id: number | string\n updatedAt: string\n }\n latestDraftVersion?: {\n id: number | string\n updatedAt: string\n }\n rowData: {\n autosave?: boolean\n id: number | string\n publishedLocale?: string\n version: {\n _status: string\n }\n }\n}\n\nexport const AutosaveCell: React.FC<AutosaveCellProps> = ({\n currentlyPublishedVersion,\n latestDraftVersion,\n rowData,\n}) => {\n const { t } = useTranslation()\n\n return (\n <div className={`${baseClass}__items`}>\n {rowData?.autosave && <Pill size=\"small\">{t('version:autosave')}</Pill>}\n <VersionPillLabel\n currentlyPublishedVersion={currentlyPublishedVersion}\n disableDate={true}\n doc={rowData}\n labelFirst={false}\n labelStyle=\"pill\"\n latestDraftVersion={latestDraftVersion}\n />\n </div>\n )\n}\n"],"names":["Pill","useTranslation","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/views/Versions/cells/AutosaveCell/index.tsx"],"sourcesContent":["'use client'\nimport { Pill, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport './index.scss'\nimport { VersionPillLabel } from '../../../Version/VersionPillLabel/VersionPillLabel.js'\n\nconst baseClass = 'autosave-cell'\n\ntype AutosaveCellProps = {\n currentlyPublishedVersion?: {\n id: number | string\n updatedAt: string\n }\n latestDraftVersion?: {\n id: number | string\n updatedAt: string\n }\n rowData: {\n autosave?: boolean\n id: number | string\n publishedLocale?: string\n version: {\n _status: string\n }\n }\n}\n\nexport const AutosaveCell: React.FC<AutosaveCellProps> = ({\n currentlyPublishedVersion,\n latestDraftVersion,\n rowData,\n}) => {\n const { t } = useTranslation()\n\n return (\n <div className={`${baseClass}__items`}>\n {rowData?.autosave && <Pill size=\"small\">{t('version:autosave')}</Pill>}\n <VersionPillLabel\n currentlyPublishedVersion={currentlyPublishedVersion}\n disableDate={true}\n doc={rowData}\n labelFirst={false}\n labelStyle=\"pill\"\n latestDraftVersion={latestDraftVersion}\n />\n </div>\n )\n}\n"],"names":["Pill","useTranslation","VersionPillLabel","baseClass","AutosaveCell","currentlyPublishedVersion","latestDraftVersion","rowData","t","div","className","autosave","size","disableDate","doc","labelFirst","labelStyle"],"mappings":"AAAA;AACA,SAASA,IAAI,EAAEC,cAAc,QAAQ,iBAAgB;AAGrD,OAAO,eAAc;AACrB,SAASC,gBAAgB,QAAQ,wDAAuD;AAExF,MAAMC,YAAY;AAqBlB,OAAO,MAAMC,eAA4C,CAAC,EACxDC,yBAAyB,EACzBC,kBAAkB,EAClBC,OAAO,EACR;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGP;IAEd,QACGQ,IAAIC,WAAW,GAAGP,UAAU,OAAO,CAAC,EAAE;MACrC,CAACI,SAASI,aAAaX,KAAKY,KAAK,SAASJ,EAAE,sBAAsBR,MAAM;MACxE,CAACE,iBACCG,2BAA2BA,2BAC3BQ,aAAa,MACbC,KAAKP,SACLQ,YAAY,OACZC,WAAW,OACXV,oBAAoBA,qBACpB;IACJ,EAAEG;AAEN,EAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
2
|
import { Link, useConfig, useTranslation } from '@payloadcms/ui';
|
|
4
3
|
import { formatDate } from '@payloadcms/ui/shared';
|
|
5
4
|
import { formatAdminURL } from 'payload/shared';
|
|
6
|
-
import React from 'react';
|
|
7
5
|
export const CreatedAtCell = ({ collectionSlug, docID, globalSlug, isTrashed, rowData: { id, updatedAt } = {} })=>{
|
|
8
6
|
const { config: { admin: { dateFormat }, routes: { admin: adminRoute } } } = useConfig();
|
|
9
7
|
const { i18n } = useTranslation();
|
|
@@ -21,19 +19,13 @@ export const CreatedAtCell = ({ collectionSlug, docID, globalSlug, isTrashed, ro
|
|
|
21
19
|
path: `/globals/${globalSlug}/versions/${id}`
|
|
22
20
|
});
|
|
23
21
|
}
|
|
24
|
-
return
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
})
|
|
32
|
-
}, void 0, false, {
|
|
33
|
-
fileName: "src/views/Versions/cells/CreatedAt/index.tsx",
|
|
34
|
-
lineNumber: 53,
|
|
35
|
-
columnNumber: 5
|
|
36
|
-
}, this);
|
|
22
|
+
return <Link href={to} prefetch={false}>
|
|
23
|
+
{formatDate({
|
|
24
|
+
date: updatedAt,
|
|
25
|
+
i18n,
|
|
26
|
+
pattern: dateFormat
|
|
27
|
+
})}
|
|
28
|
+
</Link>;
|
|
37
29
|
};
|
|
38
30
|
|
|
39
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/views/Versions/cells/CreatedAt/index.tsx"],"sourcesContent":["'use client'\nimport { Link, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nexport type CreatedAtCellProps = {\n collectionSlug?: string\n docID?: number | string\n globalSlug?: string\n isTrashed?: boolean\n rowData?: {\n id: number | string\n updatedAt: Date | number | string\n }\n}\n\nexport const CreatedAtCell: React.FC<CreatedAtCellProps> = ({\n collectionSlug,\n docID,\n globalSlug,\n isTrashed,\n rowData: { id, updatedAt } = {},\n}) => {\n const {\n config: {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n const trashedDocPrefix = isTrashed ? 'trash/' : ''\n\n let to: string\n\n if (collectionSlug) {\n to = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${trashedDocPrefix}${docID}/versions/${id}`,\n })\n }\n\n if (globalSlug) {\n to = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}/versions/${id}`,\n })\n }\n\n return (\n <Link href={to} prefetch={false}>\n {formatDate({ date: updatedAt, i18n, pattern: dateFormat })}\n </Link>\n )\n}\n"],"names":["Link","useConfig","useTranslation","formatDate","formatAdminURL","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/views/Versions/cells/CreatedAt/index.tsx"],"sourcesContent":["'use client'\nimport { Link, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nexport type CreatedAtCellProps = {\n collectionSlug?: string\n docID?: number | string\n globalSlug?: string\n isTrashed?: boolean\n rowData?: {\n id: number | string\n updatedAt: Date | number | string\n }\n}\n\nexport const CreatedAtCell: React.FC<CreatedAtCellProps> = ({\n collectionSlug,\n docID,\n globalSlug,\n isTrashed,\n rowData: { id, updatedAt } = {},\n}) => {\n const {\n config: {\n admin: { dateFormat },\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n const trashedDocPrefix = isTrashed ? 'trash/' : ''\n\n let to: string\n\n if (collectionSlug) {\n to = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${trashedDocPrefix}${docID}/versions/${id}`,\n })\n }\n\n if (globalSlug) {\n to = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}/versions/${id}`,\n })\n }\n\n return (\n <Link href={to} prefetch={false}>\n {formatDate({ date: updatedAt, i18n, pattern: dateFormat })}\n </Link>\n )\n}\n"],"names":["Link","useConfig","useTranslation","formatDate","formatAdminURL","CreatedAtCell","collectionSlug","docID","globalSlug","isTrashed","rowData","id","updatedAt","config","admin","dateFormat","routes","adminRoute","i18n","trashedDocPrefix","to","path","href","prefetch","date","pattern"],"mappings":"AAAA;AACA,SAASA,IAAI,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AAChE,SAASC,UAAU,QAAQ,wBAAuB;AAClD,SAASC,cAAc,QAAQ,iBAAgB;AAc/C,OAAO,MAAMC,gBAA8C,CAAC,EAC1DC,cAAc,EACdC,KAAK,EACLC,UAAU,EACVC,SAAS,EACTC,SAAS,EAAEC,EAAE,EAAEC,SAAS,EAAE,GAAG,CAAC,CAAC,EAChC;IACC,MAAM,EACJC,QAAQ,EACNC,OAAO,EAAEC,UAAU,EAAE,EACrBC,QAAQ,EAAEF,OAAOG,UAAU,EAAE,EAC9B,EACF,GAAGhB;IAEJ,MAAM,EAAEiB,IAAI,EAAE,GAAGhB;IAEjB,MAAMiB,mBAAmBV,YAAY,WAAW;IAEhD,IAAIW;IAEJ,IAAId,gBAAgB;QAClBc,KAAKhB,eAAe;YAClBa;YACAI,MAAM,CAAC,aAAa,EAAEf,eAAe,CAAC,EAAEa,mBAAmBZ,MAAM,UAAU,EAAEI,IAAI;QACnF;IACF;IAEA,IAAIH,YAAY;QACdY,KAAKhB,eAAe;YAClBa;YACAI,MAAM,CAAC,SAAS,EAAEb,WAAW,UAAU,EAAEG,IAAI;QAC/C;IACF;IAEA,QACGX,KAAKsB,MAAMF,IAAIG,UAAU,OAAO;MAC/B,CAACpB,WAAW;QAAEqB,MAAMZ;QAAWM;QAAMO,SAASV;IAAW,GAAG;IAC9D,EAAEf;AAEN,EAAC"}
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import React, { Fragment } from 'react';
|
|
2
|
+
import { Fragment } from 'react';
|
|
4
3
|
export function IDCell({ id }) {
|
|
5
|
-
return
|
|
6
|
-
children: id
|
|
7
|
-
}, void 0, false, {
|
|
8
|
-
fileName: "src/views/Versions/cells/ID/index.tsx",
|
|
9
|
-
lineNumber: 5,
|
|
10
|
-
columnNumber: 10
|
|
11
|
-
}, this);
|
|
4
|
+
return <Fragment>{id}</Fragment>;
|
|
12
5
|
}
|
|
13
6
|
|
|
14
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/views/Versions/cells/ID/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nexport function IDCell({ id }: { id: number | string }) {\n return <Fragment>{id}</Fragment>\n}\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/views/Versions/cells/ID/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nexport function IDCell({ id }: { id: number | string }) {\n return <Fragment>{id}</Fragment>\n}\n"],"names":["Fragment","IDCell","id"],"mappings":"AAAA;AACA,SAAgBA,QAAQ,QAAQ,QAAO;AAEvC,OAAO,SAASC,OAAO,EAAEC,EAAE,EAA2B;IACpD,QAAQF,UAAUE,KAAKF;AACzB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
2
|
import { LoadingOverlayToggle, Pagination, PerPage, Table, useListQuery, useTranslation } from '@payloadcms/ui';
|
|
4
3
|
import { useSearchParams } from 'next/navigation.js';
|
|
5
4
|
import React from 'react';
|
|
@@ -10,103 +9,26 @@ export const VersionsViewClient = (props)=>{
|
|
|
10
9
|
const limit = searchParams.get('limit');
|
|
11
10
|
const { i18n } = useTranslation();
|
|
12
11
|
const versionCount = data?.totalDocs || 0;
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
/*#__PURE__*/ _jsxDEV(Table, {
|
|
34
|
-
columns: columns,
|
|
35
|
-
data: data?.docs
|
|
36
|
-
}, void 0, false, {
|
|
37
|
-
fileName: "src/views/Versions/index.client.tsx",
|
|
38
|
-
lineNumber: 42,
|
|
39
|
-
columnNumber: 11
|
|
40
|
-
}, this),
|
|
41
|
-
/*#__PURE__*/ _jsxDEV("div", {
|
|
42
|
-
className: `${baseClass}__page-controls`,
|
|
43
|
-
children: [
|
|
44
|
-
/*#__PURE__*/ _jsxDEV(Pagination, {
|
|
45
|
-
hasNextPage: data.hasNextPage,
|
|
46
|
-
hasPrevPage: data.hasPrevPage,
|
|
47
|
-
limit: data.limit,
|
|
48
|
-
nextPage: data.nextPage,
|
|
49
|
-
numberOfNeighbors: 1,
|
|
50
|
-
onChange: handlePageChange,
|
|
51
|
-
page: data.page,
|
|
52
|
-
prevPage: data.prevPage,
|
|
53
|
-
totalPages: data.totalPages
|
|
54
|
-
}, void 0, false, {
|
|
55
|
-
fileName: "src/views/Versions/index.client.tsx",
|
|
56
|
-
lineNumber: 44,
|
|
57
|
-
columnNumber: 13
|
|
58
|
-
}, this),
|
|
59
|
-
data?.totalDocs > 0 && /*#__PURE__*/ _jsxDEV(React.Fragment, {
|
|
60
|
-
children: [
|
|
61
|
-
/*#__PURE__*/ _jsxDEV("div", {
|
|
62
|
-
className: `${baseClass}__page-info`,
|
|
63
|
-
children: [
|
|
64
|
-
data.page * data.limit - (data.limit - 1),
|
|
65
|
-
"-",
|
|
66
|
-
data.totalPages > 1 && data.totalPages !== data.page ? data.limit * data.page : data.totalDocs,
|
|
67
|
-
' ',
|
|
68
|
-
i18n.t('general:of'),
|
|
69
|
-
" ",
|
|
70
|
-
data.totalDocs
|
|
71
|
-
]
|
|
72
|
-
}, void 0, true, {
|
|
73
|
-
fileName: "src/views/Versions/index.client.tsx",
|
|
74
|
-
lineNumber: 57,
|
|
75
|
-
columnNumber: 17
|
|
76
|
-
}, this),
|
|
77
|
-
/*#__PURE__*/ _jsxDEV(PerPage, {
|
|
78
|
-
handleChange: handlePerPageChange,
|
|
79
|
-
limit: limit ? Number(limit) : 10,
|
|
80
|
-
limits: paginationLimits
|
|
81
|
-
}, void 0, false, {
|
|
82
|
-
fileName: "src/views/Versions/index.client.tsx",
|
|
83
|
-
lineNumber: 64,
|
|
84
|
-
columnNumber: 17
|
|
85
|
-
}, this)
|
|
86
|
-
]
|
|
87
|
-
}, void 0, true, {
|
|
88
|
-
fileName: "src/views/Versions/index.client.tsx",
|
|
89
|
-
lineNumber: 56,
|
|
90
|
-
columnNumber: 15
|
|
91
|
-
}, this)
|
|
92
|
-
]
|
|
93
|
-
}, void 0, true, {
|
|
94
|
-
fileName: "src/views/Versions/index.client.tsx",
|
|
95
|
-
lineNumber: 43,
|
|
96
|
-
columnNumber: 11
|
|
97
|
-
}, this)
|
|
98
|
-
]
|
|
99
|
-
}, void 0, true, {
|
|
100
|
-
fileName: "src/views/Versions/index.client.tsx",
|
|
101
|
-
lineNumber: 41,
|
|
102
|
-
columnNumber: 9
|
|
103
|
-
}, this)
|
|
104
|
-
]
|
|
105
|
-
}, void 0, true, {
|
|
106
|
-
fileName: "src/views/Versions/index.client.tsx",
|
|
107
|
-
lineNumber: 33,
|
|
108
|
-
columnNumber: 5
|
|
109
|
-
}, this);
|
|
12
|
+
return <React.Fragment>
|
|
13
|
+
<LoadingOverlayToggle name="versions" show={!data}/>
|
|
14
|
+
{versionCount === 0 && <div className={`${baseClass}__no-versions`}>
|
|
15
|
+
{i18n.t('version:noFurtherVersionsFound')}
|
|
16
|
+
</div>}
|
|
17
|
+
{versionCount > 0 && <React.Fragment>
|
|
18
|
+
<Table columns={columns} data={data?.docs}/>
|
|
19
|
+
<div className={`${baseClass}__page-controls`}>
|
|
20
|
+
<Pagination hasNextPage={data.hasNextPage} hasPrevPage={data.hasPrevPage} limit={data.limit} nextPage={data.nextPage} numberOfNeighbors={1} onChange={handlePageChange} page={data.page} prevPage={data.prevPage} totalPages={data.totalPages}/>
|
|
21
|
+
{data?.totalDocs > 0 && <React.Fragment>
|
|
22
|
+
<div className={`${baseClass}__page-info`}>
|
|
23
|
+
{data.page * data.limit - (data.limit - 1)}-
|
|
24
|
+
{data.totalPages > 1 && data.totalPages !== data.page ? data.limit * data.page : data.totalDocs}{' '}
|
|
25
|
+
{i18n.t('general:of')} {data.totalDocs}
|
|
26
|
+
</div>
|
|
27
|
+
<PerPage handleChange={handlePerPageChange} limit={limit ? Number(limit) : 10} limits={paginationLimits}/>
|
|
28
|
+
</React.Fragment>}
|
|
29
|
+
</div>
|
|
30
|
+
</React.Fragment>}
|
|
31
|
+
</React.Fragment>;
|
|
110
32
|
};
|
|
111
33
|
|
|
112
34
|
//# sourceMappingURL=index.client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Versions/index.client.tsx"],"sourcesContent":["'use client'\nimport type { Column, SanitizedCollectionConfig } from 'payload'\n\nimport {\n LoadingOverlayToggle,\n Pagination,\n PerPage,\n Table,\n useListQuery,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useSearchParams } from 'next/navigation.js'\nimport React from 'react'\n\nexport const VersionsViewClient: React.FC<{\n readonly baseClass: string\n readonly columns: Column[]\n readonly fetchURL: string\n readonly paginationLimits?: SanitizedCollectionConfig['admin']['pagination']['limits']\n}> = (props) => {\n const { baseClass, columns, paginationLimits } = props\n\n const { data, handlePageChange, handlePerPageChange } = useListQuery()\n\n const searchParams = useSearchParams()\n const limit = searchParams.get('limit')\n\n const { i18n } = useTranslation()\n\n const versionCount = data?.totalDocs || 0\n\n return (\n <React.Fragment>\n <LoadingOverlayToggle name=\"versions\" show={!data} />\n {versionCount === 0 && (\n <div className={`${baseClass}__no-versions`}>\n {i18n.t('version:noFurtherVersionsFound')}\n </div>\n )}\n {versionCount > 0 && (\n <React.Fragment>\n <Table columns={columns} data={data?.docs} />\n <div className={`${baseClass}__page-controls`}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={handlePageChange}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data?.totalDocs > 0 && (\n <React.Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={handlePerPageChange}\n limit={limit ? Number(limit) : 10}\n limits={paginationLimits}\n />\n </React.Fragment>\n )}\n </div>\n </React.Fragment>\n )}\n </React.Fragment>\n )\n}\n"],"names":["LoadingOverlayToggle","Pagination","PerPage","Table","useListQuery","useTranslation","useSearchParams","React","VersionsViewClient","props","baseClass","columns","paginationLimits","data","handlePageChange","handlePerPageChange","searchParams","limit","get","i18n","versionCount","totalDocs","Fragment","name","show","div","className","t","docs","hasNextPage","hasPrevPage","nextPage","numberOfNeighbors","onChange","page","prevPage","totalPages","handleChange","Number","limits"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Versions/index.client.tsx"],"sourcesContent":["'use client'\nimport type { Column, SanitizedCollectionConfig } from 'payload'\n\nimport {\n LoadingOverlayToggle,\n Pagination,\n PerPage,\n Table,\n useListQuery,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useSearchParams } from 'next/navigation.js'\nimport React from 'react'\n\nexport const VersionsViewClient: React.FC<{\n readonly baseClass: string\n readonly columns: Column[]\n readonly fetchURL: string\n readonly paginationLimits?: SanitizedCollectionConfig['admin']['pagination']['limits']\n}> = (props) => {\n const { baseClass, columns, paginationLimits } = props\n\n const { data, handlePageChange, handlePerPageChange } = useListQuery()\n\n const searchParams = useSearchParams()\n const limit = searchParams.get('limit')\n\n const { i18n } = useTranslation()\n\n const versionCount = data?.totalDocs || 0\n\n return (\n <React.Fragment>\n <LoadingOverlayToggle name=\"versions\" show={!data} />\n {versionCount === 0 && (\n <div className={`${baseClass}__no-versions`}>\n {i18n.t('version:noFurtherVersionsFound')}\n </div>\n )}\n {versionCount > 0 && (\n <React.Fragment>\n <Table columns={columns} data={data?.docs} />\n <div className={`${baseClass}__page-controls`}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={handlePageChange}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data?.totalDocs > 0 && (\n <React.Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={handlePerPageChange}\n limit={limit ? Number(limit) : 10}\n limits={paginationLimits}\n />\n </React.Fragment>\n )}\n </div>\n </React.Fragment>\n )}\n </React.Fragment>\n )\n}\n"],"names":["LoadingOverlayToggle","Pagination","PerPage","Table","useListQuery","useTranslation","useSearchParams","React","VersionsViewClient","props","baseClass","columns","paginationLimits","data","handlePageChange","handlePerPageChange","searchParams","limit","get","i18n","versionCount","totalDocs","Fragment","name","show","div","className","t","docs","hasNextPage","hasPrevPage","nextPage","numberOfNeighbors","onChange","page","prevPage","totalPages","handleChange","Number","limits"],"mappings":"AAAA;AAGA,SACEA,oBAAoB,EACpBC,UAAU,EACVC,OAAO,EACPC,KAAK,EACLC,YAAY,EACZC,cAAc,QACT,iBAAgB;AACvB,SAASC,eAAe,QAAQ,qBAAoB;AACpD,OAAOC,WAAW,QAAO;AAEzB,OAAO,MAAMC,qBAKR,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAEC,OAAO,EAAEC,gBAAgB,EAAE,GAAGH;IAEjD,MAAM,EAAEI,IAAI,EAAEC,gBAAgB,EAAEC,mBAAmB,EAAE,GAAGX;IAExD,MAAMY,eAAeV;IACrB,MAAMW,QAAQD,aAAaE,GAAG,CAAC;IAE/B,MAAM,EAAEC,IAAI,EAAE,GAAGd;IAEjB,MAAMe,eAAeP,MAAMQ,aAAa;IAExC,QACGd,MAAMe,SAAS;MACd,CAACtB,qBAAqBuB,KAAK,WAAWC,MAAM,CAACX,OAAQ;MACrD,CAACO,iBAAiB,MACfK,IAAIC,WAAW,GAAGhB,UAAU,aAAa,CAAC,EAAE;UAC3C,CAACS,KAAKQ,CAAC,CAAC,kCAAkC;QAC5C,EAAEF,KACF;MACF,CAACL,eAAe,MACbb,MAAMe,SAAS;UACd,CAACnB,MAAMQ,SAASA,SAASE,MAAMA,MAAMe,OAAQ;UAC7C,CAACH,IAAIC,WAAW,GAAGhB,UAAU,eAAe,CAAC,EAAE;YAC7C,CAACT,WACC4B,aAAahB,KAAKgB,WAAW,EAC7BC,aAAajB,KAAKiB,WAAW,EAC7Bb,OAAOJ,KAAKI,KAAK,EACjBc,UAAUlB,KAAKkB,QAAQ,EACvBC,mBAAmB,GACnBC,UAAUnB,kBACVoB,MAAMrB,KAAKqB,IAAI,EACfC,UAAUtB,KAAKsB,QAAQ,EACvBC,YAAYvB,KAAKuB,UAAU,GAC3B;YACF,CAACvB,MAAMQ,YAAY,MAChBd,MAAMe,SAAS;gBACd,CAACG,IAAIC,WAAW,GAAGhB,UAAU,WAAW,CAAC,EAAE;kBACzC,CAACG,KAAKqB,IAAI,GAAGrB,KAAKI,KAAK,GAAIJ,CAAAA,KAAKI,KAAK,GAAG,CAAA,EAAG;kBAC3C,CAACJ,KAAKuB,UAAU,GAAG,KAAKvB,KAAKuB,UAAU,KAAKvB,KAAKqB,IAAI,GACjDrB,KAAKI,KAAK,GAAGJ,KAAKqB,IAAI,GACtBrB,KAAKQ,SAAS,EAAE,IAAI;kBACxB,CAACF,KAAKQ,CAAC,CAAC,cAAc,CAAC,CAACd,KAAKQ,SAAS,CAAC;gBACzC,EAAEI,IAAI;gBACN,CAACvB,QACCmC,cAActB,qBACdE,OAAOA,QAAQqB,OAAOrB,SAAS,IAC/BsB,QAAQ3B,mBACR;cACJ,EAAEL,MAAMe,UACR;UACJ,EAAEG,IAAI;QACR,EAAElB,MAAMe,UACR;IACJ,EAAEf,MAAMe;AAEZ,EAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
1
|
import { Gutter, ListQueryProvider, SetDocumentStepNav } from '@payloadcms/ui';
|
|
3
2
|
import { notFound } from 'next/navigation.js';
|
|
4
3
|
import { hasDraftsEnabled, isNumber } from 'payload/shared';
|
|
@@ -91,64 +90,19 @@ export async function VersionsView(props) {
|
|
|
91
90
|
t
|
|
92
91
|
}) : collectionConfig?.labels?.plural ?? globalConfig?.label;
|
|
93
92
|
const GutterComponent = disableGutter ? React.Fragment : Gutter;
|
|
94
|
-
return
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
columnNumber: 7
|
|
108
|
-
}, this),
|
|
109
|
-
/*#__PURE__*/ _jsxDEV("main", {
|
|
110
|
-
className: baseClass,
|
|
111
|
-
children: /*#__PURE__*/ _jsxDEV(GutterComponent, {
|
|
112
|
-
className: `${baseClass}__wrap`,
|
|
113
|
-
children: /*#__PURE__*/ _jsxDEV(ListQueryProvider, {
|
|
114
|
-
data: versionsData,
|
|
115
|
-
modifySearchParams: true,
|
|
116
|
-
orderableFieldName: collectionConfig?.orderable === true ? '_order' : undefined,
|
|
117
|
-
query: {
|
|
118
|
-
limit: limitToUse,
|
|
119
|
-
sort: sort
|
|
120
|
-
},
|
|
121
|
-
children: /*#__PURE__*/ _jsxDEV(VersionsViewClient, {
|
|
122
|
-
baseClass: baseClass,
|
|
123
|
-
columns: columns,
|
|
124
|
-
fetchURL: fetchURL,
|
|
125
|
-
paginationLimits: collectionConfig?.admin?.pagination?.limits
|
|
126
|
-
}, void 0, false, {
|
|
127
|
-
fileName: "src/views/Versions/index.tsx",
|
|
128
|
-
lineNumber: 163,
|
|
129
|
-
columnNumber: 13
|
|
130
|
-
}, this)
|
|
131
|
-
}, void 0, false, {
|
|
132
|
-
fileName: "src/views/Versions/index.tsx",
|
|
133
|
-
lineNumber: 154,
|
|
134
|
-
columnNumber: 11
|
|
135
|
-
}, this)
|
|
136
|
-
}, void 0, false, {
|
|
137
|
-
fileName: "src/views/Versions/index.tsx",
|
|
138
|
-
lineNumber: 153,
|
|
139
|
-
columnNumber: 9
|
|
140
|
-
}, this)
|
|
141
|
-
}, void 0, false, {
|
|
142
|
-
fileName: "src/views/Versions/index.tsx",
|
|
143
|
-
lineNumber: 152,
|
|
144
|
-
columnNumber: 7
|
|
145
|
-
}, this)
|
|
146
|
-
]
|
|
147
|
-
}, void 0, true, {
|
|
148
|
-
fileName: "src/views/Versions/index.tsx",
|
|
149
|
-
lineNumber: 142,
|
|
150
|
-
columnNumber: 5
|
|
151
|
-
}, this);
|
|
93
|
+
return <React.Fragment>
|
|
94
|
+
<SetDocumentStepNav collectionSlug={collectionSlug} globalSlug={globalSlug} id={id} isTrashed={isTrashed} pluralLabel={pluralLabel} useAsTitle={collectionConfig?.admin?.useAsTitle || globalSlug} view={i18n.t('version:versions')}/>
|
|
95
|
+
<main className={baseClass}>
|
|
96
|
+
<GutterComponent className={`${baseClass}__wrap`}>
|
|
97
|
+
<ListQueryProvider data={versionsData} modifySearchParams orderableFieldName={collectionConfig?.orderable === true ? '_order' : undefined} query={{
|
|
98
|
+
limit: limitToUse,
|
|
99
|
+
sort: sort
|
|
100
|
+
}}>
|
|
101
|
+
<VersionsViewClient baseClass={baseClass} columns={columns} fetchURL={fetchURL} paginationLimits={collectionConfig?.admin?.pagination?.limits}/>
|
|
102
|
+
</ListQueryProvider>
|
|
103
|
+
</GutterComponent>
|
|
104
|
+
</main>
|
|
105
|
+
</React.Fragment>;
|
|
152
106
|
}
|
|
153
107
|
|
|
154
108
|
//# sourceMappingURL=index.js.map
|