@piveau/piveau-hub-ui-modules 4.4.19 → 4.4.21

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,74 +1,74 @@
1
- import { getCurrentInstance as ee, computed as L, ref as h, onMounted as te, watch as F, 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 T, vShow as le, normalizeClass as oe } from "vue";
2
- import { useStore as se } from "vuex";
1
+ import { getCurrentInstance as te, computed as L, ref as h, onMounted as ne, watch as B, watchEffect as ae, openBlock as r, createElementBlock as i, unref as u, toDisplayString as v, createCommentVNode as O, createTextVNode as p, createElementVNode as s, withDirectives as X, isRef as $, vModelText as le, Fragment as S, renderList as T, vShow as oe, normalizeClass as se } from "vue";
2
+ import { useStore as re } from "vuex";
3
3
  import { getTranslationFor as N } from "../../utils/helpers.mjs";
4
- import { getNode as re } from "@formkit/core";
5
- import { onClickOutside as B } from "../../external/@vueuse/core/index";
6
- import { useI18n as ie } from "vue-i18n";
7
- import ue from "qs";
8
- import ce from "axios";
9
- const de = { class: "formkitProperty" }, fe = {
4
+ import { getNode as ie } from "@formkit/core";
5
+ import { onClickOutside as M } from "../../external/@vueuse/core/index";
6
+ import { useI18n as ue } from "vue-i18n";
7
+ import ce from "qs";
8
+ import de from "axios";
9
+ const fe = { class: "formkitProperty" }, pe = {
10
10
  key: 0,
11
11
  class: "formkitHeader"
12
- }, pe = ["innerHTML"], me = { class: "formkitCmpWrap" }, ve = { class: "formkit-outer" }, ge = {
12
+ }, me = ["innerHTML"], ve = { class: "formkitCmpWrap" }, ge = { class: "formkit-outer" }, ye = {
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" }, xe = { key: 1 }, ke = { class: "d-flex align-items-center justify-content-center formkit-inner mb-2" }, be = ["placeholder"], we = ["onClick"], _e = {
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" }, Te = {
18
+ }, Ce = { class: "activeResultsAutocompleteWrapper" }, Ie = ["onClick"], Le = ["onClick"], Se = { class: "w-100 mt-4" }, Te = { class: "d-flex justify-content-between align-items-center flex-wrap" }, Ve = {
19
19
  key: 0,
20
20
  class: "annifresultContainer"
21
- }, Ve = ["onClick"], Ae = { class: "d-flex" }, Pe = {
21
+ }, Ae = ["onClick"], Pe = { class: "d-flex" }, Oe = {
22
22
  key: 1,
23
23
  class: "d-flex flex-wrap"
24
- }, Oe = ["onClick"], $e = ["innerHTML"], Ue = {
24
+ }, $e = ["onClick"], Ne = ["innerHTML"], Fe = {
25
25
  __name: "AutocompleteInput",
26
26
  props: {
27
27
  context: Object
28
28
  },
29
- setup(X) {
30
- let x = ee().appContext.app.config.globalProperties.$env;
31
- const a = X, M = se(), { t: R, locale: J } = ie();
32
- 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")), _ = h({
33
- value: { name: z }
34
- }), f = h(), j = h(null), k = h({}), m = [], C = [], D = h({
29
+ setup(J) {
30
+ let k = te().appContext.app.config.globalProperties.$env;
31
+ const a = J, R = re(), { t: j, locale: z } = ue();
32
+ let g = L(() => a.context.value), c, b = a.context.attrs.voc, G = L(() => j("message.dataupload.info.searchVocabulary")), K = L(() => j("message.dataupload.info.matchesNothingFound")), _ = h({
33
+ value: { name: G }
34
+ }), f = h(), D = h(null), E = h(null), x = h({}), m = [], C = [], H = h({
35
35
  value: !1
36
36
  });
37
37
  h();
38
38
  let V = h({});
39
- te(async () => {
40
- k.value = "";
39
+ ne(async () => {
40
+ x.value = "";
41
41
  });
42
- let E = L(() => {
42
+ let q = L(() => {
43
43
  try {
44
44
  if (a.context.attrs.class.includes("inDistribution"))
45
45
  return !0;
46
46
  } catch {
47
47
  }
48
48
  });
49
- F(_, async () => {
50
- }), F(V, async () => {
49
+ B(_, async () => {
50
+ }), B(V, async () => {
51
51
  });
52
- const H = async (n) => {
52
+ const U = async (n) => {
53
53
  if (n != null) {
54
54
  let e = b === "iana-media-types" || b === "spdx-checksum-algorithm", t;
55
- return await M.dispatch("dpiStore/requestResourceName", { voc: b, uri: n, envs: x }).then(
55
+ return await R.dispatch("dpiStore/requestResourceName", { voc: b, uri: n, envs: k }).then(
56
56
  (o) => {
57
57
  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 : N(o.data.result.alt_label, "en", [])) : o != null && (t = e ? o.data.result.results.filter((l) => l.resource === n).map((l) => l.pref_label)[0].en : N(o.data.result.pref_label, "en", []));
58
58
  }
59
59
  ), t;
60
60
  }
61
61
  };
62
- ne(async () => {
62
+ ae(async () => {
63
63
  const n = g.value;
64
64
  if (n.hasOwnProperty("name") && n.name === n.resource) {
65
65
  let e;
66
- a.context.attrs.multiple || (e = H(n.resource), a.context.node.input({ name: await e, resource: n.resource }));
66
+ a.context.attrs.multiple || (e = U(n.resource), a.context.node.input({ name: await e, resource: n.resource }));
67
67
  }
68
68
  if (n.length >= 1) {
69
69
  let e = [];
70
70
  for (let t = 0; t < n.length; t++)
71
- n[t].name === n[t].resource && (e.push({ name: await H(n[t].resource), resource: n[t].resource }), a.context.node.input(e));
71
+ n[t].name === n[t].resource && (e.push({ name: await U(n[t].resource), resource: n[t].resource }), a.context.node.input(e));
72
72
  }
73
73
  });
74
74
  function A(n) {
@@ -83,53 +83,53 @@ const de = { class: "formkitProperty" }, fe = {
83
83
  } catch {
84
84
  }
85
85
  }
86
- window.removeEventListener("click", B);
86
+ window.removeEventListener("click", M);
87
87
  }
88
- B(j, (n) => f.value = !1);
89
- let q = async (n, e) => {
88
+ M(D, (n) => f.value = !1), M(E, (n) => x.value = "");
89
+ let F = async (n, e) => {
90
90
  let t = 10;
91
91
  e != null && (t = t + 10);
92
- let o = ue.stringify({
92
+ let o = ce.stringify({
93
93
  text: n,
94
94
  limit: t
95
95
  });
96
96
  var d = {
97
97
  method: "post",
98
- url: b == "eurovoc" ? x.content.dataProviderInterface.annifLinkSubject : x.content.dataProviderInterface.annifLinkTheme,
98
+ url: b == "eurovoc" ? k.content.dataProviderInterface.annifLinkSubject : k.content.dataProviderInterface.annifLinkTheme,
99
99
  headers: {
100
100
  "Content-Type": "application/x-www-form-urlencoded",
101
101
  Accept: "application/json"
102
102
  },
103
103
  data: o
104
104
  };
105
- ce(d).then(async (l) => {
105
+ de(d).then(async (l) => {
106
106
  for (let y = 0; y < l.data.results.length; y++)
107
107
  C[y] = { name: l.data.results[y].label, resource: l.data.results[y].uri, activeValue: !1 };
108
108
  let w = [];
109
109
  g.value.length > 0 && g.value.forEach((y) => {
110
110
  w.push({ name: y.name, resource: y.resource, activeValue: !0 });
111
- }), l.data.results.length > 9 && (C[C.length + 1] = { name: "...", resource: "invalid", activeValue: !1 }), V.value = Q(w, C);
111
+ }), l.data.results.length > 9 && (C[C.length + 1] = { name: "...", resource: "invalid", activeValue: !1 }), V.value = Y(w, C);
112
112
  }).catch(function(l) {
113
113
  console.log(l);
114
114
  });
115
115
  };
116
- async function K(n) {
116
+ async function Q(n) {
117
117
  n.resource === "invalid" ? I(5) : (P({ name: n.name, resource: n.resource }), I());
118
118
  }
119
- function Q(n, e) {
119
+ function Y(n, e) {
120
120
  let t = n.concat(e), o = [], d = /* @__PURE__ */ new Set();
121
121
  return t.forEach((l) => {
122
122
  d.has(l.resource) || (d.add(l.resource), l.activeValue || o.push(l));
123
123
  }), o;
124
124
  }
125
125
  const I = async (n) => {
126
- let e = re("Mandatory").value["dct:description"];
126
+ let e = ie("Mandatory").value["dct:description"];
127
127
  for (let t = 0; t < e.length; t++)
128
- e[t]["@language"] === "en" && (n != null ? await q(e[t]["@value"], 5) : await q(e[t]["@value"]));
128
+ e[t]["@language"] === "en" && (n != null ? await F(e[t]["@value"], 5) : await F(e[t]["@value"]));
129
129
  };
130
130
  a.context.classes.outer += " autocompleteInput " + a.context.attrs.identifier;
131
131
  const P = async (n) => {
132
- if (k.value = "", Object.keys(n).length !== 1) {
132
+ if (x.value = "", Object.keys(n).length !== 1) {
133
133
  if (g.value.length > 0 && (m = g.value), a.context.attrs.multiple)
134
134
  if (m.length != 0) {
135
135
  let e = { name: n.name, resource: n.resource }, t = m.filter((o) => o.name != n.name);
@@ -143,56 +143,58 @@ const de = { class: "formkitProperty" }, fe = {
143
143
  }
144
144
  A();
145
145
  }
146
- }, Y = async (n) => {
146
+ }, Z = async (n) => {
147
147
  let e = n.target.value;
148
- await M.dispatch("dpiStore/requestAutocompleteSuggestions", { voc: b, text: e, base: x.api.baseUrl }).then((t) => {
148
+ await R.dispatch("dpiStore/requestAutocompleteSuggestions", { voc: b, text: e, base: k.api.baseUrl }).then((t) => {
149
149
  const d = t.data.result.results.filter((l) => l.id !== "OP_DATPRO").map((l) => ({
150
- name: N(l.pref_label, J.value, []) + " (" + l.id + ")",
150
+ name: N(l.pref_label, z.value, []) + " (" + l.id + ")",
151
151
  resource: l.resource
152
152
  }));
153
- d.length === 0 ? _.value = { value: { name: G } } : _.value = d;
153
+ d.length === 0 ? _.value = { value: { name: K } } : _.value = d;
154
154
  });
155
155
  };
156
- function Z(n) {
156
+ function ee(n) {
157
157
  a.context.node.input({}), P("erase");
158
158
  }
159
- function U(n) {
160
- x.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), A();
159
+ function W(n) {
160
+ 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), A();
161
161
  }
162
- return (n, e) => (r(), i("div", de, [
163
- u(E) ? (r(), i("h4", fe, v(n.$t("message.dataupload.distributions." + a.context.attrs.identifier + ".label")), 1)) : O("", !0),
162
+ return (n, e) => (r(), i("div", fe, [
163
+ u(q) ? (r(), i("h4", pe, v(n.$t("message.dataupload.distributions." + a.context.attrs.identifier + ".label")), 1)) : O("", !0),
164
164
  e[14] || (e[14] = p()),
165
- a.context.attrs.identifier != "licence" && !u(E) ? (r(), i("h4", {
165
+ a.context.attrs.identifier != "licence" && !u(q) ? (r(), i("h4", {
166
166
  key: 1,
167
167
  innerHTML: n.$t("message.dataupload.datasets." + a.context.attrs.identifier + ".label")
168
- }, null, 8, pe)) : O("", !0),
168
+ }, null, 8, me)) : O("", !0),
169
169
  e[15] || (e[15] = p()),
170
- s("div", me, [
171
- s("div", ve, [
172
- !a.context.attrs.multiple && a.context.value.name ? (r(), i("div", ge, [
173
- s("a", ye, v(a.context.value.name), 1),
170
+ s("div", ve, [
171
+ s("div", ge, [
172
+ !a.context.attrs.multiple && a.context.value.name ? (r(), i("div", ye, [
173
+ s("a", he, v(a.context.value.name), 1),
174
174
  e[4] || (e[4] = p()),
175
175
  s("div", {
176
176
  class: "removeX",
177
- onClick: Z
177
+ onClick: ee
178
178
  })
179
- ])) : (r(), i("div", he, [
180
- s("div", xe, [
181
- W(s("input", {
179
+ ])) : (r(), i("div", xe, [
180
+ s("div", ke, [
181
+ X(s("input", {
182
+ ref_key: "acInput",
183
+ ref: E,
182
184
  class: "autocompleteInputfield",
183
185
  placeholder: a.context.attrs.placeholder,
184
- "onUpdate:modelValue": e[0] || (e[0] = (t) => $(k) ? k.value = t : k = t),
186
+ "onUpdate:modelValue": e[0] || (e[0] = (t) => $(x) ? x.value = t : x = t),
185
187
  type: "text",
186
- onKeyup: e[1] || (e[1] = (t) => Y(t)),
188
+ onKeyup: e[1] || (e[1] = (t) => Z(t)),
187
189
  onClick: e[2] || (e[2] = (t) => $(f) ? f.value = !u(f) : f = !u(f))
188
- }, null, 40, ke), [
189
- [ae, u(k)]
190
+ }, null, 40, be), [
191
+ [le, u(x)]
190
192
  ])
191
193
  ]),
192
194
  e[11] || (e[11] = p()),
193
- W(s("ul", {
195
+ X(s("ul", {
194
196
  ref_key: "dropdownList",
195
- ref: j,
197
+ ref: D,
196
198
  class: "autocompleteResultList"
197
199
  }, [
198
200
  (r(!0), i(S, null, T(u(_), (t) => (r(), i("li", {
@@ -201,14 +203,14 @@ const de = { class: "formkitProperty" }, fe = {
201
203
  P(t), $(f) ? f.value = !u(f) : f = !u(f);
202
204
  },
203
205
  class: "p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC"
204
- }, v(t.name), 9, be))), 128))
206
+ }, v(t.name), 9, we))), 128))
205
207
  ], 512), [
206
- [le, u(f)]
208
+ [oe, u(f)]
207
209
  ]),
208
210
  e[12] || (e[12] = p()),
209
- u(x).content.dataProviderInterface.annifIntegration && a.context.attrs.annifTheme ? (r(), i("div", we, [
211
+ u(k).content.dataProviderInterface.annifIntegration && a.context.attrs.annifTheme ? (r(), i("div", _e, [
210
212
  (r(!0), i(S, null, T(u(g), (t) => (r(), i("div", { key: t }, [
211
- s("div", _e, [
213
+ s("div", Ce, [
212
214
  s("div", {
213
215
  class: "d-flex",
214
216
  onClick: (o) => {
@@ -219,14 +221,14 @@ const de = { class: "formkitProperty" }, fe = {
219
221
  e[5] || (e[5] = p()),
220
222
  s("div", {
221
223
  class: "removeX",
222
- onClick: (o) => U(t)
223
- }, null, 8, Ie)
224
- ], 8, Ce)
224
+ onClick: (o) => W(t)
225
+ }, null, 8, Le)
226
+ ], 8, Ie)
225
227
  ])
226
228
  ]))), 128)),
227
229
  e[9] || (e[9] = p()),
228
- s("div", Le, [
229
- s("div", Se, [
230
+ s("div", Se, [
231
+ s("div", Te, [
230
232
  s("h3", null, v(n.$t("message.dataupload.info.suggestions")), 1),
231
233
  e[6] || (e[6] = p()),
232
234
  s("span", null, v(n.$t("message.dataupload.info.suggestionText")), 1),
@@ -235,30 +237,30 @@ const de = { class: "formkitProperty" }, fe = {
235
237
  class: "navlikeButton",
236
238
  type: "button",
237
239
  onClick: e[3] || (e[3] = (t) => {
238
- I(), u(D).value = !0;
240
+ I(), u(H).value = !0;
239
241
  })
240
242
  }, v(n.$t("message.dataupload.info.tryIt")), 1)
241
243
  ]),
242
244
  e[8] || (e[8] = p()),
243
- u(D).value ? (r(), i("div", Te, [
245
+ u(H).value ? (r(), i("div", Ve, [
244
246
  (r(!0), i(S, null, T(u(V), (t) => (r(), i("div", {
245
247
  key: t,
246
248
  class: "d-flex"
247
249
  }, [
248
250
  s("div", {
249
- class: oe(["activeResultsAutocompleteWrapper annifResults", { loadMore: t.resource === "invalid" }]),
251
+ class: se(["activeResultsAutocompleteWrapper annifResults", { loadMore: t.resource === "invalid" }]),
250
252
  onClick: (o) => {
251
- t.activeValue = !t.activeValue, K(t);
253
+ t.activeValue = !t.activeValue, Q(t);
252
254
  }
253
255
  }, [
254
- s("div", Ae, [
256
+ s("div", Pe, [
255
257
  s("span", null, v(t.name), 1)
256
258
  ])
257
- ], 10, Ve)
259
+ ], 10, Ae)
258
260
  ]))), 128))
259
261
  ])) : O("", !0)
260
262
  ])
261
- ])) : (r(), i("div", Pe, [
263
+ ])) : (r(), i("div", Oe, [
262
264
  (r(!0), i(S, null, T(a.context.value, (t) => (r(), i("div", {
263
265
  class: "activeResultsAutocompleteWrapper",
264
266
  key: t
@@ -267,15 +269,15 @@ const de = { class: "formkitProperty" }, fe = {
267
269
  e[10] || (e[10] = p()),
268
270
  s("div", {
269
271
  class: "removeX",
270
- onClick: (o) => U(t)
271
- }, null, 8, Oe)
272
+ onClick: (o) => W(t)
273
+ }, null, 8, $e)
272
274
  ]))), 128))
273
275
  ])),
274
276
  e[13] || (e[13] = p()),
275
277
  s("div", {
276
278
  innerHTML: a.context.attrs.info,
277
279
  class: "formkit-help"
278
- }, null, 8, $e)
280
+ }, null, 8, Ne)
279
281
  ]))
280
282
  ])
281
283
  ])
@@ -283,6 +285,6 @@ const de = { class: "formkitProperty" }, fe = {
283
285
  }
284
286
  };
285
287
  export {
286
- Ue as default
288
+ Fe as default
287
289
  };
288
290
  //# 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 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';\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\" 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';\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 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 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)\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 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","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"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  declare const _default: import('vue').DefineComponent<{}, {}, {
2
2
  values: {};
3
3
  }, {
4
+ getUserData: import('vuex').Computed;
4
5
  getUserName: import('vuex').Computed;
5
6
  }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
6
7
  export default _default;
@@ -1,8 +1,8 @@
1
- import { mapGetters as n } from "vuex";
2
- import { openBlock as r, createElementBlock as l, createElementVNode as e, createTextVNode as s, toDisplayString as a } from "vue";
1
+ import { mapGetters as i } from "vuex";
2
+ import { openBlock as n, createElementBlock as r, createElementVNode as e, createTextVNode as s, toDisplayString as l, Fragment as d, renderList as p } from "vue";
3
3
  import "./UserProfilePage.vue2.mjs";
4
- import i from "../../_virtual/_plugin-vue_export-helper.mjs";
5
- const d = {
4
+ import m from "../../_virtual/_plugin-vue_export-helper.mjs";
5
+ const u = {
6
6
  name: "DataProviderInterface-UserProfile",
7
7
  props: [],
8
8
  data() {
@@ -11,38 +11,54 @@ const d = {
11
11
  };
12
12
  },
13
13
  computed: {
14
- ...n("auth", [
15
- "getUserName"
14
+ ...i("auth", [
15
+ "getUserName",
16
+ "getUserData"
16
17
  ])
17
18
  },
18
19
  methods: {},
19
20
  created() {
20
21
  }
21
- }, p = { class: "d-flex flex-column bg-transparent container-fluid justify-content-between content" }, m = { class: "panel-body inf-content" }, f = { class: "row" }, u = { class: "col-md-12" }, c = { class: "table-responsive" }, b = { class: "table table-user-information" }, g = { class: "text-primary" };
22
- function v(o, t, y, _, x, N) {
23
- return r(), l("div", p, [
24
- t[5] || (t[5] = e("h1", { class: "small-headline" }, "My Profile", -1)),
25
- t[6] || (t[6] = s()),
26
- e("div", m, [
27
- e("div", f, [
28
- e("div", u, [
29
- t[2] || (t[2] = e("strong", { class: "table-header" }, "User Information", -1)),
30
- t[3] || (t[3] = e("br", null, null, -1)),
31
- t[4] || (t[4] = s()),
32
- e("div", c, [
33
- e("table", b, [
22
+ }, f = { class: "d-flex flex-column bg-transparent container-fluid justify-content-between content" }, g = { class: "panel-body inf-content" }, y = { class: "row" }, b = { class: "col-md-12" }, v = { class: "table-responsive" }, x = { class: "table table-user-information" }, c = { class: "text-primary" }, U = { class: "text-primary" };
23
+ function N(o, t, P, D, _, $) {
24
+ return n(), r("div", f, [
25
+ t[8] || (t[8] = e("h1", { class: "small-headline" }, "My Profile", -1)),
26
+ t[9] || (t[9] = s()),
27
+ e("div", g, [
28
+ e("div", y, [
29
+ e("div", b, [
30
+ t[5] || (t[5] = e("strong", { class: "table-header" }, "User Information", -1)),
31
+ t[6] || (t[6] = e("br", null, null, -1)),
32
+ t[7] || (t[7] = s()),
33
+ e("div", v, [
34
+ e("table", x, [
34
35
  e("tbody", null, [
35
36
  e("tr", null, [
36
37
  t[0] || (t[0] = e("td", null, [
37
38
  e("strong", null, [
38
39
  e("span", { class: "glyphicon glyphicon-user text-primary" }),
39
40
  s(`
40
- Name:
41
- `)
41
+ Name:
42
+ `)
42
43
  ])
43
44
  ], -1)),
44
45
  t[1] || (t[1] = s()),
45
- e("td", g, a(o.getUserName), 1)
46
+ e("td", c, l(o.getUserName), 1)
47
+ ]),
48
+ t[4] || (t[4] = s()),
49
+ e("tr", null, [
50
+ t[2] || (t[2] = e("td", null, [
51
+ e("strong", null, [
52
+ e("span", { class: "glyphicon glyphicon-user text-primary" }),
53
+ s(`
54
+ Roles:
55
+ `)
56
+ ])
57
+ ], -1)),
58
+ t[3] || (t[3] = s()),
59
+ e("td", U, [
60
+ (n(!0), r(d, null, p(o.getUserData.roles, (a) => (n(), r("p", null, l(a), 1))), 256))
61
+ ])
46
62
  ])
47
63
  ])
48
64
  ])
@@ -52,8 +68,8 @@ function v(o, t, y, _, x, N) {
52
68
  ])
53
69
  ]);
54
70
  }
55
- const k = /* @__PURE__ */ i(d, [["render", v], ["__scopeId", "data-v-8b4f94b2"]]);
71
+ const E = /* @__PURE__ */ m(u, [["render", N], ["__scopeId", "data-v-aecff259"]]);
56
72
  export {
57
- k as default
73
+ E as default
58
74
  };
59
75
  //# sourceMappingURL=UserProfilePage.vue.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserProfilePage.vue.mjs","sources":["../../../lib/data-provider-interface/views/UserProfilePage.vue"],"sourcesContent":["<template>\n <div class=\"d-flex flex-column bg-transparent container-fluid justify-content-between content\">\n <h1 class=\"small-headline\">My Profile</h1>\n <div class=\"panel-body inf-content\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <strong class=\"table-header\">User Information</strong><br>\n <div class=\"table-responsive\">\n <table class=\"table table-user-information\">\n <tbody>\n <tr>\n <td>\n <strong>\n <span class=\"glyphicon glyphicon-user text-primary\"></span>\n Name:\n </strong>\n </td>\n <td class=\"text-primary\">\n {{ getUserName }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\n\nexport default {\n name: 'DataProviderInterface-UserProfile',\n props: [],\n data() {\n return {\n values: {},\n };\n },\n computed: {\n ...mapGetters('auth', [\n 'getUserName',\n ]),\n },\n methods: {},\n created() {},\n};\n</script>\n\n<style scoped>\n.inf-content{\n border:1px solid #DDDDDD;\n -webkit-border-radius:10px;\n -moz-border-radius:10px;\n border-radius:10px;\n box-shadow: 7px 7px 7px rgba(0, 0, 0, 0.3);\n}\n\n.table-header {\n padding: 0.75rem;\n}\n</style>\n"],"names":["_sfc_main","mapGetters","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_openBlock","_createElementBlock","_cache","_createElementVNode","_createTextVNode","_toDisplayString","_ctx"],"mappings":";;;;AAiCA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO,CAAE;AAAA,EACT,OAAO;AACL,WAAO;AAAA,MACL,QAAQ,CAAE;AAAA;EAEb;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,QAAQ;AAAA,MACpB;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EACD,SAAS,CAAE;AAAA,EACX,UAAU;AAAA,EAAE;AACd,GA/COC,IAAA,EAAA,OAAM,oFAAmF,GAEvFC,IAAA,EAAA,OAAM,yBAAwB,GAC5BC,IAAA,EAAA,OAAM,MAAK,GACTC,IAAA,EAAA,OAAM,YAAW,GAEfC,IAAA,EAAA,OAAM,mBAAkB,GACtBC,IAAA,EAAA,OAAM,+BAA8B,GASjCC,IAAA,EAAA,OAAM,eAAc;;AAhBtC,SAAAC,EAAA,GAAAC,EA0BM,OA1BNR,GA0BM;AAAA,IAzBJS,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAA0C,MAAtC,EAAA,OAAM,iBAAgB,GAAC,cAAU,EAAA;AAAA,IAFzCD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAE,EAAA;AAAA,IAGID,EAuBM,OAvBNT,GAuBM;AAAA,MAtBJS,EAqBM,OArBNR,GAqBM;AAAA,QApBJQ,EAmBM,OAnBNP,GAmBM;AAAA,UAlBJM,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAsD,UAA9C,EAAA,OAAM,eAAc,GAAC,oBAAgB,EAAA;AAAA,0BAASA,EAAI,MAAA,MAAA,MAAA,EAAA;AAAA,UANpED,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAE,EAAA;AAAA,UAOUD,EAgBM,OAhBNN,GAgBM;AAAA,YAfNM,EAcQ,SAdRL,GAcQ;AAAA,cAbNK,EAYQ,SAAA,MAAA;AAAA,gBAXNA,EAUK,MAAA,MAAA;AAAA,kCATHA,EAKK,MAAA,MAAA;AAAA,oBAJHA,EAGS,UAAA,MAAA;AAAA,sBAFPA,EAA2D,QAAA,EAArD,OAAM,wCAAuC,CAAA;AAAA,sBAbvEC,EAa+E;AAAA;AAAA,mBAE7D;AAAA;;kBAflBF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAE,EAAA;AAAA,kBAiBgBD,EAEK,MAFLJ,GAEKM,EADAC,EAAW,WAAA,GAAA,CAAA;AAAA;;;;;;;;;;"}
1
+ {"version":3,"file":"UserProfilePage.vue.mjs","sources":["../../../lib/data-provider-interface/views/UserProfilePage.vue"],"sourcesContent":["<template>\n <div class=\"d-flex flex-column bg-transparent container-fluid justify-content-between content\">\n <h1 class=\"small-headline\">My Profile</h1>\n <div class=\"panel-body inf-content\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <strong class=\"table-header\">User Information</strong><br>\n <div class=\"table-responsive\">\n <table class=\"table table-user-information\">\n <tbody>\n <tr>\n <td>\n <strong>\n <span class=\"glyphicon glyphicon-user text-primary\"></span>\n Name:\n </strong>\n </td>\n <td class=\"text-primary\">\n {{ getUserName }}\n </td>\n\n </tr>\n <tr>\n <td>\n <strong>\n <span class=\"glyphicon glyphicon-user text-primary\"></span>\n Roles:\n </strong>\n </td>\n <td class=\"text-primary\">\n <p v-for=\"i in getUserData['roles']\">\n {{ i }}\n </p>\n </td>\n\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\n\nexport default {\n name: 'DataProviderInterface-UserProfile',\n props: [],\n data() {\n return {\n values: {},\n };\n },\n computed: {\n ...mapGetters('auth', [\n 'getUserName',\n 'getUserData'\n ]),\n },\n methods: {},\n created() { },\n};\n</script>\n\n<style scoped>\n.inf-content {\n border: 1px solid #DDDDDD;\n -webkit-border-radius: 10px;\n -moz-border-radius: 10px;\n border-radius: 10px;\n box-shadow: 7px 7px 7px rgba(0, 0, 0, 0.3);\n}\n\n.table-header {\n padding: 0.75rem;\n}\n</style>\n"],"names":["_sfc_main","mapGetters","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_openBlock","_createElementBlock","_cache","_createElementVNode","_createTextVNode","_toDisplayString","_ctx","_Fragment","_renderList","i"],"mappings":";;;;AAgDA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO,CAAE;AAAA,EACT,OAAO;AACL,WAAO;AAAA,MACL,QAAQ,CAAE;AAAA;EAEb;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,QAAQ;AAAA,MACpB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EACD,SAAS,CAAE;AAAA,EACX,UAAU;AAAA,EAAG;AACf,GA/DOC,IAAA,EAAA,OAAM,oFAAmF,GAEvFC,IAAA,EAAA,OAAM,yBAAwB,GAC5BC,IAAA,EAAA,OAAM,MAAK,GACTC,IAAA,EAAA,OAAM,YAAW,GAEfC,IAAA,EAAA,OAAM,mBAAkB,GACpBC,IAAA,EAAA,OAAM,+BAA8B,GASjCC,IAAA,EAAA,OAAM,eAAc,GAYpBC,IAAA,EAAA,OAAM,eAAc;;AA5BxC,SAAAC,EAAA,GAAAC,EAyCM,OAzCNT,GAyCM;AAAA,IAxCJU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAA0C,MAAtC,EAAA,OAAM,iBAAgB,GAAC,cAAU,EAAA;AAAA,IAFzCD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAE,EAAA;AAAA,IAGID,EAsCM,OAtCNV,GAsCM;AAAA,MArCJU,EAoCM,OApCNT,GAoCM;AAAA,QAnCJS,EAkCM,OAlCNR,GAkCM;AAAA,UAjCJO,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAsD,UAA9C,EAAA,OAAM,eAAc,GAAC,oBAAgB,EAAA;AAAA,0BAASA,EAAI,MAAA,MAAA,MAAA,EAAA;AAAA,UANpED,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAE,EAAA;AAAA,UAOUD,EA+BM,OA/BNP,GA+BM;AAAA,YA9BJO,EA6BQ,SA7BRN,GA6BQ;AAAA,cA5BNM,EA2BQ,SAAA,MAAA;AAAA,gBA1BNA,EAWK,MAAA,MAAA;AAAA,kCAVHA,EAKK,MAAA,MAAA;AAAA,oBAJHA,EAGS,UAAA,MAAA;AAAA,sBAFPA,EAA2D,QAAA,EAArD,OAAM,wCAAuC,CAAA;AAAA,sBAbzEC,EAaiF;AAAA;AAAA,qBAE7D;AAAA;;kBAfpBF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAE,EAAA;AAAA,kBAiBkBD,EAEK,MAFLL,GAEKO,EADAC,EAAW,WAAA,GAAA,CAAA;AAAA;gBAlBlCJ,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAE,EAAA;AAAA,gBAsBgBD,EAaK,MAAA,MAAA;AAAA,kCAZHA,EAKK,MAAA,MAAA;AAAA,oBAJHA,EAGS,UAAA,MAAA;AAAA,sBAFPA,EAA2D,QAAA,EAArD,OAAM,wCAAuC,CAAA;AAAA,sBAzBzEC,EAyBiF;AAAA;AAAA,qBAE7D;AAAA;;kBA3BpBF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAE,EAAA;AAAA,kBA6BkBD,EAIK,MAJLJ,GAIK;AAAA,qBAHHC,EAAA,EAAA,GAAAC,EAEIM,GAhCxB,MAAAC,EA8BmCF,EAAW,YAAA,OA9B9C,CA8B8BG,OAAVT,EAAA,GAAAC,EAEI,aADCQ,CAAC,GAAA,CAAA;;;;;;;;;;;;"}
@@ -48,6 +48,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
48
48
  previewedDistDownloadUrl: string;
49
49
  previewedDistFormat: string;
50
50
  selectedDistribution: null;
51
+ showVisualisation: any;
51
52
  }, {
52
53
  getCatalog: import('vuex').Computed;
53
54
  getLanguages: import('vuex').Computed;