@payloadcms/ui 3.1.1 → 3.2.0
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/AddNewRelation/index.d.ts.map +1 -1
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AnimateHeight/index.d.ts +10 -0
- package/dist/elements/AnimateHeight/index.d.ts.map +1 -0
- package/dist/elements/AnimateHeight/index.js +75 -0
- package/dist/elements/AnimateHeight/index.js.map +1 -0
- package/dist/elements/AnimateHeight/index.scss +8 -0
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts +8 -0
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -0
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +49 -0
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -0
- package/dist/elements/AppHeader/index.scss +7 -8
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +2 -4
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/Collapsible/index.d.ts.map +1 -1
- package/dist/elements/Collapsible/index.js +1 -3
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.d.ts +4 -0
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -0
- package/dist/elements/CopyLocaleData/index.js +182 -0
- package/dist/elements/CopyLocaleData/index.js.map +1 -0
- package/dist/elements/CopyLocaleData/index.scss +24 -0
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +3 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +3 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +30 -27
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +2 -0
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +2 -3
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +3 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/types.d.ts +2 -0
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/NavGroup/index.d.ts.map +1 -1
- package/dist/elements/NavGroup/index.js +1 -2
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +5 -0
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +4 -4
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/elements/SearchFilter/index.js +0 -1
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/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/rsc/index.d.ts +1 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +1 -0
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +10 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts +7 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +5 -0
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +3 -2
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +4 -3
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -1
- package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +0 -1
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Locale/index.js +30 -29
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +0 -4
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +8 -0
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +19 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.d.ts +16 -0
- package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -0
- package/dist/utilities/buildClientFieldSchemaMap/index.js +70 -0
- package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -0
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts +15 -0
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -0
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +129 -0
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +13 -14
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts +1 -8
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +19 -41
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/buildTableState.d.ts +1 -7
- package/dist/utilities/buildTableState.d.ts.map +1 -1
- package/dist/utilities/buildTableState.js +2 -21
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts +13 -0
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -0
- package/dist/utilities/copyDataFromLocale.js +195 -0
- package/dist/utilities/copyDataFromLocale.js.map +1 -0
- package/dist/utilities/getClientConfig.d.ts +8 -0
- package/dist/utilities/getClientConfig.d.ts.map +1 -0
- package/dist/utilities/getClientConfig.js +25 -0
- package/dist/utilities/getClientConfig.js.map +1 -0
- package/dist/utilities/getClientSchemaMap.d.ts +11 -0
- package/dist/utilities/getClientSchemaMap.d.ts.map +1 -0
- package/dist/utilities/getClientSchemaMap.js +39 -0
- package/dist/utilities/getClientSchemaMap.js.map +1 -0
- package/dist/utilities/getSchemaMap.d.ts +9 -0
- package/dist/utilities/getSchemaMap.d.ts.map +1 -0
- package/dist/utilities/getSchemaMap.js +35 -0
- package/dist/utilities/getSchemaMap.js.map +1 -0
- package/dist/views/Edit/Auth/types.d.ts +2 -2
- package/dist/views/Edit/Auth/types.d.ts.map +1 -1
- package/dist/views/Edit/Auth/types.js.map +1 -1
- package/package.json +5 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTableState.js","names":["dequal","createClientConfig","formatErrors","renderFilters","renderTable","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","config","i18n","importMap","process","env","NODE_ENV","buildTableStateHandler","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","preferencesArgs","data","update","create","fields","parseInt","undefined","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n ImportMap,\n PaginatedDocs,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { createClientConfig, formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { renderFilters, renderTable } from './renderTable.js'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n importMap: ImportMap\n}): ClientConfig => {\n const { config, i18n, importMap } = args\n\n if (cachedClientConfig && process.env.NODE_ENV !== 'development') {\n return cachedClientConfig\n }\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n importMap,\n })\n\n return cachedClientConfig\n}\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\n renderedFilters: Map<string, React.ReactNode>\n state: Column[]\n Table: React.ReactNode\n}\n\ntype BuildTableStateErrorResult = {\n data?: any\n renderedFilters?: never\n state?: never\n Table?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult\n\nexport const buildTableStateHandler = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\n const { req } = args\n\n try {\n const res = await buildTableState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\n if (req.payload.collections[collectionSlug]) {\n collectionConfig = req.payload.collections[collectionSlug].config\n clientCollectionConfig = clientConfig.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n }\n\n // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0] ?? { id: null, value: {} })\n\n let newPrefs = preferencesResult.value\n\n if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {\n const preferencesArgs = {\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: {\n ...(preferencesResult?.value || {}),\n columns,\n },\n },\n depth: 0,\n req,\n }\n\n if (preferencesResult.id) {\n newPrefs = await payload\n .update({\n ...preferencesArgs,\n id: preferencesResult.id,\n })\n ?.then((res) => res.value as ListPreferences)\n } else {\n newPrefs = await payload.create(preferencesArgs)?.then((res) => res.value as ListPreferences)\n }\n }\n\n const fields = collectionConfig.fields\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildTableState.js","names":["dequal","formatErrors","getClientConfig","renderFilters","renderTable","buildTableStateHandler","args","req","res","buildTableState","err","payload","logger","error","msg","message","collectionSlug","columns","docs","docsFromArgs","enableRowSelections","query","renderRowTypes","i18n","config","user","tableAppearance","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","length","clientConfig","importMap","collectionConfig","clientCollectionConfig","slug","preferencesKey","preferencesResult","where","and","key","equals","id","then","value","newPrefs","preferencesArgs","data","update","create","fields","parseInt","undefined","page","sort","columnState","Table","columnPreferences","useAsTitle","renderedFilters","preferences","state"],"sources":["../../src/utilities/buildTableState.ts"],"sourcesContent":["import type {\n BuildTableStateArgs,\n ClientCollectionConfig,\n ClientConfig,\n ErrorResult,\n PaginatedDocs,\n SanitizedCollectionConfig,\n} from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport { formatErrors } from 'payload'\n\nimport type { Column } from '../elements/Table/index.js'\nimport type { ListPreferences } from '../elements/TableColumns/index.js'\n\nimport { getClientConfig } from './getClientConfig.js'\nimport { renderFilters, renderTable } from './renderTable.js'\n\ntype BuildTableStateSuccessResult = {\n clientConfig?: ClientConfig\n data: PaginatedDocs\n errors?: never\n preferences: ListPreferences\n renderedFilters: Map<string, React.ReactNode>\n state: Column[]\n Table: React.ReactNode\n}\n\ntype BuildTableStateErrorResult = {\n data?: any\n renderedFilters?: never\n state?: never\n Table?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildTableStateResult = BuildTableStateErrorResult | BuildTableStateSuccessResult\n\nexport const buildTableStateHandler = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateResult> => {\n const { req } = args\n\n try {\n const res = await buildTableState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildTableState = async (\n args: BuildTableStateArgs,\n): Promise<BuildTableStateSuccessResult> => {\n const {\n collectionSlug,\n columns,\n docs: docsFromArgs,\n enableRowSelections,\n query,\n renderRowTypes,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n tableAppearance,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n })\n\n let collectionConfig: SanitizedCollectionConfig\n let clientCollectionConfig: ClientCollectionConfig\n\n if (req.payload.collections[collectionSlug]) {\n collectionConfig = req.payload.collections[collectionSlug].config\n clientCollectionConfig = clientConfig.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n }\n\n // get prefs, then set update them using the columns that we just received\n const preferencesKey = `${collectionSlug}-list`\n\n const preferencesResult = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0] ?? { id: null, value: {} })\n\n let newPrefs = preferencesResult.value\n\n if (!preferencesResult.id || !dequal(columns, preferencesResult?.columns)) {\n const preferencesArgs = {\n collection: 'payload-preferences',\n data: {\n key: preferencesKey,\n user: {\n collection: user.collection,\n value: user.id,\n },\n value: {\n ...(preferencesResult?.value || {}),\n columns,\n },\n },\n depth: 0,\n req,\n }\n\n if (preferencesResult.id) {\n newPrefs = await payload\n .update({\n ...preferencesArgs,\n id: preferencesResult.id,\n })\n ?.then((res) => res.value as ListPreferences)\n } else {\n newPrefs = await payload.create(preferencesArgs)?.then((res) => res.value as ListPreferences)\n }\n }\n\n const fields = collectionConfig.fields\n\n let docs = docsFromArgs\n let data: PaginatedDocs\n\n // lookup docs, if desired, i.e. within `join` field which initialize with `depth: 0`\n\n if (!docs || query) {\n data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n limit: query?.limit ? parseInt(query.limit, 10) : undefined,\n page: query?.page ? parseInt(query.page, 10) : undefined,\n sort: query?.sort,\n where: query?.where,\n })\n\n docs = data.docs\n }\n\n const { columnState, Table } = renderTable({\n collectionConfig: clientCollectionConfig,\n columnPreferences: undefined, // TODO, might not be needed\n columns,\n docs,\n enableRowSelections,\n fields,\n i18n: req.i18n,\n payload,\n renderRowTypes,\n tableAppearance,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(fields, req.payload.importMap)\n\n return {\n data,\n preferences: newPrefs,\n renderedFilters,\n state: columnState,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type CollectionSlug, type PayloadRequest } from 'payload';
|
|
2
|
+
export type CopyDataFromLocaleArgs = {
|
|
3
|
+
collectionSlug?: CollectionSlug;
|
|
4
|
+
docID?: number | string;
|
|
5
|
+
fromLocale: string;
|
|
6
|
+
globalSlug?: string;
|
|
7
|
+
overrideData?: boolean;
|
|
8
|
+
req: PayloadRequest;
|
|
9
|
+
toLocale: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const copyDataFromLocaleHandler: (args: CopyDataFromLocaleArgs) => Promise<import("payload").JsonObject | import("payload").ErrorResult>;
|
|
12
|
+
export declare const copyDataFromLocale: (args: CopyDataFromLocaleArgs) => Promise<import("payload").JsonObject>;
|
|
13
|
+
//# sourceMappingURL=copyDataFromLocale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyDataFromLocale.d.ts","sourceRoot":"","sources":["../../src/utilities/copyDataFromLocale.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAInB,KAAK,cAAc,EACpB,MAAM,SAAS,CAAA;AAGhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,cAAc,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAkHD,eAAO,MAAM,yBAAyB,SAAgB,sBAAsB,0EAkB3E,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAgB,sBAAsB,0CAyGpE,CAAA"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { formatErrors } from 'payload';
|
|
2
|
+
import { fieldAffectsData, tabHasName } from 'payload/shared';
|
|
3
|
+
function iterateFields(fields, fromLocaleData, toLocaleData) {
|
|
4
|
+
fields.map(field => {
|
|
5
|
+
if (fieldAffectsData(field)) {
|
|
6
|
+
switch (field.type) {
|
|
7
|
+
case 'array':
|
|
8
|
+
// if the field has no value, take the source value
|
|
9
|
+
if (field.name in toLocaleData &&
|
|
10
|
+
// only replace if the target value is null or undefined
|
|
11
|
+
[null, undefined].includes(toLocaleData[field.name]) && field.name in fromLocaleData) {
|
|
12
|
+
toLocaleData[field.name] = fromLocaleData[field.name];
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
// if the field has a value but is not localized, loop over the data from target
|
|
16
|
+
if (!field.localized && field.name in toLocaleData) {
|
|
17
|
+
toLocaleData[field.name].map((item, index) => {
|
|
18
|
+
if (fromLocaleData[field.name]?.[index]) {
|
|
19
|
+
iterateFields(field.fields, fromLocaleData[field.name][index], item);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
break;
|
|
24
|
+
case 'blocks':
|
|
25
|
+
// if the field has no value, take the source value
|
|
26
|
+
if (field.name in toLocaleData &&
|
|
27
|
+
// only replace if the target value is null or undefined
|
|
28
|
+
[null, undefined].includes(toLocaleData[field.name]) && field.name in fromLocaleData) {
|
|
29
|
+
toLocaleData[field.name] = fromLocaleData[field.name];
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
// if the field has a value but is not localized, loop over the data from target
|
|
33
|
+
if (!field.localized && field.name in toLocaleData) {
|
|
34
|
+
toLocaleData[field.name].map((blockData, index) => {
|
|
35
|
+
const blockFields = field.blocks.find(({
|
|
36
|
+
slug
|
|
37
|
+
}) => slug === blockData.blockType)?.fields;
|
|
38
|
+
if (blockFields?.length) {
|
|
39
|
+
iterateFields(blockFields, fromLocaleData[field.name][index], blockData);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
break;
|
|
44
|
+
case 'checkbox':
|
|
45
|
+
case 'code':
|
|
46
|
+
case 'date':
|
|
47
|
+
case 'email':
|
|
48
|
+
case 'json':
|
|
49
|
+
case 'number':
|
|
50
|
+
case 'point':
|
|
51
|
+
case 'radio':
|
|
52
|
+
case 'relationship':
|
|
53
|
+
case 'richText':
|
|
54
|
+
case 'select':
|
|
55
|
+
case 'text':
|
|
56
|
+
case 'textarea':
|
|
57
|
+
case 'upload':
|
|
58
|
+
if (field.name in toLocaleData &&
|
|
59
|
+
// only replace if the target value is null or undefined
|
|
60
|
+
[null, undefined].includes(toLocaleData[field.name]) && field.name in fromLocaleData) {
|
|
61
|
+
toLocaleData[field.name] = fromLocaleData[field.name];
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
case 'group':
|
|
65
|
+
{
|
|
66
|
+
if (field.name in toLocaleData && fromLocaleData?.[field.name] !== undefined) {
|
|
67
|
+
iterateFields(field.fields, fromLocaleData[field.name], toLocaleData[field.name]);
|
|
68
|
+
}
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
} else {
|
|
73
|
+
switch (field.type) {
|
|
74
|
+
case 'collapsible':
|
|
75
|
+
case 'row':
|
|
76
|
+
iterateFields(field.fields, fromLocaleData, toLocaleData);
|
|
77
|
+
break;
|
|
78
|
+
case 'tabs':
|
|
79
|
+
field.tabs.map(tab => {
|
|
80
|
+
if (tabHasName(tab)) {
|
|
81
|
+
if (tab.name in toLocaleData && fromLocaleData?.[tab.name] !== undefined) {
|
|
82
|
+
iterateFields(tab.fields, fromLocaleData[tab.name], toLocaleData[tab.name]);
|
|
83
|
+
}
|
|
84
|
+
} else {
|
|
85
|
+
iterateFields(tab.fields, fromLocaleData, toLocaleData);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
function mergeData(fromLocaleData, toLocaleData, fields) {
|
|
94
|
+
iterateFields(fields, fromLocaleData, toLocaleData);
|
|
95
|
+
return toLocaleData;
|
|
96
|
+
}
|
|
97
|
+
export const copyDataFromLocaleHandler = async args => {
|
|
98
|
+
const {
|
|
99
|
+
req
|
|
100
|
+
} = args;
|
|
101
|
+
try {
|
|
102
|
+
const res = await copyDataFromLocale(args);
|
|
103
|
+
return res;
|
|
104
|
+
} catch (err) {
|
|
105
|
+
req.payload.logger.error({
|
|
106
|
+
err,
|
|
107
|
+
msg: `There was an error copying data from "${args.fromLocale}" to "${args.toLocale}"`
|
|
108
|
+
});
|
|
109
|
+
if (err.message === 'Unauthorized') {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
return formatErrors(err);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
export const copyDataFromLocale = async args => {
|
|
116
|
+
const {
|
|
117
|
+
collectionSlug,
|
|
118
|
+
docID,
|
|
119
|
+
fromLocale,
|
|
120
|
+
globalSlug,
|
|
121
|
+
overrideData = false,
|
|
122
|
+
req: {
|
|
123
|
+
payload,
|
|
124
|
+
payload: {
|
|
125
|
+
collections,
|
|
126
|
+
globals
|
|
127
|
+
},
|
|
128
|
+
user
|
|
129
|
+
},
|
|
130
|
+
toLocale
|
|
131
|
+
} = args;
|
|
132
|
+
const incomingUserSlug = user?.collection;
|
|
133
|
+
const adminUserSlug = payload.config.admin.user;
|
|
134
|
+
// If we have a user slug, test it against the functions
|
|
135
|
+
if (incomingUserSlug) {
|
|
136
|
+
const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin;
|
|
137
|
+
// Run the admin access function from the config if it exists
|
|
138
|
+
if (adminAccessFunction) {
|
|
139
|
+
const canAccessAdmin = await adminAccessFunction({
|
|
140
|
+
req: args.req
|
|
141
|
+
});
|
|
142
|
+
if (!canAccessAdmin) {
|
|
143
|
+
throw new Error('Unauthorized');
|
|
144
|
+
}
|
|
145
|
+
// Match the user collection to the global admin config
|
|
146
|
+
} else if (adminUserSlug !== incomingUserSlug) {
|
|
147
|
+
throw new Error('Unauthorized');
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
const [fromLocaleData, toLocaleData] = await Promise.allSettled([globalSlug ? payload.findGlobal({
|
|
151
|
+
slug: globalSlug,
|
|
152
|
+
locale: fromLocale,
|
|
153
|
+
overrideAccess: false,
|
|
154
|
+
user
|
|
155
|
+
}) : payload.findByID({
|
|
156
|
+
id: docID,
|
|
157
|
+
collection: collectionSlug,
|
|
158
|
+
locale: fromLocale,
|
|
159
|
+
overrideAccess: false,
|
|
160
|
+
user
|
|
161
|
+
}), globalSlug ? payload.findGlobal({
|
|
162
|
+
slug: globalSlug,
|
|
163
|
+
locale: toLocale,
|
|
164
|
+
overrideAccess: false,
|
|
165
|
+
user
|
|
166
|
+
}) : payload.findByID({
|
|
167
|
+
id: docID,
|
|
168
|
+
collection: collectionSlug,
|
|
169
|
+
locale: toLocale,
|
|
170
|
+
overrideAccess: false,
|
|
171
|
+
user
|
|
172
|
+
})]);
|
|
173
|
+
if (fromLocaleData.status === 'rejected') {
|
|
174
|
+
throw new Error(`Error fetching data from locale "${fromLocale}"`);
|
|
175
|
+
}
|
|
176
|
+
if (toLocaleData.status === 'rejected') {
|
|
177
|
+
throw new Error(`Error fetching data from locale "${toLocale}"`);
|
|
178
|
+
}
|
|
179
|
+
const newToLocaleData = globalSlug ? await payload.updateGlobal({
|
|
180
|
+
slug: globalSlug,
|
|
181
|
+
data: overrideData ? fromLocaleData.value : mergeData(fromLocaleData.value, toLocaleData.value, globals[globalSlug].config.fields),
|
|
182
|
+
locale: toLocale,
|
|
183
|
+
overrideAccess: false,
|
|
184
|
+
user
|
|
185
|
+
}) : await payload.update({
|
|
186
|
+
id: docID,
|
|
187
|
+
collection: collectionSlug,
|
|
188
|
+
data: overrideData ? fromLocaleData.value : mergeData(fromLocaleData.value, toLocaleData.value, collections[collectionSlug].config.fields),
|
|
189
|
+
locale: toLocale,
|
|
190
|
+
overrideAccess: false,
|
|
191
|
+
user
|
|
192
|
+
});
|
|
193
|
+
return newToLocaleData;
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=copyDataFromLocale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyDataFromLocale.js","names":["formatErrors","fieldAffectsData","tabHasName","iterateFields","fields","fromLocaleData","toLocaleData","map","field","type","name","undefined","includes","localized","item","index","blockData","blockFields","blocks","find","slug","blockType","length","tabs","tab","mergeData","copyDataFromLocaleHandler","args","req","res","copyDataFromLocale","err","payload","logger","error","msg","fromLocale","toLocale","message","collectionSlug","docID","globalSlug","overrideData","collections","globals","user","incomingUserSlug","collection","adminUserSlug","config","admin","adminAccessFunction","access","canAccessAdmin","Error","Promise","allSettled","findGlobal","locale","overrideAccess","findByID","id","status","newToLocaleData","updateGlobal","data","value","update"],"sources":["../../src/utilities/copyDataFromLocale.ts"],"sourcesContent":["import {\n type CollectionSlug,\n type Data,\n type Field,\n formatErrors,\n type PayloadRequest,\n} from 'payload'\nimport { fieldAffectsData, tabHasName } from 'payload/shared'\n\nexport type CopyDataFromLocaleArgs = {\n collectionSlug?: CollectionSlug\n docID?: number | string\n fromLocale: string\n globalSlug?: string\n overrideData?: boolean\n req: PayloadRequest\n toLocale: string\n}\n\nfunction iterateFields(fields: Field[], fromLocaleData: Data, toLocaleData: Data): void {\n fields.map((field) => {\n if (fieldAffectsData(field)) {\n switch (field.type) {\n case 'array':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value but is not localized, loop over the data from target\n if (!field.localized && field.name in toLocaleData) {\n toLocaleData[field.name].map((item: Data, index: number) => {\n if (fromLocaleData[field.name]?.[index]) {\n iterateFields(field.fields, fromLocaleData[field.name][index], item)\n }\n })\n }\n break\n\n case 'blocks':\n // if the field has no value, take the source value\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n break\n }\n\n // if the field has a value but is not localized, loop over the data from target\n if (!field.localized && field.name in toLocaleData) {\n toLocaleData[field.name].map((blockData: Data, index: number) => {\n const blockFields = field.blocks.find(\n ({ slug }) => slug === blockData.blockType,\n )?.fields\n\n if (blockFields?.length) {\n iterateFields(blockFields, fromLocaleData[field.name][index], blockData)\n }\n })\n }\n break\n\n case 'checkbox':\n case 'code':\n case 'date':\n case 'email':\n case 'json':\n case 'number':\n case 'point':\n case 'radio':\n case 'relationship':\n case 'richText':\n case 'select':\n case 'text':\n case 'textarea':\n case 'upload':\n if (\n field.name in toLocaleData &&\n // only replace if the target value is null or undefined\n [null, undefined].includes(toLocaleData[field.name]) &&\n field.name in fromLocaleData\n ) {\n toLocaleData[field.name] = fromLocaleData[field.name]\n }\n break\n\n case 'group': {\n if (field.name in toLocaleData && fromLocaleData?.[field.name] !== undefined) {\n iterateFields(field.fields, fromLocaleData[field.name], toLocaleData[field.name])\n }\n break\n }\n }\n } else {\n switch (field.type) {\n case 'collapsible':\n case 'row':\n iterateFields(field.fields, fromLocaleData, toLocaleData)\n break\n\n case 'tabs':\n field.tabs.map((tab) => {\n if (tabHasName(tab)) {\n if (tab.name in toLocaleData && fromLocaleData?.[tab.name] !== undefined) {\n iterateFields(tab.fields, fromLocaleData[tab.name], toLocaleData[tab.name])\n }\n } else {\n iterateFields(tab.fields, fromLocaleData, toLocaleData)\n }\n })\n break\n }\n }\n })\n}\n\nfunction mergeData(fromLocaleData: Data, toLocaleData: Data, fields: Field[]): Data {\n iterateFields(fields, fromLocaleData, toLocaleData)\n\n return toLocaleData\n}\n\nexport const copyDataFromLocaleHandler = async (args: CopyDataFromLocaleArgs) => {\n const { req } = args\n\n try {\n const res = await copyDataFromLocale(args)\n return res\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error copying data from \"${args.fromLocale}\" to \"${args.toLocale}\"`,\n })\n\n if (err.message === 'Unauthorized') {\n return null\n }\n\n return formatErrors(err)\n }\n}\n\nexport const copyDataFromLocale = async (args: CopyDataFromLocaleArgs) => {\n const {\n collectionSlug,\n docID,\n fromLocale,\n globalSlug,\n overrideData = false,\n req: {\n payload,\n payload: { collections, globals },\n user,\n },\n toLocale,\n } = args\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req: args.req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n }\n\n const [fromLocaleData, toLocaleData] = await Promise.allSettled([\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n locale: fromLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n globalSlug\n ? payload.findGlobal({\n slug: globalSlug,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n })\n : payload.findByID({\n id: docID,\n collection: collectionSlug,\n locale: toLocale,\n overrideAccess: false,\n user,\n // `select` would allow us to select only the fields we need in the future\n }),\n ])\n\n if (fromLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${fromLocale}\"`)\n }\n\n if (toLocaleData.status === 'rejected') {\n throw new Error(`Error fetching data from locale \"${toLocale}\"`)\n }\n\n const newToLocaleData = globalSlug\n ? await payload.updateGlobal({\n slug: globalSlug,\n data: overrideData\n ? fromLocaleData.value\n : mergeData(fromLocaleData.value, toLocaleData.value, globals[globalSlug].config.fields),\n locale: toLocale,\n overrideAccess: false,\n user,\n })\n : await payload.update({\n id: docID,\n collection: collectionSlug,\n data: overrideData\n ? fromLocaleData.value\n : mergeData(\n fromLocaleData.value,\n toLocaleData.value,\n collections[collectionSlug].config.fields,\n ),\n locale: toLocale,\n overrideAccess: false,\n user,\n })\n\n return newToLocaleData\n}\n"],"mappings":"AAAA,SAIEA,YAAY,QAEP;AACP,SAASC,gBAAgB,EAAEC,UAAU,QAAQ;AAY7C,SAASC,cAAcC,MAAe,EAAEC,cAAoB,EAAEC,YAAkB;EAC9EF,MAAA,CAAOG,GAAG,CAAEC,KAAA;IACV,IAAIP,gBAAA,CAAiBO,KAAA,GAAQ;MAC3B,QAAQA,KAAA,CAAMC,IAAI;QAChB,KAAK;UACH;UACA,IACED,KAAA,CAAME,IAAI,IAAIJ,YAAA;UACd;UACA,CAAC,MAAMK,SAAA,CAAU,CAACC,QAAQ,CAACN,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,KACnDF,KAAA,CAAME,IAAI,IAAIL,cAAA,EACd;YACAC,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,GAAGL,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC;YACrD;UACF;UAEA;UACA,IAAI,CAACF,KAAA,CAAMK,SAAS,IAAIL,KAAA,CAAME,IAAI,IAAIJ,YAAA,EAAc;YAClDA,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,CAACH,GAAG,CAAC,CAACO,IAAA,EAAYC,KAAA;cACxC,IAAIV,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC,GAAGK,KAAA,CAAM,EAAE;gBACvCZ,aAAA,CAAcK,KAAA,CAAMJ,MAAM,EAAEC,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC,CAACK,KAAA,CAAM,EAAED,IAAA;cACjE;YACF;UACF;UACA;QAEF,KAAK;UACH;UACA,IACEN,KAAA,CAAME,IAAI,IAAIJ,YAAA;UACd;UACA,CAAC,MAAMK,SAAA,CAAU,CAACC,QAAQ,CAACN,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,KACnDF,KAAA,CAAME,IAAI,IAAIL,cAAA,EACd;YACAC,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,GAAGL,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC;YACrD;UACF;UAEA;UACA,IAAI,CAACF,KAAA,CAAMK,SAAS,IAAIL,KAAA,CAAME,IAAI,IAAIJ,YAAA,EAAc;YAClDA,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,CAACH,GAAG,CAAC,CAACS,SAAA,EAAiBD,KAAA;cAC7C,MAAME,WAAA,GAAcT,KAAA,CAAMU,MAAM,CAACC,IAAI,CACnC,CAAC;gBAAEC;cAAI,CAAE,KAAKA,IAAA,KAASJ,SAAA,CAAUK,SAAS,GACzCjB,MAAA;cAEH,IAAIa,WAAA,EAAaK,MAAA,EAAQ;gBACvBnB,aAAA,CAAcc,WAAA,EAAaZ,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC,CAACK,KAAA,CAAM,EAAEC,SAAA;cAChE;YACF;UACF;UACA;QAEF,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;UACH,IACER,KAAA,CAAME,IAAI,IAAIJ,YAAA;UACd;UACA,CAAC,MAAMK,SAAA,CAAU,CAACC,QAAQ,CAACN,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,KACnDF,KAAA,CAAME,IAAI,IAAIL,cAAA,EACd;YACAC,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC,GAAGL,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC;UACvD;UACA;QAEF,KAAK;UAAS;YACZ,IAAIF,KAAA,CAAME,IAAI,IAAIJ,YAAA,IAAgBD,cAAA,GAAiBG,KAAA,CAAME,IAAI,CAAC,KAAKC,SAAA,EAAW;cAC5ER,aAAA,CAAcK,KAAA,CAAMJ,MAAM,EAAEC,cAAc,CAACG,KAAA,CAAME,IAAI,CAAC,EAAEJ,YAAY,CAACE,KAAA,CAAME,IAAI,CAAC;YAClF;YACA;UACF;MACF;IACF,OAAO;MACL,QAAQF,KAAA,CAAMC,IAAI;QAChB,KAAK;QACL,KAAK;UACHN,aAAA,CAAcK,KAAA,CAAMJ,MAAM,EAAEC,cAAA,EAAgBC,YAAA;UAC5C;QAEF,KAAK;UACHE,KAAA,CAAMe,IAAI,CAAChB,GAAG,CAAEiB,GAAA;YACd,IAAItB,UAAA,CAAWsB,GAAA,GAAM;cACnB,IAAIA,GAAA,CAAId,IAAI,IAAIJ,YAAA,IAAgBD,cAAA,GAAiBmB,GAAA,CAAId,IAAI,CAAC,KAAKC,SAAA,EAAW;gBACxER,aAAA,CAAcqB,GAAA,CAAIpB,MAAM,EAAEC,cAAc,CAACmB,GAAA,CAAId,IAAI,CAAC,EAAEJ,YAAY,CAACkB,GAAA,CAAId,IAAI,CAAC;cAC5E;YACF,OAAO;cACLP,aAAA,CAAcqB,GAAA,CAAIpB,MAAM,EAAEC,cAAA,EAAgBC,YAAA;YAC5C;UACF;UACA;MACJ;IACF;EACF;AACF;AAEA,SAASmB,UAAUpB,cAAoB,EAAEC,YAAkB,EAAEF,MAAe;EAC1ED,aAAA,CAAcC,MAAA,EAAQC,cAAA,EAAgBC,YAAA;EAEtC,OAAOA,YAAA;AACT;AAEA,OAAO,MAAMoB,yBAAA,GAA4B,MAAOC,IAAA;EAC9C,MAAM;IAAEC;EAAG,CAAE,GAAGD,IAAA;EAEhB,IAAI;IACF,MAAME,GAAA,GAAM,MAAMC,kBAAA,CAAmBH,IAAA;IACrC,OAAOE,GAAA;EACT,EAAE,OAAOE,GAAA,EAAK;IACZH,GAAA,CAAII,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;MACvBH,GAAA;MACAI,GAAA,EAAK,yCAAyCR,IAAA,CAAKS,UAAU,SAAST,IAAA,CAAKU,QAAQ;IACrF;IAEA,IAAIN,GAAA,CAAIO,OAAO,KAAK,gBAAgB;MAClC,OAAO;IACT;IAEA,OAAOtC,YAAA,CAAa+B,GAAA;EACtB;AACF;AAEA,OAAO,MAAMD,kBAAA,GAAqB,MAAOH,IAAA;EACvC,MAAM;IACJY,cAAc;IACdC,KAAK;IACLJ,UAAU;IACVK,UAAU;IACVC,YAAA,GAAe,KAAK;IACpBd,GAAA,EAAK;MACHI,OAAO;MACPA,OAAA,EAAS;QAAEW,WAAW;QAAEC;MAAO,CAAE;MACjCC;IAAI,CACL;IACDR;EAAQ,CACT,GAAGV,IAAA;EAEJ,MAAMmB,gBAAA,GAAmBD,IAAA,EAAME,UAAA;EAE/B,MAAMC,aAAA,GAAgBhB,OAAA,CAAQiB,MAAM,CAACC,KAAK,CAACL,IAAI;EAE/C;EACA,IAAIC,gBAAA,EAAkB;IACpB,MAAMK,mBAAA,GAAsBnB,OAAA,CAAQW,WAAW,CAACG,gBAAA,CAAiB,CAACG,MAAM,CAACG,MAAM,EAAEF,KAAA;IAEjF;IACA,IAAIC,mBAAA,EAAqB;MACvB,MAAME,cAAA,GAAiB,MAAMF,mBAAA,CAAoB;QAAEvB,GAAA,EAAKD,IAAA,CAAKC;MAAI;MAEjE,IAAI,CAACyB,cAAA,EAAgB;QACnB,MAAM,IAAIC,KAAA,CAAM;MAClB;MACA;IACF,OAAO,IAAIN,aAAA,KAAkBF,gBAAA,EAAkB;MAC7C,MAAM,IAAIQ,KAAA,CAAM;IAClB;EACF;EAEA,MAAM,CAACjD,cAAA,EAAgBC,YAAA,CAAa,GAAG,MAAMiD,OAAA,CAAQC,UAAU,CAAC,CAC9Df,UAAA,GACIT,OAAA,CAAQyB,UAAU,CAAC;IACjBrC,IAAA,EAAMqB,UAAA;IACNiB,MAAA,EAAQtB,UAAA;IACRuB,cAAA,EAAgB;IAChBd;EAEF,KACAb,OAAA,CAAQ4B,QAAQ,CAAC;IACfC,EAAA,EAAIrB,KAAA;IACJO,UAAA,EAAYR,cAAA;IACZmB,MAAA,EAAQtB,UAAA;IACRuB,cAAA,EAAgB;IAChBd;EAEF,IACJJ,UAAA,GACIT,OAAA,CAAQyB,UAAU,CAAC;IACjBrC,IAAA,EAAMqB,UAAA;IACNiB,MAAA,EAAQrB,QAAA;IACRsB,cAAA,EAAgB;IAChBd;EAEF,KACAb,OAAA,CAAQ4B,QAAQ,CAAC;IACfC,EAAA,EAAIrB,KAAA;IACJO,UAAA,EAAYR,cAAA;IACZmB,MAAA,EAAQrB,QAAA;IACRsB,cAAA,EAAgB;IAChBd;EAEF,GACL;EAED,IAAIxC,cAAA,CAAeyD,MAAM,KAAK,YAAY;IACxC,MAAM,IAAIR,KAAA,CAAM,oCAAoClB,UAAA,GAAa;EACnE;EAEA,IAAI9B,YAAA,CAAawD,MAAM,KAAK,YAAY;IACtC,MAAM,IAAIR,KAAA,CAAM,oCAAoCjB,QAAA,GAAW;EACjE;EAEA,MAAM0B,eAAA,GAAkBtB,UAAA,GACpB,MAAMT,OAAA,CAAQgC,YAAY,CAAC;IACzB5C,IAAA,EAAMqB,UAAA;IACNwB,IAAA,EAAMvB,YAAA,GACFrC,cAAA,CAAe6D,KAAK,GACpBzC,SAAA,CAAUpB,cAAA,CAAe6D,KAAK,EAAE5D,YAAA,CAAa4D,KAAK,EAAEtB,OAAO,CAACH,UAAA,CAAW,CAACQ,MAAM,CAAC7C,MAAM;IACzFsD,MAAA,EAAQrB,QAAA;IACRsB,cAAA,EAAgB;IAChBd;EACF,KACA,MAAMb,OAAA,CAAQmC,MAAM,CAAC;IACnBN,EAAA,EAAIrB,KAAA;IACJO,UAAA,EAAYR,cAAA;IACZ0B,IAAA,EAAMvB,YAAA,GACFrC,cAAA,CAAe6D,KAAK,GACpBzC,SAAA,CACEpB,cAAA,CAAe6D,KAAK,EACpB5D,YAAA,CAAa4D,KAAK,EAClBvB,WAAW,CAACJ,cAAA,CAAe,CAACU,MAAM,CAAC7C,MAAM;IAE/CsD,MAAA,EAAQrB,QAAA;IACRsB,cAAA,EAAgB;IAChBd;EACF;EAEJ,OAAOkB,eAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { I18nClient } from '@payloadcms/translations';
|
|
2
|
+
import type { ClientConfig, ImportMap, SanitizedConfig } from 'payload';
|
|
3
|
+
export declare const getClientConfig: (args: {
|
|
4
|
+
config: SanitizedConfig;
|
|
5
|
+
i18n: I18nClient;
|
|
6
|
+
importMap: ImportMap;
|
|
7
|
+
}) => ClientConfig;
|
|
8
|
+
//# sourceMappingURL=getClientConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getClientConfig.d.ts","sourceRoot":"","sources":["../../src/utilities/getClientConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAWvE,eAAO,MAAM,eAAe,SACnB;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,KAAG,YAiB9E,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createClientConfig } from 'payload';
|
|
2
|
+
import { cache } from 'react';
|
|
3
|
+
let cachedClientConfig = global._payload_clientConfig;
|
|
4
|
+
if (!cachedClientConfig) {
|
|
5
|
+
cachedClientConfig = global._payload_clientConfig = null;
|
|
6
|
+
}
|
|
7
|
+
export const getClientConfig = cache(args => {
|
|
8
|
+
if (cachedClientConfig && !global._payload_doNotCacheClientConfig) {
|
|
9
|
+
return cachedClientConfig;
|
|
10
|
+
}
|
|
11
|
+
const {
|
|
12
|
+
config,
|
|
13
|
+
i18n,
|
|
14
|
+
importMap
|
|
15
|
+
} = args;
|
|
16
|
+
cachedClientConfig = createClientConfig({
|
|
17
|
+
config,
|
|
18
|
+
i18n,
|
|
19
|
+
importMap
|
|
20
|
+
});
|
|
21
|
+
global._payload_clientConfig = cachedClientConfig;
|
|
22
|
+
global._payload_doNotCacheClientConfig = false;
|
|
23
|
+
return cachedClientConfig;
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=getClientConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getClientConfig.js","names":["createClientConfig","cache","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","_payload_doNotCacheClientConfig","config","i18n","importMap"],"sources":["../../src/utilities/getClientConfig.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientConfig, ImportMap, SanitizedConfig } from 'payload'\n\nimport { createClientConfig } from 'payload'\nimport { cache } from 'react'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = cache(\n (args: { config: SanitizedConfig; i18n: I18nClient; importMap: ImportMap }): ClientConfig => {\n if (cachedClientConfig && !global._payload_doNotCacheClientConfig) {\n return cachedClientConfig\n }\n const { config, i18n, importMap } = args\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n importMap,\n })\n global._payload_clientConfig = cachedClientConfig\n\n global._payload_doNotCacheClientConfig = false\n\n return cachedClientConfig\n },\n)\n"],"mappings":"AAGA,SAASA,kBAAkB,QAAQ;AACnC,SAASC,KAAK,QAAQ;AAEtB,IAAIC,kBAAA,GAAqBC,MAAA,CAAOC,qBAAqB;AAErD,IAAI,CAACF,kBAAA,EAAoB;EACvBA,kBAAA,GAAqBC,MAAA,CAAOC,qBAAqB,GAAG;AACtD;AAEA,OAAO,MAAMC,eAAA,GAAkBJ,KAAA,CAC5BK,IAAA;EACC,IAAIJ,kBAAA,IAAsB,CAACC,MAAA,CAAOI,+BAA+B,EAAE;IACjE,OAAOL,kBAAA;EACT;EACA,MAAM;IAAEM,MAAM;IAAEC,IAAI;IAAEC;EAAS,CAAE,GAAGJ,IAAA;EAEpCJ,kBAAA,GAAqBF,kBAAA,CAAmB;IACtCQ,MAAA;IACAC,IAAA;IACAC;EACF;EACAP,MAAA,CAAOC,qBAAqB,GAAGF,kBAAA;EAE/BC,MAAA,CAAOI,+BAA+B,GAAG;EAEzC,OAAOL,kBAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { I18nClient } from '@payloadcms/translations';
|
|
2
|
+
import type { ClientConfig, ClientFieldSchemaMap, FieldSchemaMap, Payload } from 'payload';
|
|
3
|
+
export declare const getClientSchemaMap: (args: {
|
|
4
|
+
collectionSlug?: string;
|
|
5
|
+
config: ClientConfig;
|
|
6
|
+
globalSlug?: string;
|
|
7
|
+
i18n: I18nClient;
|
|
8
|
+
payload: Payload;
|
|
9
|
+
schemaMap: FieldSchemaMap;
|
|
10
|
+
}) => ClientFieldSchemaMap;
|
|
11
|
+
//# sourceMappingURL=getClientSchemaMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getClientSchemaMap.d.ts","sourceRoot":"","sources":["../../src/utilities/getClientSchemaMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAY1F,eAAO,MAAM,kBAAkB,SACtB;IACL,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,cAAc,CAAA;CAC1B,KAAG,oBAgCL,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { cache } from 'react';
|
|
2
|
+
import { buildClientFieldSchemaMap } from './buildClientFieldSchemaMap/index.js';
|
|
3
|
+
let cachedClientSchemaMap = global._payload_clientSchemaMap;
|
|
4
|
+
if (!cachedClientSchemaMap) {
|
|
5
|
+
cachedClientSchemaMap = global._payload_clientSchemaMap = null;
|
|
6
|
+
}
|
|
7
|
+
export const getClientSchemaMap = cache(args => {
|
|
8
|
+
const {
|
|
9
|
+
collectionSlug,
|
|
10
|
+
config,
|
|
11
|
+
globalSlug,
|
|
12
|
+
i18n,
|
|
13
|
+
payload,
|
|
14
|
+
schemaMap
|
|
15
|
+
} = args;
|
|
16
|
+
if (!cachedClientSchemaMap || global._payload_doNotCacheClientSchemaMap) {
|
|
17
|
+
cachedClientSchemaMap = new Map();
|
|
18
|
+
}
|
|
19
|
+
let cachedEntityClientFieldMap = cachedClientSchemaMap.get(collectionSlug || globalSlug);
|
|
20
|
+
if (cachedEntityClientFieldMap) {
|
|
21
|
+
return cachedEntityClientFieldMap;
|
|
22
|
+
}
|
|
23
|
+
cachedEntityClientFieldMap = new Map();
|
|
24
|
+
const {
|
|
25
|
+
clientFieldSchemaMap: entityClientFieldMap
|
|
26
|
+
} = buildClientFieldSchemaMap({
|
|
27
|
+
collectionSlug,
|
|
28
|
+
config,
|
|
29
|
+
globalSlug,
|
|
30
|
+
i18n: i18n,
|
|
31
|
+
payload,
|
|
32
|
+
schemaMap
|
|
33
|
+
});
|
|
34
|
+
cachedClientSchemaMap.set(collectionSlug || globalSlug, entityClientFieldMap);
|
|
35
|
+
global._payload_clientSchemaMap = cachedClientSchemaMap;
|
|
36
|
+
global._payload_doNotCacheClientSchemaMap = false;
|
|
37
|
+
return entityClientFieldMap;
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=getClientSchemaMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getClientSchemaMap.js","names":["cache","buildClientFieldSchemaMap","cachedClientSchemaMap","global","_payload_clientSchemaMap","getClientSchemaMap","args","collectionSlug","config","globalSlug","i18n","payload","schemaMap","_payload_doNotCacheClientSchemaMap","Map","cachedEntityClientFieldMap","get","clientFieldSchemaMap","entityClientFieldMap","set"],"sources":["../../src/utilities/getClientSchemaMap.ts"],"sourcesContent":["import type { I18n, I18nClient } from '@payloadcms/translations'\nimport type { ClientConfig, ClientFieldSchemaMap, FieldSchemaMap, Payload } from 'payload'\n\nimport { cache } from 'react'\n\nimport { buildClientFieldSchemaMap } from './buildClientFieldSchemaMap/index.js'\n\nlet cachedClientSchemaMap = global._payload_clientSchemaMap\n\nif (!cachedClientSchemaMap) {\n cachedClientSchemaMap = global._payload_clientSchemaMap = null\n}\n\nexport const getClientSchemaMap = cache(\n (args: {\n collectionSlug?: string\n config: ClientConfig\n globalSlug?: string\n i18n: I18nClient\n payload: Payload\n schemaMap: FieldSchemaMap\n }): ClientFieldSchemaMap => {\n const { collectionSlug, config, globalSlug, i18n, payload, schemaMap } = args\n\n if (!cachedClientSchemaMap || global._payload_doNotCacheClientSchemaMap) {\n cachedClientSchemaMap = new Map()\n }\n\n let cachedEntityClientFieldMap = cachedClientSchemaMap.get(collectionSlug || globalSlug)\n\n if (cachedEntityClientFieldMap) {\n return cachedEntityClientFieldMap\n }\n\n cachedEntityClientFieldMap = new Map()\n\n const { clientFieldSchemaMap: entityClientFieldMap } = buildClientFieldSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n: i18n as I18n,\n payload,\n schemaMap,\n })\n\n cachedClientSchemaMap.set(collectionSlug || globalSlug, entityClientFieldMap)\n\n global._payload_clientSchemaMap = cachedClientSchemaMap\n\n global._payload_doNotCacheClientSchemaMap = false\n\n return entityClientFieldMap\n },\n)\n"],"mappings":"AAGA,SAASA,KAAK,QAAQ;AAEtB,SAASC,yBAAyB,QAAQ;AAE1C,IAAIC,qBAAA,GAAwBC,MAAA,CAAOC,wBAAwB;AAE3D,IAAI,CAACF,qBAAA,EAAuB;EAC1BA,qBAAA,GAAwBC,MAAA,CAAOC,wBAAwB,GAAG;AAC5D;AAEA,OAAO,MAAMC,kBAAA,GAAqBL,KAAA,CAC/BM,IAAA;EAQC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,UAAU;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAS,CAAE,GAAGN,IAAA;EAEzE,IAAI,CAACJ,qBAAA,IAAyBC,MAAA,CAAOU,kCAAkC,EAAE;IACvEX,qBAAA,GAAwB,IAAIY,GAAA;EAC9B;EAEA,IAAIC,0BAAA,GAA6Bb,qBAAA,CAAsBc,GAAG,CAACT,cAAA,IAAkBE,UAAA;EAE7E,IAAIM,0BAAA,EAA4B;IAC9B,OAAOA,0BAAA;EACT;EAEAA,0BAAA,GAA6B,IAAID,GAAA;EAEjC,MAAM;IAAEG,oBAAA,EAAsBC;EAAoB,CAAE,GAAGjB,yBAAA,CAA0B;IAC/EM,cAAA;IACAC,MAAA;IACAC,UAAA;IACAC,IAAA,EAAMA,IAAA;IACNC,OAAA;IACAC;EACF;EAEAV,qBAAA,CAAsBiB,GAAG,CAACZ,cAAA,IAAkBE,UAAA,EAAYS,oBAAA;EAExDf,MAAA,CAAOC,wBAAwB,GAAGF,qBAAA;EAElCC,MAAA,CAAOU,kCAAkC,GAAG;EAE5C,OAAOK,oBAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { I18nClient } from '@payloadcms/translations';
|
|
2
|
+
import type { FieldSchemaMap, SanitizedConfig } from 'payload';
|
|
3
|
+
export declare const getSchemaMap: (args: {
|
|
4
|
+
collectionSlug?: string;
|
|
5
|
+
config: SanitizedConfig;
|
|
6
|
+
globalSlug?: string;
|
|
7
|
+
i18n: I18nClient;
|
|
8
|
+
}) => FieldSchemaMap;
|
|
9
|
+
//# sourceMappingURL=getSchemaMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSchemaMap.d.ts","sourceRoot":"","sources":["../../src/utilities/getSchemaMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAY9D,eAAO,MAAM,YAAY,SAChB;IACL,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,cA8BL,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { cache } from 'react';
|
|
2
|
+
import { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js';
|
|
3
|
+
let cachedSchemaMap = global._payload_schemaMap;
|
|
4
|
+
if (!cachedSchemaMap) {
|
|
5
|
+
cachedSchemaMap = global._payload_schemaMap = null;
|
|
6
|
+
}
|
|
7
|
+
export const getSchemaMap = cache(args => {
|
|
8
|
+
const {
|
|
9
|
+
collectionSlug,
|
|
10
|
+
config,
|
|
11
|
+
globalSlug,
|
|
12
|
+
i18n
|
|
13
|
+
} = args;
|
|
14
|
+
if (!cachedSchemaMap || global._payload_doNotCacheSchemaMap) {
|
|
15
|
+
cachedSchemaMap = new Map();
|
|
16
|
+
}
|
|
17
|
+
let cachedEntityFieldMap = cachedSchemaMap.get(collectionSlug || globalSlug);
|
|
18
|
+
if (cachedEntityFieldMap) {
|
|
19
|
+
return cachedEntityFieldMap;
|
|
20
|
+
}
|
|
21
|
+
cachedEntityFieldMap = new Map();
|
|
22
|
+
const {
|
|
23
|
+
fieldSchemaMap: entityFieldMap
|
|
24
|
+
} = buildFieldSchemaMap({
|
|
25
|
+
collectionSlug,
|
|
26
|
+
config,
|
|
27
|
+
globalSlug,
|
|
28
|
+
i18n: i18n
|
|
29
|
+
});
|
|
30
|
+
cachedSchemaMap.set(collectionSlug || globalSlug, entityFieldMap);
|
|
31
|
+
global._payload_schemaMap = cachedSchemaMap;
|
|
32
|
+
global._payload_doNotCacheSchemaMap = false;
|
|
33
|
+
return entityFieldMap;
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=getSchemaMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSchemaMap.js","names":["cache","buildFieldSchemaMap","cachedSchemaMap","global","_payload_schemaMap","getSchemaMap","args","collectionSlug","config","globalSlug","i18n","_payload_doNotCacheSchemaMap","Map","cachedEntityFieldMap","get","fieldSchemaMap","entityFieldMap","set"],"sources":["../../src/utilities/getSchemaMap.ts"],"sourcesContent":["import type { I18n, I18nClient } from '@payloadcms/translations'\nimport type { FieldSchemaMap, SanitizedConfig } from 'payload'\n\nimport { cache } from 'react'\n\nimport { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js'\n\nlet cachedSchemaMap = global._payload_schemaMap\n\nif (!cachedSchemaMap) {\n cachedSchemaMap = global._payload_schemaMap = null\n}\n\nexport const getSchemaMap = cache(\n (args: {\n collectionSlug?: string\n config: SanitizedConfig\n globalSlug?: string\n i18n: I18nClient\n }): FieldSchemaMap => {\n const { collectionSlug, config, globalSlug, i18n } = args\n\n if (!cachedSchemaMap || global._payload_doNotCacheSchemaMap) {\n cachedSchemaMap = new Map()\n }\n\n let cachedEntityFieldMap = cachedSchemaMap.get(collectionSlug || globalSlug)\n\n if (cachedEntityFieldMap) {\n return cachedEntityFieldMap\n }\n\n cachedEntityFieldMap = new Map()\n\n const { fieldSchemaMap: entityFieldMap } = buildFieldSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n: i18n as I18n,\n })\n\n cachedSchemaMap.set(collectionSlug || globalSlug, entityFieldMap)\n\n global._payload_schemaMap = cachedSchemaMap\n\n global._payload_doNotCacheSchemaMap = false\n\n return entityFieldMap\n },\n)\n"],"mappings":"AAGA,SAASA,KAAK,QAAQ;AAEtB,SAASC,mBAAmB,QAAQ;AAEpC,IAAIC,eAAA,GAAkBC,MAAA,CAAOC,kBAAkB;AAE/C,IAAI,CAACF,eAAA,EAAiB;EACpBA,eAAA,GAAkBC,MAAA,CAAOC,kBAAkB,GAAG;AAChD;AAEA,OAAO,MAAMC,YAAA,GAAeL,KAAA,CACzBM,IAAA;EAMC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAI,CAAE,GAAGJ,IAAA;EAErD,IAAI,CAACJ,eAAA,IAAmBC,MAAA,CAAOQ,4BAA4B,EAAE;IAC3DT,eAAA,GAAkB,IAAIU,GAAA;EACxB;EAEA,IAAIC,oBAAA,GAAuBX,eAAA,CAAgBY,GAAG,CAACP,cAAA,IAAkBE,UAAA;EAEjE,IAAII,oBAAA,EAAsB;IACxB,OAAOA,oBAAA;EACT;EAEAA,oBAAA,GAAuB,IAAID,GAAA;EAE3B,MAAM;IAAEG,cAAA,EAAgBC;EAAc,CAAE,GAAGf,mBAAA,CAAoB;IAC7DM,cAAA;IACAC,MAAA;IACAC,UAAA;IACAC,IAAA,EAAMA;EACR;EAEAR,eAAA,CAAgBe,GAAG,CAACV,cAAA,IAAkBE,UAAA,EAAYO,cAAA;EAElDb,MAAA,CAAOC,kBAAkB,GAAGF,eAAA;EAE5BC,MAAA,CAAOQ,4BAA4B,GAAG;EAEtC,OAAOK,cAAA;AACT","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SanitizedCollectionConfig
|
|
1
|
+
import type { SanitizedCollectionConfig } from 'payload';
|
|
2
2
|
export type Props = {
|
|
3
3
|
className?: string;
|
|
4
4
|
collectionSlug: SanitizedCollectionConfig['slug'];
|
|
@@ -12,6 +12,6 @@ export type Props = {
|
|
|
12
12
|
setValidateBeforeSubmit: (validate: boolean) => void;
|
|
13
13
|
useAPIKey?: boolean;
|
|
14
14
|
username: string;
|
|
15
|
-
verify?: boolean
|
|
15
|
+
verify?: boolean;
|
|
16
16
|
};
|
|
17
17
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAA;IACzE,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC/C,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IACpD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Edit/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Edit/Auth/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug: SanitizedCollectionConfig['slug']\n disableLocalStrategy?: boolean\n email: string\n loginWithUsername: SanitizedCollectionConfig['auth']['loginWithUsername']\n operation: 'create' | 'update'\n readOnly: boolean\n requirePassword?: boolean\n setSchemaPathSegments: (path: string[]) => void\n setValidateBeforeSubmit: (validate: boolean) => void\n useAPIKey?: boolean\n username: string\n verify?: boolean\n}\n"],"mappings":"AAEA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -124,7 +124,6 @@
|
|
|
124
124
|
"md5": "2.3.0",
|
|
125
125
|
"object-to-formdata": "4.5.1",
|
|
126
126
|
"qs-esm": "7.0.2",
|
|
127
|
-
"react-animate-height": "2.1.2",
|
|
128
127
|
"react-datepicker": "6.9.0",
|
|
129
128
|
"react-image-crop": "10.1.8",
|
|
130
129
|
"react-select": "5.8.0",
|
|
@@ -133,7 +132,7 @@
|
|
|
133
132
|
"ts-essentials": "10.0.3",
|
|
134
133
|
"use-context-selector": "2.0.0",
|
|
135
134
|
"uuid": "10.0.0",
|
|
136
|
-
"@payloadcms/translations": "3.
|
|
135
|
+
"@payloadcms/translations": "3.2.0"
|
|
137
136
|
},
|
|
138
137
|
"devDependencies": {
|
|
139
138
|
"@babel/cli": "^7.24.5",
|
|
@@ -151,14 +150,14 @@
|
|
|
151
150
|
"esbuild": "0.23.1",
|
|
152
151
|
"esbuild-sass-plugin": "3.3.1",
|
|
153
152
|
"eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110",
|
|
154
|
-
"
|
|
155
|
-
"
|
|
153
|
+
"payload": "3.2.0",
|
|
154
|
+
"@payloadcms/eslint-config": "3.0.0"
|
|
156
155
|
},
|
|
157
156
|
"peerDependencies": {
|
|
158
157
|
"next": "^15.0.0",
|
|
159
158
|
"react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
160
159
|
"react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
161
|
-
"payload": "3.
|
|
160
|
+
"payload": "3.2.0"
|
|
162
161
|
},
|
|
163
162
|
"engines": {
|
|
164
163
|
"node": "^18.20.2 || >=20.9.0"
|