From 73b0405e0961b83001ebf32a2b3c2da4df5eccda Mon Sep 17 00:00:00 2001
From: HenryShan <zshan2@illinois.edu>
Date: Tue, 16 Mar 2021 12:47:09 +0800
Subject: [PATCH] small fixing

---
 web/app/src/App.js                       | 64 ++++++++++++------------
 web/app/src/Components/ElementDisplay.js | 29 ++++++++---
 2 files changed, 55 insertions(+), 38 deletions(-)

diff --git a/web/app/src/App.js b/web/app/src/App.js
index 4fcf339..6e180e3 100644
--- a/web/app/src/App.js
+++ b/web/app/src/App.js
@@ -49,6 +49,36 @@ function App() {
     const axios = require('axios').default;
     var center = {display: 'flex', justifyContent: 'center', alignItems: 'center'}
 
+    /** Function used to hide the input form */
+    function hideForm() {
+        setFormState('hide')
+    }
+
+    /** Function used to show bookData input form */
+    function changeFormStateBook() {
+        setRenderState(false)
+        if (formState === 'hide') {
+            setFormState('showBook')
+        } else {
+            setFormState('hide')
+        }
+    }
+
+    /** Function used to show authorData input form */
+    function changeFormStateAuthor() {
+        setRenderState(false)
+        if (formState === 'hide') {
+            setFormState('showAuthor')
+        } else {
+            setFormState('hide')
+        }
+    }
+    
+    /** Function used to set Dialog visible, which is called when a response is received */
+    function showDialog() {
+        setDialogState(true)
+    }
+
     /** Function used in GET Requests */
     function get() {
         axios.get('http://127.0.0.1:5000/api/' + queryStr)
@@ -58,9 +88,9 @@ function App() {
             showDialog()
             document.getElementById('dialog').value = response.status + ":\n" + response.statusText
             if (queryStr.includes('book')) {
-                setDataState(response.data['books'][0])
+                setDataState(response.data['books'])
             } else {
-                setDataState(response.data['authors'][0])
+                setDataState(response.data['authors'])
             }
             setRenderState(true)
         })
@@ -108,36 +138,6 @@ function App() {
         setDataState(authorData)
         return authorData
     }
-    
-    /** Function used to hide the input form */
-    function hideForm() {
-        setFormState('hide')
-    }
-
-    /** Function used to show bookData input form */
-    function changeFormStateBook() {
-        setRenderState(false)
-        if (formState === 'hide') {
-            setFormState('showBook')
-        } else {
-            setFormState('hide')
-        }
-    }
-
-    /** Function used to show authorData input form */
-    function changeFormStateAuthor() {
-        setRenderState(false)
-        if (formState === 'hide') {
-            setFormState('showAuthor')
-        } else {
-            setFormState('hide')
-        }
-    }
-    
-    /** Function used to set Dialog visible, which is called when a response is received */
-    function showDialog() {
-        setDialogState(true)
-    }
 
     /** Function used in PUT requests */
     function put() {
diff --git a/web/app/src/Components/ElementDisplay.js b/web/app/src/Components/ElementDisplay.js
index a8d53ad..47112ec 100644
--- a/web/app/src/Components/ElementDisplay.js
+++ b/web/app/src/Components/ElementDisplay.js
@@ -3,18 +3,35 @@ import MUIDataTable from "mui-datatables";
 /** MUI dataTable component, used for rendering received response */
 const ElementDisplay = (props) => {
 
-    var fields = Object.keys(props.data)
-    var values = Object.values(props.data)
-    console.log(Object.values(props.data))
-    console.log(Object.keys(props.data))
+    var list = props.data
+    if (list.length <= 0) {
+        return (
+            <MUIDataTable 
+            title={"Data Table"}
+            data={[]}
+            columns={['Fields', 'Values']}
+            options={{}}
+        />
+        )
+    }
+    var fields = Object.keys(list[0])
+    var values = []
+    for (var key in list){
+        if (list.hasOwnProperty(key)) {
+            values.push(Object.values(list[key]))
+        }
+    }
+    console.log(fields)
+    console.log(values)
+    console.log(list)
     const columns = fields
-    const data = [values]
+    const data = values
     const options = {
         'responsive':'vertical'
     }
     return (
         <MUIDataTable 
-            title={"GET Data"}
+            title={"Data Table"}
             data={data}
             columns={columns}
             options={options}
-- 
GitLab