diff --git a/awx/ui_next/src/components/Search/Search.jsx b/awx/ui_next/src/components/Search/Search.jsx index f0c3583b52..916629c691 100644 --- a/awx/ui_next/src/components/Search/Search.jsx +++ b/awx/ui_next/src/components/Search/Search.jsx @@ -43,7 +43,17 @@ function Search({ }) { const [isSearchDropdownOpen, setIsSearchDropdownOpen] = useState(false); const [searchKey, setSearchKey] = useState( - columns.find(col => col.isDefault).key + (() => { + const defaultColumn = columns.filter(col => col.isDefault); + + if (defaultColumn.length !== 1) { + throw new Error( + 'One (and only one) searchColumn must be marked isDefault: true' + ); + } + + return defaultColumn[0]?.key; + })() ); const [searchValue, setSearchValue] = useState(''); const [isFilterDropdownOpen, setIsFilterDropdownOpen] = useState(false); diff --git a/awx/ui_next/src/screens/Project/ProjectJobTemplatesList/ProjectJobTemplatesList.jsx b/awx/ui_next/src/screens/Project/ProjectJobTemplatesList/ProjectJobTemplatesList.jsx index 92bb583907..d804a6ea83 100644 --- a/awx/ui_next/src/screens/Project/ProjectJobTemplatesList/ProjectJobTemplatesList.jsx +++ b/awx/ui_next/src/screens/Project/ProjectJobTemplatesList/ProjectJobTemplatesList.jsx @@ -102,6 +102,11 @@ function ProjectJobTemplatesList({ i18n }) { qsConfig={QS_CONFIG} onRowClick={handleSelect} toolbarSearchColumns={[ + { + name: i18n._(t`Name`), + key: 'name__icontains', + isDefault: true, + }, { name: i18n._(t`Created By (Username)`), key: 'created_by__username__icontains',