@piveau/piveau-hub-ui-modules 4.6.85 → 4.6.86
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.
- package/dist/data-provider-interface/CatalogueMQA.vue.mjs +107 -109
- package/dist/data-provider-interface/CatalogueMQA.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs +10 -10
- package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs +6 -8
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
- package/dist/datasets/DatasetList.vue.mjs +10 -10
- package/dist/datasets/DatasetList.vue.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CatalogueMQA.vue.mjs","sources":["../../lib/data-provider-interface/CatalogueMQA.vue"],"sourcesContent":["<template>\n <div class=\"container mb-3\">\n <div>\n <div>\n <div class=\"debug\">\n <strong> API object:</strong> <br><br>\n\n <textarea> {{ token }} </textarea>\n <hr>\n <!-- Disabled for PPE release (no backend on PPE yet)-->\n {{ notficationInfo }}\n\n <br> --- <br>\n\n {{ mailList }}\n\n <br>---<br>\n <strong>Fequency:</strong> <br>\n weekly: {{ weekly }}<br>\n monthly: {{ monthly }} <br>\n <p></p>\n unit: {{ frequencyUnit }} <br>\n value: {{ frequencyValue }}\n\n <br>---<br>\n threshold: {{ threshold }}\n\n </div>\n <h1>{{ $t('message.dpi.catalogue.mqa.settings') }}</h1>\n <h1>MQA notification settings</h1>\n <p>{{ $t('message.dpi.catalogue.mqa.configurationfor') }}\n\n <strong>{{ catalogId }}</strong>\n <!-- <strong>Test Catalogue</strong> -->\n </p>\n <p>{{ $t('message.dpi.catalogue.mqa.ratingchecks') }} <b>\n <span v-if=\"!active\">{{ $t('message.dpi.catalogue.mqa.deactivated') }}</span>\n <span v-if=\"active\">{{ $t('message.dpi.catalogue.mqa.activated') }}</span></b>.</p>\n </div>\n\n <button type=\"button\" :class=\"{ 'btn btn-primary mb-5': !active, 'btn btn-secondary': active }\"\n @click=\"handleActivate()\">\n {{ activatedString }}\n </button>\n\n <button type=\"button\" :class=\"{ 'btn btn-action mb-5': !active, 'btn btn-action': active }\" @click=\"openMqaReport()\">\n <span class=\"mr-1\"> {{ $t('message.dpi.catalogue.mqa.mqareport') }}</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\"\n class=\"bi bi-box-arrow-up-right mb-1\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\"\n 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\"\n 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\n\n </div>\n\n <div v-if=\"active\">\n <div class=\"mqaWrapper\">\n <h3>{{ $t('message.dpi.catalogue.mqa.notificationthreshold') }}</h3>\n {{ $t('message.dpi.catalogue.mqa.notificationthreshold.description') }}\n <div class=\"w-50 mt-4\">\n <div class=\"d-flex justify-content-between\">\n <span><b>-1</b></span>\n <span><b>-405</b></span>\n </div>\n <input type=\"range\" v-model=\"threshold\" min=\"1\" max=\"405\" />\n <p>Notify on a decrease greater than <b>-{{ threshold }}</b> Points</p>\n <p>{{ $t('message.dpi.catalogue.mqa.notificationthreshold.notify') }}</p> <b>-{{ threshold }}</b>\n </div>\n </div>\n\n <div class=\"mqaWrapper\">\n <h3>{{ $t('message.dpi.catalogue.mqa.frequencyratingchecks') }}</h3>\n <span>{{ $t('message.dpi.catalogue.mqa.configurethefrequency') }}</span>\n <div class=\"d-flex mt-3\">\n <div class=\"mr-3 my-3\">\n <button type=\"button\" class=\"btn btn-simple\" @click=\"setWeekly()\"\n :class=\"{ 'activeChoiceButton': weekly }\">{{ $t('message.dpi.catalogue.mqa.configurethefrequency.weekly') }}</button>\n <div class=\"weekdays\" :class=\"{ 'blur': !weekly }\">\n <span v-for=\"(day, index) in week\" :key=\"index\">\n <button :disabled=\"!weekly\" class=\"dayButtons\"\n :class=\"{ 'activeItem': selectedDay === index }\" @click=\"selectDay(index)\">\n {{ day }}\n </button>\n </span>\n </div>\n </div>\n <div class=\"my-3\">\n <button type=\"button\" :class=\"{ 'activeChoiceButton': monthly }\" class=\"btn btn-simple\"\n @click=\"setMonthly()\">{{ $t('message.dpi.catalogue.mqa.configurethefrequency.monthly') }}</button>\n <div class=\"d-flex daypicker my-3\" :class=\"{ 'blur': !monthly }\">\n <input v-model=\"daysInMonth\" @input=\"selectDay(index)\" :class=\"{ dynamicWidth: inputWidth }\"\n :disabled=\"!monthly\">\n <div class=\"caretWrap\">\n <button @click=\"editDate('up')\" class=\"caretButtons ml-1\"><svg\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" fill=\"currentColor\"\n class=\"bi bi-caret-up-fill\" viewBox=\"0 0 16 16\">\n <path\n d=\"m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z\" />\n </svg></button>\n <button @click=\"editDate()\" class=\"caretButtons mr-1\"><svg\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" fill=\"currentColor\"\n class=\"bi bi-caret-down-fill\" viewBox=\"0 0 16 16\">\n <path\n d=\"M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\" />\n </svg></button>\n </div>\n <span>day of the month</span>\n <span>{{ $t('message.dpi.catalogue.mqa.configurethefrequency.dayofmonth') }}</span>\n\n </div>\n </div>\n </div>\n </div>\n <div class=\"mqaWrapper\">\n <h3>{{ $t('message.dpi.catalogue.mqa.recipientsmail') }}</h3>\n <span>{{ $t('message.dpi.catalogue.mqa.mailaddressesforrecieving') }}</span>\n <table class=\"mt-4\" ref=\"mailButtonWrap\" v-if=\"mailList.length !== 0\">\n <tr>\n <th>Mail</th>\n </tr>\n <tr v-for=\"(item, index) in mailList\" class=\"mailItems\" :key=\"index\">\n <td>\n <span v-if=\"!editMode\">{{ item }}</span>\n <input type=\"text\" v-model=\"mailList[index]\" class=\"mail-input\" v-if=\"editMode\"\n @input=\"editErrors[index] = ''\" :class=\"{ 'invalidNewMail': editErrors[index] }\">\n\n <div>\n <button type=\"button\" class=\"btn btn-simple\"\n @click=\"editMode ? saveMail(index) : editMail(index)\">\n {{ editMode ? 'Save' : 'Edit' }}\n </button>\n <button type=\"button\" class=\"btn btn-simple\" @click=\"deleteMail(index)\">Delete</button>\n </div>\n </td>\n <span class=\"errormsg\" v-if=\"editErrors[index]\">{{ editErrors[index] }}</span>\n </tr>\n </table>\n <div class=\"d-flex mt-3\">\n <input type=\"text\" v-model=\"newMail.mail\" @input=\"newMail.isValid = true\"\n :class=\"{ 'invalidNewMail': !newMail.isValid }\" placeholder=\"{{ $t('message.dpi.catalogue.mqa.enteremail') }}\" class=\"mail\">\n <button type=\"button\" class=\"btn btn-simple mx-3\" @click=\"addNewMail()\">{{ $t('message.dpi.catalogue.mqa.addmail') }}</button>\n </div>\n <span class=\"errormsg\" v-if=\"!newMail.isValid\">*Invalid email format</span>\n </div>\n\n <div class=\"actionWrapper\">\n <button type=\"button\" class=\"btn btn-primary\" @click=\"postNotificationSettings\">{{ $t('message.dpi.catalogue.mqa.save') }}</button>\n <button type=\"button\" class=\"btn btn-cancel\" @click=\"back()\">{{ $t('message.dpi.catalogue.mqa.cancel') }}</button>\n </div>\n </div>\n </div>\n\n</template>\n<script setup>\n\nimport { ref } from 'vue';\nimport { useRoute } from 'vue-router'\nimport { getCurrentInstance } from \"vue\";\nimport { useStore } from 'vuex';\nimport { useRouter } from 'vue-router';\nimport { mapActions } from 'vuex'\nimport { computed } from 'vue'\nimport { mapGetters } from 'vuex'\n\nimport axios from 'axios'\n\nconst store = useStore();\nconst router = useRouter();\nconst getUserDrafts = computed(() => store.getters['auth/getUserDrafts'])\nconst getUserData = computed(() => store.getters['auth/getUserData'])\nconst token = computed(() => getUserData.value.rtpToken)\n\n// Update the mapActions usage\nconst authActions = mapActions('auth', {\n updateUserData: 'updateUserData'\n})\n\n// Destructure the action\nconst { updateUserData } = authActions\n\nconst showSnackbar = (payload) => {\n store.dispatch('snackbar/showSnackbar', payload);\n};\n\nconst triggerSnackbar = () => {\n showSnackbar({\n message: 'Saved Successfully',\n variant: 'success',\n });\n};\n\n// Map the showSnackbar action from the snackbar module\n\nconst route = useRoute()\n\nlet monthly = ref(false)\nlet weekly = ref(false)\nlet mailButtonWrap = ref(null)\nlet activatedString = ref('Activate')\nlet inputWidth = ref(false)\nlet active = ref(false)\nlet mailList = ref()\nlet week = ['Mo', 'Tue', 'We', 'Th', 'Fr', 'Sa', 'Su']\nlet daysInMonth = ref(1)\nlet editMode = ref(false);\nlet threshold = ref(1);\nlet frequencyUnit = ref('');\nlet frequencyValue = ref('');\nlet selectedDay = ref(null);\nconst catalogId = route.params.id\nconst app = getCurrentInstance()\nconst notificationBaseUrl = app.appContext.app.config.globalProperties.$env.api.notificationBaseUrl\nconst apiKey = app.appContext.app.config.globalProperties.$env.api.apiKey\n\n\nconst openMqaReport = () => {\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 selectDay = (index) => {\n if (weekly.value) {\n selectedDay.value = index;\n frequencyValue.value = selectedDay; // Update frequencyValue when a day is selected\n }\n};\n\nconst setWeekly = () => {\n weekly.value = true;\n monthly.value = false;\n selectedDay.value = frequencyValue.value; // Set the selected day based on frequencyValue\n};\n\nconst setMonthly = () => {\n weekly.value = false;\n monthly.value = true;\n selectedDay.value = frequencyValue.value; // Set the day of the month based on frequencyValue\n};\n\nconst notficationInfo = ref({})\n\nconst isValidEmail = (email) => {\n const regex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n return regex.test(email);\n};\n\nlet newMail = ref({ mail: '', isValid: true });\nlet editErrors = ref({});\n\n// enabeld for PPE release (dummy data)\n// mailList.value = [{ 'mail': \"mail@mail2.com\" }, { 'mail': \"mail@mail1.com\" }]\n\nconst fetchNotificationInfo = async () => {\n const config = {\n method: 'get',\n url: `${notificationBaseUrl}/catalogue/${catalogId}/setting`,\n headers: {\n Authorization: `Bearer ${token.value}`,\n },\n }\n\n try {\n const response = await axios.request(config)\n notficationInfo.value = response.data\n\n if (notficationInfo.value.activeStatus === true) {\n active.value = true\n activatedString.value = 'Deactivate'\n } if (notficationInfo.value.activeStatus === false) {\n active.value = false\n activatedString.value = 'Activate'\n }\n\n mailList.value = notficationInfo.value.receiverEmailList\n frequencyUnit.value = notficationInfo.value.frequency.unit\n frequencyValue.value = notficationInfo.value.frequency.value\n threshold.value = notficationInfo.value.threshold\n\n if (frequencyUnit.value === 'week') {\n weekly.value = true\n monthly.value = false\n selectedDay.value = frequencyValue.value; // Set the selected day based on frequencyValue\n } else if (frequencyUnit.value === 'month') {\n weekly.value = false\n monthly.value = true\n daysInMonth.value = frequencyValue.value\n }\n\n console.log('Response:', response)\n } catch (error) {\n console.log('Full error:', error)\n }\n}\n\nconst postNotificationSettings = async () => {\n\n if (weekly.value === true) {\n frequencyUnit.value = \"week\"\n frequencyValue.value = selectedDay.value\n } else if (monthly.value === true) {\n frequencyUnit.value = \"month\"\n frequencyValue.value = daysInMonth.value\n }\n\n const config = {\n method: 'post',\n url: `${notificationBaseUrl}/catalogue/${catalogId}/setting`,\n headers: {\n Authorization: `Bearer ${token.value}`,\n 'Content-Type': 'application/json',\n },\n withCredentials: true,\n data: JSON.stringify({\n receiverEmailList: mailList.value,\n threshold: Number(threshold.value),\n frequency: {\n unit: frequencyUnit.value,\n value: frequencyValue.value\n },\n activeStatus: true\n })\n }\n\n try {\n const response = await axios.request(config)\n console.log('Settings updated:', response.data)\n triggerSnackbar();\n router.push({ name: 'DataProviderInterface-UserCatalogues' });\n return response.data\n\n } catch (error) {\n triggerSnackbar({\n message: 'Error updating settings.',\n variant: 'error',\n });\n\n console.log('Error updating settings:', error)\n\n throw error\n }\n}\n\nfetchNotificationInfo()\n\nconst postDeactive = async () => {\n\n const config = {\n method: 'post',\n url: `${notificationBaseUrl}/catalogue/${catalogId}/setting`,\n headers: {\n Authorization: `Bearer ${token.value}`,\n 'Content-Type': 'application/json',\n },\n withCredentials: true,\n data: JSON.stringify({\n activeStatus: active.value\n })\n }\n\n try {\n const response = await axios.request(config)\n console.log('Settings updated:', response.data)\n triggerSnackbar();\n if (!active.value) { router.push({ name: 'DataProviderInterface-UserCatalogues' }); }\n return response.data\n\n\n } catch (error) {\n triggerSnackbar({\n message: 'Error updating settings.',\n variant: 'error',\n });\n\n console.log('Error updating settings:', error)\n\n throw error\n\n }\n}\n\nconst editMail = () => {\n editMode.value = true\n showSnackbar({\n message: 'Email added successfully.',\n variant: 'success',\n });\n}\n\nconst saveMail = (index) => {\n const email = mailList.value[index].trim();\n if (isValidEmail(email)) {\n editMode.value = false;\n delete editErrors.value[index];\n } else {\n editErrors.value[index] = '*Invalid email format';\n }\n};\n\nconst deleteMail = (index) => {\n mailList.value.splice(index, 1);\n}\n\nconst editDate = (count) => {\n if (count === \"up\" && daysInMonth.value < 28) {\n if (daysInMonth.value > 8) {\n inputWidth.value = true\n }\n daysInMonth.value++\n }\n else if (daysInMonth.value > 1) {\n if (daysInMonth.value < 11) {\n inputWidth.value = false\n }\n daysInMonth.value--\n }\n}\n\nconst addNewMail = () => {\n if (newMail.value.mail.trim() === '') {\n newMail.value.isValid = false;\n return;\n }\n if (isValidEmail(newMail.value.mail)) {\n mailList.value.push(newMail.value.mail);\n newMail.value.mail = ''; // Clear input after successful addition\n newMail.value.isValid = true;\n } else {\n newMail.value.isValid = false;\n }\n}\nconst handleActivate = () => {\n if (!active.value) {\n active.value = true\n activatedString.value = 'Deactivate'\n postDeactive()\n } else {\n active.value = false\n activatedString.value = 'Activate'\n postDeactive()\n }\n}\n\nconst back = () => {\n router.push({ name: 'DataProviderInterface-UserCatalogues' });\n}\n\n</script>\n<style scoped>\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.debug {\n position: fixed;\n right: 20px;\n top: 20px;\n border-radius: 20px;\n width: 400px;\n z-index: 999999;\n padding: 20px;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 16px;\n box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);\n backdrop-filter: blur(5px);\n -webkit-backdrop-filter: blur(5px);\n border: 1px solid rgba(255, 255, 255, 0.3);\n display: none;\n}\n\n.btn-simple {\n border-color: rgb(115, 115, 115);\n}\n\n.btn-cancel {\n border-color: transparent;\n}\n\n.mail {\n width: 270px;\n padding: 5px 5px 5px 10px;\n}\n\n\n.errormsg {\n color: red;\n font-size: 10px;\n}\n\n.activeChoiceButton {\n background-color: var(--primary);\n color: white;\n border-color: var(--primary);\n\n &:active {\n background-color: #3E6CD5 !important;\n }\n\n &:focus {\n outline: none;\n background-color: #3E6CD5;\n }\n\n &:focus-visible {\n outline: none;\n background-color: #3E6CD5;\n }\n}\n\n\n.invalid {\n border-bottom: 1px solid red !important;\n}\n\n.blur {\n opacity: 0.3;\n}\n\n.invalidNewMail {\n\n border-radius: 2px;\n border: 2px solid rgba(255, 0, 0, 0.336);\n\n &:focus {\n border-radius: 2px;\n box-shadow: 0 0 0 0.1rem rgba(255, 0, 0, 0.774);\n border: 1px solid rgba(255, 0, 0, 0.336);\n }\n\n &:focus-visible {\n outline: 0;\n border-radius: 2px;\n box-shadow: 0 0 0 0.1rem rgba(255, 0, 0, 0.774);\n border: 1px solid rgba(255, 0, 0, 0.336);\n }\n}\n\n.editable {\n transition: all 200ms ease-in-out;\n padding-left: 0.5rem;\n border-bottom: 2px solid var(--primary) !important;\n}\n\n.invalid {\n border-bottom: 1px solid red !important;\n}\n\n.caretButtons {\n all: unset;\n cursor: pointer;\n}\n\n.caretWrap {\n display: contents;\n\n}\n\n.actionWrapper {\n display: flex;\n flex-direction: row-reverse;\n margin-bottom: 100px;\n\n button {\n margin-left: 1rem;\n }\n}\n\ninput[type=\"range\"] {\n width: 100%;\n}\n\n.mqaWrapper {\n margin: 3rem 0;\n}\n\ntable {\n margin-top: 1rem;\n min-width: 50%;\n}\n\nth {\n border-bottom: 1px solid lightgray;\n}\n\ntd {\n display: flex;\n justify-content: space-between;\n padding: 15px 0 0 0cap;\n}\n\n.daypicker {\n padding: 1rem;\n border: 1px solid lightgray;\n border-radius: 15px;\n\n input {\n width: 25px;\n border: none;\n background-color: unset;\n font-weight: 700;\n }\n\n}\n\n.dynamicWidth {\n width: 22px !important;\n}\n\n.activeItem {\n background-color: var(--primary);\n color: white;\n}\n\n.weekdays {\n border: 1px solid lightgray;\n border-radius: 15px;\n margin: 1rem 0;\n overflow: hidden;\n\n .dayButtons {\n border: none;\n display: inline-block;\n text-align: center;\n flex-direction: row;\n min-width: 60px;\n padding: 1rem;\n border-right: 1px solid lightgray;\n cursor: pointer;\n\n &:focus-visible {\n outline: unset;\n background-color: #3E6CD5;\n color: white;\n }\n\n &:hover {\n background-color: #3E6CD5;\n color: white;\n }\n }\n\n span:last-child button {\n border: none;\n }\n}\n\n.mqaWrapper {\n padding: 1rem;\n background-color: #f3f6fc;\n border-radius: 3px;\n}\n\nbutton {\n background-color: unset;\n border: 1px solid var(--primary);\n color: black;\n\n &:hover {\n background-color: #3E6CD5;\n color: white;\n border: 1px solid #3E6CD5;\n }\n}\n\n.btn-primary {\n background-color: var(--primary);\n color: white;\n\n}\n\n.btn-secondary {\n color: #0e47cb;\n}\n\nbutton,\nspan {\n transition: all 100ms ease-in-out;\n}\n</style>\n"],"names":["store","useStore","router","useRouter","computed","getUserData","token","mapActions","showSnackbar","payload","triggerSnackbar","route","useRoute","monthly","ref","weekly","mailButtonWrap","activatedString","inputWidth","active","mailList","week","daysInMonth","editMode","threshold","frequencyUnit","frequencyValue","selectedDay","catalogId","app","getCurrentInstance","notificationBaseUrl","openMqaReport","mqaBaseUrl","locale","mqaUrl","selectDay","index","setWeekly","setMonthly","notficationInfo","isValidEmail","email","newMail","editErrors","fetchNotificationInfo","config","response","axios","error","postNotificationSettings","postDeactive","editMail","saveMail","deleteMail","editDate","count","addNewMail","handleActivate","back","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_cache","_toDisplayString","_unref","_createTextVNode","$t","_normalizeClass","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","$event","_hoisted_9","_hoisted_10","_hoisted_11","_Fragment","_renderList","day","_hoisted_12","_hoisted_13","_hoisted_15","_hoisted_16","item","_vModelText","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CatalogueMQA.vue.mjs","sources":["../../lib/data-provider-interface/CatalogueMQA.vue"],"sourcesContent":["<template>\n <div class=\"container mb-3\">\n <div>\n <div>\n <div class=\"debug\">\n <strong> API object:</strong> <br><br>\n\n <textarea> {{ token }} </textarea>\n <hr>\n <!-- Disabled for PPE release (no backend on PPE yet)-->\n {{ notficationInfo }}\n\n <br> --- <br>\n\n {{ mailList }}\n\n <br>---<br>\n <strong>Fequency:</strong> <br>\n weekly: {{ weekly }}<br>\n monthly: {{ monthly }} <br>\n <p></p>\n unit: {{ frequencyUnit }} <br>\n value: {{ frequencyValue }}\n\n <br>---<br>\n threshold: {{ threshold }}\n\n </div>\n <h1>{{ $t('message.dpi.catalogue.mqa.settings') }}</h1>\n <p>{{ $t('message.dpi.catalogue.mqa.configurationfor') }}\n <strong>{{ catalogId }}</strong>\n </p>\n <div v-html=\"$t('message.dpi.catalogue.mqa.ratingchecks')\"></div>\n <p>\n <b><span v-if=\"!active\">{{ $t('message.dpi.catalogue.mqa.deactivated') }}</span>\n <span v-if=\"active\">{{ $t('message.dpi.catalogue.mqa.activated') }}</span></b>.\n </p>\n </div>\n\n <button type=\"button\" :class=\"{ 'btn btn-primary mb-5': !active, 'btn btn-secondary': active }\"\n @click=\"handleActivate()\">\n {{ activatedString }}\n </button>\n\n <button type=\"button\" :class=\"{ 'btn btn-action mb-5': !active, 'btn btn-action': active }\" @click=\"openMqaReport()\">\n <span class=\"mr-1\"> {{ $t('message.dpi.catalogue.mqa.mqareport') }}</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\"\n class=\"bi bi-box-arrow-up-right mb-1\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\"\n 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\"\n 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\n\n </div>\n\n <div v-if=\"active\">\n <div class=\"mqaWrapper\">\n <h3>{{ $t('message.dpi.catalogue.mqa.notificationthreshold.title') }}</h3>\n <div v-html=\"$t('message.dpi.catalogue.mqa.notificationthreshold.description')\"></div>\n <div class=\"w-50 mt-4\">\n <div class=\"d-flex justify-content-between\">\n <span><b>-1</b></span>\n <span><b>-405</b></span>\n </div>\n <input type=\"range\" v-model=\"threshold\" min=\"1\" max=\"405\" />\n <p>{{ $t('message.dpi.catalogue.mqa.notificationthreshold.notify') }}</p> <b>-{{ threshold }}</b>\n </div>\n </div>\n\n <div class=\"mqaWrapper\">\n <h3>{{ $t('message.dpi.catalogue.mqa.frequencyratingchecks') }}</h3>\n <span>{{ $t('message.dpi.catalogue.mqa.configurethefrequency') }}</span>\n <div class=\"d-flex mt-3\">\n <div class=\"mr-3 my-3\">\n <button type=\"button\" class=\"btn btn-simple\" @click=\"setWeekly()\"\n :class=\"{ 'activeChoiceButton': weekly }\">{{ $t('message.dpi.catalogue.mqa.configurethefrequency.weekly') }}</button>\n <div class=\"weekdays\" :class=\"{ 'blur': !weekly }\">\n <span v-for=\"(day, index) in week\" :key=\"index\">\n <button :disabled=\"!weekly\" class=\"dayButtons\"\n :class=\"{ 'activeItem': selectedDay === index }\" @click=\"selectDay(index)\">\n {{ day }}\n </button>\n </span>\n </div>\n </div>\n <div class=\"my-3\">\n <button type=\"button\" :class=\"{ 'activeChoiceButton': monthly }\" class=\"btn btn-simple\"\n @click=\"setMonthly()\">{{ $t('message.dpi.catalogue.mqa.configuremonthly') }}</button>\n <div class=\"d-flex daypicker my-3\" :class=\"{ 'blur': !monthly }\">\n <input v-model=\"daysInMonth\" @input=\"selectDay(index)\" :class=\"{ dynamicWidth: inputWidth }\"\n :disabled=\"!monthly\">\n <div class=\"caretWrap\">\n <button @click=\"editDate('up')\" class=\"caretButtons ml-1\"><svg\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" fill=\"currentColor\"\n class=\"bi bi-caret-up-fill\" viewBox=\"0 0 16 16\">\n <path\n d=\"m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z\" />\n </svg></button>\n <button @click=\"editDate()\" class=\"caretButtons mr-1\"><svg\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" fill=\"currentColor\"\n class=\"bi bi-caret-down-fill\" viewBox=\"0 0 16 16\">\n <path\n d=\"M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\" />\n </svg></button>\n </div>\n <span>{{ $t('mmessage.dpi.catalogue.mqa.configurethedayofmonth') }}</span>\n\n </div>\n </div>\n </div>\n </div>\n <div class=\"mqaWrapper\">\n <h3>{{ $t('message.dpi.catalogue.mqa.recipientsmail') }}</h3>\n <span>{{ $t('message.dpi.catalogue.mqa.mailaddressesforrecieving') }}</span>\n <table class=\"mt-4\" ref=\"mailButtonWrap\" v-if=\"mailList.length !== 0\">\n <tr>\n <th>Mail</th>\n </tr>\n <tr v-for=\"(item, index) in mailList\" class=\"mailItems\" :key=\"index\">\n <td>\n <span v-if=\"!editMode\">{{ item }}</span>\n <input type=\"text\" v-model=\"mailList[index]\" class=\"mail-input\" v-if=\"editMode\"\n @input=\"editErrors[index] = ''\" :class=\"{ 'invalidNewMail': editErrors[index] }\">\n\n <div>\n <button type=\"button\" class=\"btn btn-simple\"\n @click=\"editMode ? saveMail(index) : editMail(index)\">\n {{ editMode ? 'Save' : 'Edit' }}\n </button>\n <button type=\"button\" class=\"btn btn-simple\" @click=\"deleteMail(index)\">Delete</button>\n </div>\n </td>\n <span class=\"errormsg\" v-if=\"editErrors[index]\">{{ editErrors[index] }}</span>\n </tr>\n </table>\n <div class=\"d-flex mt-3\">\n <input type=\"text\" v-model=\"newMail.mail\" @input=\"newMail.isValid = true\"\n :class=\"{ 'invalidNewMail': !newMail.isValid }\" placeholder=\"$t('message.dpi.catalogue.mqa.enteremail')\" class=\"mail\">\n <button type=\"button\" class=\"btn btn-simple mx-3\" @click=\"addNewMail()\">{{ $t('message.dpi.catalogue.mqa.addmail') }}</button>\n </div>\n <span class=\"errormsg\" v-if=\"!newMail.isValid\">*Invalid email format</span>\n </div>\n\n <div class=\"actionWrapper\">\n <button type=\"button\" class=\"btn btn-primary\" @click=\"postNotificationSettings\">{{ $t('message.dpi.catalogue.mqa.save') }}</button>\n <button type=\"button\" class=\"btn btn-cancel\" @click=\"back()\">{{ $t('message.dpi.catalogue.mqa.cancel') }}</button>\n </div>\n </div>\n </div>\n\n</template>\n<script setup>\n\nimport { ref } from 'vue';\nimport { useRoute } from 'vue-router'\nimport { getCurrentInstance } from \"vue\";\nimport { useStore } from 'vuex';\nimport { useRouter } from 'vue-router';\nimport { mapActions } from 'vuex'\nimport { computed } from 'vue'\nimport { mapGetters } from 'vuex'\n\nimport axios from 'axios'\n\nconst store = useStore();\nconst router = useRouter();\nconst getUserDrafts = computed(() => store.getters['auth/getUserDrafts'])\nconst getUserData = computed(() => store.getters['auth/getUserData'])\nconst token = computed(() => getUserData.value.rtpToken)\n\n// Update the mapActions usage\nconst authActions = mapActions('auth', {\n updateUserData: 'updateUserData'\n})\n\n// Destructure the action\nconst { updateUserData } = authActions\n\nconst showSnackbar = (payload) => {\n store.dispatch('snackbar/showSnackbar', payload);\n};\n\nconst triggerSnackbar = () => {\n showSnackbar({\n message: 'Saved Successfully',\n variant: 'success',\n });\n};\n\n// Map the showSnackbar action from the snackbar module\n\nconst route = useRoute()\n\nlet monthly = ref(false)\nlet weekly = ref(false)\nlet mailButtonWrap = ref(null)\nlet activatedString = ref('Activate')\nlet inputWidth = ref(false)\nlet active = ref(false)\nlet mailList = ref()\nlet week = ['Mo', 'Tue', 'We', 'Th', 'Fr', 'Sa', 'Su']\nlet daysInMonth = ref(1)\nlet editMode = ref(false);\nlet threshold = ref(1);\nlet frequencyUnit = ref('');\nlet frequencyValue = ref('');\nlet selectedDay = ref(null);\nconst catalogId = route.params.id\nconst app = getCurrentInstance()\nconst notificationBaseUrl = app.appContext.app.config.globalProperties.$env.api.notificationBaseUrl\nconst apiKey = app.appContext.app.config.globalProperties.$env.api.apiKey\n\n\nconst openMqaReport = () => {\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 selectDay = (index) => {\n if (weekly.value) {\n selectedDay.value = index;\n frequencyValue.value = selectedDay; // Update frequencyValue when a day is selected\n }\n};\n\nconst setWeekly = () => {\n weekly.value = true;\n monthly.value = false;\n selectedDay.value = frequencyValue.value; // Set the selected day based on frequencyValue\n};\n\nconst setMonthly = () => {\n weekly.value = false;\n monthly.value = true;\n selectedDay.value = frequencyValue.value; // Set the day of the month based on frequencyValue\n};\n\nconst notficationInfo = ref({})\n\nconst isValidEmail = (email) => {\n const regex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n return regex.test(email);\n};\n\nlet newMail = ref({ mail: '', isValid: true });\nlet editErrors = ref({});\n\n// enabeld for PPE release (dummy data)\n// mailList.value = [{ 'mail': \"mail@mail2.com\" }, { 'mail': \"mail@mail1.com\" }]\n\nconst fetchNotificationInfo = async () => {\n const config = {\n method: 'get',\n url: `${notificationBaseUrl}/catalogue/${catalogId}/setting`,\n headers: {\n Authorization: `Bearer ${token.value}`,\n },\n }\n\n try {\n const response = await axios.request(config)\n notficationInfo.value = response.data\n\n if (notficationInfo.value.activeStatus === true) {\n active.value = true\n activatedString.value = 'Deactivate'\n } if (notficationInfo.value.activeStatus === false) {\n active.value = false\n activatedString.value = 'Activate'\n }\n\n mailList.value = notficationInfo.value.receiverEmailList\n frequencyUnit.value = notficationInfo.value.frequency.unit\n frequencyValue.value = notficationInfo.value.frequency.value\n threshold.value = notficationInfo.value.threshold\n\n if (frequencyUnit.value === 'week') {\n weekly.value = true\n monthly.value = false\n selectedDay.value = frequencyValue.value; // Set the selected day based on frequencyValue\n } else if (frequencyUnit.value === 'month') {\n weekly.value = false\n monthly.value = true\n daysInMonth.value = frequencyValue.value\n }\n\n console.log('Response:', response)\n } catch (error) {\n console.log('Full error:', error)\n }\n}\n\nconst postNotificationSettings = async () => {\n\n if (weekly.value === true) {\n frequencyUnit.value = \"week\"\n frequencyValue.value = selectedDay.value\n } else if (monthly.value === true) {\n frequencyUnit.value = \"month\"\n frequencyValue.value = daysInMonth.value\n }\n\n const config = {\n method: 'post',\n url: `${notificationBaseUrl}/catalogue/${catalogId}/setting`,\n headers: {\n Authorization: `Bearer ${token.value}`,\n 'Content-Type': 'application/json',\n },\n withCredentials: true,\n data: JSON.stringify({\n receiverEmailList: mailList.value,\n threshold: Number(threshold.value),\n frequency: {\n unit: frequencyUnit.value,\n value: frequencyValue.value\n },\n activeStatus: true\n })\n }\n\n try {\n const response = await axios.request(config)\n console.log('Settings updated:', response.data)\n triggerSnackbar();\n router.push({ name: 'DataProviderInterface-UserCatalogues' });\n return response.data\n\n } catch (error) {\n triggerSnackbar({\n message: 'Error updating settings.',\n variant: 'error',\n });\n\n console.log('Error updating settings:', error)\n\n throw error\n }\n}\n\nfetchNotificationInfo()\n\nconst postDeactive = async () => {\n\n const config = {\n method: 'post',\n url: `${notificationBaseUrl}/catalogue/${catalogId}/setting`,\n headers: {\n Authorization: `Bearer ${token.value}`,\n 'Content-Type': 'application/json',\n },\n withCredentials: true,\n data: JSON.stringify({\n activeStatus: active.value\n })\n }\n\n try {\n const response = await axios.request(config)\n console.log('Settings updated:', response.data)\n triggerSnackbar();\n if (!active.value) { router.push({ name: 'DataProviderInterface-UserCatalogues' }); }\n return response.data\n\n\n } catch (error) {\n triggerSnackbar({\n message: 'Error updating settings.',\n variant: 'error',\n });\n\n console.log('Error updating settings:', error)\n\n throw error\n\n }\n}\n\nconst editMail = () => {\n editMode.value = true\n showSnackbar({\n message: 'Email added successfully.',\n variant: 'success',\n });\n}\n\nconst saveMail = (index) => {\n const email = mailList.value[index].trim();\n if (isValidEmail(email)) {\n editMode.value = false;\n delete editErrors.value[index];\n } else {\n editErrors.value[index] = '*Invalid email format';\n }\n};\n\nconst deleteMail = (index) => {\n mailList.value.splice(index, 1);\n}\n\nconst editDate = (count) => {\n if (count === \"up\" && daysInMonth.value < 28) {\n if (daysInMonth.value > 8) {\n inputWidth.value = true\n }\n daysInMonth.value++\n }\n else if (daysInMonth.value > 1) {\n if (daysInMonth.value < 11) {\n inputWidth.value = false\n }\n daysInMonth.value--\n }\n}\n\nconst addNewMail = () => {\n if (newMail.value.mail.trim() === '') {\n newMail.value.isValid = false;\n return;\n }\n if (isValidEmail(newMail.value.mail)) {\n mailList.value.push(newMail.value.mail);\n newMail.value.mail = ''; // Clear input after successful addition\n newMail.value.isValid = true;\n } else {\n newMail.value.isValid = false;\n }\n}\nconst handleActivate = () => {\n if (!active.value) {\n active.value = true\n activatedString.value = 'Deactivate'\n postDeactive()\n } else {\n active.value = false\n activatedString.value = 'Activate'\n postDeactive()\n }\n}\n\nconst back = () => {\n router.push({ name: 'DataProviderInterface-UserCatalogues' });\n}\n\n</script>\n<style scoped>\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.debug {\n position: fixed;\n right: 20px;\n top: 20px;\n border-radius: 20px;\n width: 400px;\n z-index: 999999;\n padding: 20px;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 16px;\n box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);\n backdrop-filter: blur(5px);\n -webkit-backdrop-filter: blur(5px);\n border: 1px solid rgba(255, 255, 255, 0.3);\n display: none;\n}\n\n.btn-simple {\n border-color: rgb(115, 115, 115);\n}\n\n.btn-cancel {\n border-color: transparent;\n}\n\n.mail {\n width: 270px;\n padding: 5px 5px 5px 10px;\n}\n\n\n.errormsg {\n color: red;\n font-size: 10px;\n}\n\n.activeChoiceButton {\n background-color: var(--primary);\n color: white;\n border-color: var(--primary);\n\n &:active {\n background-color: #3E6CD5 !important;\n }\n\n &:focus {\n outline: none;\n background-color: #3E6CD5;\n }\n\n &:focus-visible {\n outline: none;\n background-color: #3E6CD5;\n }\n}\n\n\n.invalid {\n border-bottom: 1px solid red !important;\n}\n\n.blur {\n opacity: 0.3;\n}\n\n.invalidNewMail {\n\n border-radius: 2px;\n border: 2px solid rgba(255, 0, 0, 0.336);\n\n &:focus {\n border-radius: 2px;\n box-shadow: 0 0 0 0.1rem rgba(255, 0, 0, 0.774);\n border: 1px solid rgba(255, 0, 0, 0.336);\n }\n\n &:focus-visible {\n outline: 0;\n border-radius: 2px;\n box-shadow: 0 0 0 0.1rem rgba(255, 0, 0, 0.774);\n border: 1px solid rgba(255, 0, 0, 0.336);\n }\n}\n\n.editable {\n transition: all 200ms ease-in-out;\n padding-left: 0.5rem;\n border-bottom: 2px solid var(--primary) !important;\n}\n\n.invalid {\n border-bottom: 1px solid red !important;\n}\n\n.caretButtons {\n all: unset;\n cursor: pointer;\n}\n\n.caretWrap {\n display: contents;\n\n}\n\n.actionWrapper {\n display: flex;\n flex-direction: row-reverse;\n margin-bottom: 100px;\n\n button {\n margin-left: 1rem;\n }\n}\n\ninput[type=\"range\"] {\n width: 100%;\n}\n\n.mqaWrapper {\n margin: 3rem 0;\n}\n\ntable {\n margin-top: 1rem;\n min-width: 50%;\n}\n\nth {\n border-bottom: 1px solid lightgray;\n}\n\ntd {\n display: flex;\n justify-content: space-between;\n padding: 15px 0 0 0cap;\n}\n\n.daypicker {\n padding: 1rem;\n border: 1px solid lightgray;\n border-radius: 15px;\n\n input {\n width: 25px;\n border: none;\n background-color: unset;\n font-weight: 700;\n }\n\n}\n\n.dynamicWidth {\n width: 22px !important;\n}\n\n.activeItem {\n background-color: var(--primary);\n color: white;\n}\n\n.weekdays {\n border: 1px solid lightgray;\n border-radius: 15px;\n margin: 1rem 0;\n overflow: hidden;\n\n .dayButtons {\n border: none;\n display: inline-block;\n text-align: center;\n flex-direction: row;\n min-width: 60px;\n padding: 1rem;\n border-right: 1px solid lightgray;\n cursor: pointer;\n\n &:focus-visible {\n outline: unset;\n background-color: #3E6CD5;\n color: white;\n }\n\n &:hover {\n background-color: #3E6CD5;\n color: white;\n }\n }\n\n span:last-child button {\n border: none;\n }\n}\n\n.mqaWrapper {\n padding: 1rem;\n background-color: #f3f6fc;\n border-radius: 3px;\n}\n\nbutton {\n background-color: unset;\n border: 1px solid var(--primary);\n color: black;\n\n &:hover {\n background-color: #3E6CD5;\n color: white;\n border: 1px solid #3E6CD5;\n }\n}\n\n.btn-primary {\n background-color: var(--primary);\n color: white;\n\n}\n\n.btn-secondary {\n color: #0e47cb;\n}\n\nbutton,\nspan {\n transition: all 100ms ease-in-out;\n}\n</style>\n"],"names":["store","useStore","router","useRouter","computed","getUserData","token","mapActions","showSnackbar","payload","triggerSnackbar","route","useRoute","monthly","ref","weekly","mailButtonWrap","activatedString","inputWidth","active","mailList","week","daysInMonth","editMode","threshold","frequencyUnit","frequencyValue","selectedDay","catalogId","app","getCurrentInstance","notificationBaseUrl","openMqaReport","mqaBaseUrl","locale","mqaUrl","selectDay","index","setWeekly","setMonthly","notficationInfo","isValidEmail","email","newMail","editErrors","fetchNotificationInfo","config","response","axios","error","postNotificationSettings","postDeactive","editMail","saveMail","deleteMail","editDate","count","addNewMail","handleActivate","back","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_cache","_toDisplayString","_unref","_createTextVNode","$t","_normalizeClass","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_10","$event","_hoisted_11","_hoisted_12","_hoisted_13","_Fragment","_renderList","day","_hoisted_14","_hoisted_15","_hoisted_17","_hoisted_18","item","_vModelText","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent as m, reactive as V, openBlock as f, createElementBlock as x, createElementVNode as a, toDisplayString as c, createTextVNode as i, createVNode as r, unref as
|
|
2
|
-
import { FormKit as
|
|
1
|
+
import { defineComponent as m, reactive as V, openBlock as f, createElementBlock as x, createElementVNode as a, toDisplayString as c, createTextVNode as i, createVNode as r, unref as d, withCtx as s, renderSlot as g } from "vue";
|
|
2
|
+
import { FormKit as u } from "@formkit/vue";
|
|
3
3
|
const k = { class: "formkitProperty" }, y = { class: "formkitCmpWrap d-flex" }, b = /* @__PURE__ */ m({
|
|
4
4
|
__name: "SelectControlledGroup",
|
|
5
5
|
props: {
|
|
@@ -13,16 +13,16 @@ const k = { class: "formkitProperty" }, y = { class: "formkitCmpWrap d-flex" },
|
|
|
13
13
|
placeholder: {},
|
|
14
14
|
info: {}
|
|
15
15
|
},
|
|
16
|
-
setup(
|
|
17
|
-
const t =
|
|
16
|
+
setup(n) {
|
|
17
|
+
const t = n, l = V({
|
|
18
18
|
groupValue: {},
|
|
19
19
|
selectValue: t.initialValue ?? Object.keys(t.options)[0]
|
|
20
20
|
});
|
|
21
|
-
return (
|
|
21
|
+
return (p, e) => (f(), x("div", k, [
|
|
22
22
|
a("h4", null, c(t.label), 1),
|
|
23
23
|
e[4] || (e[4] = i()),
|
|
24
24
|
a("div", y, [
|
|
25
|
-
r(
|
|
25
|
+
r(d(u), {
|
|
26
26
|
id: t.id,
|
|
27
27
|
type: "group",
|
|
28
28
|
name: n.name,
|
|
@@ -30,19 +30,19 @@ const k = { class: "formkitProperty" }, y = { class: "formkitCmpWrap d-flex" },
|
|
|
30
30
|
modelValue: l.groupValue,
|
|
31
31
|
"onUpdate:modelValue": e[1] || (e[1] = (o) => l.groupValue = o)
|
|
32
32
|
}, {
|
|
33
|
-
default:
|
|
34
|
-
r(
|
|
33
|
+
default: s(() => [
|
|
34
|
+
r(d(u), {
|
|
35
35
|
modelValue: l.selectValue,
|
|
36
36
|
"onUpdate:modelValue": e[0] || (e[0] = (o) => l.selectValue = o),
|
|
37
37
|
type: "select",
|
|
38
38
|
options: t.options,
|
|
39
39
|
name: t.selectName
|
|
40
40
|
}, {
|
|
41
|
-
prefix:
|
|
41
|
+
prefix: s(() => [...e[2] || (e[2] = [])]),
|
|
42
42
|
_: 1
|
|
43
43
|
}, 8, ["modelValue", "options", "name"]),
|
|
44
44
|
e[3] || (e[3] = i()),
|
|
45
|
-
g(
|
|
45
|
+
g(p.$slots, "default", {
|
|
46
46
|
selectValue: l.selectValue
|
|
47
47
|
})
|
|
48
48
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectControlledGroup.vue.mjs","sources":["../../../lib/data-provider-interface/components/SelectControlledGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * `SelectControlledGroup` is a Vue component wrapping the FormKit group input. \n * It features a central select input that dictates the behavior of all child inputs within the group. \n * This setup allows for conditional display and interaction of child components based on the select input's value. \n * \n * Note that this is not a FormKit input itself, but rather a wrapper around the FormKit group input.\n */\n\nimport { reactive } from 'vue';\nimport { FormKit } from '@formkit/vue';\n\nconst props = defineProps<{\n name?: string;\n selectName: string;\n initialValue?: string;\n options: Record<string, string>;\n index?: number;\n id?: any;\n label?: string;\n placeholder?: string;\n info?: string;\n}>();\n\nconst data = reactive({\n groupValue: {},\n selectValue: props.initialValue ?? Object.keys(props.options)[0],\n});\n</script>\n\n<template>\n <div class=\"formkitProperty\">\n <h4>{{ props.label }}</h4>\n <div class=\"formkitCmpWrap d-flex\">\n <FormKit :id=\"props.id\" type=\"group\" :name=\"name\" :index=\"props.index\" v-model=\"data.groupValue\">\n <FormKit v-model=\"data.selectValue\" type=\"select\" :options=\"props.options\" :name=\"props.selectName\">\n <template #prefix>\n <!-- <div v-if=\"props.info\" class=\"infoI\">\n <div class=\"tooltipFormkit\">\n {{ props.info }}\n </div>\n </div> -->\n </template>\n </FormKit>\n <slot :select-value=\"data.selectValue\" />\n </FormKit>\n </div>\n\n </div>\n\n</template>"],"names":["props","__props","data","reactive","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_toDisplayString","_hoisted_2","_createVNode","_unref","FormKit","
|
|
1
|
+
{"version":3,"file":"SelectControlledGroup.vue.mjs","sources":["../../../lib/data-provider-interface/components/SelectControlledGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * `SelectControlledGroup` is a Vue component wrapping the FormKit group input. \n * It features a central select input that dictates the behavior of all child inputs within the group. \n * This setup allows for conditional display and interaction of child components based on the select input's value. \n * \n * Note that this is not a FormKit input itself, but rather a wrapper around the FormKit group input.\n */\n\nimport { reactive } from 'vue';\nimport { FormKit } from '@formkit/vue';\n\nconst props = defineProps<{\n name?: string;\n selectName: string;\n initialValue?: string;\n options: Record<string, string>;\n index?: number;\n id?: any;\n label?: string;\n placeholder?: string;\n info?: string;\n}>();\n\nconst data = reactive({\n groupValue: {},\n selectValue: props.initialValue ?? Object.keys(props.options)[0],\n});\n</script>\n\n<template>\n <div class=\"formkitProperty\">\n <h4>{{ props.label }}</h4>\n <div class=\"formkitCmpWrap d-flex\">\n <FormKit :id=\"props.id\" type=\"group\" :name=\"name\" :index=\"props.index\" v-model=\"data.groupValue\">\n <FormKit v-model=\"data.selectValue\" type=\"select\" :options=\"props.options\" :name=\"props.selectName\">\n <template #prefix>\n <!-- <div v-if=\"props.info\" class=\"infoI\">\n <div class=\"tooltipFormkit\">\n {{ props.info }}\n </div>\n </div> -->\n </template>\n </FormKit>\n <slot :select-value=\"data.selectValue\" />\n </FormKit>\n </div>\n\n </div>\n\n</template>"],"names":["props","__props","data","reactive","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_toDisplayString","_hoisted_2","_createVNode","_unref","FormKit","_cache","$event","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;AAYA,UAAMA,IAAQC,GAYRC,IAAOC,EAAS;AAAA,MACpB,YAAY,CAAC;AAAA,MACb,aAAaH,EAAM,gBAAgB,OAAO,KAAKA,EAAM,OAAO,EAAE,CAAC;AAAA,IAAA,CAChE;sBAICI,EAAA,GAAAC,EAiBM,OAjBNC,GAiBM;AAAA,MAhBJC,EAA0B,MAAA,MAAAC,EAAnBR,EAAM,KAAK,GAAA,CAAA;AAAA;MAClBO,EAaM,OAbNE,GAaM;AAAA,QAZJC,EAWUC,EAAAC,CAAA,GAAA;AAAA,UAXA,IAAIZ,EAAM;AAAA,UAAI,MAAK;AAAA,UAAS,MAAMC,EAAI;AAAA,UAAG,OAAOD,EAAM;AAAA,UAAgB,YAAAE,EAAK;AAAA,UAAL,uBAAAW,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAZ,EAAK,aAAUY;AAAA,QAAA;qBAC7F,MAQU;AAAA,YARVJ,EAQUC,EAAAC,CAAA,GAAA;AAAA,cARQ,YAAAV,EAAK;AAAA,cAAL,uBAAAW,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAZ,EAAK,cAAWY;AAAA,cAAE,MAAK;AAAA,cAAU,SAASd,EAAM;AAAA,cAAU,MAAMA,EAAM;AAAA,YAAA;cAC3E,UAAX,MAMW,CAAA,GAAAa,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,GAAA,CAAA;AAAA;;;YAEbE,EAAyCC,EAAA,QAAA,WAAA;AAAA,cAAlC,aAAcd,EAAK;AAAA,YAAA;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getCurrentInstance as N, ref as I, computed as c, onMounted as M, openBlock as i, createElementBlock as r, createElementVNode as o, toDisplayString as s, createTextVNode as a, Fragment as $, renderList as A, unref as S, createVNode as T, withCtx as
|
|
1
|
+
import { getCurrentInstance as N, ref as I, computed as c, onMounted as M, openBlock as i, createElementBlock as r, createElementVNode as o, toDisplayString as s, createTextVNode as a, Fragment as $, renderList as A, unref as S, createVNode as T, withCtx as k, createCommentVNode as _ } from "vue";
|
|
2
2
|
import { useStore as E } from "vuex";
|
|
3
3
|
import V from "../../widgets/AppLink.vue.mjs";
|
|
4
4
|
import D from "axios";
|
|
@@ -6,7 +6,7 @@ import { useRouter as O, useRoute as L } from "vue-router";
|
|
|
6
6
|
import { has as g, isNil as f } from "lodash-es";
|
|
7
7
|
import "./UserCataloguesPage.vue2.mjs";
|
|
8
8
|
import U from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
9
|
-
const P = { class: "catOverview" }, Q = { class: "d-flex flex-column bg-transparent container-fluid justify-content-between content" }, R = { class: "small-headline" },
|
|
9
|
+
const P = { class: "catOverview" }, Q = { class: "d-flex flex-column bg-transparent container-fluid justify-content-between content" }, R = { class: "small-headline" }, B = { class: "m-0" }, x = ["onClick"], j = ["onClick"], z = { class: "mr-1" }, F = {
|
|
10
10
|
__name: "UserCataloguesPage",
|
|
11
11
|
setup(H) {
|
|
12
12
|
let p = N().appContext.app.config.globalProperties.$env;
|
|
@@ -47,7 +47,7 @@ const P = { class: "catOverview" }, Q = { class: "d-flex flex-column bg-transpar
|
|
|
47
47
|
o("div", Q, [
|
|
48
48
|
o("h1", R, s(e.$t("message.dataupload.info.userCatalogues")), 1),
|
|
49
49
|
t[8] || (t[8] = a()),
|
|
50
|
-
o("p",
|
|
50
|
+
o("p", B, s(e.$t("message.dataupload.info.userCatDescription")), 1),
|
|
51
51
|
t[9] || (t[9] = a()),
|
|
52
52
|
o("table", null, [
|
|
53
53
|
o("thead", null, [
|
|
@@ -65,7 +65,7 @@ const P = { class: "catOverview" }, Q = { class: "d-flex flex-column bg-transpar
|
|
|
65
65
|
T(V, {
|
|
66
66
|
to: { name: "CatalogueDetails", query: { locale: e.$route.query.locale }, params: { ctlg_id: n.id } }
|
|
67
67
|
}, {
|
|
68
|
-
default:
|
|
68
|
+
default: k(() => [
|
|
69
69
|
a(s(n.id), 1)
|
|
70
70
|
]),
|
|
71
71
|
_: 2
|
|
@@ -82,9 +82,7 @@ const P = { class: "catOverview" }, Q = { class: "d-flex flex-column bg-transpar
|
|
|
82
82
|
type: "button",
|
|
83
83
|
class: "btn btn-action",
|
|
84
84
|
onClick: (d) => q(n)
|
|
85
|
-
},
|
|
86
|
-
{ $t('message.dpi.catalogue.mqa.settings') }}
|
|
87
|
-
`, 8, B)) : k("", !0),
|
|
85
|
+
}, s(e.$t("message.dpi.catalogue.mqa.settings")), 9, x)) : _("", !0),
|
|
88
86
|
t[4] || (t[4] = a()),
|
|
89
87
|
o("button", {
|
|
90
88
|
type: "button",
|
|
@@ -118,7 +116,7 @@ const P = { class: "catOverview" }, Q = { class: "d-flex flex-column bg-transpar
|
|
|
118
116
|
])
|
|
119
117
|
]));
|
|
120
118
|
}
|
|
121
|
-
}, et = /* @__PURE__ */ U(F, [["__scopeId", "data-v-
|
|
119
|
+
}, et = /* @__PURE__ */ U(F, [["__scopeId", "data-v-66eceedd"]]);
|
|
122
120
|
export {
|
|
123
121
|
et as default
|
|
124
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 raw = env.content.dataProviderInterface.buttons.showMqaNotificationSettings;\n console.log('[MQA] env.content...showMqaNotificationSettings (raw):', raw, 'type:', typeof raw);\n const viteshowMqaNotificationSettings = import.meta.env.VITE_CONTENT_DATA_PROVIDER_INTERFACE_BUTTONS_SHOW_MQA_NOTIFICATION_SETTINGS === 'true'\n console.log('[MQA] env.content...viteshowMqaNotificationSettings (raw):', viteshowMqaNotificationSettings, 'type:', typeof viteshowMqaNotificationSettings);\n\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 { $t('message.dpi.catalogue.mqa.settings') }}\n </button>\n <button type=\"button\" class=\"btn btn-action\" @click=\"openMqaReport(catalog)\" >\n <span class=\"mr-1\"> {{ $t('message.dpi.catalogue.mqa.mqareport') }} </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","viteshowMqaNotificationSettings","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","_hoisted_7"],"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 const viteshowMqaNotificationSettings = import.meta.env.VITE_CONTENT_DATA_PROVIDER_INTERFACE_BUTTONS_SHOW_MQA_NOTIFICATION_SETTINGS === 'true'\n console.log('[MQA] env.content...viteshowMqaNotificationSettings (raw):', viteshowMqaNotificationSettings, 'type:', typeof viteshowMqaNotificationSettings);\n\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 {{ $t('message.dpi.catalogue.mqa.settings') }}\n </button>\n <button type=\"button\" class=\"btn btn-action\" @click=\"openMqaReport(catalog)\" >\n <span class=\"mr-1\"> {{ $t('message.dpi.catalogue.mqa.mqareport') }} </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","viteshowMqaNotificationSettings","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","_hoisted_7"],"mappings":"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"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { defineComponent as c, openBlock as a, createBlock as
|
|
2
|
-
import
|
|
3
|
-
import { useDataInfoBox as
|
|
4
|
-
const
|
|
1
|
+
import { defineComponent as c, openBlock as a, createBlock as n, resolveDynamicComponent as d, withCtx as m, createElementBlock as i, Fragment as u, renderList as f, unref as p, renderSlot as D } from "vue";
|
|
2
|
+
import x from "../PvDataInfoBox/PvDataInfoBox.vue.mjs";
|
|
3
|
+
import { useDataInfoBox as B } from "../composables/useDataInfoBox.mjs";
|
|
4
|
+
const C = /* @__PURE__ */ c({
|
|
5
5
|
__name: "DatasetList",
|
|
6
6
|
props: {
|
|
7
7
|
as: { default: "div" },
|
|
8
8
|
datasets: {},
|
|
9
9
|
locale: {}
|
|
10
10
|
},
|
|
11
|
-
setup(
|
|
12
|
-
const s =
|
|
11
|
+
setup(e) {
|
|
12
|
+
const s = e, r = B({
|
|
13
13
|
datasets: s.datasets,
|
|
14
14
|
locale: s.locale
|
|
15
15
|
});
|
|
16
|
-
return (
|
|
16
|
+
return (l, k) => (a(), n(d(e.as), null, {
|
|
17
17
|
default: m(() => [
|
|
18
|
-
(a(!0), i(u, null, p(
|
|
18
|
+
(a(!0), i(u, null, f(p(r), (t, o) => D(l.$slots, "default", {
|
|
19
19
|
dataset: t,
|
|
20
20
|
rawDataset: e.datasets[o],
|
|
21
21
|
index: o
|
|
22
22
|
}, () => [
|
|
23
|
-
(a(),
|
|
23
|
+
(a(), n(x, {
|
|
24
24
|
key: t.id,
|
|
25
25
|
to: `/datasets/${t.id}`,
|
|
26
26
|
src: t.src,
|
|
@@ -36,6 +36,6 @@ const x = /* @__PURE__ */ c({
|
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
export {
|
|
39
|
-
|
|
39
|
+
C as default
|
|
40
40
|
};
|
|
41
41
|
//# sourceMappingURL=DatasetList.vue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasetList.vue.mjs","sources":["../../lib/datasets/DatasetList.vue"],"sourcesContent":["<template>\n <component :is=\"as\">\n <template v-for=\"(dataset, idx) in computedDatasets\">\n <slot :dataset=\"dataset\" :raw-dataset=\"datasets[idx]\" :index=\"idx\">\n <pv-data-info-box\n :key=\"dataset.id\"\n :to=\"`/datasets/${dataset.id}`\"\n :src=\"dataset.src\"\n :dataset=\"dataset.dataset\"\n :description-max-length=\"1000\"\n :data-cy=\"`dataset@${dataset.id}`\"\n class=\"mt-3\"\n />\n </slot>\n </template>\n </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport PvDataInfoBox from '../PvDataInfoBox/PvDataInfoBox.vue'\n\nimport { useDataInfoBox } from '../composables/useDataInfoBox';\n\nconst props = withDefaults(defineProps<{\n as?: string;\n datasets: any;\n locale: string;\n}>(), {\n as: 'div'\n})\n\nconst computedDatasets = useDataInfoBox({ \n datasets: props.datasets,\n locale: props.locale\n })\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>"],"names":["props","__props","computedDatasets","useDataInfoBox","_openBlock","_createBlock","_resolveDynamicComponent","
|
|
1
|
+
{"version":3,"file":"DatasetList.vue.mjs","sources":["../../lib/datasets/DatasetList.vue"],"sourcesContent":["<template>\n <component :is=\"as\">\n <template v-for=\"(dataset, idx) in computedDatasets\">\n <slot :dataset=\"dataset\" :raw-dataset=\"datasets[idx]\" :index=\"idx\">\n <pv-data-info-box\n :key=\"dataset.id\"\n :to=\"`/datasets/${dataset.id}`\"\n :src=\"dataset.src\"\n :dataset=\"dataset.dataset\"\n :description-max-length=\"1000\"\n :data-cy=\"`dataset@${dataset.id}`\"\n class=\"mt-3\"\n />\n </slot>\n </template>\n </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport PvDataInfoBox from '../PvDataInfoBox/PvDataInfoBox.vue'\n\nimport { useDataInfoBox } from '../composables/useDataInfoBox';\n\nconst props = withDefaults(defineProps<{\n as?: string;\n datasets: any;\n locale: string;\n}>(), {\n as: 'div'\n})\n\nconst computedDatasets = useDataInfoBox({ \n datasets: props.datasets,\n locale: props.locale\n })\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>"],"names":["props","__props","computedDatasets","useDataInfoBox","_openBlock","_createBlock","_resolveDynamicComponent","_createElementBlock","_Fragment","_renderList","_unref","dataset","idx","_renderSlot","_ctx","PvDataInfoBox"],"mappings":";;;;;;;;;;;AAuBA,UAAMA,IAAQC,GAQRC,IAAmBC,EAAe;AAAA,MACtC,UAAUH,EAAM;AAAA,MAChB,QAAQA,EAAM;AAAA,IAAA,CACd;sBAjCAI,EAAA,GAAAC,EAcYC,EAdIL,EAAE,EAAA,GAAA,MAAA;AAAA,iBACN,MAA0C;AAAA,SAApDG,EAAA,EAAA,GAAAG,EAYWC,GAZwB,MAAAC,EAAAC,EAAAR,CAAA,GAAjB,CAAAS,GAASC,MACzBC,EAUOC,EAAA,QAAA,WAAA;AAAA,UAVA,SAAAH;AAAA,UAAmB,YAAaV,EAAQ,SAACW,CAAG;AAAA,UAAI,OAAOA;AAAA,QAAA,GAA9D,MAUO;AAAA,aATL,GAAAP,EAQEU,GAAA;AAAA,YAPC,KAAKJ,EAAQ;AAAA,YACb,IAAE,aAAeA,EAAQ,EAAE;AAAA,YAC3B,KAAKA,EAAQ;AAAA,YACb,SAASA,EAAQ;AAAA,YACjB,0BAAwB;AAAA,YACxB,WAAO,WAAaA,EAAQ,EAAE;AAAA,YAC/B,OAAM;AAAA,UAAA;;;;;;;"}
|