From 803084cee8a142ecc4ebf58cb4ab67dfee5dd257 Mon Sep 17 00:00:00 2001
From: Michael Winsauer <e1429715@student.tuwien.ac.at>
Date: Sat, 19 Jan 2019 11:32:03 +0100
Subject: [PATCH] Move pdf report into separate component

---
 service-website/src/components/PdfReport.js   | 20 +++++++++++++++++++
 .../src/components/SentimentAnalysis.js       | 20 ++++---------------
 2 files changed, 24 insertions(+), 16 deletions(-)
 create mode 100644 service-website/src/components/PdfReport.js

diff --git a/service-website/src/components/PdfReport.js b/service-website/src/components/PdfReport.js
new file mode 100644
index 0000000..c0ca230
--- /dev/null
+++ b/service-website/src/components/PdfReport.js
@@ -0,0 +1,20 @@
+import React from "react";
+import PropTypes from "prop-types";
+
+const PdfReport = ({pdfLink}) => {
+    if (pdfLink) {
+        return (
+            <div className="pdf-report">
+                <a href={pdfLink} target="_blank" rel="noopener noreferrer">Download PDF report</a>
+            </div>
+        );
+    } else {
+        return null;
+    }
+};
+
+PdfReport.propTypes = {
+    pdfLink: PropTypes.string.isRequired,
+};
+
+export default PdfReport;
diff --git a/service-website/src/components/SentimentAnalysis.js b/service-website/src/components/SentimentAnalysis.js
index 9a234d3..944cc51 100644
--- a/service-website/src/components/SentimentAnalysis.js
+++ b/service-website/src/components/SentimentAnalysis.js
@@ -1,7 +1,8 @@
 import React, {Component} from "react";
-import SearchTermsInput from "./SearchTermsInput";
-import {Map} from "immutable";
 import axios from "axios";
+import {Map} from "immutable";
+import PdfReport from "./PdfReport";
+import SearchTermsInput from "./SearchTermsInput";
 
 class SentimentAnalysis extends Component {
     constructor(props, context) {
@@ -85,19 +86,6 @@ class SentimentAnalysis extends Component {
             });
     }
 
-    renderPdf() {
-        const pdfLink = this.state.pdfLink;
-        if (pdfLink) {
-            return (
-                <div className="pdf-report">
-                    <a href={pdfLink} target="_blank" rel="noopener noreferrer">Download PDF report</a>
-                </div>
-            );
-        } else {
-            return null;
-        }
-    }
-
     render() {
         return (
             <div className="sentiment-analysis">
@@ -109,7 +97,7 @@ class SentimentAnalysis extends Component {
                                       onRemoveTerm={this.handleRemoveTerm}/>
                     <input type="submit" value="Submit"/>
                 </form>
-                {this.renderPdf()}
+                <PdfReport pdfLink={this.state.pdfLink}/>
             </div>
         );
     }
-- 
2.43.0