model-navigator-standalone
Version:
Standalone MDF graph model visualizer
80 lines (73 loc) • 1.99 kB
JSX
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);