@payloadcms/next 3.50.0 → 3.51.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.
- package/dist/views/List/handleGroupBy.d.ts.map +1 -1
- package/dist/views/List/handleGroupBy.js +12 -4
- package/dist/views/List/handleGroupBy.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +7 -10
- package/dist/views/List/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGroupBy.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleGroupBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,SAAS,EACT,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,SAAS,EACT,KAAK,EACN,MAAM,SAAS,CAAA;AAMhB,eAAO,MAAM,aAAa,oLAcvB;IACD,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,KAAK,CAAA;CACb,KAAG,OAAO,CAAC;IACV,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;CAClD,
|
|
1
|
+
{"version":3,"file":"handleGroupBy.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleGroupBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,SAAS,EACT,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,SAAS,EACT,KAAK,EACN,MAAM,SAAS,CAAA;AAMhB,eAAO,MAAM,aAAa,oLAcvB;IACD,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,KAAK,CAAA;CACb,KAAG,OAAO,CAAC;IACV,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;CAClD,CA0KA,CAAA"}
|
|
@@ -86,17 +86,25 @@ export const handleGroupBy = async ({
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
});
|
|
89
|
-
let heading = valueOrRelationshipID
|
|
89
|
+
let heading = valueOrRelationshipID;
|
|
90
90
|
if (groupByField?.type === 'relationship' && potentiallyPopulatedRelationship && typeof potentiallyPopulatedRelationship === 'object') {
|
|
91
91
|
heading = potentiallyPopulatedRelationship[relationshipConfig.admin.useAsTitle || 'id'] || valueOrRelationshipID;
|
|
92
92
|
}
|
|
93
|
-
if (groupByField.type === 'date') {
|
|
93
|
+
if (groupByField.type === 'date' && valueOrRelationshipID) {
|
|
94
94
|
heading = formatDate({
|
|
95
|
-
date: String(
|
|
95
|
+
date: String(valueOrRelationshipID),
|
|
96
96
|
i18n: req.i18n,
|
|
97
97
|
pattern: clientConfig.admin.dateFormat
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
|
+
if (groupByField.type === 'checkbox') {
|
|
101
|
+
if (valueOrRelationshipID === true) {
|
|
102
|
+
heading = req.i18n.t('general:true');
|
|
103
|
+
}
|
|
104
|
+
if (valueOrRelationshipID === false) {
|
|
105
|
+
heading = req.i18n.t('general:false');
|
|
106
|
+
}
|
|
107
|
+
}
|
|
100
108
|
if (groupData.docs && groupData.docs.length > 0) {
|
|
101
109
|
const {
|
|
102
110
|
columnState: newColumnState,
|
|
@@ -111,7 +119,7 @@ export const handleGroupBy = async ({
|
|
|
111
119
|
enableRowSelections,
|
|
112
120
|
groupByFieldPath,
|
|
113
121
|
groupByValue: valueOrRelationshipID,
|
|
114
|
-
heading,
|
|
122
|
+
heading: heading || req.i18n.t('general:noValue'),
|
|
115
123
|
i18n: req.i18n,
|
|
116
124
|
key: `table-${valueOrRelationshipID}`,
|
|
117
125
|
orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGroupBy.js","names":["renderTable","formatDate","flattenAllFields","handleGroupBy","clientConfig","collectionConfig","collectionSlug","columns","customCellProps","drawerSlug","enableRowSelections","query","req","trash","user","viewType","where","whereWithMergedSearch","Table","columnState","dataByGroup","clientCollectionConfig","collections","find","c","slug","flattenedFields","fields","groupByFieldPath","groupBy","replace","groupByField","f","name","relationshipConfig","type","relationTo","undefined","populate","Array","isArray","forEach","rel","admin","useAsTitle","distinct","payload","findDistinct","collection","depth","field","limit","Number","locale","overrideAccess","page","sort","data","docs","values","map","Promise","all","distinctValue","i","potentiallyPopulatedRelationship","valueOrRelationshipID","id","groupData","draft","fallbackLocale","includeLockStatus","queryByGroup","equals","heading","i18n","t","date","String","pattern","dateFormat","length","newColumnState","NewTable","groupByValue","key","orderableFieldName","orderable"],"sources":["../../../src/views/List/handleGroupBy.ts"],"sourcesContent":["import type {\n ClientConfig,\n Column,\n ListQuery,\n PaginatedDocs,\n PayloadRequest,\n SanitizedCollectionConfig,\n ViewTypes,\n Where,\n} from 'payload'\n\nimport { renderTable } from '@payloadcms/ui/rsc'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { flattenAllFields } from 'payload'\n\nexport const handleGroupBy = async ({\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n query,\n req,\n trash = false,\n user,\n viewType,\n where: whereWithMergedSearch,\n}: {\n clientConfig: ClientConfig\n collectionConfig: SanitizedCollectionConfig\n collectionSlug: string\n columns: any[]\n customCellProps?: Record<string, any>\n drawerSlug?: string\n enableRowSelections?: boolean\n query?: ListQuery\n req: PayloadRequest\n trash?: boolean\n user: any\n viewType?: ViewTypes\n where: Where\n}): Promise<{\n columnState: Column[]\n data: PaginatedDocs\n Table: null | React.ReactNode | React.ReactNode[]\n}> => {\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[]\n\n const dataByGroup: Record<string, PaginatedDocs> = {}\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n // NOTE: is there a faster/better way to do this?\n const flattenedFields = flattenAllFields({ fields: collectionConfig.fields })\n\n const groupByFieldPath = query.groupBy.replace(/^-/, '')\n\n const groupByField = flattenedFields.find((f) => f.name === groupByFieldPath)\n\n const relationshipConfig =\n groupByField?.type === 'relationship'\n ? clientConfig.collections.find((c) => c.slug === groupByField.relationTo)\n : undefined\n\n let populate\n\n if (groupByField?.type === 'relationship' && groupByField.relationTo) {\n const relationTo =\n typeof groupByField.relationTo === 'string'\n ? [groupByField.relationTo]\n : groupByField.relationTo\n\n if (Array.isArray(relationTo)) {\n relationTo.forEach((rel) => {\n if (!populate) {\n populate = {}\n }\n populate[rel] = { [relationshipConfig?.admin.useAsTitle || 'id']: true }\n })\n }\n }\n\n const distinct = await req.payload.findDistinct({\n collection: collectionSlug,\n depth: 1,\n field: groupByFieldPath,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n populate,\n req,\n sort: query?.groupBy,\n trash,\n where: whereWithMergedSearch,\n })\n\n const data = {\n ...distinct,\n docs: distinct.values?.map(() => ({})) || [],\n values: undefined,\n }\n\n await Promise.all(\n distinct.values.map(async (distinctValue, i) => {\n const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath]\n\n const valueOrRelationshipID =\n groupByField?.type === 'relationship' &&\n potentiallyPopulatedRelationship &&\n typeof potentiallyPopulatedRelationship === 'object' &&\n 'id' in potentiallyPopulatedRelationship\n ? potentiallyPopulatedRelationship.id\n : potentiallyPopulatedRelationship\n\n const groupData = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit\n ? Number(query.queryByGroup[valueOrRelationshipID].limit)\n : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.queryByGroup?.[valueOrRelationshipID]?.page\n ? Number(query.queryByGroup[valueOrRelationshipID].page)\n : undefined,\n req,\n // Note: if we wanted to enable table-by-table sorting, we could use this:\n // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,\n sort: query?.sort,\n trash,\n user,\n where: {\n ...(whereWithMergedSearch || {}),\n [groupByFieldPath]: {\n equals: valueOrRelationshipID,\n },\n },\n })\n\n let heading = valueOrRelationshipID || req.i18n.t('general:noValue')\n\n if (\n groupByField?.type === 'relationship' &&\n potentiallyPopulatedRelationship &&\n typeof potentiallyPopulatedRelationship === 'object'\n ) {\n heading =\n potentiallyPopulatedRelationship[relationshipConfig.admin.useAsTitle || 'id'] ||\n valueOrRelationshipID\n }\n\n if (groupByField.type === 'date') {\n heading = formatDate({\n date: String(heading),\n i18n: req.i18n,\n pattern: clientConfig.admin.dateFormat,\n })\n }\n\n if (groupData.docs && groupData.docs.length > 0) {\n const { columnState: newColumnState, Table: NewTable } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data: groupData,\n drawerSlug,\n enableRowSelections,\n groupByFieldPath,\n groupByValue: valueOrRelationshipID,\n heading,\n i18n: req.i18n,\n key: `table-${valueOrRelationshipID}`,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n })\n\n // Only need to set `columnState` once, using the first table's column state\n // This will avoid needing to generate column state explicitly for root context that wraps all tables\n if (!columnState) {\n columnState = newColumnState\n }\n\n if (!Table) {\n Table = []\n }\n\n dataByGroup[valueOrRelationshipID] = groupData\n ;(Table as Array<React.ReactNode>)[i] = NewTable\n }\n }),\n )\n\n return {\n columnState,\n data,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"handleGroupBy.js","names":["renderTable","formatDate","flattenAllFields","handleGroupBy","clientConfig","collectionConfig","collectionSlug","columns","customCellProps","drawerSlug","enableRowSelections","query","req","trash","user","viewType","where","whereWithMergedSearch","Table","columnState","dataByGroup","clientCollectionConfig","collections","find","c","slug","flattenedFields","fields","groupByFieldPath","groupBy","replace","groupByField","f","name","relationshipConfig","type","relationTo","undefined","populate","Array","isArray","forEach","rel","admin","useAsTitle","distinct","payload","findDistinct","collection","depth","field","limit","Number","locale","overrideAccess","page","sort","data","docs","values","map","Promise","all","distinctValue","i","potentiallyPopulatedRelationship","valueOrRelationshipID","id","groupData","draft","fallbackLocale","includeLockStatus","queryByGroup","equals","heading","date","String","i18n","pattern","dateFormat","t","length","newColumnState","NewTable","groupByValue","key","orderableFieldName","orderable"],"sources":["../../../src/views/List/handleGroupBy.ts"],"sourcesContent":["import type {\n ClientConfig,\n Column,\n ListQuery,\n PaginatedDocs,\n PayloadRequest,\n SanitizedCollectionConfig,\n ViewTypes,\n Where,\n} from 'payload'\n\nimport { renderTable } from '@payloadcms/ui/rsc'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { flattenAllFields } from 'payload'\n\nexport const handleGroupBy = async ({\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n query,\n req,\n trash = false,\n user,\n viewType,\n where: whereWithMergedSearch,\n}: {\n clientConfig: ClientConfig\n collectionConfig: SanitizedCollectionConfig\n collectionSlug: string\n columns: any[]\n customCellProps?: Record<string, any>\n drawerSlug?: string\n enableRowSelections?: boolean\n query?: ListQuery\n req: PayloadRequest\n trash?: boolean\n user: any\n viewType?: ViewTypes\n where: Where\n}): Promise<{\n columnState: Column[]\n data: PaginatedDocs\n Table: null | React.ReactNode | React.ReactNode[]\n}> => {\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[]\n\n const dataByGroup: Record<string, PaginatedDocs> = {}\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n // NOTE: is there a faster/better way to do this?\n const flattenedFields = flattenAllFields({ fields: collectionConfig.fields })\n\n const groupByFieldPath = query.groupBy.replace(/^-/, '')\n\n const groupByField = flattenedFields.find((f) => f.name === groupByFieldPath)\n\n const relationshipConfig =\n groupByField?.type === 'relationship'\n ? clientConfig.collections.find((c) => c.slug === groupByField.relationTo)\n : undefined\n\n let populate\n\n if (groupByField?.type === 'relationship' && groupByField.relationTo) {\n const relationTo =\n typeof groupByField.relationTo === 'string'\n ? [groupByField.relationTo]\n : groupByField.relationTo\n\n if (Array.isArray(relationTo)) {\n relationTo.forEach((rel) => {\n if (!populate) {\n populate = {}\n }\n populate[rel] = { [relationshipConfig?.admin.useAsTitle || 'id']: true }\n })\n }\n }\n\n const distinct = await req.payload.findDistinct({\n collection: collectionSlug,\n depth: 1,\n field: groupByFieldPath,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n populate,\n req,\n sort: query?.groupBy,\n trash,\n where: whereWithMergedSearch,\n })\n\n const data = {\n ...distinct,\n docs: distinct.values?.map(() => ({})) || [],\n values: undefined,\n }\n\n await Promise.all(\n distinct.values.map(async (distinctValue, i) => {\n const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath]\n\n const valueOrRelationshipID =\n groupByField?.type === 'relationship' &&\n potentiallyPopulatedRelationship &&\n typeof potentiallyPopulatedRelationship === 'object' &&\n 'id' in potentiallyPopulatedRelationship\n ? potentiallyPopulatedRelationship.id\n : potentiallyPopulatedRelationship\n\n const groupData = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit\n ? Number(query.queryByGroup[valueOrRelationshipID].limit)\n : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.queryByGroup?.[valueOrRelationshipID]?.page\n ? Number(query.queryByGroup[valueOrRelationshipID].page)\n : undefined,\n req,\n // Note: if we wanted to enable table-by-table sorting, we could use this:\n // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,\n sort: query?.sort,\n trash,\n user,\n where: {\n ...(whereWithMergedSearch || {}),\n [groupByFieldPath]: {\n equals: valueOrRelationshipID,\n },\n },\n })\n\n let heading = valueOrRelationshipID\n\n if (\n groupByField?.type === 'relationship' &&\n potentiallyPopulatedRelationship &&\n typeof potentiallyPopulatedRelationship === 'object'\n ) {\n heading =\n potentiallyPopulatedRelationship[relationshipConfig.admin.useAsTitle || 'id'] ||\n valueOrRelationshipID\n }\n\n if (groupByField.type === 'date' && valueOrRelationshipID) {\n heading = formatDate({\n date: String(valueOrRelationshipID),\n i18n: req.i18n,\n pattern: clientConfig.admin.dateFormat,\n })\n }\n\n if (groupByField.type === 'checkbox') {\n if (valueOrRelationshipID === true) {\n heading = req.i18n.t('general:true')\n }\n\n if (valueOrRelationshipID === false) {\n heading = req.i18n.t('general:false')\n }\n }\n\n if (groupData.docs && groupData.docs.length > 0) {\n const { columnState: newColumnState, Table: NewTable } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data: groupData,\n drawerSlug,\n enableRowSelections,\n groupByFieldPath,\n groupByValue: valueOrRelationshipID,\n heading: heading || req.i18n.t('general:noValue'),\n i18n: req.i18n,\n key: `table-${valueOrRelationshipID}`,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n })\n\n // Only need to set `columnState` once, using the first table's column state\n // This will avoid needing to generate column state explicitly for root context that wraps all tables\n if (!columnState) {\n columnState = newColumnState\n }\n\n if (!Table) {\n Table = []\n }\n\n dataByGroup[valueOrRelationshipID] = groupData\n ;(Table as Array<React.ReactNode>)[i] = NewTable\n }\n }),\n )\n\n return {\n columnState,\n data,\n Table,\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":"AAIA,OAAO,EACL,KAAK,oBAAoB,EAIzB,KAAK,SAAS,EAMf,MAAM,SAAS,CAAA;AAShB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,KAAK,kBAAkB,GAAG;IACxB,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,KAAK,EAAE,SAAS,CAAA;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GAAG,oBAAoB,CAAA;AAExB;;;;;GAKG;AACH,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,oBAAoB,EAIzB,KAAK,SAAS,EAMf,MAAM,SAAS,CAAA;AAShB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,KAAK,kBAAkB,GAAG;IACxB,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,KAAK,EAAE,SAAS,CAAA;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GAAG,oBAAoB,CAAA;AAExB;;;;;GAKG;AACH,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CA0TA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAWjD,CAAA"}
|
package/dist/views/List/index.js
CHANGED
|
@@ -83,21 +83,18 @@ export const renderListView = async args => {
|
|
|
83
83
|
if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {
|
|
84
84
|
throw new Error('not-found');
|
|
85
85
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
sort: query.sort
|
|
93
|
-
});
|
|
94
|
-
}
|
|
86
|
+
const baseFilterConstraint = await (collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter)?.({
|
|
87
|
+
limit: query.limit,
|
|
88
|
+
page: query.page,
|
|
89
|
+
req,
|
|
90
|
+
sort: query.sort
|
|
91
|
+
});
|
|
95
92
|
let queryPreset;
|
|
96
93
|
let queryPresetPermissions;
|
|
97
94
|
let whereWithMergedSearch = mergeListSearchAndWhere({
|
|
98
95
|
collectionConfig,
|
|
99
96
|
search: typeof query?.search === 'string' ? query.search : undefined,
|
|
100
|
-
where: combineWhereConstraints([query?.where,
|
|
97
|
+
where: combineWhereConstraints([query?.where, baseFilterConstraint])
|
|
101
98
|
});
|
|
102
99
|
if (trash === true) {
|
|
103
100
|
whereWithMergedSearch = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","renderFilters","renderTable","upsertPreferences","notFound","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","getDocumentPermissions","handleGroupBy","renderListViewSlots","resolveAllFilterOptions","renderListView","args","clientConfig","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","page","admin","pagination","defaultLimit","defaultSort","routes","adminRoute","includes","baseListFilter","queryPreset","queryPresetPermissions","whereWithMergedSearch","search","where","and","deletedAt","exists","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","draft","fallbackLocale","includeLockStatus","clientCollectionConfig","orderableFieldName","orderable","useAsTitle","name","msg","renderedFilters","fields","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 { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\nimport {\n type AdminViewServerProps,\n type CollectionPreferences,\n type Column,\n type ColumnPreference,\n type ListQuery,\n type ListViewClientProps,\n type ListViewServerPropsOnly,\n type PaginatedDocs,\n type QueryPreset,\n type SanitizedCollectionPermission,\n} from 'payload'\nimport {\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 { handleGroupBy } from './handleGroupBy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\n\ntype RenderListViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\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 */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n query.preset = collectionPreferences?.preset\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n query.groupBy = collectionPreferences?.groupBy\n\n query.columns = transformColumnsToSearchParams(collectionPreferences?.columns || [])\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {\n throw new Error('not-found')\n }\n\n let baseListFilter = undefined\n\n if (typeof collectionConfig.admin?.baseListFilter === 'function') {\n baseListFilter = await collectionConfig.admin.baseListFilter({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n }\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseListFilter]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: config.collections.find((c) => c.slug === 'payload-query-presets'),\n data: queryPreset,\n req,\n })?.then(({ docPermissions }) => docPermissions)\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n try {\n if (collectionConfig.admin.groupBy && query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns: collectionPreferences?.columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n query,\n req,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\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 sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig: clientConfig.collections.find((c) => c.slug === collectionSlug),\n collectionConfig,\n columns: collectionPreferences?.columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\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: collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps,\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\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 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","renderFilters","renderTable","upsertPreferences","notFound","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","getDocumentPermissions","handleGroupBy","renderListViewSlots","resolveAllFilterOptions","renderListView","args","clientConfig","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","page","admin","pagination","defaultLimit","defaultSort","routes","adminRoute","includes","baseFilterConstraint","baseFilter","baseListFilter","queryPreset","queryPresetPermissions","whereWithMergedSearch","search","where","and","deletedAt","exists","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","draft","fallbackLocale","includeLockStatus","clientCollectionConfig","orderableFieldName","orderable","useAsTitle","name","msg","renderedFilters","fields","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 { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\nimport {\n type AdminViewServerProps,\n type CollectionPreferences,\n type Column,\n type ColumnPreference,\n type ListQuery,\n type ListViewClientProps,\n type ListViewServerPropsOnly,\n type PaginatedDocs,\n type QueryPreset,\n type SanitizedCollectionPermission,\n} from 'payload'\nimport {\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 { handleGroupBy } from './handleGroupBy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\n\ntype RenderListViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\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 */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n query.preset = collectionPreferences?.preset\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n query.groupBy = collectionPreferences?.groupBy\n\n query.columns = transformColumnsToSearchParams(collectionPreferences?.columns || [])\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {\n throw new Error('not-found')\n }\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: config.collections.find((c) => c.slug === 'payload-query-presets'),\n data: queryPreset,\n req,\n })?.then(({ docPermissions }) => docPermissions)\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n try {\n if (collectionConfig.admin.groupBy && query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns: collectionPreferences?.columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n query,\n req,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\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 sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig: clientConfig.collections.find((c) => c.slug === collectionSlug),\n collectionConfig,\n columns: collectionPreferences?.columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\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: collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps,\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\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 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.
|
|
3
|
+
"version": "3.51.0-canary.1",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -87,9 +87,9 @@
|
|
|
87
87
|
"qs-esm": "7.0.2",
|
|
88
88
|
"sass": "1.77.4",
|
|
89
89
|
"uuid": "10.0.0",
|
|
90
|
-
"@payloadcms/graphql": "3.
|
|
91
|
-
"@payloadcms/ui": "3.
|
|
92
|
-
"@payloadcms/translations": "3.
|
|
90
|
+
"@payloadcms/graphql": "3.51.0-canary.1",
|
|
91
|
+
"@payloadcms/ui": "3.51.0-canary.1",
|
|
92
|
+
"@payloadcms/translations": "3.51.0-canary.1"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
95
|
"@babel/cli": "7.27.2",
|
|
@@ -106,13 +106,13 @@
|
|
|
106
106
|
"esbuild": "0.25.5",
|
|
107
107
|
"esbuild-sass-plugin": "3.3.1",
|
|
108
108
|
"swc-plugin-transform-remove-imports": "4.0.4",
|
|
109
|
-
"
|
|
110
|
-
"
|
|
109
|
+
"@payloadcms/eslint-config": "3.28.0",
|
|
110
|
+
"payload": "3.51.0-canary.1"
|
|
111
111
|
},
|
|
112
112
|
"peerDependencies": {
|
|
113
113
|
"graphql": "^16.8.1",
|
|
114
114
|
"next": "^15.2.3",
|
|
115
|
-
"payload": "3.
|
|
115
|
+
"payload": "3.51.0-canary.1"
|
|
116
116
|
},
|
|
117
117
|
"engines": {
|
|
118
118
|
"node": "^18.20.2 || >=20.9.0"
|