@piveau/piveau-hub-ui-modules 4.4.6 → 4.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import { getCurrentInstance as ee, computed as L, ref as h, onMounted as te, watch as H, watchEffect as ne, openBlock as r, createElementBlock as i, unref as u, toDisplayString as v, createCommentVNode as O, createTextVNode as p, createElementVNode as s, withDirectives as W, isRef as $, vModelText as ae, Fragment as S, renderList as V, vShow as le, normalizeClass as oe } from "vue";
2
- import { useStore as se } from "vuex";
1
+ import { getCurrentInstance as ee, computed as L, ref as y, onMounted as te, watch as F, watchEffect as ne, openBlock as r, createElementBlock as i, unref as u, toDisplayString as m, createCommentVNode as O, createTextVNode as p, createElementVNode as l, withDirectives as W, isRef as $, vModelText as ae, Fragment as S, renderList as T, vShow as se, normalizeClass as oe } from "vue";
2
+ import { useStore as le } from "vuex";
3
3
  import { getTranslationFor as N } from "../../utils/helpers.mjs";
4
4
  import { getNode as re } from "@formkit/core";
5
5
  import { onClickOutside as B } from "../../external/@vueuse/core/index";
@@ -12,86 +12,92 @@ const de = { class: "formkitProperty" }, fe = {
12
12
  }, pe = { key: 1 }, me = { class: "formkitCmpWrap" }, ve = { class: "formkit-outer" }, ge = {
13
13
  key: 0,
14
14
  class: "d-flex formkit-inner"
15
- }, ye = { class: "autocompleteInputSingleValue" }, he = { key: 1 }, xe = { class: "d-flex align-items-center justify-content-center formkit-inner mb-2" }, ke = ["placeholder"], be = ["onClick"], we = {
15
+ }, he = { class: "autocompleteInputSingleValue" }, ye = { key: 1 }, xe = { class: "d-flex align-items-center justify-content-center formkit-inner mb-2" }, ke = ["placeholder"], be = ["onClick"], we = {
16
16
  key: 0,
17
17
  class: "d-flex flex-wrap"
18
- }, _e = { class: "activeResultsAutocompleteWrapper" }, Ce = ["onClick"], Ie = ["onClick"], Le = { class: "w-100 mt-4" }, Se = { class: "d-flex justify-content-between align-items-center flex-wrap" }, Ve = {
18
+ }, _e = { class: "activeResultsAutocompleteWrapper" }, Ce = ["onClick"], Ie = ["onClick"], Le = { class: "w-100 mt-4" }, Se = { class: "d-flex justify-content-between align-items-center flex-wrap" }, Te = {
19
19
  key: 0,
20
20
  class: "annifresultContainer"
21
- }, Ae = ["onClick"], Te = { class: "d-flex" }, Pe = {
21
+ }, Ve = ["onClick"], Ae = { class: "d-flex" }, Pe = {
22
22
  key: 1,
23
23
  class: "d-flex flex-wrap"
24
- }, Oe = ["onClick"], $e = { class: "formkit-wrapper" }, Ne = ["innerHTML"], He = {
24
+ }, Oe = ["onClick"], $e = {
25
+ key: 2,
26
+ class: "formkit-wrapper"
27
+ }, Ne = ["innerHTML"], Me = {
28
+ key: 3,
29
+ class: "formkit-wrapper"
30
+ }, Re = ["innerHTML"], Be = {
25
31
  __name: "AutocompleteInput",
26
32
  props: {
27
33
  context: Object
28
34
  },
29
35
  setup(X) {
30
36
  let x = ee().appContext.app.config.globalProperties.$env;
31
- const l = X, R = se(), { t: j, locale: J } = ie();
32
- let g = L(() => l.context.value), c, b = l.context.attrs.voc, z = L(() => j("message.dataupload.info.searchVocabulary")), G = L(() => j("message.dataupload.info.matchesNothingFound")), _ = h({
37
+ const a = X, M = le(), { t: R, locale: J } = ie();
38
+ let g = L(() => a.context.value), c, b = a.context.attrs.voc, z = L(() => R("message.dataupload.info.searchVocabulary")), G = L(() => R("message.dataupload.info.matchesNothingFound")), _ = y({
33
39
  value: { name: z }
34
- }), f = h(), M = h(null), k = h({}), m = [], C = [], D = h({
40
+ }), f = y(), j = y(null), k = y({}), v = [], C = [], D = y({
35
41
  value: !1
36
42
  });
37
- h();
38
- let A = h({});
43
+ y();
44
+ let V = y({});
39
45
  te(async () => {
40
46
  k.value = "";
41
47
  });
42
48
  let E = L(() => {
43
49
  try {
44
- if (l.context.attrs.class.includes("inDistribution"))
50
+ if (a.context.attrs.class.includes("inDistribution"))
45
51
  return !0;
46
52
  } catch {
47
53
  }
48
54
  });
49
- H(_, async () => {
50
- }), H(A, async () => {
55
+ F(_, async () => {
56
+ }), F(V, async () => {
51
57
  });
52
- const q = async (n) => {
58
+ const H = async (n) => {
53
59
  if (n != null) {
54
- let t = b === "iana-media-types" || b === "spdx-checksum-algorithm", e;
55
- return await R.dispatch("dpiStore/requestResourceName", { voc: b, uri: n, envs: x }).then(
60
+ let e = b === "iana-media-types" || b === "spdx-checksum-algorithm", t;
61
+ return await M.dispatch("dpiStore/requestResourceName", { voc: b, uri: n, envs: x }).then(
56
62
  (o) => {
57
- l.context.attrs.property === "dcatde:politicalGeocodingURI" ? o != null && (e = t ? o.data.result.results.filter((a) => a.resource === n).map((a) => a.alt_label)[0].en : N(o.data.result.alt_label, "en", [])) : o != null && (e = t ? o.data.result.results.filter((a) => a.resource === n).map((a) => a.pref_label)[0].en : N(o.data.result.pref_label, "en", []));
63
+ a.context.attrs.property === "dcatde:politicalGeocodingURI" ? o != null && (t = e ? o.data.result.results.filter((s) => s.resource === n).map((s) => s.alt_label)[0].en : N(o.data.result.alt_label, "en", [])) : o != null && (t = e ? o.data.result.results.filter((s) => s.resource === n).map((s) => s.pref_label)[0].en : N(o.data.result.pref_label, "en", []));
58
64
  }
59
- ), e;
65
+ ), t;
60
66
  }
61
67
  };
62
68
  ne(async () => {
63
69
  const n = g.value;
64
70
  if (n.hasOwnProperty("name") && n.name === n.resource) {
65
- let t;
66
- l.context.attrs.multiple || (t = q(n.resource), l.context.node.input({ name: await t, resource: n.resource }));
71
+ let e;
72
+ a.context.attrs.multiple || (e = H(n.resource), a.context.node.input({ name: await e, resource: n.resource }));
67
73
  }
68
74
  if (n.length >= 1) {
69
- let t = [];
70
- for (let e = 0; e < n.length; e++)
71
- n[e].name === n[e].resource && (t.push({ name: await q(n[e].resource), resource: n[e].resource }), l.context.node.input(t));
75
+ let e = [];
76
+ for (let t = 0; t < n.length; t++)
77
+ n[t].name === n[t].resource && (e.push({ name: await H(n[t].resource), resource: n[t].resource }), a.context.node.input(e));
72
78
  }
73
79
  });
74
- function T(n) {
75
- let t = { step: "", prop: l.context.node.name }, e = JSON.parse(localStorage.getItem("dpi_datasets"));
76
- for (let o = 0; o < Object.keys(e).length; o++)
77
- for (let d = 0; d < Object.keys(e)[o].length; d++) {
78
- let a = Object.entries(e);
80
+ function A(n) {
81
+ let e = { step: "", prop: a.context.node.name }, t = JSON.parse(localStorage.getItem("dpi_datasets"));
82
+ for (let o = 0; o < Object.keys(t).length; o++)
83
+ for (let d = 0; d < Object.keys(t)[o].length; d++) {
84
+ let s = Object.entries(t);
79
85
  try {
80
- Object.keys(a[o][d]).filter((w) => {
81
- w === l.context.node.name && (t.step = a[o][0], n === "erase" && (c = {}, e[t.step][t.prop] = c), e[t.step][t.prop] = c, localStorage.setItem("dpi_datasets", JSON.stringify(e)));
86
+ Object.keys(s[o][d]).filter((w) => {
87
+ w === a.context.node.name && (e.step = s[o][0], n === "erase" && (c = {}, t[e.step][e.prop] = c), t[e.step][e.prop] = c, localStorage.setItem("dpi_datasets", JSON.stringify(t)));
82
88
  });
83
89
  } catch {
84
90
  }
85
91
  }
86
92
  window.removeEventListener("click", B);
87
93
  }
88
- B(M, (n) => f.value = !1);
89
- let U = async (n, t) => {
90
- let e = 10;
91
- t != null && (e = e + 10);
94
+ B(j, (n) => f.value = !1);
95
+ let q = async (n, e) => {
96
+ let t = 10;
97
+ e != null && (t = t + 10);
92
98
  let o = ue.stringify({
93
99
  text: n,
94
- limit: e
100
+ limit: t
95
101
  });
96
102
  var d = {
97
103
  method: "post",
@@ -102,177 +108,184 @@ const de = { class: "formkitProperty" }, fe = {
102
108
  },
103
109
  data: o
104
110
  };
105
- ce(d).then(async (a) => {
106
- for (let y = 0; y < a.data.results.length; y++)
107
- C[y] = { name: a.data.results[y].label, resource: a.data.results[y].uri, activeValue: !1 };
111
+ ce(d).then(async (s) => {
112
+ for (let h = 0; h < s.data.results.length; h++)
113
+ C[h] = { name: s.data.results[h].label, resource: s.data.results[h].uri, activeValue: !1 };
108
114
  let w = [];
109
- g.value.length > 0 && g.value.forEach((y) => {
110
- w.push({ name: y.name, resource: y.resource, activeValue: !0 });
111
- }), a.data.results.length > 9 && (C[C.length + 1] = { name: "...", resource: "invalid", activeValue: !1 }), A.value = Q(w, C);
112
- }).catch(function(a) {
113
- console.log(a);
115
+ g.value.length > 0 && g.value.forEach((h) => {
116
+ w.push({ name: h.name, resource: h.resource, activeValue: !0 });
117
+ }), s.data.results.length > 9 && (C[C.length + 1] = { name: "...", resource: "invalid", activeValue: !1 }), V.value = Q(w, C);
118
+ }).catch(function(s) {
119
+ console.log(s);
114
120
  });
115
121
  };
116
122
  async function K(n) {
117
123
  n.resource === "invalid" ? I(5) : (P({ name: n.name, resource: n.resource }), I());
118
124
  }
119
- function Q(n, t) {
120
- let e = n.concat(t), o = [], d = /* @__PURE__ */ new Set();
121
- return e.forEach((a) => {
122
- d.has(a.resource) || (d.add(a.resource), a.activeValue || o.push(a));
125
+ function Q(n, e) {
126
+ let t = n.concat(e), o = [], d = /* @__PURE__ */ new Set();
127
+ return t.forEach((s) => {
128
+ d.has(s.resource) || (d.add(s.resource), s.activeValue || o.push(s));
123
129
  }), o;
124
130
  }
125
131
  const I = async (n) => {
126
- let t = re("Mandatory").value["dct:description"];
127
- for (let e = 0; e < t.length; e++)
128
- t[e]["@language"] === "en" && (n != null ? await U(t[e]["@value"], 5) : await U(t[e]["@value"]));
132
+ let e = re("Mandatory").value["dct:description"];
133
+ for (let t = 0; t < e.length; t++)
134
+ e[t]["@language"] === "en" && (n != null ? await q(e[t]["@value"], 5) : await q(e[t]["@value"]));
129
135
  };
130
- l.context.classes.outer += " autocompleteInput " + l.context.attrs.identifier;
136
+ a.context.classes.outer += " autocompleteInput " + a.context.attrs.identifier;
131
137
  const P = async (n) => {
132
138
  if (k.value = "", Object.keys(n).length !== 1) {
133
- if (g.value.length > 0 && (m = g.value), l.context.attrs.multiple)
134
- if (m.length != 0) {
135
- let t = { name: n.name, resource: n.resource }, e = m.filter((o) => o.name != n.name);
136
- e.push(t), c = e, await l.context.node.input(c);
139
+ if (g.value.length > 0 && (v = g.value), a.context.attrs.multiple)
140
+ if (v.length != 0) {
141
+ let e = { name: n.name, resource: n.resource }, t = v.filter((o) => o.name != n.name);
142
+ t.push(e), c = t, await a.context.node.input(c);
137
143
  } else
138
- m.push({ name: n.name, resource: n.resource }), c = m, await l.context.node.input(c);
144
+ v.push({ name: n.name, resource: n.resource }), c = v, await a.context.node.input(c);
139
145
  else {
140
146
  if (n.resource === "invalid")
141
147
  return;
142
- n === "erase" ? (await l.context.node.input({}), T(n)) : (c = { name: n.name, resource: n.resource }, await l.context.node.input(c));
148
+ n === "erase" ? (await a.context.node.input({}), A(n)) : (c = { name: n.name, resource: n.resource }, await a.context.node.input(c));
143
149
  }
144
- T();
150
+ A();
145
151
  }
146
152
  }, Y = async (n) => {
147
- let t = n.target.value;
148
- await R.dispatch("dpiStore/requestAutocompleteSuggestions", { voc: b, text: t, base: x.api.baseUrl }).then((e) => {
149
- const d = e.data.result.results.filter((a) => a.id !== "OP_DATPRO").map((a) => ({
150
- name: N(a.pref_label, J.value, []) + " (" + a.id + ")",
151
- resource: a.resource
153
+ let e = n.target.value;
154
+ await M.dispatch("dpiStore/requestAutocompleteSuggestions", { voc: b, text: e, base: x.api.baseUrl }).then((t) => {
155
+ const d = t.data.result.results.filter((s) => s.id !== "OP_DATPRO").map((s) => ({
156
+ name: N(s.pref_label, J.value, []) + " (" + s.id + ")",
157
+ resource: s.resource
152
158
  }));
153
159
  d.length === 0 ? _.value = { value: { name: G } } : _.value = d;
154
160
  });
155
161
  };
156
162
  function Z(n) {
157
- l.context.node.input({}), P("erase");
163
+ a.context.node.input({}), P("erase");
158
164
  }
159
- function F(n) {
160
- x.content.dataProviderInterface.annifIntegration && I(), g.value.length > 0 && (m = g.value), m.splice(m.findIndex((t) => t.name == n.name), 1), c = m, l.context.node.input(c), T();
165
+ function U(n) {
166
+ x.content.dataProviderInterface.annifIntegration && I(), g.value.length > 0 && (v = g.value), v.splice(v.findIndex((e) => e.name == n.name), 1), c = v, a.context.node.input(c), A();
161
167
  }
162
- return (n, t) => (r(), i("div", de, [
163
- u(E) ? (r(), i("h4", fe, v(n.$t("message.dataupload.distributions." + l.context.attrs.identifier + ".label")), 1)) : O("", !0),
164
- t[13] || (t[13] = p()),
165
- l.context.attrs.identifier != "licence" && !u(E) ? (r(), i("h4", pe, v(n.$t("message.dataupload.datasets." + l.context.attrs.identifier + ".label")), 1)) : O("", !0),
166
- t[14] || (t[14] = p()),
167
- s("div", me, [
168
- s("div", ve, [
169
- !l.context.attrs.multiple && l.context.value.name ? (r(), i("div", ge, [
170
- s("a", ye, v(l.context.value.name), 1),
171
- t[4] || (t[4] = p()),
172
- s("div", {
168
+ return (n, e) => (r(), i("div", de, [
169
+ u(E) ? (r(), i("h4", fe, m(n.$t("message.dataupload.distributions." + a.context.attrs.identifier + ".label")), 1)) : O("", !0),
170
+ e[14] || (e[14] = p()),
171
+ a.context.attrs.identifier != "licence" && !u(E) ? (r(), i("h4", pe, m(n.$t("message.dataupload.datasets." + a.context.attrs.identifier + ".label")), 1)) : O("", !0),
172
+ e[15] || (e[15] = p()),
173
+ l("div", me, [
174
+ l("div", ve, [
175
+ !a.context.attrs.multiple && a.context.value.name ? (r(), i("div", ge, [
176
+ l("a", he, m(a.context.value.name), 1),
177
+ e[4] || (e[4] = p()),
178
+ l("div", {
173
179
  class: "removeX",
174
180
  onClick: Z
175
181
  })
176
- ])) : (r(), i("div", he, [
177
- s("div", xe, [
178
- W(s("input", {
182
+ ])) : (r(), i("div", ye, [
183
+ l("div", xe, [
184
+ W(l("input", {
179
185
  class: "autocompleteInputfield",
180
- placeholder: l.context.attrs.placeholder,
181
- "onUpdate:modelValue": t[0] || (t[0] = (e) => $(k) ? k.value = e : k = e),
186
+ placeholder: a.context.attrs.placeholder,
187
+ "onUpdate:modelValue": e[0] || (e[0] = (t) => $(k) ? k.value = t : k = t),
182
188
  type: "text",
183
- onKeyup: t[1] || (t[1] = (e) => Y(e)),
184
- onClick: t[2] || (t[2] = (e) => $(f) ? f.value = !u(f) : f = !u(f))
189
+ onKeyup: e[1] || (e[1] = (t) => Y(t)),
190
+ onClick: e[2] || (e[2] = (t) => $(f) ? f.value = !u(f) : f = !u(f))
185
191
  }, null, 40, ke), [
186
192
  [ae, u(k)]
187
193
  ])
188
194
  ]),
189
- t[10] || (t[10] = p()),
190
- W(s("ul", {
195
+ e[11] || (e[11] = p()),
196
+ W(l("ul", {
191
197
  ref_key: "dropdownList",
192
- ref: M,
198
+ ref: j,
193
199
  class: "autocompleteResultList"
194
200
  }, [
195
- (r(!0), i(S, null, V(u(_), (e) => (r(), i("li", {
196
- key: e,
201
+ (r(!0), i(S, null, T(u(_), (t) => (r(), i("li", {
202
+ key: t,
197
203
  onClick: (o) => {
198
- P(e), $(f) ? f.value = !u(f) : f = !u(f);
204
+ P(t), $(f) ? f.value = !u(f) : f = !u(f);
199
205
  },
200
206
  class: "p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC"
201
- }, v(e.name), 9, be))), 128))
207
+ }, m(t.name), 9, be))), 128))
202
208
  ], 512), [
203
- [le, u(f)]
209
+ [se, u(f)]
204
210
  ]),
205
- t[11] || (t[11] = p()),
206
- u(x).content.dataProviderInterface.annifIntegration && l.context.attrs.annifTheme ? (r(), i("div", we, [
207
- (r(!0), i(S, null, V(u(g), (e) => (r(), i("div", { key: e }, [
208
- s("div", _e, [
209
- s("div", {
211
+ e[12] || (e[12] = p()),
212
+ u(x).content.dataProviderInterface.annifIntegration && a.context.attrs.annifTheme ? (r(), i("div", we, [
213
+ (r(!0), i(S, null, T(u(g), (t) => (r(), i("div", { key: t }, [
214
+ l("div", _e, [
215
+ l("div", {
210
216
  class: "d-flex",
211
217
  onClick: (o) => {
212
- e.activeValue = !e.activeValue;
218
+ t.activeValue = !t.activeValue;
213
219
  }
214
220
  }, [
215
- s("span", null, v(e.name), 1),
216
- t[5] || (t[5] = p()),
217
- s("div", {
221
+ l("span", null, m(t.name), 1),
222
+ e[5] || (e[5] = p()),
223
+ l("div", {
218
224
  class: "removeX",
219
- onClick: (o) => F(e)
225
+ onClick: (o) => U(t)
220
226
  }, null, 8, Ie)
221
227
  ], 8, Ce)
222
228
  ])
223
229
  ]))), 128)),
224
- t[8] || (t[8] = p()),
225
- s("div", Le, [
226
- s("div", Se, [
227
- s("h3", null, v(n.$t("message.dataupload.info.suggestions")), 1),
228
- t[6] || (t[6] = p()),
229
- s("button", {
230
+ e[9] || (e[9] = p()),
231
+ l("div", Le, [
232
+ l("div", Se, [
233
+ l("h3", null, m(n.$t("message.dataupload.info.suggestions")), 1),
234
+ e[6] || (e[6] = p()),
235
+ l("span", null, m(n.$t("message.dataupload.info.suggestionText")), 1),
236
+ e[7] || (e[7] = p()),
237
+ l("button", {
230
238
  class: "navlikeButton",
231
239
  type: "button",
232
- onClick: t[3] || (t[3] = (e) => {
240
+ onClick: e[3] || (e[3] = (t) => {
233
241
  I(), u(D).value = !0;
234
242
  })
235
- }, v(n.$t("message.dataupload.info.tryIt")), 1)
243
+ }, m(n.$t("message.dataupload.info.tryIt")), 1)
236
244
  ]),
237
- t[7] || (t[7] = p()),
238
- u(D).value ? (r(), i("div", Ve, [
239
- (r(!0), i(S, null, V(u(A), (e) => (r(), i("div", {
240
- key: e,
245
+ e[8] || (e[8] = p()),
246
+ u(D).value ? (r(), i("div", Te, [
247
+ (r(!0), i(S, null, T(u(V), (t) => (r(), i("div", {
248
+ key: t,
241
249
  class: "d-flex"
242
250
  }, [
243
- s("div", {
244
- class: oe(["activeResultsAutocompleteWrapper annifResults", { loadMore: e.resource === "invalid" }]),
251
+ l("div", {
252
+ class: oe(["activeResultsAutocompleteWrapper annifResults", { loadMore: t.resource === "invalid" }]),
245
253
  onClick: (o) => {
246
- e.activeValue = !e.activeValue, K(e);
254
+ t.activeValue = !t.activeValue, K(t);
247
255
  }
248
256
  }, [
249
- s("div", Te, [
250
- s("span", null, v(e.name), 1)
257
+ l("div", Ae, [
258
+ l("span", null, m(t.name), 1)
251
259
  ])
252
- ], 10, Ae)
260
+ ], 10, Ve)
253
261
  ]))), 128))
254
262
  ])) : O("", !0)
255
263
  ])
256
264
  ])) : (r(), i("div", Pe, [
257
- (r(!0), i(S, null, V(l.context.value, (e) => (r(), i("div", {
265
+ (r(!0), i(S, null, T(a.context.value, (t) => (r(), i("div", {
258
266
  class: "activeResultsAutocompleteWrapper",
259
- key: e
267
+ key: t
260
268
  }, [
261
- s("span", null, v(e.name), 1),
262
- t[9] || (t[9] = p()),
263
- s("div", {
269
+ l("span", null, m(t.name), 1),
270
+ e[10] || (e[10] = p()),
271
+ l("div", {
264
272
  class: "removeX",
265
- onClick: (o) => F(e)
273
+ onClick: (o) => U(t)
266
274
  }, null, 8, Oe)
267
275
  ]))), 128))
268
276
  ])),
269
- t[12] || (t[12] = p()),
270
- s("div", $e, [
271
- s("div", {
272
- innerHTML: n.$t("message.dataupload.distributions.licence.vocabulary.help"),
277
+ e[13] || (e[13] = p()),
278
+ a.context.attrs.identifier == "theme" ? (r(), i("div", $e, [
279
+ l("div", {
280
+ innerHTML: a.context.help,
273
281
  class: "formkit-help"
274
282
  }, null, 8, Ne)
275
- ])
283
+ ])) : (r(), i("div", Me, [
284
+ l("div", {
285
+ innerHTML: n.$t("message.dataupload.distributions.licence.vocabulary.help"),
286
+ class: "formkit-help"
287
+ }, null, 8, Re)
288
+ ]))
276
289
  ]))
277
290
  ])
278
291
  ])
@@ -280,6 +293,6 @@ const de = { class: "formkitProperty" }, fe = {
280
293
  }
281
294
  };
282
295
  export {
283
- He as default
296
+ Be as default
284
297
  };
285
298
  //# 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\">{{ $t('message.dataupload.datasets.' +\n props.context.attrs.identifier + '.label') }}</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 <input class=\"autocompleteInputfield\" :placeholder=\"props.context.attrs.placeholder\" v-model=\"inputText\"\n type=\"text\" v-on:keyup=\"getAutocompleteSuggestions($event)\" @click=\"activeList = !activeList\">\n </div>\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 <div class=\"formkit-wrapper\">\n <div v-html=\"$t('message.dataupload.distributions.licence.vocabulary.help')\" class=\"formkit-help\"></div>\n </div>\n <!-- div class=\"formkit-wrapper\">\n <div v-html=\"props.context.help\" class=\"formkit-help\"></div>\n </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';\n\nlet instance = getCurrentInstance().appContext.app.config.globalProperties.$env\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 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 store.dispatch('dpiStore/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, 'en', []);\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, 'en', []);\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)\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 store.dispatch('dpiStore/requestAutocompleteSuggestions', { voc: 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","props","__props","store","useStore","t","locale","useI18n","listOfValues","computed","selection","voc","matchesSearchstring","matchesNothingFound","matches","ref","activeList","dropdownList","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"],"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\">{{ $t('message.dataupload.datasets.' +\n props.context.attrs.identifier + '.label') }}</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 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 <div v-if=\"props.context.attrs.identifier == 'theme' \" class=\"formkit-wrapper\">\n <div v-html=\"props.context.help\" class=\"formkit-help\"></div>\n </div>\n <div v-else class=\"formkit-wrapper\">\n <div v-html=\"$t('message.dataupload.distributions.licence.vocabulary.help')\" class=\"formkit-help\"></div>\n </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';\n\nlet instance = getCurrentInstance().appContext.app.config.globalProperties.$env\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 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 store.dispatch('dpiStore/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, 'en', []);\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, 'en', []);\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)\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 store.dispatch('dpiStore/requestAutocompleteSuggestions', { voc: 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","props","__props","store","useStore","t","locale","useI18n","listOfValues","computed","selection","voc","matchesSearchstring","matchesNothingFound","matches","ref","activeList","dropdownList","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"],"mappings":"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"}
@@ -7,9 +7,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
7
7
  type: BooleanConstructor;
8
8
  default: boolean;
9
9
  };
10
- }>, {}, {
11
- resolvedConfirm: string;
12
- }, {}, {
10
+ }>, {
11
+ resolvedConfirm: import('vue').ComputedRef<string>;
12
+ }, {}, {}, {
13
13
  handleHeader(): void;
14
14
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
15
15
  confirm: {