diff --git a/docs/admin/collections.mdx b/docs/admin/collections.mdx index 6fa5fb9db3d..5d247f516fd 100644 --- a/docs/admin/collections.mdx +++ b/docs/admin/collections.mdx @@ -25,24 +25,25 @@ export const MyCollection: CollectionConfig = { The following options are available: -| Option | Description | -| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **`group`** | Text or localization object used to group Collection and Global links in the admin navigation. Set to `false` to hide the link from the navigation while keeping its routes accessible. | -| **`hidden`** | Set to true or a function, called with the current user, returning true to exclude this Collection from navigation and admin routing. | -| **`hooks`** | Admin-specific hooks for this Collection. [More details](../hooks/collections). | -| **`useAsTitle`** | Specify a top-level field to use for a document title throughout the Admin Panel. If no field is defined, the ID of the document is used as the title. A field with `virtual: true` cannot be used as the title. | -| **`description`** | Text to display below the Collection label in the List View to give editors more information. Alternatively, you can use the `admin.components.Description` to render a React component. [More details](#custom-components). | -| **`defaultColumns`** | Array of field names that correspond to which columns to show by default in this Collection's List View. | -| **`hideAPIURL`** | Hides the "API URL" meta field while editing documents within this Collection. | -| **`enableRichTextLink`** | The [Rich Text](../fields/rich-text) field features a `Link` element which allows for users to automatically reference related documents within their rich text. Set to `true` by default. | -| **`enableRichTextRelationship`** | The [Rich Text](../fields/rich-text) field features a `Relationship` element which allows for users to automatically reference related documents within their rich text. Set to `true` by default. | -| **`meta`** | Page metadata overrides to apply to this Collection within the Admin Panel. [More details](./metadata). | -| **`preview`** | Function to generate preview URLs within the Admin Panel that can point to your app. [More details](#preview). | -| **`livePreview`** | Enable real-time editing for instant visual feedback of your front-end application. [More details](../live-preview/overview). | -| **`components`** | Swap in your own React components to be used within this Collection. [More details](#custom-components). | -| **`listSearchableFields`** | Specify which fields should be searched in the List search view. [More details](#list-searchable-fields). | -| **`pagination`** | Set pagination-specific options for this Collection. [More details](#pagination). | -| **`baseListFilter`** | You can define a default base filter for this collection's List view, which will be merged into any filters that the user performs. | +| Option | Description | +| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **`group`** | Text or localization object used to group Collection and Global links in the admin navigation. Set to `false` to hide the link from the navigation while keeping its routes accessible. | +| **`hidden`** | Set to true or a function, called with the current user, returning true to exclude this Collection from navigation and admin routing. | +| **`hooks`** | Admin-specific hooks for this Collection. [More details](../hooks/collections). | +| **`useAsTitle`** | Specify a top-level field to use for a document title throughout the Admin Panel. If no field is defined, the ID of the document is used as the title. A field with `virtual: true` cannot be used as the title. | +| **`description`** | Text to display below the Collection label in the List View to give editors more information. Alternatively, you can use the `admin.components.Description` to render a React component. [More details](#custom-components). | +| **`defaultColumns`** | Array of field names that correspond to which columns to show by default in this Collection's List View. | +| **`forceRenderAllFields`** | Forces all fields in the Edit view to render immediately, regardless of scroll position. By default, this is set to `false` to improve performance, as fields are progressively rendered to balance load times. Enabling this option can make it easier to locate fields using browser search (e.g., `CMD+F`). | +| **`hideAPIURL`** | Hides the "API URL" meta field while editing documents within this Collection. | +| **`enableRichTextLink`** | The [Rich Text](../fields/rich-text) field features a `Link` element which allows for users to automatically reference related documents within their rich text. Set to `true` by default. | +| **`enableRichTextRelationship`** | The [Rich Text](../fields/rich-text) field features a `Relationship` element which allows for users to automatically reference related documents within their rich text. Set to `true` by default. | +| **`meta`** | Page metadata overrides to apply to this Collection within the Admin Panel. [More details](./metadata). | +| **`preview`** | Function to generate preview URLs within the Admin Panel that can point to your app. [More details](#preview). | +| **`livePreview`** | Enable real-time editing for instant visual feedback of your front-end application. [More details](../live-preview/overview). | +| **`components`** | Swap in your own React components to be used within this Collection. [More details](#custom-components). | +| **`listSearchableFields`** | Specify which fields should be searched in the List search view. [More details](#list-searchable-fields). | +| **`pagination`** | Set pagination-specific options for this Collection. [More details](#pagination). | +| **`baseListFilter`** | You can define a default base filter for this collection's List view, which will be merged into any filters that the user performs. | ### Custom Components diff --git a/docs/admin/globals.mdx b/docs/admin/globals.mdx index b95d9f87dce..f6cd250f488 100644 --- a/docs/admin/globals.mdx +++ b/docs/admin/globals.mdx @@ -25,15 +25,16 @@ export const MyGlobal: GlobalConfig = { The following options are available: -| Option | Description | -| ----------------- | --------------------------------------------------------------------------------------------------------------------------------- | -| **`group`** | Text or localization object used to group Collection and Global links in the admin navigation. Set to `false` to hide the link from the navigation while keeping its routes accessible. | -| **`hidden`** | Set to true or a function, called with the current user, returning true to exclude this Global from navigation and admin routing. | -| **`components`** | Swap in your own React components to be used within this Global. [More details](#custom-components). | -| **`preview`** | Function to generate a preview URL within the Admin Panel for this Global that can point to your app. [More details](#preview). | -| **`livePreview`** | Enable real-time editing for instant visual feedback of your front-end application. [More details](../live-preview/overview). | -| **`hideAPIURL`** | Hides the "API URL" meta field while editing documents within this collection. | -| **`meta`** | Page metadata overrides to apply to this Global within the Admin Panel. [More details](./metadata). | +| Option | Description | +| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **`group`** | Text or localization object used to group Collection and Global links in the admin navigation. Set to `false` to hide the link from the navigation while keeping its routes accessible. | +| **`hidden`** | Set to true or a function, called with the current user, returning true to exclude this Global from navigation and admin routing. | +| **`components`** | Swap in your own React components to be used within this Global. [More details](#custom-components). | +| **`preview`** | Function to generate a preview URL within the Admin Panel for this Global that can point to your app. [More details](#preview). | +| **`livePreview`** | Enable real-time editing for instant visual feedback of your front-end application. [More details](../live-preview/overview). | +| **`hideAPIURL`** | Hides the "API URL" meta field while editing documents within this collection. | +| **`meta`** | Page metadata overrides to apply to this Global within the Admin Panel. [More details](./metadata). | +| **`forceRenderAllFields`** | Forces all fields in the Edit view to render immediately, regardless of scroll position. By default, this is set to `false` to improve performance, as fields are progressively rendered to balance load times. Enabling this option can make it easier to locate fields using browser search (e.g., `CMD+F`). | ### Custom Components diff --git a/packages/next/src/views/LivePreview/index.client.tsx b/packages/next/src/views/LivePreview/index.client.tsx index 168555abbef..9bb3ef0856f 100644 --- a/packages/next/src/views/LivePreview/index.client.tsx +++ b/packages/next/src/views/LivePreview/index.client.tsx @@ -530,6 +530,7 @@ const PreviewView: React.FC = ({ Description={Description} docPermissions={docPermissions} fields={fields} + forceRenderAllFields={docConfig?.admin?.forceRenderAllFields} forceSidebarWrap readOnly={isReadOnlyForIncomingUser || !hasSavePermission} schemaPathSegments={[collectionSlug || globalSlug]} diff --git a/packages/payload/src/admin/fields/Array.ts b/packages/payload/src/admin/fields/Array.ts index 4251a20b5e6..2518be1246f 100644 --- a/packages/payload/src/admin/fields/Array.ts +++ b/packages/payload/src/admin/fields/Array.ts @@ -1,6 +1,6 @@ import type { MarkOptional } from 'ts-essentials' -import type { ArrayField, ArrayFieldClient, ClientField } from '../../fields/config/types.js' +import type { ArrayField, ArrayFieldClient } from '../../fields/config/types.js' import type { ArrayFieldValidation } from '../../fields/validations.js' import type { FieldErrorClientComponent, FieldErrorServerComponent } from '../forms/Error.js' import type { diff --git a/packages/payload/src/collections/config/types.ts b/packages/payload/src/collections/config/types.ts index 862969d9044..9cc18b5b96a 100644 --- a/packages/payload/src/collections/config/types.ts +++ b/packages/payload/src/collections/config/types.ts @@ -334,6 +334,11 @@ export type CollectionAdminOptions = { description?: EntityDescription enableRichTextLink?: boolean enableRichTextRelationship?: boolean + /** + * Forces all fields in the Edit view to render immediately, regardless of scroll position + * @default false + */ + forceRenderAllFields?: boolean /** * Specify a navigational group for collections in the admin sidebar. * - Provide a string to place the entity in a custom group. diff --git a/packages/payload/src/globals/config/types.ts b/packages/payload/src/globals/config/types.ts index 7b8b071a388..da15a978527 100644 --- a/packages/payload/src/globals/config/types.ts +++ b/packages/payload/src/globals/config/types.ts @@ -116,6 +116,11 @@ export type GlobalAdminOptions = { * Custom description for collection */ description?: EntityDescription + /** + * Forces all fields in the Edit view to render immediately, regardless of scroll position + * @default false + */ + forceRenderAllFields?: boolean /** * Specify a navigational group for globals in the admin sidebar. * - Provide a string to place the entity in a custom group. diff --git a/packages/ui/src/elements/BulkUpload/EditForm/index.tsx b/packages/ui/src/elements/BulkUpload/EditForm/index.tsx index 3c3c79e84d8..f7a5934138d 100644 --- a/packages/ui/src/elements/BulkUpload/EditForm/index.tsx +++ b/packages/ui/src/elements/BulkUpload/EditForm/index.tsx @@ -168,6 +168,7 @@ export function EditForm({ submitted }: EditFormProps) { } docPermissions={docPermissions} fields={collectionConfig.fields} + forceRenderAllFields={collectionConfig?.admin?.forceRenderAllFields} schemaPathSegments={[collectionConfig.slug]} /> diff --git a/packages/ui/src/elements/DocumentFields/index.tsx b/packages/ui/src/elements/DocumentFields/index.tsx index 303f6ba6706..9cd3c172585 100644 --- a/packages/ui/src/elements/DocumentFields/index.tsx +++ b/packages/ui/src/elements/DocumentFields/index.tsx @@ -17,6 +17,7 @@ type Args = { readonly Description?: React.ReactNode readonly docPermissions: SanitizedDocumentPermissions readonly fields: ClientField[] + readonly forceRenderAllFields?: boolean readonly forceSidebarWrap?: boolean readonly readOnly?: boolean readonly schemaPathSegments: string[] @@ -28,6 +29,7 @@ export const DocumentFields: React.FC = ({ Description, docPermissions, fields, + forceRenderAllFields, forceSidebarWrap, readOnly: readOnlyProp, schemaPathSegments, @@ -79,7 +81,7 @@ export const DocumentFields: React.FC = ({ = ({
= ({ duplicateRow, errorCount, fields, - forceRender = false, + forceRender, hasMaxRows, isDragging, isLoading: isLoadingFromProps, diff --git a/packages/ui/src/fields/Blocks/BlockRow.tsx b/packages/ui/src/fields/Blocks/BlockRow.tsx index 370035a9c04..5dfe94a261c 100644 --- a/packages/ui/src/fields/Blocks/BlockRow.tsx +++ b/packages/ui/src/fields/Blocks/BlockRow.tsx @@ -27,6 +27,7 @@ type BlocksFieldProps = { duplicateRow: (rowIndex: number) => void errorCount: number fields: ClientField[] + forceRender?: boolean hasMaxRows?: boolean isLoading?: boolean isSortable?: boolean @@ -53,6 +54,7 @@ export const BlockRow: React.FC = ({ duplicateRow, errorCount, fields, + forceRender, hasMaxRows, isLoading: isLoadingFromProps, isSortable, @@ -170,6 +172,7 @@ export const BlockRow: React.FC = ({ { minRows: minRowsProp, required, }, + forceRender = false, path, permissions, readOnly, @@ -280,6 +281,7 @@ const BlocksFieldComponent: BlocksFieldClientComponent = (props) => { duplicateRow={duplicateRow} errorCount={rowErrorCount} fields={blockConfig.fields} + forceRender={forceRender} hasMaxRows={hasMaxRows} isLoading={isLoading} isSortable={isSortable} diff --git a/packages/ui/src/fields/Collapsible/index.tsx b/packages/ui/src/fields/Collapsible/index.tsx index b4a307fda1a..5f5b11d053c 100644 --- a/packages/ui/src/fields/Collapsible/index.tsx +++ b/packages/ui/src/fields/Collapsible/index.tsx @@ -26,6 +26,7 @@ const CollapsibleFieldComponent: CollapsibleFieldClientComponent = (props) => { const { field, field: { admin: { className, description, initCollapsed = false } = {}, fields, label } = {}, + forceRender = false, indexPath, parentPath, parentSchemaPath, @@ -135,6 +136,7 @@ const CollapsibleFieldComponent: CollapsibleFieldClientComponent = (props) => { > { const { field, field: { name, admin: { className, description, hideGutter } = {}, fields, label }, + forceRender = false, path, permissions, readOnly, schemaPath: schemaPathFromProps, } = props + const schemaPath = schemaPathFromProps ?? name const { i18n } = useTranslation() @@ -101,6 +103,7 @@ export const GroupFieldComponent: GroupFieldClientComponent = (props) => { {BeforeInput} = (props) => { const { className, fields, - forceRender, + forceRender: forceRenderFromProps, + forceRenderAllFields, margins, parentIndexPath, parentPath, @@ -29,6 +30,8 @@ export const RenderFields: React.FC = (props) => { const operation = useOperation() + const forceRender = forceRenderAllFields || forceRenderFromProps + if (fields && fields.length > 0) { return ( = ({ Description={Description} docPermissions={docPermissions} fields={docConfig.fields} + forceRenderAllFields={docConfig?.admin?.forceRenderAllFields} readOnly={isReadOnlyForIncomingUser || !hasSavePermission} schemaPathSegments={schemaPathSegments} /> diff --git a/test/admin/collections/ForceRender.ts b/test/admin/collections/ForceRender.ts new file mode 100644 index 00000000000..9e6b4904e3a --- /dev/null +++ b/test/admin/collections/ForceRender.ts @@ -0,0 +1,532 @@ +import type { CollectionConfig } from 'payload' + +import { forceRenderCollectionSlug } from '../slugs.js' + +export const CollectionForceRender: CollectionConfig = { + slug: forceRenderCollectionSlug, + admin: { + forceRenderAllFields: true, + }, + fields: [ + { + name: 'groupOne', + type: 'group', + fields: [ + { + name: 'field1', + type: 'text', + }, + { + name: 'field2', + type: 'text', + }, + { + name: 'field3', + type: 'text', + }, + { + name: 'field4', + type: 'text', + }, + { + name: 'field5', + type: 'text', + }, + ], + }, + { + name: 'groupTwo', + type: 'group', + fields: [ + { + name: 'field6', + type: 'text', + }, + { + name: 'field7', + type: 'text', + }, + { + name: 'field8', + type: 'text', + }, + { + name: 'field9', + type: 'text', + }, + { + name: 'field10', + type: 'text', + }, + ], + }, + { + name: 'groupThree', + type: 'group', + fields: [ + { + name: 'field11', + type: 'text', + }, + { + name: 'field12', + type: 'text', + }, + { + name: 'field13', + type: 'text', + }, + { + name: 'field14', + type: 'text', + }, + { + name: 'field15', + type: 'text', + }, + ], + }, + { + name: 'groupFour', + type: 'group', + fields: [ + { + name: 'field16', + type: 'text', + }, + { + name: 'field17', + type: 'text', + }, + { + name: 'field18', + type: 'text', + }, + { + name: 'field19', + type: 'text', + }, + { + name: 'field20', + type: 'text', + }, + ], + }, + { + name: 'groupFive', + type: 'group', + fields: [ + { + name: 'field21', + type: 'text', + }, + { + name: 'field22', + type: 'text', + }, + { + name: 'field23', + type: 'text', + }, + { + name: 'field24', + type: 'text', + }, + { + name: 'field25', + type: 'text', + }, + ], + }, + { + name: 'groupSix', + type: 'group', + fields: [ + { + name: 'field26', + type: 'text', + }, + { + name: 'field27', + type: 'text', + }, + { + name: 'field28', + type: 'text', + }, + { + name: 'field29', + type: 'text', + }, + { + name: 'field30', + type: 'text', + }, + ], + }, + { + name: 'groupSeven', + type: 'group', + fields: [ + { + name: 'field31', + type: 'text', + }, + { + name: 'field32', + type: 'text', + }, + { + name: 'field33', + type: 'text', + }, + { + name: 'field34', + type: 'text', + }, + { + name: 'field35', + type: 'text', + }, + ], + }, + { + name: 'groupEight', + type: 'group', + fields: [ + { + name: 'field36', + type: 'text', + }, + { + name: 'field37', + type: 'text', + }, + { + name: 'field38', + type: 'text', + }, + { + name: 'field39', + type: 'text', + }, + { + name: 'field40', + type: 'text', + }, + ], + }, + { + name: 'groupNine', + type: 'group', + fields: [ + { + name: 'field41', + type: 'text', + }, + { + name: 'field42', + type: 'text', + }, + { + name: 'field43', + type: 'text', + }, + { + name: 'field44', + type: 'text', + }, + { + name: 'field45', + type: 'text', + }, + ], + }, + { + name: 'groupTen', + type: 'group', + fields: [ + { + name: 'field46', + type: 'text', + }, + { + name: 'field47', + type: 'text', + }, + { + name: 'field48', + type: 'text', + }, + { + name: 'field49', + type: 'text', + }, + { + name: 'field50', + type: 'text', + }, + ], + }, + { + name: 'groupEleven', + type: 'group', + fields: [ + { + name: 'field51', + type: 'text', + }, + { + name: 'field52', + type: 'text', + }, + { + name: 'field53', + type: 'text', + }, + { + name: 'field54', + type: 'text', + }, + { + name: 'field55', + type: 'text', + }, + ], + }, + { + name: 'groupTwelve', + type: 'group', + fields: [ + { + name: 'field56', + type: 'text', + }, + { + name: 'field57', + type: 'text', + }, + { + name: 'field58', + type: 'text', + }, + { + name: 'field59', + type: 'text', + }, + { + name: 'field60', + type: 'text', + }, + ], + }, + { + name: 'groupThirteen', + type: 'group', + fields: [ + { + name: 'field61', + type: 'text', + }, + { + name: 'field62', + type: 'text', + }, + { + name: 'field63', + type: 'text', + }, + { + name: 'field64', + type: 'text', + }, + { + name: 'field65', + type: 'text', + }, + ], + }, + { + name: 'groupFourteen', + type: 'group', + fields: [ + { + name: 'field66', + type: 'text', + }, + { + name: 'field67', + type: 'text', + }, + { + name: 'field68', + type: 'text', + }, + { + name: 'field69', + type: 'text', + }, + { + name: 'field70', + type: 'text', + }, + ], + }, + { + name: 'groupFifteen', + type: 'group', + fields: [ + { + name: 'field71', + type: 'text', + }, + { + name: 'field72', + type: 'text', + }, + { + name: 'field73', + type: 'text', + }, + { + name: 'field74', + type: 'text', + }, + { + name: 'field75', + type: 'text', + }, + ], + }, + { + name: 'groupSixteen', + type: 'group', + fields: [ + { + name: 'field76', + type: 'text', + }, + { + name: 'field77', + type: 'text', + }, + { + name: 'field78', + type: 'text', + }, + { + name: 'field79', + type: 'text', + }, + { + name: 'field80', + type: 'text', + }, + ], + }, + { + name: 'groupSeventeen', + type: 'group', + fields: [ + { + name: 'field81', + type: 'text', + }, + { + name: 'field82', + type: 'text', + }, + { + name: 'field83', + type: 'text', + }, + { + name: 'field84', + type: 'text', + }, + { + name: 'field85', + type: 'text', + }, + ], + }, + { + name: 'groupEighteen', + type: 'group', + fields: [ + { + name: 'field86', + type: 'text', + }, + { + name: 'field87', + type: 'text', + }, + { + name: 'field88', + type: 'text', + }, + { + name: 'field89', + type: 'text', + }, + { + name: 'field90', + type: 'text', + }, + ], + }, + { + name: 'groupNineteen', + type: 'group', + fields: [ + { + name: 'field91', + type: 'text', + }, + { + name: 'field92', + type: 'text', + }, + { + name: 'field93', + type: 'text', + }, + { + name: 'field94', + type: 'text', + }, + { + name: 'field95', + type: 'text', + }, + ], + }, + { + name: 'groupTwenty', + type: 'group', + fields: [ + { + name: 'field96', + type: 'text', + }, + { + name: 'field97', + type: 'text', + }, + { + name: 'field98', + type: 'text', + }, + { + name: 'field99', + type: 'text', + }, + { + name: 'field100', + type: 'text', + }, + ], + }, + ], +} diff --git a/test/admin/collections/NoForceRender.ts b/test/admin/collections/NoForceRender.ts new file mode 100644 index 00000000000..71495fc6437 --- /dev/null +++ b/test/admin/collections/NoForceRender.ts @@ -0,0 +1,532 @@ +import type { CollectionConfig } from 'payload' + +import { noForceRenderCollectionSlug } from '../slugs.js' + +export const CollectionNoForceRender: CollectionConfig = { + slug: noForceRenderCollectionSlug, + admin: { + forceRenderAllFields: false, + }, + fields: [ + { + name: 'groupOne', + type: 'group', + fields: [ + { + name: 'field1', + type: 'text', + }, + { + name: 'field2', + type: 'text', + }, + { + name: 'field3', + type: 'text', + }, + { + name: 'field4', + type: 'text', + }, + { + name: 'field5', + type: 'text', + }, + ], + }, + { + name: 'groupTwo', + type: 'group', + fields: [ + { + name: 'field6', + type: 'text', + }, + { + name: 'field7', + type: 'text', + }, + { + name: 'field8', + type: 'text', + }, + { + name: 'field9', + type: 'text', + }, + { + name: 'field10', + type: 'text', + }, + ], + }, + { + name: 'groupThree', + type: 'group', + fields: [ + { + name: 'field11', + type: 'text', + }, + { + name: 'field12', + type: 'text', + }, + { + name: 'field13', + type: 'text', + }, + { + name: 'field14', + type: 'text', + }, + { + name: 'field15', + type: 'text', + }, + ], + }, + { + name: 'groupFour', + type: 'group', + fields: [ + { + name: 'field16', + type: 'text', + }, + { + name: 'field17', + type: 'text', + }, + { + name: 'field18', + type: 'text', + }, + { + name: 'field19', + type: 'text', + }, + { + name: 'field20', + type: 'text', + }, + ], + }, + { + name: 'groupFive', + type: 'group', + fields: [ + { + name: 'field21', + type: 'text', + }, + { + name: 'field22', + type: 'text', + }, + { + name: 'field23', + type: 'text', + }, + { + name: 'field24', + type: 'text', + }, + { + name: 'field25', + type: 'text', + }, + ], + }, + { + name: 'groupSix', + type: 'group', + fields: [ + { + name: 'field26', + type: 'text', + }, + { + name: 'field27', + type: 'text', + }, + { + name: 'field28', + type: 'text', + }, + { + name: 'field29', + type: 'text', + }, + { + name: 'field30', + type: 'text', + }, + ], + }, + { + name: 'groupSeven', + type: 'group', + fields: [ + { + name: 'field31', + type: 'text', + }, + { + name: 'field32', + type: 'text', + }, + { + name: 'field33', + type: 'text', + }, + { + name: 'field34', + type: 'text', + }, + { + name: 'field35', + type: 'text', + }, + ], + }, + { + name: 'groupEight', + type: 'group', + fields: [ + { + name: 'field36', + type: 'text', + }, + { + name: 'field37', + type: 'text', + }, + { + name: 'field38', + type: 'text', + }, + { + name: 'field39', + type: 'text', + }, + { + name: 'field40', + type: 'text', + }, + ], + }, + { + name: 'groupNine', + type: 'group', + fields: [ + { + name: 'field41', + type: 'text', + }, + { + name: 'field42', + type: 'text', + }, + { + name: 'field43', + type: 'text', + }, + { + name: 'field44', + type: 'text', + }, + { + name: 'field45', + type: 'text', + }, + ], + }, + { + name: 'groupTen', + type: 'group', + fields: [ + { + name: 'field46', + type: 'text', + }, + { + name: 'field47', + type: 'text', + }, + { + name: 'field48', + type: 'text', + }, + { + name: 'field49', + type: 'text', + }, + { + name: 'field50', + type: 'text', + }, + ], + }, + { + name: 'groupEleven', + type: 'group', + fields: [ + { + name: 'field51', + type: 'text', + }, + { + name: 'field52', + type: 'text', + }, + { + name: 'field53', + type: 'text', + }, + { + name: 'field54', + type: 'text', + }, + { + name: 'field55', + type: 'text', + }, + ], + }, + { + name: 'groupTwelve', + type: 'group', + fields: [ + { + name: 'field56', + type: 'text', + }, + { + name: 'field57', + type: 'text', + }, + { + name: 'field58', + type: 'text', + }, + { + name: 'field59', + type: 'text', + }, + { + name: 'field60', + type: 'text', + }, + ], + }, + { + name: 'groupThirteen', + type: 'group', + fields: [ + { + name: 'field61', + type: 'text', + }, + { + name: 'field62', + type: 'text', + }, + { + name: 'field63', + type: 'text', + }, + { + name: 'field64', + type: 'text', + }, + { + name: 'field65', + type: 'text', + }, + ], + }, + { + name: 'groupFourteen', + type: 'group', + fields: [ + { + name: 'field66', + type: 'text', + }, + { + name: 'field67', + type: 'text', + }, + { + name: 'field68', + type: 'text', + }, + { + name: 'field69', + type: 'text', + }, + { + name: 'field70', + type: 'text', + }, + ], + }, + { + name: 'groupFifteen', + type: 'group', + fields: [ + { + name: 'field71', + type: 'text', + }, + { + name: 'field72', + type: 'text', + }, + { + name: 'field73', + type: 'text', + }, + { + name: 'field74', + type: 'text', + }, + { + name: 'field75', + type: 'text', + }, + ], + }, + { + name: 'groupSixteen', + type: 'group', + fields: [ + { + name: 'field76', + type: 'text', + }, + { + name: 'field77', + type: 'text', + }, + { + name: 'field78', + type: 'text', + }, + { + name: 'field79', + type: 'text', + }, + { + name: 'field80', + type: 'text', + }, + ], + }, + { + name: 'groupSeventeen', + type: 'group', + fields: [ + { + name: 'field81', + type: 'text', + }, + { + name: 'field82', + type: 'text', + }, + { + name: 'field83', + type: 'text', + }, + { + name: 'field84', + type: 'text', + }, + { + name: 'field85', + type: 'text', + }, + ], + }, + { + name: 'groupEighteen', + type: 'group', + fields: [ + { + name: 'field86', + type: 'text', + }, + { + name: 'field87', + type: 'text', + }, + { + name: 'field88', + type: 'text', + }, + { + name: 'field89', + type: 'text', + }, + { + name: 'field90', + type: 'text', + }, + ], + }, + { + name: 'groupNineteen', + type: 'group', + fields: [ + { + name: 'field91', + type: 'text', + }, + { + name: 'field92', + type: 'text', + }, + { + name: 'field93', + type: 'text', + }, + { + name: 'field94', + type: 'text', + }, + { + name: 'field95', + type: 'text', + }, + ], + }, + { + name: 'groupTwenty', + type: 'group', + fields: [ + { + name: 'field96', + type: 'text', + }, + { + name: 'field97', + type: 'text', + }, + { + name: 'field98', + type: 'text', + }, + { + name: 'field99', + type: 'text', + }, + { + name: 'field100', + type: 'text', + }, + ], + }, + ], +} diff --git a/test/admin/config.ts b/test/admin/config.ts index b08a1060fc2..84c93c81862 100644 --- a/test/admin/config.ts +++ b/test/admin/config.ts @@ -8,6 +8,7 @@ import { CustomFields } from './collections/CustomFields/index.js' import { CustomViews1 } from './collections/CustomViews1.js' import { CustomViews2 } from './collections/CustomViews2.js' import { DisableDuplicate } from './collections/DisableDuplicate.js' +import { CollectionForceRender } from './collections/ForceRender.js' import { Geo } from './collections/Geo.js' import { CollectionGroup1A } from './collections/Group1A.js' import { CollectionGroup1B } from './collections/Group1B.js' @@ -15,17 +16,20 @@ import { CollectionGroup2A } from './collections/Group2A.js' import { CollectionGroup2B } from './collections/Group2B.js' import { CollectionHidden } from './collections/Hidden.js' import { CollectionNoApiView } from './collections/NoApiView.js' +import { CollectionNoForceRender } from './collections/NoForceRender.js' import { CollectionNotInView } from './collections/NotInView.js' import { Posts } from './collections/Posts.js' import { UploadCollection } from './collections/Upload.js' import { Users } from './collections/Users.js' import { CustomGlobalViews1 } from './globals/CustomViews1.js' import { CustomGlobalViews2 } from './globals/CustomViews2.js' +import { GlobalForceRender } from './globals/ForceRender.js' import { Global } from './globals/Global.js' import { GlobalGroup1A } from './globals/Group1A.js' import { GlobalGroup1B } from './globals/Group1B.js' import { GlobalHidden } from './globals/Hidden.js' import { GlobalNoApiView } from './globals/NoApiView.js' +import { GlobalNoForceRender } from './globals/NoForceRender.js' import { GlobalNotInView } from './globals/NotInView.js' import { Settings } from './globals/Settings.js' import { seed } from './seed.js' @@ -152,11 +156,15 @@ export default buildConfigWithDefaults({ CollectionGroup1B, CollectionGroup2A, CollectionGroup2B, + CollectionForceRender, + CollectionNoForceRender, Geo, DisableDuplicate, BaseListFilter, ], globals: [ + GlobalForceRender, + GlobalNoForceRender, GlobalHidden, GlobalNotInView, GlobalNoApiView, diff --git a/test/admin/e2e/general/e2e.spec.ts b/test/admin/e2e/general/e2e.spec.ts index 369ac5fe796..3157b213815 100644 --- a/test/admin/e2e/general/e2e.spec.ts +++ b/test/admin/e2e/general/e2e.spec.ts @@ -34,6 +34,10 @@ import { import { customViews2CollectionSlug, disableDuplicateSlug, + forceRenderCollectionSlug, + noForceRenderCollectionSlug, + forceRenderGlobalSlug, + noForceRenderGlobalSlug, geoCollectionSlug, globalSlug, notInViewCollectionSlug, @@ -69,6 +73,10 @@ describe('General', () => { let globalURL: AdminUrlUtil let customViewsURL: AdminUrlUtil let disableDuplicateURL: AdminUrlUtil + let forceRenderCollectionURL: AdminUrlUtil + let forceRenderGlobalURL: AdminUrlUtil + let noForceRenderCollectionURL: AdminUrlUtil + let noForceRenderGlobalURL: AdminUrlUtil let serverURL: string let adminRoutes: ReturnType @@ -88,6 +96,10 @@ describe('General', () => { globalURL = new AdminUrlUtil(serverURL, globalSlug) customViewsURL = new AdminUrlUtil(serverURL, customViews2CollectionSlug) disableDuplicateURL = new AdminUrlUtil(serverURL, disableDuplicateSlug) + forceRenderCollectionURL = new AdminUrlUtil(serverURL, forceRenderCollectionSlug) + forceRenderGlobalURL = new AdminUrlUtil(serverURL, forceRenderGlobalSlug) + noForceRenderCollectionURL = new AdminUrlUtil(serverURL, noForceRenderCollectionSlug) + noForceRenderGlobalURL = new AdminUrlUtil(serverURL, noForceRenderGlobalSlug) const context = await browser.newContext() page = await context.newPage() @@ -938,6 +950,64 @@ describe('General', () => { await expect(toast).toBeVisible() }) }) + + describe('browser search', () => { + test('should successfully find field in large collection edit view document', async () => { + await page.goto(forceRenderCollectionURL.create) + await page.waitForURL(forceRenderCollectionURL.create) + + const isMac = process.platform === 'darwin' + const searchKey = isMac ? 'Meta+F' : 'Control+F' + + await page.keyboard.press(searchKey) + + await page.keyboard.type('Field100') + + await expect(page.locator('label >> text=Field100')).toBeVisible() + }) + + test('should not find field in large collection edit view document', async () => { + await page.goto(noForceRenderCollectionURL.create) + await page.waitForURL(noForceRenderCollectionURL.create) + + const isMac = process.platform === 'darwin' + const searchKey = isMac ? 'Meta+F' : 'Control+F' + + await page.keyboard.press(searchKey) + + await page.keyboard.type('Field100') + + await expect(page.locator('label >> text=Field100')).toBeHidden() + }) + + test('should successfully find field in large global edit view document', async () => { + await page.goto(forceRenderGlobalURL.global(forceRenderGlobalSlug)) + await page.waitForURL(forceRenderGlobalURL.global(forceRenderGlobalSlug)) + + const isMac = process.platform === 'darwin' + const searchKey = isMac ? 'Meta+F' : 'Control+F' + + await page.keyboard.press(searchKey) + + await page.keyboard.type('Field100') + + await expect(page.locator('label >> text=Field100')).toBeVisible() + }) + + test('should not find field in large global edit view document', async () => { + await page.goto(noForceRenderGlobalURL.global(noForceRenderGlobalSlug)) + await page.waitForURL(noForceRenderGlobalURL.global(noForceRenderGlobalSlug)) + + const isMac = process.platform === 'darwin' + const searchKey = isMac ? 'Meta+F' : 'Control+F' + + await page.keyboard.press(searchKey) + + await page.keyboard.type('Field100') + + await expect(page.locator('label >> text=Field100')).toBeHidden() + }) + }) }) async function deleteAllPosts() { diff --git a/test/admin/globals/ForceRender.ts b/test/admin/globals/ForceRender.ts new file mode 100644 index 00000000000..6988f247fd8 --- /dev/null +++ b/test/admin/globals/ForceRender.ts @@ -0,0 +1,532 @@ +import type { GlobalConfig } from 'payload' + +import { forceRenderGlobalSlug } from '../slugs.js' + +export const GlobalForceRender: GlobalConfig = { + slug: forceRenderGlobalSlug, + admin: { + forceRenderAllFields: true, + }, + fields: [ + { + name: 'groupOne', + type: 'group', + fields: [ + { + name: 'field1', + type: 'text', + }, + { + name: 'field2', + type: 'text', + }, + { + name: 'field3', + type: 'text', + }, + { + name: 'field4', + type: 'text', + }, + { + name: 'field5', + type: 'text', + }, + ], + }, + { + name: 'groupTwo', + type: 'group', + fields: [ + { + name: 'field6', + type: 'text', + }, + { + name: 'field7', + type: 'text', + }, + { + name: 'field8', + type: 'text', + }, + { + name: 'field9', + type: 'text', + }, + { + name: 'field10', + type: 'text', + }, + ], + }, + { + name: 'groupThree', + type: 'group', + fields: [ + { + name: 'field11', + type: 'text', + }, + { + name: 'field12', + type: 'text', + }, + { + name: 'field13', + type: 'text', + }, + { + name: 'field14', + type: 'text', + }, + { + name: 'field15', + type: 'text', + }, + ], + }, + { + name: 'groupFour', + type: 'group', + fields: [ + { + name: 'field16', + type: 'text', + }, + { + name: 'field17', + type: 'text', + }, + { + name: 'field18', + type: 'text', + }, + { + name: 'field19', + type: 'text', + }, + { + name: 'field20', + type: 'text', + }, + ], + }, + { + name: 'groupFive', + type: 'group', + fields: [ + { + name: 'field21', + type: 'text', + }, + { + name: 'field22', + type: 'text', + }, + { + name: 'field23', + type: 'text', + }, + { + name: 'field24', + type: 'text', + }, + { + name: 'field25', + type: 'text', + }, + ], + }, + { + name: 'groupSix', + type: 'group', + fields: [ + { + name: 'field26', + type: 'text', + }, + { + name: 'field27', + type: 'text', + }, + { + name: 'field28', + type: 'text', + }, + { + name: 'field29', + type: 'text', + }, + { + name: 'field30', + type: 'text', + }, + ], + }, + { + name: 'groupSeven', + type: 'group', + fields: [ + { + name: 'field31', + type: 'text', + }, + { + name: 'field32', + type: 'text', + }, + { + name: 'field33', + type: 'text', + }, + { + name: 'field34', + type: 'text', + }, + { + name: 'field35', + type: 'text', + }, + ], + }, + { + name: 'groupEight', + type: 'group', + fields: [ + { + name: 'field36', + type: 'text', + }, + { + name: 'field37', + type: 'text', + }, + { + name: 'field38', + type: 'text', + }, + { + name: 'field39', + type: 'text', + }, + { + name: 'field40', + type: 'text', + }, + ], + }, + { + name: 'groupNine', + type: 'group', + fields: [ + { + name: 'field41', + type: 'text', + }, + { + name: 'field42', + type: 'text', + }, + { + name: 'field43', + type: 'text', + }, + { + name: 'field44', + type: 'text', + }, + { + name: 'field45', + type: 'text', + }, + ], + }, + { + name: 'groupTen', + type: 'group', + fields: [ + { + name: 'field46', + type: 'text', + }, + { + name: 'field47', + type: 'text', + }, + { + name: 'field48', + type: 'text', + }, + { + name: 'field49', + type: 'text', + }, + { + name: 'field50', + type: 'text', + }, + ], + }, + { + name: 'groupEleven', + type: 'group', + fields: [ + { + name: 'field51', + type: 'text', + }, + { + name: 'field52', + type: 'text', + }, + { + name: 'field53', + type: 'text', + }, + { + name: 'field54', + type: 'text', + }, + { + name: 'field55', + type: 'text', + }, + ], + }, + { + name: 'groupTwelve', + type: 'group', + fields: [ + { + name: 'field56', + type: 'text', + }, + { + name: 'field57', + type: 'text', + }, + { + name: 'field58', + type: 'text', + }, + { + name: 'field59', + type: 'text', + }, + { + name: 'field60', + type: 'text', + }, + ], + }, + { + name: 'groupThirteen', + type: 'group', + fields: [ + { + name: 'field61', + type: 'text', + }, + { + name: 'field62', + type: 'text', + }, + { + name: 'field63', + type: 'text', + }, + { + name: 'field64', + type: 'text', + }, + { + name: 'field65', + type: 'text', + }, + ], + }, + { + name: 'groupFourteen', + type: 'group', + fields: [ + { + name: 'field66', + type: 'text', + }, + { + name: 'field67', + type: 'text', + }, + { + name: 'field68', + type: 'text', + }, + { + name: 'field69', + type: 'text', + }, + { + name: 'field70', + type: 'text', + }, + ], + }, + { + name: 'groupFifteen', + type: 'group', + fields: [ + { + name: 'field71', + type: 'text', + }, + { + name: 'field72', + type: 'text', + }, + { + name: 'field73', + type: 'text', + }, + { + name: 'field74', + type: 'text', + }, + { + name: 'field75', + type: 'text', + }, + ], + }, + { + name: 'groupSixteen', + type: 'group', + fields: [ + { + name: 'field76', + type: 'text', + }, + { + name: 'field77', + type: 'text', + }, + { + name: 'field78', + type: 'text', + }, + { + name: 'field79', + type: 'text', + }, + { + name: 'field80', + type: 'text', + }, + ], + }, + { + name: 'groupSeventeen', + type: 'group', + fields: [ + { + name: 'field81', + type: 'text', + }, + { + name: 'field82', + type: 'text', + }, + { + name: 'field83', + type: 'text', + }, + { + name: 'field84', + type: 'text', + }, + { + name: 'field85', + type: 'text', + }, + ], + }, + { + name: 'groupEighteen', + type: 'group', + fields: [ + { + name: 'field86', + type: 'text', + }, + { + name: 'field87', + type: 'text', + }, + { + name: 'field88', + type: 'text', + }, + { + name: 'field89', + type: 'text', + }, + { + name: 'field90', + type: 'text', + }, + ], + }, + { + name: 'groupNineteen', + type: 'group', + fields: [ + { + name: 'field91', + type: 'text', + }, + { + name: 'field92', + type: 'text', + }, + { + name: 'field93', + type: 'text', + }, + { + name: 'field94', + type: 'text', + }, + { + name: 'field95', + type: 'text', + }, + ], + }, + { + name: 'groupTwenty', + type: 'group', + fields: [ + { + name: 'field96', + type: 'text', + }, + { + name: 'field97', + type: 'text', + }, + { + name: 'field98', + type: 'text', + }, + { + name: 'field99', + type: 'text', + }, + { + name: 'field100', + type: 'text', + }, + ], + }, + ], +} diff --git a/test/admin/globals/NoForceRender.ts b/test/admin/globals/NoForceRender.ts new file mode 100644 index 00000000000..68f6e8e6dc4 --- /dev/null +++ b/test/admin/globals/NoForceRender.ts @@ -0,0 +1,532 @@ +import type { GlobalConfig } from 'payload' + +import { noForceRenderGlobalSlug } from '../slugs.js' + +export const GlobalNoForceRender: GlobalConfig = { + slug: noForceRenderGlobalSlug, + admin: { + forceRenderAllFields: false, + }, + fields: [ + { + name: 'groupOne', + type: 'group', + fields: [ + { + name: 'field1', + type: 'text', + }, + { + name: 'field2', + type: 'text', + }, + { + name: 'field3', + type: 'text', + }, + { + name: 'field4', + type: 'text', + }, + { + name: 'field5', + type: 'text', + }, + ], + }, + { + name: 'groupTwo', + type: 'group', + fields: [ + { + name: 'field6', + type: 'text', + }, + { + name: 'field7', + type: 'text', + }, + { + name: 'field8', + type: 'text', + }, + { + name: 'field9', + type: 'text', + }, + { + name: 'field10', + type: 'text', + }, + ], + }, + { + name: 'groupThree', + type: 'group', + fields: [ + { + name: 'field11', + type: 'text', + }, + { + name: 'field12', + type: 'text', + }, + { + name: 'field13', + type: 'text', + }, + { + name: 'field14', + type: 'text', + }, + { + name: 'field15', + type: 'text', + }, + ], + }, + { + name: 'groupFour', + type: 'group', + fields: [ + { + name: 'field16', + type: 'text', + }, + { + name: 'field17', + type: 'text', + }, + { + name: 'field18', + type: 'text', + }, + { + name: 'field19', + type: 'text', + }, + { + name: 'field20', + type: 'text', + }, + ], + }, + { + name: 'groupFive', + type: 'group', + fields: [ + { + name: 'field21', + type: 'text', + }, + { + name: 'field22', + type: 'text', + }, + { + name: 'field23', + type: 'text', + }, + { + name: 'field24', + type: 'text', + }, + { + name: 'field25', + type: 'text', + }, + ], + }, + { + name: 'groupSix', + type: 'group', + fields: [ + { + name: 'field26', + type: 'text', + }, + { + name: 'field27', + type: 'text', + }, + { + name: 'field28', + type: 'text', + }, + { + name: 'field29', + type: 'text', + }, + { + name: 'field30', + type: 'text', + }, + ], + }, + { + name: 'groupSeven', + type: 'group', + fields: [ + { + name: 'field31', + type: 'text', + }, + { + name: 'field32', + type: 'text', + }, + { + name: 'field33', + type: 'text', + }, + { + name: 'field34', + type: 'text', + }, + { + name: 'field35', + type: 'text', + }, + ], + }, + { + name: 'groupEight', + type: 'group', + fields: [ + { + name: 'field36', + type: 'text', + }, + { + name: 'field37', + type: 'text', + }, + { + name: 'field38', + type: 'text', + }, + { + name: 'field39', + type: 'text', + }, + { + name: 'field40', + type: 'text', + }, + ], + }, + { + name: 'groupNine', + type: 'group', + fields: [ + { + name: 'field41', + type: 'text', + }, + { + name: 'field42', + type: 'text', + }, + { + name: 'field43', + type: 'text', + }, + { + name: 'field44', + type: 'text', + }, + { + name: 'field45', + type: 'text', + }, + ], + }, + { + name: 'groupTen', + type: 'group', + fields: [ + { + name: 'field46', + type: 'text', + }, + { + name: 'field47', + type: 'text', + }, + { + name: 'field48', + type: 'text', + }, + { + name: 'field49', + type: 'text', + }, + { + name: 'field50', + type: 'text', + }, + ], + }, + { + name: 'groupEleven', + type: 'group', + fields: [ + { + name: 'field51', + type: 'text', + }, + { + name: 'field52', + type: 'text', + }, + { + name: 'field53', + type: 'text', + }, + { + name: 'field54', + type: 'text', + }, + { + name: 'field55', + type: 'text', + }, + ], + }, + { + name: 'groupTwelve', + type: 'group', + fields: [ + { + name: 'field56', + type: 'text', + }, + { + name: 'field57', + type: 'text', + }, + { + name: 'field58', + type: 'text', + }, + { + name: 'field59', + type: 'text', + }, + { + name: 'field60', + type: 'text', + }, + ], + }, + { + name: 'groupThirteen', + type: 'group', + fields: [ + { + name: 'field61', + type: 'text', + }, + { + name: 'field62', + type: 'text', + }, + { + name: 'field63', + type: 'text', + }, + { + name: 'field64', + type: 'text', + }, + { + name: 'field65', + type: 'text', + }, + ], + }, + { + name: 'groupFourteen', + type: 'group', + fields: [ + { + name: 'field66', + type: 'text', + }, + { + name: 'field67', + type: 'text', + }, + { + name: 'field68', + type: 'text', + }, + { + name: 'field69', + type: 'text', + }, + { + name: 'field70', + type: 'text', + }, + ], + }, + { + name: 'groupFifteen', + type: 'group', + fields: [ + { + name: 'field71', + type: 'text', + }, + { + name: 'field72', + type: 'text', + }, + { + name: 'field73', + type: 'text', + }, + { + name: 'field74', + type: 'text', + }, + { + name: 'field75', + type: 'text', + }, + ], + }, + { + name: 'groupSixteen', + type: 'group', + fields: [ + { + name: 'field76', + type: 'text', + }, + { + name: 'field77', + type: 'text', + }, + { + name: 'field78', + type: 'text', + }, + { + name: 'field79', + type: 'text', + }, + { + name: 'field80', + type: 'text', + }, + ], + }, + { + name: 'groupSeventeen', + type: 'group', + fields: [ + { + name: 'field81', + type: 'text', + }, + { + name: 'field82', + type: 'text', + }, + { + name: 'field83', + type: 'text', + }, + { + name: 'field84', + type: 'text', + }, + { + name: 'field85', + type: 'text', + }, + ], + }, + { + name: 'groupEighteen', + type: 'group', + fields: [ + { + name: 'field86', + type: 'text', + }, + { + name: 'field87', + type: 'text', + }, + { + name: 'field88', + type: 'text', + }, + { + name: 'field89', + type: 'text', + }, + { + name: 'field90', + type: 'text', + }, + ], + }, + { + name: 'groupNineteen', + type: 'group', + fields: [ + { + name: 'field91', + type: 'text', + }, + { + name: 'field92', + type: 'text', + }, + { + name: 'field93', + type: 'text', + }, + { + name: 'field94', + type: 'text', + }, + { + name: 'field95', + type: 'text', + }, + ], + }, + { + name: 'groupTwenty', + type: 'group', + fields: [ + { + name: 'field96', + type: 'text', + }, + { + name: 'field97', + type: 'text', + }, + { + name: 'field98', + type: 'text', + }, + { + name: 'field99', + type: 'text', + }, + { + name: 'field100', + type: 'text', + }, + ], + }, + ], +} diff --git a/test/admin/payload-types.ts b/test/admin/payload-types.ts index 4c322d9c8ab..4f636ee1646 100644 --- a/test/admin/payload-types.ts +++ b/test/admin/payload-types.ts @@ -24,6 +24,8 @@ export interface Config { 'group-one-collection-twos': GroupOneCollectionTwo; 'group-two-collection-ones': GroupTwoCollectionOne; 'group-two-collection-twos': GroupTwoCollectionTwo; + 'collection-force-render': CollectionForceRender; + 'collection-no-force-render': CollectionNoForceRender; geo: Geo; 'disable-duplicate': DisableDuplicate; 'base-list-filters': BaseListFilter; @@ -46,6 +48,8 @@ export interface Config { 'group-one-collection-twos': GroupOneCollectionTwosSelect | GroupOneCollectionTwosSelect; 'group-two-collection-ones': GroupTwoCollectionOnesSelect | GroupTwoCollectionOnesSelect; 'group-two-collection-twos': GroupTwoCollectionTwosSelect | GroupTwoCollectionTwosSelect; + 'collection-force-render': CollectionForceRenderSelect | CollectionForceRenderSelect; + 'collection-no-force-render': CollectionNoForceRenderSelect | CollectionNoForceRenderSelect; geo: GeoSelect | GeoSelect; 'disable-duplicate': DisableDuplicateSelect | DisableDuplicateSelect; 'base-list-filters': BaseListFiltersSelect | BaseListFiltersSelect; @@ -57,6 +61,8 @@ export interface Config { defaultIDType: string; }; globals: { + 'global-force-render': GlobalForceRender; + 'global-no-force-render': GlobalNoForceRender; 'hidden-global': HiddenGlobal; 'not-in-view-global': NotInViewGlobal; 'global-no-api-view': GlobalNoApiView; @@ -68,6 +74,8 @@ export interface Config { settings: Setting; }; globalsSelect: { + 'global-force-render': GlobalForceRenderSelect | GlobalForceRenderSelect; + 'global-no-force-render': GlobalNoForceRenderSelect | GlobalNoForceRenderSelect; 'hidden-global': HiddenGlobalSelect | HiddenGlobalSelect; 'not-in-view-global': NotInViewGlobalSelect | NotInViewGlobalSelect; 'global-no-api-view': GlobalNoApiViewSelect | GlobalNoApiViewSelect; @@ -340,6 +348,304 @@ export interface GroupTwoCollectionTwo { updatedAt: string; createdAt: string; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "collection-force-render". + */ +export interface CollectionForceRender { + id: string; + groupOne?: { + field1?: string | null; + field2?: string | null; + field3?: string | null; + field4?: string | null; + field5?: string | null; + }; + groupTwo?: { + field6?: string | null; + field7?: string | null; + field8?: string | null; + field9?: string | null; + field10?: string | null; + }; + groupThree?: { + field11?: string | null; + field12?: string | null; + field13?: string | null; + field14?: string | null; + field15?: string | null; + }; + groupFour?: { + field16?: string | null; + field17?: string | null; + field18?: string | null; + field19?: string | null; + field20?: string | null; + }; + groupFive?: { + field21?: string | null; + field22?: string | null; + field23?: string | null; + field24?: string | null; + field25?: string | null; + }; + groupSix?: { + field26?: string | null; + field27?: string | null; + field28?: string | null; + field29?: string | null; + field30?: string | null; + }; + groupSeven?: { + field31?: string | null; + field32?: string | null; + field33?: string | null; + field34?: string | null; + field35?: string | null; + }; + groupEight?: { + field36?: string | null; + field37?: string | null; + field38?: string | null; + field39?: string | null; + field40?: string | null; + }; + groupNine?: { + field41?: string | null; + field42?: string | null; + field43?: string | null; + field44?: string | null; + field45?: string | null; + }; + groupTen?: { + field46?: string | null; + field47?: string | null; + field48?: string | null; + field49?: string | null; + field50?: string | null; + }; + groupEleven?: { + field51?: string | null; + field52?: string | null; + field53?: string | null; + field54?: string | null; + field55?: string | null; + }; + groupTwelve?: { + field56?: string | null; + field57?: string | null; + field58?: string | null; + field59?: string | null; + field60?: string | null; + }; + groupThirteen?: { + field61?: string | null; + field62?: string | null; + field63?: string | null; + field64?: string | null; + field65?: string | null; + }; + groupFourteen?: { + field66?: string | null; + field67?: string | null; + field68?: string | null; + field69?: string | null; + field70?: string | null; + }; + groupFifteen?: { + field71?: string | null; + field72?: string | null; + field73?: string | null; + field74?: string | null; + field75?: string | null; + }; + groupSixteen?: { + field76?: string | null; + field77?: string | null; + field78?: string | null; + field79?: string | null; + field80?: string | null; + }; + groupSeventeen?: { + field81?: string | null; + field82?: string | null; + field83?: string | null; + field84?: string | null; + field85?: string | null; + }; + groupEighteen?: { + field86?: string | null; + field87?: string | null; + field88?: string | null; + field89?: string | null; + field90?: string | null; + }; + groupNineteen?: { + field91?: string | null; + field92?: string | null; + field93?: string | null; + field94?: string | null; + field95?: string | null; + }; + groupTwenty?: { + field96?: string | null; + field97?: string | null; + field98?: string | null; + field99?: string | null; + field100?: string | null; + }; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "collection-no-force-render". + */ +export interface CollectionNoForceRender { + id: string; + groupOne?: { + field1?: string | null; + field2?: string | null; + field3?: string | null; + field4?: string | null; + field5?: string | null; + }; + groupTwo?: { + field6?: string | null; + field7?: string | null; + field8?: string | null; + field9?: string | null; + field10?: string | null; + }; + groupThree?: { + field11?: string | null; + field12?: string | null; + field13?: string | null; + field14?: string | null; + field15?: string | null; + }; + groupFour?: { + field16?: string | null; + field17?: string | null; + field18?: string | null; + field19?: string | null; + field20?: string | null; + }; + groupFive?: { + field21?: string | null; + field22?: string | null; + field23?: string | null; + field24?: string | null; + field25?: string | null; + }; + groupSix?: { + field26?: string | null; + field27?: string | null; + field28?: string | null; + field29?: string | null; + field30?: string | null; + }; + groupSeven?: { + field31?: string | null; + field32?: string | null; + field33?: string | null; + field34?: string | null; + field35?: string | null; + }; + groupEight?: { + field36?: string | null; + field37?: string | null; + field38?: string | null; + field39?: string | null; + field40?: string | null; + }; + groupNine?: { + field41?: string | null; + field42?: string | null; + field43?: string | null; + field44?: string | null; + field45?: string | null; + }; + groupTen?: { + field46?: string | null; + field47?: string | null; + field48?: string | null; + field49?: string | null; + field50?: string | null; + }; + groupEleven?: { + field51?: string | null; + field52?: string | null; + field53?: string | null; + field54?: string | null; + field55?: string | null; + }; + groupTwelve?: { + field56?: string | null; + field57?: string | null; + field58?: string | null; + field59?: string | null; + field60?: string | null; + }; + groupThirteen?: { + field61?: string | null; + field62?: string | null; + field63?: string | null; + field64?: string | null; + field65?: string | null; + }; + groupFourteen?: { + field66?: string | null; + field67?: string | null; + field68?: string | null; + field69?: string | null; + field70?: string | null; + }; + groupFifteen?: { + field71?: string | null; + field72?: string | null; + field73?: string | null; + field74?: string | null; + field75?: string | null; + }; + groupSixteen?: { + field76?: string | null; + field77?: string | null; + field78?: string | null; + field79?: string | null; + field80?: string | null; + }; + groupSeventeen?: { + field81?: string | null; + field82?: string | null; + field83?: string | null; + field84?: string | null; + field85?: string | null; + }; + groupEighteen?: { + field86?: string | null; + field87?: string | null; + field88?: string | null; + field89?: string | null; + field90?: string | null; + }; + groupNineteen?: { + field91?: string | null; + field92?: string | null; + field93?: string | null; + field94?: string | null; + field95?: string | null; + }; + groupTwenty?: { + field96?: string | null; + field97?: string | null; + field98?: string | null; + field99?: string | null; + field100?: string | null; + }; + updatedAt: string; + createdAt: string; +} /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "geo". @@ -433,6 +739,14 @@ export interface PayloadLockedDocument { relationTo: 'group-two-collection-twos'; value: string | GroupTwoCollectionTwo; } | null) + | ({ + relationTo: 'collection-force-render'; + value: string | CollectionForceRender; + } | null) + | ({ + relationTo: 'collection-no-force-render'; + value: string | CollectionNoForceRender; + } | null) | ({ relationTo: 'geo'; value: string | Geo; @@ -707,6 +1021,382 @@ export interface GroupTwoCollectionTwosSelect { updatedAt?: T; createdAt?: T; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "collection-force-render_select". + */ +export interface CollectionForceRenderSelect { + groupOne?: + | T + | { + field1?: T; + field2?: T; + field3?: T; + field4?: T; + field5?: T; + }; + groupTwo?: + | T + | { + field6?: T; + field7?: T; + field8?: T; + field9?: T; + field10?: T; + }; + groupThree?: + | T + | { + field11?: T; + field12?: T; + field13?: T; + field14?: T; + field15?: T; + }; + groupFour?: + | T + | { + field16?: T; + field17?: T; + field18?: T; + field19?: T; + field20?: T; + }; + groupFive?: + | T + | { + field21?: T; + field22?: T; + field23?: T; + field24?: T; + field25?: T; + }; + groupSix?: + | T + | { + field26?: T; + field27?: T; + field28?: T; + field29?: T; + field30?: T; + }; + groupSeven?: + | T + | { + field31?: T; + field32?: T; + field33?: T; + field34?: T; + field35?: T; + }; + groupEight?: + | T + | { + field36?: T; + field37?: T; + field38?: T; + field39?: T; + field40?: T; + }; + groupNine?: + | T + | { + field41?: T; + field42?: T; + field43?: T; + field44?: T; + field45?: T; + }; + groupTen?: + | T + | { + field46?: T; + field47?: T; + field48?: T; + field49?: T; + field50?: T; + }; + groupEleven?: + | T + | { + field51?: T; + field52?: T; + field53?: T; + field54?: T; + field55?: T; + }; + groupTwelve?: + | T + | { + field56?: T; + field57?: T; + field58?: T; + field59?: T; + field60?: T; + }; + groupThirteen?: + | T + | { + field61?: T; + field62?: T; + field63?: T; + field64?: T; + field65?: T; + }; + groupFourteen?: + | T + | { + field66?: T; + field67?: T; + field68?: T; + field69?: T; + field70?: T; + }; + groupFifteen?: + | T + | { + field71?: T; + field72?: T; + field73?: T; + field74?: T; + field75?: T; + }; + groupSixteen?: + | T + | { + field76?: T; + field77?: T; + field78?: T; + field79?: T; + field80?: T; + }; + groupSeventeen?: + | T + | { + field81?: T; + field82?: T; + field83?: T; + field84?: T; + field85?: T; + }; + groupEighteen?: + | T + | { + field86?: T; + field87?: T; + field88?: T; + field89?: T; + field90?: T; + }; + groupNineteen?: + | T + | { + field91?: T; + field92?: T; + field93?: T; + field94?: T; + field95?: T; + }; + groupTwenty?: + | T + | { + field96?: T; + field97?: T; + field98?: T; + field99?: T; + field100?: T; + }; + updatedAt?: T; + createdAt?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "collection-no-force-render_select". + */ +export interface CollectionNoForceRenderSelect { + groupOne?: + | T + | { + field1?: T; + field2?: T; + field3?: T; + field4?: T; + field5?: T; + }; + groupTwo?: + | T + | { + field6?: T; + field7?: T; + field8?: T; + field9?: T; + field10?: T; + }; + groupThree?: + | T + | { + field11?: T; + field12?: T; + field13?: T; + field14?: T; + field15?: T; + }; + groupFour?: + | T + | { + field16?: T; + field17?: T; + field18?: T; + field19?: T; + field20?: T; + }; + groupFive?: + | T + | { + field21?: T; + field22?: T; + field23?: T; + field24?: T; + field25?: T; + }; + groupSix?: + | T + | { + field26?: T; + field27?: T; + field28?: T; + field29?: T; + field30?: T; + }; + groupSeven?: + | T + | { + field31?: T; + field32?: T; + field33?: T; + field34?: T; + field35?: T; + }; + groupEight?: + | T + | { + field36?: T; + field37?: T; + field38?: T; + field39?: T; + field40?: T; + }; + groupNine?: + | T + | { + field41?: T; + field42?: T; + field43?: T; + field44?: T; + field45?: T; + }; + groupTen?: + | T + | { + field46?: T; + field47?: T; + field48?: T; + field49?: T; + field50?: T; + }; + groupEleven?: + | T + | { + field51?: T; + field52?: T; + field53?: T; + field54?: T; + field55?: T; + }; + groupTwelve?: + | T + | { + field56?: T; + field57?: T; + field58?: T; + field59?: T; + field60?: T; + }; + groupThirteen?: + | T + | { + field61?: T; + field62?: T; + field63?: T; + field64?: T; + field65?: T; + }; + groupFourteen?: + | T + | { + field66?: T; + field67?: T; + field68?: T; + field69?: T; + field70?: T; + }; + groupFifteen?: + | T + | { + field71?: T; + field72?: T; + field73?: T; + field74?: T; + field75?: T; + }; + groupSixteen?: + | T + | { + field76?: T; + field77?: T; + field78?: T; + field79?: T; + field80?: T; + }; + groupSeventeen?: + | T + | { + field81?: T; + field82?: T; + field83?: T; + field84?: T; + field85?: T; + }; + groupEighteen?: + | T + | { + field86?: T; + field87?: T; + field88?: T; + field89?: T; + field90?: T; + }; + groupNineteen?: + | T + | { + field91?: T; + field92?: T; + field93?: T; + field94?: T; + field95?: T; + }; + groupTwenty?: + | T + | { + field96?: T; + field97?: T; + field98?: T; + field99?: T; + field100?: T; + }; + updatedAt?: T; + createdAt?: T; +} /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "geo_select". @@ -766,6 +1456,304 @@ export interface PayloadMigrationsSelect { updatedAt?: T; createdAt?: T; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "global-force-render". + */ +export interface GlobalForceRender { + id: string; + groupOne?: { + field1?: string | null; + field2?: string | null; + field3?: string | null; + field4?: string | null; + field5?: string | null; + }; + groupTwo?: { + field6?: string | null; + field7?: string | null; + field8?: string | null; + field9?: string | null; + field10?: string | null; + }; + groupThree?: { + field11?: string | null; + field12?: string | null; + field13?: string | null; + field14?: string | null; + field15?: string | null; + }; + groupFour?: { + field16?: string | null; + field17?: string | null; + field18?: string | null; + field19?: string | null; + field20?: string | null; + }; + groupFive?: { + field21?: string | null; + field22?: string | null; + field23?: string | null; + field24?: string | null; + field25?: string | null; + }; + groupSix?: { + field26?: string | null; + field27?: string | null; + field28?: string | null; + field29?: string | null; + field30?: string | null; + }; + groupSeven?: { + field31?: string | null; + field32?: string | null; + field33?: string | null; + field34?: string | null; + field35?: string | null; + }; + groupEight?: { + field36?: string | null; + field37?: string | null; + field38?: string | null; + field39?: string | null; + field40?: string | null; + }; + groupNine?: { + field41?: string | null; + field42?: string | null; + field43?: string | null; + field44?: string | null; + field45?: string | null; + }; + groupTen?: { + field46?: string | null; + field47?: string | null; + field48?: string | null; + field49?: string | null; + field50?: string | null; + }; + groupEleven?: { + field51?: string | null; + field52?: string | null; + field53?: string | null; + field54?: string | null; + field55?: string | null; + }; + groupTwelve?: { + field56?: string | null; + field57?: string | null; + field58?: string | null; + field59?: string | null; + field60?: string | null; + }; + groupThirteen?: { + field61?: string | null; + field62?: string | null; + field63?: string | null; + field64?: string | null; + field65?: string | null; + }; + groupFourteen?: { + field66?: string | null; + field67?: string | null; + field68?: string | null; + field69?: string | null; + field70?: string | null; + }; + groupFifteen?: { + field71?: string | null; + field72?: string | null; + field73?: string | null; + field74?: string | null; + field75?: string | null; + }; + groupSixteen?: { + field76?: string | null; + field77?: string | null; + field78?: string | null; + field79?: string | null; + field80?: string | null; + }; + groupSeventeen?: { + field81?: string | null; + field82?: string | null; + field83?: string | null; + field84?: string | null; + field85?: string | null; + }; + groupEighteen?: { + field86?: string | null; + field87?: string | null; + field88?: string | null; + field89?: string | null; + field90?: string | null; + }; + groupNineteen?: { + field91?: string | null; + field92?: string | null; + field93?: string | null; + field94?: string | null; + field95?: string | null; + }; + groupTwenty?: { + field96?: string | null; + field97?: string | null; + field98?: string | null; + field99?: string | null; + field100?: string | null; + }; + updatedAt?: string | null; + createdAt?: string | null; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "global-no-force-render". + */ +export interface GlobalNoForceRender { + id: string; + groupOne?: { + field1?: string | null; + field2?: string | null; + field3?: string | null; + field4?: string | null; + field5?: string | null; + }; + groupTwo?: { + field6?: string | null; + field7?: string | null; + field8?: string | null; + field9?: string | null; + field10?: string | null; + }; + groupThree?: { + field11?: string | null; + field12?: string | null; + field13?: string | null; + field14?: string | null; + field15?: string | null; + }; + groupFour?: { + field16?: string | null; + field17?: string | null; + field18?: string | null; + field19?: string | null; + field20?: string | null; + }; + groupFive?: { + field21?: string | null; + field22?: string | null; + field23?: string | null; + field24?: string | null; + field25?: string | null; + }; + groupSix?: { + field26?: string | null; + field27?: string | null; + field28?: string | null; + field29?: string | null; + field30?: string | null; + }; + groupSeven?: { + field31?: string | null; + field32?: string | null; + field33?: string | null; + field34?: string | null; + field35?: string | null; + }; + groupEight?: { + field36?: string | null; + field37?: string | null; + field38?: string | null; + field39?: string | null; + field40?: string | null; + }; + groupNine?: { + field41?: string | null; + field42?: string | null; + field43?: string | null; + field44?: string | null; + field45?: string | null; + }; + groupTen?: { + field46?: string | null; + field47?: string | null; + field48?: string | null; + field49?: string | null; + field50?: string | null; + }; + groupEleven?: { + field51?: string | null; + field52?: string | null; + field53?: string | null; + field54?: string | null; + field55?: string | null; + }; + groupTwelve?: { + field56?: string | null; + field57?: string | null; + field58?: string | null; + field59?: string | null; + field60?: string | null; + }; + groupThirteen?: { + field61?: string | null; + field62?: string | null; + field63?: string | null; + field64?: string | null; + field65?: string | null; + }; + groupFourteen?: { + field66?: string | null; + field67?: string | null; + field68?: string | null; + field69?: string | null; + field70?: string | null; + }; + groupFifteen?: { + field71?: string | null; + field72?: string | null; + field73?: string | null; + field74?: string | null; + field75?: string | null; + }; + groupSixteen?: { + field76?: string | null; + field77?: string | null; + field78?: string | null; + field79?: string | null; + field80?: string | null; + }; + groupSeventeen?: { + field81?: string | null; + field82?: string | null; + field83?: string | null; + field84?: string | null; + field85?: string | null; + }; + groupEighteen?: { + field86?: string | null; + field87?: string | null; + field88?: string | null; + field89?: string | null; + field90?: string | null; + }; + groupNineteen?: { + field91?: string | null; + field92?: string | null; + field93?: string | null; + field94?: string | null; + field95?: string | null; + }; + groupTwenty?: { + field96?: string | null; + field97?: string | null; + field98?: string | null; + field99?: string | null; + field100?: string | null; + }; + updatedAt?: string | null; + createdAt?: string | null; +} /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "hidden-global". @@ -857,6 +1845,384 @@ export interface Setting { updatedAt?: string | null; createdAt?: string | null; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "global-force-render_select". + */ +export interface GlobalForceRenderSelect { + groupOne?: + | T + | { + field1?: T; + field2?: T; + field3?: T; + field4?: T; + field5?: T; + }; + groupTwo?: + | T + | { + field6?: T; + field7?: T; + field8?: T; + field9?: T; + field10?: T; + }; + groupThree?: + | T + | { + field11?: T; + field12?: T; + field13?: T; + field14?: T; + field15?: T; + }; + groupFour?: + | T + | { + field16?: T; + field17?: T; + field18?: T; + field19?: T; + field20?: T; + }; + groupFive?: + | T + | { + field21?: T; + field22?: T; + field23?: T; + field24?: T; + field25?: T; + }; + groupSix?: + | T + | { + field26?: T; + field27?: T; + field28?: T; + field29?: T; + field30?: T; + }; + groupSeven?: + | T + | { + field31?: T; + field32?: T; + field33?: T; + field34?: T; + field35?: T; + }; + groupEight?: + | T + | { + field36?: T; + field37?: T; + field38?: T; + field39?: T; + field40?: T; + }; + groupNine?: + | T + | { + field41?: T; + field42?: T; + field43?: T; + field44?: T; + field45?: T; + }; + groupTen?: + | T + | { + field46?: T; + field47?: T; + field48?: T; + field49?: T; + field50?: T; + }; + groupEleven?: + | T + | { + field51?: T; + field52?: T; + field53?: T; + field54?: T; + field55?: T; + }; + groupTwelve?: + | T + | { + field56?: T; + field57?: T; + field58?: T; + field59?: T; + field60?: T; + }; + groupThirteen?: + | T + | { + field61?: T; + field62?: T; + field63?: T; + field64?: T; + field65?: T; + }; + groupFourteen?: + | T + | { + field66?: T; + field67?: T; + field68?: T; + field69?: T; + field70?: T; + }; + groupFifteen?: + | T + | { + field71?: T; + field72?: T; + field73?: T; + field74?: T; + field75?: T; + }; + groupSixteen?: + | T + | { + field76?: T; + field77?: T; + field78?: T; + field79?: T; + field80?: T; + }; + groupSeventeen?: + | T + | { + field81?: T; + field82?: T; + field83?: T; + field84?: T; + field85?: T; + }; + groupEighteen?: + | T + | { + field86?: T; + field87?: T; + field88?: T; + field89?: T; + field90?: T; + }; + groupNineteen?: + | T + | { + field91?: T; + field92?: T; + field93?: T; + field94?: T; + field95?: T; + }; + groupTwenty?: + | T + | { + field96?: T; + field97?: T; + field98?: T; + field99?: T; + field100?: T; + }; + updatedAt?: T; + createdAt?: T; + globalType?: T; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "global-no-force-render_select". + */ +export interface GlobalNoForceRenderSelect { + groupOne?: + | T + | { + field1?: T; + field2?: T; + field3?: T; + field4?: T; + field5?: T; + }; + groupTwo?: + | T + | { + field6?: T; + field7?: T; + field8?: T; + field9?: T; + field10?: T; + }; + groupThree?: + | T + | { + field11?: T; + field12?: T; + field13?: T; + field14?: T; + field15?: T; + }; + groupFour?: + | T + | { + field16?: T; + field17?: T; + field18?: T; + field19?: T; + field20?: T; + }; + groupFive?: + | T + | { + field21?: T; + field22?: T; + field23?: T; + field24?: T; + field25?: T; + }; + groupSix?: + | T + | { + field26?: T; + field27?: T; + field28?: T; + field29?: T; + field30?: T; + }; + groupSeven?: + | T + | { + field31?: T; + field32?: T; + field33?: T; + field34?: T; + field35?: T; + }; + groupEight?: + | T + | { + field36?: T; + field37?: T; + field38?: T; + field39?: T; + field40?: T; + }; + groupNine?: + | T + | { + field41?: T; + field42?: T; + field43?: T; + field44?: T; + field45?: T; + }; + groupTen?: + | T + | { + field46?: T; + field47?: T; + field48?: T; + field49?: T; + field50?: T; + }; + groupEleven?: + | T + | { + field51?: T; + field52?: T; + field53?: T; + field54?: T; + field55?: T; + }; + groupTwelve?: + | T + | { + field56?: T; + field57?: T; + field58?: T; + field59?: T; + field60?: T; + }; + groupThirteen?: + | T + | { + field61?: T; + field62?: T; + field63?: T; + field64?: T; + field65?: T; + }; + groupFourteen?: + | T + | { + field66?: T; + field67?: T; + field68?: T; + field69?: T; + field70?: T; + }; + groupFifteen?: + | T + | { + field71?: T; + field72?: T; + field73?: T; + field74?: T; + field75?: T; + }; + groupSixteen?: + | T + | { + field76?: T; + field77?: T; + field78?: T; + field79?: T; + field80?: T; + }; + groupSeventeen?: + | T + | { + field81?: T; + field82?: T; + field83?: T; + field84?: T; + field85?: T; + }; + groupEighteen?: + | T + | { + field86?: T; + field87?: T; + field88?: T; + field89?: T; + field90?: T; + }; + groupNineteen?: + | T + | { + field91?: T; + field92?: T; + field93?: T; + field94?: T; + field95?: T; + }; + groupTwenty?: + | T + | { + field96?: T; + field97?: T; + field98?: T; + field99?: T; + field100?: T; + }; + updatedAt?: T; + createdAt?: T; + globalType?: T; +} /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "hidden-global_select". diff --git a/test/admin/slugs.ts b/test/admin/slugs.ts index d25fa1ca8ea..cdff9f46d49 100644 --- a/test/admin/slugs.ts +++ b/test/admin/slugs.ts @@ -10,6 +10,8 @@ export const group2Collection2Slug = 'group-two-collection-twos' export const hiddenCollectionSlug = 'hidden-collection' export const notInViewCollectionSlug = 'not-in-view-collection' export const noApiViewCollectionSlug = 'collection-no-api-view' +export const forceRenderCollectionSlug = 'collection-force-render' +export const noForceRenderCollectionSlug = 'collection-no-force-render' export const disableDuplicateSlug = 'disable-duplicate' export const uploadCollectionSlug = 'uploads' export const customFieldsSlug = 'custom-fields' @@ -37,6 +39,8 @@ export const group2GlobalSlug = 'group-globals-two' export const hiddenGlobalSlug = 'hidden-global' export const notInViewGlobalSlug = 'not-in-view-global' +export const forceRenderGlobalSlug = 'global-force-render' +export const noForceRenderGlobalSlug = 'global-no-force-render' export const settingsGlobalSlug = 'settings' export const noApiViewGlobalSlug = 'global-no-api-view' export const globalSlugs = [