diff options
author | VeraLyu <lvroyce0210@gmail.com> | 2017-03-19 21:53:12 +0800 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2017-03-19 09:53:12 -0400 |
commit | 9b10f3ef5450886bc2eb47fc58b649ff67109b1d (patch) | |
tree | a0e050d9d58b9ca528e86f8f186a9c043d4927c5 /webapp/components/integrations | |
parent | efd6c8606664797f20a3f591b68ee79ee1a1682a (diff) | |
download | chat-9b10f3ef5450886bc2eb47fc58b649ff67109b1d.tar.gz chat-9b10f3ef5450886bc2eb47fc58b649ff67109b1d.tar.bz2 chat-9b10f3ef5450886bc2eb47fc58b649ff67109b1d.zip |
Split delete modal trigger for reuse (#5740)
Spllit delete modal trigger for reuse and make emoji delete
to use this modal trigger.
Diffstat (limited to 'webapp/components/integrations')
-rw-r--r-- | webapp/components/integrations/components/delete_integration.jsx | 73 |
1 files changed, 17 insertions, 56 deletions
diff --git a/webapp/components/integrations/components/delete_integration.jsx b/webapp/components/integrations/components/delete_integration.jsx index 442ac57f7..8e2e27596 100644 --- a/webapp/components/integrations/components/delete_integration.jsx +++ b/webapp/components/integrations/components/delete_integration.jsx @@ -1,48 +1,29 @@ import React from 'react'; import {FormattedMessage} from 'react-intl'; -import ConfirmModal from '../../confirm_modal.jsx'; +import DeleteModalTrigger from '../../delete_modal_trigger.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 - }); +export default class DeleteIntegration extends DeleteModalTrigger { + get triggerTitle() { + return ( + <FormattedMessage + id='installed_integrations.delete' + defaultMessage='Delete' + /> + ); } - render() { - const title = ( + get modalTitle() { + return ( <FormattedMessage id='integrations.delete.confirm.title' defaultMessage='Delete Integration' /> ); + } - const message = ( + get modalMessage() { + return ( <div className='alert alert-warning'> <i className='fa fa-warning'/> <FormattedMessage @@ -51,35 +32,15 @@ export default class DeleteIntegration extends React.Component { /> </div> ); + } - const confirmButton = ( + get modalConfirmButton() { + return ( <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> - ); } } |