From dcad5003f5dfe2fba513a3183319aba5bc0e9eb8 Mon Sep 17 00:00:00 2001 From: Patrik Date: Fri, 10 May 2024 11:56:24 -0400 Subject: [PATCH] fix(ui): appends `editDepth` value to `radio` & `checkbox` IDs when inside drawer (#6252) --- packages/ui/src/fields/Checkbox/index.tsx | 5 ++++- packages/ui/src/fields/RadioGroup/Radio/index.tsx | 5 ++++- packages/ui/src/forms/FieldLabel/index.tsx | 4 +++- packages/ui/src/utilities/generateFieldID.ts | 4 ++-- test/fields/collections/RichText/e2e.spec.ts | 8 ++++---- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/packages/ui/src/fields/Checkbox/index.tsx b/packages/ui/src/fields/Checkbox/index.tsx index 41d207451..7f5ccb4bb 100644 --- a/packages/ui/src/fields/Checkbox/index.tsx +++ b/packages/ui/src/fields/Checkbox/index.tsx @@ -4,6 +4,7 @@ import type { ClientValidate } from 'payload/types' import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription' import { FieldError } from '@payloadcms/ui/forms/FieldError' import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider' +import { useEditDepth } from '@payloadcms/ui/providers/EditDepth' import React, { useCallback } from 'react' import type { CheckboxFieldProps } from './types.js' @@ -48,6 +49,8 @@ const CheckboxField: React.FC = (props) => { const { uuid } = useForm() + const editDepth = useEditDepth() + const memoizedValidate: ClientValidate = useCallback( (value, options) => { if (typeof validate === 'function') { @@ -75,7 +78,7 @@ const CheckboxField: React.FC = (props) => { const checked = checkedFromProps || Boolean(value) - const fieldID = id || generateFieldID(path, uuid) + const fieldID = id || generateFieldID(path, editDepth, uuid) return (
1 ? `-${editDepth}` : ''}${uuid ? `-${uuid}` : ''}` return (