@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.
Files changed (117) hide show
  1. package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs +1 -2
  2. package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs.map +1 -1
  3. package/dist/catalogues/CatalogPageDatasetCard.vue.mjs +6 -7
  4. package/dist/catalogues/CatalogPageDatasetCard.vue.mjs.map +1 -1
  5. package/dist/catalogues/Catalogues.vue.mjs +2 -2
  6. package/dist/citation/DatasetCitationTable.vue.mjs +2 -2
  7. package/dist/citation/DatasetCitationTable.vue.mjs.map +1 -1
  8. package/dist/composables/useRuntimeEnv.d.ts +1 -1
  9. package/dist/configurations/config-schema/configSchema.d.ts +1 -1
  10. package/dist/data-provider-interface/CatalogueMQA.vue.mjs +216 -226
  11. package/dist/data-provider-interface/CatalogueMQA.vue.mjs.map +1 -1
  12. package/dist/data-provider-interface/DPIMenu.vue.d.ts +3 -3
  13. package/dist/data-provider-interface/DataProviderInterface.vue.d.ts +7 -7
  14. package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs +110 -106
  15. package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs.map +1 -1
  16. package/dist/data-provider-interface/components/ConditionalInput.vue.mjs +101 -82
  17. package/dist/data-provider-interface/components/ConditionalInput.vue.mjs.map +1 -1
  18. package/dist/data-provider-interface/components/DataFetchingComponent.vue.d.ts +1 -1
  19. package/dist/data-provider-interface/components/DataFetchingComponent.vue.mjs +2 -2
  20. package/dist/data-provider-interface/components/DataFetchingComponent.vue.mjs.map +1 -1
  21. package/dist/data-provider-interface/components/DistributionStepper.vue.mjs +3 -4
  22. package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
  23. package/dist/data-provider-interface/components/Dropup.vue.d.ts +1 -1
  24. package/dist/data-provider-interface/components/FileUpload.vue.d.ts +1 -1
  25. package/dist/data-provider-interface/components/FileUpload.vue.mjs +4 -4
  26. package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
  27. package/dist/data-provider-interface/components/Navigation.vue.d.ts +5 -5
  28. package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs +2 -3
  29. package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs.map +1 -1
  30. package/dist/data-provider-interface/views/DistributionOverview.vue.d.ts +2 -2
  31. package/dist/data-provider-interface/views/DistributionOverview.vue.mjs +4 -4
  32. package/dist/data-provider-interface/views/DraftsPage.vue.d.ts +2 -2
  33. package/dist/data-provider-interface/views/DraftsPage.vue.mjs +29 -34
  34. package/dist/data-provider-interface/views/DraftsPage.vue.mjs.map +1 -1
  35. package/dist/data-provider-interface/views/InputPage.vue.d.ts +7 -7
  36. package/dist/data-provider-interface/views/InputPage.vue.mjs +4 -6
  37. package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
  38. package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs +1 -1
  39. package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs.map +1 -1
  40. package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs +6 -6
  41. package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs.map +1 -1
  42. package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs +2 -2
  43. package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs.map +1 -1
  44. package/dist/data-provider-interface/views/OverviewPage.vue.d.ts +1 -1
  45. package/dist/data-provider-interface/views/OverviewPage.vue.mjs +2 -2
  46. package/dist/data-provider-interface/views/OverviewPage.vue.mjs.map +1 -1
  47. package/dist/data-provider-interface/views/PropertyChooser.vue.mjs +8 -8
  48. package/dist/data-provider-interface/views/PropertyChooser.vue.mjs.map +1 -1
  49. package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs +38 -38
  50. package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
  51. package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs +1 -2
  52. package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs.map +1 -1
  53. package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs +36 -36
  54. package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs.map +1 -1
  55. package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs +2 -2
  56. package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs.map +1 -1
  57. package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs +9 -9
  58. package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs.map +1 -1
  59. package/dist/datasetDetails/distributions/DistributionFormat.vue.d.ts +2 -2
  60. package/dist/datasetDetails/distributions/DistributionsHeader.vue.d.ts +4 -4
  61. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.d.ts +8 -8
  62. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs +3 -4
  63. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs.map +1 -1
  64. package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs +5 -7
  65. package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs.map +1 -1
  66. package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs +8 -9
  67. package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs.map +1 -1
  68. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.d.ts +2 -2
  69. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs +22 -25
  70. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs.map +1 -1
  71. package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.d.ts +2 -2
  72. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.d.ts +4 -4
  73. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs +5 -6
  74. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs.map +1 -1
  75. package/dist/datasetDetails/distributions/distributionActions/DistributionPreview.vue.d.ts +4 -4
  76. package/dist/datasetDetails/distributions/distributionActions/DistributionVisualizeButton.vue.d.ts +4 -4
  77. package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs +41 -42
  78. package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs.map +1 -1
  79. package/dist/datasetDetails/distributions/distributionDetails/DistributionDescription.vue.d.ts +6 -6
  80. package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.d.ts +16 -16
  81. package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.d.ts +2 -2
  82. package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs +3 -3
  83. package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs.map +1 -1
  84. package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.d.ts +1 -1
  85. package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs +2 -2
  86. package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.mjs +2 -2
  87. package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.d.ts +1 -1
  88. package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.d.ts +2 -2
  89. package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.d.ts +2 -2
  90. package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.mjs +2 -2
  91. package/dist/datasetDetails/navigation/DatasetDetailsNavigationPages.vue.d.ts +7 -1
  92. package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.d.ts +200 -1
  93. package/dist/datasets/DatasetsFilters.vue.mjs +2 -2
  94. package/dist/datasets/DatasetsTopControls.vue.mjs +12 -14
  95. package/dist/datasets/DatasetsTopControls.vue.mjs.map +1 -1
  96. package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.mjs +4 -4
  97. package/dist/embed/DatasetEmbedModal.vue.mjs +2 -2
  98. package/dist/embed/DatasetEmbedModal.vue.mjs.map +1 -1
  99. package/dist/embed/EmbedDataset.vue.mjs +3 -3
  100. package/dist/embed/EmbedDataset.vue.mjs.map +1 -1
  101. package/dist/embed/EmbedDatasetSnippet.vue.mjs +3 -3
  102. package/dist/embed/EmbedDatasetSnippet.vue.mjs.map +1 -1
  103. package/dist/form/Repeatable.vue2.mjs +1 -2
  104. package/dist/form/Repeatable.vue2.mjs.map +1 -1
  105. package/dist/modal/AppConfirmationDialog.vue.mjs +1 -1
  106. package/dist/modal/AppConfirmationDialog.vue.mjs.map +1 -1
  107. package/dist/pages/user/UserImprint.vue.mjs +1 -1
  108. package/dist/pages/user/UserImprint.vue.mjs.map +1 -1
  109. package/dist/pages/user/UserPrivacyPolicy.vue.mjs +1 -1
  110. package/dist/pages/user/UserPrivacyPolicy.vue.mjs.map +1 -1
  111. package/dist/piveau-hub-ui-modules.css +1 -1
  112. package/dist/services/datasetService.d.ts +1 -1
  113. package/dist/widgets/AppLink.vue.mjs +2 -2
  114. package/dist/widgets/AppLink.vue.mjs.map +1 -1
  115. package/dist/widgets/Pagination.vue.d.ts +1 -1
  116. package/dist/widgets/ResourceAccessPopup.vue.mjs +2 -2
  117. package/package.json +1 -1
@@ -1,68 +1,68 @@
1
- import { getCurrentInstance as ne, computed as L, ref as x, onMounted as ae, watch as B, watchEffect as le, openBlock as r, createElementBlock as i, unref as u, toDisplayString as v, createCommentVNode as $, createTextVNode as p, createElementVNode as s, withDirectives as X, isRef as N, vModelText as oe, Fragment as T, renderList as A, vShow as se, normalizeClass as re } from "vue";
2
- import { useStore as ie } from "vuex";
3
- import { getTranslationFor as M } from "../../utils/helpers.mjs";
4
- import { getNode as ue } from "@formkit/core";
5
- import { onClickOutside as R } from "../../external/@vueuse/core/index";
6
- import { useI18n as ce } from "vue-i18n";
7
- import de from "qs";
8
- import fe from "axios";
9
- import { useAutocomplete as pe } from "../composables/aucotomplete.mjs";
10
- const me = { class: "formkitProperty" }, ve = {
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
- }, ge = ["innerHTML"], ye = { class: "formkitCmpWrap" }, xe = { class: "formkit-outer" }, he = {
13
+ }, he = ["innerHTML"], xe = { class: "formkitCmpWrap" }, ke = { class: "formkit-outer" }, be = {
14
14
  key: 0,
15
15
  class: "d-flex formkit-inner"
16
- }, ke = { class: "autocompleteInputSingleValue" }, be = { key: 1 }, we = { class: "d-flex align-items-center justify-content-center formkit-inner mb-2" }, _e = ["placeholder"], Ce = ["onClick"], Ie = {
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
- }, Le = { class: "activeResultsAutocompleteWrapper" }, Te = ["onClick"], Ae = ["onClick"], Se = { class: "w-100 mt-4" }, Ve = { class: "d-flex justify-content-between align-items-center flex-wrap" }, Pe = {
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
- }, Oe = ["onClick"], $e = { class: "d-flex" }, Ne = {
22
+ }, Ne = ["onClick"], Me = { class: "d-flex" }, Re = {
23
23
  key: 1,
24
24
  class: "d-flex flex-wrap"
25
- }, Me = ["onClick"], Re = ["innerHTML"], Xe = {
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 = ne().appContext.app.config.globalProperties.$env;
32
- const { requestAutocompleteSuggestions: z, requestResourceName: G } = pe(), a = J;
33
- ie();
34
- const { t: j, locale: S } = ce();
35
- let g = L(() => a.context.value), c, b = a.context.attrs.voc, K = L(() => j("message.dataupload.info.searchVocabulary")), Q = L(() => j("message.dataupload.info.matchesNothingFound")), _ = x({
36
- value: { name: K }
37
- }), f = x(), D = x(null), E = x(null), h = x({}), m = [], C = [], H = x({
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
- x();
41
- let V = x({});
42
- ae(async () => {
43
- h.value = "";
40
+ h();
41
+ let P = h({});
42
+ oe(async () => {
43
+ x.value = "";
44
44
  });
45
- let q = L(() => {
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(_, async () => {
53
- }), B(V, async () => {
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 G({ voc: b, uri: n, envs: k }).then(
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 : M(o.data.result.alt_label, S.value, [])) : o != null && (t = e ? o.data.result.results.filter((l) => l.resource === n).map((l) => l.pref_label)[0].en : M(o.data.result.pref_label, S.value, []));
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
- le(async () => {
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 P(n) {
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 d = 0; d < Object.keys(t)[o].length; d++) {
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][d]).filter((w) => {
84
- w === a.context.node.name && (e.step = l[o][0], n === "erase" && (c = {}, t[e.step][e.prop] = c), t[e.step][e.prop] = c, localStorage.setItem("dpi_datasets", JSON.stringify(t)));
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", R);
89
+ window.removeEventListener("click", j);
90
90
  }
91
- R(D, (n) => f.value = !1), R(E, (n) => h.value = "");
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 = de.stringify({
95
+ let o = pe.stringify({
96
96
  text: n,
97
97
  limit: t
98
98
  });
99
- var d = {
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
- fe(d).then(async (l) => {
108
+ me(r).then(async (l) => {
109
109
  for (let y = 0; y < l.data.results.length; y++)
110
- C[y] = { name: l.data.results[y].label, resource: l.data.results[y].uri, activeValue: !1 };
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 && (C[C.length + 1] = { name: "...", resource: "invalid", activeValue: !1 }), V.value = Z(w, C);
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 Y(n) {
120
- n.resource === "invalid" ? I(5) : (O({ name: n.name, resource: n.resource }), I());
119
+ async function Z(n) {
120
+ n.resource === "invalid" ? L(5) : ($({ name: n.name, resource: n.resource }), L());
121
121
  }
122
- function Z(n, e) {
123
- let t = n.concat(e), o = [], d = /* @__PURE__ */ new Set();
122
+ function ee(n, e) {
123
+ let t = n.concat(e), o = [], r = /* @__PURE__ */ new Set();
124
124
  return t.forEach((l) => {
125
- d.has(l.resource) || (d.add(l.resource), l.activeValue || o.push(l));
125
+ r.has(l.resource) || (r.add(l.resource), l.activeValue || o.push(l));
126
126
  }), o;
127
127
  }
128
- const I = async (n) => {
129
- let e = ue("Mandatory").value["dct:description"];
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 O = async (n) => {
135
- if (h.value = "", Object.keys(n).length !== 1) {
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), c = t, await a.context.node.input(c);
143
+ t.push(e), d = t, await a.context.node.input(d);
140
144
  } else
141
- m.push({ name: n.name, resource: n.resource }), c = m, await a.context.node.input(c);
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({}), P(n)) : (c = { name: n.name, resource: n.resource }, await a.context.node.input(c));
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
- P();
151
+ O();
148
152
  }
149
- }, ee = async (n) => {
153
+ }, ne = async (n) => {
150
154
  let e = n.target.value;
151
- await z({ voc: b, text: e, base: k.api.baseUrl }).then((t) => {
152
- const d = t.data.result.results.filter((l) => l.id !== "OP_DATPRO").map((l) => ({
153
- name: M(l.pref_label, S.value, []) + " (" + l.id + ")",
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
- d.length === 0 ? _.value = { value: { name: Q } } : _.value = d;
160
+ r.length === 0 ? C.value = { value: { name: Y } } : C.value = r;
157
161
  });
158
162
  };
159
- function te(n) {
160
- a.context.node.input({}), O("erase");
163
+ function ae(n) {
164
+ a.context.node.input({}), $("erase");
161
165
  }
162
166
  function W(n) {
163
- k.content.dataProviderInterface.annifIntegration && I(), g.value.length > 0 && (m = g.value), m.splice(m.findIndex((e) => e.name == n.name), 1), c = m, a.context.node.input(c), P();
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) => (r(), i("div", me, [
166
- u(q) ? (r(), i("h4", ve, v(n.$t("message.dataupload.distributions." + a.context.attrs.identifier + ".label")), 1)) : $("", !0),
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" && !u(q) ? (r(), i("h4", {
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, ge)) : $("", !0),
175
+ }, null, 8, he)) : N("", !0),
172
176
  e[15] || (e[15] = p()),
173
- s("div", ye, [
174
- s("div", xe, [
175
- !a.context.attrs.multiple && a.context.value.name ? (r(), i("div", he, [
176
- s("a", ke, v(a.context.value.name), 1),
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: te
184
+ onClick: ae
181
185
  })
182
- ])) : (r(), i("div", be, [
183
- s("div", we, [
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: a.context.attrs.placeholder,
189
- "onUpdate:modelValue": e[0] || (e[0] = (t) => N(h) ? h.value = t : h = 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) => ee(t)),
192
- onClick: e[2] || (e[2] = (t) => N(f) ? f.value = !u(f) : f = !u(f))
193
- }, null, 40, _e), [
194
- [oe, u(h)]
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
- (r(!0), i(T, null, A(u(_), (t) => (r(), i("li", {
207
+ (i(!0), u(T, null, A(c(C), (t) => (i(), u("li", {
204
208
  key: t,
205
209
  onClick: (o) => {
206
- O(t), N(f) ? f.value = !u(f) : f = !u(f);
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, Ce))), 128))
213
+ }, v(t.name), 9, Le))), 128))
210
214
  ], 512), [
211
- [se, u(f)]
215
+ [ie, c(f)]
212
216
  ]),
213
217
  e[12] || (e[12] = p()),
214
- u(k).content.dataProviderInterface.annifIntegration && a.context.attrs.annifTheme ? (r(), i("div", Ie, [
215
- (r(!0), i(T, null, A(u(g), (t) => (r(), i("div", { key: t }, [
216
- s("div", Le, [
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, Ae)
229
- ], 8, Te)
232
+ }, null, 8, Ve)
233
+ ], 8, Se)
230
234
  ])
231
235
  ]))), 128)),
232
236
  e[9] || (e[9] = p()),
233
- s("div", Se, [
234
- s("div", Ve, [
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
- I(), u(H).value = !0;
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
- u(H).value ? (r(), i("div", Pe, [
249
- (r(!0), i(T, null, A(u(V), (t) => (r(), i("div", {
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: re(["activeResultsAutocompleteWrapper annifResults", { loadMore: t.resource === "invalid" }]),
258
+ class: ue(["activeResultsAutocompleteWrapper annifResults", { loadMore: t.resource === "invalid" }]),
255
259
  onClick: (o) => {
256
- t.activeValue = !t.activeValue, Y(t);
260
+ t.activeValue = !t.activeValue, Z(t);
257
261
  }
258
262
  }, [
259
- s("div", $e, [
263
+ s("div", Me, [
260
264
  s("span", null, v(t.name), 1)
261
265
  ])
262
- ], 10, Oe)
266
+ ], 10, Ne)
263
267
  ]))), 128))
264
- ])) : $("", !0)
268
+ ])) : N("", !0)
265
269
  ])
266
- ])) : (r(), i("div", Ne, [
267
- (r(!0), i(T, null, A(a.context.value, (t) => (r(), i("div", {
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, Me)
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, Re)
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
- Xe as default
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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"}