@piveau/piveau-hub-ui-modules 4.4.4 → 4.4.5

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 (374) hide show
  1. package/dist/PvBadge/PvBadge.vue.d.ts +4 -4
  2. package/dist/PvDataInfoBox/PvDataInfoBox.vue.d.ts +135 -4
  3. package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs +45 -45
  4. package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs.map +1 -1
  5. package/dist/PvDataInfoBox/PvDataInfoBoxDescription.vue.d.ts +4 -4
  6. package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.d.ts +33 -4
  7. package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.mjs +34 -34
  8. package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.mjs.map +1 -1
  9. package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.d.ts +17 -3
  10. package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.mjs +18 -18
  11. package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.mjs.map +1 -1
  12. package/dist/auth/Auth.vue.d.ts +1 -1
  13. package/dist/catalogues/CatalogPage.vue.mjs +139 -139
  14. package/dist/catalogues/CatalogPage.vue.mjs.map +1 -1
  15. package/dist/catalogues/CatalogPageDatasetCard.vue.d.ts +6 -4
  16. package/dist/catalogues/CatalogPageDatasetCard.vue.mjs +37 -37
  17. package/dist/catalogues/CatalogPageDatasetCard.vue.mjs.map +1 -1
  18. package/dist/catalogues/Catalogues.vue.mjs +202 -202
  19. package/dist/catalogues/Catalogues.vue.mjs.map +1 -1
  20. package/dist/catalogues/cataloguesFacets/CataloguesFacets.vue.mjs +44 -44
  21. package/dist/catalogues/cataloguesFacets/CataloguesFacets.vue.mjs.map +1 -1
  22. package/dist/citation/DatasetCitationModal.vue.d.ts +46 -4
  23. package/dist/citation/DatasetCitationModal.vue.mjs +36 -36
  24. package/dist/citation/DatasetCitationModal.vue.mjs.map +1 -1
  25. package/dist/citation/DatasetCitationTable.vue.d.ts +4 -4
  26. package/dist/citation/DatasetCitationTable.vue.mjs +32 -32
  27. package/dist/citation/DatasetCitationTable.vue.mjs.map +1 -1
  28. package/dist/composables/head/useRootHead.d.ts +1 -1
  29. package/dist/composables/useRuntimeEnv.d.ts +1 -1
  30. package/dist/configurations/config-schema/configSchema.d.ts +4 -4
  31. package/dist/configurations/config-schema/languagesSchema.d.ts +2 -2
  32. package/dist/data-provider-interface/DPIMenu.vue.d.ts +4 -8
  33. package/dist/data-provider-interface/DPIMenu.vue.mjs +96 -96
  34. package/dist/data-provider-interface/DPIMenu.vue.mjs.map +1 -1
  35. package/dist/data-provider-interface/DataProviderInterface.vue.d.ts +1297 -4
  36. package/dist/data-provider-interface/components/AutocompleteInput.vue.d.ts +1 -1
  37. package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs +101 -101
  38. package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs.map +1 -1
  39. package/dist/data-provider-interface/components/ConditionalInput.vue.d.ts +1 -1
  40. package/dist/data-provider-interface/components/ConditionalInput.vue.mjs +113 -154
  41. package/dist/data-provider-interface/components/ConditionalInput.vue.mjs.map +1 -1
  42. package/dist/data-provider-interface/components/DataFetchingComponent.vue.d.ts +4 -8
  43. package/dist/data-provider-interface/components/DataFetchingComponent.vue.mjs +13 -13
  44. package/dist/data-provider-interface/components/DataFetchingComponent.vue.mjs.map +1 -1
  45. package/dist/data-provider-interface/components/DistributionStepper.vue.d.ts +43 -40
  46. package/dist/data-provider-interface/components/DistributionStepper.vue.mjs +101 -101
  47. package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
  48. package/dist/data-provider-interface/components/Dropup.vue.d.ts +4 -4
  49. package/dist/data-provider-interface/components/Dropup.vue.mjs +22 -22
  50. package/dist/data-provider-interface/components/Dropup.vue.mjs.map +1 -1
  51. package/dist/data-provider-interface/components/FileUpload.vue.d.ts +3 -3
  52. package/dist/data-provider-interface/components/FileUpload.vue.mjs +114 -114
  53. package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
  54. package/dist/data-provider-interface/components/InfoSlot.vue.d.ts +4 -4
  55. package/dist/data-provider-interface/components/InfoSlot.vue.mjs +14 -14
  56. package/dist/data-provider-interface/components/InfoSlot.vue.mjs.map +1 -1
  57. package/dist/data-provider-interface/components/InputPageStep.vue.d.ts +3 -3
  58. package/dist/data-provider-interface/components/LanguageSelector.vue.d.ts +5 -5
  59. package/dist/data-provider-interface/components/Navigation.vue.d.ts +5 -11
  60. package/dist/data-provider-interface/components/Navigation.vue.mjs +58 -58
  61. package/dist/data-provider-interface/components/Navigation.vue.mjs.map +1 -1
  62. package/dist/data-provider-interface/components/SelectControlledGroup.vue.d.ts +3 -3
  63. package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs +22 -22
  64. package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.d.ts +1 -1
  65. package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.mjs.map +1 -1
  66. package/dist/data-provider-interface/components/SimpleInput.vue.d.ts +1 -1
  67. package/dist/data-provider-interface/components/SimpleInput.vue.mjs +13 -13
  68. package/dist/data-provider-interface/components/SimpleInput.vue.mjs.map +1 -1
  69. package/dist/data-provider-interface/components/SimpleSelect.vue.d.ts +1 -1
  70. package/dist/data-provider-interface/components/SimpleSelect.vue.mjs +40 -40
  71. package/dist/data-provider-interface/components/SimpleSelect.vue.mjs.map +1 -1
  72. package/dist/data-provider-interface/components/SpatialInput.vue.d.ts +1 -1
  73. package/dist/data-provider-interface/components/SpatialInput.vue.mjs +101 -101
  74. package/dist/data-provider-interface/components/SpatialInput.vue.mjs.map +1 -1
  75. package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.d.ts +3 -5
  76. package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs +9 -9
  77. package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs.map +1 -1
  78. package/dist/data-provider-interface/composables/useDpiEditMode.d.ts +1 -1
  79. package/dist/data-provider-interface/composables/useDpiStepper.d.ts +3 -3
  80. package/dist/data-provider-interface/views/DistributionInputPage.vue.d.ts +1 -1
  81. package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs +56 -56
  82. package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs.map +1 -1
  83. package/dist/data-provider-interface/views/DistributionOverview.vue.d.ts +4 -6
  84. package/dist/data-provider-interface/views/DistributionOverview.vue.mjs +128 -128
  85. package/dist/data-provider-interface/views/DistributionOverview.vue.mjs.map +1 -1
  86. package/dist/data-provider-interface/views/DraftsPage.vue.d.ts +5 -3
  87. package/dist/data-provider-interface/views/DraftsPage.vue.mjs +136 -136
  88. package/dist/data-provider-interface/views/DraftsPage.vue.mjs.map +1 -1
  89. package/dist/data-provider-interface/views/InputPage.vue.d.ts +1209 -9
  90. package/dist/data-provider-interface/views/InputPage.vue.mjs +107 -107
  91. package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
  92. package/dist/data-provider-interface/views/LinkedDataViewer.vue.d.ts +3 -3
  93. package/dist/data-provider-interface/views/LinkedDataViewer.vue.mjs +12 -12
  94. package/dist/data-provider-interface/views/LinkedDataViewer.vue.mjs.map +1 -1
  95. package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.d.ts +120 -3
  96. package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.mjs +38 -38
  97. package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.mjs.map +1 -1
  98. package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.d.ts +369 -3
  99. package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs +83 -83
  100. package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs.map +1 -1
  101. package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.d.ts +120 -3
  102. package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs +127 -127
  103. package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs.map +1 -1
  104. package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.d.ts +26 -4
  105. package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs +312 -312
  106. package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs.map +1 -1
  107. package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.d.ts +3 -3
  108. package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.mjs +31 -31
  109. package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.mjs.map +1 -1
  110. package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.d.ts +3 -3
  111. package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.mjs +52 -52
  112. package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.mjs.map +1 -1
  113. package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.d.ts +5 -3
  114. package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.mjs +35 -35
  115. package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.mjs.map +1 -1
  116. package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.d.ts +98 -3
  117. package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.mjs +40 -40
  118. package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.mjs.map +1 -1
  119. package/dist/data-provider-interface/views/OverviewPage.vue.d.ts +783 -4
  120. package/dist/data-provider-interface/views/OverviewPage.vue.mjs +72 -48
  121. package/dist/data-provider-interface/views/OverviewPage.vue.mjs.map +1 -1
  122. package/dist/data-provider-interface/views/PropertyChooser.vue.mjs +31 -31
  123. package/dist/data-provider-interface/views/PropertyChooser.vue.mjs.map +1 -1
  124. package/dist/data-provider-interface/views/UserCataloguesPage.vue.d.ts +1 -1
  125. package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs +17 -17
  126. package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
  127. package/dist/data-provider-interface/views/UserProfilePage.vue.d.ts +2 -2
  128. package/dist/data-provider-interface/views/UserProfilePage.vue.mjs +27 -27
  129. package/dist/data-provider-interface/views/UserProfilePage.vue.mjs.map +1 -1
  130. package/dist/datasetDetails/AppMarkdownContent.vue.d.ts +4 -4
  131. package/dist/datasetDetails/AppMarkdownContent.vue.mjs +20 -20
  132. package/dist/datasetDetails/AppMarkdownContent.vue.mjs.map +1 -1
  133. package/dist/datasetDetails/DatasetDetails.vue.mjs +35 -35
  134. package/dist/datasetDetails/DatasetDetails.vue.mjs.map +1 -1
  135. package/dist/datasetDetails/DatasetDetailsActivityStream.vue.d.ts +1 -1
  136. package/dist/datasetDetails/DatasetDetailsActivityStream.vue.mjs +11 -12
  137. package/dist/datasetDetails/DatasetDetailsActivityStream.vue.mjs.map +1 -1
  138. package/dist/datasetDetails/DatasetDetailsBanners.vue.d.ts +9 -5
  139. package/dist/datasetDetails/DatasetDetailsBanners.vue.mjs +33 -33
  140. package/dist/datasetDetails/DatasetDetailsBanners.vue.mjs.map +1 -1
  141. package/dist/datasetDetails/DatasetDetailsCSVLinter.vue.mjs +93 -93
  142. package/dist/datasetDetails/DatasetDetailsCSVLinter.vue.mjs.map +1 -1
  143. package/dist/datasetDetails/DatasetDetailsCategories.vue.mjs +23 -23
  144. package/dist/datasetDetails/DatasetDetailsCategories.vue.mjs.map +1 -1
  145. package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs +42 -42
  146. package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs.map +1 -1
  147. package/dist/datasetDetails/DatasetDetailsDescription.vue.d.ts +31 -4
  148. package/dist/datasetDetails/DatasetDetailsDescription.vue.mjs +34 -34
  149. package/dist/datasetDetails/DatasetDetailsDescription.vue.mjs.map +1 -1
  150. package/dist/datasetDetails/DatasetDetailsLinkedMetricsButton.vue.d.ts +6 -4
  151. package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs +416 -416
  152. package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs.map +1 -1
  153. package/dist/datasetDetails/DatasetDetailsShareButton.vue.d.ts +6 -4
  154. package/dist/datasetDetails/DatasetDetailsSimilarDatasets.vue.mjs +40 -40
  155. package/dist/datasetDetails/DatasetDetailsSimilarDatasets.vue.mjs.map +1 -1
  156. package/dist/datasetDetails/DatasetDetailsSkeleton.vue.d.ts +4 -6
  157. package/dist/datasetDetails/DatasetDetailsSkeleton.vue.mjs +40 -40
  158. package/dist/datasetDetails/DatasetDetailsSkeleton.vue.mjs.map +1 -1
  159. package/dist/datasetDetails/distributions/Distribution.vue.mjs +34 -34
  160. package/dist/datasetDetails/distributions/Distribution.vue.mjs.map +1 -1
  161. package/dist/datasetDetails/distributions/DistributionAdded.vue.d.ts +3 -5
  162. package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs +12 -12
  163. package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs.map +1 -1
  164. package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.d.ts +3 -1
  165. package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs +177 -177
  166. package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs.map +1 -1
  167. package/dist/datasetDetails/distributions/DistributionFormat.vue.d.ts +4 -9
  168. package/dist/datasetDetails/distributions/Distributions.vue.d.ts +7 -4
  169. package/dist/datasetDetails/distributions/Distributions.vue.mjs +41 -41
  170. package/dist/datasetDetails/distributions/Distributions.vue.mjs.map +1 -1
  171. package/dist/datasetDetails/distributions/DistributionsHeader.vue.d.ts +6 -10
  172. package/dist/datasetDetails/distributions/DistributionsHeader.vue.mjs +25 -25
  173. package/dist/datasetDetails/distributions/DistributionsHeader.vue.mjs.map +1 -1
  174. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.d.ts +4 -12
  175. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs +128 -128
  176. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs.map +1 -1
  177. package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.d.ts +3 -3
  178. package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs +23 -23
  179. package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs.map +1 -1
  180. package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.d.ts +9 -4
  181. package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs +31 -31
  182. package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs.map +1 -1
  183. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.d.ts +8 -12
  184. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs +79 -79
  185. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs.map +1 -1
  186. package/dist/datasetDetails/distributions/distributionActions/DistributionDownloadAs.vue.d.ts +3 -3
  187. package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.d.ts +6 -11
  188. package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.mjs +26 -26
  189. package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.mjs.map +1 -1
  190. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.d.ts +7 -11
  191. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs +41 -41
  192. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs.map +1 -1
  193. package/dist/datasetDetails/distributions/distributionActions/DistributionPreview.vue.d.ts +6 -11
  194. package/dist/datasetDetails/distributions/distributionActions/LinkedDataButtonsDropdown.vue.d.ts +7 -7
  195. package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs +311 -311
  196. package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs.map +1 -1
  197. package/dist/datasetDetails/distributions/distributionDetails/DistributionDescription.vue.d.ts +4 -11
  198. package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.d.ts +9 -24
  199. package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.mjs +11 -11
  200. package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.mjs.map +1 -1
  201. package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.d.ts +3 -8
  202. package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.mjs +18 -18
  203. package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.mjs.map +1 -1
  204. package/dist/datasetDetails/distributions/distributionPreview/DistributionVisualisationSlot.vue.d.ts +1 -1
  205. package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.d.ts +5 -3
  206. package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.mjs +40 -40
  207. package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.mjs.map +1 -1
  208. package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.d.ts +5 -3
  209. package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs +93 -93
  210. package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs.map +1 -1
  211. package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.d.ts +4 -4
  212. package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.mjs +5 -5
  213. package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.mjs.map +1 -1
  214. package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.d.ts +42 -3
  215. package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.mjs +85 -85
  216. package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.mjs.map +1 -1
  217. package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.d.ts +4 -8
  218. package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.mjs +45 -45
  219. package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.mjs.map +1 -1
  220. package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.d.ts +1 -1
  221. package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.mjs +26 -26
  222. package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.mjs.map +1 -1
  223. package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.d.ts +5 -3
  224. package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.mjs +45 -45
  225. package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.mjs.map +1 -1
  226. package/dist/datasetDetails/features/DatasetDetailsMap.vue.d.ts +3 -1
  227. package/dist/datasetDetails/features/DatasetDetailsMap.vue.mjs +23 -23
  228. package/dist/datasetDetails/features/DatasetDetailsMap.vue.mjs.map +1 -1
  229. package/dist/datasetDetails/features/DatasetDetailsPages.vue.d.ts +5 -3
  230. package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs +95 -95
  231. package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs.map +1 -1
  232. package/dist/datasetDetails/features/DatasetDetailsRelations.vue.d.ts +1 -1
  233. package/dist/datasetDetails/features/DatasetDetailsRelations.vue.mjs +27 -27
  234. package/dist/datasetDetails/features/DatasetDetailsRelations.vue.mjs.map +1 -1
  235. package/dist/datasetDetails/features/DatasetDetailsSubject.vue.d.ts +4 -1
  236. package/dist/datasetDetails/features/DatasetDetailsSubject.vue.mjs +20 -20
  237. package/dist/datasetDetails/features/DatasetDetailsSubject.vue.mjs.map +1 -1
  238. package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.d.ts +5 -3
  239. package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.mjs +92 -92
  240. package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.mjs.map +1 -1
  241. package/dist/datasetDetails/header/DatasetDetailsHeader.vue.mjs +24 -24
  242. package/dist/datasetDetails/header/DatasetDetailsHeader.vue.mjs.map +1 -1
  243. package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.d.ts +7 -5
  244. package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.mjs +31 -31
  245. package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.mjs.map +1 -1
  246. package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.d.ts +4 -4
  247. package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.mjs +24 -24
  248. package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.mjs.map +1 -1
  249. package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.d.ts +81 -3
  250. package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.mjs +24 -24
  251. package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.mjs.map +1 -1
  252. package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.d.ts +11 -3
  253. package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.mjs +148 -148
  254. package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.mjs.map +1 -1
  255. package/dist/datasetDetails/navigation/DatasetDetailsNavigationPage.vue.d.ts +6 -4
  256. package/dist/datasetDetails/navigation/DatasetDetailsNavigationPages.vue.d.ts +1 -1
  257. package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.d.ts +3 -1
  258. package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.mjs +29 -29
  259. package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.mjs.map +1 -1
  260. package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs +47 -47
  261. package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs.map +1 -1
  262. package/dist/datasetDetails/properties/ValuesList.vue.d.ts +5 -3
  263. package/dist/datasetDetails/properties/ValuesList.vue.mjs +46 -46
  264. package/dist/datasetDetails/properties/ValuesList.vue.mjs.map +1 -1
  265. package/dist/datasets/DatasetDate.vue.d.ts +4 -7
  266. package/dist/datasets/DatasetDate.vue.mjs +22 -22
  267. package/dist/datasets/DatasetDate.vue.mjs.map +1 -1
  268. package/dist/datasets/DatasetList.vue.d.ts +4 -4
  269. package/dist/datasets/Datasets.vue.mjs +44 -44
  270. package/dist/datasets/Datasets.vue.mjs.map +1 -1
  271. package/dist/datasets/DatasetsFilters.vue.d.ts +3 -1
  272. package/dist/datasets/DatasetsFilters.vue.mjs +48 -48
  273. package/dist/datasets/DatasetsFilters.vue.mjs.map +1 -1
  274. package/dist/datasets/DatasetsFiltersTabs.vue.d.ts +5 -5
  275. package/dist/datasets/DatasetsFiltersTabs.vue.mjs +53 -53
  276. package/dist/datasets/DatasetsFiltersTabs.vue.mjs.map +1 -1
  277. package/dist/datasets/DatasetsTopControls.vue.d.ts +6 -8
  278. package/dist/datasets/DatasetsTopControls.vue.mjs +19 -19
  279. package/dist/datasets/DatasetsTopControls.vue.mjs.map +1 -1
  280. package/dist/datasets/datasetsFacets/DatasetsFacets.vue.mjs +16 -16
  281. package/dist/datasets/datasetsFacets/DatasetsFacets.vue.mjs.map +1 -1
  282. package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.d.ts +4 -4
  283. package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.mjs +12 -12
  284. package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.mjs.map +1 -1
  285. package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.d.ts +131 -6
  286. package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.mjs +104 -104
  287. package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.mjs.map +1 -1
  288. package/dist/datasets/datasetsFacets/SettingsFacet.vue.d.ts +1 -1
  289. package/dist/embed/DatasetEmbedModal.vue.d.ts +1 -1
  290. package/dist/embed/DatasetEmbedModal.vue.mjs +103 -103
  291. package/dist/embed/DatasetEmbedModal.vue.mjs.map +1 -1
  292. package/dist/embed/EmbedDataset.vue.mjs +56 -56
  293. package/dist/embed/EmbedDataset.vue.mjs.map +1 -1
  294. package/dist/embed/EmbedDatasetSnippet.vue.mjs +50 -50
  295. package/dist/embed/EmbedDatasetSnippet.vue.mjs.map +1 -1
  296. package/dist/external/@vueuse/core/index +196 -137
  297. package/dist/external/@vueuse/core/index.map +1 -1
  298. package/dist/external/@vueuse/shared/index +44 -43
  299. package/dist/external/@vueuse/shared/index.map +1 -1
  300. package/dist/facets/CatalogDetailsFacet.vue.mjs +252 -252
  301. package/dist/facets/CatalogDetailsFacet.vue.mjs.map +1 -1
  302. package/dist/facets/ExpandableSelectFacet.vue.d.ts +55 -4
  303. package/dist/facets/ExpandableSelectFacet.vue.mjs +28 -28
  304. package/dist/facets/ExpandableSelectFacet.vue.mjs.map +1 -1
  305. package/dist/facets/Facet.vue.d.ts +4 -4
  306. package/dist/facets/Facet.vue.mjs +38 -38
  307. package/dist/facets/Facet.vue.mjs.map +1 -1
  308. package/dist/facets/FacetTitle.vue.d.ts +4 -4
  309. package/dist/facets/FacetTitle.vue.mjs +12 -12
  310. package/dist/facets/FacetTitle.vue.mjs.map +1 -1
  311. package/dist/facets/RadioFacet.vue.d.ts +21 -3
  312. package/dist/facets/RadioFacet.vue.mjs +26 -26
  313. package/dist/facets/RadioFacet.vue.mjs.map +1 -1
  314. package/dist/facets/SelectedFacetsOverview.vue.d.ts +4 -4
  315. package/dist/facets/SelectedFacetsOverview.vue.mjs +1 -1
  316. package/dist/facets/SelectedFacetsOverview.vue.mjs.map +1 -1
  317. package/dist/form/FormKitGroup.vue.d.ts +3 -3
  318. package/dist/form/FormKitGroup.vue.mjs +9 -9
  319. package/dist/form/FormKitGroup.vue.mjs.map +1 -1
  320. package/dist/form/Repeatable.vue.d.ts +1 -1
  321. package/dist/form/Repeatable.vue.mjs +19 -19
  322. package/dist/form/Repeatable.vue.mjs.map +1 -1
  323. package/dist/map/MapBasic.vue.d.ts +4 -4
  324. package/dist/map/MapBoundsReceiver.vue.d.ts +3 -3
  325. package/dist/map/MapBoundsSender.vue.d.ts +3 -3
  326. package/dist/mixins/useRouteMetaBreadcrumbs.d.ts +1 -1
  327. package/dist/modal/AppConfirmationDialog.vue.d.ts +4 -4
  328. package/dist/modal/AppConfirmationDialog.vue.mjs +44 -44
  329. package/dist/modal/AppConfirmationDialog.vue.mjs.map +1 -1
  330. package/dist/modal/AppSnackbar.vue.d.ts +41 -1
  331. package/dist/modal/AppToast.vue.d.ts +4 -4
  332. package/dist/modal/AppToast.vue.mjs +54 -54
  333. package/dist/modal/AppToast.vue.mjs.map +1 -1
  334. package/dist/navigation/SubNavigation.vue.d.ts +4 -4
  335. package/dist/navigation/SubNavigation.vue.mjs +25 -25
  336. package/dist/navigation/SubNavigation.vue.mjs.map +1 -1
  337. package/dist/pages/Imprint.vue.d.ts +3 -1
  338. package/dist/pages/NotFound.vue.d.ts +3 -1
  339. package/dist/pages/NotFound.vue.mjs +23 -23
  340. package/dist/pages/NotFound.vue.mjs.map +1 -1
  341. package/dist/pages/PrivacyPolicy.vue.d.ts +3 -1
  342. package/dist/pages/SparqlSearch.vue.d.ts +1 -1
  343. package/dist/pages/SparqlSearch.vue.mjs +22 -22
  344. package/dist/pages/SparqlSearch.vue.mjs.map +1 -1
  345. package/dist/pages/user/UserImprint.vue.d.ts +1 -1
  346. package/dist/pages/user/UserImprint.vue.mjs +10 -10
  347. package/dist/pages/user/UserImprint.vue.mjs.map +1 -1
  348. package/dist/pages/user/UserPrivacyPolicy.vue.d.ts +1 -1
  349. package/dist/pages/user/UserPrivacyPolicy.vue.mjs +10 -10
  350. package/dist/pages/user/UserPrivacyPolicy.vue.mjs.map +1 -1
  351. package/dist/piveau-hub-ui-modules.css +1 -1
  352. package/dist/widgets/Dropdown.vue.d.ts +4 -8
  353. package/dist/widgets/Dropdown.vue.mjs +20 -20
  354. package/dist/widgets/Dropdown.vue.mjs.map +1 -1
  355. package/dist/widgets/Pagination.vue.d.ts +4 -4
  356. package/dist/widgets/Pagination.vue.mjs +74 -74
  357. package/dist/widgets/Pagination.vue.mjs.map +1 -1
  358. package/dist/widgets/PropertyValue.vue.d.ts +6 -4
  359. package/dist/widgets/PropertyValue.vue.mjs +17 -17
  360. package/dist/widgets/PropertyValue.vue.mjs.map +1 -1
  361. package/dist/widgets/PvBanner.vue.d.ts +3 -3
  362. package/dist/widgets/PvBanner.vue.mjs +29 -29
  363. package/dist/widgets/PvBanner.vue.mjs.map +1 -1
  364. package/dist/widgets/PvButton.vue.d.ts +4 -4
  365. package/dist/widgets/PvShowMore.vue.d.ts +4 -4
  366. package/dist/widgets/ResourceAccessPopup.vue.d.ts +1 -1
  367. package/dist/widgets/ResourceAccessPopup.vue.mjs +48 -48
  368. package/dist/widgets/ResourceAccessPopup.vue.mjs.map +1 -1
  369. package/dist/widgets/ResourceDetailsLinkedDataButton.vue.d.ts +6 -4
  370. package/dist/widgets/Tooltip.vue.d.ts +3 -3
  371. package/package.json +2 -2
  372. package/dist/datasetDetails/DatasetDetails.vue.d.ts +0 -25
  373. package/dist/embed/EmbedDataset.vue.d.ts +0 -7
  374. package/dist/embed/EmbedDatasetSnippet.vue.d.ts +0 -9
@@ -1,16 +1,16 @@
1
- import w from "axios";
2
- import u from "jquery";
1
+ import A from "axios";
2
+ import m from "jquery";
3
3
  import "lodash-es";
4
4
  import { mapGetters as $, mapActions as k } from "vuex";
5
- import A from "./components/Dropup.vue.mjs";
6
- import { useWindowScroll as T } from "../external/@vueuse/core/index";
7
- import { resolveComponent as f, openBlock as c, createElementBlock as h, createElementVNode as d, toDisplayString as m, createTextVNode as l, Fragment as y, renderList as b, createBlock as C, resolveDynamicComponent as U, normalizeClass as q, withCtx as D, renderSlot as O, createVNode as P, createCommentVNode as v, pushScopeId as S, popScopeId as z } from "vue";
5
+ import T from "./components/Dropup.vue.mjs";
6
+ import { useWindowScroll as U } from "../external/@vueuse/core/index";
7
+ import { resolveComponent as f, openBlock as u, createElementBlock as h, createElementVNode as l, toDisplayString as c, createTextVNode as d, Fragment as y, renderList as b, createBlock as C, resolveDynamicComponent as _, normalizeClass as q, withCtx as D, renderSlot as O, createVNode as P, createCommentVNode as v } from "vue";
8
8
  import "./DPIMenu.vue2.mjs";
9
- import L from "../_virtual/_plugin-vue_export-helper.mjs";
10
- const M = {
9
+ import z from "../_virtual/_plugin-vue_export-helper.mjs";
10
+ const L = {
11
11
  name: "DPI-menu",
12
12
  components: {
13
- Dropup: A
13
+ Dropup: T
14
14
  },
15
15
  props: {},
16
16
  data() {
@@ -29,7 +29,7 @@ const M = {
29
29
  setup() {
30
30
  return {
31
31
  scrollToTop: () => {
32
- let { x: a, y: o } = T({ behavior: "smooth" });
32
+ let { x: e, y: o } = U({ behavior: "smooth" });
33
33
  o.value = 0;
34
34
  }
35
35
  };
@@ -69,7 +69,7 @@ const M = {
69
69
  message: this.$t("message.dataupload.menu.datasetDeletion.message"),
70
70
  confirm: this.$t("message.dataupload.menu.datasetDeletion.confirm"),
71
71
  confirmHandler: () => this.handleDelete({ id: this.getID, property: "datasets", catalog: this.getCatalog.id })
72
- }, u("#modal").modal({ show: !0 });
72
+ }, m("#modal").modal({ show: !0 });
73
73
  }
74
74
  },
75
75
  {
@@ -105,7 +105,7 @@ const M = {
105
105
  title: this.getTitle,
106
106
  description: this.getDescription
107
107
  })
108
- }, u("#modal").modal({ show: !0 });
108
+ }, m("#modal").modal({ show: !0 });
109
109
  }
110
110
  },
111
111
  {
@@ -118,7 +118,7 @@ const M = {
118
118
  message: this.$t("message.dataupload.menu.registerADoi.message"),
119
119
  confirm: this.$t("message.dataupload.menu.registerADoi.confirm"),
120
120
  confirmHandler: () => this.handleRegisterDoi({ id: this.getID, catalog: this.getCatalog.id, type: this.$env.content.dataProviderInterface.doiRegistrationService.persistentIdentifierType || "mock" })
121
- }, u("#modal").modal({ show: !0 });
121
+ }, m("#modal").modal({ show: !0 });
122
122
  }
123
123
  }
124
124
  ]
@@ -143,7 +143,7 @@ const M = {
143
143
  message: "Are you sure you want to delete this catalogue? This can not be reverted!",
144
144
  confirm: "Delete catlogue (irreversible)",
145
145
  confirmHandler: () => this.handleDelete({ id: this.$route.params.ctlg_id, property: "catalogues", catalog: this.$route.params.ctlg_id })
146
- }, u("#modal").modal({ show: !0 });
146
+ }, m("#modal").modal({ show: !0 });
147
147
  }
148
148
  },
149
149
  {
@@ -186,20 +186,20 @@ const M = {
186
186
  isLocatedOnAuthorizedDatasetPage() {
187
187
  if (this.getLoading)
188
188
  return !1;
189
- const e = this.$route.name === "DatasetDetailsDataset";
190
- if (!e)
189
+ const t = this.$route.name === "DatasetDetailsDataset";
190
+ if (!t)
191
191
  return !1;
192
- const a = e && this.$route.params.ds_id, o = this.getUserData && this.getUserData.permissions, s = this.getCatalog && this.getCatalog.id;
193
- return o.find((r) => r.rsname === s) && e && a === this.getID;
192
+ const e = t && this.$route.params.ds_id, o = this.getUserData && this.getUserData.permissions, s = this.getCatalog && this.getCatalog.id;
193
+ return o.find((r) => r.rsname === s) && t && e === this.getID;
194
194
  },
195
195
  isLocatedOnAuthorizedCatalogPage() {
196
196
  if (this.getLoading)
197
197
  return !1;
198
- const e = this.$route.name === "CatalogueDetails";
199
- if (!e)
198
+ const t = this.$route.name === "CatalogueDetails";
199
+ if (!t)
200
200
  return !1;
201
- const a = e && this.$route.params.ctlg_id;
202
- return (this.getUserData && this.getUserData.permissions).find((t) => t.rsname === a) && e;
201
+ const e = t && this.$route.params.ctlg_id;
202
+ return (this.getUserData && this.getUserData.permissions).find((a) => a.rsname === e) && t;
203
203
  }
204
204
  },
205
205
  methods: {
@@ -210,59 +210,59 @@ const M = {
210
210
  "showSnackbar"
211
211
  ]),
212
212
  setupKeycloakWatcher() {
213
- this.$keycloak && this.$keycloak.authenticated && (this.$watch("$keycloak.token", async (e) => {
214
- if (!e)
213
+ this.$keycloak && this.$keycloak.authenticated && (this.$watch("$keycloak.token", async (t) => {
214
+ if (!t)
215
215
  return;
216
- let a = this.$keycloak.rtpToken;
217
- if (!a) {
216
+ let e = this.$keycloak.rtpToken;
217
+ if (!e) {
218
218
  const o = this.$keycloak.getRtpToken;
219
- o && (a = await o({ autoRefresh: !0 }));
219
+ o && (e = await o({ autoRefresh: !0 }));
220
220
  }
221
221
  this.updateUserData({
222
- authToken: e,
223
- rtpToken: a,
222
+ authToken: t,
223
+ rtpToken: e,
224
224
  hubUrl: this.$env.api.hubUrl
225
225
  });
226
- }, { immediate: !0 }), this.$watch("$keycloak.rtpToken", (e) => {
227
- e && this.updateUserData({
226
+ }, { immediate: !0 }), this.$watch("$keycloak.rtpToken", (t) => {
227
+ t && this.updateUserData({
228
228
  authToken: this.$keycloak.token,
229
- rtpToken: e,
229
+ rtpToken: t,
230
230
  hubUrl: this.$env.api.hubUrl
231
231
  });
232
232
  }));
233
233
  },
234
- async handleConfirm(e, a, { successMessage: o, errorMessage: s }) {
234
+ async handleConfirm(t, e, { successMessage: o, errorMessage: s }) {
235
235
  this.modal.loading = !0;
236
236
  try {
237
- this.$Progress.start(), await new Promise((t) => setTimeout(t, 250)), this.$Progress.set(25), await this.$store.dispatch(e, a), this.showSnackbar({
237
+ this.$Progress.start(), await new Promise((a) => setTimeout(a, 250)), this.$Progress.set(25), await this.$store.dispatch(t, e), this.showSnackbar({
238
238
  message: o,
239
239
  variant: "success"
240
- }), await new Promise((t) => setTimeout(t, 250)), this.$Progress.finish();
241
- } catch (t) {
242
- this.$Progress.fail(), console.error(t);
243
- const r = t.response && t.response.data && t.response.data.message;
240
+ }), await new Promise((a) => setTimeout(a, 250)), this.$Progress.finish();
241
+ } catch (a) {
242
+ this.$Progress.fail(), console.error(a);
243
+ const r = a.response && a.response.data && a.response.data.message;
244
244
  this.modal = {
245
245
  ...this.modal,
246
246
  // Need to translate this
247
- message: "DOI registration is not possible, the following error occured: " + t.response.data,
247
+ message: "DOI registration is not possible, the following error occured: " + a.response.data,
248
248
  confirm: "Okay",
249
- confirmHandler: () => u("#modal").modal("hide")
250
- }, console.log(t.response.data);
249
+ confirmHandler: () => m("#modal").modal("hide")
250
+ }, console.log(a.response.data);
251
251
  let i = typeof s == "string" && s;
252
- i = typeof s == "function" && s(t), i = typeof s == "object" && s.prefix + " - " + t.response.data, console.log(s);
253
- const g = i || r || t.message || "An error occurred";
252
+ i = typeof s == "function" && s(a), i = typeof s == "object" && s.prefix + " - " + a.response.data, console.log(s);
253
+ const g = i || r || a.message || "An error occurred";
254
254
  this.showSnackbar({
255
255
  message: g,
256
256
  variant: "error"
257
257
  });
258
258
  } finally {
259
- this.modal.loading = !1, u("#modal").modal("hide");
259
+ this.modal.loading = !1, m("#modal").modal("hide");
260
260
  }
261
261
  },
262
- async handleRegisterDoi({ id: e, catalog: a, type: o = "eu-ra-doi" }) {
262
+ async handleRegisterDoi({ id: t, catalog: e, type: o = "eu-ra-doi" }) {
263
263
  await this.handleConfirm(
264
264
  "auth/createPersistentIdentifier",
265
- { id: e, catalog: a, type: o },
265
+ { id: t, catalog: e, type: o },
266
266
  {
267
267
  successMessage: this.$te("message.snackbar.doiRegistration.success") ? this.$t("message.snackbar.doiRegistration.success") : "Successfully registered DOI",
268
268
  errorMessage: { prefix: this.$te("message.snackbar.doiRegistration.error") ? this.$t("message.snackbar.doiRegistration.error") : "DOI registration failed" }
@@ -270,14 +270,14 @@ const M = {
270
270
  );
271
271
  },
272
272
  async handleMarkAsDraft({
273
- id: e,
274
- catalog: a,
273
+ id: t,
274
+ catalog: e,
275
275
  title: o,
276
276
  description: s
277
277
  }) {
278
278
  await this.handleConfirm("auth/putDatasetToDraft", {
279
- id: e,
280
- catalog: a,
279
+ id: t,
280
+ catalog: e,
281
281
  title: o,
282
282
  description: s
283
283
  }, {
@@ -286,19 +286,19 @@ const M = {
286
286
  }), this.$router.push({ name: "DataProviderInterface-Draft", query: { locale: this.$route.query.locale } }).catch(() => {
287
287
  });
288
288
  },
289
- async handleDelete({ id: e, property: a, catalog: o }) {
290
- var s, t;
289
+ async handleDelete({ id: t, property: e, catalog: o }) {
290
+ var s, a;
291
291
  this.modal.loading = !0, this.$Progress.start();
292
292
  try {
293
293
  let r;
294
- a === "datasets" ? r = `${this.$env.api.hubUrl}datasets/${e}?useNormalizedId=true&catalogue=${o}` : a === "catalogues" && (r = `${this.$env.api.hubUrl}catalogues/${e}`), await w.delete(r, {
294
+ e === "datasets" ? r = `${this.$env.api.hubUrl}datasets/${t}?useNormalizedId=true&catalogue=${o}` : e === "catalogues" && (r = `${this.$env.api.hubUrl}catalogues/${t}`), await A.delete(r, {
295
295
  headers: {
296
296
  "Content-Type": "text/turtle",
297
297
  Authorization: `Bearer ${this.getUserData.rtpToken}`
298
298
  }
299
299
  });
300
300
  let i;
301
- a === "datasets" ? i = this.$te("message.snackbar.deleteDataset.success") ? this.$t("message.snackbar.deleteDataset.success") : "Dataset successfully deleted" : a === "catalogues" && (i = this.$te("message.snackbar.deleteCatalog.success") ? this.$t("message.snackbar.deleteCatalog.success") : "Catalog successfully deleted"), this.showSnackbar({
301
+ e === "datasets" ? i = this.$te("message.snackbar.deleteDataset.success") ? this.$t("message.snackbar.deleteDataset.success") : "Dataset successfully deleted" : e === "catalogues" && (i = this.$te("message.snackbar.deleteCatalog.success") ? this.$t("message.snackbar.deleteCatalog.success") : "Catalog successfully deleted"), this.showSnackbar({
302
302
  message: i,
303
303
  variant: "success"
304
304
  }), this.$Progress.finish(), this.$router.push({ name: "Datasets", query: { locale: this.$route.query.locale, refresh: !0 } }).catch(() => {
@@ -306,63 +306,63 @@ const M = {
306
306
  } catch (r) {
307
307
  this.$Progress.fail();
308
308
  let i;
309
- a === "datasets" ? i = this.$te("message.snackbar.deleteDataset.error") ? this.$t("message.snackbar.deleteDataset.error") : "Failed to delete dataset" : a === "catalogues" && (i = this.$te("message.snackbar.deleteCatalog.error") ? this.$t("message.snackbar.deleteCatalog.error") : "Failed to delete catalog"), this.showSnackbar({
310
- message: `${i}${(s = r.response) != null && s.data ? ` — ${(t = r.response) == null ? void 0 : t.data}` : r.message}`,
309
+ e === "datasets" ? i = this.$te("message.snackbar.deleteDataset.error") ? this.$t("message.snackbar.deleteDataset.error") : "Failed to delete dataset" : e === "catalogues" && (i = this.$te("message.snackbar.deleteCatalog.error") ? this.$t("message.snackbar.deleteCatalog.error") : "Failed to delete catalog"), this.showSnackbar({
310
+ message: `${i}${(s = r.response) != null && s.data ? ` — ${(a = r.response) == null ? void 0 : a.data}` : r.message}`,
311
311
  variant: "error"
312
312
  });
313
313
  } finally {
314
- this.modal.loading = !1, u("#modal").modal("hide");
314
+ this.modal.loading = !1, m("#modal").modal("hide");
315
315
  }
316
316
  }
317
317
  },
318
318
  created() {
319
319
  this.setupKeycloakWatcher();
320
320
  }
321
- }, N = (e) => (S("data-v-f7ab70fb"), e = e(), z(), e), R = {
321
+ }, S = {
322
322
  id: "wrapper",
323
323
  "data-cy": "dpi-menu"
324
- }, E = { key: 0 }, H = { class: "text-white" }, x = { style: { "margin-top": "1%" } }, F = { class: "btn-group dropup" }, B = {
324
+ }, M = { key: 0 }, N = { class: "text-white" }, R = { style: { "margin-top": "1%" } }, E = { class: "btn-group dropup" }, H = {
325
325
  key: 0,
326
326
  class: "logoutWrap"
327
- }, G = { class: "text-white" }, V = /* @__PURE__ */ N(() => /* @__PURE__ */ d("br", null, null, -1)), W = {
327
+ }, x = { class: "text-white" }, F = {
328
328
  type: "button",
329
329
  class: "btn btn-default logout"
330
330
  };
331
- function K(e, a, o, s, t, r) {
332
- const i = f("dropup"), g = f("router-link"), _ = f("app-confirmation-dialog");
333
- return c(), h("div", R, [
334
- t.visible ? (c(), h("nav", E, [
335
- d("div", null, [
336
- d("h4", H, m(e.$t("message.dataupload.menu.dpi")), 1)
331
+ function B(t, e, o, s, a, r) {
332
+ const i = f("dropup"), g = f("router-link"), I = f("app-confirmation-dialog");
333
+ return u(), h("div", S, [
334
+ a.visible ? (u(), h("nav", M, [
335
+ l("div", null, [
336
+ l("h4", N, c(t.$t("message.dataupload.menu.dpi")), 1)
337
337
  ]),
338
- l(),
339
- d("div", x, [
340
- (c(!0), h(y, null, b(r.menuGroups, (n, p) => (c(), C(i, {
338
+ e[5] || (e[5] = d()),
339
+ l("div", R, [
340
+ (u(!0), h(y, null, b(r.menuGroups, (n, p) => (u(), C(i, {
341
341
  key: `Group${p}`,
342
342
  groupName: n.group,
343
343
  groupItems: n.items,
344
- show: e.$env.content.dataProviderInterface.buttons[n.group],
345
- isOperator: e.getUserData.roles.includes("operator"),
344
+ show: t.$env.content.dataProviderInterface.buttons[n.group],
345
+ isOperator: t.getUserData.roles.includes("operator"),
346
346
  isCatalog: n.group === "Catalogue"
347
347
  }, null, 8, ["groupName", "groupItems", "show", "isOperator", "isCatalog"]))), 128)),
348
- l(),
349
- d("ul", null, [
350
- d("div", F, [
351
- (c(!0), h(y, null, b(r.menuItems, (n, p) => (c(), h("li", {
348
+ e[1] || (e[1] = d()),
349
+ l("ul", null, [
350
+ l("div", E, [
351
+ (u(!0), h(y, null, b(r.menuItems, (n, p) => (u(), h("li", {
352
352
  key: `Menu${p}`
353
353
  }, [
354
- d("button", {
354
+ l("button", {
355
355
  type: "button",
356
356
  class: "btn btn-default",
357
- onClick: a[0] || (a[0] = (I) => s.scrollToTop())
357
+ onClick: e[0] || (e[0] = (w) => s.scrollToTop())
358
358
  }, [
359
- (c(), C(U(n.handler ? "button" : "router-link"), {
359
+ (u(), C(_(n.handler ? "button" : "router-link"), {
360
360
  class: q({ disabled: n.disabled }),
361
361
  to: n.to,
362
- onClick: (I) => n.handler ? n.handler() : null
362
+ onClick: (w) => n.handler ? n.handler() : null
363
363
  }, {
364
364
  default: D(() => [
365
- l(m(n.handler) + " " + m(n.name), 1)
365
+ d(c(n.handler) + " " + c(n.name), 1)
366
366
  ]),
367
367
  _: 2
368
368
  }, 1032, ["class", "to", "onClick"]))
@@ -371,17 +371,17 @@ function K(e, a, o, s, t, r) {
371
371
  ])
372
372
  ])
373
373
  ]),
374
- l(),
375
- e.getUserData.userName ? (c(), h("div", B, [
376
- O(e.$slots, "right", { getUserData: e.getUserData }, () => [
377
- d("small", G, m(e.$t("message.dataupload.menu.loggedInAs")) + " " + m(e.getUserData.userName), 1),
378
- l(),
379
- V,
380
- l(),
381
- d("button", W, [
374
+ e[6] || (e[6] = d()),
375
+ t.getUserData.userName ? (u(), h("div", H, [
376
+ O(t.$slots, "right", { getUserData: t.getUserData }, () => [
377
+ l("small", x, c(t.$t("message.dataupload.menu.loggedInAs")) + " " + c(t.getUserData.userName), 1),
378
+ e[2] || (e[2] = d()),
379
+ e[3] || (e[3] = l("br", null, null, -1)),
380
+ e[4] || (e[4] = d()),
381
+ l("button", F, [
382
382
  P(g, { to: { name: "Logout" } }, {
383
383
  default: D(() => [
384
- l(m(e.$t("message.dataupload.menu.logout")), 1)
384
+ d(c(t.$t("message.dataupload.menu.logout")), 1)
385
385
  ]),
386
386
  _: 1
387
387
  })
@@ -389,22 +389,22 @@ function K(e, a, o, s, t, r) {
389
389
  ], !0)
390
390
  ])) : v("", !0)
391
391
  ])) : v("", !0),
392
- l(),
393
- P(_, {
392
+ e[7] || (e[7] = d()),
393
+ P(I, {
394
394
  id: "DPIMenuModal",
395
- loading: t.modal.loading,
396
- confirm: t.modal.confirm,
397
- onConfirm: t.modal.confirmHandler
395
+ loading: a.modal.loading,
396
+ confirm: a.modal.confirm,
397
+ onConfirm: a.modal.confirmHandler
398
398
  }, {
399
399
  default: D(() => [
400
- l(m(t.modal.message), 1)
400
+ d(c(a.modal.message), 1)
401
401
  ]),
402
402
  _: 1
403
403
  }, 8, ["loading", "confirm", "onConfirm"])
404
404
  ]);
405
405
  }
406
- const se = /* @__PURE__ */ L(M, [["render", K], ["__scopeId", "data-v-f7ab70fb"]]);
406
+ const Z = /* @__PURE__ */ z(L, [["render", B], ["__scopeId", "data-v-f7ab70fb"]]);
407
407
  export {
408
- se as default
408
+ Z as default
409
409
  };
410
410
  //# sourceMappingURL=DPIMenu.vue.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DPIMenu.vue.mjs","sources":["../../lib/data-provider-interface/DPIMenu.vue"],"sourcesContent":["<template>\n <div id=\"wrapper\" data-cy=\"dpi-menu\">\n <nav v-if=\"visible\">\n <div>\n <h4 class=\"text-white\">{{ $t('message.dataupload.menu.dpi') }}</h4>\n </div>\n\n <div style=\"margin-top:1%;\">\n <dropup v-for=\"(group, index) in menuGroups\" :key=\"`Group${index}`\" :groupName=\"group.group\"\n :groupItems=\"group.items\" :show=\"$env.content.dataProviderInterface.buttons[group.group]\"\n :isOperator=\"getUserData.roles.includes('operator')\" :isCatalog=\"group.group === 'Catalogue' ? true : false\">\n </dropup>\n <ul>\n <div class=\"btn-group dropup\">\n <li v-for=\"(menuItem, index) in menuItems\" :key=\"`Menu${index}`\">\n <button type=\"button\" class=\"btn btn-default\" @click=\"scrollToTop()\">\n <!-- Menu items are either buttons or router-link -->\n <!-- depending if they have a 'to' or 'handler' property -->\n <component :is=\"menuItem.handler ? 'button' : 'router-link'\" :class=\"{ 'disabled': menuItem.disabled }\"\n :to=\"menuItem.to\" @click.native=\"menuItem.handler ? menuItem.handler() : null\">\n {{ menuItem.handler }}\n {{ menuItem.name }}\n </component>\n </button>\n </li>\n </div>\n </ul>\n </div>\n\n\n <div v-if=\"getUserData.userName\" class=\"logoutWrap\">\n <slot name=\"right\" :get-user-data=\"getUserData\">\n <small class=\"text-white\">{{ $t('message.dataupload.menu.loggedInAs') }} {{ getUserData.userName\n }}</small>\n <br>\n <button type=\"button\" class=\"btn btn-default logout\">\n <router-link :to=\"{ name: 'Logout' }\">{{ $t('message.dataupload.menu.logout') }}</router-link>\n </button>\n </slot>\n </div>\n </nav>\n\n <app-confirmation-dialog id=\"DPIMenuModal\" :loading=\"modal.loading\" :confirm=\"modal.confirm\"\n @confirm=\"modal.confirmHandler\">\n {{ modal.message }}\n </app-confirmation-dialog>\n </div>\n</template>\n\n<script>\nimport axios from 'axios';\nimport $ from 'jquery';\nimport { has, isEmpty } from 'lodash-es';\nimport { mapGetters, mapActions } from 'vuex';\nimport Dropup from './components/Dropup';\nimport { useWindowScroll } from '@vueuse/core'\n\nexport default {\n name: 'DPI-menu',\n components: {\n Dropup\n },\n props: {},\n data() {\n return {\n visible: true,\n modal: {\n show: false,\n loading: false,\n error: null,\n message: '',\n confirm: 'Ok',\n confirmHandler: () => null,\n },\n };\n },\n setup() {\n const scrollToTop = () => {\n let { x, y } = useWindowScroll({ behavior: 'smooth' })\n y.value = 0\n\n }\n return {\n scrollToTop\n }\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getCatalog',\n 'getID',\n 'getLoading',\n 'getTitle',\n 'getDescription',\n ]),\n ...mapGetters('auth', [\n 'getUserData',\n ]),\n menuGroups() {\n return [\n {\n group: 'Dataset',\n items: [\n {\n key: 'create-dataset',\n name: 'createDataset',\n to: {\n name: 'DataProviderInterface-Input',\n query: { locale: this.$route.query.locale, edit: false }, // if edit is false -> reset is triggered\n params: { property: 'datasets' },\n },\n },\n {\n name: 'deleteDataset',\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.datasetDeletion.message'),\n confirm: this.$t('message.dataupload.menu.datasetDeletion.confirm'),\n confirmHandler: () => this.handleDelete({ id: this.getID, property: 'datasets', catalog: this.getCatalog.id }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n {\n key: 'edit-dataset',\n name: 'editDataset',\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n to: {\n name: 'DataProviderInterface-Edit',\n params: {\n catalog: this.getCatalog.id || 'undefined',\n property: 'datasets',\n id: this.getID || 'undefined',\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n },\n },\n },\n \n {\n key: 'draft-dataset',\n name: 'setToDraft',\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.markAsDraft.message'),\n confirm: this.$t('message.dataupload.menu.markAsDraft.confirm'),\n confirmHandler: () => this.handleMarkAsDraft({\n id: this.getID, catalog: this.getCatalog.id, title: this.getTitle, description: this.getDescription,\n }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n {\n key: 'register-dataset',\n name: 'registerDoi',\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.registerADoi.message'),\n confirm: this.$t('message.dataupload.menu.registerADoi.confirm'),\n confirmHandler: () => this.handleRegisterDoi({ id: this.getID, catalog: this.getCatalog.id, type: this.$env.content.dataProviderInterface.doiRegistrationService.persistentIdentifierType || 'mock' }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n ],\n },\n {\n group: 'Catalogue',\n items: [\n {\n name: 'CreateCatalogue',\n to: {\n name: 'DataProviderInterface-Input',\n query: { locale: this.$route.query.locale, edit: false },\n params: { property: 'catalogues' }\n },\n },\n {\n name: 'DeleteCatalogue',\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: 'Are you sure you want to delete this catalogue? This can not be reverted!',\n confirm: 'Delete catlogue (irreversible)',\n confirmHandler: () => this.handleDelete({ id: this.$route.params.ctlg_id, property: 'catalogues', catalog: this.$route.params.ctlg_id }),\n },\n };\n $('#modal').modal({ show: true });\n }\n },\n {\n name: 'EditCatalog',\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n to: {\n name: 'DataProviderInterface-Edit',\n params: {\n catalog: this.$route.params.ctlg_id ? this.$route.params.ctlg_id : 'undefined',\n property: 'catalogues',\n id: this.getID || 'undefined',\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n }\n }\n },\n ],\n },\n ];\n },\n menuItems() {\n return [\n {\n name: this.$t('message.dataupload.menu.draftDatasets'),\n to: { name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } },\n },\n {\n name: this.$t('message.dataupload.menu.myCatalogues'),\n to: { name: 'DataProviderInterface-UserCatalogues', query: { locale: this.$route.query.locale } },\n },\n {\n name: this.$t('message.dataupload.menu.userProfile'),\n to: { name: 'DataProviderInterface-UserProfile', query: { locale: this.$route.query.locale } },\n },\n ];\n },\n isLocatedOnAuthorizedDatasetPage() {\n // Never return true while loading\n if (this.getLoading) return false;\n\n // Is the user located on the correct page?\n const isOnDatasetDetailsPage = this.$route.name === 'DatasetDetailsDataset';\n if (!isOnDatasetDetailsPage) return false;\n const datasetId = isOnDatasetDetailsPage && this.$route.params.ds_id;\n\n // Does user have permission on dataset (based on current datasetDetails state)?\n const permissions = this.getUserData && this.getUserData.permissions;\n const catalogId = this.getCatalog && this.getCatalog.id;\n const hasPermission = permissions.find(permission => permission.rsname === catalogId);\n\n // Does the user have permission on the current dataset details page?\n return hasPermission\n && isOnDatasetDetailsPage\n && datasetId === this.getID;\n },\n isLocatedOnAuthorizedCatalogPage() {\n // never return true while loading\n if (this.getLoading) return false;\n\n // is the user located on the correct page?\n const onCatalogPage = this.$route.name === 'CatalogueDetails';\n if (!onCatalogPage) return false;\n const catalogId = onCatalogPage && this.$route.params.ctlg_id;\n\n const permissions = this.getUserData && this.getUserData.permissions;\n const hasPermission = permissions.find(permission => permission.rsname === catalogId);\n\n // does user have permission on current catalogue\n return hasPermission && onCatalogPage;\n }\n },\n methods: {\n ...mapActions('auth', [\n 'updateUserData',\n ]),\n ...mapActions('snackbar', [\n 'showSnackbar',\n ]),\n setupKeycloakWatcher() {\n if (this.$keycloak && this.$keycloak.authenticated) {\n // Set up watcher here since we this.$keycloak might not be available.\n // If this.$keycloak is ensured, move this watcher out of this created hook.\n this.$watch('$keycloak.token', async (newToken) => {\n if (!newToken) return;\n\n let rtpToken = this.$keycloak.rtpToken;\n if (!rtpToken) {\n const rtpTokenFn = this.$keycloak.getRtpToken;\n if (rtpTokenFn) {\n const res = (await rtpTokenFn({ autoRefresh: true }));\n rtpToken = res;\n }\n }\n\n this.updateUserData({\n authToken: newToken,\n rtpToken: rtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n }, { immediate: true });\n\n this.$watch('$keycloak.rtpToken', (newRtpToken) => {\n if (!newRtpToken) return;\n\n this.updateUserData({\n authToken: this.$keycloak.token,\n rtpToken: newRtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n });\n }\n },\n async handleConfirm(action, argsObj, { successMessage, errorMessage }) {\n this.modal.loading = true;\n try {\n // Sleep for 250ms for better UX\n this.$Progress.start();\n await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.set(25);\n await this.$store.dispatch(action, argsObj);\n\n // Successful DOI registration\n this.showSnackbar({\n message: successMessage,\n variant: 'success',\n });\n await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.finish();\n } catch (ex) {\n this.$Progress.fail();\n // eslint-disable-next-line no-console\n console.error(ex);\n\n const maybeErrorStatusMsg = ex.response && ex.response.data && ex.response.data.message;\n\n this.modal = {\n ...this.modal,\n ...{\n // Need to translate this\n message: 'DOI registration is not possible, the following error occured: ' + ex.response.data,\n confirm: 'Okay',\n confirmHandler: () => $('#modal').modal('hide'),\n },\n };\n\n\n console.log(ex.response.data);\n let customErrorMessage = typeof errorMessage === 'string' && errorMessage;\n customErrorMessage = typeof errorMessage === 'function' && errorMessage(ex);\n // customErrorMessage = typeof errorMessage === 'object' && errorMessage.prefix && `${errorMessage.prefix}${maybeErrorStatusMsg && ` — ${maybeErrorStatusMsg}`}`;\n customErrorMessage = typeof errorMessage === 'object' && errorMessage.prefix + \" - \" + ex.response.data;\n\n console.log(errorMessage);\n const errorMsg = customErrorMessage || maybeErrorStatusMsg || ex.message || 'An error occurred';\n // show snackbar\n this.showSnackbar({\n message: errorMsg,\n variant: 'error',\n });\n } finally {\n this.modal.loading = false;\n $('#modal').modal('hide');\n }\n },\n async handleRegisterDoi({ id, catalog, type = 'eu-ra-doi' }) {\n await this.handleConfirm(\n 'auth/createPersistentIdentifier',\n { id, catalog, type },\n {\n successMessage: this.$te('message.snackbar.doiRegistration.success') ? this.$t('message.snackbar.doiRegistration.success') : 'Successfully registered DOI',\n errorMessage: { prefix: this.$te('message.snackbar.doiRegistration.error') ? this.$t('message.snackbar.doiRegistration.error') : 'DOI registration failed' },\n\n },\n );\n },\n async handleMarkAsDraft({\n id, catalog, title, description,\n }) {\n await this.handleConfirm('auth/putDatasetToDraft', {\n id, catalog, title, description,\n }, {\n successMessage: this.$te('message.snackbar.markAsDraft.success') ? this.$t('message.snackbar.markAsDraft.success') : 'Dataset successfully marked as draft',\n errorMessage: { prefix: this.$te('message.snackbar.markAsDraft.error') ? this.$t('message.snackbar.markAsDraft.error') : 'Failed to mark dataset as draft' },\n });\n\n this.$router.push({ name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } }).catch(() => { });\n },\n async handleDelete({ id, property, catalog }) {\n // todo: create user dataset api (and maybe integrate to store)\n // For now, do request manually using axios\n\n this.modal.loading = true;\n this.$Progress.start();\n try {\n let endpoint;\n\n if (property === 'datasets') {\n\n endpoint = `${this.$env.api.hubUrl}datasets/${id}?useNormalizedId=true&catalogue=${catalog}`;\n } else if (property === 'catalogues') {\n endpoint = `${this.$env.api.hubUrl}catalogues/${id}`\n }\n\n await axios.delete(endpoint, {\n\n headers: {\n 'Content-Type': 'text/turtle',\n Authorization: `Bearer ${this.getUserData.rtpToken}`,\n },\n });\n\n let successMessage;\n if (property === 'datasets') {\n successMessage = this.$te('message.snackbar.deleteDataset.success') ? this.$t('message.snackbar.deleteDataset.success') : 'Dataset successfully deleted';\n } else if (property === 'catalogues') {\n successMessage = this.$te('message.snackbar.deleteCatalog.success') ? this.$t('message.snackbar.deleteCatalog.success') : 'Catalog successfully deleted';\n }\n\n\n this.showSnackbar({\n message: successMessage,\n variant: 'success',\n });\n this.$Progress.finish();\n\n // Redirect to Home\n this.$router.push({ name: 'Datasets', query: { locale: this.$route.query.locale, refresh: true } }).catch(() => { });\n } catch (ex) {\n this.$Progress.fail();\n\n let errorMessage;\n\n if (property === 'datasets') {\n errorMessage = this.$te('message.snackbar.deleteDataset.error') ? this.$t('message.snackbar.deleteDataset.error') : 'Failed to delete dataset';\n } else if (property === 'catalogues') {\n errorMessage = this.$te('message.snackbar.deleteCatalog.error') ? this.$t('message.snackbar.deleteCatalog.error') : 'Failed to delete catalog';\n }\n\n this.showSnackbar({\n message: `${errorMessage}${ex.response?.data ? ` — ${ex.response?.data}` : ex.message}`,\n variant: 'error',\n });\n } finally {\n this.modal.loading = false;\n $('#modal').modal('hide');\n }\n },\n },\n created() {\n this.setupKeycloakWatcher();\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n#wrapper {\n background: linear-gradient(90deg, #082b7a, #0e47cb);\n width: 100%;\n position: sticky;\n bottom: 0;\n z-index: 999;\n}\n\nnav {\n max-width: 1400px;\n display: flex;\n flex-direction: row;\n margin: 0 auto;\n justify-content: space-between;\n font-size: 1rem;\n align-items: center;\n}\n\nul {\n float: right;\n\n li {\n display: inline;\n\n a {\n color: white;\n }\n }\n}\n\nbutton a {\n color: white;\n}\n\n.logout {\n display: block;\n margin: 0 auto;\n border: 1px solid white;\n padding: 0.1rem 1.5rem;\n}\n\n.logoutWrap {\n width: 14rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n</style>\n"],"names":["_sfc_main","Dropup","x","y","useWindowScroll","mapGetters","$","isOnDatasetDetailsPage","datasetId","permissions","catalogId","permission","onCatalogPage","mapActions","newToken","rtpToken","rtpTokenFn","newRtpToken","action","argsObj","successMessage","errorMessage","resolve","ex","maybeErrorStatusMsg","customErrorMessage","errorMsg","id","catalog","type","title","description","property","endpoint","axios","_a","_b","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_7","_createElementVNode","_openBlock","_createElementBlock","_hoisted_1","$data","_hoisted_2","_toDisplayString","_ctx","_createTextVNode","_Fragment","_renderList","$options","group","index","_createBlock","_component_dropup","menuItem","$setup","_resolveDynamicComponent","_normalizeClass","_withCtx","_hoisted_6","_renderSlot","_hoisted_8","_hoisted_9","_createVNode","_component_router_link","_createCommentVNode","_component_app_confirmation_dialog"],"mappings":"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"}
1
+ {"version":3,"file":"DPIMenu.vue.mjs","sources":["../../lib/data-provider-interface/DPIMenu.vue"],"sourcesContent":["<template>\n <div id=\"wrapper\" data-cy=\"dpi-menu\">\n <nav v-if=\"visible\">\n <div>\n <h4 class=\"text-white\">{{ $t('message.dataupload.menu.dpi') }}</h4>\n </div>\n\n <div style=\"margin-top:1%;\">\n <dropup v-for=\"(group, index) in menuGroups\" :key=\"`Group${index}`\" :groupName=\"group.group\"\n :groupItems=\"group.items\" :show=\"$env.content.dataProviderInterface.buttons[group.group]\"\n :isOperator=\"getUserData.roles.includes('operator')\" :isCatalog=\"group.group === 'Catalogue' ? true : false\">\n </dropup>\n <ul>\n <div class=\"btn-group dropup\">\n <li v-for=\"(menuItem, index) in menuItems\" :key=\"`Menu${index}`\">\n <button type=\"button\" class=\"btn btn-default\" @click=\"scrollToTop()\">\n <!-- Menu items are either buttons or router-link -->\n <!-- depending if they have a 'to' or 'handler' property -->\n <component :is=\"menuItem.handler ? 'button' : 'router-link'\" :class=\"{ 'disabled': menuItem.disabled }\"\n :to=\"menuItem.to\" @click.native=\"menuItem.handler ? menuItem.handler() : null\">\n {{ menuItem.handler }}\n {{ menuItem.name }}\n </component>\n </button>\n </li>\n </div>\n </ul>\n </div>\n\n\n <div v-if=\"getUserData.userName\" class=\"logoutWrap\">\n <slot name=\"right\" :get-user-data=\"getUserData\">\n <small class=\"text-white\">{{ $t('message.dataupload.menu.loggedInAs') }} {{ getUserData.userName\n }}</small>\n <br>\n <button type=\"button\" class=\"btn btn-default logout\">\n <router-link :to=\"{ name: 'Logout' }\">{{ $t('message.dataupload.menu.logout') }}</router-link>\n </button>\n </slot>\n </div>\n </nav>\n\n <app-confirmation-dialog id=\"DPIMenuModal\" :loading=\"modal.loading\" :confirm=\"modal.confirm\"\n @confirm=\"modal.confirmHandler\">\n {{ modal.message }}\n </app-confirmation-dialog>\n </div>\n</template>\n\n<script>\nimport axios from 'axios';\nimport $ from 'jquery';\nimport { has, isEmpty } from 'lodash-es';\nimport { mapGetters, mapActions } from 'vuex';\nimport Dropup from './components/Dropup';\nimport { useWindowScroll } from '@vueuse/core'\n\nexport default {\n name: 'DPI-menu',\n components: {\n Dropup\n },\n props: {},\n data() {\n return {\n visible: true,\n modal: {\n show: false,\n loading: false,\n error: null,\n message: '',\n confirm: 'Ok',\n confirmHandler: () => null,\n },\n };\n },\n setup() {\n const scrollToTop = () => {\n let { x, y } = useWindowScroll({ behavior: 'smooth' })\n y.value = 0\n\n }\n return {\n scrollToTop\n }\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getCatalog',\n 'getID',\n 'getLoading',\n 'getTitle',\n 'getDescription',\n ]),\n ...mapGetters('auth', [\n 'getUserData',\n ]),\n menuGroups() {\n return [\n {\n group: 'Dataset',\n items: [\n {\n key: 'create-dataset',\n name: 'createDataset',\n to: {\n name: 'DataProviderInterface-Input',\n query: { locale: this.$route.query.locale, edit: false }, // if edit is false -> reset is triggered\n params: { property: 'datasets' },\n },\n },\n {\n name: 'deleteDataset',\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.datasetDeletion.message'),\n confirm: this.$t('message.dataupload.menu.datasetDeletion.confirm'),\n confirmHandler: () => this.handleDelete({ id: this.getID, property: 'datasets', catalog: this.getCatalog.id }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n {\n key: 'edit-dataset',\n name: 'editDataset',\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n to: {\n name: 'DataProviderInterface-Edit',\n params: {\n catalog: this.getCatalog.id || 'undefined',\n property: 'datasets',\n id: this.getID || 'undefined',\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n },\n },\n },\n \n {\n key: 'draft-dataset',\n name: 'setToDraft',\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.markAsDraft.message'),\n confirm: this.$t('message.dataupload.menu.markAsDraft.confirm'),\n confirmHandler: () => this.handleMarkAsDraft({\n id: this.getID, catalog: this.getCatalog.id, title: this.getTitle, description: this.getDescription,\n }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n {\n key: 'register-dataset',\n name: 'registerDoi',\n disabled: !this.isLocatedOnAuthorizedDatasetPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: this.$t('message.dataupload.menu.registerADoi.message'),\n confirm: this.$t('message.dataupload.menu.registerADoi.confirm'),\n confirmHandler: () => this.handleRegisterDoi({ id: this.getID, catalog: this.getCatalog.id, type: this.$env.content.dataProviderInterface.doiRegistrationService.persistentIdentifierType || 'mock' }),\n },\n };\n $('#modal').modal({ show: true });\n },\n },\n ],\n },\n {\n group: 'Catalogue',\n items: [\n {\n name: 'CreateCatalogue',\n to: {\n name: 'DataProviderInterface-Input',\n query: { locale: this.$route.query.locale, edit: false },\n params: { property: 'catalogues' }\n },\n },\n {\n name: 'DeleteCatalogue',\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n handler: () => {\n this.modal = {\n ...this.modal,\n ...{\n message: 'Are you sure you want to delete this catalogue? This can not be reverted!',\n confirm: 'Delete catlogue (irreversible)',\n confirmHandler: () => this.handleDelete({ id: this.$route.params.ctlg_id, property: 'catalogues', catalog: this.$route.params.ctlg_id }),\n },\n };\n $('#modal').modal({ show: true });\n }\n },\n {\n name: 'EditCatalog',\n onlyAuthorizedDatasetPage: true,\n disabled: !this.isLocatedOnAuthorizedCatalogPage,\n to: {\n name: 'DataProviderInterface-Edit',\n params: {\n catalog: this.$route.params.ctlg_id ? this.$route.params.ctlg_id : 'undefined',\n property: 'catalogues',\n id: this.getID || 'undefined',\n },\n query: {\n draft: false,\n locale: this.$route.query.locale,\n }\n }\n },\n ],\n },\n ];\n },\n menuItems() {\n return [\n {\n name: this.$t('message.dataupload.menu.draftDatasets'),\n to: { name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } },\n },\n {\n name: this.$t('message.dataupload.menu.myCatalogues'),\n to: { name: 'DataProviderInterface-UserCatalogues', query: { locale: this.$route.query.locale } },\n },\n {\n name: this.$t('message.dataupload.menu.userProfile'),\n to: { name: 'DataProviderInterface-UserProfile', query: { locale: this.$route.query.locale } },\n },\n ];\n },\n isLocatedOnAuthorizedDatasetPage() {\n // Never return true while loading\n if (this.getLoading) return false;\n\n // Is the user located on the correct page?\n const isOnDatasetDetailsPage = this.$route.name === 'DatasetDetailsDataset';\n if (!isOnDatasetDetailsPage) return false;\n const datasetId = isOnDatasetDetailsPage && this.$route.params.ds_id;\n\n // Does user have permission on dataset (based on current datasetDetails state)?\n const permissions = this.getUserData && this.getUserData.permissions;\n const catalogId = this.getCatalog && this.getCatalog.id;\n const hasPermission = permissions.find(permission => permission.rsname === catalogId);\n\n // Does the user have permission on the current dataset details page?\n return hasPermission\n && isOnDatasetDetailsPage\n && datasetId === this.getID;\n },\n isLocatedOnAuthorizedCatalogPage() {\n // never return true while loading\n if (this.getLoading) return false;\n\n // is the user located on the correct page?\n const onCatalogPage = this.$route.name === 'CatalogueDetails';\n if (!onCatalogPage) return false;\n const catalogId = onCatalogPage && this.$route.params.ctlg_id;\n\n const permissions = this.getUserData && this.getUserData.permissions;\n const hasPermission = permissions.find(permission => permission.rsname === catalogId);\n\n // does user have permission on current catalogue\n return hasPermission && onCatalogPage;\n }\n },\n methods: {\n ...mapActions('auth', [\n 'updateUserData',\n ]),\n ...mapActions('snackbar', [\n 'showSnackbar',\n ]),\n setupKeycloakWatcher() {\n if (this.$keycloak && this.$keycloak.authenticated) {\n // Set up watcher here since we this.$keycloak might not be available.\n // If this.$keycloak is ensured, move this watcher out of this created hook.\n this.$watch('$keycloak.token', async (newToken) => {\n if (!newToken) return;\n\n let rtpToken = this.$keycloak.rtpToken;\n if (!rtpToken) {\n const rtpTokenFn = this.$keycloak.getRtpToken;\n if (rtpTokenFn) {\n const res = (await rtpTokenFn({ autoRefresh: true }));\n rtpToken = res;\n }\n }\n\n this.updateUserData({\n authToken: newToken,\n rtpToken: rtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n }, { immediate: true });\n\n this.$watch('$keycloak.rtpToken', (newRtpToken) => {\n if (!newRtpToken) return;\n\n this.updateUserData({\n authToken: this.$keycloak.token,\n rtpToken: newRtpToken,\n hubUrl: this.$env.api.hubUrl,\n });\n });\n }\n },\n async handleConfirm(action, argsObj, { successMessage, errorMessage }) {\n this.modal.loading = true;\n try {\n // Sleep for 250ms for better UX\n this.$Progress.start();\n await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.set(25);\n await this.$store.dispatch(action, argsObj);\n\n // Successful DOI registration\n this.showSnackbar({\n message: successMessage,\n variant: 'success',\n });\n await new Promise(resolve => setTimeout(resolve, 250));\n\n this.$Progress.finish();\n } catch (ex) {\n this.$Progress.fail();\n // eslint-disable-next-line no-console\n console.error(ex);\n\n const maybeErrorStatusMsg = ex.response && ex.response.data && ex.response.data.message;\n\n this.modal = {\n ...this.modal,\n ...{\n // Need to translate this\n message: 'DOI registration is not possible, the following error occured: ' + ex.response.data,\n confirm: 'Okay',\n confirmHandler: () => $('#modal').modal('hide'),\n },\n };\n\n\n console.log(ex.response.data);\n let customErrorMessage = typeof errorMessage === 'string' && errorMessage;\n customErrorMessage = typeof errorMessage === 'function' && errorMessage(ex);\n // customErrorMessage = typeof errorMessage === 'object' && errorMessage.prefix && `${errorMessage.prefix}${maybeErrorStatusMsg && ` — ${maybeErrorStatusMsg}`}`;\n customErrorMessage = typeof errorMessage === 'object' && errorMessage.prefix + \" - \" + ex.response.data;\n\n console.log(errorMessage);\n const errorMsg = customErrorMessage || maybeErrorStatusMsg || ex.message || 'An error occurred';\n // show snackbar\n this.showSnackbar({\n message: errorMsg,\n variant: 'error',\n });\n } finally {\n this.modal.loading = false;\n $('#modal').modal('hide');\n }\n },\n async handleRegisterDoi({ id, catalog, type = 'eu-ra-doi' }) {\n await this.handleConfirm(\n 'auth/createPersistentIdentifier',\n { id, catalog, type },\n {\n successMessage: this.$te('message.snackbar.doiRegistration.success') ? this.$t('message.snackbar.doiRegistration.success') : 'Successfully registered DOI',\n errorMessage: { prefix: this.$te('message.snackbar.doiRegistration.error') ? this.$t('message.snackbar.doiRegistration.error') : 'DOI registration failed' },\n\n },\n );\n },\n async handleMarkAsDraft({\n id, catalog, title, description,\n }) {\n await this.handleConfirm('auth/putDatasetToDraft', {\n id, catalog, title, description,\n }, {\n successMessage: this.$te('message.snackbar.markAsDraft.success') ? this.$t('message.snackbar.markAsDraft.success') : 'Dataset successfully marked as draft',\n errorMessage: { prefix: this.$te('message.snackbar.markAsDraft.error') ? this.$t('message.snackbar.markAsDraft.error') : 'Failed to mark dataset as draft' },\n });\n\n this.$router.push({ name: 'DataProviderInterface-Draft', query: { locale: this.$route.query.locale } }).catch(() => { });\n },\n async handleDelete({ id, property, catalog }) {\n // todo: create user dataset api (and maybe integrate to store)\n // For now, do request manually using axios\n\n this.modal.loading = true;\n this.$Progress.start();\n try {\n let endpoint;\n\n if (property === 'datasets') {\n\n endpoint = `${this.$env.api.hubUrl}datasets/${id}?useNormalizedId=true&catalogue=${catalog}`;\n } else if (property === 'catalogues') {\n endpoint = `${this.$env.api.hubUrl}catalogues/${id}`\n }\n\n await axios.delete(endpoint, {\n\n headers: {\n 'Content-Type': 'text/turtle',\n Authorization: `Bearer ${this.getUserData.rtpToken}`,\n },\n });\n\n let successMessage;\n if (property === 'datasets') {\n successMessage = this.$te('message.snackbar.deleteDataset.success') ? this.$t('message.snackbar.deleteDataset.success') : 'Dataset successfully deleted';\n } else if (property === 'catalogues') {\n successMessage = this.$te('message.snackbar.deleteCatalog.success') ? this.$t('message.snackbar.deleteCatalog.success') : 'Catalog successfully deleted';\n }\n\n\n this.showSnackbar({\n message: successMessage,\n variant: 'success',\n });\n this.$Progress.finish();\n\n // Redirect to Home\n this.$router.push({ name: 'Datasets', query: { locale: this.$route.query.locale, refresh: true } }).catch(() => { });\n } catch (ex) {\n this.$Progress.fail();\n\n let errorMessage;\n\n if (property === 'datasets') {\n errorMessage = this.$te('message.snackbar.deleteDataset.error') ? this.$t('message.snackbar.deleteDataset.error') : 'Failed to delete dataset';\n } else if (property === 'catalogues') {\n errorMessage = this.$te('message.snackbar.deleteCatalog.error') ? this.$t('message.snackbar.deleteCatalog.error') : 'Failed to delete catalog';\n }\n\n this.showSnackbar({\n message: `${errorMessage}${ex.response?.data ? ` — ${ex.response?.data}` : ex.message}`,\n variant: 'error',\n });\n } finally {\n this.modal.loading = false;\n $('#modal').modal('hide');\n }\n },\n },\n created() {\n this.setupKeycloakWatcher();\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n#wrapper {\n background: linear-gradient(90deg, #082b7a, #0e47cb);\n width: 100%;\n position: sticky;\n bottom: 0;\n z-index: 999;\n}\n\nnav {\n max-width: 1400px;\n display: flex;\n flex-direction: row;\n margin: 0 auto;\n justify-content: space-between;\n font-size: 1rem;\n align-items: center;\n}\n\nul {\n float: right;\n\n li {\n display: inline;\n\n a {\n color: white;\n }\n }\n}\n\nbutton a {\n color: white;\n}\n\n.logout {\n display: block;\n margin: 0 auto;\n border: 1px solid white;\n padding: 0.1rem 1.5rem;\n}\n\n.logoutWrap {\n width: 14rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n</style>\n"],"names":["_sfc_main","Dropup","x","y","useWindowScroll","mapGetters","$","isOnDatasetDetailsPage","datasetId","permissions","catalogId","permission","onCatalogPage","mapActions","newToken","rtpToken","rtpTokenFn","newRtpToken","action","argsObj","successMessage","errorMessage","resolve","ex","maybeErrorStatusMsg","customErrorMessage","errorMsg","id","catalog","type","title","description","property","endpoint","axios","_a","_b","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_7","_openBlock","_createElementBlock","_hoisted_1","$data","_hoisted_2","_createElementVNode","_toDisplayString","_ctx","_cache","_createTextVNode","_Fragment","_renderList","$options","group","index","_createBlock","_component_dropup","menuItem","$setup","_resolveDynamicComponent","_normalizeClass","_withCtx","_hoisted_6","_renderSlot","_hoisted_8","_createVNode","_component_router_link","_createCommentVNode","_component_app_confirmation_dialog"],"mappings":"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"}