@piveau/piveau-hub-ui-modules 4.6.49 → 4.6.50

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 (233) hide show
  1. package/dist/PvBadge/PvBadge.vue.mjs.map +1 -1
  2. package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs +2 -1
  3. package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs.map +1 -1
  4. package/dist/PvDataInfoBox/PvDataInfoBoxDescription.vue.mjs.map +1 -1
  5. package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.mjs.map +1 -1
  6. package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.mjs.map +1 -1
  7. package/dist/catalogues/CatalogPage.vue.mjs.map +1 -1
  8. package/dist/catalogues/CatalogPageDatasetCard.vue.mjs +6 -5
  9. package/dist/catalogues/CatalogPageDatasetCard.vue.mjs.map +1 -1
  10. package/dist/catalogues/Catalogues.vue.mjs.map +1 -1
  11. package/dist/catalogues/cataloguesFacets/CataloguesFacets.vue.mjs.map +1 -1
  12. package/dist/citation/DatasetCitationModal.vue.mjs.map +1 -1
  13. package/dist/citation/DatasetCitationTable.vue.mjs.map +1 -1
  14. package/dist/composables/useRuntimeEnv.d.ts +2 -2
  15. package/dist/configurations/config-schema/apiSchema.mjs +1 -1
  16. package/dist/configurations/config-schema/authenticationSchema.mjs +1 -1
  17. package/dist/configurations/config-schema/configSchema.d.ts +5 -5
  18. package/dist/configurations/config-schema/configSchema.mjs +18 -18
  19. package/dist/configurations/config-schema/contentSchema.mjs +1 -1
  20. package/dist/configurations/config-schema/languagesSchema.d.ts +2 -2
  21. package/dist/configurations/config-schema/languagesSchema.mjs +1 -1
  22. package/dist/configurations/config-schema/metadataSchema.mjs +1 -1
  23. package/dist/configurations/config-schema/routingSchema.mjs +1 -1
  24. package/dist/configurations/config-schema/themesSchema.mjs +1 -1
  25. package/dist/configurations/config-schema/trackerSchema.mjs +1 -1
  26. package/dist/data-provider-interface/CatalogueMQA.vue.mjs.map +1 -1
  27. package/dist/data-provider-interface/DPIMenu.vue.d.ts +10 -10
  28. package/dist/data-provider-interface/DPIMenu.vue.mjs.map +1 -1
  29. package/dist/data-provider-interface/DataProviderInterface.vue.d.ts +15 -17
  30. package/dist/data-provider-interface/DataProviderInterface.vue.mjs.map +1 -1
  31. package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs.map +1 -1
  32. package/dist/data-provider-interface/components/ConditionalInput.vue.mjs.map +1 -1
  33. package/dist/data-provider-interface/components/DataFetchingComponent.vue.d.ts +2 -2
  34. package/dist/data-provider-interface/components/DistributionStepper.vue.mjs +2 -1
  35. package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
  36. package/dist/data-provider-interface/components/Dropup.vue.d.ts +1 -1
  37. package/dist/data-provider-interface/components/Dropup.vue.mjs.map +1 -1
  38. package/dist/data-provider-interface/components/FileUpload.vue.d.ts +1 -1
  39. package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
  40. package/dist/data-provider-interface/components/InfoSlot.vue.mjs.map +1 -1
  41. package/dist/data-provider-interface/components/InputPageStep.vue.mjs.map +1 -1
  42. package/dist/data-provider-interface/components/LanguageSelector.vue.mjs.map +1 -1
  43. package/dist/data-provider-interface/components/Navigation.vue.d.ts +8 -8
  44. package/dist/data-provider-interface/components/Navigation.vue.mjs.map +1 -1
  45. package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs +2 -1
  46. package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs.map +1 -1
  47. package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.mjs.map +1 -1
  48. package/dist/data-provider-interface/components/SimpleInput.vue.mjs.map +1 -1
  49. package/dist/data-provider-interface/components/SimpleSelect.vue.mjs.map +1 -1
  50. package/dist/data-provider-interface/components/SpatialInput.vue.mjs.map +1 -1
  51. package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs.map +1 -1
  52. package/dist/data-provider-interface/components/WidgetInput.vue.mjs.map +1 -1
  53. package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs.map +1 -1
  54. package/dist/data-provider-interface/views/DistributionOverview.vue.d.ts +2 -2
  55. package/dist/data-provider-interface/views/DistributionOverview.vue.mjs.map +1 -1
  56. package/dist/data-provider-interface/views/DraftsPage.vue.d.ts +5 -5
  57. package/dist/data-provider-interface/views/DraftsPage.vue.mjs +19 -14
  58. package/dist/data-provider-interface/views/DraftsPage.vue.mjs.map +1 -1
  59. package/dist/data-provider-interface/views/InputPage.vue.d.ts +12 -14
  60. package/dist/data-provider-interface/views/InputPage.vue.mjs +4 -2
  61. package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
  62. package/dist/data-provider-interface/views/LinkedDataViewer.vue.mjs.map +1 -1
  63. package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.mjs.map +1 -1
  64. package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs.map +1 -1
  65. package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs.map +1 -1
  66. package/dist/data-provider-interface/views/OverviewPage/Properties/MultilingualProp.vue.mjs.map +1 -1
  67. package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs.map +1 -1
  68. package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.mjs.map +1 -1
  69. package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.mjs.map +1 -1
  70. package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.mjs.map +1 -1
  71. package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.mjs.map +1 -1
  72. package/dist/data-provider-interface/views/OverviewPage.vue.d.ts +3 -5
  73. package/dist/data-provider-interface/views/OverviewPage.vue.mjs.map +1 -1
  74. package/dist/data-provider-interface/views/PropertyChooser.vue.mjs.map +1 -1
  75. package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
  76. package/dist/data-provider-interface/views/UserProfilePage.vue.mjs.map +1 -1
  77. package/dist/datasetDetails/AppMarkdownContent.vue.mjs.map +1 -1
  78. package/dist/datasetDetails/DatasetDetails.vue.mjs.map +1 -1
  79. package/dist/datasetDetails/DatasetDetailsActivityStream.vue.mjs.map +1 -1
  80. package/dist/datasetDetails/DatasetDetailsBanners.vue.d.ts +1 -3
  81. package/dist/datasetDetails/DatasetDetailsBanners.vue.mjs.map +1 -1
  82. package/dist/datasetDetails/DatasetDetailsCSVLinter.vue.mjs.map +1 -1
  83. package/dist/datasetDetails/DatasetDetailsCategories.vue.mjs.map +1 -1
  84. package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs +3 -2
  85. package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs.map +1 -1
  86. package/dist/datasetDetails/DatasetDetailsDataset.vue2.mjs +61 -50
  87. package/dist/datasetDetails/DatasetDetailsDataset.vue2.mjs.map +1 -1
  88. package/dist/datasetDetails/DatasetDetailsDescription.vue.d.ts +1 -3
  89. package/dist/datasetDetails/DatasetDetailsDescription.vue.mjs.map +1 -1
  90. package/dist/datasetDetails/DatasetDetailsFeedbackButton.vue.mjs.map +1 -1
  91. package/dist/datasetDetails/DatasetDetailsLinkedMetricsButton.vue.mjs.map +1 -1
  92. package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs.map +1 -1
  93. package/dist/datasetDetails/DatasetDetailsShareButton.vue.mjs.map +1 -1
  94. package/dist/datasetDetails/DatasetDetailsSimilarDatasets.vue.mjs.map +1 -1
  95. package/dist/datasetDetails/DatasetDetailsSkeleton.vue.mjs.map +1 -1
  96. package/dist/datasetDetails/distributions/Distribution.vue.mjs.map +1 -1
  97. package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs.map +1 -1
  98. package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs.map +1 -1
  99. package/dist/datasetDetails/distributions/DistributionFormat.vue.d.ts +2 -2
  100. package/dist/datasetDetails/distributions/DistributionFormat.vue.mjs.map +1 -1
  101. package/dist/datasetDetails/distributions/Distributions.vue.mjs.map +1 -1
  102. package/dist/datasetDetails/distributions/DistributionsHeader.vue.d.ts +4 -4
  103. package/dist/datasetDetails/distributions/DistributionsHeader.vue.mjs.map +1 -1
  104. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.d.ts +8 -8
  105. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs +2 -1
  106. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs.map +1 -1
  107. package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs +7 -5
  108. package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs.map +1 -1
  109. package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs +6 -5
  110. package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs.map +1 -1
  111. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.d.ts +2 -2
  112. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs +15 -12
  113. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs.map +1 -1
  114. package/dist/datasetDetails/distributions/distributionActions/DistributionDownloadAs.vue.mjs.map +1 -1
  115. package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.d.ts +2 -2
  116. package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.mjs.map +1 -1
  117. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.d.ts +4 -4
  118. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs +6 -5
  119. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs.map +1 -1
  120. package/dist/datasetDetails/distributions/distributionActions/DistributionPreview.vue.d.ts +4 -4
  121. package/dist/datasetDetails/distributions/distributionActions/DistributionPreview.vue.mjs.map +1 -1
  122. package/dist/datasetDetails/distributions/distributionActions/DistributionVisualizeButton.vue.d.ts +4 -4
  123. package/dist/datasetDetails/distributions/distributionActions/DistributionVisualizeButton.vue.mjs.map +1 -1
  124. package/dist/datasetDetails/distributions/distributionActions/LinkedDataButtonsDropdown.vue.mjs.map +1 -1
  125. package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs +22 -21
  126. package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs.map +1 -1
  127. package/dist/datasetDetails/distributions/distributionDetails/DistributionDescription.vue.d.ts +6 -6
  128. package/dist/datasetDetails/distributions/distributionDetails/DistributionDescription.vue.mjs.map +1 -1
  129. package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.d.ts +16 -16
  130. package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.mjs.map +1 -1
  131. package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.d.ts +2 -2
  132. package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.mjs.map +1 -1
  133. package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.d.ts +1 -1
  134. package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.mjs.map +1 -1
  135. package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs.map +1 -1
  136. package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.mjs.map +1 -1
  137. package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.d.ts +2 -2
  138. package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.mjs.map +1 -1
  139. package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.d.ts +1 -1
  140. package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.mjs.map +1 -1
  141. package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.mjs.map +1 -1
  142. package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.d.ts +1 -1
  143. package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.mjs.map +1 -1
  144. package/dist/datasetDetails/features/DatasetDetailsMap.vue.mjs.map +1 -1
  145. package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs.map +1 -1
  146. package/dist/datasetDetails/features/DatasetDetailsRelations.vue.mjs.map +1 -1
  147. package/dist/datasetDetails/features/DatasetDetailsSubject.vue.d.ts +1 -1
  148. package/dist/datasetDetails/features/DatasetDetailsSubject.vue.mjs.map +1 -1
  149. package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.mjs.map +1 -1
  150. package/dist/datasetDetails/header/DatasetDetailsHeader.vue.mjs.map +1 -1
  151. package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.d.ts +2 -2
  152. package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.mjs.map +1 -1
  153. package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.d.ts +2 -2
  154. package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.mjs.map +1 -1
  155. package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.mjs.map +1 -1
  156. package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.d.ts +2 -2
  157. package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.mjs.map +1 -1
  158. package/dist/datasetDetails/navigation/DatasetDetailsNavigationPage.vue.mjs.map +1 -1
  159. package/dist/datasetDetails/navigation/DatasetDetailsNavigationPages.vue.d.ts +7 -1
  160. package/dist/datasetDetails/navigation/DatasetDetailsNavigationPages.vue.mjs.map +1 -1
  161. package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.d.ts +200 -1
  162. package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.mjs.map +1 -1
  163. package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs.map +1 -1
  164. package/dist/datasetDetails/properties/ValuesList.vue.mjs.map +1 -1
  165. package/dist/datasets/DatasetDate.vue.mjs.map +1 -1
  166. package/dist/datasets/DatasetList.vue.mjs.map +1 -1
  167. package/dist/datasets/Datasets.vue.mjs.map +1 -1
  168. package/dist/datasets/DatasetsFilters.vue.d.ts +1 -1
  169. package/dist/datasets/DatasetsFilters.vue.mjs.map +1 -1
  170. package/dist/datasets/DatasetsFiltersTabs.vue.d.ts +2 -2
  171. package/dist/datasets/DatasetsFiltersTabs.vue.mjs.map +1 -1
  172. package/dist/datasets/DatasetsTopControls.vue.d.ts +5 -5
  173. package/dist/datasets/DatasetsTopControls.vue.mjs +8 -6
  174. package/dist/datasets/DatasetsTopControls.vue.mjs.map +1 -1
  175. package/dist/datasets/datasetsFacets/DatasetsFacets.vue.mjs.map +1 -1
  176. package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.mjs.map +1 -1
  177. package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.mjs.map +1 -1
  178. package/dist/embed/DatasetEmbedModal.vue.mjs.map +1 -1
  179. package/dist/embed/EmbedDataset.vue.mjs.map +1 -1
  180. package/dist/embed/EmbedDatasetSnippet.vue.mjs.map +1 -1
  181. package/dist/external/zod/dist/esm/v3/ZodError +84 -0
  182. package/dist/external/zod/dist/esm/v3/ZodError.map +1 -0
  183. package/dist/external/zod/dist/esm/v3/errors +10 -0
  184. package/dist/external/zod/dist/esm/v3/errors.map +1 -0
  185. package/dist/external/zod/dist/esm/v3/helpers/errorUtil +8 -0
  186. package/dist/external/zod/dist/esm/v3/helpers/errorUtil.map +1 -0
  187. package/dist/external/zod/dist/esm/v3/helpers/parseUtil +98 -0
  188. package/dist/external/zod/dist/esm/v3/helpers/parseUtil.map +1 -0
  189. package/dist/external/zod/dist/esm/v3/helpers/util +95 -0
  190. package/dist/external/zod/dist/esm/v3/helpers/util.map +1 -0
  191. package/dist/external/zod/dist/esm/v3/locales/en +62 -0
  192. package/dist/external/zod/dist/esm/v3/locales/en.map +1 -0
  193. package/dist/external/zod/dist/esm/v3/types +2440 -0
  194. package/dist/external/zod/dist/esm/v3/types.map +1 -0
  195. package/dist/facets/CatalogDetailsFacet.vue.mjs.map +1 -1
  196. package/dist/facets/ExpandableSelectFacet.vue.mjs.map +1 -1
  197. package/dist/facets/Facet.vue.mjs.map +1 -1
  198. package/dist/facets/FacetTitle.vue.mjs.map +1 -1
  199. package/dist/facets/RadioFacet.vue.mjs.map +1 -1
  200. package/dist/facets/SelectedFacetsOverview.vue.d.ts +2 -2
  201. package/dist/facets/SelectedFacetsOverview.vue.mjs.map +1 -1
  202. package/dist/form/FormKitGroup.vue.mjs.map +1 -1
  203. package/dist/form/Repeatable.vue2.mjs +2 -1
  204. package/dist/form/Repeatable.vue2.mjs.map +1 -1
  205. package/dist/map/MapBasic.vue.mjs.map +1 -1
  206. package/dist/map/MapBoundsReceiver.vue.mjs.map +1 -1
  207. package/dist/map/MapBoundsSender.vue.mjs.map +1 -1
  208. package/dist/modal/AppConfirmationDialog.vue.mjs.map +1 -1
  209. package/dist/modal/AppSnackbar.vue.mjs.map +1 -1
  210. package/dist/modal/AppToast.vue.mjs.map +1 -1
  211. package/dist/navigation/SubNavigation.vue.mjs.map +1 -1
  212. package/dist/pages/NotFound.vue.mjs.map +1 -1
  213. package/dist/pages/SparqlSearch.vue.mjs.map +1 -1
  214. package/dist/pages/user/UserImprint.vue.mjs.map +1 -1
  215. package/dist/pages/user/UserPrivacyPolicy.vue.mjs.map +1 -1
  216. package/dist/piveau-hub-ui-modules.css +1 -1
  217. package/dist/search/Search.vue.mjs.map +1 -1
  218. package/dist/services/datasetService.d.ts +1 -1
  219. package/dist/widgets/AppLink.vue.mjs.map +1 -1
  220. package/dist/widgets/Dropdown.vue.mjs.map +1 -1
  221. package/dist/widgets/Pagination.vue.d.ts +1 -1
  222. package/dist/widgets/Pagination.vue.mjs.map +1 -1
  223. package/dist/widgets/PropertyValue.vue.mjs.map +1 -1
  224. package/dist/widgets/PvBanner.vue.mjs.map +1 -1
  225. package/dist/widgets/PvButton.vue.mjs.map +1 -1
  226. package/dist/widgets/PvShowMore.vue.mjs.map +1 -1
  227. package/dist/widgets/ResourceAccessPopup.vue.d.ts +1 -1
  228. package/dist/widgets/ResourceAccessPopup.vue.mjs.map +1 -1
  229. package/dist/widgets/ResourceDetailsLinkedDataButton.vue.mjs.map +1 -1
  230. package/dist/widgets/Tooltip.vue.mjs.map +1 -1
  231. package/package.json +1 -1
  232. package/dist/external/zod/lib/index +0 -2849
  233. package/dist/external/zod/lib/index.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SelectControlledGroup.vue.mjs","sources":["../../../lib/data-provider-interface/components/SelectControlledGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * `SelectControlledGroup` is a Vue component wrapping the FormKit group input. \n * It features a central select input that dictates the behavior of all child inputs within the group. \n * This setup allows for conditional display and interaction of child components based on the select input's value. \n * \n * Note that this is not a FormKit input itself, but rather a wrapper around the FormKit group input.\n */\n\nimport { reactive } from 'vue';\nimport { FormKit } from '@formkit/vue';\n\nconst props = defineProps<{\n name?: string;\n selectName: string;\n initialValue?: string;\n options: Record<string, string>;\n index?: number;\n id?: any;\n label?: string;\n placeholder?: string;\n info?: string;\n}>();\n\nconst data = reactive({\n groupValue: {},\n selectValue: props.initialValue ?? Object.keys(props.options)[0],\n});\n</script>\n\n<template>\n <div class=\"formkitProperty\">\n <h4>{{ props.label }}</h4>\n <div class=\"formkitCmpWrap d-flex\">\n <FormKit :id=\"props.id\" type=\"group\" :name=\"name\" :index=\"props.index\" v-model=\"data.groupValue\">\n <FormKit v-model=\"data.selectValue\" type=\"select\" :options=\"props.options\" :name=\"props.selectName\">\n <template #prefix>\n <!-- <div v-if=\"props.info\" class=\"infoI\">\n <div class=\"tooltipFormkit\">\n {{ props.info }}\n </div>\n </div> -->\n </template>\n </FormKit>\n <slot :select-value=\"data.selectValue\" />\n </FormKit>\n </div>\n\n </div>\n\n</template>"],"names":["props","__props","data","reactive"],"mappings":";;;;;;;;;;;;;;;;AAYA,UAAMA,IAAQC,GAYRC,IAAOC,EAAS;AAAA,MACpB,YAAY,CAAC;AAAA,MACb,aAAaH,EAAM,gBAAgB,OAAO,KAAKA,EAAM,OAAO,EAAE,CAAC;AAAA,IAAA,CAChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SelectControlledGroup.vue.mjs","sources":["../../../lib/data-provider-interface/components/SelectControlledGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * `SelectControlledGroup` is a Vue component wrapping the FormKit group input. \n * It features a central select input that dictates the behavior of all child inputs within the group. \n * This setup allows for conditional display and interaction of child components based on the select input's value. \n * \n * Note that this is not a FormKit input itself, but rather a wrapper around the FormKit group input.\n */\n\nimport { reactive } from 'vue';\nimport { FormKit } from '@formkit/vue';\n\nconst props = defineProps<{\n name?: string;\n selectName: string;\n initialValue?: string;\n options: Record<string, string>;\n index?: number;\n id?: any;\n label?: string;\n placeholder?: string;\n info?: string;\n}>();\n\nconst data = reactive({\n groupValue: {},\n selectValue: props.initialValue ?? Object.keys(props.options)[0],\n});\n</script>\n\n<template>\n <div class=\"formkitProperty\">\n <h4>{{ props.label }}</h4>\n <div class=\"formkitCmpWrap d-flex\">\n <FormKit :id=\"props.id\" type=\"group\" :name=\"name\" :index=\"props.index\" v-model=\"data.groupValue\">\n <FormKit v-model=\"data.selectValue\" type=\"select\" :options=\"props.options\" :name=\"props.selectName\">\n <template #prefix>\n <!-- <div v-if=\"props.info\" class=\"infoI\">\n <div class=\"tooltipFormkit\">\n {{ props.info }}\n </div>\n </div> -->\n </template>\n </FormKit>\n <slot :select-value=\"data.selectValue\" />\n </FormKit>\n </div>\n\n </div>\n\n</template>"],"names":["props","__props","data","reactive","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_toDisplayString","_hoisted_2","_createVNode","_unref","FormKit","name","_cache","$event","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;AAYA,UAAMA,IAAQC,GAYRC,IAAOC,EAAS;AAAA,MACpB,YAAY,CAAC;AAAA,MACb,aAAaH,EAAM,gBAAgB,OAAO,KAAKA,EAAM,OAAO,EAAE,CAAC;AAAA,IAAA,CAChE;sBAICI,EAAA,GAAAC,EAiBM,OAjBNC,GAiBM;AAAA,MAhBJC,EAA0B,MAAA,MAAAC,EAAnBR,EAAM,KAAK,GAAA,CAAA;AAAA;MAClBO,EAaM,OAbNE,GAaM;AAAA,QAZJC,EAWUC,EAAAC,CAAA,GAAA;AAAA,UAXA,IAAIZ,EAAM;AAAA,UAAI,MAAK;AAAA,UAAS,MAAMa,EAAI;AAAA,UAAG,OAAOb,EAAM;AAAA,UAAgB,YAAAE,EAAK;AAAA,UAAL,uBAAAY,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAb,EAAK,aAAUa;AAAA,QAAA;qBAC7F,MAQU;AAAA,YARVL,EAQUC,EAAAC,CAAA,GAAA;AAAA,cARQ,YAAAV,EAAK;AAAA,cAAL,uBAAAY,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAb,EAAK,cAAWa;AAAA,cAAE,MAAK;AAAA,cAAU,SAASf,EAAM;AAAA,cAAU,MAAMA,EAAM;AAAA,YAAA;cAC3E,UAAX,MAMWc,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAA,EAAA;AAAA;;;YAEbE,EAAyCC,EAAA,QAAA,WAAA;AAAA,cAAlC,aAAcf,EAAK;AAAA,YAAA;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleAccessURLInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/SimpleAccessURLInput.vue"],"sourcesContent":["<script setup>\n\nimport { FormKit } from '@formkit/vue';\n\nconst props = defineProps({\n context: Object\n})\n\nlet URLValue\n\nconst saveUrl = async () => {\n\n if (this.URLValue.includes('http://') || this.URLValue.includes('https://')) {\n await this.context.node.input({ '@id': this.URLValue})\n }\n else await this.context.node.input({ '@id': 'https://' + this.URLValue })\n\n}\n</script>\n<template>\n <div class=\"formkitProperty w-100\">\n <FormKit id=\"aUrlLink\" v-model=\"URLValue\" class=\"selectInputField formkit-inner\" type=\"url\" name=\"@id\"\n :help=\"props.context.help\" :placeholder=\"props.context.attrs.placeholder\"\n :validation=\"props.context.attrs.validationType\" @input=\"saveUrl\" />\n </div>\n</template>\n<style></style>"],"names":["props","__props","URLValue","saveUrl"],"mappings":";;;;;;;;AAIA,UAAMA,IAAQC;QAIVC;UAEEC,IAAU,YAAY;AAExB,MAAI,KAAK,SAAS,SAAS,SAAS,KAAK,KAAK,SAAS,SAAS,UAAU,IACtE,MAAM,KAAK,QAAQ,KAAK,MAAM,EAAE,OAAO,KAAK,SAAQ,CAAC,IAEpD,MAAM,KAAK,QAAQ,KAAK,MAAM,EAAE,OAAO,aAAa,KAAK,UAAU;AAAA,IAE5E;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"SimpleAccessURLInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/SimpleAccessURLInput.vue"],"sourcesContent":["<script setup>\n\nimport { FormKit } from '@formkit/vue';\n\nconst props = defineProps({\n context: Object\n})\n\nlet URLValue\n\nconst saveUrl = async () => {\n\n if (this.URLValue.includes('http://') || this.URLValue.includes('https://')) {\n await this.context.node.input({ '@id': this.URLValue})\n }\n else await this.context.node.input({ '@id': 'https://' + this.URLValue })\n\n}\n</script>\n<template>\n <div class=\"formkitProperty w-100\">\n <FormKit id=\"aUrlLink\" v-model=\"URLValue\" class=\"selectInputField formkit-inner\" type=\"url\" name=\"@id\"\n :help=\"props.context.help\" :placeholder=\"props.context.attrs.placeholder\"\n :validation=\"props.context.attrs.validationType\" @input=\"saveUrl\" />\n </div>\n</template>\n<style></style>"],"names":["props","__props","URLValue","saveUrl","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_unref","FormKit","$event"],"mappings":";;;;;;;;AAIA,UAAMA,IAAQC;AAId,QAAIC;AAEJ,UAAMC,IAAU,YAAY;AAExB,MAAI,KAAK,SAAS,SAAS,SAAS,KAAK,KAAK,SAAS,SAAS,UAAU,IACtE,MAAM,KAAK,QAAQ,KAAK,MAAM,EAAE,OAAO,KAAK,SAAQ,CAAC,IAEpD,MAAM,KAAK,QAAQ,KAAK,MAAM,EAAE,OAAO,aAAa,KAAK,UAAU;AAAA,IAE5E;sBAGIC,EAAA,GAAAC,EAIM,OAJNC,GAIM;AAAA,MAHFC,EAEwEC,EAAAC,CAAA,GAAA;AAAA,QAF/D,IAAG;AAAA,oBAAoBD,EAAQN,CAAA;AAAA,6DAARA,EAAQ,QAAAQ,IAAAR,IAAAQ;AAAA,QAAE,OAAM;AAAA,QAAiC,MAAK;AAAA,QAAM,MAAK;AAAA,QAC5F,MAAMV,EAAM,QAAQ;AAAA,QAAO,aAAaA,EAAM,QAAQ,MAAM;AAAA,QAC5D,YAAYA,EAAM,QAAQ,MAAM;AAAA,QAAiB,SAAOG;AAAA;;;;"}
@@ -1 +1 @@
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;QAIVC,IAAQC,EAAS,MAAM;AACvB,UAAI;AACA,YAAIH,EAAM,QAAQ,MAAM,MAAM,SAAS,gBAAgB;AACnD,iBAAO;AAAA,MAEd,QAAe;AAAA,MAEhB;AAAA,IAGJ,CAAC;;;;;;;;;;;;;;;;;;;"}
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","_openBlock","_createElementBlock","_hoisted_1","_unref","$t","_createElementVNode","_hoisted_4","_createVNode","FormKit"],"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,MAEhB;AAAA,IAGJ,CAAC;sBAjCGI,EAAA,GAAAC,EAYM,OAZNC,GAYM;AAAA,MAVS,CAAAN,EAAM,QAAQ,MAAM,qBAAqBO,EAAKL,CAAA,KAAzDE,EAAA,GAAAC,EACsD,WADQG,EAAE,GAAA,iCAA8CR,EAAM,QAAQ,MAAM,aAAU,QAAA,CAAA,GAAA,CAAA;;MAElIO,EAAKL,CAAA,KAAfE,EAAA,GAAAC,EAE0D,WADnDG,EAAE,GAAA,sCAAuDR,EAAM,QAAQ,MAAM,aAAU,QAAA,CAAA,GAAA,CAAA;;MAE9FS,EAIM,OAJNC,GAIM;AAAA,QAHFC,EAEsGJ,EAAAK,CAAA,GAAA;AAAA,UAF7F,OAAM;AAAA,UAA0B,YAAYZ,EAAM,QAAQ,MAAM;AAAA,UACpE,MAAMA,EAAM,QAAQ,KAAK;AAAA,UAAO,MAAMA,EAAM,QAAQ;AAAA,UACpD,aAAaA,EAAM,QAAQ,MAAM;AAAA,UAAc,YAAYA,EAAM,QAAQ,MAAM;AAAA;;;;;"}
@@ -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\n <div v-if=\"isReady\">\n\n <!-- Hidden input that contains the actual catalog id. We rely on that to pass the catalog id to backend later -->\n <FormKit v-show=\"false\" v-model=\"selectedCatalogId\" :name=\"`${props.context.node.name}`\" :id=\"`${props.context.node.id || props.context.node.name}`\" type=\"text\" />\n\n <!-- User-facing input that displays the name of the selected catalog -->\n <FormKit\n class=\"autocompleteInputfield\"\n v-model=\"selectedCatalogTitle\"\n :placeholder=\"props.context.attrs.placeholder\"\n type=\"text\" \n validation=\"required\"\n mandatory=\"true\"\n :validation-messages=\"{\n required: props.context.attrs.placeholder,\n }\" :name=\"`${props.context.node.name}__displayedValue`\"\n :disabled=\"isDisabled\"\n @click=\"showList = !showList\"\n />\n <ul ref=\"dropdownList\" v-show=\"showList\" class=\"autocompleteResultList selectListFK catSelectList\">\n <li v-for=\"match in authorizedCatalogs\" :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=\"authorizedCatalogs.length === 0\" v-for=\"idMatch in userCats\" :key=\"idMatch\" @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 </div>\n\n</template>\n<script setup>\nimport { ref, computed, onMounted, watch, nextTick } 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 { useI18n } from 'vue-i18n';\nimport { useAsyncState } from '@vueuse/core';\nimport { FormKit } from '@formkit/vue';\nimport { useDpiContext } from '../composables/useDpiContext';\n\nconst props = defineProps({\n context: Object\n})\n\nconst dpiContext = useDpiContext()\nconst { locale, fallbackLocale } = useI18n({ useScope: 'global' })\n\nconst userCats = computed(() => store.getters['auth/getUserCatalogIds']);\nconst showList = ref(false)\nconst store = useStore()\nconst dropdownList = ref(null)\nconst env = useRuntimeEnv()\nconst selectedCatalogTitle = ref('')\nconst selectedCatalogId = ref('')\nconst hasMounted = ref(false)\n\nonClickOutside(dropdownList, event => showList.value = false)\n\nconst setvalue = async (e) => {\n if (e.id) {\n selectedCatalogId.value = e.id\n selectedCatalogTitle.value = e?.name || e.id\n } else {\n selectedCatalogId.value = e\n selectedCatalogTitle.value = e\n }\n\n showList.value = false\n}\n\nconst { execute: filterCatList, state: catalogListData, isReady: isQueryReady, error } = useAsyncState(async () => {\n const catalogListData = await axios.get(env.api.baseUrl + 'search?filter=catalogue&limit=1000')\n return catalogListData\n}, { data: { result: { results: [] } } }, { immediate: false })\n\n// Wait until everything mounted and loaded tu ensure that the catalog list is available and selected catalog from edit mode is available\nconst isReady = computed(() => hasMounted.value && !!catalogListData.value && isQueryReady.value)\n\nwatch(error, () => {\n console.error(error.value)\n})\n\nconst hasResults = computed(() => {\n return catalogListData?.value?.data?.result?.results?.length > 0\n})\n\nconst hasOneResultOnly = computed(() => {\n return hasResults && catalogListData?.value?.data?.result?.results?.length === 1\n})\n\n/**\n * Computes list of users' authorized catalogs in { id: string; name: string } format\n */\nconst authorizedCatalogs = computed(() => {\n if (!hasResults.value || !isQueryReady.value) return []\n\n const allCatalogs = catalogListData.value?.data?.result?.results || []\n const authorizedCatalogs = allCatalogs.filter(catalog => userCats.value?.includes(catalog.id))\n\n // map to { id: string; name: string } pairs\n const authorizedCatalogsDataModel = authorizedCatalogs.map((catalog) => {\n const id = catalog?.id || ''\n let title = ''\n\n if (!catalog?.title) title = id\n else if (typeof catalog?.title === 'string') title = catalog?.title\n else if (typeof catalog?.title === 'object') title =\n catalog?.title[locale.value]\n || catalog?.title[fallbackLocale.value]\n || Object.values(catalog?.title)?.[0]\n || id\n\n return { id, name: title || id }\n });\n return authorizedCatalogsDataModel\n})\n\nwatch(hasOneResultOnly, (yes) => {\n if (yes) {\n const result = catalogListData.value.data.result.results[0]\n setvalue({ id: result.id, name: result.name })\n }\n}, { immediate: true })\n\nonMounted(async () => {\n // When editing, we can restore the selected catalog id immediately, but we rely on fetching from hub-search for its catalog title.\n // So we need to wait until everything is fetched before proceeding further.\n await filterCatList()\n await nextTick()\n const catalogIdToLoadForEdit =\n dpiContext.value.edit?.catalog\n || getNode?.('catalog')?.value\n || getNode?.('dcat:catalog')?.value\n || getNode?.('dct:catalog')?.value\n || undefined\n const maybeFoundCatalogFromQuery = authorizedCatalogs.value?.find(item => item.id === catalogIdToLoadForEdit)\n if (maybeFoundCatalogFromQuery) {\n setvalue({ id: maybeFoundCatalogFromQuery.id, name: maybeFoundCatalogFromQuery.name })\n }\n await nextTick()\n hasMounted.value = true\n});\n\n// Disable select option if in edit mode\n// Note: Decision is made due to a backend limitation that causes dataset duplicates to occur when changing a catalog\nconst isDisabled = computed(() => {\n const isInEditMode = dpiContext.value.edit?.enabled\n\n // If duplicate, do not disable select option so that they can duplicate datasets into different catalogs\n // todo: code debt due to code replication; usage of localStorage kind of weird here -> see DraftsPage for more on this.\n // We use localStorage to track if the intent is to duplicate or not\n const isDuplicate = localStorage?.getItem('dpi_duplicate')\n\n return isInEditMode && !isDuplicate\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>\n"],"names":["props","__props","dpiContext","useDpiContext","locale","fallbackLocale","useI18n","userCats","computed","store","showList","ref","useStore","dropdownList","env","useRuntimeEnv","selectedCatalogTitle","selectedCatalogId","hasMounted","onClickOutside","event","setvalue","e","filterCatList","catalogListData","isQueryReady","error","useAsyncState","axios","isReady","watch","hasResults","_d","_c","_b","_a","hasOneResultOnly","authorizedCatalogs","catalog","id","title","yes","result","onMounted","nextTick","catalogIdToLoadForEdit","getNode","_e","_g","_f","maybeFoundCatalogFromQuery","_h","item","isDisabled","isInEditMode","isDuplicate"],"mappings":"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"}
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\n <div v-if=\"isReady\">\n\n <!-- Hidden input that contains the actual catalog id. We rely on that to pass the catalog id to backend later -->\n <FormKit v-show=\"false\" v-model=\"selectedCatalogId\" :name=\"`${props.context.node.name}`\" :id=\"`${props.context.node.id || props.context.node.name}`\" type=\"text\" />\n\n <!-- User-facing input that displays the name of the selected catalog -->\n <FormKit\n class=\"autocompleteInputfield\"\n v-model=\"selectedCatalogTitle\"\n :placeholder=\"props.context.attrs.placeholder\"\n type=\"text\" \n validation=\"required\"\n mandatory=\"true\"\n :validation-messages=\"{\n required: props.context.attrs.placeholder,\n }\" :name=\"`${props.context.node.name}__displayedValue`\"\n :disabled=\"isDisabled\"\n @click=\"showList = !showList\"\n />\n <ul ref=\"dropdownList\" v-show=\"showList\" class=\"autocompleteResultList selectListFK catSelectList\">\n <li v-for=\"match in authorizedCatalogs\" :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=\"authorizedCatalogs.length === 0\" v-for=\"idMatch in userCats\" :key=\"idMatch\" @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 </div>\n\n</template>\n<script setup>\nimport { ref, computed, onMounted, watch, nextTick } 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 { useI18n } from 'vue-i18n';\nimport { useAsyncState } from '@vueuse/core';\nimport { FormKit } from '@formkit/vue';\nimport { useDpiContext } from '../composables/useDpiContext';\n\nconst props = defineProps({\n context: Object\n})\n\nconst dpiContext = useDpiContext()\nconst { locale, fallbackLocale } = useI18n({ useScope: 'global' })\n\nconst userCats = computed(() => store.getters['auth/getUserCatalogIds']);\nconst showList = ref(false)\nconst store = useStore()\nconst dropdownList = ref(null)\nconst env = useRuntimeEnv()\nconst selectedCatalogTitle = ref('')\nconst selectedCatalogId = ref('')\nconst hasMounted = ref(false)\n\nonClickOutside(dropdownList, event => showList.value = false)\n\nconst setvalue = async (e) => {\n if (e.id) {\n selectedCatalogId.value = e.id\n selectedCatalogTitle.value = e?.name || e.id\n } else {\n selectedCatalogId.value = e\n selectedCatalogTitle.value = e\n }\n\n showList.value = false\n}\n\nconst { execute: filterCatList, state: catalogListData, isReady: isQueryReady, error } = useAsyncState(async () => {\n const catalogListData = await axios.get(env.api.baseUrl + 'search?filter=catalogue&limit=1000')\n return catalogListData\n}, { data: { result: { results: [] } } }, { immediate: false })\n\n// Wait until everything mounted and loaded tu ensure that the catalog list is available and selected catalog from edit mode is available\nconst isReady = computed(() => hasMounted.value && !!catalogListData.value && isQueryReady.value)\n\nwatch(error, () => {\n console.error(error.value)\n})\n\nconst hasResults = computed(() => {\n return catalogListData?.value?.data?.result?.results?.length > 0\n})\n\nconst hasOneResultOnly = computed(() => {\n return hasResults && catalogListData?.value?.data?.result?.results?.length === 1\n})\n\n/**\n * Computes list of users' authorized catalogs in { id: string; name: string } format\n */\nconst authorizedCatalogs = computed(() => {\n if (!hasResults.value || !isQueryReady.value) return []\n\n const allCatalogs = catalogListData.value?.data?.result?.results || []\n const authorizedCatalogs = allCatalogs.filter(catalog => userCats.value?.includes(catalog.id))\n\n // map to { id: string; name: string } pairs\n const authorizedCatalogsDataModel = authorizedCatalogs.map((catalog) => {\n const id = catalog?.id || ''\n let title = ''\n\n if (!catalog?.title) title = id\n else if (typeof catalog?.title === 'string') title = catalog?.title\n else if (typeof catalog?.title === 'object') title =\n catalog?.title[locale.value]\n || catalog?.title[fallbackLocale.value]\n || Object.values(catalog?.title)?.[0]\n || id\n\n return { id, name: title || id }\n });\n return authorizedCatalogsDataModel\n})\n\nwatch(hasOneResultOnly, (yes) => {\n if (yes) {\n const result = catalogListData.value.data.result.results[0]\n setvalue({ id: result.id, name: result.name })\n }\n}, { immediate: true })\n\nonMounted(async () => {\n // When editing, we can restore the selected catalog id immediately, but we rely on fetching from hub-search for its catalog title.\n // So we need to wait until everything is fetched before proceeding further.\n await filterCatList()\n await nextTick()\n const catalogIdToLoadForEdit =\n dpiContext.value.edit?.catalog\n || getNode?.('catalog')?.value\n || getNode?.('dcat:catalog')?.value\n || getNode?.('dct:catalog')?.value\n || undefined\n const maybeFoundCatalogFromQuery = authorizedCatalogs.value?.find(item => item.id === catalogIdToLoadForEdit)\n if (maybeFoundCatalogFromQuery) {\n setvalue({ id: maybeFoundCatalogFromQuery.id, name: maybeFoundCatalogFromQuery.name })\n }\n await nextTick()\n hasMounted.value = true\n});\n\n// Disable select option if in edit mode\n// Note: Decision is made due to a backend limitation that causes dataset duplicates to occur when changing a catalog\nconst isDisabled = computed(() => {\n const isInEditMode = dpiContext.value.edit?.enabled\n\n // If duplicate, do not disable select option so that they can duplicate datasets into different catalogs\n // todo: code debt due to code replication; usage of localStorage kind of weird here -> see DraftsPage for more on this.\n // We use localStorage to track if the intent is to duplicate or not\n const isDuplicate = localStorage?.getItem('dpi_duplicate')\n\n return isInEditMode && !isDuplicate\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>\n"],"names":["props","__props","dpiContext","useDpiContext","locale","fallbackLocale","useI18n","userCats","computed","store","showList","ref","useStore","dropdownList","env","useRuntimeEnv","selectedCatalogTitle","selectedCatalogId","hasMounted","onClickOutside","event","setvalue","e","filterCatList","catalogListData","isQueryReady","error","useAsyncState","axios","isReady","watch","hasResults","_d","_c","_b","_a","hasOneResultOnly","authorizedCatalogs","catalog","id","title","yes","result","onMounted","nextTick","catalogIdToLoadForEdit","getNode","_e","_g","_f","maybeFoundCatalogFromQuery","_h","item","isDisabled","isInEditMode","isDuplicate","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_toDisplayString","_hoisted_2","_hoisted_3","_createVNode","_unref","FormKit","$event","_cache","_Fragment","_renderList","match","_hoisted_4","idMatch","_hoisted_5"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpatialInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/SpatialInput.vue"],"sourcesContent":["<script setup>\n\nimport { ref, reactive, watch, computed, onBeforeMount, onMounted, nextTick, watchEffect } from 'vue';\nimport { useStore } from 'vuex';\nimport { getTranslationFor } from \"../../utils/helpers\";\nimport { onClickOutside, whenever } from '@vueuse/core'\nimport { getCurrentInstance } from \"vue\";\nimport { useRoute } from 'vue-router';\nimport { useI18n } from 'vue-i18n';\nimport { useTed } from '../../composables/useTed';\nimport { useAutocomplete } from '../composables/aucotomplete';\nimport { useRequestUriName } from '../composables/useRequestUriName';\nimport { useDpiContext } from '../composables';\n\n\nlet instance = getCurrentInstance().appContext.app.config.globalProperties.$env\nlet route = useRoute();\nconst dpiContext = useDpiContext();\n\nconst props = defineProps({\n context: Object,\n})\n\nconst { requestAutocompleteSuggestions } = useAutocomplete()\n\n// let listOfVoc: [{ item: 'Country', active: false }, { item: 'Place', active: false }, { item: 'Continent', active: false }],\nlet listOfVoc = ref([])\nconst typeText = ref('')\nlet inputText = ref({})\nlet voc = ref({})\nlet matches = ref({})\nlet manURL = ref({})\nconst store = useStore();\nconst { t, locale } = useI18n({ inheritLocale: true, useScope: 'global' });\nconst ted = useTed();\n\nconst man = ref(false)\nconst vocSearch = ref(false)\n\nconst isEdit = computed(() => !!dpiContext.value.edit?.enabled)\nconst resourceNameWhenEditing = computed(() => !!isEdit.value && props.context.value.resource)\n// e.g. extract \"municipalityKey\" (second to last) out of resourceName\nconst keyFromResourceName = computed(() => {\n if (resourceNameWhenEditing.value) {\n return resourceNameWhenEditing.value.split('/')[resourceNameWhenEditing.value.split('/').length - 2]\n }\n return ''\n})\nconst spatialVocabName = computed(() => {\n if (!keyFromResourceName.value) {\n return ''\n }\n\n const maybePrefix = props.context.attrs.identifier === 'politicalGeocodingURI'\n ? 'political-geocoding-'\n // todo: extend this for other vocabularies\n : ''\n\n // transform key from camelCase to kebab-case\n const vocabKey = keyFromResourceName.value.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n return `${maybePrefix}${vocabKey}`\n})\n\nconst translatedResourceName = computed(() => {\n // transform key 'districtKey' to 'District Key'\n const vocabKey = keyFromResourceName.value.replace(/([a-z])([A-Z])/g, '$1 $2').toLowerCase()\n // make first letters of each word uppercase\n const vocabKeyUpper = vocabKey.split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ')\n return t(`message.dataupload.datasets.conditional.${vocabKeyUpper}`)\n})\n\nconst { execute, state, isLoading } = useRequestUriName({\n voc: spatialVocabName,\n res: computed(() => props.context.value.resource),\n // property: 'dcatde:politicalGeocodingURI',\n property: computed(() => props.context.attrs.identifier === 'politicalGeocodingURI' ? 'dcatde:politicalGeocodingURI' : 'dct:spatial'), \n locale,\n})\n\nconst restoredValueFromEditMode = computed(() => {\n if (isEdit.value && !isLoading.value && resourceNameWhenEditing.value && state.value) {\n return `${translatedResourceName.value}: ${state.value} (${resourceNameWhenEditing.value.split('/').pop()})`\n }\n\n return ''\n})\n\nconst once = ref(false)\nwatchEffect(() => {\n if (once.value) return;\n\n if (!!resourceNameWhenEditing.value) {\n once.value = true\n execute()\n }\n}, { immediate: true })\n\nwhenever(restoredValueFromEditMode, () => {\n const v = { name: restoredValueFromEditMode.value, resource: resourceNameWhenEditing.value }\n props.context.node.input(v)\n})\n\n// If true, then:\n// - hides the select input for manual and vocabulary\n// - pre-selects the vocabulary option\n// When using formkit schema, enable this option by setting vocabularyOnly to true\n// {\n// $formkit: 'spatialinput',\n// name: 'dcatde:politicalGeocodingURI',\n// identifier: 'politicalGeocodingURI',\n// vocabularyOnly: true,\n// }\nconst vocabularyOnly = computed(() => !!props.context?.attrs?.vocabularyOnly)\n\nif (props.context.attrs.identifier === 'politicalGeocodingURI') {\n listOfVoc.value.push(\n { item: 'Municipality Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.Municipality Key', 'Municipality Key') },\n { item: 'Regional Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.Regional Key', 'Regional Key') },\n { item: 'Municipal Association Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.Municipal Association Key', 'Municipal Association Key') },\n { item: 'District Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.District Key', 'District Key') },\n { item: 'Government District Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.Government District Key', 'Government District Key') },\n { item: 'State Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.State Key', 'State Key') },\n )\n\n}\nif (props.context.attrs.identifier === 'spatial') {\n listOfVoc.value.push(\n { item: 'Country', active: false, placeholder: ted('message.dataupload.datasets.conditional.Country', 'Country') },\n { item: 'Place', active: false, placeholder: ted('message.dataupload.datasets.conditional.Place', 'Place') },\n { item: 'Continent', active: false, placeholder: ted('message.dataupload.datasets.conditional.Continent', 'Continent') },\n )\n}\n\nwatch(inputText, async () => {\n getAutocompleteSuggestions();\n})\nwatch(voc, async (newValue, oldValue) => {\n if (newValue === oldValue) { return }\n voc.value = voc.value.toLowerCase();\n})\nwatch(manURL, async () => {\n props.context.node.input({ 'name': manURL, 'resource': manURL })\n})\nonMounted(async () => {\n matches = [{ name: ted('message.dataupload.info.searchVocabulary', '--- Type in anything for a live search of the vocabulary ---').value, resource: 'invalid' }]\n\n await nextTick()\n // DOM loaded\n if (props.context.value.name === undefined || props.context.value.name === \"\") {\n showTable.activeValue = false\n } else showTable.activeValue = true\n // console.log(showTable.activeValue);\n\n if (vocabularyOnly.value) {\n activeInput('showTable'); vocSearch.value = true; if (man.value) { man.value = false }\n }\n\n});\n\nfunction closeAll() {\n listOfVoc.value.forEach(element => {\n element.active = false;\n });\n}\nfunction removeProperty(e) {\n // props.context.value = {}\n showTable.activeValue = false\n props.context.node.input({})\n}\nfunction saveToLocal(el) {\n\n let pathToLocalStorage = JSON.parse(localStorage.getItem(`dpi_${route.params.property}`));\n let arr\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n arr = pathToLocalStorage.Advised['dcatde:politicalGeocodingURI'];\n }\n else arr = pathToLocalStorage.Advised['dct:spatial'];\n\n arr.forEach((element, index) => {\n if (Object.keys(element).length === 0) {\n arr.splice(index, 1)\n }\n })\n arr.push(props.context.node._value)\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n pathToLocalStorage.Advised['dcatde:politicalGeocodingURI'] = arr\n }\n else pathToLocalStorage.Advised['dct:spatial'] = arr\n\n localStorage.setItem(`dpi_${route.params.property}`, JSON.stringify(pathToLocalStorage))\n}\nconst getAutocompleteSuggestions = async () => {\n\n let vocCache = voc.value?.toLowerCase()\n\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n\n vocCache = 'political-geocoding-' + vocCache.toLowerCase().replaceAll(\" \", '-')\n\n try {\n let text = inputText.value;\n await requestAutocompleteSuggestions({ voc: vocCache, text: text, base: instance.api.baseUrl }).then((response) => {\n const results = response.data.result.results.map((r) => ({\n name: getTranslationFor(r.alt_label, locale.value, []) + \" (\" + r.id + \")\",\n resource: r.resource,\n }));\n matches = results;\n });\n } catch (error) {\n }\n }\n else {\n try {\n let text = inputText.value;\n await requestAutocompleteSuggestions({ voc: vocCache, text: text, base: instance.api.baseUrl }).then((response) => {\n const results = response.data.result.results.map((r) => ({\n name: getTranslationFor(r.pref_label, locale.value, []) + \" (\" + r.id + \")\",\n resource: r.resource,\n }));\n matches = results;\n });\n } catch (error) {\n }\n }\n\n}\n\nvar showTable = reactive({\n first: false,\n second: false,\n third: false,\n activeValue: false\n})\n\nconst I1 = ref(null);\nconst I2 = ref(null);\nconst I3 = ref(null);\n\nonClickOutside(I1, event => showTable.first = false)\nonClickOutside(I2, event => showTable.second = false)\nonClickOutside(I3, event => showTable.third = false)\nfunction activeInput(e) {\n\n // console.log('in', showTable);\n if (e === \"showTable\") showTable.first = !showTable.first;\n if (e === \"showVocTable\") showTable.second = !showTable.second;\n if (e === \"showVocEntries\") {\n if (showTable.third === true) {\n }\n else showTable.third = !showTable.third;\n }\n}\nfunction manURLInput(e) {\n props.context.node.input({ 'name': e.target.value, 'resource': e.target.value })\n}\n\nfunction handleSpatielListClick(el) {\n props.context.node.input(el);\n inputText.value = el.name;\n activeInput('showVocEntries');\n showTable.third = false;\n saveToLocal(el)\n}\n\nfunction submitType() {\n activeInput('showVocTable');\n\n}\n// console.log(voc);\n</script>\n\n<template>\n <div class=\"d-flex flex-column w-100 spatialWrap\">\n <div class=\"d-flex formkit-inner mx-3 mb-3\" v-if=\"!props.context.attrs.multiple && showTable.activeValue\">\n <!-- <div class=\"infoI\">\n <div class=\"tooltipFormkit\">{{ props.context.attrs.info }}</div>\n </div> -->\n <a class=\"autocompleteInputSingleValue \">{{ restoredValueFromEditMode }}</a>\n <div class=\"removeX\" @click=\"removeProperty\"></div>\n </div>\n <div v-else>\n <div class=\" w-100 d-flex\">\n <div v-if=\"!vocabularyOnly\" class=\"d-flex position-relative m-3 w-100\">\n <label class=\"w-100\"> {{ $t('message.dataupload.info.preferredInput') }}\n <input id=\"I1\" type=\"text\" class=\"selectInputField formkit-inner\" readonly=\"readonly\"\n :placeholder=\"$t('message.dataupload.info.preferredInput')\"\n @click=\"activeInput('showTable')\" />\n </label>\n\n <ul ref=\"I1\" v-show=\"showTable.first\" class=\"spatialListUpload\">\n <li @click=\"activeInput('showTable'); man = true; if (vocSearch) { vocSearch = false; };\"\n class=\"p-2 border-b border-gray-200 choosableItemsAC\">\n {{ $t('message.dataupload.datasets.conditional.manually') }}\n </li>\n <li @click=\"activeInput('showTable'); vocSearch = true; if (man) { man = false }\"\n class=\"p-2 border-b border-gray-200 choosableItemsAC\">\n {{ $t('message.dataupload.datasets.conditional.vocabulary') }}\n </li>\n </ul>\n </div>\n <div v-if=\"man\" class=\"d-flex position-relative m-3 w-100\">\n <label class=\"w-100\">\n <!-- todo: I borrowed this from another input. Maybe refactor? -->\n {{ $te('message.dataupload.datasets.isReferencedByUrl.placeholder') ? $t('message.dataupload.datasets.isReferencedByUrl.placeholder') : 'Provide an URL' }}\n <input type=\"URL\" class=\"selectInputField formkit-inner\" placeholder=\"URL\"\n @input=\"manURLInput($event)\">\n </label>\n </div>\n <div v-if=\"vocSearch\" class=\"d-flex position-relative m-3 w-100\">\n <!-- todo: I borrowed this from another input. Maybe refactor? -->\n <label class=\"w-100\"> {{ $te('message.dataupload.datasets.contributorType.placeholder') ? $t('message.dataupload.datasets.contributorType.placeholder') : 'Choose type of vocabulary' }} \n <input id=\"I2\" type=\"text\" class=\"selectInputField formkit-inner\" readonly=\"readonly\" v-model=\"typeText\"\n :placeholder=\"$te('message.dataupload.datasets.accessRights.placeholder') ? $t('message.dataupload.datasets.accessRights.placeholder') : 'Choose type of vocabulary'\" @click=\"activeInput('showVocTable');\">\n </label>\n <ul ref=\"I2\" v-if=\"showTable.second\" class=\"spatialListUpload\">\n <li v-for=\"el in listOfVoc\" :key=\"el\" class=\"p-2 border-b border-gray-200 choosableItemsAC\"\n @click=\" closeAll(); el.active = !el.active; activeInput('showVocTable'); inputText = ''; voc = el.item; typeText = el.placeholder\">\n {{ $t('message.dataupload.datasets.conditional.' + el.item) }}</li>\n </ul>\n </div>\n </div>\n <div class=\"m-3\" v-if=\"vocSearch\">\n <div v-for=\"el in listOfVoc\" :key=\"el\" class=\"position-relative\">\n <label class=\"w-100\" v-if=\"el.active\">\n <!-- todo: I borrowed this from another input. Maybe refactor? -->\n <!-- {{ $te('message.dataupload.datasets.accessRights.placeholder') ? $t('message.dataupload.datasets.accessRights.placeholder') : 'Choose type of vocabulary' }} -->\n {{ el.placeholder ? el.placeholder : $t('message.dataupload.datasets.conditional.' + el.item) }}\n <input id=\"I3\" type=\"text\"\n v-model=\"inputText\" class=\"selectInputField formkit-inner\" :placeholder=\"$te('message.dataupload.datasets.accessRights.placeholder') ? $t('message.dataupload.datasets.accessRights.placeholder') : 'Choose type of vocabulary'\"\n @click=\"activeInput('showVocEntries'); inputText = ''\"\n >\n </label>\n <ul ref=\"I3\" v-if=\"showTable.third && el.active\" class=\"spatialListUpload\">\n <li v-for=\"el in matches\" :key=\"el\" class=\"p-2 border-b border-gray-200 choosableItemsAC\"\n @click=\"handleSpatielListClick(el)\">\n {{ el.name }}</li>\n </ul>\n </div>\n\n </div>\n\n </div>\n </div>\n</template>\n\n<script>\n\n</script>\n\n<style lang=\"scss\" scoped>\n.spatialWrap label {\n font-family: var(--fk-font-family-label);\n font-size: var(--fk-font-size-label);\n font-weight: var(--fk-font-weight-label);\n line-height: var(--fk-line-height-label);\n}\n\n.spatialWrap {\n .spatialListUpload {\n width: 100%;\n left: 0;\n top: 78px;\n }\n}\n</style>\n"],"names":["instance","getCurrentInstance","route","useRoute","dpiContext","useDpiContext","props","__props","requestAutocompleteSuggestions","useAutocomplete","listOfVoc","ref","typeText","inputText","voc","matches","manURL","useStore","t","locale","useI18n","ted","useTed","man","vocSearch","isEdit","computed","_a","resourceNameWhenEditing","keyFromResourceName","spatialVocabName","maybePrefix","vocabKey","translatedResourceName","vocabKeyUpper","word","execute","state","isLoading","useRequestUriName","restoredValueFromEditMode","once","watchEffect","whenever","v","vocabularyOnly","_b","watch","getAutocompleteSuggestions","newValue","oldValue","onMounted","nextTick","showTable","activeInput","closeAll","element","removeProperty","e","saveToLocal","el","pathToLocalStorage","arr","index","vocCache","text","response","r","getTranslationFor","reactive","I1","I2","I3","onClickOutside","event","manURLInput","handleSpatielListClick"],"mappings":"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"}
1
+ {"version":3,"file":"SpatialInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/SpatialInput.vue"],"sourcesContent":["<script setup>\n\nimport { ref, reactive, watch, computed, onBeforeMount, onMounted, nextTick, watchEffect } from 'vue';\nimport { useStore } from 'vuex';\nimport { getTranslationFor } from \"../../utils/helpers\";\nimport { onClickOutside, whenever } from '@vueuse/core'\nimport { getCurrentInstance } from \"vue\";\nimport { useRoute } from 'vue-router';\nimport { useI18n } from 'vue-i18n';\nimport { useTed } from '../../composables/useTed';\nimport { useAutocomplete } from '../composables/aucotomplete';\nimport { useRequestUriName } from '../composables/useRequestUriName';\nimport { useDpiContext } from '../composables';\n\n\nlet instance = getCurrentInstance().appContext.app.config.globalProperties.$env\nlet route = useRoute();\nconst dpiContext = useDpiContext();\n\nconst props = defineProps({\n context: Object,\n})\n\nconst { requestAutocompleteSuggestions } = useAutocomplete()\n\n// let listOfVoc: [{ item: 'Country', active: false }, { item: 'Place', active: false }, { item: 'Continent', active: false }],\nlet listOfVoc = ref([])\nconst typeText = ref('')\nlet inputText = ref({})\nlet voc = ref({})\nlet matches = ref({})\nlet manURL = ref({})\nconst store = useStore();\nconst { t, locale } = useI18n({ inheritLocale: true, useScope: 'global' });\nconst ted = useTed();\n\nconst man = ref(false)\nconst vocSearch = ref(false)\n\nconst isEdit = computed(() => !!dpiContext.value.edit?.enabled)\nconst resourceNameWhenEditing = computed(() => !!isEdit.value && props.context.value.resource)\n// e.g. extract \"municipalityKey\" (second to last) out of resourceName\nconst keyFromResourceName = computed(() => {\n if (resourceNameWhenEditing.value) {\n return resourceNameWhenEditing.value.split('/')[resourceNameWhenEditing.value.split('/').length - 2]\n }\n return ''\n})\nconst spatialVocabName = computed(() => {\n if (!keyFromResourceName.value) {\n return ''\n }\n\n const maybePrefix = props.context.attrs.identifier === 'politicalGeocodingURI'\n ? 'political-geocoding-'\n // todo: extend this for other vocabularies\n : ''\n\n // transform key from camelCase to kebab-case\n const vocabKey = keyFromResourceName.value.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n return `${maybePrefix}${vocabKey}`\n})\n\nconst translatedResourceName = computed(() => {\n // transform key 'districtKey' to 'District Key'\n const vocabKey = keyFromResourceName.value.replace(/([a-z])([A-Z])/g, '$1 $2').toLowerCase()\n // make first letters of each word uppercase\n const vocabKeyUpper = vocabKey.split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ')\n return t(`message.dataupload.datasets.conditional.${vocabKeyUpper}`)\n})\n\nconst { execute, state, isLoading } = useRequestUriName({\n voc: spatialVocabName,\n res: computed(() => props.context.value.resource),\n // property: 'dcatde:politicalGeocodingURI',\n property: computed(() => props.context.attrs.identifier === 'politicalGeocodingURI' ? 'dcatde:politicalGeocodingURI' : 'dct:spatial'), \n locale,\n})\n\nconst restoredValueFromEditMode = computed(() => {\n if (isEdit.value && !isLoading.value && resourceNameWhenEditing.value && state.value) {\n return `${translatedResourceName.value}: ${state.value} (${resourceNameWhenEditing.value.split('/').pop()})`\n }\n\n return ''\n})\n\nconst once = ref(false)\nwatchEffect(() => {\n if (once.value) return;\n\n if (!!resourceNameWhenEditing.value) {\n once.value = true\n execute()\n }\n}, { immediate: true })\n\nwhenever(restoredValueFromEditMode, () => {\n const v = { name: restoredValueFromEditMode.value, resource: resourceNameWhenEditing.value }\n props.context.node.input(v)\n})\n\n// If true, then:\n// - hides the select input for manual and vocabulary\n// - pre-selects the vocabulary option\n// When using formkit schema, enable this option by setting vocabularyOnly to true\n// {\n// $formkit: 'spatialinput',\n// name: 'dcatde:politicalGeocodingURI',\n// identifier: 'politicalGeocodingURI',\n// vocabularyOnly: true,\n// }\nconst vocabularyOnly = computed(() => !!props.context?.attrs?.vocabularyOnly)\n\nif (props.context.attrs.identifier === 'politicalGeocodingURI') {\n listOfVoc.value.push(\n { item: 'Municipality Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.Municipality Key', 'Municipality Key') },\n { item: 'Regional Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.Regional Key', 'Regional Key') },\n { item: 'Municipal Association Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.Municipal Association Key', 'Municipal Association Key') },\n { item: 'District Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.District Key', 'District Key') },\n { item: 'Government District Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.Government District Key', 'Government District Key') },\n { item: 'State Key', active: false, placeholder: ted('message.dataupload.datasets.conditional.State Key', 'State Key') },\n )\n\n}\nif (props.context.attrs.identifier === 'spatial') {\n listOfVoc.value.push(\n { item: 'Country', active: false, placeholder: ted('message.dataupload.datasets.conditional.Country', 'Country') },\n { item: 'Place', active: false, placeholder: ted('message.dataupload.datasets.conditional.Place', 'Place') },\n { item: 'Continent', active: false, placeholder: ted('message.dataupload.datasets.conditional.Continent', 'Continent') },\n )\n}\n\nwatch(inputText, async () => {\n getAutocompleteSuggestions();\n})\nwatch(voc, async (newValue, oldValue) => {\n if (newValue === oldValue) { return }\n voc.value = voc.value.toLowerCase();\n})\nwatch(manURL, async () => {\n props.context.node.input({ 'name': manURL, 'resource': manURL })\n})\nonMounted(async () => {\n matches = [{ name: ted('message.dataupload.info.searchVocabulary', '--- Type in anything for a live search of the vocabulary ---').value, resource: 'invalid' }]\n\n await nextTick()\n // DOM loaded\n if (props.context.value.name === undefined || props.context.value.name === \"\") {\n showTable.activeValue = false\n } else showTable.activeValue = true\n // console.log(showTable.activeValue);\n\n if (vocabularyOnly.value) {\n activeInput('showTable'); vocSearch.value = true; if (man.value) { man.value = false }\n }\n\n});\n\nfunction closeAll() {\n listOfVoc.value.forEach(element => {\n element.active = false;\n });\n}\nfunction removeProperty(e) {\n // props.context.value = {}\n showTable.activeValue = false\n props.context.node.input({})\n}\nfunction saveToLocal(el) {\n\n let pathToLocalStorage = JSON.parse(localStorage.getItem(`dpi_${route.params.property}`));\n let arr\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n arr = pathToLocalStorage.Advised['dcatde:politicalGeocodingURI'];\n }\n else arr = pathToLocalStorage.Advised['dct:spatial'];\n\n arr.forEach((element, index) => {\n if (Object.keys(element).length === 0) {\n arr.splice(index, 1)\n }\n })\n arr.push(props.context.node._value)\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n pathToLocalStorage.Advised['dcatde:politicalGeocodingURI'] = arr\n }\n else pathToLocalStorage.Advised['dct:spatial'] = arr\n\n localStorage.setItem(`dpi_${route.params.property}`, JSON.stringify(pathToLocalStorage))\n}\nconst getAutocompleteSuggestions = async () => {\n\n let vocCache = voc.value?.toLowerCase()\n\n if (props.context.attrs.identifier === 'politicalGeocodingURI') {\n\n vocCache = 'political-geocoding-' + vocCache.toLowerCase().replaceAll(\" \", '-')\n\n try {\n let text = inputText.value;\n await requestAutocompleteSuggestions({ voc: vocCache, text: text, base: instance.api.baseUrl }).then((response) => {\n const results = response.data.result.results.map((r) => ({\n name: getTranslationFor(r.alt_label, locale.value, []) + \" (\" + r.id + \")\",\n resource: r.resource,\n }));\n matches = results;\n });\n } catch (error) {\n }\n }\n else {\n try {\n let text = inputText.value;\n await requestAutocompleteSuggestions({ voc: vocCache, text: text, base: instance.api.baseUrl }).then((response) => {\n const results = response.data.result.results.map((r) => ({\n name: getTranslationFor(r.pref_label, locale.value, []) + \" (\" + r.id + \")\",\n resource: r.resource,\n }));\n matches = results;\n });\n } catch (error) {\n }\n }\n\n}\n\nvar showTable = reactive({\n first: false,\n second: false,\n third: false,\n activeValue: false\n})\n\nconst I1 = ref(null);\nconst I2 = ref(null);\nconst I3 = ref(null);\n\nonClickOutside(I1, event => showTable.first = false)\nonClickOutside(I2, event => showTable.second = false)\nonClickOutside(I3, event => showTable.third = false)\nfunction activeInput(e) {\n\n // console.log('in', showTable);\n if (e === \"showTable\") showTable.first = !showTable.first;\n if (e === \"showVocTable\") showTable.second = !showTable.second;\n if (e === \"showVocEntries\") {\n if (showTable.third === true) {\n }\n else showTable.third = !showTable.third;\n }\n}\nfunction manURLInput(e) {\n props.context.node.input({ 'name': e.target.value, 'resource': e.target.value })\n}\n\nfunction handleSpatielListClick(el) {\n props.context.node.input(el);\n inputText.value = el.name;\n activeInput('showVocEntries');\n showTable.third = false;\n saveToLocal(el)\n}\n\nfunction submitType() {\n activeInput('showVocTable');\n\n}\n// console.log(voc);\n</script>\n\n<template>\n <div class=\"d-flex flex-column w-100 spatialWrap\">\n <div class=\"d-flex formkit-inner mx-3 mb-3\" v-if=\"!props.context.attrs.multiple && showTable.activeValue\">\n <!-- <div class=\"infoI\">\n <div class=\"tooltipFormkit\">{{ props.context.attrs.info }}</div>\n </div> -->\n <a class=\"autocompleteInputSingleValue \">{{ restoredValueFromEditMode }}</a>\n <div class=\"removeX\" @click=\"removeProperty\"></div>\n </div>\n <div v-else>\n <div class=\" w-100 d-flex\">\n <div v-if=\"!vocabularyOnly\" class=\"d-flex position-relative m-3 w-100\">\n <label class=\"w-100\"> {{ $t('message.dataupload.info.preferredInput') }}\n <input id=\"I1\" type=\"text\" class=\"selectInputField formkit-inner\" readonly=\"readonly\"\n :placeholder=\"$t('message.dataupload.info.preferredInput')\"\n @click=\"activeInput('showTable')\" />\n </label>\n\n <ul ref=\"I1\" v-show=\"showTable.first\" class=\"spatialListUpload\">\n <li @click=\"activeInput('showTable'); man = true; if (vocSearch) { vocSearch = false; };\"\n class=\"p-2 border-b border-gray-200 choosableItemsAC\">\n {{ $t('message.dataupload.datasets.conditional.manually') }}\n </li>\n <li @click=\"activeInput('showTable'); vocSearch = true; if (man) { man = false }\"\n class=\"p-2 border-b border-gray-200 choosableItemsAC\">\n {{ $t('message.dataupload.datasets.conditional.vocabulary') }}\n </li>\n </ul>\n </div>\n <div v-if=\"man\" class=\"d-flex position-relative m-3 w-100\">\n <label class=\"w-100\">\n <!-- todo: I borrowed this from another input. Maybe refactor? -->\n {{ $te('message.dataupload.datasets.isReferencedByUrl.placeholder') ? $t('message.dataupload.datasets.isReferencedByUrl.placeholder') : 'Provide an URL' }}\n <input type=\"URL\" class=\"selectInputField formkit-inner\" placeholder=\"URL\"\n @input=\"manURLInput($event)\">\n </label>\n </div>\n <div v-if=\"vocSearch\" class=\"d-flex position-relative m-3 w-100\">\n <!-- todo: I borrowed this from another input. Maybe refactor? -->\n <label class=\"w-100\"> {{ $te('message.dataupload.datasets.contributorType.placeholder') ? $t('message.dataupload.datasets.contributorType.placeholder') : 'Choose type of vocabulary' }} \n <input id=\"I2\" type=\"text\" class=\"selectInputField formkit-inner\" readonly=\"readonly\" v-model=\"typeText\"\n :placeholder=\"$te('message.dataupload.datasets.accessRights.placeholder') ? $t('message.dataupload.datasets.accessRights.placeholder') : 'Choose type of vocabulary'\" @click=\"activeInput('showVocTable');\">\n </label>\n <ul ref=\"I2\" v-if=\"showTable.second\" class=\"spatialListUpload\">\n <li v-for=\"el in listOfVoc\" :key=\"el\" class=\"p-2 border-b border-gray-200 choosableItemsAC\"\n @click=\" closeAll(); el.active = !el.active; activeInput('showVocTable'); inputText = ''; voc = el.item; typeText = el.placeholder\">\n {{ $t('message.dataupload.datasets.conditional.' + el.item) }}</li>\n </ul>\n </div>\n </div>\n <div class=\"m-3\" v-if=\"vocSearch\">\n <div v-for=\"el in listOfVoc\" :key=\"el\" class=\"position-relative\">\n <label class=\"w-100\" v-if=\"el.active\">\n <!-- todo: I borrowed this from another input. Maybe refactor? -->\n <!-- {{ $te('message.dataupload.datasets.accessRights.placeholder') ? $t('message.dataupload.datasets.accessRights.placeholder') : 'Choose type of vocabulary' }} -->\n {{ el.placeholder ? el.placeholder : $t('message.dataupload.datasets.conditional.' + el.item) }}\n <input id=\"I3\" type=\"text\"\n v-model=\"inputText\" class=\"selectInputField formkit-inner\" :placeholder=\"$te('message.dataupload.datasets.accessRights.placeholder') ? $t('message.dataupload.datasets.accessRights.placeholder') : 'Choose type of vocabulary'\"\n @click=\"activeInput('showVocEntries'); inputText = ''\"\n >\n </label>\n <ul ref=\"I3\" v-if=\"showTable.third && el.active\" class=\"spatialListUpload\">\n <li v-for=\"el in matches\" :key=\"el\" class=\"p-2 border-b border-gray-200 choosableItemsAC\"\n @click=\"handleSpatielListClick(el)\">\n {{ el.name }}</li>\n </ul>\n </div>\n\n </div>\n\n </div>\n </div>\n</template>\n\n<script>\n\n</script>\n\n<style lang=\"scss\" scoped>\n.spatialWrap label {\n font-family: var(--fk-font-family-label);\n font-size: var(--fk-font-size-label);\n font-weight: var(--fk-font-weight-label);\n line-height: var(--fk-line-height-label);\n}\n\n.spatialWrap {\n .spatialListUpload {\n width: 100%;\n left: 0;\n top: 78px;\n }\n}\n</style>\n"],"names":["instance","getCurrentInstance","route","useRoute","dpiContext","useDpiContext","props","__props","requestAutocompleteSuggestions","useAutocomplete","listOfVoc","ref","typeText","inputText","voc","matches","manURL","useStore","t","locale","useI18n","ted","useTed","man","vocSearch","isEdit","computed","_a","resourceNameWhenEditing","keyFromResourceName","spatialVocabName","maybePrefix","vocabKey","translatedResourceName","vocabKeyUpper","word","execute","state","isLoading","useRequestUriName","restoredValueFromEditMode","once","watchEffect","whenever","v","vocabularyOnly","_b","watch","getAutocompleteSuggestions","newValue","oldValue","onMounted","nextTick","showTable","activeInput","closeAll","element","removeProperty","e","saveToLocal","el","pathToLocalStorage","arr","index","vocCache","text","response","r","getTranslationFor","reactive","I1","I2","I3","onClickOutside","event","manURLInput","handleSpatielListClick","_openBlock","_createElementBlock","_hoisted_1","_unref","_hoisted_2","_createElementVNode","_hoisted_3","_toDisplayString","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","$t","_vShow","_hoisted_9","_hoisted_10","$te","_cache","$event","_hoisted_11","_hoisted_12","_Fragment","_renderList","_isRef","_hoisted_14","_hoisted_15","_hoisted_16","_createTextVNode","_hoisted_18"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UniqueIdentifierInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/UniqueIdentifierInput.vue"],"sourcesContent":["<script setup>\nimport { ref, onMounted, watchEffect, computed } from 'vue'\nimport { useRoute } from 'vue-router';\nimport { isNil } from 'lodash';\nimport axios from 'axios';\nimport { useStore } from 'vuex';\nimport { getCurrentInstance } from \"vue\";\nimport { useI18n } from 'vue-i18n';\nimport { useDpiContext } from '../composables';\nlet env = getCurrentInstance().appContext.app.config.globalProperties.$env;\n\nconst store = useStore();\nconst dpiContext = useDpiContext();\nconst isDuplicate = ref(localStorage.getItem('dpi_duplicate') || false);\nconst isEditMode = computed(() => !!dpiContext.value.edit?.enabled)\n\nconst { t, locale } = useI18n({ useScope: 'global' });\n\nconst validationMessages = ref({\n idformatvalid: \"\",\n idunique: \"\",\n required: \"\"\n\n});\n\nonMounted(() => {\n // This is kind of buggy, its taking the strings from the wrong json (de and en is switched)\n validationMessages.value.idformatvalid = t('message.dataupload.datasets.datasetID.invalidFormat');\n validationMessages.value.idunique = t('message.dataupload.datasets.datasetID.duplicate');\n validationMessages.value.required = t('message.dataupload.datasets.datasetID.required');\n});\n\nconst draftIDs = store.getters['auth/getUserDraftIds'];\nconst hubUrl = env.api.hubUrl;\nfunction idunique(node) {\n const id = node?.value;\n\n return new Promise(async (resolve) => {\n // resolve(true) -> datasetId is unique\n // resolve(false) -> datasetId is not unique\n\n if (isNil(id) || id === '' || id === undefined) resolve(true)\n\n const existIdInUserDrafts = draftIDs?.includes(id)\n if (existIdInUserDrafts) resolve(false)\n\n const request = `${hubUrl}datasets/${id}?useNormalizedId=true`;\n try {\n const res = await axios.head(request);\n // if 2xx -> datsetId is not unique -> validation error\n const isNotUnique = !(res.status >= 200 && res.status < 300);\n if (isNotUnique) resolve(false)\n } catch (error) {\n // if 404 -> datasetId is unique\n resolve(true);\n }\n\n resolve(false)\n });\n}\n\nfunction idformatvalid(node) {\n return /^[a-z0-9-]*$/.test(node.value);\n}\n\n</script>\n\n<template>\n <div class=\"formkitProperty DSid\">\n <h4>{{ $t(`message.dataupload.datasets.datasetID.label`) }}</h4>\n <FormKit v-if=\"!isEditMode || isDuplicate\" type=\"text\" name=\"datasetID\" id=\"datasetID\"\n :placeholder=\"$t(`message.dataupload.datasets.datasetID.label`)\"\n :info=\"$t(`message.dataupload.datasets.datasetID.info`)\" :help=\"$t(`message.dataupload.datasets.datasetID.help`)\"\n :validation-rules=\"{ idformatvalid, idunique }\" validation=\"required|idformatvalid|(900)idunique\"\n validation-visibility=\"live\" :validation-messages=\"validationMessages\" outer-class=\"formkitCmpWrap p-3\">\n </FormKit>\n <FormKit v-else type=\"text\" name=\"datasetID\" id=\"datasetID\" :disabled=\"true\"\n :info=\"$t(`message.dataupload.datasets.datasetID.info`)\" :help=\"$t(`message.dataupload.datasets.datasetID.help`)\">\n </FormKit>\n </div>\n</template>\n\n<script>\nexport default {\n props: ['context']\n}\n</script>\n\n<style></style>\n"],"names":["__default__","env","getCurrentInstance","store","useStore","dpiContext","useDpiContext","isDuplicate","ref","isEditMode","computed","_a","t","locale","useI18n","validationMessages","onMounted","draftIDs","hubUrl","idunique","node","id","resolve","isNil","request","res","axios","idformatvalid"],"mappings":";;;;;;;;;;;;;;;;;;;6CAmFeA,IAAA;AAAA,EACb,OAAO,CAAC,SAAS;AACnB;;;AA5EA,QAAIC,IAAMC,EAAkB,EAAG,WAAW,IAAI,OAAO,iBAAiB;AAEtE,UAAMC,IAAQC,EAAQ,GAChBC,IAAaC,EAAa,GAC1BC,IAAcC,EAAI,aAAa,QAAQ,eAAe,KAAK,EAAK,GAChEC,IAAaC,EAAS;;AAAM,cAAC,GAACC,IAAAN,EAAW,MAAM,SAAjB,QAAAM,EAAuB;AAAA,KAAO,GAE5D,EAAE,GAAAC,GAAG,QAAAC,MAAWC,EAAQ,EAAE,UAAU,SAAQ,CAAE,GAE9CC,IAAqBP,EAAI;AAAA,MAC7B,eAAe;AAAA,MACf,UAAU;AAAA,MACV,UAAU;AAAA,IAEZ,CAAC;AAED,IAAAQ,EAAU,MAAM;AAEd,MAAAD,EAAmB,MAAM,gBAAgBH,EAAE,qDAAqD,GAChGG,EAAmB,MAAM,WAAWH,EAAE,iDAAiD,GACvFG,EAAmB,MAAM,WAAWH,EAAE,gDAAgD;AAAA,IACxF,CAAC;AAED,UAAMK,IAAWd,EAAM,QAAQ,sBAAsB,GAC/Ce,IAASjB,EAAI,IAAI;AACvB,aAASkB,EAASC,GAAM;AACtB,YAAMC,IAAKD,KAAA,gBAAAA,EAAM;AAEjB,aAAO,IAAI,QAAQ,OAAOE,MAAY;AAIpC,SAAIC,EAAMF,CAAE,KAAKA,MAAO,MAAMA,MAAO,WAAWC,EAAQ,EAAI,IAEhCL,KAAA,gBAAAA,EAAU,SAASI,OACtBC,EAAQ,EAAK;AAEtC,cAAME,IAAU,GAAGN,CAAM,YAAYG,CAAE;AACvC,YAAI;AACF,gBAAMI,IAAM,MAAMC,EAAM,KAAKF,CAAO;AAGpC,UADoB,EAAEC,EAAI,UAAU,OAAOA,EAAI,SAAS,QACvCH,EAAQ,EAAK;AAAA,QAC/B,QAAe;AAEd,UAAAA,EAAQ,EAAI;AAAA,QACd;AAEA,QAAAA,EAAQ,EAAK;AAAA,MACjB,CAAG;AAAA,IACH;AAEA,aAASK,EAAcP,GAAM;AAC3B,aAAO,eAAe,KAAKA,EAAK,KAAK;AAAA,IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"UniqueIdentifierInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/UniqueIdentifierInput.vue"],"sourcesContent":["<script setup>\nimport { ref, onMounted, watchEffect, computed } from 'vue'\nimport { useRoute } from 'vue-router';\nimport { isNil } from 'lodash';\nimport axios from 'axios';\nimport { useStore } from 'vuex';\nimport { getCurrentInstance } from \"vue\";\nimport { useI18n } from 'vue-i18n';\nimport { useDpiContext } from '../composables';\nlet env = getCurrentInstance().appContext.app.config.globalProperties.$env;\n\nconst store = useStore();\nconst dpiContext = useDpiContext();\nconst isDuplicate = ref(localStorage.getItem('dpi_duplicate') || false);\nconst isEditMode = computed(() => !!dpiContext.value.edit?.enabled)\n\nconst { t, locale } = useI18n({ useScope: 'global' });\n\nconst validationMessages = ref({\n idformatvalid: \"\",\n idunique: \"\",\n required: \"\"\n\n});\n\nonMounted(() => {\n // This is kind of buggy, its taking the strings from the wrong json (de and en is switched)\n validationMessages.value.idformatvalid = t('message.dataupload.datasets.datasetID.invalidFormat');\n validationMessages.value.idunique = t('message.dataupload.datasets.datasetID.duplicate');\n validationMessages.value.required = t('message.dataupload.datasets.datasetID.required');\n});\n\nconst draftIDs = store.getters['auth/getUserDraftIds'];\nconst hubUrl = env.api.hubUrl;\nfunction idunique(node) {\n const id = node?.value;\n\n return new Promise(async (resolve) => {\n // resolve(true) -> datasetId is unique\n // resolve(false) -> datasetId is not unique\n\n if (isNil(id) || id === '' || id === undefined) resolve(true)\n\n const existIdInUserDrafts = draftIDs?.includes(id)\n if (existIdInUserDrafts) resolve(false)\n\n const request = `${hubUrl}datasets/${id}?useNormalizedId=true`;\n try {\n const res = await axios.head(request);\n // if 2xx -> datsetId is not unique -> validation error\n const isNotUnique = !(res.status >= 200 && res.status < 300);\n if (isNotUnique) resolve(false)\n } catch (error) {\n // if 404 -> datasetId is unique\n resolve(true);\n }\n\n resolve(false)\n });\n}\n\nfunction idformatvalid(node) {\n return /^[a-z0-9-]*$/.test(node.value);\n}\n\n</script>\n\n<template>\n <div class=\"formkitProperty DSid\">\n <h4>{{ $t(`message.dataupload.datasets.datasetID.label`) }}</h4>\n <FormKit v-if=\"!isEditMode || isDuplicate\" type=\"text\" name=\"datasetID\" id=\"datasetID\"\n :placeholder=\"$t(`message.dataupload.datasets.datasetID.label`)\"\n :info=\"$t(`message.dataupload.datasets.datasetID.info`)\" :help=\"$t(`message.dataupload.datasets.datasetID.help`)\"\n :validation-rules=\"{ idformatvalid, idunique }\" validation=\"required|idformatvalid|(900)idunique\"\n validation-visibility=\"live\" :validation-messages=\"validationMessages\" outer-class=\"formkitCmpWrap p-3\">\n </FormKit>\n <FormKit v-else type=\"text\" name=\"datasetID\" id=\"datasetID\" :disabled=\"true\"\n :info=\"$t(`message.dataupload.datasets.datasetID.info`)\" :help=\"$t(`message.dataupload.datasets.datasetID.help`)\">\n </FormKit>\n </div>\n</template>\n\n<script>\nexport default {\n props: ['context']\n}\n</script>\n\n<style></style>\n"],"names":["__default__","env","getCurrentInstance","store","useStore","dpiContext","useDpiContext","isDuplicate","ref","isEditMode","computed","_a","t","locale","useI18n","validationMessages","onMounted","draftIDs","hubUrl","idunique","node","id","resolve","isNil","request","res","axios","idformatvalid","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","$t","_createBlock","_component_FormKit"],"mappings":";;;;;;;;;;;;;;;;;;;6CAmFeA,IAAA;AAAA,EACb,OAAO,CAAC,SAAS;AACnB;;;AA5EA,QAAIC,IAAMC,EAAkB,EAAG,WAAW,IAAI,OAAO,iBAAiB;AAEtE,UAAMC,IAAQC,EAAQ,GAChBC,IAAaC,EAAa,GAC1BC,IAAcC,EAAI,aAAa,QAAQ,eAAe,KAAK,EAAK,GAChEC,IAAaC,EAAS;;AAAM,cAAC,GAACC,IAAAN,EAAW,MAAM,SAAjB,QAAAM,EAAuB;AAAA,KAAO,GAE5D,EAAE,GAAAC,GAAG,QAAAC,MAAWC,EAAQ,EAAE,UAAU,SAAQ,CAAE,GAE9CC,IAAqBP,EAAI;AAAA,MAC7B,eAAe;AAAA,MACf,UAAU;AAAA,MACV,UAAU;AAAA,IAEZ,CAAC;AAED,IAAAQ,EAAU,MAAM;AAEd,MAAAD,EAAmB,MAAM,gBAAgBH,EAAE,qDAAqD,GAChGG,EAAmB,MAAM,WAAWH,EAAE,iDAAiD,GACvFG,EAAmB,MAAM,WAAWH,EAAE,gDAAgD;AAAA,IACxF,CAAC;AAED,UAAMK,IAAWd,EAAM,QAAQ,sBAAsB,GAC/Ce,IAASjB,EAAI,IAAI;AACvB,aAASkB,EAASC,GAAM;AACtB,YAAMC,IAAKD,KAAA,gBAAAA,EAAM;AAEjB,aAAO,IAAI,QAAQ,OAAOE,MAAY;AAIpC,SAAIC,EAAMF,CAAE,KAAKA,MAAO,MAAMA,MAAO,WAAWC,EAAQ,EAAI,IAEhCL,KAAA,gBAAAA,EAAU,SAASI,OACtBC,EAAQ,EAAK;AAEtC,cAAME,IAAU,GAAGN,CAAM,YAAYG,CAAE;AACvC,YAAI;AACF,gBAAMI,IAAM,MAAMC,EAAM,KAAKF,CAAO;AAGpC,UADoB,EAAEC,EAAI,UAAU,OAAOA,EAAI,SAAS,QACvCH,EAAQ,EAAK;AAAA,QAC/B,QAAe;AAEd,UAAAA,EAAQ,EAAI;AAAA,QACd;AAEA,QAAAA,EAAQ,EAAK;AAAA,MACjB,CAAG;AAAA,IACH;AAEA,aAASK,EAAcP,GAAM;AAC3B,aAAO,eAAe,KAAKA,EAAK,KAAK;AAAA,IACvC;;;AAKE,aAAAQ,EAAA,GAAAC,EAWM,OAXNC,GAWM;AAAA,QAVJC,EAAgE,cAAzDC,EAAE,GAAA,6CAAA,CAAA,GAAA,CAAA;AAAA;QACO,CAAAvB,EAAA,SAAcF,EAAW,cAAzC0B,EAKUC,GAAA;AAAA;UALiC,MAAK;AAAA,UAAO,MAAK;AAAA,UAAY,IAAG;AAAA,UACxE,aAAaF,EAAE,GAAA,6CAAA;AAAA,UACf,MAAMA,EAAE,GAAA,4CAAA;AAAA,UAAiD,MAAMA,EAAE,GAAA,4CAAA;AAAA,UACjE,oBAAgB,EAAA,eAAIL,GAAa,UAAER,EAAQ;AAAA,UAAI,YAAW;AAAA,UAC3D,yBAAsB;AAAA,UAAQ,uBAAqBJ,EAAkB;AAAA,UAAE,eAAY;AAAA,yGAErFkB,EAEUC,GAAA;AAAA;UAFM,MAAK;AAAA,UAAO,MAAK;AAAA,UAAY,IAAG;AAAA,UAAa,UAAU;AAAA,UACpE,MAAMF,EAAE,GAAA,4CAAA;AAAA,UAAiD,MAAMA,EAAE,GAAA,4CAAA;AAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/WidgetInput.vue"],"sourcesContent":["<template>\n <div class=\"formkitProperty\">\n <h4 class=\"\">Tag</h4>\n\n <div class=\"formkitCmpWrap d-flex p-3 w-100\">\n\n <div class=\"formkit-inner\">\n <input readonly=\"\" placeholder=\"Wählen Sie die Art des Widgets aus\" class=\"formkit-input\" type=\"text\"\n name=\"mode\" aria-required=\"true\" :value=\"widgetType\" aria-describedby=\"input_164-rule_required\"\n @click=\"activeList = !activeList\">\n <ul ref=\"dropdownListWidget\" v-show=\"activeList\" class=\"autocompleteResultList\">\n <li v-for=\"match in matches\" :key=\"match\" @click=\"setValue(match); activeList = !activeList\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{ match\n }}\n </li>\n </ul>\n </div>\n\n <!-- Liste Distribution/ Widget/ Report --- leading kann nur 1 sein und auch nur ein widget -->\n <button class=\"ml-3 widgetButton\" v-if=\"widgetType === 'Widget'\"\n :class=\"{ activeLeading: props.context.value && props.context.value['lead'] === 'true' }\" type=\"button\" @click=\"isLeading\">\n Leading\n </button>\n </div>\n </div>\n\n\n\n</template>\n<script setup>\nimport { ref, watch } from 'vue';\nimport { getNode } from '@formkit/core'\n\nconst props = defineProps({\n context: Object\n})\nlet disList = ref(getNode('Distributions').value['distributionList'])\nlet activeButton = ref(false)\n\nconst isLeading = () => {\n\n checkForLead()\n\n // console.log(!activeLeadingWidget.value);\n if (!activeLeadingWidget.value) {\n props.context.node.input({ '@Tag': 'LeadingWidget', 'lead': 'true' })\n activeButton.value = !activeButton.value\n } else {\n activeLeadingWidget.value = false\n activeButton.value = false\n widgetType.value = \"Widget\"\n props.context.node.input({ '@Tag': 'Widget', 'lead': 'false' })\n }\n\n}\nconst activeList = ref(false)\nconst matches = ref(['Distribution', 'Widget', 'Report'])\nlet activeLeadingWidget = ref(false)\nlet widgetType = ref('')\n\n\n// Init every dis as distribution if there's nothing set - default state\n\n// console.log(props.context.value);\n\nif (props.context.value != undefined) {\n if (props.context.value['@Tag'] === 'LeadingWidget') {\n widgetType.value = 'Widget'\n } else widgetType.value = props.context.value['@Tag']\n} else widgetType.value = 'Distribution'\n\n// console.log(widgetType.value);\n\n\nconst checkForLead = () => {\n disList.value = getNode('Distributions').value['distributionList']\n for (let index = 0; index < disList.value.length; index++) {\n try {\n if (disList.value[index]['Mandatory']['pv:distributionType']['lead'] != undefined || disList.value[index]['Mandatory']['pv:distributionType']['lead'] === \"true\") {\n activeLeadingWidget.value = true\n }\n } catch (error) {\n\n }\n\n // console.log('Is lead?',disList.value[index]['Mandatory']['pv:distributionType']['lead'], activeLeadingWidget.value);\n }\n}\ncheckForLead()\nconst setValue = (item) => {\n // console.log('Item ####', item);\n checkForLead()\n props.context.node.input(item)\n widgetType.value = item\n}\n</script>\n<style scoped>\n.formkit-inner:focus-within {\n margin-top: 0;\n}\n\n.formkit-inner {\n\n flex-grow: 1;\n\n}\n\n.formkitCmpWrap {\n position: relative;\n}\n\n.widgetButton {\n border-color: lightgray;\n\n &:hover {\n background-color: green;\n color: white;\n }\n\n}\n\n.activeLeading {\n background-color: green;\n color: white;\n border-color: green;\n\n}\n</style>"],"names":["props","__props","disList","ref","getNode","activeButton","isLeading","checkForLead","activeLeadingWidget","widgetType","activeList","matches","index","setValue","item"],"mappings":";;;;;;;;;;;;;AAiCA,UAAMA,IAAQC;AAGX,QAACC,IAAUC,EAAIC,EAAQ,eAAe,EAAE,MAAM,gBAAmB,GAChEC,IAAeF,EAAI,EAAK;AAE5B,UAAMG,IAAY,MAAM;AAEpB,MAAAC,EAAa,GAGRC,EAAoB,SAIrBA,EAAoB,QAAQ,IAC5BH,EAAa,QAAQ,IACrBI,EAAW,QAAQ,UACnBT,EAAM,QAAQ,KAAK,MAAM,EAAE,QAAQ,UAAU,MAAQ,SAAS,MAN9DA,EAAM,QAAQ,KAAK,MAAM,EAAE,QAAQ,iBAAiB,MAAQ,QAAQ,GACpEK,EAAa,QAAQ,CAACA,EAAa;AAAA,IAQ3C,GACMK,IAAaP,EAAI,EAAK,GACtBQ,IAAUR,EAAI,CAAC,gBAAgB,UAAU,QAAQ,CAAC;AACxD,QAAIK,IAAsBL,EAAI,EAAK,GAC/BM,IAAaN,EAAI,EAAE;AAOvB,IAAIH,EAAM,QAAQ,SAAS,OACnBA,EAAM,QAAQ,MAAM,MAAM,MAAM,kBAChCS,EAAW,QAAQ,WAChBA,EAAW,QAAQT,EAAM,QAAQ,MAAM,MAAM,IACjDS,EAAW,QAAQ;AAK1B,UAAMF,IAAe,MAAM;AACvB,MAAAL,EAAQ,QAAQE,EAAQ,eAAe,EAAE,MAAM;AAC/C,eAASQ,IAAQ,GAAGA,IAAQV,EAAQ,MAAM,QAAQU;AAC9C,YAAI;AACA,WAAIV,EAAQ,MAAMU,CAAK,EAAE,UAAa,qBAAqB,EAAE,QAAW,QAAaV,EAAQ,MAAMU,CAAK,EAAE,UAAa,qBAAqB,EAAE,SAAY,YACtJJ,EAAoB,QAAQ;AAAA,QAEnC,QAAe;AAAA,QAEhB;AAAA,IAIR;AACA,IAAAD,EAAa;AACb,UAAMM,IAAW,CAACC,MAAS;AAEvB,MAAAP,EAAa,GACbP,EAAM,QAAQ,KAAK,MAAMc,CAAI,GAC7BL,EAAW,QAAQK;AAAA,IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"WidgetInput.vue.mjs","sources":["../../../lib/data-provider-interface/components/WidgetInput.vue"],"sourcesContent":["<template>\n <div class=\"formkitProperty\">\n <h4 class=\"\">Tag</h4>\n\n <div class=\"formkitCmpWrap d-flex p-3 w-100\">\n\n <div class=\"formkit-inner\">\n <input readonly=\"\" placeholder=\"Wählen Sie die Art des Widgets aus\" class=\"formkit-input\" type=\"text\"\n name=\"mode\" aria-required=\"true\" :value=\"widgetType\" aria-describedby=\"input_164-rule_required\"\n @click=\"activeList = !activeList\">\n <ul ref=\"dropdownListWidget\" v-show=\"activeList\" class=\"autocompleteResultList\">\n <li v-for=\"match in matches\" :key=\"match\" @click=\"setValue(match); activeList = !activeList\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{ match\n }}\n </li>\n </ul>\n </div>\n\n <!-- Liste Distribution/ Widget/ Report --- leading kann nur 1 sein und auch nur ein widget -->\n <button class=\"ml-3 widgetButton\" v-if=\"widgetType === 'Widget'\"\n :class=\"{ activeLeading: props.context.value && props.context.value['lead'] === 'true' }\" type=\"button\" @click=\"isLeading\">\n Leading\n </button>\n </div>\n </div>\n\n\n\n</template>\n<script setup>\nimport { ref, watch } from 'vue';\nimport { getNode } from '@formkit/core'\n\nconst props = defineProps({\n context: Object\n})\nlet disList = ref(getNode('Distributions').value['distributionList'])\nlet activeButton = ref(false)\n\nconst isLeading = () => {\n\n checkForLead()\n\n // console.log(!activeLeadingWidget.value);\n if (!activeLeadingWidget.value) {\n props.context.node.input({ '@Tag': 'LeadingWidget', 'lead': 'true' })\n activeButton.value = !activeButton.value\n } else {\n activeLeadingWidget.value = false\n activeButton.value = false\n widgetType.value = \"Widget\"\n props.context.node.input({ '@Tag': 'Widget', 'lead': 'false' })\n }\n\n}\nconst activeList = ref(false)\nconst matches = ref(['Distribution', 'Widget', 'Report'])\nlet activeLeadingWidget = ref(false)\nlet widgetType = ref('')\n\n\n// Init every dis as distribution if there's nothing set - default state\n\n// console.log(props.context.value);\n\nif (props.context.value != undefined) {\n if (props.context.value['@Tag'] === 'LeadingWidget') {\n widgetType.value = 'Widget'\n } else widgetType.value = props.context.value['@Tag']\n} else widgetType.value = 'Distribution'\n\n// console.log(widgetType.value);\n\n\nconst checkForLead = () => {\n disList.value = getNode('Distributions').value['distributionList']\n for (let index = 0; index < disList.value.length; index++) {\n try {\n if (disList.value[index]['Mandatory']['pv:distributionType']['lead'] != undefined || disList.value[index]['Mandatory']['pv:distributionType']['lead'] === \"true\") {\n activeLeadingWidget.value = true\n }\n } catch (error) {\n\n }\n\n // console.log('Is lead?',disList.value[index]['Mandatory']['pv:distributionType']['lead'], activeLeadingWidget.value);\n }\n}\ncheckForLead()\nconst setValue = (item) => {\n // console.log('Item ####', item);\n checkForLead()\n props.context.node.input(item)\n widgetType.value = item\n}\n</script>\n<style scoped>\n.formkit-inner:focus-within {\n margin-top: 0;\n}\n\n.formkit-inner {\n\n flex-grow: 1;\n\n}\n\n.formkitCmpWrap {\n position: relative;\n}\n\n.widgetButton {\n border-color: lightgray;\n\n &:hover {\n background-color: green;\n color: white;\n }\n\n}\n\n.activeLeading {\n background-color: green;\n color: white;\n border-color: green;\n\n}\n</style>"],"names":["props","__props","disList","ref","getNode","activeButton","isLeading","checkForLead","activeLeadingWidget","widgetType","activeList","matches","index","setValue","item","_openBlock","_createElementBlock","_hoisted_1","_cache","_createElementVNode","_hoisted_2","_hoisted_3","_unref","$event","_withDirectives","_hoisted_5","_Fragment","_renderList","match","_hoisted_6","_normalizeClass"],"mappings":";;;;;;;;;;;;;AAiCA,UAAMA,IAAQC;AAGd,QAAIC,IAAUC,EAAIC,EAAQ,eAAe,EAAE,MAAM,gBAAmB,GAChEC,IAAeF,EAAI,EAAK;AAE5B,UAAMG,IAAY,MAAM;AAEpB,MAAAC,EAAa,GAGRC,EAAoB,SAIrBA,EAAoB,QAAQ,IAC5BH,EAAa,QAAQ,IACrBI,EAAW,QAAQ,UACnBT,EAAM,QAAQ,KAAK,MAAM,EAAE,QAAQ,UAAU,MAAQ,SAAS,MAN9DA,EAAM,QAAQ,KAAK,MAAM,EAAE,QAAQ,iBAAiB,MAAQ,QAAQ,GACpEK,EAAa,QAAQ,CAACA,EAAa;AAAA,IAQ3C,GACMK,IAAaP,EAAI,EAAK,GACtBQ,IAAUR,EAAI,CAAC,gBAAgB,UAAU,QAAQ,CAAC;AACxD,QAAIK,IAAsBL,EAAI,EAAK,GAC/BM,IAAaN,EAAI,EAAE;AAOvB,IAAIH,EAAM,QAAQ,SAAS,OACnBA,EAAM,QAAQ,MAAM,MAAM,MAAM,kBAChCS,EAAW,QAAQ,WAChBA,EAAW,QAAQT,EAAM,QAAQ,MAAM,MAAM,IACjDS,EAAW,QAAQ;AAK1B,UAAMF,IAAe,MAAM;AACvB,MAAAL,EAAQ,QAAQE,EAAQ,eAAe,EAAE,MAAM;AAC/C,eAASQ,IAAQ,GAAGA,IAAQV,EAAQ,MAAM,QAAQU;AAC9C,YAAI;AACA,WAAIV,EAAQ,MAAMU,CAAK,EAAE,UAAa,qBAAqB,EAAE,QAAW,QAAaV,EAAQ,MAAMU,CAAK,EAAE,UAAa,qBAAqB,EAAE,SAAY,YACtJJ,EAAoB,QAAQ;AAAA,QAEnC,QAAe;AAAA,QAEhB;AAAA,IAIR;AACA,IAAAD,EAAa;AACb,UAAMM,IAAW,CAACC,MAAS;AAEvB,MAAAP,EAAa,GACbP,EAAM,QAAQ,KAAK,MAAMc,CAAI,GAC7BL,EAAW,QAAQK;AAAA,IACvB;sBA7FIC,EAAA,GAAAC,EAuBM,OAvBNC,GAuBM;AAAA,MAtBFC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAqB,MAAjB,EAAA,OAAM,GAAE,GAAC,OAAG,EAAA;AAAA;MAEhBA,EAmBM,OAnBNC,GAmBM;AAAA,QAjBFD,EAUM,OAVNE,GAUM;AAAA,UATFF,EAEsC,SAAA;AAAA,YAF/B,UAAS;AAAA,YAAG,aAAY;AAAA,YAAqC,OAAM;AAAA,YAAgB,MAAK;AAAA,YAC3F,MAAK;AAAA,YAAO,iBAAc;AAAA,YAAQ,OAAOG,EAAUb,CAAA;AAAA,YAAE,oBAAiB;AAAA,YACrE,SAAKS,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAK,MAAEb,EAAU,QAAA,CAAIA,EAAU;AAAA;;UACpCc,EAAAL,EAKK,MALLM,GAKK;AAAA,oBAJDT,EAGKU,GAAA,MAAAC,EAHehB,EAAO,OAAA,CAAhBiB,YAAXZ,EAGK,MAAA;AAAA,cAHyB,KAAKY;AAAA,cAAQ;AAAO,gBAAAf,EAASe,CAAK,GAAGlB,EAAA,SAAcA,EAAU;AAAA,cAAA;AAAA,cACvF,OAAM;AAAA,iBAAoFkB,CAAK,GAAA,GAAAC,CAAA;;gBAFlEnB,EAAU,KAAA;AAAA;;;QASXY,EAAUb,CAAA,MAAA,iBAAlDO,EAGS,UAAA;AAAA;UAHD,OAAMc,EAAA,CAAA,qBACe,EAAA,eAAA9B,EAAM,QAAQ,SAASA,EAAM,QAAQ,MAAK,SAAA,OAAA,CAAA,CAAA;AAAA,UAAuB,MAAK;AAAA,UAAU,SAAOM;AAAA,WAAW;AAAA;AAAA,eAE/H,CAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DistributionInputPage.vue.mjs","sources":["../../../lib/data-provider-interface/views/DistributionInputPage.vue"],"sourcesContent":["<template>\n <h1>{{ $t('message.dataupload.info.distributions') }}</h1>\n <hr>\n <div name=\"distribution-stepper-list\" class=\"distributionsListClass\">\n\n <FormKit type=\"list\" name=\"distributionList\">\n\n <section v-for=\"(dist, index) in list.disList\" :key=\"index\" class=\"distributionOuter\">\n <div class=\"d-flex m-4 align-items-center justify-content-between\">\n <h2 class=\"m-0\">Distribution {{ index + 1 }}</h2>\n <div>\n <button class=\"btn btn-secondary\" type=\"button\" @click=\"editDis(index)\">{{ $t('message.datasetDetails.edit')\n }}</button>\n <button class=\"btn btn-secondary\" type=\"button\" @click=\"removeDis(index)\">{{\n $t('message.datasetDetails.delete') }}</button>\n </div>\n </div>\n <div class=\"disInputWrapper\" :class=\"{ 'd-none': !list.disList[index].isActive }\">\n <DistributionStepper :name=\"dist.name\" :index=\"index\" :schema=\"props.schema\" :values=\"props.values\"\n :distributionList=\"disIndex\">\n </DistributionStepper>\n\n </div>\n\n </section>\n </FormKit>\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"addDistribution\">{{ $t('message.dataupload.info.newDistribution')\n }}</button>\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"deleteAllDistributions\">{{\n $t('message.dataupload.info.deleteDistribution') }}</button>\n\n </div>\n</template>\n<script setup>\nimport { ref, onMounted, nextTick, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport DistributionStepper from '../components/DistributionStepper.vue';\nimport { cloneDeep } from 'lodash';\nimport { useDpiStepper } from '../composables/useDpiStepper';\n\nconst props = defineProps({\n values: Object,\n schema: Object,\n})\n\nconst disIndex = ref([])\nconst store = useStore();\n\nconst list = ref({\n disList: [],\n})\nonMounted(async () => {\n // Load DOM\n await nextTick()\n if (props.values.Distributions.distributionList.length != 0) {\n for (let index = 0; index < props.values.Distributions.distributionList.length; index++) {\n disIndex.value.push('distribution ' + index)\n list.value.disList.push({ 'name': 'distribution ' + index, 'isActive': false })\n }\n }\n})\nconst addDistribution = () => {\n list.value.disList.push({ 'name': 'distribution ' + list.value.disList.length, 'isActive': false })\n editDis(list.value.disList.length - 1)\n}\nconst editDis = (i) => {\n list.value.disList.forEach((el, index) => {\n if (i != index) {\n el.isActive = false\n }\n }\n )\n list.value.disList[i].isActive = !list.value.disList[i].isActive\n}\nconst removeDis = (i) => {\n const newValues = cloneDeep(props.values);\n newValues.Distributions.distributionList.splice(i, 1);\n\n store.dispatch('dpiStore/saveFormValues', { property: 'datasets', values: newValues });\n list.value.disList.splice(i, 1)\n}\nconst deleteAllDistributions = () => {\n const newValues = cloneDeep(props.values);\n newValues.Distributions.distributionList = [];\n store.dispatch('dpiStore/saveFormValues', { property: 'datasets', values: newValues });\n\n list.value.disList = []\n}\n\n\n</script>"],"names":["props","__props","disIndex","ref","store","useStore","list","onMounted","nextTick","index","addDistribution","editDis","i","el","removeDis","newValues","cloneDeep","deleteAllDistributions"],"mappings":";;;;;;;;;;;;;;;AAwCA,UAAMA,IAAQC,GAKRC,IAAWC,EAAI,EAAE,GACjBC,IAAQC,EAAQ,GAEhBC,IAAOH,EAAI;AAAA,MACf,SAAS,CAAE;AAAA,IACb,CAAC;AACD,IAAAI,EAAU,YAAY;AAGpB,UADA,MAAMC,EAAS,GACXR,EAAM,OAAO,cAAc,iBAAiB,UAAU;AACxD,iBAASS,IAAQ,GAAGA,IAAQT,EAAM,OAAO,cAAc,iBAAiB,QAAQS;AAC9E,UAAAP,EAAS,MAAM,KAAK,kBAAkBO,CAAK,GAC3CH,EAAK,MAAM,QAAQ,KAAK,EAAE,MAAQ,kBAAkBG,GAAO,UAAY,IAAO;AAAA,IAGpF,CAAC;AACD,UAAMC,IAAkB,MAAM;AAC5B,MAAAJ,EAAK,MAAM,QAAQ,KAAK,EAAE,MAAQ,kBAAkBA,EAAK,MAAM,QAAQ,QAAQ,UAAY,GAAK,CAAE,GAClGK,EAAQL,EAAK,MAAM,QAAQ,SAAS,CAAC;AAAA,IACvC,GACMK,IAAU,CAACC,MAAM;AACrB,MAAAN,EAAK,MAAM,QAAQ;AAAA,QAAQ,CAACO,GAAIJ,MAAU;AACxC,UAAIG,KAAKH,MACPI,EAAG,WAAW;AAAA,QAElB;AAAA,MACA,GACAP,EAAK,MAAM,QAAQM,CAAC,EAAE,WAAW,CAACN,EAAK,MAAM,QAAQM,CAAC,EAAE;AAAA,IAC1D,GACME,IAAY,CAACF,MAAM;AACvB,YAAMG,IAAYC,EAAUhB,EAAM,MAAM;AACxC,MAAAe,EAAU,cAAc,iBAAiB,OAAOH,GAAG,CAAC,GAEpDR,EAAM,SAAS,2BAA2B,EAAE,UAAU,YAAY,QAAQW,EAAS,CAAE,GACrFT,EAAK,MAAM,QAAQ,OAAOM,GAAG,CAAC;AAAA,IAChC,GACMK,IAAyB,MAAM;AACnC,YAAMF,IAAYC,EAAUhB,EAAM,MAAM;AACxC,MAAAe,EAAU,cAAc,mBAAmB,IAC3CX,EAAM,SAAS,2BAA2B,EAAE,UAAU,YAAY,QAAQW,EAAS,CAAE,GAErFT,EAAK,MAAM,UAAU,CAAC;AAAA,IACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DistributionInputPage.vue.mjs","sources":["../../../lib/data-provider-interface/views/DistributionInputPage.vue"],"sourcesContent":["<template>\n <h1>{{ $t('message.dataupload.info.distributions') }}</h1>\n <hr>\n <div name=\"distribution-stepper-list\" class=\"distributionsListClass\">\n\n <FormKit type=\"list\" name=\"distributionList\">\n\n <section v-for=\"(dist, index) in list.disList\" :key=\"index\" class=\"distributionOuter\">\n <div class=\"d-flex m-4 align-items-center justify-content-between\">\n <h2 class=\"m-0\">Distribution {{ index + 1 }}</h2>\n <div>\n <button class=\"btn btn-secondary\" type=\"button\" @click=\"editDis(index)\">{{ $t('message.datasetDetails.edit')\n }}</button>\n <button class=\"btn btn-secondary\" type=\"button\" @click=\"removeDis(index)\">{{\n $t('message.datasetDetails.delete') }}</button>\n </div>\n </div>\n <div class=\"disInputWrapper\" :class=\"{ 'd-none': !list.disList[index].isActive }\">\n <DistributionStepper :name=\"dist.name\" :index=\"index\" :schema=\"props.schema\" :values=\"props.values\"\n :distributionList=\"disIndex\">\n </DistributionStepper>\n\n </div>\n\n </section>\n </FormKit>\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"addDistribution\">{{ $t('message.dataupload.info.newDistribution')\n }}</button>\n <button type=\"button\" class=\"btn btn-secondary\" @click=\"deleteAllDistributions\">{{\n $t('message.dataupload.info.deleteDistribution') }}</button>\n\n </div>\n</template>\n<script setup>\nimport { ref, onMounted, nextTick, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport DistributionStepper from '../components/DistributionStepper.vue';\nimport { cloneDeep } from 'lodash';\nimport { useDpiStepper } from '../composables/useDpiStepper';\n\nconst props = defineProps({\n values: Object,\n schema: Object,\n})\n\nconst disIndex = ref([])\nconst store = useStore();\n\nconst list = ref({\n disList: [],\n})\nonMounted(async () => {\n // Load DOM\n await nextTick()\n if (props.values.Distributions.distributionList.length != 0) {\n for (let index = 0; index < props.values.Distributions.distributionList.length; index++) {\n disIndex.value.push('distribution ' + index)\n list.value.disList.push({ 'name': 'distribution ' + index, 'isActive': false })\n }\n }\n})\nconst addDistribution = () => {\n list.value.disList.push({ 'name': 'distribution ' + list.value.disList.length, 'isActive': false })\n editDis(list.value.disList.length - 1)\n}\nconst editDis = (i) => {\n list.value.disList.forEach((el, index) => {\n if (i != index) {\n el.isActive = false\n }\n }\n )\n list.value.disList[i].isActive = !list.value.disList[i].isActive\n}\nconst removeDis = (i) => {\n const newValues = cloneDeep(props.values);\n newValues.Distributions.distributionList.splice(i, 1);\n\n store.dispatch('dpiStore/saveFormValues', { property: 'datasets', values: newValues });\n list.value.disList.splice(i, 1)\n}\nconst deleteAllDistributions = () => {\n const newValues = cloneDeep(props.values);\n newValues.Distributions.distributionList = [];\n store.dispatch('dpiStore/saveFormValues', { property: 'datasets', values: newValues });\n\n list.value.disList = []\n}\n\n\n</script>"],"names":["props","__props","disIndex","ref","store","useStore","list","onMounted","nextTick","index","addDistribution","editDis","i","el","removeDis","newValues","cloneDeep","deleteAllDistributions","_createElementVNode","$t","_hoisted_1","_createVNode","_component_FormKit","_openBlock","_createElementBlock","_Fragment","dist","_hoisted_2","_hoisted_3","$event","_hoisted_4","_hoisted_5","_normalizeClass","DistributionStepper"],"mappings":"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"}
@@ -5,8 +5,8 @@ declare const _default: import('vue').DefineComponent<{
5
5
  distributionToDelete: number;
6
6
  distributionData: never[];
7
7
  }, {
8
- getData: import('vuex').Computed;
9
8
  getNavSteps: import('vuex').Computed;
9
+ getData: import('vuex').Computed;
10
10
  getNumberOfDistributions: import('vuex').Computed;
11
11
  }, {
12
12
  truncate: typeof truncate;
@@ -18,9 +18,9 @@ declare const _default: import('vue').DefineComponent<{
18
18
  titleExists(data: any): boolean;
19
19
  descriptionExists(data: any): boolean;
20
20
  accessExists(data: any): boolean;
21
+ deleteDistribution: import('vuex').ActionMethod;
21
22
  saveLocalstorageValues: import('vuex').ActionMethod;
22
23
  addDistribution: import('vuex').ActionMethod;
23
- deleteDistribution: import('vuex').ActionMethod;
24
24
  setDeleteDistributionInline: import('vuex').ActionMethod;
25
25
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
26
26
  distributionOverviewPage?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"DistributionOverview.vue.mjs","sources":["../../../lib/data-provider-interface/views/DistributionOverview.vue"],"sourcesContent":["<template>\n <div>\n <div class=\"dist-list\">\n <h3>{{ $t('message.metadata.distributions') }}</h3>\n <hr>\n <ul class=\"list-unstyled\" v-if=\"getData('distributions').length > 0\">\n <li v-for=\"(dist, i) in getData('distributions')\" :key=\"i\" class=\"dist-item\">\n \n <div class=\"dist-details\">\n <div class=\"dist-info\">\n <!-- accessURL is always an array of URIs, first one might be enough for displaying -->\n <span v-if=\"accessExists(dist)\" style=\"font-weight: bold\">{{ dist['dcat:accessURL'][0]['@id']\n }}</span><br />\n\n <!-- title and description always an array, first valu emights be enough for displaying-->\n <span v-if=\"titleExists(dist)\" style=\"color: #868e96\">{{ dist['dct:title'][0]['@value'] }}<br /></span>\n <span v-if=\"descriptionExists(dist)\" style=\"color: #868e96\">{{ dist['dct:description'][0]['@value']\n }}</span>\n </div>\n <div class=\"dist-edit justify-content-end\">\n <span @click=\"redirectToDistributionForm(i)\" class=\"dist-edit-button p-2\"><svg\n xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"25\" fill=\"currentColor\"\n class=\"bi bi-pencil-square\" viewBox=\"0 0 16 16\">\n <path\n d=\"M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z\" />\n <path fill-rule=\"evenodd\"\n d=\"M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z\" />\n </svg></span>\n <span @click=\"triggerDeleteModal(i)\" class=\"dist-delete-button p-2\"><svg xmlns=\"http://www.w3.org/2000/svg\"\n width=\"25\" height=\"25\" fill=\"currentColor\" class=\"bi bi-x-circle\" viewBox=\"0 0 16 16\">\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\" />\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\" />\n </svg></span>\n </div>\n </div>\n </li>\n </ul>\n <ul v-else class=\"list-unstyled\">\n <li>{{ $t('message.dataupload.noDistributions') }}</li>\n </ul>\n <button class=\"default\" v-if=\"distributionOverviewPage\" @click=\"createDistribution\">{{\n $t('message.dataupload.newDistribution') }}</button>\n </div>\n <div class=\"modal fade\" id=\"deleteDistributionModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"deleteModalLabel\"\n aria-hidden=\"true\" data-cy=\"citation-modal\">\n <div class=\"modal-dialog modal-lg\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-title\" id=\"deleteModalLabel\">\n {{ $t('message.dataupload.deletemodal.deleteDistribution') }}\n </h2>\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <h3>{{ $t('message.dataupload.deletemodal.areyousure') }}</h3>\n <div class=\"mt-3 d-flex justify-content-start align-items-center\">\n </div>\n </div>\n <div class=\"modal-footer\">\n <button data-dismiss=\"modal\" id=\"cancel\">{{ $t('message.datasetDetails.datasets.modal.cancel') }}</button>\n <button @click=\"deleteDist()\" id=\"delete\">{{ $t('message.datasetDetails.delete') }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport $ from 'jquery';\nimport { isEmpty, has } from 'lodash-es';\nimport { mapActions, mapGetters } from 'vuex';\nimport { truncate } from '../../utils/helpers';\n\nexport default {\n props: ['distributionOverviewPage'],\n data() {\n return {\n distributionToDelete: 0,\n distributionData: [],\n };\n },\n computed: {\n ...mapGetters('dpiStore', [\n 'getNumberOfDistributions',\n 'getNavSteps',\n 'getData',\n ]),\n },\n methods: {\n ...mapActions('dpiStore', [\n 'addDistribution',\n 'saveLocalstorageValues',\n 'deleteDistribution',\n 'setDeleteDistributionInline',\n ]),\n truncate,\n deleteDist() {\n this.deleteDistribution(this.distributionToDelete);\n this.setDeleteDistributionInline(true);\n $('#deleteDistributionModal').modal('hide');\n this.$router.push({ path: `${this.$env.content.dataProviderInterface.basePath}/datasets/distoverview`, query: { locale: this.$route.query.locale } }).catch(() => { });\n },\n triggerDeleteModal(index) {\n this.distributionToDelete = index;\n $('#deleteDistributionModal').modal({ show: true });\n },\n getDistributionFormat(dist) {\n if (!isEmpty(dist['dct:format'])) {\n return dist['dct:format'].substring(dist['dct:format'].lastIndexOf('/') + 1);\n } else {\n return 'UNKNOWN';\n }\n },\n redirectToDistributionForm(distributionIndex) {\n const firstDistPage = this.getNavSteps(this.$env.content.dataProviderInterface.specification).distributions[0];\n this.$router.push({\n path: `${this.$env.content.dataProviderInterface.basePath}/distributions/${firstDistPage}/${distributionIndex}`,\n query: {\n locale: this.$route.query.locale,\n edit: distributionIndex\n }\n }).catch(() => { });\n },\n createDistribution() {\n // create an new distribution within store\n this.addDistribution();\n const distNumber = this.getNumberOfDistributions;\n const distIndex = distNumber - 1; // distributions are stored within an array and indexed by their position in array\n const firstDistPage = this.getNavSteps(this.$env.content.dataProviderInterface.specification).distributions[0];\n\n // direct to distribution input form\n this.$router.push(`${this.$env.content.dataProviderInterface.basePath}/distributions/${firstDistPage}/${distIndex}?locale=${this.$i18n.locale}`);\n },\n titleExists(data) {\n return !isEmpty(data['dct:title']) && !isEmpty(data['dct:title'][0]) && has(data['dct:title'][0], '@value') && !isEmpty(data['dct:title'][0]['@value']);\n },\n descriptionExists(data) {\n return !isEmpty(data['dct:description']) && !isEmpty(data['dct:description'][0]) && has(data['dct:description'][0], '@value') && !isEmpty(data['dct:description'][0]['@value']);\n },\n accessExists(data) {\n return !isEmpty(data['dcat:accessURL']) && !isEmpty(data['dcat:accessURL'][0]) && has(data['dcat:accessURL'][0], '@id') && !isEmpty(data['dcat:accessURL'][0]['@id']);\n },\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.dist {\n &-list {\n margin: 50px;\n }\n\n &-details {\n display: flex;\n flex: 1;\n }\n\n &-edit {\n width: 25%;\n display: flex;\n align-items: center;\n justify-content: space-evenly;\n margin-left: 5px;\n\n &-button {\n cursor: pointer;\n transition: all 0.2s ease;\n }\n &-button:hover {\n opacity: 0.5;\n transform: scale(1.1);\n color: green;\n transition: all 0.2s ease;\n }\n }\n\n &-info {\n width: 75%;\n }\n\n &-item {\n margin: 5px;\n display: flex;\n padding: 20px;\n align-items: center;\n border-bottom: .1em solid #e5e5e5;\n }\n\n &-delete {\n &-button {\n cursor: pointer;\n transition: all 0.2s ease;\n\n }\n &-button:hover {\n transform: scale(1.1);\n opacity: 0.5;\n color: red;\n transition: all 0.2s ease;\n }\n }\n}\n\nbutton {\n &#delete {\n background-color: #B30519;\n color: #fff;\n border-color: #B30519;\n }\n\n &#cancel {\n background-color: #767676;\n border-color: #767676;\n color: #fff;\n }\n\n &.default {\n background-color: #001d85;\n border-color: #001d85;\n color: #fff;\n }\n\n border-radius: 0.3em;\n font-size: 16px;\n font-family: \"Ubuntu\";\n padding: 0.75em;\n font-weight: 100;\n}\n</style>\n"],"names":["_sfc_main","mapGetters","mapActions","truncate","$","index","dist","isEmpty","distributionIndex","firstDistPage","distIndex","data","has","_hoisted_1","_hoisted_3","_hoisted_4","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_14","_hoisted_15","_hoisted_17","_hoisted_18","_createElementBlock","_createElementVNode","_ctx","_cache","_createTextVNode","_openBlock","_hoisted_2","_Fragment","_renderList","i","$options","_hoisted_5","_toDisplayString","_createCommentVNode","_hoisted_6","_hoisted_7","$event","_hoisted_11","$props","args","_hoisted_12","_hoisted_13","_hoisted_16","_hoisted_19"],"mappings":"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"}
1
+ {"version":3,"file":"DistributionOverview.vue.mjs","sources":["../../../lib/data-provider-interface/views/DistributionOverview.vue"],"sourcesContent":["<template>\n <div>\n <div class=\"dist-list\">\n <h3>{{ $t('message.metadata.distributions') }}</h3>\n <hr>\n <ul class=\"list-unstyled\" v-if=\"getData('distributions').length > 0\">\n <li v-for=\"(dist, i) in getData('distributions')\" :key=\"i\" class=\"dist-item\">\n \n <div class=\"dist-details\">\n <div class=\"dist-info\">\n <!-- accessURL is always an array of URIs, first one might be enough for displaying -->\n <span v-if=\"accessExists(dist)\" style=\"font-weight: bold\">{{ dist['dcat:accessURL'][0]['@id']\n }}</span><br />\n\n <!-- title and description always an array, first valu emights be enough for displaying-->\n <span v-if=\"titleExists(dist)\" style=\"color: #868e96\">{{ dist['dct:title'][0]['@value'] }}<br /></span>\n <span v-if=\"descriptionExists(dist)\" style=\"color: #868e96\">{{ dist['dct:description'][0]['@value']\n }}</span>\n </div>\n <div class=\"dist-edit justify-content-end\">\n <span @click=\"redirectToDistributionForm(i)\" class=\"dist-edit-button p-2\"><svg\n xmlns=\"http://www.w3.org/2000/svg\" width=\"25\" height=\"25\" fill=\"currentColor\"\n class=\"bi bi-pencil-square\" viewBox=\"0 0 16 16\">\n <path\n d=\"M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z\" />\n <path fill-rule=\"evenodd\"\n d=\"M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z\" />\n </svg></span>\n <span @click=\"triggerDeleteModal(i)\" class=\"dist-delete-button p-2\"><svg xmlns=\"http://www.w3.org/2000/svg\"\n width=\"25\" height=\"25\" fill=\"currentColor\" class=\"bi bi-x-circle\" viewBox=\"0 0 16 16\">\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\" />\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\" />\n </svg></span>\n </div>\n </div>\n </li>\n </ul>\n <ul v-else class=\"list-unstyled\">\n <li>{{ $t('message.dataupload.noDistributions') }}</li>\n </ul>\n <button class=\"default\" v-if=\"distributionOverviewPage\" @click=\"createDistribution\">{{\n $t('message.dataupload.newDistribution') }}</button>\n </div>\n <div class=\"modal fade\" id=\"deleteDistributionModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"deleteModalLabel\"\n aria-hidden=\"true\" data-cy=\"citation-modal\">\n <div class=\"modal-dialog modal-lg\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-title\" id=\"deleteModalLabel\">\n {{ $t('message.dataupload.deletemodal.deleteDistribution') }}\n </h2>\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <h3>{{ $t('message.dataupload.deletemodal.areyousure') }}</h3>\n <div class=\"mt-3 d-flex justify-content-start align-items-center\">\n </div>\n </div>\n <div class=\"modal-footer\">\n <button data-dismiss=\"modal\" id=\"cancel\">{{ $t('message.datasetDetails.datasets.modal.cancel') }}</button>\n <button @click=\"deleteDist()\" id=\"delete\">{{ $t('message.datasetDetails.delete') }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport $ from 'jquery';\nimport { isEmpty, has } from 'lodash-es';\nimport { mapActions, mapGetters } from 'vuex';\nimport { truncate } from '../../utils/helpers';\n\nexport default {\n props: ['distributionOverviewPage'],\n data() {\n return {\n distributionToDelete: 0,\n distributionData: [],\n };\n },\n computed: {\n ...mapGetters('dpiStore', [\n 'getNumberOfDistributions',\n 'getNavSteps',\n 'getData',\n ]),\n },\n methods: {\n ...mapActions('dpiStore', [\n 'addDistribution',\n 'saveLocalstorageValues',\n 'deleteDistribution',\n 'setDeleteDistributionInline',\n ]),\n truncate,\n deleteDist() {\n this.deleteDistribution(this.distributionToDelete);\n this.setDeleteDistributionInline(true);\n $('#deleteDistributionModal').modal('hide');\n this.$router.push({ path: `${this.$env.content.dataProviderInterface.basePath}/datasets/distoverview`, query: { locale: this.$route.query.locale } }).catch(() => { });\n },\n triggerDeleteModal(index) {\n this.distributionToDelete = index;\n $('#deleteDistributionModal').modal({ show: true });\n },\n getDistributionFormat(dist) {\n if (!isEmpty(dist['dct:format'])) {\n return dist['dct:format'].substring(dist['dct:format'].lastIndexOf('/') + 1);\n } else {\n return 'UNKNOWN';\n }\n },\n redirectToDistributionForm(distributionIndex) {\n const firstDistPage = this.getNavSteps(this.$env.content.dataProviderInterface.specification).distributions[0];\n this.$router.push({\n path: `${this.$env.content.dataProviderInterface.basePath}/distributions/${firstDistPage}/${distributionIndex}`,\n query: {\n locale: this.$route.query.locale,\n edit: distributionIndex\n }\n }).catch(() => { });\n },\n createDistribution() {\n // create an new distribution within store\n this.addDistribution();\n const distNumber = this.getNumberOfDistributions;\n const distIndex = distNumber - 1; // distributions are stored within an array and indexed by their position in array\n const firstDistPage = this.getNavSteps(this.$env.content.dataProviderInterface.specification).distributions[0];\n\n // direct to distribution input form\n this.$router.push(`${this.$env.content.dataProviderInterface.basePath}/distributions/${firstDistPage}/${distIndex}?locale=${this.$i18n.locale}`);\n },\n titleExists(data) {\n return !isEmpty(data['dct:title']) && !isEmpty(data['dct:title'][0]) && has(data['dct:title'][0], '@value') && !isEmpty(data['dct:title'][0]['@value']);\n },\n descriptionExists(data) {\n return !isEmpty(data['dct:description']) && !isEmpty(data['dct:description'][0]) && has(data['dct:description'][0], '@value') && !isEmpty(data['dct:description'][0]['@value']);\n },\n accessExists(data) {\n return !isEmpty(data['dcat:accessURL']) && !isEmpty(data['dcat:accessURL'][0]) && has(data['dcat:accessURL'][0], '@id') && !isEmpty(data['dcat:accessURL'][0]['@id']);\n },\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.dist {\n &-list {\n margin: 50px;\n }\n\n &-details {\n display: flex;\n flex: 1;\n }\n\n &-edit {\n width: 25%;\n display: flex;\n align-items: center;\n justify-content: space-evenly;\n margin-left: 5px;\n\n &-button {\n cursor: pointer;\n transition: all 0.2s ease;\n }\n &-button:hover {\n opacity: 0.5;\n transform: scale(1.1);\n color: green;\n transition: all 0.2s ease;\n }\n }\n\n &-info {\n width: 75%;\n }\n\n &-item {\n margin: 5px;\n display: flex;\n padding: 20px;\n align-items: center;\n border-bottom: .1em solid #e5e5e5;\n }\n\n &-delete {\n &-button {\n cursor: pointer;\n transition: all 0.2s ease;\n\n }\n &-button:hover {\n transform: scale(1.1);\n opacity: 0.5;\n color: red;\n transition: all 0.2s ease;\n }\n }\n}\n\nbutton {\n &#delete {\n background-color: #B30519;\n color: #fff;\n border-color: #B30519;\n }\n\n &#cancel {\n background-color: #767676;\n border-color: #767676;\n color: #fff;\n }\n\n &.default {\n background-color: #001d85;\n border-color: #001d85;\n color: #fff;\n }\n\n border-radius: 0.3em;\n font-size: 16px;\n font-family: \"Ubuntu\";\n padding: 0.75em;\n font-weight: 100;\n}\n</style>\n"],"names":["_sfc_main","mapGetters","mapActions","truncate","$","index","dist","isEmpty","distributionIndex","firstDistPage","distIndex","data","has","_hoisted_1","_hoisted_3","_hoisted_4","_hoisted_8","_hoisted_14","_hoisted_15","_hoisted_17","_hoisted_18","_createElementBlock","_createElementVNode","_ctx","_openBlock","_hoisted_2","_Fragment","_renderList","i","$options","_hoisted_5","_toDisplayString","_hoisted_6","_hoisted_7","$event","_hoisted_11","$props","args","_hoisted_12","_hoisted_13","_hoisted_16","_hoisted_19"],"mappings":"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"}
@@ -17,7 +17,6 @@ declare const _default: import('vue').DefineComponent<{}, {}, {
17
17
  corsproxyApiUrl: string;
18
18
  };
19
19
  authentication: {
20
- useService: boolean;
21
20
  login: {
22
21
  useLogin: boolean;
23
22
  loginTitle: string;
@@ -27,6 +26,7 @@ declare const _default: import('vue').DefineComponent<{}, {}, {
27
26
  logoutURL: string;
28
27
  logoutRedirectUri: string;
29
28
  };
29
+ useService: boolean;
30
30
  keycloak: {
31
31
  realm: string;
32
32
  clientId: string;
@@ -307,9 +307,9 @@ declare const _default: import('vue').DefineComponent<{}, {}, {
307
307
  };
308
308
  };
309
309
  languages: {
310
+ useLanguageSelector: boolean;
310
311
  locale: string;
311
312
  fallbackLocale: string;
312
- useLanguageSelector: boolean;
313
313
  };
314
314
  themes: {
315
315
  header: string;
@@ -325,7 +325,7 @@ declare const _default: import('vue').DefineComponent<{}, {}, {
325
325
  duplicatedID: string;
326
326
  modalProps: {
327
327
  loading: boolean;
328
- message: string;
328
+ message: any;
329
329
  confirm: () => null;
330
330
  };
331
331
  }, {
@@ -337,7 +337,7 @@ declare const _default: import('vue').DefineComponent<{}, {}, {
337
337
  path: string;
338
338
  query: {
339
339
  useNormalizedId: boolean;
340
- locale: import('vue-router').LocationQueryValue | import('vue-router').LocationQueryValue[];
340
+ locale: any;
341
341
  catalogue: any;
342
342
  };
343
343
  };
@@ -354,8 +354,8 @@ declare const _default: import('vue').DefineComponent<{}, {}, {
354
354
  url: any;
355
355
  token: any;
356
356
  }): Promise<void>;
357
- convertToRDF: import('vuex').ActionMethod;
358
357
  clearAll: import('vuex').ActionMethod;
358
+ convertToRDF: import('vuex').ActionMethod;
359
359
  convertToInput: import('vuex').ActionMethod;
360
360
  showSnackbar: import('vuex').ActionMethod;
361
361
  setIsEditMode: import('vuex').ActionMethod;
@@ -2,10 +2,10 @@ import { mapGetters as v, mapActions as h } from "vuex";
2
2
  import f from "jquery";
3
3
  import w from "../../widgets/AppLink.vue.mjs";
4
4
  import { useRuntimeEnv as $ } from "../../composables/useRuntimeEnv.mjs";
5
- import { resolveComponent as y, openBlock as c, createElementBlock as b, createElementVNode as e, createTextVNode as o, toDisplayString as r, Fragment as P, renderList as I, createVNode as i, withCtx as p } from "vue";
5
+ import { resolveComponent as y, openBlock as c, createElementBlock as b, createElementVNode as e, createTextVNode as o, toDisplayString as r, Fragment as P, renderList as _, createVNode as i, withCtx as p } from "vue";
6
6
  import "./DraftsPage.vue2.mjs";
7
- import C from "../../_virtual/_plugin-vue_export-helper.mjs";
8
- const L = {
7
+ import I from "../../_virtual/_plugin-vue_export-helper.mjs";
8
+ const C = {
9
9
  props: [],
10
10
  components: {
11
11
  AppLink: w
@@ -105,7 +105,7 @@ const L = {
105
105
  created() {
106
106
  this.updateUserDrafts();
107
107
  }
108
- }, S = { class: "d-flex flex-column bg-transparent container-fluid justify-content-between content draftWrapper" }, U = { class: "d-flex mt-3" }, _ = { class: "logoDPIPiveau" }, x = { class: "" }, M = { class: "infoBox" }, R = { class: "d-flex" }, q = ["innerHTML"], T = { class: "d-flex align-items-center justify-content-center" }, B = { class: "table" }, E = { scope: "col" }, N = { scope: "col" }, A = { scope: "col" }, j = ["data-cy"], F = { class: "w33" }, V = { class: "w33" }, W = { class: "buttonWrapper" }, z = {
108
+ }, L = { class: "d-flex flex-column bg-transparent container-fluid justify-content-between content draftWrapper" }, S = { class: "d-flex mt-3" }, U = { class: "logoDPIPiveau" }, x = { class: "" }, M = { class: "infoBox" }, R = { class: "d-flex" }, q = ["innerHTML"], T = { class: "d-flex align-items-center justify-content-center" }, B = { class: "table" }, E = { scope: "col" }, N = { scope: "col" }, A = { scope: "col" }, j = ["data-cy"], F = { class: "w33" }, V = { class: "w33" }, W = { class: "buttonWrapper" }, z = {
109
109
  type: "button",
110
110
  class: "btn btn-secondary dropDownWrap"
111
111
  }, H = ["title"], G = {
@@ -114,9 +114,9 @@ const L = {
114
114
  }, J = ["onClick"], O = ["onClick"], X = ["onClick"], K = ["onClick"];
115
115
  function Q(s, t, u, D, m, n) {
116
116
  const l = y("app-link"), k = y("app-confirmation-dialog");
117
- return c(), b("div", S, [
118
- e("div", U, [
119
- e("div", _, [
117
+ return c(), b("div", L, [
118
+ e("div", S, [
119
+ e("div", U, [
120
120
  t[0] || (t[0] = e("h2", null, "DPI", -1)),
121
121
  t[1] || (t[1] = o()),
122
122
  t[2] || (t[2] = e("div", { class: "dpiLogoSeperator" }, null, -1)),
@@ -159,7 +159,7 @@ function Q(s, t, u, D, m, n) {
159
159
  ]),
160
160
  t[24] || (t[24] = o()),
161
161
  e("tbody", null, [
162
- (c(!0), b(P, null, I(s.getUserDrafts, ({ id: a, catalog: d }) => (c(), b("tr", {
162
+ (c(!0), b(P, null, _(s.getUserDrafts, ({ id: a, catalog: d }) => (c(), b("tr", {
163
163
  key: `draft@${a}`,
164
164
  "data-cy": `draft@${a}`
165
165
  }, [
@@ -197,7 +197,8 @@ function Q(s, t, u, D, m, n) {
197
197
  default: p(() => t[8] || (t[8] = [
198
198
  e("div", { class: "px-2 py-1" }, "RDF/XML", -1)
199
199
  ])),
200
- _: 2
200
+ _: 2,
201
+ __: [8]
201
202
  }, 1032, ["to"]),
202
203
  t[13] || (t[13] = o()),
203
204
  i(l, {
@@ -208,7 +209,8 @@ function Q(s, t, u, D, m, n) {
208
209
  default: p(() => t[9] || (t[9] = [
209
210
  e("div", { class: "px-2 py-1" }, "Turtle", -1)
210
211
  ])),
211
- _: 2
212
+ _: 2,
213
+ __: [9]
212
214
  }, 1032, ["to"]),
213
215
  t[14] || (t[14] = o()),
214
216
  i(l, {
@@ -219,7 +221,8 @@ function Q(s, t, u, D, m, n) {
219
221
  default: p(() => t[10] || (t[10] = [
220
222
  e("div", { class: "px-2 py-1" }, "Notation3", -1)
221
223
  ])),
222
- _: 2
224
+ _: 2,
225
+ __: [10]
223
226
  }, 1032, ["to"]),
224
227
  t[15] || (t[15] = o()),
225
228
  i(l, {
@@ -230,7 +233,8 @@ function Q(s, t, u, D, m, n) {
230
233
  default: p(() => t[11] || (t[11] = [
231
234
  e("div", { class: "px-2 py-1" }, "N-Triples", -1)
232
235
  ])),
233
- _: 2
236
+ _: 2,
237
+ __: [11]
234
238
  }, 1032, ["to"]),
235
239
  t[16] || (t[16] = o()),
236
240
  i(l, {
@@ -241,7 +245,8 @@ function Q(s, t, u, D, m, n) {
241
245
  default: p(() => t[12] || (t[12] = [
242
246
  e("div", { class: "px-2 py-1" }, "JSON-LD", -1)
243
247
  ])),
244
- _: 2
248
+ _: 2,
249
+ __: [12]
245
250
  }, 1032, ["to"])
246
251
  ])
247
252
  ]),
@@ -288,7 +293,7 @@ function Q(s, t, u, D, m, n) {
288
293
  }, 8, ["loading", "onConfirm"])
289
294
  ]);
290
295
  }
291
- const rt = /* @__PURE__ */ C(L, [["render", Q], ["__scopeId", "data-v-8f837c12"]]);
296
+ const rt = /* @__PURE__ */ I(C, [["render", Q], ["__scopeId", "data-v-8f837c12"]]);
292
297
  export {
293
298
  rt as default
294
299
  };