+
@@ -14,6 +19,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/databrowser/src/domain/cellComponents/components/utils/upload/FileUpload.vue b/databrowser/src/domain/cellComponents/components/utils/upload/FileUpload.vue
index 2897328fc..3720fc04e 100644
--- a/databrowser/src/domain/cellComponents/components/utils/upload/FileUpload.vue
+++ b/databrowser/src/domain/cellComponents/components/utils/upload/FileUpload.vue
@@ -99,9 +99,14 @@ const onDrop = (filesFromDropZone: File[] | null) => {
}
fileTypesNotAccepted.value = undefined;
+
+ fileNames.value = filesFromDropZone.map((item) => item.name);
+
uploadFiles(filesFromDropZone);
};
+const fileNames = ref([] as string[]);
+
const { isOverDropZone } = useDropZone(dropZoneRef, onDrop);
const { files, open } = useFileDialogForType({
@@ -126,12 +131,15 @@ watch(files, (filesFromFileDialog) => {
}
const filesToUpload = Array.from(filesFromFileDialog);
+ fileNames.value = filesToUpload.map((item) => item.name);
// Trigger file upload
uploadFiles(filesToUpload);
});
-onUploadSuccess((urls: string[]) => emit('uploadSuccess', urls));
+onUploadSuccess((urls: string[]) =>
+ emit('uploadSuccess', urls, fileNames.value)
+);
onUploadError((message: string) => emit('uploadError', message));
diff --git a/databrowser/src/domain/datasets/editView/EditView.vue b/databrowser/src/domain/datasets/editView/EditView.vue
index 8fa3c74bf..26c42467d 100644
--- a/databrowser/src/domain/datasets/editView/EditView.vue
+++ b/databrowser/src/domain/datasets/editView/EditView.vue
@@ -91,7 +91,10 @@ import { useEventListener } from '@vueuse/core';
import AlertError from '../../../components/alert/AlertError.vue';
import MainAndSubCategories from '../common/MainAndSubCategories.vue';
import LoadingError from '../../../components/loading/LoadingError.vue';
-
+import {
+ useEventSaveChanges,
+ useEventDiscardChanges,
+} from '../../cellComponents/components/utils/editList/dialogMultipleFilesLanguage/utils';
const { t } = useI18n();
const showAll = ref(true);
@@ -102,6 +105,18 @@ const editStore = useEditStore();
const datasetConfigStore = useDatasetConfigStore();
+useEventSaveChanges.on((value: boolean) => {
+ if (value) {
+ saveChanges();
+ }
+});
+
+useEventDiscardChanges.on((value: boolean) => {
+ if (value) {
+ resetAndCleanup();
+ }
+});
+
const { slug, categories, subcategories, currentCategory } = useCategories();
const { isError, isStartOrFetch, data, error, url } =
diff --git a/databrowser/src/locales/en.json b/databrowser/src/locales/en.json
index f9cacf4a7..e39b88586 100644
--- a/databrowser/src/locales/en.json
+++ b/databrowser/src/locales/en.json
@@ -90,6 +90,12 @@
"buttonSave": "Save changes",
"description": "The changes you made have not been saved. By switching to another section your changes will be lost!",
"title": "Unsaved Data!"
+ },
+ "multilpleFilesLanguage": {
+ "buttonSaveAndNext": "Save & next",
+ "buttonDiscardChanges": "Discard changes",
+ "title": "Choose language",
+ "description": "Which language would you like to assign the uploaded document to?"
}
},
"footer": {