@payloadcms/ui 3.0.0-beta.60 → 3.0.0-beta.61
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/ArrayAction/index.d.ts +0 -14
- package/dist/elements/CodeEditor/types.d.ts +2 -2
- package/dist/elements/CodeEditor/types.d.ts.map +1 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/DatePicker/types.d.ts +2 -2
- package/dist/elements/DatePicker/types.d.ts.map +1 -1
- package/dist/elements/DatePicker/types.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +4 -4
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts +2 -2
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +4 -4
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/Drawer/types.d.ts +2 -2
- package/dist/elements/Drawer/types.d.ts.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/Dropzone/index.d.ts +1 -0
- package/dist/elements/Dropzone/index.d.ts.map +1 -1
- package/dist/elements/Dropzone/index.js +8 -1
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts +2 -2
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.d.ts +2 -2
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/Pill/index.d.ts +2 -2
- package/dist/elements/Pill/index.d.ts.map +1 -1
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.d.ts +4 -4
- package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +16 -0
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +0 -1
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -2
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +2 -2
- package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +0 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +1 -1
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +0 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +0 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.d.ts +2 -2
- package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +94 -7
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/index.scss +6 -3
- package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -1
- package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
- package/dist/exports/client/{CodeEditor-UTZFZWZG.js → CodeEditor-OI35YO7H.js} +1 -1
- package/dist/exports/client/{CodeEditor-UTZFZWZG.js.map → CodeEditor-OI35YO7H.js.map} +1 -1
- package/dist/exports/client/{DatePicker-SFJJWFZ5.js → DatePicker-5IFHNQHA.js} +2 -2
- package/dist/exports/client/chunk-WDFUZ6GL.js +30 -0
- package/dist/exports/client/{chunk-IF2WZON3.js.map → chunk-WDFUZ6GL.js.map} +4 -4
- package/dist/exports/client/index.js +6 -6
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts +2 -2
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +2 -2
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +2 -2
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +2 -2
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/types.d.ts +2 -2
- package/dist/fields/Checkbox/types.d.ts.map +1 -1
- package/dist/fields/Checkbox/types.js.map +1 -1
- package/dist/fields/Code/index.d.ts +2 -2
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +1 -1
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +2 -2
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +2 -2
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +1 -1
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts +2 -2
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +2 -2
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.d.ts +2 -2
- package/dist/fields/Hidden/index.d.ts.map +1 -1
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts +2 -2
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts +2 -2
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +1 -3
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +2 -2
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Point/index.d.ts +2 -2
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +1 -1
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts +2 -2
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +1 -1
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +2 -2
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/RichText/index.d.ts +2 -2
- package/dist/fields/RichText/index.d.ts.map +1 -1
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Row/types.d.ts +2 -2
- package/dist/fields/Row/types.d.ts.map +1 -1
- package/dist/fields/Row/types.js.map +1 -1
- package/dist/fields/Select/Input.d.ts +2 -2
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts +2 -2
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +1 -1
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +2 -2
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +4 -4
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +1 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.d.ts +4 -4
- package/dist/fields/Textarea/types.d.ts.map +1 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts +2 -2
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/types.d.ts +2 -2
- package/dist/fields/Upload/types.d.ts.map +1 -1
- package/dist/fields/Upload/types.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +1 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +7 -7
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.d.ts +2 -2
- package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js +1 -1
- package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts +2 -2
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
- package/dist/hooks/useHotkey.js +1 -1
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.js +1 -1
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
- package/dist/hooks/useThrottledEffect.js +1 -1
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/actions.js +3 -3
- package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.js +8 -8
- package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js +2 -2
- package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +2 -2
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts +2 -2
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +6 -6
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/ListInfo/index.d.ts +2 -2
- package/dist/providers/ListInfo/index.d.ts.map +1 -1
- package/dist/providers/ListInfo/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts +2 -2
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/api.d.ts +2 -2
- package/dist/utilities/api.d.ts.map +1 -1
- package/dist/utilities/api.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +0 -2
- package/dist/utilities/buildFormState.js.map +1 -1
- package/package.json +13 -20
- package/dist/exports/client/chunk-IF2WZON3.js +0 -30
- /package/dist/exports/client/{DatePicker-SFJJWFZ5.js.map → DatePicker-5IFHNQHA.js.map} +0 -0
|
@@ -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'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nexport const DocumentInfoProvider: React.FC<\n DocumentInfoProps & {\n children: React.ReactNode\n }\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 [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 hasInitializedDocPermissions = useRef(false)\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\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\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 newIsEditing = getIsEditing({ id: data?.id, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${data.id}`\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, 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 abortController.abort()\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 loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = docPermissionsFromProps\n const hasSavePermission: boolean = hasSavePermissionFromProps\n const hasPublishPermission: boolean = hasPublishPermissionFromProps\n\n if (\n !docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null\n ) {\n await getDocPermissions(data)\n }\n }\n\n if (!hasInitializedDocPermissions.current && data && (collectionSlug || globalSlug)) {\n hasInitializedDocPermissions.current = true\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n ])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\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"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","Context","useDocumentInfo","DocumentInfoProvider","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","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","hasInitializedDocPermissions","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","versionsConfig","baseURL","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","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","loadDocPermissions","value","title","Provider"],"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'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nexport const DocumentInfoProvider: 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 [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 hasInitializedDocPermissions = useRef(false)\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\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\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 newIsEditing = getIsEditing({ id: data?.id, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${data.id}`\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, 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 abortController.abort()\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 loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = docPermissionsFromProps\n const hasSavePermission: boolean = hasSavePermissionFromProps\n const hasPublishPermission: boolean = hasPublishPermissionFromProps\n\n if (\n !docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null\n ) {\n await getDocPermissions(data)\n }\n }\n\n if (!hasInitializedDocPermissions.current && data && (collectionSlug || globalSlug)) {\n hasInitializedDocPermissions.current = true\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n ])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\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"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","Context","useDocumentInfo","DocumentInfoProvider","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","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","hasInitializedDocPermissions","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","versionsConfig","baseURL","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","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","loadDocPermissions","value","title","Provider"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ export type DocumentInfoProps = {
|
|
|
21
21
|
onLoadError?: (data?: any) => Promise<void> | void;
|
|
22
22
|
onSave?: (data: Data) => Promise<void> | void;
|
|
23
23
|
};
|
|
24
|
-
export type DocumentInfoContext =
|
|
24
|
+
export type DocumentInfoContext = {
|
|
25
25
|
docConfig?: ClientCollectionConfig | ClientGlobalConfig;
|
|
26
26
|
getDocPermissions: (data?: Data) => Promise<void>;
|
|
27
27
|
getDocPreferences: () => Promise<DocumentPreferences>;
|
|
@@ -31,17 +31,17 @@ export type DocumentInfoContext = DocumentInfoProps & {
|
|
|
31
31
|
isInitializing: boolean;
|
|
32
32
|
isLoading: boolean;
|
|
33
33
|
preferencesKey?: string;
|
|
34
|
-
publishedDoc?:
|
|
34
|
+
publishedDoc?: {
|
|
35
35
|
_status?: string;
|
|
36
|
-
};
|
|
37
|
-
setDocFieldPreferences: (field: string, fieldPreferences:
|
|
36
|
+
} & TypeWithID & TypeWithTimestamps;
|
|
37
|
+
setDocFieldPreferences: (field: string, fieldPreferences: {
|
|
38
38
|
[key: string]: unknown;
|
|
39
|
-
}) => void;
|
|
39
|
+
} & Partial<InsideFieldsPreferences>) => void;
|
|
40
40
|
setDocumentTitle: (title: string) => void;
|
|
41
41
|
slug?: string;
|
|
42
42
|
title: string;
|
|
43
43
|
unpublishedVersions?: PaginatedDocs<TypeWithVersion<any>>;
|
|
44
44
|
versions?: PaginatedDocs<TypeWithVersion<any>>;
|
|
45
45
|
versionsCount?: PaginatedDocs<TypeWithVersion<any>>;
|
|
46
|
-
};
|
|
46
|
+
} & DocumentInfoProps;
|
|
47
47
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,IAAI,EACJ,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,IAAI,EACJ,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,sBAAsB,GAAG,kBAAkB,CAAA;IACvD,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,iBAAiB,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACrD,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,WAAW,EAAE,IAAI,CAAA;IACjB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,GAAG,kBAAkB,CAAA;IACrE,sBAAsB,EAAE,CACtB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,KAC5E,IAAI,CAAA;IACT,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,mBAAmB,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,QAAQ,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9C,aAAa,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAA;CACpD,GAAG,iBAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n} from 'payload'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n AfterDocument?: React.ReactNode\n AfterFields?: React.ReactNode\n BeforeDocument?: React.ReactNode\n BeforeFields?: React.ReactNode\n action?: string\n apiURL?: string\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableActions?: boolean\n disableLeaveWithoutSaving?: boolean\n docPermissions?: DocumentPermissions\n globalSlug?: SanitizedGlobalConfig['slug']\n hasPublishPermission?: boolean\n hasSavePermission?: boolean\n id: null | number | string\n initialData?: Data\n initialState?: FormState\n isEditing?: boolean\n onLoadError?: (data?: any) => Promise<void> | void\n onSave?: (data: Data) => Promise<void> | void\n}\n\nexport type DocumentInfoContext =
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n} from 'payload'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n AfterDocument?: React.ReactNode\n AfterFields?: React.ReactNode\n BeforeDocument?: React.ReactNode\n BeforeFields?: React.ReactNode\n action?: string\n apiURL?: string\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableActions?: boolean\n disableLeaveWithoutSaving?: boolean\n docPermissions?: DocumentPermissions\n globalSlug?: SanitizedGlobalConfig['slug']\n hasPublishPermission?: boolean\n hasSavePermission?: boolean\n id: null | number | string\n initialData?: Data\n initialState?: FormState\n isEditing?: boolean\n onLoadError?: (data?: any) => Promise<void> | void\n onSave?: (data: Data) => Promise<void> | void\n}\n\nexport type DocumentInfoContext = {\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n getVersions: () => Promise<void>\n initialData: Data\n initialState?: FormState\n isInitializing: boolean\n isLoading: boolean\n preferencesKey?: string\n publishedDoc?: { _status?: string } & TypeWithID & TypeWithTimestamps\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: { [key: string]: unknown } & Partial<InsideFieldsPreferences>,\n ) => void\n setDocumentTitle: (title: string) => void\n slug?: string\n title: string\n unpublishedVersions?: PaginatedDocs<TypeWithVersion<any>>\n versions?: PaginatedDocs<TypeWithVersion<any>>\n versionsCount?: PaginatedDocs<TypeWithVersion<any>>\n} & DocumentInfoProps\n"],"names":[],"mappings":"AAuCA,WAqBqB"}
|
|
@@ -17,7 +17,7 @@ export type ListInfoContext = {
|
|
|
17
17
|
newDocumentURL: string;
|
|
18
18
|
};
|
|
19
19
|
export declare const useListInfo: () => ListInfoContext;
|
|
20
|
-
export declare const ListInfoProvider: React.FC<
|
|
20
|
+
export declare const ListInfoProvider: React.FC<{
|
|
21
21
|
children: React.ReactNode;
|
|
22
|
-
}>;
|
|
22
|
+
} & ListInfoProps>;
|
|
23
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListInfo/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAE1F,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAE3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,gBAAgB,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAID,eAAO,MAAM,WAAW,QAAO,eAAsC,CAAA;AAErE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CACrC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListInfo/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAE1F,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAE3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,gBAAgB,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAID,eAAO,MAAM,WAAW,QAAO,eAAsC,CAAA;AAErE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CACrC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,aAAa,CAGlB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/ListInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig, FieldAffectingData, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\nexport type ListInfoProps = {\n Header?: React.ReactNode\n collectionConfig: ClientConfig['collections'][0]\n collectionSlug: SanitizedCollectionConfig['slug']\n hasCreatePermission: boolean\n newDocumentURL: string\n titleField?: FieldAffectingData\n}\n\nexport type ListInfoContext = {\n Header?: React.ReactNode\n collectionSlug: string\n hasCreatePermission: boolean\n newDocumentURL: string\n}\n\nconst Context = createContext({} as ListInfoContext)\n\nexport const useListInfo = (): ListInfoContext => useContext(Context)\n\nexport const ListInfoProvider: React.FC<\n
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/ListInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig, FieldAffectingData, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\nexport type ListInfoProps = {\n Header?: React.ReactNode\n collectionConfig: ClientConfig['collections'][0]\n collectionSlug: SanitizedCollectionConfig['slug']\n hasCreatePermission: boolean\n newDocumentURL: string\n titleField?: FieldAffectingData\n}\n\nexport type ListInfoContext = {\n Header?: React.ReactNode\n collectionSlug: string\n hasCreatePermission: boolean\n newDocumentURL: string\n}\n\nconst Context = createContext({} as ListInfoContext)\n\nexport const useListInfo = (): ListInfoContext => useContext(Context)\n\nexport const ListInfoProvider: React.FC<\n {\n children: React.ReactNode\n } & ListInfoProps\n> = ({ children, ...props }) => {\n return <Context.Provider value={props}>{children}</Context.Provider>\n}\n"],"names":["React","createContext","useContext","Context","useListInfo","ListInfoProvider","children","props","Provider","value"],"mappings":"AAAA;;AAGA,OAAOA,SAASC,aAAa,EAAEC,UAAU,QAAQ,QAAO;AAsBxD,MAAMC,wBAAUF,cAAc,CAAC;AAE/B,OAAO,MAAMG,cAAc,IAAuBF,WAAWC,SAAQ;AAErE,OAAO,MAAME,mBAIT,CAAC,EAAEC,QAAQ,EAAE,GAAGC,OAAO;IACzB,qBAAO,KAACJ,QAAQK,QAAQ;QAACC,OAAOF;kBAAQD;;AAC1C,EAAC"}
|
|
@@ -17,12 +17,12 @@ export type ListQueryProps = {
|
|
|
17
17
|
modifySearchParams?: boolean;
|
|
18
18
|
preferenceKey?: string;
|
|
19
19
|
} & Handlers;
|
|
20
|
-
export type ListQueryContext =
|
|
20
|
+
export type ListQueryContext = {
|
|
21
21
|
data: PaginatedDocs;
|
|
22
22
|
defaultLimit?: number;
|
|
23
23
|
defaultSort?: string;
|
|
24
24
|
refineListData: (args: RefineOverrides) => void;
|
|
25
|
-
};
|
|
25
|
+
} & Handlers;
|
|
26
26
|
export declare const useListQuery: () => ListQueryContext;
|
|
27
27
|
type RefineOverrides = {
|
|
28
28
|
limit?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAK3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,KAAK,QAAQ,GAAG;IACd,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,QAAQ,CAAA;AAEZ,MAAM,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAK3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,KAAK,QAAQ,GAAG;IACd,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,QAAQ,CAAA;AAEZ,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;CAChD,GAAG,QAAQ,CAAA;AAIZ,eAAO,MAAM,YAAY,QAAO,gBAAuC,CAAA;AAEvE,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAqItD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { useRouter } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\ntype Handlers = {\n handlePageChange?: (page: number) => void\n handlePerPageChange?: (limit: number) => void\n handleSearchChange?: (search: string) => void\n handleSortChange?: (sort: string) => void\n handleWhereChange?: (where: Where) => void\n}\n\nexport type ListQueryProps = {\n children: React.ReactNode\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n modifySearchParams?: boolean\n preferenceKey?: string\n} & Handlers\n\nexport type ListQueryContext =
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { useRouter } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useContext } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nimport { usePreferences } from '../Preferences/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\ntype Handlers = {\n handlePageChange?: (page: number) => void\n handlePerPageChange?: (limit: number) => void\n handleSearchChange?: (search: string) => void\n handleSortChange?: (sort: string) => void\n handleWhereChange?: (where: Where) => void\n}\n\nexport type ListQueryProps = {\n children: React.ReactNode\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n modifySearchParams?: boolean\n preferenceKey?: string\n} & Handlers\n\nexport type ListQueryContext = {\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: string\n refineListData: (args: RefineOverrides) => void\n} & Handlers\n\nconst Context = createContext({} as ListQueryContext)\n\nexport const useListQuery = (): ListQueryContext => useContext(Context)\n\ntype RefineOverrides = {\n limit?: string\n page?: string\n search?: string\n sort?: string\n where?: Where\n}\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n data,\n defaultLimit,\n defaultSort,\n handlePageChange: handlePageChangeFromProps,\n handlePerPageChange: handlePerPageChangeFromProps,\n handleSearchChange: handleSearchChangeFromProps,\n handleSortChange: handleSortChangeFromProps,\n handleWhereChange: handleWhereChangeFromProps,\n modifySearchParams,\n preferenceKey,\n}) => {\n const router = useRouter()\n const { setPreference } = usePreferences()\n const hasSetInitialParams = React.useRef(false)\n const { searchParams: currentQuery } = useSearchParams()\n\n const refineListData = React.useCallback(\n async (query: RefineOverrides) => {\n if (!modifySearchParams) return\n\n const updatedPreferences: Record<string, unknown> = {}\n let updatePreferences = false\n\n if ('limit' in query) {\n updatedPreferences.limit = query.limit\n updatePreferences = true\n }\n if ('sort' in query) {\n updatedPreferences.sort = query.sort\n updatePreferences = true\n }\n if (updatePreferences && preferenceKey) {\n await setPreference(preferenceKey, updatedPreferences)\n }\n\n const params = {\n limit: 'limit' in query ? query.limit : currentQuery?.limit,\n page: 'page' in query ? query.page : currentQuery?.page,\n search: 'search' in query ? query.search : currentQuery?.search,\n sort: 'sort' in query ? query.sort : currentQuery?.sort,\n where: 'where' in query ? query.where : currentQuery?.where,\n }\n\n router.replace(`${qs.stringify(params, { addQueryPrefix: true })}`)\n },\n [preferenceKey, modifySearchParams, router, setPreference, currentQuery],\n )\n\n const handlePageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePageChangeFromProps === 'function') {\n handlePageChangeFromProps(arg)\n }\n await refineListData({ page: String(arg) })\n },\n [refineListData, handlePageChangeFromProps],\n )\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n if (typeof handlePerPageChangeFromProps === 'function') {\n handlePerPageChangeFromProps(arg)\n }\n await refineListData({ limit: String(arg) })\n },\n [refineListData, handlePerPageChangeFromProps],\n )\n const handleSearchChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSearchChangeFromProps === 'function') {\n handleSearchChangeFromProps(arg)\n }\n await refineListData({ search: arg })\n },\n [refineListData, handleSearchChangeFromProps],\n )\n const handleSortChange = React.useCallback(\n async (arg: string) => {\n if (typeof handleSortChangeFromProps === 'function') {\n handleSortChangeFromProps(arg)\n }\n await refineListData({ sort: arg })\n },\n [refineListData, handleSortChangeFromProps],\n )\n const handleWhereChange = React.useCallback(\n async (arg: Where) => {\n if (typeof handleWhereChangeFromProps === 'function') {\n handleWhereChangeFromProps(arg)\n }\n await refineListData({ where: arg })\n },\n [refineListData, handleWhereChangeFromProps],\n )\n\n React.useEffect(() => {\n if (!hasSetInitialParams.current) {\n if (modifySearchParams) {\n let shouldUpdateQueryString = false\n\n if (isNumber(defaultLimit) && !('limit' in currentQuery)) {\n currentQuery.limit = String(defaultLimit)\n shouldUpdateQueryString = true\n }\n if (defaultSort && !('sort' in currentQuery)) {\n currentQuery.sort = defaultSort\n shouldUpdateQueryString = true\n }\n if (shouldUpdateQueryString) {\n router.replace(`?${qs.stringify(currentQuery)}`)\n }\n }\n\n hasSetInitialParams.current = true\n }\n }, [defaultSort, defaultLimit, router, modifySearchParams, currentQuery])\n\n return (\n <Context.Provider\n value={{\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n refineListData,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"names":["useRouter","isNumber","qs","React","createContext","useContext","usePreferences","useSearchParams","Context","useListQuery","ListQueryProvider","children","data","defaultLimit","defaultSort","handlePageChange","handlePageChangeFromProps","handlePerPageChange","handlePerPageChangeFromProps","handleSearchChange","handleSearchChangeFromProps","handleSortChange","handleSortChangeFromProps","handleWhereChange","handleWhereChangeFromProps","modifySearchParams","preferenceKey","router","setPreference","hasSetInitialParams","useRef","searchParams","currentQuery","refineListData","useCallback","query","updatedPreferences","updatePreferences","limit","sort","params","page","search","where","replace","stringify","addQueryPrefix","arg","String","useEffect","current","shouldUpdateQueryString","Provider","value"],"mappings":"AAAA;;AAGA,SAASA,SAAS,QAAQ,qBAAoB;AAC9C,SAASC,QAAQ,QAAQ,iBAAgB;AACzC,YAAYC,QAAQ,SAAQ;AAC5B,OAAOC,SAASC,aAAa,EAAEC,UAAU,QAAQ,QAAO;AAIxD,SAASC,cAAc,QAAQ,0BAAyB;AACxD,SAASC,eAAe,QAAQ,2BAA0B;AA4B1D,MAAMC,wBAAUJ,cAAc,CAAC;AAE/B,OAAO,MAAMK,eAAe,IAAwBJ,WAAWG,SAAQ;AAUvE,OAAO,MAAME,oBAA8C,CAAC,EAC1DC,QAAQ,EACRC,IAAI,EACJC,YAAY,EACZC,WAAW,EACXC,kBAAkBC,yBAAyB,EAC3CC,qBAAqBC,4BAA4B,EACjDC,oBAAoBC,2BAA2B,EAC/CC,kBAAkBC,yBAAyB,EAC3CC,mBAAmBC,0BAA0B,EAC7CC,kBAAkB,EAClBC,aAAa,EACd;IACC,MAAMC,SAAS3B;IACf,MAAM,EAAE4B,aAAa,EAAE,GAAGtB;IAC1B,MAAMuB,sBAAsB1B,MAAM2B,MAAM,CAAC;IACzC,MAAM,EAAEC,cAAcC,YAAY,EAAE,GAAGzB;IAEvC,MAAM0B,iBAAiB9B,MAAM+B,WAAW,CACtC,OAAOC;QACL,IAAI,CAACV,oBAAoB;QAEzB,MAAMW,qBAA8C,CAAC;QACrD,IAAIC,oBAAoB;QAExB,IAAI,WAAWF,OAAO;YACpBC,mBAAmBE,KAAK,GAAGH,MAAMG,KAAK;YACtCD,oBAAoB;QACtB;QACA,IAAI,UAAUF,OAAO;YACnBC,mBAAmBG,IAAI,GAAGJ,MAAMI,IAAI;YACpCF,oBAAoB;QACtB;QACA,IAAIA,qBAAqBX,eAAe;YACtC,MAAME,cAAcF,eAAeU;QACrC;QAEA,MAAMI,SAAS;YACbF,OAAO,WAAWH,QAAQA,MAAMG,KAAK,GAAGN,cAAcM;YACtDG,MAAM,UAAUN,QAAQA,MAAMM,IAAI,GAAGT,cAAcS;YACnDC,QAAQ,YAAYP,QAAQA,MAAMO,MAAM,GAAGV,cAAcU;YACzDH,MAAM,UAAUJ,QAAQA,MAAMI,IAAI,GAAGP,cAAcO;YACnDI,OAAO,WAAWR,QAAQA,MAAMQ,KAAK,GAAGX,cAAcW;QACxD;QAEAhB,OAAOiB,OAAO,CAAC,CAAC,EAAE1C,GAAG2C,SAAS,CAACL,QAAQ;YAAEM,gBAAgB;QAAK,GAAG,CAAC;IACpE,GACA;QAACpB;QAAeD;QAAoBE;QAAQC;QAAeI;KAAa;IAG1E,MAAMjB,mBAAmBZ,MAAM+B,WAAW,CACxC,OAAOa;QACL,IAAI,OAAO/B,8BAA8B,YAAY;YACnDA,0BAA0B+B;QAC5B;QACA,MAAMd,eAAe;YAAEQ,MAAMO,OAAOD;QAAK;IAC3C,GACA;QAACd;QAAgBjB;KAA0B;IAE7C,MAAMC,sBAAsBd,MAAM+B,WAAW,CAC3C,OAAOa;QACL,IAAI,OAAO7B,iCAAiC,YAAY;YACtDA,6BAA6B6B;QAC/B;QACA,MAAMd,eAAe;YAAEK,OAAOU,OAAOD;QAAK;IAC5C,GACA;QAACd;QAAgBf;KAA6B;IAEhD,MAAMC,qBAAqBhB,MAAM+B,WAAW,CAC1C,OAAOa;QACL,IAAI,OAAO3B,gCAAgC,YAAY;YACrDA,4BAA4B2B;QAC9B;QACA,MAAMd,eAAe;YAAES,QAAQK;QAAI;IACrC,GACA;QAACd;QAAgBb;KAA4B;IAE/C,MAAMC,mBAAmBlB,MAAM+B,WAAW,CACxC,OAAOa;QACL,IAAI,OAAOzB,8BAA8B,YAAY;YACnDA,0BAA0ByB;QAC5B;QACA,MAAMd,eAAe;YAAEM,MAAMQ;QAAI;IACnC,GACA;QAACd;QAAgBX;KAA0B;IAE7C,MAAMC,oBAAoBpB,MAAM+B,WAAW,CACzC,OAAOa;QACL,IAAI,OAAOvB,+BAA+B,YAAY;YACpDA,2BAA2BuB;QAC7B;QACA,MAAMd,eAAe;YAAEU,OAAOI;QAAI;IACpC,GACA;QAACd;QAAgBT;KAA2B;IAG9CrB,MAAM8C,SAAS,CAAC;QACd,IAAI,CAACpB,oBAAoBqB,OAAO,EAAE;YAChC,IAAIzB,oBAAoB;gBACtB,IAAI0B,0BAA0B;gBAE9B,IAAIlD,SAASY,iBAAiB,CAAE,CAAA,WAAWmB,YAAW,GAAI;oBACxDA,aAAaM,KAAK,GAAGU,OAAOnC;oBAC5BsC,0BAA0B;gBAC5B;gBACA,IAAIrC,eAAe,CAAE,CAAA,UAAUkB,YAAW,GAAI;oBAC5CA,aAAaO,IAAI,GAAGzB;oBACpBqC,0BAA0B;gBAC5B;gBACA,IAAIA,yBAAyB;oBAC3BxB,OAAOiB,OAAO,CAAC,CAAC,CAAC,EAAE1C,GAAG2C,SAAS,CAACb,cAAc,CAAC;gBACjD;YACF;YAEAH,oBAAoBqB,OAAO,GAAG;QAChC;IACF,GAAG;QAACpC;QAAaD;QAAcc;QAAQF;QAAoBO;KAAa;IAExE,qBACE,KAACxB,QAAQ4C,QAAQ;QACfC,OAAO;YACLzC;YACAG;YACAE;YACAE;YACAE;YACAE;YACAU;QACF;kBAECtB;;AAGP,EAAC"}
|