37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
import React from "react";
|
|
import PropTypes from "prop-types";
|
|
import {Dialog, DialogTitle, DialogContentText, Button, DialogActions, DialogContent} from '@material-ui/core';
|
|
|
|
const GeneralConfirmation = (props) => {
|
|
return (
|
|
<div>
|
|
<Dialog open={props.open}
|
|
onClose={props.close}>
|
|
<DialogTitle id="alert-dialog-title">
|
|
{props.title}
|
|
</DialogTitle>
|
|
<DialogContent>
|
|
<DialogContentText id="alert-dialog-description">
|
|
{"Are you sure you want to : " + props.message}
|
|
</DialogContentText>
|
|
</DialogContent>
|
|
<DialogActions>
|
|
<Button onClick={props.close}>Cancel</Button>
|
|
<Button variant="contained" color="secondary" onClick={() => { props.close(); props.actionFunction()}} autoFocus>
|
|
Go
|
|
</Button>
|
|
</DialogActions>
|
|
</Dialog>
|
|
</div>
|
|
)
|
|
}
|
|
|
|
GeneralConfirmation.propTypes={
|
|
open: PropTypes.bool.isRequired, // Boolean that determines if the modal should be open
|
|
close: PropTypes.func.isRequired, // Function that sets the open state to false i.e. () => setOpen(false)
|
|
message: PropTypes.any.isRequired, // What the user will see if being confirmed for the function to run
|
|
actionFunction: PropTypes.func.isRequired, // Function that runs when user clicks Go
|
|
title: PropTypes.any.isRequired, // The title of the modal that is opened
|
|
}
|
|
|
|
export default GeneralConfirmation; |