@piveau/piveau-hub-ui-modules 4.6.78 → 4.6.80

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":"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","_createVNode","$options","$data","_openBlock","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_component_app_confirmation_dialog","_createTextVNode","_toDisplayString"],"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-40\">\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\n <!-- CLEAR FORM -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.cancelandexit')\" @click=\"handleCancelAndExit\"\n class=\"clear-btn\"></FormKit>\n </div>\n <div class=\"right-form-nav w-80\">\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 handleCancelAndExit() {\n if (!this.getIsEditMode) {\n // Draft Mode → Go back to Drafts list\n this.$router.push({\n name: 'DataProviderInterface-Draft',\n query: { locale: this.$route.query.locale }\n }).catch(() => { });\n } else {\n const datasetId = this.$route.query.id;\n console.log(\"Dataset ID:\", datasetId); // Debug log\n if (!datasetId) {\n console.error(\"No dataset ID found!\");\n return;\n }\n this.$router\n // .push({ name: 'DatasetDetailsDataset', params: { ds_id: 'finaltest-neu1'}, query: { locale: 'de' } })\n .push({ name: 'DatasetDetailsDataset', params: { ds_id: datasetId }, query: { locale: this.$route.query.locale } })\n .then(() => { this.$router.go(0) })\n }\n // const datasetId = this.getData(this.property)['datasetID'];\n\n // this.$router.push({ name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } }).catch(() => { });\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","$","datasetId","mode","_a","specification","RDFdata","response","rtpToken","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","_createVNode","$options","$data","_openBlock","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_component_app_confirmation_dialog","_createTextVNode","_toDisplayString"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ref as u, onMounted as h, nextTick as E, resolveComponent as N, openBlock as m, createElementBlock as v, Fragment as g, createElementVNode as i, toDisplayString as o, createTextVNode as n, createVNode as C, withCtx as j, renderList as M, normalizeClass as O, withModifiers as x, createCommentVNode as B } from "vue";
1
+ import { ref as u, onMounted as S, nextTick as E, resolveComponent as N, openBlock as v, createElementBlock as b, Fragment as g, createElementVNode as e, toDisplayString as o, createTextVNode as n, createVNode as C, withCtx as j, renderList as x, normalizeClass as M, withModifiers as O, createCommentVNode as B } from "vue";
2
2
  import { useStore as K } from "vuex";
3
3
  import P from "../components/DistributionStepper.vue.mjs";
4
4
  import { cloneDeep as k } from "lodash-es";
@@ -8,82 +8,82 @@ import T from "../../_virtual/_plugin-vue_export-helper.mjs";
8
8
  const z = {
9
9
  name: "distribution-stepper-list",
10
10
  class: "distributionsListClass"
11
- }, W = { class: "d-flex m-4 align-items-center justify-content-between" }, q = { class: "m-0" }, G = ["onClick"], H = ["onClick"], J = { class: "confirmation-dialog" }, Q = { class: "confirmation-body" }, R = {
11
+ }, W = { class: "d-flex m-4 align-items-center justify-content-between" }, q = { class: "m-0" }, G = ["onClick"], H = { class: "confirmation-dialog" }, J = { class: "confirmation-body" }, Q = {
12
12
  __name: "DistributionInputPage",
13
13
  props: {
14
14
  values: Object,
15
15
  schema: Object
16
16
  },
17
17
  setup(w) {
18
- const l = w, c = u([]), f = K(), r = u(!1), d = u(null), D = u(""), e = u({
18
+ const l = w, c = u([]), f = K(), r = u(!1), d = u(null), y = u(""), i = u({
19
19
  disList: []
20
20
  });
21
- h(async () => {
21
+ S(async () => {
22
22
  if (await E(), l.values.Distributions.distributionList.length != 0)
23
23
  for (let s = 0; s < l.values.Distributions.distributionList.length; s++)
24
- c.value.push("distribution " + s), e.value.disList.push({ name: "distribution " + s, isActive: !1 });
24
+ c.value.push("distribution " + s), i.value.disList.push({ name: "distribution " + s, isActive: !1 });
25
25
  });
26
26
  const A = () => {
27
- e.value.disList.push({ name: "distribution " + e.value.disList.length, isActive: !1 }), y(e.value.disList.length - 1);
28
- }, y = (s) => {
29
- e.value.disList.forEach(
27
+ i.value.disList.push({ name: "distribution " + i.value.disList.length, isActive: !1 }), D(i.value.disList.length - 1);
28
+ }, D = (s) => {
29
+ i.value.disList.forEach(
30
30
  (t, p) => {
31
31
  s != p && (t.isActive = !1);
32
32
  }
33
- ), e.value.disList[s].isActive = !e.value.disList[s].isActive;
33
+ ), i.value.disList[s].isActive = !i.value.disList[s].isActive;
34
34
  }, V = (s) => {
35
35
  const t = k(l.values);
36
- t.Distributions.distributionList.splice(s, 1), f.dispatch("dpiStore/saveFormValues", { property: "datasets", values: t }), e.value.disList.splice(s, 1);
36
+ t.Distributions.distributionList.splice(s, 1), f.dispatch("dpiStore/saveFormValues", { property: "datasets", values: t }), i.value.disList.splice(s, 1);
37
37
  }, L = (s = null) => {
38
- d.value = s, D.value = s === null ? "Are you sure you want to delete all distributions?" : `Are you sure you want to delete Distribution ${s + 1}?`, r.value = !0;
39
- }, b = () => {
38
+ d.value = s, y.value = s == null ? "Are you sure you want to delete this distribution? - It will only be effective when you publish the dataset." : "Are you sure you want to delete all distributions?", r.value = !0;
39
+ }, m = () => {
40
40
  r.value = !1, d.value = null;
41
- }, $ = () => {
42
- d.value === null ? I() : V(d.value), b();
43
41
  }, I = () => {
42
+ d.value === null ? $() : V(d.value), m();
43
+ }, $ = () => {
44
44
  const s = k(l.values);
45
- s.Distributions.distributionList = [], f.dispatch("dpiStore/saveFormValues", { property: "datasets", values: s }), e.value.disList = [], r.value = !1;
45
+ s.Distributions.distributionList = [], f.dispatch("dpiStore/saveFormValues", { property: "datasets", values: s }), i.value.disList = [], r.value = !1;
46
46
  };
47
47
  return (s, t) => {
48
48
  const p = N("FormKit");
49
- return m(), v(g, null, [
50
- i("h1", null, o(s.$t("message.dataupload.info.distributions")), 1),
51
- t[10] || (t[10] = n()),
52
- t[11] || (t[11] = i("hr", null, null, -1)),
53
- t[12] || (t[12] = n()),
54
- i("div", z, [
49
+ return v(), b(g, null, [
50
+ e("h1", null, o(s.$t("message.dataupload.info.distributions")), 1),
51
+ t[11] || (t[11] = n()),
52
+ t[12] || (t[12] = e("hr", null, null, -1)),
53
+ t[13] || (t[13] = n()),
54
+ e("div", z, [
55
55
  C(p, {
56
56
  type: "list",
57
57
  name: "distributionList"
58
58
  }, {
59
59
  default: j(() => [
60
- (m(!0), v(g, null, M(e.value.disList, (F, a) => (m(), v("section", {
60
+ (v(!0), b(g, null, x(i.value.disList, (h, a) => (v(), b("section", {
61
61
  key: a,
62
62
  class: "distributionOuter"
63
63
  }, [
64
- i("div", W, [
65
- i("h2", q, "Distribution " + o(a + 1), 1),
66
- t[1] || (t[1] = n()),
67
- i("div", null, [
68
- i("button", {
64
+ e("div", W, [
65
+ e("h2", q, "Distribution " + o(a + 1), 1),
66
+ t[2] || (t[2] = n()),
67
+ e("div", null, [
68
+ e("button", {
69
69
  class: "btn btn-secondary",
70
70
  type: "button",
71
- onClick: (S) => y(a)
71
+ onClick: (F) => D(a)
72
72
  }, o(s.$t("message.datasetDetails.edit")), 9, G),
73
- t[0] || (t[0] = n()),
74
- i("button", {
73
+ t[1] || (t[1] = n()),
74
+ e("button", {
75
75
  class: "btn btn-secondary",
76
76
  type: "button",
77
- onClick: (S) => L(a)
78
- }, o(s.$t("message.datasetDetails.delete")), 9, H)
77
+ onClick: t[0] || (t[0] = (F) => L(null))
78
+ }, o(s.$t("message.datasetDetails.delete")), 1)
79
79
  ])
80
80
  ]),
81
- t[2] || (t[2] = n()),
82
- i("div", {
83
- class: O(["disInputWrapper", { "d-none": !e.value.disList[a].isActive }])
81
+ t[3] || (t[3] = n()),
82
+ e("div", {
83
+ class: M(["disInputWrapper", { "d-none": !i.value.disList[a].isActive }])
84
84
  }, [
85
85
  C(P, {
86
- name: F.name,
86
+ name: h.name,
87
87
  index: a,
88
88
  schema: l.schema,
89
89
  values: l.values,
@@ -94,43 +94,43 @@ const z = {
94
94
  ]),
95
95
  _: 1
96
96
  }),
97
- t[7] || (t[7] = n()),
98
- i("button", {
97
+ t[8] || (t[8] = n()),
98
+ e("button", {
99
99
  type: "button",
100
100
  class: "btn btn-secondary",
101
101
  onClick: A
102
102
  }, o(s.$t("message.dataupload.info.newDistribution")), 1),
103
- t[8] || (t[8] = n()),
104
- i("button", {
103
+ t[9] || (t[9] = n()),
104
+ e("button", {
105
105
  type: "button",
106
106
  class: "btn btn-secondary",
107
107
  onClick: L
108
108
  }, o(s.$t("message.dataupload.info.deleteDistribution")), 1),
109
- t[9] || (t[9] = n()),
110
- r.value ? (m(), v("div", {
109
+ t[10] || (t[10] = n()),
110
+ r.value ? (v(), b("div", {
111
111
  key: 0,
112
112
  class: "confirmation-overlay",
113
- onClick: x(b, ["self"])
113
+ onClick: O(m, ["self"])
114
114
  }, [
115
- i("div", J, [
116
- t[4] || (t[4] = i("div", { class: "confirmation-header" }, [
117
- i("h3", null, "Attention")
115
+ e("div", H, [
116
+ t[5] || (t[5] = e("div", { class: "confirmation-header" }, [
117
+ e("h3", null, "Attention")
118
118
  ], -1)),
119
- t[5] || (t[5] = n()),
120
- i("div", Q, [
121
- i("p", null, o(D.value), 1)
122
- ]),
123
119
  t[6] || (t[6] = n()),
124
- i("div", { class: "confirmation-footer" }, [
125
- i("button", {
120
+ e("div", J, [
121
+ e("p", null, o(y.value), 1)
122
+ ]),
123
+ t[7] || (t[7] = n()),
124
+ e("div", { class: "confirmation-footer" }, [
125
+ e("button", {
126
126
  class: "btn btn-danger",
127
- onClick: $
127
+ onClick: I
128
128
  }, "Confirm Delete"),
129
- t[3] || (t[3] = n()),
130
- i("button", {
129
+ t[4] || (t[4] = n()),
130
+ e("button", {
131
131
  class: "btn btn-secondary",
132
- onClick: b
133
- }, "Cancle and Exit")
132
+ onClick: m
133
+ }, "Cancel and Exit")
134
134
  ])
135
135
  ])
136
136
  ])) : B("", !0)
@@ -138,8 +138,8 @@ const z = {
138
138
  ], 64);
139
139
  };
140
140
  }
141
- }, it = /* @__PURE__ */ T(R, [["__scopeId", "data-v-3ca925ae"]]);
141
+ }, st = /* @__PURE__ */ T(Q, [["__scopeId", "data-v-382cc4e2"]]);
142
142
  export {
143
- it as default
143
+ st as default
144
144
  };
145
145
  //# sourceMappingURL=DistributionInputPage.vue.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DistributionInputPage.vue.mjs","sources":["../../../lib/data-provider-interface/views/DistributionInputPage.vue"],"sourcesContent":["<template>\n <h1>{{ $t('message.dataupload.info.distributions') }}</h1>\n <hr>\n <div name=\"distribution-stepper-list\" class=\"distributionsListClass\">\n\n <FormKit type=\"list\" name=\"distributionList\">\n\n <section v-for=\"(dist, index) in list.disList\" :key=\"index\" class=\"distributionOuter\">\n <div class=\"d-flex m-4 align-items-center justify-content-between\">\n <h2 class=\"m-0\">Distribution {{ index + 1 }}</h2>\n <div>\n <button class=\"btn btn-secondary\" type=\"button\" @click=\"editDis(index)\">{{ $t('message.datasetDetails.edit')\n }}</button>\n <!-- <button class=\"btn btn-secondary\" type=\"button\" @click=\"removeDis(index)\">{{\n $t('message.datasetDetails.delete') }}</button> -->\n <button class=\"btn btn-secondary\" type=\"button\" @click=\"openDeleteConfirmation(index)\">\n {{ $t('message.datasetDetails.delete') }}\n </button>\n </div>\n </div>\n <div class=\"disInputWrapper\" :class=\"{ 'd-none': !list.disList[index].isActive }\">\n <DistributionStepper :name=\"dist.name\" :index=\"index\" :schema=\"props.schema\" :values=\"props.values\"\n :distributionList=\"disIndex\">\n </DistributionStepper>\n\n </div>\n\n </section>\n </FormKit>\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"addDistribution\">{{\n $t('message.dataupload.info.newDistribution')\n }}</button>\n <!-- <button type=\"button\" class=\"btn btn-secondary\" @click=\"deleteAllDistributions\">{{\n $t('message.dataupload.info.deleteDistribution') }}</button> -->\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"openDeleteConfirmation\">{{\n $t('message.dataupload.info.deleteDistribution') }}</button>\n\n <div v-if=\"showConfirmDialog\" class=\"confirmation-overlay\" @click.self=\"closeConfirmDialog\">\n <div class=\"confirmation-dialog\">\n <div class=\"confirmation-header\">\n <h3>Attention</h3>\n </div>\n <div class=\"confirmation-body\">\n <p>{{ confirmMessage }}</p>\n </div>\n <div class=\"confirmation-footer\">\n <button class=\"btn btn-danger\" @click=\"executeDelete\">Confirm Delete</button>\n <button class=\"btn btn-secondary\" @click=\"closeConfirmDialog\">Cancle and Exit</button>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script setup>\nimport { ref, onMounted, nextTick, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport DistributionStepper from '../components/DistributionStepper.vue';\nimport { cloneDeep } from 'lodash';\nimport { useDpiStepper } from '../composables/useDpiStepper';\n\nconst props = defineProps({\n values: Object,\n schema: Object,\n})\n\nconst disIndex = ref([])\nconst store = useStore();\nconst showConfirmDialog = ref(false);\nconst deleteIndex = ref(null);\nconst confirmMessage = ref('');\n\nconst list = ref({\n disList: [],\n})\nonMounted(async () => {\n // Load DOM\n await nextTick()\n if (props.values.Distributions.distributionList.length != 0) {\n for (let index = 0; index < props.values.Distributions.distributionList.length; index++) {\n disIndex.value.push('distribution ' + index)\n list.value.disList.push({ 'name': 'distribution ' + index, 'isActive': false })\n }\n }\n})\nconst addDistribution = () => {\n list.value.disList.push({ 'name': 'distribution ' + list.value.disList.length, 'isActive': false })\n editDis(list.value.disList.length - 1)\n}\nconst editDis = (i) => {\n list.value.disList.forEach((el, index) => {\n if (i != index) {\n el.isActive = false\n }\n }\n )\n list.value.disList[i].isActive = !list.value.disList[i].isActive\n}\nconst removeDis = (i) => {\n const newValues = cloneDeep(props.values);\n newValues.Distributions.distributionList.splice(i, 1);\n\n store.dispatch('dpiStore/saveFormValues', { property: 'datasets', values: newValues });\n list.value.disList.splice(i, 1)\n}\n\nconst openDeleteConfirmation = (index = null) => {\n deleteIndex.value = index;\n confirmMessage.value = index === null\n ? 'Are you sure you want to delete all distributions?'\n : `Are you sure you want to delete Distribution ${index + 1}?`;\n showConfirmDialog.value = true;\n};\n\nconst closeConfirmDialog = () => {\n showConfirmDialog.value = false;\n deleteIndex.value = null;\n};\n\nconst executeDelete = () => {\n if (deleteIndex.value === null) {\n // Delete all distributions\n deleteAllDistributions();\n } else {\n // Delete single distribution\n removeDis(deleteIndex.value);\n }\n closeConfirmDialog();\n};\n\nconst deleteAllDistributions = () => {\n const newValues = cloneDeep(props.values);\n newValues.Distributions.distributionList = [];\n store.dispatch('dpiStore/saveFormValues', { property: 'datasets', values: newValues });\n\n list.value.disList = []\n showConfirmDialog.value = false;\n}\n\n</script>\n\n<style scoped>\n.confirmation-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1050;\n}\n\n.confirmation-dialog {\n background: white;\n border-radius: 5px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n width: 400px;\n max-width: 90%;\n}\n\n.confirmation-header {\n padding: 15px 20px;\n border-bottom: 1px solid #eee;\n}\n\n.confirmation-header h3 {\n margin: 0;\n font-size: 1.25rem;\n}\n\n.confirmation-body {\n padding: 20px;\n}\n\n.confirmation-footer {\n padding: 15px 20px;\n border-top: 1px solid #eee;\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n}\n\n.btn-danger {\n background-color: #dc3545;\n color: white;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n background-color: #c82333;\n border-color: #bd2130;\n}\n</style>"],"names":["props","__props","disIndex","ref","store","useStore","showConfirmDialog","deleteIndex","confirmMessage","list","onMounted","nextTick","index","addDistribution","editDis","i","el","removeDis","newValues","cloneDeep","openDeleteConfirmation","closeConfirmDialog","executeDelete","deleteAllDistributions","_createElementVNode","$t","_hoisted_1","_createVNode","_component_FormKit","_openBlock","_createElementBlock","_Fragment","dist","_hoisted_2","_hoisted_3","$event","_hoisted_4","_hoisted_5","_normalizeClass","DistributionStepper","_hoisted_6","_hoisted_7"],"mappings":"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"}
1
+ {"version":3,"file":"DistributionInputPage.vue.mjs","sources":["../../../lib/data-provider-interface/views/DistributionInputPage.vue"],"sourcesContent":["<template>\n <h1>{{ $t('message.dataupload.info.distributions') }}</h1>\n <hr>\n <div name=\"distribution-stepper-list\" class=\"distributionsListClass\">\n\n <FormKit type=\"list\" name=\"distributionList\">\n\n <section v-for=\"(dist, index) in list.disList\" :key=\"index\" class=\"distributionOuter\">\n <div class=\"d-flex m-4 align-items-center justify-content-between\">\n <h2 class=\"m-0\">Distribution {{ index + 1 }}</h2>\n <div>\n <button class=\"btn btn-secondary\" type=\"button\" @click=\"editDis(index)\">{{ $t('message.datasetDetails.edit')\n }}</button>\n <!-- <button class=\"btn btn-secondary\" type=\"button\" @click=\"removeDis(index)\">{{\n $t('message.datasetDetails.delete') }}</button> -->\n <button class=\"btn btn-secondary\" type=\"button\" @click=\"openDeleteConfirmation(null)\">\n {{ $t('message.datasetDetails.delete') }}\n </button>\n </div>\n </div>\n <div class=\"disInputWrapper\" :class=\"{ 'd-none': !list.disList[index].isActive }\">\n <DistributionStepper :name=\"dist.name\" :index=\"index\" :schema=\"props.schema\" :values=\"props.values\"\n :distributionList=\"disIndex\">\n </DistributionStepper>\n\n </div>\n\n </section>\n </FormKit>\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"addDistribution\">{{\n $t('message.dataupload.info.newDistribution')\n }}</button>\n <!-- <button type=\"button\" class=\"btn btn-secondary\" @click=\"deleteAllDistributions\">{{\n $t('message.dataupload.info.deleteDistribution') }}</button> -->\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"openDeleteConfirmation\">{{\n $t('message.dataupload.info.deleteDistribution') }}</button>\n\n <div v-if=\"showConfirmDialog\" class=\"confirmation-overlay\" @click.self=\"closeConfirmDialog\">\n <div class=\"confirmation-dialog\">\n <div class=\"confirmation-header\">\n <h3>Attention</h3>\n </div>\n <div class=\"confirmation-body\">\n <p>{{ confirmMessage }}</p>\n </div>\n <div class=\"confirmation-footer\">\n <button class=\"btn btn-danger\" @click=\"executeDelete\">Confirm Delete</button>\n <button class=\"btn btn-secondary\" @click=\"closeConfirmDialog\">Cancel and Exit</button>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script setup>\nimport { ref, onMounted, nextTick, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport DistributionStepper from '../components/DistributionStepper.vue';\nimport { cloneDeep } from 'lodash';\nimport { useDpiStepper } from '../composables/useDpiStepper';\n\nconst props = defineProps({\n values: Object,\n schema: Object,\n})\n\nconst disIndex = ref([])\nconst store = useStore();\nconst showConfirmDialog = ref(false);\nconst deleteIndex = ref(null);\nconst confirmMessage = ref('');\n\nconst list = ref({\n disList: [],\n})\nonMounted(async () => {\n // Load DOM\n await nextTick()\n if (props.values.Distributions.distributionList.length != 0) {\n for (let index = 0; index < props.values.Distributions.distributionList.length; index++) {\n disIndex.value.push('distribution ' + index)\n list.value.disList.push({ 'name': 'distribution ' + index, 'isActive': false })\n }\n }\n})\nconst addDistribution = () => {\n list.value.disList.push({ 'name': 'distribution ' + list.value.disList.length, 'isActive': false })\n editDis(list.value.disList.length - 1)\n}\nconst editDis = (i) => {\n list.value.disList.forEach((el, index) => {\n if (i != index) {\n el.isActive = false\n }\n }\n )\n list.value.disList[i].isActive = !list.value.disList[i].isActive\n}\nconst removeDis = (i) => {\n const newValues = cloneDeep(props.values);\n newValues.Distributions.distributionList.splice(i, 1);\n\n store.dispatch('dpiStore/saveFormValues', { property: 'datasets', values: newValues });\n list.value.disList.splice(i, 1)\n}\n\nconst openDeleteConfirmation = (index = null) => {\n deleteIndex.value = index;\n confirmMessage.value = (index === null || index === undefined)\n ? 'Are you sure you want to delete this distribution? - It will only be effective when you publish the dataset.'\n : 'Are you sure you want to delete all distributions?';\n showConfirmDialog.value = true;\n};\n\nconst closeConfirmDialog = () => {\n showConfirmDialog.value = false;\n deleteIndex.value = null;\n};\n\nconst executeDelete = () => {\n if (deleteIndex.value === null) {\n // Delete all distributions\n deleteAllDistributions();\n } else {\n // Delete single distribution\n removeDis(deleteIndex.value);\n }\n closeConfirmDialog();\n};\n\nconst deleteAllDistributions = () => {\n const newValues = cloneDeep(props.values);\n newValues.Distributions.distributionList = [];\n store.dispatch('dpiStore/saveFormValues', { property: 'datasets', values: newValues });\n\n list.value.disList = []\n showConfirmDialog.value = false;\n}\n\n</script>\n\n<style scoped>\n.confirmation-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1050;\n}\n\n.confirmation-dialog {\n background: white;\n border-radius: 5px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n width: 400px;\n max-width: 90%;\n}\n\n.confirmation-header {\n padding: 15px 20px;\n border-bottom: 1px solid #eee;\n}\n\n.confirmation-header h3 {\n margin: 0;\n font-size: 1.25rem;\n}\n\n.confirmation-body {\n padding: 20px;\n}\n\n.confirmation-footer {\n padding: 15px 20px;\n border-top: 1px solid #eee;\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n}\n\n.btn-danger {\n background-color: #dc3545;\n color: white;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n background-color: #c82333;\n border-color: #bd2130;\n}\n</style>"],"names":["props","__props","disIndex","ref","store","useStore","showConfirmDialog","deleteIndex","confirmMessage","list","onMounted","nextTick","index","addDistribution","editDis","i","el","removeDis","newValues","cloneDeep","openDeleteConfirmation","closeConfirmDialog","executeDelete","deleteAllDistributions","_createElementVNode","$t","_hoisted_1","_createVNode","_component_FormKit","_openBlock","_createElementBlock","_Fragment","dist","_hoisted_2","_hoisted_3","$event","_hoisted_4","_normalizeClass","DistributionStepper","_hoisted_5","_hoisted_6"],"mappings":"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"}
@@ -1664,6 +1664,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1664
1664
  closeModal(): void;
1665
1665
  handleIDError(): void;
1666
1666
  handleClear(): void;
1667
+ handleCancelAndExit(): void;
1667
1668
  clearStorage(): void;
1668
1669
  submit(mode: any): Promise<void>;
1669
1670
  createDataset(datasetId: any): void;
@@ -1,63 +1,67 @@
1
- import { getCurrentInstance as q, ref as k, computed as c, onMounted as M, openBlock as r, createElementBlock as i, createElementVNode as e, toDisplayString as s, createTextVNode as a, Fragment as I, renderList as A, unref as L, createVNode as N, withCtx as V, createCommentVNode as x } from "vue";
1
+ import { getCurrentInstance as q, ref as $, computed as c, onMounted as k, openBlock as r, createElementBlock as i, createElementVNode as o, toDisplayString as s, createTextVNode as a, Fragment as A, renderList as I, unref as N, createVNode as L, withCtx as V, createCommentVNode as x } from "vue";
2
2
  import { useStore as D } from "vuex";
3
- import U from "../../widgets/AppLink.vue.mjs";
4
- import P from "axios";
5
- import { useRouter as S, useRoute as B } from "vue-router";
3
+ import Q from "../../widgets/AppLink.vue.mjs";
4
+ import S from "axios";
5
+ import { useRouter as U, useRoute as P } from "vue-router";
6
6
  import { has as f, isNil as g } from "lodash-es";
7
7
  import "./UserCataloguesPage.vue2.mjs";
8
- import Q from "../../_virtual/_plugin-vue_export-helper.mjs";
9
- const j = { class: "catOverview" }, E = { class: "d-flex flex-column bg-transparent container-fluid justify-content-between content" }, R = { class: "small-headline" }, _ = { class: "m-0" }, O = ["onClick"], z = ["onClick"], F = {
8
+ import B from "../../_virtual/_plugin-vue_export-helper.mjs";
9
+ const j = { class: "catOverview" }, z = { class: "d-flex flex-column bg-transparent container-fluid justify-content-between content" }, E = { class: "small-headline" }, R = { class: "m-0" }, _ = ["onClick"], O = ["onClick"], F = {
10
10
  __name: "UserCataloguesPage",
11
11
  setup(H) {
12
12
  let p = q().appContext.app.config.globalProperties.$env;
13
- const v = S(), m = B(), h = D();
14
- let l = k([]), b = c(() => h.getters["auth/getUserCatalogIds"]);
13
+ const v = U(), m = P(), h = D();
14
+ let l = $([]), b = c(() => h.getters["auth/getUserCatalogIds"]);
15
15
  const C = c(() => {
16
- const o = p.content.dataProviderInterface.buttons.showMqaNotificationSettings;
17
- return typeof o == "string" ? o.toLowerCase() === "true" : o === !0;
16
+ const e = p.content.dataProviderInterface.buttons.showMqaNotificationSettings;
17
+ if (console.log("[MQA] env.content...showMqaNotificationSettings (raw):", e, "type:", typeof e), typeof e == "string") {
18
+ const t = e.trim().toLowerCase();
19
+ return console.log("[MQA] normalized string value:", t), t === "true";
20
+ }
21
+ return e === !0;
18
22
  });
19
23
  let w = async () => {
20
- let o;
21
- await P.get(p.api.baseUrl + "search?filter=catalogue&limit=1000").then((t) => o = t).catch((t) => {
24
+ let e;
25
+ await S.get(p.api.baseUrl + "search?filter=catalogue&limit=1000").then((t) => e = t).catch((t) => {
22
26
  reject(t);
23
- }), o.data.result.results.forEach((t) => {
27
+ }), e.data.result.results.forEach((t) => {
24
28
  f(t, "title") && !g(t.title) && f(t, "id") && !g(t.id) && l.value.push({ title: Object.values(t.title)[0], id: t.id });
25
29
  }), l.value = l.value.filter((t) => b.value.includes(t.id)).map((t) => ({ id: t.id, name: t.title }));
26
30
  };
27
- const y = (o) => {
28
- const t = o.id, n = "https://data.europa.eu", u = m.query.locale || "en", d = `${n}/mqa/catalogues/${t}?locale=${u}`;
31
+ const y = (e) => {
32
+ const t = e.id, n = "https://data.europa.eu", u = m.query.locale || "en", d = `${n}/mqa/catalogues/${t}?locale=${u}`;
29
33
  window.open(d, "_blank");
30
- }, $ = (o) => {
34
+ }, M = (e) => {
31
35
  v.push({
32
36
  name: "DataProviderInterface-MQASettings",
33
- params: { id: o.id },
37
+ params: { id: e.id },
34
38
  query: { locale: m.query.locale }
35
39
  }).catch(() => {
36
40
  });
37
41
  };
38
- return M(async () => {
42
+ return k(async () => {
39
43
  w();
40
- }), (o, t) => (r(), i("div", j, [
41
- e("div", E, [
42
- e("h1", R, s(o.$t("message.dataupload.info.userCatalogues")), 1),
44
+ }), (e, t) => (r(), i("div", j, [
45
+ o("div", z, [
46
+ o("h1", E, s(e.$t("message.dataupload.info.userCatalogues")), 1),
43
47
  t[7] || (t[7] = a()),
44
- e("p", _, s(o.$t("message.dataupload.info.userCatDescription")), 1),
48
+ o("p", R, s(e.$t("message.dataupload.info.userCatDescription")), 1),
45
49
  t[8] || (t[8] = a()),
46
- e("table", null, [
47
- e("thead", null, [
48
- e("tr", null, [
49
- e("th", null, s(o.$t("message.metadata.catalog")) + " - ID", 1),
50
+ o("table", null, [
51
+ o("thead", null, [
52
+ o("tr", null, [
53
+ o("th", null, s(e.$t("message.metadata.catalog")) + " - ID", 1),
50
54
  t[0] || (t[0] = a()),
51
- e("th", null, s(o.$t("message.metadata.description")), 1),
55
+ o("th", null, s(e.$t("message.metadata.description")), 1),
52
56
  t[1] || (t[1] = a()),
53
- e("th", null, s(o.$t("message.dataupload.menu.actions")), 1)
57
+ o("th", null, s(e.$t("message.dataupload.menu.actions")), 1)
54
58
  ])
55
59
  ]),
56
60
  t[6] || (t[6] = a()),
57
- (r(!0), i(I, null, A(L(l), (n, u) => (r(), i("tr", { key: u }, [
58
- e("td", null, [
59
- N(U, {
60
- to: { name: "CatalogueDetails", query: { locale: o.$route.query.locale }, params: { ctlg_id: n.id } }
61
+ (r(!0), i(A, null, I(N(l), (n, u) => (r(), i("tr", { key: u }, [
62
+ o("td", null, [
63
+ L(Q, {
64
+ to: { name: "CatalogueDetails", query: { locale: e.$route.query.locale }, params: { ctlg_id: n.id } }
61
65
  }, {
62
66
  default: V(() => [
63
67
  a(s(n.id), 1)
@@ -66,28 +70,28 @@ const j = { class: "catOverview" }, E = { class: "d-flex flex-column bg-transpar
66
70
  }, 1032, ["to"])
67
71
  ]),
68
72
  t[4] || (t[4] = a()),
69
- e("td", null, [
70
- e("span", null, s(n.name), 1)
73
+ o("td", null, [
74
+ o("span", null, s(n.name), 1)
71
75
  ]),
72
76
  t[5] || (t[5] = a()),
73
- e("td", null, [
77
+ o("td", null, [
74
78
  C.value ? (r(), i("button", {
75
79
  key: 0,
76
80
  type: "button",
77
81
  class: "btn btn-action",
78
- onClick: (d) => $(n)
82
+ onClick: (d) => M(n)
79
83
  }, `
80
84
  Configure MQA notifications
81
- `, 8, O)) : x("", !0),
85
+ `, 8, _)) : x("", !0),
82
86
  t[3] || (t[3] = a()),
83
- e("button", {
87
+ o("button", {
84
88
  type: "button",
85
89
  class: "btn btn-action",
86
90
  onClick: (d) => y(n)
87
91
  }, t[2] || (t[2] = [
88
- e("span", { class: "mr-1" }, " MQA report ", -1),
92
+ o("span", { class: "mr-1" }, " MQA report ", -1),
89
93
  a(),
90
- e("svg", {
94
+ o("svg", {
91
95
  xmlns: "http://www.w3.org/2000/svg",
92
96
  width: "16",
93
97
  height: "16",
@@ -95,24 +99,24 @@ const j = { class: "catOverview" }, E = { class: "d-flex flex-column bg-transpar
95
99
  class: "bi bi-box-arrow-up-right mb-1",
96
100
  viewBox: "0 0 16 16"
97
101
  }, [
98
- e("path", {
102
+ o("path", {
99
103
  "fill-rule": "evenodd",
100
104
  d: "M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5"
101
105
  }),
102
106
  a(),
103
- e("path", {
107
+ o("path", {
104
108
  "fill-rule": "evenodd",
105
109
  d: "M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z"
106
110
  })
107
111
  ], -1)
108
- ]), 8, z)
112
+ ]), 8, O)
109
113
  ])
110
114
  ]))), 128))
111
115
  ])
112
116
  ])
113
117
  ]));
114
118
  }
115
- }, tt = /* @__PURE__ */ Q(F, [["__scopeId", "data-v-52056424"]]);
119
+ }, tt = /* @__PURE__ */ B(F, [["__scopeId", "data-v-7186feac"]]);
116
120
  export {
117
121
  tt as default
118
122
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UserCataloguesPage.vue.mjs","sources":["../../../lib/data-provider-interface/views/UserCataloguesPage.vue"],"sourcesContent":["<script setup>\nimport { useStore } from 'vuex';\nimport { ref, computed, onMounted, } from 'vue';\nimport AppLink from \"../../widgets/AppLink.vue\";\nimport axios from 'axios'\nimport { useRouter, useRoute } from 'vue-router';\nimport { getCurrentInstance } from \"vue\";\n\nimport {\n has,\n isNil,\n} from 'lodash-es';\n\nlet env = getCurrentInstance().appContext.app.config.globalProperties.$env;\n\nconst router = useRouter();\nconst route = useRoute();\n\n\nconst store = useStore();\nlet filteredCatalogs = ref([])\nlet userCatIDList = computed(() => store.getters['auth/getUserCatalogIds'])\n\nconst showMqaNotificationSettings = computed(() => {\n const v = env.content.dataProviderInterface.buttons.showMqaNotificationSettings;\n if (typeof v === 'string') return v.toLowerCase() === 'true';\n return v === true;\n});\n\n\nlet filterCatList = async () => {\n let cache;\n await axios\n .get(env.api.baseUrl + 'search?filter=catalogue&limit=1000')\n .then(response => (cache = response))\n .catch((err) => {\n reject(err);\n });\n\n cache.data.result.results.forEach((e) => {\n if (has(e, 'title') && !isNil(e.title) && has(e, 'id') && !isNil(e.id)) filteredCatalogs.value.push({ title: Object.values(e.title)[0], id: e.id })\n });\n\n filteredCatalogs.value = filteredCatalogs.value\n .filter(item => userCatIDList.value.includes(item.id))\n .map(item => ({ id: item.id, name: item.title }));\n\n\n}\n\nconst openMqaReport = (catalog) => {\n const catalogId = catalog.id;\n const mqaBaseUrl = 'https://data.europa.eu';\n const locale = route.query.locale || 'en';\n const mqaUrl = `${mqaBaseUrl}/mqa/catalogues/${catalogId}?locale=${locale}`;\n window.open(mqaUrl, '_blank');\n}\n\nconst handleMQA = (cat) => {\n\n router.push({\n name: 'DataProviderInterface-MQASettings',\n params: { id: cat.id },\n query: { locale: route.query.locale }\n }).catch(() => { });\n}\nconst handleEdit = () => {\n\n}\nonMounted(async () => {\n filterCatList()\n});\n</script>\n<template>\n <div class=\"catOverview\">\n <div class=\"d-flex flex-column bg-transparent container-fluid justify-content-between content \">\n <h1 class=\"small-headline\">{{ $t('message.dataupload.info.userCatalogues') }}</h1>\n <p class=\"m-0 \">{{ $t('message.dataupload.info.userCatDescription') }}</p>\n <!-- <div class=\"catWrap\">\n <div v-for=\"(catalog, index) in filteredCatalogs\" :key=\"index\" class=\"annifItems \">\n <app-link\n :to=\"{ name: 'CatalogueDetails', query: { locale: $route.query.locale }, params: { ctlg_id: catalog.id } }\">{{\n catalog.name }}</app-link>\n </div>\n <div v-if=\"filteredCatalogs.length === 0\" v-for=\"(catalog, index) in userCatIDList\" :key=\"index\"\n class=\"annifItems \">\n <app-link\n :to=\"{ name: 'CatalogueDetails', query: { locale: $route.query.locale }, params: { ctlg_id: catalog } }\">{{\n catalog }}</app-link>\n </div>\n </div> -->\n\n\n\n\n\n\n\n <table>\n <thead>\n <tr>\n <th>{{ $t('message.metadata.catalog') }} - ID</th>\n <th>{{ $t('message.metadata.description') }}</th>\n <th>{{ $t('message.dataupload.menu.actions') }}</th>\n </tr>\n </thead>\n\n <tr v-for=\"(catalog, index) in filteredCatalogs\" :key=\"index\">\n <td>\n\n <app-link\n :to=\"{ name: 'CatalogueDetails', query: { locale: $route.query.locale }, params: { ctlg_id: catalog.id } }\">{{\n catalog.id }}</app-link>\n\n </td>\n <td>\n <span>{{ catalog.name }}</span>\n\n </td>\n <td>\n <!-- <button type=\"button\" class=\"btn btn-secondary\" @click=\"handleEdit(id, catalog)\">{{\n $t('message.metadata.linkedData') }}</button>\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"handleEdit(id, catalog)\">{{\n $t('message.dataupload.menu.edit') }}</button> -->\n\n <button\n v-if=\"showMqaNotificationSettings\"\n type=\"button\"\n class=\"btn btn-action\"\n @click=\"handleMQA(catalog)\"\n >\n Configure MQA notifications\n </button>\n <button type=\"button\" class=\"btn btn-action\" @click=\"openMqaReport(catalog)\" >\n <span class=\"mr-1\"> MQA report </span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-box-arrow-up-right mb-1\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5\"/>\n <path fill-rule=\"evenodd\" d=\"M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z\"/>\n </svg>\n </button>\n\n </td>\n </tr>\n\n\n\n </table>\n\n</div>\n </div>\n\n</template>\n<style scoped>\n\ntable {\nmargin-top: 50px !important;\nmargin-left: 0px !important;\n}\n.catOverview {\n min-height: 60vh;\n}\n\n.btn-action {\n border: solid 1px #3f3f3f;\n}\n\n.btn-action:hover {\n border: solid 1px #3f3f3f;\n background-color: #3f3f3f;\n color: #fff;\n}\n\n.catWrap {\n display: flex;\n flex-wrap: wrap;\n margin-top: 10px;\n padding-top: 10px;\n border-top: 1px solid lightgray;\n justify-content: space-between;\n}\n\n.catWrap .annifItems {\n background: #ECECEC;\n flex-grow: 1;\n text-align: center;\n}\n\n.subline {\n font-size: 12px;\n color: lightgray;\n\n}\n\n\nth,\ntd {\n padding: 1rem;\n\n}\n\ntr {\n padding: 1rem;\n border-bottom: 1px solid lightgray;\n}\n\nthead {\n border-bottom: 1px solid lightgray;\n}\n</style>\n"],"names":["env","getCurrentInstance","router","useRouter","route","useRoute","store","useStore","filteredCatalogs","ref","userCatIDList","computed","showMqaNotificationSettings","v","filterCatList","cache","axios","response","err","e","has","isNil","item","openMqaReport","catalog","catalogId","mqaBaseUrl","locale","mqaUrl","handleMQA","cat","onMounted","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_toDisplayString","$t","_hoisted_4","_Fragment","_renderList","_unref","index","_createVNode","AppLink","$route","_createTextVNode","$event","_hoisted_5"],"mappings":"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"}
1
+ {"version":3,"file":"UserCataloguesPage.vue.mjs","sources":["../../../lib/data-provider-interface/views/UserCataloguesPage.vue"],"sourcesContent":["<script setup>\nimport { useStore } from 'vuex';\nimport { ref, computed, onMounted, } from 'vue';\nimport AppLink from \"../../widgets/AppLink.vue\";\nimport axios from 'axios'\nimport { useRouter, useRoute } from 'vue-router';\nimport { getCurrentInstance } from \"vue\";\n\nimport {\n has,\n isNil,\n} from 'lodash-es';\n\nlet env = getCurrentInstance().appContext.app.config.globalProperties.$env;\n\nconst router = useRouter();\nconst route = useRoute();\n\n\nconst store = useStore();\nlet filteredCatalogs = ref([])\nlet userCatIDList = computed(() => store.getters['auth/getUserCatalogIds'])\n\nconst showMqaNotificationSettings = computed(() => {\n const raw = env.content.dataProviderInterface.buttons.showMqaNotificationSettings;\n console.log('[MQA] env.content...showMqaNotificationSettings (raw):', raw, 'type:', typeof raw);\n if (typeof raw === 'string') {\n const normalized = raw.trim().toLowerCase();\n console.log('[MQA] normalized string value:', normalized);\n return normalized === 'true';\n }\n return raw === true;\n});\n\n\nlet filterCatList = async () => {\n let cache;\n await axios\n .get(env.api.baseUrl + 'search?filter=catalogue&limit=1000')\n .then(response => (cache = response))\n .catch((err) => {\n reject(err);\n });\n\n cache.data.result.results.forEach((e) => {\n if (has(e, 'title') && !isNil(e.title) && has(e, 'id') && !isNil(e.id)) filteredCatalogs.value.push({ title: Object.values(e.title)[0], id: e.id })\n });\n\n filteredCatalogs.value = filteredCatalogs.value\n .filter(item => userCatIDList.value.includes(item.id))\n .map(item => ({ id: item.id, name: item.title }));\n\n\n}\n\nconst openMqaReport = (catalog) => {\n const catalogId = catalog.id;\n const mqaBaseUrl = 'https://data.europa.eu';\n const locale = route.query.locale || 'en';\n const mqaUrl = `${mqaBaseUrl}/mqa/catalogues/${catalogId}?locale=${locale}`;\n window.open(mqaUrl, '_blank');\n}\n\nconst handleMQA = (cat) => {\n\n router.push({\n name: 'DataProviderInterface-MQASettings',\n params: { id: cat.id },\n query: { locale: route.query.locale }\n }).catch(() => { });\n}\nconst handleEdit = () => {\n\n}\nonMounted(async () => {\n filterCatList()\n});\n</script>\n<template>\n <div class=\"catOverview\">\n <div class=\"d-flex flex-column bg-transparent container-fluid justify-content-between content \">\n <h1 class=\"small-headline\">{{ $t('message.dataupload.info.userCatalogues') }}</h1>\n <p class=\"m-0 \">{{ $t('message.dataupload.info.userCatDescription') }}</p>\n <!-- <div class=\"catWrap\">\n <div v-for=\"(catalog, index) in filteredCatalogs\" :key=\"index\" class=\"annifItems \">\n <app-link\n :to=\"{ name: 'CatalogueDetails', query: { locale: $route.query.locale }, params: { ctlg_id: catalog.id } }\">{{\n catalog.name }}</app-link>\n </div>\n <div v-if=\"filteredCatalogs.length === 0\" v-for=\"(catalog, index) in userCatIDList\" :key=\"index\"\n class=\"annifItems \">\n <app-link\n :to=\"{ name: 'CatalogueDetails', query: { locale: $route.query.locale }, params: { ctlg_id: catalog } }\">{{\n catalog }}</app-link>\n </div>\n </div> -->\n\n\n\n\n\n\n\n <table>\n <thead>\n <tr>\n <th>{{ $t('message.metadata.catalog') }} - ID</th>\n <th>{{ $t('message.metadata.description') }}</th>\n <th>{{ $t('message.dataupload.menu.actions') }}</th>\n </tr>\n </thead>\n\n <tr v-for=\"(catalog, index) in filteredCatalogs\" :key=\"index\">\n <td>\n\n <app-link\n :to=\"{ name: 'CatalogueDetails', query: { locale: $route.query.locale }, params: { ctlg_id: catalog.id } }\">{{\n catalog.id }}</app-link>\n\n </td>\n <td>\n <span>{{ catalog.name }}</span>\n\n </td>\n <td>\n <!-- <button type=\"button\" class=\"btn btn-secondary\" @click=\"handleEdit(id, catalog)\">{{\n $t('message.metadata.linkedData') }}</button>\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"handleEdit(id, catalog)\">{{\n $t('message.dataupload.menu.edit') }}</button> -->\n\n <button\n v-if=\"showMqaNotificationSettings\"\n type=\"button\"\n class=\"btn btn-action\"\n @click=\"handleMQA(catalog)\"\n >\n Configure MQA notifications\n </button>\n <button type=\"button\" class=\"btn btn-action\" @click=\"openMqaReport(catalog)\" >\n <span class=\"mr-1\"> MQA report </span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-box-arrow-up-right mb-1\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5\"/>\n <path fill-rule=\"evenodd\" d=\"M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0z\"/>\n </svg>\n </button>\n\n </td>\n </tr>\n\n\n\n </table>\n\n</div>\n </div>\n\n</template>\n<style scoped>\n\ntable {\nmargin-top: 50px !important;\nmargin-left: 0px !important;\n}\n.catOverview {\n min-height: 60vh;\n}\n\n.btn-action {\n border: solid 1px #3f3f3f;\n}\n\n.btn-action:hover {\n border: solid 1px #3f3f3f;\n background-color: #3f3f3f;\n color: #fff;\n}\n\n.catWrap {\n display: flex;\n flex-wrap: wrap;\n margin-top: 10px;\n padding-top: 10px;\n border-top: 1px solid lightgray;\n justify-content: space-between;\n}\n\n.catWrap .annifItems {\n background: #ECECEC;\n flex-grow: 1;\n text-align: center;\n}\n\n.subline {\n font-size: 12px;\n color: lightgray;\n\n}\n\n\nth,\ntd {\n padding: 1rem;\n\n}\n\ntr {\n padding: 1rem;\n border-bottom: 1px solid lightgray;\n}\n\nthead {\n border-bottom: 1px solid lightgray;\n}\n</style>\n"],"names":["env","getCurrentInstance","router","useRouter","route","useRoute","store","useStore","filteredCatalogs","ref","userCatIDList","computed","showMqaNotificationSettings","raw","normalized","filterCatList","cache","axios","response","err","e","has","isNil","item","openMqaReport","catalog","catalogId","mqaBaseUrl","locale","mqaUrl","handleMQA","cat","onMounted","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_toDisplayString","$t","_hoisted_4","_Fragment","_renderList","_unref","index","_createVNode","AppLink","$route","_createTextVNode","$event","_hoisted_5"],"mappings":"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"}