From ad25b096b6efa7e0cba647e82e29e36f7a95934a Mon Sep 17 00:00:00 2001 From: Pascal Date: Sun, 26 Mar 2023 12:57:06 +0200 Subject: [PATCH] fix: hide fields with admin.hidden attribute --- src/admin/components/elements/TableColumns/buildColumns.tsx | 4 +++- src/admin/components/views/collections/List/formatFields.tsx | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/admin/components/elements/TableColumns/buildColumns.tsx b/src/admin/components/elements/TableColumns/buildColumns.tsx index 50b5170874..108a43feef 100644 --- a/src/admin/components/elements/TableColumns/buildColumns.tsx +++ b/src/admin/components/elements/TableColumns/buildColumns.tsx @@ -18,8 +18,10 @@ const buildColumns = ({ columns: Pick[], cellProps: Partial[] }): Column[] => { + const filteredFields = collection.fields.filter((field) => fieldIsPresentationalOnly(field) || !field.admin?.hidden); + // sort the fields to the order of activeColumns - const sortedFields = flattenFields(collection.fields, true).sort((a, b) => { + const sortedFields = flattenFields(filteredFields, true).sort((a, b) => { const aIndex = columns.findIndex((column) => column.accessor === a.name); const bIndex = columns.findIndex((column) => column.accessor === b.name); if (aIndex === -1 && bIndex === -1) return 0; diff --git a/src/admin/components/views/collections/List/formatFields.tsx b/src/admin/components/views/collections/List/formatFields.tsx index d988e3bcf6..57f2d5d8d4 100644 --- a/src/admin/components/views/collections/List/formatFields.tsx +++ b/src/admin/components/views/collections/List/formatFields.tsx @@ -6,7 +6,7 @@ import { Field, fieldAffectsData, fieldIsPresentationalOnly } from '../../../../ const formatFields = (config: SanitizedCollectionConfig, t: TFunction): Field[] => { const hasID = config.fields.findIndex((field) => fieldAffectsData(field) && field.name === 'id') > -1; const fields: Field[] = config.fields.reduce((formatted, field) => { - if (!fieldIsPresentationalOnly(field) && (field.hidden === true || field?.admin?.disabled === true)) { + if (!fieldIsPresentationalOnly(field) && (field.hidden === true || field.admin?.hidden === true || field.admin?.disabled === true)) { return formatted; }