From 415fbf1341feded9ff646301511eaaa7969cda10 Mon Sep 17 00:00:00 2001
From: Amelia <44613453+LimChorngUan@users.noreply.github.com>
Date: Mon, 13 Jan 2025 17:58:46 +0100
Subject: [PATCH] fix(ui): table custom label missing client field props
(#10540)
Fixes #9663. The `field` prop was not passed to custom label components
within the list view table.
---------
Co-authored-by: Jacob Fletcher
---
.../src/elements/TableColumns/buildColumnState.tsx | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/packages/ui/src/elements/TableColumns/buildColumnState.tsx b/packages/ui/src/elements/TableColumns/buildColumnState.tsx
index 43151a2856..559f64f4a5 100644
--- a/packages/ui/src/elements/TableColumns/buildColumnState.tsx
+++ b/packages/ui/src/elements/TableColumns/buildColumnState.tsx
@@ -1,6 +1,7 @@
import type { I18nClient } from '@payloadcms/translations'
import type {
ClientCollectionConfig,
+ ClientComponentProps,
ClientField,
DefaultCellComponentProps,
DefaultServerCellComponentProps,
@@ -164,8 +165,17 @@ export const buildColumnState = (args: Args): Column[] => {
? _field.admin.components.Label
: undefined
+ // TODO: customComponent will be optional in v4
+ const clientProps: Omit = {
+ field,
+ }
+
const CustomLabel = CustomLabelToRender
- ? RenderServerComponent({ Component: CustomLabelToRender, importMap: payload.importMap })
+ ? RenderServerComponent({
+ clientProps,
+ Component: CustomLabelToRender,
+ importMap: payload.importMap,
+ })
: undefined
const fieldAffectsDataSubFields =