From b085bc2d56bdc98101b8cb50848aee248d42af28 Mon Sep 17 00:00:00 2001
From: Florian Orben <florian.orben@gmail.com>
Date: Thu, 5 Nov 2015 23:32:44 +0100
Subject: PLT-857: Support  for Incoming Webhooks - Try #2

---
 .../components/post_body_additional_content.jsx    | 56 ++++++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 web/react/components/post_body_additional_content.jsx

(limited to 'web/react/components/post_body_additional_content.jsx')

diff --git a/web/react/components/post_body_additional_content.jsx b/web/react/components/post_body_additional_content.jsx
new file mode 100644
index 000000000..8189ba2d3
--- /dev/null
+++ b/web/react/components/post_body_additional_content.jsx
@@ -0,0 +1,56 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+const PostAttachmentList = require('./post_attachment_list.jsx');
+
+export default class PostBodyAdditionalContent extends React.Component {
+    constructor(props) {
+        super(props);
+
+        this.getSlackAttachment = this.getSlackAttachment.bind(this);
+        this.getComponent = this.getComponent.bind(this);
+    }
+
+    componentWillMount() {
+        this.setState({type: this.props.post.type, shouldRender: Boolean(this.props.post.type)});
+    }
+
+    getSlackAttachment() {
+        const attachments = this.props.post.props && this.props.post.props.attachments || [];
+        return (
+            <PostAttachmentList
+                key={'post_body_additional_content' + this.props.post.id}
+                attachments={attachments}
+            />
+        );
+    }
+
+    getComponent() {
+        switch (this.state.type) {
+        case 'slack_attachment':
+            return this.getSlackAttachment();
+        }
+    }
+
+    render() {
+        let content = [];
+
+        if (this.state.shouldRender) {
+            const component = this.getComponent();
+
+            if (component) {
+                content = component;
+            }
+        }
+
+        return (
+            <div>
+                {content}
+            </div>
+        );
+    }
+}
+
+PostBodyAdditionalContent.propTypes = {
+    post: React.PropTypes.object.isRequired
+};
\ No newline at end of file
-- 
cgit v1.2.3-1-g7c22

