From 92da0f592b3828477fde02a784436be89d67d660 Mon Sep 17 00:00:00 2001
From: Eugen Neuber <eugen.neuber@tugraz.at>
Date: Mon, 8 Feb 2021 15:22:01 +0100
Subject: [PATCH] Add notification if zip file contains no usable files (mime
 types)

See issue dbp/web-components/toolkit#45
---
 packages/file-handling/src/file-source.js           | 10 +++++++++-
 packages/file-handling/src/i18n/de/translation.json |  4 +++-
 packages/file-handling/src/i18n/en/translation.json |  4 +++-
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/packages/file-handling/src/file-source.js b/packages/file-handling/src/file-source.js
index 14173666..853e3a49 100644
--- a/packages/file-handling/src/file-source.js
+++ b/packages/file-handling/src/file-source.js
@@ -4,6 +4,7 @@ import {ScopedElementsMixin} from '@open-wc/scoped-elements';
 import DBPLitElement from '@dbp-toolkit/common/dbp-lit-element';
 import * as commonUtils from "@dbp-toolkit/common/utils";
 import {Icon, MiniSpinner} from '@dbp-toolkit/common';
+import {send as notify} from '@dbp-toolkit/common/notification';
 import * as commonStyles from '@dbp-toolkit/common/styles';
 import {NextcloudFilePicker} from "./dbp-nextcloud-file-picker";
 import {classMap} from 'lit-html/directives/class-map.js';
@@ -314,7 +315,14 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) {
 
         // no suitable files found
         if (filesToHandle.length === 0) {
-            throw new Error('ZIP file does not contain any files of ' + this.allowedMimeTypes);
+            console.error('ZIP file does not contain any files of ' + this.allowedMimeTypes);
+            //throw new Error('ZIP file does not contain any files of ' + this.allowedMimeTypes);
+            notify({
+                "summary": i18n.t('file-source.no-usable-files-in-zip'),
+                "body": i18n.t('file-source.no-usable-files-hint') + this.allowedMimeTypes,
+                "type": 'danger',
+                "timeout": 0,
+            });
         }
         return filesToHandle;
     }
diff --git a/packages/file-handling/src/i18n/de/translation.json b/packages/file-handling/src/i18n/de/translation.json
index b7754502..d6a874dd 100644
--- a/packages/file-handling/src/i18n/de/translation.json
+++ b/packages/file-handling/src/i18n/de/translation.json
@@ -13,7 +13,9 @@
   "file-source": {
     "modal-select-files": "Dateien auswählen",
     "modal-close": "Dialog schließen",
-    "nav-local": "Lokaler Computer"
+    "nav-local": "Lokaler Computer",
+    "no-usable-files-in-zip": "ZIP Datei enthält keine verwendbaren Dateien",
+    "no-usable-files-hint": "Laden Sie eine ZIP Datei mit Dateien von folgendem Typ hoch: "
   },
   "file-sink": {
     "local-intro": "{{count}} Datei herunterladen",
diff --git a/packages/file-handling/src/i18n/en/translation.json b/packages/file-handling/src/i18n/en/translation.json
index 66b656b3..a5396952 100644
--- a/packages/file-handling/src/i18n/en/translation.json
+++ b/packages/file-handling/src/i18n/en/translation.json
@@ -13,7 +13,9 @@
   "file-source": {
     "modal-select-files": "Select files",
     "modal-close": "Close dialog",
-    "nav-local": "My device"
+    "nav-local": "My device",
+    "no-usable-files-in-zip": "ZIP file does not contain any usable files",
+    "no-usable-files-hint": "Upload a ZIP file with file type(s) of "
   },
   "file-sink": {
     "local-intro": "Download {{count}} file",
-- 
GitLab