From c34615a4ca7eb3dee3b66dfac340506a19ead2d2 Mon Sep 17 00:00:00 2001
From: Paul Pestov <kontakt@paulpestov.de>
Date: Wed, 23 Nov 2022 23:38:13 +0100
Subject: [PATCH] Add emtpy checks to workflows table

---
 src/components/workflows/WorkflowsTable.vue | 9 +++++----
 src/locales/de.json                         | 2 +-
 src/locales/en.json                         | 3 ++-
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/components/workflows/WorkflowsTable.vue b/src/components/workflows/WorkflowsTable.vue
index 9bfec72..487fe3c 100644
--- a/src/components/workflows/WorkflowsTable.vue
+++ b/src/components/workflows/WorkflowsTable.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="container">
-    <div class="grid mb-4">
+    <div class="grid mb-4" v-if="evals.length > 0">
       <div class="flex align-items-center ml-auto">
         <p class="mr-2">{{ $t('group_by')}}:</p>
         <Dropdown
@@ -11,7 +11,7 @@
         />
       </div>
     </div>
-    <table class="w-full" style="border-spacing: 0">
+    <table v-if="evals.length > 0" class="w-full" style="border-spacing: 0">
       <tr>
         <th class="border-gray-400"></th>
         <th class="border-gray-400"></th>
@@ -52,6 +52,7 @@
         </tr>
       </template>
     </table>
+    <div>{{ $t('no_table_data') }}</div>
   </div>
 </template>
 
@@ -79,7 +80,7 @@ const onChange = ({ value }) => {
 };
 
 const groupByWorkflows = () => {
-  groupedData.value = props.data.reduce((acc, cur) => {
+  groupedData.value = props.data.filter(item => !!(item.metadata.ocr_workflow)).reduce((acc, cur) => {
     const ocrWorkflowId = cur.metadata.ocr_workflow['@id'];
     const label = cur.metadata.ocr_workflow.label;
 
@@ -105,7 +106,7 @@ const groupByWorkflows = () => {
 };
 
 const groupByDocuments = () => {
-  groupedData.value = props.data.reduce((acc, cur) => {
+  groupedData.value = props.data.filter(item => !!(item.metadata.gt_workspace)).reduce((acc, cur) => {
     const gtWorkspaceId = cur.metadata.gt_workspace['@id'];
     const label = cur.metadata.gt_workspace.label;
     evals.value = Object.keys(cur.evaluation.document_wide);
diff --git a/src/locales/de.json b/src/locales/de.json
index c14b686..8dbcd36 100644
--- a/src/locales/de.json
+++ b/src/locales/de.json
@@ -25,5 +25,5 @@
   "cer_min_desc": "CER Min absteigend",
   "cer_max_asc": "CER Max aufsteigend",
   "cer_max_desc": "CER Max absteigend",
-
+  "no_table_data": "Keine Tabellendaten verfügbar"
 }
diff --git a/src/locales/en.json b/src/locales/en.json
index c6a091e..6c905c5 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -18,5 +18,6 @@
   "cer_min_asc": "CER Min ascending",
   "cer_min_desc": "CER Min descending",
   "cer_max_asc": "CER Max ascending",
-  "cer_max_desc": "CER Max descending"
+  "cer_max_desc": "CER Max descending",
+  "no_table_data": "No table data available"
 }
-- 
GitLab