web / lib/collections/shared-fields
lib/collections/shared-fields
Provides shared, reusable components for defining Payload CMS collections.
This module contains helper functions and constant definitions to promote consistency and reduce boilerplate code across different collection configurations. It includes:
- Access control helpers (e.g.,
isEditorOrAdmin). - Common field definitions (e.g.,
basicMetadataFields,metadataField). - A factory function (
createSlugField) for generating URL-friendly slugs. - A factory function (
createCommonConfig) to apply standard collection-level settings like timestamps, versioning, and drafts.
Interfaces
CommonCollectionOptions
Properties
versions?
optionalversions:boolean
drafts?
optionaldrafts:boolean
maxPerDoc?
optionalmaxPerDoc:number
trash?
optionaltrash:boolean
timestamps?
optionaltimestamps:boolean
Variables
isEditorOrAdmin
constisEditorOrAdmin:Access
basicMetadataFields
constbasicMetadataFields:Field[]
metadataField
constmetadataField:Field
Functions
createSlugField()
createSlugField<
T>(collection,sourceField):Field
Type Parameters
T
T extends "import-files" | "catalogs" | "datasets" | "dataset-schemas" | "import-jobs" | "scheduled-imports" | "events" | "users" | "user-usage" | "media" | "location-cache" | "geocoding-providers" | "pages" | "payload-jobs" | "payload-locked-documents" | "payload-preferences" | "payload-migrations"
Parameters
collection
T
sourceField
string = "name"
Returns
Field
createCommonConfig()
createCommonConfig(
options):object
Parameters
options
Returns
object
timestamps
timestamps:
boolean
trash
trash:
boolean
versions?
optionalversions:object
versions.maxPerDoc
maxPerDoc:
number
versions.drafts?
optionaldrafts:object
versions.drafts.autosave
autosave:
boolean