diff --git a/app/static/js/ResourceLists/AdminUserList.js b/app/static/js/ResourceLists/AdminUserList.js
index 2749b976aabf4fa829755ce6b82f8d175604e6fa..0307bbdc0bbcef2f3a24a1bfa1b2629f748763db 100644
--- a/app/static/js/ResourceLists/AdminUserList.js
+++ b/app/static/js/ResourceLists/AdminUserList.js
@@ -84,15 +84,11 @@ class AdminUserList extends ResourceList {
   }
 
   onClick(event) {
-    let listItemElement = event.target.closest('.list-item');
+    let listItemElement = event.target.closest('.list-item[data-id]');
     if (listItemElement === null) {return;}
-    if (!('id' in listItemElement.dataset)) {return;}
     let itemId = listItemElement.dataset.id;
-    if (itemId === undefined) {return;}
-    let listActionElement = event.target.closest('.list-item .list-action-trigger');
-    let listAction = 
-        listActionElement === null || !('listAction' in listActionElement.dataset)
-        ? 'view' : listActionElement.dataset.listAction;
+    let listActionElement = event.target.closest('.list-action-trigger[data-list-action]');
+    let listAction = listActionElement === null ? 'view' : listActionElement.dataset.listAction;
     switch (listAction) {
       case 'delete': {
         console.log('delete', itemId);
diff --git a/app/static/js/ResourceLists/CorpusFileList.js b/app/static/js/ResourceLists/CorpusFileList.js
index 2397cd7252371680caaeeed35bbaa53f0b992eeb..fd4ff4801f2e001876b08ee61f69dc5aece94310 100644
--- a/app/static/js/ResourceLists/CorpusFileList.js
+++ b/app/static/js/ResourceLists/CorpusFileList.js
@@ -92,15 +92,11 @@ class CorpusFileList extends ResourceList {
   }
 
   onClick(event) {
-    let listItemElement = event.target.closest('.list-item');
+    let listItemElement = event.target.closest('.list-item[data-id]');
     if (listItemElement === null) {return;}
-    if (!('id' in listItemElement.dataset)) {return;}
     let itemId = listItemElement.dataset.id;
-    if (itemId === undefined) {return;}
-    let listActionElement = event.target.closest('.list-item .list-action-trigger');
-    let listAction = 
-        listActionElement === null || !('listAction' in listActionElement.dataset)
-        ? 'view' : listActionElement.dataset.listAction;
+    let listActionElement = event.target.closest('.list-action-trigger[data-list-action]');
+    let listAction = listActionElement === null ? 'view' : listActionElement.dataset.listAction;
     switch (listAction) {
       case 'delete': {
         Utils.deleteCorpusFileRequest(this.userId, this.corpusId, itemId);
diff --git a/app/static/js/ResourceLists/CorpusList.js b/app/static/js/ResourceLists/CorpusList.js
index eff52814bf5acb5e3be611bb35373afe18313030..e4af0b12caff89cd00f7dc42111d295d09105a98 100644
--- a/app/static/js/ResourceLists/CorpusList.js
+++ b/app/static/js/ResourceLists/CorpusList.js
@@ -87,15 +87,11 @@ class CorpusList extends ResourceList {
   }
 
   onClick(event) {
-    let listItemElement = event.target.closest('.list-item');
+    let listItemElement = event.target.closest('.list-item[data-id]');
     if (listItemElement === null) {return;}
-    if (!('id' in listItemElement.dataset)) {return;}
     let itemId = listItemElement.dataset.id;
-    if (itemId === undefined) {return;}
-    let listActionElement = event.target.closest('.list-item .list-action-trigger');
-    let listAction = 
-        listActionElement === null || !('listAction' in listActionElement.dataset)
-        ? 'view' : listActionElement.dataset.listAction;
+    let listActionElement = event.target.closest('.list-action-trigger[data-list-action]');
+    let listAction = listActionElement === null ? 'view' : listActionElement.dataset.listAction;
     switch (listAction) {
       case 'delete-request': {
         Utils.deleteCorpusRequest(this.userId, itemId);
diff --git a/app/static/js/ResourceLists/JobInputList.js b/app/static/js/ResourceLists/JobInputList.js
index 784e767a2fbc0fdb86fed0e3efe7ecd52919bc95..36cb47f787432ee04a54739036ddb85b6228fabe 100644
--- a/app/static/js/ResourceLists/JobInputList.js
+++ b/app/static/js/ResourceLists/JobInputList.js
@@ -78,15 +78,11 @@ class JobInputList extends ResourceList {
   }
 
   onClick(event) {
-    let listItemElement = event.target.closest('.list-item');
+    let listItemElement = event.target.closest('.list-item[data-id]');
     if (listItemElement === null) {return;}
-    if (!('id' in listItemElement.dataset)) {return;}
     let itemId = listItemElement.dataset.id;
-    if (itemId === undefined) {return;}
-    let listActionElement = event.target.closest('.list-item .list-action-trigger');
-    let listAction = 
-        listActionElement === null || !('listAction' in listActionElement.dataset)
-        ? 'download' : listActionElement.dataset.listAction;
+    let listActionElement = event.target.closest('.list-action-trigger[data-list-action]');
+    let listAction = listActionElement === null ? 'download' : listActionElement.dataset.listAction;
     switch (listAction) {
       case 'download': {
         window.location.href = `/jobs/${this.jobId}/inputs/${itemId}/download`;
diff --git a/app/static/js/ResourceLists/JobList.js b/app/static/js/ResourceLists/JobList.js
index 49999053f650cb5a06fa5c31d624725658676f1a..1fa14ea2ae4e4348cff0ff51d9cdcf8de986b7bd 100644
--- a/app/static/js/ResourceLists/JobList.js
+++ b/app/static/js/ResourceLists/JobList.js
@@ -88,15 +88,11 @@ class JobList extends ResourceList {
   }
 
   onClick(event) {
-    let listItemElement = event.target.closest('.list-item');
+    let listItemElement = event.target.closest('.list-item[data-id]');
     if (listItemElement === null) {return;}
-    if (!('id' in listItemElement.dataset)) {return;}
     let itemId = listItemElement.dataset.id;
-    if (itemId === undefined) {return;}
-    let listActionElement = event.target.closest('.list-item .list-action-trigger');
-    let listAction = 
-        listActionElement === null || !('listAction' in listActionElement.dataset)
-        ? 'view' : listActionElement.dataset.listAction;
+    let listActionElement = event.target.closest('.list-action-trigger[data-list-action]');
+    let listAction = listActionElement === null ? 'view' : listActionElement.dataset.listAction;
     switch (listAction) {
       case 'delete-request': {
         Utils.deleteJobRequest(this.userId, itemId);
diff --git a/app/static/js/ResourceLists/JobResultList.js b/app/static/js/ResourceLists/JobResultList.js
index b8ef95c0bfe8dce377f1f9b2069929e0b83ad8ed..71c430afe58fdbed30e8f71f8a61263734921466 100644
--- a/app/static/js/ResourceLists/JobResultList.js
+++ b/app/static/js/ResourceLists/JobResultList.js
@@ -82,15 +82,11 @@ class JobResultList extends ResourceList {
   }
 
   onClick(event) {
-    let listItemElement = event.target.closest('.list-item');
+    let listItemElement = event.target.closest('.list-item[data-id]');
     if (listItemElement === null) {return;}
-    if (!('id' in listItemElement.dataset)) {return;}
     let itemId = listItemElement.dataset.id;
-    if (itemId === undefined) {return;}
-    let listActionElement = event.target.closest('.list-item .list-action-trigger');
-    let listAction = 
-        listActionElement === null || !('listAction' in listActionElement.dataset)
-        ? 'download' : listActionElement.dataset.listAction;
+    let listActionElement = event.target.closest('.list-action-trigger[data-list-action]');
+    let listAction = listActionElement === null ? 'download' : listActionElement.dataset.listAction;
     switch (listAction) {
       case 'download': {
         window.location.href = `/jobs/${this.jobId}/results/${itemId}/download`;
diff --git a/app/static/js/ResourceLists/PublicUserList.js b/app/static/js/ResourceLists/PublicUserList.js
index bde271efef35a6d10f0c41b5f6face68e9d5e965..e6cfff34193b4e21d3e5971e1ae09c41da8d7aa3 100644
--- a/app/static/js/ResourceLists/PublicUserList.js
+++ b/app/static/js/ResourceLists/PublicUserList.js
@@ -86,15 +86,11 @@ class PublicUserList extends ResourceList {
   }
 
   onClick(event) {
-    let listItemElement = event.target.closest('.list-item');
+    let listItemElement = event.target.closest('.list-item[data-id]');
     if (listItemElement === null) {return;}
-    if (!('id' in listItemElement.dataset)) {return;}
     let itemId = listItemElement.dataset.id;
-    if (itemId === undefined) {return;}
-    let listActionElement = event.target.closest('.list-item .list-action-trigger');
-    let listAction = 
-        listActionElement === null || !('listAction' in listActionElement.dataset)
-        ? 'view' : listActionElement.dataset.listAction;
+    let listActionElement = event.target.closest('.list-action-trigger[data-list-action]');
+    let listAction = listActionElement === null ? 'view' : listActionElement.dataset.listAction;
     switch (listAction) {
       case 'view': {
         window.location.href = `/users/${itemId}`;