diff --git a/frontend/app/components/shared/MainSearchBar/MainSearchBar.tsx b/frontend/app/components/shared/MainSearchBar/MainSearchBar.tsx index e3c9cd9a8..2bdd2514c 100644 --- a/frontend/app/components/shared/MainSearchBar/MainSearchBar.tsx +++ b/frontend/app/components/shared/MainSearchBar/MainSearchBar.tsx @@ -2,51 +2,40 @@ import React from 'react'; import SessionSearchField from 'Shared/SessionSearchField'; import SavedSearch from 'Shared/SavedSearch'; import { Button } from 'UI'; -// import { clearSearch } from 'Duck/search'; import { connect } from 'react-redux'; -import { edit as editFilter, addFilterByKeyAndValue, clearSearch, fetchFilterSearch } from 'Duck/search'; +import { clearSearch } from 'Duck/search'; interface Props { - clearSearch: () => void; - appliedFilter: any; - optionsReady: boolean; - editFilter: any, - addFilterByKeyAndValue: any, - fetchFilterSearch: any, + clearSearch: () => void; + appliedFilter: any; } const MainSearchBar = (props: Props) => { - const { appliedFilter } = props; + const { appliedFilter } = props; const hasFilters = appliedFilter && appliedFilter.filters && appliedFilter.filters.size > 0; return (
-
- -
-
+
+ +
+
-
+
- ) -} -export default connect(state => ({ + ); +}; +export default connect( + (state: any) => ({ appliedFilter: state.getIn(['search', 'instance']), - optionsReady: state.getIn(['customFields', 'optionsReady']) -}), { + }), + { clearSearch, - editFilter, - addFilterByKeyAndValue, - fetchFilterSearch -})(MainSearchBar); + } +)(MainSearchBar); diff --git a/frontend/app/components/shared/SessionSearchField/SessionSearchField.tsx b/frontend/app/components/shared/SessionSearchField/SessionSearchField.tsx index 0e6529e18..b5c663452 100644 --- a/frontend/app/components/shared/SessionSearchField/SessionSearchField.tsx +++ b/frontend/app/components/shared/SessionSearchField/SessionSearchField.tsx @@ -4,66 +4,64 @@ import { Input } from 'UI'; import FilterModal from 'Shared/Filters/FilterModal'; import { debounce } from 'App/utils'; import { assist as assistRoute, isRoute } from 'App/routes'; +import { addFilterByKeyAndValue, fetchFilterSearch } from 'Duck/search'; const ASSIST_ROUTE = assistRoute(); interface Props { - fetchFilterSearch: (query: any) => void; - addFilterByKeyAndValue: (key: string, value: string) => void; - filterList: any; - filterListLive: any; - filterSearchListLive: any; - filterSearchList: any; + fetchFilterSearch: (query: any) => void; + addFilterByKeyAndValue: (key: string, value: string) => void; + filterSearchListLive: any; + filterSearchList: any; } function SessionSearchField(props: Props) { - const debounceFetchFilterSearch = React.useCallback(debounce(props.fetchFilterSearch, 1000), []); - const [showModal, setShowModal] = useState(false); - const [searchQuery, setSearchQuery] = useState(''); + const debounceFetchFilterSearch = React.useCallback(debounce(props.fetchFilterSearch, 1000), []); + const [showModal, setShowModal] = useState(false); + const [searchQuery, setSearchQuery] = useState(''); - const onSearchChange = ({ target: { value } }: any) => { - setSearchQuery(value); - debounceFetchFilterSearch({ q: value }); - }; + const onSearchChange = ({ target: { value } }: any) => { + setSearchQuery(value); + debounceFetchFilterSearch({ q: value }); + }; - const onAddFilter = (filter: any) => { - props.addFilterByKeyAndValue(filter.key, filter.value); - }; + const onAddFilter = (filter: any) => { + props.addFilterByKeyAndValue(filter.key, filter.value); + }; - return ( -
- setShowModal(true)} - onBlur={() => setTimeout(setShowModal, 200, false)} - onChange={onSearchChange} - placeholder={'Search sessions using any captured event (click, input, page, error...)'} - id="search" - type="search" - autoComplete="off" - className="hover:border-gray-medium text-lg placeholder-lg" - /> + return ( +
+ setShowModal(true)} + onBlur={() => setTimeout(setShowModal, 200, false)} + onChange={onSearchChange} + placeholder={'Search sessions using any captured event (click, input, page, error...)'} + id="search" + type="search" + autoComplete="off" + className="hover:border-gray-medium text-lg placeholder-lg" + /> - {showModal && ( -
- -
- )} + {showModal && ( +
+
- ); + )} +
+ ); } export default connect( - (state: any) => ({ - filterSearchList: state.getIn(['search', 'filterSearchList']), - filterSearchListLive: state.getIn(['liveSearch', 'filterSearchList']), - filterList: state.getIn(['search', 'filterList']), - filterListLive: state.getIn(['search', 'filterListLive']), - }), - {} + (state: any) => ({ + filterSearchList: state.getIn(['search', 'filterSearchList']), + filterSearchListLive: state.getIn(['liveSearch', 'filterSearchList']), + }), + { addFilterByKeyAndValue, fetchFilterSearch } )(SessionSearchField);