@piveau/piveau-hub-ui-modules 4.6.77 → 4.6.79

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":"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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"}
@@ -300,6 +300,7 @@ declare const _default: import('vue').DefineComponent<{}, {}, {
300
300
  buttons: {
301
301
  Dataset: boolean;
302
302
  Catalogue: boolean;
303
+ showMqaNotificationSettings: boolean;
303
304
  };
304
305
  doiRegistrationService: {
305
306
  persistentIdentifierType: string;
@@ -329,6 +329,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
329
329
  buttons: {
330
330
  Dataset: boolean;
331
331
  Catalogue: boolean;
332
+ showMqaNotificationSettings: boolean;
332
333
  };
333
334
  doiRegistrationService: {
334
335
  persistentIdentifierType: string;
@@ -1608,6 +1609,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1608
1609
  buttons: {
1609
1610
  Dataset: boolean;
1610
1611
  Catalogue: boolean;
1612
+ showMqaNotificationSettings: boolean;
1611
1613
  };
1612
1614
  doiRegistrationService: {
1613
1615
  persistentIdentifierType: string;
@@ -1662,6 +1664,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1662
1664
  closeModal(): void;
1663
1665
  handleIDError(): void;
1664
1666
  handleClear(): void;
1667
+ handleCancelAndExit(): void;
1665
1668
  clearStorage(): void;
1666
1669
  submit(mode: any): Promise<void>;
1667
1670
  createDataset(datasetId: any): void;
@@ -309,6 +309,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
309
309
  buttons: {
310
310
  Dataset: boolean;
311
311
  Catalogue: boolean;
312
+ showMqaNotificationSettings: boolean;
312
313
  };
313
314
  doiRegistrationService: {
314
315
  persistentIdentifierType: string;
@@ -1,94 +1,98 @@
1
- import { getCurrentInstance as q, ref as k, computed as m, 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";
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";
6
- import { has as c, isNil as f } from "lodash-es";
1
+ import { getCurrentInstance as T, ref as _, computed as v, onMounted as q, openBlock as u, createElementBlock as d, createElementVNode as o, toDisplayString as s, createTextVNode as a, Fragment as $, renderList as V, unref as k, createVNode as E, withCtx as S, createCommentVNode as D } from "vue";
2
+ import { useStore as O } from "vuex";
3
+ import Q from "../../widgets/AppLink.vue.mjs";
4
+ import L from "axios";
5
+ import { useRouter as U, useRoute as x } from "vue-router";
6
+ import { has as h, isNil as C } 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 P from "../../_virtual/_plugin-vue_export-helper.mjs";
9
+ const R = { class: "catOverview" }, B = { class: "d-flex flex-column bg-transparent container-fluid justify-content-between content" }, j = { class: "small-headline" }, z = { class: "m-0" }, F = ["onClick"], H = ["onClick"], G = {
10
10
  __name: "UserCataloguesPage",
11
- setup(H) {
12
- const g = S(), p = B();
13
- let v = q().appContext.app.config.globalProperties.$env;
14
- const h = D();
15
- let l = k([]), b = m(() => h.getters["auth/getUserCatalogIds"]);
16
- const C = m(() => {
17
- const o = this.$env.content.dataProviderInterface.buttons.showMqaNotificationSettings;
18
- return typeof o == "string" ? o.toLowerCase() === "true" : o === !0;
11
+ setup(W) {
12
+ let p = T().appContext.app.config.globalProperties.$env;
13
+ const b = U(), m = x(), w = O();
14
+ let i = _([]), y = v(() => w.getters["auth/getUserCatalogIds"]);
15
+ const I = v(() => {
16
+ var n, l, r, c, f;
17
+ const e = (r = (l = (n = p.content) == null ? void 0 : n.dataProviderInterface) == null ? void 0 : l.buttons) == null ? void 0 : r.showMqaNotificationSettings, t = (f = (c = import.meta) == null ? void 0 : c.env) == null ? void 0 : f.VITE_CONTENT_DATA_PROVIDER_INTERFACE_BUTTONS_SHOW_MQA_NOTIFICATION_SETTINGS;
18
+ if (console.log("[MQA] env.content...showMqaNotificationSettings (raw):", e, "type:", typeof e), console.log("[MQA] ({}).VITE_... (build-time):", t, "type:", typeof t), typeof e == "string") {
19
+ const g = e.trim().toLowerCase();
20
+ return console.log("[MQA] normalized string value:", g), g === "true";
21
+ }
22
+ return e === !0;
19
23
  });
20
- let w = async () => {
21
- let o;
22
- await P.get(v.api.baseUrl + "search?filter=catalogue&limit=1000").then((t) => o = t).catch((t) => {
24
+ let A = async () => {
25
+ let e;
26
+ await L.get(p.api.baseUrl + "search?filter=catalogue&limit=1000").then((t) => e = t).catch((t) => {
23
27
  reject(t);
24
- }), o.data.result.results.forEach((t) => {
25
- c(t, "title") && !f(t.title) && c(t, "id") && !f(t.id) && l.value.push({ title: Object.values(t.title)[0], id: t.id });
26
- }), l.value = l.value.filter((t) => b.value.includes(t.id)).map((t) => ({ id: t.id, name: t.title }));
28
+ }), e.data.result.results.forEach((t) => {
29
+ h(t, "title") && !C(t.title) && h(t, "id") && !C(t.id) && i.value.push({ title: Object.values(t.title)[0], id: t.id });
30
+ }), i.value = i.value.filter((t) => y.value.includes(t.id)).map((t) => ({ id: t.id, name: t.title }));
27
31
  };
28
- const y = (o) => {
29
- const t = o.id, n = "https://data.europa.eu", u = p.query.locale || "en", d = `${n}/mqa/catalogues/${t}?locale=${u}`;
30
- window.open(d, "_blank");
31
- }, $ = (o) => {
32
- g.push({
32
+ const M = (e) => {
33
+ const t = e.id, n = "https://data.europa.eu", l = m.query.locale || "en", r = `${n}/mqa/catalogues/${t}?locale=${l}`;
34
+ window.open(r, "_blank");
35
+ }, N = (e) => {
36
+ b.push({
33
37
  name: "DataProviderInterface-MQASettings",
34
- params: { id: o.id },
35
- query: { locale: p.query.locale }
38
+ params: { id: e.id },
39
+ query: { locale: m.query.locale }
36
40
  }).catch(() => {
37
41
  });
38
42
  };
39
- return M(async () => {
40
- w();
41
- }), (o, t) => (r(), i("div", j, [
42
- e("div", E, [
43
- e("h1", R, s(o.$t("message.dataupload.info.userCatalogues")), 1),
43
+ return q(async () => {
44
+ A();
45
+ }), (e, t) => (u(), d("div", R, [
46
+ o("div", B, [
47
+ o("h1", j, s(e.$t("message.dataupload.info.userCatalogues")), 1),
44
48
  t[7] || (t[7] = a()),
45
- e("p", _, s(o.$t("message.dataupload.info.userCatDescription")), 1),
49
+ o("p", z, s(e.$t("message.dataupload.info.userCatDescription")), 1),
46
50
  t[8] || (t[8] = a()),
47
- e("table", null, [
48
- e("thead", null, [
49
- e("tr", null, [
50
- e("th", null, s(o.$t("message.metadata.catalog")) + " - ID", 1),
51
+ o("table", null, [
52
+ o("thead", null, [
53
+ o("tr", null, [
54
+ o("th", null, s(e.$t("message.metadata.catalog")) + " - ID", 1),
51
55
  t[0] || (t[0] = a()),
52
- e("th", null, s(o.$t("message.metadata.description")), 1),
56
+ o("th", null, s(e.$t("message.metadata.description")), 1),
53
57
  t[1] || (t[1] = a()),
54
- e("th", null, s(o.$t("message.dataupload.menu.actions")), 1)
58
+ o("th", null, s(e.$t("message.dataupload.menu.actions")), 1)
55
59
  ])
56
60
  ]),
57
61
  t[6] || (t[6] = a()),
58
- (r(!0), i(I, null, A(L(l), (n, u) => (r(), i("tr", { key: u }, [
59
- e("td", null, [
60
- N(U, {
61
- to: { name: "CatalogueDetails", query: { locale: o.$route.query.locale }, params: { ctlg_id: n.id } }
62
+ (u(!0), d($, null, V(k(i), (n, l) => (u(), d("tr", { key: l }, [
63
+ o("td", null, [
64
+ E(Q, {
65
+ to: { name: "CatalogueDetails", query: { locale: e.$route.query.locale }, params: { ctlg_id: n.id } }
62
66
  }, {
63
- default: V(() => [
67
+ default: S(() => [
64
68
  a(s(n.id), 1)
65
69
  ]),
66
70
  _: 2
67
71
  }, 1032, ["to"])
68
72
  ]),
69
73
  t[4] || (t[4] = a()),
70
- e("td", null, [
71
- e("span", null, s(n.name), 1)
74
+ o("td", null, [
75
+ o("span", null, s(n.name), 1)
72
76
  ]),
73
77
  t[5] || (t[5] = a()),
74
- e("td", null, [
75
- C.value ? (r(), i("button", {
78
+ o("td", null, [
79
+ I.value ? (u(), d("button", {
76
80
  key: 0,
77
81
  type: "button",
78
82
  class: "btn btn-action",
79
- onClick: (d) => $(n)
83
+ onClick: (r) => N(n)
80
84
  }, `
81
85
  Configure MQA notifications
82
- `, 8, O)) : x("", !0),
86
+ `, 8, F)) : D("", !0),
83
87
  t[3] || (t[3] = a()),
84
- e("button", {
88
+ o("button", {
85
89
  type: "button",
86
90
  class: "btn btn-action",
87
- onClick: (d) => y(n)
91
+ onClick: (r) => M(n)
88
92
  }, t[2] || (t[2] = [
89
- e("span", { class: "mr-1" }, " MQA report ", -1),
93
+ o("span", { class: "mr-1" }, " MQA report ", -1),
90
94
  a(),
91
- e("svg", {
95
+ o("svg", {
92
96
  xmlns: "http://www.w3.org/2000/svg",
93
97
  width: "16",
94
98
  height: "16",
@@ -96,25 +100,25 @@ const j = { class: "catOverview" }, E = { class: "d-flex flex-column bg-transpar
96
100
  class: "bi bi-box-arrow-up-right mb-1",
97
101
  viewBox: "0 0 16 16"
98
102
  }, [
99
- e("path", {
103
+ o("path", {
100
104
  "fill-rule": "evenodd",
101
105
  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"
102
106
  }),
103
107
  a(),
104
- e("path", {
108
+ o("path", {
105
109
  "fill-rule": "evenodd",
106
110
  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"
107
111
  })
108
112
  ], -1)
109
- ]), 8, z)
113
+ ]), 8, H)
110
114
  ])
111
115
  ]))), 128))
112
116
  ])
113
117
  ])
114
118
  ]));
115
119
  }
116
- }, tt = /* @__PURE__ */ Q(F, [["__scopeId", "data-v-a7d30bb4"]]);
120
+ }, at = /* @__PURE__ */ P(G, [["__scopeId", "data-v-7c34bf77"]]);
117
121
  export {
118
- tt as default
122
+ at as default
119
123
  };
120
124
  //# sourceMappingURL=UserCataloguesPage.vue.mjs.map
@@ -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\nconst router = useRouter();\nconst route = useRoute();\n\nlet env = getCurrentInstance().appContext.app.config.globalProperties.$env;\nconst store = useStore();\nlet filteredCatalogs = ref([])\nlet userCatIDList = computed(() => store.getters['auth/getUserCatalogIds'])\n\nconst showMqaNotificationSettings = computed(() => {\n const v = this.$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":["router","useRouter","route","useRoute","env","getCurrentInstance","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 const fromVite = import.meta?.env?.VITE_CONTENT_DATA_PROVIDER_INTERFACE_BUTTONS_SHOW_MQA_NOTIFICATION_SETTINGS;\n console.log('[MQA] env.content...showMqaNotificationSettings (raw):', raw, 'type:', typeof raw);\n console.log('[MQA] import.meta.env.VITE_... (build-time):', fromVite, 'type:', typeof fromVite);\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 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","_c","_b","_a","fromVite","_e","_d","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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"}