@@ -15,6 +19,7 @@
+
@@ -49,6 +54,7 @@ import DeletePublicationDialog from './publication/DeletePublicationDialog.vue'
import DepublishPublicationDialog from './publication/DepublishPublicationDialog.vue'
import PublishPublicationDialog from './publication/PublishPublicationDialog.vue'
import DeletePublicationDataDialog from './publicationData/DeletePublicationDataDialog.vue'
+import DeletePublicationThemeDialog from './publicationTheme/DeletePublicationThemeDialog.vue'
import CopyThemeDialog from './theme/CopyThemeDialog.vue'
import DeleteThemeDialog from './theme/DeleteThemeDialog.vue'
import DownloadPublicationDialog from './publication/DownloadPublicationDialog.vue'
@@ -70,6 +76,7 @@ export default {
DeletePublicationDialog,
CopyPublicationDialog,
DeletePublicationDataDialog,
+ DeletePublicationThemeDialog,
PublishPublicationDialog,
DepublishPublicationDialog,
ArchivePublicationDialog,
diff --git a/src/dialogs/publicationTheme/DeletePublicationThemeDialog.vue b/src/dialogs/publicationTheme/DeletePublicationThemeDialog.vue
new file mode 100644
index 00000000..8b73f611
--- /dev/null
+++ b/src/dialogs/publicationTheme/DeletePublicationThemeDialog.vue
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+ Publicatie thema succesvol verwijderd
+
+
+ Er is iets fout gegaan bij het verwijderen van Publicatie thema
+
+
+ {{ error }}
+
+
+
+ Wil je {{ themeStore.themeItem.title }} definitief verwijderen? Deze actie kan niet ongedaan worden gemaakt.
+
+
+
+
+
+
+ {{ success !== null ? 'Sluiten' : 'Annuleer' }}
+
+
+
+
+
+
+ Verwijderen
+
+
+
+
+
+
+
+
diff --git a/src/entities/publication/publication.ts b/src/entities/publication/publication.ts
index a01f3d6f..dee7e62f 100644
--- a/src/entities/publication/publication.ts
+++ b/src/entities/publication/publication.ts
@@ -74,12 +74,12 @@ export class Publication implements TPublication {
this.themes = data.themes || []
this.data = (!Array.isArray(data.data) && data.data) || {}
- this.anonymization = data.anonymization || {
+ this.anonymization = (!Array.isArray(data.anonymization) && data.anonymization) || {
anonymized: false,
results: '',
}
- this.language = data.language || {
+ this.language = (!Array.isArray(data.language) && data.language) || {
code: '',
level: '',
}
@@ -87,16 +87,16 @@ export class Publication implements TPublication {
this.published = data.published || ''
this.modified = data.modified || ''
this.license = data.license || ''
- this.archive = data.archive || {
+ this.archive = (!Array.isArray(data.archive) && data.archive) || {
date: '',
}
- this.geo = data.geo || {
+ this.geo = (!Array.isArray(data.geo) && data.geo) || {
type: 'Point',
coordinates: [0, 0],
}
- this.catalog = data.catalog || {}
+ this.catalog = (!Array.isArray(data.catalog) && data.catalog) || {}
this.publicationType = (data.publicationType ?? data.publicationType) || ''
}
@@ -116,7 +116,7 @@ export class Publication implements TPublication {
status: z.enum(['Concept', 'Published', 'Withdrawn', 'Archived', 'Revised', 'Rejected']),
attachments: z.union([z.string(), z.number()]).array(),
attachmentCount: z.number(),
- themes: z.string().array(),
+ themes: z.array(z.union([z.string(), z.number()])),
data: z.record(z.string(), z.any()),
anonymization: z.object({
anonymized: z.boolean(),
diff --git a/src/views/publications/PublicationDetail.vue b/src/views/publications/PublicationDetail.vue
index d89fe77b..e9e39809 100644
--- a/src/views/publications/PublicationDetail.vue
+++ b/src/views/publications/PublicationDetail.vue
@@ -1,5 +1,5 @@
@@ -120,10 +120,6 @@ import { ref } from 'vue'
Afbeelding:
{{ publicationStore.publicationItem?.image }}
-