@payloadcms/next 3.49.0-canary.7 → 3.49.0

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.
Files changed (75) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  2. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +9 -3
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  4. package/dist/prod/styles.css +1 -1
  5. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
  6. package/dist/utilities/initPage/handleAdminPage.js +11 -2
  7. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  8. package/dist/views/API/index.client.d.ts +1 -1
  9. package/dist/views/API/index.client.d.ts.map +1 -1
  10. package/dist/views/API/index.client.js +6 -2
  11. package/dist/views/API/index.client.js.map +1 -1
  12. package/dist/views/CollectionTrash/index.d.ts +20 -0
  13. package/dist/views/CollectionTrash/index.d.ts.map +1 -0
  14. package/dist/views/CollectionTrash/index.js +25 -0
  15. package/dist/views/CollectionTrash/index.js.map +1 -0
  16. package/dist/views/CollectionTrash/metadata.d.ts +7 -0
  17. package/dist/views/CollectionTrash/metadata.d.ts.map +1 -0
  18. package/dist/views/CollectionTrash/metadata.js +25 -0
  19. package/dist/views/CollectionTrash/metadata.js.map +1 -0
  20. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  21. package/dist/views/CreateFirstUser/index.client.js +8 -1
  22. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  23. package/dist/views/Document/getDocumentData.d.ts +2 -1
  24. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  25. package/dist/views/Document/getDocumentData.js +4 -0
  26. package/dist/views/Document/getDocumentData.js.map +1 -1
  27. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  28. package/dist/views/Document/getDocumentView.js +69 -4
  29. package/dist/views/Document/getDocumentView.js.map +1 -1
  30. package/dist/views/Document/getMetaBySegment.d.ts +1 -0
  31. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  32. package/dist/views/Document/getMetaBySegment.js +24 -0
  33. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  34. package/dist/views/Document/index.d.ts +2 -1
  35. package/dist/views/Document/index.d.ts.map +1 -1
  36. package/dist/views/Document/index.js +6 -0
  37. package/dist/views/Document/index.js.map +1 -1
  38. package/dist/views/Edit/metadata.d.ts.map +1 -1
  39. package/dist/views/Edit/metadata.js +4 -2
  40. package/dist/views/Edit/metadata.js.map +1 -1
  41. package/dist/views/List/handleGroupBy.d.ts +19 -0
  42. package/dist/views/List/handleGroupBy.d.ts.map +1 -0
  43. package/dist/views/List/handleGroupBy.js +136 -0
  44. package/dist/views/List/handleGroupBy.js.map +1 -0
  45. package/dist/views/List/index.d.ts.map +1 -1
  46. package/dist/views/List/index.js +96 -38
  47. package/dist/views/List/index.js.map +1 -1
  48. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  49. package/dist/views/Root/getRouteData.js +33 -2
  50. package/dist/views/Root/getRouteData.js.map +1 -1
  51. package/dist/views/Root/metadata.d.ts.map +1 -1
  52. package/dist/views/Root/metadata.js +12 -1
  53. package/dist/views/Root/metadata.js.map +1 -1
  54. package/dist/views/Version/Default/SetStepNav.d.ts +1 -0
  55. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  56. package/dist/views/Version/Default/SetStepNav.js +34 -19
  57. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  58. package/dist/views/Version/Default/index.d.ts.map +1 -1
  59. package/dist/views/Version/Default/index.js +4 -2
  60. package/dist/views/Version/Default/index.js.map +1 -1
  61. package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
  62. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +6 -3
  63. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  64. package/dist/views/Versions/buildColumns.d.ts +2 -1
  65. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  66. package/dist/views/Versions/buildColumns.js +2 -0
  67. package/dist/views/Versions/buildColumns.js.map +1 -1
  68. package/dist/views/Versions/cells/CreatedAt/index.d.ts +1 -0
  69. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  70. package/dist/views/Versions/cells/CreatedAt/index.js +9 -6
  71. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  72. package/dist/views/Versions/index.d.ts.map +1 -1
  73. package/dist/views/Versions/index.js +4 -0
  74. package/dist/views/Versions/index.js.map +1 -1
  75. package/package.json +6 -6
@@ -6,6 +6,7 @@ import { notFound } from 'next/navigation.js';
6
6
  import { combineWhereConstraints, formatAdminURL, isNumber, mergeListSearchAndWhere, transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared';
7
7
  import React, { Fragment } from 'react';
8
8
  import { getDocumentPermissions } from '../Document/getDocumentPermissions.js';
9
+ import { handleGroupBy } from './handleGroupBy.js';
9
10
  import { renderListViewSlots } from './renderListViewSlots.js';
10
11
  import { resolveAllFilterOptions } from './resolveAllFilterOptions.js';
11
12
  /**
@@ -27,7 +28,8 @@ export const renderListView = async args => {
27
28
  overrideEntityVisibility,
28
29
  params,
29
30
  query: queryFromArgs,
30
- searchParams
31
+ searchParams,
32
+ viewType
31
33
  } = args;
32
34
  const {
33
35
  collectionConfig,
@@ -39,7 +41,6 @@ export const renderListView = async args => {
39
41
  req,
40
42
  req: {
41
43
  i18n,
42
- locale,
43
44
  payload,
44
45
  payload: {
45
46
  config
@@ -54,11 +55,13 @@ export const renderListView = async args => {
54
55
  }
55
56
  const query = queryFromArgs || queryFromReq;
56
57
  const columnsFromQuery = transformColumnsToPreferences(query?.columns);
58
+ query.queryByGroup = query?.queryByGroup && typeof query.queryByGroup === 'string' ? JSON.parse(query.queryByGroup) : query?.queryByGroup;
57
59
  const collectionPreferences = await upsertPreferences({
58
60
  key: `collection-${collectionSlug}`,
59
61
  req,
60
62
  value: {
61
63
  columns: columnsFromQuery,
64
+ groupBy: query?.groupBy,
62
65
  limit: isNumber(query?.limit) ? Number(query.limit) : undefined,
63
66
  preset: query?.preset,
64
67
  sort: query?.sort
@@ -68,6 +71,7 @@ export const renderListView = async args => {
68
71
  query.page = isNumber(query?.page) ? Number(query.page) : 0;
69
72
  query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit;
70
73
  query.sort = collectionPreferences?.sort || (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined);
74
+ query.groupBy = collectionPreferences?.groupBy;
71
75
  query.columns = transformColumnsToSearchParams(collectionPreferences?.columns || []);
72
76
  const {
73
77
  routes: {
@@ -87,8 +91,36 @@ export const renderListView = async args => {
87
91
  sort: query.sort
88
92
  });
89
93
  }
94
+ let whereCondition = mergeListSearchAndWhere({
95
+ collectionConfig,
96
+ search: typeof query?.search === 'string' ? query.search : undefined,
97
+ where: combineWhereConstraints([query?.where, baseListFilter])
98
+ });
99
+ if (query?.trash === true) {
100
+ whereCondition = {
101
+ and: [whereCondition, {
102
+ deletedAt: {
103
+ exists: true
104
+ }
105
+ }]
106
+ };
107
+ }
90
108
  let queryPreset;
91
109
  let queryPresetPermissions;
110
+ let whereWithMergedSearch = mergeListSearchAndWhere({
111
+ collectionConfig,
112
+ search: typeof query?.search === 'string' ? query.search : undefined,
113
+ where: combineWhereConstraints([query?.where, baseListFilter])
114
+ });
115
+ if (query?.trash === true) {
116
+ whereWithMergedSearch = {
117
+ and: [whereWithMergedSearch, {
118
+ deletedAt: {
119
+ exists: true
120
+ }
121
+ }]
122
+ };
123
+ }
92
124
  if (collectionPreferences?.preset) {
93
125
  try {
94
126
  queryPreset = await payload.findByID({
@@ -112,42 +144,63 @@ export const renderListView = async args => {
112
144
  req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`);
113
145
  }
114
146
  }
115
- const data = await payload.find({
116
- collection: collectionSlug,
117
- depth: 0,
118
- draft: true,
119
- fallbackLocale: false,
120
- includeLockStatus: true,
121
- limit: query.limit,
122
- locale,
123
- overrideAccess: false,
124
- page: query.page,
125
- req,
126
- sort: query.sort,
127
- user,
128
- where: mergeListSearchAndWhere({
147
+ let data;
148
+ let Table = null;
149
+ let columnState = [];
150
+ if (collectionConfig.admin.groupBy && query.groupBy) {
151
+ ({
152
+ columnState,
153
+ data,
154
+ Table
155
+ } = await handleGroupBy({
156
+ clientConfig,
129
157
  collectionConfig,
130
- search: typeof query?.search === 'string' ? query.search : undefined,
131
- where: combineWhereConstraints([query?.where, baseListFilter])
132
- })
133
- });
134
- const clientCollectionConfig = clientConfig.collections.find(c => c.slug === collectionSlug);
135
- const {
136
- columnState,
137
- Table
138
- } = renderTable({
139
- clientCollectionConfig,
140
- collectionConfig,
141
- columns: collectionPreferences?.columns,
142
- customCellProps,
143
- docs: data.docs,
144
- drawerSlug,
145
- enableRowSelections,
146
- i18n: req.i18n,
147
- orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,
148
- payload,
149
- useAsTitle: collectionConfig.admin.useAsTitle
150
- });
158
+ collectionSlug,
159
+ columns: collectionPreferences?.columns,
160
+ customCellProps,
161
+ drawerSlug,
162
+ enableRowSelections,
163
+ query,
164
+ req,
165
+ user,
166
+ where: whereWithMergedSearch
167
+ }));
168
+ } else {
169
+ data = await req.payload.find({
170
+ collection: collectionSlug,
171
+ depth: 0,
172
+ draft: true,
173
+ fallbackLocale: false,
174
+ includeLockStatus: true,
175
+ limit: query?.limit ? Number(query.limit) : undefined,
176
+ locale: req.locale,
177
+ overrideAccess: false,
178
+ page: query?.page ? Number(query.page) : undefined,
179
+ req,
180
+ sort: query?.sort,
181
+ trash: query?.trash === true,
182
+ user,
183
+ where: whereWithMergedSearch
184
+ });
185
+ ({
186
+ columnState,
187
+ Table
188
+ } = renderTable({
189
+ clientCollectionConfig: clientConfig.collections.find(c => c.slug === collectionSlug),
190
+ collectionConfig,
191
+ columns: collectionPreferences?.columns,
192
+ customCellProps,
193
+ data,
194
+ drawerSlug,
195
+ enableRowSelections,
196
+ i18n: req.i18n,
197
+ orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,
198
+ payload: req.payload,
199
+ query,
200
+ useAsTitle: collectionConfig.admin.useAsTitle,
201
+ viewType
202
+ }));
203
+ }
151
204
  const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap);
152
205
  const resolvedFilterOptions = await resolveAllFilterOptions({
153
206
  fields: collectionConfig.fields,
@@ -161,6 +214,7 @@ export const renderListView = async args => {
161
214
  path: `/collections/${collectionSlug}/create`
162
215
  });
163
216
  const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create;
217
+ const hasDeletePermission = permissions?.collections?.[collectionSlug]?.delete;
164
218
  // Check if there's a notFound query parameter (document ID that wasn't found)
165
219
  const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null;
166
220
  const serverProps = {
@@ -181,6 +235,7 @@ export const renderListView = async args => {
181
235
  clientProps: {
182
236
  collectionSlug,
183
237
  hasCreatePermission,
238
+ hasDeletePermission,
184
239
  newDocumentURL
185
240
  },
186
241
  collectionConfig,
@@ -191,6 +246,7 @@ export const renderListView = async args => {
191
246
  });
192
247
  const isInDrawer = Boolean(drawerSlug);
193
248
  // 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.
249
+ // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.
194
250
  query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined;
195
251
  return {
196
252
  List: /*#__PURE__*/_jsxs(Fragment, {
@@ -212,13 +268,15 @@ export const renderListView = async args => {
212
268
  disableQueryPresets,
213
269
  enableRowSelections,
214
270
  hasCreatePermission,
271
+ hasDeletePermission,
215
272
  listPreferences: collectionPreferences,
216
273
  newDocumentURL,
217
274
  queryPreset,
218
275
  queryPresetPermissions,
219
276
  renderedFilters,
220
277
  resolvedFilterOptions,
221
- Table
278
+ Table,
279
+ viewType
222
280
  },
223
281
  Component: collectionConfig?.admin?.components?.views?.list?.Component,
224
282
  Fallback: DefaultListView,
@@ -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","renderListViewSlots","resolveAllFilterOptions","renderListView","args","clientConfig","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","columnsFromQuery","columns","collectionPreferences","key","value","limit","Number","undefined","preset","sort","page","admin","pagination","defaultLimit","defaultSort","routes","adminRoute","includes","baseListFilter","queryPreset","queryPresetPermissions","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","draft","fallbackLocale","includeLockStatus","where","search","clientCollectionConfig","columnState","Table","docs","orderableFieldName","orderable","useAsTitle","renderedFilters","fields","importMap","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","notFoundDocId","serverProps","listPreferences","listSearchableFields","listViewSlots","clientProps","isInDrawer","Boolean","JSON","parse","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 ColumnPreference,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport { 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 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 { 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} & 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 } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\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 const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\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.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 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 const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query.limit,\n locale,\n overrideAccess: false,\n page: query.page,\n req,\n sort: query.sort,\n user,\n where: mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseListFilter]),\n }),\n })\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const { columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns: collectionPreferences?.columns,\n customCellProps,\n docs: data.docs,\n drawerSlug,\n enableRowSelections,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload,\n useAsTitle: collectionConfig.admin.useAsTitle,\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 // 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 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 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 listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\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","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","whereCondition","search","where","trash","and","deletedAt","exists","queryPreset","queryPresetPermissions","whereWithMergedSearch","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","Table","columnState","draft","fallbackLocale","includeLockStatus","clientCollectionConfig","orderableFieldName","orderable","useAsTitle","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 type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport { 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 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} & 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 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 whereCondition = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseListFilter]),\n })\n\n if (query?.trash === true) {\n whereCondition = {\n and: [\n whereCondition,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\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 (query?.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 data: PaginatedDocs | undefined\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n\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 user,\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: query?.trash === true,\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\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 +1 @@
1
- {"version":3,"file":"getRouteData.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getRouteData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,SAAS,EACV,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAiCjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAA;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;CAC1D,CAAA;AAaD,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,KAAK,kBAAkB,GAAG;IACxB,mBAAmB,EAAE,cAAc,EAAE,CAAA;IACrC,WAAW,EAAE,cAAc,CAAA;IAC3B,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,YAAY,6EAOtB,gBAAgB,KAAG,kBA2QrB,CAAA"}
1
+ {"version":3,"file":"getRouteData.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getRouteData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,SAAS,EACV,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAkCjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAA;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;CAC1D,CAAA;AAaD,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,KAAK,kBAAkB,GAAG;IACxB,mBAAmB,EAAE,cAAc,EAAE,CAAA;IACrC,WAAW,EAAE,cAAc,CAAA;IAC3B,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,YAAY,6EAOtB,gBAAgB,KAAG,kBAsTrB,CAAA"}
@@ -2,6 +2,7 @@ import { formatAdminURL } from 'payload/shared';
2
2
  import { Account } from '../Account/index.js';
3
3
  import { BrowseByFolder } from '../BrowseByFolder/index.js';
4
4
  import { CollectionFolderView } from '../CollectionFolders/index.js';
5
+ import { TrashView } from '../CollectionTrash/index.js';
5
6
  import { CreateFirstUserView } from '../CreateFirstUser/index.js';
6
7
  import { Dashboard } from '../Dashboard/index.js';
7
8
  import { Document as DocumentView } from '../Document/index.js';
@@ -55,7 +56,7 @@ export const getRouteData = ({
55
56
  routeParams: {},
56
57
  searchParams
57
58
  };
58
- const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive] = segments;
59
+ const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive, segmentSix] = segments;
59
60
  const isGlobal = segmentOne === 'globals';
60
61
  const isCollection = segmentOne === 'collections';
61
62
  let matchedCollection = undefined;
@@ -202,7 +203,37 @@ export const getRouteData = ({
202
203
  viewType = 'verify';
203
204
  } else if (isCollection && matchedCollection) {
204
205
  initPageOptions.routeParams.collection = matchedCollection.slug;
205
- if (config.folders && segmentThree === config.folders.slug && matchedCollection.folders) {
206
+ if (segmentThree === 'trash' && typeof segmentFour === 'string') {
207
+ // --> /collections/:collectionSlug/trash/:id (read-only)
208
+ // --> /collections/:collectionSlug/trash/:id/api
209
+ // --> /collections/:collectionSlug/trash/:id/preview
210
+ // --> /collections/:collectionSlug/trash/:id/versions
211
+ // --> /collections/:collectionSlug/trash/:id/versions/:versionID
212
+ initPageOptions.routeParams.id = segmentFour;
213
+ initPageOptions.routeParams.versionID = segmentSix;
214
+ ViewToRender = {
215
+ Component: DocumentView
216
+ };
217
+ templateClassName = `collection-default-edit`;
218
+ templateType = 'default';
219
+ const viewInfo = getDocumentViewInfo([segmentFive, segmentSix]);
220
+ viewType = viewInfo.viewType;
221
+ documentSubViewType = viewInfo.documentSubViewType;
222
+ attachViewActions({
223
+ collectionOrGlobal: matchedCollection,
224
+ serverProps,
225
+ viewKeyArg: documentSubViewType
226
+ });
227
+ } else if (segmentThree === 'trash') {
228
+ // --> /collections/:collectionSlug/trash
229
+ ViewToRender = {
230
+ Component: TrashView
231
+ };
232
+ templateClassName = `${segmentTwo}-trash`;
233
+ templateType = 'default';
234
+ viewType = 'trash';
235
+ serverProps.viewActions = serverProps.viewActions.concat(matchedCollection.admin.components?.views?.list?.actions ?? []);
236
+ } else if (config.folders && segmentThree === config.folders.slug && matchedCollection.folders) {
206
237
  // Collection Folder Views
207
238
  // --> /collections/:collectionSlug/:folderCollectionSlug
208
239
  // --> /collections/:collectionSlug/:folderCollectionSlug/:folderID
@@ -1 +1 @@
1
- {"version":3,"file":"getRouteData.js","names":["formatAdminURL","Account","BrowseByFolder","CollectionFolderView","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","attachViewActions","getViewActions","getCustomViewByRoute","getDocumentViewInfo","isPathMatchingRoute","baseClasses","account","folders","forgot","login","reset","verify","oneSegmentViews","browseByFolder","createFirstUser","inactivity","logout","unauthorized","getRouteData","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","documentSubViewType","viewType","folderID","initPageOptions","route","routeParams","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","isGlobal","isCollection","matchedCollection","undefined","matchedGlobal","isBrowseByFolderEnabled","browseByFolderSlugs","collections","reduce","acc","slug","serverProps","viewActions","admin","components","actions","find","collectionConfig","globals","globalConfig","length","Component","viewKey","routes","matchedRoute","Object","entries","exact","path","collection","concat","views","list","global","editConfig","edit","folderCollection","id","versionID","viewInfo","collectionOrGlobal","viewKeyArg","view","reverse","DefaultView"],"sources":["../../../src/views/Root/getRouteData.ts"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionSlug,\n DocumentSubViewTypes,\n ImportMap,\n PayloadComponent,\n SanitizedConfig,\n ServerPropsFromView,\n ViewTypes,\n} from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from 'payload/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { BrowseByFolder } from '../BrowseByFolder/index.js'\nimport { CollectionFolderView } from '../CollectionFolders/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { attachViewActions, getViewActions } from './attachViewActions.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getDocumentViewInfo } from './getDocumentViewInfo.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n folders: 'folders',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewServerProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewServerProps>\n payloadComponent?: PayloadComponent<AdminViewServerProps>\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n browseByFolder: BrowseByFolder,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\ntype GetRouteDataArgs = {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}\n\ntype GetRouteDataResult = {\n browseByFolderSlugs: CollectionSlug[]\n DefaultView: ViewFromConfig\n documentSubViewType?: DocumentSubViewTypes\n folderID?: string\n initPageOptions: Parameters<typeof initPage>[0]\n serverProps: ServerPropsFromView\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewType?: ViewTypes\n}\n\nexport const getRouteData = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: GetRouteDataArgs): GetRouteDataResult => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n let documentSubViewType: DocumentSubViewTypes\n let viewType: ViewTypes\n let folderID: string\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n routeParams: {},\n searchParams,\n }\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n let matchedCollection: SanitizedConfig['collections'][number] = undefined\n let matchedGlobal: SanitizedConfig['globals'][number] = undefined\n\n const isBrowseByFolderEnabled = config.folders && config.folders.browseByFolder\n const browseByFolderSlugs =\n (isBrowseByFolderEnabled &&\n config.collections.reduce((acc, { slug, folders }) => {\n if (folders && folders.browseByFolder) {\n return [...acc, slug]\n }\n return acc\n }, [])) ||\n []\n\n const serverProps: ServerPropsFromView = {\n viewActions: config?.admin?.components?.actions || [],\n }\n\n if (isCollection) {\n matchedCollection = config.collections.find(({ slug }) => slug === segmentTwo)\n serverProps.collectionConfig = matchedCollection\n }\n\n if (isGlobal) {\n matchedGlobal = config.globals.find(({ slug }) => slug === segmentTwo)\n serverProps.globalConfig = matchedGlobal\n }\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n viewType = 'dashboard'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /browse-by-folder\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n viewType = 'account'\n }\n\n if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {\n templateType = 'default'\n viewType = 'folders'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n viewType = 'reset'\n } else if (\n isBrowseByFolderEnabled &&\n `/${segmentOne}` === config.admin.routes.browseByFolder\n ) {\n // --> /browse-by-folder/:folderID\n initPageOptions.routeParams.folderID = folderID\n\n ViewToRender = {\n Component: oneSegmentViews.browseByFolder,\n }\n templateClassName = baseClasses.folders\n templateType = 'default'\n viewType = 'folders'\n folderID = segmentTwo\n } else if (isCollection && matchedCollection) {\n // --> /collections/:collectionSlug\n initPageOptions.routeParams.collection = matchedCollection.slug\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewType = 'list'\n serverProps.viewActions = serverProps.viewActions.concat(\n matchedCollection.admin.components?.views?.list?.actions,\n )\n } else if (isGlobal && matchedGlobal) {\n // --> /globals/:globalSlug\n initPageOptions.routeParams.global = matchedGlobal.slug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n viewType = 'document'\n\n // add default view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n initPageOptions.routeParams.collection = segmentOne\n\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n viewType = 'verify'\n } else if (isCollection && matchedCollection) {\n initPageOptions.routeParams.collection = matchedCollection.slug\n if (config.folders && segmentThree === config.folders.slug && matchedCollection.folders) {\n // Collection Folder Views\n // --> /collections/:collectionSlug/:folderCollectionSlug\n // --> /collections/:collectionSlug/:folderCollectionSlug/:folderID\n initPageOptions.routeParams.folderCollection = segmentThree\n initPageOptions.routeParams.folderID = segmentFour\n\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n folderID = segmentFour\n } else {\n // Collection Edit Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n initPageOptions.routeParams.id = segmentThree\n initPageOptions.routeParams.versionID = segmentFive\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFour, segmentFive])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n attachViewActions({\n collectionOrGlobal: matchedCollection,\n serverProps,\n viewKeyArg: documentSubViewType,\n })\n }\n } else if (isGlobal && matchedGlobal) {\n // Global Edit Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n initPageOptions.routeParams.global = matchedGlobal.slug\n initPageOptions.routeParams.versionID = segmentFour\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentThree, segmentFour])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n attachViewActions({\n collectionOrGlobal: matchedGlobal,\n serverProps,\n viewKeyArg: documentSubViewType,\n })\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n serverProps.viewActions.reverse()\n\n return {\n browseByFolderSlugs,\n DefaultView: ViewToRender,\n documentSubViewType,\n folderID,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getRouteData.js","names":["formatAdminURL","Account","BrowseByFolder","CollectionFolderView","TrashView","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","attachViewActions","getViewActions","getCustomViewByRoute","getDocumentViewInfo","isPathMatchingRoute","baseClasses","account","folders","forgot","login","reset","verify","oneSegmentViews","browseByFolder","createFirstUser","inactivity","logout","unauthorized","getRouteData","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","documentSubViewType","viewType","folderID","initPageOptions","route","routeParams","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","segmentSix","isGlobal","isCollection","matchedCollection","undefined","matchedGlobal","isBrowseByFolderEnabled","browseByFolderSlugs","collections","reduce","acc","slug","serverProps","viewActions","admin","components","actions","find","collectionConfig","globals","globalConfig","length","Component","viewKey","routes","matchedRoute","Object","entries","exact","path","collection","concat","views","list","global","editConfig","edit","id","versionID","viewInfo","collectionOrGlobal","viewKeyArg","folderCollection","view","reverse","DefaultView"],"sources":["../../../src/views/Root/getRouteData.ts"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionSlug,\n DocumentSubViewTypes,\n ImportMap,\n PayloadComponent,\n SanitizedConfig,\n ServerPropsFromView,\n ViewTypes,\n} from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from 'payload/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { BrowseByFolder } from '../BrowseByFolder/index.js'\nimport { CollectionFolderView } from '../CollectionFolders/index.js'\nimport { TrashView } from '../CollectionTrash/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { attachViewActions, getViewActions } from './attachViewActions.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getDocumentViewInfo } from './getDocumentViewInfo.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n folders: 'folders',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewServerProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewServerProps>\n payloadComponent?: PayloadComponent<AdminViewServerProps>\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n browseByFolder: BrowseByFolder,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\ntype GetRouteDataArgs = {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}\n\ntype GetRouteDataResult = {\n browseByFolderSlugs: CollectionSlug[]\n DefaultView: ViewFromConfig\n documentSubViewType?: DocumentSubViewTypes\n folderID?: string\n initPageOptions: Parameters<typeof initPage>[0]\n serverProps: ServerPropsFromView\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewType?: ViewTypes\n}\n\nexport const getRouteData = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: GetRouteDataArgs): GetRouteDataResult => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n let documentSubViewType: DocumentSubViewTypes\n let viewType: ViewTypes\n let folderID: string\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n routeParams: {},\n searchParams,\n }\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive, segmentSix] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n let matchedCollection: SanitizedConfig['collections'][number] = undefined\n let matchedGlobal: SanitizedConfig['globals'][number] = undefined\n\n const isBrowseByFolderEnabled = config.folders && config.folders.browseByFolder\n const browseByFolderSlugs =\n (isBrowseByFolderEnabled &&\n config.collections.reduce((acc, { slug, folders }) => {\n if (folders && folders.browseByFolder) {\n return [...acc, slug]\n }\n return acc\n }, [])) ||\n []\n\n const serverProps: ServerPropsFromView = {\n viewActions: config?.admin?.components?.actions || [],\n }\n\n if (isCollection) {\n matchedCollection = config.collections.find(({ slug }) => slug === segmentTwo)\n serverProps.collectionConfig = matchedCollection\n }\n\n if (isGlobal) {\n matchedGlobal = config.globals.find(({ slug }) => slug === segmentTwo)\n serverProps.globalConfig = matchedGlobal\n }\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n viewType = 'dashboard'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /browse-by-folder\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n viewType = 'account'\n }\n\n if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {\n templateType = 'default'\n viewType = 'folders'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n viewType = 'reset'\n } else if (\n isBrowseByFolderEnabled &&\n `/${segmentOne}` === config.admin.routes.browseByFolder\n ) {\n // --> /browse-by-folder/:folderID\n initPageOptions.routeParams.folderID = folderID\n\n ViewToRender = {\n Component: oneSegmentViews.browseByFolder,\n }\n templateClassName = baseClasses.folders\n templateType = 'default'\n viewType = 'folders'\n folderID = segmentTwo\n } else if (isCollection && matchedCollection) {\n // --> /collections/:collectionSlug\n initPageOptions.routeParams.collection = matchedCollection.slug\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewType = 'list'\n serverProps.viewActions = serverProps.viewActions.concat(\n matchedCollection.admin.components?.views?.list?.actions,\n )\n } else if (isGlobal && matchedGlobal) {\n // --> /globals/:globalSlug\n initPageOptions.routeParams.global = matchedGlobal.slug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n viewType = 'document'\n\n // add default view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n initPageOptions.routeParams.collection = segmentOne\n\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n viewType = 'verify'\n } else if (isCollection && matchedCollection) {\n initPageOptions.routeParams.collection = matchedCollection.slug\n\n if (segmentThree === 'trash' && typeof segmentFour === 'string') {\n // --> /collections/:collectionSlug/trash/:id (read-only)\n // --> /collections/:collectionSlug/trash/:id/api\n // --> /collections/:collectionSlug/trash/:id/preview\n // --> /collections/:collectionSlug/trash/:id/versions\n // --> /collections/:collectionSlug/trash/:id/versions/:versionID\n initPageOptions.routeParams.id = segmentFour\n initPageOptions.routeParams.versionID = segmentSix\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFive, segmentSix])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n attachViewActions({\n collectionOrGlobal: matchedCollection,\n serverProps,\n viewKeyArg: documentSubViewType,\n })\n } else if (segmentThree === 'trash') {\n // --> /collections/:collectionSlug/trash\n ViewToRender = {\n Component: TrashView,\n }\n\n templateClassName = `${segmentTwo}-trash`\n templateType = 'default'\n viewType = 'trash'\n\n serverProps.viewActions = serverProps.viewActions.concat(\n matchedCollection.admin.components?.views?.list?.actions ?? [],\n )\n } else if (\n config.folders &&\n segmentThree === config.folders.slug &&\n matchedCollection.folders\n ) {\n // Collection Folder Views\n // --> /collections/:collectionSlug/:folderCollectionSlug\n // --> /collections/:collectionSlug/:folderCollectionSlug/:folderID\n initPageOptions.routeParams.folderCollection = segmentThree\n initPageOptions.routeParams.folderID = segmentFour\n\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n folderID = segmentFour\n } else {\n // Collection Edit Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n initPageOptions.routeParams.id = segmentThree\n initPageOptions.routeParams.versionID = segmentFive\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFour, segmentFive])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n attachViewActions({\n collectionOrGlobal: matchedCollection,\n serverProps,\n viewKeyArg: documentSubViewType,\n })\n }\n } else if (isGlobal && matchedGlobal) {\n // Global Edit Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n initPageOptions.routeParams.global = matchedGlobal.slug\n initPageOptions.routeParams.versionID = segmentFour\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentThree, segmentFour])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n attachViewActions({\n collectionOrGlobal: matchedGlobal,\n serverProps,\n viewKeyArg: documentSubViewType,\n })\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n serverProps.viewActions.reverse()\n\n return {\n browseByFolderSlugs,\n DefaultView: ViewToRender,\n documentSubViewType,\n folderID,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/views/Root/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA6B9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE,OAAO,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;IACF,YAAY,EAAE,OAAO,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,CAAA;AAED,eAAO,MAAM,oBAAoB,sDAG9B,IAAI,sBAgJN,CAAA"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/views/Root/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA8B9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,MAAM,EAAE,OAAO,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;IACF,YAAY,EAAE,OAAO,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,CAAA;AAED,eAAO,MAAM,oBAAoB,sDAG9B,IAAI,sBA0JN,CAAA"}
@@ -2,6 +2,7 @@ import { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js';
2
2
  import { generateAccountViewMetadata } from '../Account/metadata.js';
3
3
  import { generateBrowseByFolderMetadata } from '../BrowseByFolder/metadata.js';
4
4
  import { generateCollectionFolderMetadata } from '../CollectionFolders/metadata.js';
5
+ import { generateCollectionTrashMetadata } from '../CollectionTrash/metadata.js';
5
6
  import { generateCreateFirstUserViewMetadata } from '../CreateFirstUser/metadata.js';
6
7
  import { generateDashboardViewMetadata } from '../Dashboard/metadata.js';
7
8
  import { generateDocumentViewMetadata } from '../Document/metadata.js';
@@ -130,7 +131,16 @@ export const generatePageMetadata = async ({
130
131
  i18n
131
132
  });
132
133
  } else if (isCollection) {
133
- if (config.folders && segmentThree === config.folders.slug) {
134
+ if (segmentThree === 'trash' && segments.length === 3 && collectionConfig) {
135
+ // Collection Trash Views
136
+ // --> /collections/:collectionSlug/trash
137
+ meta = await generateCollectionTrashMetadata({
138
+ collectionConfig,
139
+ config,
140
+ i18n,
141
+ params
142
+ });
143
+ } else if (config.folders && segmentThree === config.folders.slug) {
134
144
  if (folderCollectionSlugs.includes(collectionConfig.slug)) {
135
145
  // Collection Folder Views
136
146
  // --> /collections/:collectionSlug/:folderCollectionSlug
@@ -148,6 +158,7 @@ export const generatePageMetadata = async ({
148
158
  // --> /collections/:collectionSlug/:id/versions
149
159
  // --> /collections/:collectionSlug/:id/versions/:version
150
160
  // --> /collections/:collectionSlug/:id/api
161
+ // --> /collections/:collectionSlug/trash/:id
151
162
  meta = await generateDocumentViewMetadata({
152
163
  collectionConfig,
153
164
  config,
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","names":["getNextRequestI18n","generateAccountViewMetadata","generateBrowseByFolderMetadata","generateCollectionFolderMetadata","generateCreateFirstUserViewMetadata","generateDashboardViewMetadata","generateDocumentViewMetadata","generateForgotPasswordViewMetadata","generateListViewMetadata","generateLoginViewMetadata","generateNotFoundViewMetadata","generateResetPasswordViewMetadata","generateUnauthorizedViewMetadata","generateVerifyViewMetadata","generateCustomViewMetadata","getCustomViewByRoute","oneSegmentMeta","folders","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","paramsPromise","folderCollectionSlugs","collections","reduce","acc","slug","segments","Array","isArray","currentRoute","join","segmentOne","segmentTwo","segmentThree","isGlobal","isCollection","i18n","meta","collectionConfig","length","find","collection","globalConfig","globals","global","admin","routes","browseByFolder","reset","includes","viewConfig","viewKey"],"sources":["../../../src/views/Root/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountViewMetadata } from '../Account/metadata.js'\nimport { generateBrowseByFolderMetadata } from '../BrowseByFolder/metadata.js'\nimport { generateCollectionFolderMetadata } from '../CollectionFolders/metadata.js'\nimport { generateCreateFirstUserViewMetadata } from '../CreateFirstUser/metadata.js'\nimport { generateDashboardViewMetadata } from '../Dashboard/metadata.js'\nimport { generateDocumentViewMetadata } from '../Document/metadata.js'\nimport { generateForgotPasswordViewMetadata } from '../ForgotPassword/metadata.js'\nimport { generateListViewMetadata } from '../List/metadata.js'\nimport { generateLoginViewMetadata } from '../Login/metadata.js'\nimport { generateNotFoundViewMetadata } from '../NotFound/metadata.js'\nimport { generateResetPasswordViewMetadata } from '../ResetPassword/metadata.js'\nimport { generateUnauthorizedViewMetadata } from '../Unauthorized/metadata.js'\nimport { generateVerifyViewMetadata } from '../Verify/metadata.js'\nimport { generateCustomViewMetadata } from './generateCustomViewMetadata.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserViewMetadata,\n folders: generateBrowseByFolderMetadata,\n forgot: generateForgotPasswordViewMetadata,\n login: generateLoginViewMetadata,\n logout: generateUnauthorizedViewMetadata,\n 'logout-inactivity': generateUnauthorizedViewMetadata,\n unauthorized: generateUnauthorizedViewMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: Promise<{\n [key: string]: string | string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n params: paramsPromise,\n}: Args) => {\n const config = await configPromise\n const params = await paramsPromise\n\n const folderCollectionSlugs = config.collections.reduce((acc, { slug, folders }) => {\n if (folders) {\n return [...acc, slug]\n }\n return acc\n }, [])\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const currentRoute = `/${segments.join('/')}`\n const [segmentOne, segmentTwo, segmentThree] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n let meta: Metadata\n\n // TODO: handle custom routes\n\n const collectionConfig =\n isCollection &&\n segments.length > 1 &&\n config?.collections?.find((collection) => collection.slug === segmentTwo)\n\n const globalConfig =\n isGlobal && segments.length > 1 && config?.globals?.find((global) => global.slug === segmentTwo)\n\n switch (segments.length) {\n case 0: {\n meta = await generateDashboardViewMetadata({ config, i18n })\n break\n }\n case 1: {\n if (folderCollectionSlugs.length && `/${segmentOne}` === config.admin.routes.browseByFolder) {\n // --> /:folderCollectionSlug\n meta = await oneSegmentMeta.folders({ config, i18n })\n } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountViewMetadata({ config, i18n })\n break\n } else if (oneSegmentMeta[segmentOne]) {\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n meta = await oneSegmentMeta[segmentOne]({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n meta = await generateResetPasswordViewMetadata({ config, i18n })\n } else if (\n folderCollectionSlugs.length &&\n `/${segmentOne}` === config.admin.routes.browseByFolder\n ) {\n // --> /browse-by-folder/:folderID\n meta = await generateBrowseByFolderMetadata({ config, i18n })\n } else if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListViewMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentViewMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n default: {\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n meta = await generateVerifyViewMetadata({ config, i18n })\n } else if (isCollection) {\n if (config.folders && segmentThree === config.folders.slug) {\n if (folderCollectionSlugs.includes(collectionConfig.slug)) {\n // Collection Folder Views\n // --> /collections/:collectionSlug/:folderCollectionSlug\n // --> /collections/:collectionSlug/:folderCollectionSlug/:id\n meta = await generateCollectionFolderMetadata({\n collectionConfig,\n config,\n i18n,\n params,\n })\n }\n } else {\n // Collection Document Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n meta = await generateDocumentViewMetadata({ collectionConfig, config, i18n, params })\n }\n } else if (isGlobal) {\n // Global Document Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/api\n meta = await generateDocumentViewMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n const { viewConfig, viewKey } = getCustomViewByRoute({\n config,\n currentRoute,\n })\n\n if (viewKey) {\n // Custom Views\n // --> /:path\n meta = await generateCustomViewMetadata({\n config,\n i18n,\n viewConfig,\n })\n } else {\n meta = await generateNotFoundViewMetadata({ config, i18n })\n }\n }\n\n return meta\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"metadata.js","names":["getNextRequestI18n","generateAccountViewMetadata","generateBrowseByFolderMetadata","generateCollectionFolderMetadata","generateCollectionTrashMetadata","generateCreateFirstUserViewMetadata","generateDashboardViewMetadata","generateDocumentViewMetadata","generateForgotPasswordViewMetadata","generateListViewMetadata","generateLoginViewMetadata","generateNotFoundViewMetadata","generateResetPasswordViewMetadata","generateUnauthorizedViewMetadata","generateVerifyViewMetadata","generateCustomViewMetadata","getCustomViewByRoute","oneSegmentMeta","folders","forgot","login","logout","unauthorized","generatePageMetadata","config","configPromise","params","paramsPromise","folderCollectionSlugs","collections","reduce","acc","slug","segments","Array","isArray","currentRoute","join","segmentOne","segmentTwo","segmentThree","isGlobal","isCollection","i18n","meta","collectionConfig","length","find","collection","globalConfig","globals","global","admin","routes","browseByFolder","reset","includes","viewConfig","viewKey"],"sources":["../../../src/views/Root/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAccountViewMetadata } from '../Account/metadata.js'\nimport { generateBrowseByFolderMetadata } from '../BrowseByFolder/metadata.js'\nimport { generateCollectionFolderMetadata } from '../CollectionFolders/metadata.js'\nimport { generateCollectionTrashMetadata } from '../CollectionTrash/metadata.js'\nimport { generateCreateFirstUserViewMetadata } from '../CreateFirstUser/metadata.js'\nimport { generateDashboardViewMetadata } from '../Dashboard/metadata.js'\nimport { generateDocumentViewMetadata } from '../Document/metadata.js'\nimport { generateForgotPasswordViewMetadata } from '../ForgotPassword/metadata.js'\nimport { generateListViewMetadata } from '../List/metadata.js'\nimport { generateLoginViewMetadata } from '../Login/metadata.js'\nimport { generateNotFoundViewMetadata } from '../NotFound/metadata.js'\nimport { generateResetPasswordViewMetadata } from '../ResetPassword/metadata.js'\nimport { generateUnauthorizedViewMetadata } from '../Unauthorized/metadata.js'\nimport { generateVerifyViewMetadata } from '../Verify/metadata.js'\nimport { generateCustomViewMetadata } from './generateCustomViewMetadata.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nconst oneSegmentMeta = {\n 'create-first-user': generateCreateFirstUserViewMetadata,\n folders: generateBrowseByFolderMetadata,\n forgot: generateForgotPasswordViewMetadata,\n login: generateLoginViewMetadata,\n logout: generateUnauthorizedViewMetadata,\n 'logout-inactivity': generateUnauthorizedViewMetadata,\n unauthorized: generateUnauthorizedViewMetadata,\n}\n\ntype Args = {\n config: Promise<SanitizedConfig>\n params: Promise<{\n [key: string]: string | string[]\n }>\n searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}\n\nexport const generatePageMetadata = async ({\n config: configPromise,\n params: paramsPromise,\n}: Args) => {\n const config = await configPromise\n const params = await paramsPromise\n\n const folderCollectionSlugs = config.collections.reduce((acc, { slug, folders }) => {\n if (folders) {\n return [...acc, slug]\n }\n return acc\n }, [])\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const currentRoute = `/${segments.join('/')}`\n const [segmentOne, segmentTwo, segmentThree] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n let meta: Metadata\n\n // TODO: handle custom routes\n\n const collectionConfig =\n isCollection &&\n segments.length > 1 &&\n config?.collections?.find((collection) => collection.slug === segmentTwo)\n\n const globalConfig =\n isGlobal && segments.length > 1 && config?.globals?.find((global) => global.slug === segmentTwo)\n\n switch (segments.length) {\n case 0: {\n meta = await generateDashboardViewMetadata({ config, i18n })\n break\n }\n case 1: {\n if (folderCollectionSlugs.length && `/${segmentOne}` === config.admin.routes.browseByFolder) {\n // --> /:folderCollectionSlug\n meta = await oneSegmentMeta.folders({ config, i18n })\n } else if (segmentOne === 'account') {\n // --> /account\n meta = await generateAccountViewMetadata({ config, i18n })\n break\n } else if (oneSegmentMeta[segmentOne]) {\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n meta = await oneSegmentMeta[segmentOne]({ config, i18n })\n break\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n meta = await generateResetPasswordViewMetadata({ config, i18n })\n } else if (\n folderCollectionSlugs.length &&\n `/${segmentOne}` === config.admin.routes.browseByFolder\n ) {\n // --> /browse-by-folder/:folderID\n meta = await generateBrowseByFolderMetadata({ config, i18n })\n } else if (isCollection) {\n // --> /collections/:collectionSlug\n meta = await generateListViewMetadata({ collectionConfig, config, i18n })\n } else if (isGlobal) {\n // --> /globals/:globalSlug\n meta = await generateDocumentViewMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n default: {\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n meta = await generateVerifyViewMetadata({ config, i18n })\n } else if (isCollection) {\n if (segmentThree === 'trash' && segments.length === 3 && collectionConfig) {\n // Collection Trash Views\n // --> /collections/:collectionSlug/trash\n meta = await generateCollectionTrashMetadata({\n collectionConfig,\n config,\n i18n,\n params,\n })\n } else if (config.folders && segmentThree === config.folders.slug) {\n if (folderCollectionSlugs.includes(collectionConfig.slug)) {\n // Collection Folder Views\n // --> /collections/:collectionSlug/:folderCollectionSlug\n // --> /collections/:collectionSlug/:folderCollectionSlug/:id\n meta = await generateCollectionFolderMetadata({\n collectionConfig,\n config,\n i18n,\n params,\n })\n }\n } else {\n // Collection Document Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/trash/:id\n meta = await generateDocumentViewMetadata({ collectionConfig, config, i18n, params })\n }\n } else if (isGlobal) {\n // Global Document Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/api\n meta = await generateDocumentViewMetadata({\n config,\n globalConfig,\n i18n,\n params,\n })\n }\n break\n }\n }\n\n if (!meta) {\n const { viewConfig, viewKey } = getCustomViewByRoute({\n config,\n currentRoute,\n })\n\n if (viewKey) {\n // Custom Views\n // --> /:path\n meta = await generateCustomViewMetadata({\n config,\n i18n,\n viewConfig,\n })\n } else {\n meta = await generateNotFoundViewMetadata({ config, i18n })\n }\n }\n\n return meta\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ export declare const SetStepNav: React.FC<{
4
4
  readonly collectionConfig?: ClientCollectionConfig;
5
5
  readonly globalConfig?: ClientGlobalConfig;
6
6
  readonly id?: number | string;
7
+ readonly isTrashed?: boolean;
7
8
  versionToCreatedAtFormatted?: string;
8
9
  versionToID?: string;
9
10
  versionToUseAsTitle?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;IAC1C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CA2GA,CAAA"}
1
+ {"version":3,"file":"SetStepNav.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/SetStepNav.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;IAC1C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAiIA,CAAA"}