@piveau/piveau-hub-ui-modules 4.6.32 → 4.6.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"DPIMenu.vue.mjs","sources":["../../lib/data-provider-interface/DPIMenu.vue"],"sourcesContent":["<template>\n <div id=\"wrapper\" data-cy=\"dpi-menu\">\n <nav v-if=\"visible\">\n <div>\n <h4 class=\"text-white\">{{ $t('message.dataupload.menu.dpi') }}</h4>\n </div>\n\n <div style=\"margin-top:1%;\">\n <dropup v-for=\"(group, index) in menuGroups\" :key=\"`Group${index}`\" :groupName=\"group.group\"\n :groupItems=\"group.items\" :show=\"$env.content.dataProviderInterface.buttons[group.group]\"\n :isOperator=\"getUserData.roles.includes('operator')\" :isCatalog=\"group.group === 'Catalogue' ? true : false\">\n </dropup>\n <ul>\n <div class=\"btn-group dropup\">\n <li v-for=\"(menuItem, index) in menuItems\" :key=\"`Menu${index}`\">\n <button type=\"button\" class=\"btn btn-default\" @click=\"scrollToTop()\">\n <!-- Menu items are either buttons or router-link -->\n <!-- depending if they have a 'to' or 'handler' property -->\n <component :is=\"menuItem.handler ? 'button' : 'router-link'\" :class=\"{ 'disabled': menuItem.disabled }\"\n :to=\"menuItem.to\" @click.native=\"menuItem.handler ? menuItem.handler() : null\">\n {{ menuItem.handler }}\n {{ menuItem.name }}\n </component>\n </button>\n </li>\n </div>\n </ul>\n </div>\n\n\n <div v-if=\"getUserData.userName\" class=\"logoutWrap\">\n <slot name=\"right\" :get-user-data=\"getUserData\">\n <small class=\"text-white\">{{ $t('message.dataupload.menu.loggedInAs') }} {{ getUserData.userName\n }}</small>\n <br>\n <button type=\"button\" class=\"btn btn-default logout\">\n <router-link :to=\"{ name: 'Logout' }\">{{ $t('message.dataupload.menu.logout') }}</router-link>\n </button>\n </slot>\n </div>\n </nav>\n\n <app-confirmation-dialog id=\"DPIMenuModal\" :loading=\"modal.loading\" :confirm=\"modal.confirm\"\n @confirm=\"modal.confirmHandler\">\n {{ modal.message }}\n </app-confirmation-dialog>\n </div>\n</template>\n\n<script>\nimport axios from 'axios';\nimport $ from 'jquery';\nimport { has, isEmpty } from 'lodash-es';\nimport { mapGetters, mapActions } from 'vuex';\nimport Dropup from './components/Dropup';\nimport { useWindowScroll } from '@vueuse/core'\n\nexport default {\n name: 'DPI-menu',\n components: {\n Dropup\n },\n props: {},\n data() {\n return {\n visible: true,\n modal: {\n show: false,\n loading: false,\n error: null,\n message: '',\n confirm: 'Ok',\n confirmHandler: () => null,\n },\n };\n },\n setup() {\n const scrollToTop = () => {\n let { x, y } = useWindowScroll({ behavior: 'smooth' })\n y.value = 0\n\n }\n return {\n scrollToTop\n }\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getCatalog',\n 'getID',\n 'getLoading',\n 'getTitle',\n 'getDescription',\n ]),\n ...mapGetters('auth', [\n 'getUserData',\n ]),\n menuGroups() {\n return [\n {\n group: 'Dataset',\n items: [\n {\n key: 'create-dataset',\n name: 'createDataset',\n to: {\n name: 'DataProviderInterface-Input',\n query: { locale: this.$route.query.locale, edit: false }, // if edit is false -> reset is triggered\n params: { property: 'datasets' },\n },\n },\n {\n name: 'deleteDataset',\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.datasetDeletion.message'),\n confirm: this.$t('message.dataupload.menu.datasetDeletion.confirm'),\n confirmHandler: () => this.handleDelete({ id: this.getID, property: 'datasets', catalog: this.getCatalog.id }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n {\n key: 'edit-dataset',\n name: 'editDataset',\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n to: {\n name: 'DataProviderInterface-Edit',\n params: {\n catalog: this.getCatalog.id || 'undefined',\n property: 'datasets',\n id: this.getID || 'undefined',\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n },\n },\n },\n\n {\n key: 'draft-dataset',\n name: 'setToDraft',\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.markAsDraft.message'),\n confirm: this.$t('message.dataupload.menu.markAsDraft.confirm'),\n confirmHandler: () => this.handleMarkAsDraft({\n id: this.getID, catalog: this.getCatalog.id, title: this.getTitle, description: this.getDescription,\n }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n {\n key: 'register-dataset',\n name: 'registerDoi',\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.registerADoi.message'),\n confirm: this.$t('message.dataupload.menu.registerADoi.confirm'),\n confirmHandler: () => this.handleRegisterDoi({ id: this.getID, catalog: this.getCatalog.id, type: this.$env.content.dataProviderInterface.doiRegistrationService.persistentIdentifierType || 'mock' }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n ],\n },\n {\n group: 'Catalogue',\n items: [\n {\n name: 'CreateCatalogue',\n to: {\n name: 'DataProviderInterface-Input',\n query: { locale: this.$route.query.locale, edit: false },\n params: { property: 'catalogues' }\n },\n },\n {\n name: 'DeleteCatalogue',\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: 'Are you sure you want to delete this catalogue? This can not be reverted!',\n confirm: 'Delete catlogue (irreversible)',\n confirmHandler: () => this.handleDelete({ id: this.$route.params.ctlg_id, property: 'catalogues', catalog: this.$route.params.ctlg_id }),\n },\n };\n $('#modal').modal({ show: true });\n }\n },\n {\n name: 'EditCatalog',\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n to: {\n name: 'DataProviderInterface-Edit',\n params: {\n catalog: this.$route.params.ctlg_id ? this.$route.params.ctlg_id : 'undefined',\n property: 'catalogues',\n id: this.getID || 'undefined',\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n }\n }\n },\n ],\n },\n ];\n },\n menuItems() {\n return [\n {\n name: this.$t('message.dataupload.menu.draftDatasets'),\n to: { name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } },\n },\n {\n name: this.$t('message.dataupload.menu.myCatalogues'),\n to: { name: 'DataProviderInterface-UserCatalogues', query: { locale: this.$route.query.locale } },\n },\n {\n name: this.$t('message.dataupload.menu.userProfile'),\n to: { name: 'DataProviderInterface-UserProfile', query: { locale: this.$route.query.locale } },\n },\n ];\n },\n isLocatedOnAuthorizedDatasetPage() {\n // Never return true while loading\n if (this.getLoading) return false;\n\n // Is the user located on the correct page?\n const isOnDatasetDetailsPage = this.$route.name === 'DatasetDetailsDataset';\n if (!isOnDatasetDetailsPage) return false;\n const datasetId = isOnDatasetDetailsPage && this.$route.params.ds_id;\n\n // Does user have permission on dataset (based on current datasetDetails state)?\n const permissions = this.getUserData && this.getUserData.permissions;\n const catalogId = this.getCatalog && this.getCatalog.id;\n const hasPermission = permissions.find(permission => permission.rsname === catalogId);\n\n // Does the user have permission on the current dataset details page?\n return hasPermission\n && isOnDatasetDetailsPage\n && datasetId === this.getID;\n },\n isLocatedOnAuthorizedCatalogPage() {\n // never return true while loading\n if (this.getLoading) return false;\n\n // is the user located on the correct page?\n const onCatalogPage = this.$route.name === 'CatalogueDetails';\n if (!onCatalogPage) return false;\n const catalogId = onCatalogPage && this.$route.params.ctlg_id;\n\n // const permissions = this.getUserData && this.getUserData.permissions;\n // const hasPermission = permissions.find(permission => permission.rsname === catalogId);\n const hasPermission = true\n // does user have permission on current catalogue\n return hasPermission && onCatalogPage;\n }\n },\n methods: {\n ...mapActions('auth', [\n 'updateUserData',\n ]),\n ...mapActions('snackbar', [\n 'showSnackbar',\n ]),\n setupKeycloakWatcher() {\n if (this.$keycloak && this.$keycloak.authenticated) {\n // Set up watcher here since we this.$keycloak might not be available.\n // If this.$keycloak is ensured, move this watcher out of this created hook.\n this.$watch('$keycloak.token', async (newToken) => {\n if (!newToken) return;\n\n let rtpToken = this.$keycloak.rtpToken;\n if (!rtpToken) {\n const rtpTokenFn = this.$keycloak.getRtpToken;\n if (rtpTokenFn) {\n const res = (await rtpTokenFn({ autoRefresh: true }));\n rtpToken = res;\n }\n }\n\n this.updateUserData({\n authToken: newToken,\n rtpToken: rtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n }, { immediate: true });\n\n this.$watch('$keycloak.rtpToken', (newRtpToken) => {\n if (!newRtpToken) return;\n\n this.updateUserData({\n authToken: this.$keycloak.token,\n rtpToken: newRtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n });\n }\n },\n async handleConfirm(action, argsObj, { successMessage, errorMessage }) {\n this.modal.loading = true;\n try {\n // Sleep for 250ms for better UX\n this.$Progress.start();\n await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.set(25);\n await this.$store.dispatch(action, argsObj);\n\n // Successful DOI registration\n this.showSnackbar({\n message: successMessage,\n variant: 'success',\n });\n await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.finish();\n } catch (ex) {\n this.$Progress.fail();\n // eslint-disable-next-line no-console\n console.error(ex);\n\n const maybeErrorStatusMsg = ex.response && ex.response.data && ex.response.data.message;\n\n this.modal = {\n ...this.modal,\n ...{\n // Need to translate this\n message: 'DOI registration is not possible, the following error occured: ' + ex.response.data,\n confirm: 'Okay',\n confirmHandler: () => $('#modal').modal('hide'),\n },\n };\n\n\n console.log(ex.response.data);\n let customErrorMessage = typeof errorMessage === 'string' && errorMessage;\n customErrorMessage = typeof errorMessage === 'function' && errorMessage(ex);\n // customErrorMessage = typeof errorMessage === 'object' && errorMessage.prefix && `${errorMessage.prefix}${maybeErrorStatusMsg && ` — ${maybeErrorStatusMsg}`}`;\n customErrorMessage = typeof errorMessage === 'object' && errorMessage.prefix + \" - \" + ex.response.data;\n\n console.log(errorMessage);\n const errorMsg = customErrorMessage || maybeErrorStatusMsg || ex.message || 'An error occurred';\n // show snackbar\n this.showSnackbar({\n message: errorMsg,\n variant: 'error',\n });\n } finally {\n this.modal.loading = false;\n $('#modal').modal('hide');\n }\n },\n async handleRegisterDoi({ id, catalog, type = 'eu-ra-doi' }) {\n await this.handleConfirm(\n 'auth/createPersistentIdentifier',\n { id, catalog, type },\n {\n successMessage: this.$te('message.snackbar.doiRegistration.success') ? this.$t('message.snackbar.doiRegistration.success') : 'Successfully registered DOI',\n errorMessage: { prefix: this.$te('message.snackbar.doiRegistration.error') ? this.$t('message.snackbar.doiRegistration.error') : 'DOI registration failed' },\n\n },\n );\n },\n async handleMarkAsDraft({\n id, catalog, title, description,\n }) {\n await this.handleConfirm('auth/putDatasetToDraft', {\n id, catalog, title, description,\n }, {\n successMessage: this.$te('message.snackbar.markAsDraft.success') ? this.$t('message.snackbar.markAsDraft.success') : 'Dataset successfully marked as draft',\n errorMessage: { prefix: this.$te('message.snackbar.markAsDraft.error') ? this.$t('message.snackbar.markAsDraft.error') : 'Failed to mark dataset as draft' },\n });\n\n this.$router.push({ name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } }).catch(() => { });\n },\n async handleDelete({ id, property, catalog }) {\n // todo: create user dataset api (and maybe integrate to store)\n // For now, do request manually using axios\n\n this.modal.loading = true;\n this.$Progress.start();\n try {\n let endpoint;\n\n if (property === 'datasets') {\n\n endpoint = `${this.$env.api.hubUrl}datasets/${id}?useNormalizedId=true&catalogue=${catalog}`;\n } else if (property === 'catalogues') {\n endpoint = `${this.$env.api.hubUrl}catalogues/${id}`\n }\n\n await axios.delete(endpoint, {\n\n headers: {\n 'Content-Type': 'text/turtle',\n Authorization: `Bearer ${this.getUserData.rtpToken}`,\n },\n });\n\n let successMessage;\n if (property === 'datasets') {\n successMessage = this.$te('message.snackbar.deleteDataset.success') ? this.$t('message.snackbar.deleteDataset.success') : 'Dataset successfully deleted';\n } else if (property === 'catalogues') {\n successMessage = this.$te('message.snackbar.deleteCatalog.success') ? this.$t('message.snackbar.deleteCatalog.success') : 'Catalog successfully deleted';\n }\n\n\n this.showSnackbar({\n message: successMessage,\n variant: 'success',\n });\n this.$Progress.finish();\n\n // Redirect to Home\n this.$router.push({ name: 'Datasets', query: { locale: this.$route.query.locale, refresh: true } }).catch(() => { });\n } catch (ex) {\n this.$Progress.fail();\n\n let errorMessage;\n\n if (property === 'datasets') {\n errorMessage = this.$te('message.snackbar.deleteDataset.error') ? this.$t('message.snackbar.deleteDataset.error') : 'Failed to delete dataset';\n } else if (property === 'catalogues') {\n errorMessage = this.$te('message.snackbar.deleteCatalog.error') ? this.$t('message.snackbar.deleteCatalog.error') : 'Failed to delete catalog';\n }\n\n this.showSnackbar({\n message: `${errorMessage}${ex.response?.data ? ` — ${ex.response?.data}` : ex.message}`,\n variant: 'error',\n });\n } finally {\n this.modal.loading = false;\n $('#modal').modal('hide');\n }\n },\n },\n created() {\n this.setupKeycloakWatcher();\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n#wrapper {\n background: linear-gradient(90deg, #082b7a, #0e47cb);\n width: 100%;\n position: sticky;\n bottom: 0;\n z-index: 999;\n}\n\nnav {\n max-width: 1400px;\n display: flex;\n flex-direction: row;\n margin: 0 auto;\n justify-content: space-between;\n font-size: 1rem;\n align-items: center;\n}\n\nul {\n float: right;\n\n li {\n display: inline;\n\n a {\n color: white;\n }\n }\n}\n\nbutton a {\n color: white;\n}\n\n.logout {\n display: block;\n margin: 0 auto;\n border: 1px solid white;\n padding: 0.1rem 1.5rem;\n}\n\n.logoutWrap {\n width: 14rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n</style>\n"],"names":["_sfc_main","Dropup","x","y","useWindowScroll","mapGetters","$","isOnDatasetDetailsPage","datasetId","permissions","catalogId","permission","onCatalogPage","mapActions","newToken","rtpToken","rtpTokenFn","newRtpToken","action","argsObj","successMessage","errorMessage","resolve","ex","maybeErrorStatusMsg","customErrorMessage","errorMsg","id","catalog","type","title","description","property","endpoint","axios","_a","_b","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_7","_openBlock","_createElementBlock","_hoisted_1","$data","_hoisted_2","_createElementVNode","_toDisplayString","_ctx","_cache","_createTextVNode","_Fragment","_renderList","$options","group","index","_createBlock","_component_dropup","menuItem","$setup","_resolveDynamicComponent","_normalizeClass","_withCtx","_hoisted_6","_renderSlot","_hoisted_8","_createVNode","_component_router_link","_createCommentVNode","_component_app_confirmation_dialog"],"mappings":"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"}
1
+ {"version":3,"file":"DPIMenu.vue.mjs","sources":["../../lib/data-provider-interface/DPIMenu.vue"],"sourcesContent":["<template>\n <div id=\"wrapper\" data-cy=\"dpi-menu\">\n <nav v-if=\"visible\">\n <div>\n <h4 class=\"text-white\">{{ $t(\"message.dataupload.menu.dpi\") }}</h4>\n </div>\n\n <div style=\"margin-top: 1%\">\n <dropup\n v-for=\"(group, index) in menuGroups\"\n :key=\"`Group${index}`\"\n :groupName=\"group.group\"\n :groupItems=\"group.items\"\n :show=\"$env.content.dataProviderInterface.buttons[group.group]\"\n :isOperator=\"getUserData.roles.includes('operator')\"\n :isCatalog=\"group.group === 'Catalogue' ? true : false\"\n >\n </dropup>\n <ul>\n <div class=\"btn-group dropup\">\n <li v-for=\"(menuItem, index) in menuItems\" :key=\"`Menu${index}`\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n @click=\"scrollToTop()\"\n >\n <!-- Menu items are either buttons or router-link -->\n <!-- depending if they have a 'to' or 'handler' property -->\n <component\n :is=\"menuItem.handler ? 'button' : 'router-link'\"\n :class=\"{ disabled: menuItem.disabled }\"\n :to=\"menuItem.to\"\n @click.native=\"menuItem.handler ? menuItem.handler() : null\"\n >\n {{ menuItem.handler }}\n {{ menuItem.name }}\n </component>\n </button>\n </li>\n </div>\n </ul>\n </div>\n\n <div v-if=\"getUserData.userName\" class=\"logoutWrap\">\n <slot name=\"right\" :get-user-data=\"getUserData\">\n <small class=\"text-white\"\n >{{ $t(\"message.dataupload.menu.loggedInAs\") }}\n {{ getUserData.userName }}</small\n >\n <br />\n <button type=\"button\" class=\"btn btn-default logout\">\n <router-link :to=\"{ name: 'Logout' }\">{{\n $t(\"message.dataupload.menu.logout\")\n }}</router-link>\n </button>\n </slot>\n </div>\n </nav>\n\n <app-confirmation-dialog\n id=\"DPIMenuModal\"\n :loading=\"modal.loading\"\n :confirm=\"modal.confirm\"\n @confirm=\"modal.confirmHandler\"\n >\n {{ modal.message }}\n </app-confirmation-dialog>\n </div>\n</template>\n\n<script>\nimport axios from \"axios\";\nimport $ from \"jquery\";\nimport { has, isEmpty } from \"lodash-es\";\nimport { mapGetters, mapActions } from \"vuex\";\nimport Dropup from \"./components/Dropup\";\nimport { useWindowScroll } from \"@vueuse/core\";\n\nexport default {\n name: \"DPI-menu\",\n components: {\n Dropup,\n },\n props: {},\n data() {\n return {\n showRatingService: this.$env.content.datasetDetails?.showRatingService,\n visible: true,\n modal: {\n show: false,\n loading: false,\n error: null,\n message: \"\",\n confirm: \"Ok\",\n confirmHandler: () => null,\n },\n };\n },\n setup() {\n const scrollToTop = () => {\n let { x, y } = useWindowScroll({ behavior: \"smooth\" });\n y.value = 0;\n };\n return {\n scrollToTop,\n };\n },\n computed: {\n ...mapGetters(\"datasetDetails\", [\n \"getCatalog\",\n \"getID\",\n \"getLoading\",\n \"getTitle\",\n \"getDescription\",\n ]),\n ...mapGetters(\"auth\", [\"getUserData\"]),\n menuGroups() {\n return [\n {\n group: \"Dataset\",\n items: [\n {\n key: \"create-dataset\",\n name: \"createDataset\",\n to: {\n name: \"DataProviderInterface-Input\",\n query: { locale: this.$route.query.locale, edit: false }, // if edit is false -> reset is triggered\n params: { property: \"datasets\" },\n },\n },\n {\n name: \"deleteDataset\",\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t(\n \"message.dataupload.menu.datasetDeletion.message\"\n ),\n confirm: this.$t(\n \"message.dataupload.menu.datasetDeletion.confirm\"\n ),\n confirmHandler: () =>\n this.handleDelete({\n id: this.getID,\n property: \"datasets\",\n catalog: this.getCatalog.id,\n }),\n },\n };\n $(\"#modal\").modal({ show: true });\n },\n },\n {\n key: \"edit-dataset\",\n name: \"editDataset\",\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n to: {\n name: \"DataProviderInterface-Edit\",\n params: {\n catalog: this.getCatalog.id || \"undefined\",\n property: \"datasets\",\n id: this.getID || \"undefined\",\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n },\n },\n },\n\n {\n key: \"draft-dataset\",\n name: \"setToDraft\",\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t(\n \"message.dataupload.menu.markAsDraft.message\"\n ),\n confirm: this.$t(\n \"message.dataupload.menu.markAsDraft.confirm\"\n ),\n confirmHandler: () =>\n this.handleMarkAsDraft({\n id: this.getID,\n catalog: this.getCatalog.id,\n title: this.getTitle,\n description: this.getDescription,\n }),\n },\n };\n $(\"#modal\").modal({ show: true });\n },\n },\n {\n key: \"register-dataset\",\n name: \"registerDoi\",\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t(\n \"message.dataupload.menu.registerADoi.message\"\n ),\n confirm: this.$t(\n \"message.dataupload.menu.registerADoi.confirm\"\n ),\n confirmHandler: () =>\n this.handleRegisterDoi({\n id: this.getID,\n catalog: this.getCatalog.id,\n type:\n this.$env.content.dataProviderInterface\n .doiRegistrationService.persistentIdentifierType ||\n \"mock\",\n }),\n },\n };\n $(\"#modal\").modal({ show: true });\n },\n },\n ],\n },\n {\n group: \"Catalogue\",\n items: [\n {\n name: \"CreateCatalogue\",\n to: {\n name: \"DataProviderInterface-Input\",\n query: { locale: this.$route.query.locale, edit: false },\n params: { property: \"catalogues\" },\n },\n },\n {\n name: \"DeleteCatalogue\",\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message:\n \"Are you sure you want to delete this catalogue? This can not be reverted!\",\n confirm: \"Delete catlogue (irreversible)\",\n confirmHandler: () =>\n this.handleDelete({\n id: this.$route.params.ctlg_id,\n property: \"catalogues\",\n catalog: this.$route.params.ctlg_id,\n }),\n },\n };\n $(\"#modal\").modal({ show: true });\n },\n },\n {\n name: \"EditCatalog\",\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n to: {\n name: \"DataProviderInterface-Edit\",\n params: {\n catalog: this.$route.params.ctlg_id\n ? this.$route.params.ctlg_id\n : \"undefined\",\n property: \"catalogues\",\n id: this.getID || \"undefined\",\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n },\n },\n },\n ],\n },\n ];\n },\n menuItems() {\n let items = [\n {\n name: this.$t(\"message.dataupload.menu.draftDatasets\"),\n to: {\n name: \"DataProviderInterface-Draft\",\n query: { locale: this.$route.query.locale },\n },\n },\n {\n name: this.$t(\"message.dataupload.menu.myCatalogues\"),\n to: {\n name: \"DataProviderInterface-UserCatalogues\",\n query: { locale: this.$route.query.locale },\n },\n },\n {\n name: this.$t(\"message.dataupload.menu.userProfile\"),\n to: {\n name: \"DataProviderInterface-UserProfile\",\n query: { locale: this.$route.query.locale },\n },\n },\n ];\n if (this.showRatingService && this.isOperator) {\n items.push({\n name: \"Comment Moderation\",\n to: {\n name: \"DataProviderInterface-CommentsModeration\",\n query: { locale: this.$route.query.locale },\n },\n });\n }\n return items;\n },\n isLocatedOnAuthorizedDatasetPage() {\n // Never return true while loading\n if (this.getLoading) return false;\n\n // Is the user located on the correct page?\n const isOnDatasetDetailsPage =\n this.$route.name === \"DatasetDetailsDataset\";\n if (!isOnDatasetDetailsPage) return false;\n const datasetId = isOnDatasetDetailsPage && this.$route.params.ds_id;\n\n // Does user have permission on dataset (based on current datasetDetails state)?\n const permissions = this.getUserData && this.getUserData.permissions;\n const catalogId = this.getCatalog && this.getCatalog.id;\n const hasPermission = permissions.find(\n (permission) => permission.rsname === catalogId\n );\n\n // Does the user have permission on the current dataset details page?\n return (\n hasPermission && isOnDatasetDetailsPage && datasetId === this.getID\n );\n },\n isLocatedOnAuthorizedCatalogPage() {\n // never return true while loading\n if (this.getLoading) return false;\n\n // is the user located on the correct page?\n const onCatalogPage = this.$route.name === \"CatalogueDetails\";\n if (!onCatalogPage) return false;\n const catalogId = onCatalogPage && this.$route.params.ctlg_id;\n\n // const permissions = this.getUserData && this.getUserData.permissions;\n // const hasPermission = permissions.find(permission => permission.rsname === catalogId);\n const hasPermission = true;\n // does user have permission on current catalogue\n return hasPermission && onCatalogPage;\n },\n isOperator() {\n return this.getUserData.roles.includes(\"operator\");\n }\n },\n methods: {\n ...mapActions(\"auth\", [\"updateUserData\"]),\n ...mapActions(\"snackbar\", [\"showSnackbar\"]),\n setupKeycloakWatcher() {\n if (this.$keycloak && this.$keycloak.authenticated) {\n // Set up watcher here since we this.$keycloak might not be available.\n // If this.$keycloak is ensured, move this watcher out of this created hook.\n this.$watch(\n \"$keycloak.token\",\n async (newToken) => {\n if (!newToken) return;\n\n let rtpToken = this.$keycloak.rtpToken;\n if (!rtpToken) {\n const rtpTokenFn = this.$keycloak.getRtpToken;\n if (rtpTokenFn) {\n const res = await rtpTokenFn({ autoRefresh: true });\n rtpToken = res;\n }\n }\n\n this.updateUserData({\n authToken: newToken,\n rtpToken: rtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n },\n { immediate: true }\n );\n\n this.$watch(\"$keycloak.rtpToken\", (newRtpToken) => {\n if (!newRtpToken) return;\n\n this.updateUserData({\n authToken: this.$keycloak.token,\n rtpToken: newRtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n });\n }\n },\n async handleConfirm(action, argsObj, { successMessage, errorMessage }) {\n this.modal.loading = true;\n try {\n // Sleep for 250ms for better UX\n this.$Progress.start();\n await new Promise((resolve) => setTimeout(resolve, 250));\n\n this.$Progress.set(25);\n await this.$store.dispatch(action, argsObj);\n\n // Successful DOI registration\n this.showSnackbar({\n message: successMessage,\n variant: \"success\",\n });\n await new Promise((resolve) => setTimeout(resolve, 250));\n\n this.$Progress.finish();\n } catch (ex) {\n this.$Progress.fail();\n // eslint-disable-next-line no-console\n console.error(ex);\n\n const maybeErrorStatusMsg =\n ex.response && ex.response.data && ex.response.data.message;\n\n this.modal = {\n ...this.modal,\n ...{\n // Need to translate this\n message:\n \"DOI registration is not possible, the following error occured: \" +\n ex.response.data,\n confirm: \"Okay\",\n confirmHandler: () => $(\"#modal\").modal(\"hide\"),\n },\n };\n\n console.log(ex.response.data);\n let customErrorMessage =\n typeof errorMessage === \"string\" && errorMessage;\n customErrorMessage =\n typeof errorMessage === \"function\" && errorMessage(ex);\n // customErrorMessage = typeof errorMessage === 'object' && errorMessage.prefix && `${errorMessage.prefix}${maybeErrorStatusMsg && ` — ${maybeErrorStatusMsg}`}`;\n customErrorMessage =\n typeof errorMessage === \"object\" &&\n errorMessage.prefix + \" - \" + ex.response.data;\n\n console.log(errorMessage);\n const errorMsg =\n customErrorMessage ||\n maybeErrorStatusMsg ||\n ex.message ||\n \"An error occurred\";\n // show snackbar\n this.showSnackbar({\n message: errorMsg,\n variant: \"error\",\n });\n } finally {\n this.modal.loading = false;\n $(\"#modal\").modal(\"hide\");\n }\n },\n async handleRegisterDoi({ id, catalog, type = \"eu-ra-doi\" }) {\n await this.handleConfirm(\n \"auth/createPersistentIdentifier\",\n { id, catalog, type },\n {\n successMessage: this.$te(\"message.snackbar.doiRegistration.success\")\n ? this.$t(\"message.snackbar.doiRegistration.success\")\n : \"Successfully registered DOI\",\n errorMessage: {\n prefix: this.$te(\"message.snackbar.doiRegistration.error\")\n ? this.$t(\"message.snackbar.doiRegistration.error\")\n : \"DOI registration failed\",\n },\n }\n );\n },\n async handleMarkAsDraft({ id, catalog, title, description }) {\n await this.handleConfirm(\n \"auth/putDatasetToDraft\",\n {\n id,\n catalog,\n title,\n description,\n },\n {\n successMessage: this.$te(\"message.snackbar.markAsDraft.success\")\n ? this.$t(\"message.snackbar.markAsDraft.success\")\n : \"Dataset successfully marked as draft\",\n errorMessage: {\n prefix: this.$te(\"message.snackbar.markAsDraft.error\")\n ? this.$t(\"message.snackbar.markAsDraft.error\")\n : \"Failed to mark dataset as draft\",\n },\n }\n );\n\n this.$router\n .push({\n name: \"DataProviderInterface-Draft\",\n query: { locale: this.$route.query.locale },\n })\n .catch(() => {});\n },\n async handleDelete({ id, property, catalog }) {\n // todo: create user dataset api (and maybe integrate to store)\n // For now, do request manually using axios\n\n this.modal.loading = true;\n this.$Progress.start();\n try {\n let endpoint;\n\n if (property === \"datasets\") {\n endpoint = `${this.$env.api.hubUrl}datasets/${id}?useNormalizedId=true&catalogue=${catalog}`;\n } else if (property === \"catalogues\") {\n endpoint = `${this.$env.api.hubUrl}catalogues/${id}`;\n }\n\n await axios.delete(endpoint, {\n headers: {\n \"Content-Type\": \"text/turtle\",\n Authorization: `Bearer ${this.getUserData.rtpToken}`,\n },\n });\n\n let successMessage;\n if (property === \"datasets\") {\n successMessage = this.$te(\"message.snackbar.deleteDataset.success\")\n ? this.$t(\"message.snackbar.deleteDataset.success\")\n : \"Dataset successfully deleted\";\n } else if (property === \"catalogues\") {\n successMessage = this.$te(\"message.snackbar.deleteCatalog.success\")\n ? this.$t(\"message.snackbar.deleteCatalog.success\")\n : \"Catalog successfully deleted\";\n }\n\n this.showSnackbar({\n message: successMessage,\n variant: \"success\",\n });\n this.$Progress.finish();\n\n // Redirect to Home\n this.$router\n .push({\n name: \"Datasets\",\n query: { locale: this.$route.query.locale, refresh: true },\n })\n .catch(() => {});\n } catch (ex) {\n this.$Progress.fail();\n\n let errorMessage;\n\n if (property === \"datasets\") {\n errorMessage = this.$te(\"message.snackbar.deleteDataset.error\")\n ? this.$t(\"message.snackbar.deleteDataset.error\")\n : \"Failed to delete dataset\";\n } else if (property === \"catalogues\") {\n errorMessage = this.$te(\"message.snackbar.deleteCatalog.error\")\n ? this.$t(\"message.snackbar.deleteCatalog.error\")\n : \"Failed to delete catalog\";\n }\n\n this.showSnackbar({\n message: `${errorMessage}${\n ex.response?.data ? ` — ${ex.response?.data}` : ex.message\n }`,\n variant: \"error\",\n });\n } finally {\n this.modal.loading = false;\n $(\"#modal\").modal(\"hide\");\n }\n },\n },\n created() {\n this.setupKeycloakWatcher();\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n#wrapper {\n background: linear-gradient(90deg, #082b7a, #0e47cb);\n width: 100%;\n position: sticky;\n bottom: 0;\n z-index: 999;\n}\n\nnav {\n max-width: 1400px;\n display: flex;\n flex-direction: row;\n margin: 0 auto;\n justify-content: space-between;\n font-size: 1rem;\n align-items: center;\n}\n\nul {\n float: right;\n\n li {\n display: inline;\n\n a {\n color: white;\n }\n }\n}\n\nbutton a {\n color: white;\n}\n\n.logout {\n display: block;\n margin: 0 auto;\n border: 1px solid white;\n padding: 0.1rem 1.5rem;\n}\n\n.logoutWrap {\n width: 14rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n</style>\n"],"names":["_sfc_main","Dropup","_a","x","y","useWindowScroll","mapGetters","$","items","isOnDatasetDetailsPage","datasetId","permissions","catalogId","permission","onCatalogPage","mapActions","newToken","rtpToken","rtpTokenFn","newRtpToken","action","argsObj","successMessage","errorMessage","resolve","ex","maybeErrorStatusMsg","customErrorMessage","errorMsg","id","catalog","type","title","description","property","endpoint","axios","_b","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_7","_openBlock","_createElementBlock","_hoisted_1","$data","_hoisted_2","_createElementVNode","_toDisplayString","_ctx","_cache","_createTextVNode","_Fragment","_renderList","$options","group","index","_createBlock","_component_dropup","menuItem","$setup","_resolveDynamicComponent","_normalizeClass","_withCtx","_hoisted_6","_renderSlot","_hoisted_8","_createVNode","_component_router_link","_createCommentVNode","_component_app_confirmation_dialog"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import k from "jquery";
2
- import { isNil as U } from "lodash-es";
2
+ import { isNil as P } from "lodash-es";
3
3
  import { mapGetters as w, mapActions as D } from "vuex";
4
4
  import { useWindowScroll as q } from "../../external/@vueuse/core/index";
5
5
  import x from "axios";
6
- import { getCurrentInstance as M, resolveComponent as T, openBlock as r, createElementBlock as g, createElementVNode as v, createBlock as p, createCommentVNode as n, createTextVNode as o, createVNode as P, withCtx as f, toDisplayString as y } from "vue";
6
+ import { getCurrentInstance as M, resolveComponent as U, openBlock as i, createElementBlock as g, createElementVNode as v, createBlock as m, createCommentVNode as d, createTextVNode as r, createVNode as T, withCtx as f, toDisplayString as b } from "vue";
7
7
  import "vue-i18n";
8
8
  import { useDpiContext as N } from "../composables/useDpiContext.mjs";
9
9
  import "./Navigation.vue2.mjs";
@@ -93,21 +93,21 @@ const B = {
93
93
  this.closeModal(), this.$formkit.reset("dpiForm"), this.clearAll();
94
94
  },
95
95
  async submit(t) {
96
- var C, I, $, S, E;
97
- this.uploading[t] = !0, (C = this.$Progress) == null || C.start();
98
- const e = this.$env.content.dataProviderInterface.specification, s = await this.convertToRDF({ property: this.property, specification: e }).then((b) => b), h = this.getUserData.rtpToken, a = this.getData(this.property).datasetID, i = this.getData(this.property)["dct:title"], l = this.getData(this.property)["dct:description"], u = ((I = this.dpiContext.edit) == null ? void 0 : I.catalog) || this.getData(this.property).catalog || this.getData(this.property)["dcat:catalog"] || this.getData(this.property)["dct:catalog"];
99
- let d, c, m = {
96
+ var $, C, I, S, E;
97
+ this.uploading[t] = !0, ($ = this.$Progress) == null || $.start();
98
+ const e = this.$env.content.dataProviderInterface.specification, s = await this.convertToRDF({ property: this.property, specification: e }).then((y) => y), p = this.getUserData.rtpToken, a = this.getData(this.property).datasetID, l = this.getData(this.property)["dct:title"], n = this.getData(this.property)["dct:description"], u = ((C = this.dpiContext.edit) == null ? void 0 : C.catalog) || this.getData(this.property).catalog || this.getData(this.property)["dcat:catalog"] || this.getData(this.property)["dct:catalog"];
99
+ let o, c, h = {
100
100
  id: a,
101
101
  catalog: u,
102
102
  body: s,
103
- title: i,
104
- description: l
103
+ title: l,
104
+ description: n
105
105
  };
106
- t === "dataset" ? !this.getIsEditMode || this.getIsEditMode && !this.getIsDraft || this.getIsEditMode && this.getIsDraft && localStorage.getItem("dpi_duplicate") ? (d = `${this.$env.api.hubUrl}datasets?id=${a}&catalogue=${u}`, m = { data: s, token: h, url: d }, c = "auth/createDataset") : (m = { id: a, catalog: u }, c = "auth/publishUserDraftById") : t === "draft" ? !this.getIsEditMode || this.getIsEditMode && this.getIsDraft ? (d = `${this.$env.api.hubUrl}drafts/datasets/${a}?catalogue=${u}`, c = "auth/createUserDraft") : (m = { id: a, catalog: u, title: i, description: l }, c = "auth/putDatasetToDraft") : t === "createcatalogue" && (d = `${this.$env.api.hubUrl}catalogues/${a}`, m = { data: s, token: h, url: d, id: a }, c = "auth/createCatalogue");
106
+ t === "dataset" ? this.getIsEditMode ? this.getIsEditMode && !this.getIsDraft ? (o = `${this.$env.api.hubUrl}datasets/${a}`, h = { data: s, token: p, url: o }, c = "auth/createDataset") : this.getIsEditMode && this.getIsDraft && localStorage.getItem("dpi_duplicate") ? (o = `${this.$env.api.hubUrl}datasets?id=${a}&catalogue=${u}`, h = { data: s, token: p, url: o }, c = "auth/createDataset") : (h = { id: a, catalog: u }, c = "auth/publishUserDraftById") : (o = `${this.$env.api.hubUrl}datasets?id=${a}&catalogue=${u}`, h = { data: s, token: p, url: o }, c = "auth/createDataset") : t === "draft" ? !this.getIsEditMode || this.getIsEditMode && this.getIsDraft ? (o = `${this.$env.api.hubUrl}drafts/datasets/${a}?catalogue=${u}`, c = "auth/createUserDraft") : (h = { id: a, catalog: u, title: l, description: n }, c = "auth/putDatasetToDraft") : t === "createcatalogue" && (o = `${this.$env.api.hubUrl}catalogues/${a}`, h = { data: s, token: p, url: o, id: a }, c = "auth/createCatalogue");
107
107
  try {
108
- this.idunique(a) ? (await this.$store.dispatch(c, m), ($ = this.$Progress) == null || $.finish(), this.uploading[t] = !1, t === "createcatalogue" && this.createCatalogue(a), t === "dataset" && this.createDataset(a), t === "draft" && this.createDraft(), this.clearAll()) : (this.uploading[t] = !1, (S = this.$Progress) == null || S.fail(), this.handleIDError());
109
- } catch (b) {
110
- console.error(b), this.uploading[t] = !1, (E = this.$Progress) == null || E.fail(), this.showSnackbar({ message: "Network Error", variant: "error" });
108
+ this.idunique(a) ? (await this.$store.dispatch(c, h), (I = this.$Progress) == null || I.finish(), this.uploading[t] = !1, t === "createcatalogue" && this.createCatalogue(a), t === "dataset" && this.createDataset(a), t === "draft" && this.createDraft(), this.clearAll()) : (this.uploading[t] = !1, (S = this.$Progress) == null || S.fail(), this.handleIDError());
109
+ } catch (y) {
110
+ console.error(y), this.uploading[t] = !1, (E = this.$Progress) == null || E.fail(), this.showSnackbar({ message: "Network Error", variant: "error" });
111
111
  }
112
112
  },
113
113
  createDataset(t) {
@@ -127,13 +127,13 @@ const B = {
127
127
  let e = !0;
128
128
  const s = this.$store.getters["auth/getUserDraftIds"];
129
129
  return new Promise(() => {
130
- if (U(t) || t === "" || t === void 0)
130
+ if (P(t) || t === "" || t === void 0)
131
131
  e = !0;
132
132
  else if (s.includes(t))
133
133
  e = !1;
134
134
  else {
135
- const h = `${this.$env.api.hubUrl}datasets/${t}?useNormalizedId=true`;
136
- x.head(h).then(() => {
135
+ const p = `${this.$env.api.hubUrl}datasets/${t}?useNormalizedId=true`;
136
+ x.head(p).then(() => {
137
137
  e = !1;
138
138
  }).catch((a) => {
139
139
  e = !0;
@@ -161,99 +161,99 @@ const B = {
161
161
  key: 0,
162
162
  class: "loading-spinner"
163
163
  };
164
- function G(t, e, s, h, a, i) {
165
- const l = T("FormKit"), u = T("app-confirmation-dialog");
166
- return r(), g("div", null, [
164
+ function G(t, e, s, p, a, l) {
165
+ const n = U("FormKit"), u = U("app-confirmation-dialog");
166
+ return i(), g("div", null, [
167
167
  v("div", F, [
168
168
  v("div", R, [
169
- s.previousStep ? (r(), p(l, {
169
+ s.previousStep ? (i(), m(n, {
170
170
  key: 0,
171
171
  type: "button",
172
172
  label: t.$t("message.dataupload.preview"),
173
173
  onClick: s.goToPreviousStep,
174
174
  class: "prev-btn mx-1 my-0"
175
- }, null, 8, ["label", "onClick"])) : n("", !0),
176
- e[4] || (e[4] = o()),
177
- P(l, {
175
+ }, null, 8, ["label", "onClick"])) : d("", !0),
176
+ e[4] || (e[4] = r()),
177
+ T(n, {
178
178
  type: "button",
179
179
  label: t.$t("message.dataupload.clear"),
180
- onClick: i.handleClear,
180
+ onClick: l.handleClear,
181
181
  class: "clear-btn"
182
182
  }, null, 8, ["label", "onClick"])
183
183
  ]),
184
- e[9] || (e[9] = o()),
184
+ e[9] || (e[9] = r()),
185
185
  v("div", V, [
186
- !t.getIsEditMode && !t.getIsDraft && a.property === "catalogues" ? (r(), p(l, {
186
+ !t.getIsEditMode && !t.getIsDraft && a.property === "catalogues" ? (i(), m(n, {
187
187
  key: 0,
188
188
  type: "button",
189
- onClick: e[0] || (e[0] = (d) => i.submit("createcatalogue")),
189
+ onClick: e[0] || (e[0] = (o) => l.submit("createcatalogue")),
190
190
  class: "mr-2"
191
191
  }, {
192
192
  default: f(() => [
193
- a.uploading.createcatalogue ? (r(), g("span", _)) : n("", !0),
194
- o(y(t.$t("message.dataupload.publishcatalogue")), 1)
193
+ a.uploading.createcatalogue ? (i(), g("span", _)) : d("", !0),
194
+ r(b(t.$t("message.dataupload.publishcatalogue")), 1)
195
195
  ]),
196
196
  _: 1
197
- })) : n("", !0),
198
- e[5] || (e[5] = o()),
199
- t.getIsEditMode && !t.getIsDraft && a.property === "catalogues" ? (r(), p(l, {
197
+ })) : d("", !0),
198
+ e[5] || (e[5] = r()),
199
+ t.getIsEditMode && !t.getIsDraft && a.property === "catalogues" ? (i(), m(n, {
200
200
  key: 1,
201
201
  type: "button",
202
- onClick: e[1] || (e[1] = (d) => i.submit("createcatalogue")),
202
+ onClick: e[1] || (e[1] = (o) => l.submit("createcatalogue")),
203
203
  class: "mx-1 my-0"
204
204
  }, {
205
205
  default: f(() => [
206
- a.uploading.createcatalogue ? (r(), g("span", K)) : n("", !0),
207
- o(y(t.$t("message.dataupload.publishcatalogue")), 1)
206
+ a.uploading.createcatalogue ? (i(), g("span", K)) : d("", !0),
207
+ r(b(t.$t("message.dataupload.publishcatalogue")), 1)
208
208
  ]),
209
209
  _: 1
210
- })) : n("", !0),
211
- e[6] || (e[6] = o()),
212
- a.property === "datasets" ? (r(), p(l, {
210
+ })) : d("", !0),
211
+ e[6] || (e[6] = r()),
212
+ a.property === "datasets" ? (i(), m(n, {
213
213
  key: 2,
214
214
  type: "button",
215
- onClick: e[2] || (e[2] = (d) => i.submit("dataset")),
216
- disabled: i.formErrorCount,
215
+ onClick: e[2] || (e[2] = (o) => l.submit("dataset")),
216
+ disabled: l.formErrorCount,
217
217
  class: "mx-1 my-0"
218
218
  }, {
219
219
  default: f(() => [
220
- a.uploading.dataset ? (r(), g("span", j)) : n("", !0),
221
- o(y(t.$t("message.dataupload.publishdataset")), 1)
220
+ a.uploading.dataset ? (i(), g("span", j)) : d("", !0),
221
+ r(b(t.$t("message.dataupload.publishdataset")), 1)
222
222
  ]),
223
223
  _: 1
224
- }, 8, ["disabled"])) : n("", !0),
225
- e[7] || (e[7] = o()),
226
- a.property === "datasets" ? (r(), p(l, {
224
+ }, 8, ["disabled"])) : d("", !0),
225
+ e[7] || (e[7] = r()),
226
+ a.property === "datasets" ? (i(), m(n, {
227
227
  key: 3,
228
228
  type: "button",
229
- onClick: e[3] || (e[3] = (d) => i.submit("draft")),
230
- disabled: i.formErrorCount,
229
+ onClick: e[3] || (e[3] = (o) => l.submit("draft")),
230
+ disabled: l.formErrorCount,
231
231
  class: "mx-1 my-0"
232
232
  }, {
233
233
  default: f(() => [
234
- a.uploading.draft ? (r(), g("span", z)) : n("", !0),
235
- o(y(t.$t("message.dataupload.saveasdraft")), 1)
234
+ a.uploading.draft ? (i(), g("span", z)) : d("", !0),
235
+ r(b(t.$t("message.dataupload.saveasdraft")), 1)
236
236
  ]),
237
237
  _: 1
238
- }, 8, ["disabled"])) : n("", !0),
239
- e[8] || (e[8] = o()),
240
- s.nextStep ? (r(), p(l, {
238
+ }, 8, ["disabled"])) : d("", !0),
239
+ e[8] || (e[8] = r()),
240
+ s.nextStep ? (i(), m(n, {
241
241
  key: 4,
242
242
  type: "button",
243
243
  label: t.$t("message.dataupload.next"),
244
244
  onClick: s.goToNextStep
245
- }, null, 8, ["label", "onClick"])) : n("", !0)
245
+ }, null, 8, ["label", "onClick"])) : d("", !0)
246
246
  ])
247
247
  ]),
248
- e[10] || (e[10] = o()),
249
- P(u, {
248
+ e[10] || (e[10] = r()),
249
+ T(u, {
250
250
  id: "modal",
251
251
  confirm: a.modal.confirm,
252
252
  onConfirm: a.modal.callback,
253
253
  close: a.modal.confirm
254
254
  }, {
255
255
  default: f(() => [
256
- o(y(a.modal.message), 1)
256
+ r(b(a.modal.message), 1)
257
257
  ]),
258
258
  _: 1
259
259
  }, 8, ["confirm", "onConfirm", "close"])
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.vue.mjs","sources":["../../../lib/data-provider-interface/components/Navigation.vue"],"sourcesContent":["<template>\n <div>\n <div id=\"nav\" class=\"d-flex \">\n <div class=\"left-form-nav w-25\">\n <!-- PREVIOUS STEP -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.preview')\" @click=\"goToPreviousStep\" v-if=\"previousStep\"\n class=\"prev-btn mx-1 my-0\"></FormKit>\n\n <!-- CLEAR FORM -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.clear')\" @click=\"handleClear\" class=\"clear-btn\"></FormKit>\n </div>\n <div class=\"right-form-nav w-75\">\n\n <!-- DELETE DISTRIBUTION -->\n <!-- <FormKit type=\"button\" label=\"Delete Distribution\" @click=\"handleDeleteDistribution()\"\n v-if=\"isDistribution\" class=\"mx-1 my-0 delDisBtn\"></FormKit> -->\n\n <!-- PUBLISH NEW CATALOGUE -->\n <FormKit type=\"button\" @click=\"submit('createcatalogue')\"\n v-if=\"!getIsEditMode && !getIsDraft && property === 'catalogues'\" class=\"mr-2\">\n <span v-if=\"uploading.createcatalogue\" class=\"loading-spinner\"></span>{{\n $t('message.dataupload.publishcatalogue') }}\n </FormKit>\n\n <!-- PUBLISH EDITED CATALOGUE -->\n <FormKit type=\"button\" @click=\"submit('createcatalogue')\"\n v-if=\"getIsEditMode && !getIsDraft && property === 'catalogues'\" class=\"mx-1 my-0\">\n <span v-if=\"uploading.createcatalogue\" class=\"loading-spinner\"></span>{{\n $t('message.dataupload.publishcatalogue') }}\n </FormKit>\n\n <!-- PUBLISH DATASET -->\n <FormKit type=\"button\" v-if=\"property === 'datasets'\" @click=\"submit('dataset')\" :disabled=\"formErrorCount\"\n class=\"mx-1 my-0\">\n <span v-if=\"uploading.dataset\" class=\"loading-spinner\"></span>{{ $t('message.dataupload.publishdataset') }}\n </FormKit>\n\n <!-- SAVE AS DRAFT -->\n <FormKit type=\"button\" v-if=\"property === 'datasets'\" @click=\"submit('draft')\" :disabled=\"formErrorCount\"\n class=\"mx-1 my-0\">\n <span v-if=\"uploading.draft\" class=\"loading-spinner\"></span>{{ $t('message.dataupload.saveasdraft') }}\n </FormKit>\n\n <!-- NEXT STEP -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.next')\" @click=\"goToNextStep\" v-if=\"nextStep\"></FormKit>\n </div>\n </div>\n\n <app-confirmation-dialog id=\"modal\" :confirm=\"modal.confirm\" @confirm=\"modal.callback\" :close=\"modal.confirm\">\n {{ modal.message }}\n </app-confirmation-dialog>\n </div>\n</template>\n\n<script>\n/* eslint-disable */\nimport $ from 'jquery';\nimport { isNil } from 'lodash';\nimport { mapGetters, mapActions } from 'vuex';\nimport { useWindowScroll } from '@vueuse/core'\nimport axios from 'axios';\nimport { ref, nextTick } from 'vue'\nimport { getCurrentInstance } from \"vue\";\nimport { useI18n } from 'vue-i18n';\nimport { useDpiContext } from '../composables/useDpiContext';\n\nexport default {\n name: 'Navigation',\n props: ['steps', 'nextStep', 'previousStep', 'goToNextStep', 'goToPreviousStep'],\n data() {\n return {\n instance: getCurrentInstance().appContext.app.config.globalProperties.$env,\n uploading: {\n dataset: false,\n draft: false,\n },\n modal: {\n confirm: '',\n message: '',\n callback: '',\n },\n modals: {\n id: {\n confirm: '',\n message: 'Dataset ID already exists',\n callback: this.closeModal,\n },\n clear: {\n confirm: '',\n message: '',\n callback: this.clearStorage,\n },\n },\n property: this.$route.params.property,\n id: this.$route.params.id,\n };\n },\n setup() {\n const scrollToTop = () => {\n let { x, y } = useWindowScroll({ behavior: 'smooth' })\n y.value = 0\n\n };\n return {\n scrollToTop\n }\n },\n computed: {\n ...mapGetters('auth', [\n 'getIsEditMode',\n 'getIsDraft',\n 'getUserData',\n ]),\n ...mapGetters('dpiStore', [\n 'getData',\n ]),\n formErrorCount() {\n let errorCount = 0;\n Object.keys(this.steps).forEach(key => {\n errorCount = errorCount + this.steps[key].blockingCount\n })\n\n return errorCount > 0;\n }\n },\n created() {\n // this.$i18n.locale = this.$route.query.locale\n this.modals.clear.message = this.$t('message.dataupload.modal.resetForm')\n this.modals.clear.confirm = this.$t('message.dataupload.modal.confirmReset')\n\n },\n methods: {\n ...mapActions('auth', [\n 'setIsEditMode',\n 'setIsDraft',\n ]),\n ...mapActions('snackbar', [\n 'showSnackbar',\n ]),\n ...mapActions('dpiStore', [\n 'convertToRDF',\n 'clearAll',\n // 'deleteDistribution',\n // 'setDeleteDistributionInline',\n ]),\n closeModal() {\n $('#modal').modal('hide');\n },\n handleIDError() {\n this.modal = this.modals.id;\n $('#modal').modal({ show: true });\n },\n handleClear() {\n this.modal = this.modals.clear;\n $('#modal').modal({ show: true });\n },\n clearStorage() {\n this.closeModal();\n this.$formkit.reset('dpiForm');\n this.clearAll();\n },\n async submit(mode) {\n this.uploading[mode] = true;\n this.$Progress?.start();\n\n const specification = this.$env.content.dataProviderInterface.specification;\n const RDFdata = await this.convertToRDF({ property: this.property, specification: specification }).then((response) => { return response; });\n const rtpToken = this.getUserData.rtpToken;\n\n const datasetId = this.getData(this.property)['datasetID'];\n const title = this.getData(this.property)['dct:title'];\n const description = this.getData(this.property)['dct:description'];\n const catalogId = \n this.dpiContext.edit?.catalog\n || this.getData(this.property)['catalog']\n || this.getData(this.property)['dcat:catalog']\n || this.getData(this.property)['dct:catalog']\n\n let uploadUrl;\n let actionName;\n let actionParams = {\n id: datasetId,\n catalog: catalogId,\n body: RDFdata,\n title,\n description,\n };\n\n if (mode === 'dataset') {\n // if no edit mode: just publish dataset regularly\n // if edit mode but no draft: publish/save dataset regularly\n if (!this.getIsEditMode || (this.getIsEditMode && !this.getIsDraft) || (this.getIsEditMode && this.getIsDraft && localStorage.getItem('dpi_duplicate'))) {\n uploadUrl = `${this.$env.api.hubUrl}datasets?id=${datasetId}&catalogue=${catalogId}`;\n actionParams = { data: RDFdata, token: rtpToken, url: uploadUrl };\n actionName = 'auth/createDataset';\n } else {\n // if edit mode and draft: publish user draft (remove from draft database and add to dataset database)-> publishUserDraftById\n actionParams = { id: datasetId, catalog: catalogId };\n actionName = 'auth/publishUserDraftById';\n }\n\n } else if (mode === 'draft') {\n //if no edit mode: save draft regularly\n // if edit mode and draft: save draft regularly\n if (!this.getIsEditMode || (this.getIsEditMode && this.getIsDraft)) {\n uploadUrl = `${this.$env.api.hubUrl}drafts/datasets/${datasetId}?catalogue=${catalogId}`;\n actionName = 'auth/createUserDraft';\n } else {\n // if edit mode and no draft: save dataset as draft (remove from dataset database and add to draft database)-> putDatasetToDraft\n actionParams = { id: datasetId, catalog: catalogId, title, description };\n actionName = 'auth/putDatasetToDraft';\n }\n\n } else if (mode === 'createcatalogue') {\n uploadUrl = `${this.$env.api.hubUrl}catalogues/${datasetId}`;\n actionParams = { data: RDFdata, token: rtpToken, url: uploadUrl, id: datasetId };\n actionName = 'auth/createCatalogue';\n }\n\n try {\n // Dispatch the right action depending on the mode\n\n const idIsUnqiue = this.idunique(datasetId);\n\n if (idIsUnqiue) {\n await this.$store.dispatch(actionName, actionParams);\n // await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress?.finish();\n this.uploading[mode] = false;\n\n if (mode === 'createcatalogue') this.createCatalogue(datasetId);\n if (mode === 'dataset') this.createDataset(datasetId);\n if (mode === 'draft') this.createDraft();\n\n // store needs to be reset\n this.clearAll();\n }\n else {\n this.uploading[mode] = false;\n this.$Progress?.fail();\n this.handleIDError();\n }\n } catch (err) {\n console.error(err)\n this.uploading[mode] = false;\n this.$Progress?.fail();\n this.showSnackbar({ message: 'Network Error', variant: 'error' });\n }\n },\n createDataset(datasetId) {\n this.clearAll();\n this.showSnackbar({ message: this.$t('message.dataupload.snackBar.datasetPublished'), variant: 'success' });\n // this.$router.push({ name: 'DatasetDetailsDataset', params: { ds_id: datasetId }, query: { locale: this.$route.query.locale } }).catch(() => { });\n this.$router\n .push({ name: 'DatasetDetailsDataset', params: { ds_id: datasetId }, query: { locale: this.$route.query.locale } })\n .then(() => { this.$router.go(0) })\n },\n createDraft() {\n this.clearAll();\n this.showSnackbar({ message: this.$t('message.dataupload.snackBar.draftCreated'), variant: 'success' });\n this.$router.push({ name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } }).catch(() => { });\n },\n createCatalogue(datasetId) {\n this.clearAll();\n this.showSnackbar({ message: this.$t('message.dataupload.snackBar.catalogPublished'), variant: 'success' });\n this.$router.push({ name: 'CatalogueDetails', query: { locale: this.$route.query.locale }, params: { ctlg_id: datasetId } }).catch(() => { });\n },\n async idunique(id) {\n let isUniqueID = true;\n\n const draftIDs = this.$store.getters['auth/getUserDraftIds'];\n\n new Promise(() => {\n if (isNil(id) || id === '' || id === undefined) isUniqueID = true;\n else if (draftIDs.includes(id)) isUniqueID = false;\n else {\n const request = `${this.$env.api.hubUrl}datasets/${id}?useNormalizedId=true`;\n axios.head(request)\n .then(() => {\n isUniqueID = false;\n })\n .catch((e) => {\n isUniqueID = true;\n });\n }\n });\n return isUniqueID\n }\n },\n setup() {\n const dpiContext = useDpiContext()\n return { dpiContext }\n }\n};\n</script>\n\n<style lang=\"scss\">\n// @import '../../../styles/bootstrap_theme';\n// @import '../../../styles/utils/css-animations';</style>\n"],"names":["_sfc_main","getCurrentInstance","x","y","useWindowScroll","mapGetters","errorCount","key","mapActions","$","mode","_a","specification","RDFdata","response","rtpToken","datasetId","title","description","catalogId","_b","uploadUrl","actionName","actionParams","_c","_d","err","_e","id","isUniqueID","draftIDs","isNil","request","axios","e","useDpiContext","_hoisted_2","_hoisted_3","_createElementBlock","_createElementVNode","_hoisted_1","$props","_createBlock","_component_FormKit","_ctx","_createCommentVNode","_cache","_createTextVNode","_createVNode","$options","$data","_withCtx","_openBlock","_hoisted_4","_toDisplayString","_hoisted_5","_hoisted_6","_hoisted_7","_component_app_confirmation_dialog"],"mappings":"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"}
1
+ {"version":3,"file":"Navigation.vue.mjs","sources":["../../../lib/data-provider-interface/components/Navigation.vue"],"sourcesContent":["<template>\n <div>\n <div id=\"nav\" class=\"d-flex \">\n <div class=\"left-form-nav w-25\">\n <!-- PREVIOUS STEP -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.preview')\" @click=\"goToPreviousStep\" v-if=\"previousStep\"\n class=\"prev-btn mx-1 my-0\"></FormKit>\n\n <!-- CLEAR FORM -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.clear')\" @click=\"handleClear\" class=\"clear-btn\"></FormKit>\n </div>\n <div class=\"right-form-nav w-75\">\n\n <!-- DELETE DISTRIBUTION -->\n <!-- <FormKit type=\"button\" label=\"Delete Distribution\" @click=\"handleDeleteDistribution()\"\n v-if=\"isDistribution\" class=\"mx-1 my-0 delDisBtn\"></FormKit> -->\n\n <!-- PUBLISH NEW CATALOGUE -->\n <FormKit type=\"button\" @click=\"submit('createcatalogue')\"\n v-if=\"!getIsEditMode && !getIsDraft && property === 'catalogues'\" class=\"mr-2\">\n <span v-if=\"uploading.createcatalogue\" class=\"loading-spinner\"></span>{{\n $t('message.dataupload.publishcatalogue') }}\n </FormKit>\n\n <!-- PUBLISH EDITED CATALOGUE -->\n <FormKit type=\"button\" @click=\"submit('createcatalogue')\"\n v-if=\"getIsEditMode && !getIsDraft && property === 'catalogues'\" class=\"mx-1 my-0\">\n <span v-if=\"uploading.createcatalogue\" class=\"loading-spinner\"></span>{{\n $t('message.dataupload.publishcatalogue') }}\n </FormKit>\n\n <!-- PUBLISH DATASET -->\n <FormKit type=\"button\" v-if=\"property === 'datasets'\" @click=\"submit('dataset')\" :disabled=\"formErrorCount\"\n class=\"mx-1 my-0\">\n <span v-if=\"uploading.dataset\" class=\"loading-spinner\"></span>{{ $t('message.dataupload.publishdataset') }}\n </FormKit>\n\n <!-- SAVE AS DRAFT -->\n <FormKit type=\"button\" v-if=\"property === 'datasets'\" @click=\"submit('draft')\" :disabled=\"formErrorCount\"\n class=\"mx-1 my-0\">\n <span v-if=\"uploading.draft\" class=\"loading-spinner\"></span>{{ $t('message.dataupload.saveasdraft') }}\n </FormKit>\n\n <!-- NEXT STEP -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.next')\" @click=\"goToNextStep\" v-if=\"nextStep\"></FormKit>\n </div>\n </div>\n\n <app-confirmation-dialog id=\"modal\" :confirm=\"modal.confirm\" @confirm=\"modal.callback\" :close=\"modal.confirm\">\n {{ modal.message }}\n </app-confirmation-dialog>\n </div>\n</template>\n\n<script>\n/* eslint-disable */\nimport $ from 'jquery';\nimport { isNil } from 'lodash';\nimport { mapGetters, mapActions } from 'vuex';\nimport { useWindowScroll } from '@vueuse/core'\nimport axios from 'axios';\nimport { ref, nextTick } from 'vue'\nimport { getCurrentInstance } from \"vue\";\nimport { useI18n } from 'vue-i18n';\nimport { useDpiContext } from '../composables/useDpiContext';\n\nexport default {\n name: 'Navigation',\n props: ['steps', 'nextStep', 'previousStep', 'goToNextStep', 'goToPreviousStep'],\n data() {\n return {\n instance: getCurrentInstance().appContext.app.config.globalProperties.$env,\n uploading: {\n dataset: false,\n draft: false,\n },\n modal: {\n confirm: '',\n message: '',\n callback: '',\n },\n modals: {\n id: {\n confirm: '',\n message: 'Dataset ID already exists',\n callback: this.closeModal,\n },\n clear: {\n confirm: '',\n message: '',\n callback: this.clearStorage,\n },\n },\n property: this.$route.params.property,\n id: this.$route.params.id,\n };\n },\n setup() {\n const scrollToTop = () => {\n let { x, y } = useWindowScroll({ behavior: 'smooth' })\n y.value = 0\n\n };\n return {\n scrollToTop\n }\n },\n computed: {\n ...mapGetters('auth', [\n 'getIsEditMode',\n 'getIsDraft',\n 'getUserData',\n ]),\n ...mapGetters('dpiStore', [\n 'getData',\n ]),\n formErrorCount() {\n let errorCount = 0;\n Object.keys(this.steps).forEach(key => {\n errorCount = errorCount + this.steps[key].blockingCount\n })\n\n return errorCount > 0;\n }\n },\n created() {\n // this.$i18n.locale = this.$route.query.locale\n this.modals.clear.message = this.$t('message.dataupload.modal.resetForm')\n this.modals.clear.confirm = this.$t('message.dataupload.modal.confirmReset')\n\n },\n methods: {\n ...mapActions('auth', [\n 'setIsEditMode',\n 'setIsDraft',\n ]),\n ...mapActions('snackbar', [\n 'showSnackbar',\n ]),\n ...mapActions('dpiStore', [\n 'convertToRDF',\n 'clearAll',\n // 'deleteDistribution',\n // 'setDeleteDistributionInline',\n ]),\n closeModal() {\n $('#modal').modal('hide');\n },\n handleIDError() {\n this.modal = this.modals.id;\n $('#modal').modal({ show: true });\n },\n handleClear() {\n this.modal = this.modals.clear;\n $('#modal').modal({ show: true });\n },\n clearStorage() {\n this.closeModal();\n this.$formkit.reset('dpiForm');\n this.clearAll();\n },\n async submit(mode) {\n this.uploading[mode] = true;\n this.$Progress?.start();\n\n const specification = this.$env.content.dataProviderInterface.specification;\n const RDFdata = await this.convertToRDF({ property: this.property, specification: specification }).then((response) => { return response; });\n const rtpToken = this.getUserData.rtpToken;\n\n const datasetId = this.getData(this.property)['datasetID'];\n const title = this.getData(this.property)['dct:title'];\n const description = this.getData(this.property)['dct:description'];\n const catalogId =\n this.dpiContext.edit?.catalog\n || this.getData(this.property)['catalog']\n || this.getData(this.property)['dcat:catalog']\n || this.getData(this.property)['dct:catalog']\n\n let uploadUrl;\n let actionName;\n let actionParams = {\n id: datasetId,\n catalog: catalogId,\n body: RDFdata,\n title,\n description,\n };\n\n if (mode === 'dataset') {\n // if no edit mode: just publish dataset regularly\n // if edit mode but no draft: publish/save dataset regularly\n // if (!this.getIsEditMode || (this.getIsEditMode && !this.getIsDraft) || (this.getIsEditMode && this.getIsDraft && localStorage.getItem('dpi_duplicate'))) {\n // uploadUrl = `${this.$env.api.hubUrl}datasets?id=${datasetId}&catalogue=${catalogId}`;\n // actionParams = { data: RDFdata, token: rtpToken, url: uploadUrl };\n // actionName = 'auth/createDataset';\n // }\n if (!this.getIsEditMode) {\n uploadUrl = `${this.$env.api.hubUrl}datasets?id=${datasetId}&catalogue=${catalogId}`;\n actionParams = { data: RDFdata, token: rtpToken, url: uploadUrl };\n actionName = 'auth/createDataset';\n }\n // if edit mode but no draft\n else if (this.getIsEditMode && !this.getIsDraft) {\n uploadUrl = `${this.$env.api.hubUrl}datasets/${datasetId}`;\n actionParams = { data: RDFdata, token: rtpToken, url: uploadUrl };\n actionName = 'auth/createDataset';\n }\n // if edit mode and draft\n else if (this.getIsEditMode && this.getIsDraft && localStorage.getItem('dpi_duplicate')) {\n uploadUrl = `${this.$env.api.hubUrl}datasets?id=${datasetId}&catalogue=${catalogId}`;\n actionParams = { data: RDFdata, token: rtpToken, url: uploadUrl };\n actionName = 'auth/createDataset';\n }\n else {\n // if edit mode and draft: publish user draft (remove from draft database and add to dataset database)-> publishUserDraftById\n actionParams = { id: datasetId, catalog: catalogId };\n actionName = 'auth/publishUserDraftById';\n }\n\n } else if (mode === 'draft') {\n //if no edit mode: save draft regularly\n // if edit mode and draft: save draft regularly\n if (!this.getIsEditMode || (this.getIsEditMode && this.getIsDraft)) {\n uploadUrl = `${this.$env.api.hubUrl}drafts/datasets/${datasetId}?catalogue=${catalogId}`;\n actionName = 'auth/createUserDraft';\n } else {\n // if edit mode and no draft: save dataset as draft (remove from dataset database and add to draft database)-> putDatasetToDraft\n actionParams = { id: datasetId, catalog: catalogId, title, description };\n actionName = 'auth/putDatasetToDraft';\n }\n\n } else if (mode === 'createcatalogue') {\n uploadUrl = `${this.$env.api.hubUrl}catalogues/${datasetId}`;\n actionParams = { data: RDFdata, token: rtpToken, url: uploadUrl, id: datasetId };\n actionName = 'auth/createCatalogue';\n }\n\n try {\n // Dispatch the right action depending on the mode\n\n const idIsUnqiue = this.idunique(datasetId);\n\n if (idIsUnqiue) {\n await this.$store.dispatch(actionName, actionParams);\n // await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress?.finish();\n this.uploading[mode] = false;\n\n if (mode === 'createcatalogue') this.createCatalogue(datasetId);\n if (mode === 'dataset') this.createDataset(datasetId);\n if (mode === 'draft') this.createDraft();\n\n // store needs to be reset\n this.clearAll();\n }\n else {\n this.uploading[mode] = false;\n this.$Progress?.fail();\n this.handleIDError();\n }\n } catch (err) {\n console.error(err)\n this.uploading[mode] = false;\n this.$Progress?.fail();\n this.showSnackbar({ message: 'Network Error', variant: 'error' });\n }\n },\n createDataset(datasetId) {\n this.clearAll();\n this.showSnackbar({ message: this.$t('message.dataupload.snackBar.datasetPublished'), variant: 'success' });\n // this.$router.push({ name: 'DatasetDetailsDataset', params: { ds_id: datasetId }, query: { locale: this.$route.query.locale } }).catch(() => { });\n this.$router\n .push({ name: 'DatasetDetailsDataset', params: { ds_id: datasetId }, query: { locale: this.$route.query.locale } })\n .then(() => { this.$router.go(0) })\n },\n createDraft() {\n this.clearAll();\n this.showSnackbar({ message: this.$t('message.dataupload.snackBar.draftCreated'), variant: 'success' });\n this.$router.push({ name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } }).catch(() => { });\n },\n createCatalogue(datasetId) {\n this.clearAll();\n this.showSnackbar({ message: this.$t('message.dataupload.snackBar.catalogPublished'), variant: 'success' });\n this.$router.push({ name: 'CatalogueDetails', query: { locale: this.$route.query.locale }, params: { ctlg_id: datasetId } }).catch(() => { });\n },\n async idunique(id) {\n let isUniqueID = true;\n\n const draftIDs = this.$store.getters['auth/getUserDraftIds'];\n\n new Promise(() => {\n if (isNil(id) || id === '' || id === undefined) isUniqueID = true;\n else if (draftIDs.includes(id)) isUniqueID = false;\n else {\n const request = `${this.$env.api.hubUrl}datasets/${id}?useNormalizedId=true`;\n axios.head(request)\n .then(() => {\n isUniqueID = false;\n })\n .catch((e) => {\n isUniqueID = true;\n });\n }\n });\n return isUniqueID\n }\n },\n setup() {\n const dpiContext = useDpiContext()\n return { dpiContext }\n }\n};\n</script>\n\n<style lang=\"scss\">\n// @import '../../../styles/bootstrap_theme';\n// @import '../../../styles/utils/css-animations';</style>\n"],"names":["_sfc_main","getCurrentInstance","x","y","useWindowScroll","mapGetters","errorCount","key","mapActions","$","mode","_a","specification","RDFdata","response","rtpToken","datasetId","title","description","catalogId","_b","uploadUrl","actionName","actionParams","_c","_d","err","_e","id","isUniqueID","draftIDs","isNil","request","axios","e","useDpiContext","_hoisted_2","_hoisted_3","_createElementBlock","_createElementVNode","_hoisted_1","$props","_createBlock","_component_FormKit","_ctx","_createCommentVNode","_cache","_createTextVNode","_createVNode","$options","$data","_withCtx","_openBlock","_hoisted_4","_toDisplayString","_hoisted_5","_hoisted_6","_hoisted_7","_component_app_confirmation_dialog"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { truncate as o } from "../../utils/helpers.mjs";
2
- import { openBlock as n, createElementBlock as r, createElementVNode as i, normalizeStyle as a, toDisplayString as d } from "vue";
2
+ import { openBlock as r, createElementBlock as n, createElementVNode as i, normalizeStyle as a, toDisplayString as d } from "vue";
3
3
  import m from "../../_virtual/_plugin-vue_export-helper.mjs";
4
4
  const c = {
5
5
  name: "DistributionFormat",
@@ -12,23 +12,23 @@ const c = {
12
12
  methods: {
13
13
  truncate: o
14
14
  }
15
- }, u = { class: "d-inline-block col-2 col-md-1 pl-1 p-md-3 px-md-4 m-auto distribution-format" }, s = ["type", "data-toggle", "data-placement", "title"];
16
- function l(b, f, t, _, g, e) {
17
- return n(), r("div", u, [
15
+ }, s = { class: "d-inline-block col-2 col-md-1 pl-1 p-md-3 px-md-4 m-auto distribution-format" }, l = ["type", "data-toggle", "data-placement", "title"];
16
+ function u(b, f, t, _, g, e) {
17
+ return r(), n("div", s, [
18
18
  i("div", {
19
19
  class: "circle float-md-right text-center text-white mt-1",
20
20
  type: t.getDistributionFormat(t.distribution),
21
21
  "data-toggle": t.distributionFormatTruncated(t.distribution) ? "tooltip" : !1,
22
22
  "data-placement": t.distributionFormatTruncated(t.distribution) ? "top" : !1,
23
- title: t.distributionFormatTruncated(t.distribution) ? t.getDistributionFormat(t.distribution) : !1
23
+ title: t.getDistributionFormat(t.distribution)
24
24
  }, [
25
25
  i("span", {
26
26
  style: a({ fontSize: t.embed ? "0.75rem" : "" })
27
27
  }, d(e.truncate(t.getDistributionFormat(t.distribution), 10, !0)), 5)
28
- ], 8, s)
28
+ ], 8, l)
29
29
  ]);
30
30
  }
31
- const x = /* @__PURE__ */ m(c, [["render", l]]);
31
+ const x = /* @__PURE__ */ m(c, [["render", u]]);
32
32
  export {
33
33
  x as default
34
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DistributionFormat.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DistributionFormat.vue"],"sourcesContent":["<template>\n <div class=\"d-inline-block col-2 col-md-1 pl-1 p-md-3 px-md-4 m-auto distribution-format\">\n <div class=\"circle float-md-right text-center text-white mt-1\"\n :type=\"getDistributionFormat(distribution)\"\n :data-toggle=\"distributionFormatTruncated(distribution) ? 'tooltip' : false\"\n :data-placement=\"distributionFormatTruncated(distribution) ? 'top' : false\"\n :title=\"distributionFormatTruncated(distribution) ? getDistributionFormat(distribution) : false\">\n <span :style=\"{ fontSize: embed ? '0.75rem' : '' }\">{{ truncate(getDistributionFormat(distribution), 10, true) }}</span>\n </div>\n </div>\n</template>\n\n<script>\nimport { truncate } from '../../utils/helpers';\nexport default {\n name: \"DistributionFormat\",\n props: [\n 'distribution',\n 'getDistributionFormat',\n 'distributionFormatTruncated',\n 'embed'\n ],\n methods: {\n truncate\n }\n}\n</script>\n \n"],"names":["_sfc_main","truncate","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","$props","_normalizeStyle","$options"],"mappings":";;;AAcA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP,UAAAC;AAAA,EACF;AACF,GAxBOC,IAAA,EAAA,OAAM,+EAA8E,GAD3FC,IAAA,CAAA,QAAA,eAAA,kBAAA,OAAA;;AACE,SAAAC,EAAA,GAAAC,EAQM,OARNH,GAQM;AAAA,IAPJI,EAMM,OAAA;AAAA,MAND,OAAM;AAAA,MACL,MAAMC,EAAqB,sBAACA,EAAY,YAAA;AAAA,MACxC,eAAaA,EAA2B,4BAACA,EAAY,YAAA,IAAA,YAAA;AAAA,MACrD,kBAAgBA,EAA2B,4BAACA,EAAY,YAAA,IAAA,QAAA;AAAA,MACxD,OAAOA,EAA2B,4BAACA,cAAY,IAAIA,EAAA,sBAAsBA,EAAY,YAAA,IAAA;AAAA;MACzFD,EAAwH,QAAA;AAAA,QAAjH,OAPbE,cAOgCD,EAAK,QAAA,YAAA,IAAA;AAAA,WAAwBE,EAAQ,SAACF,EAAqB,sBAACA,EAAY,YAAA,GAAA,IAAA,EAAA,CAAA,GAAA,CAAA;AAAA,IAPxG,GAAA,GAAAJ,CAAA;AAAA;;;"}
1
+ {"version":3,"file":"DistributionFormat.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DistributionFormat.vue"],"sourcesContent":["<template>\n <div class=\"d-inline-block col-2 col-md-1 pl-1 p-md-3 px-md-4 m-auto distribution-format\">\n <div class=\"circle float-md-right text-center text-white mt-1\"\n :type=\"getDistributionFormat(distribution)\"\n :data-toggle=\"distributionFormatTruncated(distribution) ? 'tooltip' : false\"\n :data-placement=\"distributionFormatTruncated(distribution) ? 'top' : false\"\n :title=\"getDistributionFormat(distribution)\">\n <span :style=\"{ fontSize: embed ? '0.75rem' : '' }\">{{ truncate(getDistributionFormat(distribution), 10, true) }}</span>\n </div>\n </div>\n</template>\n\n<script>\nimport { truncate } from '../../utils/helpers';\nexport default {\n name: \"DistributionFormat\",\n props: [\n 'distribution',\n 'getDistributionFormat',\n 'distributionFormatTruncated',\n 'embed'\n ],\n methods: {\n truncate\n }\n}\n</script>\n\n"],"names":["_sfc_main","truncate","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","$props","_normalizeStyle","$options"],"mappings":";;;AAcA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP,UAAAC;AAAA,EACF;AACF,GAxBOC,IAAA,EAAA,OAAM,+EAA8E,GAD3FC,IAAA,CAAA,QAAA,eAAA,kBAAA,OAAA;;AACE,SAAAC,EAAA,GAAAC,EAQM,OARNH,GAQM;AAAA,IAPJI,EAMM,OAAA;AAAA,MAND,OAAM;AAAA,MACL,MAAMC,EAAqB,sBAACA,EAAY,YAAA;AAAA,MACxC,eAAaA,EAA2B,4BAACA,EAAY,YAAA,IAAA,YAAA;AAAA,MACrD,kBAAgBA,EAA2B,4BAACA,EAAY,YAAA,IAAA,QAAA;AAAA,MACxD,OAAOA,EAAqB,sBAACA,EAAY,YAAA;AAAA;MAC7CD,EAAwH,QAAA;AAAA,QAAjH,OAPbE,cAOgCD,EAAK,QAAA,YAAA,IAAA;AAAA,WAAwBE,EAAQ,SAACF,EAAqB,sBAACA,EAAY,YAAA,GAAA,IAAA,EAAA,CAAA,GAAA,CAAA;AAAA,IAPxG,GAAA,GAAAJ,CAAA;AAAA;;;"}