From 75e776ddb43b292eae6c1204589d9dc22deab50c Mon Sep 17 00:00:00 2001 From: PatrikKozak Date: Mon, 13 Mar 2023 14:29:59 -0400 Subject: [PATCH] fix: flattens title fields to allow seaching by title if title inside Row field --- src/admin/components/elements/ListControls/index.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/admin/components/elements/ListControls/index.tsx b/src/admin/components/elements/ListControls/index.tsx index cca645d3a8..b29c4fcc25 100644 --- a/src/admin/components/elements/ListControls/index.tsx +++ b/src/admin/components/elements/ListControls/index.tsx @@ -10,6 +10,7 @@ import Button from '../Button'; import { Props } from './types'; import { useSearchParams } from '../../utilities/SearchParams'; import validateWhereQuery from '../WhereBuilder/validateWhereQuery'; +import flattenFields from '../../../../utilities/flattenTopLevelFields'; import { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched'; import { getTranslation } from '../../../../utilities/getTranslation'; @@ -37,7 +38,10 @@ const ListControls: React.FC = (props) => { const params = useSearchParams(); const shouldInitializeWhereOpened = validateWhereQuery(params?.where); - const [titleField] = useState(() => fields.find((field) => fieldAffectsData(field) && field.name === useAsTitle)); + const [titleField] = useState(() => { + const topLevelFields = flattenFields(fields); + return topLevelFields.find((field) => fieldAffectsData(field) && field.name === useAsTitle); + }); const [textFieldsToBeSearched] = useState(getTextFieldsToBeSearched(listSearchableFields, fields)); const [visibleDrawer, setVisibleDrawer] = useState<'where' | 'sort' | 'columns'>(shouldInitializeWhereOpened ? 'where' : undefined); const { t, i18n } = useTranslation('general');