diff --git a/ui/src/dashboards/components/TemplateControlDropdown.tsx b/ui/src/dashboards/components/TemplateControlDropdown.tsx index abd77e7245..b3bb99d09f 100644 --- a/ui/src/dashboards/components/TemplateControlDropdown.tsx +++ b/ui/src/dashboards/components/TemplateControlDropdown.tsx @@ -23,8 +23,8 @@ const TemplateControlDropdown: SFC = ({template, onSelectTemplate}) => { ? {minWidth: calculateDropdownWidth(template.values)} : null - const selectedItem = - dropdownItems.find(item => item.selected) || dropdownItems[0] + const selectedItem = dropdownItems.find(item => item.selected) || + dropdownItems[0] || {text: '(No values)'} return (
@@ -33,7 +33,7 @@ const TemplateControlDropdown: SFC = ({template, onSelectTemplate}) => { buttonSize="btn-xs" menuClass="dropdown-astronaut" useAutoComplete={true} - selected={selectedItem.text || '(No values)'} + selected={selectedItem.text} onChoose={onSelectTemplate(template.id)} /> diff --git a/ui/src/shared/components/Dropdown.js b/ui/src/shared/components/Dropdown.js index bfafc56369..3bbccb8e30 100644 --- a/ui/src/shared/components/Dropdown.js +++ b/ui/src/shared/components/Dropdown.js @@ -117,9 +117,13 @@ export class Dropdown extends Component { applyFilter = searchTerm => { const {items} = this.props const filterText = searchTerm.toLowerCase() - const matchingItems = items.filter(item => - item.text.toLowerCase().includes(filterText) - ) + const matchingItems = items.filter(item => { + if (!item) { + return false + } + + return item.text.toLowerCase().includes(filterText) + }) this.setState({ filteredItems: matchingItems,