@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.
- package/dist/PvBadge/PvBadge.vue.d.ts +4 -4
- package/dist/PvDataInfoBox/PvDataInfoBox.vue.d.ts +135 -4
- package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs +45 -45
- package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs.map +1 -1
- package/dist/PvDataInfoBox/PvDataInfoBoxDescription.vue.d.ts +4 -4
- package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.d.ts +33 -4
- package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.mjs +34 -34
- package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.mjs.map +1 -1
- package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.d.ts +17 -3
- package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.mjs +18 -18
- package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.mjs.map +1 -1
- package/dist/auth/Auth.vue.d.ts +1 -1
- package/dist/catalogues/CatalogPage.vue.mjs +139 -139
- package/dist/catalogues/CatalogPage.vue.mjs.map +1 -1
- package/dist/catalogues/CatalogPageDatasetCard.vue.d.ts +6 -4
- package/dist/catalogues/CatalogPageDatasetCard.vue.mjs +37 -37
- package/dist/catalogues/CatalogPageDatasetCard.vue.mjs.map +1 -1
- package/dist/catalogues/Catalogues.vue.mjs +202 -202
- package/dist/catalogues/Catalogues.vue.mjs.map +1 -1
- package/dist/catalogues/cataloguesFacets/CataloguesFacets.vue.mjs +44 -44
- package/dist/catalogues/cataloguesFacets/CataloguesFacets.vue.mjs.map +1 -1
- package/dist/citation/DatasetCitationModal.vue.d.ts +46 -4
- package/dist/citation/DatasetCitationModal.vue.mjs +36 -36
- package/dist/citation/DatasetCitationModal.vue.mjs.map +1 -1
- package/dist/citation/DatasetCitationTable.vue.d.ts +4 -4
- package/dist/citation/DatasetCitationTable.vue.mjs +32 -32
- package/dist/citation/DatasetCitationTable.vue.mjs.map +1 -1
- package/dist/composables/head/useRootHead.d.ts +1 -1
- package/dist/composables/useRuntimeEnv.d.ts +1 -1
- package/dist/configurations/config-schema/configSchema.d.ts +4 -4
- package/dist/configurations/config-schema/languagesSchema.d.ts +2 -2
- package/dist/data-provider-interface/DPIMenu.vue.d.ts +4 -8
- package/dist/data-provider-interface/DPIMenu.vue.mjs +96 -96
- package/dist/data-provider-interface/DPIMenu.vue.mjs.map +1 -1
- package/dist/data-provider-interface/DataProviderInterface.vue.d.ts +1297 -4
- package/dist/data-provider-interface/components/AutocompleteInput.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs +101 -101
- package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/ConditionalInput.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs +113 -154
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/DataFetchingComponent.vue.d.ts +4 -8
- package/dist/data-provider-interface/components/DataFetchingComponent.vue.mjs +13 -13
- package/dist/data-provider-interface/components/DataFetchingComponent.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/DistributionStepper.vue.d.ts +43 -40
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs +101 -101
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/Dropup.vue.d.ts +4 -4
- package/dist/data-provider-interface/components/Dropup.vue.mjs +22 -22
- package/dist/data-provider-interface/components/Dropup.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/FileUpload.vue.d.ts +3 -3
- package/dist/data-provider-interface/components/FileUpload.vue.mjs +114 -114
- package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/InfoSlot.vue.d.ts +4 -4
- package/dist/data-provider-interface/components/InfoSlot.vue.mjs +14 -14
- package/dist/data-provider-interface/components/InfoSlot.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/InputPageStep.vue.d.ts +3 -3
- package/dist/data-provider-interface/components/LanguageSelector.vue.d.ts +5 -5
- package/dist/data-provider-interface/components/Navigation.vue.d.ts +5 -11
- package/dist/data-provider-interface/components/Navigation.vue.mjs +58 -58
- package/dist/data-provider-interface/components/Navigation.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SelectControlledGroup.vue.d.ts +3 -3
- package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs +22 -22
- package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SimpleInput.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/SimpleInput.vue.mjs +13 -13
- package/dist/data-provider-interface/components/SimpleInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SimpleSelect.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/SimpleSelect.vue.mjs +40 -40
- package/dist/data-provider-interface/components/SimpleSelect.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SpatialInput.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/SpatialInput.vue.mjs +101 -101
- package/dist/data-provider-interface/components/SpatialInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.d.ts +3 -5
- package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs +9 -9
- package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/composables/useDpiEditMode.d.ts +1 -1
- package/dist/data-provider-interface/composables/useDpiStepper.d.ts +3 -3
- package/dist/data-provider-interface/views/DistributionInputPage.vue.d.ts +1 -1
- package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs +56 -56
- package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/DistributionOverview.vue.d.ts +4 -6
- package/dist/data-provider-interface/views/DistributionOverview.vue.mjs +128 -128
- package/dist/data-provider-interface/views/DistributionOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/DraftsPage.vue.d.ts +5 -3
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs +136 -136
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/InputPage.vue.d.ts +1209 -9
- package/dist/data-provider-interface/views/InputPage.vue.mjs +107 -107
- package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/LinkedDataViewer.vue.d.ts +3 -3
- package/dist/data-provider-interface/views/LinkedDataViewer.vue.mjs +12 -12
- package/dist/data-provider-interface/views/LinkedDataViewer.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.d.ts +120 -3
- package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.mjs +38 -38
- package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.d.ts +369 -3
- package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs +83 -83
- package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.d.ts +120 -3
- package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs +127 -127
- package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.d.ts +26 -4
- package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs +312 -312
- package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.d.ts +3 -3
- package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.mjs +31 -31
- package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.d.ts +3 -3
- package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.mjs +52 -52
- package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.d.ts +5 -3
- package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.mjs +35 -35
- package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.d.ts +98 -3
- package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.mjs +40 -40
- package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage.vue.d.ts +783 -4
- package/dist/data-provider-interface/views/OverviewPage.vue.mjs +72 -48
- package/dist/data-provider-interface/views/OverviewPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/PropertyChooser.vue.mjs +31 -31
- package/dist/data-provider-interface/views/PropertyChooser.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.d.ts +1 -1
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs +17 -17
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/UserProfilePage.vue.d.ts +2 -2
- package/dist/data-provider-interface/views/UserProfilePage.vue.mjs +27 -27
- package/dist/data-provider-interface/views/UserProfilePage.vue.mjs.map +1 -1
- package/dist/datasetDetails/AppMarkdownContent.vue.d.ts +4 -4
- package/dist/datasetDetails/AppMarkdownContent.vue.mjs +20 -20
- package/dist/datasetDetails/AppMarkdownContent.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetails.vue.mjs +35 -35
- package/dist/datasetDetails/DatasetDetails.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsActivityStream.vue.d.ts +1 -1
- package/dist/datasetDetails/DatasetDetailsActivityStream.vue.mjs +11 -12
- package/dist/datasetDetails/DatasetDetailsActivityStream.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsBanners.vue.d.ts +9 -5
- package/dist/datasetDetails/DatasetDetailsBanners.vue.mjs +33 -33
- package/dist/datasetDetails/DatasetDetailsBanners.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsCSVLinter.vue.mjs +93 -93
- package/dist/datasetDetails/DatasetDetailsCSVLinter.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsCategories.vue.mjs +23 -23
- package/dist/datasetDetails/DatasetDetailsCategories.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs +42 -42
- package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsDescription.vue.d.ts +31 -4
- package/dist/datasetDetails/DatasetDetailsDescription.vue.mjs +34 -34
- package/dist/datasetDetails/DatasetDetailsDescription.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsLinkedMetricsButton.vue.d.ts +6 -4
- package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs +416 -416
- package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsShareButton.vue.d.ts +6 -4
- package/dist/datasetDetails/DatasetDetailsSimilarDatasets.vue.mjs +40 -40
- package/dist/datasetDetails/DatasetDetailsSimilarDatasets.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsSkeleton.vue.d.ts +4 -6
- package/dist/datasetDetails/DatasetDetailsSkeleton.vue.mjs +40 -40
- package/dist/datasetDetails/DatasetDetailsSkeleton.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/Distribution.vue.mjs +34 -34
- package/dist/datasetDetails/distributions/Distribution.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionAdded.vue.d.ts +3 -5
- package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs +12 -12
- package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.d.ts +3 -1
- package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs +177 -177
- package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionFormat.vue.d.ts +4 -9
- package/dist/datasetDetails/distributions/Distributions.vue.d.ts +7 -4
- package/dist/datasetDetails/distributions/Distributions.vue.mjs +41 -41
- package/dist/datasetDetails/distributions/Distributions.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionsHeader.vue.d.ts +6 -10
- package/dist/datasetDetails/distributions/DistributionsHeader.vue.mjs +25 -25
- package/dist/datasetDetails/distributions/DistributionsHeader.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.d.ts +4 -12
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs +128 -128
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.d.ts +3 -3
- package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs +23 -23
- package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.d.ts +9 -4
- package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs +31 -31
- package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.d.ts +8 -12
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs +79 -79
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownloadAs.vue.d.ts +3 -3
- package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.d.ts +6 -11
- package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.mjs +26 -26
- package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.d.ts +7 -11
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs +41 -41
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionPreview.vue.d.ts +6 -11
- package/dist/datasetDetails/distributions/distributionActions/LinkedDataButtonsDropdown.vue.d.ts +7 -7
- package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs +311 -311
- package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDescription.vue.d.ts +4 -11
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.d.ts +9 -24
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.mjs +11 -11
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.d.ts +3 -8
- package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.mjs +18 -18
- package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionPreview/DistributionVisualisationSlot.vue.d.ts +1 -1
- package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.d.ts +5 -3
- package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.mjs +40 -40
- package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.d.ts +5 -3
- package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs +93 -93
- package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.d.ts +4 -4
- package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.mjs +5 -5
- package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.d.ts +42 -3
- package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.mjs +85 -85
- package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.d.ts +4 -8
- package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.mjs +45 -45
- package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.d.ts +1 -1
- package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.mjs +26 -26
- package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.d.ts +5 -3
- package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.mjs +45 -45
- package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsMap.vue.d.ts +3 -1
- package/dist/datasetDetails/features/DatasetDetailsMap.vue.mjs +23 -23
- package/dist/datasetDetails/features/DatasetDetailsMap.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsPages.vue.d.ts +5 -3
- package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs +95 -95
- package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsRelations.vue.d.ts +1 -1
- package/dist/datasetDetails/features/DatasetDetailsRelations.vue.mjs +27 -27
- package/dist/datasetDetails/features/DatasetDetailsRelations.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsSubject.vue.d.ts +4 -1
- package/dist/datasetDetails/features/DatasetDetailsSubject.vue.mjs +20 -20
- package/dist/datasetDetails/features/DatasetDetailsSubject.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.d.ts +5 -3
- package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.mjs +92 -92
- package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.mjs.map +1 -1
- package/dist/datasetDetails/header/DatasetDetailsHeader.vue.mjs +24 -24
- package/dist/datasetDetails/header/DatasetDetailsHeader.vue.mjs.map +1 -1
- package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.d.ts +7 -5
- package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.mjs +31 -31
- package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.mjs.map +1 -1
- package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.d.ts +4 -4
- package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.mjs +24 -24
- package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.mjs.map +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.d.ts +81 -3
- package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.mjs +24 -24
- package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.mjs.map +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.d.ts +11 -3
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.mjs +148 -148
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.mjs.map +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationPage.vue.d.ts +6 -4
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationPages.vue.d.ts +1 -1
- package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.d.ts +3 -1
- package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.mjs +29 -29
- package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs +47 -47
- package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/ValuesList.vue.d.ts +5 -3
- package/dist/datasetDetails/properties/ValuesList.vue.mjs +46 -46
- package/dist/datasetDetails/properties/ValuesList.vue.mjs.map +1 -1
- package/dist/datasets/DatasetDate.vue.d.ts +4 -7
- package/dist/datasets/DatasetDate.vue.mjs +22 -22
- package/dist/datasets/DatasetDate.vue.mjs.map +1 -1
- package/dist/datasets/DatasetList.vue.d.ts +4 -4
- package/dist/datasets/Datasets.vue.mjs +44 -44
- package/dist/datasets/Datasets.vue.mjs.map +1 -1
- package/dist/datasets/DatasetsFilters.vue.d.ts +3 -1
- package/dist/datasets/DatasetsFilters.vue.mjs +48 -48
- package/dist/datasets/DatasetsFilters.vue.mjs.map +1 -1
- package/dist/datasets/DatasetsFiltersTabs.vue.d.ts +5 -5
- package/dist/datasets/DatasetsFiltersTabs.vue.mjs +53 -53
- package/dist/datasets/DatasetsFiltersTabs.vue.mjs.map +1 -1
- package/dist/datasets/DatasetsTopControls.vue.d.ts +6 -8
- package/dist/datasets/DatasetsTopControls.vue.mjs +19 -19
- package/dist/datasets/DatasetsTopControls.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/DatasetsFacets.vue.mjs +16 -16
- package/dist/datasets/datasetsFacets/DatasetsFacets.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.d.ts +4 -4
- package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.mjs +12 -12
- package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.d.ts +131 -6
- package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.mjs +104 -104
- package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/SettingsFacet.vue.d.ts +1 -1
- package/dist/embed/DatasetEmbedModal.vue.d.ts +1 -1
- package/dist/embed/DatasetEmbedModal.vue.mjs +103 -103
- package/dist/embed/DatasetEmbedModal.vue.mjs.map +1 -1
- package/dist/embed/EmbedDataset.vue.mjs +56 -56
- package/dist/embed/EmbedDataset.vue.mjs.map +1 -1
- package/dist/embed/EmbedDatasetSnippet.vue.mjs +50 -50
- package/dist/embed/EmbedDatasetSnippet.vue.mjs.map +1 -1
- package/dist/external/@vueuse/core/index +196 -137
- package/dist/external/@vueuse/core/index.map +1 -1
- package/dist/external/@vueuse/shared/index +44 -43
- package/dist/external/@vueuse/shared/index.map +1 -1
- package/dist/facets/CatalogDetailsFacet.vue.mjs +252 -252
- package/dist/facets/CatalogDetailsFacet.vue.mjs.map +1 -1
- package/dist/facets/ExpandableSelectFacet.vue.d.ts +55 -4
- package/dist/facets/ExpandableSelectFacet.vue.mjs +28 -28
- package/dist/facets/ExpandableSelectFacet.vue.mjs.map +1 -1
- package/dist/facets/Facet.vue.d.ts +4 -4
- package/dist/facets/Facet.vue.mjs +38 -38
- package/dist/facets/Facet.vue.mjs.map +1 -1
- package/dist/facets/FacetTitle.vue.d.ts +4 -4
- package/dist/facets/FacetTitle.vue.mjs +12 -12
- package/dist/facets/FacetTitle.vue.mjs.map +1 -1
- package/dist/facets/RadioFacet.vue.d.ts +21 -3
- package/dist/facets/RadioFacet.vue.mjs +26 -26
- package/dist/facets/RadioFacet.vue.mjs.map +1 -1
- package/dist/facets/SelectedFacetsOverview.vue.d.ts +4 -4
- package/dist/facets/SelectedFacetsOverview.vue.mjs +1 -1
- package/dist/facets/SelectedFacetsOverview.vue.mjs.map +1 -1
- package/dist/form/FormKitGroup.vue.d.ts +3 -3
- package/dist/form/FormKitGroup.vue.mjs +9 -9
- package/dist/form/FormKitGroup.vue.mjs.map +1 -1
- package/dist/form/Repeatable.vue.d.ts +1 -1
- package/dist/form/Repeatable.vue.mjs +19 -19
- package/dist/form/Repeatable.vue.mjs.map +1 -1
- package/dist/map/MapBasic.vue.d.ts +4 -4
- package/dist/map/MapBoundsReceiver.vue.d.ts +3 -3
- package/dist/map/MapBoundsSender.vue.d.ts +3 -3
- package/dist/mixins/useRouteMetaBreadcrumbs.d.ts +1 -1
- package/dist/modal/AppConfirmationDialog.vue.d.ts +4 -4
- package/dist/modal/AppConfirmationDialog.vue.mjs +44 -44
- package/dist/modal/AppConfirmationDialog.vue.mjs.map +1 -1
- package/dist/modal/AppSnackbar.vue.d.ts +41 -1
- package/dist/modal/AppToast.vue.d.ts +4 -4
- package/dist/modal/AppToast.vue.mjs +54 -54
- package/dist/modal/AppToast.vue.mjs.map +1 -1
- package/dist/navigation/SubNavigation.vue.d.ts +4 -4
- package/dist/navigation/SubNavigation.vue.mjs +25 -25
- package/dist/navigation/SubNavigation.vue.mjs.map +1 -1
- package/dist/pages/Imprint.vue.d.ts +3 -1
- package/dist/pages/NotFound.vue.d.ts +3 -1
- package/dist/pages/NotFound.vue.mjs +23 -23
- package/dist/pages/NotFound.vue.mjs.map +1 -1
- package/dist/pages/PrivacyPolicy.vue.d.ts +3 -1
- package/dist/pages/SparqlSearch.vue.d.ts +1 -1
- package/dist/pages/SparqlSearch.vue.mjs +22 -22
- package/dist/pages/SparqlSearch.vue.mjs.map +1 -1
- package/dist/pages/user/UserImprint.vue.d.ts +1 -1
- package/dist/pages/user/UserImprint.vue.mjs +10 -10
- package/dist/pages/user/UserImprint.vue.mjs.map +1 -1
- package/dist/pages/user/UserPrivacyPolicy.vue.d.ts +1 -1
- package/dist/pages/user/UserPrivacyPolicy.vue.mjs +10 -10
- package/dist/pages/user/UserPrivacyPolicy.vue.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- package/dist/widgets/Dropdown.vue.d.ts +4 -8
- package/dist/widgets/Dropdown.vue.mjs +20 -20
- package/dist/widgets/Dropdown.vue.mjs.map +1 -1
- package/dist/widgets/Pagination.vue.d.ts +4 -4
- package/dist/widgets/Pagination.vue.mjs +74 -74
- package/dist/widgets/Pagination.vue.mjs.map +1 -1
- package/dist/widgets/PropertyValue.vue.d.ts +6 -4
- package/dist/widgets/PropertyValue.vue.mjs +17 -17
- package/dist/widgets/PropertyValue.vue.mjs.map +1 -1
- package/dist/widgets/PvBanner.vue.d.ts +3 -3
- package/dist/widgets/PvBanner.vue.mjs +29 -29
- package/dist/widgets/PvBanner.vue.mjs.map +1 -1
- package/dist/widgets/PvButton.vue.d.ts +4 -4
- package/dist/widgets/PvShowMore.vue.d.ts +4 -4
- package/dist/widgets/ResourceAccessPopup.vue.d.ts +1 -1
- package/dist/widgets/ResourceAccessPopup.vue.mjs +48 -48
- package/dist/widgets/ResourceAccessPopup.vue.mjs.map +1 -1
- package/dist/widgets/ResourceDetailsLinkedDataButton.vue.d.ts +6 -4
- package/dist/widgets/Tooltip.vue.d.ts +3 -3
- package/package.json +2 -2
- package/dist/datasetDetails/DatasetDetails.vue.d.ts +0 -25
- package/dist/embed/EmbedDataset.vue.d.ts +0 -7
- package/dist/embed/EmbedDatasetSnippet.vue.d.ts +0 -9
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
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
|
|
6
|
-
import { useWindowScroll as
|
|
7
|
-
import { resolveComponent as f, openBlock as
|
|
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
|
|
10
|
-
const
|
|
9
|
+
import z from "../_virtual/_plugin-vue_export-helper.mjs";
|
|
10
|
+
const L = {
|
|
11
11
|
name: "DPI-menu",
|
|
12
12
|
components: {
|
|
13
|
-
Dropup:
|
|
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:
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
|
190
|
-
if (!
|
|
189
|
+
const t = this.$route.name === "DatasetDetailsDataset";
|
|
190
|
+
if (!t)
|
|
191
191
|
return !1;
|
|
192
|
-
const
|
|
193
|
-
return o.find((r) => r.rsname === s) &&
|
|
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
|
|
199
|
-
if (!
|
|
198
|
+
const t = this.$route.name === "CatalogueDetails";
|
|
199
|
+
if (!t)
|
|
200
200
|
return !1;
|
|
201
|
-
const
|
|
202
|
-
return (this.getUserData && this.getUserData.permissions).find((
|
|
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 (
|
|
214
|
-
if (!
|
|
213
|
+
this.$keycloak && this.$keycloak.authenticated && (this.$watch("$keycloak.token", async (t) => {
|
|
214
|
+
if (!t)
|
|
215
215
|
return;
|
|
216
|
-
let
|
|
217
|
-
if (!
|
|
216
|
+
let e = this.$keycloak.rtpToken;
|
|
217
|
+
if (!e) {
|
|
218
218
|
const o = this.$keycloak.getRtpToken;
|
|
219
|
-
o && (
|
|
219
|
+
o && (e = await o({ autoRefresh: !0 }));
|
|
220
220
|
}
|
|
221
221
|
this.updateUserData({
|
|
222
|
-
authToken:
|
|
223
|
-
rtpToken:
|
|
222
|
+
authToken: t,
|
|
223
|
+
rtpToken: e,
|
|
224
224
|
hubUrl: this.$env.api.hubUrl
|
|
225
225
|
});
|
|
226
|
-
}, { immediate: !0 }), this.$watch("$keycloak.rtpToken", (
|
|
227
|
-
|
|
226
|
+
}, { immediate: !0 }), this.$watch("$keycloak.rtpToken", (t) => {
|
|
227
|
+
t && this.updateUserData({
|
|
228
228
|
authToken: this.$keycloak.token,
|
|
229
|
-
rtpToken:
|
|
229
|
+
rtpToken: t,
|
|
230
230
|
hubUrl: this.$env.api.hubUrl
|
|
231
231
|
});
|
|
232
232
|
}));
|
|
233
233
|
},
|
|
234
|
-
async handleConfirm(
|
|
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((
|
|
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((
|
|
241
|
-
} catch (
|
|
242
|
-
this.$Progress.fail(), console.error(
|
|
243
|
-
const r =
|
|
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: " +
|
|
247
|
+
message: "DOI registration is not possible, the following error occured: " + a.response.data,
|
|
248
248
|
confirm: "Okay",
|
|
249
|
-
confirmHandler: () =>
|
|
250
|
-
}, console.log(
|
|
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(
|
|
253
|
-
const g = i || r ||
|
|
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,
|
|
259
|
+
this.modal.loading = !1, m("#modal").modal("hide");
|
|
260
260
|
}
|
|
261
261
|
},
|
|
262
|
-
async handleRegisterDoi({ id:
|
|
262
|
+
async handleRegisterDoi({ id: t, catalog: e, type: o = "eu-ra-doi" }) {
|
|
263
263
|
await this.handleConfirm(
|
|
264
264
|
"auth/createPersistentIdentifier",
|
|
265
|
-
{ id:
|
|
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:
|
|
274
|
-
catalog:
|
|
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:
|
|
280
|
-
catalog:
|
|
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:
|
|
290
|
-
var s,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
310
|
-
message: `${i}${(s = r.response) != null && s.data ? ` — ${(
|
|
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,
|
|
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
|
-
},
|
|
321
|
+
}, S = {
|
|
322
322
|
id: "wrapper",
|
|
323
323
|
"data-cy": "dpi-menu"
|
|
324
|
-
},
|
|
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
|
-
},
|
|
327
|
+
}, x = { class: "text-white" }, F = {
|
|
328
328
|
type: "button",
|
|
329
329
|
class: "btn btn-default logout"
|
|
330
330
|
};
|
|
331
|
-
function
|
|
332
|
-
const i = f("dropup"), g = f("router-link"),
|
|
333
|
-
return
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
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
|
-
|
|
339
|
-
|
|
340
|
-
(
|
|
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:
|
|
345
|
-
isOperator:
|
|
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
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
(
|
|
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
|
-
|
|
354
|
+
l("button", {
|
|
355
355
|
type: "button",
|
|
356
356
|
class: "btn btn-default",
|
|
357
|
-
onClick:
|
|
357
|
+
onClick: e[0] || (e[0] = (w) => s.scrollToTop())
|
|
358
358
|
}, [
|
|
359
|
-
(
|
|
359
|
+
(u(), C(_(n.handler ? "button" : "router-link"), {
|
|
360
360
|
class: q({ disabled: n.disabled }),
|
|
361
361
|
to: n.to,
|
|
362
|
-
onClick: (
|
|
362
|
+
onClick: (w) => n.handler ? n.handler() : null
|
|
363
363
|
}, {
|
|
364
364
|
default: D(() => [
|
|
365
|
-
|
|
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
|
-
|
|
375
|
-
|
|
376
|
-
O(
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
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
|
-
|
|
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
|
-
|
|
393
|
-
P(
|
|
392
|
+
e[7] || (e[7] = d()),
|
|
393
|
+
P(I, {
|
|
394
394
|
id: "DPIMenuModal",
|
|
395
|
-
loading:
|
|
396
|
-
confirm:
|
|
397
|
-
onConfirm:
|
|
395
|
+
loading: a.modal.loading,
|
|
396
|
+
confirm: a.modal.confirm,
|
|
397
|
+
onConfirm: a.modal.confirmHandler
|
|
398
398
|
}, {
|
|
399
399
|
default: D(() => [
|
|
400
|
-
|
|
400
|
+
d(c(a.modal.message), 1)
|
|
401
401
|
]),
|
|
402
402
|
_: 1
|
|
403
403
|
}, 8, ["loading", "confirm", "onConfirm"])
|
|
404
404
|
]);
|
|
405
405
|
}
|
|
406
|
-
const
|
|
406
|
+
const Z = /* @__PURE__ */ z(L, [["render", B], ["__scopeId", "data-v-f7ab70fb"]]);
|
|
407
407
|
export {
|
|
408
|
-
|
|
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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"}
|