From bb13476326b81191ba4aa854c25224638735272c Mon Sep 17 00:00:00 2001
From: Harrison Healey <harrisonmhealey@gmail.com>
Date: Mon, 28 Mar 2016 16:17:17 -0400
Subject: Added delete buttons to InstalledIntegrations

---
 .../backstage/installed_outgoing_webhook.jsx       | 71 ++++++++++++++++++++++
 1 file changed, 71 insertions(+)
 create mode 100644 webapp/components/backstage/installed_outgoing_webhook.jsx

(limited to 'webapp/components/backstage/installed_outgoing_webhook.jsx')

diff --git a/webapp/components/backstage/installed_outgoing_webhook.jsx b/webapp/components/backstage/installed_outgoing_webhook.jsx
new file mode 100644
index 000000000..3c0e20634
--- /dev/null
+++ b/webapp/components/backstage/installed_outgoing_webhook.jsx
@@ -0,0 +1,71 @@
+// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import React from 'react';
+
+import ChannelStore from 'stores/channel_store.jsx';
+import * as Utils from 'utils/utils.jsx';
+
+import {FormattedMessage} from 'react-intl';
+
+export default class InstalledOutgoingWebhook extends React.Component {
+    static get propTypes() {
+        return {
+            outgoingWebhook: React.PropTypes.object.isRequired,
+            onDeleteClick: React.PropTypes.func.isRequired
+        };
+    }
+
+    constructor(props) {
+        super(props);
+
+        this.handleDeleteClick = this.handleDeleteClick.bind(this);
+    }
+
+    handleDeleteClick(e) {
+        e.preventDefault();
+
+        this.props.onDeleteClick(this.props.outgoingWebhook);
+    }
+
+    render() {
+        const outgoingWebhook = this.props.outgoingWebhook;
+
+        const channel = ChannelStore.get(outgoingWebhook.channel_id);
+        const channelName = channel ? channel.display_name : 'cannot find channel';
+
+        return (
+            <div className='installed-integrations__item installed-integrations__outgoing-webhook'>
+                <div className='details'>
+                    <div className='details-row'>
+                        <span className='name'>
+                            {channelName}
+                        </span>
+                        <span className='type'>
+                            <FormattedMessage
+                                id='installed_integrations.outgoingWebhookType'
+                                defaultMessage='(Outgoing Webhook)'
+                            />
+                        </span>
+                    </div>
+                    <div className='details-row'>
+                        <span className='description'>
+                            {Utils.getWindowLocationOrigin() + '/hooks/' + outgoingWebhook.id}
+                        </span>
+                    </div>
+                </div>
+                <div className='actions'>
+                    <a
+                        href='#'
+                        onClick={this.handleDeleteClick}
+                    >
+                        <FormattedMessage
+                            id='installed_integrations.delete'
+                            defaultMessage='Delete'
+                        />
+                    </a>
+                </div>
+            </div>
+        );
+    }
+}
-- 
cgit v1.2.3-1-g7c22

