@payloadcms/next 3.74.0-canary.2 → 3.74.0-internal.8fd38f1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"getVersions.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getVersions.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACf,MAAM,SAAS,CAAA;AAGhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,cAAc,EAAE,4BAA4B,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,4BAA4B,EAAE,OAAO,CAAA;IACrC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;CACrB,CAAC,CAAA;AAKF,eAAO,MAAM,WAAW,+FASrB,IAAI,KAAG,MA8QT,CAAA"}
1
+ {"version":3,"file":"getVersions.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getVersions.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACf,MAAM,SAAS,CAAA;AAGhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,cAAc,EAAE,4BAA4B,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,4BAA4B,EAAE,OAAO,CAAA;IACrC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;CACrB,CAAC,CAAA;AAKF,eAAO,MAAM,WAAW,+FASrB,IAAI,KAAG,MA2QT,CAAA"}
@@ -148,7 +148,6 @@ export const getVersions = async ({
148
148
  totalDocs: versionCount
149
149
  } = await payload.countVersions({
150
150
  collection: collectionConfig.slug,
151
- depth: 0,
152
151
  locale,
153
152
  user,
154
153
  where: combineQueries(countVersionsWhere, extractAccessFromPermission(docPermissions.readVersions))
@@ -191,7 +190,6 @@ export const getVersions = async ({
191
190
  ({
192
191
  totalDocs: unpublishedVersionCount
193
192
  } = await payload.countGlobalVersions({
194
- depth: 0,
195
193
  global: globalConfig.slug,
196
194
  locale,
197
195
  user,
@@ -212,7 +210,6 @@ export const getVersions = async ({
212
210
  ({
213
211
  totalDocs: versionCount
214
212
  } = await payload.countGlobalVersions({
215
- depth: 0,
216
213
  global: globalConfig.slug,
217
214
  locale,
218
215
  user,
@@ -1 +1 @@
1
- {"version":3,"file":"getVersions.js","names":["sanitizeID","traverseForLocalizedFields","combineQueries","extractAccessFromPermission","hasAutosaveEnabled","hasDraftsEnabled","getVersions","id","idArg","collectionConfig","doc","docPermissions","globalConfig","locale","payload","user","publishedDoc","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","entityConfig","versionsConfig","versions","hasLocalizedFields","fields","localizedDraftsEnabled","config","localization","shouldFetchVersions","Boolean","readVersions","_status","find","collection","slug","depth","limit","undefined","pagination","select","updatedAt","where","and","equals","docs","parent","push","snapshot","not_equals","mostRecentVersion","findVersions","autosave","totalDocs","countVersions","greater_than","countVersionsWhere","findGlobal","findGlobalVersions","countGlobalVersions","global"],"sources":["../../../src/views/Document/getVersions.ts"],"sourcesContent":["import { sanitizeID, traverseForLocalizedFields } from '@payloadcms/ui/shared'\nimport {\n combineQueries,\n extractAccessFromPermission,\n type Payload,\n type SanitizedCollectionConfig,\n type SanitizedDocumentPermissions,\n type SanitizedGlobalConfig,\n type TypedUser,\n} from 'payload'\nimport { hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n /**\n * Optional - performance optimization.\n * If a document has been fetched before fetching versions, pass it here.\n * If this document is set to published, we can skip the query to find out if a published document exists,\n * as the passed in document is proof of its existence.\n */\n doc?: Record<string, any>\n docPermissions: SanitizedDocumentPermissions\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale?: string\n payload: Payload\n user: TypedUser\n}\n\ntype Result = Promise<{\n hasPublishedDoc: boolean\n mostRecentVersionIsAutosaved: boolean\n unpublishedVersionCount: number\n versionCount: number\n}>\n\n// TODO: in the future, we can parallelize some of these queries\n// this will speed up the API by ~30-100ms or so\n// Note from the future: I have attempted parallelizing these queries, but it made this function almost 2x slower.\nexport const getVersions = async ({\n id: idArg,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale,\n payload,\n user,\n}: Args): Result => {\n const id = sanitizeID(idArg)\n let publishedDoc\n let hasPublishedDoc = false\n let mostRecentVersionIsAutosaved = false\n let unpublishedVersionCount = 0\n let versionCount = 0\n\n const entityConfig = collectionConfig || globalConfig\n const versionsConfig = entityConfig?.versions\n const hasLocalizedFields = traverseForLocalizedFields(entityConfig.fields)\n const localizedDraftsEnabled =\n hasDraftsEnabled(entityConfig) &&\n typeof payload.config.localization === 'object' &&\n hasLocalizedFields\n\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions)\n\n if (!shouldFetchVersions) {\n // Without readVersions permission, determine published status from the _status field\n const hasPublishedDoc = localizedDraftsEnabled\n ? doc?._status === 'published'\n : doc?._status !== 'draft'\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (collectionConfig) {\n if (!id) {\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (hasDraftsEnabled(collectionConfig)) {\n // Find out if a published document exists\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = (\n await payload.find({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale: locale || undefined,\n pagination: false,\n select: {\n updatedAt: true,\n },\n user,\n where: {\n and: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n )?.docs?.[0]\n }\n\n if (publishedDoc) {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(collectionConfig)) {\n const where: Record<string, any> = {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n }\n\n if (localizedDraftsEnabled) {\n where.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n const mostRecentVersion = await payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale,\n select: {\n autosave: true,\n },\n user,\n where: combineQueries(where, extractAccessFromPermission(docPermissions.readVersions)),\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n locale,\n user,\n where: combineQueries(\n {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n const countVersionsWhere: Record<string, any> = {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n }\n\n if (localizedDraftsEnabled) {\n countVersionsWhere.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n ;({ totalDocs: versionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n depth: 0,\n locale,\n user,\n where: combineQueries(\n countVersionsWhere,\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n\n if (globalConfig) {\n // Find out if a published document exists\n if (hasDraftsEnabled(globalConfig)) {\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale,\n select: {\n updatedAt: true,\n },\n user,\n })\n }\n\n if (publishedDoc?._status === 'published') {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(globalConfig)) {\n const mostRecentVersion = await payload.findGlobalVersions({\n slug: globalConfig.slug,\n limit: 1,\n locale,\n select: {\n autosave: true,\n },\n user,\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n locale,\n user,\n where: combineQueries(\n {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countGlobalVersions({\n depth: 0,\n global: globalConfig.slug,\n locale,\n user,\n where: localizedDraftsEnabled\n ? {\n snapshot: {\n not_equals: true,\n },\n }\n : undefined,\n }))\n }\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getVersions.js","names":["sanitizeID","traverseForLocalizedFields","combineQueries","extractAccessFromPermission","hasAutosaveEnabled","hasDraftsEnabled","getVersions","id","idArg","collectionConfig","doc","docPermissions","globalConfig","locale","payload","user","publishedDoc","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","entityConfig","versionsConfig","versions","hasLocalizedFields","fields","localizedDraftsEnabled","config","localization","shouldFetchVersions","Boolean","readVersions","_status","find","collection","slug","depth","limit","undefined","pagination","select","updatedAt","where","and","equals","docs","parent","push","snapshot","not_equals","mostRecentVersion","findVersions","autosave","totalDocs","countVersions","greater_than","countVersionsWhere","findGlobal","findGlobalVersions","countGlobalVersions","global"],"sources":["../../../src/views/Document/getVersions.ts"],"sourcesContent":["import { sanitizeID, traverseForLocalizedFields } from '@payloadcms/ui/shared'\nimport {\n combineQueries,\n extractAccessFromPermission,\n type Payload,\n type SanitizedCollectionConfig,\n type SanitizedDocumentPermissions,\n type SanitizedGlobalConfig,\n type TypedUser,\n} from 'payload'\nimport { hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n /**\n * Optional - performance optimization.\n * If a document has been fetched before fetching versions, pass it here.\n * If this document is set to published, we can skip the query to find out if a published document exists,\n * as the passed in document is proof of its existence.\n */\n doc?: Record<string, any>\n docPermissions: SanitizedDocumentPermissions\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n locale?: string\n payload: Payload\n user: TypedUser\n}\n\ntype Result = Promise<{\n hasPublishedDoc: boolean\n mostRecentVersionIsAutosaved: boolean\n unpublishedVersionCount: number\n versionCount: number\n}>\n\n// TODO: in the future, we can parallelize some of these queries\n// this will speed up the API by ~30-100ms or so\n// Note from the future: I have attempted parallelizing these queries, but it made this function almost 2x slower.\nexport const getVersions = async ({\n id: idArg,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale,\n payload,\n user,\n}: Args): Result => {\n const id = sanitizeID(idArg)\n let publishedDoc\n let hasPublishedDoc = false\n let mostRecentVersionIsAutosaved = false\n let unpublishedVersionCount = 0\n let versionCount = 0\n\n const entityConfig = collectionConfig || globalConfig\n const versionsConfig = entityConfig?.versions\n const hasLocalizedFields = traverseForLocalizedFields(entityConfig.fields)\n const localizedDraftsEnabled =\n hasDraftsEnabled(entityConfig) &&\n typeof payload.config.localization === 'object' &&\n hasLocalizedFields\n\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions)\n\n if (!shouldFetchVersions) {\n // Without readVersions permission, determine published status from the _status field\n const hasPublishedDoc = localizedDraftsEnabled\n ? doc?._status === 'published'\n : doc?._status !== 'draft'\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (collectionConfig) {\n if (!id) {\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n }\n\n if (hasDraftsEnabled(collectionConfig)) {\n // Find out if a published document exists\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = (\n await payload.find({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale: locale || undefined,\n pagination: false,\n select: {\n updatedAt: true,\n },\n user,\n where: {\n and: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n )?.docs?.[0]\n }\n\n if (publishedDoc) {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(collectionConfig)) {\n const where: Record<string, any> = {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n }\n\n if (localizedDraftsEnabled) {\n where.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n const mostRecentVersion = await payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 1,\n locale,\n select: {\n autosave: true,\n },\n user,\n where: combineQueries(where, extractAccessFromPermission(docPermissions.readVersions)),\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n locale,\n user,\n where: combineQueries(\n {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n const countVersionsWhere: Record<string, any> = {\n and: [\n {\n parent: {\n equals: id,\n },\n },\n ],\n }\n\n if (localizedDraftsEnabled) {\n countVersionsWhere.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n ;({ totalDocs: versionCount } = await payload.countVersions({\n collection: collectionConfig.slug,\n locale,\n user,\n where: combineQueries(\n countVersionsWhere,\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n\n if (globalConfig) {\n // Find out if a published document exists\n if (hasDraftsEnabled(globalConfig)) {\n if (doc?._status === 'published') {\n publishedDoc = doc\n } else {\n publishedDoc = await payload.findGlobal({\n slug: globalConfig.slug,\n depth: 0,\n locale,\n select: {\n updatedAt: true,\n },\n user,\n })\n }\n\n if (publishedDoc?._status === 'published') {\n hasPublishedDoc = true\n }\n\n if (hasAutosaveEnabled(globalConfig)) {\n const mostRecentVersion = await payload.findGlobalVersions({\n slug: globalConfig.slug,\n limit: 1,\n locale,\n select: {\n autosave: true,\n },\n user,\n })\n\n if (\n mostRecentVersion.docs[0] &&\n 'autosave' in mostRecentVersion.docs[0] &&\n mostRecentVersion.docs[0].autosave\n ) {\n mostRecentVersionIsAutosaved = true\n }\n }\n\n if (publishedDoc?.updatedAt) {\n ;({ totalDocs: unpublishedVersionCount } = await payload.countGlobalVersions({\n global: globalConfig.slug,\n locale,\n user,\n where: combineQueries(\n {\n and: [\n {\n 'version._status': {\n equals: 'draft',\n },\n },\n {\n updatedAt: {\n greater_than: publishedDoc.updatedAt,\n },\n },\n ],\n },\n extractAccessFromPermission(docPermissions.readVersions),\n ),\n }))\n }\n }\n\n ;({ totalDocs: versionCount } = await payload.countGlobalVersions({\n global: globalConfig.slug,\n locale,\n user,\n where: localizedDraftsEnabled\n ? {\n snapshot: {\n not_equals: true,\n },\n }\n : undefined,\n }))\n }\n\n return {\n hasPublishedDoc,\n mostRecentVersionIsAutosaved,\n unpublishedVersionCount,\n versionCount,\n }\n}\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,0BAA0B,QAAQ;AACvD,SACEC,cAAc,EACdC,2BAA2B,QAMtB;AACP,SAASC,kBAAkB,EAAEC,gBAAgB,QAAQ;AA0BrD;AACA;AACA;AACA,OAAO,MAAMC,WAAA,GAAc,MAAAA,CAAO;EAChCC,EAAA,EAAIC,KAAK;EACTC,gBAAgB;EAChBC,GAAG;EACHC,cAAc;EACdC,YAAY;EACZC,MAAM;EACNC,OAAO;EACPC;AAAI,CACC;EACL,MAAMR,EAAA,GAAKP,UAAA,CAAWQ,KAAA;EACtB,IAAIQ,YAAA;EACJ,IAAIC,eAAA,GAAkB;EACtB,IAAIC,4BAAA,GAA+B;EACnC,IAAIC,uBAAA,GAA0B;EAC9B,IAAIC,YAAA,GAAe;EAEnB,MAAMC,YAAA,GAAeZ,gBAAA,IAAoBG,YAAA;EACzC,MAAMU,cAAA,GAAiBD,YAAA,EAAcE,QAAA;EACrC,MAAMC,kBAAA,GAAqBvB,0BAAA,CAA2BoB,YAAA,CAAaI,MAAM;EACzE,MAAMC,sBAAA,GACJrB,gBAAA,CAAiBgB,YAAA,KACjB,OAAOP,OAAA,CAAQa,MAAM,CAACC,YAAY,KAAK,YACvCJ,kBAAA;EAEF,MAAMK,mBAAA,GAAsBC,OAAA,CAAQR,cAAA,IAAkBX,cAAA,EAAgBoB,YAAA;EAEtE,IAAI,CAACF,mBAAA,EAAqB;IACxB;IACA,MAAMZ,eAAA,GAAkBS,sBAAA,GACpBhB,GAAA,EAAKsB,OAAA,KAAY,cACjBtB,GAAA,EAAKsB,OAAA,KAAY;IAErB,OAAO;MACLf,eAAA;MACAC,4BAAA;MACAC,uBAAA;MACAC;IACF;EACF;EAEA,IAAIX,gBAAA,EAAkB;IACpB,IAAI,CAACF,EAAA,EAAI;MACP,OAAO;QACLU,eAAA;QACAC,4BAAA;QACAC,uBAAA;QACAC;MACF;IACF;IAEA,IAAIf,gBAAA,CAAiBI,gBAAA,GAAmB;MACtC;MACA,IAAIC,GAAA,EAAKsB,OAAA,KAAY,aAAa;QAChChB,YAAA,GAAeN,GAAA;MACjB,OAAO;QACLM,YAAA,GACE,OAAMF,OAAA,CAAQmB,IAAI,CAAC;UACjBC,UAAA,EAAYzB,gBAAA,CAAiB0B,IAAI;UACjCC,KAAA,EAAO;UACPC,KAAA,EAAO;UACPxB,MAAA,EAAQA,MAAA,IAAUyB,SAAA;UAClBC,UAAA,EAAY;UACZC,MAAA,EAAQ;YACNC,SAAA,EAAW;UACb;UACA1B,IAAA;UACA2B,KAAA,EAAO;YACLC,GAAA,EAAK,CACH;cACEX,OAAA,EAAS;gBACPY,MAAA,EAAQ;cACV;YACF,GACA;cACErC,EAAA,EAAI;gBACFqC,MAAA,EAAQrC;cACV;YACF;UAEJ;QACF,EAAC,GACAsC,IAAA,GAAO,EAAE;MACd;MAEA,IAAI7B,YAAA,EAAc;QAChBC,eAAA,GAAkB;MACpB;MAEA,IAAIb,kBAAA,CAAmBK,gBAAA,GAAmB;QACxC,MAAMiC,KAAA,GAA6B;UACjCC,GAAA,EAAK,CACH;YACEG,MAAA,EAAQ;cACNF,MAAA,EAAQrC;YACV;UACF;QAEJ;QAEA,IAAImB,sBAAA,EAAwB;UAC1BgB,KAAA,CAAMC,GAAG,CAACI,IAAI,CAAC;YACbC,QAAA,EAAU;cACRC,UAAA,EAAY;YACd;UACF;QACF;QAEA,MAAMC,iBAAA,GAAoB,MAAMpC,OAAA,CAAQqC,YAAY,CAAC;UACnDjB,UAAA,EAAYzB,gBAAA,CAAiB0B,IAAI;UACjCC,KAAA,EAAO;UACPC,KAAA,EAAO;UACPxB,MAAA;UACA2B,MAAA,EAAQ;YACNY,QAAA,EAAU;UACZ;UACArC,IAAA;UACA2B,KAAA,EAAOxC,cAAA,CAAewC,KAAA,EAAOvC,2BAAA,CAA4BQ,cAAA,CAAeoB,YAAY;QACtF;QAEA,IACEmB,iBAAA,CAAkBL,IAAI,CAAC,EAAE,IACzB,cAAcK,iBAAA,CAAkBL,IAAI,CAAC,EAAE,IACvCK,iBAAA,CAAkBL,IAAI,CAAC,EAAE,CAACO,QAAQ,EAClC;UACAlC,4BAAA,GAA+B;QACjC;MACF;MAEA,IAAIF,YAAA,EAAcyB,SAAA,EAAW;QACzB;UAAEY,SAAA,EAAWlC;QAAuB,CAAE,GAAG,MAAML,OAAA,CAAQwC,aAAa,CAAC;UACrEpB,UAAA,EAAYzB,gBAAA,CAAiB0B,IAAI;UACjCtB,MAAA;UACAE,IAAA;UACA2B,KAAA,EAAOxC,cAAA,CACL;YACEyC,GAAA,EAAK,CACH;cACEG,MAAA,EAAQ;gBACNF,MAAA,EAAQrC;cACV;YACF,GACA;cACE,mBAAmB;gBACjBqC,MAAA,EAAQ;cACV;YACF,GACA;cACEH,SAAA,EAAW;gBACTc,YAAA,EAAcvC,YAAA,CAAayB;cAC7B;YACF;UAEJ,GACAtC,2BAAA,CAA4BQ,cAAA,CAAeoB,YAAY;QAE3D,EAAC;MACH;IACF;IAEA,MAAMyB,kBAAA,GAA0C;MAC9Cb,GAAA,EAAK,CACH;QACEG,MAAA,EAAQ;UACNF,MAAA,EAAQrC;QACV;MACF;IAEJ;IAEA,IAAImB,sBAAA,EAAwB;MAC1B8B,kBAAA,CAAmBb,GAAG,CAACI,IAAI,CAAC;QAC1BC,QAAA,EAAU;UACRC,UAAA,EAAY;QACd;MACF;IACF;IAEE;MAAEI,SAAA,EAAWjC;IAAY,CAAE,GAAG,MAAMN,OAAA,CAAQwC,aAAa,CAAC;MAC1DpB,UAAA,EAAYzB,gBAAA,CAAiB0B,IAAI;MACjCtB,MAAA;MACAE,IAAA;MACA2B,KAAA,EAAOxC,cAAA,CACLsD,kBAAA,EACArD,2BAAA,CAA4BQ,cAAA,CAAeoB,YAAY;IAE3D,EAAC;EACH;EAEA,IAAInB,YAAA,EAAc;IAChB;IACA,IAAIP,gBAAA,CAAiBO,YAAA,GAAe;MAClC,IAAIF,GAAA,EAAKsB,OAAA,KAAY,aAAa;QAChChB,YAAA,GAAeN,GAAA;MACjB,OAAO;QACLM,YAAA,GAAe,MAAMF,OAAA,CAAQ2C,UAAU,CAAC;UACtCtB,IAAA,EAAMvB,YAAA,CAAauB,IAAI;UACvBC,KAAA,EAAO;UACPvB,MAAA;UACA2B,MAAA,EAAQ;YACNC,SAAA,EAAW;UACb;UACA1B;QACF;MACF;MAEA,IAAIC,YAAA,EAAcgB,OAAA,KAAY,aAAa;QACzCf,eAAA,GAAkB;MACpB;MAEA,IAAIb,kBAAA,CAAmBQ,YAAA,GAAe;QACpC,MAAMsC,iBAAA,GAAoB,MAAMpC,OAAA,CAAQ4C,kBAAkB,CAAC;UACzDvB,IAAA,EAAMvB,YAAA,CAAauB,IAAI;UACvBE,KAAA,EAAO;UACPxB,MAAA;UACA2B,MAAA,EAAQ;YACNY,QAAA,EAAU;UACZ;UACArC;QACF;QAEA,IACEmC,iBAAA,CAAkBL,IAAI,CAAC,EAAE,IACzB,cAAcK,iBAAA,CAAkBL,IAAI,CAAC,EAAE,IACvCK,iBAAA,CAAkBL,IAAI,CAAC,EAAE,CAACO,QAAQ,EAClC;UACAlC,4BAAA,GAA+B;QACjC;MACF;MAEA,IAAIF,YAAA,EAAcyB,SAAA,EAAW;QACzB;UAAEY,SAAA,EAAWlC;QAAuB,CAAE,GAAG,MAAML,OAAA,CAAQ6C,mBAAmB,CAAC;UAC3EC,MAAA,EAAQhD,YAAA,CAAauB,IAAI;UACzBtB,MAAA;UACAE,IAAA;UACA2B,KAAA,EAAOxC,cAAA,CACL;YACEyC,GAAA,EAAK,CACH;cACE,mBAAmB;gBACjBC,MAAA,EAAQ;cACV;YACF,GACA;cACEH,SAAA,EAAW;gBACTc,YAAA,EAAcvC,YAAA,CAAayB;cAC7B;YACF;UAEJ,GACAtC,2BAAA,CAA4BQ,cAAA,CAAeoB,YAAY;QAE3D,EAAC;MACH;IACF;IAEE;MAAEsB,SAAA,EAAWjC;IAAY,CAAE,GAAG,MAAMN,OAAA,CAAQ6C,mBAAmB,CAAC;MAChEC,MAAA,EAAQhD,YAAA,CAAauB,IAAI;MACzBtB,MAAA;MACAE,IAAA;MACA2B,KAAA,EAAOhB,sBAAA,GACH;QACEsB,QAAA,EAAU;UACRC,UAAA,EAAY;QACd;MACF,IACAX;IACN,EAAC;EACH;EAEA,OAAO;IACLrB,eAAA;IACAC,4BAAA;IACAC,uBAAA;IACAC;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAIpB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EAEvB,gBAAgB,EAGjB,MAAM,SAAS,CAAA;AAehB,OAAO,KAAmB,MAAM,OAAO,CAAA;AASvC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,iBAAiB,CAAC,EACd,gBAAgB,GAChB,KAAK,CAAC,aAAa,CAAC,mBAAmB,GAAG,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,CAAC,CAAA;IAC9F,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GAAG,oBAAoB,CAAA;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CAiWA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAYjD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAIpB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EAEvB,gBAAgB,EAGjB,MAAM,SAAS,CAAA;AAehB,OAAO,KAAmB,MAAM,OAAO,CAAA;AASvC;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,iBAAiB,CAAC,EACd,gBAAgB,GAChB,KAAK,CAAC,aAAa,CAAC,mBAAmB,GAAG,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,CAAC,CAAA;IAC9F,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GAAG,oBAAoB,CAAA;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CAuWA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAYjD,CAAA"}
@@ -56,6 +56,11 @@ export const renderListView = async args => {
56
56
  },
57
57
  visibleEntities
58
58
  } = initPageResult;
59
+ const {
60
+ routes: {
61
+ admin: adminRoute
62
+ }
63
+ } = config;
59
64
  if (!collectionConfig || !permissions?.collections?.[collectionSlug]?.read || !visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {
60
65
  throw new Error('not-found');
61
66
  }
@@ -73,25 +78,45 @@ export const renderListView = async args => {
73
78
  sort: query?.sort
74
79
  }
75
80
  });
76
- query.preset = collectionPreferences?.preset;
81
+ let queryPreset;
82
+ let queryPresetPermissions;
83
+ if (collectionPreferences?.preset) {
84
+ try {
85
+ queryPreset = await payload.findByID({
86
+ id: collectionPreferences?.preset,
87
+ collection: 'payload-query-presets',
88
+ depth: 0,
89
+ overrideAccess: false,
90
+ user
91
+ });
92
+ if (queryPreset) {
93
+ queryPresetPermissions = (await getDocumentPermissions({
94
+ id: queryPreset.id,
95
+ collectionConfig: req.payload.collections['payload-query-presets'].config,
96
+ data: queryPreset,
97
+ req
98
+ }))?.docPermissions;
99
+ }
100
+ } catch (err) {
101
+ req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`);
102
+ }
103
+ }
104
+ query.preset = queryPreset?.id;
105
+ if (queryPreset?.where && !query.where) {
106
+ query.where = queryPreset.where;
107
+ }
108
+ query.groupBy = query.groupBy ?? queryPreset?.groupBy ?? collectionPreferences?.groupBy;
109
+ const columnPreference = query.columns ? transformColumnsToPreferences(query.columns) : queryPreset?.columns ?? collectionPreferences?.columns;
110
+ query.columns = transformColumnsToSearchParams(columnPreference);
77
111
  query.page = isNumber(query?.page) ? Number(query.page) : 0;
78
112
  query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit;
79
113
  query.sort = collectionPreferences?.sort || (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined);
80
- query.groupBy = collectionPreferences?.groupBy;
81
- query.columns = transformColumnsToSearchParams(collectionPreferences?.columns || []);
82
- const {
83
- routes: {
84
- admin: adminRoute
85
- }
86
- } = config;
87
114
  const baseFilterConstraint = await (collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter)?.({
88
115
  limit: query.limit,
89
116
  page: query.page,
90
117
  req,
91
118
  sort: query.sort
92
119
  });
93
- let queryPreset;
94
- let queryPresetPermissions;
95
120
  let whereWithMergedSearch = mergeListSearchAndWhere({
96
121
  collectionConfig,
97
122
  search: typeof query?.search === 'string' ? query.search : undefined,
@@ -106,29 +131,6 @@ export const renderListView = async args => {
106
131
  }]
107
132
  };
108
133
  }
109
- if (collectionPreferences?.preset) {
110
- try {
111
- queryPreset = await payload.findByID({
112
- id: collectionPreferences?.preset,
113
- collection: 'payload-query-presets',
114
- depth: 0,
115
- overrideAccess: false,
116
- user
117
- });
118
- if (queryPreset) {
119
- queryPresetPermissions = await getDocumentPermissions({
120
- id: queryPreset.id,
121
- collectionConfig: config.collections.find(c => c.slug === 'payload-query-presets'),
122
- data: queryPreset,
123
- req
124
- })?.then(({
125
- docPermissions
126
- }) => docPermissions);
127
- }
128
- } catch (err) {
129
- req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`);
130
- }
131
- }
132
134
  let Table = null;
133
135
  let columnState = [];
134
136
  let data = {
@@ -149,7 +151,7 @@ export const renderListView = async args => {
149
151
  clientConfig,
150
152
  collectionConfig: clientCollectionConfig,
151
153
  collectionSlug,
152
- columns: collectionPreferences?.columns,
154
+ columns: columnPreference,
153
155
  i18n,
154
156
  permissions
155
157
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","getColumns","renderFilters","renderTable","upsertPreferences","notFound","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","getDocumentPermissions","enrichDocsWithVersionStatus","handleGroupBy","renderListViewSlots","resolveAllFilterOptions","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","includes","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","page","admin","pagination","defaultLimit","defaultSort","routes","adminRoute","baseFilterConstraint","baseFilter","baseListFilter","queryPreset","queryPresetPermissions","whereWithMergedSearch","search","where","and","deletedAt","exists","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","select","enableListViewSelectAPI","fieldPermissions","fields","draft","fallbackLocale","includeLockStatus","orderableFieldName","orderable","useAsTitle","name","msg","renderedFilters","importMap","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","delete","notFoundDocId","serverProps","listPreferences","listSearchableFields","listViewSlots","clientProps","isInDrawer","Boolean","stringify","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n PayloadComponent,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getColumns, renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\nimport {\n appendUploadSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\n\n/**\n * @internal\n */\nexport type RenderListViewArgs = {\n /**\n * Allows providing your own list view component. This will override the default list view component and\n * the collection's configured list view component (if any).\n */\n ComponentOverride?:\n | PayloadComponent\n | React.ComponentType<ListViewClientProps | (ListViewClientProps & ListViewServerPropsOnly)>\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n /**\n * If not ListQuery is provided, `req.query` will be used.\n */\n query?: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n *\n * @internal\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n ComponentOverride,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (\n !collectionConfig ||\n !permissions?.collections?.[collectionSlug]?.read ||\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility)\n ) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n query.preset = collectionPreferences?.preset\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n query.groupBy = collectionPreferences?.groupBy\n\n query.columns = transformColumnsToSearchParams(collectionPreferences?.columns || [])\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: config.collections.find((c) => c.slug === 'payload-query-presets'),\n data: queryPreset,\n req,\n })?.then(({ docPermissions }) => docPermissions)\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: collectionPreferences?.columns,\n i18n,\n permissions,\n })\n\n const select = collectionConfig.admin.enableListViewSelectAPI\n ? transformColumnsToSelect(columns)\n : undefined\n\n /** Force select image fields for list view thumbnails */\n appendUploadSelectFields({\n collectionConfig,\n select,\n })\n\n try {\n if (collectionConfig.admin.groupBy && query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n const hasDeletePermission = permissions?.collections?.[collectionSlug]?.delete\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n newDocumentURL,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n collectionSlug,\n columnState,\n disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n hasDeletePermission,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component:\n ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps,\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n // Pass through Next.js errors\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","getColumns","renderFilters","renderTable","upsertPreferences","notFound","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","getDocumentPermissions","enrichDocsWithVersionStatus","handleGroupBy","renderListViewSlots","resolveAllFilterOptions","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","routes","admin","adminRoute","collections","read","includes","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","queryPreset","queryPresetPermissions","findByID","id","collection","depth","overrideAccess","data","docPermissions","err","logger","error","where","columnPreference","page","pagination","defaultLimit","defaultSort","baseFilterConstraint","baseFilter","baseListFilter","whereWithMergedSearch","search","and","deletedAt","exists","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","find","c","select","enableListViewSelectAPI","fieldPermissions","fields","draft","fallbackLocale","includeLockStatus","orderableFieldName","orderable","useAsTitle","name","msg","renderedFilters","importMap","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","delete","notFoundDocId","serverProps","listPreferences","listSearchableFields","listViewSlots","clientProps","isInDrawer","Boolean","stringify","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n PayloadComponent,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getColumns, renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\nimport {\n appendUploadSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\n\n/**\n * @internal\n */\nexport type RenderListViewArgs = {\n /**\n * Allows providing your own list view component. This will override the default list view component and\n * the collection's configured list view component (if any).\n */\n ComponentOverride?:\n | PayloadComponent\n | React.ComponentType<ListViewClientProps | (ListViewClientProps & ListViewServerPropsOnly)>\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n /**\n * If not ListQuery is provided, `req.query` will be used.\n */\n query?: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n *\n * @internal\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n ComponentOverride,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (\n !collectionConfig ||\n !permissions?.collections?.[collectionSlug]?.read ||\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility)\n ) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = (\n await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: req.payload.collections['payload-query-presets'].config,\n data: queryPreset,\n req,\n })\n )?.docPermissions\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n query.preset = queryPreset?.id\n if (queryPreset?.where && !query.where) {\n query.where = queryPreset.where\n }\n query.groupBy = query.groupBy ?? queryPreset?.groupBy ?? collectionPreferences?.groupBy\n\n const columnPreference = query.columns\n ? transformColumnsToPreferences(query.columns)\n : (queryPreset?.columns ?? collectionPreferences?.columns)\n query.columns = transformColumnsToSearchParams(columnPreference)\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: columnPreference,\n i18n,\n permissions,\n })\n\n const select = collectionConfig.admin.enableListViewSelectAPI\n ? transformColumnsToSelect(columns)\n : undefined\n\n /** Force select image fields for list view thumbnails */\n appendUploadSelectFields({\n collectionConfig,\n select,\n })\n\n try {\n if (collectionConfig.admin.groupBy && query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n const hasDeletePermission = permissions?.collections?.[collectionSlug]?.delete\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n newDocumentURL,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n collectionSlug,\n columnState,\n disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n hasDeletePermission,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component:\n ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps,\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n // Pass through Next.js errors\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.74.0-canary.2",
3
+ "version": "3.74.0-internal.8fd38f1",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -99,9 +99,9 @@
99
99
  "qs-esm": "7.0.2",
100
100
  "sass": "1.77.4",
101
101
  "uuid": "10.0.0",
102
- "@payloadcms/graphql": "3.74.0-canary.2",
103
- "@payloadcms/translations": "3.74.0-canary.2",
104
- "@payloadcms/ui": "3.74.0-canary.2"
102
+ "@payloadcms/graphql": "3.74.0-internal.8fd38f1",
103
+ "@payloadcms/translations": "3.74.0-internal.8fd38f1",
104
+ "@payloadcms/ui": "3.74.0-internal.8fd38f1"
105
105
  },
106
106
  "devDependencies": {
107
107
  "@babel/cli": "7.27.2",
@@ -118,13 +118,13 @@
118
118
  "esbuild": "0.27.1",
119
119
  "esbuild-sass-plugin": "3.3.1",
120
120
  "swc-plugin-transform-remove-imports": "8.3.0",
121
- "payload": "3.74.0-canary.2",
121
+ "payload": "3.74.0-internal.8fd38f1",
122
122
  "@payloadcms/eslint-config": "3.28.0"
123
123
  },
124
124
  "peerDependencies": {
125
125
  "graphql": "^16.8.1",
126
126
  "next": "^15.4.10 || >=16.1.1-canary.35 <16.2.0 || ^16.2.0",
127
- "payload": "3.74.0-canary.2"
127
+ "payload": "3.74.0-internal.8fd38f1"
128
128
  },
129
129
  "engines": {
130
130
  "node": "^18.20.2 || >=20.9.0"