@payloadcms/next 3.78.0-canary.0 → 3.78.0-canary.1

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":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Account/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAA+B,MAAM,SAAS,CAAA;AAOhF,OAAO,KAAK,MAAM,OAAO,CAAA;AAYzB,wBAAsB,WAAW,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,oBAAoB,8BAyJ/F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Account/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAA+B,MAAM,SAAS,CAAA;AAOhF,OAAO,KAAK,MAAM,OAAO,CAAA;AAYzB,wBAAsB,WAAW,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,oBAAoB,8BAgK/F"}
@@ -67,8 +67,10 @@ export async function AccountView({
67
67
  // Get permissions
68
68
  const {
69
69
  docPermissions,
70
+ hasDeletePermission,
70
71
  hasPublishPermission,
71
- hasSavePermission
72
+ hasSavePermission,
73
+ hasTrashPermission
72
74
  } = await getDocumentPermissions({
73
75
  id: user.id,
74
76
  collectionConfig,
@@ -132,9 +134,11 @@ export async function AccountView({
132
134
  collectionSlug: userSlug,
133
135
  currentEditor: currentEditor,
134
136
  docPermissions: docPermissions,
137
+ hasDeletePermission: hasDeletePermission,
135
138
  hasPublishedDoc: hasPublishedDoc,
136
139
  hasPublishPermission: hasPublishPermission,
137
140
  hasSavePermission: hasSavePermission,
141
+ hasTrashPermission: hasTrashPermission,
138
142
  id: user?.id,
139
143
  initialData: data,
140
144
  initialState: formState,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","buildFormState","notFound","formatAdminURL","React","DocumentHeader","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getVersions","EditView","AccountClient","Settings","AccountView","initPageResult","params","searchParams","languageOptions","locale","permissions","req","i18n","payload","config","user","admin","theme","userSlug","routes","api","serverURL","collectionConfig","collections","id","data","collectionSlug","slug","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","state","formState","code","operation","renderAllFields","schemaPath","skipValidation","currentEditor","isLocked","lastUpdateTime","isEditing","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","doc","_jsx","AfterFields","apiURL","apiRoute","path","initialData","initialState","_jsxs","hideTabs","Component","components","views","account","Fallback","importMap","serverProps","routeSegments"],"sources":["../../../src/views/Account/index.tsx"],"sourcesContent":["import type { AdminViewServerProps, DocumentViewServerPropsOnly } from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { getIsLocked } from '../Document/getIsLocked.js'\nimport { getVersions } from '../Document/getVersions.js'\nimport { EditView } from '../Edit/index.js'\nimport { AccountClient } from './index.client.js'\nimport { Settings } from './Settings/index.js'\n\nexport async function AccountView({ initPageResult, params, searchParams }: AdminViewServerProps) {\n const {\n languageOptions,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: { theme, user: userSlug },\n routes: { api },\n serverURL,\n } = config\n\n const collectionConfig = payload?.collections?.[userSlug]?.config\n\n if (collectionConfig && user?.id) {\n // Fetch the data required for the view\n const data = await getDocumentData({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n locale,\n payload,\n req,\n user,\n })\n\n if (!data) {\n throw new Error('not-found')\n }\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n payload,\n user,\n })\n\n // Get permissions\n const { docPermissions, hasPublishPermission, hasSavePermission } =\n await getDocumentPermissions({\n id: user.id,\n collectionConfig,\n data,\n req,\n })\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions,\n docPreferences,\n locale: locale?.code,\n operation: 'update',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n skipValidation: true,\n })\n\n // Fetch document lock state\n const { currentEditor, isLocked, lastUpdateTime } = await getIsLocked({\n id: user.id,\n collectionConfig,\n isEditing: true,\n req,\n })\n\n // Get all versions required for UI\n const { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount } =\n await getVersions({\n id: user.id,\n collectionConfig,\n doc: data,\n docPermissions,\n locale: locale?.code,\n payload,\n user,\n })\n\n return (\n <DocumentInfoProvider\n AfterFields={\n <Settings\n i18n={i18n}\n languageOptions={languageOptions}\n payload={payload}\n theme={theme}\n user={user}\n />\n }\n apiURL={formatAdminURL({\n apiRoute: api,\n path: `/${userSlug}${user?.id ? `/${user.id}` : ''}`,\n })}\n collectionSlug={userSlug}\n currentEditor={currentEditor}\n docPermissions={docPermissions}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={user?.id}\n initialData={data}\n initialState={formState}\n isEditing\n isLocked={isLocked}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <EditDepthProvider>\n <DocumentHeader\n collectionConfig={collectionConfig}\n hideTabs\n permissions={permissions}\n req={req}\n />\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n Component: config.admin?.components?.views?.account?.Component,\n Fallback: EditView,\n importMap: payload.importMap,\n serverProps: {\n doc: data,\n hasPublishedDoc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: [],\n searchParams,\n user,\n } satisfies DocumentViewServerPropsOnly,\n })}\n <AccountClient />\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n }\n\n return notFound()\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","buildFormState","notFound","formatAdminURL","React","DocumentHeader","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getVersions","EditView","AccountClient","Settings","AccountView","initPageResult","params","searchParams","languageOptions","locale","permissions","req","i18n","payload","config","user","admin","theme","userSlug","routes","api","serverURL","collectionConfig","collections","id","data","collectionSlug","slug","Error","docPreferences","docPermissions","hasDeletePermission","hasPublishPermission","hasSavePermission","hasTrashPermission","state","formState","code","operation","renderAllFields","schemaPath","skipValidation","currentEditor","isLocked","lastUpdateTime","isEditing","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","doc","_jsx","AfterFields","apiURL","apiRoute","path","initialData","initialState","_jsxs","hideTabs","Component","components","views","account","Fallback","importMap","serverProps","routeSegments"],"sources":["../../../src/views/Account/index.tsx"],"sourcesContent":["import type { AdminViewServerProps, DocumentViewServerPropsOnly } from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { getIsLocked } from '../Document/getIsLocked.js'\nimport { getVersions } from '../Document/getVersions.js'\nimport { EditView } from '../Edit/index.js'\nimport { AccountClient } from './index.client.js'\nimport { Settings } from './Settings/index.js'\n\nexport async function AccountView({ initPageResult, params, searchParams }: AdminViewServerProps) {\n const {\n languageOptions,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: { theme, user: userSlug },\n routes: { api },\n serverURL,\n } = config\n\n const collectionConfig = payload?.collections?.[userSlug]?.config\n\n if (collectionConfig && user?.id) {\n // Fetch the data required for the view\n const data = await getDocumentData({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n locale,\n payload,\n req,\n user,\n })\n\n if (!data) {\n throw new Error('not-found')\n }\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n payload,\n user,\n })\n\n // Get permissions\n const {\n docPermissions,\n hasDeletePermission,\n hasPublishPermission,\n hasSavePermission,\n hasTrashPermission,\n } = await getDocumentPermissions({\n id: user.id,\n collectionConfig,\n data,\n req,\n })\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n id: user.id,\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions,\n docPreferences,\n locale: locale?.code,\n operation: 'update',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n skipValidation: true,\n })\n\n // Fetch document lock state\n const { currentEditor, isLocked, lastUpdateTime } = await getIsLocked({\n id: user.id,\n collectionConfig,\n isEditing: true,\n req,\n })\n\n // Get all versions required for UI\n const { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount } =\n await getVersions({\n id: user.id,\n collectionConfig,\n doc: data,\n docPermissions,\n locale: locale?.code,\n payload,\n user,\n })\n\n return (\n <DocumentInfoProvider\n AfterFields={\n <Settings\n i18n={i18n}\n languageOptions={languageOptions}\n payload={payload}\n theme={theme}\n user={user}\n />\n }\n apiURL={formatAdminURL({\n apiRoute: api,\n path: `/${userSlug}${user?.id ? `/${user.id}` : ''}`,\n })}\n collectionSlug={userSlug}\n currentEditor={currentEditor}\n docPermissions={docPermissions}\n hasDeletePermission={hasDeletePermission}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n hasTrashPermission={hasTrashPermission}\n id={user?.id}\n initialData={data}\n initialState={formState}\n isEditing\n isLocked={isLocked}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <EditDepthProvider>\n <DocumentHeader\n collectionConfig={collectionConfig}\n hideTabs\n permissions={permissions}\n req={req}\n />\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n Component: config.admin?.components?.views?.account?.Component,\n Fallback: EditView,\n importMap: payload.importMap,\n serverProps: {\n doc: data,\n hasPublishedDoc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: [],\n searchParams,\n user,\n } satisfies DocumentViewServerPropsOnly,\n })}\n <AccountClient />\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n }\n\n return notFound()\n}\n"],"mappings":";AAEA,SAASA,oBAAoB,EAAEC,iBAAiB,EAAEC,mBAAmB,QAAQ;AAC7E,SAASC,qBAAqB,QAAQ;AACtC,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,WAAW,QAAQ;AAC5B,SAASC,WAAW,QAAQ;AAC5B,SAASC,QAAQ,QAAQ;AACzB,SAASC,aAAa,QAAQ;AAC9B,SAASC,QAAQ,QAAQ;AAEzB,OAAO,eAAeC,YAAY;EAAEC,cAAc;EAAEC,MAAM;EAAEC;AAAY,CAAwB;EAC9F,MAAM;IACJC,eAAe;IACfC,MAAM;IACNC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MACHC,IAAI;MACJC,OAAO;MACPA,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBC;IAAI;EACL,CACF,GAAGV,cAAA;EAEJ,MAAM;IACJW,KAAA,EAAO;MAAEC,KAAK;MAAEF,IAAA,EAAMG;IAAQ,CAAE;IAChCC,MAAA,EAAQ;MAAEC;IAAG,CAAE;IACfC;EAAS,CACV,GAAGP,MAAA;EAEJ,MAAMQ,gBAAA,GAAmBT,OAAA,EAASU,WAAA,GAAcL,QAAA,CAAS,EAAEJ,MAAA;EAE3D,IAAIQ,gBAAA,IAAoBP,IAAA,EAAMS,EAAA,EAAI;IAChC;IACA,MAAMC,IAAA,GAAO,MAAM5B,eAAA,CAAgB;MACjC2B,EAAA,EAAIT,IAAA,CAAKS,EAAE;MACXE,cAAA,EAAgBJ,gBAAA,CAAiBK,IAAI;MACrClB,MAAA;MACAI,OAAA;MACAF,GAAA;MACAI;IACF;IAEA,IAAI,CAACU,IAAA,EAAM;MACT,MAAM,IAAIG,KAAA,CAAM;IAClB;IAEA;IACA,MAAMC,cAAA,GAAiB,MAAMjC,iBAAA,CAAkB;MAC7C4B,EAAA,EAAIT,IAAA,CAAKS,EAAE;MACXE,cAAA,EAAgBJ,gBAAA,CAAiBK,IAAI;MACrCd,OAAA;MACAE;IACF;IAEA;IACA,MAAM;MACJe,cAAc;MACdC,mBAAmB;MACnBC,oBAAoB;MACpBC,iBAAiB;MACjBC;IAAkB,CACnB,GAAG,MAAMpC,sBAAA,CAAuB;MAC/B0B,EAAA,EAAIT,IAAA,CAAKS,EAAE;MACXF,gBAAA;MACAG,IAAA;MACAd;IACF;IAEA;IACA,MAAM;MAAEwB,KAAA,EAAOC;IAAS,CAAE,GAAG,MAAM7C,cAAA,CAAe;MAChDiC,EAAA,EAAIT,IAAA,CAAKS,EAAE;MACXE,cAAA,EAAgBJ,gBAAA,CAAiBK,IAAI;MACrCF,IAAA;MACAK,cAAA;MACAD,cAAA;MACApB,MAAA,EAAQA,MAAA,EAAQ4B,IAAA;MAChBC,SAAA,EAAW;MACXC,eAAA,EAAiB;MACjB5B,GAAA;MACA6B,UAAA,EAAYlB,gBAAA,CAAiBK,IAAI;MACjCc,cAAA,EAAgB;IAClB;IAEA;IACA,MAAM;MAAEC,aAAa;MAAEC,QAAQ;MAAEC;IAAc,CAAE,GAAG,MAAM7C,WAAA,CAAY;MACpEyB,EAAA,EAAIT,IAAA,CAAKS,EAAE;MACXF,gBAAA;MACAuB,SAAA,EAAW;MACXlC;IACF;IAEA;IACA,MAAM;MAAEmC,eAAe;MAAEC,4BAA4B;MAAEC,uBAAuB;MAAEC;IAAY,CAAE,GAC5F,MAAMjD,WAAA,CAAY;MAChBwB,EAAA,EAAIT,IAAA,CAAKS,EAAE;MACXF,gBAAA;MACA4B,GAAA,EAAKzB,IAAA;MACLK,cAAA;MACArB,MAAA,EAAQA,MAAA,EAAQ4B,IAAA;MAChBxB,OAAA;MACAE;IACF;IAEF,oBACEoC,IAAA,CAAChE,oBAAA;MACCiE,WAAA,eACED,IAAA,CAAChD,QAAA;QACCS,IAAA,EAAMA,IAAA;QACNJ,eAAA,EAAiBA,eAAA;QACjBK,OAAA,EAASA,OAAA;QACTI,KAAA,EAAOA,KAAA;QACPF,IAAA,EAAMA;;MAGVsC,MAAA,EAAQ5D,cAAA,CAAe;QACrB6D,QAAA,EAAUlC,GAAA;QACVmC,IAAA,EAAM,IAAIrC,QAAA,GAAWH,IAAA,EAAMS,EAAA,GAAK,IAAIT,IAAA,CAAKS,EAAE,EAAE,GAAG;MAClD;MACAE,cAAA,EAAgBR,QAAA;MAChBwB,aAAA,EAAeA,aAAA;MACfZ,cAAA,EAAgBA,cAAA;MAChBC,mBAAA,EAAqBA,mBAAA;MACrBe,eAAA,EAAiBA,eAAA;MACjBd,oBAAA,EAAsBA,oBAAA;MACtBC,iBAAA,EAAmBA,iBAAA;MACnBC,kBAAA,EAAoBA,kBAAA;MACpBV,EAAA,EAAIT,IAAA,EAAMS,EAAA;MACVgC,WAAA,EAAa/B,IAAA;MACbgC,YAAA,EAAcrB,SAAA;MACdS,SAAS;MACTF,QAAA,EAAUA,QAAA;MACVC,cAAA,EAAgBA,cAAA;MAChBG,4BAAA,EAA8BA,4BAAA;MAC9BC,uBAAA,EAAyBA,uBAAA;MACzBC,YAAA,EAAcA,YAAA;gBAEd,aAAAS,KAAA,CAACtE,iBAAA;gCACC+D,IAAA,CAACxD,cAAA;UACC2B,gBAAA,EAAkBA,gBAAA;UAClBqC,QAAQ;UACRjD,WAAA,EAAaA,WAAA;UACbC,GAAA,EAAKA;yBAEPwC,IAAA,CAAC9D,mBAAA;UAAoBqB,WAAA,EAAaA;YACjCpB,qBAAA,CAAsB;UACrBsE,SAAA,EAAW9C,MAAA,CAAOE,KAAK,EAAE6C,UAAA,EAAYC,KAAA,EAAOC,OAAA,EAASH,SAAA;UACrDI,QAAA,EAAU/D,QAAA;UACVgE,SAAA,EAAWpD,OAAA,CAAQoD,SAAS;UAC5BC,WAAA,EAAa;YACXhB,GAAA,EAAKzB,IAAA;YACLqB,eAAA;YACAlC,IAAA;YACAP,cAAA;YACAI,MAAA;YACAH,MAAA;YACAO,OAAA;YACAH,WAAA;YACAyD,aAAA,EAAe,EAAE;YACjB5D,YAAA;YACAQ;UACF;QACF,I,aACAoC,IAAA,CAACjD,aAAA;;;EAIT;EAEA,OAAOV,QAAA;AACT","ignoreList":[]}
@@ -10,7 +10,9 @@ export declare const getDocumentPermissions: (args: {
10
10
  req: PayloadRequest;
11
11
  }) => Promise<{
12
12
  docPermissions: SanitizedDocumentPermissions;
13
+ hasDeletePermission: boolean;
13
14
  hasPublishPermission: boolean;
14
15
  hasSavePermission: boolean;
16
+ hasTrashPermission: boolean;
15
17
  }>;
16
18
  //# sourceMappingURL=getDocumentPermissions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDocumentPermissions.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getDocumentPermissions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAShB,eAAO,MAAM,sBAAsB,SAAgB;IACjD,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,cAAc,EAAE,4BAA4B,CAAA;IAC5C,oBAAoB,EAAE,OAAO,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAiFA,CAAA"}
1
+ {"version":3,"file":"getDocumentPermissions.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getDocumentPermissions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAShB,eAAO,MAAM,sBAAsB,SAAgB;IACjD,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC;IACV,cAAc,EAAE,4BAA4B,CAAA;IAC5C,mBAAmB,EAAE,OAAO,CAAA;IAC5B,oBAAoB,EAAE,OAAO,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAA;CAC5B,CA0HA,CAAA"}
@@ -11,6 +11,8 @@ export const getDocumentPermissions = async args => {
11
11
  } = args;
12
12
  let docPermissions;
13
13
  let hasPublishPermission = false;
14
+ let hasTrashPermission = false;
15
+ let hasDeletePermission = false;
14
16
  if (collectionConfig) {
15
17
  try {
16
18
  docPermissions = await docAccessOperation({
@@ -37,6 +39,36 @@ export const getDocumentPermissions = async args => {
37
39
  req
38
40
  })).update;
39
41
  }
42
+ if (collectionConfig.trash) {
43
+ const {
44
+ deletedAt: _,
45
+ ...dataWithoutDeletedAt
46
+ } = data || {};
47
+ const [trashPermissionResult, deletePermissionResult] = await Promise.all([docAccessOperation({
48
+ id,
49
+ collection: {
50
+ config: collectionConfig
51
+ },
52
+ data: {
53
+ ...data,
54
+ deletedAt: new Date().toISOString()
55
+ },
56
+ req
57
+ }), docAccessOperation({
58
+ id,
59
+ collection: {
60
+ config: collectionConfig
61
+ },
62
+ data: dataWithoutDeletedAt,
63
+ req
64
+ })]);
65
+ hasTrashPermission = trashPermissionResult.delete;
66
+ hasDeletePermission = deletePermissionResult.delete;
67
+ } else {
68
+ // When trash is not enabled, delete permission is straightforward
69
+ hasDeletePermission = 'delete' in docPermissions ? Boolean(docPermissions.delete) : false;
70
+ hasTrashPermission = false;
71
+ }
40
72
  } catch (err) {
41
73
  logError({
42
74
  err,
@@ -61,6 +93,9 @@ export const getDocumentPermissions = async args => {
61
93
  req
62
94
  })).update;
63
95
  }
96
+ // Globals don't support trash
97
+ hasDeletePermission = false;
98
+ hasTrashPermission = false;
64
99
  } catch (err) {
65
100
  logError({
66
101
  err,
@@ -80,8 +115,10 @@ export const getDocumentPermissions = async args => {
80
115
  });
81
116
  return {
82
117
  docPermissions,
118
+ hasDeletePermission,
83
119
  hasPublishPermission,
84
- hasSavePermission
120
+ hasSavePermission,
121
+ hasTrashPermission
85
122
  };
86
123
  };
87
124
  //# sourceMappingURL=getDocumentPermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDocumentPermissions.js","names":["hasSavePermission","getHasSavePermission","isEditing","getIsEditing","docAccessOperation","docAccessOperationGlobal","logError","hasDraftsEnabled","getDocumentPermissions","args","id","collectionConfig","data","globalConfig","req","docPermissions","hasPublishPermission","collection","config","_status","update","err","payload","collectionSlug","slug","globalSlug"],"sources":["../../../src/views/Document/getDocumentPermissions.tsx"],"sourcesContent":["import type {\n Data,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport {\n hasSavePermission as getHasSavePermission,\n isEditing as getIsEditing,\n} from '@payloadcms/ui/shared'\nimport { docAccessOperation, docAccessOperationGlobal, logError } from 'payload'\nimport { hasDraftsEnabled } from 'payload/shared'\n\nexport const getDocumentPermissions = async (args: {\n collectionConfig?: SanitizedCollectionConfig\n data: Data\n globalConfig?: SanitizedGlobalConfig\n /**\n * When called for creating a new document, id is not provided.\n */\n id?: number | string\n req: PayloadRequest\n}): Promise<{\n docPermissions: SanitizedDocumentPermissions\n hasPublishPermission: boolean\n hasSavePermission: boolean\n}> => {\n const { id, collectionConfig, data = {}, globalConfig, req } = args\n\n let docPermissions: SanitizedDocumentPermissions\n let hasPublishPermission = false\n\n if (collectionConfig) {\n try {\n docPermissions = await docAccessOperation({\n id,\n collection: {\n config: collectionConfig,\n },\n data: {\n ...data,\n _status: 'draft',\n },\n req,\n })\n\n if (hasDraftsEnabled(collectionConfig)) {\n hasPublishPermission = (\n await docAccessOperation({\n id,\n collection: {\n config: collectionConfig,\n },\n data: {\n ...data,\n _status: 'published',\n },\n req,\n })\n ).update\n }\n } catch (err) {\n logError({ err, payload: req.payload })\n }\n }\n\n if (globalConfig) {\n try {\n docPermissions = await docAccessOperationGlobal({\n data,\n globalConfig,\n req,\n })\n\n if (hasDraftsEnabled(globalConfig)) {\n hasPublishPermission = (\n await docAccessOperationGlobal({\n data: {\n ...data,\n _status: 'published',\n },\n globalConfig,\n req,\n })\n ).update\n }\n } catch (err) {\n logError({ err, payload: req.payload })\n }\n }\n\n const hasSavePermission = getHasSavePermission({\n collectionSlug: collectionConfig?.slug,\n docPermissions,\n globalSlug: globalConfig?.slug,\n isEditing: getIsEditing({\n id,\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n }),\n })\n\n return {\n docPermissions,\n hasPublishPermission,\n hasSavePermission,\n }\n}\n"],"mappings":"AAQA,SACEA,iBAAA,IAAqBC,oBAAoB,EACzCC,SAAA,IAAaC,YAAY,QACpB;AACP,SAASC,kBAAkB,EAAEC,wBAAwB,EAAEC,QAAQ,QAAQ;AACvE,SAASC,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,sBAAA,GAAyB,MAAOC,IAAA;EAc3C,MAAM;IAAEC,EAAE;IAAEC,gBAAgB;IAAEC,IAAA,GAAO,CAAC,CAAC;IAAEC,YAAY;IAAEC;EAAG,CAAE,GAAGL,IAAA;EAE/D,IAAIM,cAAA;EACJ,IAAIC,oBAAA,GAAuB;EAE3B,IAAIL,gBAAA,EAAkB;IACpB,IAAI;MACFI,cAAA,GAAiB,MAAMX,kBAAA,CAAmB;QACxCM,EAAA;QACAO,UAAA,EAAY;UACVC,MAAA,EAAQP;QACV;QACAC,IAAA,EAAM;UACJ,GAAGA,IAAI;UACPO,OAAA,EAAS;QACX;QACAL;MACF;MAEA,IAAIP,gBAAA,CAAiBI,gBAAA,GAAmB;QACtCK,oBAAA,GAAuB,CACrB,MAAMZ,kBAAA,CAAmB;UACvBM,EAAA;UACAO,UAAA,EAAY;YACVC,MAAA,EAAQP;UACV;UACAC,IAAA,EAAM;YACJ,GAAGA,IAAI;YACPO,OAAA,EAAS;UACX;UACAL;QACF,EAAC,EACDM,MAAM;MACV;IACF,EAAE,OAAOC,GAAA,EAAK;MACZf,QAAA,CAAS;QAAEe,GAAA;QAAKC,OAAA,EAASR,GAAA,CAAIQ;MAAQ;IACvC;EACF;EAEA,IAAIT,YAAA,EAAc;IAChB,IAAI;MACFE,cAAA,GAAiB,MAAMV,wBAAA,CAAyB;QAC9CO,IAAA;QACAC,YAAA;QACAC;MACF;MAEA,IAAIP,gBAAA,CAAiBM,YAAA,GAAe;QAClCG,oBAAA,GAAuB,CACrB,MAAMX,wBAAA,CAAyB;UAC7BO,IAAA,EAAM;YACJ,GAAGA,IAAI;YACPO,OAAA,EAAS;UACX;UACAN,YAAA;UACAC;QACF,EAAC,EACDM,MAAM;MACV;IACF,EAAE,OAAOC,GAAA,EAAK;MACZf,QAAA,CAAS;QAAEe,GAAA;QAAKC,OAAA,EAASR,GAAA,CAAIQ;MAAQ;IACvC;EACF;EAEA,MAAMtB,iBAAA,GAAoBC,oBAAA,CAAqB;IAC7CsB,cAAA,EAAgBZ,gBAAA,EAAkBa,IAAA;IAClCT,cAAA;IACAU,UAAA,EAAYZ,YAAA,EAAcW,IAAA;IAC1BtB,SAAA,EAAWC,YAAA,CAAa;MACtBO,EAAA;MACAa,cAAA,EAAgBZ,gBAAA,EAAkBa,IAAA;MAClCC,UAAA,EAAYZ,YAAA,EAAcW;IAC5B;EACF;EAEA,OAAO;IACLT,cAAA;IACAC,oBAAA;IACAhB;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"getDocumentPermissions.js","names":["hasSavePermission","getHasSavePermission","isEditing","getIsEditing","docAccessOperation","docAccessOperationGlobal","logError","hasDraftsEnabled","getDocumentPermissions","args","id","collectionConfig","data","globalConfig","req","docPermissions","hasPublishPermission","hasTrashPermission","hasDeletePermission","collection","config","_status","update","trash","deletedAt","_","dataWithoutDeletedAt","trashPermissionResult","deletePermissionResult","Promise","all","Date","toISOString","delete","Boolean","err","payload","collectionSlug","slug","globalSlug"],"sources":["../../../src/views/Document/getDocumentPermissions.tsx"],"sourcesContent":["import type {\n Data,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport {\n hasSavePermission as getHasSavePermission,\n isEditing as getIsEditing,\n} from '@payloadcms/ui/shared'\nimport { docAccessOperation, docAccessOperationGlobal, logError } from 'payload'\nimport { hasDraftsEnabled } from 'payload/shared'\n\nexport const getDocumentPermissions = async (args: {\n collectionConfig?: SanitizedCollectionConfig\n data: Data\n globalConfig?: SanitizedGlobalConfig\n /**\n * When called for creating a new document, id is not provided.\n */\n id?: number | string\n req: PayloadRequest\n}): Promise<{\n docPermissions: SanitizedDocumentPermissions\n hasDeletePermission: boolean\n hasPublishPermission: boolean\n hasSavePermission: boolean\n hasTrashPermission: boolean\n}> => {\n const { id, collectionConfig, data = {}, globalConfig, req } = args\n\n let docPermissions: SanitizedDocumentPermissions\n let hasPublishPermission = false\n let hasTrashPermission = false\n let hasDeletePermission = false\n\n if (collectionConfig) {\n try {\n docPermissions = await docAccessOperation({\n id,\n collection: {\n config: collectionConfig,\n },\n data: {\n ...data,\n _status: 'draft',\n },\n req,\n })\n\n if (hasDraftsEnabled(collectionConfig)) {\n hasPublishPermission = (\n await docAccessOperation({\n id,\n collection: {\n config: collectionConfig,\n },\n data: {\n ...data,\n _status: 'published',\n },\n req,\n })\n ).update\n }\n\n if (collectionConfig.trash) {\n const { deletedAt: _, ...dataWithoutDeletedAt } = data || {}\n\n const [trashPermissionResult, deletePermissionResult] = await Promise.all([\n docAccessOperation({\n id,\n collection: {\n config: collectionConfig,\n },\n data: {\n ...data,\n deletedAt: new Date().toISOString(),\n },\n req,\n }),\n docAccessOperation({\n id,\n collection: {\n config: collectionConfig,\n },\n data: dataWithoutDeletedAt,\n req,\n }),\n ])\n\n hasTrashPermission = trashPermissionResult.delete\n hasDeletePermission = deletePermissionResult.delete\n } else {\n // When trash is not enabled, delete permission is straightforward\n hasDeletePermission = 'delete' in docPermissions ? Boolean(docPermissions.delete) : false\n hasTrashPermission = false\n }\n } catch (err) {\n logError({ err, payload: req.payload })\n }\n }\n\n if (globalConfig) {\n try {\n docPermissions = await docAccessOperationGlobal({\n data,\n globalConfig,\n req,\n })\n\n if (hasDraftsEnabled(globalConfig)) {\n hasPublishPermission = (\n await docAccessOperationGlobal({\n data: {\n ...data,\n _status: 'published',\n },\n globalConfig,\n req,\n })\n ).update\n }\n\n // Globals don't support trash\n hasDeletePermission = false\n hasTrashPermission = false\n } catch (err) {\n logError({ err, payload: req.payload })\n }\n }\n\n const hasSavePermission = getHasSavePermission({\n collectionSlug: collectionConfig?.slug,\n docPermissions,\n globalSlug: globalConfig?.slug,\n isEditing: getIsEditing({\n id,\n collectionSlug: collectionConfig?.slug,\n globalSlug: globalConfig?.slug,\n }),\n })\n\n return {\n docPermissions,\n hasDeletePermission,\n hasPublishPermission,\n hasSavePermission,\n hasTrashPermission,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EACjB,gBAAgB,EAChB,gCAAgC,EACjC,MAAM,SAAS,CAAA;AAehB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,gBAAgB,CAAC,uBAAuB,CAAC,GACzC,KAAK,CAAC,EAAE,GACR,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,6PAgBxB;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;CAC5C,GAAG,oBAAoB,KAAG,OAAO,CAAC;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAmXA,CAAA;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,oBAAoB,+QAe7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EACjB,gBAAgB,EAChB,gCAAgC,EACjC,MAAM,SAAS,CAAA;AAehB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,gBAAgB,CAAC,uBAAuB,CAAC,GACzC,KAAK,CAAC,EAAE,GACR,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,6PAgBxB;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;CAC5C,GAAG,oBAAoB,KAAG,OAAO,CAAC;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA2XA,CAAA;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,oBAAoB,+QAe7D"}
@@ -121,8 +121,10 @@ export const renderDocument = async ({
121
121
  const reqForLockCheck = req.transactionID ? req : isolateObjectProperty(req, 'transactionID');
122
122
  const [docPreferences, {
123
123
  docPermissions,
124
+ hasDeletePermission,
124
125
  hasPublishPermission,
125
- hasSavePermission
126
+ hasSavePermission,
127
+ hasTrashPermission
126
128
  }, {
127
129
  currentEditor,
128
130
  isLocked,
@@ -323,9 +325,11 @@ export const renderDocument = async ({
323
325
  disableActions: disableActions ?? false,
324
326
  docPermissions: docPermissions,
325
327
  globalSlug: globalConfig?.slug,
328
+ hasDeletePermission: hasDeletePermission,
326
329
  hasPublishedDoc: hasPublishedDoc,
327
330
  hasPublishPermission: hasPublishPermission,
328
331
  hasSavePermission: hasSavePermission,
332
+ hasTrashPermission: hasTrashPermission,
329
333
  id: id,
330
334
  initialData: doc,
331
335
  initialState: formState,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","LivePreviewProvider","RenderServerComponent","handleLivePreview","handlePreview","isEditing","getIsEditing","buildFormState","notFound","redirect","isolateObjectProperty","logError","formatAdminURL","hasAutosaveEnabled","hasDraftsEnabled","React","DocumentHeader","getPreferences","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getDocumentView","getIsLocked","getMetaBySegment","getVersions","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","documentSubViewType","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","searchParams","versions","viewType","collectionConfig","docID","idFromArgs","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","doc","redirectURL","path","encodeURIComponent","Error","isTrashedDoc","Boolean","deletedAt","reqForPermissions","transactionID","reqForLockCheck","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","readOnly","renderAllFields","schemaPath","skipValidation","documentViewServerProps","routeSegments","collections","find","visibleSlug","globals","formattedParams","URLSearchParams","append","apiQueryParams","toString","apiURL","View","showHeader","RootViewOverride","components","views","edit","root","Component","shouldAutosave","validateDraftData","drafts","validate","create","depth","draft","documentSlots","Description","clientProps","isLivePreviewEnabled","livePreviewConfig","livePreviewURL","isPreviewEnabled","previewURL","Document","_jsx","initialState","isTrashed","_jsxs","breakpoints","isLivePreviewing","value","editViewType","typeofLivePreviewURL","url","AfterHeader","serverProps","DocumentView","props","RenderedDocument","error","message","err"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Data,\n DocumentViewClientProps,\n DocumentViewServerProps,\n DocumentViewServerPropsOnly,\n EditViewComponent,\n PayloadComponent,\n RenderDocumentVersionsProperties,\n} from 'payload'\n\nimport {\n DocumentInfoProvider,\n EditDepthProvider,\n HydrateAuthProvider,\n LivePreviewProvider,\n} from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { handleLivePreview, handlePreview } from '@payloadcms/ui/rsc'\nimport { isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { isolateObjectProperty, logError } from 'payload'\nimport { formatAdminURL, hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getDocumentView } from './getDocumentView.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport type ViewToRender =\n | EditViewComponent\n | PayloadComponent<DocumentViewServerProps>\n | React.FC\n | React.FC<DocumentViewClientProps>\n\n/**\n * This function is responsible for rendering\n * an Edit Document view on the server for both:\n * - default document edit views\n * - on-demand edit views within drawers\n */\nexport const renderDocument = async ({\n disableActions,\n documentSubViewType,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n searchParams,\n versions,\n viewType,\n}: {\n drawerSlug?: string\n overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n versions?: RenderDocumentVersionsProperties\n} & AdminViewServerProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: idFromArgs,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n let isEditing = getIsEditing({ id: idFromArgs, collectionSlug, globalSlug })\n\n // Fetch the doc required for the view\n let doc =\n !idFromArgs && !globalSlug\n ? initialData || null\n : await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n segments,\n user,\n })\n\n if (isEditing && !doc) {\n // If it's a collection document that doesn't exist, redirect to collection list\n if (collectionSlug) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?notFound=${encodeURIComponent(idFromArgs)}`,\n })\n redirect(redirectURL)\n } else {\n // For globals or other cases, keep the 404 behavior\n throw new Error('not-found')\n }\n }\n\n const isTrashedDoc = Boolean(doc && 'deletedAt' in doc && typeof doc?.deletedAt === 'string')\n\n // CRITICAL FIX FOR TRANSACTION RACE CONDITION:\n // When running parallel operations with Promise.all, if they share the same req object\n // and one operation calls initTransaction() which MUTATES req.transactionID, that mutation\n // is visible to all parallel operations. This causes:\n // 1. Operation A (e.g., getDocumentPermissions → docAccessOperation) calls initTransaction()\n // which sets req.transactionID = Promise, then resolves it to a UUID\n // 2. Operation B (e.g., getIsLocked) running in parallel receives the SAME req with the mutated transactionID\n // 3. Operation A (does not even know that Operation B even exists and is stil using the transactionID) commits/ends its transaction\n // 4. Operation B tries to use the now-expired session → MongoExpiredSessionError!\n //\n // Solution: Use isolateObjectProperty to create a Proxy that isolates the 'transactionID' property.\n // This allows each operation to have its own transactionID without affecting the parent req.\n // If parent req already has a transaction, preserve it (don't isolate), since this\n // issue only arises when one of the operations calls initTransaction() themselves -\n // because then, that operation will also try to commit/end the transaction itself.\n\n // If the transactionID is already set, the parallel operations will not try to\n // commit/end the transaction themselves, so we don't need to isolate the\n // transactionID property.\n const reqForPermissions = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n const reqForLockCheck = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n\n const [\n docPreferences,\n { docPermissions, hasPublishPermission, hasSavePermission },\n { currentEditor, isLocked, lastUpdateTime },\n entityPreferences,\n ] = await Promise.all([\n // Get document preferences\n getDocPreferences({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions - isolated transactionID prevents cross-contamination\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req: reqForPermissions,\n }),\n\n // Fetch document lock state - isolated transactionID prevents cross-contamination\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req: reqForLockCheck,\n }),\n\n // get entity preferences\n getPreferences<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n payload,\n req.user.id,\n req.user.collection,\n ),\n ])\n\n const operation = (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create'\n\n const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\n ] = await Promise.all([\n getVersions({\n id: idFromArgs,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id: idFromArgs,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n fallbackLocale: false,\n globalSlug,\n locale: locale?.code,\n operation,\n readOnly: isTrashedDoc || isLocked,\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n skipValidation: true,\n }),\n ])\n\n const documentViewServerProps: DocumentViewServerPropsOnly = {\n doc,\n hasPublishedDoc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n versions,\n }\n\n if (\n !overrideEntityVisibility &&\n ((collectionSlug &&\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) ||\n (globalSlug && !visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)))\n ) {\n throw new Error('not-found')\n }\n\n const formattedParams = new URLSearchParams()\n\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n formattedParams.append('draft', 'true')\n }\n\n if (locale?.code) {\n formattedParams.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${formattedParams.toString()}`\n\n const apiURL = formatAdminURL({\n apiRoute,\n path: collectionSlug\n ? `/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n : globalSlug\n ? `/${globalSlug}${apiQueryParams}`\n : '',\n })\n\n let View: ViewToRender = null\n\n let showHeader = true\n\n const RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (RootViewOverride) {\n View = RootViewOverride\n showHeader = false\n } else {\n ;({ View } = getDocumentView({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n }))\n }\n\n if (!View) {\n View = NotFoundView\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave = hasSavePermission && hasAutosaveEnabled(collectionConfig || globalConfig)\n\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n let id = idFromArgs\n\n if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {\n doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n id = doc.id\n isEditing = getIsEditing({ id: doc.id, collectionSlug, globalSlug })\n\n if (!drawerSlug && redirectAfterCreate !== false) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n })\n\n redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n id,\n collectionConfig,\n globalConfig,\n hasSavePermission,\n locale,\n permissions,\n req,\n })\n\n // Extract Description from documentSlots to pass to DocumentHeader\n const { Description } = documentSlots\n\n const clientProps: DocumentViewClientProps = {\n formState,\n ...documentSlots,\n documentSubViewType,\n viewType,\n }\n\n const { isLivePreviewEnabled, livePreviewConfig, livePreviewURL } = await handleLivePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n const { isPreviewEnabled, previewURL } = await handlePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n return {\n data: doc,\n Document: (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n currentEditor={currentEditor}\n disableActions={disableActions ?? false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={doc}\n initialState={formState}\n isEditing={isEditing}\n isLocked={isLocked}\n isTrashed={isTrashedDoc}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterCreate={redirectAfterCreate}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <LivePreviewProvider\n breakpoints={livePreviewConfig?.breakpoints}\n isLivePreviewEnabled={isLivePreviewEnabled && operation !== 'create'}\n isLivePreviewing={Boolean(\n entityPreferences?.value?.editViewType === 'live-preview' && livePreviewURL,\n )}\n isPreviewEnabled={Boolean(isPreviewEnabled)}\n previewURL={previewURL}\n typeofLivePreviewURL={typeof livePreviewConfig?.url as 'function' | 'string' | undefined}\n url={livePreviewURL}\n >\n {showHeader && !drawerSlug && (\n <DocumentHeader\n AfterHeader={Description}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n permissions={permissions}\n req={req}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {RenderServerComponent({\n clientProps,\n Component: View,\n importMap,\n serverProps: documentViewServerProps,\n })}\n </EditDepthProvider>\n </LivePreviewProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport async function DocumentView(props: AdminViewServerProps) {\n try {\n const { Document: RenderedDocument } = await renderDocument(props)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n\n logError({ err: error, payload: props.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","LivePreviewProvider","RenderServerComponent","handleLivePreview","handlePreview","isEditing","getIsEditing","buildFormState","notFound","redirect","isolateObjectProperty","logError","formatAdminURL","hasAutosaveEnabled","hasDraftsEnabled","React","DocumentHeader","getPreferences","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getDocumentView","getIsLocked","getMetaBySegment","getVersions","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","documentSubViewType","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","redirectAfterRestore","searchParams","versions","viewType","collectionConfig","docID","idFromArgs","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","doc","redirectURL","path","encodeURIComponent","Error","isTrashedDoc","Boolean","deletedAt","reqForPermissions","transactionID","reqForLockCheck","docPreferences","docPermissions","hasDeletePermission","hasPublishPermission","hasSavePermission","hasTrashPermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","readOnly","renderAllFields","schemaPath","skipValidation","documentViewServerProps","routeSegments","collections","find","visibleSlug","globals","formattedParams","URLSearchParams","append","apiQueryParams","toString","apiURL","View","showHeader","RootViewOverride","components","views","edit","root","Component","shouldAutosave","validateDraftData","drafts","validate","create","depth","draft","documentSlots","Description","clientProps","isLivePreviewEnabled","livePreviewConfig","livePreviewURL","isPreviewEnabled","previewURL","Document","_jsx","initialState","isTrashed","_jsxs","breakpoints","isLivePreviewing","value","editViewType","typeofLivePreviewURL","url","AfterHeader","serverProps","DocumentView","props","RenderedDocument","error","message","err"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Data,\n DocumentViewClientProps,\n DocumentViewServerProps,\n DocumentViewServerPropsOnly,\n EditViewComponent,\n PayloadComponent,\n RenderDocumentVersionsProperties,\n} from 'payload'\n\nimport {\n DocumentInfoProvider,\n EditDepthProvider,\n HydrateAuthProvider,\n LivePreviewProvider,\n} from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { handleLivePreview, handlePreview } from '@payloadcms/ui/rsc'\nimport { isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { isolateObjectProperty, logError } from 'payload'\nimport { formatAdminURL, hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getDocumentView } from './getDocumentView.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport type ViewToRender =\n | EditViewComponent\n | PayloadComponent<DocumentViewServerProps>\n | React.FC\n | React.FC<DocumentViewClientProps>\n\n/**\n * This function is responsible for rendering\n * an Edit Document view on the server for both:\n * - default document edit views\n * - on-demand edit views within drawers\n */\nexport const renderDocument = async ({\n disableActions,\n documentSubViewType,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n redirectAfterRestore,\n searchParams,\n versions,\n viewType,\n}: {\n drawerSlug?: string\n overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly redirectAfterRestore?: boolean\n versions?: RenderDocumentVersionsProperties\n} & AdminViewServerProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: idFromArgs,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n let isEditing = getIsEditing({ id: idFromArgs, collectionSlug, globalSlug })\n\n // Fetch the doc required for the view\n let doc =\n !idFromArgs && !globalSlug\n ? initialData || null\n : await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n segments,\n user,\n })\n\n if (isEditing && !doc) {\n // If it's a collection document that doesn't exist, redirect to collection list\n if (collectionSlug) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?notFound=${encodeURIComponent(idFromArgs)}`,\n })\n redirect(redirectURL)\n } else {\n // For globals or other cases, keep the 404 behavior\n throw new Error('not-found')\n }\n }\n\n const isTrashedDoc = Boolean(doc && 'deletedAt' in doc && typeof doc?.deletedAt === 'string')\n\n // CRITICAL FIX FOR TRANSACTION RACE CONDITION:\n // When running parallel operations with Promise.all, if they share the same req object\n // and one operation calls initTransaction() which MUTATES req.transactionID, that mutation\n // is visible to all parallel operations. This causes:\n // 1. Operation A (e.g., getDocumentPermissions → docAccessOperation) calls initTransaction()\n // which sets req.transactionID = Promise, then resolves it to a UUID\n // 2. Operation B (e.g., getIsLocked) running in parallel receives the SAME req with the mutated transactionID\n // 3. Operation A (does not even know that Operation B even exists and is stil using the transactionID) commits/ends its transaction\n // 4. Operation B tries to use the now-expired session → MongoExpiredSessionError!\n //\n // Solution: Use isolateObjectProperty to create a Proxy that isolates the 'transactionID' property.\n // This allows each operation to have its own transactionID without affecting the parent req.\n // If parent req already has a transaction, preserve it (don't isolate), since this\n // issue only arises when one of the operations calls initTransaction() themselves -\n // because then, that operation will also try to commit/end the transaction itself.\n\n // If the transactionID is already set, the parallel operations will not try to\n // commit/end the transaction themselves, so we don't need to isolate the\n // transactionID property.\n const reqForPermissions = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n const reqForLockCheck = req.transactionID ? req : isolateObjectProperty(req, 'transactionID')\n\n const [\n docPreferences,\n {\n docPermissions,\n hasDeletePermission,\n hasPublishPermission,\n hasSavePermission,\n hasTrashPermission,\n },\n { currentEditor, isLocked, lastUpdateTime },\n entityPreferences,\n ] = await Promise.all([\n // Get document preferences\n getDocPreferences({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions - isolated transactionID prevents cross-contamination\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req: reqForPermissions,\n }),\n\n // Fetch document lock state - isolated transactionID prevents cross-contamination\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req: reqForLockCheck,\n }),\n\n // get entity preferences\n getPreferences<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n payload,\n req.user.id,\n req.user.collection,\n ),\n ])\n\n const operation = (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create'\n\n const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\n ] = await Promise.all([\n getVersions({\n id: idFromArgs,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id: idFromArgs,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n fallbackLocale: false,\n globalSlug,\n locale: locale?.code,\n operation,\n readOnly: isTrashedDoc || isLocked,\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n skipValidation: true,\n }),\n ])\n\n const documentViewServerProps: DocumentViewServerPropsOnly = {\n doc,\n hasPublishedDoc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n versions,\n }\n\n if (\n !overrideEntityVisibility &&\n ((collectionSlug &&\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) ||\n (globalSlug && !visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)))\n ) {\n throw new Error('not-found')\n }\n\n const formattedParams = new URLSearchParams()\n\n if (hasDraftsEnabled(collectionConfig || globalConfig)) {\n formattedParams.append('draft', 'true')\n }\n\n if (locale?.code) {\n formattedParams.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${formattedParams.toString()}`\n\n const apiURL = formatAdminURL({\n apiRoute,\n path: collectionSlug\n ? `/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n : globalSlug\n ? `/${globalSlug}${apiQueryParams}`\n : '',\n })\n\n let View: ViewToRender = null\n\n let showHeader = true\n\n const RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (RootViewOverride) {\n View = RootViewOverride\n showHeader = false\n } else {\n ;({ View } = getDocumentView({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n }))\n }\n\n if (!View) {\n View = NotFoundView\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave = hasSavePermission && hasAutosaveEnabled(collectionConfig || globalConfig)\n\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n let id = idFromArgs\n\n if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {\n doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n id = doc.id\n isEditing = getIsEditing({ id: doc.id, collectionSlug, globalSlug })\n\n if (!drawerSlug && redirectAfterCreate !== false) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n })\n\n redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n id,\n collectionConfig,\n globalConfig,\n hasSavePermission,\n locale,\n permissions,\n req,\n })\n\n // Extract Description from documentSlots to pass to DocumentHeader\n const { Description } = documentSlots\n\n const clientProps: DocumentViewClientProps = {\n formState,\n ...documentSlots,\n documentSubViewType,\n viewType,\n }\n\n const { isLivePreviewEnabled, livePreviewConfig, livePreviewURL } = await handleLivePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n const { isPreviewEnabled, previewURL } = await handlePreview({\n collectionSlug,\n config,\n data: doc,\n globalSlug,\n operation,\n req,\n })\n\n return {\n data: doc,\n Document: (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n currentEditor={currentEditor}\n disableActions={disableActions ?? false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasDeletePermission={hasDeletePermission}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n hasTrashPermission={hasTrashPermission}\n id={id}\n initialData={doc}\n initialState={formState}\n isEditing={isEditing}\n isLocked={isLocked}\n isTrashed={isTrashedDoc}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterCreate={redirectAfterCreate}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <LivePreviewProvider\n breakpoints={livePreviewConfig?.breakpoints}\n isLivePreviewEnabled={isLivePreviewEnabled && operation !== 'create'}\n isLivePreviewing={Boolean(\n entityPreferences?.value?.editViewType === 'live-preview' && livePreviewURL,\n )}\n isPreviewEnabled={Boolean(isPreviewEnabled)}\n previewURL={previewURL}\n typeofLivePreviewURL={typeof livePreviewConfig?.url as 'function' | 'string' | undefined}\n url={livePreviewURL}\n >\n {showHeader && !drawerSlug && (\n <DocumentHeader\n AfterHeader={Description}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n permissions={permissions}\n req={req}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {RenderServerComponent({\n clientProps,\n Component: View,\n importMap,\n serverProps: documentViewServerProps,\n })}\n </EditDepthProvider>\n </LivePreviewProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport async function DocumentView(props: AdminViewServerProps) {\n try {\n const { Document: RenderedDocument } = await renderDocument(props)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n\n logError({ err: error, payload: props.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"mappings":"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","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,CAuWA,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,CA+WA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAYjD,CAAA"}
@@ -259,7 +259,15 @@ export const renderListView = async args => {
259
259
  path: `/collections/${collectionSlug}/create`
260
260
  });
261
261
  const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create;
262
- const hasDeletePermission = permissions?.collections?.[collectionSlug]?.delete;
262
+ const {
263
+ hasDeletePermission,
264
+ hasTrashPermission
265
+ } = await getDocumentPermissions({
266
+ collectionConfig,
267
+ // Empty object serves as base for computing differentiated trash/delete permissions
268
+ data: {},
269
+ req
270
+ });
263
271
  // Check if there's a notFound query parameter (document ID that wasn't found)
264
272
  const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null;
265
273
  const serverProps = {
@@ -281,6 +289,7 @@ export const renderListView = async args => {
281
289
  collectionSlug,
282
290
  hasCreatePermission,
283
291
  hasDeletePermission,
292
+ hasTrashPermission,
284
293
  newDocumentURL
285
294
  },
286
295
  collectionConfig,
@@ -314,6 +323,7 @@ export const renderListView = async args => {
314
323
  enableRowSelections,
315
324
  hasCreatePermission,
316
325
  hasDeletePermission,
326
+ hasTrashPermission,
317
327
  listPreferences: collectionPreferences,
318
328
  newDocumentURL,
319
329
  queryPreset,
@@ -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","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":[]}
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","hasTrashPermission","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\n const { hasDeletePermission, hasTrashPermission } = await getDocumentPermissions({\n collectionConfig,\n // Empty object serves as base for computing differentiated trash/delete permissions\n data: {},\n req,\n })\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 hasTrashPermission,\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 hasTrashPermission,\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.78.0-canary.0",
3
+ "version": "3.78.0-canary.1",
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.78.0-canary.0",
103
- "@payloadcms/ui": "3.78.0-canary.0",
104
- "@payloadcms/translations": "3.78.0-canary.0"
102
+ "@payloadcms/translations": "3.78.0-canary.1",
103
+ "@payloadcms/ui": "3.78.0-canary.1",
104
+ "@payloadcms/graphql": "3.78.0-canary.1"
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
- "@payloadcms/eslint-config": "3.28.0",
122
- "payload": "3.78.0-canary.0"
121
+ "payload": "3.78.0-canary.1",
122
+ "@payloadcms/eslint-config": "3.28.0"
123
123
  },
124
124
  "peerDependencies": {
125
125
  "graphql": "^16.8.1",
126
126
  "next": ">=15.2.9 <15.3.0 || >=15.3.9 <15.4.0 || >=15.4.11 <15.5.0 || >=16.2.0-canary.10 <17.0.0",
127
- "payload": "3.78.0-canary.0"
127
+ "payload": "3.78.0-canary.1"
128
128
  },
129
129
  "engines": {
130
130
  "node": "^18.20.2 || >=20.9.0"