Added remove remote mount

This commit is contained in:
2019-10-06 19:05:25 -05:00
parent 82fad7b706
commit aff7e8cb3a
10 changed files with 173 additions and 1 deletions

View File

@@ -8,7 +8,9 @@ import Text from '../UI/Text/Text';
import Grid from '../UI/Grid/Grid';
import configureImage from '../../assets/images/configure.png';
import RootElem from '../../hoc/RootElem/RootElem';
import {displayConfiguration, setProviderState} from '../../redux/actions/mount_actions';
import {displayConfiguration, removeRemoteMount, setProviderState} from '../../redux/actions/mount_actions';
import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
import { faTrashAlt} from '@fortawesome/free-solid-svg-icons';
const mapStateToProps = (state, ownProps) => {
return {
@@ -21,6 +23,7 @@ const mapStateToProps = (state, ownProps) => {
const mapDispatchToProps = dispatch => {
return {
displayConfiguration: (provider, remote) => dispatch(displayConfiguration(provider, remote)),
removeRemoteMount: provider => dispatch(removeRemoteMount(provider)),
setProviderState: (provider, state) => dispatch(setProviderState(provider, state)),
}
};
@@ -139,6 +142,27 @@ export default connect(mapStateToProps, mapDispatchToProps)(props => {
</RootElem>
);
let removeControl;
if (props.remote) {
const removeDisabled = !props.MState.AllowMount || props.MState.Mounted;
const removeStyle = {
cursor: removeDisabled ? 'no-drop' : 'pointer'
};
const handleRemoveMount = () => {
if (!removeDisabled) {
props.removeRemoteMount(props.provider);
}
};
removeControl = (
<a col={dimensions=>dimensions.columns - 6}
href={void(0)}
onClick={handleRemoveMount}
row={secondRow + 3}
style={removeStyle}>
<FontAwesomeIcon icon={faTrashAlt}/>
</a>);
}
return (
<div className={'MountItem'}>
<Grid noScroll>
@@ -152,6 +176,7 @@ export default connect(mapStateToProps, mapDispatchToProps)(props => {
{actionsDisplay}
{autoMountControl}
{autoRestartControl}
{removeControl}
</Grid>
</div>
);

View File

View File

@@ -0,0 +1,41 @@
import {connect} from 'react-redux';
import Button from '../UI/Button/Button';
import Box from '../UI/Box/Box';
import React from 'react';
import './YesNo.css';
import {hideConfirmYesNo} from '../../redux/actions/common_actions';
const mapStateToProps = state => {
return {
Title: state.common.ConfirmTitle,
}
};
const mapDispatchToProps = dispatch => {
return {
hideConfirmYesNo: confirmed => dispatch(hideConfirmYesNo(confirmed)),
};
};
export default connect(mapStateToProps, mapDispatchToProps)(props => {
return (
<Box dxStyle={{width: '180px', height: 'auto', padding: '8px'}}>
<div style={{width: '100%', height: 'auto'}}>
<h1 style={{width: '100%', textAlign: 'center'}}>{props.Title}</h1>
</div>
<table cellSpacing={5} width="100%">
<tbody>
<tr>
<td width="50%">
<Button buttonStyles={{width: '100%'}}
clicked={() => props.hideConfirmYesNo(true)}>Yes</Button>
</td>
<td width="50%">
<Button buttonStyles={{width: '100%'}}
clicked={() => props.hideConfirmYesNo(false)}>No</Button>
</td>
</tr>
</tbody>
</table>
</Box>);
});