@piveau/piveau-hub-ui-modules 4.2.0 → 4.3.0-beta.0
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/components/AutocompleteInput.vue.mjs +98 -98
- package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs +136 -129
- 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/FileUpload.vue.mjs +2 -2
- package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.d.ts +7 -0
- package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.mjs +33 -0
- package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.mjs.map +1 -0
- package/dist/data-provider-interface/components/SimpleInput.vue.mjs +16 -20
- 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/dcatapde/input-definition.mjs +105 -97
- package/dist/data-provider-interface/config/dcatapde/input-definition.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatapdeODB/input-definition.mjs +2 -6
- package/dist/data-provider-interface/config/dcatapdeODB/input-definition.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/InputPage.vue.mjs +67 -67
- package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
- package/dist/form/Repeatable.vue.mjs +29 -29
- package/dist/form/Repeatable.vue.mjs.map +1 -1
- package/dist/form/inputDefinitions.mjs +13 -8
- package/dist/form/inputDefinitions.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as k, markRaw as $, resolveComponent as
|
|
1
|
+
import { defineComponent as k, markRaw as $, resolveComponent as S, openBlock as i, createElementBlock as n, Fragment as h, createVNode as b, withCtx as C, createElementVNode as a, renderList as _, normalizeClass as D, toDisplayString as l, createTextVNode as r, createCommentVNode as p } from "vue";
|
|
2
2
|
import { mapGetters as T } from "vuex";
|
|
3
|
-
import { useDpiStepper as
|
|
4
|
-
import
|
|
3
|
+
import { useDpiStepper as I } from "../composables/useDpiStepper.mjs";
|
|
4
|
+
import P from "./InputPageStep.vue.mjs";
|
|
5
5
|
import w from "./SelectControlledGroup.vue.mjs";
|
|
6
6
|
import { useWindowScroll as F } from "../../external/@vueuse/core/index";
|
|
7
7
|
import V from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
@@ -32,12 +32,12 @@ const j = k({
|
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
components: {
|
|
35
|
-
InputPageStep:
|
|
35
|
+
InputPageStep: P
|
|
36
36
|
},
|
|
37
37
|
data() {
|
|
38
38
|
return {
|
|
39
39
|
isCollapsed: !1,
|
|
40
|
-
camel2title: (e) => e.replace(/([A-Z])/g, (
|
|
40
|
+
camel2title: (e) => e.replace(/([A-Z])/g, (s) => ` ${s}`).replace(/^./, (s) => s.toUpperCase()).trim(),
|
|
41
41
|
isActive: !1
|
|
42
42
|
};
|
|
43
43
|
},
|
|
@@ -46,8 +46,8 @@ const j = k({
|
|
|
46
46
|
this.isCollapsed = !this.isCollapsed, this.collapseDistributions(this.index);
|
|
47
47
|
},
|
|
48
48
|
scrollToTop() {
|
|
49
|
-
let { x: e, y:
|
|
50
|
-
|
|
49
|
+
let { x: e, y: s } = F({ behavior: "smooth" });
|
|
50
|
+
s.value = 0;
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
computed: {
|
|
@@ -70,27 +70,27 @@ const j = k({
|
|
|
70
70
|
setup() {
|
|
71
71
|
const {
|
|
72
72
|
steps: e,
|
|
73
|
-
activeStep:
|
|
74
|
-
visitedSteps:
|
|
73
|
+
activeStep: s,
|
|
74
|
+
visitedSteps: c,
|
|
75
75
|
previousStep: y,
|
|
76
76
|
nextStep: f,
|
|
77
|
-
stepPlugin:
|
|
78
|
-
goToNextStep:
|
|
79
|
-
goToPreviousStep:
|
|
80
|
-
} =
|
|
77
|
+
stepPlugin: g,
|
|
78
|
+
goToNextStep: d,
|
|
79
|
+
goToPreviousStep: u
|
|
80
|
+
} = I(), m = (t) => (e[t].errorCount > 0 || e[t].blockingCount > 0) && c.value.includes(t), o = $({
|
|
81
81
|
SelectControlledGroup: w
|
|
82
82
|
});
|
|
83
83
|
return {
|
|
84
84
|
steps: e,
|
|
85
|
-
visitedSteps:
|
|
86
|
-
activeStep:
|
|
85
|
+
visitedSteps: c,
|
|
86
|
+
activeStep: s,
|
|
87
87
|
previousStep: y,
|
|
88
88
|
nextStep: f,
|
|
89
|
-
stepPlugin:
|
|
90
|
-
checkStepValidity:
|
|
91
|
-
goToNextStep:
|
|
92
|
-
goToPreviousStep:
|
|
93
|
-
library:
|
|
89
|
+
stepPlugin: g,
|
|
90
|
+
checkStepValidity: m,
|
|
91
|
+
goToNextStep: d,
|
|
92
|
+
goToPreviousStep: u,
|
|
93
|
+
library: o
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
96
|
}), B = {
|
|
@@ -99,76 +99,76 @@ const j = k({
|
|
|
99
99
|
}, K = {
|
|
100
100
|
key: 0,
|
|
101
101
|
class: "disInfoWrapper"
|
|
102
|
-
}, z = { class: "steps" }, L = ["data-step-active", "data-step-valid", "onClick"],
|
|
102
|
+
}, z = { class: "steps" }, L = ["data-step-active", "data-step-valid", "onClick"], M = { class: "stepBubbleWrap" }, O = { class: "circle stepCircle" }, W = ["textContent"], q = {
|
|
103
103
|
key: 0,
|
|
104
104
|
class: "seperatorHorizontalStepper"
|
|
105
|
-
},
|
|
105
|
+
}, A = {
|
|
106
106
|
key: 1,
|
|
107
107
|
class: "seperatorHorizontalStepper"
|
|
108
|
-
},
|
|
108
|
+
}, E = {
|
|
109
109
|
key: 0,
|
|
110
110
|
class: "step inactiveStep"
|
|
111
|
-
},
|
|
112
|
-
|
|
111
|
+
}, G = /* @__PURE__ */ a("div", { class: "circle stepCircle" }, null, -1), H = [
|
|
112
|
+
G
|
|
113
113
|
], R = { class: "d-flex flex-column w-100" }, U = {
|
|
114
114
|
key: 0,
|
|
115
115
|
class: "p-1"
|
|
116
|
-
},
|
|
117
|
-
function
|
|
118
|
-
const
|
|
119
|
-
return
|
|
120
|
-
|
|
116
|
+
}, Z = /* @__PURE__ */ a("b", null, "*", -1), J = { class: "m-3 d-flex justify-content-end" };
|
|
117
|
+
function N(e, s, c, y, f, g) {
|
|
118
|
+
const d = S("FormKitSchema"), u = S("InputPageStep"), m = S("FormKit");
|
|
119
|
+
return i(), n(h, null, [
|
|
120
|
+
b(m, {
|
|
121
121
|
type: "form",
|
|
122
122
|
actions: !1,
|
|
123
123
|
plugins: [e.stepPlugin]
|
|
124
124
|
}, {
|
|
125
|
-
default:
|
|
125
|
+
default: C(() => [
|
|
126
126
|
a("div", B, [
|
|
127
|
-
e.isCollapsed ?
|
|
127
|
+
e.isCollapsed ? p("", !0) : (i(), n("div", K, [
|
|
128
128
|
a("ul", z, [
|
|
129
|
-
(
|
|
130
|
-
key:
|
|
129
|
+
(i(!0), n(h, null, _(e.steps, (o, t, v) => (i(), n("li", {
|
|
130
|
+
key: v,
|
|
131
131
|
class: D(["step", {
|
|
132
132
|
activeItem: e.activeStep === t,
|
|
133
133
|
inactiveStep: t != e.activeStep,
|
|
134
134
|
"has-errors": e.checkStepValidity(t)
|
|
135
135
|
}]),
|
|
136
136
|
"data-step-active": e.activeStep === t,
|
|
137
|
-
"data-step-valid":
|
|
137
|
+
"data-step-valid": o.valid && o.errorCount === 0,
|
|
138
138
|
onClick: (Q) => e.activeStep = t
|
|
139
139
|
}, [
|
|
140
|
-
a("div",
|
|
141
|
-
a("div",
|
|
140
|
+
a("div", M, [
|
|
141
|
+
a("div", O, l(v + 1), 1),
|
|
142
142
|
r(),
|
|
143
|
-
e.checkStepValidity(t) ? (
|
|
143
|
+
e.checkStepValidity(t) ? (i(), n("span", {
|
|
144
144
|
key: 0,
|
|
145
145
|
class: "step--errors",
|
|
146
|
-
textContent:
|
|
147
|
-
}, null, 8,
|
|
148
|
-
r(" " +
|
|
146
|
+
textContent: l(o.errorCount + o.blockingCount)
|
|
147
|
+
}, null, 8, W)) : p("", !0),
|
|
148
|
+
r(" " + l(e.$t("message.dataupload.steps." + t + "Step")), 1)
|
|
149
149
|
]),
|
|
150
150
|
r(),
|
|
151
|
-
|
|
151
|
+
v + 1 != Object.keys(e.getNavSteps(e.$env.content.dataProviderInterface.specification).distributions).length ? (i(), n("div", q)) : p("", !0),
|
|
152
152
|
r(),
|
|
153
|
-
e.activeStep === "overview" ? (
|
|
153
|
+
e.activeStep === "overview" ? (i(), n("div", A)) : p("", !0)
|
|
154
154
|
], 10, L))), 128)),
|
|
155
155
|
r(),
|
|
156
|
-
e.activeStep === "overview" ? (
|
|
156
|
+
e.activeStep === "overview" ? (i(), n("li", E, H)) : p("", !0)
|
|
157
157
|
]),
|
|
158
158
|
r(),
|
|
159
159
|
a("div", R, [
|
|
160
|
-
(
|
|
161
|
-
|
|
162
|
-
default:
|
|
163
|
-
|
|
164
|
-
schema: e.schema[
|
|
160
|
+
(i(!0), n(h, null, _(e.getNavSteps(e.$env.content.dataProviderInterface.specification).distributions, (o, t) => (i(), n("div", { key: t }, [
|
|
161
|
+
b(u, { name: o }, {
|
|
162
|
+
default: C(() => [
|
|
163
|
+
b(d, {
|
|
164
|
+
schema: e.schema[o],
|
|
165
165
|
library: e.library
|
|
166
166
|
}, null, 8, ["schema", "library"]),
|
|
167
167
|
r(),
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
r("
|
|
171
|
-
])) :
|
|
168
|
+
o === "Mandatory" ? (i(), n("p", U, [
|
|
169
|
+
Z,
|
|
170
|
+
r(" " + l(e.$t("message.dataupload.steps.MandatoryStep")), 1)
|
|
171
|
+
])) : p("", !0)
|
|
172
172
|
]),
|
|
173
173
|
_: 2
|
|
174
174
|
}, 1032, ["name"])
|
|
@@ -180,27 +180,27 @@ function J(e, o, p, y, f, C) {
|
|
|
180
180
|
_: 1
|
|
181
181
|
}, 8, ["plugins"]),
|
|
182
182
|
r(),
|
|
183
|
-
a("div",
|
|
183
|
+
a("div", J, [
|
|
184
184
|
a("button", {
|
|
185
185
|
type: "button",
|
|
186
186
|
class: "btn btn-secondary",
|
|
187
|
-
onClick:
|
|
187
|
+
onClick: s[0] || (s[0] = (o) => {
|
|
188
188
|
e.goToPreviousStep(), e.scrollToTop();
|
|
189
189
|
})
|
|
190
|
-
}, "
|
|
190
|
+
}, l(e.$t("message.dataupload.steps.previousDisStep")), 1),
|
|
191
191
|
r(),
|
|
192
192
|
a("button", {
|
|
193
193
|
type: "button",
|
|
194
194
|
class: "btn btn-secondary ml-3",
|
|
195
|
-
onClick:
|
|
195
|
+
onClick: s[1] || (s[1] = (o) => {
|
|
196
196
|
e.goToNextStep(), e.scrollToTop();
|
|
197
197
|
})
|
|
198
|
-
}, "
|
|
198
|
+
}, l(e.$t("message.dataupload.steps.nextDisStep")), 1)
|
|
199
199
|
])
|
|
200
200
|
], 64);
|
|
201
201
|
}
|
|
202
|
-
const
|
|
202
|
+
const ie = /* @__PURE__ */ V(j, [["render", N]]);
|
|
203
203
|
export {
|
|
204
|
-
|
|
204
|
+
ie as default
|
|
205
205
|
};
|
|
206
206
|
//# sourceMappingURL=DistributionStepper.vue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DistributionStepper.vue.mjs","sources":["../../../lib/data-provider-interface/components/DistributionStepper.vue"],"sourcesContent":["<template>\n <FormKit type=\"form\" :actions=\"false\" :plugins=\"[stepPlugin]\">\n <div name=\"distribution-stepper\" class=\"singleDistributions\">\n <div class=\"disInfoWrapper\" v-if=\"!isCollapsed\">\n <ul class=\"steps\">\n <li v-for=\"(step, stepName, index) in steps\" :key=\"index\" class=\"step\"\n :data-step-active=\"activeStep === stepName\" :data-step-valid=\"step.valid && step.errorCount === 0\" :class=\"{\n activeItem: activeStep === stepName, inactiveStep: stepName != activeStep, 'has-errors': checkStepValidity(stepName)\n }\" @click=\"activeStep = stepName\">\n <div class=\"stepBubbleWrap\">\n <div class=\"circle stepCircle\">{{ index + 1 }}</div>\n <span v-if=\"checkStepValidity(stepName)\" class=\"step--errors\"\n v-text=\"step.errorCount + step.blockingCount\" />\n {{ camel2title(stepName) }}\n </div>\n <div\n v-if=\"index + 1 != Object.keys(getNavSteps($env.content.dataProviderInterface.specification).distributions).length\"\n class=\"seperatorHorizontalStepper\">\n </div>\n <div v-if=\"activeStep === 'overview'\" class=\"seperatorHorizontalStepper\"></div>\n </li>\n <li class=\"step inactiveStep\" v-if=\"activeStep === 'overview'\">\n <div class=\"circle stepCircle\"></div>\n </li>\n </ul>\n <div class=\"d-flex flex-column w-100\">\n <div v-for=\"(stepName, index) in getNavSteps($env.content.dataProviderInterface.specification).distributions\"\n :key=\"index\">\n <InputPageStep :name=\"stepName\">\n <!-- <PropertyChooser></PropertyChooser> -->\n <FormKitSchema :schema=\"schema[stepName]\" :library=\"library\" />\n <p v-if=\"stepName === 'Mandatory'\" class=\"p-1\"> <b>*</b> mandatory</p>\n </InputPageStep>\n </div>\n </div>\n </div>\n </div>\n </FormKit>\n <div class=\"m-3 d-flex justify-content-end\">\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"goToPreviousStep(); scrollToTop();\">Previous Distribution Step</button>\n <button type=\"button\" class=\"btn btn-secondary ml-3\" @click=\"goToNextStep(); scrollToTop();\">Next Distribution Step</button>\n </div>\n</template>\n\n<script>\nimport { defineComponent, markRaw } from 'vue';\nimport { mapGetters } from 'vuex';\nimport { useDpiStepper } from '../composables/useDpiStepper';\nimport InputPageStep from '../components/InputPageStep.vue';\nimport SelectControlledGroup from './SelectControlledGroup.vue';\nimport { useWindowScroll } from '@vueuse/core'\n\n\nexport default defineComponent({\n props: {\n name: {\n type: String,\n default: '',\n },\n index: {\n required: true\n },\n schema: {\n required: true,\n type: Object,\n },\n context: {\n type: Object,\n },\n distributionIsCollapsed: {\n type: Boolean,\n },\n collapseDistributions: {\n type: Function,\n },\n deleteDistribution: {\n type: Function,\n },\n },\n components: {\n InputPageStep,\n },\n data() {\n return {\n isCollapsed: false,\n camel2title: (str) =>\n str\n .replace(/([A-Z])/g, (match) => ` ${match}`)\n .replace(/^./, (match) => match.toUpperCase())\n .trim(),\n isActive: false\n }\n },\n methods: {\n editDistribution() {\n this.isCollapsed = !this.isCollapsed;\n this.collapseDistributions(this.index);\n },\n scrollToTop() {\n let { x, y } = useWindowScroll({ behavior: 'smooth' })\n y.value = 0\n\n }\n },\n computed: {\n ...mapGetters('dpiStore', [\n 'getNavSteps'\n ]),\n getName() {\n return this.name\n || values['Distributions']['distributionList'][this.name - 1]['Mandatory']['dcat:accessURL'][0]['@id'];\n },\n },\n watch: {\n distributionIsCollapsed: {\n handler(newValue) {\n this.isCollapsed = newValue;\n },\n },\n },\n created() { },\n setup() {\n const {\n steps,\n activeStep,\n visitedSteps,\n previousStep,\n nextStep,\n stepPlugin,\n goToNextStep,\n goToPreviousStep,\n } = useDpiStepper();\n\n const checkStepValidity = (stepName) => {\n return (steps[stepName].errorCount > 0 || steps[stepName].blockingCount > 0) && visitedSteps.value.includes(stepName)\n }\n\n const library = markRaw({\n SelectControlledGroup,\n })\n\n return {\n steps,\n visitedSteps,\n activeStep,\n previousStep,\n nextStep,\n stepPlugin,\n checkStepValidity,\n goToNextStep,\n goToPreviousStep,\n\n library,\n }\n }\n});\n</script>\n\n<style></style>"],"names":["_sfc_main","defineComponent","InputPageStep","str","match","x","y","useWindowScroll","mapGetters","newValue","steps","activeStep","visitedSteps","previousStep","nextStep","stepPlugin","goToNextStep","goToPreviousStep","useDpiStepper","checkStepValidity","stepName","library","markRaw","SelectControlledGroup","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_createElementVNode","_hoisted_11","_hoisted_13","_hoisted_15","_hoisted_16","_openBlock","_createElementBlock","_Fragment","_createVNode","_component_FormKit","_ctx","_withCtx","_hoisted_1","_createCommentVNode","_hoisted_2","_renderList","step","index","_normalizeClass","$event","_toDisplayString","_createTextVNode","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_12","_component_InputPageStep","_component_FormKitSchema","_hoisted_14","_cache"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DistributionStepper.vue.mjs","sources":["../../../lib/data-provider-interface/components/DistributionStepper.vue"],"sourcesContent":["<template>\n <FormKit type=\"form\" :actions=\"false\" :plugins=\"[stepPlugin]\">\n <div name=\"distribution-stepper\" class=\"singleDistributions\">\n <div class=\"disInfoWrapper\" v-if=\"!isCollapsed\">\n <ul class=\"steps\">\n <li v-for=\"(step, stepName, index) in steps\" :key=\"index\" class=\"step\"\n :data-step-active=\"activeStep === stepName\" :data-step-valid=\"step.valid && step.errorCount === 0\" :class=\"{\n activeItem: activeStep === stepName, inactiveStep: stepName != activeStep, 'has-errors': checkStepValidity(stepName)\n }\" @click=\"activeStep = stepName\">\n <div class=\"stepBubbleWrap\">\n <div class=\"circle stepCircle\">{{ index + 1 }}</div>\n <span v-if=\"checkStepValidity(stepName)\" class=\"step--errors\"\n v-text=\"step.errorCount + step.blockingCount\" />\n {{ $t('message.dataupload.steps.' + stepName+'Step') }}\n </div>\n <div\n v-if=\"index + 1 != Object.keys(getNavSteps($env.content.dataProviderInterface.specification).distributions).length\"\n class=\"seperatorHorizontalStepper\">\n </div>\n <div v-if=\"activeStep === 'overview'\" class=\"seperatorHorizontalStepper\"></div>\n </li>\n <li class=\"step inactiveStep\" v-if=\"activeStep === 'overview'\">\n <div class=\"circle stepCircle\"></div>\n </li>\n </ul>\n <div class=\"d-flex flex-column w-100\">\n <div v-for=\"(stepName, index) in getNavSteps($env.content.dataProviderInterface.specification).distributions\"\n :key=\"index\">\n <InputPageStep :name=\"stepName\">\n <!-- <PropertyChooser></PropertyChooser> -->\n <FormKitSchema :schema=\"schema[stepName]\" :library=\"library\" />\n <p v-if=\"stepName === 'Mandatory'\" class=\"p-1\"> <b>*</b> {{ $t('message.dataupload.steps.MandatoryStep')\n }}</p>\n </InputPageStep>\n </div>\n </div>\n </div>\n </div>\n </FormKit>\n <div class=\"m-3 d-flex justify-content-end\">\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"goToPreviousStep(); scrollToTop();\">{{ $t('message.dataupload.steps.previousDisStep')\n }}</button>\n <button type=\"button\" class=\"btn btn-secondary ml-3\" @click=\"goToNextStep(); scrollToTop();\">{{ $t('message.dataupload.steps.nextDisStep')\n }}</button>\n </div>\n</template>\n\n<script>\nimport { defineComponent, markRaw } from 'vue';\nimport { mapGetters } from 'vuex';\nimport { useDpiStepper } from '../composables/useDpiStepper';\nimport InputPageStep from '../components/InputPageStep.vue';\nimport SelectControlledGroup from './SelectControlledGroup.vue';\nimport { useWindowScroll } from '@vueuse/core'\n\n\nexport default defineComponent({\n props: {\n name: {\n type: String,\n default: '',\n },\n index: {\n required: true\n },\n schema: {\n required: true,\n type: Object,\n },\n context: {\n type: Object,\n },\n distributionIsCollapsed: {\n type: Boolean,\n },\n collapseDistributions: {\n type: Function,\n },\n deleteDistribution: {\n type: Function,\n },\n },\n components: {\n InputPageStep,\n },\n data() {\n return {\n isCollapsed: false,\n camel2title: (str) =>\n str\n .replace(/([A-Z])/g, (match) => ` ${match}`)\n .replace(/^./, (match) => match.toUpperCase())\n .trim(),\n isActive: false\n }\n },\n methods: {\n editDistribution() {\n this.isCollapsed = !this.isCollapsed;\n this.collapseDistributions(this.index);\n },\n scrollToTop() {\n let { x, y } = useWindowScroll({ behavior: 'smooth' })\n y.value = 0\n\n }\n },\n computed: {\n ...mapGetters('dpiStore', [\n 'getNavSteps'\n ]),\n getName() {\n return this.name\n || values['Distributions']['distributionList'][this.name - 1]['Mandatory']['dcat:accessURL'][0]['@id'];\n },\n },\n watch: {\n distributionIsCollapsed: {\n handler(newValue) {\n this.isCollapsed = newValue;\n },\n },\n },\n created() { },\n setup() {\n const {\n steps,\n activeStep,\n visitedSteps,\n previousStep,\n nextStep,\n stepPlugin,\n goToNextStep,\n goToPreviousStep,\n } = useDpiStepper();\n\n const checkStepValidity = (stepName) => {\n return (steps[stepName].errorCount > 0 || steps[stepName].blockingCount > 0) && visitedSteps.value.includes(stepName)\n }\n\n const library = markRaw({\n SelectControlledGroup,\n })\n\n return {\n steps,\n visitedSteps,\n activeStep,\n previousStep,\n nextStep,\n stepPlugin,\n checkStepValidity,\n goToNextStep,\n goToPreviousStep,\n\n library,\n }\n }\n});\n</script>\n\n<style></style>"],"names":["_sfc_main","defineComponent","InputPageStep","str","match","x","y","useWindowScroll","mapGetters","newValue","steps","activeStep","visitedSteps","previousStep","nextStep","stepPlugin","goToNextStep","goToPreviousStep","useDpiStepper","checkStepValidity","stepName","library","markRaw","SelectControlledGroup","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_createElementVNode","_hoisted_11","_hoisted_13","_hoisted_15","_hoisted_16","_openBlock","_createElementBlock","_Fragment","_createVNode","_component_FormKit","_ctx","_withCtx","_hoisted_1","_createCommentVNode","_hoisted_2","_renderList","step","index","_normalizeClass","$event","_toDisplayString","_createTextVNode","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_12","_component_InputPageStep","_component_FormKitSchema","_hoisted_14","_cache"],"mappings":"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"}
|
|
@@ -148,7 +148,7 @@ const H = {
|
|
|
148
148
|
placeholderMessage: e
|
|
149
149
|
};
|
|
150
150
|
}
|
|
151
|
-
}, w = (i) => (D("data-v-
|
|
151
|
+
}, w = (i) => (D("data-v-ec8d6a53"), i = i(), M(), i), K = { class: "position-relative w-100" }, W = {
|
|
152
152
|
key: 0,
|
|
153
153
|
ref: "fLoad",
|
|
154
154
|
class: "selectListUpload fileuploadList"
|
|
@@ -282,7 +282,7 @@ function de(i, e, l, s, t, a) {
|
|
|
282
282
|
], 16, z)) : u("", !0)
|
|
283
283
|
], 64);
|
|
284
284
|
}
|
|
285
|
-
const ye = /* @__PURE__ */ B(H, [["render", de], ["__scopeId", "data-v-
|
|
285
|
+
const ye = /* @__PURE__ */ B(H, [["render", de], ["__scopeId", "data-v-ec8d6a53"]]);
|
|
286
286
|
export {
|
|
287
287
|
ye as default
|
|
288
288
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload.vue.mjs","sources":["../../../lib/data-provider-interface/components/FileUpload.vue"],"sourcesContent":["<template>\n \n <div class=\"position-relative w-100 \">\n <FormKit name=\"mode\" validation=\"required\" type=\"text\" class=\"selectInputField formkit-inner \" readonly=\"readonly\"\n @click=\"triggerDropdown()\" :placeholder=\"placeholderMessage\" v-model=\"inputChoice\" :validation-messages=\"{\n required: validationMessage,\n }\" />\n <ul ref=\"fLoad\" v-if=\"drop.active\" class=\"selectListUpload fileuploadList\">\n <li @click=\"uploadFileSwitch = true; toggleUploadUrl()\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">Upload a file</li>\n <li @click=\"uploadURL = true; toggleUploadFileSwitch()\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">Provide an URL</li>\n </ul>\n </div>\n <div class=\"w-100 position-relative\" v-if=\"uploadURL && !uploadFileSwitch\">\n\n <FormKit id=\"aUrlLink\" v-model=\"URLValue\" class=\"selectInputField formkit-inner\" type=\"url\" name=\"@id\" @input=\"saveUrl\"\n validation=\"required|url\" validation-visibility=\"live\" :validation-messages=\"{\n required: validationMessage,\n }\" />\n\n </div>\n <div v-if=\"uploadFileSwitch\" ref=\"fileupload\" class=\"p-3 w-100\"\n :class=\"`formkit-input-element formkit-input-element--${context.type}`\" :data-type=\"context.type\" v-bind=\"$attrs\">\n <input type=\"text\" v-model=\"context.model\" @blur=\"context.blurHandler\" hidden />\n <div class=\"file-div position-relative\">\n <input class=\"mt-3\" type=\"file\" id=\"aUrlFL\" name=\"fileUpload\" @change=\"validateFile($event)\"\n :accept=\"validExtensions\">\n <div class=\"upload-feedback position-absolute d-flex\" style=\"right: 0\">\n <div v-if=\"isLoading\" class=\"lds-ring\">\n </div>\n <div v-if=\"success\"><i class=\"material-icons d-flex check-icon\">check_circle</i></div>\n <div v-if=\"fail\"><i class=\"material-icons d-flex close-icon\">error</i></div>\n </div>\n </div>\n <p class=\"dURLText my-3\" v-if=\"success\">{{ $t('message.metadata.downloadUrl') }}: <a :href=\"context.model\">{{\n context.model }}</a></p>\n <div v-if=\"validExtensions && validExtensions.length\" class=\"allowedTypesWrapper\">\n <p class=\"errorSub my-3 d-flex \" v-if=\"!success\">Allowed types: </p>\n <div class=\"d-flex flex-wrap w-100\">\n <span v-for=\"types in validExtensions\" :key=\"types\" class=\"mr-1 mb-1 allowedFTypes \">\n {{ types }}\n </span>\n </div>\n\n </div>\n\n\n </div>\n\n</template>\n\n<script>\n/* eslint-disable consistent-return, no-unused-vars */\nimport { mapGetters, mapActions } from 'vuex';\nimport axios from 'axios';\nimport helper from '../utils/general-helper'\nimport { getNode } from '@formkit/core'\n\nimport { reactive, ref, onMounted, computed } from 'vue';\nimport { onClickOutside } from '@vueuse/core'\nimport { useRuntimeEnv } from \"../../composables/useRuntimeEnv.ts\";\nimport { FormKit } from '@formkit/vue';\n\nexport default {\n props: {\n context: {\n type: Object,\n required: true,\n },\n },\n\n data() {\n return {\n inputChoice: '',\n error: '',\n URLValue: '',\n uploadURL: false,\n uploadFileSwitch: false,\n checkifSet: false,\n isLoading: false,\n success: false,\n fail: false,\n validExtensions: this.$env.content.dataProviderInterface.uploadFileTypes?.split(',') || []\n };\n },\n computed: {\n\n ...mapGetters('auth', [\n 'getUserData',\n 'getIsEditMode'\n ]),\n ...mapGetters('dpiStore', [\n 'getData',\n ]),\n getCatalogue() {\n return getNode('dcat:catalog').value;\n }\n },\n methods: {\n ...mapActions('dpiStore', [\n 'saveLocalstorageValues',\n ]),\n toggleUploadUrl() {\n this.inputChoice = \"Upload a file\"\n if (this.uploadURL) { this.uploadURL = !this.uploadURL }\n },\n toggleUploadFileSwitch() {\n this.inputChoice = \"Provide an URL\"\n if (this.uploadFileSwitch) { this.uploadFileSwitch = !this.uploadFileSwitch }\n },\n validateFile(event) {\n const file = event.target.files[0];\n const fileExtension = '.' + file.name.split('.').pop().toLowerCase();\n if (this.validExtensions && this.validExtensions.length) {\n if (!this.validExtensions.includes(fileExtension)) {\n console.log('Wrong filetype');\n } else {\n this.uploadOrReplaceFile({ file: event.target.files[0] })\n }\n } else {\n this.error = \"\"\n this.uploadOrReplaceFile({ file: event.target.files[0] })\n }\n },\n async saveUrl() {\n\n if (this.URLValue.includes('http://') || this.URLValue.includes('https://')) {\n await this.context.node.input({ '@id': this.URLValue , 'mode': this.inputChoice})\n }\n else await this.context.node.input({ '@id': 'https://' + this.URLValue , 'mode': this.inputChoice})\n\n },\n checkIfPresent() {\n // console.log(this.context.value['@id']);\n if (this.context.value['@id']) {\n // console.log(this.context.value['@id']);\n this.URLValue = this.context.value['@id']\n return true\n }\n else false\n },\n // finds the parent input group of a given element.\n findParentInputGroupOfElement(element) {\n // Start with the given element.\n let currentElement = element;\n\n // Traverse the DOM tree upwards.\n while (currentElement) {\n // If the current element is an input group, return it.\n if (currentElement.classList.contains('formkit-input-group-repeatable')) {\n return currentElement;\n }\n // If not, move to the parent element.\n currentElement = currentElement.parentElement;\n }\n\n // If no input group was found, return null.\n return null;\n },\n // finds the index of the distribution access URL based on the root of this component.\n findDistributionAccessUrlIndex() {\n // todo: find a more stable way to find the index of the distribution access URL.\n // this way uses the DOM tree, which is not stable.\n\n // Start at the root of this component.\n const rootElement = this.$refs.fileupload;\n\n // Find the parent input group of the root element.\n const parentInputGroup = this.findParentInputGroupOfElement(rootElement);\n if (!parentInputGroup) return null;\n\n // Get the parent element of all input groups.\n const parentOfAllInputGroups = parentInputGroup.parentElement;\n const allInputGroupsNodeList = parentOfAllInputGroups.querySelectorAll('.formkit-input-group-repeatable');\n const allInputGroupsArray = Array.from(allInputGroupsNodeList);\n\n // Find the index of the parent input group within the array of all input groups.\n const indexOfParentInputGroup = allInputGroupsArray.indexOf(parentInputGroup);\n\n return indexOfParentInputGroup;\n },\n async uploadOrReplaceFile({ file }) {\n\n const replaceEnabled = this.$env?.content?.dataProviderInterface?.enableFileUploadReplace || false;\n const wantsToReplace = this.$route.query?.edit ?? false;\n\n if (replaceEnabled && wantsToReplace) {\n const distributionIndexToReplace = this.$route.query?.edit;\n const fileIndexToReplace = this.findDistributionAccessUrlIndex();\n\n const targetDistribution = this.getData('distributions')?.[distributionIndexToReplace];\n const targetFile = targetDistribution?.['dcat:accessURL']?.[fileIndexToReplace];\n const accessUrl = targetFile?.['@id'];\n if (accessUrl) {\n const fileUploadUrl = this.$env.api.fileUploadUrl;\n\n const fileId = helper.getFileIdByAccessUrl({ accessUrl, fileUploadUrl })\n\n return await this.uploadFile(file, {\n method: 'PUT',\n url: `${this.$env.api.fileUploadUrl}data/${fileId}?catalog=${this.getCatalogue}`,\n });\n }\n\n }\n\n return await this.uploadFile(file);\n },\n async uploadFile(file, options = {}) {\n\n this.isLoading = true;\n\n const form = new FormData();\n form.append('file', file);\n\n const catalog = this.getCatalogue;\n const token = this.getUserData.rtpToken;\n\n const resolvedOptions = {\n method: 'POST',\n url: `${this.$env.api.fileUploadUrl}data?catalog=${catalog}`,\n ...options,\n };\n\n const requestOptions = {\n method: resolvedOptions.method,\n url: resolvedOptions.url,\n headers: {\n 'Content-Type': 'multipart/form-data',\n Authorization: `Bearer ${token}`,\n },\n data: form,\n };\n\n try {\n\n const result = await axios.request(requestOptions);\n const path = result.data.result.location.substring(result.data.result.location.indexOf('/') + 1);\n this.context.model = `${this.$env.api.fileUploadUrl}${path}`;\n this.isLoading = false;\n this.success = true;\n await this.context.node.input({ '@id': `${this.$env.api.fileUploadUrl}${path}` })\n // this.context.rootEmit('change');\n\n } catch (err) {\n\n this.isLoading = false;\n this.fail = true;\n console.error(err); // eslint-disable-line\n }\n },\n },\n mounted() {\n\n this.$nextTick(function () {\n\n if (this.context.value['@id']) {\n this.uploadURL = true\n this.URLValue = this.context.value['@id']\n this.inputChoice = \"Provide an URL\"\n return true\n }\n else false\n })\n },\n setup() {\n const env = useRuntimeEnv();\n let validationMessage = 'This property is required'\n let placeholderMessage = 'Choose between fileupload and providing a URL'\n\n var drop = reactive({\n active: false,\n })\n\n\n const fLoad = ref('fload');\n\n onClickOutside(fLoad, event => {\n drop.active = false\n })\n function triggerDropdown(e) {\n drop.active = !drop.active\n }\n\n return {\n drop,\n onClickOutside,\n triggerDropdown,\n validationMessage,\n placeholderMessage\n };\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n// @import '../../../styles/bootstrap_theme';\n// @import '../../../styles/utils/css-animations';\n.dURLText {}\n\n\n.accessUrl {\n .formkit-outer {}\n}\n\n.file-div {\n display: flex;\n align-items: center;\n}\n\n.upload-feedback {\n padding: 10px;\n}\n\n/*** MATERIAL ICONS ***/\n%modal-icon {\n font-size: 20px;\n cursor: default;\n}\n\n.check-icon {\n @extend %modal-icon;\n color: #28a745;\n}\n\n.close-icon {\n @extend %modal-icon;\n color: red;\n}\n\n.lds-ring {\n display: inline-block;\n position: relative;\n width: 30px;\n height: 30px;\n}\n\n.lds-ring div {\n box-sizing: border-box;\n display: block;\n position: absolute;\n right: 0;\n width: 30px;\n height: 30px;\n border: 8px solid lightgray;\n border-radius: 50%;\n animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n border-color: lightgray transparent transparent transparent;\n}\n\n.lds-ring div:nth-child(1) {\n animation-delay: -0.45s;\n}\n\n.lds-ring div:nth-child(2) {\n animation-delay: -0.3s;\n}\n\n.lds-ring div:nth-child(3) {\n animation-delay: -0.15s;\n}\n\n.error {\n color: red;\n}\n\n.errorSub {\n color: black;\n}\n\n@keyframes lds-ring {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.allowedFTypes {\n padding: 0.5rem;\n border-radius: 5px;\n border: 1px solid lightgrey;\n}\n\n.allowedTypesWrapper {\n max-width: 100%;\n display: flex;\n flex-wrap: wrap;\n}\n.fileuploadList{\n width: 96.7%;\n}\n</style>\n"],"names":["_sfc_main","_a","mapGetters","getNode","mapActions","event","fileExtension","element","currentElement","rootElement","parentInputGroup","allInputGroupsNodeList","file","replaceEnabled","_c","_b","wantsToReplace","_d","distributionIndexToReplace","_e","fileIndexToReplace","targetDistribution","_f","targetFile","_g","accessUrl","fileUploadUrl","fileId","helper","options","form","catalog","token","resolvedOptions","requestOptions","result","axios","path","err","useRuntimeEnv","validationMessage","placeholderMessage","drop","reactive","fLoad","ref","onClickOutside","triggerDropdown","e","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_10","_withScopeId","_createElementVNode","_hoisted_13","_hoisted_16","_hoisted_19","_openBlock","_createElementBlock","_Fragment","_createVNode","_component_FormKit","$setup","$data","_cache","$event","_createTextVNode","_hoisted_2","$options","_createCommentVNode","_hoisted_3","_mergeProps","$props","_ctx","args","_vModelText","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_11","_hoisted_12","_hoisted_14","_hoisted_15","_toDisplayString","_hoisted_17","_hoisted_18","_renderList","types"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileUpload.vue.mjs","sources":["../../../lib/data-provider-interface/components/FileUpload.vue"],"sourcesContent":["<template>\n\n <div class=\"position-relative w-100 \">\n <FormKit name=\"mode\" validation=\"required\" type=\"text\" class=\"selectInputField formkit-inner \" readonly=\"readonly\"\n @click=\"triggerDropdown()\" :placeholder=\"placeholderMessage\" v-model=\"inputChoice\" :validation-messages=\"{\n required: validationMessage,\n }\" />\n <ul ref=\"fLoad\" v-if=\"drop.active\" class=\"selectListUpload fileuploadList\">\n <li @click=\"uploadFileSwitch = true; toggleUploadUrl()\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">Upload a file</li>\n <li @click=\"uploadURL = true; toggleUploadFileSwitch()\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">Provide an URL</li>\n </ul>\n </div>\n <div class=\"w-100 position-relative\" v-if=\"uploadURL && !uploadFileSwitch\">\n\n <FormKit id=\"aUrlLink\" v-model=\"URLValue\" class=\"selectInputField formkit-inner\" type=\"url\" name=\"@id\"\n @input=\"saveUrl\" validation=\"required|url\" validation-visibility=\"live\" :validation-messages=\"{\n required: validationMessage,\n }\" />\n\n </div>\n <div v-if=\"uploadFileSwitch\" ref=\"fileupload\" class=\"p-3 w-100\"\n :class=\"`formkit-input-element formkit-input-element--${context.type}`\" :data-type=\"context.type\" v-bind=\"$attrs\">\n <input type=\"text\" v-model=\"context.model\" @blur=\"context.blurHandler\" hidden />\n <div class=\"file-div position-relative\">\n <input class=\"mt-3\" type=\"file\" id=\"aUrlFL\" name=\"fileUpload\" @change=\"validateFile($event)\"\n :accept=\"validExtensions\">\n <div class=\"upload-feedback position-absolute d-flex\" style=\"right: 0\">\n <div v-if=\"isLoading\" class=\"lds-ring\">\n </div>\n <div v-if=\"success\"><i class=\"material-icons d-flex check-icon\">check_circle</i></div>\n <div v-if=\"fail\"><i class=\"material-icons d-flex close-icon\">error</i></div>\n </div>\n </div>\n <p class=\"dURLText my-3\" v-if=\"success\">{{ $t('message.metadata.downloadUrl') }}: <a :href=\"context.model\">{{\n context.model }}</a></p>\n <div v-if=\"validExtensions && validExtensions.length\" class=\"allowedTypesWrapper\">\n <p class=\"errorSub my-3 d-flex \" v-if=\"!success\">Allowed types: </p>\n <div class=\"d-flex flex-wrap w-100\">\n <span v-for=\"types in validExtensions\" :key=\"types\" class=\"mr-1 mb-1 allowedFTypes \">\n {{ types }}\n </span>\n </div>\n\n </div>\n\n\n </div>\n\n</template>\n\n<script>\n/* eslint-disable consistent-return, no-unused-vars */\nimport { mapGetters, mapActions } from 'vuex';\nimport axios from 'axios';\nimport helper from '../utils/general-helper'\nimport { getNode } from '@formkit/core'\n\nimport { reactive, ref, onMounted, computed } from 'vue';\nimport { onClickOutside } from '@vueuse/core'\nimport { useRuntimeEnv } from \"../../composables/useRuntimeEnv.ts\";\nimport { FormKit } from '@formkit/vue';\n\nexport default {\n props: {\n context: {\n type: Object,\n required: true,\n },\n },\n\n data() {\n return {\n inputChoice: '',\n error: '',\n URLValue: '',\n uploadURL: false,\n uploadFileSwitch: false,\n checkifSet: false,\n isLoading: false,\n success: false,\n fail: false,\n validExtensions: this.$env.content.dataProviderInterface.uploadFileTypes?.split(',') || []\n };\n },\n computed: {\n\n ...mapGetters('auth', [\n 'getUserData',\n 'getIsEditMode'\n ]),\n ...mapGetters('dpiStore', [\n 'getData',\n ]),\n getCatalogue() {\n return getNode('dcat:catalog').value;\n }\n },\n methods: {\n ...mapActions('dpiStore', [\n 'saveLocalstorageValues',\n ]),\n toggleUploadUrl() {\n this.inputChoice = \"Upload a file\"\n if (this.uploadURL) { this.uploadURL = !this.uploadURL }\n },\n toggleUploadFileSwitch() {\n this.inputChoice = \"Provide an URL\"\n if (this.uploadFileSwitch) { this.uploadFileSwitch = !this.uploadFileSwitch }\n },\n validateFile(event) {\n const file = event.target.files[0];\n const fileExtension = '.' + file.name.split('.').pop().toLowerCase();\n if (this.validExtensions && this.validExtensions.length) {\n if (!this.validExtensions.includes(fileExtension)) {\n console.log('Wrong filetype');\n } else {\n this.uploadOrReplaceFile({ file: event.target.files[0] })\n }\n } else {\n this.error = \"\"\n this.uploadOrReplaceFile({ file: event.target.files[0] })\n }\n },\n async saveUrl() {\n\n if (this.URLValue.includes('http://') || this.URLValue.includes('https://')) {\n await this.context.node.input({ '@id': this.URLValue, 'mode': this.inputChoice })\n }\n else await this.context.node.input({ '@id': 'https://' + this.URLValue, 'mode': this.inputChoice })\n\n },\n checkIfPresent() {\n // console.log(this.context.value['@id']);\n if (this.context.value['@id']) {\n // console.log(this.context.value['@id']);\n this.URLValue = this.context.value['@id']\n return true\n }\n else false\n },\n // finds the parent input group of a given element.\n findParentInputGroupOfElement(element) {\n // Start with the given element.\n let currentElement = element;\n\n // Traverse the DOM tree upwards.\n while (currentElement) {\n // If the current element is an input group, return it.\n if (currentElement.classList.contains('formkit-input-group-repeatable')) {\n return currentElement;\n }\n // If not, move to the parent element.\n currentElement = currentElement.parentElement;\n }\n\n // If no input group was found, return null.\n return null;\n },\n // finds the index of the distribution access URL based on the root of this component.\n findDistributionAccessUrlIndex() {\n // todo: find a more stable way to find the index of the distribution access URL.\n // this way uses the DOM tree, which is not stable.\n\n // Start at the root of this component.\n const rootElement = this.$refs.fileupload;\n\n // Find the parent input group of the root element.\n const parentInputGroup = this.findParentInputGroupOfElement(rootElement);\n if (!parentInputGroup) return null;\n\n // Get the parent element of all input groups.\n const parentOfAllInputGroups = parentInputGroup.parentElement;\n const allInputGroupsNodeList = parentOfAllInputGroups.querySelectorAll('.formkit-input-group-repeatable');\n const allInputGroupsArray = Array.from(allInputGroupsNodeList);\n\n // Find the index of the parent input group within the array of all input groups.\n const indexOfParentInputGroup = allInputGroupsArray.indexOf(parentInputGroup);\n\n return indexOfParentInputGroup;\n },\n async uploadOrReplaceFile({ file }) {\n\n const replaceEnabled = this.$env?.content?.dataProviderInterface?.enableFileUploadReplace || false;\n const wantsToReplace = this.$route.query?.edit ?? false;\n\n if (replaceEnabled && wantsToReplace) {\n const distributionIndexToReplace = this.$route.query?.edit;\n const fileIndexToReplace = this.findDistributionAccessUrlIndex();\n\n const targetDistribution = this.getData('distributions')?.[distributionIndexToReplace];\n const targetFile = targetDistribution?.['dcat:accessURL']?.[fileIndexToReplace];\n const accessUrl = targetFile?.['@id'];\n if (accessUrl) {\n const fileUploadUrl = this.$env.api.fileUploadUrl;\n\n const fileId = helper.getFileIdByAccessUrl({ accessUrl, fileUploadUrl })\n\n return await this.uploadFile(file, {\n method: 'PUT',\n url: `${this.$env.api.fileUploadUrl}data/${fileId}?catalog=${this.getCatalogue}`,\n });\n }\n\n }\n\n return await this.uploadFile(file);\n },\n async uploadFile(file, options = {}) {\n\n this.isLoading = true;\n\n const form = new FormData();\n form.append('file', file);\n\n const catalog = this.getCatalogue;\n const token = this.getUserData.rtpToken;\n\n const resolvedOptions = {\n method: 'POST',\n url: `${this.$env.api.fileUploadUrl}data?catalog=${catalog}`,\n ...options,\n };\n\n const requestOptions = {\n method: resolvedOptions.method,\n url: resolvedOptions.url,\n headers: {\n 'Content-Type': 'multipart/form-data',\n Authorization: `Bearer ${token}`,\n },\n data: form,\n };\n\n try {\n\n const result = await axios.request(requestOptions);\n const path = result.data.result.location.substring(result.data.result.location.indexOf('/') + 1);\n this.context.model = `${this.$env.api.fileUploadUrl}${path}`;\n this.isLoading = false;\n this.success = true;\n await this.context.node.input({ '@id': `${this.$env.api.fileUploadUrl}${path}` })\n // this.context.rootEmit('change');\n\n } catch (err) {\n\n this.isLoading = false;\n this.fail = true;\n console.error(err); // eslint-disable-line\n }\n },\n },\n mounted() {\n\n this.$nextTick(function () {\n\n if (this.context.value['@id']) {\n this.uploadURL = true\n this.URLValue = this.context.value['@id']\n this.inputChoice = \"Provide an URL\"\n return true\n }\n else false\n })\n },\n setup() {\n const env = useRuntimeEnv();\n let validationMessage = 'This property is required'\n let placeholderMessage = 'Choose between fileupload and providing a URL'\n\n var drop = reactive({\n active: false,\n })\n\n\n const fLoad = ref('fload');\n\n onClickOutside(fLoad, event => {\n drop.active = false\n })\n function triggerDropdown(e) {\n drop.active = !drop.active\n }\n\n return {\n drop,\n onClickOutside,\n triggerDropdown,\n validationMessage,\n placeholderMessage\n };\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n// @import '../../../styles/bootstrap_theme';\n// @import '../../../styles/utils/css-animations';\n.dURLText {}\n\n\n.accessUrl {\n .formkit-outer {}\n}\n\n.file-div {\n display: flex;\n align-items: center;\n}\n\n.upload-feedback {\n padding: 10px;\n}\n\n/*** MATERIAL ICONS ***/\n%modal-icon {\n font-size: 20px;\n cursor: default;\n}\n\n.check-icon {\n @extend %modal-icon;\n color: #28a745;\n}\n\n.close-icon {\n @extend %modal-icon;\n color: red;\n}\n\n.lds-ring {\n display: inline-block;\n position: relative;\n width: 30px;\n height: 30px;\n}\n\n.lds-ring div {\n box-sizing: border-box;\n display: block;\n position: absolute;\n right: 0;\n width: 30px;\n height: 30px;\n border: 8px solid lightgray;\n border-radius: 50%;\n animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n border-color: lightgray transparent transparent transparent;\n}\n\n.lds-ring div:nth-child(1) {\n animation-delay: -0.45s;\n}\n\n.lds-ring div:nth-child(2) {\n animation-delay: -0.3s;\n}\n\n.lds-ring div:nth-child(3) {\n animation-delay: -0.15s;\n}\n\n.error {\n color: red;\n}\n\n.errorSub {\n color: black;\n}\n\n@keyframes lds-ring {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.allowedFTypes {\n padding: 0.5rem;\n border-radius: 5px;\n border: 1px solid lightgrey;\n}\n\n.allowedTypesWrapper {\n max-width: 100%;\n display: flex;\n flex-wrap: wrap;\n}\n\n.fileuploadList {\n width: 96.7%;\n}\n</style>\n"],"names":["_sfc_main","_a","mapGetters","getNode","mapActions","event","fileExtension","element","currentElement","rootElement","parentInputGroup","allInputGroupsNodeList","file","replaceEnabled","_c","_b","wantsToReplace","_d","distributionIndexToReplace","_e","fileIndexToReplace","targetDistribution","_f","targetFile","_g","accessUrl","fileUploadUrl","fileId","helper","options","form","catalog","token","resolvedOptions","requestOptions","result","axios","path","err","useRuntimeEnv","validationMessage","placeholderMessage","drop","reactive","fLoad","ref","onClickOutside","triggerDropdown","e","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_10","_withScopeId","_createElementVNode","_hoisted_13","_hoisted_16","_hoisted_19","_openBlock","_createElementBlock","_Fragment","_createVNode","_component_FormKit","$setup","$data","_cache","$event","_createTextVNode","_hoisted_2","$options","_createCommentVNode","_hoisted_3","_mergeProps","$props","_ctx","args","_vModelText","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_11","_hoisted_12","_hoisted_14","_hoisted_15","_toDisplayString","_hoisted_17","_hoisted_18","_renderList","types"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {
|
|
2
|
+
context?: Record<string, any> | undefined;
|
|
3
|
+
$props: {
|
|
4
|
+
readonly context?: Record<string, any> | undefined;
|
|
5
|
+
};
|
|
6
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { openBlock as s, createElementBlock as p, createVNode as r, unref as a, isRef as c } from "vue";
|
|
2
|
+
import { FormKit as d } from "@formkit/vue";
|
|
3
|
+
const u = { class: "formkitProperty w-100" }, U = {
|
|
4
|
+
__name: "SimpleAccessURLInput",
|
|
5
|
+
props: {
|
|
6
|
+
context: Object
|
|
7
|
+
},
|
|
8
|
+
setup(i) {
|
|
9
|
+
const e = i;
|
|
10
|
+
let t;
|
|
11
|
+
const n = async () => {
|
|
12
|
+
this.URLValue.includes("http://") || this.URLValue.includes("https://") ? await this.context.node.input({ "@id": this.URLValue }) : await this.context.node.input({ "@id": "https://" + this.URLValue });
|
|
13
|
+
};
|
|
14
|
+
return (h, l) => (s(), p("div", u, [
|
|
15
|
+
r(a(d), {
|
|
16
|
+
id: "aUrlLink",
|
|
17
|
+
modelValue: a(t),
|
|
18
|
+
"onUpdate:modelValue": l[0] || (l[0] = (o) => c(t) ? t.value = o : t = o),
|
|
19
|
+
class: "selectInputField formkit-inner",
|
|
20
|
+
type: "url",
|
|
21
|
+
name: "@id",
|
|
22
|
+
help: e.context.help,
|
|
23
|
+
placeholder: e.context.attrs.placeholder,
|
|
24
|
+
validation: e.context.attrs.validationType,
|
|
25
|
+
onInput: n
|
|
26
|
+
}, null, 8, ["modelValue", "help", "placeholder", "validation"])
|
|
27
|
+
]));
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
export {
|
|
31
|
+
U as default
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=SimpleAccessURLInput.vue.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleAccessURLInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/SimpleAccessURLInput.vue"],"sourcesContent":["<script setup>\n\nimport { FormKit } from '@formkit/vue';\n\nconst props = defineProps({\n context: Object\n})\n\nlet URLValue\n\nconst saveUrl = async () => {\n\n if (this.URLValue.includes('http://') || this.URLValue.includes('https://')) {\n await this.context.node.input({ '@id': this.URLValue})\n }\n else await this.context.node.input({ '@id': 'https://' + this.URLValue })\n\n}\n</script>\n<template>\n <div class=\"formkitProperty w-100\">\n <FormKit id=\"aUrlLink\" v-model=\"URLValue\" class=\"selectInputField formkit-inner\" type=\"url\" name=\"@id\"\n :help=\"props.context.help\" :placeholder=\"props.context.attrs.placeholder\"\n :validation=\"props.context.attrs.validationType\" @input=\"saveUrl\" />\n </div>\n</template>\n<style></style>"],"names":["props","__props","URLValue","saveUrl"],"mappings":";;;;;;;;AAIA,UAAMA,IAAQC;AAId,QAAIC;AAEJ,UAAMC,IAAU,YAAY;AAExB,MAAI,KAAK,SAAS,SAAS,SAAS,KAAK,KAAK,SAAS,SAAS,UAAU,IACtE,MAAM,KAAK,QAAQ,KAAK,MAAM,EAAE,OAAO,KAAK,SAAQ,CAAC,IAEpD,MAAM,KAAK,QAAQ,KAAK,MAAM,EAAE,OAAO,aAAa,KAAK,UAAU;AAAA,IAE5E;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,33 +1,29 @@
|
|
|
1
|
-
import { openBlock as
|
|
2
|
-
import "
|
|
3
|
-
|
|
4
|
-
import "axios";
|
|
5
|
-
import "lodash-es";
|
|
6
|
-
import { FormKit as p } from "@formkit/vue";
|
|
7
|
-
const s = { class: "formkitProperty" }, m = { class: "position-relative formkitCmpWrap" }, y = {
|
|
1
|
+
import { openBlock as t, createElementBlock as o, toDisplayString as i, createCommentVNode as r, createTextVNode as c, createElementVNode as l, createVNode as s, unref as p } from "vue";
|
|
2
|
+
import { FormKit as d } from "@formkit/vue";
|
|
3
|
+
const m = { class: "formkitProperty" }, f = { key: 0 }, h = { class: "position-relative formkitCmpWrap" }, v = {
|
|
8
4
|
__name: "SimpleInput",
|
|
9
5
|
props: {
|
|
10
6
|
context: Object
|
|
11
7
|
},
|
|
12
|
-
setup(
|
|
13
|
-
const
|
|
14
|
-
return (
|
|
15
|
-
e("h4",
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
setup(a) {
|
|
9
|
+
const e = a;
|
|
10
|
+
return (n, u) => (t(), o("div", m, [
|
|
11
|
+
e.context.attrs.insideRepeatable ? r("", !0) : (t(), o("h4", f, i(n.$t("message.dataupload.datasets." + e.context.attrs.identifier + ".label")), 1)),
|
|
12
|
+
c(),
|
|
13
|
+
l("div", h, [
|
|
14
|
+
s(p(d), {
|
|
19
15
|
class: "autocompleteInputfield",
|
|
20
|
-
identifier:
|
|
21
|
-
name:
|
|
22
|
-
help:
|
|
23
|
-
placeholder:
|
|
24
|
-
validation:
|
|
16
|
+
identifier: e.context.attrs.identifier,
|
|
17
|
+
name: e.context.node.name,
|
|
18
|
+
help: e.context.help,
|
|
19
|
+
placeholder: e.context.attrs.placeholder,
|
|
20
|
+
validation: e.context.attrs.validationType
|
|
25
21
|
}, null, 8, ["identifier", "name", "help", "placeholder", "validation"])
|
|
26
22
|
])
|
|
27
23
|
]));
|
|
28
24
|
}
|
|
29
25
|
};
|
|
30
26
|
export {
|
|
31
|
-
|
|
27
|
+
v as default
|
|
32
28
|
};
|
|
33
29
|
//# sourceMappingURL=SimpleInput.vue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/SimpleInput.vue"],"sourcesContent":["<
|
|
1
|
+
{"version":3,"file":"SimpleInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/SimpleInput.vue"],"sourcesContent":["<template>\n <div class=\"formkitProperty\">\n <h4 v-if=\"!props.context.attrs.insideRepeatable\">{{ $t('message.dataupload.datasets.' +\n props.context.attrs.identifier + '.label') }}</h4>\n <div class=\"position-relative formkitCmpWrap\">\n <FormKit class=\"autocompleteInputfield\" :identifier=\"props.context.attrs.identifier\"\n :name=\"props.context.node.name\" :help=\"props.context.help\"\n :placeholder=\"props.context.attrs.placeholder\" :validation=\"props.context.attrs.validationType\" />\n </div>\n </div>\n</template>\n<script setup>\n\nimport { FormKit } from '@formkit/vue';\n\nconst props = defineProps({\n context: Object\n})\n\n\n\n</script>\n<style></style>"],"names":["props","__props"],"mappings":";;;;;;;;AAeA,UAAMA,IAAQC;;;;;;;;;;;;;;;;;"}
|