@piveau/piveau-hub-ui-modules 4.6.52 → 4.6.53
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.mjs.map +1 -1
- package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs +1 -2
- package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs.map +1 -1
- package/dist/PvDataInfoBox/PvDataInfoBoxDescription.vue.mjs.map +1 -1
- package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.mjs.map +1 -1
- package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.mjs.map +1 -1
- package/dist/catalogues/CatalogPage.vue.mjs.map +1 -1
- package/dist/catalogues/CatalogPageDatasetCard.vue.mjs +5 -6
- package/dist/catalogues/CatalogPageDatasetCard.vue.mjs.map +1 -1
- package/dist/catalogues/Catalogues.vue.mjs.map +1 -1
- package/dist/catalogues/cataloguesFacets/CataloguesFacets.vue.mjs.map +1 -1
- package/dist/citation/DatasetCitationModal.vue.mjs.map +1 -1
- package/dist/citation/DatasetCitationTable.vue.mjs.map +1 -1
- package/dist/composables/useRuntimeEnv.d.ts +3 -2
- package/dist/configurations/config-schema/apiSchema.mjs +1 -1
- package/dist/configurations/config-schema/authenticationSchema.mjs +1 -1
- package/dist/configurations/config-schema/configSchema.d.ts +10 -5
- package/dist/configurations/config-schema/configSchema.mjs +18 -18
- package/dist/configurations/config-schema/contentSchema.d.ts +3 -0
- package/dist/configurations/config-schema/contentSchema.mjs +7 -6
- package/dist/configurations/config-schema/contentSchema.mjs.map +1 -1
- package/dist/configurations/config-schema/languagesSchema.d.ts +2 -2
- package/dist/configurations/config-schema/languagesSchema.mjs +1 -1
- package/dist/configurations/config-schema/metadataSchema.mjs +1 -1
- package/dist/configurations/config-schema/routingSchema.mjs +1 -1
- package/dist/configurations/config-schema/themesSchema.mjs +1 -1
- package/dist/configurations/config-schema/trackerSchema.mjs +1 -1
- package/dist/data-provider-interface/CatalogueMQA.vue.mjs.map +1 -1
- package/dist/data-provider-interface/DPIMenu.vue.d.ts +10 -10
- package/dist/data-provider-interface/DPIMenu.vue.mjs.map +1 -1
- package/dist/data-provider-interface/DataProviderInterface.vue.d.ts +19 -15
- package/dist/data-provider-interface/DataProviderInterface.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/DataFetchingComponent.vue.d.ts +2 -2
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs +1 -2
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/Dropup.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/Dropup.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/FileUpload.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/InfoSlot.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/InputPageStep.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/LanguageSelector.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/Navigation.vue.d.ts +9 -8
- package/dist/data-provider-interface/components/Navigation.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs +1 -2
- package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SimpleInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SimpleSelect.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SpatialInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/WidgetInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/DistributionOverview.vue.d.ts +2 -2
- package/dist/data-provider-interface/views/DistributionOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/DraftsPage.vue.d.ts +6 -5
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs +14 -19
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/InputPage.vue.d.ts +16 -12
- package/dist/data-provider-interface/views/InputPage.vue.mjs +2 -4
- package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/LinkedDataViewer.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/MultilingualProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage.vue.d.ts +6 -3
- package/dist/data-provider-interface/views/OverviewPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/PropertyChooser.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/UserProfilePage.vue.mjs.map +1 -1
- package/dist/datasetDetails/AppMarkdownContent.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetails.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsActivityStream.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsBanners.vue.d.ts +3 -1
- package/dist/datasetDetails/DatasetDetailsBanners.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsCSVLinter.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsCategories.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs +2 -3
- package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsDataset.vue2.mjs +39 -39
- package/dist/datasetDetails/DatasetDetailsDataset.vue2.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsDescription.vue.d.ts +3 -1
- package/dist/datasetDetails/DatasetDetailsDescription.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsFeedbackButton.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsLinkedMetricsButton.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsShareButton.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsSimilarDatasets.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsSkeleton.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/Distribution.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionFormat.vue.d.ts +2 -2
- package/dist/datasetDetails/distributions/DistributionFormat.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/Distributions.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionsHeader.vue.d.ts +4 -4
- package/dist/datasetDetails/distributions/DistributionsHeader.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.d.ts +8 -8
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs +1 -2
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs +5 -7
- package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs +5 -6
- package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.d.ts +2 -2
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs +12 -15
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownloadAs.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.d.ts +2 -2
- package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.d.ts +4 -4
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs +5 -6
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionPreview.vue.d.ts +4 -4
- package/dist/datasetDetails/distributions/distributionActions/DistributionPreview.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionVisualizeButton.vue.d.ts +4 -4
- package/dist/datasetDetails/distributions/distributionActions/DistributionVisualizeButton.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/LinkedDataButtonsDropdown.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs +21 -22
- package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDescription.vue.d.ts +6 -6
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDescription.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.d.ts +16 -16
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.d.ts +2 -2
- package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.d.ts +1 -1
- package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.d.ts +2 -2
- package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.d.ts +1 -1
- package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.d.ts +1 -1
- package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsMap.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsRelations.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsSubject.vue.d.ts +1 -1
- package/dist/datasetDetails/features/DatasetDetailsSubject.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.mjs.map +1 -1
- package/dist/datasetDetails/header/DatasetDetailsHeader.vue.mjs.map +1 -1
- package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.d.ts +2 -2
- package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.mjs.map +1 -1
- package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.d.ts +2 -2
- package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.mjs.map +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.mjs.map +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.d.ts +2 -2
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.mjs.map +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationPage.vue.mjs.map +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationPages.vue.d.ts +1 -7
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationPages.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.d.ts +1 -200
- package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/ValuesList.vue.mjs.map +1 -1
- package/dist/datasets/DatasetDate.vue.mjs.map +1 -1
- package/dist/datasets/DatasetList.vue.mjs.map +1 -1
- package/dist/datasets/Datasets.vue.mjs.map +1 -1
- package/dist/datasets/DatasetsFilters.vue.d.ts +1 -1
- package/dist/datasets/DatasetsFilters.vue.mjs.map +1 -1
- package/dist/datasets/DatasetsFiltersTabs.vue.d.ts +2 -2
- package/dist/datasets/DatasetsFiltersTabs.vue.mjs.map +1 -1
- package/dist/datasets/DatasetsTopControls.vue.d.ts +5 -5
- package/dist/datasets/DatasetsTopControls.vue.mjs +6 -8
- package/dist/datasets/DatasetsTopControls.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/DatasetsFacets.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.mjs.map +1 -1
- package/dist/embed/DatasetEmbedModal.vue.mjs.map +1 -1
- package/dist/embed/EmbedDataset.vue.mjs.map +1 -1
- package/dist/embed/EmbedDatasetSnippet.vue.mjs.map +1 -1
- package/dist/external/zod/lib/index +2849 -0
- package/dist/external/zod/lib/index.map +1 -0
- package/dist/facets/CatalogDetailsFacet.vue.mjs.map +1 -1
- package/dist/facets/ExpandableSelectFacet.vue.mjs.map +1 -1
- package/dist/facets/Facet.vue.mjs.map +1 -1
- package/dist/facets/FacetTitle.vue.mjs.map +1 -1
- package/dist/facets/RadioFacet.vue.mjs.map +1 -1
- package/dist/facets/SelectedFacetsOverview.vue.d.ts +2 -2
- package/dist/facets/SelectedFacetsOverview.vue.mjs.map +1 -1
- package/dist/form/FormKitGroup.vue.mjs.map +1 -1
- package/dist/form/Repeatable.vue2.mjs +1 -2
- package/dist/form/Repeatable.vue2.mjs.map +1 -1
- package/dist/map/MapBasic.vue.mjs.map +1 -1
- package/dist/map/MapBoundsReceiver.vue.mjs.map +1 -1
- package/dist/map/MapBoundsSender.vue.mjs.map +1 -1
- package/dist/modal/AppConfirmationDialog.vue.mjs.map +1 -1
- package/dist/modal/AppSnackbar.vue.mjs.map +1 -1
- package/dist/modal/AppToast.vue.mjs.map +1 -1
- package/dist/navigation/SubNavigation.vue.mjs.map +1 -1
- package/dist/pages/NotFound.vue.mjs.map +1 -1
- package/dist/pages/SparqlSearch.vue.mjs.map +1 -1
- package/dist/pages/user/UserImprint.vue.mjs.map +1 -1
- package/dist/pages/user/UserPrivacyPolicy.vue.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- package/dist/search/Search.vue.mjs.map +1 -1
- package/dist/services/datasetService.d.ts +1 -1
- package/dist/widgets/AppLink.vue.mjs.map +1 -1
- package/dist/widgets/Dropdown.vue.mjs.map +1 -1
- package/dist/widgets/Pagination.vue.d.ts +1 -1
- package/dist/widgets/Pagination.vue.mjs.map +1 -1
- package/dist/widgets/PropertyValue.vue.mjs.map +1 -1
- package/dist/widgets/PvBanner.vue.mjs.map +1 -1
- package/dist/widgets/PvButton.vue.mjs.map +1 -1
- package/dist/widgets/PvShowMore.vue.mjs.map +1 -1
- package/dist/widgets/ResourceAccessPopup.vue.d.ts +1 -1
- package/dist/widgets/ResourceAccessPopup.vue.mjs.map +1 -1
- package/dist/widgets/ResourceDetailsLinkedDataButton.vue.mjs.map +1 -1
- package/dist/widgets/Tooltip.vue.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/external/zod/dist/esm/v3/ZodError +0 -84
- package/dist/external/zod/dist/esm/v3/ZodError.map +0 -1
- package/dist/external/zod/dist/esm/v3/errors +0 -10
- package/dist/external/zod/dist/esm/v3/errors.map +0 -1
- package/dist/external/zod/dist/esm/v3/helpers/errorUtil +0 -8
- package/dist/external/zod/dist/esm/v3/helpers/errorUtil.map +0 -1
- package/dist/external/zod/dist/esm/v3/helpers/parseUtil +0 -98
- package/dist/external/zod/dist/esm/v3/helpers/parseUtil.map +0 -1
- package/dist/external/zod/dist/esm/v3/helpers/util +0 -95
- package/dist/external/zod/dist/esm/v3/helpers/util.map +0 -1
- package/dist/external/zod/dist/esm/v3/locales/en +0 -62
- package/dist/external/zod/dist/esm/v3/locales/en.map +0 -1
- package/dist/external/zod/dist/esm/v3/types +0 -2440
- package/dist/external/zod/dist/esm/v3/types.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserProfilePage.vue.mjs","sources":["../../../lib/data-provider-interface/views/UserProfilePage.vue"],"sourcesContent":["<template>\n <div class=\"d-flex flex-column bg-transparent container-fluid justify-content-between content\">\n <h1 class=\"small-headline dataset-details-title\">My Profile</h1>\n <div class=\"panel-body inf-content\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <!-- <strong class=\"table-header\">User Information</strong><br> -->\n <div class=\"table-responsive\">\n <table class=\"table table-user-information\">\n <tbody>\n <tr>\n <td class=\"label-column\">\n <strong>\n <span class=\"glyphicon glyphicon-user text-primary\"></span>\n User ID:\n </strong>\n </td>\n <td class=\"text-primary value-column\">\n {{ getUserName }}\n </td>\n </tr>\n <tr>\n <td class=\"label-column\">\n <strong>\n <span class=\"glyphicon glyphicon-user text-primary\"></span>\n Roles:\n </strong>\n </td>\n <td class=\"text-primary value-column\">\n <p v-for=\"i in getUserData['roles'].filter(role => !role.startsWith('default-roles') && !['offline_access', 'uma_authorization'].includes(role))\" :key=\"i\">\n {{ i }}\n </p>\n </td>\n </tr>\n <tr v-if=\"userProfileDashboardUrl\">\n <td class=\"label-column\">\n <strong>\n <span class=\"glyphicon glyphicon-user text-primary\"></span>\n User Profile:\n </strong>\n </td>\n <td class=\"text-primary value-column\">\n <a :href=\"userProfileDashboardUrl\" target=\"_blank\" class=\"btn btn-link\">Edit Profile</a>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport { getCurrentInstance } from \"vue\";\n\n// let instance = getCurrentInstance().appContext.app.config.globalProperties.$env\n\n\n\nexport default {\n name: 'DataProviderInterface-UserProfile',\n // props: [],\n // data() {\n // return {\n // values: {},\n // };\n // },\n\n data() {\n return {\n // Need to assign the URL for userProfileDashboardUrl in the config files. \n userProfileDashboardUrl: getCurrentInstance().appContext.app.config.globalProperties.$env.content.dataProviderInterface.userProfileDashboardUrl || '',\n };\n },\n computed: {\n ...mapGetters('auth', [\n 'getUserName',\n 'getUserData'\n ]),\n },\n // methods: {},\n // created() { },\n};\n</script>\n\n<style scoped>\n.inf-content {\n /* border: 1px solid #DDDDDD;\n -webkit-border-radius: 10px;\n -moz-border-radius: 10px;\n border-radius: 10px;\n box-shadow: 7px 7px 7px rgba(0, 0, 0, 0.3); */\n padding: 10px;\n}\n\n/* .table-header {\n padding: 0.75rem;\n} */\n\n.table td {\n padding: 15px;\n vertical-align: middle;\n border-bottom: 1px solid #DDDDDD; /* Ensures the horizontal lines span full width */\n}\n\n.table th {\n text-align: left;\n}\n\nh1.small-headline {\n margin-bottom: 20px;\n}\n\np {\n margin: 0; /* Ensure proper line breaks */\n}\n/* Added space at the bottom of the page */\n.content {\n padding-bottom: 60px;\n}\n\n.table {\n width: 100%;\n border-collapse: collapse; /* Ensures the borders are merged properly */\n}\n\n.label-column {\n width: 10%; /* Adjust as needed */\n text-align: left;\n padding-right: 10px;\n min-width: 200px;\n}\n\n.value-column {\n width: 100%; /* Adjust as needed */\n}\n\n.value-column .btn {\n padding: 0;\n /* text-decoration: none;\n color: #5bc0de; */\n}\n\n.table tr:last-child td {\n border-bottom: none;\n}\n\n/* .dataset-details-title {\n font-size: 1.4rem;\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n} */\n\n.dataset-details-title {\n display: flex;\n align-items: center; /* Aligns the text and line in the center */\n font-size: 1.4rem;\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\n.dataset-details-title::after {\n content: \"\"; /* Creates the line after the text */\n flex-grow: 1; /* Makes the line span the remaining width */\n height: 1px; /* Thickness of the line */\n background-color: #ccc; /* Line color */\n margin-left: 10px; /* Space between the text and the line */\n}\n\n</style>\n"],"names":["_sfc_main","getCurrentInstance","mapGetters","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_10","_openBlock","_createElementBlock","_cache","_createElementVNode","_toDisplayString","_ctx","_Fragment","_renderList","role","i","$data","_hoisted_9","
|
|
1
|
+
{"version":3,"file":"UserProfilePage.vue.mjs","sources":["../../../lib/data-provider-interface/views/UserProfilePage.vue"],"sourcesContent":["<template>\n <div class=\"d-flex flex-column bg-transparent container-fluid justify-content-between content\">\n <h1 class=\"small-headline dataset-details-title\">My Profile</h1>\n <div class=\"panel-body inf-content\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <!-- <strong class=\"table-header\">User Information</strong><br> -->\n <div class=\"table-responsive\">\n <table class=\"table table-user-information\">\n <tbody>\n <tr>\n <td class=\"label-column\">\n <strong>\n <span class=\"glyphicon glyphicon-user text-primary\"></span>\n User ID:\n </strong>\n </td>\n <td class=\"text-primary value-column\">\n {{ getUserName }}\n </td>\n </tr>\n <tr>\n <td class=\"label-column\">\n <strong>\n <span class=\"glyphicon glyphicon-user text-primary\"></span>\n Roles:\n </strong>\n </td>\n <td class=\"text-primary value-column\">\n <p v-for=\"i in getUserData['roles'].filter(role => !role.startsWith('default-roles') && !['offline_access', 'uma_authorization'].includes(role))\" :key=\"i\">\n {{ i }}\n </p>\n </td>\n </tr>\n <tr v-if=\"userProfileDashboardUrl\">\n <td class=\"label-column\">\n <strong>\n <span class=\"glyphicon glyphicon-user text-primary\"></span>\n User Profile:\n </strong>\n </td>\n <td class=\"text-primary value-column\">\n <a :href=\"userProfileDashboardUrl\" target=\"_blank\" class=\"btn btn-link\">Edit Profile</a>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport { getCurrentInstance } from \"vue\";\n\n// let instance = getCurrentInstance().appContext.app.config.globalProperties.$env\n\n\n\nexport default {\n name: 'DataProviderInterface-UserProfile',\n // props: [],\n // data() {\n // return {\n // values: {},\n // };\n // },\n\n data() {\n return {\n // Need to assign the URL for userProfileDashboardUrl in the config files. \n userProfileDashboardUrl: getCurrentInstance().appContext.app.config.globalProperties.$env.content.dataProviderInterface.userProfileDashboardUrl || '',\n };\n },\n computed: {\n ...mapGetters('auth', [\n 'getUserName',\n 'getUserData'\n ]),\n },\n // methods: {},\n // created() { },\n};\n</script>\n\n<style scoped>\n.inf-content {\n /* border: 1px solid #DDDDDD;\n -webkit-border-radius: 10px;\n -moz-border-radius: 10px;\n border-radius: 10px;\n box-shadow: 7px 7px 7px rgba(0, 0, 0, 0.3); */\n padding: 10px;\n}\n\n/* .table-header {\n padding: 0.75rem;\n} */\n\n.table td {\n padding: 15px;\n vertical-align: middle;\n border-bottom: 1px solid #DDDDDD; /* Ensures the horizontal lines span full width */\n}\n\n.table th {\n text-align: left;\n}\n\nh1.small-headline {\n margin-bottom: 20px;\n}\n\np {\n margin: 0; /* Ensure proper line breaks */\n}\n/* Added space at the bottom of the page */\n.content {\n padding-bottom: 60px;\n}\n\n.table {\n width: 100%;\n border-collapse: collapse; /* Ensures the borders are merged properly */\n}\n\n.label-column {\n width: 10%; /* Adjust as needed */\n text-align: left;\n padding-right: 10px;\n min-width: 200px;\n}\n\n.value-column {\n width: 100%; /* Adjust as needed */\n}\n\n.value-column .btn {\n padding: 0;\n /* text-decoration: none;\n color: #5bc0de; */\n}\n\n.table tr:last-child td {\n border-bottom: none;\n}\n\n/* .dataset-details-title {\n font-size: 1.4rem;\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n} */\n\n.dataset-details-title {\n display: flex;\n align-items: center; /* Aligns the text and line in the center */\n font-size: 1.4rem;\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\n.dataset-details-title::after {\n content: \"\"; /* Creates the line after the text */\n flex-grow: 1; /* Makes the line span the remaining width */\n height: 1px; /* Thickness of the line */\n background-color: #ccc; /* Line color */\n margin-left: 10px; /* Space between the text and the line */\n}\n\n</style>\n"],"names":["_sfc_main","getCurrentInstance","mapGetters","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_10","_hoisted_11","_openBlock","_createElementBlock","_cache","_createElementVNode","_createTextVNode","_toDisplayString","_ctx","_Fragment","_renderList","role","i","$data","_hoisted_9","_createCommentVNode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppMarkdownContent.vue.mjs","sources":["../../lib/datasetDetails/AppMarkdownContent.vue"],"sourcesContent":["/**\n * A component that renders sanitized Markdown formatted text.\n */\n\n<template>\n <div class=\"markdown-container\">\n\n <!-- Prepend content here -->\n <slot name=\"before\" />\n\n <!-- This slot provides for further customization using interpreted content -->\n <slot :html=\"interpretedMarkdownText\">\n <component\n :is=\"tag\"\n class=\"markdown-content\"\n v-html=\"interpretedMarkdownText\"\n />\n </slot>\n\n <!-- Append content here -->\n <slot name=\"after\" />\n\n </div>\n</template>\n\n<script>\n// For Markdown into HTML\nimport { marked } from 'marked';\n// For sanitizing HTML to prevent vulnerabilities\nimport DOMPurify from 'dompurify';\n\n// Set DOMPurify configuration.\n// Note: don't refactor this code into any lifecycle hook since this will cause\n// the configuration code each time this component is rendered.\n\n// General settings\nDOMPurify.setConfig({\n // By using HTML profile, forbid SVG and MathML\n USE_PROFILES: { html: true },\n FORBID_TAGS: ['img'],\n FORBID_ATTR: ['style', 'class'],\n});\n\n// Add a hook to transform every <h1> into <h2>\nDOMPurify.addHook('uponSanitizeElement', (node) => {\n const { tagName } = node;\n if (tagName && tagName.toLowerCase() === 'h1') {\n const h2 = document.createElement('h2');\n h2.innerHTML = node.innerHTML;\n\n node.parentNode.replaceChild(h2, node);\n }\n});\n\n// Add a hook to make all links open a new window\nDOMPurify.addHook('afterSanitizeAttributes', (node) => {\n // set all elements owning target to target=_blank\n if ('target' in node) {\n node.setAttribute('target', '_blank');\n // prevent https://www.owasp.org/index.php/Reverse_Tabnabbing\n node.setAttribute('rel', 'noopener noreferrer');\n }\n // set non-HTML/MathML links to xlink:show=new\n if (!node.hasAttribute('target')\n && (node.hasAttribute('xlink:href')\n || node.hasAttribute('href'))) {\n node.setAttribute('xlink:show', 'new');\n }\n});\n\nexport default {\n name: 'AppMarkdownContent',\n props: {\n /**\n * Tag of resulting markdown content container\n */\n tag: {\n type: String,\n default: 'div',\n },\n /**\n * Input text to be interpreted\n */\n text: {\n type: String,\n default: '',\n },\n },\n computed: {\n interpretedMarkdownText() {\n return DOMPurify.sanitize(\n marked.parse(this.text.trim(), { smartLists: true }),\n );\n },\n },\n};\n</script>\n\n<style scoped>\n\n.markdown-container {\n word-wrap: break-word;\n}\n\n</style>\n"],"names":["DOMPurify","node","tagName","h2","_sfc_main","marked","_hoisted_1","_openBlock","_createElementBlock","_renderSlot","_ctx","$options","_createBlock","_resolveDynamicComponent","$props"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"AppMarkdownContent.vue.mjs","sources":["../../lib/datasetDetails/AppMarkdownContent.vue"],"sourcesContent":["/**\n * A component that renders sanitized Markdown formatted text.\n */\n\n<template>\n <div class=\"markdown-container\">\n\n <!-- Prepend content here -->\n <slot name=\"before\" />\n\n <!-- This slot provides for further customization using interpreted content -->\n <slot :html=\"interpretedMarkdownText\">\n <component\n :is=\"tag\"\n class=\"markdown-content\"\n v-html=\"interpretedMarkdownText\"\n />\n </slot>\n\n <!-- Append content here -->\n <slot name=\"after\" />\n\n </div>\n</template>\n\n<script>\n// For Markdown into HTML\nimport { marked } from 'marked';\n// For sanitizing HTML to prevent vulnerabilities\nimport DOMPurify from 'dompurify';\n\n// Set DOMPurify configuration.\n// Note: don't refactor this code into any lifecycle hook since this will cause\n// the configuration code each time this component is rendered.\n\n// General settings\nDOMPurify.setConfig({\n // By using HTML profile, forbid SVG and MathML\n USE_PROFILES: { html: true },\n FORBID_TAGS: ['img'],\n FORBID_ATTR: ['style', 'class'],\n});\n\n// Add a hook to transform every <h1> into <h2>\nDOMPurify.addHook('uponSanitizeElement', (node) => {\n const { tagName } = node;\n if (tagName && tagName.toLowerCase() === 'h1') {\n const h2 = document.createElement('h2');\n h2.innerHTML = node.innerHTML;\n\n node.parentNode.replaceChild(h2, node);\n }\n});\n\n// Add a hook to make all links open a new window\nDOMPurify.addHook('afterSanitizeAttributes', (node) => {\n // set all elements owning target to target=_blank\n if ('target' in node) {\n node.setAttribute('target', '_blank');\n // prevent https://www.owasp.org/index.php/Reverse_Tabnabbing\n node.setAttribute('rel', 'noopener noreferrer');\n }\n // set non-HTML/MathML links to xlink:show=new\n if (!node.hasAttribute('target')\n && (node.hasAttribute('xlink:href')\n || node.hasAttribute('href'))) {\n node.setAttribute('xlink:show', 'new');\n }\n});\n\nexport default {\n name: 'AppMarkdownContent',\n props: {\n /**\n * Tag of resulting markdown content container\n */\n tag: {\n type: String,\n default: 'div',\n },\n /**\n * Input text to be interpreted\n */\n text: {\n type: String,\n default: '',\n },\n },\n computed: {\n interpretedMarkdownText() {\n return DOMPurify.sanitize(\n marked.parse(this.text.trim(), { smartLists: true }),\n );\n },\n },\n};\n</script>\n\n<style scoped>\n\n.markdown-container {\n word-wrap: break-word;\n}\n\n</style>\n"],"names":["DOMPurify","node","tagName","h2","_sfc_main","marked","_hoisted_1","_openBlock","_createElementBlock","_renderSlot","_ctx","_cache","_createTextVNode","$options","_createBlock","_resolveDynamicComponent","$props"],"mappings":";;;;;AAoCSA,EAAC,UAAU;AAAA;AAAA,EAElB,cAAc,EAAE,MAAM,GAAM;AAAA,EAC5B,aAAa,CAAC,KAAK;AAAA,EACnB,aAAa,CAAC,SAAS,OAAO;AAChC,CAAC;AAGDA,EAAU,QAAQ,uBAAuB,CAACC,MAAS;AACjD,QAAM,EAAE,SAAAC,EAAQ,IAAID;AACpB,MAAIC,KAAWA,EAAQ,YAAW,MAAO,MAAM;AAC7C,UAAMC,IAAK,SAAS,cAAc,IAAI;AACtC,IAAAA,EAAG,YAAYF,EAAK,WAEpBA,EAAK,WAAW,aAAaE,GAAIF,CAAI;AAAA,EACvC;AACF,CAAC;AAGQD,EAAC,QAAQ,2BAA2B,CAACC,MAAS;AAErD,EAAI,YAAYA,MACdA,EAAK,aAAa,UAAU,QAAQ,GAEpCA,EAAK,aAAa,OAAO,qBAAqB,IAG5C,CAACA,EAAK,aAAa,QAAQ,MACrBA,EAAK,aAAa,YAAY,KAC3BA,EAAK,aAAa,MAAM,MACnCA,EAAK,aAAa,cAAc,KAAK;AAEzC,CAAC;AAED,MAAKG,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAID,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,UAAU;AAAA,IACR,0BAA0B;AACxB,aAAOJ,EAAU;AAAA,QACfK,EAAO,MAAM,KAAK,KAAK,KAAI,GAAI,EAAE,YAAY,IAAM;AAAA;IAEtD;AAAA,EACF;AACH,GA1FOC,IAAA,EAAA,OAAM,qBAAoB;;AAA/B,SAAAC,EAAA,GAAAC,EAiBM,OAjBNF,GAiBM;AAAA,IAdJG,EAAsBC,EAAA,QAAA,UAAA,CAAA,GAAA,QAAA,EAAA;AAAA,IAR1BC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,IAWIH,EAMOC,EANA,QAAA,WAAA,EAAA,MAAMG,EAAA,wBAAuB,GAApC,MAMO;AAAA,YALLC,EAZNC,EAaaC,EAAG,GAAA,GAAA;AAAA,QACR,OAAM;AAAA,QACN,WAAQH,EAAuB;AAAA;;IAfvCF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,IAoBIH,EAAqBC,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasetDetails.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetails.vue"],"sourcesContent":["<template>\n <div\n class=\"d-flex flex-column p-0 bg-transparent\"\n :data-cy=\"getRepresentativeLocaleOf(getTitle, $route.query.locale, getLanguages)\n && `dataset@${getRepresentativeLocaleOf(getTitle, $route.query.locale, getLanguages)}`\"\n > \n <router-view name=\"test\" ></router-view>\n <dataset-details-navigation v-if=\"topTitle\" :dataset-id=\"getID\"/>\n <div class=\"container-fluid mb-5 pt-1 content dsd-content\">\n <dataset-details-header />\n <dataset-details-navigation v-if=\"!topTitle\" :dataset-id=\"getID\"/>\n <hr v-if=\"topTitle\" />\n <router-view name=\"datasetDetailsSubpages\" ></router-view>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport { useRoute } from 'vue-router';\n\nimport DatasetDetailsHeader from './header/DatasetDetailsHeader.vue';\nimport DatasetDetailsNavigation from './navigation/DatasetDetailsNavigation.vue';\nimport { getRepresentativeLocaleOf } from '../utils/helpers';\nimport { useDownloadDatasetOnMount } from '../composables/useDownloadDatasetOnMount';\nimport * as metaInfo from '../composables/head';\nimport {useRuntimeEnv} from \"../composables/useRuntimeEnv.ts\";\n\n\nexport default {\n name: 'datasetDetails',\n components: {\n DatasetDetailsHeader,\n DatasetDetailsNavigation,\n },\n data() {\n return {\n topTitle: this.$env.content.datasetDetails.header.navigation === \"top\",\n };\n },\n props: {\n activeTab: {\n type: Number,\n default: 0\n },\n citationStyle: String\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getID',\n 'getLanguages',\n 'getTitle',\n ]),\n },\n methods: {\n getRepresentativeLocaleOf,\n },\n setup() {\n metaInfo.useDatasetDetailsHead();\n const route = useRoute();\n const env = useRuntimeEnv();\n useDownloadDatasetOnMount({ route, hubUrl: env.api.hubUrl });\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n .content {\n padding: 30px 30px 0 30px;\n margin-top: 15px;\n margin-bottom: 15px;\n background-color: white;\n }\n</style>\n"],"names":["_sfc_main","DatasetDetailsHeader","DatasetDetailsNavigation","mapGetters","getRepresentativeLocaleOf","metaInfo.useDatasetDetailsHead","route","useRoute","env","useRuntimeEnv","useDownloadDatasetOnMount","_hoisted_2","_createElementBlock","$options","_ctx","_createVNode","_component_router_view","$data","_createBlock","_component_dataset_details_navigation","_createElementVNode","_component_dataset_details_header","_hoisted_3"],"mappings":";;;;;;;;;;;;;;AA6BA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV,sBAAAC;AAAA,IACA,0BAAAC;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,UAAU,KAAK,KAAK,QAAQ,eAAe,OAAO,eAAe;AAAA;EAEpE;AAAA,EACD,OAAO;AAAA,IACL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,eAAe;AAAA,EAChB;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,2BAAAC;AAAA,EACD;AAAA,EACD,QAAQ;AACNC,IAAAA;AACA,UAAMC,IAAQC,KACRC,IAAMC;AACZ,IAAAC,EAA0B,EAAE,OAAAJ,GAAO,QAAQE,EAAI,IAAI,OAAO,CAAC;AAAA,EAC7D;AACF,
|
|
1
|
+
{"version":3,"file":"DatasetDetails.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetails.vue"],"sourcesContent":["<template>\n <div\n class=\"d-flex flex-column p-0 bg-transparent\"\n :data-cy=\"getRepresentativeLocaleOf(getTitle, $route.query.locale, getLanguages)\n && `dataset@${getRepresentativeLocaleOf(getTitle, $route.query.locale, getLanguages)}`\"\n > \n <router-view name=\"test\" ></router-view>\n <dataset-details-navigation v-if=\"topTitle\" :dataset-id=\"getID\"/>\n <div class=\"container-fluid mb-5 pt-1 content dsd-content\">\n <dataset-details-header />\n <dataset-details-navigation v-if=\"!topTitle\" :dataset-id=\"getID\"/>\n <hr v-if=\"topTitle\" />\n <router-view name=\"datasetDetailsSubpages\" ></router-view>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport { useRoute } from 'vue-router';\n\nimport DatasetDetailsHeader from './header/DatasetDetailsHeader.vue';\nimport DatasetDetailsNavigation from './navigation/DatasetDetailsNavigation.vue';\nimport { getRepresentativeLocaleOf } from '../utils/helpers';\nimport { useDownloadDatasetOnMount } from '../composables/useDownloadDatasetOnMount';\nimport * as metaInfo from '../composables/head';\nimport {useRuntimeEnv} from \"../composables/useRuntimeEnv.ts\";\n\n\nexport default {\n name: 'datasetDetails',\n components: {\n DatasetDetailsHeader,\n DatasetDetailsNavigation,\n },\n data() {\n return {\n topTitle: this.$env.content.datasetDetails.header.navigation === \"top\",\n };\n },\n props: {\n activeTab: {\n type: Number,\n default: 0\n },\n citationStyle: String\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getID',\n 'getLanguages',\n 'getTitle',\n ]),\n },\n methods: {\n getRepresentativeLocaleOf,\n },\n setup() {\n metaInfo.useDatasetDetailsHead();\n const route = useRoute();\n const env = useRuntimeEnv();\n useDownloadDatasetOnMount({ route, hubUrl: env.api.hubUrl });\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n .content {\n padding: 30px 30px 0 30px;\n margin-top: 15px;\n margin-bottom: 15px;\n background-color: white;\n }\n</style>\n"],"names":["_sfc_main","DatasetDetailsHeader","DatasetDetailsNavigation","mapGetters","getRepresentativeLocaleOf","metaInfo.useDatasetDetailsHead","route","useRoute","env","useRuntimeEnv","useDownloadDatasetOnMount","_hoisted_1","_hoisted_2","_createElementBlock","$options","_ctx","_createVNode","_component_router_view","_cache","_createTextVNode","$data","_createBlock","_component_dataset_details_navigation","_createCommentVNode","_createElementVNode","_component_dataset_details_header","_openBlock","_hoisted_3"],"mappings":";;;;;;;;;;;;;;AA6BA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV,sBAAAC;AAAA,IACA,0BAAAC;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,UAAU,KAAK,KAAK,QAAQ,eAAe,OAAO,eAAe;AAAA;EAEpE;AAAA,EACD,OAAO;AAAA,IACL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,eAAe;AAAA,EAChB;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,2BAAAC;AAAA,EACD;AAAA,EACD,QAAQ;AACNC,IAAAA;AACA,UAAMC,IAAQC,KACRC,IAAMC;AACZ,IAAAC,EAA0B,EAAE,OAAAJ,GAAO,QAAQE,EAAI,IAAI,OAAO,CAAC;AAAA,EAC7D;AACF,GA/DAG,IAAA,CAAA,SAAA,GAQSC,IAAA,EAAA,OAAM,gDAA+C,SAR9D,KAAA,EAAA;;;cACEC,EAaM,OAAA;AAAA,IAZJ,OAAM;AAAA,IACL,WAASC,EAAyB,0BAACC,EAAQ,UAAEA,EAAM,OAAC,MAAM,QAAQA,EAAY,YAAA,gBAAoBD,EAAyB,0BAACC,YAAUA,EAAA,OAAO,MAAM,QAAQA,EAAY,YAAA,CAAA;AAAA;IAG1KC,EAAwCC,GAAA,EAA3B,MAAK,OAAM,CAAA;AAAA,IAN1BC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,IAOsCC,EAAQ,iBAA1CC,EAAiEC,GAAA;AAAA,MAPrE,KAAA;AAAA,MAOiD,cAAYP,EAAK;AAAA,mCAPlEQ,EAAA,IAAA,EAAA;AAAA,IAAAL,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,IAQIK,EAKM,OALNZ,GAKM;AAAA,MAJJI,EAA0BS,CAAA;AAAA,MAThCP,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,MAUyCC,EAAQ,WAVjDG,EAAA,IAAA,EAAA,UAUMF,EAAkEC,GAAA;AAAA,QAVxE,KAAA;AAAA,QAUoD,cAAYP,EAAK;AAAA;MAVrEG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,MAWgBC,EAAQ,YAAlBM,KAAAb,EAAsB,MAX5Bc,CAAA,KAAAJ,EAAA,IAAA,EAAA;AAAA,MAAAL,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,MAYMH,EAA0DC,GAAA,EAA7C,MAAK,yBAAwB,CAAA;AAAA;EAZhD,GAAA,GAAAN,CAAA;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasetDetailsActivityStream.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetailsActivityStream.vue"],"sourcesContent":["<template>\n <div>\n <div class=\"mt-3\">\n <div class=\"row\">\n <div class=\"col-10 offset-1\">\n <h2>{{ $t('message.datasetDetails.subnav.activityStream') }}</h2>\n </div>\n <div class=\"col-10 offset-1\">\n <div class=\"activity-stream mt-4\">\n <div class=\"p-2 mt-3\">\n <span class=\"text-left\">Dataset updated</span>\n <span class=\"float-right text-muted small\">2 days ago</span>\n </div>\n <div class=\"p-2 mt-3\">\n <span class=\"text-left\">Dataset updated</span>\n <span class=\"float-right text-muted small\">5 days ago</span>\n </div>\n <div class=\"p-2 mt-3\">\n <span class=\"text-left\">Dataset created</span>\n <span class=\"float-right text-muted small\">5 days ago</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n import { mapActions, mapGetters } from 'vuex';\n\n export default {\n name: 'datasetDetailsActivityStream',\n components: {\n },\n data() {\n return {\n };\n },\n computed: {\n ...mapGetters('datasetDetails', [\n ]),\n },\n methods: {\n ...mapActions('datasetDetails', [\n 'loadDatasetDetails',\n ]),\n },\n created() {\n this.$nextTick(() => {\n this.$Progress.start();\n this.loadDatasetDetails(this.$route.params.ds_id)\n .then(() => {\n this.$Progress.finish();\n })\n .catch(() => {\n this.$Progress.fail();\n });\n });\n },\n };\n</script>\n"],"names":["_sfc_main","mapGetters","mapActions","_hoisted_1","_hoisted_2","_hoisted_3","_createElementBlock","_createElementVNode","_ctx"],"mappings":";;;AA+BE,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY,CACX;AAAA,EACD,OAAO;AACL,WAAO;EAER;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB,CAChC,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EACD,UAAU;AACR,SAAK,UAAU,MAAM;AACnB,WAAK,UAAU,SACf,KAAK,mBAAmB,KAAK,OAAO,OAAO,KAAK,EAC7C,KAAK,MAAM;AACV,aAAK,UAAU;OAChB,EACA,MAAM,MAAM;AACX,aAAK,UAAU;MACjB,CAAC;AAAA,IACL,CAAC;AAAA,EACF;GAzDIC,IAAA,EAAA,OAAM,OAAM,GACVC,IAAA,EAAA,OAAM,MAAK,GACTC,IAAA,EAAA,OAAM,kBAAiB;;cAHlCC,EAwBM,OAAA,MAAA;AAAA,IAvBJC,EAsBM,OAtBNJ,GAsBM;AAAA,MArBJI,EAoBM,OApBNH,GAoBM;AAAA,QAnBJG,EAEM,OAFNF,GAEM;AAAA,UADJE,EAAiE,cAA1DC,EAAE,GAAA,8CAAA,CAAA,GAAA,CAAA;AAAA
|
|
1
|
+
{"version":3,"file":"DatasetDetailsActivityStream.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetailsActivityStream.vue"],"sourcesContent":["<template>\n <div>\n <div class=\"mt-3\">\n <div class=\"row\">\n <div class=\"col-10 offset-1\">\n <h2>{{ $t('message.datasetDetails.subnav.activityStream') }}</h2>\n </div>\n <div class=\"col-10 offset-1\">\n <div class=\"activity-stream mt-4\">\n <div class=\"p-2 mt-3\">\n <span class=\"text-left\">Dataset updated</span>\n <span class=\"float-right text-muted small\">2 days ago</span>\n </div>\n <div class=\"p-2 mt-3\">\n <span class=\"text-left\">Dataset updated</span>\n <span class=\"float-right text-muted small\">5 days ago</span>\n </div>\n <div class=\"p-2 mt-3\">\n <span class=\"text-left\">Dataset created</span>\n <span class=\"float-right text-muted small\">5 days ago</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n import { mapActions, mapGetters } from 'vuex';\n\n export default {\n name: 'datasetDetailsActivityStream',\n components: {\n },\n data() {\n return {\n };\n },\n computed: {\n ...mapGetters('datasetDetails', [\n ]),\n },\n methods: {\n ...mapActions('datasetDetails', [\n 'loadDatasetDetails',\n ]),\n },\n created() {\n this.$nextTick(() => {\n this.$Progress.start();\n this.loadDatasetDetails(this.$route.params.ds_id)\n .then(() => {\n this.$Progress.finish();\n })\n .catch(() => {\n this.$Progress.fail();\n });\n });\n },\n };\n</script>\n"],"names":["_sfc_main","mapGetters","mapActions","_hoisted_1","_hoisted_2","_hoisted_3","_createElementBlock","_createElementVNode","_ctx","_cache","_createStaticVNode"],"mappings":";;;AA+BE,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY,CACX;AAAA,EACD,OAAO;AACL,WAAO;EAER;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB,CAChC,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EACD,UAAU;AACR,SAAK,UAAU,MAAM;AACnB,WAAK,UAAU,SACf,KAAK,mBAAmB,KAAK,OAAO,OAAO,KAAK,EAC7C,KAAK,MAAM;AACV,aAAK,UAAU;OAChB,EACA,MAAM,MAAM;AACX,aAAK,UAAU;MACjB,CAAC;AAAA,IACL,CAAC;AAAA,EACF;GAzDIC,IAAA,EAAA,OAAM,OAAM,GACVC,IAAA,EAAA,OAAM,MAAK,GACTC,IAAA,EAAA,OAAM,kBAAiB;;cAHlCC,EAwBM,OAAA,MAAA;AAAA,IAvBJC,EAsBM,OAtBNJ,GAsBM;AAAA,MArBJI,EAoBM,OApBNH,GAoBM;AAAA,QAnBJG,EAEM,OAFNF,GAEM;AAAA,UADJE,EAAiE,cAA1DC,EAAE,GAAA,8CAAA,CAAA,GAAA,CAAA;AAAA;QALnBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA,ueAAA,CAAA;AAAA;;;;;"}
|
|
@@ -6,7 +6,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
6
6
|
getOriginalLanguage: import('vuex').Computed;
|
|
7
7
|
}, {
|
|
8
8
|
getDatasetOriginalLanguage(originalLanguage: any): {
|
|
9
|
-
query:
|
|
9
|
+
query: import('vue-router').LocationQuery & {
|
|
10
|
+
locale: any;
|
|
11
|
+
};
|
|
10
12
|
};
|
|
11
13
|
setDatasetOriginalLanguage(originalLanguage: any): void;
|
|
12
14
|
showString(string: any): string is string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasetDetailsBanners.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetailsBanners.vue"],"sourcesContent":["<template>\n <div class=\"w-100 dsd-banners\">\n <!-- INCORRECT DATE BANNER -->\n <pv-banner\n v-if=\"dateIncorrect\"\n message=\"This dataset's last updated date is incorrect or incomplete, please contact the data provider for further inquiries.\"\n class=\"mb-3\"\n />\n <pv-banner\n v-if=\"machineTranslated\"\n :message=\"$t('message.datasetDetails.translation.message')\"\n class=\"mb-3\"\n >\n <div v-if=\"showString(getOriginalLanguage)\">\n <p class=\"mb-0\">{{ $t('message.datasetDetails.translation.original') }}: <strong>{{ getOriginalLanguage }}</strong></p>\n <app-link :to=\"getDatasetOriginalLanguage(getOriginalLanguage)\">\n <button class=\"alert-link font-weight-light btn btn-link btn-sm p-0\"\n @click=\"setDatasetOriginalLanguage(getOriginalLanguage)\">\n {{ $t('message.datasetDetails.translation.link') }}\n </button>\n </app-link>\n </div>\n </pv-banner>\n <pv-banner\n v-if=\"translationNotAvailable\"\n :message=\"$t('message.datasetDetails.translation.noTranslation')\"\n class=\"mb-3\"\n />\n </div>\n</template>\n\n<script>\nimport {mapGetters} from \"vuex\";\nimport {isNil, isString} from \"lodash\";\nimport AppLink from \"../widgets/AppLink\";\n\nexport default {\n name: \"DatasetDetailsBanners\",\n components: {AppLink},\n props: {\n dateIncorrect: Boolean,\n machineTranslated: Boolean,\n translationNotAvailable: Boolean\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getOriginalLanguage'\n ])\n },\n methods: {\n getDatasetOriginalLanguage(originalLanguage) {\n return { query: Object.assign({}, this.$route.query, { locale: originalLanguage }) };\n },\n setDatasetOriginalLanguage(originalLanguage) {\n this.$i18n.locale = originalLanguage;\n },\n showString(string) {\n return !isNil(string) && isString(string);\n }\n }\n}\n</script>\n"],"names":["_sfc_main","AppLink","mapGetters","originalLanguage","string","isNil","isString","_hoisted_1","_hoisted_3","_openBlock","_createElementBlock","$props","_createBlock","_component_pv_banner","_ctx","$options","_hoisted_2","_createElementVNode","
|
|
1
|
+
{"version":3,"file":"DatasetDetailsBanners.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetailsBanners.vue"],"sourcesContent":["<template>\n <div class=\"w-100 dsd-banners\">\n <!-- INCORRECT DATE BANNER -->\n <pv-banner\n v-if=\"dateIncorrect\"\n message=\"This dataset's last updated date is incorrect or incomplete, please contact the data provider for further inquiries.\"\n class=\"mb-3\"\n />\n <pv-banner\n v-if=\"machineTranslated\"\n :message=\"$t('message.datasetDetails.translation.message')\"\n class=\"mb-3\"\n >\n <div v-if=\"showString(getOriginalLanguage)\">\n <p class=\"mb-0\">{{ $t('message.datasetDetails.translation.original') }}: <strong>{{ getOriginalLanguage }}</strong></p>\n <app-link :to=\"getDatasetOriginalLanguage(getOriginalLanguage)\">\n <button class=\"alert-link font-weight-light btn btn-link btn-sm p-0\"\n @click=\"setDatasetOriginalLanguage(getOriginalLanguage)\">\n {{ $t('message.datasetDetails.translation.link') }}\n </button>\n </app-link>\n </div>\n </pv-banner>\n <pv-banner\n v-if=\"translationNotAvailable\"\n :message=\"$t('message.datasetDetails.translation.noTranslation')\"\n class=\"mb-3\"\n />\n </div>\n</template>\n\n<script>\nimport {mapGetters} from \"vuex\";\nimport {isNil, isString} from \"lodash\";\nimport AppLink from \"../widgets/AppLink\";\n\nexport default {\n name: \"DatasetDetailsBanners\",\n components: {AppLink},\n props: {\n dateIncorrect: Boolean,\n machineTranslated: Boolean,\n translationNotAvailable: Boolean\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getOriginalLanguage'\n ])\n },\n methods: {\n getDatasetOriginalLanguage(originalLanguage) {\n return { query: Object.assign({}, this.$route.query, { locale: originalLanguage }) };\n },\n setDatasetOriginalLanguage(originalLanguage) {\n this.$i18n.locale = originalLanguage;\n },\n showString(string) {\n return !isNil(string) && isString(string);\n }\n }\n}\n</script>\n"],"names":["_sfc_main","AppLink","mapGetters","originalLanguage","string","isNil","isString","_hoisted_1","_hoisted_3","_openBlock","_createElementBlock","$props","_createBlock","_component_pv_banner","_createCommentVNode","_cache","_createTextVNode","_ctx","_withCtx","$options","_hoisted_2","_createElementVNode","_toDisplayString","_createVNode","_component_app_link","$event"],"mappings":";;;;;AAoCA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY,EAAC,SAAAC,EAAO;AAAA,EACpB,OAAO;AAAA,IACL,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,EAC1B;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,KACD;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,2BAA2BC,GAAkB;AAC3C,aAAO,EAAE,OAAO,OAAO,OAAO,CAAA,GAAI,KAAK,OAAO,OAAO,EAAE,QAAQA,EAAiB,CAAC;IAClF;AAAA,IACD,2BAA2BA,GAAkB;AAC3C,WAAK,MAAM,SAASA;AAAA,IACrB;AAAA,IACD,WAAWC,GAAQ;AACjB,aAAO,CAACC,EAAMD,CAAM,KAAKE,EAASF,CAAM;AAAA,IAC1C;AAAA,EACF;AACF,GA3DOG,IAAA,EAAA,OAAM,oBAAmB,SADhC,KAAA,EAAA,GAcWC,IAAA,EAAA,OAAM,OAAM;;;AAbrB,SAAAC,EAAA,GAAAC,EA2BM,OA3BNH,GA2BM;AAAA,IAxBII,EAAa,sBADrBC,EAIEC,GAAA;AAAA,MAPN,KAAA;AAAA,MAKM,SAAQ;AAAA,MACR,OAAM;AAAA,UANZC,EAAA,IAAA,EAAA;AAAA,IAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,IASYL,EAAiB,0BADzBC,EAcYC,GAAA;AAAA,MAtBhB,KAAA;AAAA,MAUO,SAASI,EAAE,GAAA,4CAAA;AAAA,MACZ,OAAM;AAAA;MAXZ,SAAAC,EAaM,MAQM;AAAA,QARKC,EAAA,WAAWF,EAAmB,mBAAA,KAAzCR,KAAAC,EAQM,OArBZU,GAAA;AAAA,UAcQC,EAAuH,KAAvHb,GAAuH;AAAA,YAd/HQ,EAc2BM,EAAAL,EAAA,qDAAoD,MAAE,CAAA;AAAA,YAAAI,EAA0C,kBAA/BJ,EAAmB,mBAAA,GAAA,CAAA;AAAA;UAd/GF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,UAeQO,EAKWC,GAAA;AAAA,YALA,IAAIL,EAA0B,2BAACF,EAAmB,mBAAA;AAAA;YAfrE,SAAAC,EAgBU,MAGS;AAAA,cAHTG,EAGS,UAAA;AAAA,gBAHD,OAAM;AAAA,gBACL,SAAKN,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAU,MAAEN,EAA0B,2BAACF,EAAmB,mBAAA;AAAA,mBACzDA,EAAE,GAAA,yCAAA,CAAA,GAAA,CAAA;AAAA;YAlBjB,GAAA;AAAA;cAAAH,EAAA,IAAA,EAAA;AAAA;MAAA,GAAA;AAAA,0BAAAA,EAAA,IAAA,EAAA;AAAA,IAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,IAwBYL,EAAuB,gCAD/BC,EAIEC,GAAA;AAAA,MA3BN,KAAA;AAAA,MAyBO,SAASI,EAAE,GAAA,kDAAA;AAAA,MACZ,OAAM;AAAA,gCA1BZH,EAAA,IAAA,EAAA;AAAA;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasetDetailsCSVLinter.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetailsCSVLinter.vue"],"sourcesContent":["<template>\n <!-- CSV Linter -->\n <div class=\"dsd-distribution-quality-csv row\" v-if=\"showValidation\">\n <h4 class=\"col-12 mt-5 mb-3 font-weight-bold\">{{ csvLinter.title }}</h4>\n <div class=\"col-12\">\n <pv-banner>{{ csvLinter.banner }}</pv-banner>\n </div>\n <div class=\"col-7\">\n <div class=\"p-3 csv-validation-box\"\n :class=\"getValidationStatus(validation.passed)\">\n <div class=\"row mt-2\">\n <div class=\"col-1 mt-4\">\n <i class=\"material-icons\" :class=\"getValidationStatus(validation.passed)\">\n {{ getValidationResultIcon(validation.passed) }}\n </i>\n </div>\n <div class=\"col-11\">\n <h5 class=\"font-weight-bold\">{{ csvLinter.validationTitle[validation.passed] }}</h5>\n <p>{{ csvLinter.validationDescription[validation.passed] }}</p>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-5\">\n <table class=\"row mt-4\">\n <tbody>\n <tr>\n <td class=\"col-12 text-center heading-1 color-red\">{{ validationCount['errors'] }}</td>\n <td class=\"col-12 text-center heading-1 color-orange\">{{ validationCount['warnings'] }}</td>\n <td class=\"col-12 text-center heading-1 color-blue\">{{ validationCount['infos'] }}</td>\n </tr>\n <tr>\n <td class=\"col-12 text-center heading-4 color-red\">{{ $tc('message.datasetDetails.quality.error', 2) }}</td>\n <td class=\"col-12 text-center heading-4 color-orange\">{{ $tc('message.datasetDetails.quality.warning', 2) }}</td>\n <td class=\"col-12 text-center heading-4 color-blue\">{{ $tc('message.datasetDetails.quality.message', 2) }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n <span class=\"col-12 mt-3\">{{ $t('message.datasetDetails.quality.totalRows') }}: <strong>{{ validation.rowCount }}</strong></span>\n <div class=\"col-12 csv-result-details\" :class=\"getBorderStyle(index)\" v-for=\"(csvResult, index) in displayedValidationResults\" :key=\"index\">\n <div class=\"row\">\n <div class=\"col-3\">\n <div class=\"my-4 px-5 tag\" :class=\"getBGStyle(csvResult.type)\">{{ csvResult.type }}</div>\n </div>\n <div class=\"col-9 mt-3\">\n <h5 class=\"font-weight-bold mt-1\">{{ csvResult.message_header }}</h5>\n <div>{{ csvResult.message }}</div>\n <div class=\"small\" v-if=\"csvResult.row > -1 && csvResult.column > -1\">\n {{ $t('message.datasetDetails.quality.row') }}: {{ csvResult.row }}, {{ $t('message.datasetDetails.quality.column') }}: {{ csvResult.column }}\n </div>\n <div class=\"small\" v-else-if=\"csvResult.row > -1 && csvResult.column === -1\">\n {{ $t('message.datasetDetails.quality.row') }}: {{ csvResult.row }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-12\" v-if=\"showLimit\">\n <pv-banner>{{ `${csvLinter.limit} ${validation.limit}` }}</pv-banner>\n </div>\n <pv-show-more class=\"col-12 text-primary mb-3 mt-5\"\n v-if=\"useECMore\"\n :label=\"csvLinter.displayAll ? $t('message.metadata.showLess') : $t('message.metadata.showMore')\"\n :upArrow=\"csvLinter.displayAll\"\n :action=\"() => toggleDisplayAll()\"></pv-show-more>\n </div>\n</template>\n\n<script>\nimport { has, isNil } from 'lodash-es';\nimport ShowMore from \"../widgets/PvShowMore.vue\";\nimport PvBanner from \"../widgets/PvBanner.vue\";\n\nexport default {\n name: 'datasetDetailsCSVLinter',\n components: {\n PvBanner,\n },\n props: ['validation'],\n data() {\n return {\n csvLinter: {\n title: this.$t('message.datasetDetails.quality.title'),\n banner: this.$t('message.datasetDetails.quality.banner'),\n limit: this.$t('message.datasetDetails.quality.limit'),\n displayAll: this.$env.content.datasetDetails.quality.csvLinter.displayAll,\n numberOfDisplayedValidationResults: this.$env.content.datasetDetails.quality.csvLinter.numberOfDisplayedValidationResults,\n validationTitle: {\n true: this.$t('message.datasetDetails.quality.validationTitle.success'),\n false: this.$t('message.datasetDetails.quality.validationTitle.error'),\n },\n validationDescription: {\n true: this.$t('message.datasetDetails.quality.validationDescription.success'),\n false: this.$t('message.datasetDetails.quality.validationDescription.error'),\n },\n },\n };\n },\n computed: {\n showLimit() {\n return has(this.validation, 'limit') && !isNil(this.validation.limit);\n },\n showValidation() {\n return !isNil(this.validation)\n && has(this.validation, 'passed')\n && has(this.validation, 'errors')\n && has(this.validation, 'warnings')\n && has(this.validation, 'infos');\n },\n useECMore() {\n return this.validationResults.length > this.csvLinter.numberOfDisplayedValidationResults;\n },\n displayedValidationResults() {\n return this.csvLinter.displayAll\n ? this.validationResults\n : this.validationResults.slice(0, this.csvLinter.numberOfDisplayedValidationResults);\n },\n validationResults() {\n let errors = has(this.validation.errors, 'items') ? this.validation.errors.items : [];\n let warnings = has(this.validation.warnings, 'items') ? this.validation.warnings.items : [];\n let infos = has(this.validation.infos, 'items') ? this.validation.infos.items : [];\n\n errors.forEach(i => i.type = this.$tc('message.datasetDetails.quality.error', 1));\n warnings.forEach(i => i.type = this.$tc('message.datasetDetails.quality.warning', 1));\n infos.forEach(i => i.type = this.$tc('message.datasetDetails.quality.message', 1));\n\n return errors.concat(warnings).concat(infos);\n },\n validationCount() {\n let errors = has(this.validation.errors, 'count') ? this.validation.errors.count : 0;\n let warnings = has(this.validation.warnings, 'count') ? this.validation.warnings.count : 0;\n let infos = has(this.validation.infos, 'count') ? this.validation.infos.count : 0;\n\n return {\n errors,\n warnings,\n infos,\n };\n },\n },\n methods: {\n has,\n isNil,\n toggleDisplayAll() {\n this.csvLinter.displayAll = !this.csvLinter.displayAll;\n },\n getValidationResultIcon(status) {\n return status === true ? 'check_circle'\n : status === false ? 'disabled_by_default'\n : 'info'\n },\n getValidationStatus(status) {\n return status === true ? 'success'\n : status === false ? 'error'\n : 'info'\n },\n getBorderStyle(index) {\n return index > 0\n ? 'border-top'\n : '';\n },\n getBGStyle(type) {\n return type === 'Error' ? 'bg-red'\n : type === 'Warning' ? 'bg-orange'\n : type === 'Message' ? 'bg-blue'\n : 'bg-white';\n },\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.dsd-distribution-quality-csv {\n .heading {\n &-1 {\n font-size: 2rem;\n font-weight: 700;\n }\n\n &-4 {\n font-size: 1.25rem;\n font-weight: 700;\n }\n }\n\n .color {\n &-red {\n color: #DA2131;\n }\n\n &-orange {\n color: #F29527;\n }\n\n &-blue {\n color: #4073AF;\n }\n }\n\n .bg {\n &-red {\n background-color: #DA2131;\n }\n\n &-orange {\n background-color: #F29527;\n }\n\n &-blue {\n background-color: #4073AF;\n }\n }\n\n .csv-validation-box {\n color: black;\n background-color: #FFFFFF;\n border: 2px solid #000000;\n\n &.success {\n border-color: #467A39;\n }\n &.error {\n border-color: #DA2131;\n }\n\n .material-icons {\n &.success {\n color: #467A39;\n }\n &.error {\n color: #DA2131;\n }\n }\n }\n\n .csv-result-details {\n\n &.border {\n &-top {\n border-top: 1px solid #9F9F9F;\n }\n }\n\n .tag {\n display: inline-flex;\n align-items: center;\n color: #FFFFFF;\n font-size: 1rem;\n padding: 0.5rem 0.75rem;\n border-radius: 1rem;\n border-width: 0;\n text-decoration: none;\n box-sizing: border-box;\n white-space: nowrap;\n }\n }\n}\n</style>\n"],"names":["_sfc_main","PvBanner","has","isNil","errors","warnings","infos","i","status","index","type","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","$options","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_toDisplayString","$data","_createVNode","_component_pv_banner","_createTextVNode","$props","_ctx","_Fragment","_renderList","csvResult","_normalizeClass","_hoisted_22","_hoisted_23","_hoisted_24","_createBlock","_component_pv_show_more"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatasetDetailsCSVLinter.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetailsCSVLinter.vue"],"sourcesContent":["<template>\n <!-- CSV Linter -->\n <div class=\"dsd-distribution-quality-csv row\" v-if=\"showValidation\">\n <h4 class=\"col-12 mt-5 mb-3 font-weight-bold\">{{ csvLinter.title }}</h4>\n <div class=\"col-12\">\n <pv-banner>{{ csvLinter.banner }}</pv-banner>\n </div>\n <div class=\"col-7\">\n <div class=\"p-3 csv-validation-box\"\n :class=\"getValidationStatus(validation.passed)\">\n <div class=\"row mt-2\">\n <div class=\"col-1 mt-4\">\n <i class=\"material-icons\" :class=\"getValidationStatus(validation.passed)\">\n {{ getValidationResultIcon(validation.passed) }}\n </i>\n </div>\n <div class=\"col-11\">\n <h5 class=\"font-weight-bold\">{{ csvLinter.validationTitle[validation.passed] }}</h5>\n <p>{{ csvLinter.validationDescription[validation.passed] }}</p>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-5\">\n <table class=\"row mt-4\">\n <tbody>\n <tr>\n <td class=\"col-12 text-center heading-1 color-red\">{{ validationCount['errors'] }}</td>\n <td class=\"col-12 text-center heading-1 color-orange\">{{ validationCount['warnings'] }}</td>\n <td class=\"col-12 text-center heading-1 color-blue\">{{ validationCount['infos'] }}</td>\n </tr>\n <tr>\n <td class=\"col-12 text-center heading-4 color-red\">{{ $tc('message.datasetDetails.quality.error', 2) }}</td>\n <td class=\"col-12 text-center heading-4 color-orange\">{{ $tc('message.datasetDetails.quality.warning', 2) }}</td>\n <td class=\"col-12 text-center heading-4 color-blue\">{{ $tc('message.datasetDetails.quality.message', 2) }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n <span class=\"col-12 mt-3\">{{ $t('message.datasetDetails.quality.totalRows') }}: <strong>{{ validation.rowCount }}</strong></span>\n <div class=\"col-12 csv-result-details\" :class=\"getBorderStyle(index)\" v-for=\"(csvResult, index) in displayedValidationResults\" :key=\"index\">\n <div class=\"row\">\n <div class=\"col-3\">\n <div class=\"my-4 px-5 tag\" :class=\"getBGStyle(csvResult.type)\">{{ csvResult.type }}</div>\n </div>\n <div class=\"col-9 mt-3\">\n <h5 class=\"font-weight-bold mt-1\">{{ csvResult.message_header }}</h5>\n <div>{{ csvResult.message }}</div>\n <div class=\"small\" v-if=\"csvResult.row > -1 && csvResult.column > -1\">\n {{ $t('message.datasetDetails.quality.row') }}: {{ csvResult.row }}, {{ $t('message.datasetDetails.quality.column') }}: {{ csvResult.column }}\n </div>\n <div class=\"small\" v-else-if=\"csvResult.row > -1 && csvResult.column === -1\">\n {{ $t('message.datasetDetails.quality.row') }}: {{ csvResult.row }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-12\" v-if=\"showLimit\">\n <pv-banner>{{ `${csvLinter.limit} ${validation.limit}` }}</pv-banner>\n </div>\n <pv-show-more class=\"col-12 text-primary mb-3 mt-5\"\n v-if=\"useECMore\"\n :label=\"csvLinter.displayAll ? $t('message.metadata.showLess') : $t('message.metadata.showMore')\"\n :upArrow=\"csvLinter.displayAll\"\n :action=\"() => toggleDisplayAll()\"></pv-show-more>\n </div>\n</template>\n\n<script>\nimport { has, isNil } from 'lodash-es';\nimport ShowMore from \"../widgets/PvShowMore.vue\";\nimport PvBanner from \"../widgets/PvBanner.vue\";\n\nexport default {\n name: 'datasetDetailsCSVLinter',\n components: {\n PvBanner,\n },\n props: ['validation'],\n data() {\n return {\n csvLinter: {\n title: this.$t('message.datasetDetails.quality.title'),\n banner: this.$t('message.datasetDetails.quality.banner'),\n limit: this.$t('message.datasetDetails.quality.limit'),\n displayAll: this.$env.content.datasetDetails.quality.csvLinter.displayAll,\n numberOfDisplayedValidationResults: this.$env.content.datasetDetails.quality.csvLinter.numberOfDisplayedValidationResults,\n validationTitle: {\n true: this.$t('message.datasetDetails.quality.validationTitle.success'),\n false: this.$t('message.datasetDetails.quality.validationTitle.error'),\n },\n validationDescription: {\n true: this.$t('message.datasetDetails.quality.validationDescription.success'),\n false: this.$t('message.datasetDetails.quality.validationDescription.error'),\n },\n },\n };\n },\n computed: {\n showLimit() {\n return has(this.validation, 'limit') && !isNil(this.validation.limit);\n },\n showValidation() {\n return !isNil(this.validation)\n && has(this.validation, 'passed')\n && has(this.validation, 'errors')\n && has(this.validation, 'warnings')\n && has(this.validation, 'infos');\n },\n useECMore() {\n return this.validationResults.length > this.csvLinter.numberOfDisplayedValidationResults;\n },\n displayedValidationResults() {\n return this.csvLinter.displayAll\n ? this.validationResults\n : this.validationResults.slice(0, this.csvLinter.numberOfDisplayedValidationResults);\n },\n validationResults() {\n let errors = has(this.validation.errors, 'items') ? this.validation.errors.items : [];\n let warnings = has(this.validation.warnings, 'items') ? this.validation.warnings.items : [];\n let infos = has(this.validation.infos, 'items') ? this.validation.infos.items : [];\n\n errors.forEach(i => i.type = this.$tc('message.datasetDetails.quality.error', 1));\n warnings.forEach(i => i.type = this.$tc('message.datasetDetails.quality.warning', 1));\n infos.forEach(i => i.type = this.$tc('message.datasetDetails.quality.message', 1));\n\n return errors.concat(warnings).concat(infos);\n },\n validationCount() {\n let errors = has(this.validation.errors, 'count') ? this.validation.errors.count : 0;\n let warnings = has(this.validation.warnings, 'count') ? this.validation.warnings.count : 0;\n let infos = has(this.validation.infos, 'count') ? this.validation.infos.count : 0;\n\n return {\n errors,\n warnings,\n infos,\n };\n },\n },\n methods: {\n has,\n isNil,\n toggleDisplayAll() {\n this.csvLinter.displayAll = !this.csvLinter.displayAll;\n },\n getValidationResultIcon(status) {\n return status === true ? 'check_circle'\n : status === false ? 'disabled_by_default'\n : 'info'\n },\n getValidationStatus(status) {\n return status === true ? 'success'\n : status === false ? 'error'\n : 'info'\n },\n getBorderStyle(index) {\n return index > 0\n ? 'border-top'\n : '';\n },\n getBGStyle(type) {\n return type === 'Error' ? 'bg-red'\n : type === 'Warning' ? 'bg-orange'\n : type === 'Message' ? 'bg-blue'\n : 'bg-white';\n },\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.dsd-distribution-quality-csv {\n .heading {\n &-1 {\n font-size: 2rem;\n font-weight: 700;\n }\n\n &-4 {\n font-size: 1.25rem;\n font-weight: 700;\n }\n }\n\n .color {\n &-red {\n color: #DA2131;\n }\n\n &-orange {\n color: #F29527;\n }\n\n &-blue {\n color: #4073AF;\n }\n }\n\n .bg {\n &-red {\n background-color: #DA2131;\n }\n\n &-orange {\n background-color: #F29527;\n }\n\n &-blue {\n background-color: #4073AF;\n }\n }\n\n .csv-validation-box {\n color: black;\n background-color: #FFFFFF;\n border: 2px solid #000000;\n\n &.success {\n border-color: #467A39;\n }\n &.error {\n border-color: #DA2131;\n }\n\n .material-icons {\n &.success {\n color: #467A39;\n }\n &.error {\n color: #DA2131;\n }\n }\n }\n\n .csv-result-details {\n\n &.border {\n &-top {\n border-top: 1px solid #9F9F9F;\n }\n }\n\n .tag {\n display: inline-flex;\n align-items: center;\n color: #FFFFFF;\n font-size: 1rem;\n padding: 0.5rem 0.75rem;\n border-radius: 1rem;\n border-width: 0;\n text-decoration: none;\n box-sizing: border-box;\n white-space: nowrap;\n }\n }\n}\n</style>\n"],"names":["_sfc_main","PvBanner","has","isNil","errors","warnings","infos","i","status","index","type","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","$options","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_toDisplayString","$data","_cache","_createTextVNode","_createVNode","_component_pv_banner","_withCtx","_normalizeClass","$props","_ctx","_Fragment","_renderList","csvResult","_hoisted_22","_hoisted_23","_createCommentVNode","_hoisted_24","_createBlock","_component_pv_show_more"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasetDetailsCategories.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetailsCategories.vue"],"sourcesContent":["<template>\n <div class=\"dsd-categories mt-3\">\n <div class=\"row\">\n <div class=\"col-10 offset-1\">\n <h2>{{ $t('message.datasetDetails.subnav.categories') }}</h2>\n <div class=\"dsd-categories-items mt-4 mb-5\">\n <div v-for=\"(category, i) in getCategories\" :key=\"i\" class=\"p-2 mt-3 border border-secondary\">\n <app-link :to=\"getCategoryLink(category)\" v-if=\"showCategory(category)\">\n {{ getTranslationFor(category.title, $route.query.locale) }}\n </app-link>\n </div>\n <div v-if=\"getCategories && getCategories.length === 0\">\n <p>{{ $t('message.datasetCategories.noCategories') }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n import { mapActions, mapGetters } from 'vuex';\n import { has } from 'lodash-es';\n import { getTranslationFor } from '../utils/helpers';\n import AppLink from \"../widgets/AppLink.vue\";\n import * as metaInfo from \"../composables/head\";\n\n export default {\n name: 'datasetDetailsCategories',\n components: {\n appLink: AppLink,\n },\n data() {\n return {};\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getID',\n 'getCategories',\n ]),\n },\n methods: {\n has,\n getTranslationFor,\n ...mapActions('datasetDetails', [\n 'loadDatasetDetails',\n ]),\n showCategory(category) {\n return has(category, 'id');\n },\n getCategoryLink(category) {\n const categoryID = category.id.toUpperCase();\n return { path: `/datasets?categories=${categoryID}`, query: Object.assign({}, { locale: this.$route.query.locale }) };\n },\n },\n created() {\n this.$nextTick(() => {\n // Duplicated API call, execute only if data not already loaded\n if (this.$route.params.ds_id !== this.getID) {\n this.$Progress.start();\n this.loadDatasetDetails(this.$route.params.ds_id)\n .then(() => {\n this.$Progress.finish();\n })\n .catch(() => {\n this.$Progress.fail();\n this.$router.replace({\n name: 'NotFound',\n query: { locale: this.$route.query.locale, dataset: this.$route.params.ds_id },\n });\n });\n }\n });\n },\n setup() {\n metaInfo.useDatasetCategoriesHead();\n }\n };\n</script>\n\n<style scoped lang=\"scss\">\n.tag-color {\n background-color: var(--tag-color);\n}\n.keywords__item > div {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n</style>\n"],"names":["_sfc_main","AppLink","mapGetters","has","getTranslationFor","mapActions","category","metaInfo.useDatasetCategoriesHead","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_openBlock","_createElementBlock","_createElementVNode","_ctx","_Fragment","_renderList","i","$options","_createBlock","_component_app_link","_hoisted_5"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2BE,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV,SAASC;AAAA,EACV;AAAA,EACD,OAAO;AACL,WAAO;EACR;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,KAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,IACF,CAAC;AAAA,IACD,aAAaC,GAAU;AACrB,aAAOH,EAAIG,GAAU,IAAI;AAAA,IAC1B;AAAA,IACD,gBAAgBA,GAAU;AAExB,aAAO,EAAE,MAAM,wBADIA,EAAS,GAAG,YAAW,CACO,IAAI,OAAO,OAAO,OAAO,CAAA,GAAI,EAAE,QAAQ,KAAK,OAAO,MAAM,OAAQ,CAAA;IACnH;AAAA,EACF;AAAA,EACD,UAAU;AACR,SAAK,UAAU,MAAM;AAEnB,MAAI,KAAK,OAAO,OAAO,UAAU,KAAK,UACpC,KAAK,UAAU,SACf,KAAK,mBAAmB,KAAK,OAAO,OAAO,KAAK,EAC7C,KAAK,MAAM;AACV,aAAK,UAAU;OAChB,EACA,MAAM,MAAM;AACX,aAAK,UAAU,QACf,KAAK,QAAQ,QAAQ;AAAA,UACnB,MAAM;AAAA,UACN,OAAO,EAAE,QAAQ,KAAK,OAAO,MAAM,QAAQ,SAAS,KAAK,OAAO,OAAO,MAAO;AAAA,QAChF,CAAC;AAAA,MACH,CAAC;AAAA,IAEP,CAAC;AAAA,EACF;AAAA,EACD,QAAQ;AACNC,IAAAA;EACF;GA3EGC,IAAA,EAAA,OAAM,sBAAqB,GACzBC,IAAA,EAAA,OAAM,MAAK,GACTC,IAAA,EAAA,OAAM,kBAAiB,GAErBC,IAAA,EAAA,OAAM,iCAAgC;;;
|
|
1
|
+
{"version":3,"file":"DatasetDetailsCategories.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetailsCategories.vue"],"sourcesContent":["<template>\n <div class=\"dsd-categories mt-3\">\n <div class=\"row\">\n <div class=\"col-10 offset-1\">\n <h2>{{ $t('message.datasetDetails.subnav.categories') }}</h2>\n <div class=\"dsd-categories-items mt-4 mb-5\">\n <div v-for=\"(category, i) in getCategories\" :key=\"i\" class=\"p-2 mt-3 border border-secondary\">\n <app-link :to=\"getCategoryLink(category)\" v-if=\"showCategory(category)\">\n {{ getTranslationFor(category.title, $route.query.locale) }}\n </app-link>\n </div>\n <div v-if=\"getCategories && getCategories.length === 0\">\n <p>{{ $t('message.datasetCategories.noCategories') }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n import { mapActions, mapGetters } from 'vuex';\n import { has } from 'lodash-es';\n import { getTranslationFor } from '../utils/helpers';\n import AppLink from \"../widgets/AppLink.vue\";\n import * as metaInfo from \"../composables/head\";\n\n export default {\n name: 'datasetDetailsCategories',\n components: {\n appLink: AppLink,\n },\n data() {\n return {};\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getID',\n 'getCategories',\n ]),\n },\n methods: {\n has,\n getTranslationFor,\n ...mapActions('datasetDetails', [\n 'loadDatasetDetails',\n ]),\n showCategory(category) {\n return has(category, 'id');\n },\n getCategoryLink(category) {\n const categoryID = category.id.toUpperCase();\n return { path: `/datasets?categories=${categoryID}`, query: Object.assign({}, { locale: this.$route.query.locale }) };\n },\n },\n created() {\n this.$nextTick(() => {\n // Duplicated API call, execute only if data not already loaded\n if (this.$route.params.ds_id !== this.getID) {\n this.$Progress.start();\n this.loadDatasetDetails(this.$route.params.ds_id)\n .then(() => {\n this.$Progress.finish();\n })\n .catch(() => {\n this.$Progress.fail();\n this.$router.replace({\n name: 'NotFound',\n query: { locale: this.$route.query.locale, dataset: this.$route.params.ds_id },\n });\n });\n }\n });\n },\n setup() {\n metaInfo.useDatasetCategoriesHead();\n }\n };\n</script>\n\n<style scoped lang=\"scss\">\n.tag-color {\n background-color: var(--tag-color);\n}\n.keywords__item > div {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n</style>\n"],"names":["_sfc_main","AppLink","mapGetters","has","getTranslationFor","mapActions","category","metaInfo.useDatasetCategoriesHead","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_openBlock","_createElementBlock","_createElementVNode","_ctx","_cache","_createTextVNode","_Fragment","_renderList","i","$options","_createBlock","_component_app_link","_withCtx","_toDisplayString","_createCommentVNode","_hoisted_5"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2BE,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV,SAASC;AAAA,EACV;AAAA,EACD,OAAO;AACL,WAAO;EACR;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,KAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,IACF,CAAC;AAAA,IACD,aAAaC,GAAU;AACrB,aAAOH,EAAIG,GAAU,IAAI;AAAA,IAC1B;AAAA,IACD,gBAAgBA,GAAU;AAExB,aAAO,EAAE,MAAM,wBADIA,EAAS,GAAG,YAAW,CACO,IAAI,OAAO,OAAO,OAAO,CAAA,GAAI,EAAE,QAAQ,KAAK,OAAO,MAAM,OAAQ,CAAA;IACnH;AAAA,EACF;AAAA,EACD,UAAU;AACR,SAAK,UAAU,MAAM;AAEnB,MAAI,KAAK,OAAO,OAAO,UAAU,KAAK,UACpC,KAAK,UAAU,SACf,KAAK,mBAAmB,KAAK,OAAO,OAAO,KAAK,EAC7C,KAAK,MAAM;AACV,aAAK,UAAU;OAChB,EACA,MAAM,MAAM;AACX,aAAK,UAAU,QACf,KAAK,QAAQ,QAAQ;AAAA,UACnB,MAAM;AAAA,UACN,OAAO,EAAE,QAAQ,KAAK,OAAO,MAAM,QAAQ,SAAS,KAAK,OAAO,OAAO,MAAO;AAAA,QAChF,CAAC;AAAA,MACH,CAAC;AAAA,IAEP,CAAC;AAAA,EACF;AAAA,EACD,QAAQ;AACNC,IAAAA;EACF;GA3EGC,IAAA,EAAA,OAAM,sBAAqB,GACzBC,IAAA,EAAA,OAAM,MAAK,GACTC,IAAA,EAAA,OAAM,kBAAiB,GAErBC,IAAA,EAAA,OAAM,iCAAgC,SALnD,KAAA,EAAA;;;AACE,SAAAC,EAAA,GAAAC,EAgBM,OAhBNL,GAgBM;AAAA,IAfJM,EAcM,OAdNL,GAcM;AAAA,MAbJK,EAYM,OAZNJ,GAYM;AAAA,QAXJI,EAA6D,cAAtDC,EAAE,GAAA,0CAAA,CAAA,GAAA,CAAA;AAAA,QAJjBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,QAKQH,EASM,OATNH,GASM;AAAA,WARJC,EAAA,EAAA,GAAAC,EAIMK,SAVhBC,EAMuCJ,EAAA,eANvC,CAMuBT,GAAUc,YAAvBP,EAIM,OAAA;AAAA,YAJuC,KAAKO;AAAA,YAAG,OAAM;AAAA;YACTC,EAAA,aAAaf,CAAQ,UAArEgB,EAEWC,GAAA;AAAA,cATvB,KAAA;AAAA,cAOuB,IAAIF,EAAe,gBAACf,CAAQ;AAAA;cAPnD,SAAAkB,EAQc,MAA4D;AAAA,gBAR1EP,EAQiBQ,EAAAJ,EAAA,kBAAkBf,EAAS,OAAOS,EAAM,OAAC,MAAM,MAAM,CAAA,GAAA,CAAA;AAAA;cARtE,GAAA;AAAA,gCAAAW,EAAA,IAAA,EAAA;AAAA;UAAAV,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,UAWqBF,EAAa,iBAAIA,EAAa,cAAC,WAAM,KAAhDH,KAAAC,EAEM,OAbhBc,GAAA;AAAA,YAYYb,EAAyD,aAAnDC,EAAE,GAAA,wCAAA,CAAA,GAAA,CAAA;AAAA,gBAZpBW,EAAA,IAAA,EAAA;AAAA;;;;;;"}
|
|
@@ -104,13 +104,12 @@ function _(s, t, o, C, i, e) {
|
|
|
104
104
|
"property-table-after": u(() => [
|
|
105
105
|
b(s.$slots, "property-table-after", {}, void 0, !0)
|
|
106
106
|
]),
|
|
107
|
-
_: 3
|
|
108
|
-
__: [0, 1, 2]
|
|
107
|
+
_: 3
|
|
109
108
|
})) : d("", !0)
|
|
110
109
|
]))
|
|
111
110
|
]);
|
|
112
111
|
}
|
|
113
|
-
const T = /* @__PURE__ */ k(I, [["render", _], ["__scopeId", "data-v-
|
|
112
|
+
const T = /* @__PURE__ */ k(I, [["render", _], ["__scopeId", "data-v-496f2e73"]]);
|
|
114
113
|
export {
|
|
115
114
|
T as default
|
|
116
115
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasetDetailsDataset.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetailsDataset.vue"],"sourcesContent":["<template>\n <div>\n <resource-access-popup ref=\"externalResourceModal\" />\n <span property=\"dc:issued\" :content=\"getReleaseDate\"></span>\n <span property=\"dc:modified\" :content=\"getModificationDate\"></span>\n <div v-if=\"loadingDatasetDetails\">\n <dataset-details-skeleton type=\"DatasetDetails\"></dataset-details-skeleton>\n </div>\n <div v-if=\"!loadingDatasetDetails\" class=\"dsd-dataset\">\n <dataset-details-description\n v-if=\"showDatasetDescription\"\n :dateIncorrect=\"dateIncorrect\"\n :machineTranslated=\"machineTranslated\"\n :translationNotAvailable=\"translationNotAvailable\"\n />\n <distributions\n :openModal=\"openModal\"\n :getDistributions=\"getDistributions\"\n :expandedDistributions=\"expandedDistributions\"\n :expandedDistributionDescriptions=\"expandedDistributionDescriptions\"\n :displayedDistributions=\"displayedDistributions\"\n :isDistributionsAllDisplayed=\"isDistributionsAllDisplayed\"\n :distributions=\"distributions\"\n :setDistributionsDisplayCount=\"setDistributionsDisplayCount\"\n :pages=\"pages\"\n :showDownloadUrls=\"showDownloadUrls\"\n :isOnlyOneUrl=\"isOnlyOneUrl\"\n :getDistributionFormat=\"getDistributionFormat\"\n :distributionFormatTruncated=\"distributionFormatTruncated\"\n :getDistributionTitle=\"getDistributionTitle\"\n :distributionVisibleContent=\"distributionVisibleContent\"\n :distributionExpandedContent=\"distributionExpandedContent\"\n :distributionDescriptionIsExpanded=\"distributionDescriptionIsExpanded\"\n :distributionDescriptionIsExpandable=\"distributionDescriptionIsExpandable\"\n :distributionIsExpanded=\"distributionIsExpanded\"\n :showNumber=\"showNumber\"\n :showObject=\"showObject\"\n :showDownloadDropdown=\"showDownloadDropdown\"\n :showLicence=\"showLicence\"\n :showLicensingAssistant=\"showLicensingAssistant\"\n :filterDateFormatEU=\"filterDateFormatEU\"\n :showArray=\"showArray\"\n :showObjectArray=\"showObjectArray\"\n :getVisualisationLink=\"getVisualisationLink\"\n :getDownloadUrl=\"getDownloadUrl\"\n :trackGoto=\"trackGoto\"\n :showAccessUrls=\"showAccessUrls\"\n :replaceHttp=\"replaceHttp\"\n :previewLinkCallback=\"previewLinkCallback\"\n :toggleDistribution=\"toggleDistribution\"\n :toggleDistributionDescription=\"toggleDistributionDescription\"\n :increaseNumDisplayedDistributions=\"increaseNumDisplayedDistributions\"\n :nonOverflowingIncrementsForDistributions=\"nonOverflowingIncrementsForDistributions\"\n :appendCurrentLocaleToURL=\"appendCurrentLocaleToURL\"\n :isUrlInvalid=\"isUrlInvalid\"\n :openIfValidUrl=\"openIfValidUrl\"\n :showTooltipVisualiseButton=\"showTooltipVisualiseButton\"\n :showPublisher=\"showPublisher\"\n :embed=\"embed\"\n />\n <dataset-details-features\n :getKeywords=\"getKeywords\"\n :pages=\"pages\"\n :increaseNumDisplayedPages=\"increaseNumDisplayedPages\"\n :nonOverflowingIncrementsForPages=\"nonOverflowingIncrementsForPages\"\n :showKeyword=\"showKeyword\"\n :trackGoto=\"trackGoto\"\n :showObjectArray=\"showObjectArray\"\n :showArray=\"showArray\"\n :showObject=\"showObject\"\n />\n <dataset-details-properties v-if=\"showDatasetProperties\">\n <template #property-header><slot name=\"property-header\"></slot></template>\n <template #property-table-before><slot name=\"property-table-before\"></slot></template>\n <template #property-table><slot name=\"property-table\"></slot></template>\n <template #property-table-after><slot name=\"property-table-after\"></slot></template>\n </dataset-details-properties>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n // @ts-nocheck\n /* eslint-disable no-confusing-arrow, no-nested-ternary, no-return-assign, no-confusing-arrow */\n import $ from 'jquery';\n import { mapActions, mapGetters } from 'vuex';\n import {\n has,\n isNil,\n isArray,\n isObject,\n isString,\n isNumber,\n isEmpty,\n } from 'lodash';\n import AppLink from '../widgets/AppLink.vue';\n import Tooltip from '../widgets/Tooltip.vue';\n import Distributions from './distributions/Distributions.vue';\n import dateFilters from '../filters/dateFilters';\n import {\n getTranslationFor, getCountryFlagImg, truncate, replaceHttp, appendCurrentLocaleToURL\n } from '../utils/helpers';\n import ResourceAccessPopup from '../widgets/ResourceAccessPopup.vue';\n import DatasetDetailsExtendedMetaData\n from \"../datasetDetails/features/DatasetDetailsIsUsedBy.vue\";\n import DatasetDetailsSkeleton from \"../datasetDetails/DatasetDetailsSkeleton.vue\";\n import * as metaInfo from '../composables/head';\n\n export default {\n name: 'datasetDetailsDataset',\n components: {\n DatasetDetailsSkeleton,\n DatasetDetailsExtendedMetaData,\n AppLink,\n Tooltip,\n Distributions,\n ResourceAccessPopup\n },\n props: {\n distributionVisibleContent: {\n type: Array,\n default: () => ['license', 'licenseAttributionByText', 'modificationDate'],\n },\n distributionExpandedContent: {\n type: Array,\n default: () => [\n 'releaseDate',\n 'language',\n 'availability',\n 'status',\n 'rights',\n 'mediaType',\n 'byteSize',\n 'checksum',\n 'pages',\n 'type',\n 'compressFormat',\n 'packageFormat',\n 'hasPolicy',\n 'conformsTo',\n 'spatialResolutionInMeters',\n 'temporalResolution',\n ],\n },\n showDatasetDescription: {\n type: Boolean,\n default: () => true,\n },\n showDatasetProperties: {\n type: Boolean,\n default: () => true,\n },\n showPublisher: {\n type: Boolean,\n default: () => false,\n },\n embed: {\n type: Boolean,\n default: () => false,\n },\n },\n data() {\n return {\n defaultLocale: this.$env.languages.locale,\n // has to be INITIAL_DATASET_DESCRIPTION_LENGTH\n isDatasetDescriptionExpanded: false,\n loadingDatasetDetails: false,\n machineTranslated: false,\n translationNotAvailable: false,\n expandedDistributions: [],\n expandedDistributionDescriptions: [],\n distributions: {\n displayAll: this.$env.content.datasetDetails.distributions.displayAll,\n displayCount: this.$env.content.datasetDetails.distributions.displayCount,\n incrementSteps: this.$env.content.datasetDetails.distributions.incrementSteps,\n descriptionMaxLines: this.$env.content.datasetDetails.distributions.descriptionMaxLines,\n descriptionMaxChars: this.$env.content.datasetDetails.distributions.descriptionMaxChars,\n licencingAssistantUrl: this.$env.content.datasetDetails.distributions.licencingAssistantUrl,\n },\n pages: {\n isVisible: this.$env.content.datasetDetails.pages.isVisible,\n displayAll: this.$env.content.datasetDetails.pages.displayAll,\n displayCount: this.$env.content.datasetDetails.pages.displayCount,\n incrementSteps: this.$env.content.datasetDetails.pages.incrementSteps,\n descriptionMaxLines: this.$env.content.datasetDetails.pages.descriptionMaxLines,\n descriptionMaxChars: this.$env.content.datasetDetails.pages.descriptionMaxChars,\n },\n showDescription: true,\n };\n },\n computed: {\n // import store-getters\n ...mapGetters('datasetDetails', [\n 'getKeywords',\n 'getAccessRights',\n 'getAccrualPeriodicity',\n 'getCatalog',\n 'getContactPoints',\n 'getDateIncorrect',\n 'getDescription',\n 'getDistributions',\n 'getID',\n 'getLanguages',\n 'getLicences',\n 'getModificationDate',\n 'getOtherIdentifiers',\n 'getPages',\n 'getPublisher',\n 'getReleaseDate',\n 'getSpatial',\n 'getTranslationMetaData',\n 'getTitle',\n 'getIsHvd',\n 'getHvdCategories',\n 'getCountry',\n 'getCategories',\n ]),\n dateIncorrect() {\n return this.getDateIncorrect;\n },\n displayedDistributions() {\n const sorted = [...this.getDistributions].sort((a, b) => {\n if (getTranslationFor(a.title, this.$route.query.locale, this.getLanguages) < getTranslationFor(b.title, this.$route.query.locale, this.getLanguages)) { return -1; }\n if (getTranslationFor(a.title, this.$route.query.locale, this.getLanguages) > getTranslationFor(b.title, this.$route.query.locale, this.getLanguages)) { return 1; }\n return 0;\n });\n return this.distributions.displayAll\n ? Object.freeze(sorted)\n : Object.freeze(sorted.slice(0, this.distributions.displayCount));\n },\n isDistributionsAllDisplayed() {\n return this.distributions.displayCount === this.getDistributions.length;\n },\n remainingDistributions() {\n return this.getDistributions.length - this.distributions.displayCount;\n }\n },\n methods: {\n ...mapActions('datasetDetails', [\n 'loadDatasetDetails',\n 'setLoading',\n ]),\n has,\n isNil,\n isArray,\n isObject,\n isString,\n isNumber,\n appendCurrentLocaleToURL,\n getTranslationFor,\n getCountryFlagImg,\n truncate,\n replaceHttp,\n initDatasetDetails() {\n this.piwikMetaPush();\n setTimeout(() => {\n if (typeof this.$piwik?.resume === \"function\") this.$piwik.resume();\n }, 500);\n this.$nextTick(() => {\n // Display/hide translation banners\n this.setTranslationBanners();\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n });\n },\n setDistributionsDisplayCount(count: number) {\n this.distributions.displayCount = count;\n },\n openModal(callback, toggleDownloadPopup) {\n this.$refs.externalResourceModal.openModal(callback, toggleDownloadPopup)\n },\n previewLinkCallback(distribution) {\n return () => {\n this.$emit('track-link', this.getVisualisationLink(distribution), 'link');\n window.open(this.getVisualisationLink(distribution), '_blank');\n };\n },\n filterDateFormatEU(date) {\n return dateFilters.formatEU(date);\n },\n /* ABSTRACT SHOW FUNCTIONS */\n showString(string) {\n return !isNil(string) && isString(string);\n },\n showNumber(number) {\n return !isNil(number) && isNumber(number);\n },\n showObject(object) {\n return !isNil(object) && isObject(object) && !Object.values(object).reduce((keyUndefined, currentValue) => keyUndefined && currentValue === undefined, true);\n },\n showArray(array) {\n return !isNil(array) && isArray(array) && array.length > 0;\n },\n showObjectArray(objectArray) {\n return this.showArray(objectArray) && !objectArray.reduce((objectUndefined, currentObject) => objectUndefined && Object.values(currentObject).reduce((keyUndefined, currentValue) => keyUndefined && currentValue === undefined, true), true);\n },\n /* SPECIFIC SHOW FUNCTIONS */\n /* for now show all licences */\n showLicence(licence) {\n // return (has(licence, 'id') && !isNil(licence.id))\n // || (has(licence, 'label') && !isNil(licence.label))\n return true\n },\n showLicensingAssistant(distribution) {\n return has(distribution, 'licence.la_url') && this.showString(distribution.licence.la_url);\n },\n showDownloadDropdown(distribution) {\n return this.showAccessUrls(distribution) || this.showDownloadUrls(distribution);\n },\n isOnlyOneUrl(distribution) {\n return (this.showAccessUrls(distribution) && !this.showDownloadUrls(distribution))\n || (!this.showAccessUrls(distribution) && this.showDownloadUrls(distribution) && distribution.downloadUrls.length === 1);\n },\n getDownloadUrl(distribution) {\n let url;\n if (this.showAccessUrls(distribution) && !this.showDownloadUrls(distribution)) {\n url = distribution.accessUrl[0];\n }\n if (!this.showAccessUrls(distribution) && this.showDownloadUrls(distribution) && distribution.downloadUrls.length === 1) {\n url = distribution.downloadUrls[0];\n }\n return url;\n },\n showAccessUrls(distribution) {\n return has(distribution, 'accessUrl') && this.showArray(distribution.accessUrl);\n },\n showDownloadUrls(distribution) {\n return has(distribution, 'downloadUrls') && this.showArray(distribution.downloadUrls);\n },\n showKeyword(keyword) {\n return has(keyword, 'id')\n && has(keyword, 'title')\n && !isNil(keyword.id)\n && !isNil(keyword.title);\n },\n\n /* GETTER / SETTER FUNCTIONS */\n\n setDatasetOriginalLanguage(originalLanguage) {\n this.$i18n.locale = originalLanguage;\n },\n distributionIsExpanded(id) {\n setTimeout(() => {\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n }, 500);\n return this.expandedDistributions.includes(id);\n },\n distributionDescriptionIsExpanded(id) {\n return this.expandedDistributionDescriptions.includes(id);\n },\n distributionDescriptionIsExpandable(description) {\n return isNil(description) ? false : description.length > this.distributions.descriptionMaxChars;\n },\n getDistributionFormat(distribution) {\n return has(distribution, 'format.label') && !isNil(distribution.format.label) ? distribution.format.label : '';\n },\n distributionFormatTruncated(distribution) {\n return this.getDistributionFormat(distribution).length > 4;\n },\n getDistributionTitle(distribution) {\n return distribution.title\n ? getTranslationFor(distribution.title, this.$route.query.locale, this.getLanguages)\n : this.getID || '-';\n },\n getVisualisationLink(distribution) {\n // Return Visualisation Link\n const accessUrl = distribution.downloadUrls && distribution.downloadUrls.length ? distribution.downloadUrls[0] : distribution.accessUrl[0];\n return `/data/visualisation/?file=${encodeURIComponent(accessUrl)}`;\n },\n // getSubjectLink(subject) {\n // return { path: `/datasets?subject=${subject.id}`, query: Object.assign({}, { locale: this.$route.query.locale }) };\n // },\n toggleDistribution(id) {\n const index = this.expandedDistributions.indexOf(id);\n if (index > -1) this.expandedDistributions.splice(index, 1);\n else this.expandedDistributions.push(id);\n },\n toggleDistributionDescription(id) {\n const index = this.expandedDistributionDescriptions.indexOf(id);\n if (index > -1) this.expandedDistributionDescriptions.splice(index, 1);\n else this.expandedDistributionDescriptions.push(id);\n },\n setTranslationBanners() {\n if (!this.$i18n) return;\n const translationMetaData = this.getTranslationMetaData;\n // Check if translation of dataset is available in selected language\n if (!isNil(translationMetaData.details) && has(translationMetaData.details, this.$route.query.locale)) {\n // Check if dataset if machine translated\n this.machineTranslated = translationMetaData.details[this.$route.query.locale].machine_translated;\n } else {\n // No translation of this dataset available for the selected language\n this.translationNotAvailable = true;\n }\n },\n // Emit a Matomo event when user clicks on 'go to resource' element\n trackGoto() {\n const paq = window._paq || []; // eslint-disable-line\n // paq.push(['trackEvent', 'GoToResource', 'Clicked']);\n this.$piwik.trackGotoResource();\n },\n clamp(n, min, max) {\n return Math.min(Math.max(n, min), max);\n },\n // Increases the current number of distributions displayed\n // and clamps the result so that it never exceeds the number of all distributions.\n increaseNumDisplayedDistributions(increment) {\n const clampedSum = this.clamp(this.distributions.displayCount + increment, 0, this.getDistributions.length);\n this.distributions.displayCount = clampedSum;\n },\n nonOverflowingIncrementsForDistributions(incrementStep) {\n return this.distributions.displayCount + incrementStep <= this.getDistributions.length;\n },\n // Increases the current number of distributions displayed\n // and clamps the result so that it never exceeds the number of all distributions.\n increaseNumDisplayedPages(increment) {\n const clampedSum = this.clamp(this.pages.displayCount + increment, 0, this.getPages.length);\n this.pages.displayCount = clampedSum;\n },\n nonOverflowingIncrementsForPages(incrementStep) {\n return this.pages.displayCount + incrementStep <= this.getPages.length;\n },\n piwikMetaPush() {\n this.$piwik.trackDatasetDetailsPageView(null, null, {\n dataset_AccessRights: this.getAccessRights,\n dataset_AccrualPeriodicity: this.getAccrualPeriodicity,\n dataset_Catalog: this.getCatalog,\n // dataset_Categories: this.getCategories,\n // dataset_ConformsTo: this.getConformsTo,\n // dataset_ContactPoints: this.getContactPoints,\n // dataset_Country: this.getCountry,\n // dataset_Creator: this.getCreator,\n // dataset_Description: this.getDescription,\n // dataset_Distributions: this.getDistributions,\n // dataset_DistributionFormats: this.getDistributionFormats,\n // dataset_Documentations: this.getDocumentations,\n // dataset_Frequency: this.getFrequency,\n // dataset_HasVersion: this.getHasVersion,\n dataset_ID: this.getID,\n // dataset_Identifiers: this.getIdentifiers,\n // dataset_IdName: this.getIdName,\n // dataset_IsVersionOf: this.getIsVersionOf,\n // datest_Keywords: this.getKeywords,\n // dataset_LandingPages: this.getLandingPagesResource,\n // dataset_Languages: this.getLanguages,\n // dataset_Licences: this.getLicences,\n // dataset_Loading: this.getLoading,\n // dataset_ModificationDate: this.getModificationDate,\n // dataset_OriginalLanguage: this.getOriginalLanguage,\n // dataset_OtherIdentifiers: this.getOtherIdentifiers,\n // dataset_Pages: this.getPages,\n // dataset_Provenances: this.getProvenances,\n dataset_Publisher: this.getPublisher,\n // dataset_RelatedResources: this.getRelatedResources,\n // dataset_ReleaseDate: this.getReleaseDate,\n // dataset_Sources: this.getSources,\n // dataset_Spatial: this.getSpatial,\n // dataset_SpatialResource: this.getSpatialResource,\n // dataset_Temporal: this.getTemporal,\n dataset_Title: this.getTitle,\n // dataset_TranslationMetaData: this.getTranslationMetaData,\n // dataset_VersionInfo: this.getVersionInfo,\n // dataset_VersionNotes: this.getVersionNotes,\n dataset_type: this.getIsHvd ? 'High-Value Dataset' : 'Dataset',\n dataset_scope: this.getCountry?.id === 'io'\n ? 'International Data'\n : this.getCountry?.id === 'eu'\n ? 'European Union Data'\n : 'National Data',\n dataset_provenance: this.getCountry?.name || this.getCountry?.id || '',\n dataset_category: this.getCategories.map(category => category.label?.en || category.id).filter(Boolean)\n\n });\n },\n isUrlInvalid(url) {\n if (url) {\n try {\n /* eslint-disable no-useless-escape */\n return !(new RegExp(\"^((https?:\\/\\/(www\\.)?)([-a-zA-Z0-9@:%._\\+~#=]{1,256})([-a-zA-Z0-9()@:%_\\+.~#?&//=]*))$\", \"i\")).test(decodeURIComponent(url.split(\"=\").pop()));\n /* eslint-enable no-useless-escape */\n } catch (e) {\n console.error(e);\n }\n }\n },\n openIfValidUrl(isValid, previewLinkCallback, distribution, event) {\n if (isValid) {\n // for (let key in this.$children) {\n // if(this.$children[key].$refs[\"externalResourceModal\"]) {\n // this.$children[key].$refs[\"externalResourceModal\"].openModal(previewLinkCallback(distribution), false);\n // }\n // }\n this.openModal(previewLinkCallback(distribution), false);\n } else {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n showTooltipVisualiseButton(invalidUrl) {\n if (invalidUrl) {\n return this.$t('message.tooltip.invalidVisualise');\n }\n return ''\n },\n },\n mounted() {\n // Duplicated API call, execute only if data not already loaded\n if (this.$route.params.ds_id !== this.getID) {\n this.$Progress.start();\n this.loadingDatasetDetails = true;\n this.loadDatasetDetails(this.$route.params.ds_id)\n .then(() => {\n this.$Progress.finish();\n this.loadingDatasetDetails = false;\n this.initDatasetDetails();\n })\n .catch((err) => {\n console.warn(err); // eslint-disable-line\n this.$Progress.fail();\n if (typeof this.$piwik?.resume === \"function\") this.$piwik.resume();\n this.$router.replace({\n name: 'NotFound',\n query: { locale: this.$route.query.locale, dataset: this.$route.params.ds_id },\n });\n })\n .finally(() => this.$root.$emit('contentLoaded'));\n } else {\n this.initDatasetDetails();\n this.$root.$emit('contentLoaded')\n }\n\n const distributionsConf = this.$env.content.datasetDetails && this.$env.content.datasetDetails.distributions;\n if (distributionsConf) {\n this.distributions.displayAll = distributionsConf.displayAll || this.distributions.displayAll;\n this.distributions.displayCount = parseInt(distributionsConf.displayCount, 10) || this.distributions.displayCount;\n\n if (typeof distributionsConf.incrementSteps === 'string') {\n // Need to parse as json array since env variables are string only\n distributionsConf.incrementSteps = JSON.parse(distributionsConf.incrementSteps);\n }\n this.distributions.incrementSteps = distributionsConf.incrementSteps || this.distributions.incrementSteps;\n }\n\n if (this.distributions.displayAll) this.distributions.displayCount = this.getDistributions.length;\n\n const pagesConf = this.$env.content.datasetDetails && this.$env.content.datasetDetails.pages;\n if (pagesConf) {\n this.pages.displayAll = pagesConf.displayAll || this.pages.displayAll;\n this.pages.displayCount = parseInt(pagesConf.displayCount, 10) || this.pages.displayCount;\n\n if (typeof pagesConf.incrementSteps === 'string') {\n // Need to parse as json array since env variables are string only\n pagesConf.incrementSteps = JSON.parse(pagesConf.incrementSteps);\n }\n this.pages.incrementSteps = pagesConf.incrementSteps || this.pages.incrementSteps;\n }\n\n if (this.pages.displayAll) this.pages.displayCount = this.getPages.length;\n },\n beforeUnmount() {\n $('.tooltip').remove();\n },\n setup() {\n metaInfo.useDatasetDetailsDatasetHead();\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n\n .catalogue-label {\n white-space: pre-line;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .tag-color {\n background-color: var(--tag-color);\n }\n\n .btn-color {\n &:hover {\n background-color: #196fd2;\n border-color: #196fd2;\n }\n }\n\n .heading, .arrow, .copy-text {\n cursor: pointer;\n }\n\n .details-link {\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n }\n\n .text-break {\n word-break: break-word;\n }\n\n td {\n padding-left: 0 !important;\n padding-top: 1% !important;\n padding-bottom: 1% !important;\n }\n\n .download-all-btn {\n min-width: 100px;\n height: 31px;\n }\n\n .d-inline-table {\n display: inline-table;\n }\n\n /*** BOOTSTRAP ***/\n button:focus {\n outline:0;\n }\n .options, .download {\n .dropdown-menu {\n .dropdown-item {\n &:hover {\n color: initial;\n background-color: initial;\n }\n }\n }\n }\n.spinner-grow {\n width: 20px;\n height: 20px;\n}\n\n /*** FONT AWESOME ICONS ***/\n .fa-check-square {\n color: #28a745;\n width: 16px;\n height: 16px;\n }\n\n /*** MATERIAL ICONS ***/\n %modal-icon {\n font-size: 18px;\n cursor: default;\n }\n\n .help-icon {\n @extend %modal-icon;\n }\n\n .check-icon {\n @extend %modal-icon;\n color: #28a745;\n }\n\n .material-icons.small-icon {\n font-size: 20px;\n }\n\n .distributions {\n\n &__item {\n position: relative;\n\n &--preview {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, white 55%);\n z-index: 10;\n }\n }\n\n &__actions {\n display: flex;\n justify-content: center;\n align-items: flex-end;\n height: 100%;\n z-index: 11;\n }\n }\n .mt-4 {\n margin-top: 1.5rem !important;\n }\n\n .keywords {\n\n &__item {\n position: relative;\n }\n\n &__actions {\n display: flex;\n justify-content: center;\n align-items: flex-end;\n height: 100%;\n z-index: 11;\n }\n }\n .sectionList {\n list-style-type: '→ ';\n margin-left:6.5%;\n }\n @media only screen and (max-width: 991px) {\n .sectionList {\n margin-left: 0;\n }\n}\n</style>\n"],"names":["_hoisted_4","_component_dataset_details_properties","_resolveComponent","_createVNode","_component_resource_access_popup","_cache","_createTextVNode","getReleaseDate","_hoisted_1","getModificationDate","_hoisted_2","$data","_openBlock","_createElementBlock","_hoisted_3","_createCommentVNode","$props","_createBlock","_component_dataset_details_description","$options","_component_distributions","getDistributions","_ctx","getKeywords","_component_dataset_details_features","_withCtx","_renderSlot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatasetDetailsDataset.vue.mjs","sources":["../../lib/datasetDetails/DatasetDetailsDataset.vue"],"sourcesContent":["<template>\n <div>\n <resource-access-popup ref=\"externalResourceModal\" />\n <span property=\"dc:issued\" :content=\"getReleaseDate\"></span>\n <span property=\"dc:modified\" :content=\"getModificationDate\"></span>\n <div v-if=\"loadingDatasetDetails\">\n <dataset-details-skeleton type=\"DatasetDetails\"></dataset-details-skeleton>\n </div>\n <div v-if=\"!loadingDatasetDetails\" class=\"dsd-dataset\">\n <dataset-details-description\n v-if=\"showDatasetDescription\"\n :dateIncorrect=\"dateIncorrect\"\n :machineTranslated=\"machineTranslated\"\n :translationNotAvailable=\"translationNotAvailable\"\n />\n <distributions\n :openModal=\"openModal\"\n :getDistributions=\"getDistributions\"\n :expandedDistributions=\"expandedDistributions\"\n :expandedDistributionDescriptions=\"expandedDistributionDescriptions\"\n :displayedDistributions=\"displayedDistributions\"\n :isDistributionsAllDisplayed=\"isDistributionsAllDisplayed\"\n :distributions=\"distributions\"\n :setDistributionsDisplayCount=\"setDistributionsDisplayCount\"\n :pages=\"pages\"\n :showDownloadUrls=\"showDownloadUrls\"\n :isOnlyOneUrl=\"isOnlyOneUrl\"\n :getDistributionFormat=\"getDistributionFormat\"\n :distributionFormatTruncated=\"distributionFormatTruncated\"\n :getDistributionTitle=\"getDistributionTitle\"\n :distributionVisibleContent=\"distributionVisibleContent\"\n :distributionExpandedContent=\"distributionExpandedContent\"\n :distributionDescriptionIsExpanded=\"distributionDescriptionIsExpanded\"\n :distributionDescriptionIsExpandable=\"distributionDescriptionIsExpandable\"\n :distributionIsExpanded=\"distributionIsExpanded\"\n :showNumber=\"showNumber\"\n :showObject=\"showObject\"\n :showDownloadDropdown=\"showDownloadDropdown\"\n :showLicence=\"showLicence\"\n :showLicensingAssistant=\"showLicensingAssistant\"\n :filterDateFormatEU=\"filterDateFormatEU\"\n :showArray=\"showArray\"\n :showObjectArray=\"showObjectArray\"\n :getVisualisationLink=\"getVisualisationLink\"\n :getDownloadUrl=\"getDownloadUrl\"\n :trackGoto=\"trackGoto\"\n :showAccessUrls=\"showAccessUrls\"\n :replaceHttp=\"replaceHttp\"\n :previewLinkCallback=\"previewLinkCallback\"\n :toggleDistribution=\"toggleDistribution\"\n :toggleDistributionDescription=\"toggleDistributionDescription\"\n :increaseNumDisplayedDistributions=\"increaseNumDisplayedDistributions\"\n :nonOverflowingIncrementsForDistributions=\"nonOverflowingIncrementsForDistributions\"\n :appendCurrentLocaleToURL=\"appendCurrentLocaleToURL\"\n :isUrlInvalid=\"isUrlInvalid\"\n :openIfValidUrl=\"openIfValidUrl\"\n :showTooltipVisualiseButton=\"showTooltipVisualiseButton\"\n :showPublisher=\"showPublisher\"\n :embed=\"embed\"\n />\n <dataset-details-features\n :getKeywords=\"getKeywords\"\n :pages=\"pages\"\n :increaseNumDisplayedPages=\"increaseNumDisplayedPages\"\n :nonOverflowingIncrementsForPages=\"nonOverflowingIncrementsForPages\"\n :showKeyword=\"showKeyword\"\n :trackGoto=\"trackGoto\"\n :showObjectArray=\"showObjectArray\"\n :showArray=\"showArray\"\n :showObject=\"showObject\"\n />\n <dataset-details-properties v-if=\"showDatasetProperties\">\n <template #property-header><slot name=\"property-header\"></slot></template>\n <template #property-table-before><slot name=\"property-table-before\"></slot></template>\n <template #property-table><slot name=\"property-table\"></slot></template>\n <template #property-table-after><slot name=\"property-table-after\"></slot></template>\n </dataset-details-properties>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n // @ts-nocheck\n /* eslint-disable no-confusing-arrow, no-nested-ternary, no-return-assign, no-confusing-arrow */\n import $ from 'jquery';\n import { mapActions, mapGetters } from 'vuex';\n import {\n has,\n isNil,\n isArray,\n isObject,\n isString,\n isNumber,\n isEmpty,\n } from 'lodash';\n import AppLink from '../widgets/AppLink.vue';\n import Tooltip from '../widgets/Tooltip.vue';\n import Distributions from './distributions/Distributions.vue';\n import dateFilters from '../filters/dateFilters';\n import {\n getTranslationFor, getCountryFlagImg, truncate, replaceHttp, appendCurrentLocaleToURL\n } from '../utils/helpers';\n import ResourceAccessPopup from '../widgets/ResourceAccessPopup.vue';\n import DatasetDetailsExtendedMetaData\n from \"../datasetDetails/features/DatasetDetailsIsUsedBy.vue\";\n import DatasetDetailsSkeleton from \"../datasetDetails/DatasetDetailsSkeleton.vue\";\n import * as metaInfo from '../composables/head';\n\n export default {\n name: 'datasetDetailsDataset',\n components: {\n DatasetDetailsSkeleton,\n DatasetDetailsExtendedMetaData,\n AppLink,\n Tooltip,\n Distributions,\n ResourceAccessPopup\n },\n props: {\n distributionVisibleContent: {\n type: Array,\n default: () => ['license', 'licenseAttributionByText', 'modificationDate'],\n },\n distributionExpandedContent: {\n type: Array,\n default: () => [\n 'releaseDate',\n 'language',\n 'availability',\n 'status',\n 'rights',\n 'mediaType',\n 'byteSize',\n 'checksum',\n 'pages',\n 'type',\n 'compressFormat',\n 'packageFormat',\n 'hasPolicy',\n 'conformsTo',\n 'spatialResolutionInMeters',\n 'temporalResolution',\n ],\n },\n showDatasetDescription: {\n type: Boolean,\n default: () => true,\n },\n showDatasetProperties: {\n type: Boolean,\n default: () => true,\n },\n showPublisher: {\n type: Boolean,\n default: () => false,\n },\n embed: {\n type: Boolean,\n default: () => false,\n },\n },\n data() {\n return {\n defaultLocale: this.$env.languages.locale,\n // has to be INITIAL_DATASET_DESCRIPTION_LENGTH\n isDatasetDescriptionExpanded: false,\n loadingDatasetDetails: false,\n machineTranslated: false,\n translationNotAvailable: false,\n expandedDistributions: [],\n expandedDistributionDescriptions: [],\n distributions: {\n displayAll: this.$env.content.datasetDetails.distributions.displayAll,\n displayCount: this.$env.content.datasetDetails.distributions.displayCount,\n incrementSteps: this.$env.content.datasetDetails.distributions.incrementSteps,\n descriptionMaxLines: this.$env.content.datasetDetails.distributions.descriptionMaxLines,\n descriptionMaxChars: this.$env.content.datasetDetails.distributions.descriptionMaxChars,\n licencingAssistantUrl: this.$env.content.datasetDetails.distributions.licencingAssistantUrl,\n },\n pages: {\n isVisible: this.$env.content.datasetDetails.pages.isVisible,\n displayAll: this.$env.content.datasetDetails.pages.displayAll,\n displayCount: this.$env.content.datasetDetails.pages.displayCount,\n incrementSteps: this.$env.content.datasetDetails.pages.incrementSteps,\n descriptionMaxLines: this.$env.content.datasetDetails.pages.descriptionMaxLines,\n descriptionMaxChars: this.$env.content.datasetDetails.pages.descriptionMaxChars,\n },\n showDescription: true,\n };\n },\n computed: {\n // import store-getters\n ...mapGetters('datasetDetails', [\n 'getKeywords',\n 'getAccessRights',\n 'getAccrualPeriodicity',\n 'getCatalog',\n 'getContactPoints',\n 'getDateIncorrect',\n 'getDescription',\n 'getDistributions',\n 'getID',\n 'getLanguages',\n 'getLicences',\n 'getModificationDate',\n 'getOtherIdentifiers',\n 'getPages',\n 'getPublisher',\n 'getReleaseDate',\n 'getSpatial',\n 'getTranslationMetaData',\n 'getTitle',\n 'getIsHvd',\n 'getHvdCategories',\n 'getCountry',\n 'getCategories',\n ]),\n dateIncorrect() {\n return this.getDateIncorrect;\n },\n displayedDistributions() {\n const sorted = [...this.getDistributions].sort((a, b) => {\n if (getTranslationFor(a.title, this.$route.query.locale, this.getLanguages) < getTranslationFor(b.title, this.$route.query.locale, this.getLanguages)) { return -1; }\n if (getTranslationFor(a.title, this.$route.query.locale, this.getLanguages) > getTranslationFor(b.title, this.$route.query.locale, this.getLanguages)) { return 1; }\n return 0;\n });\n return this.distributions.displayAll\n ? Object.freeze(sorted)\n : Object.freeze(sorted.slice(0, this.distributions.displayCount));\n },\n isDistributionsAllDisplayed() {\n return this.distributions.displayCount === this.getDistributions.length;\n },\n remainingDistributions() {\n return this.getDistributions.length - this.distributions.displayCount;\n }\n },\n methods: {\n ...mapActions('datasetDetails', [\n 'loadDatasetDetails',\n 'setLoading',\n ]),\n has,\n isNil,\n isArray,\n isObject,\n isString,\n isNumber,\n appendCurrentLocaleToURL,\n getTranslationFor,\n getCountryFlagImg,\n truncate,\n replaceHttp,\n initDatasetDetails() {\n this.piwikMetaPush();\n setTimeout(() => {\n if (typeof this.$piwik?.resume === \"function\") this.$piwik.resume();\n }, 500);\n this.$nextTick(() => {\n // Display/hide translation banners\n this.setTranslationBanners();\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n });\n },\n setDistributionsDisplayCount(count: number) {\n this.distributions.displayCount = count;\n },\n openModal(callback, toggleDownloadPopup) {\n this.$refs.externalResourceModal.openModal(callback, toggleDownloadPopup)\n },\n previewLinkCallback(distribution) {\n return () => {\n this.$emit('track-link', this.getVisualisationLink(distribution), 'link');\n window.open(this.getVisualisationLink(distribution), '_blank');\n };\n },\n filterDateFormatEU(date) {\n return dateFilters.formatEU(date);\n },\n /* ABSTRACT SHOW FUNCTIONS */\n showString(string) {\n return !isNil(string) && isString(string);\n },\n showNumber(number) {\n return !isNil(number) && isNumber(number);\n },\n showObject(object) {\n return !isNil(object) && isObject(object) && !Object.values(object).reduce((keyUndefined, currentValue) => keyUndefined && currentValue === undefined, true);\n },\n showArray(array) {\n return !isNil(array) && isArray(array) && array.length > 0;\n },\n showObjectArray(objectArray) {\n return this.showArray(objectArray) && !objectArray.reduce((objectUndefined, currentObject) => objectUndefined && Object.values(currentObject).reduce((keyUndefined, currentValue) => keyUndefined && currentValue === undefined, true), true);\n },\n /* SPECIFIC SHOW FUNCTIONS */\n /* for now show all licences */\n showLicence(licence) {\n // return (has(licence, 'id') && !isNil(licence.id))\n // || (has(licence, 'label') && !isNil(licence.label))\n return true\n },\n showLicensingAssistant(distribution) {\n return has(distribution, 'licence.la_url') && this.showString(distribution.licence.la_url);\n },\n showDownloadDropdown(distribution) {\n return this.showAccessUrls(distribution) || this.showDownloadUrls(distribution);\n },\n isOnlyOneUrl(distribution) {\n return (this.showAccessUrls(distribution) && !this.showDownloadUrls(distribution))\n || (!this.showAccessUrls(distribution) && this.showDownloadUrls(distribution) && distribution.downloadUrls.length === 1);\n },\n getDownloadUrl(distribution) {\n let url;\n if (this.showAccessUrls(distribution) && !this.showDownloadUrls(distribution)) {\n url = distribution.accessUrl[0];\n }\n if (!this.showAccessUrls(distribution) && this.showDownloadUrls(distribution) && distribution.downloadUrls.length === 1) {\n url = distribution.downloadUrls[0];\n }\n return url;\n },\n showAccessUrls(distribution) {\n return has(distribution, 'accessUrl') && this.showArray(distribution.accessUrl);\n },\n showDownloadUrls(distribution) {\n return has(distribution, 'downloadUrls') && this.showArray(distribution.downloadUrls);\n },\n showKeyword(keyword) {\n return has(keyword, 'id')\n && has(keyword, 'title')\n && !isNil(keyword.id)\n && !isNil(keyword.title);\n },\n\n /* GETTER / SETTER FUNCTIONS */\n\n setDatasetOriginalLanguage(originalLanguage) {\n this.$i18n.locale = originalLanguage;\n },\n distributionIsExpanded(id) {\n setTimeout(() => {\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n }, 500);\n return this.expandedDistributions.includes(id);\n },\n distributionDescriptionIsExpanded(id) {\n return this.expandedDistributionDescriptions.includes(id);\n },\n distributionDescriptionIsExpandable(description) {\n return isNil(description) ? false : description.length > this.distributions.descriptionMaxChars;\n },\n getDistributionFormat(distribution) {\n return has(distribution, 'format.label') && !isNil(distribution.format.label) ? distribution.format.label : '';\n },\n distributionFormatTruncated(distribution) {\n return this.getDistributionFormat(distribution).length > 4;\n },\n getDistributionTitle(distribution) {\n return distribution.title\n ? getTranslationFor(distribution.title, this.$route.query.locale, this.getLanguages)\n : this.getID || '-';\n },\n getVisualisationLink(distribution) {\n // Return Visualisation Link\n const accessUrl = distribution.downloadUrls && distribution.downloadUrls.length ? distribution.downloadUrls[0] : distribution.accessUrl[0];\n return `/data/visualisation/?file=${encodeURIComponent(accessUrl)}`;\n },\n // getSubjectLink(subject) {\n // return { path: `/datasets?subject=${subject.id}`, query: Object.assign({}, { locale: this.$route.query.locale }) };\n // },\n toggleDistribution(id) {\n const index = this.expandedDistributions.indexOf(id);\n if (index > -1) this.expandedDistributions.splice(index, 1);\n else this.expandedDistributions.push(id);\n },\n toggleDistributionDescription(id) {\n const index = this.expandedDistributionDescriptions.indexOf(id);\n if (index > -1) this.expandedDistributionDescriptions.splice(index, 1);\n else this.expandedDistributionDescriptions.push(id);\n },\n setTranslationBanners() {\n if (!this.$i18n) return;\n const translationMetaData = this.getTranslationMetaData;\n // Check if translation of dataset is available in selected language\n if (!isNil(translationMetaData.details) && has(translationMetaData.details, this.$route.query.locale)) {\n // Check if dataset if machine translated\n this.machineTranslated = translationMetaData.details[this.$route.query.locale].machine_translated;\n } else {\n // No translation of this dataset available for the selected language\n this.translationNotAvailable = true;\n }\n },\n // Emit a Matomo event when user clicks on 'go to resource' element\n trackGoto() {\n const paq = window._paq || []; // eslint-disable-line\n // paq.push(['trackEvent', 'GoToResource', 'Clicked']);\n this.$piwik.trackGotoResource();\n },\n clamp(n, min, max) {\n return Math.min(Math.max(n, min), max);\n },\n // Increases the current number of distributions displayed\n // and clamps the result so that it never exceeds the number of all distributions.\n increaseNumDisplayedDistributions(increment) {\n const clampedSum = this.clamp(this.distributions.displayCount + increment, 0, this.getDistributions.length);\n this.distributions.displayCount = clampedSum;\n },\n nonOverflowingIncrementsForDistributions(incrementStep) {\n return this.distributions.displayCount + incrementStep <= this.getDistributions.length;\n },\n // Increases the current number of distributions displayed\n // and clamps the result so that it never exceeds the number of all distributions.\n increaseNumDisplayedPages(increment) {\n const clampedSum = this.clamp(this.pages.displayCount + increment, 0, this.getPages.length);\n this.pages.displayCount = clampedSum;\n },\n nonOverflowingIncrementsForPages(incrementStep) {\n return this.pages.displayCount + incrementStep <= this.getPages.length;\n },\n piwikMetaPush() {\n this.$piwik.trackDatasetDetailsPageView(null, null, {\n dataset_AccessRights: this.getAccessRights,\n dataset_AccrualPeriodicity: this.getAccrualPeriodicity,\n dataset_Catalog: this.getCatalog,\n // dataset_Categories: this.getCategories,\n // dataset_ConformsTo: this.getConformsTo,\n // dataset_ContactPoints: this.getContactPoints,\n // dataset_Country: this.getCountry,\n // dataset_Creator: this.getCreator,\n // dataset_Description: this.getDescription,\n // dataset_Distributions: this.getDistributions,\n // dataset_DistributionFormats: this.getDistributionFormats,\n // dataset_Documentations: this.getDocumentations,\n // dataset_Frequency: this.getFrequency,\n // dataset_HasVersion: this.getHasVersion,\n dataset_ID: this.getID,\n // dataset_Identifiers: this.getIdentifiers,\n // dataset_IdName: this.getIdName,\n // dataset_IsVersionOf: this.getIsVersionOf,\n // datest_Keywords: this.getKeywords,\n // dataset_LandingPages: this.getLandingPagesResource,\n // dataset_Languages: this.getLanguages,\n // dataset_Licences: this.getLicences,\n // dataset_Loading: this.getLoading,\n // dataset_ModificationDate: this.getModificationDate,\n // dataset_OriginalLanguage: this.getOriginalLanguage,\n // dataset_OtherIdentifiers: this.getOtherIdentifiers,\n // dataset_Pages: this.getPages,\n // dataset_Provenances: this.getProvenances,\n dataset_Publisher: this.getPublisher,\n // dataset_RelatedResources: this.getRelatedResources,\n // dataset_ReleaseDate: this.getReleaseDate,\n // dataset_Sources: this.getSources,\n // dataset_Spatial: this.getSpatial,\n // dataset_SpatialResource: this.getSpatialResource,\n // dataset_Temporal: this.getTemporal,\n dataset_Title: this.getTitle,\n // dataset_TranslationMetaData: this.getTranslationMetaData,\n // dataset_VersionInfo: this.getVersionInfo,\n // dataset_VersionNotes: this.getVersionNotes,\n dataset_type: this.getIsHvd ? 'High-Value Dataset' : 'Dataset',\n dataset_scope: this.getCountry?.id === 'io'\n ? 'International Data'\n : this.getCountry?.id === 'eu'\n ? 'European Union Data'\n : 'National Data',\n dataset_provenance: this.getCountry?.name || this.getCountry?.id || '',\n dataset_category: this.getCategories?.map(category => category.label?.en || category.id).filter(Boolean)\n\n });\n },\n isUrlInvalid(url) {\n if (url) {\n try {\n /* eslint-disable no-useless-escape */\n return !(new RegExp(\"^((https?:\\/\\/(www\\.)?)([-a-zA-Z0-9@:%._\\+~#=]{1,256})([-a-zA-Z0-9()@:%_\\+.~#?&//=]*))$\", \"i\")).test(decodeURIComponent(url.split(\"=\").pop()));\n /* eslint-enable no-useless-escape */\n } catch (e) {\n console.error(e);\n }\n }\n },\n openIfValidUrl(isValid, previewLinkCallback, distribution, event) {\n if (isValid) {\n // for (let key in this.$children) {\n // if(this.$children[key].$refs[\"externalResourceModal\"]) {\n // this.$children[key].$refs[\"externalResourceModal\"].openModal(previewLinkCallback(distribution), false);\n // }\n // }\n this.openModal(previewLinkCallback(distribution), false);\n } else {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n showTooltipVisualiseButton(invalidUrl) {\n if (invalidUrl) {\n return this.$t('message.tooltip.invalidVisualise');\n }\n return ''\n },\n },\n mounted() {\n // Duplicated API call, execute only if data not already loaded\n if (this.$route.params.ds_id !== this.getID) {\n this.$Progress.start();\n this.loadingDatasetDetails = true;\n this.loadDatasetDetails(this.$route.params.ds_id)\n .then(() => {\n this.$Progress.finish();\n this.loadingDatasetDetails = false;\n this.initDatasetDetails();\n })\n .catch((err) => {\n console.warn(err); // eslint-disable-line\n this.$Progress.fail();\n if (typeof this.$piwik?.resume === \"function\") this.$piwik.resume();\n this.$router.replace({\n name: 'NotFound',\n query: { locale: this.$route.query.locale, dataset: this.$route.params.ds_id },\n });\n })\n .finally(() => this.$root.$emit('contentLoaded'));\n } else {\n this.initDatasetDetails();\n this.$root.$emit('contentLoaded')\n }\n\n const distributionsConf = this.$env.content.datasetDetails && this.$env.content.datasetDetails.distributions;\n if (distributionsConf) {\n this.distributions.displayAll = distributionsConf.displayAll || this.distributions.displayAll;\n this.distributions.displayCount = parseInt(distributionsConf.displayCount, 10) || this.distributions.displayCount;\n\n if (typeof distributionsConf.incrementSteps === 'string') {\n // Need to parse as json array since env variables are string only\n distributionsConf.incrementSteps = JSON.parse(distributionsConf.incrementSteps);\n }\n this.distributions.incrementSteps = distributionsConf.incrementSteps || this.distributions.incrementSteps;\n }\n\n if (this.distributions.displayAll) this.distributions.displayCount = this.getDistributions.length;\n\n const pagesConf = this.$env.content.datasetDetails && this.$env.content.datasetDetails.pages;\n if (pagesConf) {\n this.pages.displayAll = pagesConf.displayAll || this.pages.displayAll;\n this.pages.displayCount = parseInt(pagesConf.displayCount, 10) || this.pages.displayCount;\n\n if (typeof pagesConf.incrementSteps === 'string') {\n // Need to parse as json array since env variables are string only\n pagesConf.incrementSteps = JSON.parse(pagesConf.incrementSteps);\n }\n this.pages.incrementSteps = pagesConf.incrementSteps || this.pages.incrementSteps;\n }\n\n if (this.pages.displayAll) this.pages.displayCount = this.getPages.length;\n },\n beforeUnmount() {\n $('.tooltip').remove();\n },\n setup() {\n metaInfo.useDatasetDetailsDatasetHead();\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n\n .catalogue-label {\n white-space: pre-line;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .tag-color {\n background-color: var(--tag-color);\n }\n\n .btn-color {\n &:hover {\n background-color: #196fd2;\n border-color: #196fd2;\n }\n }\n\n .heading, .arrow, .copy-text {\n cursor: pointer;\n }\n\n .details-link {\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n }\n\n .text-break {\n word-break: break-word;\n }\n\n td {\n padding-left: 0 !important;\n padding-top: 1% !important;\n padding-bottom: 1% !important;\n }\n\n .download-all-btn {\n min-width: 100px;\n height: 31px;\n }\n\n .d-inline-table {\n display: inline-table;\n }\n\n /*** BOOTSTRAP ***/\n button:focus {\n outline:0;\n }\n .options, .download {\n .dropdown-menu {\n .dropdown-item {\n &:hover {\n color: initial;\n background-color: initial;\n }\n }\n }\n }\n.spinner-grow {\n width: 20px;\n height: 20px;\n}\n\n /*** FONT AWESOME ICONS ***/\n .fa-check-square {\n color: #28a745;\n width: 16px;\n height: 16px;\n }\n\n /*** MATERIAL ICONS ***/\n %modal-icon {\n font-size: 18px;\n cursor: default;\n }\n\n .help-icon {\n @extend %modal-icon;\n }\n\n .check-icon {\n @extend %modal-icon;\n color: #28a745;\n }\n\n .material-icons.small-icon {\n font-size: 20px;\n }\n\n .distributions {\n\n &__item {\n position: relative;\n\n &--preview {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, white 55%);\n z-index: 10;\n }\n }\n\n &__actions {\n display: flex;\n justify-content: center;\n align-items: flex-end;\n height: 100%;\n z-index: 11;\n }\n }\n .mt-4 {\n margin-top: 1.5rem !important;\n }\n\n .keywords {\n\n &__item {\n position: relative;\n }\n\n &__actions {\n display: flex;\n justify-content: center;\n align-items: flex-end;\n height: 100%;\n z-index: 11;\n }\n }\n .sectionList {\n list-style-type: '→ ';\n margin-left:6.5%;\n }\n @media only screen and (max-width: 991px) {\n .sectionList {\n margin-left: 0;\n }\n}\n</style>\n"],"names":["_hoisted_1","_hoisted_3","_hoisted_4","_component_dataset_details_properties","_resolveComponent","_openBlock","_createElementBlock","_createVNode","_component_resource_access_popup","_cache","_createTextVNode","getReleaseDate","_ctx","getModificationDate","_hoisted_2","$data","_component_dataset_details_skeleton","_createCommentVNode","$props","_createBlock","_component_dataset_details_description","$options","_component_distributions","getDistributions","getKeywords","_component_dataset_details_features","_withCtx","_renderSlot"],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import l from "jquery";
|
|
2
|
-
import { mapGetters as
|
|
3
|
-
import { has as n, isNil as a, isArray as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { getTranslationFor as o, appendCurrentLocaleToURL as
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
2
|
+
import { mapGetters as D, mapActions as m } from "vuex";
|
|
3
|
+
import { has as n, isNil as a, isArray as h, isObject as u, isString as c, isNumber as g } from "lodash-es";
|
|
4
|
+
import y from "../widgets/AppLink.vue.mjs";
|
|
5
|
+
import f from "../widgets/Tooltip.vue.mjs";
|
|
6
|
+
import b from "./distributions/Distributions.vue.mjs";
|
|
7
|
+
import w from "../filters/dateFilters.mjs";
|
|
8
|
+
import { getTranslationFor as o, appendCurrentLocaleToURL as $, getCountryFlagImg as C, truncate as A, replaceHttp as U } from "../utils/helpers.mjs";
|
|
9
|
+
import v from "../widgets/ResourceAccessPopup.vue.mjs";
|
|
10
|
+
import x from "./features/DatasetDetailsIsUsedBy.vue.mjs";
|
|
11
|
+
import I from "./DatasetDetailsSkeleton.vue.mjs";
|
|
12
12
|
import "@unhead/vue";
|
|
13
13
|
import "merge-anything";
|
|
14
14
|
import "../configurations/config-schema/apiSchema.mjs";
|
|
@@ -23,16 +23,16 @@ import "../configurations/config-schema/configSchema.mjs";
|
|
|
23
23
|
import "vue";
|
|
24
24
|
import "vue-router";
|
|
25
25
|
import "vue-i18n";
|
|
26
|
-
import { useDatasetDetailsDatasetHead as
|
|
27
|
-
const
|
|
26
|
+
import { useDatasetDetailsDatasetHead as S } from "../composables/head/useDatasetDetailsDatasetHead.mjs";
|
|
27
|
+
const et = {
|
|
28
28
|
name: "datasetDetailsDataset",
|
|
29
29
|
components: {
|
|
30
|
-
DatasetDetailsSkeleton:
|
|
31
|
-
DatasetDetailsExtendedMetaData:
|
|
32
|
-
AppLink:
|
|
33
|
-
Tooltip:
|
|
34
|
-
Distributions:
|
|
35
|
-
ResourceAccessPopup:
|
|
30
|
+
DatasetDetailsSkeleton: I,
|
|
31
|
+
DatasetDetailsExtendedMetaData: x,
|
|
32
|
+
AppLink: y,
|
|
33
|
+
Tooltip: f,
|
|
34
|
+
Distributions: b,
|
|
35
|
+
ResourceAccessPopup: v
|
|
36
36
|
},
|
|
37
37
|
props: {
|
|
38
38
|
distributionVisibleContent: {
|
|
@@ -108,7 +108,7 @@ const tt = {
|
|
|
108
108
|
},
|
|
109
109
|
computed: {
|
|
110
110
|
// import store-getters
|
|
111
|
-
...
|
|
111
|
+
...D("datasetDetails", [
|
|
112
112
|
"getKeywords",
|
|
113
113
|
"getAccessRights",
|
|
114
114
|
"getAccrualPeriodicity",
|
|
@@ -148,21 +148,21 @@ const tt = {
|
|
|
148
148
|
}
|
|
149
149
|
},
|
|
150
150
|
methods: {
|
|
151
|
-
...
|
|
151
|
+
...m("datasetDetails", [
|
|
152
152
|
"loadDatasetDetails",
|
|
153
153
|
"setLoading"
|
|
154
154
|
]),
|
|
155
155
|
has: n,
|
|
156
156
|
isNil: a,
|
|
157
|
-
isArray:
|
|
158
|
-
isObject:
|
|
159
|
-
isString:
|
|
160
|
-
isNumber:
|
|
161
|
-
appendCurrentLocaleToURL:
|
|
157
|
+
isArray: h,
|
|
158
|
+
isObject: u,
|
|
159
|
+
isString: c,
|
|
160
|
+
isNumber: g,
|
|
161
|
+
appendCurrentLocaleToURL: $,
|
|
162
162
|
getTranslationFor: o,
|
|
163
|
-
getCountryFlagImg:
|
|
164
|
-
truncate:
|
|
165
|
-
replaceHttp:
|
|
163
|
+
getCountryFlagImg: C,
|
|
164
|
+
truncate: A,
|
|
165
|
+
replaceHttp: U,
|
|
166
166
|
initDatasetDetails() {
|
|
167
167
|
this.piwikMetaPush(), setTimeout(() => {
|
|
168
168
|
var t;
|
|
@@ -185,20 +185,20 @@ const tt = {
|
|
|
185
185
|
};
|
|
186
186
|
},
|
|
187
187
|
filterDateFormatEU(t) {
|
|
188
|
-
return
|
|
188
|
+
return w.formatEU(t);
|
|
189
189
|
},
|
|
190
190
|
/* ABSTRACT SHOW FUNCTIONS */
|
|
191
191
|
showString(t) {
|
|
192
|
-
return !a(t) &&
|
|
192
|
+
return !a(t) && c(t);
|
|
193
193
|
},
|
|
194
194
|
showNumber(t) {
|
|
195
|
-
return !a(t) &&
|
|
195
|
+
return !a(t) && g(t);
|
|
196
196
|
},
|
|
197
197
|
showObject(t) {
|
|
198
|
-
return !a(t) &&
|
|
198
|
+
return !a(t) && u(t) && !Object.values(t).reduce((e, s) => e && s === void 0, !0);
|
|
199
199
|
},
|
|
200
200
|
showArray(t) {
|
|
201
|
-
return !a(t) &&
|
|
201
|
+
return !a(t) && h(t) && t.length > 0;
|
|
202
202
|
},
|
|
203
203
|
showObjectArray(t) {
|
|
204
204
|
return this.showArray(t) && !t.reduce((e, s) => e && Object.values(s).reduce((i, r) => i && r === void 0, !0), !0);
|
|
@@ -303,7 +303,7 @@ const tt = {
|
|
|
303
303
|
return this.pages.displayCount + t <= this.getPages.length;
|
|
304
304
|
},
|
|
305
305
|
piwikMetaPush() {
|
|
306
|
-
var t, e, s, i;
|
|
306
|
+
var t, e, s, i, r;
|
|
307
307
|
this.$piwik.trackDatasetDetailsPageView(null, null, {
|
|
308
308
|
dataset_AccessRights: this.getAccessRights,
|
|
309
309
|
dataset_AccrualPeriodicity: this.getAccrualPeriodicity,
|
|
@@ -347,9 +347,9 @@ const tt = {
|
|
|
347
347
|
dataset_type: this.getIsHvd ? "High-Value Dataset" : "Dataset",
|
|
348
348
|
dataset_scope: ((t = this.getCountry) == null ? void 0 : t.id) === "io" ? "International Data" : ((e = this.getCountry) == null ? void 0 : e.id) === "eu" ? "European Union Data" : "National Data",
|
|
349
349
|
dataset_provenance: ((s = this.getCountry) == null ? void 0 : s.name) || ((i = this.getCountry) == null ? void 0 : i.id) || "",
|
|
350
|
-
dataset_category: this.getCategories.map((
|
|
351
|
-
var
|
|
352
|
-
return ((
|
|
350
|
+
dataset_category: (r = this.getCategories) == null ? void 0 : r.map((d) => {
|
|
351
|
+
var p;
|
|
352
|
+
return ((p = d.label) == null ? void 0 : p.en) || d.id;
|
|
353
353
|
}).filter(Boolean)
|
|
354
354
|
});
|
|
355
355
|
},
|
|
@@ -387,10 +387,10 @@ const tt = {
|
|
|
387
387
|
l(".tooltip").remove();
|
|
388
388
|
},
|
|
389
389
|
setup() {
|
|
390
|
-
|
|
390
|
+
S();
|
|
391
391
|
}
|
|
392
392
|
};
|
|
393
393
|
export {
|
|
394
|
-
|
|
394
|
+
et as default
|
|
395
395
|
};
|
|
396
396
|
//# sourceMappingURL=DatasetDetailsDataset.vue2.mjs.map
|