@payloadcms/next 3.0.0-beta.57 → 3.0.0-beta.59
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/prod/index.js +5 -5
- package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
- package/dist/utilities/getPayloadHMR.js +6 -3
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +1 -0
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +2 -7
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +3 -1
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +7 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +3 -1
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPayloadHMR.d.ts","sourceRoot":"","sources":["../../src/utilities/getPayloadHMR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getPayloadHMR.d.ts","sourceRoot":"","sources":["../../src/utilities/getPayloadHMR.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAgBpE,eAAO,MAAM,MAAM,WAAkB,eAAe,WAAW,OAAO,KAAG,OAAO,CAAC,IAAI,CAmCpF,CAAA;AAED,eAAO,MAAM,aAAa,YAAmB,WAAW,KAAG,OAAO,CAAC,OAAO,CAgEzE,CAAA"}
|
|
@@ -45,14 +45,16 @@ export const reload = async (config, payload)=>{
|
|
|
45
45
|
};
|
|
46
46
|
export const getPayloadHMR = async (options)=>{
|
|
47
47
|
if (!options?.config) {
|
|
48
|
-
throw new Error('Error: the payload config is required for
|
|
48
|
+
throw new Error('Error: the payload config is required for getPayloadHMR to work.');
|
|
49
49
|
}
|
|
50
50
|
if (cached.payload) {
|
|
51
|
-
const config = await options.config // TODO: check if we can move this inside the cached.reload === true condition
|
|
52
|
-
;
|
|
53
51
|
if (cached.reload === true) {
|
|
54
52
|
let resolve;
|
|
53
|
+
// getPayloadHMR is called multiple times, in parallel. However, we only want to run `await reload` once. By immediately setting cached.reload to a promise,
|
|
54
|
+
// we can ensure that all subsequent calls will wait for the first reload to finish. So if we set it here, the 2nd call of getPayloadHMR
|
|
55
|
+
// will reach `if (cached.reload instanceof Promise) {` which then waits for the first reload to finish.
|
|
55
56
|
cached.reload = new Promise((res)=>resolve = res);
|
|
57
|
+
const config = await options.config;
|
|
56
58
|
await reload(config, cached.payload);
|
|
57
59
|
resolve();
|
|
58
60
|
}
|
|
@@ -62,6 +64,7 @@ export const getPayloadHMR = async (options)=>{
|
|
|
62
64
|
return cached.payload;
|
|
63
65
|
}
|
|
64
66
|
if (!cached.promise) {
|
|
67
|
+
// no need to await options.config here, as it's already awaited in the BasePayload.init
|
|
65
68
|
cached.promise = new BasePayload().init(options);
|
|
66
69
|
}
|
|
67
70
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type { InitOptions, Payload, SanitizedConfig } from 'payload'\n\nimport { BasePayload } from 'payload'\nimport WebSocket from 'ws'\n\nlet cached: {\n payload: Payload | null\n promise: Promise<Payload> | null\n reload: Promise<void> | boolean\n} = global._payload\n\nif (!cached) {\n // eslint-disable-next-line no-multi-assign\n cached = global._payload = { payload: null, promise: null, reload: false }\n}\n\nexport const reload = async (config: SanitizedConfig, payload: Payload): Promise<void> => {\n if (typeof payload.db.destroy === 'function') {\n await payload.db.destroy()\n }\n\n payload.config = config\n\n payload.collections = config.collections.reduce((collections, collection) => {\n collections[collection.slug] = {\n config: collection,\n customIDType: payload.collections[collection.slug]?.customIDType,\n }\n return collections\n }, {})\n\n payload.globals = {\n config: config.globals,\n }\n\n // TODO: support HMR for other props in the future (see payload/src/index init()) hat may change on Payload singleton\n\n // Generate types\n if (config.typescript.autoGenerate !== false) {\n // We cannot run it directly here, as generate-types imports json-schema-to-typescript, which breaks on turbopack.\n // see: https://github.com/vercel/next.js/issues/66723\n void payload.bin({\n args: ['generate:types'],\n log: false,\n })\n }\n\n await payload.db.init()\n if (payload.db.connect) {\n await payload.db.connect({ hotReload: true })\n }\n}\n\nexport const getPayloadHMR = async (options: InitOptions): Promise<Payload> => {\n if (!options?.config) {\n throw new Error('Error: the payload config is required for getPayloadHMR to work.')\n }\n\n if (cached.payload) {\n if (cached.reload === true) {\n let resolve: () => void\n\n // getPayloadHMR is called multiple times, in parallel. However, we only want to run `await reload` once. By immediately setting cached.reload to a promise,\n // we can ensure that all subsequent calls will wait for the first reload to finish. So if we set it here, the 2nd call of getPayloadHMR\n // will reach `if (cached.reload instanceof Promise) {` which then waits for the first reload to finish.\n cached.reload = new Promise((res) => (resolve = res))\n const config = await options.config\n await reload(config, cached.payload)\n\n resolve()\n }\n\n if (cached.reload instanceof Promise) {\n await cached.reload\n }\n\n return cached.payload\n }\n\n if (!cached.promise) {\n // no need to await options.config here, as it's already awaited in the BasePayload.init\n cached.promise = new BasePayload().init(options)\n }\n\n try {\n cached.payload = await cached.promise\n\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n process.env.DISABLE_PAYLOAD_HMR !== 'true'\n ) {\n try {\n const port = process.env.PORT || '3000'\n const ws = new WebSocket(\n `ws://localhost:${port}${process.env.NEXT_BASE_PATH ?? ''}/_next/webpack-hmr`,\n )\n\n ws.onmessage = (event) => {\n if (typeof event.data === 'string') {\n const data = JSON.parse(event.data)\n\n if ('action' in data && data.action === 'serverComponentChanges') {\n cached.reload = true\n }\n }\n }\n } catch (_) {\n // swallow e\n }\n }\n } catch (e) {\n cached.promise = null\n throw e\n }\n\n return cached.payload\n}\n"],"names":["BasePayload","WebSocket","cached","global","_payload","payload","promise","reload","config","db","destroy","collections","reduce","collection","slug","customIDType","globals","typescript","autoGenerate","bin","args","log","init","connect","hotReload","getPayloadHMR","options","Error","resolve","Promise","res","process","env","NODE_ENV","DISABLE_PAYLOAD_HMR","port","PORT","ws","NEXT_BASE_PATH","onmessage","event","data","JSON","parse","action","_","e"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,SAAS,CAAA;AAQtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,eAAO,MAAM,QAAQ,iFAKlB,IAAI,KAAG,OAAO,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,SAAS,CAAA;AAQtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,eAAO,MAAM,QAAQ,iFAKlB,IAAI,KAAG,OAAO,CAAC,cAAc,CA0I/B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { InitPageResult, Locale, PayloadRequest, VisibleEntities } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createLocalReq, isEntityHidden, parseCookies } from 'payload'\nimport qs from 'qs'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { getRequestLanguage } from '../getRequestLanguage.js'\nimport { handleAdminPage } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\n\nexport const initPage = async ({\n config: configPromise,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const payload = await getPayloadHMR({ config: configPromise })\n\n const {\n collections,\n globals,\n i18n: i18nConfig,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n: I18nClient = await initI18n({\n config: i18nConfig,\n context: 'client',\n language,\n })\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n req: {\n host: headers.get('host'),\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequest,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n req.user = user\n\n const localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (error) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) locale = findLocaleFromCode(localization, defaultLocaleCode)\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"names":["initI18n","findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","getRequestLanguage","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","redirectUnauthenticatedUser","route","searchParams","payload","collections","globals","i18n","i18nConfig","localization","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","cookies","language","context","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","permissions","user","auth","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","code","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig"],"mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,kBAAkB,QAAQ,wBAAuB;AAC1D,SAASC,WAAWC,UAAU,QAAQ,kBAAiB;AACvD,SAASC,cAAc,EAAEC,cAAc,EAAEC,YAAY,QAAQ,UAAS;AACtE,OAAOC,QAAQ,KAAI;AAInB,SAASC,aAAa,QAAQ,sBAAqB;AACnD,SAASC,kBAAkB,QAAQ,2BAA0B;AAC7D,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D,OAAO,MAAMC,WAAW,OAAO,EAC7BC,QAAQC,aAAa,EACrBC,8BAA8B,KAAK,EACnCC,KAAK,EACLC,YAAY,EACP;IACL,MAAMf,UAAUC;IAChB,MAAMe,UAAU,MAAMV,cAAc;QAAEK,QAAQC;IAAc;IAE5D,MAAM,EACJK,WAAW,EACXC,OAAO,EACPC,MAAMC,UAAU,EAChBC,YAAY,EACZC,QAAQ,EAAEC,OAAOC,UAAU,EAAE,EAC9B,GAAGR,QAAQL,MAAM;IAElB,MAAMc,cAAc,CAAC,EAAEpB,GAAGqB,SAAS,CAACX,gBAAgB,CAAC,GAAG;QAAEY,gBAAgB;IAAK,GAAG,CAAC;IACnF,MAAMC,UAAUxB,aAAaJ;IAC7B,MAAM6B,WAAWtB,mBAAmB;QAAEI,QAAQK,QAAQL,MAAM;QAAEiB;QAAS5B;IAAQ;IAE/E,MAAMmB,OAAmB,MAAMrB,SAAS;QACtCa,QAAQS;QACRU,SAAS;QACTD;IACF;IAEA,MAAME,kBAAkBC,OAAOC,OAAO,CAACjB,QAAQL,MAAM,CAACQ,IAAI,CAACe,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACzF,CAACC,KAAK,CAACP,UAAUQ,eAAe;QAC9B,IAAIL,OAAOM,IAAI,CAACtB,QAAQL,MAAM,CAACQ,IAAI,CAACe,kBAAkB,EAAEK,QAAQ,CAACV,WAAW;YAC1EO,IAAII,IAAI,CAAC;gBACPC,OAAOJ,eAAeK,YAAY,CAACC,OAAO,CAACC,YAAY;gBACvDC,OAAOhB;YACT;QACF;QAEA,OAAOO;IACT,GACA,EAAE;IAGJ,MAAMU,MAAM,MAAM5C,eAChB;QACE6C,gBAAgB;QAChBD,KAAK;
|
|
1
|
+
{"version":3,"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { InitPageResult, Locale, PayloadRequest, VisibleEntities } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createLocalReq, isEntityHidden, parseCookies } from 'payload'\nimport qs from 'qs'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { getRequestLanguage } from '../getRequestLanguage.js'\nimport { handleAdminPage } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\n\nexport const initPage = async ({\n config: configPromise,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const payload = await getPayloadHMR({ config: configPromise })\n\n const {\n collections,\n globals,\n i18n: i18nConfig,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n: I18nClient = await initI18n({\n config: i18nConfig,\n context: 'client',\n language,\n })\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequest,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n req.user = user\n\n const localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (error) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) locale = findLocaleFromCode(localization, defaultLocaleCode)\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"names":["initI18n","findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","getRequestLanguage","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","redirectUnauthenticatedUser","route","searchParams","payload","collections","globals","i18n","i18nConfig","localization","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","cookies","language","context","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","permissions","user","auth","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","code","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAGf,MAAM,SAAS,CAAA;AAUhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AASrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAGf,MAAM,SAAS,CAAA;AAUhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AASrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAsO7C,CAAA"}
|
|
@@ -127,12 +127,6 @@ export const Document = async ({ initPageResult, params, searchParams })=>{
|
|
|
127
127
|
notFound();
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
const viewComponentProps = {
|
|
131
|
-
initPageResult,
|
|
132
|
-
params,
|
|
133
|
-
routeSegments: segments,
|
|
134
|
-
searchParams
|
|
135
|
-
};
|
|
136
130
|
return /*#__PURE__*/ _jsxs(DocumentInfoProvider, {
|
|
137
131
|
action: action,
|
|
138
132
|
apiURL: apiURL,
|
|
@@ -173,13 +167,14 @@ export const Document = async ({ initPageResult, params, searchParams })=>{
|
|
|
173
167
|
}) : /*#__PURE__*/ _jsx(RenderCustomComponent, {
|
|
174
168
|
CustomComponent: ViewOverride || CustomView,
|
|
175
169
|
DefaultComponent: DefaultView,
|
|
176
|
-
componentProps: viewComponentProps,
|
|
177
170
|
serverOnlyProps: {
|
|
178
171
|
i18n,
|
|
172
|
+
initPageResult,
|
|
179
173
|
locale,
|
|
180
174
|
params,
|
|
181
175
|
payload,
|
|
182
176
|
permissions,
|
|
177
|
+
routeSegments: segments,
|
|
183
178
|
searchParams,
|
|
184
179
|
user
|
|
185
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewComponent,\n AdminViewProps,\n EditViewComponent,\n ServerSideEditViewProps,\n} from 'payload'\n\nimport {\n DocumentInfoProvider,\n EditDepthProvider,\n FormQueryParamsProvider,\n HydrateClientUser,\n} from '@payloadcms/ui'\nimport { RenderCustomComponent, isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport const Document: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n\n let ViewOverride: EditViewComponent\n let CustomView: EditViewComponent\n let DefaultView: EditViewComponent\n let ErrorView: AdminViewComponent\n\n let apiURL: string\n let action: string\n\n const { data, formState } = await getDocumentData({\n id,\n collectionConfig,\n globalConfig,\n locale,\n req,\n })\n\n const { docPermissions, hasPublishPermission, hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data,\n globalConfig,\n req,\n })\n\n if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/${collectionSlug}${isEditing ? `/${id}` : ''}`\n\n const params = new URLSearchParams()\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`\n\n const editConfig = collectionConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/globals/${globalSlug}`\n\n const params = new URLSearchParams({\n locale: locale?.code,\n })\n if (globalConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n\n const editConfig = globalConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n if (shouldAutosave && !validateDraftData && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = `${serverURL}${adminRoute}/collections/${collectionSlug}/${doc.id}`\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n const viewComponentProps: ServerSideEditViewProps = {\n initPageResult,\n params,\n routeSegments: segments,\n searchParams,\n }\n\n return (\n <DocumentInfoProvider\n action={action}\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n disableActions={false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={data}\n initialState={formState}\n isEditing={isEditing}\n >\n {!ViewOverride && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n config={payload.config}\n globalConfig={globalConfig}\n i18n={i18n}\n permissions={permissions}\n />\n )}\n <HydrateClientUser permissions={permissions} user={user} />\n <EditDepthProvider\n depth={1}\n key={`${collectionSlug || globalSlug}${locale?.code ? `-${locale?.code}` : ''}`}\n >\n <FormQueryParamsProvider\n initialParams={{\n depth: 0,\n 'fallback-locale': 'null',\n locale: locale?.code,\n uploadEdits: undefined,\n }}\n >\n {ErrorView ? (\n <ErrorView initPageResult={initPageResult} searchParams={searchParams} />\n ) : (\n <RenderCustomComponent\n CustomComponent={ViewOverride || CustomView}\n DefaultComponent={DefaultView}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n )}\n </FormQueryParamsProvider>\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"names":["DocumentInfoProvider","EditDepthProvider","FormQueryParamsProvider","HydrateClientUser","RenderCustomComponent","isEditing","getIsEditing","notFound","redirect","React","DocumentHeader","NotFoundView","getDocumentData","getDocumentPermissions","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","initPageResult","params","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","ViewOverride","CustomView","DefaultView","ErrorView","apiURL","action","data","formState","docPermissions","hasPublishPermission","hasSavePermission","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","code","apiQueryParams","toString","editConfig","components","views","Edit","collectionViews","routeSegments","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","doc","create","collection","depth","draft","fallbackLocale","redirectURL","viewComponentProps","disableActions","initialData","initialState","initialParams","uploadEdits","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewComponent,\n AdminViewProps,\n EditViewComponent,\n ServerSideEditViewProps,\n} from 'payload'\n\nimport {\n DocumentInfoProvider,\n EditDepthProvider,\n FormQueryParamsProvider,\n HydrateClientUser,\n} from '@payloadcms/ui'\nimport { RenderCustomComponent, isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport const Document: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n\n let ViewOverride: EditViewComponent\n let CustomView: EditViewComponent\n let DefaultView: EditViewComponent\n let ErrorView: AdminViewComponent\n\n let apiURL: string\n let action: string\n\n const { data, formState } = await getDocumentData({\n id,\n collectionConfig,\n globalConfig,\n locale,\n req,\n })\n\n const { docPermissions, hasPublishPermission, hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data,\n globalConfig,\n req,\n })\n\n if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/${collectionSlug}${isEditing ? `/${id}` : ''}`\n\n const params = new URLSearchParams()\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`\n\n const editConfig = collectionConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\n }\n\n action = `${serverURL}${apiRoute}/globals/${globalSlug}`\n\n const params = new URLSearchParams({\n locale: locale?.code,\n })\n if (globalConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n\n const editConfig = globalConfig?.admin?.components?.views?.Edit\n ViewOverride = typeof editConfig === 'function' ? editConfig : null\n\n if (!ViewOverride) {\n const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !ViewOverride && !ErrorView) {\n ErrorView = NotFoundView\n }\n }\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n if (shouldAutosave && !validateDraftData && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = `${serverURL}${adminRoute}/collections/${collectionSlug}/${doc.id}`\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n return (\n <DocumentInfoProvider\n action={action}\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n disableActions={false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={data}\n initialState={formState}\n isEditing={isEditing}\n >\n {!ViewOverride && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n config={payload.config}\n globalConfig={globalConfig}\n i18n={i18n}\n permissions={permissions}\n />\n )}\n <HydrateClientUser permissions={permissions} user={user} />\n <EditDepthProvider\n depth={1}\n key={`${collectionSlug || globalSlug}${locale?.code ? `-${locale?.code}` : ''}`}\n >\n <FormQueryParamsProvider\n initialParams={{\n depth: 0,\n 'fallback-locale': 'null',\n locale: locale?.code,\n uploadEdits: undefined,\n }}\n >\n {ErrorView ? (\n <ErrorView initPageResult={initPageResult} searchParams={searchParams} />\n ) : (\n <RenderCustomComponent\n CustomComponent={ViewOverride || CustomView}\n DefaultComponent={DefaultView}\n serverOnlyProps={{\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n }}\n />\n )}\n </FormQueryParamsProvider>\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"names":["DocumentInfoProvider","EditDepthProvider","FormQueryParamsProvider","HydrateClientUser","RenderCustomComponent","isEditing","getIsEditing","notFound","redirect","React","DocumentHeader","NotFoundView","getDocumentData","getDocumentPermissions","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","initPageResult","params","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","ViewOverride","CustomView","DefaultView","ErrorView","apiURL","action","data","formState","docPermissions","hasPublishPermission","hasSavePermission","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","code","apiQueryParams","toString","editConfig","components","views","Edit","collectionViews","routeSegments","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","doc","create","collection","depth","draft","fallbackLocale","redirectURL","disableActions","initialData","initialState","initialParams","uploadEdits","CustomComponent","DefaultComponent","serverOnlyProps"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,SAAS,CAAA;AAYpD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,SAAS,CAAA;AAYpD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8J7C,CAAA"}
|
package/dist/views/List/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import React, { Fragment } from 'react';
|
|
|
8
8
|
import { DefaultListView } from './Default/index.js';
|
|
9
9
|
export { generateListMetadata } from './meta.js';
|
|
10
10
|
export const ListView = async ({ initPageResult, params, searchParams })=>{
|
|
11
|
-
const { collectionConfig, locale: fullLocale, permissions, req: { i18n, locale, payload, payload: { config }, query, user }, visibleEntities } = initPageResult;
|
|
11
|
+
const { collectionConfig, locale: fullLocale, permissions, req, req: { i18n, locale, payload, payload: { config }, query, user }, visibleEntities } = initPageResult;
|
|
12
12
|
const collectionSlug = collectionConfig?.slug;
|
|
13
13
|
if (!permissions?.collections?.[collectionSlug]?.read?.permission) {
|
|
14
14
|
notFound();
|
|
@@ -20,6 +20,7 @@ export const ListView = async ({ initPageResult, params, searchParams })=>{
|
|
|
20
20
|
collection: 'payload-preferences',
|
|
21
21
|
depth: 0,
|
|
22
22
|
limit: 1,
|
|
23
|
+
req,
|
|
23
24
|
user,
|
|
24
25
|
where: {
|
|
25
26
|
key: {
|
|
@@ -59,6 +60,7 @@ export const ListView = async ({ initPageResult, params, searchParams })=>{
|
|
|
59
60
|
locale,
|
|
60
61
|
overrideAccess: false,
|
|
61
62
|
page,
|
|
63
|
+
req,
|
|
62
64
|
sort,
|
|
63
65
|
user,
|
|
64
66
|
where: whereQuery || {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { AdminViewProps, Where } from 'payload'\n\nimport {\n HydrateClientUser,\n ListInfoProvider,\n ListQueryProvider,\n TableColumnsProvider,\n} from '@payloadcms/ui'\nimport { RenderCustomComponent } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport { createClientCollectionConfig, mergeListSearchAndWhere } from 'payload'\nimport { isNumber, isReactComponentOrFunction } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { DefaultListViewProps, ListPreferences } from './Default/types.js'\n\nimport { DefaultListView } from './Default/index.js'\n\nexport { generateListMetadata } from './meta.js'\n\nexport const ListView: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n notFound()\n }\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n key: {\n equals: preferenceKey,\n },\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (error) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin },\n } = config\n\n if (collectionConfig) {\n const {\n admin: { components: { views: { List: CustomList } = {} } = {} },\n } = collectionConfig\n\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n let CustomListView = null\n\n if (CustomList && typeof CustomList === 'function') {\n CustomListView = CustomList\n } else if (typeof CustomList === 'object' && isReactComponentOrFunction(CustomList.Component)) {\n CustomListView = CustomList.Component\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n query: {\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n },\n })\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort || collectionConfig.defaultSort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n limit,\n locale,\n overrideAccess: false,\n page,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const viewComponentProps: DefaultListViewProps = {\n collectionSlug,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n }\n\n return (\n <Fragment>\n <HydrateClientUser permissions={permissions} user={user} />\n <ListInfoProvider\n collectionConfig={createClientCollectionConfig({\n collection: collectionConfig,\n t: initPageResult.req.i18n.t,\n })}\n collectionSlug={collectionSlug}\n hasCreatePermission={permissions?.collections?.[collectionSlug]?.create?.permission}\n newDocumentURL={`${admin}/collections/${collectionSlug}/create`}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || collectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n modifySearchParams\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n enableRowSelections\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n >\n <RenderCustomComponent\n CustomComponent={CustomListView}\n DefaultComponent={DefaultListView}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n collectionConfig,\n data,\n hasCreatePermission:\n permissions?.collections?.[collectionSlug]?.create?.permission,\n i18n,\n limit,\n listPreferences,\n locale: fullLocale,\n newDocumentURL: `${admin}/collections/${collectionSlug}/create`,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"names":["HydrateClientUser","ListInfoProvider","ListQueryProvider","TableColumnsProvider","RenderCustomComponent","notFound","createClientCollectionConfig","mergeListSearchAndWhere","isNumber","isReactComponentOrFunction","React","Fragment","DefaultListView","generateListMetadata","ListView","initPageResult","params","searchParams","collectionConfig","locale","fullLocale","permissions","req","i18n","payload","config","query","user","visibleEntities","collectionSlug","slug","collections","read","permission","listPreferences","preferenceKey","find","collection","depth","limit","where","key","equals","then","res","docs","value","error","routes","admin","components","views","List","CustomList","includes","CustomListView","Component","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","defaultSort","data","draft","fallbackLocale","overrideAccess","viewComponentProps","listSearchableFields","t","hasCreatePermission","create","newDocumentURL","modifySearchParams","enableRowSelections","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"mappings":";AAEA,SACEA,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,EACjBC,oBAAoB,QACf,iBAAgB;AACvB,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,4BAA4B,EAAEC,uBAAuB,QAAQ,UAAS;AAC/E,SAASC,QAAQ,EAAEC,0BAA0B,QAAQ,iBAAgB;AACrE,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAIvC,SAASC,eAAe,QAAQ,qBAAoB;AAEpD,SAASC,oBAAoB,QAAQ,YAAW;AAEhD,OAAO,MAAMC,WAAqC,OAAO,EACvDC,cAAc,EACdC,MAAM,EACNC,YAAY,EACb;IACC,MAAM,EACJC,gBAAgB,EAChBC,QAAQC,UAAU,EAClBC,WAAW,EACXC,KAAK,EACHC,IAAI,EACJJ,MAAM,EACNK,OAAO,EACPA,SAAS,EAAEC,MAAM,EAAE,EACnBC,KAAK,EACLC,IAAI,EACL,EACDC,eAAe,EAChB,GAAGb;IAEJ,MAAMc,iBAAiBX,kBAAkBY;IAEzC,IAAI,CAACT,aAAaU,aAAa,CAACF,eAAe,EAAEG,MAAMC,YAAY;QACjE5B;IACF;IAEA,IAAI6B;IACJ,MAAMC,gBAAgB,CAAC,EAAEN,eAAe,KAAK,CAAC;IAE9C,IAAI;QACFK,kBAAmB,MAAMV,QACtBY,IAAI,CAAC;YACJC,YAAY;YACZC,OAAO;YACPC,OAAO;
|
|
1
|
+
{"version":3,"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { AdminViewProps, Where } from 'payload'\n\nimport {\n HydrateClientUser,\n ListInfoProvider,\n ListQueryProvider,\n TableColumnsProvider,\n} from '@payloadcms/ui'\nimport { RenderCustomComponent } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport { createClientCollectionConfig, mergeListSearchAndWhere } from 'payload'\nimport { isNumber, isReactComponentOrFunction } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { DefaultListViewProps, ListPreferences } from './Default/types.js'\n\nimport { DefaultListView } from './Default/index.js'\n\nexport { generateListMetadata } from './meta.js'\n\nexport const ListView: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n notFound()\n }\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n key: {\n equals: preferenceKey,\n },\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (error) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin },\n } = config\n\n if (collectionConfig) {\n const {\n admin: { components: { views: { List: CustomList } = {} } = {} },\n } = collectionConfig\n\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n let CustomListView = null\n\n if (CustomList && typeof CustomList === 'function') {\n CustomListView = CustomList\n } else if (typeof CustomList === 'object' && isReactComponentOrFunction(CustomList.Component)) {\n CustomListView = CustomList.Component\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n query: {\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n },\n })\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort || collectionConfig.defaultSort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const viewComponentProps: DefaultListViewProps = {\n collectionSlug,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n }\n\n return (\n <Fragment>\n <HydrateClientUser permissions={permissions} user={user} />\n <ListInfoProvider\n collectionConfig={createClientCollectionConfig({\n collection: collectionConfig,\n t: initPageResult.req.i18n.t,\n })}\n collectionSlug={collectionSlug}\n hasCreatePermission={permissions?.collections?.[collectionSlug]?.create?.permission}\n newDocumentURL={`${admin}/collections/${collectionSlug}/create`}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || collectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n modifySearchParams\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n enableRowSelections\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n >\n <RenderCustomComponent\n CustomComponent={CustomListView}\n DefaultComponent={DefaultListView}\n componentProps={viewComponentProps}\n serverOnlyProps={{\n collectionConfig,\n data,\n hasCreatePermission:\n permissions?.collections?.[collectionSlug]?.create?.permission,\n i18n,\n limit,\n listPreferences,\n locale: fullLocale,\n newDocumentURL: `${admin}/collections/${collectionSlug}/create`,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"names":["HydrateClientUser","ListInfoProvider","ListQueryProvider","TableColumnsProvider","RenderCustomComponent","notFound","createClientCollectionConfig","mergeListSearchAndWhere","isNumber","isReactComponentOrFunction","React","Fragment","DefaultListView","generateListMetadata","ListView","initPageResult","params","searchParams","collectionConfig","locale","fullLocale","permissions","req","i18n","payload","config","query","user","visibleEntities","collectionSlug","slug","collections","read","permission","listPreferences","preferenceKey","find","collection","depth","limit","where","key","equals","then","res","docs","value","error","routes","admin","components","views","List","CustomList","includes","CustomListView","Component","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","defaultSort","data","draft","fallbackLocale","overrideAccess","viewComponentProps","listSearchableFields","t","hasCreatePermission","create","newDocumentURL","modifySearchParams","enableRowSelections","CustomComponent","DefaultComponent","componentProps","serverOnlyProps"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAOhB,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAOhB,eAAO,MAAM,WAAW,EAAE,iBAmIzB,CAAA"}
|
|
@@ -4,7 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import { DefaultVersionView } from './Default/index.js';
|
|
5
5
|
export const VersionView = async (props)=>{
|
|
6
6
|
const { initPageResult, routeSegments } = props;
|
|
7
|
-
const { collectionConfig, docID: id, globalConfig, permissions, req: { payload, payload: { config } = {}, user } = {} } = initPageResult;
|
|
7
|
+
const { collectionConfig, docID: id, globalConfig, permissions, req, req: { payload, payload: { config } = {}, user } = {} } = initPageResult;
|
|
8
8
|
const versionID = routeSegments[routeSegments.length - 1];
|
|
9
9
|
const collectionSlug = collectionConfig?.slug;
|
|
10
10
|
const globalSlug = globalConfig?.slug;
|
|
@@ -25,6 +25,7 @@ export const VersionView = async (props)=>{
|
|
|
25
25
|
depth: 1,
|
|
26
26
|
locale: '*',
|
|
27
27
|
overrideAccess: false,
|
|
28
|
+
req,
|
|
28
29
|
user
|
|
29
30
|
});
|
|
30
31
|
publishedDoc = await payload.findByID({
|
|
@@ -34,6 +35,7 @@ export const VersionView = async (props)=>{
|
|
|
34
35
|
draft: false,
|
|
35
36
|
locale: '*',
|
|
36
37
|
overrideAccess: false,
|
|
38
|
+
req,
|
|
37
39
|
user
|
|
38
40
|
});
|
|
39
41
|
mostRecentDoc = await payload.findByID({
|
|
@@ -43,6 +45,7 @@ export const VersionView = async (props)=>{
|
|
|
43
45
|
draft: true,
|
|
44
46
|
locale: '*',
|
|
45
47
|
overrideAccess: false,
|
|
48
|
+
req,
|
|
46
49
|
user
|
|
47
50
|
});
|
|
48
51
|
} catch (error) {
|
|
@@ -60,6 +63,7 @@ export const VersionView = async (props)=>{
|
|
|
60
63
|
depth: 1,
|
|
61
64
|
locale: '*',
|
|
62
65
|
overrideAccess: false,
|
|
66
|
+
req,
|
|
63
67
|
user
|
|
64
68
|
});
|
|
65
69
|
publishedDoc = await payload.findGlobal({
|
|
@@ -68,6 +72,7 @@ export const VersionView = async (props)=>{
|
|
|
68
72
|
draft: false,
|
|
69
73
|
locale: '*',
|
|
70
74
|
overrideAccess: false,
|
|
75
|
+
req,
|
|
71
76
|
user
|
|
72
77
|
});
|
|
73
78
|
mostRecentDoc = await payload.findGlobal({
|
|
@@ -76,6 +81,7 @@ export const VersionView = async (props)=>{
|
|
|
76
81
|
draft: true,
|
|
77
82
|
locale: '*',
|
|
78
83
|
overrideAccess: false,
|
|
84
|
+
req,
|
|
79
85
|
user
|
|
80
86
|
});
|
|
81
87
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type {\n CollectionPermission,\n Document,\n EditViewComponent,\n GlobalPermission,\n OptionObject,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DefaultVersionView } from './Default/index.js'\n\nexport const VersionView: EditViewComponent = async (props) => {\n const { initPageResult, routeSegments } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req: { payload, payload: { config } = {}, user } = {},\n } = initPageResult\n\n const versionID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const { localization } = config\n\n let docPermissions: CollectionPermission | GlobalPermission\n let slug: string\n\n let doc: Document\n let publishedDoc: Document\n let mostRecentDoc: Document\n\n if (collectionSlug) {\n // /collections/:slug/:id/versions/:versionID\n slug = collectionSlug\n docPermissions = permissions.collections[collectionSlug]\n\n try {\n doc = await payload.findVersionByID({\n id: versionID,\n collection: slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n if (globalSlug) {\n // /globals/:slug/versions/:versionID\n slug = globalSlug\n docPermissions = permissions.globals[globalSlug]\n\n try {\n doc = await payload.findGlobalVersionByID({\n id: versionID,\n slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n publishedDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n user,\n })\n\n mostRecentDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n const localeOptions: OptionObject[] =\n localization &&\n localization?.locales &&\n localization.locales.map(({ code, label }) => ({\n label: typeof label === 'string' ? label : '',\n value: code,\n }))\n\n if (!doc) {\n return notFound()\n }\n\n return (\n <DefaultVersionView\n doc={doc}\n docPermissions={docPermissions}\n initialComparisonDoc={mostRecentDoc}\n localeOptions={localeOptions}\n mostRecentDoc={mostRecentDoc}\n publishedDoc={publishedDoc}\n versionID={versionID}\n />\n )\n}\n"],"names":["notFound","React","DefaultVersionView","VersionView","props","initPageResult","routeSegments","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","user","versionID","length","collectionSlug","slug","globalSlug","localization","docPermissions","doc","publishedDoc","mostRecentDoc","collections","findVersionByID","collection","depth","locale","overrideAccess","findByID","draft","error","globals","findGlobalVersionByID","findGlobal","localeOptions","locales","map","code","label","value","initialComparisonDoc"],"mappings":";AAQA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,OAAO,MAAMC,cAAiC,OAAOC;IACnD,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGF;IAE1C,MAAM,EACJG,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,WAAW,EACXC,KAAK,EAAEC,OAAO,EAAEA,SAAS,EAAEC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EACtD,GAAGV;IAEJ,MAAMW,YAAYV,aAAa,CAACA,cAAcW,MAAM,GAAG,EAAE;IAEzD,MAAMC,iBAAiBX,kBAAkBY;IACzC,MAAMC,aAAaV,cAAcS;IAEjC,MAAM,EAAEE,YAAY,EAAE,GAAGP;IAEzB,IAAIQ;IACJ,IAAIH;IAEJ,IAAII;IACJ,IAAIC;IACJ,IAAIC;IAEJ,IAAIP,gBAAgB;QAClB,6CAA6C;QAC7CC,OAAOD;QACPI,iBAAiBX,YAAYe,WAAW,CAACR,eAAe;QAExD,IAAI;YACFK,MAAM,MAAMV,QAAQc,eAAe,CAAC;gBAClClB,IAAIO;gBACJY,YAAYT;gBACZU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type {\n CollectionPermission,\n Document,\n EditViewComponent,\n GlobalPermission,\n OptionObject,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DefaultVersionView } from './Default/index.js'\n\nexport const VersionView: EditViewComponent = async (props) => {\n const { initPageResult, routeSegments } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req,\n req: { payload, payload: { config } = {}, user } = {},\n } = initPageResult\n\n const versionID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const { localization } = config\n\n let docPermissions: CollectionPermission | GlobalPermission\n let slug: string\n\n let doc: Document\n let publishedDoc: Document\n let mostRecentDoc: Document\n\n if (collectionSlug) {\n // /collections/:slug/:id/versions/:versionID\n slug = collectionSlug\n docPermissions = permissions.collections[collectionSlug]\n\n try {\n doc = await payload.findVersionByID({\n id: versionID,\n collection: slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n publishedDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n mostRecentDoc = await payload.findByID({\n id,\n collection: slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n if (globalSlug) {\n // /globals/:slug/versions/:versionID\n slug = globalSlug\n docPermissions = permissions.globals[globalSlug]\n\n try {\n doc = await payload.findGlobalVersionByID({\n id: versionID,\n slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n publishedDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: false,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n mostRecentDoc = await payload.findGlobal({\n slug,\n depth: 1,\n draft: true,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n } catch (error) {\n return notFound()\n }\n }\n\n const localeOptions: OptionObject[] =\n localization &&\n localization?.locales &&\n localization.locales.map(({ code, label }) => ({\n label: typeof label === 'string' ? label : '',\n value: code,\n }))\n\n if (!doc) {\n return notFound()\n }\n\n return (\n <DefaultVersionView\n doc={doc}\n docPermissions={docPermissions}\n initialComparisonDoc={mostRecentDoc}\n localeOptions={localeOptions}\n mostRecentDoc={mostRecentDoc}\n publishedDoc={publishedDoc}\n versionID={versionID}\n />\n )\n}\n"],"names":["notFound","React","DefaultVersionView","VersionView","props","initPageResult","routeSegments","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","user","versionID","length","collectionSlug","slug","globalSlug","localization","docPermissions","doc","publishedDoc","mostRecentDoc","collections","findVersionByID","collection","depth","locale","overrideAccess","findByID","draft","error","globals","findGlobalVersionByID","findGlobal","localeOptions","locales","map","code","label","value","initialComparisonDoc"],"mappings":";AAQA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,OAAO,MAAMC,cAAiC,OAAOC;IACnD,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGF;IAE1C,MAAM,EACJG,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,WAAW,EACXC,GAAG,EACHA,KAAK,EAAEC,OAAO,EAAEA,SAAS,EAAEC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EACtD,GAAGV;IAEJ,MAAMW,YAAYV,aAAa,CAACA,cAAcW,MAAM,GAAG,EAAE;IAEzD,MAAMC,iBAAiBX,kBAAkBY;IACzC,MAAMC,aAAaV,cAAcS;IAEjC,MAAM,EAAEE,YAAY,EAAE,GAAGP;IAEzB,IAAIQ;IACJ,IAAIH;IAEJ,IAAII;IACJ,IAAIC;IACJ,IAAIC;IAEJ,IAAIP,gBAAgB;QAClB,6CAA6C;QAC7CC,OAAOD;QACPI,iBAAiBX,YAAYe,WAAW,CAACR,eAAe;QAExD,IAAI;YACFK,MAAM,MAAMV,QAAQc,eAAe,CAAC;gBAClClB,IAAIO;gBACJY,YAAYT;gBACZU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEAS,eAAe,MAAMX,QAAQmB,QAAQ,CAAC;gBACpCvB;gBACAmB,YAAYT;gBACZU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEAU,gBAAgB,MAAMZ,QAAQmB,QAAQ,CAAC;gBACrCvB;gBACAmB,YAAYT;gBACZU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;QACF,EAAE,OAAOmB,OAAO;YACd,OAAOlC;QACT;IACF;IAEA,IAAIoB,YAAY;QACd,qCAAqC;QACrCD,OAAOC;QACPE,iBAAiBX,YAAYwB,OAAO,CAACf,WAAW;QAEhD,IAAI;YACFG,MAAM,MAAMV,QAAQuB,qBAAqB,CAAC;gBACxC3B,IAAIO;gBACJG;gBACAU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEAS,eAAe,MAAMX,QAAQwB,UAAU,CAAC;gBACtClB;gBACAU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEAU,gBAAgB,MAAMZ,QAAQwB,UAAU,CAAC;gBACvClB;gBACAU,OAAO;gBACPI,OAAO;gBACPH,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;QACF,EAAE,OAAOmB,OAAO;YACd,OAAOlC;QACT;IACF;IAEA,MAAMsC,gBACJjB,gBACAA,cAAckB,WACdlB,aAAakB,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAM,CAAA;YAC7CA,OAAO,OAAOA,UAAU,WAAWA,QAAQ;YAC3CC,OAAOF;QACT,CAAA;IAEF,IAAI,CAAClB,KAAK;QACR,OAAOvB;IACT;IAEA,qBACE,KAACE;QACCqB,KAAKA;QACLD,gBAAgBA;QAChBsB,sBAAsBnB;QACtBa,eAAeA;QACfb,eAAeA;QACfD,cAAcA;QACdR,WAAWA;;AAGjB,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,SAAS,CAAA;AAU/D,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,aAAa,CAAA;AAEnC,eAAO,MAAM,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,SAAS,CAAA;AAU/D,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,aAAa,CAAA;AAEnC,eAAO,MAAM,YAAY,EAAE,iBAoH1B,CAAA"}
|
|
@@ -9,7 +9,7 @@ import { VersionsViewClient } from './index.client.js';
|
|
|
9
9
|
export const baseClass = 'versions';
|
|
10
10
|
export const VersionsView = async (props)=>{
|
|
11
11
|
const { initPageResult, searchParams } = props;
|
|
12
|
-
const { collectionConfig, docID: id, globalConfig, req: { i18n, payload, payload: { config }, user } } = initPageResult;
|
|
12
|
+
const { collectionConfig, docID: id, globalConfig, req, req: { i18n, payload, payload: { config }, user } } = initPageResult;
|
|
13
13
|
const collectionSlug = collectionConfig?.slug;
|
|
14
14
|
const globalSlug = globalConfig?.slug;
|
|
15
15
|
const { limit, page, sort } = searchParams;
|
|
@@ -25,6 +25,7 @@ export const VersionsView = async (props)=>{
|
|
|
25
25
|
limit: limitToUse,
|
|
26
26
|
overrideAccess: false,
|
|
27
27
|
page: page ? parseInt(page.toString(), 10) : undefined,
|
|
28
|
+
req,
|
|
28
29
|
sort: sort,
|
|
29
30
|
user,
|
|
30
31
|
where: {
|
|
@@ -47,6 +48,7 @@ export const VersionsView = async (props)=>{
|
|
|
47
48
|
limit: limitToUse,
|
|
48
49
|
overrideAccess: false,
|
|
49
50
|
page: page ? parseInt(page, 10) : undefined,
|
|
51
|
+
req,
|
|
50
52
|
sort: sort,
|
|
51
53
|
user
|
|
52
54
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Versions/index.tsx"],"sourcesContent":["import type { EditViewComponent, PaginatedDocs } from 'payload'\n\nimport { Gutter, ListQueryProvider } from '@payloadcms/ui'\nimport { notFound } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { buildVersionColumns } from './buildColumns.js'\nimport { VersionsViewClient } from './index.client.js'\nimport './index.scss'\n\nexport const baseClass = 'versions'\n\nexport const VersionsView: EditViewComponent = async (props) => {\n const { initPageResult, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n const { limit, page, sort } = searchParams\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n let versionsData: PaginatedDocs\n let limitToUse = isNumber(limit) ? Number(limit) : undefined\n\n if (collectionSlug) {\n limitToUse = limitToUse || collectionConfig.admin.pagination.defaultLimit\n try {\n versionsData = await payload.findVersions({\n collection: collectionSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page.toString(), 10) : undefined,\n sort: sort as string,\n user,\n where: {\n parent: {\n equals: id,\n },\n },\n })\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n if (globalSlug) {\n limitToUse = limitToUse || 10\n try {\n versionsData = await payload.findGlobalVersions({\n slug: globalSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page as string, 10) : undefined,\n sort: sort as string,\n user,\n })\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n\n if (!versionsData) {\n return notFound()\n }\n }\n\n const columns = buildVersionColumns({\n collectionConfig,\n config,\n docID: id,\n globalConfig,\n i18n,\n })\n\n const fetchURL = collectionSlug\n ? `${serverURL}${apiRoute}/${collectionSlug}/versions`\n : globalSlug\n ? `${serverURL}${apiRoute}/globals/${globalSlug}/versions`\n : ''\n\n return (\n <React.Fragment>\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural || globalConfig?.label}\n useAsTitle={collectionConfig?.admin?.useAsTitle || globalConfig?.slug}\n view={i18n.t('version:versions')}\n />\n <main className={baseClass}>\n <Gutter className={`${baseClass}__wrap`}>\n <ListQueryProvider\n data={versionsData}\n defaultLimit={limitToUse}\n defaultSort={sort as string}\n modifySearchParams\n >\n <VersionsViewClient\n baseClass={baseClass}\n columns={columns}\n fetchURL={fetchURL}\n paginationLimits={collectionConfig?.admin?.pagination?.limits}\n />\n </ListQueryProvider>\n </Gutter>\n </main>\n </React.Fragment>\n )\n}\n"],"names":["Gutter","ListQueryProvider","notFound","isNumber","React","SetDocumentStepNav","buildVersionColumns","VersionsViewClient","baseClass","VersionsView","props","initPageResult","searchParams","collectionConfig","docID","id","globalConfig","req","i18n","payload","config","user","collectionSlug","slug","globalSlug","limit","page","sort","routes","api","apiRoute","serverURL","versionsData","limitToUse","Number","undefined","admin","pagination","defaultLimit","findVersions","collection","depth","overrideAccess","parseInt","toString","where","parent","equals","error","console","findGlobalVersions","columns","fetchURL","Fragment","pluralLabel","labels","plural","label","useAsTitle","view","t","main","className","data","defaultSort","modifySearchParams","paginationLimits","limits"],"mappings":";AAEA,SAASA,MAAM,EAAEC,iBAAiB,QAAQ,iBAAgB;AAC1D,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,QAAQ,QAAQ,iBAAgB;AACzC,OAAOC,WAAW,QAAO;AAEzB,SAASC,kBAAkB,QAAQ,8CAA6C;AAChF,SAASC,mBAAmB,QAAQ,oBAAmB;AACvD,SAASC,kBAAkB,QAAQ,oBAAmB;AAGtD,OAAO,MAAMC,YAAY,WAAU;AAEnC,OAAO,MAAMC,eAAkC,OAAOC;IACpD,MAAM,EAAEC,cAAc,EAAEC,YAAY,EAAE,GAAGF;IAEzC,MAAM,EACJG,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,KAAK,EACHC,IAAI,EACJC,OAAO,EACPA,SAAS,EAAEC,MAAM,EAAE,EACnBC,IAAI,EACL,EACF,GAAGV;IAEJ,MAAMW,iBAAiBT,kBAAkBU;IACzC,MAAMC,aAAaR,cAAcO;IACjC,MAAM,EAAEE,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGf;IAE9B,MAAM,EACJgB,QAAQ,EAAEC,KAAKC,QAAQ,EAAE,EACzBC,SAAS,EACV,GAAGX;IAEJ,IAAIY;IACJ,IAAIC,aAAa9B,SAASsB,SAASS,OAAOT,SAASU;IAEnD,IAAIb,gBAAgB;QAClBW,aAAaA,cAAcpB,iBAAiBuB,KAAK,CAACC,UAAU,CAACC,YAAY;QACzE,IAAI;YACFN,eAAe,MAAMb,QAAQoB,YAAY,CAAC;gBACxCC,YAAYlB;gBACZmB,OAAO;gBACPhB,OAAOQ;gBACPS,gBAAgB;gBAChBhB,MAAMA,OAAOiB,SAASjB,KAAKkB,QAAQ,IAAI,MAAMT;
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Versions/index.tsx"],"sourcesContent":["import type { EditViewComponent, PaginatedDocs } from 'payload'\n\nimport { Gutter, ListQueryProvider } from '@payloadcms/ui'\nimport { notFound } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport React from 'react'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { buildVersionColumns } from './buildColumns.js'\nimport { VersionsViewClient } from './index.client.js'\nimport './index.scss'\n\nexport const baseClass = 'versions'\n\nexport const VersionsView: EditViewComponent = async (props) => {\n const { initPageResult, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n const { limit, page, sort } = searchParams\n\n const {\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n let versionsData: PaginatedDocs\n let limitToUse = isNumber(limit) ? Number(limit) : undefined\n\n if (collectionSlug) {\n limitToUse = limitToUse || collectionConfig.admin.pagination.defaultLimit\n try {\n versionsData = await payload.findVersions({\n collection: collectionSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page.toString(), 10) : undefined,\n req,\n sort: sort as string,\n user,\n where: {\n parent: {\n equals: id,\n },\n },\n })\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n if (globalSlug) {\n limitToUse = limitToUse || 10\n try {\n versionsData = await payload.findGlobalVersions({\n slug: globalSlug,\n depth: 0,\n limit: limitToUse,\n overrideAccess: false,\n page: page ? parseInt(page as string, 10) : undefined,\n req,\n sort: sort as string,\n user,\n })\n } catch (error) {\n console.error(error) // eslint-disable-line no-console\n }\n\n if (!versionsData) {\n return notFound()\n }\n }\n\n const columns = buildVersionColumns({\n collectionConfig,\n config,\n docID: id,\n globalConfig,\n i18n,\n })\n\n const fetchURL = collectionSlug\n ? `${serverURL}${apiRoute}/${collectionSlug}/versions`\n : globalSlug\n ? `${serverURL}${apiRoute}/globals/${globalSlug}/versions`\n : ''\n\n return (\n <React.Fragment>\n <SetDocumentStepNav\n collectionSlug={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural || globalConfig?.label}\n useAsTitle={collectionConfig?.admin?.useAsTitle || globalConfig?.slug}\n view={i18n.t('version:versions')}\n />\n <main className={baseClass}>\n <Gutter className={`${baseClass}__wrap`}>\n <ListQueryProvider\n data={versionsData}\n defaultLimit={limitToUse}\n defaultSort={sort as string}\n modifySearchParams\n >\n <VersionsViewClient\n baseClass={baseClass}\n columns={columns}\n fetchURL={fetchURL}\n paginationLimits={collectionConfig?.admin?.pagination?.limits}\n />\n </ListQueryProvider>\n </Gutter>\n </main>\n </React.Fragment>\n )\n}\n"],"names":["Gutter","ListQueryProvider","notFound","isNumber","React","SetDocumentStepNav","buildVersionColumns","VersionsViewClient","baseClass","VersionsView","props","initPageResult","searchParams","collectionConfig","docID","id","globalConfig","req","i18n","payload","config","user","collectionSlug","slug","globalSlug","limit","page","sort","routes","api","apiRoute","serverURL","versionsData","limitToUse","Number","undefined","admin","pagination","defaultLimit","findVersions","collection","depth","overrideAccess","parseInt","toString","where","parent","equals","error","console","findGlobalVersions","columns","fetchURL","Fragment","pluralLabel","labels","plural","label","useAsTitle","view","t","main","className","data","defaultSort","modifySearchParams","paginationLimits","limits"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/next",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.59",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
"sass": "1.77.4",
|
|
63
63
|
"sonner": "^1.5.0",
|
|
64
64
|
"ws": "^8.16.0",
|
|
65
|
-
"@payloadcms/graphql": "3.0.0-beta.
|
|
66
|
-
"@payloadcms/
|
|
67
|
-
"@payloadcms/
|
|
65
|
+
"@payloadcms/graphql": "3.0.0-beta.59",
|
|
66
|
+
"@payloadcms/translations": "3.0.0-beta.59",
|
|
67
|
+
"@payloadcms/ui": "3.0.0-beta.59"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@next/eslint-plugin-next": "^14.1.0",
|
|
@@ -83,13 +83,13 @@
|
|
|
83
83
|
"terser-webpack-plugin": "^5.3.10",
|
|
84
84
|
"webpack": "^5.78.0",
|
|
85
85
|
"webpack-cli": "^5.1.4",
|
|
86
|
-
"
|
|
87
|
-
"
|
|
86
|
+
"payload": "3.0.0-beta.59",
|
|
87
|
+
"@payloadcms/eslint-config": "1.1.1"
|
|
88
88
|
},
|
|
89
89
|
"peerDependencies": {
|
|
90
90
|
"graphql": "^16.8.1",
|
|
91
|
-
"next": "^15.0.0-
|
|
92
|
-
"payload": "3.0.0-beta.
|
|
91
|
+
"next": "^15.0.0-canary.53",
|
|
92
|
+
"payload": "3.0.0-beta.59"
|
|
93
93
|
},
|
|
94
94
|
"engines": {
|
|
95
95
|
"node": "^18.20.2 || >=20.9.0"
|