@@ -49,7 +49,8 @@ import {
4949 removeSelectedTypesInHitNavigator ,
5050 selectAllHits ,
5151 autoHideTagEditorDialogsOnScroll ,
52- selectAllVisibleObservations
52+ selectAllVisibleObservations ,
53+ searchForObservations
5354} from './redux/dispatchActions' ;
5455import { DEFAULT_FILTER , PREDEFINED_FILTERS } from '../../../reducers/selection/constants' ;
5556import { Edit , FilterList } from '@material-ui/icons' ;
@@ -64,7 +65,8 @@ import {
6465 setOpenObservationsDialog ,
6566 setLHSCompoundsInitialized ,
6667 setPoseIdForObservationsDialog ,
67- setObservationDialogAction
68+ setObservationDialogAction ,
69+ setSearchSettingsDialogOpen
6870} from '../../../reducers/selection/actions' ;
6971import { initializeFilter } from '../../../reducers/selection/dispatchActions' ;
7072import * as listType from '../../../constants/listTypes' ;
@@ -88,6 +90,7 @@ import { DJANGO_CONTEXT } from '../../../utils/djangoContext';
8890import ObservationCmpView from './observationCmpView' ;
8991import { ObservationsDialog } from './observationsDialog' ;
9092import { useScrollToSelectedPose } from './useScrollToSelectedPose' ;
93+ import { SearchSettingsDialog } from './searchSettingsDialog' ;
9194
9295const useStyles = makeStyles ( theme => ( {
9396 container : {
@@ -277,7 +280,6 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
277280 const moleculesPerPage = 30 ;
278281 const [ currentPage , setCurrentPage ] = useState ( 0 ) ;
279282 const searchString = useSelector ( state => state . previewReducers . molecule . searchStringLHS ) ;
280- // const [searchString, setSearchString] = useState(null);
281283 const [ sortDialogAnchorEl , setSortDialogAnchorEl ] = useState ( null ) ;
282284 const oldUrl = useRef ( '' ) ;
283285 const setOldUrl = url => {
@@ -327,6 +329,9 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
327329
328330 const proteinsHasLoaded = useSelector ( state => state . nglReducers . proteinsHasLoaded ) ;
329331
332+ const searchSettingsDialogOpen = useSelector ( state => state . selectionReducers . searchSettingsDialogOpen ) ;
333+ const searchSettings = useSelector ( state => state . selectionReducers . searchSettings ) ;
334+
330335 const [ predefinedFilter , setPredefinedFilter ] = useState ( filter !== undefined ? filter . predefined : DEFAULT_FILTER ) ;
331336
332337 const [ ascending , setAscending ] = useState ( true ) ;
@@ -467,17 +472,12 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
467472 }, [object_selection]);*/
468473
469474 let joinedMoleculeLists = useMemo ( ( ) => {
470- // const searchedString = currentActionList.find(action => action.type === 'SEARCH_STRING_HIT_NAVIGATOR');
471475 if ( searchString ) {
472- return allMoleculesList . filter ( molecule => molecule . code . toLowerCase ( ) . includes ( searchString . toLowerCase ( ) ) ) ;
473- // } else if (searchedString) {
474- // return getJoinedMoleculeList.filter(molecule =>
475- // molecule.protein_code.toLowerCase().includes(searchedString.searchStringHitNavigator.toLowerCase())
476- // );
476+ return dispatch ( searchForObservations ( searchString , allMoleculesList , searchSettings ) ) ;
477477 } else {
478478 return getJoinedMoleculeList ;
479479 }
480- } , [ getJoinedMoleculeList , allMoleculesList , searchString ] ) ;
480+ } , [ searchString , dispatch , allMoleculesList , getJoinedMoleculeList , searchSettings ] ) ;
481481
482482 const addSelectedMoleculesFromUnselectedSites = useCallback (
483483 ( joinedMoleculeLists , list ) => {
@@ -1014,6 +1014,10 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
10141014 return molecules ;
10151015 } ;
10161016
1017+ const openSearchSettingsDialog = open => {
1018+ dispatch ( setSearchSettingsDialogOpen ( open ) ) ;
1019+ } ;
1020+
10171021 const actions = [
10181022 < SearchField
10191023 className = { classes . search }
@@ -1026,6 +1030,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
10261030 // searchString={filterSearchString?.searchStringHitNavigator ?? ''}
10271031 searchString = { searchString ?? '' }
10281032 placeholder = "Search"
1033+ searchIconAction = { openSearchSettingsDialog }
10291034 /> ,
10301035
10311036 < IconButton
@@ -1118,6 +1123,9 @@ export const ObservationCmpList = memo(({ hideProjects }) => {
11181123 setIsOpenLPCAlert ( false ) ;
11191124 } }
11201125 />
1126+ { searchSettingsDialogOpen && (
1127+ < SearchSettingsDialog openDialog = { searchSettingsDialogOpen } setOpenDialog = { openSearchSettingsDialog } />
1128+ ) }
11211129 { isObservationDialogOpen && (
11221130 < ObservationsDialog open = { isObservationDialogOpen } anchorEl = { tagEditorAnchorEl } ref = { tagEditorRef } />
11231131 ) }
0 commit comments