@payloadcms/ui 3.0.0-beta.7 → 3.0.0-canary.6041f49
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 +1 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +3 -3
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +15 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +8 -2
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.scss +2 -2
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +7 -7
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +1 -1
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -2
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -0
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +3 -2
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.d.ts +2 -0
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js +3 -2
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/EditMany/index.js +2 -2
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.d.ts +12 -0
- package/dist/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/elements/EditUpload/index.js +25 -25
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +4 -1
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/HydrateClientUser/index.d.ts +2 -2
- package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
- package/dist/elements/HydrateClientUser/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +16 -3
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/PublishMany/index.js +1 -1
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +4 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/Save/index.d.ts.map +1 -1
- package/dist/elements/Save/index.js +7 -1
- package/dist/elements/Save/index.js.map +1 -1
- package/dist/elements/SaveDraft/index.d.ts.map +1 -1
- package/dist/elements/SaveDraft/index.js +8 -5
- package/dist/elements/SaveDraft/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.d.ts +2 -4
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +7 -6
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.scss +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +6 -2
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +1 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +1 -0
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +7 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +37 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/index.scss +12 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.js +1 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
- package/dist/{providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts → elements/WithServerSideProps/index.d.ts} +1 -1
- package/dist/elements/WithServerSideProps/index.d.ts.map +1 -0
- package/dist/{providers/ComponentMap/buildComponentMap/WithServerSideProps.js → elements/WithServerSideProps/index.js} +3 -3
- package/dist/elements/WithServerSideProps/index.js.map +1 -0
- package/dist/exports/elements.d.ts +3 -2
- package/dist/exports/elements.d.ts.map +1 -1
- package/dist/exports/elements.js +5 -2
- package/dist/exports/elements.js.map +1 -1
- package/dist/exports/fields.d.ts +2 -0
- package/dist/exports/fields.d.ts.map +1 -0
- package/dist/exports/fields.js +3 -0
- package/dist/exports/fields.js.map +1 -0
- package/dist/exports/providers.d.ts +2 -0
- package/dist/exports/providers.d.ts.map +1 -0
- package/dist/exports/providers.js +3 -0
- package/dist/exports/providers.js.map +1 -0
- package/dist/fields/Array/ArrayRow.d.ts +1 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +4 -3
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +1 -2
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +4 -3
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +4 -3
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +2 -1
- package/dist/fields/Blocks/RowActions.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 +3 -2
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +3 -3
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +3 -1
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Checkbox/types.d.ts +0 -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 +1 -2
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +0 -2
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +2 -2
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +1 -1
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +1 -2
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts +1 -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 +0 -2
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +3 -3
- package/dist/fields/Group/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 +20 -1
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts +1 -2
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +0 -1
- 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 +0 -2
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +2 -2
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +3 -1
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts +1 -2
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +1 -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 +0 -2
- package/dist/fields/RichText/index.d.ts.map +1 -1
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Select/index.d.ts +1 -2
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +2 -1
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +1 -2
- 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 +2 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.d.ts +1 -2
- package/dist/fields/Textarea/types.d.ts.map +1 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/Upload/types.d.ts +0 -1
- package/dist/fields/Upload/types.d.ts.map +1 -1
- package/dist/fields/Upload/types.js.map +1 -1
- package/dist/fields/shared/index.d.ts +4 -2
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/FieldLabel/index.d.ts.map +1 -1
- package/dist/forms/FieldLabel/index.js +3 -1
- package/dist/forms/FieldLabel/index.js.map +1 -1
- package/dist/forms/FieldPropsProvider/index.d.ts +2 -0
- package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
- package/dist/forms/FieldPropsProvider/index.js +5 -3
- package/dist/forms/FieldPropsProvider/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts +1 -0
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +2 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +2 -1
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/types.d.ts +2 -3
- package/dist/forms/RowLabel/types.d.ts.map +1 -1
- package/dist/forms/RowLabel/types.js +1 -4
- package/dist/forms/RowLabel/types.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +3 -5
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +2 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +2 -2
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +2 -2
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +2 -2
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/index.d.ts +3 -5
- package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts +3 -5
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +3 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/graphics/Account/index.js +0 -9
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +2 -1
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.js +16 -4
- package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +52 -36
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.js +16 -4
- package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +4 -0
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
- package/dist/providers/ComponentMap/index.d.ts +0 -1
- package/dist/providers/ComponentMap/index.d.ts.map +1 -1
- package/dist/providers/ComponentMap/index.js +0 -1
- package/dist/providers/ComponentMap/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +8 -7
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.d.ts +1 -1
- package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +2 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/utilities/generateFieldID.d.ts +1 -1
- package/dist/utilities/generateFieldID.d.ts.map +1 -1
- package/dist/utilities/generateFieldID.js +2 -2
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/package.json +32 -31
- package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, Permissions } from 'payload/auth'\nimport type { MeOperationResult } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport qs from 'qs'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { useConfig } from '../Config/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<void>\n logOut: () => void\n permissions?: Permissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<ClientUser>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: Permissions) => void\n setUser: (user: T) => void\n token?: string\n user?: T | null\n}\n\nconst Context = createContext({} as AuthContext)\n\nconst maxTimeoutTime = 2147483647\n\nexport const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const { useModal } = facelessUIImport\n\n const { searchParams } = useSearchParams()\n const [user, setUser] = useState<ClientUser | null>()\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpiration, setTokenExpiration] = useState<number>()\n const pathname = usePathname()\n const router = useRouter()\n // const { code } = useLocale()\n const code = 'en' // TODO: re-enable i18n asap\n\n const config = useConfig()\n\n const {\n admin: { autoLogin, inactivityRoute: logoutInactivityRoute, user: userSlug },\n routes: { admin, api },\n serverURL,\n } = config\n\n const [permissions, setPermissions] = useState<Permissions>()\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const [lastLocationChange, setLastLocationChange] = useState(0)\n const debouncedLocationChange = useDebounce(lastLocationChange, 10000)\n\n const id = user?.id\n\n const redirectToInactivityRoute = useCallback(() => {\n if (window.location.pathname.startsWith(admin)) {\n const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`\n router.replace(`${admin}${logoutInactivityRoute}${redirectParam}`)\n } else {\n router.replace(`${admin}${logoutInactivityRoute}`)\n }\n closeAllModals()\n }, [router, admin, logoutInactivityRoute, closeAllModals])\n\n const revokeTokenAndExpire = useCallback(() => {\n setTokenInMemory(undefined)\n setTokenExpiration(undefined)\n }, [])\n\n const setTokenAndExpiration = useCallback(\n (json) => {\n const token = json?.token || json?.refreshedToken\n if (token && json?.exp) {\n setTokenInMemory(token)\n setTokenExpiration(json.exp)\n } else {\n revokeTokenAndExpire()\n }\n },\n [revokeTokenAndExpire],\n )\n\n const refreshCookie = useCallback(\n (forceRefresh?: boolean) => {\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now\n\n if (forceRefresh || (tokenExpiration && remainingTime < 120)) {\n setTimeout(async () => {\n try {\n const request = await requests.post(`${serverURL}${api}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json = await request.json()\n setUser(json.user)\n\n setTokenAndExpiration(json)\n } else {\n setUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(e.message)\n }\n }, 1000)\n }\n },\n [\n tokenExpiration,\n serverURL,\n api,\n userSlug,\n i18n,\n redirectToInactivityRoute,\n setTokenAndExpiration,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n async (skipSetUser?: boolean): Promise<ClientUser> => {\n try {\n const request = await requests.post(`${serverURL}${api}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json = await request.json()\n if (!skipSetUser) {\n setUser(json.user)\n setTokenAndExpiration(json)\n }\n return json.user\n }\n\n setUser(null)\n redirectToInactivityRoute()\n return null\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n return null\n }\n },\n [serverURL, api, userSlug, i18n, redirectToInactivityRoute, setTokenAndExpiration],\n )\n\n const logOut = useCallback(async () => {\n setUser(null)\n revokeTokenAndExpire()\n try {\n await requests.post(`${serverURL}${api}/${userSlug}/logout`)\n } catch (e) {\n toast.error(`Logging out failed: ${e.message}`)\n }\n }, [serverURL, api, userSlug, revokeTokenAndExpire])\n\n const refreshPermissions = useCallback(async () => {\n const params = {\n locale: code,\n }\n\n try {\n const request = await requests.get(`${serverURL}${api}/access?${qs.stringify(params)}`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: Permissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n }, [serverURL, api, i18n, code])\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(`${serverURL}${api}/${userSlug}/me`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: MeOperationResult = await request.json()\n\n if (json?.user) {\n setUser(json.user)\n\n if (json?.token) {\n setTokenAndExpiration(json)\n }\n } else if (autoLogin && autoLogin.prefillOnly !== true) {\n // auto log-in with the provided autoLogin credentials. This is used in dev mode\n // so you don't have to log in over and over again\n const autoLoginResult = await requests.post(`${serverURL}${api}/${userSlug}/login`, {\n body: JSON.stringify({\n email: autoLogin.email,\n password: autoLogin.password,\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n if (autoLoginResult.status === 200) {\n const autoLoginJson = await autoLoginResult.json()\n setUser(autoLoginJson.user)\n if (autoLoginJson?.token) {\n setTokenAndExpiration(autoLoginJson)\n }\n router.replace(\n typeof searchParams['redirect'] === 'string' ? searchParams['redirect'] : admin,\n )\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n }, [\n serverURL,\n api,\n userSlug,\n i18n.language,\n autoLogin,\n setTokenAndExpiration,\n router,\n searchParams,\n admin,\n revokeTokenAndExpire,\n ])\n\n // On mount, get user and set\n useEffect(() => {\n void fetchFullUser()\n }, [fetchFullUser])\n\n // When location changes, refresh cookie\n useEffect(() => {\n if (id) {\n refreshCookie()\n }\n }, [debouncedLocationChange, refreshCookie, id])\n\n useEffect(() => {\n setLastLocationChange(Date.now())\n }, [pathname])\n\n useEffect(() => {\n let reminder: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n reminder = setTimeout(\n () => {\n openModal('stay-logged-in')\n },\n Math.max(Math.min((remainingTime - 60) * 1000, maxTimeoutTime)),\n )\n }\n\n return () => {\n if (reminder) clearTimeout(reminder)\n }\n }, [tokenExpiration, openModal])\n\n useEffect(() => {\n let forceLogOut: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n forceLogOut = setTimeout(\n () => {\n setUser(null)\n revokeTokenAndExpire()\n redirectToInactivityRoute()\n },\n Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0),\n )\n }\n\n return () => {\n if (forceLogOut) clearTimeout(forceLogOut)\n }\n }, [tokenExpiration, closeAllModals, i18n, redirectToInactivityRoute, revokeTokenAndExpire])\n\n return (\n <Context.Provider\n value={{\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser,\n token: tokenInMemory,\n user,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useAuth = <T = ClientUser,>(): AuthContext<T> => useContext(Context) as AuthContext<T>\n"],"names":["facelessUIImport","usePathname","useRouter","qs","React","createContext","useCallback","useContext","useEffect","useState","toast","useDebounce","useTranslation","requests","useConfig","useSearchParams","Context","maxTimeoutTime","AuthProvider","children","useModal","searchParams","user","setUser","tokenInMemory","setTokenInMemory","tokenExpiration","setTokenExpiration","pathname","router","code","config","admin","autoLogin","inactivityRoute","logoutInactivityRoute","userSlug","routes","api","serverURL","permissions","setPermissions","i18n","closeAllModals","openModal","lastLocationChange","setLastLocationChange","debouncedLocationChange","id","redirectToInactivityRoute","window","location","startsWith","redirectParam","encodeURIComponent","replace","revokeTokenAndExpire","undefined","setTokenAndExpiration","json","token","refreshedToken","exp","refreshCookie","forceRefresh","now","Math","round","Date","getTime","remainingTime","setTimeout","request","post","headers","language","status","e","error","message","refreshCookieAsync","skipSetUser","logOut","refreshPermissions","params","locale","get","stringify","Error","fetchFullUser","prefillOnly","autoLoginResult","body","JSON","email","password","autoLoginJson","reminder","max","min","clearTimeout","forceLogOut","Provider","value","useAuth"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, Permissions } from 'payload/auth'\nimport type { MeOperationResult } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { stayLoggedInModalSlug } from '@payloadcms/ui/elements/StayLoggedIn'\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport qs from 'qs'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { useConfig } from '../Config/index.js'\nimport { useSearchParams } from '../SearchParams/index.js'\n\nexport type AuthContext<T = ClientUser> = {\n fetchFullUser: () => Promise<void>\n logOut: () => void\n permissions?: Permissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<ClientUser>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: Permissions) => void\n setUser: (user: T) => void\n token?: string\n user?: T | null\n}\n\nconst Context = createContext({} as AuthContext)\n\nconst maxTimeoutTime = 2147483647\n\nexport const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const { useModal } = facelessUIImport\n\n const { searchParams } = useSearchParams()\n const [user, setUser] = useState<ClientUser | null>()\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [tokenExpiration, setTokenExpiration] = useState<number>()\n const pathname = usePathname()\n const router = useRouter()\n // const { code } = useLocale()\n const code = 'en' // TODO: re-enable i18n asap\n\n const config = useConfig()\n\n const {\n admin: { autoLogin, inactivityRoute: logoutInactivityRoute, user: userSlug },\n routes: { admin, api },\n serverURL,\n } = config\n\n const [permissions, setPermissions] = useState<Permissions>()\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const [lastLocationChange, setLastLocationChange] = useState(0)\n const debouncedLocationChange = useDebounce(lastLocationChange, 10000)\n\n const id = user?.id\n\n const redirectToInactivityRoute = useCallback(() => {\n if (window.location.pathname.startsWith(admin)) {\n const redirectParam = `?redirect=${encodeURIComponent(window.location.pathname)}`\n router.replace(`${admin}${logoutInactivityRoute}${redirectParam}`)\n } else {\n router.replace(`${admin}${logoutInactivityRoute}`)\n }\n closeAllModals()\n }, [router, admin, logoutInactivityRoute, closeAllModals])\n\n const revokeTokenAndExpire = useCallback(() => {\n setTokenInMemory(undefined)\n setTokenExpiration(undefined)\n }, [])\n\n const setTokenAndExpiration = useCallback(\n (json) => {\n const token = json?.token || json?.refreshedToken\n if (token && json?.exp) {\n setTokenInMemory(token)\n setTokenExpiration(json.exp)\n } else {\n revokeTokenAndExpire()\n }\n },\n [revokeTokenAndExpire],\n )\n\n const refreshCookie = useCallback(\n (forceRefresh?: boolean) => {\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = (typeof tokenExpiration === 'number' ? tokenExpiration : 0) - now\n\n if (forceRefresh || (tokenExpiration && remainingTime < 120)) {\n setTimeout(async () => {\n try {\n const request = await requests.post(`${serverURL}${api}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json = await request.json()\n setUser(json.user)\n\n setTokenAndExpiration(json)\n } else {\n setUser(null)\n redirectToInactivityRoute()\n }\n } catch (e) {\n toast.error(e.message)\n }\n }, 1000)\n }\n },\n [\n tokenExpiration,\n serverURL,\n api,\n userSlug,\n i18n,\n redirectToInactivityRoute,\n setTokenAndExpiration,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n async (skipSetUser?: boolean): Promise<ClientUser> => {\n try {\n const request = await requests.post(`${serverURL}${api}/${userSlug}/refresh-token`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json = await request.json()\n if (!skipSetUser) {\n setUser(json.user)\n setTokenAndExpiration(json)\n }\n return json.user\n }\n\n setUser(null)\n redirectToInactivityRoute()\n return null\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n return null\n }\n },\n [serverURL, api, userSlug, i18n, redirectToInactivityRoute, setTokenAndExpiration],\n )\n\n const logOut = useCallback(async () => {\n setUser(null)\n revokeTokenAndExpire()\n try {\n await requests.post(`${serverURL}${api}/${userSlug}/logout`)\n } catch (e) {\n toast.error(`Logging out failed: ${e.message}`)\n }\n }, [serverURL, api, userSlug, revokeTokenAndExpire])\n\n const refreshPermissions = useCallback(async () => {\n const params = {\n locale: code,\n }\n\n try {\n const request = await requests.get(`${serverURL}${api}/access?${qs.stringify(params)}`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: Permissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n }, [serverURL, api, i18n, code])\n\n const fetchFullUser = React.useCallback(async () => {\n try {\n const request = await requests.get(`${serverURL}${api}/${userSlug}/me`, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (request.status === 200) {\n const json: MeOperationResult = await request.json()\n\n if (json?.user) {\n setUser(json.user)\n\n if (json?.token) {\n setTokenAndExpiration(json)\n }\n } else if (autoLogin && autoLogin.prefillOnly !== true) {\n // auto log-in with the provided autoLogin credentials. This is used in dev mode\n // so you don't have to log in over and over again\n const autoLoginResult = await requests.post(`${serverURL}${api}/${userSlug}/login`, {\n body: JSON.stringify({\n email: autoLogin.email,\n password: autoLogin.password,\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n if (autoLoginResult.status === 200) {\n const autoLoginJson = await autoLoginResult.json()\n setUser(autoLoginJson.user)\n if (autoLoginJson?.token) {\n setTokenAndExpiration(autoLoginJson)\n }\n router.replace(\n typeof searchParams['redirect'] === 'string' ? searchParams['redirect'] : admin,\n )\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n } else {\n setUser(null)\n revokeTokenAndExpire()\n }\n }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n }, [\n serverURL,\n api,\n userSlug,\n i18n.language,\n autoLogin,\n setTokenAndExpiration,\n router,\n searchParams,\n admin,\n revokeTokenAndExpire,\n ])\n\n // On mount, get user and set\n useEffect(() => {\n void fetchFullUser()\n }, [fetchFullUser])\n\n // When location changes, refresh cookie\n useEffect(() => {\n if (id) {\n refreshCookie()\n }\n }, [debouncedLocationChange, refreshCookie, id])\n\n useEffect(() => {\n setLastLocationChange(Date.now())\n }, [pathname])\n\n useEffect(() => {\n let reminder: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n reminder = setTimeout(\n () => {\n openModal(stayLoggedInModalSlug)\n },\n Math.max(Math.min((remainingTime - 60) * 1000, maxTimeoutTime)),\n )\n }\n\n return () => {\n if (reminder) clearTimeout(reminder)\n }\n }, [tokenExpiration, openModal])\n\n useEffect(() => {\n let forceLogOut: ReturnType<typeof setTimeout>\n const now = Math.round(new Date().getTime() / 1000)\n const remainingTime = typeof tokenExpiration === 'number' ? tokenExpiration - now : 0\n\n if (remainingTime > 0) {\n forceLogOut = setTimeout(\n () => {\n setUser(null)\n revokeTokenAndExpire()\n redirectToInactivityRoute()\n },\n Math.max(Math.min(remainingTime * 1000, maxTimeoutTime), 0),\n )\n }\n\n return () => {\n if (forceLogOut) clearTimeout(forceLogOut)\n }\n }, [tokenExpiration, closeAllModals, i18n, redirectToInactivityRoute, revokeTokenAndExpire])\n\n return (\n <Context.Provider\n value={{\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser,\n token: tokenInMemory,\n user,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useAuth = <T = ClientUser,>(): AuthContext<T> => useContext(Context) as AuthContext<T>\n"],"names":["facelessUIImport","stayLoggedInModalSlug","usePathname","useRouter","qs","React","createContext","useCallback","useContext","useEffect","useState","toast","useDebounce","useTranslation","requests","useConfig","useSearchParams","Context","maxTimeoutTime","AuthProvider","children","useModal","searchParams","user","setUser","tokenInMemory","setTokenInMemory","tokenExpiration","setTokenExpiration","pathname","router","code","config","admin","autoLogin","inactivityRoute","logoutInactivityRoute","userSlug","routes","api","serverURL","permissions","setPermissions","i18n","closeAllModals","openModal","lastLocationChange","setLastLocationChange","debouncedLocationChange","id","redirectToInactivityRoute","window","location","startsWith","redirectParam","encodeURIComponent","replace","revokeTokenAndExpire","undefined","setTokenAndExpiration","json","token","refreshedToken","exp","refreshCookie","forceRefresh","now","Math","round","Date","getTime","remainingTime","setTimeout","request","post","headers","language","status","e","error","message","refreshCookieAsync","skipSetUser","logOut","refreshPermissions","params","locale","get","stringify","Error","fetchFullUser","prefillOnly","autoLoginResult","body","JSON","email","password","autoLoginJson","reminder","max","min","clearTimeout","forceLogOut","Provider","value","useAuth"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { I18n } from '@payloadcms/translations';
|
|
|
2
2
|
import type { AdminViewProps, EditViewProps, SanitizedCollectionConfig, SanitizedConfig, WithServerSideProps as WithServerSidePropsType } from 'payload/types';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import type { CollectionComponentMap } from './types.js';
|
|
5
|
-
export declare const mapCollections: (
|
|
5
|
+
export declare const mapCollections: (args: {
|
|
6
6
|
DefaultEditView: React.FC<EditViewProps>;
|
|
7
7
|
DefaultListView: React.FC<AdminViewProps>;
|
|
8
8
|
WithServerSideProps: WithServerSidePropsType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,KAAK,EACV,cAAc,EACd,aAAa,
|
|
1
|
+
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,yBAAyB,EACzB,eAAe,EACf,mBAAmB,IAAI,uBAAuB,EAC/C,MAAM,eAAe,CAAA;AAGtB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAKxD,eAAO,MAAM,cAAc,SAAU;IACnC,eAAe,EAAE,MAAM,EAAE,CAAC,aAAa,CAAC,CAAA;IACxC,eAAe,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,CAAA;IACzC,mBAAmB,EAAE,uBAAuB,CAAA;IAC5C,WAAW,EAAE,yBAAyB,EAAE,CAAA;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG;IACF,CAAC,GAAG,EAAE,yBAAyB,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAA;CAiKjE,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ViewDescription } from '@payloadcms/ui/elements/ViewDescription';
|
|
2
|
-
import { isPlainFunction, isReactComponent } from 'payload/utilities';
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import { mapActions } from './actions.js';
|
|
5
4
|
import { mapFields } from './fields.js';
|
|
6
|
-
export const mapCollections = (
|
|
5
|
+
export const mapCollections = (args)=>{
|
|
6
|
+
const { DefaultEditView, DefaultListView, WithServerSideProps, collections, config, i18n, i18n: { t }, readOnly: readOnlyOverride } = args;
|
|
7
|
+
return collections.reduce((acc, collectionConfig)=>{
|
|
7
8
|
const { slug, fields } = collectionConfig;
|
|
8
9
|
const internalCollections = [
|
|
9
10
|
'payload-preferences',
|
|
@@ -50,10 +51,20 @@ export const mapCollections = ({ DefaultEditView, DefaultListView, WithServerSid
|
|
|
50
51
|
const AfterListTable = afterListTable && Array.isArray(afterListTable) && afterListTable?.map((Component)=>/*#__PURE__*/ React.createElement(WithServerSideProps, {
|
|
51
52
|
Component: Component
|
|
52
53
|
})) || null;
|
|
54
|
+
let description = undefined;
|
|
55
|
+
if (collectionConfig.admin && 'description' in collectionConfig.admin) {
|
|
56
|
+
if (typeof collectionConfig.admin?.description === 'string' || typeof collectionConfig.admin?.description === 'object') {
|
|
57
|
+
description = collectionConfig.admin.description;
|
|
58
|
+
} else if (typeof collectionConfig.admin?.description === 'function') {
|
|
59
|
+
description = collectionConfig.admin?.description({
|
|
60
|
+
t
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
53
64
|
const descriptionProps = {
|
|
54
|
-
description
|
|
65
|
+
description
|
|
55
66
|
};
|
|
56
|
-
const DescriptionComponent = collectionConfig.admin
|
|
67
|
+
const DescriptionComponent = collectionConfig.admin?.components?.edit?.Description || (description ? ViewDescription : undefined);
|
|
57
68
|
const Description = DescriptionComponent !== undefined ? /*#__PURE__*/ React.createElement(WithServerSideProps, {
|
|
58
69
|
Component: DescriptionComponent,
|
|
59
70
|
...descriptionProps || {}
|
|
@@ -92,5 +103,6 @@ export const mapCollections = ({ DefaultEditView, DefaultListView, WithServerSid
|
|
|
92
103
|
[slug]: componentMap
|
|
93
104
|
};
|
|
94
105
|
}, {});
|
|
106
|
+
};
|
|
95
107
|
|
|
96
108
|
//# sourceMappingURL=collections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { ViewDescriptionProps } from '@payloadcms/ui/elements/ViewDescription'\nimport type {\n AdminViewProps,\n EditViewProps,\n EntityDescriptionComponent,\n EntityDescriptionFunction,\n SanitizedCollectionConfig,\n SanitizedConfig,\n WithServerSideProps as WithServerSidePropsType,\n} from 'payload/types'\n\nimport { ViewDescription } from '@payloadcms/ui/elements/ViewDescription'\nimport { isPlainFunction, isReactComponent } from 'payload/utilities'\nimport React from 'react'\n\nimport type { CollectionComponentMap } from './types.js'\n\nimport { mapActions } from './actions.js'\nimport { mapFields } from './fields.js'\n\nexport const mapCollections = ({\n DefaultEditView,\n DefaultListView,\n WithServerSideProps,\n collections,\n config,\n i18n,\n readOnly: readOnlyOverride,\n}: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n WithServerSideProps: WithServerSidePropsType\n collections: SanitizedCollectionConfig[]\n config: SanitizedConfig\n i18n: I18n\n readOnly?: boolean\n}): {\n [key: SanitizedCollectionConfig['slug']]: CollectionComponentMap\n} =>\n collections.reduce((acc, collectionConfig) => {\n const { slug, fields } = collectionConfig\n\n const internalCollections = ['payload-preferences', 'payload-migrations']\n\n if (internalCollections.includes(slug)) {\n return acc\n }\n\n const editViewFromConfig = collectionConfig?.admin?.components?.views?.Edit\n\n const listViewFromConfig = collectionConfig?.admin?.components?.views?.List\n\n const CustomEditView =\n typeof editViewFromConfig === 'function'\n ? editViewFromConfig\n : typeof editViewFromConfig === 'object' && typeof editViewFromConfig.Default === 'function'\n ? editViewFromConfig.Default\n : typeof editViewFromConfig?.Default === 'object' &&\n 'Component' in editViewFromConfig.Default &&\n typeof editViewFromConfig.Default.Component === 'function'\n ? (editViewFromConfig.Default.Component as React.FC<EditViewProps>)\n : undefined\n\n const CustomListView =\n typeof listViewFromConfig === 'function'\n ? listViewFromConfig\n : typeof listViewFromConfig === 'object' &&\n typeof listViewFromConfig.Component === 'function'\n ? listViewFromConfig.Component\n : undefined\n\n const Edit = (CustomEditView as React.FC<EditViewProps>) || DefaultEditView\n\n const List = CustomListView || DefaultListView\n\n const SaveButtonComponent = collectionConfig?.admin?.components?.edit?.SaveButton\n\n const SaveButton = SaveButtonComponent ? (\n <WithServerSideProps Component={SaveButtonComponent} />\n ) : undefined\n\n const SaveDraftButtonComponent = collectionConfig?.admin?.components?.edit?.SaveDraftButton\n\n const SaveDraftButton = SaveDraftButtonComponent ? (\n <WithServerSideProps Component={SaveDraftButtonComponent} />\n ) : undefined\n\n const PreviewButtonComponent = collectionConfig?.admin?.components?.edit?.PreviewButton\n\n const PreviewButton = PreviewButtonComponent ? (\n <WithServerSideProps Component={PreviewButtonComponent} />\n ) : undefined\n\n const PublishButtonComponent = collectionConfig?.admin?.components?.edit?.PublishButton\n\n const PublishButton = PublishButtonComponent ? (\n <WithServerSideProps Component={PublishButtonComponent} />\n ) : undefined\n\n const beforeList = collectionConfig?.admin?.components?.BeforeList\n\n const BeforeList =\n (beforeList &&\n Array.isArray(beforeList) &&\n beforeList?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const beforeListTable = collectionConfig?.admin?.components?.BeforeListTable\n\n const BeforeListTable =\n (beforeListTable &&\n Array.isArray(beforeListTable) &&\n beforeListTable?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const afterList = collectionConfig?.admin?.components?.AfterList\n\n const AfterList =\n (afterList &&\n Array.isArray(afterList) &&\n afterList?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const afterListTable = collectionConfig?.admin?.components?.AfterListTable\n\n const AfterListTable =\n (afterListTable &&\n Array.isArray(afterListTable) &&\n afterListTable?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const descriptionProps: ViewDescriptionProps = {\n description:\n (collectionConfig.admin &&\n 'description' in collectionConfig.admin &&\n (((typeof collectionConfig.admin?.description === 'string' ||\n typeof collectionConfig.admin?.description === 'object') &&\n collectionConfig.admin.description) ||\n (typeof collectionConfig.admin?.description === 'function' &&\n isPlainFunction<EntityDescriptionFunction>(collectionConfig.admin?.description) &&\n collectionConfig.admin?.description()))) ||\n undefined,\n }\n\n const DescriptionComponent =\n (collectionConfig.admin &&\n 'description' in collectionConfig.admin &&\n ((isReactComponent<EntityDescriptionComponent>(collectionConfig.admin.description) &&\n collectionConfig.admin.description) ||\n (collectionConfig.admin.description && ViewDescription))) ||\n undefined\n\n const Description =\n DescriptionComponent !== undefined ? (\n <WithServerSideProps Component={DescriptionComponent} {...(descriptionProps || {})} />\n ) : undefined\n\n const componentMap: CollectionComponentMap = {\n AfterList,\n AfterListTable,\n BeforeList,\n BeforeListTable,\n Description,\n Edit: <Edit collectionSlug={collectionConfig.slug} />,\n List: <List collectionSlug={collectionConfig.slug} />,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n actionsMap: mapActions({\n WithServerSideProps,\n collectionConfig,\n }),\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: fields,\n i18n,\n readOnly: readOnlyOverride,\n }),\n isPreviewEnabled: !!collectionConfig?.admin?.preview,\n }\n\n return {\n ...acc,\n [slug]: componentMap,\n }\n }, {})\n"],"names":["ViewDescription","isPlainFunction","isReactComponent","React","mapActions","mapFields","mapCollections","DefaultEditView","DefaultListView","WithServerSideProps","collections","config","i18n","readOnly","readOnlyOverride","reduce","acc","collectionConfig","slug","fields","internalCollections","includes","editViewFromConfig","admin","components","views","Edit","listViewFromConfig","List","CustomEditView","Default","Component","undefined","CustomListView","SaveButtonComponent","edit","SaveButton","SaveDraftButtonComponent","SaveDraftButton","PreviewButtonComponent","PreviewButton","PublishButtonComponent","PublishButton","beforeList","BeforeList","Array","isArray","map","beforeListTable","BeforeListTable","afterList","AfterList","afterListTable","AfterListTable","descriptionProps","description","DescriptionComponent","Description","componentMap","collectionSlug","actionsMap","fieldMap","fieldSchema","isPreviewEnabled","preview"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { ViewDescriptionProps } from '@payloadcms/ui/elements/ViewDescription'\nimport type {\n AdminViewProps,\n EditViewProps,\n SanitizedCollectionConfig,\n SanitizedConfig,\n WithServerSideProps as WithServerSidePropsType,\n} from 'payload/types'\n\nimport { ViewDescription } from '@payloadcms/ui/elements/ViewDescription'\nimport React from 'react'\n\nimport type { CollectionComponentMap } from './types.js'\n\nimport { mapActions } from './actions.js'\nimport { mapFields } from './fields.js'\n\nexport const mapCollections = (args: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n WithServerSideProps: WithServerSidePropsType\n collections: SanitizedCollectionConfig[]\n config: SanitizedConfig\n i18n: I18n\n readOnly?: boolean\n}): {\n [key: SanitizedCollectionConfig['slug']]: CollectionComponentMap\n} => {\n const {\n DefaultEditView,\n DefaultListView,\n WithServerSideProps,\n collections,\n config,\n i18n,\n i18n: { t },\n readOnly: readOnlyOverride,\n } = args\n\n return collections.reduce((acc, collectionConfig) => {\n const { slug, fields } = collectionConfig\n\n const internalCollections = ['payload-preferences', 'payload-migrations']\n\n if (internalCollections.includes(slug)) {\n return acc\n }\n\n const editViewFromConfig = collectionConfig?.admin?.components?.views?.Edit\n\n const listViewFromConfig = collectionConfig?.admin?.components?.views?.List\n\n const CustomEditView =\n typeof editViewFromConfig === 'function'\n ? editViewFromConfig\n : typeof editViewFromConfig === 'object' && typeof editViewFromConfig.Default === 'function'\n ? editViewFromConfig.Default\n : typeof editViewFromConfig?.Default === 'object' &&\n 'Component' in editViewFromConfig.Default &&\n typeof editViewFromConfig.Default.Component === 'function'\n ? (editViewFromConfig.Default.Component as React.FC<EditViewProps>)\n : undefined\n\n const CustomListView =\n typeof listViewFromConfig === 'function'\n ? listViewFromConfig\n : typeof listViewFromConfig === 'object' &&\n typeof listViewFromConfig.Component === 'function'\n ? listViewFromConfig.Component\n : undefined\n\n const Edit = (CustomEditView as React.FC<EditViewProps>) || DefaultEditView\n\n const List = CustomListView || DefaultListView\n\n const SaveButtonComponent = collectionConfig?.admin?.components?.edit?.SaveButton\n\n const SaveButton = SaveButtonComponent ? (\n <WithServerSideProps Component={SaveButtonComponent} />\n ) : undefined\n\n const SaveDraftButtonComponent = collectionConfig?.admin?.components?.edit?.SaveDraftButton\n\n const SaveDraftButton = SaveDraftButtonComponent ? (\n <WithServerSideProps Component={SaveDraftButtonComponent} />\n ) : undefined\n\n const PreviewButtonComponent = collectionConfig?.admin?.components?.edit?.PreviewButton\n\n const PreviewButton = PreviewButtonComponent ? (\n <WithServerSideProps Component={PreviewButtonComponent} />\n ) : undefined\n\n const PublishButtonComponent = collectionConfig?.admin?.components?.edit?.PublishButton\n\n const PublishButton = PublishButtonComponent ? (\n <WithServerSideProps Component={PublishButtonComponent} />\n ) : undefined\n\n const beforeList = collectionConfig?.admin?.components?.BeforeList\n\n const BeforeList =\n (beforeList &&\n Array.isArray(beforeList) &&\n beforeList?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const beforeListTable = collectionConfig?.admin?.components?.BeforeListTable\n\n const BeforeListTable =\n (beforeListTable &&\n Array.isArray(beforeListTable) &&\n beforeListTable?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const afterList = collectionConfig?.admin?.components?.AfterList\n\n const AfterList =\n (afterList &&\n Array.isArray(afterList) &&\n afterList?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const afterListTable = collectionConfig?.admin?.components?.AfterListTable\n\n const AfterListTable =\n (afterListTable &&\n Array.isArray(afterListTable) &&\n afterListTable?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n let description = undefined\n if (collectionConfig.admin && 'description' in collectionConfig.admin) {\n if (\n typeof collectionConfig.admin?.description === 'string' ||\n typeof collectionConfig.admin?.description === 'object'\n ) {\n description = collectionConfig.admin.description\n } else if (typeof collectionConfig.admin?.description === 'function') {\n description = collectionConfig.admin?.description({ t })\n }\n }\n\n const descriptionProps: ViewDescriptionProps = {\n description,\n }\n\n const DescriptionComponent =\n collectionConfig.admin?.components?.edit?.Description ||\n (description ? ViewDescription : undefined)\n\n const Description =\n DescriptionComponent !== undefined ? (\n <WithServerSideProps Component={DescriptionComponent} {...(descriptionProps || {})} />\n ) : undefined\n\n const componentMap: CollectionComponentMap = {\n AfterList,\n AfterListTable,\n BeforeList,\n BeforeListTable,\n Description,\n Edit: <Edit collectionSlug={collectionConfig.slug} />,\n List: <List collectionSlug={collectionConfig.slug} />,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n actionsMap: mapActions({\n WithServerSideProps,\n collectionConfig,\n }),\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: fields,\n i18n,\n readOnly: readOnlyOverride,\n }),\n isPreviewEnabled: !!collectionConfig?.admin?.preview,\n }\n\n return {\n ...acc,\n [slug]: componentMap,\n }\n }, {})\n}\n"],"names":["ViewDescription","React","mapActions","mapFields","mapCollections","args","DefaultEditView","DefaultListView","WithServerSideProps","collections","config","i18n","t","readOnly","readOnlyOverride","reduce","acc","collectionConfig","slug","fields","internalCollections","includes","editViewFromConfig","admin","components","views","Edit","listViewFromConfig","List","CustomEditView","Default","Component","undefined","CustomListView","SaveButtonComponent","edit","SaveButton","SaveDraftButtonComponent","SaveDraftButton","PreviewButtonComponent","PreviewButton","PublishButtonComponent","PublishButton","beforeList","BeforeList","Array","isArray","map","beforeListTable","BeforeListTable","afterList","AfterList","afterListTable","AfterListTable","description","descriptionProps","DescriptionComponent","Description","componentMap","collectionSlug","actionsMap","fieldMap","fieldSchema","isPreviewEnabled","preview"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,KAAK,EAEV,KAAK,EAEL,aAAa,EAGb,eAAe,EACf,mBAAmB,IAAI,uBAAuB,EAC/C,MAAM,eAAe,CAAA;AA2BtB,OAAO,KAAK,EAEV,QAAQ,EAIT,MAAM,YAAY,CAAA;AAInB,eAAO,MAAM,SAAS,SAAU;IAC9B,mBAAmB,EAAE,uBAAuB,CAAA;IAC5C,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;IAClC,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,aAuuBA,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription';
|
|
2
2
|
import { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types';
|
|
3
|
-
import { isPlainFunction, isReactComponent } from 'payload/utilities';
|
|
4
3
|
import React, { Fragment } from 'react';
|
|
5
4
|
import { HiddenInput } from '../../../fields/HiddenInput/index.js';
|
|
6
5
|
export const mapFields = (args)=>{
|
|
@@ -27,21 +26,45 @@ export const mapFields = (args)=>{
|
|
|
27
26
|
Component: Component,
|
|
28
27
|
key: i
|
|
29
28
|
}))) || null;
|
|
29
|
+
let label = undefined;
|
|
30
|
+
if ('label' in field) {
|
|
31
|
+
if (typeof field.label === 'string' || typeof field.label === 'object') {
|
|
32
|
+
label = field.label;
|
|
33
|
+
} else if (typeof field.label === 'function') {
|
|
34
|
+
label = field.label({
|
|
35
|
+
t
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
30
39
|
const labelProps = {
|
|
31
|
-
label
|
|
40
|
+
label,
|
|
32
41
|
required: 'required' in field ? field.required : undefined
|
|
33
42
|
};
|
|
34
43
|
const CustomLabelComponent = 'admin' in field && field.admin?.components && 'Label' in field.admin.components && field.admin.components?.Label || undefined;
|
|
44
|
+
// If we return undefined here (so if no CUSTOM label component is set), the field client component is responsible for falling back to the default label
|
|
35
45
|
const CustomLabel = CustomLabelComponent !== undefined ? /*#__PURE__*/ React.createElement(WithServerSideProps, {
|
|
36
46
|
Component: CustomLabelComponent,
|
|
37
47
|
...labelProps || {}
|
|
38
48
|
}) : undefined;
|
|
49
|
+
let description = undefined;
|
|
50
|
+
if (field.admin && 'description' in field.admin) {
|
|
51
|
+
if (typeof field.admin?.description === 'string' || typeof field.admin?.description === 'object') {
|
|
52
|
+
description = field.admin.description;
|
|
53
|
+
} else if (typeof field.admin?.description === 'function') {
|
|
54
|
+
description = field.admin?.description({
|
|
55
|
+
t
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
39
59
|
const descriptionProps = {
|
|
40
|
-
description
|
|
41
|
-
t
|
|
42
|
-
})) || undefined
|
|
60
|
+
description
|
|
43
61
|
};
|
|
44
|
-
|
|
62
|
+
let CustomDescriptionComponent = undefined;
|
|
63
|
+
if (field.admin?.components && 'Description' in field.admin.components && field.admin.components?.Description) {
|
|
64
|
+
CustomDescriptionComponent = field.admin.components.Description;
|
|
65
|
+
} else if (description) {
|
|
66
|
+
CustomDescriptionComponent = FieldDescription;
|
|
67
|
+
}
|
|
45
68
|
const CustomDescription = CustomDescriptionComponent !== undefined ? /*#__PURE__*/ React.createElement(WithServerSideProps, {
|
|
46
69
|
Component: CustomDescriptionComponent,
|
|
47
70
|
...descriptionProps || {}
|
|
@@ -54,16 +77,18 @@ export const mapFields = (args)=>{
|
|
|
54
77
|
Component: CustomErrorComponent,
|
|
55
78
|
...errorProps || {}
|
|
56
79
|
}) : undefined;
|
|
80
|
+
// These fields are shared across all field types even if they are not used in the default field, as the custom field component can use them
|
|
57
81
|
const baseFieldProps = {
|
|
58
82
|
AfterInput,
|
|
59
83
|
BeforeInput,
|
|
60
84
|
CustomDescription,
|
|
61
85
|
CustomError,
|
|
62
86
|
CustomLabel,
|
|
87
|
+
custom: 'admin' in field && 'custom' in field.admin ? field.admin?.custom : undefined,
|
|
63
88
|
descriptionProps,
|
|
64
89
|
disabled: 'admin' in field && 'disabled' in field.admin ? field.admin?.disabled : false,
|
|
65
90
|
errorProps,
|
|
66
|
-
labelProps,
|
|
91
|
+
label: labelProps?.label,
|
|
67
92
|
path,
|
|
68
93
|
required: 'required' in field ? field.required : undefined
|
|
69
94
|
};
|
|
@@ -74,7 +99,7 @@ export const mapFields = (args)=>{
|
|
|
74
99
|
if (typeof option === 'object' && typeof option.label === 'function') {
|
|
75
100
|
return {
|
|
76
101
|
label: option.label({
|
|
77
|
-
t
|
|
102
|
+
t
|
|
78
103
|
}),
|
|
79
104
|
value: option.value
|
|
80
105
|
};
|
|
@@ -86,7 +111,7 @@ export const mapFields = (args)=>{
|
|
|
86
111
|
name: 'name' in field ? field.name : undefined,
|
|
87
112
|
fieldType: field.type,
|
|
88
113
|
isFieldAffectingData,
|
|
89
|
-
label:
|
|
114
|
+
label: labelProps?.label || undefined,
|
|
90
115
|
labels: 'labels' in field ? field.labels : undefined,
|
|
91
116
|
options: 'options' in field ? fieldOptions : undefined,
|
|
92
117
|
relationTo: 'relationTo' in field ? field.relationTo : undefined
|
|
@@ -95,10 +120,11 @@ export const mapFields = (args)=>{
|
|
|
95
120
|
case 'array':
|
|
96
121
|
{
|
|
97
122
|
let CustomRowLabel;
|
|
98
|
-
if ('admin' in field && field.admin.components && 'RowLabel' in field.admin.components && field.admin.components.RowLabel
|
|
123
|
+
if ('admin' in field && field.admin.components && 'RowLabel' in field.admin.components && field.admin.components.RowLabel) {
|
|
99
124
|
const CustomRowLabelComponent = field.admin.components.RowLabel;
|
|
100
125
|
CustomRowLabel = /*#__PURE__*/ React.createElement(WithServerSideProps, {
|
|
101
|
-
Component: CustomRowLabelComponent
|
|
126
|
+
Component: CustomRowLabelComponent,
|
|
127
|
+
...labelProps || {}
|
|
102
128
|
});
|
|
103
129
|
}
|
|
104
130
|
const arrayFieldProps = {
|
|
@@ -116,7 +142,7 @@ export const mapFields = (args)=>{
|
|
|
116
142
|
parentPath: path,
|
|
117
143
|
readOnly: readOnlyOverride
|
|
118
144
|
}),
|
|
119
|
-
|
|
145
|
+
isSortable: field.admin?.isSortable,
|
|
120
146
|
labels: field.labels,
|
|
121
147
|
maxRows: field.maxRows,
|
|
122
148
|
minRows: field.minRows,
|
|
@@ -142,6 +168,7 @@ export const mapFields = (args)=>{
|
|
|
142
168
|
});
|
|
143
169
|
const reducedBlock = {
|
|
144
170
|
slug: block.slug,
|
|
171
|
+
custom: block.admin?.custom,
|
|
145
172
|
fieldMap: blockFieldMap,
|
|
146
173
|
imageAltText: block.imageAltText,
|
|
147
174
|
imageURL: block.imageURL,
|
|
@@ -155,7 +182,7 @@ export const mapFields = (args)=>{
|
|
|
155
182
|
blocks,
|
|
156
183
|
className: field.admin?.className,
|
|
157
184
|
disabled: field.admin?.disabled,
|
|
158
|
-
|
|
185
|
+
isSortable: field.admin?.isSortable,
|
|
159
186
|
labels: field.labels,
|
|
160
187
|
maxRows: field.maxRows,
|
|
161
188
|
minRows: field.minRows,
|
|
@@ -178,7 +205,6 @@ export const mapFields = (args)=>{
|
|
|
178
205
|
name: field.name,
|
|
179
206
|
className: field.admin?.className,
|
|
180
207
|
disabled: field.admin?.disabled,
|
|
181
|
-
label: field.label,
|
|
182
208
|
readOnly: field.admin?.readOnly,
|
|
183
209
|
required: field.required,
|
|
184
210
|
style: field.admin?.style,
|
|
@@ -195,7 +221,6 @@ export const mapFields = (args)=>{
|
|
|
195
221
|
className: field.admin?.className,
|
|
196
222
|
disabled: field.admin?.disabled,
|
|
197
223
|
editorOptions: field.admin?.editorOptions,
|
|
198
|
-
label: field.label,
|
|
199
224
|
language: field.admin?.language,
|
|
200
225
|
readOnly: field.admin?.readOnly,
|
|
201
226
|
required: field.required,
|
|
@@ -208,10 +233,11 @@ export const mapFields = (args)=>{
|
|
|
208
233
|
case 'collapsible':
|
|
209
234
|
{
|
|
210
235
|
let CustomCollapsibleLabel;
|
|
211
|
-
if (
|
|
212
|
-
const CustomCollapsibleLabelComponent = field.
|
|
236
|
+
if (field?.admin?.components && 'RowLabel' in field.admin.components && field?.admin?.components?.RowLabel) {
|
|
237
|
+
const CustomCollapsibleLabelComponent = field.admin.components.RowLabel;
|
|
213
238
|
CustomCollapsibleLabel = /*#__PURE__*/ React.createElement(WithServerSideProps, {
|
|
214
|
-
Component: CustomCollapsibleLabelComponent
|
|
239
|
+
Component: CustomCollapsibleLabelComponent,
|
|
240
|
+
...labelProps || {}
|
|
215
241
|
});
|
|
216
242
|
}
|
|
217
243
|
const collapsibleField = {
|
|
@@ -230,7 +256,6 @@ export const mapFields = (args)=>{
|
|
|
230
256
|
readOnly: readOnlyOverride
|
|
231
257
|
}),
|
|
232
258
|
initCollapsed: field.admin?.initCollapsed,
|
|
233
|
-
label: !CustomCollapsibleLabel ? field.label : undefined,
|
|
234
259
|
readOnly: field.admin?.readOnly,
|
|
235
260
|
required: field.required,
|
|
236
261
|
style: field.admin?.style,
|
|
@@ -248,7 +273,6 @@ export const mapFields = (args)=>{
|
|
|
248
273
|
className: field.admin?.className,
|
|
249
274
|
date: field.admin?.date,
|
|
250
275
|
disabled: field.admin?.disabled,
|
|
251
|
-
label: field.label,
|
|
252
276
|
placeholder: field.admin?.placeholder,
|
|
253
277
|
readOnly: field.admin?.readOnly,
|
|
254
278
|
required: field.required,
|
|
@@ -266,7 +290,6 @@ export const mapFields = (args)=>{
|
|
|
266
290
|
name: field.name,
|
|
267
291
|
className: field.admin?.className,
|
|
268
292
|
disabled: field.admin?.disabled,
|
|
269
|
-
label: field.label,
|
|
270
293
|
placeholder: field.admin?.placeholder,
|
|
271
294
|
readOnly: field.admin?.readOnly,
|
|
272
295
|
required: field.required,
|
|
@@ -293,7 +316,6 @@ export const mapFields = (args)=>{
|
|
|
293
316
|
parentPath: path,
|
|
294
317
|
readOnly: readOnlyOverride
|
|
295
318
|
}),
|
|
296
|
-
label: field.label,
|
|
297
319
|
readOnly: field.admin?.readOnly,
|
|
298
320
|
style: field.admin?.style,
|
|
299
321
|
width: field.admin?.width
|
|
@@ -309,7 +331,7 @@ export const mapFields = (args)=>{
|
|
|
309
331
|
className: field.admin?.className,
|
|
310
332
|
disabled: field.admin?.disabled,
|
|
311
333
|
editorOptions: field.admin?.editorOptions,
|
|
312
|
-
|
|
334
|
+
jsonSchema: field.jsonSchema,
|
|
313
335
|
readOnly: field.admin?.readOnly,
|
|
314
336
|
required: field.required,
|
|
315
337
|
style: field.admin?.style,
|
|
@@ -326,7 +348,6 @@ export const mapFields = (args)=>{
|
|
|
326
348
|
className: field.admin?.className,
|
|
327
349
|
disabled: field.admin?.disabled,
|
|
328
350
|
hasMany: field.hasMany,
|
|
329
|
-
label: field.label,
|
|
330
351
|
max: field.max,
|
|
331
352
|
maxRows: field.maxRows,
|
|
332
353
|
min: field.min,
|
|
@@ -346,7 +367,6 @@ export const mapFields = (args)=>{
|
|
|
346
367
|
name: field.name,
|
|
347
368
|
className: field.admin?.className,
|
|
348
369
|
disabled: field.admin?.disabled,
|
|
349
|
-
label: field.label,
|
|
350
370
|
readOnly: field.admin?.readOnly,
|
|
351
371
|
required: field.required,
|
|
352
372
|
style: field.admin?.style,
|
|
@@ -364,7 +384,6 @@ export const mapFields = (args)=>{
|
|
|
364
384
|
className: field.admin?.className,
|
|
365
385
|
disabled: field.admin?.disabled,
|
|
366
386
|
hasMany: field.hasMany,
|
|
367
|
-
label: field.label,
|
|
368
387
|
readOnly: field.admin?.readOnly,
|
|
369
388
|
relationTo: field.relationTo,
|
|
370
389
|
required: field.required,
|
|
@@ -383,7 +402,6 @@ export const mapFields = (args)=>{
|
|
|
383
402
|
name: field.name,
|
|
384
403
|
className: field.admin?.className,
|
|
385
404
|
disabled: field.admin?.disabled,
|
|
386
|
-
label: field.label,
|
|
387
405
|
options: fieldOptions,
|
|
388
406
|
readOnly: field.admin?.readOnly,
|
|
389
407
|
required: field.required,
|
|
@@ -401,12 +419,14 @@ export const mapFields = (args)=>{
|
|
|
401
419
|
name: field.name,
|
|
402
420
|
className: field.admin?.className,
|
|
403
421
|
disabled: field.admin?.disabled,
|
|
404
|
-
label: field.label,
|
|
405
422
|
readOnly: field.admin?.readOnly,
|
|
406
423
|
required: field.required,
|
|
407
424
|
style: field.admin?.style,
|
|
408
425
|
width: field.admin?.width
|
|
409
426
|
};
|
|
427
|
+
if (typeof field?.editor === 'function') {
|
|
428
|
+
throw new Error('Attempted to access unsanitized rich text editor.');
|
|
429
|
+
}
|
|
410
430
|
const RichTextFieldComponent = field.editor.FieldComponent;
|
|
411
431
|
const RichTextCellComponent = field.editor.CellComponent;
|
|
412
432
|
if (typeof field.editor.generateComponentMap === 'function') {
|
|
@@ -497,7 +517,6 @@ export const mapFields = (args)=>{
|
|
|
497
517
|
className: field.admin?.className,
|
|
498
518
|
disabled: field.admin?.disabled,
|
|
499
519
|
hasMany: field.hasMany,
|
|
500
|
-
label: field.label,
|
|
501
520
|
maxLength: field.maxLength,
|
|
502
521
|
minLength: field.minLength,
|
|
503
522
|
placeholder: field.admin?.placeholder,
|
|
@@ -516,7 +535,6 @@ export const mapFields = (args)=>{
|
|
|
516
535
|
name: field.name,
|
|
517
536
|
className: field.admin?.className,
|
|
518
537
|
disabled: field.admin?.disabled,
|
|
519
|
-
label: field.label,
|
|
520
538
|
maxLength: field.maxLength,
|
|
521
539
|
minLength: field.minLength,
|
|
522
540
|
placeholder: field.admin?.placeholder,
|
|
@@ -542,7 +560,6 @@ export const mapFields = (args)=>{
|
|
|
542
560
|
className: field.admin?.className,
|
|
543
561
|
disabled: field.admin?.disabled,
|
|
544
562
|
filterOptions: field.filterOptions,
|
|
545
|
-
label: field.label,
|
|
546
563
|
readOnly: field.admin?.readOnly,
|
|
547
564
|
relationTo: field.relationTo,
|
|
548
565
|
required: field.required,
|
|
@@ -562,7 +579,6 @@ export const mapFields = (args)=>{
|
|
|
562
579
|
disabled: field.admin?.disabled,
|
|
563
580
|
hasMany: field.hasMany,
|
|
564
581
|
isClearable: field.admin?.isClearable,
|
|
565
|
-
label: field.label,
|
|
566
582
|
options: fieldOptions,
|
|
567
583
|
readOnly: field.admin?.readOnly,
|
|
568
584
|
required: field.required,
|
|
@@ -590,7 +606,10 @@ export const mapFields = (args)=>{
|
|
|
590
606
|
...fieldComponentProps
|
|
591
607
|
}) : undefined,
|
|
592
608
|
cellComponentProps,
|
|
609
|
+
custom: field?.admin?.custom,
|
|
593
610
|
disableBulkEdit: 'admin' in field && 'disableBulkEdit' in field.admin && field.admin.disableBulkEdit,
|
|
611
|
+
disableListColumn: 'admin' in field && 'disableListColumn' in field.admin && field.admin.disableListColumn,
|
|
612
|
+
disableListFilter: 'admin' in field && 'disableListFilter' in field.admin && field.admin.disableListFilter,
|
|
594
613
|
fieldComponentProps,
|
|
595
614
|
fieldIsPresentational,
|
|
596
615
|
isFieldAffectingData,
|
|
@@ -617,10 +636,7 @@ export const mapFields = (args)=>{
|
|
|
617
636
|
disableBulkEdit: true,
|
|
618
637
|
fieldComponentProps: {
|
|
619
638
|
name: 'id',
|
|
620
|
-
label: 'ID'
|
|
621
|
-
labelProps: {
|
|
622
|
-
label: 'ID'
|
|
623
|
-
}
|
|
639
|
+
label: 'ID'
|
|
624
640
|
},
|
|
625
641
|
fieldIsPresentational: false,
|
|
626
642
|
isFieldAffectingData: true,
|