@piveau/piveau-hub-ui-modules 4.3.2 → 4.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data-provider-interface/DPIMenu.vue.mjs +37 -36
- package/dist/data-provider-interface/DPIMenu.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs +149 -135
- package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs +152 -140
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs +60 -60
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/Dropup.vue.mjs +17 -17
- package/dist/data-provider-interface/components/Dropup.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/Dropup.vue2.mjs +2 -2
- package/dist/data-provider-interface/components/FileUpload.vue.d.ts +5 -2
- package/dist/data-provider-interface/components/FileUpload.vue.mjs +119 -117
- package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/Navigation.vue.mjs +69 -69
- package/dist/data-provider-interface/components/Navigation.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SimpleInput.vue.mjs +19 -14
- package/dist/data-provider-interface/components/SimpleInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SimpleSelect.vue.mjs +31 -31
- package/dist/data-provider-interface/components/SimpleSelect.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SpatialInput.vue.mjs +90 -94
- package/dist/data-provider-interface/components/SpatialInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SpatialInput.vue2.mjs +2 -2
- package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs +41 -30
- package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatap/input-definition.mjs +27 -1
- package/dist/data-provider-interface/config/dcatap/input-definition.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatapde/input-definition.mjs +81 -78
- package/dist/data-provider-interface/config/dcatapde/input-definition.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatapdeODB/format-types.mjs +3 -272
- package/dist/data-provider-interface/config/dcatapdeODB/format-types.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatapdeODB/input-definition.d.ts +4 -15
- package/dist/data-provider-interface/config/dcatapdeODB/input-definition.mjs +13 -2081
- package/dist/data-provider-interface/config/dcatapdeODB/input-definition.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatapdeODB/page-content-config.mjs +3 -21
- package/dist/data-provider-interface/config/dcatapdeODB/page-content-config.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatapdeODB/prefixes.mjs +3 -24
- package/dist/data-provider-interface/config/dcatapdeODB/prefixes.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatapdeODB/vocab-prefixes.mjs +3 -31
- package/dist/data-provider-interface/config/dcatapdeODB/vocab-prefixes.mjs.map +1 -1
- package/dist/data-provider-interface/config/dpi-spec-config.mjs +8 -8
- package/dist/data-provider-interface/config/dpi-spec-config.mjs.map +1 -1
- package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs +52 -52
- package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs +127 -138
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/InputPage.vue.mjs +68 -68
- package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs +31 -31
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
- package/dist/form/Repeatable.vue.mjs +37 -37
- package/dist/form/Repeatable.vue.mjs.map +1 -1
- package/dist/modal/AppConfirmationDialog.vue.d.ts +3 -1
- package/dist/modal/AppConfirmationDialog.vue.mjs +45 -39
- package/dist/modal/AppConfirmationDialog.vue.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getCurrentInstance as
|
|
1
|
+
import { getCurrentInstance as D, ref as f, watch as _, onMounted as M, nextTick as P, reactive as j, openBlock as i, createElementBlock as l, unref as p, createElementVNode as c, toDisplayString as b, createTextVNode as d, withDirectives as L, vShow as q, createCommentVNode as h, Fragment as w, renderList as x, isRef as g, vModelText as B } from "vue";
|
|
2
2
|
import { useStore as J } from "vuex";
|
|
3
3
|
import { getTranslationFor as $ } from "../../utils/helpers.mjs";
|
|
4
4
|
import { onClickOutside as S } from "../../external/@vueuse/core/index";
|
|
@@ -8,79 +8,79 @@ import X from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
|
8
8
|
const z = { class: "d-flex flex-column w-100 spatialWrap" }, H = {
|
|
9
9
|
key: 0,
|
|
10
10
|
class: "d-flex formkit-inner mx-3 mb-3"
|
|
11
|
-
}, Q = { class: "autocompleteInputSingleValue" }, Y = { key: 1 }, Z = { class: "w-100 d-flex" }, ee = { class: "d-flex position-relative m-3 w-100" }, te = {
|
|
11
|
+
}, Q = { class: "autocompleteInputSingleValue" }, Y = { key: 1 }, Z = { class: "w-100 d-flex" }, ee = { class: "d-flex position-relative m-3 w-100" }, te = ["placeholder"], ae = {
|
|
12
12
|
key: 0,
|
|
13
13
|
class: "d-flex position-relative m-3 w-100"
|
|
14
|
-
},
|
|
14
|
+
}, oe = { class: "w-100" }, se = {
|
|
15
15
|
key: 1,
|
|
16
16
|
class: "d-flex position-relative m-3 w-100"
|
|
17
|
-
}, ie = { class: "w-100" },
|
|
17
|
+
}, ie = { class: "w-100" }, le = ["onClick"], ne = {
|
|
18
18
|
key: 0,
|
|
19
19
|
class: "m-3"
|
|
20
|
-
},
|
|
20
|
+
}, re = {
|
|
21
21
|
key: 0,
|
|
22
22
|
class: "w-100"
|
|
23
|
-
},
|
|
23
|
+
}, ce = ["placeholder"], de = ["onClick"], ue = {
|
|
24
24
|
data() {
|
|
25
25
|
return {
|
|
26
26
|
man: !1,
|
|
27
27
|
vocSearch: !1
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
},
|
|
30
|
+
}, pe = /* @__PURE__ */ Object.assign(ue, {
|
|
31
31
|
__name: "SpatialInput",
|
|
32
32
|
props: {
|
|
33
33
|
context: Object
|
|
34
34
|
},
|
|
35
35
|
setup(E) {
|
|
36
|
-
let C =
|
|
36
|
+
let C = D().appContext.app.config.globalProperties.$env, U = W();
|
|
37
37
|
const n = E;
|
|
38
|
-
let y = f([]),
|
|
38
|
+
let y = f([]), s = f({}), v = f({}), k = f({}), I = f({});
|
|
39
39
|
const V = J();
|
|
40
|
-
n.context.attrs.identifier === "politicalGeocodingURI" && y.value.push({ item: "Municipality Key", active: !1 }, { item: "Regional Key", active: !1 }, { item: "Municipal Association Key", active: !1 }, { item: "District Key", active: !1 }, { item: "Government District Key", active: !1 }, { item: "State Key", active: !1 }), n.context.attrs.identifier === "spatial" && y.value.push({ item: "Country", active: !1 }, { item: "Place", active: !1 }, { item: "Continent", active: !1 }),
|
|
40
|
+
n.context.attrs.identifier === "politicalGeocodingURI" && y.value.push({ item: "Municipality Key", active: !1 }, { item: "Regional Key", active: !1 }, { item: "Municipal Association Key", active: !1 }, { item: "District Key", active: !1 }, { item: "Government District Key", active: !1 }, { item: "State Key", active: !1 }), n.context.attrs.identifier === "spatial" && y.value.push({ item: "Country", active: !1 }, { item: "Place", active: !1 }, { item: "Continent", active: !1 }), _(s, async () => {
|
|
41
41
|
K();
|
|
42
|
-
}),
|
|
42
|
+
}), _(v, async () => {
|
|
43
43
|
v.value = v.value.toLowerCase();
|
|
44
|
-
}), I
|
|
45
|
-
n.context.node.input({ name:
|
|
46
|
-
}),
|
|
47
|
-
|
|
44
|
+
}), _(I, async () => {
|
|
45
|
+
n.context.node.input({ name: I, resource: I });
|
|
46
|
+
}), M(async () => {
|
|
47
|
+
k = [{ name: "--- Type in anything for a live search of the vocabulary ---", resource: "invalid" }], await P(), n.context.value.name === void 0 || n.context.value.name === "" ? o.activeValue = !1 : o.activeValue = !0;
|
|
48
48
|
});
|
|
49
49
|
function G() {
|
|
50
|
-
y.value.forEach((
|
|
51
|
-
|
|
50
|
+
y.value.forEach((e) => {
|
|
51
|
+
e.active = !1;
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
-
function O(
|
|
54
|
+
function O(e) {
|
|
55
55
|
o.activeValue = !1, n.context.node.input({});
|
|
56
56
|
}
|
|
57
|
-
function F(
|
|
58
|
-
let a = JSON.parse(localStorage.getItem(`dpi_${U.params.property}`)),
|
|
59
|
-
n.context.attrs.identifier === "politicalGeocodingURI" ?
|
|
60
|
-
Object.keys(r).length === 0 &&
|
|
61
|
-
}),
|
|
57
|
+
function F(e) {
|
|
58
|
+
let a = JSON.parse(localStorage.getItem(`dpi_${U.params.property}`)), t;
|
|
59
|
+
n.context.attrs.identifier === "politicalGeocodingURI" ? t = a.Advised["dcatde:politicalGeocodingURI"] : t = a.Advised["dct:spatial"], t.forEach((r, u) => {
|
|
60
|
+
Object.keys(r).length === 0 && t.splice(u, 1);
|
|
61
|
+
}), t.push(n.context.node._value), n.context.attrs.identifier === "politicalGeocodingURI" ? a.Advised["dcatde:politicalGeocodingURI"] = t : a.Advised["dct:spatial"] = t, localStorage.setItem(`dpi_${U.params.property}`, JSON.stringify(a));
|
|
62
62
|
}
|
|
63
63
|
const K = async () => {
|
|
64
|
-
let
|
|
64
|
+
let e = v.value;
|
|
65
65
|
if (n.context.attrs.identifier === "politicalGeocodingURI") {
|
|
66
|
-
|
|
66
|
+
e = "political-geocoding-" + e.toLowerCase().replaceAll(" ", "-");
|
|
67
67
|
try {
|
|
68
|
-
let a =
|
|
69
|
-
await V.dispatch("dpiStore/requestAutocompleteSuggestions", { voc:
|
|
70
|
-
|
|
71
|
-
name: $(
|
|
72
|
-
resource:
|
|
68
|
+
let a = s.value;
|
|
69
|
+
await V.dispatch("dpiStore/requestAutocompleteSuggestions", { voc: e, text: a, base: C.api.baseUrl }).then((t) => {
|
|
70
|
+
k = t.data.result.results.map((u) => ({
|
|
71
|
+
name: $(u.alt_label, "en", []) + " (" + u.id + ")",
|
|
72
|
+
resource: u.resource
|
|
73
73
|
}));
|
|
74
74
|
});
|
|
75
75
|
} catch {
|
|
76
76
|
}
|
|
77
77
|
} else
|
|
78
78
|
try {
|
|
79
|
-
let a =
|
|
80
|
-
await V.dispatch("dpiStore/requestAutocompleteSuggestions", { voc:
|
|
81
|
-
|
|
82
|
-
name: $(
|
|
83
|
-
resource:
|
|
79
|
+
let a = s.value;
|
|
80
|
+
await V.dispatch("dpiStore/requestAutocompleteSuggestions", { voc: e, text: a, base: C.api.baseUrl }).then((t) => {
|
|
81
|
+
k = t.data.result.results.map((u) => ({
|
|
82
|
+
name: $(u.pref_label, "en", []) + " (" + u.id + ")",
|
|
83
|
+
resource: u.resource
|
|
84
84
|
}));
|
|
85
85
|
});
|
|
86
86
|
} catch {
|
|
@@ -93,22 +93,22 @@ const z = { class: "d-flex flex-column w-100 spatialWrap" }, H = {
|
|
|
93
93
|
activeValue: !1
|
|
94
94
|
});
|
|
95
95
|
const T = f(null), A = f(null), R = f(null);
|
|
96
|
-
S(T, (
|
|
97
|
-
function m(
|
|
98
|
-
|
|
96
|
+
S(T, (e) => o.first = !1), S(A, (e) => o.second = !1), S(R, (e) => o.third = !1);
|
|
97
|
+
function m(e) {
|
|
98
|
+
e === "showTable" && (o.first = !o.first), e === "showVocTable" && (o.second = !o.second), e === "showVocEntries" && (o.third === !0 || (o.third = !o.third));
|
|
99
99
|
}
|
|
100
|
-
function
|
|
101
|
-
n.context.node.input({ name:
|
|
100
|
+
function N(e) {
|
|
101
|
+
n.context.node.input({ name: e.target.value, resource: e.target.value });
|
|
102
102
|
}
|
|
103
|
-
return (
|
|
104
|
-
!n.context.attrs.multiple && p(o).activeValue ? (
|
|
105
|
-
c("a", Q,
|
|
106
|
-
|
|
103
|
+
return (e, a) => (i(), l("div", z, [
|
|
104
|
+
!n.context.attrs.multiple && p(o).activeValue ? (i(), l("div", H, [
|
|
105
|
+
c("a", Q, b(n.context.value.name), 1),
|
|
106
|
+
d(),
|
|
107
107
|
c("div", {
|
|
108
108
|
class: "removeX",
|
|
109
109
|
onClick: O
|
|
110
110
|
})
|
|
111
|
-
])) : (
|
|
111
|
+
])) : (i(), l("div", Y, [
|
|
112
112
|
c("div", Z, [
|
|
113
113
|
c("div", ee, [
|
|
114
114
|
c("input", {
|
|
@@ -116,53 +116,49 @@ const z = { class: "d-flex flex-column w-100 spatialWrap" }, H = {
|
|
|
116
116
|
type: "text",
|
|
117
117
|
class: "selectInputField formkit-inner",
|
|
118
118
|
readonly: "readonly",
|
|
119
|
-
placeholder: "
|
|
120
|
-
onClick: a[0] || (a[0] = (
|
|
121
|
-
}),
|
|
122
|
-
|
|
119
|
+
placeholder: e.$t("message.dataupload.info.preferredInput"),
|
|
120
|
+
onClick: a[0] || (a[0] = (t) => m("showTable"))
|
|
121
|
+
}, null, 8, te),
|
|
122
|
+
d(),
|
|
123
123
|
L(c("ul", {
|
|
124
124
|
ref_key: "I1",
|
|
125
125
|
ref: T,
|
|
126
126
|
class: "spatialListUpload"
|
|
127
127
|
}, [
|
|
128
128
|
c("li", {
|
|
129
|
-
onClick: a[1] || (a[1] = (
|
|
130
|
-
m("showTable"),
|
|
129
|
+
onClick: a[1] || (a[1] = (t) => {
|
|
130
|
+
m("showTable"), e.man = !0, e.vocSearch && (e.vocSearch = !1);
|
|
131
131
|
}),
|
|
132
132
|
class: "p-2 border-b border-gray-200 choosableItemsAC"
|
|
133
|
-
},
|
|
134
|
-
|
|
135
|
-
`),
|
|
136
|
-
u(),
|
|
133
|
+
}, b(e.$t("message.dataupload.datasets.conditional.manually")), 1),
|
|
134
|
+
d(),
|
|
137
135
|
c("li", {
|
|
138
|
-
onClick: a[2] || (a[2] = (
|
|
139
|
-
m("showTable"),
|
|
136
|
+
onClick: a[2] || (a[2] = (t) => {
|
|
137
|
+
m("showTable"), e.vocSearch = !0, e.man && (e.man = !1);
|
|
140
138
|
}),
|
|
141
139
|
class: "p-2 border-b border-gray-200 choosableItemsAC"
|
|
142
|
-
},
|
|
143
|
-
Choose from vocabulary
|
|
144
|
-
`)
|
|
140
|
+
}, b(e.$t("message.dataupload.datasets.conditional.vocabulary")), 1)
|
|
145
141
|
], 512), [
|
|
146
142
|
[q, p(o).first]
|
|
147
143
|
])
|
|
148
144
|
]),
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
c("label",
|
|
152
|
-
|
|
145
|
+
d(),
|
|
146
|
+
e.man ? (i(), l("div", ae, [
|
|
147
|
+
c("label", oe, [
|
|
148
|
+
d(` Provide an URL
|
|
153
149
|
`),
|
|
154
150
|
c("input", {
|
|
155
151
|
type: "URL",
|
|
156
152
|
class: "selectInputField formkit-inner",
|
|
157
153
|
placeholder: "URL",
|
|
158
|
-
onInput: a[3] || (a[3] = (
|
|
154
|
+
onInput: a[3] || (a[3] = (t) => N(t))
|
|
159
155
|
}, null, 32)
|
|
160
156
|
])
|
|
161
157
|
])) : h("", !0),
|
|
162
|
-
|
|
163
|
-
|
|
158
|
+
d(),
|
|
159
|
+
e.vocSearch ? (i(), l("div", se, [
|
|
164
160
|
c("label", ie, [
|
|
165
|
-
|
|
161
|
+
d(` Choose type of vocabulary
|
|
166
162
|
`),
|
|
167
163
|
c("input", {
|
|
168
164
|
id: "I2",
|
|
@@ -170,72 +166,72 @@ const z = { class: "d-flex flex-column w-100 spatialWrap" }, H = {
|
|
|
170
166
|
class: "selectInputField formkit-inner",
|
|
171
167
|
readonly: "readonly",
|
|
172
168
|
placeholder: "Search the vocabulary",
|
|
173
|
-
onClick: a[4] || (a[4] = (
|
|
169
|
+
onClick: a[4] || (a[4] = (t) => {
|
|
174
170
|
m("showVocTable");
|
|
175
171
|
})
|
|
176
172
|
})
|
|
177
173
|
]),
|
|
178
|
-
|
|
179
|
-
p(o).second ? (
|
|
174
|
+
d(),
|
|
175
|
+
p(o).second ? (i(), l("ul", {
|
|
180
176
|
key: 0,
|
|
181
177
|
ref_key: "I2",
|
|
182
178
|
ref: A,
|
|
183
179
|
class: "spatialListUpload"
|
|
184
180
|
}, [
|
|
185
|
-
(
|
|
186
|
-
key:
|
|
181
|
+
(i(!0), l(w, null, x(p(y), (t) => (i(), l("li", {
|
|
182
|
+
key: t,
|
|
187
183
|
class: "p-2 border-b border-gray-200 choosableItemsAC",
|
|
188
184
|
onClick: (r) => {
|
|
189
|
-
G(),
|
|
185
|
+
G(), t.active = !t.active, m("showVocTable"), g(s) ? s.value = "" : s = "", g(v) ? v.value = t.item : v = t.item;
|
|
190
186
|
}
|
|
191
|
-
},
|
|
187
|
+
}, b(t.item), 9, le))), 128))
|
|
192
188
|
], 512)) : h("", !0)
|
|
193
189
|
])) : h("", !0)
|
|
194
190
|
]),
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
(
|
|
198
|
-
key:
|
|
191
|
+
d(),
|
|
192
|
+
e.vocSearch ? (i(), l("div", ne, [
|
|
193
|
+
(i(!0), l(w, null, x(p(y), (t) => (i(), l("div", {
|
|
194
|
+
key: t,
|
|
199
195
|
class: "position-relative"
|
|
200
196
|
}, [
|
|
201
|
-
|
|
202
|
-
|
|
197
|
+
t.active ? (i(), l("label", re, [
|
|
198
|
+
d(" Search the vocabulary "),
|
|
203
199
|
L(c("input", {
|
|
204
200
|
id: "I3",
|
|
205
201
|
type: "text",
|
|
206
|
-
"onUpdate:modelValue": a[5] || (a[5] = (r) =>
|
|
202
|
+
"onUpdate:modelValue": a[5] || (a[5] = (r) => g(s) ? s.value = r : s = r),
|
|
207
203
|
class: "selectInputField formkit-inner",
|
|
208
|
-
placeholder:
|
|
204
|
+
placeholder: t.item,
|
|
209
205
|
onClick: a[6] || (a[6] = (r) => {
|
|
210
|
-
m("showVocEntries"),
|
|
206
|
+
m("showVocEntries"), g(s) ? s.value = "" : s = "";
|
|
211
207
|
})
|
|
212
|
-
}, null, 8,
|
|
213
|
-
[B, p(
|
|
208
|
+
}, null, 8, ce), [
|
|
209
|
+
[B, p(s)]
|
|
214
210
|
])
|
|
215
211
|
])) : h("", !0),
|
|
216
|
-
|
|
217
|
-
p(o).third &&
|
|
212
|
+
d(),
|
|
213
|
+
p(o).third && t.active ? (i(), l("ul", {
|
|
218
214
|
key: 1,
|
|
219
215
|
ref_for: !0,
|
|
220
216
|
ref_key: "I3",
|
|
221
217
|
ref: R,
|
|
222
218
|
class: "spatialListUpload"
|
|
223
219
|
}, [
|
|
224
|
-
(
|
|
220
|
+
(i(!0), l(w, null, x(p(k), (r) => (i(), l("li", {
|
|
225
221
|
key: r,
|
|
226
222
|
class: "p-2 border-b border-gray-200 choosableItemsAC",
|
|
227
|
-
onClick: (
|
|
228
|
-
n.context.node.input(r),
|
|
223
|
+
onClick: (u) => {
|
|
224
|
+
n.context.node.input(r), g(s) ? s.value = r.name : s = r.name, m("showVocEntries"), p(o).third = !1, F();
|
|
229
225
|
}
|
|
230
|
-
},
|
|
226
|
+
}, b(r.name), 9, de))), 128))
|
|
231
227
|
], 512)) : h("", !0)
|
|
232
228
|
]))), 128))
|
|
233
229
|
])) : h("", !0)
|
|
234
230
|
]))
|
|
235
231
|
]));
|
|
236
232
|
}
|
|
237
|
-
}),
|
|
233
|
+
}), ke = /* @__PURE__ */ X(pe, [["__scopeId", "data-v-0e6763cf"]]);
|
|
238
234
|
export {
|
|
239
|
-
|
|
235
|
+
ke as default
|
|
240
236
|
};
|
|
241
237
|
//# sourceMappingURL=SpatialInput.vue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpatialInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/SpatialInput.vue"],"sourcesContent":["<script setup>\n\nimport { ref, reactive, watch, computed, onBeforeMount, onMounted, nextTick } from 'vue';\nimport { useStore } from 'vuex';\nimport { getTranslationFor } from \"../../utils/helpers\";\nimport { onClickOutside } from '@vueuse/core'\nimport { getCurrentInstance } from \"vue\";\nimport { useRoute } from 'vue-router';\n\nlet instance = getCurrentInstance().appContext.app.config.globalProperties.$env\nlet route = useRoute();\n\nconst props = defineProps({\n context: Object,\n})\n// let listOfVoc: [{ item: 'Country', active: false }, { item: 'Place', active: false }, { item: 'Continent', active: false }],\nlet listOfVoc = ref([])\nlet inputText = ref({})\nlet voc = ref({})\nlet matches = ref({})\nlet manURL = ref({})\nconst store = useStore();\n\nif (props.context.attrs.identifier === 'politicalGeocodingURI') {\n listOfVoc.value.push({ item: 'Municipality Key', active: false }, { item: 'Regional Key', active: false }, { item: 'Municipal Association Key', active: false }, { item: 'District Key', active: false }, { item: 'Government District Key', active: false }, { item: 'State Key', active: false })\n\n}\nif (props.context.attrs.identifier === 'spatial') {\n listOfVoc.value.push({ item: 'Country', active: false }, { item: 'Place', active: false }, { item: 'Continent', active: false })\n\n}\n\nwatch(inputText, async () => {\n getAutocompleteSuggestions();\n})\nwatch(voc, async () => {\n voc.value = voc.value.toLowerCase();\n})\nwatch(manURL, async () => {\n props.context.node.input({ 'name': manURL, 'resource': manURL })\n})\nonMounted(async () => {\n matches = [{ name: '--- Type in anything for a live search of the vocabulary ---', resource: 'invalid' }]\n\n await nextTick()\n // DOM loaded\n if (props.context.value.name === undefined || props.context.value.name === \"\") {\n showTable.activeValue = false\n } else showTable.activeValue = true\n // console.log(showTable.activeValue);\n\n});\n\nfunction closeAll() {\n listOfVoc.value.forEach(element => {\n element.active = false;\n });\n}\nfunction removeProperty(e) {\n // props.context.value = {}\n showTable.activeValue = false\n props.context.node.input({})\n}\nfunction saveToLocal(el) {\n\n let pathToLocalStorage = JSON.parse(localStorage.getItem(`dpi_${route.params.property}`));\n let arr\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n arr = pathToLocalStorage.Advised['dcatde:politicalGeocodingURI'];\n }\n else arr = pathToLocalStorage.Advised['dct:spatial'];\n\n arr.forEach((element, index) => {\n if (Object.keys(element).length === 0) {\n arr.splice(index, 1)\n }\n })\n arr.push(props.context.node._value)\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n pathToLocalStorage.Advised['dcatde:politicalGeocodingURI'] = arr\n }\n else pathToLocalStorage.Advised['dct:spatial'] = arr\n\n localStorage.setItem(`dpi_${route.params.property}`, JSON.stringify(pathToLocalStorage))\n}\nconst getAutocompleteSuggestions = async () => {\n let vocCache = voc.value\n\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n\n vocCache = 'political-geocoding-' + vocCache.toLowerCase().replaceAll(\" \", '-')\n\n try {\n let text = inputText.value;\n await store.dispatch('dpiStore/requestAutocompleteSuggestions', { voc: vocCache, text: text, base: instance.api.baseUrl }).then((response) => {\n const results = response.data.result.results.map((r) => ({\n name: getTranslationFor(r.alt_label, 'en', []) + \" (\" + r.id + \")\",\n resource: r.resource,\n }));\n matches = results;\n });\n } catch (error) {\n }\n }\n else {\n try {\n let text = inputText.value;\n await store.dispatch('dpiStore/requestAutocompleteSuggestions', { voc: vocCache, text: text, base: instance.api.baseUrl }).then((response) => {\n const results = response.data.result.results.map((r) => ({\n name: getTranslationFor(r.pref_label, 'en', []) + \" (\" + r.id + \")\",\n resource: r.resource,\n }));\n matches = results;\n });\n } catch (error) {\n }\n }\n\n}\n\nvar showTable = reactive({\n first: false,\n second: false,\n third: false,\n activeValue: false\n})\n\nconst I1 = ref(null);\nconst I2 = ref(null);\nconst I3 = ref(null);\n\nonClickOutside(I1, event => showTable.first = false)\nonClickOutside(I2, event => showTable.second = false)\nonClickOutside(I3, event => showTable.third = false)\nfunction activeInput(e) {\n\n // console.log('in', showTable);\n if (e === \"showTable\") showTable.first = !showTable.first;\n if (e === \"showVocTable\") showTable.second = !showTable.second;\n if (e === \"showVocEntries\") {\n if (showTable.third === true) {\n }\n else showTable.third = !showTable.third;\n }\n}\nfunction manURLInput(e) {\n props.context.node.input({ 'name': e.target.value, 'resource': e.target.value })\n}\n// console.log(voc);\n</script>\n\n<template>\n <div class=\"d-flex flex-column w-100 spatialWrap\">\n <div class=\"d-flex formkit-inner mx-3 mb-3\" v-if=\"!props.context.attrs.multiple && showTable.activeValue\">\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=\" w-100 d-flex\">\n <div class=\"d-flex position-relative m-3 w-100\">\n <input id=\"I1\" type=\"text\"\n class=\"selectInputField formkit-inner\" readonly=\"readonly\" placeholder=\"Select input method\"\n @click=\"activeInput('showTable')\"/>\n <ul ref=\"I1\" v-show=\"showTable.first\" class=\"spatialListUpload\">\n <li @click=\"activeInput('showTable'); man = true; if (vocSearch) { vocSearch = false; };\"\n class=\"p-2 border-b border-gray-200 choosableItemsAC\">\n Manually submit information\n </li>\n <li @click=\"activeInput('showTable'); vocSearch = true; if (man) { man = false }\"\n class=\"p-2 border-b border-gray-200 choosableItemsAC\">\n Choose from vocabulary\n </li>\n </ul>\n </div>\n <div v-if=\"man\" class=\"d-flex position-relative m-3 w-100\">\n <label class=\"w-100\"> Provide an URL\n <input type=\"URL\" class=\"selectInputField formkit-inner\" placeholder=\"URL\"\n @input=\"manURLInput($event)\">\n </label>\n </div>\n <div v-if=\"vocSearch\" class=\"d-flex position-relative m-3 w-100\">\n <label class=\"w-100\"> Choose type of vocabulary\n <input id=\"I2\" type=\"text\" class=\"selectInputField formkit-inner\" readonly=\"readonly\"\n placeholder=\"Search the vocabulary\" @click=\"activeInput('showVocTable');\">\n </label>\n <ul ref=\"I2\" v-if=\"showTable.second\" class=\"spatialListUpload\">\n <li v-for=\"el in listOfVoc\" :key=\"el\" class=\"p-2 border-b border-gray-200 choosableItemsAC\"\n @click=\" closeAll(); el.active = !el.active; activeInput('showVocTable'); inputText = ''; voc = el.item\">\n {{ el.item }}</li>\n </ul>\n </div>\n </div>\n <div class=\"m-3\" v-if=\"vocSearch\">\n <div v-for=\"el in listOfVoc\" :key=\"el\" class=\"position-relative\">\n <label class=\"w-100\" v-if=\"el.active\"> Search the vocabulary <input id=\"I3\" type=\"text\"\n v-model=\"inputText\" class=\"selectInputField formkit-inner\" :placeholder=\"el.item\"\n @click=\"activeInput('showVocEntries'); inputText = ''\">\n </label>\n <ul ref=\"I3\" v-if=\"showTable.third && el.active\" class=\"spatialListUpload\">\n <li v-for=\"el in matches\" :key=\"el\" class=\"p-2 border-b border-gray-200 choosableItemsAC\"\n @click=\"props.context.node.input(el); inputText = el.name; activeInput('showVocEntries'); showTable.third = false; saveToLocal(el)\">\n {{ el.name }}</li>\n </ul>\n </div>\n\n </div>\n\n </div>\n </div>\n</template>\n\n<script>\n\nexport default {\n data() {\n return {\n man: false,\n vocSearch: false,\n }\n },\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.spatialWrap label {\n font-family: var(--fk-font-family-label);\n font-size: var(--fk-font-size-label);\n font-weight: var(--fk-font-weight-label);\n line-height: var(--fk-line-height-label);\n}\n\n.spatialWrap {\n .spatialListUpload {\n width: 100%;\n left: 0;\n top:78px;\n }\n}\n</style>\n"],"names":["__default__","instance","getCurrentInstance","route","useRoute","props","__props","listOfVoc","ref","inputText","voc","matches","manURL","store","useStore","watch","getAutocompleteSuggestions","onMounted","nextTick","showTable","closeAll","element","removeProperty","e","saveToLocal","el","pathToLocalStorage","arr","index","vocCache","text","response","r","getTranslationFor","reactive","I1","I2","I3","onClickOutside","event","activeInput","manURLInput"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SpatialInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/SpatialInput.vue"],"sourcesContent":["<script setup>\n\nimport { ref, reactive, watch, computed, onBeforeMount, onMounted, nextTick } from 'vue';\nimport { useStore } from 'vuex';\nimport { getTranslationFor } from \"../../utils/helpers\";\nimport { onClickOutside } from '@vueuse/core'\nimport { getCurrentInstance } from \"vue\";\nimport { useRoute } from 'vue-router';\n\nlet instance = getCurrentInstance().appContext.app.config.globalProperties.$env\nlet route = useRoute();\n\nconst props = defineProps({\n context: Object,\n})\n// let listOfVoc: [{ item: 'Country', active: false }, { item: 'Place', active: false }, { item: 'Continent', active: false }],\nlet listOfVoc = ref([])\nlet inputText = ref({})\nlet voc = ref({})\nlet matches = ref({})\nlet manURL = ref({})\nconst store = useStore();\n\nif (props.context.attrs.identifier === 'politicalGeocodingURI') {\n listOfVoc.value.push({ item: 'Municipality Key', active: false }, { item: 'Regional Key', active: false }, { item: 'Municipal Association Key', active: false }, { item: 'District Key', active: false }, { item: 'Government District Key', active: false }, { item: 'State Key', active: false })\n\n}\nif (props.context.attrs.identifier === 'spatial') {\n listOfVoc.value.push({ item: 'Country', active: false }, { item: 'Place', active: false }, { item: 'Continent', active: false })\n}\n\nwatch(inputText, async () => {\n getAutocompleteSuggestions();\n})\nwatch(voc, async () => {\n voc.value = voc.value.toLowerCase();\n})\nwatch(manURL, async () => {\n props.context.node.input({ 'name': manURL, 'resource': manURL })\n})\nonMounted(async () => {\n matches = [{ name: '--- Type in anything for a live search of the vocabulary ---', resource: 'invalid' }]\n\n await nextTick()\n // DOM loaded\n if (props.context.value.name === undefined || props.context.value.name === \"\") {\n showTable.activeValue = false\n } else showTable.activeValue = true\n // console.log(showTable.activeValue);\n\n});\n\nfunction closeAll() {\n listOfVoc.value.forEach(element => {\n element.active = false;\n });\n}\nfunction removeProperty(e) {\n // props.context.value = {}\n showTable.activeValue = false\n props.context.node.input({})\n}\nfunction saveToLocal(el) {\n\n let pathToLocalStorage = JSON.parse(localStorage.getItem(`dpi_${route.params.property}`));\n let arr\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n arr = pathToLocalStorage.Advised['dcatde:politicalGeocodingURI'];\n }\n else arr = pathToLocalStorage.Advised['dct:spatial'];\n\n arr.forEach((element, index) => {\n if (Object.keys(element).length === 0) {\n arr.splice(index, 1)\n }\n })\n arr.push(props.context.node._value)\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n pathToLocalStorage.Advised['dcatde:politicalGeocodingURI'] = arr\n }\n else pathToLocalStorage.Advised['dct:spatial'] = arr\n\n localStorage.setItem(`dpi_${route.params.property}`, JSON.stringify(pathToLocalStorage))\n}\nconst getAutocompleteSuggestions = async () => {\n let vocCache = voc.value\n\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n\n vocCache = 'political-geocoding-' + vocCache.toLowerCase().replaceAll(\" \", '-')\n\n try {\n let text = inputText.value;\n await store.dispatch('dpiStore/requestAutocompleteSuggestions', { voc: vocCache, text: text, base: instance.api.baseUrl }).then((response) => {\n const results = response.data.result.results.map((r) => ({\n name: getTranslationFor(r.alt_label, 'en', []) + \" (\" + r.id + \")\",\n resource: r.resource,\n }));\n matches = results;\n });\n } catch (error) {\n }\n }\n else {\n try {\n let text = inputText.value;\n await store.dispatch('dpiStore/requestAutocompleteSuggestions', { voc: vocCache, text: text, base: instance.api.baseUrl }).then((response) => {\n const results = response.data.result.results.map((r) => ({\n name: getTranslationFor(r.pref_label, 'en', []) + \" (\" + r.id + \")\",\n resource: r.resource,\n }));\n matches = results;\n });\n } catch (error) {\n }\n }\n\n}\n\nvar showTable = reactive({\n first: false,\n second: false,\n third: false,\n activeValue: false\n})\n\nconst I1 = ref(null);\nconst I2 = ref(null);\nconst I3 = ref(null);\n\nonClickOutside(I1, event => showTable.first = false)\nonClickOutside(I2, event => showTable.second = false)\nonClickOutside(I3, event => showTable.third = false)\nfunction activeInput(e) {\n\n // console.log('in', showTable);\n if (e === \"showTable\") showTable.first = !showTable.first;\n if (e === \"showVocTable\") showTable.second = !showTable.second;\n if (e === \"showVocEntries\") {\n if (showTable.third === true) {\n }\n else showTable.third = !showTable.third;\n }\n}\nfunction manURLInput(e) {\n props.context.node.input({ 'name': e.target.value, 'resource': e.target.value })\n}\n// console.log(voc);\n</script>\n\n<template>\n <div class=\"d-flex flex-column w-100 spatialWrap\">\n <div class=\"d-flex formkit-inner mx-3 mb-3\" v-if=\"!props.context.attrs.multiple && showTable.activeValue\">\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=\" w-100 d-flex\">\n <div class=\"d-flex position-relative m-3 w-100\">\n <input id=\"I1\" type=\"text\" class=\"selectInputField formkit-inner\" readonly=\"readonly\"\n :placeholder=\"$t('message.dataupload.info.preferredInput')\"\n @click=\"activeInput('showTable')\" />\n <ul ref=\"I1\" v-show=\"showTable.first\" class=\"spatialListUpload\">\n <li @click=\"activeInput('showTable'); man = true; if (vocSearch) { vocSearch = false; };\"\n class=\"p-2 border-b border-gray-200 choosableItemsAC\">\n {{ $t('message.dataupload.datasets.conditional.manually') }}\n </li>\n <li @click=\"activeInput('showTable'); vocSearch = true; if (man) { man = false }\"\n class=\"p-2 border-b border-gray-200 choosableItemsAC\">\n {{ $t('message.dataupload.datasets.conditional.vocabulary') }}\n </li>\n </ul>\n </div>\n <div v-if=\"man\" class=\"d-flex position-relative m-3 w-100\">\n <label class=\"w-100\"> Provide an URL\n <input type=\"URL\" class=\"selectInputField formkit-inner\" placeholder=\"URL\"\n @input=\"manURLInput($event)\">\n </label>\n </div>\n <div v-if=\"vocSearch\" class=\"d-flex position-relative m-3 w-100\">\n <label class=\"w-100\"> Choose type of vocabulary\n <input id=\"I2\" type=\"text\" class=\"selectInputField formkit-inner\" readonly=\"readonly\"\n placeholder=\"Search the vocabulary\" @click=\"activeInput('showVocTable');\">\n </label>\n <ul ref=\"I2\" v-if=\"showTable.second\" class=\"spatialListUpload\">\n <li v-for=\"el in listOfVoc\" :key=\"el\" class=\"p-2 border-b border-gray-200 choosableItemsAC\"\n @click=\" closeAll(); el.active = !el.active; activeInput('showVocTable'); inputText = ''; voc = el.item\">\n {{ el.item }}</li>\n </ul>\n </div>\n </div>\n <div class=\"m-3\" v-if=\"vocSearch\">\n <div v-for=\"el in listOfVoc\" :key=\"el\" class=\"position-relative\">\n <label class=\"w-100\" v-if=\"el.active\"> Search the vocabulary <input id=\"I3\" type=\"text\"\n v-model=\"inputText\" class=\"selectInputField formkit-inner\" :placeholder=\"el.item\"\n @click=\"activeInput('showVocEntries'); inputText = ''\">\n </label>\n <ul ref=\"I3\" v-if=\"showTable.third && el.active\" class=\"spatialListUpload\">\n <li v-for=\"el in matches\" :key=\"el\" class=\"p-2 border-b border-gray-200 choosableItemsAC\"\n @click=\"props.context.node.input(el); inputText = el.name; activeInput('showVocEntries'); showTable.third = false; saveToLocal(el)\">\n {{ el.name }}</li>\n </ul>\n </div>\n\n </div>\n\n </div>\n </div>\n</template>\n\n<script>\n\nexport default {\n data() {\n return {\n man: false,\n vocSearch: false,\n }\n },\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.spatialWrap label {\n font-family: var(--fk-font-family-label);\n font-size: var(--fk-font-size-label);\n font-weight: var(--fk-font-weight-label);\n line-height: var(--fk-line-height-label);\n}\n\n.spatialWrap {\n .spatialListUpload {\n width: 100%;\n left: 0;\n top: 78px;\n }\n}\n</style>\n"],"names":["__default__","instance","getCurrentInstance","route","useRoute","props","__props","listOfVoc","ref","inputText","voc","matches","manURL","store","useStore","watch","getAutocompleteSuggestions","onMounted","nextTick","showTable","closeAll","element","removeProperty","saveToLocal","el","pathToLocalStorage","arr","index","vocCache","text","response","r","getTranslationFor","reactive","I1","I2","I3","onClickOutside","event","activeInput","manURLInput"],"mappings":";;;;;;;;;;;;;;;;;;;;;;2CAuNAA,KAAe;AAAA,EACX,OAAO;AACH,WAAO;AAAA,MACH,KAAK;AAAA,MACL,WAAW;AAAA,IACd;AAAA,EACJ;AAEL;;;;;;AAtNA,QAAIC,IAAWC,EAAkB,EAAG,WAAW,IAAI,OAAO,iBAAiB,MACvEC,IAAQC,EAAQ;AAEpB,UAAMC,IAAQC;AAId,QAAIC,IAAYC,EAAI,EAAE,GAClBC,IAAYD,EAAI,EAAE,GAClBE,IAAMF,EAAI,EAAE,GACZG,IAAUH,EAAI,EAAE,GAChBI,IAASJ,EAAI,EAAE;AACnB,UAAMK,IAAQC,EAAQ;AAEtB,IAAIT,EAAM,QAAQ,MAAM,eAAe,2BACnCE,EAAU,MAAM,KAAK,EAAE,MAAM,oBAAoB,QAAQ,GAAK,GAAI,EAAE,MAAM,gBAAgB,QAAQ,GAAK,GAAI,EAAE,MAAM,6BAA6B,QAAQ,GAAO,GAAE,EAAE,MAAM,gBAAgB,QAAQ,GAAO,GAAE,EAAE,MAAM,2BAA2B,QAAQ,GAAK,GAAI,EAAE,MAAM,aAAa,QAAQ,IAAO,GAGlSF,EAAM,QAAQ,MAAM,eAAe,aACnCE,EAAU,MAAM,KAAK,EAAE,MAAM,WAAW,QAAQ,MAAS,EAAE,MAAM,SAAS,QAAQ,MAAS,EAAE,MAAM,aAAa,QAAQ,IAAO,GAGnIQ,EAAMN,GAAW,YAAY;AACzB,MAAAO;IACJ,CAAC,GACDD,EAAML,GAAK,YAAY;AACnB,MAAAA,EAAI,QAAQA,EAAI,MAAM,YAAW;AAAA,IACrC,CAAC,GACDK,EAAMH,GAAQ,YAAY;AACtB,MAAAP,EAAM,QAAQ,KAAK,MAAM,EAAE,MAAQO,GAAQ,UAAYA,GAAQ;AAAA,IACnE,CAAC,GACDK,EAAU,YAAY;AAClB,MAAAN,IAAU,CAAC,EAAE,MAAM,gEAAgE,UAAU,UAAS,CAAE,GAExG,MAAMO,EAAU,GAEZb,EAAM,QAAQ,MAAM,SAAS,UAAaA,EAAM,QAAQ,MAAM,SAAS,KACvEc,EAAU,cAAc,KACrBA,EAAU,cAAc;AAAA,IAGnC,CAAC;AAED,aAASC,IAAW;AAChB,MAAAb,EAAU,MAAM,QAAQ,CAAAc,MAAW;AAC/B,QAAAA,EAAQ,SAAS;AAAA,MACzB,CAAK;AAAA,IACL;AACA,aAASC,EAAe,GAAG;AAEvB,MAAAH,EAAU,cAAc,IACxBd,EAAM,QAAQ,KAAK,MAAM,CAAA,CAAE;AAAA,IAC/B;AACA,aAASkB,EAAYC,GAAI;AAErB,UAAIC,IAAqB,KAAK,MAAM,aAAa,QAAQ,OAAOtB,EAAM,OAAO,QAAQ,EAAE,CAAC,GACpFuB;AACJ,MAAIrB,EAAM,QAAQ,MAAM,eAAe,0BACnCqB,IAAMD,EAAmB,QAAQ,8BAA8B,IAE9DC,IAAMD,EAAmB,QAAQ,aAAa,GAEnDC,EAAI,QAAQ,CAACL,GAASM,MAAU;AAC5B,QAAI,OAAO,KAAKN,CAAO,EAAE,WAAW,KAChCK,EAAI,OAAOC,GAAO,CAAC;AAAA,MAE/B,CAAK,GACDD,EAAI,KAAKrB,EAAM,QAAQ,KAAK,MAAM,GAC9BA,EAAM,QAAQ,MAAM,eAAe,0BACnCoB,EAAmB,QAAQ,8BAA8B,IAAIC,IAE5DD,EAAmB,QAAQ,aAAa,IAAIC,GAEjD,aAAa,QAAQ,OAAOvB,EAAM,OAAO,QAAQ,IAAI,KAAK,UAAUsB,CAAkB,CAAC;AAAA,IAC3F;AACA,UAAMT,IAA6B,YAAY;AAC3C,UAAIY,IAAWlB,EAAI;AAEnB,UAAIL,EAAM,QAAQ,MAAM,eAAe,yBAAyB;AAE5D,QAAAuB,IAAW,yBAAyBA,EAAS,YAAa,EAAC,WAAW,KAAK,GAAG;AAE9E,YAAI;AACA,cAAIC,IAAOpB,EAAU;AACrB,gBAAMI,EAAM,SAAS,2CAA2C,EAAE,KAAKe,GAAU,MAAMC,GAAM,MAAM5B,EAAS,IAAI,QAAS,CAAA,EAAE,KAAK,CAAC6B,MAAa;AAK1I,YAAAnB,IAJgBmB,EAAS,KAAK,OAAO,QAAQ,IAAI,CAACC,OAAO;AAAA,cACrD,MAAMC,EAAkBD,EAAE,WAAW,MAAM,CAAE,CAAA,IAAI,OAAOA,EAAE,KAAK;AAAA,cAC/D,UAAUA,EAAE;AAAA,YACf,EAAC;AAAA,UAElB,CAAa;AAAA,QACJ,QAAe;AAAA,QACf;AAAA,MACJ;AAEG,YAAI;AACA,cAAIF,IAAOpB,EAAU;AACrB,gBAAMI,EAAM,SAAS,2CAA2C,EAAE,KAAKe,GAAU,MAAMC,GAAM,MAAM5B,EAAS,IAAI,QAAS,CAAA,EAAE,KAAK,CAAC6B,MAAa;AAK1I,YAAAnB,IAJgBmB,EAAS,KAAK,OAAO,QAAQ,IAAI,CAACC,OAAO;AAAA,cACrD,MAAMC,EAAkBD,EAAE,YAAY,MAAM,CAAE,CAAA,IAAI,OAAOA,EAAE,KAAK;AAAA,cAChE,UAAUA,EAAE;AAAA,YACf,EAAC;AAAA,UAElB,CAAa;AAAA,QACJ,QAAe;AAAA,QACf;AAAA,IAGT;AAEA,QAAIZ,IAAYc,EAAS;AAAA,MACrB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,IACjB,CAAC;AAED,UAAMC,IAAK1B,EAAI,IAAI,GACb2B,IAAK3B,EAAI,IAAI,GACb4B,IAAK5B,EAAI,IAAI;AAEnB,IAAA6B,EAAeH,GAAI,CAAAI,MAASnB,EAAU,QAAQ,EAAK,GACnDkB,EAAeF,GAAI,CAAAG,MAASnB,EAAU,SAAS,EAAK,GACpDkB,EAAeD,GAAI,CAAAE,MAASnB,EAAU,QAAQ,EAAK;AACnD,aAASoB,EAAY,GAAG;AAGpB,MAAI,MAAM,gBAAapB,EAAU,QAAQ,CAACA,EAAU,QAChD,MAAM,mBAAgBA,EAAU,SAAS,CAACA,EAAU,SACpD,MAAM,qBACFA,EAAU,UAAU,OAEnBA,EAAU,QAAQ,CAACA,EAAU;AAAA,IAE1C;AACA,aAASqB,EAAY,GAAG;AACpB,MAAAnC,EAAM,QAAQ,KAAK,MAAM,EAAE,MAAQ,EAAE,OAAO,OAAO,UAAY,EAAE,OAAO,MAAK,CAAE;AAAA,IACnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,32 +1,43 @@
|
|
|
1
|
-
import { getCurrentInstance as
|
|
2
|
-
import { isNil as
|
|
3
|
-
import
|
|
4
|
-
import { useStore as
|
|
5
|
-
|
|
1
|
+
import { getCurrentInstance as g, ref as u, onMounted as I, watchEffect as h, resolveComponent as D, openBlock as i, createElementBlock as q, createElementVNode as _, toDisplayString as $, createTextVNode as b, createBlock as n, unref as y } from "vue";
|
|
2
|
+
import { isNil as k } from "lodash-es";
|
|
3
|
+
import E from "axios";
|
|
4
|
+
import { useStore as U } from "vuex";
|
|
5
|
+
import { useI18n as C } from "vue-i18n";
|
|
6
|
+
const M = { class: "formkitProperty DSid" }, N = {
|
|
6
7
|
props: ["context"]
|
|
7
|
-
},
|
|
8
|
+
}, V = /* @__PURE__ */ Object.assign(N, {
|
|
8
9
|
__name: "UniqueIdentifierInput",
|
|
9
|
-
setup(
|
|
10
|
-
let
|
|
11
|
-
const
|
|
12
|
-
o.value = localStorage.getItem("dpi_duplicate"), l.value =
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
setup(S) {
|
|
11
|
+
let p = g().appContext.app.config.globalProperties.$env;
|
|
12
|
+
const d = U(), l = u(), o = u();
|
|
13
|
+
o.value = localStorage.getItem("dpi_duplicate"), l.value = d.getters["auth/getIsEditMode"];
|
|
14
|
+
const { t: s, locale: B } = C();
|
|
15
|
+
let r = {
|
|
16
|
+
idformatvalid: "",
|
|
17
|
+
idunique: "",
|
|
18
|
+
required: ""
|
|
16
19
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
I(() => {
|
|
21
|
+
r = {
|
|
22
|
+
idformatvalid: s("message.dataupload.datasets.datasetID.invalidFormat"),
|
|
23
|
+
idunique: s("message.dataupload.datasets.datasetID.duplicate"),
|
|
24
|
+
required: s("message.dataupload.datasets.datasetID.required")
|
|
25
|
+
};
|
|
26
|
+
}), h(() => {
|
|
27
|
+
});
|
|
28
|
+
async function m(e) {
|
|
29
|
+
let t = !0, a = p.api.hubUrl;
|
|
30
|
+
const f = d.getters["auth/getUserDraftIds"];
|
|
20
31
|
return new Promise(() => {
|
|
21
|
-
if (
|
|
32
|
+
if (k(e.value) || e.value === "" || e.value === void 0)
|
|
22
33
|
t = !0;
|
|
23
|
-
else if (
|
|
34
|
+
else if (f.includes(e.value))
|
|
24
35
|
t = !1;
|
|
25
36
|
else {
|
|
26
|
-
const
|
|
27
|
-
|
|
37
|
+
const v = `${a}datasets/${e.value}?useNormalizedId=true`;
|
|
38
|
+
E.head(v).then(() => {
|
|
28
39
|
t = !1;
|
|
29
|
-
}).catch((
|
|
40
|
+
}).catch((F) => {
|
|
30
41
|
t = !0;
|
|
31
42
|
});
|
|
32
43
|
}
|
|
@@ -36,11 +47,11 @@ const q = { class: "formkitProperty DSid" }, k = {
|
|
|
36
47
|
return /^[a-z0-9-]*$/.test(e.value);
|
|
37
48
|
}
|
|
38
49
|
return (e, t) => {
|
|
39
|
-
const a =
|
|
40
|
-
return
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
!l.value || o.value ? (
|
|
50
|
+
const a = D("FormKit");
|
|
51
|
+
return i(), q("div", M, [
|
|
52
|
+
_("h4", null, $(e.$t("message.dataupload.datasets.datasetID.label")), 1),
|
|
53
|
+
b(),
|
|
54
|
+
!l.value || o.value ? (i(), n(a, {
|
|
44
55
|
key: 0,
|
|
45
56
|
type: "text",
|
|
46
57
|
name: "datasetID",
|
|
@@ -48,12 +59,12 @@ const q = { class: "formkitProperty DSid" }, k = {
|
|
|
48
59
|
placeholder: e.$t("message.dataupload.datasets.datasetID.label"),
|
|
49
60
|
info: e.$t("message.dataupload.datasets.datasetID.info"),
|
|
50
61
|
help: e.$t("message.dataupload.datasets.datasetID.help"),
|
|
51
|
-
"validation-rules": { idformatvalid: c, idunique:
|
|
62
|
+
"validation-rules": { idformatvalid: c, idunique: m },
|
|
52
63
|
validation: "idformatvalid|idunique|required",
|
|
53
64
|
"validation-visibility": "live",
|
|
54
|
-
"validation-messages":
|
|
65
|
+
"validation-messages": y(r),
|
|
55
66
|
"outer-class": "formkitCmpWrap p-3"
|
|
56
|
-
}, null, 8, ["placeholder", "info", "help", "validation-rules"])) : (
|
|
67
|
+
}, null, 8, ["placeholder", "info", "help", "validation-rules", "validation-messages"])) : (i(), n(a, {
|
|
57
68
|
key: 1,
|
|
58
69
|
type: "text",
|
|
59
70
|
name: "datasetID",
|
|
@@ -67,6 +78,6 @@ const q = { class: "formkitProperty DSid" }, k = {
|
|
|
67
78
|
}
|
|
68
79
|
});
|
|
69
80
|
export {
|
|
70
|
-
|
|
81
|
+
V as default
|
|
71
82
|
};
|
|
72
83
|
//# sourceMappingURL=UniqueIdentifierInput.vue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueIdentifierInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/UniqueIdentifierInput.vue"],"sourcesContent":["<script setup>\nimport { ref, onMounted, watchEffect } from 'vue'\nimport { isNil } from 'lodash';\nimport axios from 'axios';\nimport { useStore } from 'vuex';\nimport { getCurrentInstance } from \"vue\";\
|
|
1
|
+
{"version":3,"file":"UniqueIdentifierInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/UniqueIdentifierInput.vue"],"sourcesContent":["<script setup>\nimport { ref, onMounted, watchEffect } from 'vue'\nimport { isNil } from 'lodash';\nimport axios from 'axios';\nimport { useStore } from 'vuex';\nimport { getCurrentInstance } from \"vue\";\nimport { useI18n } from 'vue-i18n';\nlet env = getCurrentInstance().appContext.app.config.globalProperties.$env;\n\nconst store = useStore();\nconst isEditMode = ref();\nconst isDuplicate = ref();\nisDuplicate.value = localStorage.getItem('dpi_duplicate');\nisEditMode.value = store.getters['auth/getIsEditMode'];\nconst { t, locale } = useI18n();\n\nlet validationMessages = {\n idformatvalid: \"\",\n idunique: \"\",\n required: \"\"\n\n};\n\nonMounted(() => {\n // This is kind of buggy, its taking the strings from the wrong json (de and en is switched)\n validationMessages = {\n idformatvalid: t('message.dataupload.datasets.datasetID.invalidFormat'),\n idunique: t('message.dataupload.datasets.datasetID.duplicate'),\n required: t('message.dataupload.datasets.datasetID.required')\n };\n\n});\n\n\nwatchEffect(() => {\n\n\n});\n\n\n\nasync function idunique(node) {\n let isUniqueID = true;\n let hubUrl = env.api.hubUrl;\n const draftIDs = store.getters['auth/getUserDraftIds'];\n\n new Promise(() => {\n if (isNil(node.value) || node.value === '' || node.value === undefined) isUniqueID = true;\n else if (draftIDs.includes(node.value)) isUniqueID = false;\n else {\n const request = `${hubUrl}datasets/${node.value}?useNormalizedId=true`;\n axios.head(request)\n .then(() => {\n isUniqueID = false;\n })\n .catch((e) => {\n isUniqueID = true;\n });\n }\n });\n return isUniqueID;\n}\n\nfunction idformatvalid(node) {\n return /^[a-z0-9-]*$/.test(node.value);\n}\n\n</script>\n\n<template>\n <div class=\"formkitProperty DSid\">\n <h4>{{ $t(`message.dataupload.datasets.datasetID.label`) }}</h4>\n <FormKit v-if=\"!isEditMode || isDuplicate\" type=\"text\" name=\"datasetID\" id=\"datasetID\"\n :placeholder=\"$t(`message.dataupload.datasets.datasetID.label`)\"\n :info=\"$t(`message.dataupload.datasets.datasetID.info`)\" :help=\"$t(`message.dataupload.datasets.datasetID.help`)\"\n :validation-rules=\"{ idformatvalid, idunique }\" validation=\"idformatvalid|idunique|required\"\n validation-visibility=\"live\" :validation-messages=\"validationMessages\" outer-class=\"formkitCmpWrap p-3\">\n </FormKit>\n <FormKit v-else type=\"text\" name=\"datasetID\" id=\"datasetID\" :disabled=\"true\"\n :info=\"$t(`message.dataupload.datasets.datasetID.info`)\" :help=\"$t(`message.dataupload.datasets.datasetID.help`)\">\n </FormKit>\n </div>\n</template>\n\n<script>\nexport default {\n props: ['context']\n}\n</script>\n\n<style></style>\n"],"names":["__default__","env","getCurrentInstance","store","useStore","isEditMode","ref","isDuplicate","t","locale","useI18n","validationMessages","onMounted","watchEffect","idunique","node","isUniqueID","hubUrl","draftIDs","isNil","request","axios","e","idformatvalid"],"mappings":";;;;;6CAqFAA,IAAe;AAAA,EACb,OAAO,CAAC,SAAS;AACnB;;;AAhFA,QAAIC,IAAMC,EAAkB,EAAG,WAAW,IAAI,OAAO,iBAAiB;AAEtE,UAAMC,IAAQC,EAAQ,GAChBC,IAAaC,EAAG,GAChBC,IAAcD,EAAG;AACvB,IAAAC,EAAY,QAAQ,aAAa,QAAQ,eAAe,GACxDF,EAAW,QAAQF,EAAM,QAAQ,oBAAoB;AACrD,UAAM,EAAE,GAAAK,GAAG,QAAAC,MAAWC;AAEtB,QAAIC,IAAqB;AAAA,MACvB,eAAe;AAAA,MACf,UAAU;AAAA,MACV,UAAU;AAAA,IAEZ;AAEA,IAAAC,EAAU,MAAM;AAEd,MAAAD,IAAqB;AAAA,QACnB,eAAeH,EAAE,qDAAqD;AAAA,QACtE,UAAUA,EAAE,iDAAiD;AAAA,QAC7D,UAAUA,EAAE,gDAAgD;AAAA,MAChE;AAAA,IAEA,CAAC,GAGDK,EAAY,MAAM;AAAA,IAGlB,CAAC;AAID,mBAAeC,EAASC,GAAM;AAC5B,UAAIC,IAAa,IACbC,IAAShB,EAAI,IAAI;AACrB,YAAMiB,IAAWf,EAAM,QAAQ,sBAAsB;AAErD,iBAAI,QAAQ,MAAM;AAChB,YAAIgB,EAAMJ,EAAK,KAAK,KAAKA,EAAK,UAAU,MAAMA,EAAK,UAAU;AAAW,UAAAC,IAAa;AAAA,iBAC5EE,EAAS,SAASH,EAAK,KAAK;AAAG,UAAAC,IAAa;AAAA,aAChD;AACH,gBAAMI,IAAU,GAAGH,CAAM,YAAYF,EAAK,KAAK;AAC/C,UAAAM,EAAM,KAAKD,CAAO,EACf,KAAK,MAAM;AACV,YAAAJ,IAAa;AAAA,UACvB,CAAS,EACA,MAAM,CAACM,MAAM;AACZ,YAAAN,IAAa;AAAA,UACvB,CAAS;AAAA,QACJ;AAAA,MACL,CAAG,GACMA;AAAA,IACT;AAEA,aAASO,EAAcR,GAAM;AAC3B,aAAO,eAAe,KAAKA,EAAK,KAAK;AAAA,IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|