diff --git a/frontend/app/components/shared/Filters/FilterSource/FilterSource.tsx b/frontend/app/components/shared/Filters/FilterSource/FilterSource.tsx index 07ca61ec3..984942ffa 100644 --- a/frontend/app/components/shared/Filters/FilterSource/FilterSource.tsx +++ b/frontend/app/components/shared/Filters/FilterSource/FilterSource.tsx @@ -2,6 +2,7 @@ import { FilterType } from 'App/types/filter/filterType'; import React, { useState, useEffect } from 'react'; import stl from './FilterSource.module.css'; import cn from 'classnames'; +import { debounce } from 'App/utils'; interface Props { filter: any; @@ -10,12 +11,16 @@ interface Props { function FilterSource(props: Props) { const { filter } = props; const [value, setValue] = useState(filter.source && filter.source[0] ? filter.source[0] : ''); + const debounceUpdate: any = React.useCallback(debounce(props.onUpdate, 1000), [props.onUpdate]); useEffect(() => { setValue(filter.source && filter.source[0] ? filter.source[0] : ''); }, [filter]); - const write = ({ target: { value, name } }: any) => setValue(value); + const write = ({ target: { value, name } }: any) => { + setValue(value); + debounceUpdate({ ...filter, source: [value] }); + } const renderFiled = () => { switch (filter.sourceType) {