@piveau/piveau-hub-ui-modules 4.3.2 → 4.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/data-provider-interface/DPIMenu.vue.mjs +37 -36
  2. package/dist/data-provider-interface/DPIMenu.vue.mjs.map +1 -1
  3. package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs +149 -135
  4. package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs.map +1 -1
  5. package/dist/data-provider-interface/components/ConditionalInput.vue.mjs +152 -140
  6. package/dist/data-provider-interface/components/ConditionalInput.vue.mjs.map +1 -1
  7. package/dist/data-provider-interface/components/DistributionStepper.vue.mjs +60 -60
  8. package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
  9. package/dist/data-provider-interface/components/Dropup.vue.mjs +17 -17
  10. package/dist/data-provider-interface/components/Dropup.vue.mjs.map +1 -1
  11. package/dist/data-provider-interface/components/Dropup.vue2.mjs +2 -2
  12. package/dist/data-provider-interface/components/FileUpload.vue.d.ts +5 -2
  13. package/dist/data-provider-interface/components/FileUpload.vue.mjs +119 -117
  14. package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
  15. package/dist/data-provider-interface/components/Navigation.vue.mjs +69 -69
  16. package/dist/data-provider-interface/components/Navigation.vue.mjs.map +1 -1
  17. package/dist/data-provider-interface/components/SimpleInput.vue.mjs +19 -14
  18. package/dist/data-provider-interface/components/SimpleInput.vue.mjs.map +1 -1
  19. package/dist/data-provider-interface/components/SimpleSelect.vue.mjs +31 -31
  20. package/dist/data-provider-interface/components/SimpleSelect.vue.mjs.map +1 -1
  21. package/dist/data-provider-interface/components/SpatialInput.vue.mjs +90 -94
  22. package/dist/data-provider-interface/components/SpatialInput.vue.mjs.map +1 -1
  23. package/dist/data-provider-interface/components/SpatialInput.vue2.mjs +2 -2
  24. package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs +41 -30
  25. package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs.map +1 -1
  26. package/dist/data-provider-interface/config/dcatapde/input-definition.mjs +81 -78
  27. package/dist/data-provider-interface/config/dcatapde/input-definition.mjs.map +1 -1
  28. package/dist/data-provider-interface/config/dcatapdeODB/format-types.mjs +3 -272
  29. package/dist/data-provider-interface/config/dcatapdeODB/format-types.mjs.map +1 -1
  30. package/dist/data-provider-interface/config/dcatapdeODB/input-definition.d.ts +4 -15
  31. package/dist/data-provider-interface/config/dcatapdeODB/input-definition.mjs +13 -2081
  32. package/dist/data-provider-interface/config/dcatapdeODB/input-definition.mjs.map +1 -1
  33. package/dist/data-provider-interface/config/dcatapdeODB/page-content-config.mjs +3 -21
  34. package/dist/data-provider-interface/config/dcatapdeODB/page-content-config.mjs.map +1 -1
  35. package/dist/data-provider-interface/config/dcatapdeODB/prefixes.mjs +3 -24
  36. package/dist/data-provider-interface/config/dcatapdeODB/prefixes.mjs.map +1 -1
  37. package/dist/data-provider-interface/config/dcatapdeODB/vocab-prefixes.mjs +3 -31
  38. package/dist/data-provider-interface/config/dcatapdeODB/vocab-prefixes.mjs.map +1 -1
  39. package/dist/data-provider-interface/config/dpi-spec-config.mjs +8 -8
  40. package/dist/data-provider-interface/config/dpi-spec-config.mjs.map +1 -1
  41. package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs +52 -52
  42. package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs.map +1 -1
  43. package/dist/data-provider-interface/views/DraftsPage.vue.mjs +127 -138
  44. package/dist/data-provider-interface/views/DraftsPage.vue.mjs.map +1 -1
  45. package/dist/data-provider-interface/views/InputPage.vue.mjs +68 -68
  46. package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
  47. package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs +31 -31
  48. package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
  49. package/dist/form/Repeatable.vue.mjs +37 -37
  50. package/dist/form/Repeatable.vue.mjs.map +1 -1
  51. package/dist/modal/AppConfirmationDialog.vue.d.ts +3 -1
  52. package/dist/modal/AppConfirmationDialog.vue.mjs +45 -39
  53. package/dist/modal/AppConfirmationDialog.vue.mjs.map +1 -1
  54. package/dist/piveau-hub-ui-modules.css +1 -1
  55. package/package.json +1 -1
@@ -1,17 +1,18 @@
1
- import D from "jquery";
2
- import { isNil as E } from "lodash-es";
3
- import { mapGetters as I, mapActions as k } from "vuex";
4
- import { useWindowScroll as S } from "../../external/@vueuse/core/index";
5
- import w from "axios";
6
- import { getCurrentInstance as _, resolveComponent as C, openBlock as o, createElementBlock as m, createElementVNode as v, createBlock as p, createCommentVNode as n, createTextVNode as r, createVNode as $, withCtx as f, toDisplayString as y } from "vue";
1
+ import k from "jquery";
2
+ import { isNil as S } from "lodash-es";
3
+ import { mapGetters as I, mapActions as D } from "vuex";
4
+ import { useWindowScroll as E } from "../../external/@vueuse/core/index";
5
+ import _ from "axios";
6
+ import { getCurrentInstance as w, resolveComponent as $, openBlock as r, createElementBlock as g, createElementVNode as v, createBlock as p, createCommentVNode as n, createTextVNode as o, createVNode as C, withCtx as f, toDisplayString as y } from "vue";
7
+ import "vue-i18n";
7
8
  import "./Navigation.vue2.mjs";
8
9
  import T from "../../_virtual/_plugin-vue_export-helper.mjs";
9
- const N = {
10
+ const q = {
10
11
  name: "Navigation",
11
12
  props: ["steps", "nextStep", "previousStep", "goToNextStep", "goToPreviousStep"],
12
13
  data() {
13
14
  return {
14
- instance: _().appContext.app.config.globalProperties.$env,
15
+ instance: w().appContext.app.config.globalProperties.$env,
15
16
  uploading: {
16
17
  dataset: !1,
17
18
  draft: !1
@@ -28,15 +29,10 @@ const N = {
28
29
  callback: this.closeModal
29
30
  },
30
31
  clear: {
31
- confirm: "Clear form",
32
- message: "Are your sure you want to clear the form? BE AWARE: this can not be reverted and all of your Data is lost!",
32
+ confirm: "",
33
+ message: "",
33
34
  callback: this.clearStorage
34
35
  }
35
- // deleteDistribution: {
36
- // confirm: 'Delete Distribution',
37
- // message: 'Are you sure you want to delete the distribution? The whole content will be deleted permanently!',
38
- // callback: this.deleteCurrentDistribution,
39
- // }
40
36
  },
41
37
  property: this.$route.params.property,
42
38
  id: this.$route.params.id
@@ -45,7 +41,7 @@ const N = {
45
41
  setup() {
46
42
  return {
47
43
  scrollToTop: () => {
48
- let { x: a, y: s } = S({ behavior: "smooth" });
44
+ let { x: a, y: s } = E({ behavior: "smooth" });
49
45
  s.value = 0;
50
46
  }
51
47
  };
@@ -66,28 +62,31 @@ const N = {
66
62
  }), t > 0;
67
63
  }
68
64
  },
65
+ created() {
66
+ this.$i18n.locale = this.$route.query.locale, this.modals.clear.message = this.$t("message.dataupload.modal.resetForm"), this.modals.clear.confirm = this.$t("message.dataupload.modal.confirmReset");
67
+ },
69
68
  methods: {
70
- ...k("auth", [
69
+ ...D("auth", [
71
70
  "setIsEditMode",
72
71
  "setIsDraft"
73
72
  ]),
74
- ...k("snackbar", [
73
+ ...D("snackbar", [
75
74
  "showSnackbar"
76
75
  ]),
77
- ...k("dpiStore", [
76
+ ...D("dpiStore", [
78
77
  "convertToRDF",
79
78
  "clearAll"
80
79
  // 'deleteDistribution',
81
80
  // 'setDeleteDistributionInline',
82
81
  ]),
83
82
  closeModal() {
84
- D("#modal").modal("hide");
83
+ k("#modal").modal("hide");
85
84
  },
86
85
  handleIDError() {
87
- this.modal = this.modals.id, D("#modal").modal({ show: !0 });
86
+ this.modal = this.modals.id, k("#modal").modal({ show: !0 });
88
87
  },
89
88
  handleClear() {
90
- this.modal = this.modals.clear, D("#modal").modal({ show: !0 });
89
+ this.modal = this.modals.clear, k("#modal").modal({ show: !0 });
91
90
  },
92
91
  clearStorage() {
93
92
  this.closeModal(), this.$formkit.reset("dpiForm"), this.clearAll();
@@ -95,44 +94,44 @@ const N = {
95
94
  async submit(t) {
96
95
  this.uploading[t] = !0, this.$Progress.start();
97
96
  const a = this.$env.content.dataProviderInterface.specification, s = await this.convertToRDF({ property: this.property, specification: a }).then((b) => b), h = this.getUserData.rtpToken, e = this.getData(this.property).datasetID, i = this.getData(this.property)["dct:title"], l = this.getData(this.property)["dct:description"], d = this.getData(this.property)["dcat:catalog"] ? this.getData(this.property)["dcat:catalog"] : "";
98
- let c, u, g = {
97
+ let c, u, m = {
99
98
  id: e,
100
99
  catalog: d,
101
100
  body: s,
102
101
  title: i,
103
102
  description: l
104
103
  };
105
- t === "dataset" ? !this.getIsEditMode || this.getIsEditMode && !this.getIsDraft || this.getIsEditMode && this.getIsDraft && localStorage.getItem("dpi_duplicate") ? (c = `${this.$env.api.hubUrl}datasets?id=${e}&catalogue=${d}`, g = { data: s, token: h, url: c }, u = "auth/createDataset") : (g = { id: e, catalog: d }, u = "auth/publishUserDraftById") : t === "draft" ? !this.getIsEditMode || this.getIsEditMode && this.getIsDraft ? (c = `${this.$env.api.hubUrl}drafts/datasets/${e}?catalogue=${d}`, u = "auth/createUserDraft") : (g = { id: e, catalog: d, title: i, description: l }, u = "auth/putDatasetToDraft") : t === "createcatalogue" && (c = `${this.$env.api.hubUrl}catalogues/${e}`, g = { data: s, token: h, url: c, id: e }, u = "auth/createCatalogue");
104
+ t === "dataset" ? !this.getIsEditMode || this.getIsEditMode && !this.getIsDraft || this.getIsEditMode && this.getIsDraft && localStorage.getItem("dpi_duplicate") ? (c = `${this.$env.api.hubUrl}datasets?id=${e}&catalogue=${d}`, m = { data: s, token: h, url: c }, u = "auth/createDataset") : (m = { id: e, catalog: d }, u = "auth/publishUserDraftById") : t === "draft" ? !this.getIsEditMode || this.getIsEditMode && this.getIsDraft ? (c = `${this.$env.api.hubUrl}drafts/datasets/${e}?catalogue=${d}`, u = "auth/createUserDraft") : (m = { id: e, catalog: d, title: i, description: l }, u = "auth/putDatasetToDraft") : t === "createcatalogue" && (c = `${this.$env.api.hubUrl}catalogues/${e}`, m = { data: s, token: h, url: c, id: e }, u = "auth/createCatalogue");
106
105
  try {
107
- this.idunique(e) ? (await this.$store.dispatch(u, g), this.$Progress.finish(), this.uploading = !1, t === "createcatalogue" && this.createCatalogue(e), t === "dataset" && this.createDataset(e), t === "draft" && this.createDraft(), this.clearAll()) : (this.uploading[t] = !1, this.$Progress.fail(), this.handleIDError());
106
+ this.idunique(e) ? (await this.$store.dispatch(u, m), this.$Progress.finish(), this.uploading = !1, t === "createcatalogue" && this.createCatalogue(e), t === "dataset" && this.createDataset(e), t === "draft" && this.createDraft(), this.clearAll()) : (this.uploading[t] = !1, this.$Progress.fail(), this.handleIDError());
108
107
  } catch {
109
108
  this.uploading[t] = !1, this.$Progress.fail(), this.showSnackbar({ message: "Network Error", variant: "error" });
110
109
  }
111
110
  },
112
111
  createDataset(t) {
113
- this.clearAll(), this.showSnackbar({ message: "Dataset published successfully", variant: "success" }), this.$router.push({ name: "DatasetDetailsDataset", params: { ds_id: t }, query: { locale: this.$route.query.locale } }).then(() => {
112
+ this.clearAll(), this.showSnackbar({ message: this.$t("message.dataupload.snackBar.datasetPublished"), variant: "success" }), this.$router.push({ name: "DatasetDetailsDataset", params: { ds_id: t }, query: { locale: this.$route.query.locale } }).then(() => {
114
113
  this.$router.go(0);
115
114
  });
116
115
  },
117
116
  createDraft() {
118
- this.clearAll(), this.showSnackbar({ message: "Draft saved successfully", variant: "success" }), this.$router.push({ name: "DataProviderInterface-Draft", query: { locale: this.$route.query.locale } }).catch(() => {
117
+ this.clearAll(), this.showSnackbar({ message: this.$t("message.dataupload.snackBar.draftCreated"), variant: "success" }), this.$router.push({ name: "DataProviderInterface-Draft", query: { locale: this.$route.query.locale } }).catch(() => {
119
118
  });
120
119
  },
121
120
  createCatalogue(t) {
122
- this.clearAll(), this.showSnackbar({ message: "Catalogue saved successfully", variant: "success" }), this.$router.push({ name: "CatalogueDetails", query: { locale: this.$route.query.locale }, params: { ctlg_id: t } }).catch(() => {
121
+ this.clearAll(), this.showSnackbar({ message: this.$t("message.dataupload.snackBar.catalogPublished"), variant: "success" }), this.$router.push({ name: "CatalogueDetails", query: { locale: this.$route.query.locale }, params: { ctlg_id: t } }).catch(() => {
123
122
  });
124
123
  },
125
124
  async idunique(t) {
126
125
  let a = !0;
127
126
  const s = this.$store.getters["auth/getUserDraftIds"];
128
127
  return new Promise(() => {
129
- if (E(t) || t === "" || t === void 0)
128
+ if (S(t) || t === "" || t === void 0)
130
129
  a = !0;
131
130
  else if (s.includes(t))
132
131
  a = !1;
133
132
  else {
134
133
  const h = `${this.$env.api.hubUrl}datasets/${t}?useNormalizedId=true`;
135
- w.head(h).then(() => {
134
+ _.head(h).then(() => {
136
135
  a = !1;
137
136
  }).catch((e) => {
138
137
  a = !0;
@@ -141,71 +140,71 @@ const N = {
141
140
  }), a;
142
141
  }
143
142
  }
144
- }, U = {
143
+ }, N = {
145
144
  id: "nav",
146
145
  class: "d-flex"
147
- }, q = { class: "left-form-nav w-25" }, M = { class: "right-form-nav w-75" }, P = {
146
+ }, P = { class: "left-form-nav w-25" }, U = { class: "right-form-nav w-75" }, M = {
148
147
  key: 0,
149
148
  class: "loading-spinner"
150
- }, A = {
149
+ }, x = {
151
150
  key: 0,
152
151
  class: "loading-spinner"
153
- }, x = {
152
+ }, A = {
154
153
  key: 0,
155
154
  class: "loading-spinner"
156
- }, F = {
155
+ }, B = {
157
156
  key: 0,
158
157
  class: "loading-spinner"
159
158
  };
160
- function B(t, a, s, h, e, i) {
161
- const l = C("FormKit"), d = C("app-confirmation-dialog");
162
- return o(), m("div", null, [
163
- v("div", U, [
164
- v("div", q, [
165
- s.previousStep ? (o(), p(l, {
159
+ function F(t, a, s, h, e, i) {
160
+ const l = $("FormKit"), d = $("app-confirmation-dialog");
161
+ return r(), g("div", null, [
162
+ v("div", N, [
163
+ v("div", P, [
164
+ s.previousStep ? (r(), p(l, {
166
165
  key: 0,
167
166
  type: "button",
168
167
  label: t.$t("message.dataupload.preview"),
169
168
  onClick: s.goToPreviousStep,
170
169
  class: "prev-btn mx-1 my-0"
171
170
  }, null, 8, ["label", "onClick"])) : n("", !0),
172
- r(),
173
- $(l, {
171
+ o(),
172
+ C(l, {
174
173
  type: "button",
175
174
  label: t.$t("message.dataupload.clear"),
176
175
  onClick: i.handleClear,
177
176
  class: "clear-btn"
178
177
  }, null, 8, ["label", "onClick"])
179
178
  ]),
180
- r(),
181
- v("div", M, [
182
- !t.getIsEditMode && !t.getIsDraft && e.property === "catalogues" ? (o(), p(l, {
179
+ o(),
180
+ v("div", U, [
181
+ !t.getIsEditMode && !t.getIsDraft && e.property === "catalogues" ? (r(), p(l, {
183
182
  key: 0,
184
183
  type: "button",
185
184
  onClick: a[0] || (a[0] = (c) => i.submit("createcatalogue")),
186
185
  class: "mr-2"
187
186
  }, {
188
187
  default: f(() => [
189
- e.uploading.createcatalogue ? (o(), m("span", P)) : n("", !0),
190
- r(y(t.$t("message.dataupload.publishcatalogue")), 1)
188
+ e.uploading.createcatalogue ? (r(), g("span", M)) : n("", !0),
189
+ o(y(t.$t("message.dataupload.publishcatalogue")), 1)
191
190
  ]),
192
191
  _: 1
193
192
  })) : n("", !0),
194
- r(),
195
- t.getIsEditMode && !t.getIsDraft && e.property === "catalogues" ? (o(), p(l, {
193
+ o(),
194
+ t.getIsEditMode && !t.getIsDraft && e.property === "catalogues" ? (r(), p(l, {
196
195
  key: 1,
197
196
  type: "button",
198
197
  onClick: a[1] || (a[1] = (c) => i.submit("createcatalogue")),
199
198
  class: "mx-1 my-0"
200
199
  }, {
201
200
  default: f(() => [
202
- e.uploading.createcatalogue ? (o(), m("span", A)) : n("", !0),
203
- r(y(t.$t("message.dataupload.publishcatalogue")), 1)
201
+ e.uploading.createcatalogue ? (r(), g("span", x)) : n("", !0),
202
+ o(y(t.$t("message.dataupload.publishcatalogue")), 1)
204
203
  ]),
205
204
  _: 1
206
205
  })) : n("", !0),
207
- r(),
208
- e.property === "datasets" ? (o(), p(l, {
206
+ o(),
207
+ e.property === "datasets" ? (r(), p(l, {
209
208
  key: 2,
210
209
  type: "button",
211
210
  onClick: a[2] || (a[2] = (c) => i.submit("dataset")),
@@ -213,13 +212,13 @@ function B(t, a, s, h, e, i) {
213
212
  class: "mx-1 my-0"
214
213
  }, {
215
214
  default: f(() => [
216
- e.uploading.dataset ? (o(), m("span", x)) : n("", !0),
217
- r(y(t.$t("message.dataupload.publishdataset")), 1)
215
+ e.uploading.dataset ? (r(), g("span", A)) : n("", !0),
216
+ o(y(t.$t("message.dataupload.publishdataset")), 1)
218
217
  ]),
219
218
  _: 1
220
219
  }, 8, ["disabled"])) : n("", !0),
221
- r(),
222
- e.property === "datasets" ? (o(), p(l, {
220
+ o(),
221
+ e.property === "datasets" ? (r(), p(l, {
223
222
  key: 3,
224
223
  type: "button",
225
224
  onClick: a[3] || (a[3] = (c) => i.submit("draft")),
@@ -227,13 +226,13 @@ function B(t, a, s, h, e, i) {
227
226
  class: "mx-1 my-0"
228
227
  }, {
229
228
  default: f(() => [
230
- e.uploading.draft ? (o(), m("span", F)) : n("", !0),
231
- r(y(t.$t("message.dataupload.saveasdraft")), 1)
229
+ e.uploading.draft ? (r(), g("span", B)) : n("", !0),
230
+ o(y(t.$t("message.dataupload.saveasdraft")), 1)
232
231
  ]),
233
232
  _: 1
234
233
  }, 8, ["disabled"])) : n("", !0),
235
- r(),
236
- s.nextStep ? (o(), p(l, {
234
+ o(),
235
+ s.nextStep ? (r(), p(l, {
237
236
  key: 4,
238
237
  type: "button",
239
238
  label: t.$t("message.dataupload.next"),
@@ -241,21 +240,22 @@ function B(t, a, s, h, e, i) {
241
240
  }, null, 8, ["label", "onClick"])) : n("", !0)
242
241
  ])
243
242
  ]),
244
- r(),
245
- $(d, {
243
+ o(),
244
+ C(d, {
246
245
  id: "modal",
247
246
  confirm: e.modal.confirm,
248
- onConfirm: e.modal.callback
247
+ onConfirm: e.modal.callback,
248
+ close: e.modal.confirm
249
249
  }, {
250
250
  default: f(() => [
251
- r(y(e.modal.message), 1)
251
+ o(y(e.modal.message), 1)
252
252
  ]),
253
253
  _: 1
254
- }, 8, ["confirm", "onConfirm"])
254
+ }, 8, ["confirm", "onConfirm", "close"])
255
255
  ]);
256
256
  }
257
- const H = /* @__PURE__ */ T(N, [["render", B]]);
257
+ const J = /* @__PURE__ */ T(q, [["render", F]]);
258
258
  export {
259
- H as default
259
+ J as default
260
260
  };
261
261
  //# sourceMappingURL=Navigation.vue.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.vue.mjs","sources":["../../../lib/data-provider-interface/components/Navigation.vue"],"sourcesContent":["<template>\n <div>\n <div id=\"nav\" class=\"d-flex \">\n <div class=\"left-form-nav w-25\">\n <!-- PREVIOUS STEP -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.preview')\" @click=\"goToPreviousStep\" v-if=\"previousStep\"\n class=\"prev-btn mx-1 my-0\"></FormKit>\n\n <!-- CLEAR FORM -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.clear')\" @click=\"handleClear\" class=\"clear-btn\"></FormKit>\n </div>\n <div class=\"right-form-nav w-75\">\n\n <!-- DELETE DISTRIBUTION -->\n <!-- <FormKit type=\"button\" label=\"Delete Distribution\" @click=\"handleDeleteDistribution()\"\n v-if=\"isDistribution\" class=\"mx-1 my-0 delDisBtn\"></FormKit> -->\n\n <!-- PUBLISH NEW CATALOGUE -->\n <FormKit type=\"button\" @click=\"submit('createcatalogue')\"\n v-if=\"!getIsEditMode && !getIsDraft && property === 'catalogues'\" class=\"mr-2\">\n <span v-if=\"uploading.createcatalogue\" class=\"loading-spinner\"></span>{{\n $t('message.dataupload.publishcatalogue') }}\n </FormKit>\n\n <!-- PUBLISH EDITED CATALOGUE -->\n <FormKit type=\"button\" @click=\"submit('createcatalogue')\"\n v-if=\"getIsEditMode && !getIsDraft && property === 'catalogues'\" class=\"mx-1 my-0\">\n <span v-if=\"uploading.createcatalogue\" class=\"loading-spinner\"></span>{{\n $t('message.dataupload.publishcatalogue') }}\n </FormKit>\n\n <!-- PUBLISH DATASET -->\n <FormKit type=\"button\" v-if=\"property === 'datasets'\" @click=\"submit('dataset')\" :disabled=\"formErrorCount\"\n class=\"mx-1 my-0\">\n <span v-if=\"uploading.dataset\" class=\"loading-spinner\"></span>{{ $t('message.dataupload.publishdataset') }}\n </FormKit>\n\n <!-- SAVE AS DRAFT -->\n <FormKit type=\"button\" v-if=\"property === 'datasets'\" @click=\"submit('draft')\" :disabled=\"formErrorCount\"\n class=\"mx-1 my-0\">\n <span v-if=\"uploading.draft\" class=\"loading-spinner\"></span>{{ $t('message.dataupload.saveasdraft') }}\n </FormKit>\n\n <!-- NEXT STEP -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.next')\" @click=\"goToNextStep\" v-if=\"nextStep\"></FormKit>\n </div>\n </div>\n\n <app-confirmation-dialog id=\"modal\" :confirm=\"modal.confirm\" @confirm=\"modal.callback\">\n {{ modal.message }}\n </app-confirmation-dialog>\n </div>\n</template>\n\n<script>\n/* eslint-disable */\nimport $ from 'jquery';\nimport { isNil } from 'lodash';\nimport { mapGetters, mapActions } from 'vuex';\nimport { useWindowScroll } from '@vueuse/core'\nimport axios from 'axios';\nimport { ref, nextTick } from 'vue'\nimport { getCurrentInstance } from \"vue\";\n\nexport default {\n name: 'Navigation',\n props: ['steps', 'nextStep', 'previousStep', 'goToNextStep', 'goToPreviousStep'],\n data() {\n return {\n instance: getCurrentInstance().appContext.app.config.globalProperties.$env,\n uploading: {\n dataset: false,\n draft: false,\n },\n modal: {\n confirm: '',\n message: '',\n callback: '',\n },\n modals: {\n id: {\n confirm: '',\n message: 'Dataset ID already exists',\n callback: this.closeModal,\n },\n clear: {\n confirm: 'Clear form',\n message: 'Are your sure you want to clear the form? BE AWARE: this can not be reverted and all of your Data is lost!',\n callback: this.clearStorage,\n },\n // deleteDistribution: {\n // confirm: 'Delete Distribution',\n // message: 'Are you sure you want to delete the distribution? The whole content will be deleted permanently!',\n // callback: this.deleteCurrentDistribution,\n // }\n },\n property: this.$route.params.property,\n id: this.$route.params.id,\n };\n },\n setup() {\n const scrollToTop = () => {\n let { x, y } = useWindowScroll({ behavior: 'smooth' })\n y.value = 0\n\n }\n return {\n scrollToTop\n }\n },\n computed: {\n ...mapGetters('auth', [\n 'getIsEditMode',\n 'getIsDraft',\n 'getUserData',\n ]),\n ...mapGetters('dpiStore', [\n 'getData',\n ]),\n formErrorCount() {\n let errorCount = 0;\n Object.keys(this.steps).forEach(key => {\n errorCount = errorCount + this.steps[key].blockingCount\n })\n\n return errorCount > 0;\n }\n },\n methods: {\n ...mapActions('auth', [\n 'setIsEditMode',\n 'setIsDraft',\n ]),\n ...mapActions('snackbar', [\n 'showSnackbar',\n ]),\n ...mapActions('dpiStore', [\n 'convertToRDF',\n 'clearAll',\n // 'deleteDistribution',\n // 'setDeleteDistributionInline',\n ]),\n closeModal() {\n $('#modal').modal('hide');\n },\n handleIDError() {\n this.modal = this.modals.id;\n $('#modal').modal({ show: true });\n },\n handleClear() {\n this.modal = this.modals.clear;\n $('#modal').modal({ show: true });\n },\n clearStorage() {\n this.closeModal();\n this.$formkit.reset('dpiForm');\n this.clearAll();\n },\n async submit(mode) {\n this.uploading[mode] = true;\n this.$Progress.start();\n\n const specification = this.$env.content.dataProviderInterface.specification;\n const RDFdata = await this.convertToRDF({ property: this.property, specification: specification }).then((response) => { return response; });\n const rtpToken = this.getUserData.rtpToken;\n\n const datasetId = this.getData(this.property)['datasetID'];\n const title = this.getData(this.property)['dct:title'];\n const description = this.getData(this.property)['dct:description'];\n const catalogName = this.getData(this.property)['dcat:catalog'] ? this.getData(this.property)['dcat:catalog'] : '';\n\n let uploadUrl;\n let actionName;\n let actionParams = {\n id: datasetId,\n catalog: catalogName,\n body: RDFdata,\n title,\n description,\n };\n\n if (mode === 'dataset') {\n // if no edit mode: just publish dataset regularly\n // if edit mode but no draft: publish/save dataset regularly\n if (!this.getIsEditMode || (this.getIsEditMode && !this.getIsDraft) || (this.getIsEditMode && this.getIsDraft && localStorage.getItem('dpi_duplicate'))) {\n uploadUrl = `${this.$env.api.hubUrl}datasets?id=${datasetId}&catalogue=${catalogName}`;\n actionParams = { data: RDFdata, token: rtpToken, url: uploadUrl };\n actionName = 'auth/createDataset';\n } else {\n // if edit mode and draft: publish user draft (remove from draft database and add to dataset database)-> publishUserDraftById\n actionParams = { id: datasetId, catalog: catalogName };\n actionName = 'auth/publishUserDraftById';\n }\n\n } else if (mode === 'draft') {\n //if no edit mode: save draft regularly\n // if edit mode and draft: save draft regularly\n if (!this.getIsEditMode || (this.getIsEditMode && this.getIsDraft)) {\n uploadUrl = `${this.$env.api.hubUrl}drafts/datasets/${datasetId}?catalogue=${catalogName}`;\n actionName = 'auth/createUserDraft';\n } else {\n // if edit mode and no draft: save dataset as draft (remove from dataset database and add to draft database)-> putDatasetToDraft\n actionParams = { id: datasetId, catalog: catalogName, title, description };\n actionName = 'auth/putDatasetToDraft';\n }\n\n } else if (mode === 'createcatalogue') {\n uploadUrl = `${this.$env.api.hubUrl}catalogues/${datasetId}`;\n actionParams = { data: RDFdata, token: rtpToken, url: uploadUrl, id: datasetId };\n actionName = 'auth/createCatalogue';\n }\n\n try {\n // Dispatch the right action depending on the mode\n\n const idIsUnqiue = this.idunique(datasetId);\n\n if (idIsUnqiue) {\n await this.$store.dispatch(actionName, actionParams);\n // await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.finish();\n this.uploading = false;\n\n if (mode === 'createcatalogue') this.createCatalogue(datasetId);\n if (mode === 'dataset') this.createDataset(datasetId);\n if (mode === 'draft') this.createDraft();\n\n // store needs to be reset\n this.clearAll();\n }\n else {\n this.uploading[mode] = false;\n this.$Progress.fail();\n this.handleIDError();\n }\n } catch (err) {\n this.uploading[mode] = false;\n this.$Progress.fail();\n this.showSnackbar({ message: 'Network Error', variant: 'error' });\n }\n },\n createDataset(datasetId) {\n this.clearAll();\n this.showSnackbar({ message: 'Dataset published successfully', variant: 'success' });\n // this.$router.push({ name: 'DatasetDetailsDataset', params: { ds_id: datasetId }, query: { locale: this.$route.query.locale } }).catch(() => { });\n this.$router\n .push({ name: 'DatasetDetailsDataset', params: { ds_id: datasetId }, query: { locale: this.$route.query.locale } })\n .then(() => { this.$router.go(0) })\n },\n createDraft() {\n this.clearAll();\n this.showSnackbar({ message: 'Draft saved successfully', variant: 'success' });\n this.$router.push({ name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } }).catch(() => { });\n },\n createCatalogue(datasetId) {\n this.clearAll();\n this.showSnackbar({ message: 'Catalogue saved successfully', variant: 'success' });\n this.$router.push({ name: 'CatalogueDetails', query: { locale: this.$route.query.locale }, params: { ctlg_id: datasetId } }).catch(() => { });\n },\n async idunique(id) {\n let isUniqueID = true;\n\n const draftIDs = this.$store.getters['auth/getUserDraftIds'];\n\n new Promise(() => {\n if (isNil(id) || id === '' || id === undefined) isUniqueID = true;\n else if (draftIDs.includes(id)) isUniqueID = false;\n else {\n const request = `${this.$env.api.hubUrl}datasets/${id}?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 },\n};\n</script>\n\n<style lang=\"scss\">\n// @import '../../../styles/bootstrap_theme';\n// @import '../../../styles/utils/css-animations';</style>\n"],"names":["_sfc_main","getCurrentInstance","x","y","useWindowScroll","mapGetters","errorCount","key","mapActions","$","mode","specification","RDFdata","response","rtpToken","datasetId","title","description","catalogName","uploadUrl","actionName","actionParams","id","isUniqueID","draftIDs","isNil","request","axios","_hoisted_2","_hoisted_3","_createElementBlock","_createElementVNode","_hoisted_1","$props","_createBlock","_component_FormKit","_ctx","_createCommentVNode","_createTextVNode","_createVNode","$options","$data","_withCtx","_openBlock","_hoisted_4","_toDisplayString","_hoisted_5","_hoisted_6","_hoisted_7","_component_app_confirmation_dialog"],"mappings":"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"}
1
+ {"version":3,"file":"Navigation.vue.mjs","sources":["../../../lib/data-provider-interface/components/Navigation.vue"],"sourcesContent":["<template>\n <div>\n <div id=\"nav\" class=\"d-flex \">\n <div class=\"left-form-nav w-25\">\n <!-- PREVIOUS STEP -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.preview')\" @click=\"goToPreviousStep\" v-if=\"previousStep\"\n class=\"prev-btn mx-1 my-0\"></FormKit>\n\n <!-- CLEAR FORM -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.clear')\" @click=\"handleClear\" class=\"clear-btn\"></FormKit>\n </div>\n <div class=\"right-form-nav w-75\">\n\n <!-- DELETE DISTRIBUTION -->\n <!-- <FormKit type=\"button\" label=\"Delete Distribution\" @click=\"handleDeleteDistribution()\"\n v-if=\"isDistribution\" class=\"mx-1 my-0 delDisBtn\"></FormKit> -->\n\n <!-- PUBLISH NEW CATALOGUE -->\n <FormKit type=\"button\" @click=\"submit('createcatalogue')\"\n v-if=\"!getIsEditMode && !getIsDraft && property === 'catalogues'\" class=\"mr-2\">\n <span v-if=\"uploading.createcatalogue\" class=\"loading-spinner\"></span>{{\n $t('message.dataupload.publishcatalogue') }}\n </FormKit>\n\n <!-- PUBLISH EDITED CATALOGUE -->\n <FormKit type=\"button\" @click=\"submit('createcatalogue')\"\n v-if=\"getIsEditMode && !getIsDraft && property === 'catalogues'\" class=\"mx-1 my-0\">\n <span v-if=\"uploading.createcatalogue\" class=\"loading-spinner\"></span>{{\n $t('message.dataupload.publishcatalogue') }}\n </FormKit>\n\n <!-- PUBLISH DATASET -->\n <FormKit type=\"button\" v-if=\"property === 'datasets'\" @click=\"submit('dataset')\" :disabled=\"formErrorCount\"\n class=\"mx-1 my-0\">\n <span v-if=\"uploading.dataset\" class=\"loading-spinner\"></span>{{ $t('message.dataupload.publishdataset') }}\n </FormKit>\n\n <!-- SAVE AS DRAFT -->\n <FormKit type=\"button\" v-if=\"property === 'datasets'\" @click=\"submit('draft')\" :disabled=\"formErrorCount\"\n class=\"mx-1 my-0\">\n <span v-if=\"uploading.draft\" class=\"loading-spinner\"></span>{{ $t('message.dataupload.saveasdraft') }}\n </FormKit>\n\n <!-- NEXT STEP -->\n <FormKit type=\"button\" :label=\"$t('message.dataupload.next')\" @click=\"goToNextStep\" v-if=\"nextStep\"></FormKit>\n </div>\n </div>\n\n <app-confirmation-dialog id=\"modal\" :confirm=\"modal.confirm\" @confirm=\"modal.callback\" :close=\"modal.confirm\">\n {{ modal.message }}\n </app-confirmation-dialog>\n </div>\n</template>\n\n<script>\n/* eslint-disable */\nimport $ from 'jquery';\nimport { isNil } from 'lodash';\nimport { mapGetters, mapActions } from 'vuex';\nimport { useWindowScroll } from '@vueuse/core'\nimport axios from 'axios';\nimport { ref, nextTick } from 'vue'\nimport { getCurrentInstance } from \"vue\";\nimport { useI18n } from 'vue-i18n';\n\nexport default {\n name: 'Navigation',\n props: ['steps', 'nextStep', 'previousStep', 'goToNextStep', 'goToPreviousStep'],\n data() {\n return {\n instance: getCurrentInstance().appContext.app.config.globalProperties.$env,\n uploading: {\n dataset: false,\n draft: false,\n },\n modal: {\n confirm: '',\n message: '',\n callback: '',\n },\n modals: {\n id: {\n confirm: '',\n message: 'Dataset ID already exists',\n callback: this.closeModal,\n },\n clear: {\n confirm: '',\n message: '',\n callback: this.clearStorage,\n },\n },\n property: this.$route.params.property,\n id: this.$route.params.id,\n };\n },\n setup() {\n const scrollToTop = () => {\n let { x, y } = useWindowScroll({ behavior: 'smooth' })\n y.value = 0\n\n };\n return {\n scrollToTop\n }\n },\n computed: {\n ...mapGetters('auth', [\n 'getIsEditMode',\n 'getIsDraft',\n 'getUserData',\n ]),\n ...mapGetters('dpiStore', [\n 'getData',\n ]),\n formErrorCount() {\n let errorCount = 0;\n Object.keys(this.steps).forEach(key => {\n errorCount = errorCount + this.steps[key].blockingCount\n })\n\n return errorCount > 0;\n }\n },\n created() {\n this.$i18n.locale = this.$route.query.locale\n this.modals.clear.message = this.$t('message.dataupload.modal.resetForm')\n this.modals.clear.confirm = this.$t('message.dataupload.modal.confirmReset')\n\n },\n methods: {\n ...mapActions('auth', [\n 'setIsEditMode',\n 'setIsDraft',\n ]),\n ...mapActions('snackbar', [\n 'showSnackbar',\n ]),\n ...mapActions('dpiStore', [\n 'convertToRDF',\n 'clearAll',\n // 'deleteDistribution',\n // 'setDeleteDistributionInline',\n ]),\n closeModal() {\n $('#modal').modal('hide');\n },\n handleIDError() {\n this.modal = this.modals.id;\n $('#modal').modal({ show: true });\n },\n handleClear() {\n this.modal = this.modals.clear;\n $('#modal').modal({ show: true });\n },\n clearStorage() {\n this.closeModal();\n this.$formkit.reset('dpiForm');\n this.clearAll();\n },\n async submit(mode) {\n this.uploading[mode] = true;\n this.$Progress.start();\n\n const specification = this.$env.content.dataProviderInterface.specification;\n const RDFdata = await this.convertToRDF({ property: this.property, specification: specification }).then((response) => { return response; });\n const rtpToken = this.getUserData.rtpToken;\n\n const datasetId = this.getData(this.property)['datasetID'];\n const title = this.getData(this.property)['dct:title'];\n const description = this.getData(this.property)['dct:description'];\n const catalogName = this.getData(this.property)['dcat:catalog'] ? this.getData(this.property)['dcat:catalog'] : '';\n\n let uploadUrl;\n let actionName;\n let actionParams = {\n id: datasetId,\n catalog: catalogName,\n body: RDFdata,\n title,\n description,\n };\n\n if (mode === 'dataset') {\n // if no edit mode: just publish dataset regularly\n // if edit mode but no draft: publish/save dataset regularly\n if (!this.getIsEditMode || (this.getIsEditMode && !this.getIsDraft) || (this.getIsEditMode && this.getIsDraft && localStorage.getItem('dpi_duplicate'))) {\n uploadUrl = `${this.$env.api.hubUrl}datasets?id=${datasetId}&catalogue=${catalogName}`;\n actionParams = { data: RDFdata, token: rtpToken, url: uploadUrl };\n actionName = 'auth/createDataset';\n } else {\n // if edit mode and draft: publish user draft (remove from draft database and add to dataset database)-> publishUserDraftById\n actionParams = { id: datasetId, catalog: catalogName };\n actionName = 'auth/publishUserDraftById';\n }\n\n } else if (mode === 'draft') {\n //if no edit mode: save draft regularly\n // if edit mode and draft: save draft regularly\n if (!this.getIsEditMode || (this.getIsEditMode && this.getIsDraft)) {\n uploadUrl = `${this.$env.api.hubUrl}drafts/datasets/${datasetId}?catalogue=${catalogName}`;\n actionName = 'auth/createUserDraft';\n } else {\n // if edit mode and no draft: save dataset as draft (remove from dataset database and add to draft database)-> putDatasetToDraft\n actionParams = { id: datasetId, catalog: catalogName, title, description };\n actionName = 'auth/putDatasetToDraft';\n }\n\n } else if (mode === 'createcatalogue') {\n uploadUrl = `${this.$env.api.hubUrl}catalogues/${datasetId}`;\n actionParams = { data: RDFdata, token: rtpToken, url: uploadUrl, id: datasetId };\n actionName = 'auth/createCatalogue';\n }\n\n try {\n // Dispatch the right action depending on the mode\n\n const idIsUnqiue = this.idunique(datasetId);\n\n if (idIsUnqiue) {\n await this.$store.dispatch(actionName, actionParams);\n // await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.finish();\n this.uploading = false;\n\n if (mode === 'createcatalogue') this.createCatalogue(datasetId);\n if (mode === 'dataset') this.createDataset(datasetId);\n if (mode === 'draft') this.createDraft();\n\n // store needs to be reset\n this.clearAll();\n }\n else {\n this.uploading[mode] = false;\n this.$Progress.fail();\n this.handleIDError();\n }\n } catch (err) {\n this.uploading[mode] = false;\n this.$Progress.fail();\n this.showSnackbar({ message: 'Network Error', variant: 'error' });\n }\n },\n createDataset(datasetId) {\n this.clearAll();\n this.showSnackbar({ message: this.$t('message.dataupload.snackBar.datasetPublished'), variant: 'success' });\n // this.$router.push({ name: 'DatasetDetailsDataset', params: { ds_id: datasetId }, query: { locale: this.$route.query.locale } }).catch(() => { });\n this.$router\n .push({ name: 'DatasetDetailsDataset', params: { ds_id: datasetId }, query: { locale: this.$route.query.locale } })\n .then(() => { this.$router.go(0) })\n },\n createDraft() {\n this.clearAll();\n this.showSnackbar({ message: this.$t('message.dataupload.snackBar.draftCreated'), variant: 'success' });\n this.$router.push({ name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } }).catch(() => { });\n },\n createCatalogue(datasetId) {\n this.clearAll();\n this.showSnackbar({ message: this.$t('message.dataupload.snackBar.catalogPublished'), variant: 'success' });\n this.$router.push({ name: 'CatalogueDetails', query: { locale: this.$route.query.locale }, params: { ctlg_id: datasetId } }).catch(() => { });\n },\n async idunique(id) {\n let isUniqueID = true;\n\n const draftIDs = this.$store.getters['auth/getUserDraftIds'];\n\n new Promise(() => {\n if (isNil(id) || id === '' || id === undefined) isUniqueID = true;\n else if (draftIDs.includes(id)) isUniqueID = false;\n else {\n const request = `${this.$env.api.hubUrl}datasets/${id}?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 },\n};\n</script>\n\n<style lang=\"scss\">\n// @import '../../../styles/bootstrap_theme';\n// @import '../../../styles/utils/css-animations';</style>\n"],"names":["_sfc_main","getCurrentInstance","x","y","useWindowScroll","mapGetters","errorCount","key","mapActions","$","mode","specification","RDFdata","response","rtpToken","datasetId","title","description","catalogName","uploadUrl","actionName","actionParams","id","isUniqueID","draftIDs","isNil","request","axios","_hoisted_2","_hoisted_3","_createElementBlock","_createElementVNode","_hoisted_1","$props","_createBlock","_component_FormKit","_ctx","_createCommentVNode","_createTextVNode","_createVNode","$options","$data","_withCtx","_openBlock","_hoisted_4","_toDisplayString","_hoisted_5","_hoisted_6","_hoisted_7","_component_app_confirmation_dialog"],"mappings":"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"}
@@ -1,21 +1,26 @@
1
- import { openBlock as r, createElementBlock as i, createElementVNode as e, toDisplayString as n, createTextVNode as a, createVNode as l, unref as c } from "vue";
2
- import "vuex";
3
- import "@formkit/core";
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 { computed as d, openBlock as o, createElementBlock as i, unref as a, toDisplayString as n, createCommentVNode as s, createTextVNode as c, createElementVNode as p, createVNode as m } from "vue";
2
+ import { FormKit as u } from "@formkit/vue";
3
+ const f = { class: "formkitProperty" }, h = { key: 0 }, _ = { key: 1 }, x = { class: "position-relative formkitCmpWrap" }, y = {
8
4
  __name: "SimpleInput",
9
5
  props: {
10
6
  context: Object
11
7
  },
12
- setup(o) {
13
- const t = o;
14
- return (d, f) => (r(), i("div", s, [
15
- e("h4", null, n(t.context.label), 1),
16
- a(),
17
- e("div", m, [
18
- l(c(p), {
8
+ setup(l) {
9
+ const t = l;
10
+ let r = d(() => {
11
+ try {
12
+ if (t.context.attrs.class.includes("inDistribution"))
13
+ return !0;
14
+ } catch {
15
+ }
16
+ });
17
+ return (e, b) => (o(), i("div", f, [
18
+ !t.context.attrs.insideRepeatable && !a(r) ? (o(), i("h4", h, n(e.$t("message.dataupload.datasets." + t.context.attrs.identifier + ".label")), 1)) : s("", !0),
19
+ c(),
20
+ a(r) ? (o(), i("h4", _, n(e.$t("message.dataupload.distributions." + t.context.attrs.identifier + ".label")), 1)) : s("", !0),
21
+ c(),
22
+ p("div", x, [
23
+ m(a(u), {
19
24
  class: "autocompleteInputfield",
20
25
  identifier: t.context.attrs.identifier,
21
26
  name: t.context.node.name,
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/SimpleInput.vue"],"sourcesContent":["<script setup>\nimport { ref, computed, onMounted } from 'vue';\nimport { useStore } from 'vuex';\nimport { getNode, isPlaceholder } from '@formkit/core'\nimport { onClickOutside } from '@vueuse/core'\nimport axios from 'axios'\nimport { getCurrentInstance } from \"vue\";\nimport {\n has,\n isNil,\n} from 'lodash-es';\nimport { FormKit } from '@formkit/vue';\n\nconst props = defineProps({\n context: Object\n})\n\n</script>\n<template>\n <div class=\"formkitProperty\">\n <h4>{{ props.context.label }}</h4>\n <div class=\"position-relative formkitCmpWrap\">\n <FormKit class=\"autocompleteInputfield\" :identifier=\"props.context.attrs.identifier\"\n :name=\"props.context.node.name\" \n :help=\"props.context.help\"\n :placeholder=\"props.context.attrs.placeholder\"\n :validation=\"props.context.attrs.validationType\"\n />\n </div>\n </div>\n</template>\n<style></style>"],"names":["props","__props"],"mappings":";;;;;;;;;;;;AAaA,UAAMA,IAAQC;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SimpleInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/SimpleInput.vue"],"sourcesContent":["<template>\n <div class=\"formkitProperty\">\n\n <h4 v-if=\"!props.context.attrs.insideRepeatable && !inDis\">{{ $t('message.dataupload.datasets.' +\n props.context.attrs.identifier + '.label') }}</h4>\n <h4 v-if=\"inDis\">\n {{ $t('message.dataupload.distributions.' +\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';\nimport { ref, computed } from 'vue';\n\nconst props = defineProps({\n context: Object\n})\n// Need to make sure, that the right header gets displayed\nlet inDis = computed(() => {\n try {\n if (props.context.attrs.class.includes(\"inDistribution\")) {\n return true\n }\n } catch (error) {\n\n }\n\n\n});\n\n\n\n</script>\n<style></style>"],"names":["props","__props","inDis","computed"],"mappings":";;;;;;;;AAoBA,UAAMA,IAAQC;AAId,QAAIC,IAAQC,EAAS,MAAM;AACvB,UAAI;AACA,YAAIH,EAAM,QAAQ,MAAM,MAAM,SAAS,gBAAgB;AACnD,iBAAO;AAAA,MAEd,QAAe;AAAA,MAEf;AAAA,IAGL,CAAC;;;;;;;;;;;;;;;;;;;"}
@@ -1,26 +1,26 @@
1
- import { computed as m, ref as c, onMounted as q, openBlock as i, createElementBlock as u, createElementVNode as p, toDisplayString as v, createTextVNode as f, createBlock as C, unref as a, isRef as x, withDirectives as B, Fragment as _, renderList as S, createCommentVNode as D, vShow as F } from "vue";
2
- import { useStore as R } from "vuex";
3
- import { getNode as d } from "@formkit/core";
4
- import { onClickOutside as U } from "../../external/@vueuse/core/index";
1
+ import { computed as m, ref as c, onMounted as B, openBlock as s, createElementBlock as d, createElementVNode as p, toDisplayString as v, createTextVNode as f, createBlock as x, unref as a, isRef as C, withDirectives as D, Fragment as _, renderList as S, createCommentVNode as F, vShow as R } from "vue";
2
+ import { useStore as U } from "vuex";
3
+ import { getNode as u } from "@formkit/core";
4
+ import { onClickOutside as q } from "../../external/@vueuse/core/index";
5
5
  import A from "axios";
6
6
  import { useRuntimeEnv as J } from "../../composables/useRuntimeEnv.mjs";
7
7
  import { has as L, isNil as w } from "lodash-es";
8
8
  import { FormKit as I } from "@formkit/vue";
9
9
  import "./SimpleSelect.vue2.mjs";
10
- const K = { class: "formkitProperty" }, T = { class: "position-relative formkitCmpWrap" }, $ = ["onClick"], M = ["onClick"], ee = {
10
+ const K = { class: "formkitProperty" }, $ = { class: "position-relative formkitCmpWrap" }, M = ["onClick"], P = ["onClick"], ee = {
11
11
  __name: "SimpleSelect",
12
12
  props: {
13
13
  context: Object
14
14
  },
15
15
  setup(N) {
16
- const s = N, V = m(() => localStorage.getItem("dpi_duplicate")), g = m(() => h.getters["auth/getUserCatalogIds"]);
16
+ const r = N, V = m(() => localStorage.getItem("dpi_duplicate")), g = m(() => h.getters["auth/getUserCatalogIds"]);
17
17
  let l = c();
18
- const h = R(), y = c(null), k = c();
18
+ const h = U(), y = c(null), k = c();
19
19
  c(!0), k.value = m(() => h.getters["auth/getIsEditMode"]);
20
20
  let n = c([]), E = J(), o = c();
21
- o = d("dcat:catalog").value, U(y, (t) => l.value = !1);
21
+ o = u("dcat:catalog").value, q(y, (t) => l.value = !1);
22
22
  const b = async (t) => {
23
- t.id ? (s.context.node.input(t.id), l.value = !l.value, d("dcat:catalog").value = t.id, o = t.name) : (s.context.node.input(t), l.value = !l.value, d("dcat:catalog").value = t, o = t);
23
+ t.id ? (r.context.node.input(t.id), l.value = !l.value, u("dcat:catalog").value = t.id, o = t.name) : (r.context.node.input(t), l.value = !l.value, u("dcat:catalog").value = t, o = t);
24
24
  };
25
25
  let O = async () => {
26
26
  let t;
@@ -29,57 +29,57 @@ const K = { class: "formkitProperty" }, T = { class: "position-relative formkitC
29
29
  }), t.data.result.results.forEach((e) => {
30
30
  L(e, "title") && !w(e.title) && L(e, "id") && !w(e.id) && n.value.push({ title: Object.values(e.title)[0], id: e.id });
31
31
  }), n.value = await n.value.filter((e) => g.value.includes(e.id)).map((e) => ({ id: e.id, name: e.title }));
32
- let r = JSON.parse(JSON.stringify(n.value));
33
- r.length === 1 && (o = r[0].id);
32
+ let i = JSON.parse(JSON.stringify(n.value));
33
+ i.length === 1 && (o = i[0].id);
34
34
  };
35
- return q(async () => {
35
+ return B(async () => {
36
36
  O();
37
- }), (t, r) => (i(), u("div", K, [
38
- p("h4", null, v(s.context.label), 1),
37
+ }), (t, i) => (s(), d("div", K, [
38
+ p("h4", null, v(r.context.label), 1),
39
39
  f(),
40
- p("div", T, [
41
- k.value.value && !V.value ? (i(), C(a(I), {
40
+ p("div", $, [
41
+ k.value.value && !V.value ? (s(), x(a(I), {
42
42
  key: 0,
43
43
  class: "autocompleteInputfield",
44
44
  type: "text",
45
45
  readonly: "",
46
- placeholder: a(d)("dcat:catalog").value,
47
- name: s.context.node.name
48
- }, null, 8, ["placeholder", "name"])) : (i(), C(a(I), {
46
+ placeholder: a(u)("dcat:catalog").value,
47
+ name: r.context.node.name
48
+ }, null, 8, ["placeholder", "name"])) : (s(), x(a(I), {
49
49
  key: 1,
50
50
  class: "autocompleteInputfield",
51
51
  modelValue: a(o),
52
- "onUpdate:modelValue": r[0] || (r[0] = (e) => x(o) ? o.value = e : o = e),
53
- placeholder: s.context.attrs.placeholder,
52
+ "onUpdate:modelValue": i[0] || (i[0] = (e) => C(o) ? o.value = e : o = e),
53
+ placeholder: r.context.attrs.placeholder,
54
54
  type: "text",
55
- onClick: r[1] || (r[1] = (e) => x(l) ? l.value = !a(l) : l = !a(l)),
55
+ onClick: i[1] || (i[1] = (e) => C(l) ? l.value = !a(l) : l = !a(l)),
56
56
  validation: "required",
57
57
  mandatory: "true",
58
58
  readonly: "",
59
59
  "validation-messages": {
60
- required: "The catalog is required"
60
+ required: r.context.attrs.placeholder
61
61
  },
62
- name: s.context.node.name
63
- }, null, 8, ["modelValue", "placeholder", "name"])),
62
+ name: r.context.node.name
63
+ }, null, 8, ["modelValue", "placeholder", "validation-messages", "name"])),
64
64
  f(),
65
- B(p("ul", {
65
+ D(p("ul", {
66
66
  ref_key: "dropdownList",
67
67
  ref: y,
68
68
  class: "autocompleteResultList selectListFK catSelectList"
69
69
  }, [
70
- (i(!0), u(_, null, S(a(n), (e) => (i(), u("li", {
70
+ (s(!0), d(_, null, S(a(n), (e) => (s(), d("li", {
71
71
  key: e,
72
72
  onClick: (j) => b(e),
73
73
  class: "p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC"
74
- }, v(e.name), 9, $))), 128)),
74
+ }, v(e.name), 9, M))), 128)),
75
75
  f(),
76
- a(n).length === 0 ? (i(!0), u(_, { key: 0 }, S(g.value, (e) => (i(), u("li", {
76
+ a(n).length === 0 ? (s(!0), d(_, { key: 0 }, S(g.value, (e) => (s(), d("li", {
77
77
  key: e,
78
78
  onClick: (j) => b(e),
79
79
  class: "p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC"
80
- }, v(e), 9, M))), 128)) : D("", !0)
80
+ }, v(e), 9, P))), 128)) : F("", !0)
81
81
  ], 512), [
82
- [F, a(l)]
82
+ [R, a(l)]
83
83
  ])
84
84
  ])
85
85
  ]));
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleSelect.vue.mjs","sources":["../../../lib/data-provider-interface/components/SimpleSelect.vue"],"sourcesContent":["<template>\n <div class=\"formkitProperty\">\n <h4>{{ props.context.label }}</h4>\n <div class=\"position-relative formkitCmpWrap\">\n <FormKit v-if=\"isEditMode.value && !isDuplicate\" class=\"autocompleteInputfield\" type=\"text\" readonly\n :placeholder=\"getNode('dcat:catalog').value\" :name=\"props.context.node.name\" />\n <FormKit v-else class=\"autocompleteInputfield\" v-model=\"catVal\"\n :placeholder=\"props.context.attrs.placeholder\" type=\"text\" @click=\"showList = !showList\"\n validation=\"required\" mandatory=\"true\" readonly :validation-messages=\"{\n required: 'The catalog is required',\n }\" :name=\"props.context.node.name\" />\n\n <ul ref=\"dropdownList\" v-show=\"showList\" class=\"autocompleteResultList selectListFK catSelectList\">\n\n <li v-for=\"match in filteredCatalogs\" :key=\"match\" @click=\"setvalue(match)\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{\n match.name }}\n </li>\n <li v-if=\"filteredCatalogs.length === 0\" v-for=\"idMatch in userCats\" :key=\"idMatch\"\n @click=\"setvalue(idMatch)\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{\n idMatch }}\n </li>\n </ul>\n </div>\n </div>\n\n</template>\n<script setup>\nimport { ref, computed, onMounted } from 'vue';\nimport { useStore } from 'vuex';\nimport { getNode } from '@formkit/core'\nimport { onClickOutside } from '@vueuse/core'\nimport axios from 'axios'\nimport { useRuntimeEnv } from \"../../composables/useRuntimeEnv.ts\";\nimport {\n has,\n isNil,\n} from 'lodash-es';\nimport { FormKit } from '@formkit/vue';\n\nconst props = defineProps({\n context: Object\n})\n\nconst isDuplicate = computed(()=> localStorage.getItem('dpi_duplicate'))\nconst userCats = computed(() => store.getters['auth/getUserCatalogIds']);\nlet showList = ref()\nconst store = useStore()\nconst dropdownList = ref(null)\nconst isEditMode = ref()\nlet validationTrigger = ref(true)\nisEditMode.value = computed(() => store.getters['auth/getIsEditMode']);\nlet filteredCatalogs = ref([])\nlet env = useRuntimeEnv()\nlet catVal = ref()\n\ncatVal = getNode('dcat:catalog').value\n\nonClickOutside(dropdownList, event => showList.value = false)\n\nconst setvalue = async (e) => {\n \n validationTrigger = false\n if (e.id) {\n props.context.node.input(e.id)\n showList.value = !showList.value;\n getNode('dcat:catalog').value = e.id\n catVal = e.name\n } else {\n props.context.node.input(e)\n showList.value = !showList.value;\n getNode('dcat:catalog').value = e\n catVal = e\n }\n\n}\nlet filterCatList = async () => {\n let cache;\n await axios\n .get(env.api.baseUrl + 'search?filter=catalogue&limit=1000')\n .then(response => (cache = response))\n .catch((err) => {\n reject(err);\n });\n\n \n cache.data.result.results.forEach((e) => {\n if (has(e, 'title') && !isNil(e.title) && has(e, 'id') && !isNil(e.id)) filteredCatalogs.value.push({ title: Object.values(e.title)[0], id: e.id })\n });\n\n filteredCatalogs.value = await filteredCatalogs.value\n .filter(item => userCats.value.includes(item.id))\n .map(item => ({ id: item.id, name: item.title }));\n\n // Check if theres only one catalog and set it directly\n\n let clone = JSON.parse(JSON.stringify(filteredCatalogs.value))\n if (clone.length === 1) {\n catVal = clone[0].id\n }\n}\n\n\nonMounted(async () => {\n filterCatList();\n});\n\n</script>\n<style>\n.catSelectList {\n width: 97.3% !important;\n margin: 0 1rem;\n}\n\n.selectListFK {\n\n max-height: 20rem;\n overflow: overlay;\n overflow-x: hidden;\n}\n</style>"],"names":["props","__props","isDuplicate","computed","userCats","store","showList","ref","useStore","dropdownList","isEditMode","filteredCatalogs","env","useRuntimeEnv","catVal","getNode","onClickOutside","event","setvalue","e","filterCatList","cache","axios","response","err","has","isNil","item","clone","onMounted"],"mappings":";;;;;;;;;;;;;;;AAyCA,UAAMA,IAAQC,GAIRC,IAAcC,EAAS,MAAK,aAAa,QAAQ,eAAe,CAAC,GACjEC,IAAWD,EAAS,MAAME,EAAM,QAAQ,wBAAwB,CAAC;AACvE,QAAIC,IAAWC,EAAK;AACpB,UAAMF,IAAQG,EAAU,GAClBC,IAAeF,EAAI,IAAI,GACvBG,IAAaH,EAAK;AACA,IAAAA,EAAI,EAAI,GAChCG,EAAW,QAAQP,EAAS,MAAME,EAAM,QAAQ,oBAAoB,CAAC;AACrE,QAAIM,IAAmBJ,EAAI,EAAE,GACzBK,IAAMC,EAAe,GACrBC,IAASP,EAAK;AAElB,IAAAO,IAASC,EAAQ,cAAc,EAAE,OAEjCC,EAAeP,GAAc,CAAAQ,MAASX,EAAS,QAAQ,EAAK;AAE5D,UAAMY,IAAW,OAAOC,MAAM;AAG1B,MAAIA,EAAE,MACFnB,EAAM,QAAQ,KAAK,MAAMmB,EAAE,EAAE,GAC7Bb,EAAS,QAAQ,CAACA,EAAS,OAC3BS,EAAQ,cAAc,EAAE,QAAQI,EAAE,IAClCL,IAASK,EAAE,SAEXnB,EAAM,QAAQ,KAAK,MAAMmB,CAAC,GAC1Bb,EAAS,QAAQ,CAACA,EAAS,OAC3BS,EAAQ,cAAc,EAAE,QAAQI,GAChCL,IAASK;AAAA,IAGjB;AACA,QAAIC,IAAgB,YAAY;AAC5B,UAAIC;AACJ,YAAMC,EACD,IAAIV,EAAI,IAAI,UAAU,oCAAoC,EAC1D,KAAK,CAAAW,MAAaF,IAAQE,CAAS,EACnC,MAAM,CAACC,MAAQ;AACZ,eAAOA,CAAG;AAAA,MACtB,CAAS,GAGLH,EAAM,KAAK,OAAO,QAAQ,QAAQ,CAAC,MAAM;AACrC,QAAII,EAAI,GAAG,OAAO,KAAK,CAACC,EAAM,EAAE,KAAK,KAAKD,EAAI,GAAG,IAAI,KAAK,CAACC,EAAM,EAAE,EAAE,KAAGf,EAAiB,MAAM,KAAK,EAAE,OAAO,OAAO,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAE,CAAE;AAAA,MAC1J,CAAK,GAEDA,EAAiB,QAAQ,MAAMA,EAAiB,MAC3C,OAAO,CAAAgB,MAAQvB,EAAS,MAAM,SAASuB,EAAK,EAAE,CAAC,EAC/C,IAAI,CAAAA,OAAS,EAAE,IAAIA,EAAK,IAAI,MAAMA,EAAK,MAAO,EAAC;AAIpD,UAAIC,IAAQ,KAAK,MAAM,KAAK,UAAUjB,EAAiB,KAAK,CAAC;AAC7D,MAAIiB,EAAM,WAAW,MACjBd,IAASc,EAAM,CAAC,EAAE;AAAA,IAE1B;AAGA,WAAAC,EAAU,YAAY;AAClB,MAAAT;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SimpleSelect.vue.mjs","sources":["../../../lib/data-provider-interface/components/SimpleSelect.vue"],"sourcesContent":["<template>\n <div class=\"formkitProperty\">\n <h4>{{ props.context.label }}</h4>\n <div class=\"position-relative formkitCmpWrap\">\n <FormKit v-if=\"isEditMode.value && !isDuplicate\" class=\"autocompleteInputfield\" type=\"text\" readonly\n :placeholder=\"getNode('dcat:catalog').value\" :name=\"props.context.node.name\" />\n <FormKit v-else class=\"autocompleteInputfield\" v-model=\"catVal\"\n :placeholder=\"props.context.attrs.placeholder\" type=\"text\" @click=\"showList = !showList\"\n validation=\"required\" mandatory=\"true\" readonly :validation-messages=\"{\n required: props.context.attrs.placeholder,\n }\" :name=\"props.context.node.name\" />\n\n <ul ref=\"dropdownList\" v-show=\"showList\" class=\"autocompleteResultList selectListFK catSelectList\">\n\n <li v-for=\"match in filteredCatalogs\" :key=\"match\" @click=\"setvalue(match)\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{\n match.name }}\n </li>\n <li v-if=\"filteredCatalogs.length === 0\" v-for=\"idMatch in userCats\" :key=\"idMatch\"\n @click=\"setvalue(idMatch)\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{\n idMatch }}\n </li>\n </ul>\n </div>\n </div>\n\n</template>\n<script setup>\nimport { ref, computed, onMounted } from 'vue';\nimport { useStore } from 'vuex';\nimport { getNode } from '@formkit/core'\nimport { onClickOutside } from '@vueuse/core'\nimport axios from 'axios'\nimport { useRuntimeEnv } from \"../../composables/useRuntimeEnv.ts\";\nimport {\n has,\n isNil,\n} from 'lodash-es';\nimport { FormKit } from '@formkit/vue';\n\nconst props = defineProps({\n context: Object\n})\n\n\n\nconst isDuplicate = computed(()=> localStorage.getItem('dpi_duplicate'))\nconst userCats = computed(() => store.getters['auth/getUserCatalogIds']);\nlet showList = ref()\nconst store = useStore()\nconst dropdownList = ref(null)\nconst isEditMode = ref()\nlet validationTrigger = ref(true)\nisEditMode.value = computed(() => store.getters['auth/getIsEditMode']);\nlet filteredCatalogs = ref([])\nlet env = useRuntimeEnv()\nlet catVal = ref()\n\ncatVal = getNode('dcat:catalog').value\n\nonClickOutside(dropdownList, event => showList.value = false)\n\nconst setvalue = async (e) => {\n \n validationTrigger = false\n if (e.id) {\n props.context.node.input(e.id)\n showList.value = !showList.value;\n getNode('dcat:catalog').value = e.id\n catVal = e.name\n } else {\n props.context.node.input(e)\n showList.value = !showList.value;\n getNode('dcat:catalog').value = e\n catVal = e\n }\n\n}\nlet filterCatList = async () => {\n let cache;\n await axios\n .get(env.api.baseUrl + 'search?filter=catalogue&limit=1000')\n .then(response => (cache = response))\n .catch((err) => {\n reject(err);\n });\n\n \n cache.data.result.results.forEach((e) => {\n // console.log(cache);\n \n if (has(e, 'title') && !isNil(e.title) && has(e, 'id') && !isNil(e.id)) filteredCatalogs.value.push({ title: Object.values(e.title)[0], id: e.id })\n });\n\n filteredCatalogs.value = await filteredCatalogs.value\n .filter(item => userCats.value.includes(item.id))\n .map(item => ({ id: item.id, name: item.title }));\n\n // Check if theres only one catalog and set it directly\n\n let clone = JSON.parse(JSON.stringify(filteredCatalogs.value))\n if (clone.length === 1) {\n catVal = clone[0].id\n }\n}\n\n\nonMounted(async () => {\n filterCatList();\n});\n\n</script>\n<style>\n.catSelectList {\n width: 97.3% !important;\n margin: 0 1rem;\n}\n\n.selectListFK {\n\n max-height: 20rem;\n overflow: overlay;\n overflow-x: hidden;\n}\n</style>"],"names":["props","__props","isDuplicate","computed","userCats","store","showList","ref","useStore","dropdownList","isEditMode","filteredCatalogs","env","useRuntimeEnv","catVal","getNode","onClickOutside","event","setvalue","e","filterCatList","cache","axios","response","err","has","isNil","item","clone","onMounted"],"mappings":";;;;;;;;;;;;;;;AAyCA,UAAMA,IAAQC,GAMRC,IAAcC,EAAS,MAAK,aAAa,QAAQ,eAAe,CAAC,GACjEC,IAAWD,EAAS,MAAME,EAAM,QAAQ,wBAAwB,CAAC;AACvE,QAAIC,IAAWC,EAAK;AACpB,UAAMF,IAAQG,EAAU,GAClBC,IAAeF,EAAI,IAAI,GACvBG,IAAaH,EAAK;AACA,IAAAA,EAAI,EAAI,GAChCG,EAAW,QAAQP,EAAS,MAAME,EAAM,QAAQ,oBAAoB,CAAC;AACrE,QAAIM,IAAmBJ,EAAI,EAAE,GACzBK,IAAMC,EAAe,GACrBC,IAASP,EAAK;AAElB,IAAAO,IAASC,EAAQ,cAAc,EAAE,OAEjCC,EAAeP,GAAc,CAAAQ,MAASX,EAAS,QAAQ,EAAK;AAE5D,UAAMY,IAAW,OAAOC,MAAM;AAG1B,MAAIA,EAAE,MACFnB,EAAM,QAAQ,KAAK,MAAMmB,EAAE,EAAE,GAC7Bb,EAAS,QAAQ,CAACA,EAAS,OAC3BS,EAAQ,cAAc,EAAE,QAAQI,EAAE,IAClCL,IAASK,EAAE,SAEXnB,EAAM,QAAQ,KAAK,MAAMmB,CAAC,GAC1Bb,EAAS,QAAQ,CAACA,EAAS,OAC3BS,EAAQ,cAAc,EAAE,QAAQI,GAChCL,IAASK;AAAA,IAGjB;AACA,QAAIC,IAAgB,YAAY;AAC5B,UAAIC;AACJ,YAAMC,EACD,IAAIV,EAAI,IAAI,UAAU,oCAAoC,EAC1D,KAAK,CAAAW,MAAaF,IAAQE,CAAS,EACnC,MAAM,CAACC,MAAQ;AACZ,eAAOA,CAAG;AAAA,MACtB,CAAS,GAGLH,EAAM,KAAK,OAAO,QAAQ,QAAQ,CAAC,MAAM;AAGrC,QAAII,EAAI,GAAG,OAAO,KAAK,CAACC,EAAM,EAAE,KAAK,KAAKD,EAAI,GAAG,IAAI,KAAK,CAACC,EAAM,EAAE,EAAE,KAAGf,EAAiB,MAAM,KAAK,EAAE,OAAO,OAAO,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAE,CAAE;AAAA,MAC1J,CAAK,GAEDA,EAAiB,QAAQ,MAAMA,EAAiB,MAC3C,OAAO,CAAAgB,MAAQvB,EAAS,MAAM,SAASuB,EAAK,EAAE,CAAC,EAC/C,IAAI,CAAAA,OAAS,EAAE,IAAIA,EAAK,IAAI,MAAMA,EAAK,MAAO,EAAC;AAIpD,UAAIC,IAAQ,KAAK,MAAM,KAAK,UAAUjB,EAAiB,KAAK,CAAC;AAC7D,MAAIiB,EAAM,WAAW,MACjBd,IAASc,EAAM,CAAC,EAAE;AAAA,IAE1B;AAGA,WAAAC,EAAU,YAAY;AAClB,MAAAT;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}