From 84025c275af44477fab3c41b63945fafaeeec6d8 Mon Sep 17 00:00:00 2001
From: Esko Ikkala <esko.ikkala@aalto.fi>
Date: Tue, 29 May 2018 16:59:07 +0300
Subject: [PATCH] Testing mui-datatables

---
 package-lock.json              | 458 +++++++++++++++++++--------------
 package.json                   |   9 +-
 src/components/DataTable.js    |  62 +++++
 src/components/ResultMarker.js |   4 +-
 src/containers/MapApp.js       |   9 +-
 5 files changed, 341 insertions(+), 201 deletions(-)
 create mode 100644 src/components/DataTable.js

diff --git a/package-lock.json b/package-lock.json
index 044367f1..5ebdfd4c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -75,12 +75,19 @@
       }
     },
     "@babel/runtime": {
-      "version": "7.0.0-beta.47",
-      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.47.tgz",
-      "integrity": "sha512-3IaakAC5B4bHJ0aCUKVw0pt+GruavdgWDFbf7TfKh7ZJ8yQuUp7af7MNwf3e+jH8776cjqYmMO1JNDDAE9WfrA==",
+      "version": "7.0.0-beta.49",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.49.tgz",
+      "integrity": "sha1-A7O/B+uYIHLI6FHdLd1RECguYb8=",
       "requires": {
-        "core-js": "^2.5.3",
+        "core-js": "^2.5.6",
         "regenerator-runtime": "^0.11.1"
+      },
+      "dependencies": {
+        "core-js": {
+          "version": "2.5.7",
+          "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
+          "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
+        }
       }
     },
     "@babel/template": {
@@ -150,15 +157,16 @@
       }
     },
     "@material-ui/core": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-1.0.0.tgz",
-      "integrity": "sha512-BTLp4goHFKGqCVSjSWNSUZp3/fvN36L0B73Z68i4Hs6TRZaApW5M2JyKmWTsCf/hk4PNKTnZMh141qNQFhxzAw==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-1.1.0.tgz",
+      "integrity": "sha512-VtNKjHUgma7d6F3492qZovKxR6K9EHMRb9y+Kp5IWExWErQTcKlnqwjmVP5uvvwazTDzqWH+MJlxKj2BqCjSGw==",
       "requires": {
         "@babel/runtime": "^7.0.0-beta.42",
         "@types/jss": "^9.5.3",
         "@types/react-transition-group": "^2.0.8",
         "brcast": "^3.0.1",
         "classnames": "^2.2.5",
+        "debounce": "^1.1.0",
         "deepmerge": "^2.0.1",
         "dom-helpers": "^3.2.1",
         "hoist-non-react-statics": "^2.5.0",
@@ -170,13 +178,11 @@
         "jss-props-sort": "^6.0.0",
         "jss-vendor-prefixer": "^7.0.0",
         "keycode": "^2.1.9",
-        "lodash": "^4.2.0",
         "normalize-scroll-left": "^0.1.2",
         "prop-types": "^15.6.0",
-        "react-event-listener": "^0.5.1",
+        "react-event-listener": "^0.5.9",
         "react-jss": "^8.1.0",
         "react-popper": "^0.10.0",
-        "react-scrollbar-size": "^2.0.2",
         "react-transition-group": "^2.2.1",
         "recompose": "^0.26.0 || ^0.27.0",
         "scroll": "^2.0.3",
@@ -184,9 +190,9 @@
       }
     },
     "@material-ui/icons": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-1.0.0.tgz",
-      "integrity": "sha512-z/YCTc8W0+7wrtOhiMKVuQKD/au6hw6u7O183RiMLxhOVj7o0dmC2DdP+ImhclRPIjnPdc3CwctH3kOSilmaVQ==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-1.1.0.tgz",
+      "integrity": "sha512-Z4Xo/EYXuVqCIOjLw7AeBJPtJZsgy9dMAdqu6uYr7gxAefFA8L/QukLv/XE5ByxKYvRhzFG/AjA2OKXwKqfXBQ==",
       "requires": {
         "recompose": "^0.26.0 || ^0.27.0"
       }
@@ -238,31 +244,32 @@
       "dev": true
     },
     "@types/react": {
-      "version": "16.3.11",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-16.3.11.tgz",
-      "integrity": "sha512-F0ZqVldV6l7FObRPfkgXg4GwWJa4tGrh1glydmx+OMOdU4K5lUnh2rlj/4uO6RnuN2OBVCzo2XiyIifEZPkCXw==",
+      "version": "16.3.14",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-16.3.14.tgz",
+      "integrity": "sha512-wNUGm49fPl7eE2fnYdF0v5vSOrUMdKMQD/4NwtQRnb6mnPwtkhabmuFz37eq90+hhyfz0pWd38jkZHOcaZ6LGw==",
       "requires": {
         "csstype": "^2.2.0"
       }
     },
     "@types/react-transition-group": {
-      "version": "2.0.8",
-      "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.8.tgz",
-      "integrity": "sha512-52rCkAlhkFfaXplkujWUevTMb9/DCsND1DwB6VONPJKAShC3MrRl130ADV7Rc+7t83KVAoz4HPFhJuHI5pfnZA==",
+      "version": "2.0.9",
+      "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.9.tgz",
+      "integrity": "sha512-Id2MtQcmOgLymqqLqg1VjzNpN7O5vGoF47h3s7jxhzqWdMCtk2GwxFUqcKbGrRmHzzQGyRatfG8yahonIys74Q==",
       "requires": {
         "@types/react": "*"
       }
     },
     "@webassemblyjs/ast": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.4.3.tgz",
-      "integrity": "sha512-S6npYhPcTHDYe9nlsKa9CyWByFi8Vj8HovcAgtmMAQZUOczOZbQ8CnwMYKYC5HEZzxEE+oY0jfQk4cVlI3J59Q==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.8.tgz",
+      "integrity": "sha512-98D3ztcV1qa5NFvMOA3V0tSbmqbMbIU38+xXeD0y6WIUMW1IOIANXxzVznZekKHorYo2eQBQ2HMYM9MgmFV9WQ==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/helper-wasm-bytecode": "1.4.3",
-        "@webassemblyjs/wast-parser": "1.4.3",
+        "@webassemblyjs/helper-module-context": "1.5.8",
+        "@webassemblyjs/helper-wasm-bytecode": "1.5.8",
+        "@webassemblyjs/wast-parser": "1.5.8",
         "debug": "^3.1.0",
-        "webassemblyjs": "1.4.3"
+        "mamacro": "^0.0.3"
       },
       "dependencies": {
         "debug": {
@@ -277,15 +284,21 @@
       }
     },
     "@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.4.3.tgz",
-      "integrity": "sha512-3zTkSFswwZOPNHnzkP9ONq4bjJSeKVMcuahGXubrlLmZP8fmTIJ58dW7h/zOVWiFSuG2em3/HH3BlCN7wyu9Rw==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.8.tgz",
+      "integrity": "sha512-ge/AFoXMW4fXS7F1Xw+KUG5Q2ELu4y0SF+LnV5n5sH7LrjLvhdShXt4BSfdQ58gIO9WP64t3kLCQVK4izB6kfw==",
+      "dev": true
+    },
+    "@webassemblyjs/helper-api-error": {
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.8.tgz",
+      "integrity": "sha512-a9GoI/KeK0JPx3IzBiA/qLOMxS8C8MST4yaR81jCWhNqyAxlJSxoJFD5L6VnXl8vlWe6JbhdlZWFd/V7k7am/w==",
       "dev": true
     },
     "@webassemblyjs/helper-buffer": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.4.3.tgz",
-      "integrity": "sha512-e8+KZHh+RV8MUvoSRtuT1sFXskFnWG9vbDy47Oa166xX+l0dD5sERJ21g5/tcH8Yo95e9IN3u7Jc3NbhnUcSkw==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.8.tgz",
+      "integrity": "sha512-6Jqn9Ol6EqX0LAEvpickAUiHNAQe3wkqn5LhYh4NFDMWZLGJZzHldmMbQElulUgAYTogL7LM673y3GMFKZEQyw==",
       "dev": true,
       "requires": {
         "debug": "^3.1.0"
@@ -303,36 +316,42 @@
       }
     },
     "@webassemblyjs/helper-code-frame": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.4.3.tgz",
-      "integrity": "sha512-9FgHEtNsZQYaKrGCtsjswBil48Qp1agrzRcPzCbQloCoaTbOXLJ9IRmqT+uEZbenpULLRNFugz3I4uw18hJM8w==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.8.tgz",
+      "integrity": "sha512-FYu8dmytZ35g4buu3G+zsvQO5lqv7Vu78IE0SKR1wwvTfz3cvC15hz4pR6N2I4Ox1hQYI4+DxKjLTxLx0td8sw==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/wast-printer": "1.4.3"
+        "@webassemblyjs/wast-printer": "1.5.8"
       }
     },
     "@webassemblyjs/helper-fsm": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.4.3.tgz",
-      "integrity": "sha512-JINY76U+702IRf7ePukOt037RwmtH59JHvcdWbTTyHi18ixmQ+uOuNhcdCcQHTquDAH35/QgFlp3Y9KqtyJsCQ==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.8.tgz",
+      "integrity": "sha512-6+P2KDMUgfc1ehtV7GscDH2piC/WLmlPQf38/1BI7TWs0Kps+VtQPmutqZp/bdzwbFTOxo5kXEQAYkxMPv54ug==",
+      "dev": true
+    },
+    "@webassemblyjs/helper-module-context": {
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.8.tgz",
+      "integrity": "sha512-1g4qAr27JpEgS2UrgBGg9jc0bKuniRzqNKh+VQfB/RULpW7SgiKiS1yDFV+iArIPCIqFyrB/8qZ9LxH5aATZxA==",
       "dev": true
     },
     "@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.4.3.tgz",
-      "integrity": "sha512-I7bS+HaO0K07Io89qhJv+z1QipTpuramGwUSDkwEaficbSvCcL92CUZEtgykfNtk5wb0CoLQwWlmXTwGbNZUeQ==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.8.tgz",
+      "integrity": "sha512-bbm8KR5ZtiiYPBB5OyZI4siZQHaKDRuL4Es+4iM5B/Jg0H14wYHf50su0MKkYa7REf4d3vDWtZTjt9z3xoq9Pw==",
       "dev": true
     },
     "@webassemblyjs/helper-wasm-section": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.4.3.tgz",
-      "integrity": "sha512-p0yeeO/h2r30PyjnJX9xXSR6EDcvJd/jC6xa/Pxg4lpfcNi7JUswOpqDToZQ55HMMVhXDih/yqkaywHWGLxqyQ==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.8.tgz",
+      "integrity": "sha512-g7W0h1E8Cg+oJB5yZ6//XUYC+YLCUN0emNASkcF2mFli4AOB7+3siS+rR1S/8N/91zanaO2q+YAs5hdFtArS1w==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.4.3",
-        "@webassemblyjs/helper-buffer": "1.4.3",
-        "@webassemblyjs/helper-wasm-bytecode": "1.4.3",
-        "@webassemblyjs/wasm-gen": "1.4.3",
+        "@webassemblyjs/ast": "1.5.8",
+        "@webassemblyjs/helper-buffer": "1.5.8",
+        "@webassemblyjs/helper-wasm-bytecode": "1.5.8",
+        "@webassemblyjs/wasm-gen": "1.5.8",
         "debug": "^3.1.0"
       },
       "dependencies": {
@@ -347,38 +366,38 @@
         }
       }
     },
-    "@webassemblyjs/leb128": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.4.3.tgz",
-      "integrity": "sha512-4u0LJLSPzuRDWHwdqsrThYn+WqMFVqbI2ltNrHvZZkzFPO8XOZ0HFQ5eVc4jY/TNHgXcnwrHjONhPGYuuf//KQ==",
+    "@webassemblyjs/ieee754": {
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.8.tgz",
+      "integrity": "sha512-r0gly5YsSJj2vITYJnS/MYT0xw7nyANBzsUtfVZyo1OHyYql96SEYKFrSEaoXKexew00TCd7JufCK5PGoF55AQ==",
       "dev": true,
       "requires": {
-        "leb": "^0.3.0"
+        "ieee754": "^1.1.11"
       }
     },
-    "@webassemblyjs/validation": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/validation/-/validation-1.4.3.tgz",
-      "integrity": "sha512-R+rRMKfhd9mq0rj2mhU9A9NKI2l/Rw65vIYzz4lui7eTKPcCu1l7iZNi4b9Gen8D42Sqh/KGiaQNk/x5Tn/iBQ==",
+    "@webassemblyjs/leb128": {
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.8.tgz",
+      "integrity": "sha512-/2fxnEYhoiena5Oh4UBMXQ7VNhU2ZVLjfuHOJ28on2YBOlOAFhGeX5Y1HTMcKTLACexYMy2ec8asgX6XwSPPBg==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.4.3"
+        "leb": "^0.3.0"
       }
     },
     "@webassemblyjs/wasm-edit": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.4.3.tgz",
-      "integrity": "sha512-qzuwUn771PV6/LilqkXcS0ozJYAeY/OKbXIWU3a8gexuqb6De2p4ya/baBeH5JQ2WJdfhWhSvSbu86Vienttpw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.4.3",
-        "@webassemblyjs/helper-buffer": "1.4.3",
-        "@webassemblyjs/helper-wasm-bytecode": "1.4.3",
-        "@webassemblyjs/helper-wasm-section": "1.4.3",
-        "@webassemblyjs/wasm-gen": "1.4.3",
-        "@webassemblyjs/wasm-opt": "1.4.3",
-        "@webassemblyjs/wasm-parser": "1.4.3",
-        "@webassemblyjs/wast-printer": "1.4.3",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.8.tgz",
+      "integrity": "sha512-YgdT1/vGAtB2daWhNB6Xg32RBvgy21OZN7wnzh/SVibdQHBBx7HcqoBNbr8M1WwGdDitcdSdxzG0Hg2rjga0Pg==",
+      "dev": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.5.8",
+        "@webassemblyjs/helper-buffer": "1.5.8",
+        "@webassemblyjs/helper-wasm-bytecode": "1.5.8",
+        "@webassemblyjs/helper-wasm-section": "1.5.8",
+        "@webassemblyjs/wasm-gen": "1.5.8",
+        "@webassemblyjs/wasm-opt": "1.5.8",
+        "@webassemblyjs/wasm-parser": "1.5.8",
+        "@webassemblyjs/wast-printer": "1.5.8",
         "debug": "^3.1.0"
       },
       "dependencies": {
@@ -394,26 +413,27 @@
       }
     },
     "@webassemblyjs/wasm-gen": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.4.3.tgz",
-      "integrity": "sha512-eR394T8dHZfpLJ7U/Z5pFSvxl1L63JdREebpv9gYc55zLhzzdJPAuxjBYT4XqevUdW67qU2s0nNA3kBuNJHbaQ==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.8.tgz",
+      "integrity": "sha512-RAg5Ew7h9RzGPNUfPMRgOlA8Qtju1Hf2w6swRgC4suYMreobUig4qImdABwzxI6K5qqcW4AP37cNHuSUo+NaLg==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.4.3",
-        "@webassemblyjs/helper-wasm-bytecode": "1.4.3",
-        "@webassemblyjs/leb128": "1.4.3"
+        "@webassemblyjs/ast": "1.5.8",
+        "@webassemblyjs/helper-wasm-bytecode": "1.5.8",
+        "@webassemblyjs/ieee754": "1.5.8",
+        "@webassemblyjs/leb128": "1.5.8"
       }
     },
     "@webassemblyjs/wasm-opt": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.4.3.tgz",
-      "integrity": "sha512-7Gp+nschuKiDuAL1xmp4Xz0rgEbxioFXw4nCFYEmy+ytynhBnTeGc9W9cB1XRu1w8pqRU2lbj2VBBA4cL5Z2Kw==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.8.tgz",
+      "integrity": "sha512-XBQfQnJen5uMwIT9jrbd4lqtoU+8dBFoC8Qb5Up30b7ShfVNDzxTHSySYgaOVH+1uGiQGNg79VSz6jabQ6eHlw==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.4.3",
-        "@webassemblyjs/helper-buffer": "1.4.3",
-        "@webassemblyjs/wasm-gen": "1.4.3",
-        "@webassemblyjs/wasm-parser": "1.4.3",
+        "@webassemblyjs/ast": "1.5.8",
+        "@webassemblyjs/helper-buffer": "1.5.8",
+        "@webassemblyjs/wasm-gen": "1.5.8",
+        "@webassemblyjs/wasm-parser": "1.5.8",
         "debug": "^3.1.0"
       },
       "dependencies": {
@@ -429,40 +449,41 @@
       }
     },
     "@webassemblyjs/wasm-parser": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.4.3.tgz",
-      "integrity": "sha512-KXBjtlwA3BVukR/yWHC9GF+SCzBcgj0a7lm92kTOaa4cbjaTaa47bCjXw6cX4SGQpkncB9PU2hHGYVyyI7wFRg==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.8.tgz",
+      "integrity": "sha512-DUJva0Xbhdy/CXJusWCDBWDb0Dm1zesL9Eys5XONqLwaRWE5XdAF6f3ru1q6echT+q9xijk/0PbSFpvjPKKLmw==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.4.3",
-        "@webassemblyjs/helper-wasm-bytecode": "1.4.3",
-        "@webassemblyjs/leb128": "1.4.3",
-        "@webassemblyjs/wasm-parser": "1.4.3",
-        "webassemblyjs": "1.4.3"
+        "@webassemblyjs/ast": "1.5.8",
+        "@webassemblyjs/helper-api-error": "1.5.8",
+        "@webassemblyjs/helper-wasm-bytecode": "1.5.8",
+        "@webassemblyjs/leb128": "1.5.8",
+        "@webassemblyjs/wasm-parser": "1.5.8"
       }
     },
     "@webassemblyjs/wast-parser": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.4.3.tgz",
-      "integrity": "sha512-QhCsQzqV0CpsEkRYyTzQDilCNUZ+5j92f+g35bHHNqS22FppNTywNFfHPq8ZWZfYCgbectc+PoghD+xfzVFh1Q==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.8.tgz",
+      "integrity": "sha512-LcMqDpHxU0chIGFXUq6CLk7E1FmfnoSJ5r6bzNer52CQS8G/kQhk0Ra4sNaMpNnVaWoazk8s/F6HtYHz5EE+/A==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.4.3",
-        "@webassemblyjs/floating-point-hex-parser": "1.4.3",
-        "@webassemblyjs/helper-code-frame": "1.4.3",
-        "@webassemblyjs/helper-fsm": "1.4.3",
+        "@webassemblyjs/ast": "1.5.8",
+        "@webassemblyjs/floating-point-hex-parser": "1.5.8",
+        "@webassemblyjs/helper-api-error": "1.5.8",
+        "@webassemblyjs/helper-code-frame": "1.5.8",
+        "@webassemblyjs/helper-fsm": "1.5.8",
         "long": "^3.2.0",
-        "webassemblyjs": "1.4.3"
+        "mamacro": "^0.0.3"
       }
     },
     "@webassemblyjs/wast-printer": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.4.3.tgz",
-      "integrity": "sha512-EgXk4anf8jKmuZJsqD8qy5bz2frEQhBvZruv+bqwNoLWUItjNSFygk8ywL3JTEz9KtxTlAmqTXNrdD1d9gNDtg==",
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.8.tgz",
+      "integrity": "sha512-5YHpCSw/KiP9pItfKRgbGlF6ozUZSiEd1mR6CjnaYdzLoippQyAfz1qyxtH7dMnD7TADBKpYWMe3wPnK2B11Zg==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.4.3",
-        "@webassemblyjs/wast-parser": "1.4.3",
+        "@webassemblyjs/ast": "1.5.8",
+        "@webassemblyjs/wast-parser": "1.5.8",
         "long": "^3.2.0"
       }
     },
@@ -3322,9 +3343,9 @@
       }
     },
     "csstype": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.2.0.tgz",
-      "integrity": "sha512-5YHWQgAtzKIA8trr2AVg6Jq5Fs5eAR1UqKbRJjgQQevNx3IAhD3S9wajvqJdmO7bgIxy0MA5lFVPzJYjmMlNeQ=="
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.2.tgz",
+      "integrity": "sha512-epoHrKPywwUhFTXadQNA5PPx4GChtkM03SkBeFZTaFtJcn6QfXpBkX2IAc4J9Oe18nha5NrTOo2OMOge+qH1mw=="
     },
     "currently-unhandled": {
       "version": "0.4.1",
@@ -3400,6 +3421,11 @@
       "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
       "dev": true
     },
+    "debounce": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.1.0.tgz",
+      "integrity": "sha512-ZQVKfRVlwRfD150ndzEK8M90ABT+Y/JQKs4Y7U4MXdpuoUkkrr4DwKbVux3YjylA5bUMUj0Nc3pMxPJX6N2QQQ=="
+    },
     "debug": {
       "version": "2.6.9",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -3456,9 +3482,9 @@
       "dev": true
     },
     "deepmerge": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.0.tgz",
-      "integrity": "sha512-Q89Z26KAfA3lpPGhbF6XMfYAm3jIV3avViy6KOJ2JLzFbeWHOvPQUu5aSJIWXap3gDZC2y1eF5HXEPI2wGqgvw=="
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.1.tgz",
+      "integrity": "sha512-urQxA1smbLZ2cBbXbaYObM1dJ82aJ2H57A1C/Kklfh/ZN1bgH4G/n5KWhdNfOK11W98gqZfyYj7W4frJJRwA2w=="
     },
     "default-require-extensions": {
       "version": "1.0.0",
@@ -4361,9 +4387,9 @@
       }
     },
     "eslint-plugin-jest": {
-      "version": "21.15.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-21.15.2.tgz",
-      "integrity": "sha512-XX0/g2F2iDnX36Ez4j5Sd8IzJj2dbDBqOxitfGD+uXyiEVECJAoRnf9eQnkzyXFVKB7DALx82ZqgqCEfeLpY7w==",
+      "version": "21.17.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-21.17.0.tgz",
+      "integrity": "sha512-kB0gaMLy4RA1bAltYSnnoW33hzX0bUrALGaIqaLoB41Fif38/uAv6oNUFbrzp7aFrwegxKUgFcE/8Z0DZEa0SQ==",
       "dev": true
     },
     "eslint-plugin-jsx-a11y": {
@@ -5254,7 +5280,8 @@
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "aproba": {
           "version": "1.2.0",
@@ -5275,12 +5302,14 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
@@ -5295,17 +5324,20 @@
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -5422,7 +5454,8 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "ini": {
           "version": "1.3.5",
@@ -5434,6 +5467,7 @@
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -5448,6 +5482,7 @@
           "version": "3.0.4",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
@@ -5455,12 +5490,14 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "minipass": {
           "version": "2.2.4",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "safe-buffer": "^5.1.1",
             "yallist": "^3.0.0"
@@ -5479,6 +5516,7 @@
           "version": "0.5.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -5559,7 +5597,8 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -5571,6 +5610,7 @@
           "version": "1.4.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "wrappy": "1"
           }
@@ -5656,7 +5696,8 @@
         "safe-buffer": {
           "version": "5.1.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
@@ -5692,6 +5733,7 @@
           "version": "1.0.2",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
@@ -5711,6 +5753,7 @@
           "version": "3.0.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
@@ -5754,12 +5797,14 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "yallist": {
           "version": "3.0.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         }
       }
     },
@@ -6008,13 +6053,6 @@
       "requires": {
         "min-document": "^2.19.0",
         "process": "~0.5.1"
-      },
-      "dependencies": {
-        "process": {
-          "version": "0.5.2",
-          "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
-          "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8="
-        }
       }
     },
     "global-modules": {
@@ -8448,9 +8486,9 @@
       "integrity": "sha512-WxNHrF/18CdoAGw2H0FqOEvJdREXVXLazn7PQYU7V6/BWkCV0GkmWsppNiExdw8dP4TU1ma1dT9zBNJ95feLmg=="
     },
     "jss-expand": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-5.1.0.tgz",
-      "integrity": "sha512-WTxmNipgj0V8kr8gc8Gc6Et7uQZH60H7FFNG9zZHjR6TPJoj7TDK+/EBxwRHtCRQD4B8RTwoa7MyEKD4ReKfXw=="
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-5.3.0.tgz",
+      "integrity": "sha512-NiM4TbDVE0ykXSAw6dfFmB1LIqXP/jdd0ZMnlvlGgEMkMt+weJIl8Ynq1DsuBY9WwkNyzWktdqcEW2VN0RAtQg=="
     },
     "jss-extend": {
       "version": "6.2.0",
@@ -8474,14 +8512,14 @@
       }
     },
     "jss-preset-default": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.3.0.tgz",
-      "integrity": "sha512-3VqMmR07OkiGyVPHfke/sjR33kSyRVjIE/3+bGgJ9Pp1jMIAPIDDY3h3wfEwa97DFV25SncTrNjjIgBFVCb4BA==",
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.5.0.tgz",
+      "integrity": "sha512-qZbpRVtHT7hBPpZEBPFfafZKWmq3tA/An5RNqywDsZQGrlinIF/mGD9lmj6jGqu8GrED2SMHZ3pPKLmjCZoiaQ==",
       "requires": {
         "jss-camel-case": "^6.1.0",
         "jss-compose": "^5.0.0",
         "jss-default-unit": "^8.0.2",
-        "jss-expand": "^5.1.0",
+        "jss-expand": "^5.3.0",
         "jss-extend": "^6.2.0",
         "jss-global": "^3.0.0",
         "jss-nested": "^6.0.1",
@@ -8970,12 +9008,27 @@
       "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
       "dev": true
     },
+    "lodash.clonedeep": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8="
+    },
+    "lodash.debounce": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
+    },
     "lodash.flattendeep": {
       "version": "4.4.0",
       "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
       "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
       "dev": true
     },
+    "lodash.get": {
+      "version": "4.4.2",
+      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+      "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
+    },
     "lodash.isarguments": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
@@ -9018,8 +9071,12 @@
     "lodash.memoize": {
       "version": "4.1.2",
       "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
-      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
-      "dev": true
+      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
+    },
+    "lodash.merge": {
+      "version": "4.6.1",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz",
+      "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ=="
     },
     "lodash.sortby": {
       "version": "4.7.0",
@@ -9171,6 +9228,12 @@
         "tmpl": "1.0.x"
       }
     },
+    "mamacro": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz",
+      "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==",
+      "dev": true
+    },
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -9524,6 +9587,21 @@
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
       "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
     },
+    "mui-datatables": {
+      "version": "2.0.0-beta-7",
+      "resolved": "https://registry.npmjs.org/mui-datatables/-/mui-datatables-2.0.0-beta-7.tgz",
+      "integrity": "sha512-poJBKq2+l5ttHbw3hu1fBG/fLfotf7eowdJ5yF3gQzUZ4rQBukOpQbeMuKw3WjF9dZzatTMh8x8d/TWzpBt5TA==",
+      "requires": {
+        "classnames": "^2.2.5",
+        "lodash.clonedeep": "^4.5.0",
+        "lodash.debounce": "^4.0.8",
+        "lodash.get": "^4.4.2",
+        "lodash.memoize": "^4.1.2",
+        "lodash.merge": "^4.6.0",
+        "prop-types": "^15.6.0",
+        "react-to-print": "^1.0.10"
+      }
+    },
     "multicast-dns": {
       "version": "6.2.3",
       "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
@@ -9718,6 +9796,12 @@
         "vm-browserify": "0.0.4"
       },
       "dependencies": {
+        "process": {
+          "version": "0.11.10",
+          "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+          "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+          "dev": true
+        },
         "punycode": {
           "version": "1.4.1",
           "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
@@ -11085,10 +11169,9 @@
       "dev": true
     },
     "process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
+      "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8="
     },
     "process-nextick-args": {
       "version": "2.0.0",
@@ -11377,11 +11460,11 @@
       }
     },
     "react-event-listener": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.3.tgz",
-      "integrity": "sha512-fTGYvhe7eTsqq0m664Km0rxKQcqLIGZWZINmy1LU0fu312tay8Mt3Twq2P5Xj1dfDVvvzT1Ql3/FDkiMPJ1MOg==",
+      "version": "0.5.9",
+      "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.9.tgz",
+      "integrity": "sha1-xk6E93FWpoJhSDW9wbx7oAkS35c=",
       "requires": {
-        "babel-runtime": "^6.26.0",
+        "@babel/runtime": "^7.0.0-beta.42",
         "fbjs": "^0.8.16",
         "prop-types": "^15.6.0",
         "warning": "^3.0.0"
@@ -11431,10 +11514,15 @@
         "deep-equal": "^1.0.1"
       }
     },
+    "react-lifecycles-compat": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
+      "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
+    },
     "react-popper": {
-      "version": "0.10.1",
-      "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.10.1.tgz",
-      "integrity": "sha1-ah8llfr/2ncQW+1OiezyJgekxFI=",
+      "version": "0.10.4",
+      "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.10.4.tgz",
+      "integrity": "sha1-rypBXqIike3VBGeNev2opu4ylao=",
       "requires": {
         "popper.js": "^1.14.1",
         "prop-types": "^15.6.1"
@@ -11474,17 +11562,6 @@
         "eventemitter3": "^2.0.3"
       }
     },
-    "react-scrollbar-size": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.1.0.tgz",
-      "integrity": "sha512-9dDUJvk7S48r0TRKjlKJ9e/LkLLYgc9LdQR6W21I8ZqtSrEsedPOoMji4nU3DHy7fx2l8YMScJS/N7qiloYzXQ==",
-      "requires": {
-        "babel-runtime": "^6.26.0",
-        "prop-types": "^15.6.0",
-        "react-event-listener": "^0.5.1",
-        "stifle": "^1.0.2"
-      }
-    },
     "react-test-renderer": {
       "version": "16.4.0",
       "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.4.0.tgz",
@@ -11512,6 +11589,15 @@
         }
       }
     },
+    "react-to-print": {
+      "version": "1.0.17",
+      "resolved": "https://registry.npmjs.org/react-to-print/-/react-to-print-1.0.17.tgz",
+      "integrity": "sha512-Y7R4aMW+ZRE9WfCJKLQiIRLLyQxmdg2ovNgGeToIvdVnKf0gr5WNWAuSyOHmmCTdUIRjRisaGdTqSCiBbxE3eA==",
+      "requires": {
+        "prop-types": "^15.6.0",
+        "react": "^16.2.0"
+      }
+    },
     "react-transition-group": {
       "version": "2.3.1",
       "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.3.1.tgz",
@@ -11639,13 +11725,15 @@
       }
     },
     "recompose": {
-      "version": "0.26.0",
-      "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz",
-      "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==",
+      "version": "0.27.1",
+      "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.27.1.tgz",
+      "integrity": "sha512-p7xsyi/rfNjHfdP7vPU02uSFa+Q1eHhjKrvO+3+kRP4Ortj+MxEmpmd+UQtBGM2D2iNAjzNI5rCyBKp9Ob5McA==",
       "requires": {
+        "babel-runtime": "^6.26.0",
         "change-emitter": "^0.1.2",
         "fbjs": "^0.8.1",
         "hoist-non-react-statics": "^2.3.1",
+        "react-lifecycles-compat": "^3.0.2",
         "symbol-observable": "^1.0.4"
       },
       "dependencies": {
@@ -12189,7 +12277,8 @@
             "balanced-match": {
               "version": "1.0.0",
               "bundled": true,
-              "dev": true
+              "dev": true,
+              "optional": true
             },
             "brace-expansion": {
               "version": "1.1.11",
@@ -12214,7 +12303,8 @@
             "concat-map": {
               "version": "0.0.1",
               "bundled": true,
-              "dev": true
+              "dev": true,
+              "optional": true
             },
             "console-control-strings": {
               "version": "1.1.0",
@@ -13260,11 +13350,6 @@
       "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
       "dev": true
     },
-    "stifle": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/stifle/-/stifle-1.0.4.tgz",
-      "integrity": "sha1-izvN9SQZsKnHnjWtrc5QEjwdjpk="
-    },
     "stream-browserify": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
@@ -14273,19 +14358,6 @@
         "minimalistic-assert": "^1.0.0"
       }
     },
-    "webassemblyjs": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webassemblyjs/-/webassemblyjs-1.4.3.tgz",
-      "integrity": "sha512-4lOV1Lv6olz0PJkDGQEp82HempAn147e6BXijWDzz9g7/2nSebVP9GVg62Fz5ZAs55mxq13GA0XLyvY8XkyDjg==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.4.3",
-        "@webassemblyjs/validation": "1.4.3",
-        "@webassemblyjs/wasm-parser": "1.4.3",
-        "@webassemblyjs/wast-parser": "1.4.3",
-        "long": "^3.2.0"
-      }
-    },
     "webidl-conversions": {
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
@@ -14293,14 +14365,15 @@
       "dev": true
     },
     "webpack": {
-      "version": "4.8.3",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.8.3.tgz",
-      "integrity": "sha512-/hfAjBISycdK597lxONjKEFX7dSIU1PsYwC3XlXUXoykWBlv9QV5HnO+ql3HvrrgfBJ7WXdnjO9iGPR2aAc5sw==",
+      "version": "4.10.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.10.0.tgz",
+      "integrity": "sha512-3DsqloNT84hje6k5d1uZYfCN93M66bVoq7pG2TEtxx1+HXJVvfWmtbdBiHxXQbdMbxoQ8fla/oQj/gGGEaXRgA==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.4.3",
-        "@webassemblyjs/wasm-edit": "1.4.3",
-        "@webassemblyjs/wasm-parser": "1.4.3",
+        "@webassemblyjs/ast": "1.5.8",
+        "@webassemblyjs/wasm-edit": "1.5.8",
+        "@webassemblyjs/wasm-opt": "1.5.8",
+        "@webassemblyjs/wasm-parser": "1.5.8",
         "acorn": "^5.0.0",
         "acorn-dynamic-import": "^3.0.0",
         "ajv": "^6.1.0",
@@ -14308,6 +14381,7 @@
         "chrome-trace-event": "^0.1.1",
         "enhanced-resolve": "^4.0.0",
         "eslint-scope": "^3.7.1",
+        "json-parse-better-errors": "^1.0.2",
         "loader-runner": "^2.3.0",
         "loader-utils": "^1.1.0",
         "memory-fs": "~0.4.1",
diff --git a/package.json b/package.json
index 3c8325f1..b66bd5c6 100644
--- a/package.json
+++ b/package.json
@@ -27,7 +27,7 @@
     "enzyme-adapter-react-16": "^1.1.1",
     "eslint": "^4.19.1",
     "eslint-plugin-import": "^2.12.0",
-    "eslint-plugin-jest": "^21.15.2",
+    "eslint-plugin-jest": "^21.17.0",
     "eslint-plugin-jsx-a11y": "^6.0.3",
     "eslint-plugin-react": "^7.8.2",
     "eslint-watch": "^3.1.5",
@@ -37,18 +37,19 @@
     "jest-enzyme": "^6.0.1",
     "react-test-renderer": "^16.4.0",
     "style-loader": "^0.20.3",
-    "webpack": "^4.8.3",
+    "webpack": "^4.10.0",
     "webpack-cli": "^2.1.4",
     "webpack-dev-server": "^3.1.4"
   },
   "dependencies": {
-    "@material-ui/core": "^1.0.0",
-    "@material-ui/icons": "^1.0.0",
+    "@material-ui/core": "^1.1.0",
+    "@material-ui/icons": "^1.1.0",
     "autosuggest-highlight": "^3.1.1",
     "babel-preset-stage-2": "^6.24.1",
     "leaflet": "^1.3.1",
     "leaflet.markercluster": "^1.3.0",
     "lodash": "^4.17.10",
+    "mui-datatables": "^2.0.0-beta-7",
     "react": "^16.4.0",
     "react-alert-template-basic": "^1.0.0",
     "react-autosuggest": "^9.3.4",
diff --git a/src/components/DataTable.js b/src/components/DataTable.js
new file mode 100644
index 00000000..85277788
--- /dev/null
+++ b/src/components/DataTable.js
@@ -0,0 +1,62 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import MUIDataTable from 'mui-datatables';
+
+const columns = [
+  {
+    name: 'Name',
+    options: {
+      filter: false,
+      sort: true,
+    }
+  },
+  {
+    name: 'Type',
+    options: {
+      filter: true,
+      sort: true,
+    }
+  },
+  {
+    name: 'Area',
+    options: {
+      filter: true,
+      sort: true,
+    }
+  },
+  {
+    name: 'Source',
+    options: {
+      filter: true,
+      sort: true,
+    }
+  },
+];
+
+const options = {
+  filterType: 'checkbox',
+  pagination: false,
+  responsive: 'stacked'
+};
+
+const DataTable = (props) => {
+  const dataArray = props.data.map(obj => {
+    const values = Object.values(obj);
+    return [values[1], values[2], values[3], values[4]];
+  });
+
+  return (
+    <MUIDataTable
+      title={'Search results'}
+      data={dataArray}
+      columns={columns}
+      options={options}
+    />
+  );
+};
+
+DataTable.propTypes = {
+  data: PropTypes.array.isRequired
+};
+
+export default DataTable;
diff --git a/src/components/ResultMarker.js b/src/components/ResultMarker.js
index 9951d531..708a579e 100644
--- a/src/components/ResultMarker.js
+++ b/src/components/ResultMarker.js
@@ -19,8 +19,8 @@ const ResultMarker = ({ label, lat, long }) => {
 
 ResultMarker.propTypes = {
   label: PropTypes.string.isRequired,
-  lat: PropTypes.string.isRequired,
-  long: PropTypes.string.isRequired,
+  lat: PropTypes.string,
+  long: PropTypes.string,
 };
 
 export default ResultMarker;
diff --git a/src/containers/MapApp.js b/src/containers/MapApp.js
index e6acb00e..6651f3b1 100644
--- a/src/containers/MapApp.js
+++ b/src/containers/MapApp.js
@@ -18,8 +18,9 @@ import Tab from '@material-ui/core/Tab';
 import IntegrationAutosuggest from '../components/IntegrationAutosuggest';
 import LeafletMap from '../components/LeafletMap';
 import Message from '../components/Message';
-//import ResultTable from '../components/ResultTable';
-import SimpleTable from '../components/SimpleTable';
+// import ResultTable from '../components/ResultTable';
+// import SimpleTable from '../components/SimpleTable';
+import DataTable from '../components/DataTable';
 // import Paper from '@material-ui/core/Paper';
 
 import {
@@ -118,6 +119,8 @@ let MapApp = (props) => {
   const { classes, error, theme, drawerIsOpen, mapReady } = props;
   const anchor = 'left';
 
+  //console.log(props.search.results)
+
   const drawer = (
     <Drawer
       variant="persistent"
@@ -152,7 +155,7 @@ let MapApp = (props) => {
         fetchResults={props.fetchResults}
       />
       {props.search.results.length > 0 &&
-        <SimpleTable data={props.search.results} />
+        <DataTable data={props.search.results} />
       }
     </Drawer>
   );
-- 
GitLab