blob: 442ac57f763a78d2a6a759b1815f90fd8e0144e9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
import React from 'react';
import {FormattedMessage} from 'react-intl';
import ConfirmModal from '../../confirm_modal.jsx';
export default class DeleteIntegration extends React.Component {
constructor(props) {
super(props);
this.handleConfirm = this.handleConfirm.bind(this);
this.handleCancel = this.handleCancel.bind(this);
this.handleOpenModal = this.handleOpenModal.bind(this);
this.state = {
showDeleteModal: false
};
}
handleOpenModal(e) {
e.preventDefault();
this.setState({
showDeleteModal: true
});
}
handleConfirm() {
this.props.onDelete();
}
handleCancel() {
this.setState({
showDeleteModal: false
});
}
render() {
const title = (
<FormattedMessage
id='integrations.delete.confirm.title'
defaultMessage='Delete Integration'
/>
);
const message = (
<div className='alert alert-warning'>
<i className='fa fa-warning'/>
<FormattedMessage
id={this.props.messageId}
defaultMessage='This action permanently deletes the integration and breaks any integrations using it. Are you sure you want to delete it?'
/>
</div>
);
const confirmButton = (
<FormattedMessage
id='integrations.delete.confirm.button'
defaultMessage='Delete'
/>
);
return (
<span>
<a
href='#'
onClick={this.handleOpenModal}
>
<FormattedMessage
id='installed_integrations.delete'
defaultMessage='Delete'
/>
</a>
<ConfirmModal
show={this.state.showDeleteModal}
title={title}
message={message}
confirmButton={confirmButton}
onConfirm={this.handleConfirm}
onCancel={this.handleCancel}
/>
</span>
);
}
}
DeleteIntegration.propTypes = {
messageId: React.PropTypes.string.isRequired,
onDelete: React.PropTypes.func.isRequired
};
|