src/servers/DeleteServerModal.js   A
last analyzed

Complexity

Total Complexity 1
Complexity/F 0

Size

Lines of Code 46
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 1
eloc 39
mnd 1
bc 1
fnc 0
dl 0
loc 46
ccs 9
cts 9
cp 1
rs 10
bpm 0
cpm 0
noi 0
c 0
b 0
f 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