From 0b085330a46fc4a6679e1012dab8bc6e4d1d30c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=20K=C3=A4sler?= <tom.kaesler@mni.thm.de>
Date: Fri, 28 Jun 2019 22:20:01 +0200
Subject: [PATCH] Fix async handling and if-else

---
 .../_dialogs/room-edit/room-edit.component.ts | 35 +++++++++----------
 1 file changed, 17 insertions(+), 18 deletions(-)

diff --git a/src/app/components/creator/_dialogs/room-edit/room-edit.component.ts b/src/app/components/creator/_dialogs/room-edit/room-edit.component.ts
index 43033c702..79effb708 100644
--- a/src/app/components/creator/_dialogs/room-edit/room-edit.component.ts
+++ b/src/app/components/creator/_dialogs/room-edit/room-edit.component.ts
@@ -103,23 +103,23 @@ export class RoomEditComponent implements OnInit {
     this.commentService.getComments(this.editRoom.id)
       .subscribe(comments => {
         this.comments = comments;
+        const exportComments = JSON.parse(JSON.stringify(this.comments));
+        let csv: string;
+        let keyFields = '';
+        let valueFields = '';
+        keyFields = Object.keys(exportComments[0]).slice(3).join(delimiter) + '\r\n';
+        exportComments.forEach(element => {
+          element.body = '"' + element.body.replace(/[\r\n]/g, ' ').replace(/ +/g, ' ').replace(/"/g, '""') + '"';
+          valueFields += Object.values(element).slice(3).join(delimiter) + '\r\n';
+        });
+        csv = keyFields + valueFields;
+        const myBlob = new Blob([csv], { type: 'text/csv' });
+        const link = document.createElement('a');
+        const fileName = 'comments_' + date + '.csv';
+        link.setAttribute('download', fileName);
+        link.href = window.URL.createObjectURL(myBlob);
+        link.click();
       });
-    const exportComments = JSON.parse(JSON.stringify(this.comments));
-    let csv: string;
-    let keyFields = '';
-    let valueFields = '';
-    keyFields = Object.keys(exportComments[0]).slice(3).join(delimiter) + '\r\n';
-    exportComments.forEach(element => {
-      element.body = '"' + element.body.replace(/[\r\n]/g, ' ').replace(/ +/g, ' ').replace(/"/g, '""') + '"';
-      valueFields += Object.values(element).slice(3).join(delimiter) + '\r\n';
-    });
-    csv = keyFields + valueFields;
-    const myBlob = new Blob([csv], { type: 'text/csv' });
-    const link = document.createElement('a');
-    const fileName = 'comments_' + date + '.csv';
-    link.setAttribute('download', fileName);
-    link.href = window.URL.createObjectURL(myBlob);
-    link.click();
   }
 
   onExport(exportType: string): void {
@@ -129,8 +129,7 @@ export class RoomEditComponent implements OnInit {
     const timestamp = dateString + '_' + timeString;
     if (exportType === 'comma') {
       this.exportCsv(',', timestamp);
-    }
-    if (exportType === 'semicolon') {
+    } else if (exportType === 'semicolon') {
       this.exportCsv(';', timestamp);
     }
   }
-- 
GitLab