in packages/eui/src/components/form/field_search/field_search.tsx [102:132]
componentDidMount() {
if (!this.inputElement) return;
isSearchSupported = Browser.isEventSupported('search', this.inputElement);
if (isSearchSupported) {
const onSearch = (event?: Event) => {
if (this.props.onSearch) {
if (!event || !event.target || event.defaultPrevented) return;
this.props.onSearch((event.target as HTMLInputElement).value);
}
};
this.inputElement.addEventListener('search', onSearch);
this.cleanups.push(() => {
if (!this.inputElement) return;
this.inputElement.removeEventListener('search', onSearch);
});
}
const onChange = (event: Event) => {
if (
event.target &&
(event.target as HTMLInputElement).value !== this.state.value
) {
this.setState({
value: (event.target as HTMLInputElement).value,
});
if (this.props.onSearch) {
this.props.onSearch((event.target as HTMLInputElement).value);
}
}
};
this.inputElement.addEventListener('change', onChange);
}