@piveau/piveau-hub-ui-modules 4.1.7 → 4.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  import w from "axios";
2
- import m from "jquery";
2
+ import u from "jquery";
3
3
  import "lodash-es";
4
4
  import { mapGetters as $, mapActions as k } from "vuex";
5
5
  import A from "./components/Dropup.vue.mjs";
6
6
  import { useWindowScroll as T } from "../external/@vueuse/core/index";
7
- import { resolveComponent as f, openBlock as d, createElementBlock as h, createElementVNode as l, toDisplayString as u, createTextVNode as c, Fragment as y, renderList as b, createBlock as C, resolveDynamicComponent as U, normalizeClass as q, withCtx as D, renderSlot as O, createVNode as P, createCommentVNode as v, pushScopeId as S, popScopeId as z } from "vue";
7
+ import { resolveComponent as f, openBlock as d, createElementBlock as h, createElementVNode as l, toDisplayString as m, createTextVNode as c, Fragment as y, renderList as b, createBlock as C, resolveDynamicComponent as U, normalizeClass as q, withCtx as D, renderSlot as O, createVNode as P, createCommentVNode as v, pushScopeId as S, popScopeId as z } from "vue";
8
8
  import "./DPIMenu.vue2.mjs";
9
9
  import L from "../_virtual/_plugin-vue_export-helper.mjs";
10
10
  const M = {
@@ -69,7 +69,7 @@ const M = {
69
69
  message: this.$t("message.dataupload.menu.datasetDeletion.message"),
70
70
  confirm: this.$t("message.dataupload.menu.datasetDeletion.confirm"),
71
71
  confirmHandler: () => this.handleDelete({ id: this.getID, property: "datasets", catalog: this.getCatalog.id })
72
- }, m("#modal").modal({ show: !0 });
72
+ }, u("#modal").modal({ show: !0 });
73
73
  }
74
74
  },
75
75
  {
@@ -105,7 +105,7 @@ const M = {
105
105
  title: this.getTitle,
106
106
  description: this.getDescription
107
107
  })
108
- }, m("#modal").modal({ show: !0 });
108
+ }, u("#modal").modal({ show: !0 });
109
109
  }
110
110
  },
111
111
  {
@@ -118,7 +118,7 @@ const M = {
118
118
  message: this.$t("message.dataupload.menu.registerADoi.message"),
119
119
  confirm: this.$t("message.dataupload.menu.registerADoi.confirm"),
120
120
  confirmHandler: () => this.handleRegisterDoi({ id: this.getID, catalog: this.getCatalog.id, type: this.$env.content.dataProviderInterface.doiRegistrationService.persistentIdentifierType || "mock" })
121
- }, m("#modal").modal({ show: !0 });
121
+ }, u("#modal").modal({ show: !0 });
122
122
  }
123
123
  }
124
124
  ]
@@ -143,7 +143,7 @@ const M = {
143
143
  message: "Are you sure you want to delete this catalogue? This can not be reverted!",
144
144
  confirm: "Delete catlogue (irreversible)",
145
145
  confirmHandler: () => this.handleDelete({ id: this.$route.params.ctlg_id, property: "catalogues", catalog: this.$route.params.ctlg_id })
146
- }, m("#modal").modal({ show: !0 });
146
+ }, u("#modal").modal({ show: !0 });
147
147
  }
148
148
  },
149
149
  {
@@ -246,7 +246,7 @@ const M = {
246
246
  // Need to translate this
247
247
  message: "DOI registration is not possible, the following error occured: " + t.response.data,
248
248
  confirm: "Okay",
249
- confirmHandler: () => m("#modal").modal("hide")
249
+ confirmHandler: () => u("#modal").modal("hide")
250
250
  }, console.log(t.response.data);
251
251
  let i = typeof s == "string" && s;
252
252
  i = typeof s == "function" && s(t), i = typeof s == "object" && s.prefix + " - " + t.response.data, console.log(s);
@@ -256,7 +256,7 @@ const M = {
256
256
  variant: "error"
257
257
  });
258
258
  } finally {
259
- this.modal.loading = !1;
259
+ this.modal.loading = !1, u("#modal").modal("hide");
260
260
  }
261
261
  },
262
262
  async handleRegisterDoi({ id: e, catalog: a, type: o = "eu-ra-doi" }) {
@@ -311,14 +311,14 @@ const M = {
311
311
  variant: "error"
312
312
  });
313
313
  } finally {
314
- this.modal.loading = !1, m("#modal").modal("hide");
314
+ this.modal.loading = !1, u("#modal").modal("hide");
315
315
  }
316
316
  }
317
317
  },
318
318
  created() {
319
319
  this.setupKeycloakWatcher();
320
320
  }
321
- }, N = (e) => (S("data-v-30b559e2"), e = e(), z(), e), R = {
321
+ }, N = (e) => (S("data-v-c45b809e"), e = e(), z(), e), R = {
322
322
  id: "wrapper",
323
323
  "data-cy": "dpi-menu"
324
324
  }, E = { key: 0 }, H = { class: "text-white" }, x = { style: { "margin-top": "1%" } }, F = { class: "btn-group dropup" }, B = {
@@ -333,7 +333,7 @@ function K(e, a, o, s, t, r) {
333
333
  return d(), h("div", R, [
334
334
  t.visible ? (d(), h("nav", E, [
335
335
  l("div", null, [
336
- l("h4", H, u(e.$t("message.dataupload.menu.dpi")), 1)
336
+ l("h4", H, m(e.$t("message.dataupload.menu.dpi")), 1)
337
337
  ]),
338
338
  c(),
339
339
  l("div", x, [
@@ -362,7 +362,7 @@ function K(e, a, o, s, t, r) {
362
362
  onClick: (I) => n.handler ? n.handler() : null
363
363
  }, {
364
364
  default: D(() => [
365
- c(u(n.handler) + " " + u(n.name), 1)
365
+ c(m(n.handler) + " " + m(n.name), 1)
366
366
  ]),
367
367
  _: 2
368
368
  }, 1032, ["class", "to", "onClick"]))
@@ -374,13 +374,13 @@ function K(e, a, o, s, t, r) {
374
374
  c(),
375
375
  e.getUserData.userName ? (d(), h("div", B, [
376
376
  O(e.$slots, "right", { getUserData: e.getUserData }, () => [
377
- l("small", G, u(e.$t("message.dataupload.menu.loggedInAs")) + " " + u(e.getUserData.userName), 1),
377
+ l("small", G, m(e.$t("message.dataupload.menu.loggedInAs")) + " " + m(e.getUserData.userName), 1),
378
378
  V,
379
379
  c(),
380
380
  l("button", W, [
381
381
  P(g, { to: { name: "Logout" } }, {
382
382
  default: D(() => [
383
- c(u(e.$t("message.dataupload.menu.logout")), 1)
383
+ c(m(e.$t("message.dataupload.menu.logout")), 1)
384
384
  ]),
385
385
  _: 1
386
386
  })
@@ -396,13 +396,13 @@ function K(e, a, o, s, t, r) {
396
396
  onConfirm: t.modal.confirmHandler
397
397
  }, {
398
398
  default: D(() => [
399
- c(u(t.modal.message), 1)
399
+ c(m(t.modal.message), 1)
400
400
  ]),
401
401
  _: 1
402
402
  }, 8, ["loading", "confirm", "onConfirm"])
403
403
  ]);
404
404
  }
405
- const se = /* @__PURE__ */ L(M, [["render", K], ["__scopeId", "data-v-30b559e2"]]);
405
+ const se = /* @__PURE__ */ L(M, [["render", K], ["__scopeId", "data-v-c45b809e"]]);
406
406
  export {
407
407
  se as default
408
408
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DPIMenu.vue.mjs","sources":["../../lib/data-provider-interface/DPIMenu.vue"],"sourcesContent":["<template>\n <div id=\"wrapper\" data-cy=\"dpi-menu\">\n <nav v-if=\"visible\">\n <div>\n <h4 class=\"text-white\">{{ $t('message.dataupload.menu.dpi') }}</h4>\n </div>\n\n <div style=\"margin-top:1%;\">\n <dropup v-for=\"(group, index) in menuGroups\" :key=\"`Group${index}`\" :groupName=\"group.group\"\n :groupItems=\"group.items\" :show=\"$env.content.dataProviderInterface.buttons[group.group]\"\n :isOperator=\"getUserData.roles.includes('operator')\" :isCatalog=\"group.group === 'Catalogue' ? true : false\">\n </dropup>\n <ul>\n <div class=\"btn-group dropup\">\n <li v-for=\"(menuItem, index) in menuItems\" :key=\"`Menu${index}`\">\n <button type=\"button\" class=\"btn btn-default\" @click=\"scrollToTop()\">\n <!-- Menu items are either buttons or router-link -->\n <!-- depending if they have a 'to' or 'handler' property -->\n <component :is=\"menuItem.handler ? 'button' : 'router-link'\" :class=\"{ 'disabled': menuItem.disabled }\"\n :to=\"menuItem.to\" @click.native=\"menuItem.handler ? menuItem.handler() : null\">\n {{ menuItem.handler }}\n {{ menuItem.name }}\n </component>\n </button>\n </li>\n </div>\n </ul>\n </div>\n\n\n <div v-if=\"getUserData.userName\" class=\"logoutWrap\">\n <slot name=\"right\" :get-user-data=\"getUserData\">\n <small class=\"text-white\">{{ $t('message.dataupload.menu.loggedInAs') }} {{ getUserData.userName\n }}</small><br>\n <button type=\"button\" class=\"btn btn-default logout\">\n <router-link :to=\"{ name: 'Logout' }\">{{ $t('message.dataupload.menu.logout') }}</router-link>\n </button>\n </slot>\n </div>\n </nav>\n\n <app-confirmation-dialog id=\"DPIMenuModal\" :loading=\"modal.loading\" :confirm=\"modal.confirm\"\n @confirm=\"modal.confirmHandler\">\n {{ modal.message }}\n </app-confirmation-dialog>\n </div>\n</template>\n\n<script>\nimport axios from 'axios';\nimport $ from 'jquery';\nimport { has, isEmpty } from 'lodash-es';\nimport { mapGetters, mapActions } from 'vuex';\nimport Dropup from './components/Dropup';\nimport { useWindowScroll } from '@vueuse/core'\n\nexport default {\n name: 'DPI-menu',\n components: {\n Dropup\n },\n props: {},\n data() {\n return {\n visible: true,\n modal: {\n show: false,\n loading: false,\n error: null,\n message: '',\n confirm: '',\n confirmHandler: () => null,\n },\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('datasetDetails', [\n 'getCatalog',\n 'getID',\n 'getLoading',\n 'getTitle',\n 'getDescription',\n ]),\n ...mapGetters('auth', [\n 'getUserData',\n ]),\n menuGroups() {\n return [\n {\n group: 'Dataset',\n items: [\n {\n key: 'create-dataset',\n name: this.$t('message.dataupload.createDataset'),\n to: {\n name: 'DataProviderInterface-Input',\n query: { locale: this.$route.query.locale, edit: false }, // if edit is false -> reset is triggered\n params: { property: 'datasets' },\n },\n },\n {\n name: this.$t('message.dataupload.menu.deleteDataset'),\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.datasetDeletion.message'),\n confirm: this.$t('message.dataupload.menu.datasetDeletion.confirm'),\n confirmHandler: () => this.handleDelete({ id: this.getID, property: 'datasets', catalog: this.getCatalog.id }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n {\n key: 'edit-dataset',\n name: this.$t('message.dataupload.menu.editDataset'),\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n to: {\n name: 'DataProviderInterface-Edit',\n params: {\n catalog: this.getCatalog.id || 'undefined',\n property: 'datasets',\n id: this.getID || 'undefined',\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n },\n },\n },\n {\n key: 'draft-dataset',\n name: this.$t('message.dataupload.menu.setToDraft'),\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.markAsDraft.message'),\n confirm: this.$t('message.dataupload.menu.markAsDraft.confirm'),\n confirmHandler: () => this.handleMarkAsDraft({\n id: this.getID, catalog: this.getCatalog.id, title: this.getTitle, description: this.getDescription,\n }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n {\n key: 'register-dataset',\n name: this.$t('message.dataupload.menu.registerDoi'),\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.registerADoi.message'),\n confirm: this.$t('message.dataupload.menu.registerADoi.confirm'),\n confirmHandler: () => this.handleRegisterDoi({ id: this.getID, catalog: this.getCatalog.id, type: this.$env.content.dataProviderInterface.doiRegistrationService.persistentIdentifierType || 'mock' }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n ],\n },\n {\n group: 'Catalogue',\n items: [\n {\n name: 'Create Catalogue',\n to: {\n name: 'DataProviderInterface-Input',\n query: { locale: this.$route.query.locale, edit: false },\n params: { property: 'catalogues' }\n },\n },\n {\n name: 'Delete Catalogue',\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: 'Are you sure you want to delete this catalogue? This can not be reverted!',\n confirm: 'Delete catlogue (irreversible)',\n confirmHandler: () => this.handleDelete({ id: this.$route.params.ctlg_id, property: 'catalogues', catalog: this.$route.params.ctlg_id }),\n },\n };\n $('#modal').modal({ show: true });\n }\n },\n {\n name: 'Edit Catalog',\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n to: {\n name: 'DataProviderInterface-Edit',\n params: {\n catalog: this.$route.params.ctlg_id ? this.$route.params.ctlg_id : 'undefined',\n property: 'catalogues',\n id: this.getID || 'undefined',\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n }\n }\n },\n ],\n },\n ];\n },\n menuItems() {\n return [\n {\n name: this.$t('message.dataupload.menu.draftDatasets'),\n to: { name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } },\n },\n {\n name: 'My Catalogues',\n to: { name: 'DataProviderInterface-UserCatalogues', query: { locale: this.$route.query.locale } },\n },\n {\n name: 'User profile',\n to: { name: 'DataProviderInterface-UserProfile', query: { locale: this.$route.query.locale } },\n },\n ];\n },\n isLocatedOnAuthorizedDatasetPage() {\n // Never return true while loading\n if (this.getLoading) return false;\n\n // Is the user located on the correct page?\n const isOnDatasetDetailsPage = this.$route.name === 'DatasetDetailsDataset';\n if (!isOnDatasetDetailsPage) return false;\n const datasetId = isOnDatasetDetailsPage && this.$route.params.ds_id;\n\n // Does user have permission on dataset (based on current datasetDetails state)?\n const permissions = this.getUserData && this.getUserData.permissions;\n const catalogId = this.getCatalog && this.getCatalog.id;\n const hasPermission = permissions.find(permission => permission.rsname === catalogId);\n\n // Does the user have permission on the current dataset details page?\n return hasPermission\n && isOnDatasetDetailsPage\n && datasetId === this.getID;\n },\n isLocatedOnAuthorizedCatalogPage() {\n // never return true while loading\n if (this.getLoading) return false;\n\n // is the user located on the correct page?\n const onCatalogPage = this.$route.name === 'CatalogueDetails';\n if (!onCatalogPage) return false;\n const catalogId = onCatalogPage && this.$route.params.ctlg_id;\n\n const permissions = this.getUserData && this.getUserData.permissions;\n const hasPermission = permissions.find(permission => permission.rsname === catalogId);\n\n // does user have permission on current catalogue\n return hasPermission && onCatalogPage;\n }\n },\n methods: {\n ...mapActions('auth', [\n 'updateUserData',\n ]),\n ...mapActions('snackbar', [\n 'showSnackbar',\n ]),\n setupKeycloakWatcher() {\n if (this.$keycloak && this.$keycloak.authenticated) {\n // Set up watcher here since we this.$keycloak might not be available.\n // If this.$keycloak is ensured, move this watcher out of this created hook.\n this.$watch('$keycloak.token', async (newToken) => {\n if (!newToken) return;\n\n let rtpToken = this.$keycloak.rtpToken;\n if (!rtpToken) {\n const rtpTokenFn = this.$keycloak.getRtpToken;\n if (rtpTokenFn) {\n const res = (await rtpTokenFn({ autoRefresh: true }));\n rtpToken = res;\n }\n }\n\n this.updateUserData({\n authToken: newToken,\n rtpToken: rtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n }, { immediate: true });\n\n this.$watch('$keycloak.rtpToken', (newRtpToken) => {\n if (!newRtpToken) return;\n\n this.updateUserData({\n authToken: this.$keycloak.token,\n rtpToken: newRtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n });\n }\n },\n async handleConfirm(action, argsObj, { successMessage, errorMessage }) {\n this.modal.loading = true;\n try {\n // Sleep for 250ms for better UX\n this.$Progress.start();\n await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.set(25);\n await this.$store.dispatch(action, argsObj);\n\n // Successful DOI registration\n this.showSnackbar({\n message: successMessage,\n variant: 'success',\n });\n await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.finish();\n } catch (ex) {\n this.$Progress.fail();\n // eslint-disable-next-line no-console\n console.error(ex);\n\n const maybeErrorStatusMsg = ex.response && ex.response.data && ex.response.data.message;\n\n this.modal = {\n ...this.modal,\n ...{\n // Need to translate this\n message: 'DOI registration is not possible, the following error occured: ' + ex.response.data,\n confirm: 'Okay',\n confirmHandler: () => $('#modal').modal('hide'),\n },\n };\n\n\n console.log(ex.response.data);\n let customErrorMessage = typeof errorMessage === 'string' && errorMessage;\n customErrorMessage = typeof errorMessage === 'function' && errorMessage(ex);\n // customErrorMessage = typeof errorMessage === 'object' && errorMessage.prefix && `${errorMessage.prefix}${maybeErrorStatusMsg && ` — ${maybeErrorStatusMsg}`}`;\n customErrorMessage = typeof errorMessage === 'object' && errorMessage.prefix + \" - \" + ex.response.data;\n\n console.log(errorMessage);\n const errorMsg = customErrorMessage || maybeErrorStatusMsg || ex.message || 'An error occurred';\n // show snackbar\n this.showSnackbar({\n message: errorMsg,\n variant: 'error',\n });\n } finally {\n this.modal.loading = false;\n // $('#modal').modal('hide');\n }\n },\n async handleRegisterDoi({ id, catalog, type = 'eu-ra-doi' }) {\n await this.handleConfirm(\n 'auth/createPersistentIdentifier',\n { id, catalog, type },\n {\n successMessage: this.$te('message.snackbar.doiRegistration.success') ? this.$t('message.snackbar.doiRegistration.success') : 'Successfully registered DOI',\n errorMessage: { prefix: this.$te('message.snackbar.doiRegistration.error') ? this.$t('message.snackbar.doiRegistration.error') : 'DOI registration failed' },\n\n },\n );\n },\n async handleMarkAsDraft({\n id, catalog, title, description,\n }) {\n await this.handleConfirm('auth/putDatasetToDraft', {\n id, catalog, title, description,\n }, {\n successMessage: this.$te('message.snackbar.markAsDraft.success') ? this.$t('message.snackbar.markAsDraft.success') : 'Dataset successfully marked as draft',\n errorMessage: { prefix: this.$te('message.snackbar.markAsDraft.error') ? this.$t('message.snackbar.markAsDraft.error') : 'Failed to mark dataset as draft' },\n });\n\n this.$router.push({ name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } }).catch(() => { });\n },\n async handleDelete({ id, property, catalog }) {\n // todo: create user dataset api (and maybe integrate to store)\n // For now, do request manually using axios\n\n this.modal.loading = true;\n this.$Progress.start();\n try {\n let endpoint;\n\n if (property === 'datasets') {\n\n endpoint = `${this.$env.api.hubUrl}datasets/${id}?useNormalizedId=true&catalogue=${catalog}`;\n } else if (property === 'catalogues') {\n endpoint = `${this.$env.api.hubUrl}catalogues/${id}`\n }\n\n await axios.delete(endpoint, {\n\n headers: {\n 'Content-Type': 'text/turtle',\n Authorization: `Bearer ${this.getUserData.rtpToken}`,\n },\n });\n\n let successMessage;\n if (property === 'datasets') {\n successMessage = this.$te('message.snackbar.deleteDataset.success') ? this.$t('message.snackbar.deleteDataset.success') : 'Dataset successfully deleted';\n } else if (property === 'catalogues') {\n successMessage = this.$te('message.snackbar.deleteCatalog.success') ? this.$t('message.snackbar.deleteCatalog.success') : 'Catalog successfully deleted';\n }\n\n\n this.showSnackbar({\n message: successMessage,\n variant: 'success',\n });\n this.$Progress.finish();\n\n // Redirect to Home\n this.$router.push({ name: 'Datasets', query: { locale: this.$route.query.locale, refresh: true } }).catch(() => { });\n } catch (ex) {\n this.$Progress.fail();\n\n let errorMessage;\n\n if (property === 'datasets') {\n errorMessage = this.$te('message.snackbar.deleteDataset.error') ? this.$t('message.snackbar.deleteDataset.error') : 'Failed to delete dataset';\n } else if (property === 'catalogues') {\n errorMessage = this.$te('message.snackbar.deleteCatalog.error') ? this.$t('message.snackbar.deleteCatalog.error') : 'Failed to delete catalog';\n }\n\n this.showSnackbar({\n message: `${errorMessage}${ex.response?.data ? ` — ${ex.response?.data}` : ex.message}`,\n variant: 'error',\n });\n } finally {\n this.modal.loading = false;\n $('#modal').modal('hide');\n }\n },\n },\n created() {\n this.setupKeycloakWatcher();\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n#wrapper {\n background: linear-gradient(90deg, #082b7a, #0e47cb);\n width: 100%;\n position: sticky;\n bottom: 0;\n z-index: 999;\n}\n\nnav {\n max-width: 1400px;\n display: flex;\n flex-direction: row;\n margin: 0 auto;\n justify-content: space-between;\n font-size: 1rem;\n align-items: center;\n}\n\nul {\n float: right;\n\n li {\n display: inline;\n\n a {\n color: white;\n }\n }\n}\n\nbutton a {\n color: white;\n}\n\n.logout {\n display: block;\n margin: 0 auto;\n border: 1px solid white;\n padding: 0.1rem 1.5rem;\n}\n\n.logoutWrap {\n width: 13rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n</style>\n"],"names":["_sfc_main","Dropup","x","y","useWindowScroll","mapGetters","$","isOnDatasetDetailsPage","datasetId","permissions","catalogId","permission","onCatalogPage","mapActions","newToken","rtpToken","rtpTokenFn","newRtpToken","action","argsObj","successMessage","errorMessage","resolve","ex","maybeErrorStatusMsg","customErrorMessage","errorMsg","id","catalog","type","title","description","property","endpoint","axios","_a","_b","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_7","_createElementVNode","_openBlock","_createElementBlock","_hoisted_1","$data","_hoisted_2","_toDisplayString","_ctx","_createTextVNode","_Fragment","_renderList","$options","group","index","_createBlock","_component_dropup","menuItem","$setup","_resolveDynamicComponent","_normalizeClass","_withCtx","_hoisted_6","_renderSlot","_hoisted_8","_hoisted_9","_createVNode","_component_router_link","_createCommentVNode","_component_app_confirmation_dialog"],"mappings":"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"}
1
+ {"version":3,"file":"DPIMenu.vue.mjs","sources":["../../lib/data-provider-interface/DPIMenu.vue"],"sourcesContent":["<template>\n <div id=\"wrapper\" data-cy=\"dpi-menu\">\n <nav v-if=\"visible\">\n <div>\n <h4 class=\"text-white\">{{ $t('message.dataupload.menu.dpi') }}</h4>\n </div>\n\n <div style=\"margin-top:1%;\">\n <dropup v-for=\"(group, index) in menuGroups\" :key=\"`Group${index}`\" :groupName=\"group.group\"\n :groupItems=\"group.items\" :show=\"$env.content.dataProviderInterface.buttons[group.group]\"\n :isOperator=\"getUserData.roles.includes('operator')\" :isCatalog=\"group.group === 'Catalogue' ? true : false\">\n </dropup>\n <ul>\n <div class=\"btn-group dropup\">\n <li v-for=\"(menuItem, index) in menuItems\" :key=\"`Menu${index}`\">\n <button type=\"button\" class=\"btn btn-default\" @click=\"scrollToTop()\">\n <!-- Menu items are either buttons or router-link -->\n <!-- depending if they have a 'to' or 'handler' property -->\n <component :is=\"menuItem.handler ? 'button' : 'router-link'\" :class=\"{ 'disabled': menuItem.disabled }\"\n :to=\"menuItem.to\" @click.native=\"menuItem.handler ? menuItem.handler() : null\">\n {{ menuItem.handler }}\n {{ menuItem.name }}\n </component>\n </button>\n </li>\n </div>\n </ul>\n </div>\n\n\n <div v-if=\"getUserData.userName\" class=\"logoutWrap\">\n <slot name=\"right\" :get-user-data=\"getUserData\">\n <small class=\"text-white\">{{ $t('message.dataupload.menu.loggedInAs') }} {{ getUserData.userName\n }}</small><br>\n <button type=\"button\" class=\"btn btn-default logout\">\n <router-link :to=\"{ name: 'Logout' }\">{{ $t('message.dataupload.menu.logout') }}</router-link>\n </button>\n </slot>\n </div>\n </nav>\n\n <app-confirmation-dialog id=\"DPIMenuModal\" :loading=\"modal.loading\" :confirm=\"modal.confirm\"\n @confirm=\"modal.confirmHandler\">\n {{ modal.message }}\n </app-confirmation-dialog>\n </div>\n</template>\n\n<script>\nimport axios from 'axios';\nimport $ from 'jquery';\nimport { has, isEmpty } from 'lodash-es';\nimport { mapGetters, mapActions } from 'vuex';\nimport Dropup from './components/Dropup';\nimport { useWindowScroll } from '@vueuse/core'\n\nexport default {\n name: 'DPI-menu',\n components: {\n Dropup\n },\n props: {},\n data() {\n return {\n visible: true,\n modal: {\n show: false,\n loading: false,\n error: null,\n message: '',\n confirm: '',\n confirmHandler: () => null,\n },\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('datasetDetails', [\n 'getCatalog',\n 'getID',\n 'getLoading',\n 'getTitle',\n 'getDescription',\n ]),\n ...mapGetters('auth', [\n 'getUserData',\n ]),\n menuGroups() {\n return [\n {\n group: 'Dataset',\n items: [\n {\n key: 'create-dataset',\n name: this.$t('message.dataupload.createDataset'),\n to: {\n name: 'DataProviderInterface-Input',\n query: { locale: this.$route.query.locale, edit: false }, // if edit is false -> reset is triggered\n params: { property: 'datasets' },\n },\n },\n {\n name: this.$t('message.dataupload.menu.deleteDataset'),\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.datasetDeletion.message'),\n confirm: this.$t('message.dataupload.menu.datasetDeletion.confirm'),\n confirmHandler: () => this.handleDelete({ id: this.getID, property: 'datasets', catalog: this.getCatalog.id }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n {\n key: 'edit-dataset',\n name: this.$t('message.dataupload.menu.editDataset'),\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n to: {\n name: 'DataProviderInterface-Edit',\n params: {\n catalog: this.getCatalog.id || 'undefined',\n property: 'datasets',\n id: this.getID || 'undefined',\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n },\n },\n },\n \n {\n key: 'draft-dataset',\n name: this.$t('message.dataupload.menu.setToDraft'),\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.markAsDraft.message'),\n confirm: this.$t('message.dataupload.menu.markAsDraft.confirm'),\n confirmHandler: () => this.handleMarkAsDraft({\n id: this.getID, catalog: this.getCatalog.id, title: this.getTitle, description: this.getDescription,\n }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n {\n key: 'register-dataset',\n name: this.$t('message.dataupload.menu.registerDoi'),\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.registerADoi.message'),\n confirm: this.$t('message.dataupload.menu.registerADoi.confirm'),\n confirmHandler: () => this.handleRegisterDoi({ id: this.getID, catalog: this.getCatalog.id, type: this.$env.content.dataProviderInterface.doiRegistrationService.persistentIdentifierType || 'mock' }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n ],\n },\n {\n group: 'Catalogue',\n items: [\n {\n name: 'Create Catalogue',\n to: {\n name: 'DataProviderInterface-Input',\n query: { locale: this.$route.query.locale, edit: false },\n params: { property: 'catalogues' }\n },\n },\n {\n name: 'Delete Catalogue',\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: 'Are you sure you want to delete this catalogue? This can not be reverted!',\n confirm: 'Delete catlogue (irreversible)',\n confirmHandler: () => this.handleDelete({ id: this.$route.params.ctlg_id, property: 'catalogues', catalog: this.$route.params.ctlg_id }),\n },\n };\n $('#modal').modal({ show: true });\n }\n },\n {\n name: 'Edit Catalog',\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n to: {\n name: 'DataProviderInterface-Edit',\n params: {\n catalog: this.$route.params.ctlg_id ? this.$route.params.ctlg_id : 'undefined',\n property: 'catalogues',\n id: this.getID || 'undefined',\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n }\n }\n },\n ],\n },\n ];\n },\n menuItems() {\n return [\n {\n name: this.$t('message.dataupload.menu.draftDatasets'),\n to: { name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } },\n },\n {\n name: 'My Catalogues',\n to: { name: 'DataProviderInterface-UserCatalogues', query: { locale: this.$route.query.locale } },\n },\n {\n name: 'User profile',\n to: { name: 'DataProviderInterface-UserProfile', query: { locale: this.$route.query.locale } },\n },\n ];\n },\n isLocatedOnAuthorizedDatasetPage() {\n // Never return true while loading\n if (this.getLoading) return false;\n\n // Is the user located on the correct page?\n const isOnDatasetDetailsPage = this.$route.name === 'DatasetDetailsDataset';\n if (!isOnDatasetDetailsPage) return false;\n const datasetId = isOnDatasetDetailsPage && this.$route.params.ds_id;\n\n // Does user have permission on dataset (based on current datasetDetails state)?\n const permissions = this.getUserData && this.getUserData.permissions;\n const catalogId = this.getCatalog && this.getCatalog.id;\n const hasPermission = permissions.find(permission => permission.rsname === catalogId);\n\n // Does the user have permission on the current dataset details page?\n return hasPermission\n && isOnDatasetDetailsPage\n && datasetId === this.getID;\n },\n isLocatedOnAuthorizedCatalogPage() {\n // never return true while loading\n if (this.getLoading) return false;\n\n // is the user located on the correct page?\n const onCatalogPage = this.$route.name === 'CatalogueDetails';\n if (!onCatalogPage) return false;\n const catalogId = onCatalogPage && this.$route.params.ctlg_id;\n\n const permissions = this.getUserData && this.getUserData.permissions;\n const hasPermission = permissions.find(permission => permission.rsname === catalogId);\n\n // does user have permission on current catalogue\n return hasPermission && onCatalogPage;\n }\n },\n methods: {\n ...mapActions('auth', [\n 'updateUserData',\n ]),\n ...mapActions('snackbar', [\n 'showSnackbar',\n ]),\n setupKeycloakWatcher() {\n if (this.$keycloak && this.$keycloak.authenticated) {\n // Set up watcher here since we this.$keycloak might not be available.\n // If this.$keycloak is ensured, move this watcher out of this created hook.\n this.$watch('$keycloak.token', async (newToken) => {\n if (!newToken) return;\n\n let rtpToken = this.$keycloak.rtpToken;\n if (!rtpToken) {\n const rtpTokenFn = this.$keycloak.getRtpToken;\n if (rtpTokenFn) {\n const res = (await rtpTokenFn({ autoRefresh: true }));\n rtpToken = res;\n }\n }\n\n this.updateUserData({\n authToken: newToken,\n rtpToken: rtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n }, { immediate: true });\n\n this.$watch('$keycloak.rtpToken', (newRtpToken) => {\n if (!newRtpToken) return;\n\n this.updateUserData({\n authToken: this.$keycloak.token,\n rtpToken: newRtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n });\n }\n },\n async handleConfirm(action, argsObj, { successMessage, errorMessage }) {\n this.modal.loading = true;\n try {\n // Sleep for 250ms for better UX\n this.$Progress.start();\n await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.set(25);\n await this.$store.dispatch(action, argsObj);\n\n // Successful DOI registration\n this.showSnackbar({\n message: successMessage,\n variant: 'success',\n });\n await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.finish();\n } catch (ex) {\n this.$Progress.fail();\n // eslint-disable-next-line no-console\n console.error(ex);\n\n const maybeErrorStatusMsg = ex.response && ex.response.data && ex.response.data.message;\n\n this.modal = {\n ...this.modal,\n ...{\n // Need to translate this\n message: 'DOI registration is not possible, the following error occured: ' + ex.response.data,\n confirm: 'Okay',\n confirmHandler: () => $('#modal').modal('hide'),\n },\n };\n\n\n console.log(ex.response.data);\n let customErrorMessage = typeof errorMessage === 'string' && errorMessage;\n customErrorMessage = typeof errorMessage === 'function' && errorMessage(ex);\n // customErrorMessage = typeof errorMessage === 'object' && errorMessage.prefix && `${errorMessage.prefix}${maybeErrorStatusMsg && ` — ${maybeErrorStatusMsg}`}`;\n customErrorMessage = typeof errorMessage === 'object' && errorMessage.prefix + \" - \" + ex.response.data;\n\n console.log(errorMessage);\n const errorMsg = customErrorMessage || maybeErrorStatusMsg || ex.message || 'An error occurred';\n // show snackbar\n this.showSnackbar({\n message: errorMsg,\n variant: 'error',\n });\n } finally {\n this.modal.loading = false;\n $('#modal').modal('hide');\n }\n },\n async handleRegisterDoi({ id, catalog, type = 'eu-ra-doi' }) {\n await this.handleConfirm(\n 'auth/createPersistentIdentifier',\n { id, catalog, type },\n {\n successMessage: this.$te('message.snackbar.doiRegistration.success') ? this.$t('message.snackbar.doiRegistration.success') : 'Successfully registered DOI',\n errorMessage: { prefix: this.$te('message.snackbar.doiRegistration.error') ? this.$t('message.snackbar.doiRegistration.error') : 'DOI registration failed' },\n\n },\n );\n },\n async handleMarkAsDraft({\n id, catalog, title, description,\n }) {\n await this.handleConfirm('auth/putDatasetToDraft', {\n id, catalog, title, description,\n }, {\n successMessage: this.$te('message.snackbar.markAsDraft.success') ? this.$t('message.snackbar.markAsDraft.success') : 'Dataset successfully marked as draft',\n errorMessage: { prefix: this.$te('message.snackbar.markAsDraft.error') ? this.$t('message.snackbar.markAsDraft.error') : 'Failed to mark dataset as draft' },\n });\n\n this.$router.push({ name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } }).catch(() => { });\n },\n async handleDelete({ id, property, catalog }) {\n // todo: create user dataset api (and maybe integrate to store)\n // For now, do request manually using axios\n\n this.modal.loading = true;\n this.$Progress.start();\n try {\n let endpoint;\n\n if (property === 'datasets') {\n\n endpoint = `${this.$env.api.hubUrl}datasets/${id}?useNormalizedId=true&catalogue=${catalog}`;\n } else if (property === 'catalogues') {\n endpoint = `${this.$env.api.hubUrl}catalogues/${id}`\n }\n\n await axios.delete(endpoint, {\n\n headers: {\n 'Content-Type': 'text/turtle',\n Authorization: `Bearer ${this.getUserData.rtpToken}`,\n },\n });\n\n let successMessage;\n if (property === 'datasets') {\n successMessage = this.$te('message.snackbar.deleteDataset.success') ? this.$t('message.snackbar.deleteDataset.success') : 'Dataset successfully deleted';\n } else if (property === 'catalogues') {\n successMessage = this.$te('message.snackbar.deleteCatalog.success') ? this.$t('message.snackbar.deleteCatalog.success') : 'Catalog successfully deleted';\n }\n\n\n this.showSnackbar({\n message: successMessage,\n variant: 'success',\n });\n this.$Progress.finish();\n\n // Redirect to Home\n this.$router.push({ name: 'Datasets', query: { locale: this.$route.query.locale, refresh: true } }).catch(() => { });\n } catch (ex) {\n this.$Progress.fail();\n\n let errorMessage;\n\n if (property === 'datasets') {\n errorMessage = this.$te('message.snackbar.deleteDataset.error') ? this.$t('message.snackbar.deleteDataset.error') : 'Failed to delete dataset';\n } else if (property === 'catalogues') {\n errorMessage = this.$te('message.snackbar.deleteCatalog.error') ? this.$t('message.snackbar.deleteCatalog.error') : 'Failed to delete catalog';\n }\n\n this.showSnackbar({\n message: `${errorMessage}${ex.response?.data ? ` — ${ex.response?.data}` : ex.message}`,\n variant: 'error',\n });\n } finally {\n this.modal.loading = false;\n $('#modal').modal('hide');\n }\n },\n },\n created() {\n this.setupKeycloakWatcher();\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n#wrapper {\n background: linear-gradient(90deg, #082b7a, #0e47cb);\n width: 100%;\n position: sticky;\n bottom: 0;\n z-index: 999;\n}\n\nnav {\n max-width: 1400px;\n display: flex;\n flex-direction: row;\n margin: 0 auto;\n justify-content: space-between;\n font-size: 1rem;\n align-items: center;\n}\n\nul {\n float: right;\n\n li {\n display: inline;\n\n a {\n color: white;\n }\n }\n}\n\nbutton a {\n color: white;\n}\n\n.logout {\n display: block;\n margin: 0 auto;\n border: 1px solid white;\n padding: 0.1rem 1.5rem;\n}\n\n.logoutWrap {\n width: 13rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n</style>\n"],"names":["_sfc_main","Dropup","x","y","useWindowScroll","mapGetters","$","isOnDatasetDetailsPage","datasetId","permissions","catalogId","permission","onCatalogPage","mapActions","newToken","rtpToken","rtpTokenFn","newRtpToken","action","argsObj","successMessage","errorMessage","resolve","ex","maybeErrorStatusMsg","customErrorMessage","errorMsg","id","catalog","type","title","description","property","endpoint","axios","_a","_b","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_7","_createElementVNode","_openBlock","_createElementBlock","_hoisted_1","$data","_hoisted_2","_toDisplayString","_ctx","_createTextVNode","_Fragment","_renderList","$options","group","index","_createBlock","_component_dropup","menuItem","$setup","_resolveDynamicComponent","_normalizeClass","_withCtx","_hoisted_6","_renderSlot","_hoisted_8","_hoisted_9","_createVNode","_component_router_link","_createCommentVNode","_component_app_confirmation_dialog"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import D from "jquery";
2
2
  import { isNil as E } from "lodash-es";
3
- import { mapGetters as C, mapActions as k } from "vuex";
3
+ import { mapGetters as I, mapActions as k } from "vuex";
4
4
  import { useWindowScroll as S } from "../../external/@vueuse/core/index";
5
5
  import w from "axios";
6
- import { getCurrentInstance as _, resolveComponent as I, openBlock as o, createElementBlock as g, createElementVNode as v, createBlock as p, createCommentVNode as n, createTextVNode as r, createVNode as $, withCtx as f, toDisplayString as y } from "vue";
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";
7
7
  import "./Navigation.vue2.mjs";
8
8
  import T from "../../_virtual/_plugin-vue_export-helper.mjs";
9
9
  const N = {
@@ -51,12 +51,12 @@ const N = {
51
51
  };
52
52
  },
53
53
  computed: {
54
- ...C("auth", [
54
+ ...I("auth", [
55
55
  "getIsEditMode",
56
56
  "getIsDraft",
57
57
  "getUserData"
58
58
  ]),
59
- ...C("dpiStore", [
59
+ ...I("dpiStore", [
60
60
  "getData"
61
61
  ]),
62
62
  formErrorCount() {
@@ -94,17 +94,17 @@ const N = {
94
94
  },
95
95
  async submit(t) {
96
96
  this.uploading[t] = !0, this.$Progress.start();
97
- 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"], u = this.getData(this.property)["dcat:catalog"] ? this.getData(this.property)["dcat:catalog"] : "";
98
- let c, d, m = {
97
+ 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 = {
99
99
  id: e,
100
- catalog: u,
100
+ catalog: d,
101
101
  body: s,
102
102
  title: i,
103
103
  description: l
104
104
  };
105
- t === "dataset" ? !this.getIsEditMode || this.getIsEditMode && !this.getIsDraft ? (c = `${this.$env.api.hubUrl}datasets?id=${e}&catalogue=${u}`, m = { data: s, token: h, url: c }, d = "auth/createDataset") : (m = { id: e, catalog: u }, d = "auth/publishUserDraftById") : t === "draft" ? !this.getIsEditMode || this.getIsEditMode && this.getIsDraft ? (c = `${this.$env.api.hubUrl}drafts/datasets/${e}?catalogue=${u}`, d = "auth/createUserDraft") : (m = { id: e, catalog: u, title: i, description: l }, d = "auth/putDatasetToDraft") : t === "createcatalogue" && (c = `${this.$env.api.hubUrl}catalogues/${e}`, m = { data: s, token: h, url: c, id: e }, d = "auth/createCatalogue");
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");
106
106
  try {
107
- this.idunique(e) ? (await this.$store.dispatch(d, 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());
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());
108
108
  } catch {
109
109
  this.uploading[t] = !1, this.$Progress.fail(), this.showSnackbar({ message: "Network Error", variant: "error" });
110
110
  }
@@ -158,8 +158,8 @@ const N = {
158
158
  class: "loading-spinner"
159
159
  };
160
160
  function B(t, a, s, h, e, i) {
161
- const l = I("FormKit"), u = I("app-confirmation-dialog");
162
- return o(), g("div", null, [
161
+ const l = C("FormKit"), d = C("app-confirmation-dialog");
162
+ return o(), m("div", null, [
163
163
  v("div", U, [
164
164
  v("div", q, [
165
165
  s.previousStep ? (o(), p(l, {
@@ -186,7 +186,7 @@ function B(t, a, s, h, e, i) {
186
186
  class: "mr-2"
187
187
  }, {
188
188
  default: f(() => [
189
- e.uploading.createcatalogue ? (o(), g("span", P)) : n("", !0),
189
+ e.uploading.createcatalogue ? (o(), m("span", P)) : n("", !0),
190
190
  r(y(t.$t("message.dataupload.publishcatalogue")), 1)
191
191
  ]),
192
192
  _: 1
@@ -199,7 +199,7 @@ function B(t, a, s, h, e, i) {
199
199
  class: "mx-1 my-0"
200
200
  }, {
201
201
  default: f(() => [
202
- e.uploading.createcatalogue ? (o(), g("span", A)) : n("", !0),
202
+ e.uploading.createcatalogue ? (o(), m("span", A)) : n("", !0),
203
203
  r(y(t.$t("message.dataupload.publishcatalogue")), 1)
204
204
  ]),
205
205
  _: 1
@@ -213,7 +213,7 @@ function B(t, a, s, h, e, i) {
213
213
  class: "mx-1 my-0"
214
214
  }, {
215
215
  default: f(() => [
216
- e.uploading.dataset ? (o(), g("span", x)) : n("", !0),
216
+ e.uploading.dataset ? (o(), m("span", x)) : n("", !0),
217
217
  r(y(t.$t("message.dataupload.publishdataset")), 1)
218
218
  ]),
219
219
  _: 1
@@ -227,7 +227,7 @@ function B(t, a, s, h, e, i) {
227
227
  class: "mx-1 my-0"
228
228
  }, {
229
229
  default: f(() => [
230
- e.uploading.draft ? (o(), g("span", F)) : n("", !0),
230
+ e.uploading.draft ? (o(), m("span", F)) : n("", !0),
231
231
  r(y(t.$t("message.dataupload.saveasdraft")), 1)
232
232
  ]),
233
233
  _: 1
@@ -242,7 +242,7 @@ function B(t, a, s, h, e, i) {
242
242
  ])
243
243
  ]),
244
244
  r(),
245
- $(u, {
245
+ $(d, {
246
246
  id: "modal",
247
247
  confirm: e.modal.confirm,
248
248
  onConfirm: e.modal.callback
@@ -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)) {\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\">\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,51 +1,51 @@
1
- import { computed as b, ref as c, onMounted as j, openBlock as i, createElementBlock as u, createElementVNode as m, toDisplayString as p, createTextVNode as v, createBlock as C, unref as a, isRef as x, withDirectives as q, Fragment as _, renderList as L, createCommentVNode as B, vShow as F } from "vue";
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
2
  import { useStore as R } from "vuex";
3
3
  import { getNode as d } from "@formkit/core";
4
4
  import { onClickOutside as U } from "../../external/@vueuse/core/index";
5
5
  import A from "axios";
6
- import { useRuntimeEnv as D } from "../../composables/useRuntimeEnv.mjs";
7
- import { has as S, isNil as w } from "lodash-es";
8
- import { FormKit as N } from "@formkit/vue";
6
+ import { useRuntimeEnv as J } from "../../composables/useRuntimeEnv.mjs";
7
+ import { has as L, isNil as w } from "lodash-es";
8
+ import { FormKit as I } from "@formkit/vue";
9
9
  import "./SimpleSelect.vue2.mjs";
10
- const J = { class: "formkitProperty" }, K = { class: "position-relative formkitCmpWrap" }, T = ["onClick"], $ = ["onClick"], Z = {
10
+ const K = { class: "formkitProperty" }, T = { class: "position-relative formkitCmpWrap" }, $ = ["onClick"], M = ["onClick"], ee = {
11
11
  __name: "SimpleSelect",
12
12
  props: {
13
13
  context: Object
14
14
  },
15
- setup(V) {
16
- const s = V, f = b(() => g.getters["auth/getUserCatalogIds"]);
15
+ setup(N) {
16
+ const s = N, V = m(() => localStorage.getItem("dpi_duplicate")), g = m(() => h.getters["auth/getUserCatalogIds"]);
17
17
  let l = c();
18
- const g = R(), h = c(null), y = c();
19
- c(!0), y.value = b(() => g.getters["auth/getIsEditMode"]);
20
- let n = c([]), E = D(), o = c();
21
- o = d("dcat:catalog").value, U(h, (t) => l.value = !1);
22
- const k = async (t) => {
18
+ const h = R(), y = c(null), k = c();
19
+ c(!0), k.value = m(() => h.getters["auth/getIsEditMode"]);
20
+ let n = c([]), E = J(), o = c();
21
+ o = d("dcat:catalog").value, U(y, (t) => l.value = !1);
22
+ const b = async (t) => {
23
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);
24
24
  };
25
- let I = async () => {
25
+ let O = async () => {
26
26
  let t;
27
27
  await A.get(E.api.baseUrl + "search?filter=catalogue&limit=1000").then((e) => t = e).catch((e) => {
28
28
  reject(e);
29
29
  }), t.data.result.results.forEach((e) => {
30
- S(e, "title") && !w(e.title) && S(e, "id") && !w(e.id) && n.value.push({ title: Object.values(e.title)[0], id: e.id });
31
- }), n.value = await n.value.filter((e) => f.value.includes(e.id)).map((e) => ({ id: e.id, name: e.title }));
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
+ }), n.value = await n.value.filter((e) => g.value.includes(e.id)).map((e) => ({ id: e.id, name: e.title }));
32
32
  let r = JSON.parse(JSON.stringify(n.value));
33
33
  r.length === 1 && (o = r[0].id);
34
34
  };
35
- return j(async () => {
36
- I();
37
- }), (t, r) => (i(), u("div", J, [
38
- m("h4", null, p(s.context.label), 1),
39
- v(),
40
- m("div", K, [
41
- y.value.value ? (i(), C(a(N), {
35
+ return q(async () => {
36
+ O();
37
+ }), (t, r) => (i(), u("div", K, [
38
+ p("h4", null, v(s.context.label), 1),
39
+ f(),
40
+ p("div", T, [
41
+ k.value.value && !V.value ? (i(), C(a(I), {
42
42
  key: 0,
43
43
  class: "autocompleteInputfield",
44
44
  type: "text",
45
45
  readonly: "",
46
46
  placeholder: a(d)("dcat:catalog").value,
47
47
  name: s.context.node.name
48
- }, null, 8, ["placeholder", "name"])) : (i(), C(a(N), {
48
+ }, null, 8, ["placeholder", "name"])) : (i(), C(a(I), {
49
49
  key: 1,
50
50
  class: "autocompleteInputfield",
51
51
  modelValue: a(o),
@@ -61,23 +61,23 @@ const J = { class: "formkitProperty" }, K = { class: "position-relative formkitC
61
61
  },
62
62
  name: s.context.node.name
63
63
  }, null, 8, ["modelValue", "placeholder", "name"])),
64
- v(),
65
- q(m("ul", {
64
+ f(),
65
+ B(p("ul", {
66
66
  ref_key: "dropdownList",
67
- ref: h,
67
+ ref: y,
68
68
  class: "autocompleteResultList selectListFK catSelectList"
69
69
  }, [
70
- (i(!0), u(_, null, L(a(n), (e) => (i(), u("li", {
70
+ (i(!0), u(_, null, S(a(n), (e) => (i(), u("li", {
71
71
  key: e,
72
- onClick: (O) => k(e),
72
+ onClick: (j) => b(e),
73
73
  class: "p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC"
74
- }, p(e.name), 9, T))), 128)),
75
- v(),
76
- a(n).length === 0 ? (i(!0), u(_, { key: 0 }, L(f.value, (e) => (i(), u("li", {
74
+ }, v(e.name), 9, $))), 128)),
75
+ f(),
76
+ a(n).length === 0 ? (i(!0), u(_, { key: 0 }, S(g.value, (e) => (i(), u("li", {
77
77
  key: e,
78
- onClick: (O) => k(e),
78
+ onClick: (j) => b(e),
79
79
  class: "p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC"
80
- }, p(e), 9, $))), 128)) : B("", !0)
80
+ }, v(e), 9, M))), 128)) : D("", !0)
81
81
  ], 512), [
82
82
  [F, a(l)]
83
83
  ])
@@ -86,6 +86,6 @@ const J = { class: "formkitProperty" }, K = { class: "position-relative formkitC
86
86
  }
87
87
  };
88
88
  export {
89
- Z as default
89
+ ee as default
90
90
  };
91
91
  //# sourceMappingURL=SimpleSelect.vue.mjs.map