UNPKG

model-navigator-standalone

Version:

Standalone MDF graph model visualizer

80 lines (73 loc) 1.99 kB
import React from 'react'; import { useSelector, useDispatch } from 'react-redux'; import withStyles from '@mui/styles/withStyles'; import styles from './DictionarySearchHistory.style'; import { searchResultCleared, clearedHistory, historyItemClicked, selectSearchHistoryItems, } from '../../../../../features/search/searchSlice'; function DictionarySearchHistory({ classes, }) { const dispatch = useDispatch(); const searchHistoryItems = useSelector( selectSearchHistoryItems ); const handleClick = (item) => { dispatch(historyItemClicked(item)); } const handleClearHistory = () => { dispatch(searchResultCleared()); dispatch(clearedHistory()); } var historyItems = [] if (searchHistoryItems) { historyItems = searchHistoryItems.map((item) => { const zeroCountModifier = item.matchedCount === 0 ? classes.itemBadgeZero : ''; return ( <div className={classes.item} key={item.keywordStr} onClick={() => handleClick(item)} role="button" tabIndex={0} > <span className={classes.itemKeyword}> {item.keywordStr} </span> <span className={`${classes.itemBadge} ${zeroCountModifier}`}> {item.matchedCount} </span> </div> ); }); } if (searchHistoryItems && searchHistoryItems.length > 0) { return ( <div className={classes.searchHistory}> <div> <h4 className={classes.titleText}> Last Search </h4> <span className={classes.clear} onClick={handleClearHistory} role="button" tabIndex={0} > Clear History </span> </div> <div className={classes.searchedItems}> {historyItems} </div> </div> ); } return ( <> </> ); } export default withStyles(styles)(DictionarySearchHistory);