Total Complexity | 1 |
Complexity/F | 0 |
Lines of Code | 46 |
Function Count | 0 |
Duplicated Lines | 0 |
Ratio | 0 % |
Coverage | 100% |
Changes | 0 |
1 | import PropTypes from 'prop-types'; |
||
2 | import React from 'react'; |
||
3 | import { Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap'; |
||
4 | import { serverType } from './prop-types'; |
||
5 | |||
6 | 2 | const propTypes = { |
|
7 | toggle: PropTypes.func.isRequired, |
||
8 | isOpen: PropTypes.bool.isRequired, |
||
9 | server: serverType, |
||
10 | deleteServer: PropTypes.func, |
||
11 | history: PropTypes.shape({ |
||
12 | push: PropTypes.func, |
||
13 | }), |
||
14 | }; |
||
15 | |||
16 | 2 | const DeleteServerModal = ({ server, toggle, isOpen, deleteServer, history }) => { |
|
17 | 4 | const closeModal = () => { |
|
18 | 1 | deleteServer(server); |
|
19 | 1 | toggle(); |
|
20 | 1 | history.push('/'); |
|
21 | }; |
||
22 | |||
23 | 4 | return ( |
|
24 | <Modal isOpen={isOpen} toggle={toggle} centered> |
||
25 | <ModalHeader toggle={toggle}><span className="text-danger">Remove server</span></ModalHeader> |
||
26 | <ModalBody> |
||
27 | <p>Are you sure you want to remove <b>{server ? server.name : ''}</b>?</p> |
||
28 | <p> |
||
29 | <i> |
||
30 | No data will be deleted, only the access to this server will be removed from this host. |
||
31 | You can create it again at any moment. |
||
32 | </i> |
||
33 | </p> |
||
34 | </ModalBody> |
||
35 | <ModalFooter> |
||
36 | <button className="btn btn-link" onClick={toggle}>Cancel</button> |
||
37 | 1 | <button className="btn btn-danger" onClick={() => closeModal()}>Delete</button> |
|
38 | </ModalFooter> |
||
39 | </Modal> |
||
40 | ); |
||
41 | }; |
||
42 | |||
43 | 2 | DeleteServerModal.propTypes = propTypes; |
|
44 | |||
45 | export default DeleteServerModal; |
||
46 |