@payloadcms/ui 3.11.1-canary.3f6217a → 3.11.1-canary.eb516b3
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/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +6 -6
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.d.ts +3 -1
- package/dist/elements/BulkUpload/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/index.js +30 -19
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +6 -6
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +6 -6
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +14 -0
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +75 -0
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +8 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +260 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.scss +48 -0
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +10 -0
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -0
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -0
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +116 -186
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +9 -9
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +1 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +22 -22
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +1 -1
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +4 -1
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +4 -1
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +115 -109
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +6 -6
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/providers/Auth/index.js +3 -3
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.d.ts +2 -6
- package/dist/providers/DocumentEvents/index.d.ts.map +1 -1
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +19 -10
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +5 -0
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +31 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/abortAndIgnore.d.ts +2 -1
- package/dist/utilities/abortAndIgnore.d.ts.map +1 -1
- package/dist/utilities/abortAndIgnore.js +17 -3
- package/dist/utilities/abortAndIgnore.js.map +1 -1
- package/dist/utilities/parseSearchParams.d.ts +9 -1
- package/dist/utilities/parseSearchParams.d.ts.map +1 -1
- package/dist/utilities/parseSearchParams.js +10 -2
- package/dist/utilities/parseSearchParams.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.d.ts +13 -0
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -0
- package/dist/utilities/schedulePublishHandler.js +38 -0
- package/dist/utilities/schedulePublishHandler.js.map +1 -0
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +13 -22
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +15 -12
- package/dist/views/List/index.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AA2T7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","useAuth","requests","formatDocTitle","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","savedDocumentData","setSavedDocumentData","isInitializing","undefined","getPreference","setPreference","code","locale","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","query","request","get","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","user","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","versions","Math","min","maxPerDoc","max","updateSavedDocumentData","re1","current","abort","_err","action","useMemo","docURL","params","depth","addQueryPrefix","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n DocumentPreferences,\n SanitizedDocumentPermissions,\n} from 'payload'\n\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 { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.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'\nimport { useGetDocPermissions } from './useGetDocPermissions.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 readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] =\n useState<SanitizedDocumentPermissions>(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useState<boolean | undefined>(isLockedFromProps)\n const [currentEditor, setCurrentEditor] = useState<ClientUser | null>(currentEditorFromProps)\n const [lastUpdateTime, setLastUpdateTime] = useState<number>(lastUpdateTimeFromProps)\n const [savedDocumentData, setSavedDocumentData] = useState(initialData)\n\n const isInitializing = initialState === undefined || initialData === undefined\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\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 unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\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 incrementVersionCount = useCallback(() => {\n if (collectionConfig && collectionConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, collectionConfig.versions.maxPerDoc))\n } else if (globalConfig && globalConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, globalConfig.versions.max))\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n const updateSavedDocumentData = React.useCallback<DocumentInfoContext['updateSavedDocumentData']>(\n (json) => {\n setSavedDocumentData(json)\n },\n [],\n )\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...savedDocumentData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\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 const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n title: documentTitle,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData,\n versionCount,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","useAuth","requests","formatDocTitle","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","savedDocumentData","setSavedDocumentData","isInitializing","undefined","getPreference","setPreference","code","locale","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","query","request","get","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","user","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","versions","Math","min","maxPerDoc","max","updateSavedDocumentData","re1","current","abort","_err","action","useMemo","docURL","params","depth","addQueryPrefix","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientUser,\n DocumentPreferences,\n SanitizedDocumentPermissions,\n} from 'payload'\n\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 { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.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'\nimport { useGetDocPermissions } from './useGetDocPermissions.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 readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] =\n useState<SanitizedDocumentPermissions>(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useState<boolean | undefined>(isLockedFromProps)\n const [currentEditor, setCurrentEditor] = useState<ClientUser | null>(currentEditorFromProps)\n const [lastUpdateTime, setLastUpdateTime] = useState<number>(lastUpdateTimeFromProps)\n const [savedDocumentData, setSavedDocumentData] = useState(initialData)\n\n const isInitializing = initialState === undefined || initialData === undefined\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\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 unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\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 incrementVersionCount = useCallback(() => {\n if (collectionConfig && collectionConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, collectionConfig.versions.maxPerDoc))\n } else if (globalConfig && globalConfig.versions) {\n setVersionCount(Math.min(versionCount + 1, globalConfig.versions.max))\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n const updateSavedDocumentData = React.useCallback<DocumentInfoContext['updateSavedDocumentData']>(\n (json) => {\n setSavedDocumentData(json)\n },\n [],\n )\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...savedDocumentData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\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 const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n title: documentTitle,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData,\n versionCount,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKpE,OAAO,KAA+E,MAAM,OAAO,CAAA;AAEnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAM3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,KAAK,eAAe,GAAG;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD,GAAG,eAAe,CAAA;AAInB,eAAO,MAAM,YAAY,QAAO,gBAAuC,CAAA;AAEvE,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKpE,OAAO,KAA+E,MAAM,OAAO,CAAA;AAEnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAM3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,KAAK,eAAe,GAAG;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,KAAK,EAAE,SAAS,CAAA;IAChB,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD,GAAG,eAAe,CAAA;AAInB,eAAO,MAAM,YAAY,QAAO,gBAAuC,CAAA;AAEvE,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8KtD,CAAA"}
|
|
@@ -40,15 +40,17 @@ export const ListQueryProvider = ({
|
|
|
40
40
|
return {};
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
|
+
const currentQueryRef = React.useRef(currentQuery);
|
|
44
|
+
// If the search params change externally, update the current query
|
|
43
45
|
useEffect(() => {
|
|
44
46
|
if (modifySearchParams) {
|
|
45
47
|
setCurrentQuery(searchParams);
|
|
46
48
|
}
|
|
47
49
|
}, [searchParams, modifySearchParams]);
|
|
48
50
|
const refineListData = useCallback(async query => {
|
|
49
|
-
let
|
|
51
|
+
let page = 'page' in query ? query.page : currentQuery?.page;
|
|
50
52
|
if ('where' in query || 'search' in query) {
|
|
51
|
-
|
|
53
|
+
page = '1';
|
|
52
54
|
}
|
|
53
55
|
const updatedPreferences = {};
|
|
54
56
|
let updatePreferences = false;
|
|
@@ -65,7 +67,7 @@ export const ListQueryProvider = ({
|
|
|
65
67
|
}
|
|
66
68
|
const newQuery = {
|
|
67
69
|
limit: 'limit' in query ? query.limit : currentQuery?.limit ?? String(defaultLimit),
|
|
68
|
-
page
|
|
70
|
+
page,
|
|
69
71
|
search: 'search' in query ? query.search : currentQuery?.search,
|
|
70
72
|
sort: 'sort' in query ? query.sort : currentQuery?.sort ?? defaultSort,
|
|
71
73
|
where: 'where' in query ? query.where : currentQuery?.where
|
|
@@ -78,6 +80,7 @@ export const ListQueryProvider = ({
|
|
|
78
80
|
const onChangeFn = onQueryChange || onQueryChangeFromProps;
|
|
79
81
|
onChangeFn(newQuery);
|
|
80
82
|
}
|
|
83
|
+
setCurrentQuery(newQuery);
|
|
81
84
|
}, [currentQuery?.page, currentQuery?.limit, currentQuery?.search, currentQuery?.sort, currentQuery?.where, preferenceKey, defaultLimit, defaultSort, modifySearchParams, onQueryChange, onQueryChangeFromProps, setPreference, router]);
|
|
82
85
|
const handlePageChange = useCallback(async arg => {
|
|
83
86
|
await refineListData({
|
|
@@ -106,23 +109,29 @@ export const ListQueryProvider = ({
|
|
|
106
109
|
where: arg_3
|
|
107
110
|
});
|
|
108
111
|
}, [refineListData]);
|
|
112
|
+
// If `defaultLimit` or `defaultSort` are updated externally, update the query
|
|
109
113
|
useEffect(() => {
|
|
110
114
|
if (modifySearchParams) {
|
|
111
115
|
let shouldUpdateQueryString = false;
|
|
112
|
-
|
|
113
|
-
|
|
116
|
+
const newQuery_0 = {
|
|
117
|
+
...(currentQueryRef.current || {})
|
|
118
|
+
};
|
|
119
|
+
// Allow the URL to override the default limit
|
|
120
|
+
if (isNumber(defaultLimit) && !('limit' in currentQueryRef.current)) {
|
|
121
|
+
newQuery_0.limit = String(defaultLimit);
|
|
114
122
|
shouldUpdateQueryString = true;
|
|
115
123
|
}
|
|
116
|
-
|
|
117
|
-
|
|
124
|
+
// Allow the URL to override the default sort
|
|
125
|
+
if (defaultSort && !('sort' in currentQueryRef.current)) {
|
|
126
|
+
newQuery_0.sort = defaultSort;
|
|
118
127
|
shouldUpdateQueryString = true;
|
|
119
128
|
}
|
|
120
|
-
setCurrentQuery(currentQuery);
|
|
121
129
|
if (shouldUpdateQueryString) {
|
|
122
|
-
|
|
130
|
+
setCurrentQuery(newQuery_0);
|
|
131
|
+
router.replace(`?${qs.stringify(newQuery_0)}`);
|
|
123
132
|
}
|
|
124
133
|
}
|
|
125
|
-
}, [defaultSort, defaultLimit, router, modifySearchParams
|
|
134
|
+
}, [defaultSort, defaultLimit, router, modifySearchParams]);
|
|
126
135
|
return /*#__PURE__*/_jsx(Context.Provider, {
|
|
127
136
|
value: {
|
|
128
137
|
data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useRouter","useSearchParams","isNumber","qs","React","createContext","useCallback","useContext","useEffect","useMemo","useState","useListDrawerContext","parseSearchParams","usePreferences","Context","useListQuery","ListQueryProvider","children","collectionSlug","data","defaultLimit","defaultSort","modifySearchParams","onQueryChange","onQueryChangeFromProps","preferenceKey","router","setPreference","rawSearchParams","searchParams","currentQuery","setCurrentQuery","refineListData","query","pageQuery","page","updatedPreferences","updatePreferences","limit","Number","sort","newQuery","String","search","where","replace","stringify","addQueryPrefix","onChangeFn","handlePageChange","arg","handlePerPageChange","handleSearchChange","undefined","handleSortChange","handleWhereChange","shouldUpdateQueryString","_jsx","Provider","value"],"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery, PaginatedDocs, Sort, Where } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { usePreferences } from '../Preferences/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\ntype ContextHandlers = {\n handlePageChange?: (page: number) => Promise<void>\n handlePerPageChange?: (limit: number) => Promise<void>\n handleSearchChange?: (search: string) => Promise<void>\n handleSortChange?: (sort: string) => Promise<void>\n handleWhereChange?: (where: Where) => Promise<void>\n}\n\nexport type ListQueryProps = {\n readonly children: React.ReactNode\n readonly collectionSlug: string\n readonly data: PaginatedDocs\n readonly defaultLimit?: number\n readonly defaultSort?: Sort\n readonly modifySearchParams?: boolean\n readonly onQueryChange?: (query: ListQuery) => void\n readonly preferenceKey?: string\n}\n\nexport type ListQueryContext = {\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: Sort\n query: ListQuery\n refineListData: (args: ListQuery) => Promise<void>\n} & ContextHandlers\n\nconst Context = createContext({} as ListQueryContext)\n\nexport const useListQuery = (): ListQueryContext => useContext(Context)\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n collectionSlug,\n data,\n defaultLimit,\n defaultSort,\n modifySearchParams,\n onQueryChange: onQueryChangeFromProps,\n preferenceKey,\n}) => {\n 'use no memo'\n const router = useRouter()\n const { setPreference } = usePreferences()\n const rawSearchParams = useSearchParams()\n const searchParams = useMemo(() => parseSearchParams(rawSearchParams), [rawSearchParams])\n\n const { onQueryChange } = useListDrawerContext()\n\n const [currentQuery, setCurrentQuery] = useState(() => {\n if (modifySearchParams) {\n return searchParams\n } else {\n return {}\n }\n })\n\n useEffect(() => {\n if (modifySearchParams) {\n setCurrentQuery(searchParams)\n }\n }, [searchParams, modifySearchParams])\n\n const refineListData = useCallback(\n async (query: ListQuery) => {\n let pageQuery = 'page' in query ? query.page : currentQuery?.page\n\n if ('where' in query || 'search' in query) {\n pageQuery = '1'\n }\n\n const updatedPreferences: Record<string, unknown> = {}\n let updatePreferences = false\n\n if ('limit' in query) {\n updatedPreferences.limit = Number(query.limit)\n updatePreferences = true\n }\n\n if ('sort' in query) {\n updatedPreferences.sort = query.sort\n updatePreferences = true\n }\n\n if (updatePreferences && preferenceKey) {\n await setPreference(preferenceKey, updatedPreferences, true)\n }\n\n const newQuery: ListQuery = {\n limit:\n 'limit' in query\n ? query.limit\n : ((currentQuery?.limit as string) ?? String(defaultLimit)),\n page: pageQuery as string,\n search: 'search' in query ? query.search : (currentQuery?.search as string),\n sort: 'sort' in query ? query.sort : ((currentQuery?.sort as string) ?? defaultSort),\n where: 'where' in query ? query.where : (currentQuery?.where as Where),\n }\n\n if (modifySearchParams) {\n router.replace(`${qs.stringify(newQuery, { addQueryPrefix: true })}`)\n } else if (\n typeof onQueryChange === 'function' ||\n typeof onQueryChangeFromProps === 'function'\n ) {\n const onChangeFn = onQueryChange || onQueryChangeFromProps\n onChangeFn(newQuery)\n }\n },\n [\n currentQuery?.page,\n currentQuery?.limit,\n currentQuery?.search,\n currentQuery?.sort,\n currentQuery?.where,\n preferenceKey,\n defaultLimit,\n defaultSort,\n modifySearchParams,\n onQueryChange,\n onQueryChangeFromProps,\n setPreference,\n router,\n ],\n )\n\n const handlePageChange = useCallback(\n async (arg: number) => {\n await refineListData({ page: String(arg) })\n },\n [refineListData],\n )\n\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n await refineListData({ limit: String(arg), page: '1' })\n },\n [refineListData],\n )\n\n const handleSearchChange = useCallback(\n async (arg: string) => {\n const search = arg === '' ? undefined : arg\n await refineListData({ search })\n },\n [refineListData],\n )\n\n const handleSortChange = useCallback(\n async (arg: string) => {\n await refineListData({ sort: arg })\n },\n [refineListData],\n )\n\n const handleWhereChange = useCallback(\n async (arg: Where) => {\n await refineListData({ where: arg })\n },\n [refineListData],\n )\n\n useEffect(() => {\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\n if (defaultSort && !('sort' in currentQuery)) {\n currentQuery.sort = defaultSort\n shouldUpdateQueryString = true\n }\n\n setCurrentQuery(currentQuery)\n\n if (shouldUpdateQueryString) {\n router.replace(`?${qs.stringify(currentQuery)}`)\n }\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 query: currentQuery,\n refineListData,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useRouter","useSearchParams","isNumber","qs","React","createContext","useCallback","useContext","useEffect","useMemo","useState","useListDrawerContext","parseSearchParams","usePreferences","Context","useListQuery","ListQueryProvider","children","collectionSlug","data","defaultLimit","defaultSort","modifySearchParams","onQueryChange","onQueryChangeFromProps","preferenceKey","router","setPreference","rawSearchParams","searchParams","currentQuery","setCurrentQuery","currentQueryRef","useRef","refineListData","query","page","updatedPreferences","updatePreferences","limit","Number","sort","newQuery","String","search","where","replace","stringify","addQueryPrefix","onChangeFn","handlePageChange","arg","handlePerPageChange","handleSearchChange","undefined","handleSortChange","handleWhereChange","shouldUpdateQueryString","current","_jsx","Provider","value"],"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery, PaginatedDocs, Sort, Where } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { isNumber } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react'\n\nimport type { Column } from '../../elements/Table/index.js'\n\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { usePreferences } from '../Preferences/index.js'\n\nexport type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[]\n\ntype ContextHandlers = {\n handlePageChange?: (page: number) => Promise<void>\n handlePerPageChange?: (limit: number) => Promise<void>\n handleSearchChange?: (search: string) => Promise<void>\n handleSortChange?: (sort: string) => Promise<void>\n handleWhereChange?: (where: Where) => Promise<void>\n}\n\nexport type ListQueryProps = {\n readonly children: React.ReactNode\n readonly collectionSlug: string\n readonly data: PaginatedDocs\n readonly defaultLimit?: number\n readonly defaultSort?: Sort\n readonly modifySearchParams?: boolean\n readonly onQueryChange?: (query: ListQuery) => void\n readonly preferenceKey?: string\n}\n\nexport type ListQueryContext = {\n data: PaginatedDocs\n defaultLimit?: number\n defaultSort?: Sort\n query: ListQuery\n refineListData: (args: ListQuery) => Promise<void>\n} & ContextHandlers\n\nconst Context = createContext({} as ListQueryContext)\n\nexport const useListQuery = (): ListQueryContext => useContext(Context)\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n collectionSlug,\n data,\n defaultLimit,\n defaultSort,\n modifySearchParams,\n onQueryChange: onQueryChangeFromProps,\n preferenceKey,\n}) => {\n 'use no memo'\n const router = useRouter()\n const { setPreference } = usePreferences()\n const rawSearchParams = useSearchParams()\n const searchParams = useMemo(() => parseSearchParams(rawSearchParams), [rawSearchParams])\n\n const { onQueryChange } = useListDrawerContext()\n\n const [currentQuery, setCurrentQuery] = useState<ListQuery>(() => {\n if (modifySearchParams) {\n return searchParams\n } else {\n return {}\n }\n })\n\n const currentQueryRef = React.useRef(currentQuery)\n\n // If the search params change externally, update the current query\n useEffect(() => {\n if (modifySearchParams) {\n setCurrentQuery(searchParams)\n }\n }, [searchParams, modifySearchParams])\n\n const refineListData = useCallback(\n async (query: ListQuery) => {\n let page = 'page' in query ? query.page : currentQuery?.page\n\n if ('where' in query || 'search' in query) {\n page = '1'\n }\n\n const updatedPreferences: Record<string, unknown> = {}\n let updatePreferences = false\n\n if ('limit' in query) {\n updatedPreferences.limit = Number(query.limit)\n updatePreferences = true\n }\n\n if ('sort' in query) {\n updatedPreferences.sort = query.sort\n updatePreferences = true\n }\n\n if (updatePreferences && preferenceKey) {\n await setPreference(preferenceKey, updatedPreferences, true)\n }\n\n const newQuery: ListQuery = {\n limit: 'limit' in query ? query.limit : (currentQuery?.limit ?? String(defaultLimit)),\n page,\n search: 'search' in query ? query.search : currentQuery?.search,\n sort: 'sort' in query ? query.sort : ((currentQuery?.sort as string) ?? defaultSort),\n where: 'where' in query ? query.where : currentQuery?.where,\n }\n\n if (modifySearchParams) {\n router.replace(`${qs.stringify(newQuery, { addQueryPrefix: true })}`)\n } else if (\n typeof onQueryChange === 'function' ||\n typeof onQueryChangeFromProps === 'function'\n ) {\n const onChangeFn = onQueryChange || onQueryChangeFromProps\n onChangeFn(newQuery)\n }\n\n setCurrentQuery(newQuery)\n },\n [\n currentQuery?.page,\n currentQuery?.limit,\n currentQuery?.search,\n currentQuery?.sort,\n currentQuery?.where,\n preferenceKey,\n defaultLimit,\n defaultSort,\n modifySearchParams,\n onQueryChange,\n onQueryChangeFromProps,\n setPreference,\n router,\n ],\n )\n\n const handlePageChange = useCallback(\n async (arg: number) => {\n await refineListData({ page: String(arg) })\n },\n [refineListData],\n )\n\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n await refineListData({ limit: String(arg), page: '1' })\n },\n [refineListData],\n )\n\n const handleSearchChange = useCallback(\n async (arg: string) => {\n const search = arg === '' ? undefined : arg\n await refineListData({ search })\n },\n [refineListData],\n )\n\n const handleSortChange = useCallback(\n async (arg: string) => {\n await refineListData({ sort: arg })\n },\n [refineListData],\n )\n\n const handleWhereChange = useCallback(\n async (arg: Where) => {\n await refineListData({ where: arg })\n },\n [refineListData],\n )\n\n // If `defaultLimit` or `defaultSort` are updated externally, update the query\n useEffect(() => {\n if (modifySearchParams) {\n let shouldUpdateQueryString = false\n const newQuery = { ...(currentQueryRef.current || {}) }\n\n // Allow the URL to override the default limit\n if (isNumber(defaultLimit) && !('limit' in currentQueryRef.current)) {\n newQuery.limit = String(defaultLimit)\n shouldUpdateQueryString = true\n }\n\n // Allow the URL to override the default sort\n if (defaultSort && !('sort' in currentQueryRef.current)) {\n newQuery.sort = defaultSort\n shouldUpdateQueryString = true\n }\n\n if (shouldUpdateQueryString) {\n setCurrentQuery(newQuery)\n router.replace(`?${qs.stringify(newQuery)}`)\n }\n }\n }, [defaultSort, defaultLimit, router, modifySearchParams])\n\n return (\n <Context.Provider\n value={{\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n query: currentQuery,\n refineListData,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,SAAS,EAAEC,eAAe,QAAQ;AAC3C,SAASC,QAAQ,QAAQ;AACzB,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAI5F,SAASC,oBAAoB,QAAQ;AACrC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,QAAQ;AA+B/B,MAAMC,OAAA,gBAAUT,aAAA,CAAc,CAAC;AAE/B,OAAO,MAAMU,YAAA,GAAeA,CAAA;EAAA,OAAwBR,UAAA,CAAAO,OAAW;AAAA;AAE/D,OAAO,MAAME,iBAAA,GAA8CA,CAAC;EAC1DC,QAAQ;EACRC,cAAc;EACdC,IAAI;EACJC,YAAY;EACZC,WAAW;EACXC,kBAAkB;EAClBC,aAAA,EAAeC,sBAAsB;EACrCC;AAAa,CACd;EACC;;EACA,MAAMC,MAAA,GAAS1B,SAAA;EACf,MAAM;IAAE2B;EAAa,CAAE,GAAGd,cAAA;EAC1B,MAAMe,eAAA,GAAkB3B,eAAA;EACxB,MAAM4B,YAAA,GAAepB,OAAA,CAAQ,MAAMG,iBAAA,CAAkBgB,eAAA,GAAkB,CAACA,eAAA,CAAgB;EAExF,MAAM;IAAEL;EAAa,CAAE,GAAGZ,oBAAA;EAE1B,MAAM,CAACmB,YAAA,EAAcC,eAAA,CAAgB,GAAGrB,QAAA,CAAoB;IAC1D,IAAIY,kBAAA,EAAoB;MACtB,OAAOO,YAAA;IACT,OAAO;MACL,OAAO,CAAC;IACV;EACF;EAEA,MAAMG,eAAA,GAAkB5B,KAAA,CAAM6B,MAAM,CAACH,YAAA;EAErC;EACAtB,SAAA,CAAU;IACR,IAAIc,kBAAA,EAAoB;MACtBS,eAAA,CAAgBF,YAAA;IAClB;EACF,GAAG,CAACA,YAAA,EAAcP,kBAAA,CAAmB;EAErC,MAAMY,cAAA,GAAiB5B,WAAA,CACrB,MAAO6B,KAAA;IACL,IAAIC,IAAA,GAAO,UAAUD,KAAA,GAAQA,KAAA,CAAMC,IAAI,GAAGN,YAAA,EAAcM,IAAA;IAExD,IAAI,WAAWD,KAAA,IAAS,YAAYA,KAAA,EAAO;MACzCC,IAAA,GAAO;IACT;IAEA,MAAMC,kBAAA,GAA8C,CAAC;IACrD,IAAIC,iBAAA,GAAoB;IAExB,IAAI,WAAWH,KAAA,EAAO;MACpBE,kBAAA,CAAmBE,KAAK,GAAGC,MAAA,CAAOL,KAAA,CAAMI,KAAK;MAC7CD,iBAAA,GAAoB;IACtB;IAEA,IAAI,UAAUH,KAAA,EAAO;MACnBE,kBAAA,CAAmBI,IAAI,GAAGN,KAAA,CAAMM,IAAI;MACpCH,iBAAA,GAAoB;IACtB;IAEA,IAAIA,iBAAA,IAAqBb,aAAA,EAAe;MACtC,MAAME,aAAA,CAAcF,aAAA,EAAeY,kBAAA,EAAoB;IACzD;IAEA,MAAMK,QAAA,GAAsB;MAC1BH,KAAA,EAAO,WAAWJ,KAAA,GAAQA,KAAA,CAAMI,KAAK,GAAIT,YAAA,EAAcS,KAAA,IAASI,MAAA,CAAOvB,YAAA;MACvEgB,IAAA;MACAQ,MAAA,EAAQ,YAAYT,KAAA,GAAQA,KAAA,CAAMS,MAAM,GAAGd,YAAA,EAAcc,MAAA;MACzDH,IAAA,EAAM,UAAUN,KAAA,GAAQA,KAAA,CAAMM,IAAI,GAAIX,YAAC,EAAcW,IAAA,IAAmBpB,WAAA;MACxEwB,KAAA,EAAO,WAAWV,KAAA,GAAQA,KAAA,CAAMU,KAAK,GAAGf,YAAA,EAAce;IACxD;IAEA,IAAIvB,kBAAA,EAAoB;MACtBI,MAAA,CAAOoB,OAAO,CAAC,GAAG3C,EAAA,CAAG4C,SAAS,CAACL,QAAA,EAAU;QAAEM,cAAA,EAAgB;MAAK,IAAI;IACtE,OAAO,IACL,OAAOzB,aAAA,KAAkB,cACzB,OAAOC,sBAAA,KAA2B,YAClC;MACA,MAAMyB,UAAA,GAAa1B,aAAA,IAAiBC,sBAAA;MACpCyB,UAAA,CAAWP,QAAA;IACb;IAEAX,eAAA,CAAgBW,QAAA;EAClB,GACA,CACEZ,YAAA,EAAcM,IAAA,EACdN,YAAA,EAAcS,KAAA,EACdT,YAAA,EAAcc,MAAA,EACdd,YAAA,EAAcW,IAAA,EACdX,YAAA,EAAce,KAAA,EACdpB,aAAA,EACAL,YAAA,EACAC,WAAA,EACAC,kBAAA,EACAC,aAAA,EACAC,sBAAA,EACAG,aAAA,EACAD,MAAA,CACD;EAGH,MAAMwB,gBAAA,GAAmB5C,WAAA,CACvB,MAAO6C,GAAA;IACL,MAAMjB,cAAA,CAAe;MAAEE,IAAA,EAAMO,MAAA,CAAOQ,GAAA;IAAK;EAC3C,GACA,CAACjB,cAAA,CAAe;EAGlB,MAAMkB,mBAAA,GAAsBhD,KAAA,CAAME,WAAW,CAC3C,MAAO6C,KAAA;IACL,MAAMjB,cAAA,CAAe;MAAEK,KAAA,EAAOI,MAAA,CAAOQ,KAAA;MAAMf,IAAA,EAAM;IAAI;EACvD,GACA,CAACF,cAAA,CAAe;EAGlB,MAAMmB,kBAAA,GAAqB/C,WAAA,CACzB,MAAO6C,KAAA;IACL,MAAMP,MAAA,GAASO,KAAA,KAAQ,KAAKG,SAAA,GAAYH,KAAA;IACxC,MAAMjB,cAAA,CAAe;MAAEU;IAAO;EAChC,GACA,CAACV,cAAA,CAAe;EAGlB,MAAMqB,gBAAA,GAAmBjD,WAAA,CACvB,MAAO6C,KAAA;IACL,MAAMjB,cAAA,CAAe;MAAEO,IAAA,EAAMU;IAAI;EACnC,GACA,CAACjB,cAAA,CAAe;EAGlB,MAAMsB,iBAAA,GAAoBlD,WAAA,CACxB,MAAO6C,KAAA;IACL,MAAMjB,cAAA,CAAe;MAAEW,KAAA,EAAOM;IAAI;EACpC,GACA,CAACjB,cAAA,CAAe;EAGlB;EACA1B,SAAA,CAAU;IACR,IAAIc,kBAAA,EAAoB;MACtB,IAAImC,uBAAA,GAA0B;MAC9B,MAAMf,UAAA,GAAW;QAAE,IAAIV,eAAA,CAAgB0B,OAAO,IAAI,CAAC,CAAC;MAAE;MAEtD;MACA,IAAIxD,QAAA,CAASkB,YAAA,KAAiB,EAAE,WAAWY,eAAA,CAAgB0B,OAAO,CAAD,EAAI;QACnEhB,UAAA,CAASH,KAAK,GAAGI,MAAA,CAAOvB,YAAA;QACxBqC,uBAAA,GAA0B;MAC5B;MAEA;MACA,IAAIpC,WAAA,IAAe,EAAE,UAAUW,eAAA,CAAgB0B,OAAO,CAAD,EAAI;QACvDhB,UAAA,CAASD,IAAI,GAAGpB,WAAA;QAChBoC,uBAAA,GAA0B;MAC5B;MAEA,IAAIA,uBAAA,EAAyB;QAC3B1B,eAAA,CAAgBW,UAAA;QAChBhB,MAAA,CAAOoB,OAAO,CAAC,IAAI3C,EAAA,CAAG4C,SAAS,CAACL,UAAA,GAAW;MAC7C;IACF;EACF,GAAG,CAACrB,WAAA,EAAaD,YAAA,EAAcM,MAAA,EAAQJ,kBAAA,CAAmB;EAE1D,oBACEqC,IAAA,CAAC7C,OAAA,CAAQ8C,QAAQ;IACfC,KAAA,EAAO;MACL1C,IAAA;MACA+B,gBAAA;MACAE,mBAAA;MACAC,kBAAA;MACAE,gBAAA;MACAC,iBAAA;MACArB,KAAA,EAAOL,YAAA;MACPI;IACF;cAECjB;;AAGP","ignoreList":[]}
|
|
@@ -3,9 +3,13 @@ import React from 'react';
|
|
|
3
3
|
import type { buildFormStateHandler } from '../../utilities/buildFormState.js';
|
|
4
4
|
import type { buildTableStateHandler } from '../../utilities/buildTableState.js';
|
|
5
5
|
import type { CopyDataFromLocaleArgs } from '../../utilities/copyDataFromLocale.js';
|
|
6
|
+
import type { schedulePublishHandler, SchedulePublishHandlerArgs } from '../../utilities/schedulePublishHandler.js';
|
|
6
7
|
type GetFormStateClient = (args: {
|
|
7
8
|
signal?: AbortSignal;
|
|
8
9
|
} & Omit<BuildFormStateArgs, 'clientConfig' | 'req'>) => ReturnType<typeof buildFormStateHandler>;
|
|
10
|
+
type SchedulePublishClient = (args: {
|
|
11
|
+
signal?: AbortSignal;
|
|
12
|
+
} & Omit<SchedulePublishHandlerArgs, 'clientConfig' | 'req'>) => ReturnType<typeof schedulePublishHandler>;
|
|
9
13
|
type GetTableStateClient = (args: {
|
|
10
14
|
signal?: AbortSignal;
|
|
11
15
|
} & Omit<BuildTableStateArgs, 'clientConfig' | 'req'>) => ReturnType<typeof buildTableStateHandler>;
|
|
@@ -38,6 +42,7 @@ type ServerFunctionsContextType = {
|
|
|
38
42
|
getFormState: GetFormStateClient;
|
|
39
43
|
getTableState: GetTableStateClient;
|
|
40
44
|
renderDocument: RenderDocument;
|
|
45
|
+
schedulePublish: SchedulePublishClient;
|
|
41
46
|
serverFunction: ServerFunctionClient;
|
|
42
47
|
};
|
|
43
48
|
export declare const ServerFunctionsContext: React.Context<ServerFunctionsContextType>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ServerFunctions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,IAAI,EACJ,aAAa,EACb,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAqC,MAAM,OAAO,CAAA;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ServerFunctions/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,IAAI,EACJ,aAAa,EACb,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAqC,MAAM,OAAO,CAAA;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AACnF,OAAO,KAAK,EACV,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,2CAA2C,CAAA;AAElD,KAAK,kBAAkB,GAAG,CACxB,IAAI,EAAE;IACJ,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,IAAI,CAAC,kBAAkB,EAAE,cAAc,GAAG,KAAK,CAAC,KACjD,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE7C,KAAK,qBAAqB,GAAG,CAC3B,IAAI,EAAE;IACJ,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,IAAI,CAAC,0BAA0B,EAAE,cAAc,GAAG,KAAK,CAAC,KACzD,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE9C,KAAK,mBAAmB,GAAG,CACzB,IAAI,EAAE;IACJ,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,IAAI,CAAC,mBAAmB,EAAE,cAAc,GAAG,KAAK,CAAC,KAClD,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE9C,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAAC,CAAA;AAExD,KAAK,wBAAwB,GAAG,CAC9B,IAAI,EAAE;IACJ,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,KACpC,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,CAAA;AAE5B,KAAK,gBAAgB,GAAG,CAAC,IAAI,EAAE;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AAE5B,KAAK,0BAA0B,GAAG;IAChC,kBAAkB,EAAE,wBAAwB,CAAA;IAC5C,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,YAAY,EAAE,kBAAkB,CAAA;IAChC,aAAa,EAAE,mBAAmB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAC9B,eAAe,EAAE,qBAAqB,CAAA;IACtC,cAAc,EAAE,oBAAoB,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,sBAAsB,2CAElC,CAAA;AAED,eAAO,MAAM,kBAAkB,kCAM9B,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,cAAc,EAAE,oBAAoB,CAAA;CACrC,CAiJA,CAAA"}
|
|
@@ -19,6 +19,36 @@ export const ServerFunctionsProvider = ({
|
|
|
19
19
|
name: 'render-document-slots',
|
|
20
20
|
args
|
|
21
21
|
}), [serverFunction]);
|
|
22
|
+
const schedulePublish = useCallback(async args => {
|
|
23
|
+
const {
|
|
24
|
+
signal: remoteSignal,
|
|
25
|
+
...rest
|
|
26
|
+
} = args;
|
|
27
|
+
try {
|
|
28
|
+
if (!remoteSignal?.aborted) {
|
|
29
|
+
const result = await serverFunction({
|
|
30
|
+
name: 'schedule-publish',
|
|
31
|
+
args: {
|
|
32
|
+
...rest
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
// TODO: infer this type when `strictNullChecks` is enabled
|
|
36
|
+
if (!remoteSignal?.aborted) {
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
} catch (_err) {
|
|
41
|
+
console.error(_err) // eslint-disable-line no-console
|
|
42
|
+
;
|
|
43
|
+
}
|
|
44
|
+
let error = `Error scheduling ${rest.type}`;
|
|
45
|
+
if (rest.doc) {
|
|
46
|
+
error += ` for document with ID ${rest.doc.value} in collection ${rest.doc.relationTo}`;
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
error: ''
|
|
50
|
+
};
|
|
51
|
+
}, [serverFunction]);
|
|
22
52
|
const getFormState = useCallback(async args => {
|
|
23
53
|
const {
|
|
24
54
|
signal: remoteSignal,
|
|
@@ -115,6 +145,7 @@ export const ServerFunctionsProvider = ({
|
|
|
115
145
|
getFormState,
|
|
116
146
|
getTableState,
|
|
117
147
|
renderDocument,
|
|
148
|
+
schedulePublish,
|
|
118
149
|
serverFunction
|
|
119
150
|
},
|
|
120
151
|
children: children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","createContext","useCallback","ServerFunctionsContext","undefined","useServerFunctions","context","useContext","Error","ServerFunctionsProvider","children","serverFunction","getDocumentSlots","args","name","getFormState","signal","remoteSignal","rest","aborted","result","fallbackLocale","_err","console","error","state","getTableState","renderDocument","copyDataFromLocale","_jsx","Provider","value"],"sources":["../../../src/providers/ServerFunctions/index.tsx"],"sourcesContent":["import type {\n BuildFormStateArgs,\n BuildTableStateArgs,\n Data,\n DocumentSlots,\n ServerFunctionClient,\n} from 'payload'\n\nimport React, { createContext, useCallback } from 'react'\n\nimport type { buildFormStateHandler } from '../../utilities/buildFormState.js'\nimport type { buildTableStateHandler } from '../../utilities/buildTableState.js'\nimport type { CopyDataFromLocaleArgs } from '../../utilities/copyDataFromLocale.js'\n\ntype GetFormStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildFormStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildFormStateHandler>\n\ntype GetTableStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildTableStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildTableStateHandler>\n\ntype RenderDocument = (args: {\n collectionSlug: string\n disableActions?: boolean\n docID?: number | string\n drawerSlug?: string\n initialData?: Data\n overrideEntityVisibility?: boolean\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n signal?: AbortSignal\n}) => Promise<{ data: Data; Document: React.ReactNode }>\n\ntype CopyDataFromLocaleClient = (\n args: {\n signal?: AbortSignal\n } & Omit<CopyDataFromLocaleArgs, 'req'>,\n) => Promise<{ data: Data }>\n\ntype GetDocumentSlots = (args: {\n collectionSlug: string\n signal?: AbortSignal\n}) => Promise<DocumentSlots>\n\ntype ServerFunctionsContextType = {\n copyDataFromLocale: CopyDataFromLocaleClient\n getDocumentSlots: GetDocumentSlots\n getFormState: GetFormStateClient\n getTableState: GetTableStateClient\n renderDocument: RenderDocument\n serverFunction: ServerFunctionClient\n}\n\nexport const ServerFunctionsContext = createContext<ServerFunctionsContextType | undefined>(\n undefined,\n)\n\nexport const useServerFunctions = () => {\n const context = React.useContext(ServerFunctionsContext)\n if (context === undefined) {\n throw new Error('useServerFunctions must be used within a ServerFunctionsProvider')\n }\n return context\n}\n\nexport const ServerFunctionsProvider: React.FC<{\n children: React.ReactNode\n serverFunction: ServerFunctionClient\n}> = ({ children, serverFunction }) => {\n if (!serverFunction) {\n throw new Error('ServerFunctionsProvider requires a serverFunction prop')\n }\n\n const getDocumentSlots = useCallback<GetDocumentSlots>(\n async (args) =>\n await serverFunction({\n name: 'render-document-slots',\n args,\n }),\n [serverFunction],\n )\n\n const getFormState = useCallback<GetFormStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'form-state',\n args: { fallbackLocale: false, ...rest },\n })) as ReturnType<typeof buildFormStateHandler> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n return { state: null }\n },\n [serverFunction],\n )\n\n const getTableState = useCallback<GetTableStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'table-state',\n args: { fallbackLocale: false, ...rest },\n })) as ReturnType<typeof buildTableStateHandler> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n // return { state: args.formState }\n },\n [serverFunction],\n )\n\n const renderDocument = useCallback<RenderDocument>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'render-document',\n args: { fallbackLocale: false, ...rest },\n })) as { data: Data; Document: React.ReactNode }\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const copyDataFromLocale = useCallback<CopyDataFromLocaleClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'copy-data-from-locale',\n args: rest,\n })) as { data: Data }\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n return (\n <ServerFunctionsContext.Provider\n value={{\n copyDataFromLocale,\n getDocumentSlots,\n getFormState,\n getTableState,\n renderDocument,\n serverFunction,\n }}\n >\n {children}\n </ServerFunctionsContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","createContext","useCallback","ServerFunctionsContext","undefined","useServerFunctions","context","useContext","Error","ServerFunctionsProvider","children","serverFunction","getDocumentSlots","args","name","schedulePublish","signal","remoteSignal","rest","aborted","result","_err","console","error","type","doc","value","relationTo","getFormState","fallbackLocale","state","getTableState","renderDocument","copyDataFromLocale","_jsx","Provider"],"sources":["../../../src/providers/ServerFunctions/index.tsx"],"sourcesContent":["import type {\n BuildFormStateArgs,\n BuildTableStateArgs,\n Data,\n DocumentSlots,\n ServerFunctionClient,\n} from 'payload'\n\nimport React, { createContext, useCallback } from 'react'\n\nimport type { buildFormStateHandler } from '../../utilities/buildFormState.js'\nimport type { buildTableStateHandler } from '../../utilities/buildTableState.js'\nimport type { CopyDataFromLocaleArgs } from '../../utilities/copyDataFromLocale.js'\nimport type {\n schedulePublishHandler,\n SchedulePublishHandlerArgs,\n} from '../../utilities/schedulePublishHandler.js'\n\ntype GetFormStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildFormStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildFormStateHandler>\n\ntype SchedulePublishClient = (\n args: {\n signal?: AbortSignal\n } & Omit<SchedulePublishHandlerArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof schedulePublishHandler>\n\ntype GetTableStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildTableStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildTableStateHandler>\n\ntype RenderDocument = (args: {\n collectionSlug: string\n disableActions?: boolean\n docID?: number | string\n drawerSlug?: string\n initialData?: Data\n overrideEntityVisibility?: boolean\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n signal?: AbortSignal\n}) => Promise<{ data: Data; Document: React.ReactNode }>\n\ntype CopyDataFromLocaleClient = (\n args: {\n signal?: AbortSignal\n } & Omit<CopyDataFromLocaleArgs, 'req'>,\n) => Promise<{ data: Data }>\n\ntype GetDocumentSlots = (args: {\n collectionSlug: string\n signal?: AbortSignal\n}) => Promise<DocumentSlots>\n\ntype ServerFunctionsContextType = {\n copyDataFromLocale: CopyDataFromLocaleClient\n getDocumentSlots: GetDocumentSlots\n getFormState: GetFormStateClient\n getTableState: GetTableStateClient\n renderDocument: RenderDocument\n schedulePublish: SchedulePublishClient\n serverFunction: ServerFunctionClient\n}\n\nexport const ServerFunctionsContext = createContext<ServerFunctionsContextType | undefined>(\n undefined,\n)\n\nexport const useServerFunctions = () => {\n const context = React.useContext(ServerFunctionsContext)\n if (context === undefined) {\n throw new Error('useServerFunctions must be used within a ServerFunctionsProvider')\n }\n return context\n}\n\nexport const ServerFunctionsProvider: React.FC<{\n children: React.ReactNode\n serverFunction: ServerFunctionClient\n}> = ({ children, serverFunction }) => {\n if (!serverFunction) {\n throw new Error('ServerFunctionsProvider requires a serverFunction prop')\n }\n\n const getDocumentSlots = useCallback<GetDocumentSlots>(\n async (args) =>\n await serverFunction({\n name: 'render-document-slots',\n args,\n }),\n [serverFunction],\n )\n\n const schedulePublish = useCallback<SchedulePublishClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'schedule-publish',\n args: { ...rest },\n })) as ReturnType<typeof schedulePublishHandler> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n let error = `Error scheduling ${rest.type}`\n\n if (rest.doc) {\n error += ` for document with ID ${rest.doc.value} in collection ${rest.doc.relationTo}`\n }\n\n return { error: '' }\n },\n [serverFunction],\n )\n\n const getFormState = useCallback<GetFormStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'form-state',\n args: { fallbackLocale: false, ...rest },\n })) as ReturnType<typeof buildFormStateHandler> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n return { state: null }\n },\n [serverFunction],\n )\n\n const getTableState = useCallback<GetTableStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'table-state',\n args: { fallbackLocale: false, ...rest },\n })) as ReturnType<typeof buildTableStateHandler> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n // return { state: args.formState }\n },\n [serverFunction],\n )\n\n const renderDocument = useCallback<RenderDocument>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'render-document',\n args: { fallbackLocale: false, ...rest },\n })) as { data: Data; Document: React.ReactNode }\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const copyDataFromLocale = useCallback<CopyDataFromLocaleClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'copy-data-from-locale',\n args: rest,\n })) as { data: Data }\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n return (\n <ServerFunctionsContext.Provider\n value={{\n copyDataFromLocale,\n getDocumentSlots,\n getFormState,\n getTableState,\n renderDocument,\n schedulePublish,\n serverFunction,\n }}\n >\n {children}\n </ServerFunctionsContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|