@piveau/piveau-hub-ui-modules 4.6.83 → 4.6.85
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/PvDataInfoBox/PvDataInfoBox.vue.mjs +1 -2
- package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs.map +1 -1
- package/dist/catalogues/CatalogPageDatasetCard.vue.mjs +6 -7
- package/dist/catalogues/CatalogPageDatasetCard.vue.mjs.map +1 -1
- package/dist/catalogues/Catalogues.vue.mjs +2 -2
- package/dist/citation/DatasetCitationTable.vue.mjs +2 -2
- package/dist/citation/DatasetCitationTable.vue.mjs.map +1 -1
- package/dist/composables/useRuntimeEnv.d.ts +1 -1
- package/dist/configurations/config-schema/configSchema.d.ts +1 -1
- package/dist/data-provider-interface/CatalogueMQA.vue.mjs +216 -226
- package/dist/data-provider-interface/CatalogueMQA.vue.mjs.map +1 -1
- package/dist/data-provider-interface/DPIMenu.vue.d.ts +3 -3
- package/dist/data-provider-interface/DataProviderInterface.vue.d.ts +7 -7
- package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs +110 -106
- package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs +101 -82
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/DataFetchingComponent.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/DataFetchingComponent.vue.mjs +2 -2
- package/dist/data-provider-interface/components/DataFetchingComponent.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs +3 -4
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/Dropup.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/FileUpload.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/FileUpload.vue.mjs +4 -4
- package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/Navigation.vue.d.ts +5 -5
- package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs +2 -3
- package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/DistributionOverview.vue.d.ts +2 -2
- package/dist/data-provider-interface/views/DistributionOverview.vue.mjs +4 -4
- package/dist/data-provider-interface/views/DraftsPage.vue.d.ts +2 -2
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs +29 -34
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/InputPage.vue.d.ts +7 -7
- package/dist/data-provider-interface/views/InputPage.vue.mjs +4 -6
- package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs +1 -1
- package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs +6 -6
- package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs +2 -2
- package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage.vue.d.ts +1 -1
- package/dist/data-provider-interface/views/OverviewPage.vue.mjs +2 -2
- package/dist/data-provider-interface/views/OverviewPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/PropertyChooser.vue.mjs +8 -8
- package/dist/data-provider-interface/views/PropertyChooser.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs +38 -38
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs +1 -2
- package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs +36 -36
- package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs +2 -2
- package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs +9 -9
- package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionFormat.vue.d.ts +2 -2
- package/dist/datasetDetails/distributions/DistributionsHeader.vue.d.ts +4 -4
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.d.ts +8 -8
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs +3 -4
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs +5 -7
- package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs +8 -9
- package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.d.ts +2 -2
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs +22 -25
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.d.ts +2 -2
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.d.ts +4 -4
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs +5 -6
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionPreview.vue.d.ts +4 -4
- package/dist/datasetDetails/distributions/distributionActions/DistributionVisualizeButton.vue.d.ts +4 -4
- package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs +41 -42
- package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDescription.vue.d.ts +6 -6
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.d.ts +16 -16
- package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.d.ts +2 -2
- package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs +3 -3
- package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.d.ts +1 -1
- package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs +2 -2
- package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.mjs +2 -2
- package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.d.ts +1 -1
- package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.d.ts +2 -2
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.d.ts +2 -2
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.mjs +2 -2
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationPages.vue.d.ts +7 -1
- package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.d.ts +200 -1
- package/dist/datasets/DatasetsFilters.vue.mjs +2 -2
- package/dist/datasets/DatasetsTopControls.vue.mjs +12 -14
- package/dist/datasets/DatasetsTopControls.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.mjs +4 -4
- package/dist/embed/DatasetEmbedModal.vue.mjs +2 -2
- package/dist/embed/DatasetEmbedModal.vue.mjs.map +1 -1
- package/dist/embed/EmbedDataset.vue.mjs +3 -3
- package/dist/embed/EmbedDataset.vue.mjs.map +1 -1
- package/dist/embed/EmbedDatasetSnippet.vue.mjs +3 -3
- package/dist/embed/EmbedDatasetSnippet.vue.mjs.map +1 -1
- package/dist/form/Repeatable.vue2.mjs +1 -2
- package/dist/form/Repeatable.vue2.mjs.map +1 -1
- package/dist/modal/AppConfirmationDialog.vue.mjs +1 -1
- package/dist/modal/AppConfirmationDialog.vue.mjs.map +1 -1
- package/dist/pages/user/UserImprint.vue.mjs +1 -1
- package/dist/pages/user/UserImprint.vue.mjs.map +1 -1
- package/dist/pages/user/UserPrivacyPolicy.vue.mjs +1 -1
- package/dist/pages/user/UserPrivacyPolicy.vue.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- package/dist/services/datasetService.d.ts +1 -1
- package/dist/widgets/AppLink.vue.mjs +2 -2
- package/dist/widgets/AppLink.vue.mjs.map +1 -1
- package/dist/widgets/Pagination.vue.d.ts +1 -1
- package/dist/widgets/ResourceAccessPopup.vue.mjs +2 -2
- package/package.json +1 -1
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
import { getCurrentInstance as
|
|
2
|
-
import { useStore as
|
|
3
|
-
import { getTranslationFor as
|
|
4
|
-
import { getNode as
|
|
5
|
-
import { onClickOutside as
|
|
6
|
-
import { useI18n as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { useAutocomplete as
|
|
10
|
-
const
|
|
1
|
+
import { getCurrentInstance as le, computed as _, ref as h, onMounted as oe, watch as B, watchEffect as se, openBlock as i, createElementBlock as u, unref as c, toDisplayString as v, createCommentVNode as N, createTextVNode as p, createElementVNode as s, withDirectives as X, isRef as M, vModelText as re, Fragment as T, renderList as A, vShow as ie, normalizeClass as ue } from "vue";
|
|
2
|
+
import { useStore as ce } from "vuex";
|
|
3
|
+
import { getTranslationFor as R } from "../../utils/helpers.mjs";
|
|
4
|
+
import { getNode as de } from "@formkit/core";
|
|
5
|
+
import { onClickOutside as j } from "../../external/@vueuse/core/index";
|
|
6
|
+
import { useI18n as fe } from "vue-i18n";
|
|
7
|
+
import pe from "qs";
|
|
8
|
+
import me from "axios";
|
|
9
|
+
import { useAutocomplete as ve } from "../composables/aucotomplete.mjs";
|
|
10
|
+
const ge = { class: "formkitProperty" }, ye = {
|
|
11
11
|
key: 0,
|
|
12
12
|
class: "formkitHeader"
|
|
13
|
-
},
|
|
13
|
+
}, he = ["innerHTML"], xe = { class: "formkitCmpWrap" }, ke = { class: "formkit-outer" }, be = {
|
|
14
14
|
key: 0,
|
|
15
15
|
class: "d-flex formkit-inner"
|
|
16
|
-
},
|
|
16
|
+
}, we = { class: "autocompleteInputSingleValue" }, _e = { key: 1 }, Ce = { class: "d-flex align-items-center justify-content-center formkit-inner mb-2" }, Ie = ["placeholder"], Le = ["onClick"], Te = {
|
|
17
17
|
key: 0,
|
|
18
18
|
class: "d-flex flex-wrap"
|
|
19
|
-
},
|
|
19
|
+
}, Ae = { class: "activeResultsAutocompleteWrapper" }, Se = ["onClick"], Ve = ["onClick"], Pe = { class: "w-100 mt-4" }, Oe = { class: "d-flex justify-content-between align-items-center flex-wrap" }, $e = {
|
|
20
20
|
key: 0,
|
|
21
21
|
class: "annifresultContainer"
|
|
22
|
-
},
|
|
22
|
+
}, Ne = ["onClick"], Me = { class: "d-flex" }, Re = {
|
|
23
23
|
key: 1,
|
|
24
24
|
class: "d-flex flex-wrap"
|
|
25
|
-
},
|
|
25
|
+
}, je = ["onClick"], De = ["innerHTML"], Ke = {
|
|
26
26
|
__name: "AutocompleteInput",
|
|
27
27
|
props: {
|
|
28
28
|
context: Object
|
|
29
29
|
},
|
|
30
30
|
setup(J) {
|
|
31
|
-
let k =
|
|
32
|
-
const { requestAutocompleteSuggestions:
|
|
33
|
-
|
|
34
|
-
const { t:
|
|
35
|
-
let g =
|
|
36
|
-
value: { name:
|
|
37
|
-
}), f =
|
|
31
|
+
let k = le().appContext.app.config.globalProperties.$env;
|
|
32
|
+
const { requestAutocompleteSuggestions: K, requestResourceName: z } = ve(), a = J;
|
|
33
|
+
ce();
|
|
34
|
+
const { t: S, te: G, locale: V } = fe();
|
|
35
|
+
let g = _(() => a.context.value), d, b = a.context.attrs.voc, Q = _(() => S("message.dataupload.info.searchVocabulary")), Y = _(() => S("message.dataupload.info.matchesNothingFound")), C = h({
|
|
36
|
+
value: { name: Q }
|
|
37
|
+
}), f = h(), D = h(null), E = h(null), x = h({}), m = [], I = [], H = h({
|
|
38
38
|
value: !1
|
|
39
39
|
});
|
|
40
|
-
|
|
41
|
-
let
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
h();
|
|
41
|
+
let P = h({});
|
|
42
|
+
oe(async () => {
|
|
43
|
+
x.value = "";
|
|
44
44
|
});
|
|
45
|
-
let q =
|
|
45
|
+
let q = _(() => {
|
|
46
46
|
try {
|
|
47
47
|
if (a.context.attrs.class.includes("inDistribution"))
|
|
48
48
|
return !0;
|
|
49
49
|
} catch {
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
|
-
B(
|
|
53
|
-
}), B(
|
|
52
|
+
B(C, async () => {
|
|
53
|
+
}), B(P, async () => {
|
|
54
54
|
});
|
|
55
55
|
const U = async (n) => {
|
|
56
56
|
if (n != null) {
|
|
57
57
|
let e = b === "iana-media-types" || b === "spdx-checksum-algorithm", t;
|
|
58
|
-
return await
|
|
58
|
+
return await z({ voc: b, uri: n, envs: k }).then(
|
|
59
59
|
(o) => {
|
|
60
|
-
a.context.attrs.property === "dcatde:politicalGeocodingURI" ? o != null && (t = e ? o.data.result.results.filter((l) => l.resource === n).map((l) => l.alt_label)[0].en :
|
|
60
|
+
a.context.attrs.property === "dcatde:politicalGeocodingURI" ? o != null && (t = e ? o.data.result.results.filter((l) => l.resource === n).map((l) => l.alt_label)[0].en : R(o.data.result.alt_label, V.value, [])) : o != null && (t = e ? o.data.result.results.filter((l) => l.resource === n).map((l) => l.pref_label)[0].en : R(o.data.result.pref_label, V.value, []));
|
|
61
61
|
}
|
|
62
62
|
), t;
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
|
-
|
|
65
|
+
se(async () => {
|
|
66
66
|
const n = g.value;
|
|
67
67
|
if (n.hasOwnProperty("name") && n.name === n.resource) {
|
|
68
68
|
let e;
|
|
@@ -74,29 +74,29 @@ const me = { class: "formkitProperty" }, ve = {
|
|
|
74
74
|
n[t].name === n[t].resource && (e.push({ name: await U(n[t].resource), resource: n[t].resource }), a.context.node.input(e));
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
|
-
function
|
|
77
|
+
function O(n) {
|
|
78
78
|
let e = { step: "", prop: a.context.node.name }, t = JSON.parse(localStorage.getItem("dpi_datasets"));
|
|
79
79
|
for (let o = 0; o < Object.keys(t).length; o++)
|
|
80
|
-
for (let
|
|
80
|
+
for (let r = 0; r < Object.keys(t)[o].length; r++) {
|
|
81
81
|
let l = Object.entries(t);
|
|
82
82
|
try {
|
|
83
|
-
Object.keys(l[o][
|
|
84
|
-
w === a.context.node.name && (e.step = l[o][0], n === "erase" && (
|
|
83
|
+
Object.keys(l[o][r]).filter((w) => {
|
|
84
|
+
w === a.context.node.name && (e.step = l[o][0], n === "erase" && (d = {}, t[e.step][e.prop] = d), t[e.step][e.prop] = d, localStorage.setItem("dpi_datasets", JSON.stringify(t)));
|
|
85
85
|
});
|
|
86
86
|
} catch {
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
window.removeEventListener("click",
|
|
89
|
+
window.removeEventListener("click", j);
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
j(D, (n) => f.value = !1), j(E, (n) => x.value = "");
|
|
92
92
|
let F = async (n, e) => {
|
|
93
93
|
let t = 10;
|
|
94
94
|
e != null && (t = t + 10);
|
|
95
|
-
let o =
|
|
95
|
+
let o = pe.stringify({
|
|
96
96
|
text: n,
|
|
97
97
|
limit: t
|
|
98
98
|
});
|
|
99
|
-
var
|
|
99
|
+
var r = {
|
|
100
100
|
method: "post",
|
|
101
101
|
url: b == "eurovoc" ? k.content.dataProviderInterface.annifLinkSubject : k.content.dataProviderInterface.annifLinkTheme,
|
|
102
102
|
headers: {
|
|
@@ -105,93 +105,97 @@ const me = { class: "formkitProperty" }, ve = {
|
|
|
105
105
|
},
|
|
106
106
|
data: o
|
|
107
107
|
};
|
|
108
|
-
|
|
108
|
+
me(r).then(async (l) => {
|
|
109
109
|
for (let y = 0; y < l.data.results.length; y++)
|
|
110
|
-
|
|
110
|
+
I[y] = { name: l.data.results[y].label, resource: l.data.results[y].uri, activeValue: !1 };
|
|
111
111
|
let w = [];
|
|
112
112
|
g.value.length > 0 && g.value.forEach((y) => {
|
|
113
113
|
w.push({ name: y.name, resource: y.resource, activeValue: !0 });
|
|
114
|
-
}), l.data.results.length > 9 && (
|
|
114
|
+
}), l.data.results.length > 9 && (I[I.length + 1] = { name: "...", resource: "invalid", activeValue: !1 }), P.value = ee(w, I);
|
|
115
115
|
}).catch(function(l) {
|
|
116
116
|
console.log(l);
|
|
117
117
|
});
|
|
118
118
|
};
|
|
119
|
-
async function
|
|
120
|
-
n.resource === "invalid" ?
|
|
119
|
+
async function Z(n) {
|
|
120
|
+
n.resource === "invalid" ? L(5) : ($({ name: n.name, resource: n.resource }), L());
|
|
121
121
|
}
|
|
122
|
-
function
|
|
123
|
-
let t = n.concat(e), o = [],
|
|
122
|
+
function ee(n, e) {
|
|
123
|
+
let t = n.concat(e), o = [], r = /* @__PURE__ */ new Set();
|
|
124
124
|
return t.forEach((l) => {
|
|
125
|
-
|
|
125
|
+
r.has(l.resource) || (r.add(l.resource), l.activeValue || o.push(l));
|
|
126
126
|
}), o;
|
|
127
127
|
}
|
|
128
|
-
const
|
|
129
|
-
let e =
|
|
128
|
+
const L = async (n) => {
|
|
129
|
+
let e = de("Mandatory").value["dct:description"];
|
|
130
130
|
for (let t = 0; t < e.length; t++)
|
|
131
131
|
e[t]["@language"] === "en" && (n != null ? await F(e[t]["@value"], 5) : await F(e[t]["@value"]));
|
|
132
|
-
}
|
|
132
|
+
}, te = _(() => {
|
|
133
|
+
var t, o, r, l;
|
|
134
|
+
const n = (o = (t = a == null ? void 0 : a.context) == null ? void 0 : t.attrs) == null ? void 0 : o.identifier, e = n ? `message.dataupload.datasets.${n}.placeholder_autocomplete` : null;
|
|
135
|
+
return e && G(e) ? S(e) : ((l = (r = a == null ? void 0 : a.context) == null ? void 0 : r.attrs) == null ? void 0 : l.placeholder) || "";
|
|
136
|
+
});
|
|
133
137
|
a.context.classes.outer += " autocompleteInput " + a.context.attrs.identifier;
|
|
134
|
-
const
|
|
135
|
-
if (
|
|
138
|
+
const $ = async (n) => {
|
|
139
|
+
if (x.value = "", Object.keys(n).length !== 1) {
|
|
136
140
|
if (g.value.length > 0 && (m = g.value), a.context.attrs.multiple)
|
|
137
141
|
if (m.length != 0) {
|
|
138
142
|
let e = { name: n.name, resource: n.resource }, t = m.filter((o) => o.name != n.name);
|
|
139
|
-
t.push(e),
|
|
143
|
+
t.push(e), d = t, await a.context.node.input(d);
|
|
140
144
|
} else
|
|
141
|
-
m.push({ name: n.name, resource: n.resource }),
|
|
145
|
+
m.push({ name: n.name, resource: n.resource }), d = m, await a.context.node.input(d);
|
|
142
146
|
else {
|
|
143
147
|
if (n.resource === "invalid")
|
|
144
148
|
return;
|
|
145
|
-
n === "erase" ? (await a.context.node.input({}),
|
|
149
|
+
n === "erase" ? (await a.context.node.input({}), O(n)) : (d = { name: n.name, resource: n.resource }, await a.context.node.input(d));
|
|
146
150
|
}
|
|
147
|
-
|
|
151
|
+
O();
|
|
148
152
|
}
|
|
149
|
-
},
|
|
153
|
+
}, ne = async (n) => {
|
|
150
154
|
let e = n.target.value;
|
|
151
|
-
await
|
|
152
|
-
const
|
|
153
|
-
name:
|
|
155
|
+
await K({ voc: b, text: e, base: k.api.baseUrl }).then((t) => {
|
|
156
|
+
const r = t.data.result.results.filter((l) => l.id !== "OP_DATPRO").map((l) => ({
|
|
157
|
+
name: R(l.pref_label, V.value, []) + " (" + l.id + ")",
|
|
154
158
|
resource: l.resource
|
|
155
159
|
}));
|
|
156
|
-
|
|
160
|
+
r.length === 0 ? C.value = { value: { name: Y } } : C.value = r;
|
|
157
161
|
});
|
|
158
162
|
};
|
|
159
|
-
function
|
|
160
|
-
a.context.node.input({}),
|
|
163
|
+
function ae(n) {
|
|
164
|
+
a.context.node.input({}), $("erase");
|
|
161
165
|
}
|
|
162
166
|
function W(n) {
|
|
163
|
-
k.content.dataProviderInterface.annifIntegration &&
|
|
167
|
+
k.content.dataProviderInterface.annifIntegration && L(), g.value.length > 0 && (m = g.value), m.splice(m.findIndex((e) => e.name == n.name), 1), d = m, a.context.node.input(d), O();
|
|
164
168
|
}
|
|
165
|
-
return (n, e) => (
|
|
166
|
-
|
|
169
|
+
return (n, e) => (i(), u("div", ge, [
|
|
170
|
+
c(q) ? (i(), u("h4", ye, v(n.$t("message.dataupload.distributions." + a.context.attrs.identifier + ".label")), 1)) : N("", !0),
|
|
167
171
|
e[14] || (e[14] = p()),
|
|
168
|
-
a.context.attrs.identifier != "licence" && !
|
|
172
|
+
a.context.attrs.identifier != "licence" && !c(q) ? (i(), u("h4", {
|
|
169
173
|
key: 1,
|
|
170
174
|
innerHTML: n.$t("message.dataupload.datasets." + a.context.attrs.identifier + ".label")
|
|
171
|
-
}, null, 8,
|
|
175
|
+
}, null, 8, he)) : N("", !0),
|
|
172
176
|
e[15] || (e[15] = p()),
|
|
173
|
-
s("div",
|
|
174
|
-
s("div",
|
|
175
|
-
!a.context.attrs.multiple && a.context.value.name ? (
|
|
176
|
-
s("a",
|
|
177
|
+
s("div", xe, [
|
|
178
|
+
s("div", ke, [
|
|
179
|
+
!a.context.attrs.multiple && a.context.value.name ? (i(), u("div", be, [
|
|
180
|
+
s("a", we, v(a.context.value.name), 1),
|
|
177
181
|
e[4] || (e[4] = p()),
|
|
178
182
|
s("div", {
|
|
179
183
|
class: "removeX",
|
|
180
|
-
onClick:
|
|
184
|
+
onClick: ae
|
|
181
185
|
})
|
|
182
|
-
])) : (
|
|
183
|
-
s("div",
|
|
186
|
+
])) : (i(), u("div", _e, [
|
|
187
|
+
s("div", Ce, [
|
|
184
188
|
X(s("input", {
|
|
185
189
|
ref_key: "acInput",
|
|
186
190
|
ref: E,
|
|
187
191
|
class: "autocompleteInputfield",
|
|
188
|
-
placeholder:
|
|
189
|
-
"onUpdate:modelValue": e[0] || (e[0] = (t) =>
|
|
192
|
+
placeholder: te.value,
|
|
193
|
+
"onUpdate:modelValue": e[0] || (e[0] = (t) => M(x) ? x.value = t : x = t),
|
|
190
194
|
type: "text",
|
|
191
|
-
onKeyup: e[1] || (e[1] = (t) =>
|
|
192
|
-
onClick: e[2] || (e[2] = (t) =>
|
|
193
|
-
}, null, 40,
|
|
194
|
-
[
|
|
195
|
+
onKeyup: e[1] || (e[1] = (t) => ne(t)),
|
|
196
|
+
onClick: e[2] || (e[2] = (t) => M(f) ? f.value = !c(f) : f = !c(f))
|
|
197
|
+
}, null, 40, Ie), [
|
|
198
|
+
[re, c(x)]
|
|
195
199
|
])
|
|
196
200
|
]),
|
|
197
201
|
e[11] || (e[11] = p()),
|
|
@@ -200,20 +204,20 @@ const me = { class: "formkitProperty" }, ve = {
|
|
|
200
204
|
ref: D,
|
|
201
205
|
class: "autocompleteResultList"
|
|
202
206
|
}, [
|
|
203
|
-
(
|
|
207
|
+
(i(!0), u(T, null, A(c(C), (t) => (i(), u("li", {
|
|
204
208
|
key: t,
|
|
205
209
|
onClick: (o) => {
|
|
206
|
-
|
|
210
|
+
$(t), M(f) ? f.value = !c(f) : f = !c(f);
|
|
207
211
|
},
|
|
208
212
|
class: "p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC"
|
|
209
|
-
}, v(t.name), 9,
|
|
213
|
+
}, v(t.name), 9, Le))), 128))
|
|
210
214
|
], 512), [
|
|
211
|
-
[
|
|
215
|
+
[ie, c(f)]
|
|
212
216
|
]),
|
|
213
217
|
e[12] || (e[12] = p()),
|
|
214
|
-
|
|
215
|
-
(
|
|
216
|
-
s("div",
|
|
218
|
+
c(k).content.dataProviderInterface.annifIntegration && a.context.attrs.annifTheme ? (i(), u("div", Te, [
|
|
219
|
+
(i(!0), u(T, null, A(c(g), (t) => (i(), u("div", { key: t }, [
|
|
220
|
+
s("div", Ae, [
|
|
217
221
|
s("div", {
|
|
218
222
|
class: "d-flex",
|
|
219
223
|
onClick: (o) => {
|
|
@@ -225,13 +229,13 @@ const me = { class: "formkitProperty" }, ve = {
|
|
|
225
229
|
s("div", {
|
|
226
230
|
class: "removeX",
|
|
227
231
|
onClick: (o) => W(t)
|
|
228
|
-
}, null, 8,
|
|
229
|
-
], 8,
|
|
232
|
+
}, null, 8, Ve)
|
|
233
|
+
], 8, Se)
|
|
230
234
|
])
|
|
231
235
|
]))), 128)),
|
|
232
236
|
e[9] || (e[9] = p()),
|
|
233
|
-
s("div",
|
|
234
|
-
s("div",
|
|
237
|
+
s("div", Pe, [
|
|
238
|
+
s("div", Oe, [
|
|
235
239
|
s("h3", null, v(n.$t("message.dataupload.info.suggestions")), 1),
|
|
236
240
|
e[6] || (e[6] = p()),
|
|
237
241
|
s("span", null, v(n.$t("message.dataupload.info.suggestionText")), 1),
|
|
@@ -240,31 +244,31 @@ const me = { class: "formkitProperty" }, ve = {
|
|
|
240
244
|
class: "navlikeButton",
|
|
241
245
|
type: "button",
|
|
242
246
|
onClick: e[3] || (e[3] = (t) => {
|
|
243
|
-
|
|
247
|
+
L(), c(H).value = !0;
|
|
244
248
|
})
|
|
245
249
|
}, v(n.$t("message.dataupload.info.tryIt")), 1)
|
|
246
250
|
]),
|
|
247
251
|
e[8] || (e[8] = p()),
|
|
248
|
-
|
|
249
|
-
(
|
|
252
|
+
c(H).value ? (i(), u("div", $e, [
|
|
253
|
+
(i(!0), u(T, null, A(c(P), (t) => (i(), u("div", {
|
|
250
254
|
key: t,
|
|
251
255
|
class: "d-flex"
|
|
252
256
|
}, [
|
|
253
257
|
s("div", {
|
|
254
|
-
class:
|
|
258
|
+
class: ue(["activeResultsAutocompleteWrapper annifResults", { loadMore: t.resource === "invalid" }]),
|
|
255
259
|
onClick: (o) => {
|
|
256
|
-
t.activeValue = !t.activeValue,
|
|
260
|
+
t.activeValue = !t.activeValue, Z(t);
|
|
257
261
|
}
|
|
258
262
|
}, [
|
|
259
|
-
s("div",
|
|
263
|
+
s("div", Me, [
|
|
260
264
|
s("span", null, v(t.name), 1)
|
|
261
265
|
])
|
|
262
|
-
], 10,
|
|
266
|
+
], 10, Ne)
|
|
263
267
|
]))), 128))
|
|
264
|
-
])) :
|
|
268
|
+
])) : N("", !0)
|
|
265
269
|
])
|
|
266
|
-
])) : (
|
|
267
|
-
(
|
|
270
|
+
])) : (i(), u("div", Re, [
|
|
271
|
+
(i(!0), u(T, null, A(a.context.value, (t) => (i(), u("div", {
|
|
268
272
|
class: "activeResultsAutocompleteWrapper",
|
|
269
273
|
key: t
|
|
270
274
|
}, [
|
|
@@ -273,14 +277,14 @@ const me = { class: "formkitProperty" }, ve = {
|
|
|
273
277
|
s("div", {
|
|
274
278
|
class: "removeX",
|
|
275
279
|
onClick: (o) => W(t)
|
|
276
|
-
}, null, 8,
|
|
280
|
+
}, null, 8, je)
|
|
277
281
|
]))), 128))
|
|
278
282
|
])),
|
|
279
283
|
e[13] || (e[13] = p()),
|
|
280
284
|
s("div", {
|
|
281
285
|
innerHTML: a.context.attrs.info,
|
|
282
286
|
class: "formkit-help"
|
|
283
|
-
}, null, 8,
|
|
287
|
+
}, null, 8, De)
|
|
284
288
|
]))
|
|
285
289
|
])
|
|
286
290
|
])
|
|
@@ -288,6 +292,6 @@ const me = { class: "formkitProperty" }, ve = {
|
|
|
288
292
|
}
|
|
289
293
|
};
|
|
290
294
|
export {
|
|
291
|
-
|
|
295
|
+
Ke as default
|
|
292
296
|
};
|
|
293
297
|
//# sourceMappingURL=AutocompleteInput.vue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/AutocompleteInput.vue"],"sourcesContent":["<template>\n <div class=\"formkitProperty\">\n\n <!-- need to make a condition for the licence property of the distribution - otherwise the dropdown doesnt work-->\n\n <h4 class=\"formkitHeader\" v-if=\"inDis\">\n {{ $t('message.dataupload.distributions.' + props.context.attrs.identifier + '.label') }}\n </h4>\n <h4 v-if=\"props.context.attrs.identifier != 'licence' && !inDis\" v-html=\"$t('message.dataupload.datasets.' + props.context.attrs.identifier + '.label')\">\n </h4>\n\n <div class=\"formkitCmpWrap\">\n\n <div class=\"formkit-outer\">\n <div class=\"d-flex formkit-inner\" v-if=\"!props.context.attrs.multiple && props.context.value.name\">\n <!-- <div class=\"infoI\">\n <div class=\"tooltipFormkit\">{{ props.context.attrs.info }}</div>\n </div> -->\n <a class=\"autocompleteInputSingleValue \">{{ props.context.value.name }}</a>\n <div class=\"removeX\" @click=\"removeProperty\"></div>\n </div>\n <div v-else>\n <div class=\"d-flex align-items-center justify-content-center formkit-inner mb-2\">\n <!-- <div class=\"infoI\">\n <div class=\"tooltipFormkit\">{{ props.context.attrs.info }}</div>\n </div> -->\n\n <input ref=\"acInput\" class=\"autocompleteInputfield\" :placeholder=\"props.context.attrs.placeholder\" v-model=\"inputText\"\n type=\"text\" v-on:keyup=\"getAutocompleteSuggestions($event)\" @click=\"activeList = !activeList\">\n </div>\n\n <ul ref=\"dropdownList\" v-show=\"activeList\" class=\"autocompleteResultList\">\n <li v-for=\"match in matches\" :key=\"match\" @click=\"setValue(match); activeList = !activeList\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{ match.name }}\n </li>\n </ul>\n <div v-if=\"instance.content.dataProviderInterface.annifIntegration && props.context.attrs.annifTheme\"\n class=\"d-flex flex-wrap\">\n <div v-for=\"item in listOfValues\" :key=\"item\">\n <div class=\"activeResultsAutocompleteWrapper\">\n <div class=\"d-flex\" @click=\"item.activeValue = !item.activeValue;\">\n <span>{{ item.name }}</span>\n <div class=\"removeX\" @click=\"removeMultipleProperty(item)\"></div>\n </div>\n </div>\n </div>\n <div class=\"w-100 mt-4\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h3>{{ $t('message.dataupload.info.suggestions') }}</h3>\n <span>{{ $t('message.dataupload.info.suggestionText') }}</span>\n <button class=\"navlikeButton\" type=\"button\"\n @click=\"fillAnnifsuggestions(); annifTrigger.value = true\">{{ $t('message.dataupload.info.tryIt')\n }}</button>\n </div>\n <div class=\"annifresultContainer\" v-if=\"annifTrigger.value\">\n <div v-for=\"item in annifSelectionList\" :key=\"item\" class=\"d-flex \">\n <div class=\"activeResultsAutocompleteWrapper annifResults\"\n :class=\"{ loadMore: item.resource === 'invalid' }\"\n @click=\"item.activeValue = !item.activeValue; updateAnnifselection(item)\">\n <div class=\"d-flex\">\n <span>{{ item.name }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n <div v-else class=\"d-flex flex-wrap\">\n <div class=\"activeResultsAutocompleteWrapper\" v-for=\"item in props.context.value\" :key=\"item\">\n <span>{{ item.name }}</span>\n <div class=\"removeX\" @click=\"removeMultipleProperty(item)\"></div>\n </div>\n </div>\n\n\n <!-- <div class=\"formkit-wrapper mb-3\">\n <div v-html=\"$t('message.dataupload.distributions.licence.vocabulary.help')\" class=\"formkit-help\"> \n </div> \n </div> -->\n\n <div v-html=\"props.context.attrs.info\" class=\"formkit-help\"></div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script setup>\nimport { ref, watch, computed, onMounted, watchEffect } from 'vue';\nimport { useStore } from 'vuex';\nimport { getTranslationFor } from \"../../utils/helpers\";\nimport { getCurrentInstance } from \"vue\";\nimport { getNode } from '@formkit/core'\nimport { onClickOutside } from '@vueuse/core'\nimport { useI18n } from 'vue-i18n';\n\nimport qs from 'qs';\nimport axios from 'axios';\nimport { useAutocomplete } from '../composables/aucotomplete';\n\nlet instance = getCurrentInstance().appContext.app.config.globalProperties.$env\n\nconst { requestAutocompleteSuggestions, requestResourceName } = useAutocomplete()\n\nconst props = defineProps({\n context: Object\n})\nconst store = useStore();\nconst { t, locale } = useI18n();\n\nlet listOfValues = computed(() => {\n return props.context.value;\n})\n\nlet selection;\nlet voc = props.context.attrs.voc;\n\nlet matchesSearchstring = computed(() => {\n return t('message.dataupload.info.searchVocabulary')\n})\nlet matchesNothingFound = computed(() => {\n return t('message.dataupload.info.matchesNothingFound')\n})\nlet matches = ref({\n value: { name: matchesSearchstring }\n})\nlet activeList = ref()\nlet dropdownList = ref(null)\nlet acInput = ref(null)\nlet inputText = ref({})\nlet cacheList = [];\nlet annifList = [];\nlet annifTrigger = ref({\n value: false\n});\nlet initialValues = ref();\nlet annifSelectionList = ref({})\n\nonMounted(async () => {\n inputText.value = \"\"\n});\nlet inDis = computed(() => {\n try {\n if (props.context.attrs.class.includes(\"inDistribution\")) {\n return true\n }\n } catch (error) {\n\n }\n\n\n});\nwatch(matches, async () => { })\nwatch(annifSelectionList, async () => { })\n\nconst requestURIname = async (res) => {\n\n if (res != undefined) {\n let vocMatch =\n voc === \"iana-media-types\" ||\n voc === \"spdx-checksum-algorithm\";\n\n let name;\n\n await requestResourceName({ voc: voc, uri: res, envs: instance }).then(\n (response) => {\n if (props.context.attrs.property === 'dcatde:politicalGeocodingURI') {\n if (response != undefined) {\n let result = vocMatch\n ? response.data.result.results\n .filter((dataset) => dataset.resource === res)\n .map((dataset) => dataset.alt_label)[0].en\n : getTranslationFor(response.data.result.alt_label, locale.value, []);\n name = result;\n }\n } else {\n\n if (response != undefined) {\n let result = vocMatch\n ? response.data.result.results\n .filter((dataset) => dataset.resource === res)\n .map((dataset) => dataset.pref_label)[0].en\n : getTranslationFor(response.data.result.pref_label, locale.value, []);\n name = result;\n\n }\n }\n }\n );\n return name\n }\n\n}\n\nwatchEffect(async () => {\n const values = listOfValues.value;\n\n // single URI's\n if (values.hasOwnProperty('name')) {\n if (values.name === values.resource) {\n let uriName;\n if (!props.context.attrs.multiple) {\n uriName = requestURIname(values.resource)\n props.context.node.input({ name: await uriName, resource: values.resource })\n\n }\n }\n }\n // multiple URI's\n if (values.length >= 1) {\n let uriNameList = [];\n for (let index = 0; index < values.length; index++) {\n if (values[index].name === values[index].resource) {\n uriNameList.push({ name: await requestURIname(values[index].resource), resource: values[index].resource })\n props.context.node.input(uriNameList)\n }\n }\n }\n});\nfunction findPropertyToUpdate(trigger) {\n\n let finalPath = { step: '', prop: props.context.node.name }\n let pathToLocalStorage = JSON.parse(localStorage.getItem('dpi_datasets'));\n\n for (let index = 0; index < Object.keys(pathToLocalStorage).length; index++) {\n for (let innerIndex = 0; innerIndex < Object.keys(pathToLocalStorage)[index].length; innerIndex++) {\n let ntry = Object.entries((pathToLocalStorage))\n try {\n Object.keys(ntry[index][innerIndex]).filter(e => {\n if (e === props.context.node.name) {\n finalPath.step = ntry[index][0]\n\n if (trigger === 'erase') {\n\n selection = {}\n pathToLocalStorage[finalPath.step][finalPath.prop] = selection\n }\n if (typeof selection === 'object') {\n\n pathToLocalStorage[finalPath.step][finalPath.prop] = selection\n }\n else pathToLocalStorage[finalPath.step][finalPath.prop] = selection\n localStorage.setItem('dpi_datasets', JSON.stringify(pathToLocalStorage))\n }\n });\n } catch (error) {\n }\n }\n }\n\n window.removeEventListener(\"click\", onClickOutside);\n}\nonClickOutside(dropdownList, event => activeList.value = false)\nonClickOutside(acInput, event => inputText.value = \"\")\n\nlet annifHandlerTheme = async (input, limit) => {\n\n let finalLimit = 10;\n if (limit != undefined) {\n finalLimit = finalLimit + 10\n }\n\n let query = qs.stringify({\n 'text': input,\n 'limit': finalLimit\n });\n\n\n var config = {\n method: 'post',\n url: voc == \"eurovoc\"\n ? instance.content.dataProviderInterface.annifLinkSubject\n : instance.content.dataProviderInterface.annifLinkTheme,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'Accept': 'application/json'\n },\n data: query\n };\n\n let list = []\n\n axios(config)\n .then(async (response) => {\n\n for (let i = 0; i < response.data.results.length; i++) {\n\n\n annifList[i] = { \"name\": response.data.results[i].label, \"resource\": response.data.results[i].uri, \"activeValue\": false }\n }\n let annifCacheList = []\n if (listOfValues.value.length > 0) {\n listOfValues.value.forEach(element => {\n annifCacheList.push({ \"name\": element.name, \"resource\": element.resource, \"activeValue\": true })\n });\n }\n if (response.data.results.length > 9) {\n annifList[annifList.length + 1] = { \"name\": \"...\", \"resource\": \"invalid\", \"activeValue\": false }\n }\n\n annifSelectionList.value = eraseDuplicates(annifCacheList, annifList)\n\n })\n .catch(function (error) {\n console.log(error);\n });\n}\nasync function updateAnnifselection(item) {\n\n if (item.resource === 'invalid') {\n fillAnnifsuggestions(5);\n }\n else {\n setValue({ name: item.name, resource: item.resource })\n fillAnnifsuggestions()\n }\n}\nfunction eraseDuplicates(array1, array2) {\n\n let mergedArray = array1.concat(array2);\n let filteredArray = [];\n let resourceSet = new Set();\n\n mergedArray.forEach(obj => {\n if (!resourceSet.has(obj.resource)) {\n resourceSet.add(obj.resource);\n if (!obj.activeValue) {\n filteredArray.push(obj);\n }\n }\n });\n\n\n return filteredArray;\n}\nconst fillAnnifsuggestions = async (limitChange) => {\n\n let arr = getNode('Mandatory').value['dct:description']\n for (let i = 0; i < arr.length; i++) {\n if (arr[i]['@language'] === 'en') {\n if (limitChange != undefined) {\n await annifHandlerTheme(arr[i]['@value'], 5)\n }\n else await annifHandlerTheme(arr[i]['@value'])\n }\n }\n\n}\n\n// Need to append the classes to the formkit-outer element\nprops.context.classes.outer += ' autocompleteInput ' + props.context.attrs.identifier\n\nconst setValue = async (e) => {\n inputText.value = \"\"\n if (Object.keys(e).length === 1) {\n return\n }\n if (listOfValues.value.length > 0) {\n\n cacheList = listOfValues.value\n }\n\n // when its a multi input\n if (props.context.attrs.multiple) {\n // check for doubled values\n if (cacheList.length != 0) {\n let filteredProperty = { name: e.name, resource: e.resource };\n let filteredList = cacheList.filter((element) => element.name != e.name);\n filteredList.push(filteredProperty)\n selection = filteredList;\n await props.context.node.input(selection);\n\n }\n else {\n cacheList.push({ name: e.name, resource: e.resource })\n selection = cacheList\n await props.context.node.input(selection);\n }\n\n }\n else if (e.resource === \"invalid\") return\n else if (e === \"erase\") { await props.context.node.input({}); findPropertyToUpdate(e) }\n else {\n selection = { name: e.name, resource: e.resource };\n await props.context.node.input(selection);\n }\n findPropertyToUpdate();\n}\n\nconst getAutocompleteSuggestions = async (e) => {\n let innerText = e.target.value\n await requestAutocompleteSuggestions({ voc, text: innerText, base: instance.api.baseUrl }).then((response) => {\n // filter OP_DATPRO\n const updatedArray = response.data.result.results.filter(obj => obj.id !== 'OP_DATPRO');\n\n const results = updatedArray.map((r) => ({\n name: getTranslationFor(r.pref_label, locale.value, []) + \" (\" + r.id + \")\",\n resource: r.resource,\n }));\n if (results.length === 0) {\n matches.value = { value: { name: matchesNothingFound } }\n }\n else matches.value = results;\n });\n}\n\nfunction removeProperty(e) {\n props.context.node.input({})\n setValue('erase');\n}\nfunction removeMultipleProperty(e) {\n\n if (instance.content.dataProviderInterface.annifIntegration) {\n fillAnnifsuggestions()\n }\n if (listOfValues.value.length > 0) {\n cacheList = listOfValues.value\n }\n // Get Index in the array where all values of the Span are stored and cut it out of the list of Values\n cacheList.splice(cacheList.findIndex((element) => element.name == e.name), 1)\n selection = cacheList;\n props.context.node.input(selection);\n findPropertyToUpdate();\n}\n</script>\n"],"names":["instance","getCurrentInstance","requestAutocompleteSuggestions","requestResourceName","useAutocomplete","props","__props","useStore","t","locale","useI18n","listOfValues","computed","selection","voc","matchesSearchstring","matchesNothingFound","matches","ref","activeList","dropdownList","acInput","inputText","cacheList","annifList","annifTrigger","annifSelectionList","onMounted","inDis","watch","requestURIname","res","vocMatch","name","response","dataset","getTranslationFor","watchEffect","values","uriName","uriNameList","index","findPropertyToUpdate","trigger","finalPath","pathToLocalStorage","innerIndex","ntry","e","onClickOutside","event","annifHandlerTheme","input","limit","finalLimit","query","qs","config","axios","i","annifCacheList","element","eraseDuplicates","error","updateAnnifselection","item","fillAnnifsuggestions","setValue","array1","array2","mergedArray","filteredArray","resourceSet","obj","limitChange","arr","getNode","filteredProperty","filteredList","getAutocompleteSuggestions","innerText","results","r","removeProperty","removeMultipleProperty","_openBlock","_createElementBlock","_hoisted_1","_unref","_hoisted_2","_toDisplayString","$t","_createElementVNode","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","$event","_cache","_isRef","_Fragment","_renderList","match","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_16","_hoisted_17","_hoisted_18","_normalizeClass","_hoisted_20","_hoisted_21"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutocompleteInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/AutocompleteInput.vue"],"sourcesContent":["<template>\n <div class=\"formkitProperty\">\n\n <!-- need to make a condition for the licence property of the distribution - otherwise the dropdown doesnt work-->\n\n <h4 class=\"formkitHeader\" v-if=\"inDis\">\n {{ $t('message.dataupload.distributions.' + props.context.attrs.identifier + '.label') }}\n </h4>\n <h4 v-if=\"props.context.attrs.identifier != 'licence' && !inDis\" v-html=\"$t('message.dataupload.datasets.' + props.context.attrs.identifier + '.label')\">\n </h4>\n\n <div class=\"formkitCmpWrap\">\n\n <div class=\"formkit-outer\">\n <div class=\"d-flex formkit-inner\" v-if=\"!props.context.attrs.multiple && props.context.value.name\">\n <!-- <div class=\"infoI\">\n <div class=\"tooltipFormkit\">{{ props.context.attrs.info }}</div>\n </div> -->\n <a class=\"autocompleteInputSingleValue \">{{ props.context.value.name }}</a>\n <div class=\"removeX\" @click=\"removeProperty\"></div>\n </div>\n <div v-else>\n <div class=\"d-flex align-items-center justify-content-center formkit-inner mb-2\">\n <!-- <div class=\"infoI\">\n <div class=\"tooltipFormkit\">{{ props.context.attrs.info }}</div>\n </div> -->\n\n <input ref=\"acInput\" class=\"autocompleteInputfield\" :placeholder=\"resolvedPlaceholder\" v-model=\"inputText\"\n type=\"text\" v-on:keyup=\"getAutocompleteSuggestions($event)\" @click=\"activeList = !activeList\">\n </div>\n\n <ul ref=\"dropdownList\" v-show=\"activeList\" class=\"autocompleteResultList\">\n <li v-for=\"match in matches\" :key=\"match\" @click=\"setValue(match); activeList = !activeList\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{ match.name }}\n </li>\n </ul>\n <div v-if=\"instance.content.dataProviderInterface.annifIntegration && props.context.attrs.annifTheme\"\n class=\"d-flex flex-wrap\">\n <div v-for=\"item in listOfValues\" :key=\"item\">\n <div class=\"activeResultsAutocompleteWrapper\">\n <div class=\"d-flex\" @click=\"item.activeValue = !item.activeValue;\">\n <span>{{ item.name }}</span>\n <div class=\"removeX\" @click=\"removeMultipleProperty(item)\"></div>\n </div>\n </div>\n </div>\n <div class=\"w-100 mt-4\">\n <div class=\"d-flex justify-content-between align-items-center flex-wrap\">\n <h3>{{ $t('message.dataupload.info.suggestions') }}</h3>\n <span>{{ $t('message.dataupload.info.suggestionText') }}</span>\n <button class=\"navlikeButton\" type=\"button\"\n @click=\"fillAnnifsuggestions(); annifTrigger.value = true\">{{ $t('message.dataupload.info.tryIt')\n }}</button>\n </div>\n <div class=\"annifresultContainer\" v-if=\"annifTrigger.value\">\n <div v-for=\"item in annifSelectionList\" :key=\"item\" class=\"d-flex \">\n <div class=\"activeResultsAutocompleteWrapper annifResults\"\n :class=\"{ loadMore: item.resource === 'invalid' }\"\n @click=\"item.activeValue = !item.activeValue; updateAnnifselection(item)\">\n <div class=\"d-flex\">\n <span>{{ item.name }}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n <div v-else class=\"d-flex flex-wrap\">\n <div class=\"activeResultsAutocompleteWrapper\" v-for=\"item in props.context.value\" :key=\"item\">\n <span>{{ item.name }}</span>\n <div class=\"removeX\" @click=\"removeMultipleProperty(item)\"></div>\n </div>\n </div>\n\n\n <!-- <div class=\"formkit-wrapper mb-3\">\n <div v-html=\"$t('message.dataupload.distributions.licence.vocabulary.help')\" class=\"formkit-help\"> \n </div> \n </div> -->\n\n <div v-html=\"props.context.attrs.info\" class=\"formkit-help\"></div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script setup>\nimport { ref, watch, computed, onMounted, watchEffect } from 'vue';\nimport { useStore } from 'vuex';\nimport { getTranslationFor } from \"../../utils/helpers\";\nimport { getCurrentInstance } from \"vue\";\nimport { getNode } from '@formkit/core'\nimport { onClickOutside } from '@vueuse/core'\nimport { useI18n } from 'vue-i18n';\n\nimport qs from 'qs';\nimport axios from 'axios';\nimport { useAutocomplete } from '../composables/aucotomplete';\n\nlet instance = getCurrentInstance().appContext.app.config.globalProperties.$env\n\nconst { requestAutocompleteSuggestions, requestResourceName } = useAutocomplete()\n\nconst props = defineProps({\n context: Object\n})\nconst store = useStore();\nconst { t, te, locale } = useI18n();\n\nlet listOfValues = computed(() => {\n return props.context.value;\n})\n\nlet selection;\nlet voc = props.context.attrs.voc;\n\nlet matchesSearchstring = computed(() => {\n return t('message.dataupload.info.searchVocabulary')\n})\nlet matchesNothingFound = computed(() => {\n return t('message.dataupload.info.matchesNothingFound')\n})\nlet matches = ref({\n value: { name: matchesSearchstring }\n})\nlet activeList = ref()\nlet dropdownList = ref(null)\nlet acInput = ref(null)\nlet inputText = ref({})\nlet cacheList = [];\nlet annifList = [];\nlet annifTrigger = ref({\n value: false\n});\nlet initialValues = ref();\nlet annifSelectionList = ref({})\n\nonMounted(async () => {\n inputText.value = \"\"\n});\nlet inDis = computed(() => {\n try {\n if (props.context.attrs.class.includes(\"inDistribution\")) {\n return true\n }\n } catch (error) {\n\n }\n\n\n});\nwatch(matches, async () => { })\nwatch(annifSelectionList, async () => { })\n\nconst requestURIname = async (res) => {\n\n if (res != undefined) {\n let vocMatch =\n voc === \"iana-media-types\" ||\n voc === \"spdx-checksum-algorithm\";\n\n let name;\n\n await requestResourceName({ voc: voc, uri: res, envs: instance }).then(\n (response) => {\n if (props.context.attrs.property === 'dcatde:politicalGeocodingURI') {\n if (response != undefined) {\n let result = vocMatch\n ? response.data.result.results\n .filter((dataset) => dataset.resource === res)\n .map((dataset) => dataset.alt_label)[0].en\n : getTranslationFor(response.data.result.alt_label, locale.value, []);\n name = result;\n }\n } else {\n\n if (response != undefined) {\n let result = vocMatch\n ? response.data.result.results\n .filter((dataset) => dataset.resource === res)\n .map((dataset) => dataset.pref_label)[0].en\n : getTranslationFor(response.data.result.pref_label, locale.value, []);\n name = result;\n\n }\n }\n }\n );\n return name\n }\n\n}\n\nwatchEffect(async () => {\n const values = listOfValues.value;\n\n // single URI's\n if (values.hasOwnProperty('name')) {\n if (values.name === values.resource) {\n let uriName;\n if (!props.context.attrs.multiple) {\n uriName = requestURIname(values.resource)\n props.context.node.input({ name: await uriName, resource: values.resource })\n\n }\n }\n }\n // multiple URI's\n if (values.length >= 1) {\n let uriNameList = [];\n for (let index = 0; index < values.length; index++) {\n if (values[index].name === values[index].resource) {\n uriNameList.push({ name: await requestURIname(values[index].resource), resource: values[index].resource })\n props.context.node.input(uriNameList)\n }\n }\n }\n});\nfunction findPropertyToUpdate(trigger) {\n\n let finalPath = { step: '', prop: props.context.node.name }\n let pathToLocalStorage = JSON.parse(localStorage.getItem('dpi_datasets'));\n\n for (let index = 0; index < Object.keys(pathToLocalStorage).length; index++) {\n for (let innerIndex = 0; innerIndex < Object.keys(pathToLocalStorage)[index].length; innerIndex++) {\n let ntry = Object.entries((pathToLocalStorage))\n try {\n Object.keys(ntry[index][innerIndex]).filter(e => {\n if (e === props.context.node.name) {\n finalPath.step = ntry[index][0]\n\n if (trigger === 'erase') {\n\n selection = {}\n pathToLocalStorage[finalPath.step][finalPath.prop] = selection\n }\n if (typeof selection === 'object') {\n\n pathToLocalStorage[finalPath.step][finalPath.prop] = selection\n }\n else pathToLocalStorage[finalPath.step][finalPath.prop] = selection\n localStorage.setItem('dpi_datasets', JSON.stringify(pathToLocalStorage))\n }\n });\n } catch (error) {\n }\n }\n }\n\n window.removeEventListener(\"click\", onClickOutside);\n}\nonClickOutside(dropdownList, event => activeList.value = false)\nonClickOutside(acInput, event => inputText.value = \"\")\n\nlet annifHandlerTheme = async (input, limit) => {\n\n let finalLimit = 10;\n if (limit != undefined) {\n finalLimit = finalLimit + 10\n }\n\n let query = qs.stringify({\n 'text': input,\n 'limit': finalLimit\n });\n\n\n var config = {\n method: 'post',\n url: voc == \"eurovoc\"\n ? instance.content.dataProviderInterface.annifLinkSubject\n : instance.content.dataProviderInterface.annifLinkTheme,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'Accept': 'application/json'\n },\n data: query\n };\n\n let list = []\n\n axios(config)\n .then(async (response) => {\n\n for (let i = 0; i < response.data.results.length; i++) {\n\n\n annifList[i] = { \"name\": response.data.results[i].label, \"resource\": response.data.results[i].uri, \"activeValue\": false }\n }\n let annifCacheList = []\n if (listOfValues.value.length > 0) {\n listOfValues.value.forEach(element => {\n annifCacheList.push({ \"name\": element.name, \"resource\": element.resource, \"activeValue\": true })\n });\n }\n if (response.data.results.length > 9) {\n annifList[annifList.length + 1] = { \"name\": \"...\", \"resource\": \"invalid\", \"activeValue\": false }\n }\n\n annifSelectionList.value = eraseDuplicates(annifCacheList, annifList)\n\n })\n .catch(function (error) {\n console.log(error);\n });\n}\nasync function updateAnnifselection(item) {\n\n if (item.resource === 'invalid') {\n fillAnnifsuggestions(5);\n }\n else {\n setValue({ name: item.name, resource: item.resource })\n fillAnnifsuggestions()\n }\n}\nfunction eraseDuplicates(array1, array2) {\n\n let mergedArray = array1.concat(array2);\n let filteredArray = [];\n let resourceSet = new Set();\n\n mergedArray.forEach(obj => {\n if (!resourceSet.has(obj.resource)) {\n resourceSet.add(obj.resource);\n if (!obj.activeValue) {\n filteredArray.push(obj);\n }\n }\n });\n\n\n return filteredArray;\n}\nconst fillAnnifsuggestions = async (limitChange) => {\n\n let arr = getNode('Mandatory').value['dct:description']\n for (let i = 0; i < arr.length; i++) {\n if (arr[i]['@language'] === 'en') {\n if (limitChange != undefined) {\n await annifHandlerTheme(arr[i]['@value'], 5)\n }\n else await annifHandlerTheme(arr[i]['@value'])\n }\n }\n\n}\n\n// For Publisher Payload Message\n// Use child-specific i18n key if it exists, else fall back to parent-provided placeholder\nconst resolvedPlaceholder = computed(() => {\n const id = props?.context?.attrs?.identifier\n const childKey = id\n ? `message.dataupload.datasets.${id}.placeholder_autocomplete`\n : null\n if (childKey && te(childKey)) return t(childKey)\n return props?.context?.attrs?.placeholder || ''\n})\n\n// Need to append the classes to the formkit-outer element\nprops.context.classes.outer += ' autocompleteInput ' + props.context.attrs.identifier\n\nconst setValue = async (e) => {\n inputText.value = \"\"\n if (Object.keys(e).length === 1) {\n return\n }\n if (listOfValues.value.length > 0) {\n\n cacheList = listOfValues.value\n }\n\n // when its a multi input\n if (props.context.attrs.multiple) {\n // check for doubled values\n if (cacheList.length != 0) {\n let filteredProperty = { name: e.name, resource: e.resource };\n let filteredList = cacheList.filter((element) => element.name != e.name);\n filteredList.push(filteredProperty)\n selection = filteredList;\n await props.context.node.input(selection);\n\n }\n else {\n cacheList.push({ name: e.name, resource: e.resource })\n selection = cacheList\n await props.context.node.input(selection);\n }\n\n }\n else if (e.resource === \"invalid\") return\n else if (e === \"erase\") { await props.context.node.input({}); findPropertyToUpdate(e) }\n else {\n selection = { name: e.name, resource: e.resource };\n await props.context.node.input(selection);\n }\n findPropertyToUpdate();\n}\n\nconst getAutocompleteSuggestions = async (e) => {\n let innerText = e.target.value\n await requestAutocompleteSuggestions({ voc, text: innerText, base: instance.api.baseUrl }).then((response) => {\n // filter OP_DATPRO\n const updatedArray = response.data.result.results.filter(obj => obj.id !== 'OP_DATPRO');\n\n const results = updatedArray.map((r) => ({\n name: getTranslationFor(r.pref_label, locale.value, []) + \" (\" + r.id + \")\",\n resource: r.resource,\n }));\n if (results.length === 0) {\n matches.value = { value: { name: matchesNothingFound } }\n }\n else matches.value = results;\n });\n}\n\nfunction removeProperty(e) {\n props.context.node.input({})\n setValue('erase');\n}\nfunction removeMultipleProperty(e) {\n\n if (instance.content.dataProviderInterface.annifIntegration) {\n fillAnnifsuggestions()\n }\n if (listOfValues.value.length > 0) {\n cacheList = listOfValues.value\n }\n // Get Index in the array where all values of the Span are stored and cut it out of the list of Values\n cacheList.splice(cacheList.findIndex((element) => element.name == e.name), 1)\n selection = cacheList;\n props.context.node.input(selection);\n findPropertyToUpdate();\n}\n</script>\n"],"names":["instance","getCurrentInstance","requestAutocompleteSuggestions","requestResourceName","useAutocomplete","props","__props","useStore","t","te","locale","useI18n","listOfValues","computed","selection","voc","matchesSearchstring","matchesNothingFound","matches","ref","activeList","dropdownList","acInput","inputText","cacheList","annifList","annifTrigger","annifSelectionList","onMounted","inDis","watch","requestURIname","res","vocMatch","name","response","dataset","getTranslationFor","watchEffect","values","uriName","uriNameList","index","findPropertyToUpdate","trigger","finalPath","pathToLocalStorage","innerIndex","ntry","e","onClickOutside","event","annifHandlerTheme","input","limit","finalLimit","query","qs","config","axios","i","annifCacheList","element","eraseDuplicates","error","updateAnnifselection","item","fillAnnifsuggestions","setValue","array1","array2","mergedArray","filteredArray","resourceSet","obj","limitChange","arr","getNode","resolvedPlaceholder","id","_b","_a","childKey","_d","_c","filteredProperty","filteredList","getAutocompleteSuggestions","innerText","results","r","removeProperty","removeMultipleProperty","_openBlock","_createElementBlock","_hoisted_1","_unref","_hoisted_2","_toDisplayString","$t","_createElementVNode","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","$event","_cache","_isRef","_Fragment","_renderList","match","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_16","_hoisted_17","_hoisted_18","_normalizeClass","_hoisted_20","_hoisted_21"],"mappings":"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"}
|