model-navigator-standalone
Version:
Standalone MDF graph model visualizer
48 lines (45 loc) • 1.39 kB
JSX
import React from 'react';
import clsx from 'clsx';
import { useSelector, useDispatch } from 'react-redux';
import { Button } from '@mui/material';
import withStyles from '@mui/styles/withStyles';
import styles from './ActionLayer.style';
import {
searchResultCleared,
selectIsSearchMode,
selectOverlayPropertyHidden,
} from '../../../../../../features/search/searchSlice';
import {
selectOverlayTableHidden,
} from '../../../../../../features/graph/graphSlice';
/**
* A layer over the graph.
* Put action buttons here.
*/
const ActionLayer = ({
classes,
}) => {
const dispatch = useDispatch();
const isSearchMode = useSelector( selectIsSearchMode );
const overlayPropertyHidden = useSelector( selectOverlayPropertyHidden );
const overlayTableHidden = useSelector( selectOverlayTableHidden );
return (
<div className={clsx(classes.actionLayer, {
[classes.zvalue]: !overlayPropertyHidden || !overlayTableHidden,
})}>
{
isSearchMode && (
<Button
className={clsx(classes.clearSearch, {
[classes.zvalue]: !overlayPropertyHidden || !overlayTableHidden,
})}
onClick={() => dispatch(searchResultCleared())}
label="Clear Search Result"
> Clear Search Result
</Button>
)
}
</div>
);
}
export default withStyles(styles)(ActionLayer);