From 0bc2d20b530cd0ed42aa880262880799d7af75d4 Mon Sep 17 00:00:00 2001
From: Michael Winsauer <e1429715@student.tuwien.ac.at>
Date: Sat, 19 Jan 2019 02:56:19 +0100
Subject: [PATCH] Add empty terms function

---
 service-website/src/components/SearchTerm.js  |  2 +-
 .../src/components/SentimentAnalysis.js       | 20 ++++++++++---------
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/service-website/src/components/SearchTerm.js b/service-website/src/components/SearchTerm.js
index 537e663..aadda1c 100644
--- a/service-website/src/components/SearchTerm.js
+++ b/service-website/src/components/SearchTerm.js
@@ -24,7 +24,7 @@ const SearchTerm = ({
 
     return (
         <div key={index} className="search-term">
-            <input type="text" onChange={handleChange}/>
+            <input type="text" value={value} onChange={handleChange}/>
             <button onClick={handleRemoveTerm}>Remove</button>
         </div>
     );
diff --git a/service-website/src/components/SentimentAnalysis.js b/service-website/src/components/SentimentAnalysis.js
index 4a7c71b..d911a62 100644
--- a/service-website/src/components/SentimentAnalysis.js
+++ b/service-website/src/components/SentimentAnalysis.js
@@ -6,21 +6,15 @@ class SentimentAnalysis extends Component {
     constructor(props, context) {
         super(props, context);
         this.state = {
-            terms: new Map(),
-            nextTermId: 0,
+            terms: new Map().set(0, ''),
+            nextTermId: 1,
         };
         this.handleSubmit = this.handleSubmit.bind(this);
         this.handleTermChange = this.handleTermChange.bind(this);
         this.handleAddTerm = this.handleAddTerm.bind(this);
         this.handleRemoveTerm = this.handleRemoveTerm.bind(this);
         this.addEmptyTerm = this.addEmptyTerm.bind(this);
-    }
-
-    componentDidMount() {
-        const terms = this.state.terms;
-        if (terms.length === 0) {
-            this.addEmptyTerm();
-        }
+        this.emptyTerms = this.emptyTerms.bind(this);
     }
 
     handleSubmit(event) {
@@ -31,6 +25,7 @@ class SentimentAnalysis extends Component {
         terms.forEach((term) => {
             console.log(term);
         });
+        this.emptyTerms();
     }
 
     handleTermChange(id, value) {
@@ -60,6 +55,13 @@ class SentimentAnalysis extends Component {
         });
     }
 
+    emptyTerms() {
+        this.setState({
+            terms: new Map().set(0, ''),
+            nextTermId: 1,
+        });
+    }
+
     render() {
         return (
             <div className="sentiment-analysis">
-- 
2.43.0