@payloadcms/ui 3.0.0-beta.77 → 3.0.0-beta.78
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/elements/AppHeader/index.scss +5 -3
- package/dist/elements/Card/index.scss +3 -3
- package/dist/elements/Collapsible/index.scss +4 -1
- package/dist/elements/DeleteDocument/index.scss +1 -0
- package/dist/elements/DeleteMany/index.scss +1 -0
- package/dist/elements/DocumentControls/index.scss +18 -7
- package/dist/elements/DuplicateDocument/index.scss +1 -0
- package/dist/elements/EditMany/index.scss +4 -10
- package/dist/elements/GenerateConfirmation/index.scss +1 -0
- package/dist/elements/ListControls/index.scss +14 -5
- package/dist/elements/ListDrawer/index.scss +4 -4
- package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +5 -4
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.scss +6 -0
- package/dist/elements/PublishMany/index.scss +1 -0
- package/dist/elements/Status/index.scss +1 -0
- package/dist/elements/StayLoggedIn/index.scss +1 -0
- package/dist/elements/StepNav/index.scss +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.scss +1 -0
- package/dist/exports/client/index.js +7 -7
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Blocks/SectionTitle/index.scss +12 -2
- package/dist/fields/Blocks/index.scss +1 -0
- package/dist/providers/DocumentInfo/index.js +15 -15
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/scss/app.scss +4 -4
- package/dist/scss/type.scss +1 -0
- package/dist/scss/vars.scss +1 -1
- package/dist/styles.css +1 -1
- package/package.json +5 -5
|
@@ -2,15 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
.section-title {
|
|
4
4
|
position: relative;
|
|
5
|
-
|
|
5
|
+
width: 100%;
|
|
6
|
+
max-width: 100%;
|
|
6
7
|
pointer-events: all;
|
|
8
|
+
display: flex;
|
|
9
|
+
overflow: hidden;
|
|
7
10
|
|
|
8
11
|
&:after {
|
|
9
12
|
display: block;
|
|
10
13
|
content: attr(data-value) ' ';
|
|
11
14
|
visibility: hidden;
|
|
12
15
|
white-space: nowrap;
|
|
13
|
-
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
text-overflow: ellipsis;
|
|
18
|
+
max-width: 100%;
|
|
14
19
|
}
|
|
15
20
|
|
|
16
21
|
&:after,
|
|
@@ -19,13 +24,18 @@
|
|
|
19
24
|
font-weight: 600;
|
|
20
25
|
font-size: base(0.625);
|
|
21
26
|
padding: 0;
|
|
27
|
+
width: 100%;
|
|
22
28
|
}
|
|
23
29
|
|
|
24
30
|
&__input {
|
|
25
31
|
color: var(--theme-elevation-800);
|
|
26
32
|
background-color: transparent;
|
|
27
33
|
border: none;
|
|
34
|
+
min-width: min-content;
|
|
28
35
|
width: 100%;
|
|
36
|
+
max-width: 100%;
|
|
37
|
+
overflow: hidden;
|
|
38
|
+
white-space: nowrap;
|
|
29
39
|
text-overflow: ellipsis;
|
|
30
40
|
resize: none;
|
|
31
41
|
appearance: none;
|
|
@@ -210,22 +210,24 @@ const DocumentInfo = ({ children, ...props })=>{
|
|
|
210
210
|
const docAccessURL = collectionSlug ? `/${collectionSlug}/access/${idToUse}` : globalSlug ? `/globals/${globalSlug}/access` : null;
|
|
211
211
|
if (docAccessURL) {
|
|
212
212
|
const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {
|
|
213
|
+
body: JSON.stringify(data),
|
|
213
214
|
credentials: 'include',
|
|
214
215
|
headers: {
|
|
215
|
-
'Accept-Language': i18n.language
|
|
216
|
-
|
|
216
|
+
'Accept-Language': i18n.language,
|
|
217
|
+
'Content-Type': 'application/json'
|
|
218
|
+
},
|
|
219
|
+
method: 'post'
|
|
217
220
|
});
|
|
218
221
|
const json = await res.json();
|
|
219
222
|
const publishedAccessJSON = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {
|
|
220
223
|
body: JSON.stringify({
|
|
221
|
-
data
|
|
222
|
-
|
|
223
|
-
_status: 'published'
|
|
224
|
-
}
|
|
224
|
+
...data || {},
|
|
225
|
+
_status: 'published'
|
|
225
226
|
}),
|
|
226
227
|
credentials: 'include',
|
|
227
228
|
headers: {
|
|
228
|
-
'Accept-Language': i18n.language
|
|
229
|
+
'Accept-Language': i18n.language,
|
|
230
|
+
'Content-Type': 'application/json'
|
|
229
231
|
},
|
|
230
232
|
method: 'POST'
|
|
231
233
|
}).then((res)=>res.json());
|
|
@@ -348,7 +350,9 @@ const DocumentInfo = ({ children, ...props })=>{
|
|
|
348
350
|
serverURL,
|
|
349
351
|
signal: abortController.signal
|
|
350
352
|
});
|
|
351
|
-
|
|
353
|
+
const data = reduceFieldsToValues(result, true);
|
|
354
|
+
setData(data);
|
|
355
|
+
if (localeChanged) void getDocPermissions(data);
|
|
352
356
|
setInitialState(result);
|
|
353
357
|
} catch (err) {
|
|
354
358
|
if (!abortController.signal.aborted) {
|
|
@@ -380,7 +384,8 @@ const DocumentInfo = ({ children, ...props })=>{
|
|
|
380
384
|
locale,
|
|
381
385
|
onLoadError,
|
|
382
386
|
initialDataFromProps,
|
|
383
|
-
initialStateFromProps
|
|
387
|
+
initialStateFromProps,
|
|
388
|
+
getDocPermissions
|
|
384
389
|
]);
|
|
385
390
|
useEffect(()=>{
|
|
386
391
|
void getVersions();
|
|
@@ -408,12 +413,8 @@ const DocumentInfo = ({ children, ...props })=>{
|
|
|
408
413
|
globalConfig
|
|
409
414
|
]);
|
|
410
415
|
useEffect(()=>{
|
|
411
|
-
const localeChanged = locale !== prevLocalePermissions.current;
|
|
412
416
|
if (data && (collectionSlug || globalSlug)) {
|
|
413
|
-
if (
|
|
414
|
-
prevLocalePermissions.current = locale;
|
|
415
|
-
void getDocPermissions(data);
|
|
416
|
-
} else if (hasInitializedDocPermissions.current === false && (!docPermissions || hasSavePermission === undefined || hasSavePermission === null || hasPublishPermission === undefined || hasPublishPermission === null)) {
|
|
417
|
+
if (hasInitializedDocPermissions.current === false && (!docPermissions || hasSavePermission === undefined || hasSavePermission === null || hasPublishPermission === undefined || hasPublishPermission === null)) {
|
|
417
418
|
hasInitializedDocPermissions.current = true;
|
|
418
419
|
void getDocPermissions(data);
|
|
419
420
|
}
|
|
@@ -427,7 +428,6 @@ const DocumentInfo = ({ children, ...props })=>{
|
|
|
427
428
|
collectionSlug,
|
|
428
429
|
globalSlug,
|
|
429
430
|
data,
|
|
430
|
-
locale,
|
|
431
431
|
docPermissions,
|
|
432
432
|
hasSavePermission,
|
|
433
433
|
hasPublishPermission
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n const hasInitializedDocPermissions = useRef(false)\n // Separate locale cache used for handling permissions\n const prevLocalePermissions = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const idToUse = data?.id || id\n const newIsEditing = getIsEditing({ id: idToUse, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${idToUse}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n data: {\n ...(data || {}),\n _status: 'published',\n },\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, id, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const localeChanged = locale !== prevLocalePermissions.current\n\n if (data && (collectionSlug || globalSlug)) {\n if (localeChanged) {\n prevLocalePermissions.current = locale\n void getDocPermissions(data)\n } else if (\n hasInitializedDocPermissions.current === false &&\n (!docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null)\n ) {\n hasInitializedDocPermissions.current = true\n void getDocPermissions(data)\n }\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n locale,\n docPermissions,\n hasSavePermission,\n hasPublishPermission,\n ])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","hasInitializedDocPermissions","prevLocalePermissions","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","idToUse","newIsEditing","docAccessURL","publishedAccessJSON","body","JSON","method","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","action","useMemo","docURL","addQueryPrefix","value","title","Provider","DocumentInfoProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n const hasInitializedDocPermissions = useRef(false)\n // Separate locale cache used for handling permissions\n const prevLocalePermissions = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const idToUse = data?.id || id\n const newIsEditing = getIsEditing({ id: idToUse, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${idToUse}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n ...(data || {}),\n _status: 'published',\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, id, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n const data = reduceFieldsToValues(result, true)\n setData(data)\n\n if (localeChanged) void getDocPermissions(data)\n\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n try {\n abortController.abort()\n } catch (error) {\n // swallow error\n }\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n getDocPermissions,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n if (data && (collectionSlug || globalSlug)) {\n if (\n hasInitializedDocPermissions.current === false &&\n (!docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null)\n ) {\n hasInitializedDocPermissions.current = true\n void getDocPermissions(data)\n }\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n docPermissions,\n hasSavePermission,\n hasPublishPermission,\n ])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","hasInitializedDocPermissions","prevLocalePermissions","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","idToUse","newIsEditing","docAccessURL","body","JSON","method","publishedAccessJSON","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","action","useMemo","docURL","addQueryPrefix","value","title","Provider","DocumentInfoProvider"],"mappings":"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"}
|
package/dist/scss/app.scss
CHANGED
|
@@ -38,19 +38,19 @@
|
|
|
38
38
|
|
|
39
39
|
--gutter-h: #{base(3)};
|
|
40
40
|
--spacing-view-bottom: var(--gutter-h);
|
|
41
|
-
--
|
|
42
|
-
--
|
|
41
|
+
--doc-controls-height: calc(var(--base) * 2.8);
|
|
42
|
+
--app-header-height: calc(var(--base) * 2.8);
|
|
43
43
|
--nav-width: 275px;
|
|
44
44
|
--nav-trans-time: 150ms;
|
|
45
45
|
|
|
46
46
|
@include mid-break {
|
|
47
47
|
--gutter-h: #{base(2)};
|
|
48
|
-
--app-header-height: calc(var(--base) * 2);
|
|
48
|
+
--app-header-height: calc(var(--base) * 2.8);
|
|
49
49
|
--doc-controls-height: calc(var(--base) * 2.5);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
@include small-break {
|
|
53
|
-
--gutter-h: #{base(0.
|
|
53
|
+
--gutter-h: #{base(0.8)};
|
|
54
54
|
--spacing-view-bottom: calc(var(--base) * 2);
|
|
55
55
|
--nav-width: 100vw;
|
|
56
56
|
}
|
package/dist/scss/type.scss
CHANGED
package/dist/scss/vars.scss
CHANGED
|
@@ -18,7 +18,7 @@ $baseline-body-size: 13px !default;
|
|
|
18
18
|
$baseline: math.div($baseline-px, $baseline-body-size) + rem;
|
|
19
19
|
|
|
20
20
|
@function base($multiplier) {
|
|
21
|
-
@return (
|
|
21
|
+
@return ($baseline-px * $multiplier);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
//////////////////////////////
|