From d08a638bfbf0db7a9cd4ac66844f94b6e773211f Mon Sep 17 00:00:00 2001
From: Mike Lynch <mike@mikelynch.org>
Date: Mon, 28 Oct 2019 11:35:51 +1100
Subject: [PATCH] Made ListDocs not crash if it hits a document which is
 missing its 'name' field

---
 package-lock.json                | 41 +++++++++++++++++++++++---------
 src/components/views/ListDocs.js |  7 ++++--
 2 files changed, 35 insertions(+), 13 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index b19c5da..3614bcf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3274,7 +3274,8 @@
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "aproba": {
           "version": "1.2.0",
@@ -3295,12 +3296,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"
@@ -3315,17 +3318,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",
@@ -3442,7 +3448,8 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "ini": {
           "version": "1.3.5",
@@ -3454,6 +3461,7 @@
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -3468,6 +3476,7 @@
           "version": "3.0.4",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
@@ -3475,12 +3484,14 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "minipass": {
           "version": "2.3.5",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -3499,6 +3510,7 @@
           "version": "0.5.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -3579,7 +3591,8 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -3591,6 +3604,7 @@
           "version": "1.4.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "wrappy": "1"
           }
@@ -3676,7 +3690,8 @@
         "safe-buffer": {
           "version": "5.1.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
@@ -3712,6 +3727,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",
@@ -3731,6 +3747,7 @@
           "version": "3.0.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
@@ -3774,12 +3791,14 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "yallist": {
           "version": "3.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         }
       }
     },
diff --git a/src/components/views/ListDocs.js b/src/components/views/ListDocs.js
index 92a7686..ef6fd09 100644
--- a/src/components/views/ListDocs.js
+++ b/src/components/views/ListDocs.js
@@ -8,10 +8,13 @@ const ListDocs = function (data) {
   html += `<ul class="list-group col-sm-8">`;
   if (docs.length > 0) {
     docs.forEach((d) => {
-      var url = `${data.config.repo}${d['uri_id']}/`;
       var url = `/#view/${d['id']}`;
+      var name = '';
+      if( d['name'] ) {
+        name = d['name'][0]
+      }
       html += `<li class="list-group-item">
-        <div class="item"><a href="${url}">${d['name'][0]}</a> ${d['record_type_s']} </div>
+        <div class="item"><a href="${url}">${name}</a> ${d['record_type_s']} </div>
       </li>`;
     });
   } else {
-- 
GitLab