@piveau/piveau-hub-ui-modules 4.4.4 → 4.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PvBadge/PvBadge.vue.d.ts +4 -4
- package/dist/PvDataInfoBox/PvDataInfoBox.vue.d.ts +135 -4
- package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs +45 -45
- package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs.map +1 -1
- package/dist/PvDataInfoBox/PvDataInfoBoxDescription.vue.d.ts +4 -4
- package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.d.ts +33 -4
- package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.mjs +34 -34
- package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.mjs.map +1 -1
- package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.d.ts +17 -3
- package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.mjs +18 -18
- package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.mjs.map +1 -1
- package/dist/auth/Auth.vue.d.ts +1 -1
- package/dist/catalogues/CatalogPage.vue.mjs +139 -139
- package/dist/catalogues/CatalogPage.vue.mjs.map +1 -1
- package/dist/catalogues/CatalogPageDatasetCard.vue.d.ts +6 -4
- package/dist/catalogues/CatalogPageDatasetCard.vue.mjs +37 -37
- package/dist/catalogues/CatalogPageDatasetCard.vue.mjs.map +1 -1
- package/dist/catalogues/Catalogues.vue.mjs +202 -202
- package/dist/catalogues/Catalogues.vue.mjs.map +1 -1
- package/dist/catalogues/cataloguesFacets/CataloguesFacets.vue.mjs +44 -44
- package/dist/catalogues/cataloguesFacets/CataloguesFacets.vue.mjs.map +1 -1
- package/dist/citation/DatasetCitationModal.vue.d.ts +46 -4
- package/dist/citation/DatasetCitationModal.vue.mjs +36 -36
- package/dist/citation/DatasetCitationModal.vue.mjs.map +1 -1
- package/dist/citation/DatasetCitationTable.vue.d.ts +4 -4
- package/dist/citation/DatasetCitationTable.vue.mjs +32 -32
- package/dist/citation/DatasetCitationTable.vue.mjs.map +1 -1
- package/dist/composables/head/useRootHead.d.ts +1 -1
- package/dist/composables/useRuntimeEnv.d.ts +1 -1
- package/dist/configurations/config-schema/configSchema.d.ts +4 -4
- package/dist/configurations/config-schema/languagesSchema.d.ts +2 -2
- package/dist/data-provider-interface/DPIMenu.vue.d.ts +4 -8
- package/dist/data-provider-interface/DPIMenu.vue.mjs +96 -96
- package/dist/data-provider-interface/DPIMenu.vue.mjs.map +1 -1
- package/dist/data-provider-interface/DataProviderInterface.vue.d.ts +1297 -4
- package/dist/data-provider-interface/components/AutocompleteInput.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs +101 -101
- package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/ConditionalInput.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs +113 -154
- package/dist/data-provider-interface/components/ConditionalInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/DataFetchingComponent.vue.d.ts +4 -8
- package/dist/data-provider-interface/components/DataFetchingComponent.vue.mjs +13 -13
- package/dist/data-provider-interface/components/DataFetchingComponent.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/DistributionStepper.vue.d.ts +43 -40
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs +101 -101
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/Dropup.vue.d.ts +4 -4
- package/dist/data-provider-interface/components/Dropup.vue.mjs +22 -22
- package/dist/data-provider-interface/components/Dropup.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/FileUpload.vue.d.ts +3 -3
- package/dist/data-provider-interface/components/FileUpload.vue.mjs +114 -114
- package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/InfoSlot.vue.d.ts +4 -4
- package/dist/data-provider-interface/components/InfoSlot.vue.mjs +14 -14
- package/dist/data-provider-interface/components/InfoSlot.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/InputPageStep.vue.d.ts +3 -3
- package/dist/data-provider-interface/components/LanguageSelector.vue.d.ts +5 -5
- package/dist/data-provider-interface/components/Navigation.vue.d.ts +5 -11
- package/dist/data-provider-interface/components/Navigation.vue.mjs +58 -58
- package/dist/data-provider-interface/components/Navigation.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SelectControlledGroup.vue.d.ts +3 -3
- package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs +22 -22
- package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SimpleInput.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/SimpleInput.vue.mjs +13 -13
- package/dist/data-provider-interface/components/SimpleInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SimpleSelect.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/SimpleSelect.vue.mjs +40 -40
- package/dist/data-provider-interface/components/SimpleSelect.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/SpatialInput.vue.d.ts +1 -1
- package/dist/data-provider-interface/components/SpatialInput.vue.mjs +101 -101
- package/dist/data-provider-interface/components/SpatialInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.d.ts +3 -5
- package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs +37 -42
- package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/composables/useDpiEditMode.d.ts +1 -1
- package/dist/data-provider-interface/composables/useDpiStepper.d.ts +3 -3
- package/dist/data-provider-interface/views/DistributionInputPage.vue.d.ts +1 -1
- package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs +56 -56
- package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/DistributionOverview.vue.d.ts +4 -6
- package/dist/data-provider-interface/views/DistributionOverview.vue.mjs +128 -128
- package/dist/data-provider-interface/views/DistributionOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/DraftsPage.vue.d.ts +5 -3
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs +136 -136
- package/dist/data-provider-interface/views/DraftsPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/InputPage.vue.d.ts +1209 -9
- package/dist/data-provider-interface/views/InputPage.vue.mjs +107 -107
- package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/LinkedDataViewer.vue.d.ts +3 -3
- package/dist/data-provider-interface/views/LinkedDataViewer.vue.mjs +12 -12
- package/dist/data-provider-interface/views/LinkedDataViewer.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.d.ts +120 -3
- package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.mjs +38 -38
- package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.d.ts +369 -3
- package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs +83 -83
- package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.d.ts +120 -3
- package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs +127 -127
- package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.d.ts +26 -4
- package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs +312 -312
- package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.d.ts +3 -3
- package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.mjs +31 -31
- package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.d.ts +3 -3
- package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.mjs +52 -52
- package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.d.ts +5 -3
- package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.mjs +35 -35
- package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.d.ts +98 -3
- package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.mjs +40 -40
- package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/OverviewPage.vue.d.ts +783 -4
- package/dist/data-provider-interface/views/OverviewPage.vue.mjs +72 -48
- package/dist/data-provider-interface/views/OverviewPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/PropertyChooser.vue.mjs +31 -31
- package/dist/data-provider-interface/views/PropertyChooser.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.d.ts +1 -1
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs +17 -17
- package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
- package/dist/data-provider-interface/views/UserProfilePage.vue.d.ts +2 -2
- package/dist/data-provider-interface/views/UserProfilePage.vue.mjs +27 -27
- package/dist/data-provider-interface/views/UserProfilePage.vue.mjs.map +1 -1
- package/dist/datasetDetails/AppMarkdownContent.vue.d.ts +4 -4
- package/dist/datasetDetails/AppMarkdownContent.vue.mjs +20 -20
- package/dist/datasetDetails/AppMarkdownContent.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetails.vue.mjs +35 -35
- package/dist/datasetDetails/DatasetDetails.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsActivityStream.vue.d.ts +1 -1
- package/dist/datasetDetails/DatasetDetailsActivityStream.vue.mjs +11 -12
- package/dist/datasetDetails/DatasetDetailsActivityStream.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsBanners.vue.d.ts +9 -5
- package/dist/datasetDetails/DatasetDetailsBanners.vue.mjs +33 -33
- package/dist/datasetDetails/DatasetDetailsBanners.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsCSVLinter.vue.mjs +93 -93
- package/dist/datasetDetails/DatasetDetailsCSVLinter.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsCategories.vue.mjs +23 -23
- package/dist/datasetDetails/DatasetDetailsCategories.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs +42 -42
- package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsDescription.vue.d.ts +31 -4
- package/dist/datasetDetails/DatasetDetailsDescription.vue.mjs +34 -34
- package/dist/datasetDetails/DatasetDetailsDescription.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsLinkedMetricsButton.vue.d.ts +6 -4
- package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs +416 -416
- package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsShareButton.vue.d.ts +6 -4
- package/dist/datasetDetails/DatasetDetailsSimilarDatasets.vue.mjs +40 -40
- package/dist/datasetDetails/DatasetDetailsSimilarDatasets.vue.mjs.map +1 -1
- package/dist/datasetDetails/DatasetDetailsSkeleton.vue.d.ts +4 -6
- package/dist/datasetDetails/DatasetDetailsSkeleton.vue.mjs +40 -40
- package/dist/datasetDetails/DatasetDetailsSkeleton.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/Distribution.vue.mjs +34 -34
- package/dist/datasetDetails/distributions/Distribution.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionAdded.vue.d.ts +3 -5
- package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs +12 -12
- package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.d.ts +3 -1
- package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs +177 -177
- package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionFormat.vue.d.ts +4 -9
- package/dist/datasetDetails/distributions/Distributions.vue.d.ts +7 -4
- package/dist/datasetDetails/distributions/Distributions.vue.mjs +41 -41
- package/dist/datasetDetails/distributions/Distributions.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DistributionsHeader.vue.d.ts +6 -10
- package/dist/datasetDetails/distributions/DistributionsHeader.vue.mjs +25 -25
- package/dist/datasetDetails/distributions/DistributionsHeader.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.d.ts +4 -12
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs +128 -128
- package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.d.ts +3 -3
- package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs +23 -23
- package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.d.ts +9 -4
- package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs +31 -31
- package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.d.ts +8 -12
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs +79 -79
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionDownloadAs.vue.d.ts +3 -3
- package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.d.ts +6 -11
- package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.mjs +26 -26
- package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.d.ts +7 -11
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs +41 -41
- package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionActions/DistributionPreview.vue.d.ts +6 -11
- package/dist/datasetDetails/distributions/distributionActions/LinkedDataButtonsDropdown.vue.d.ts +7 -7
- package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs +311 -311
- package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDescription.vue.d.ts +4 -11
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.d.ts +9 -24
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.mjs +11 -11
- package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.d.ts +3 -8
- package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.mjs +18 -18
- package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.mjs.map +1 -1
- package/dist/datasetDetails/distributions/distributionPreview/DistributionVisualisationSlot.vue.d.ts +1 -1
- package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.d.ts +5 -3
- package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.mjs +40 -40
- package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.d.ts +5 -3
- package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs +93 -93
- package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.d.ts +4 -4
- package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.mjs +5 -5
- package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.d.ts +42 -3
- package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.mjs +85 -85
- package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.d.ts +4 -8
- package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.mjs +45 -45
- package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.d.ts +1 -1
- package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.mjs +26 -26
- package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.d.ts +5 -3
- package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.mjs +45 -45
- package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsMap.vue.d.ts +3 -1
- package/dist/datasetDetails/features/DatasetDetailsMap.vue.mjs +23 -23
- package/dist/datasetDetails/features/DatasetDetailsMap.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsPages.vue.d.ts +5 -3
- package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs +95 -95
- package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsRelations.vue.d.ts +1 -1
- package/dist/datasetDetails/features/DatasetDetailsRelations.vue.mjs +27 -27
- package/dist/datasetDetails/features/DatasetDetailsRelations.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsSubject.vue.d.ts +4 -1
- package/dist/datasetDetails/features/DatasetDetailsSubject.vue.mjs +20 -20
- package/dist/datasetDetails/features/DatasetDetailsSubject.vue.mjs.map +1 -1
- package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.d.ts +5 -3
- package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.mjs +92 -92
- package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.mjs.map +1 -1
- package/dist/datasetDetails/header/DatasetDetailsHeader.vue.mjs +24 -24
- package/dist/datasetDetails/header/DatasetDetailsHeader.vue.mjs.map +1 -1
- package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.d.ts +7 -5
- package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.mjs +31 -31
- package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.mjs.map +1 -1
- package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.d.ts +4 -4
- package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.mjs +24 -24
- package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.mjs.map +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.d.ts +81 -3
- package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.mjs +24 -24
- package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.mjs.map +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.d.ts +11 -3
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.mjs +148 -148
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.mjs.map +1 -1
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationPage.vue.d.ts +6 -4
- package/dist/datasetDetails/navigation/DatasetDetailsNavigationPages.vue.d.ts +1 -1
- package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.d.ts +3 -1
- package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.mjs +29 -29
- package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs +47 -47
- package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/ValuesList.vue.d.ts +5 -3
- package/dist/datasetDetails/properties/ValuesList.vue.mjs +46 -46
- package/dist/datasetDetails/properties/ValuesList.vue.mjs.map +1 -1
- package/dist/datasets/DatasetDate.vue.d.ts +4 -7
- package/dist/datasets/DatasetDate.vue.mjs +22 -22
- package/dist/datasets/DatasetDate.vue.mjs.map +1 -1
- package/dist/datasets/DatasetList.vue.d.ts +4 -4
- package/dist/datasets/Datasets.vue.mjs +44 -44
- package/dist/datasets/Datasets.vue.mjs.map +1 -1
- package/dist/datasets/DatasetsFilters.vue.d.ts +3 -1
- package/dist/datasets/DatasetsFilters.vue.mjs +48 -48
- package/dist/datasets/DatasetsFilters.vue.mjs.map +1 -1
- package/dist/datasets/DatasetsFiltersTabs.vue.d.ts +5 -5
- package/dist/datasets/DatasetsFiltersTabs.vue.mjs +53 -53
- package/dist/datasets/DatasetsFiltersTabs.vue.mjs.map +1 -1
- package/dist/datasets/DatasetsTopControls.vue.d.ts +6 -8
- package/dist/datasets/DatasetsTopControls.vue.mjs +19 -19
- package/dist/datasets/DatasetsTopControls.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/DatasetsFacets.vue.mjs +16 -16
- package/dist/datasets/datasetsFacets/DatasetsFacets.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.d.ts +4 -4
- package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.mjs +12 -12
- package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.d.ts +131 -6
- package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.mjs +104 -104
- package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/SettingsFacet.vue.d.ts +1 -1
- package/dist/embed/DatasetEmbedModal.vue.d.ts +1 -1
- package/dist/embed/DatasetEmbedModal.vue.mjs +103 -103
- package/dist/embed/DatasetEmbedModal.vue.mjs.map +1 -1
- package/dist/embed/EmbedDataset.vue.mjs +56 -56
- package/dist/embed/EmbedDataset.vue.mjs.map +1 -1
- package/dist/embed/EmbedDatasetSnippet.vue.mjs +50 -50
- package/dist/embed/EmbedDatasetSnippet.vue.mjs.map +1 -1
- package/dist/external/@vueuse/core/index +196 -137
- package/dist/external/@vueuse/core/index.map +1 -1
- package/dist/external/@vueuse/shared/index +44 -43
- package/dist/external/@vueuse/shared/index.map +1 -1
- package/dist/facets/CatalogDetailsFacet.vue.mjs +252 -252
- package/dist/facets/CatalogDetailsFacet.vue.mjs.map +1 -1
- package/dist/facets/ExpandableSelectFacet.vue.d.ts +55 -4
- package/dist/facets/ExpandableSelectFacet.vue.mjs +28 -28
- package/dist/facets/ExpandableSelectFacet.vue.mjs.map +1 -1
- package/dist/facets/Facet.vue.d.ts +4 -4
- package/dist/facets/Facet.vue.mjs +38 -38
- package/dist/facets/Facet.vue.mjs.map +1 -1
- package/dist/facets/FacetTitle.vue.d.ts +4 -4
- package/dist/facets/FacetTitle.vue.mjs +12 -12
- package/dist/facets/FacetTitle.vue.mjs.map +1 -1
- package/dist/facets/RadioFacet.vue.d.ts +21 -3
- package/dist/facets/RadioFacet.vue.mjs +26 -26
- package/dist/facets/RadioFacet.vue.mjs.map +1 -1
- package/dist/facets/SelectedFacetsOverview.vue.d.ts +4 -4
- package/dist/facets/SelectedFacetsOverview.vue.mjs +1 -1
- package/dist/facets/SelectedFacetsOverview.vue.mjs.map +1 -1
- package/dist/form/FormKitGroup.vue.d.ts +3 -3
- package/dist/form/FormKitGroup.vue.mjs +9 -9
- package/dist/form/FormKitGroup.vue.mjs.map +1 -1
- package/dist/form/Repeatable.vue.d.ts +1 -1
- package/dist/form/Repeatable.vue.mjs +19 -19
- package/dist/form/Repeatable.vue.mjs.map +1 -1
- package/dist/map/MapBasic.vue.d.ts +4 -4
- package/dist/map/MapBoundsReceiver.vue.d.ts +3 -3
- package/dist/map/MapBoundsSender.vue.d.ts +3 -3
- package/dist/mixins/useRouteMetaBreadcrumbs.d.ts +1 -1
- package/dist/modal/AppConfirmationDialog.vue.d.ts +4 -4
- package/dist/modal/AppConfirmationDialog.vue.mjs +44 -44
- package/dist/modal/AppConfirmationDialog.vue.mjs.map +1 -1
- package/dist/modal/AppSnackbar.vue.d.ts +41 -1
- package/dist/modal/AppToast.vue.d.ts +4 -4
- package/dist/modal/AppToast.vue.mjs +54 -54
- package/dist/modal/AppToast.vue.mjs.map +1 -1
- package/dist/navigation/SubNavigation.vue.d.ts +4 -4
- package/dist/navigation/SubNavigation.vue.mjs +25 -25
- package/dist/navigation/SubNavigation.vue.mjs.map +1 -1
- package/dist/pages/Imprint.vue.d.ts +3 -1
- package/dist/pages/NotFound.vue.d.ts +3 -1
- package/dist/pages/NotFound.vue.mjs +23 -23
- package/dist/pages/NotFound.vue.mjs.map +1 -1
- package/dist/pages/PrivacyPolicy.vue.d.ts +3 -1
- package/dist/pages/SparqlSearch.vue.d.ts +1 -1
- package/dist/pages/SparqlSearch.vue.mjs +22 -22
- package/dist/pages/SparqlSearch.vue.mjs.map +1 -1
- package/dist/pages/user/UserImprint.vue.d.ts +1 -1
- package/dist/pages/user/UserImprint.vue.mjs +10 -10
- package/dist/pages/user/UserImprint.vue.mjs.map +1 -1
- package/dist/pages/user/UserPrivacyPolicy.vue.d.ts +1 -1
- package/dist/pages/user/UserPrivacyPolicy.vue.mjs +10 -10
- package/dist/pages/user/UserPrivacyPolicy.vue.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- package/dist/widgets/Dropdown.vue.d.ts +4 -8
- package/dist/widgets/Dropdown.vue.mjs +20 -20
- package/dist/widgets/Dropdown.vue.mjs.map +1 -1
- package/dist/widgets/Pagination.vue.d.ts +4 -4
- package/dist/widgets/Pagination.vue.mjs +74 -74
- package/dist/widgets/Pagination.vue.mjs.map +1 -1
- package/dist/widgets/PropertyValue.vue.d.ts +6 -4
- package/dist/widgets/PropertyValue.vue.mjs +17 -17
- package/dist/widgets/PropertyValue.vue.mjs.map +1 -1
- package/dist/widgets/PvBanner.vue.d.ts +3 -3
- package/dist/widgets/PvBanner.vue.mjs +29 -29
- package/dist/widgets/PvBanner.vue.mjs.map +1 -1
- package/dist/widgets/PvButton.vue.d.ts +4 -4
- package/dist/widgets/PvShowMore.vue.d.ts +4 -4
- package/dist/widgets/ResourceAccessPopup.vue.d.ts +1 -1
- package/dist/widgets/ResourceAccessPopup.vue.mjs +48 -48
- package/dist/widgets/ResourceAccessPopup.vue.mjs.map +1 -1
- package/dist/widgets/ResourceDetailsLinkedDataButton.vue.d.ts +6 -4
- package/dist/widgets/Tooltip.vue.d.ts +3 -3
- package/package.json +2 -2
- package/dist/datasetDetails/DatasetDetails.vue.d.ts +0 -25
- package/dist/embed/EmbedDataset.vue.d.ts +0 -7
- package/dist/embed/EmbedDatasetSnippet.vue.d.ts +0 -9
|
@@ -2,14 +2,14 @@ import { mapGetters as x, mapActions as b } from "vuex";
|
|
|
2
2
|
import C from "axios";
|
|
3
3
|
import V from "../utils/general-helper.mjs";
|
|
4
4
|
import { getNode as E } from "@formkit/core";
|
|
5
|
-
import { reactive as
|
|
6
|
-
import { onClickOutside as
|
|
7
|
-
import { useRuntimeEnv as
|
|
5
|
+
import { reactive as O, ref as S, resolveComponent as A, openBlock as a, createElementBlock as n, Fragment as y, createElementVNode as u, createVNode as L, createTextVNode as r, toDisplayString as m, createCommentVNode as p, mergeProps as T, withDirectives as G, vModelText as P, renderList as q } from "vue";
|
|
6
|
+
import { onClickOutside as k } from "../../external/@vueuse/core/index";
|
|
7
|
+
import { useRuntimeEnv as D } from "../../composables/useRuntimeEnv.mjs";
|
|
8
8
|
import "@formkit/vue";
|
|
9
|
-
import { useI18n as
|
|
9
|
+
import { useI18n as N } from "vue-i18n";
|
|
10
10
|
import "./FileUpload.vue2.mjs";
|
|
11
|
-
import
|
|
12
|
-
const
|
|
11
|
+
import B from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
12
|
+
const H = {
|
|
13
13
|
props: {
|
|
14
14
|
context: {
|
|
15
15
|
type: Object,
|
|
@@ -17,7 +17,7 @@ const M = {
|
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
19
|
data() {
|
|
20
|
-
var
|
|
20
|
+
var l;
|
|
21
21
|
return {
|
|
22
22
|
inputChoice: "",
|
|
23
23
|
error: "",
|
|
@@ -28,7 +28,7 @@ const M = {
|
|
|
28
28
|
isLoading: !1,
|
|
29
29
|
success: !1,
|
|
30
30
|
fail: !1,
|
|
31
|
-
validExtensions: ((
|
|
31
|
+
validExtensions: ((l = this.$env.content.dataProviderInterface.uploadFileTypes) == null ? void 0 : l.split(",")) || []
|
|
32
32
|
};
|
|
33
33
|
},
|
|
34
34
|
computed: {
|
|
@@ -53,9 +53,9 @@ const M = {
|
|
|
53
53
|
toggleUploadFileSwitch() {
|
|
54
54
|
this.inputChoice = this.t("message.dataupload.datasets.conditional.URL"), this.uploadFileSwitch && (this.uploadFileSwitch = !this.uploadFileSwitch);
|
|
55
55
|
},
|
|
56
|
-
validateFile(
|
|
57
|
-
const
|
|
58
|
-
this.validExtensions && this.validExtensions.length ? this.validExtensions.includes(
|
|
56
|
+
validateFile(l) {
|
|
57
|
+
const o = "." + l.target.files[0].name.split(".").pop().toLowerCase();
|
|
58
|
+
this.validExtensions && this.validExtensions.length ? this.validExtensions.includes(o) ? this.uploadOrReplaceFile({ file: l.target.files[0] }) : console.log("Wrong filetype") : (this.error = "", this.uploadOrReplaceFile({ file: l.target.files[0] }));
|
|
59
59
|
},
|
|
60
60
|
async saveUrl() {
|
|
61
61
|
this.URLValue.includes("http://") || this.URLValue.includes("https://") ? await this.context.node.input({ "@id": this.URLValue, mode: this.inputChoice }) : await this.context.node.input({ "@id": "https://" + this.URLValue, mode: this.inputChoice });
|
|
@@ -65,8 +65,8 @@ const M = {
|
|
|
65
65
|
return this.URLValue = this.context.value["@id"], !0;
|
|
66
66
|
},
|
|
67
67
|
// finds the parent input group of a given element.
|
|
68
|
-
findParentInputGroupOfElement(
|
|
69
|
-
let e =
|
|
68
|
+
findParentInputGroupOfElement(l) {
|
|
69
|
+
let e = l;
|
|
70
70
|
for (; e; ) {
|
|
71
71
|
if (e.classList.contains("formkit-input-group-repeatable"))
|
|
72
72
|
return e;
|
|
@@ -76,49 +76,49 @@ const M = {
|
|
|
76
76
|
},
|
|
77
77
|
// finds the index of the distribution access URL based on the root of this component.
|
|
78
78
|
findDistributionAccessUrlIndex() {
|
|
79
|
-
const
|
|
79
|
+
const l = this.$refs.fileupload, e = this.findParentInputGroupOfElement(l);
|
|
80
80
|
if (!e)
|
|
81
81
|
return null;
|
|
82
82
|
const s = e.parentElement.querySelectorAll(".formkit-input-group-repeatable");
|
|
83
83
|
return Array.from(s).indexOf(e);
|
|
84
84
|
},
|
|
85
|
-
async uploadOrReplaceFile({ file:
|
|
86
|
-
var s,
|
|
87
|
-
const e = ((d = (
|
|
88
|
-
if (e &&
|
|
89
|
-
const
|
|
85
|
+
async uploadOrReplaceFile({ file: l }) {
|
|
86
|
+
var s, t, d, c, i, f, v;
|
|
87
|
+
const e = ((d = (t = (s = this.$env) == null ? void 0 : s.content) == null ? void 0 : t.dataProviderInterface) == null ? void 0 : d.enableFileUploadReplace) || !1, o = ((c = this.$route.query) == null ? void 0 : c.edit) ?? !1;
|
|
88
|
+
if (e && o) {
|
|
89
|
+
const w = (i = this.$route.query) == null ? void 0 : i.edit, I = this.findDistributionAccessUrlIndex(), h = (f = this.getData("distributions")) == null ? void 0 : f[w], g = (v = h == null ? void 0 : h["dcat:accessURL"]) == null ? void 0 : v[I], U = g == null ? void 0 : g["@id"];
|
|
90
90
|
if (U) {
|
|
91
91
|
const R = this.$env.api.fileUploadUrl, F = V.getFileIdByAccessUrl({ accessUrl: U, fileUploadUrl: R });
|
|
92
|
-
return await this.uploadFile(
|
|
92
|
+
return await this.uploadFile(l, {
|
|
93
93
|
method: "PUT",
|
|
94
94
|
url: `${this.$env.api.fileUploadUrl}data/${F}?catalog=${this.getCatalogue}`
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
return await this.uploadFile(
|
|
98
|
+
return await this.uploadFile(l);
|
|
99
99
|
},
|
|
100
|
-
async uploadFile(
|
|
100
|
+
async uploadFile(l, e = {}) {
|
|
101
101
|
this.isLoading = !0;
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
const s = this.getCatalogue,
|
|
102
|
+
const o = new FormData();
|
|
103
|
+
o.append("file", l);
|
|
104
|
+
const s = this.getCatalogue, t = this.getUserData.rtpToken, d = {
|
|
105
105
|
method: "POST",
|
|
106
106
|
url: `${this.$env.api.fileUploadUrl}data?catalog=${s}`,
|
|
107
107
|
...e
|
|
108
|
-
},
|
|
108
|
+
}, c = {
|
|
109
109
|
method: d.method,
|
|
110
110
|
url: d.url,
|
|
111
111
|
headers: {
|
|
112
112
|
"Content-Type": "multipart/form-data",
|
|
113
|
-
Authorization: `Bearer ${
|
|
113
|
+
Authorization: `Bearer ${t}`
|
|
114
114
|
},
|
|
115
|
-
data:
|
|
115
|
+
data: o
|
|
116
116
|
};
|
|
117
117
|
try {
|
|
118
|
-
const
|
|
119
|
-
this.context.model = `${this.$env.api.fileUploadUrl}${
|
|
120
|
-
} catch (
|
|
121
|
-
this.isLoading = !1, this.fail = !0, console.error(
|
|
118
|
+
const i = await C.request(c), f = i.data.result.location.substring(i.data.result.location.indexOf("/") + 1);
|
|
119
|
+
this.context.model = `${this.$env.api.fileUploadUrl}${f}`, this.isLoading = !1, this.success = !0, await this.context.node.input({ "@id": `${this.$env.api.fileUploadUrl}${f}` });
|
|
120
|
+
} catch (i) {
|
|
121
|
+
this.isLoading = !1, this.fail = !0, console.error(i);
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
},
|
|
@@ -129,97 +129,93 @@ const M = {
|
|
|
129
129
|
});
|
|
130
130
|
},
|
|
131
131
|
setup() {
|
|
132
|
-
const { t } =
|
|
133
|
-
|
|
134
|
-
var e =
|
|
132
|
+
const { t: l } = N();
|
|
133
|
+
D();
|
|
134
|
+
var e = O({
|
|
135
135
|
active: !1
|
|
136
136
|
});
|
|
137
|
-
const
|
|
138
|
-
|
|
137
|
+
const o = S("fload");
|
|
138
|
+
k(o, (t) => {
|
|
139
139
|
e.active = !1;
|
|
140
140
|
});
|
|
141
|
-
function s(
|
|
141
|
+
function s(t) {
|
|
142
142
|
e.active = !e.active;
|
|
143
143
|
}
|
|
144
144
|
return {
|
|
145
145
|
drop: e,
|
|
146
|
-
onClickOutside:
|
|
146
|
+
onClickOutside: k,
|
|
147
147
|
triggerDropdown: s,
|
|
148
|
-
t
|
|
148
|
+
t: l
|
|
149
149
|
};
|
|
150
150
|
}
|
|
151
|
-
},
|
|
151
|
+
}, K = { class: "position-relative w-100" }, M = {
|
|
152
152
|
key: 0,
|
|
153
153
|
ref: "fLoad",
|
|
154
154
|
class: "selectListUpload fileuploadList"
|
|
155
|
-
},
|
|
155
|
+
}, W = {
|
|
156
156
|
key: 0,
|
|
157
157
|
class: "w-100 position-relative"
|
|
158
|
-
},
|
|
158
|
+
}, j = ["data-type"], z = { class: "file-div position-relative" }, J = ["accept"], Q = {
|
|
159
159
|
class: "upload-feedback position-absolute d-flex",
|
|
160
160
|
style: { right: "0" }
|
|
161
|
-
},
|
|
161
|
+
}, X = {
|
|
162
162
|
key: 0,
|
|
163
163
|
class: "lds-ring"
|
|
164
|
-
},
|
|
165
|
-
ee
|
|
166
|
-
], ie = { key: 2 }, oe = /* @__PURE__ */ w(() => /* @__PURE__ */ u("i", { class: "material-icons d-flex close-icon" }, "error", -1)), le = [
|
|
167
|
-
oe
|
|
168
|
-
], se = {
|
|
164
|
+
}, Y = { key: 1 }, Z = { key: 2 }, _ = {
|
|
169
165
|
key: 0,
|
|
170
166
|
class: "dURLText my-3"
|
|
171
|
-
},
|
|
167
|
+
}, $ = ["href"], ee = {
|
|
172
168
|
key: 1,
|
|
173
169
|
class: "allowedTypesWrapper"
|
|
174
|
-
},
|
|
170
|
+
}, te = {
|
|
175
171
|
key: 0,
|
|
176
172
|
class: "errorSub my-3 d-flex"
|
|
177
|
-
},
|
|
178
|
-
function
|
|
179
|
-
const
|
|
173
|
+
}, ie = { class: "d-flex flex-wrap w-100" };
|
|
174
|
+
function le(l, e, o, s, t, d) {
|
|
175
|
+
const c = A("FormKit");
|
|
180
176
|
return a(), n(y, null, [
|
|
181
|
-
u("div",
|
|
182
|
-
L(
|
|
177
|
+
u("div", K, [
|
|
178
|
+
L(c, {
|
|
183
179
|
name: "mode",
|
|
184
180
|
validation: "required",
|
|
185
181
|
type: "text",
|
|
186
182
|
class: "selectInputField formkit-inner",
|
|
187
183
|
readonly: "readonly",
|
|
188
|
-
onClick: e[0] || (e[0] = (
|
|
184
|
+
onClick: e[0] || (e[0] = (i) => s.triggerDropdown()),
|
|
189
185
|
placeholder: s.t("message.dataupload.info.preferredInput"),
|
|
190
|
-
modelValue:
|
|
191
|
-
"onUpdate:modelValue": e[1] || (e[1] = (
|
|
186
|
+
modelValue: t.inputChoice,
|
|
187
|
+
"onUpdate:modelValue": e[1] || (e[1] = (i) => t.inputChoice = i),
|
|
192
188
|
"validation-messages": {
|
|
193
189
|
required: s.t("message.dataupload.info.preferredInput")
|
|
194
190
|
}
|
|
195
191
|
}, null, 8, ["placeholder", "modelValue", "validation-messages"]),
|
|
196
|
-
r(),
|
|
197
|
-
s.drop.active ? (a(), n("ul",
|
|
192
|
+
e[9] || (e[9] = r()),
|
|
193
|
+
s.drop.active ? (a(), n("ul", M, [
|
|
198
194
|
u("li", {
|
|
199
|
-
onClick: e[2] || (e[2] = (
|
|
200
|
-
|
|
195
|
+
onClick: e[2] || (e[2] = (i) => {
|
|
196
|
+
t.uploadFileSwitch = !0, d.toggleUploadUrl();
|
|
201
197
|
}),
|
|
202
198
|
class: "p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC"
|
|
203
|
-
},
|
|
204
|
-
r(),
|
|
199
|
+
}, m(l.$t("message.dataupload.datasets.conditional.fileupload")), 1),
|
|
200
|
+
e[8] || (e[8] = r()),
|
|
205
201
|
u("li", {
|
|
206
|
-
onClick: e[3] || (e[3] = (
|
|
207
|
-
|
|
202
|
+
onClick: e[3] || (e[3] = (i) => {
|
|
203
|
+
t.uploadURL = !0, d.toggleUploadFileSwitch();
|
|
208
204
|
}),
|
|
209
205
|
class: "p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC"
|
|
210
|
-
},
|
|
211
|
-
], 512)) :
|
|
206
|
+
}, m(l.$t("message.dataupload.datasets.conditional.URL")), 1)
|
|
207
|
+
], 512)) : p("", !0)
|
|
212
208
|
]),
|
|
213
|
-
r(),
|
|
214
|
-
|
|
215
|
-
L(
|
|
209
|
+
e[19] || (e[19] = r()),
|
|
210
|
+
t.uploadURL && !t.uploadFileSwitch ? (a(), n("div", W, [
|
|
211
|
+
L(c, {
|
|
216
212
|
id: "aUrlLink",
|
|
217
|
-
modelValue:
|
|
218
|
-
"onUpdate:modelValue": e[4] || (e[4] = (
|
|
213
|
+
modelValue: t.URLValue,
|
|
214
|
+
"onUpdate:modelValue": e[4] || (e[4] = (i) => t.URLValue = i),
|
|
219
215
|
class: "selectInputField formkit-inner",
|
|
220
216
|
type: "url",
|
|
221
217
|
name: "@id",
|
|
222
|
-
placeholder:
|
|
218
|
+
placeholder: o.context.attrs.placeholder,
|
|
223
219
|
onInput: d.saveUrl,
|
|
224
220
|
validation: "required|url",
|
|
225
221
|
"validation-visibility": "live",
|
|
@@ -228,64 +224,68 @@ function ue(t, e, l, s, i, d) {
|
|
|
228
224
|
url: s.t("message.dataupload.info.urlFormat")
|
|
229
225
|
}
|
|
230
226
|
}, null, 8, ["modelValue", "placeholder", "onInput", "validation-messages"])
|
|
231
|
-
])) :
|
|
232
|
-
r(),
|
|
233
|
-
|
|
227
|
+
])) : p("", !0),
|
|
228
|
+
e[20] || (e[20] = r()),
|
|
229
|
+
t.uploadFileSwitch ? (a(), n("div", T({
|
|
234
230
|
key: 1,
|
|
235
231
|
ref: "fileupload",
|
|
236
|
-
class: ["p-3 w-100", `formkit-input-element formkit-input-element--${
|
|
237
|
-
"data-type":
|
|
238
|
-
},
|
|
232
|
+
class: ["p-3 w-100", `formkit-input-element formkit-input-element--${o.context.type}`],
|
|
233
|
+
"data-type": o.context.type
|
|
234
|
+
}, l.$attrs), [
|
|
239
235
|
G(u("input", {
|
|
240
236
|
type: "text",
|
|
241
|
-
"onUpdate:modelValue": e[5] || (e[5] = (
|
|
242
|
-
onBlur: e[6] || (e[6] = (...
|
|
237
|
+
"onUpdate:modelValue": e[5] || (e[5] = (i) => o.context.model = i),
|
|
238
|
+
onBlur: e[6] || (e[6] = (...i) => o.context.blurHandler && o.context.blurHandler(...i)),
|
|
243
239
|
hidden: ""
|
|
244
240
|
}, null, 544), [
|
|
245
|
-
[P,
|
|
241
|
+
[P, o.context.model]
|
|
246
242
|
]),
|
|
247
|
-
r(),
|
|
248
|
-
u("div",
|
|
243
|
+
e[16] || (e[16] = r()),
|
|
244
|
+
u("div", z, [
|
|
249
245
|
u("input", {
|
|
250
246
|
class: "mt-3",
|
|
251
247
|
type: "file",
|
|
252
248
|
id: "aUrlFL",
|
|
253
249
|
name: "fileUpload",
|
|
254
|
-
onChange: e[7] || (e[7] = (
|
|
255
|
-
accept:
|
|
256
|
-
}, null, 40,
|
|
257
|
-
r(),
|
|
258
|
-
u("div",
|
|
259
|
-
|
|
260
|
-
r(),
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
250
|
+
onChange: e[7] || (e[7] = (i) => d.validateFile(i)),
|
|
251
|
+
accept: t.validExtensions
|
|
252
|
+
}, null, 40, J),
|
|
253
|
+
e[14] || (e[14] = r()),
|
|
254
|
+
u("div", Q, [
|
|
255
|
+
t.isLoading ? (a(), n("div", X)) : p("", !0),
|
|
256
|
+
e[12] || (e[12] = r()),
|
|
257
|
+
t.success ? (a(), n("div", Y, e[10] || (e[10] = [
|
|
258
|
+
u("i", { class: "material-icons d-flex check-icon" }, "check_circle", -1)
|
|
259
|
+
]))) : p("", !0),
|
|
260
|
+
e[13] || (e[13] = r()),
|
|
261
|
+
t.fail ? (a(), n("div", Z, e[11] || (e[11] = [
|
|
262
|
+
u("i", { class: "material-icons d-flex close-icon" }, "error", -1)
|
|
263
|
+
]))) : p("", !0)
|
|
264
264
|
])
|
|
265
265
|
]),
|
|
266
|
-
r(),
|
|
267
|
-
|
|
268
|
-
r(
|
|
266
|
+
e[17] || (e[17] = r()),
|
|
267
|
+
t.success ? (a(), n("p", _, [
|
|
268
|
+
r(m(l.$t("message.metadata.downloadUrl")) + ": ", 1),
|
|
269
269
|
u("a", {
|
|
270
|
-
href:
|
|
271
|
-
},
|
|
272
|
-
])) :
|
|
273
|
-
r(),
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
r(),
|
|
277
|
-
u("div",
|
|
278
|
-
(a(!0), n(y, null, q(
|
|
279
|
-
key:
|
|
270
|
+
href: o.context.model
|
|
271
|
+
}, m(o.context.model), 9, $)
|
|
272
|
+
])) : p("", !0),
|
|
273
|
+
e[18] || (e[18] = r()),
|
|
274
|
+
t.validExtensions && t.validExtensions.length ? (a(), n("div", ee, [
|
|
275
|
+
t.success ? p("", !0) : (a(), n("p", te, "Allowed types: ")),
|
|
276
|
+
e[15] || (e[15] = r()),
|
|
277
|
+
u("div", ie, [
|
|
278
|
+
(a(!0), n(y, null, q(t.validExtensions, (i) => (a(), n("span", {
|
|
279
|
+
key: i,
|
|
280
280
|
class: "mr-1 mb-1 allowedFTypes"
|
|
281
|
-
},
|
|
281
|
+
}, m(i), 1))), 128))
|
|
282
282
|
])
|
|
283
|
-
])) :
|
|
284
|
-
], 16,
|
|
283
|
+
])) : p("", !0)
|
|
284
|
+
], 16, j)) : p("", !0)
|
|
285
285
|
], 64);
|
|
286
286
|
}
|
|
287
|
-
const
|
|
287
|
+
const he = /* @__PURE__ */ B(H, [["render", le], ["__scopeId", "data-v-a011305e"]]);
|
|
288
288
|
export {
|
|
289
|
-
|
|
289
|
+
he as default
|
|
290
290
|
};
|
|
291
291
|
//# sourceMappingURL=FileUpload.vue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload.vue.mjs","sources":["../../../lib/data-provider-interface/components/FileUpload.vue"],"sourcesContent":["<template>\n\n <div class=\"position-relative w-100 \">\n <FormKit name=\"mode\" validation=\"required\" type=\"text\" class=\"selectInputField formkit-inner \" readonly=\"readonly\"\n @click=\"triggerDropdown()\" :placeholder=\"t('message.dataupload.info.preferredInput')\" v-model=\"inputChoice\" :validation-messages=\"{\n required: t('message.dataupload.info.preferredInput'),\n }\" />\n <ul ref=\"fLoad\" v-if=\"drop.active\" class=\"selectListUpload fileuploadList\">\n <li @click=\"uploadFileSwitch = true; toggleUploadUrl()\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{$t('message.dataupload.datasets.conditional.fileupload')}}</li>\n <li @click=\"uploadURL = true; toggleUploadFileSwitch()\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{$t('message.dataupload.datasets.conditional.URL')}}</li>\n </ul>\n </div>\n <div class=\"w-100 position-relative\" v-if=\"uploadURL && !uploadFileSwitch\">\n\n <FormKit id=\"aUrlLink\" v-model=\"URLValue\" class=\"selectInputField formkit-inner\" type=\"url\" name=\"@id\" :placeholder=\"context.attrs.placeholder\"\n @input=\"saveUrl\" validation=\"required|url\" validation-visibility=\"live\" :validation-messages=\"{\n required: t('message.dataupload.datasets.conditional.URL'),\n url: t('message.dataupload.info.urlFormat')\n }\" />\n\n </div>\n <div v-if=\"uploadFileSwitch\" ref=\"fileupload\" class=\"p-3 w-100\"\n :class=\"`formkit-input-element formkit-input-element--${context.type}`\" :data-type=\"context.type\" v-bind=\"$attrs\">\n <input type=\"text\" v-model=\"context.model\" @blur=\"context.blurHandler\" hidden />\n <div class=\"file-div position-relative\">\n <input class=\"mt-3\" type=\"file\" id=\"aUrlFL\" name=\"fileUpload\" @change=\"validateFile($event)\"\n :accept=\"validExtensions\">\n <div class=\"upload-feedback position-absolute d-flex\" style=\"right: 0\">\n <div v-if=\"isLoading\" class=\"lds-ring\">\n </div>\n <div v-if=\"success\"><i class=\"material-icons d-flex check-icon\">check_circle</i></div>\n <div v-if=\"fail\"><i class=\"material-icons d-flex close-icon\">error</i></div>\n </div>\n </div>\n <p class=\"dURLText my-3\" v-if=\"success\">{{ $t('message.metadata.downloadUrl') }}: <a :href=\"context.model\">{{\n context.model }}</a></p>\n <div v-if=\"validExtensions && validExtensions.length\" class=\"allowedTypesWrapper\">\n <p class=\"errorSub my-3 d-flex \" v-if=\"!success\">Allowed types: </p>\n <div class=\"d-flex flex-wrap w-100\">\n <span v-for=\"types in validExtensions\" :key=\"types\" class=\"mr-1 mb-1 allowedFTypes \">\n {{ types }}\n </span>\n </div>\n\n </div>\n\n\n </div>\n\n</template>\n\n<script>\n/* eslint-disable consistent-return, no-unused-vars */\nimport { mapGetters, mapActions } from 'vuex';\nimport axios from 'axios';\nimport helper from '../utils/general-helper'\nimport { getNode } from '@formkit/core'\n\nimport { reactive, ref, onMounted, computed } from 'vue';\nimport { onClickOutside } from '@vueuse/core'\nimport { useRuntimeEnv } from \"../../composables/useRuntimeEnv.ts\";\nimport { FormKit } from '@formkit/vue';\nimport { useI18n } from 'vue-i18n';\n\nexport default {\n props: {\n context: {\n type: Object,\n required: true,\n },\n },\n\n data() {\n return {\n inputChoice: '',\n error: '',\n URLValue: '',\n uploadURL: false,\n uploadFileSwitch: false,\n checkifSet: false,\n isLoading: false,\n success: false,\n fail: false,\n \n validExtensions: this.$env.content.dataProviderInterface.uploadFileTypes?.split(',') || []\n };\n },\n computed: {\n\n ...mapGetters('auth', [\n 'getUserData',\n 'getIsEditMode'\n ]),\n ...mapGetters('dpiStore', [\n 'getData',\n ]),\n getCatalogue() {\n return getNode('dcat:catalog').value;\n }\n },\n methods: {\n ...mapActions('dpiStore', [\n 'saveLocalstorageValues',\n ]),\n toggleUploadUrl() {\n this.inputChoice = this.t('message.dataupload.datasets.conditional.fileupload')\n if (this.uploadURL) { this.uploadURL = !this.uploadURL }\n },\n toggleUploadFileSwitch() {\n this.inputChoice = this.t('message.dataupload.datasets.conditional.URL')\n if (this.uploadFileSwitch) { this.uploadFileSwitch = !this.uploadFileSwitch }\n },\n validateFile(event) {\n const file = event.target.files[0];\n const fileExtension = '.' + file.name.split('.').pop().toLowerCase();\n if (this.validExtensions && this.validExtensions.length) {\n if (!this.validExtensions.includes(fileExtension)) {\n console.log('Wrong filetype');\n } else {\n this.uploadOrReplaceFile({ file: event.target.files[0] })\n }\n } else {\n this.error = \"\"\n this.uploadOrReplaceFile({ file: event.target.files[0] })\n }\n },\n async saveUrl() {\n\n if (this.URLValue.includes('http://') || this.URLValue.includes('https://')) {\n await this.context.node.input({ '@id': this.URLValue, 'mode': this.inputChoice })\n }\n else await this.context.node.input({ '@id': 'https://' + this.URLValue, 'mode': this.inputChoice })\n\n },\n checkIfPresent() {\n // console.log(this.context.value['@id']);\n if (this.context.value['@id']) {\n // console.log(this.context.value['@id']);\n this.URLValue = this.context.value['@id']\n return true\n }\n else false\n },\n // finds the parent input group of a given element.\n findParentInputGroupOfElement(element) {\n // Start with the given element.\n let currentElement = element;\n\n // Traverse the DOM tree upwards.\n while (currentElement) {\n // If the current element is an input group, return it.\n if (currentElement.classList.contains('formkit-input-group-repeatable')) {\n return currentElement;\n }\n // If not, move to the parent element.\n currentElement = currentElement.parentElement;\n }\n\n // If no input group was found, return null.\n return null;\n },\n // finds the index of the distribution access URL based on the root of this component.\n findDistributionAccessUrlIndex() {\n // todo: find a more stable way to find the index of the distribution access URL.\n // this way uses the DOM tree, which is not stable.\n\n // Start at the root of this component.\n const rootElement = this.$refs.fileupload;\n\n // Find the parent input group of the root element.\n const parentInputGroup = this.findParentInputGroupOfElement(rootElement);\n if (!parentInputGroup) return null;\n\n // Get the parent element of all input groups.\n const parentOfAllInputGroups = parentInputGroup.parentElement;\n const allInputGroupsNodeList = parentOfAllInputGroups.querySelectorAll('.formkit-input-group-repeatable');\n const allInputGroupsArray = Array.from(allInputGroupsNodeList);\n\n // Find the index of the parent input group within the array of all input groups.\n const indexOfParentInputGroup = allInputGroupsArray.indexOf(parentInputGroup);\n\n return indexOfParentInputGroup;\n },\n async uploadOrReplaceFile({ file }) {\n\n const replaceEnabled = this.$env?.content?.dataProviderInterface?.enableFileUploadReplace || false;\n const wantsToReplace = this.$route.query?.edit ?? false;\n\n if (replaceEnabled && wantsToReplace) {\n const distributionIndexToReplace = this.$route.query?.edit;\n const fileIndexToReplace = this.findDistributionAccessUrlIndex();\n\n const targetDistribution = this.getData('distributions')?.[distributionIndexToReplace];\n const targetFile = targetDistribution?.['dcat:accessURL']?.[fileIndexToReplace];\n const accessUrl = targetFile?.['@id'];\n if (accessUrl) {\n const fileUploadUrl = this.$env.api.fileUploadUrl;\n\n const fileId = helper.getFileIdByAccessUrl({ accessUrl, fileUploadUrl })\n\n return await this.uploadFile(file, {\n method: 'PUT',\n url: `${this.$env.api.fileUploadUrl}data/${fileId}?catalog=${this.getCatalogue}`,\n });\n }\n\n }\n\n return await this.uploadFile(file);\n },\n async uploadFile(file, options = {}) {\n\n this.isLoading = true;\n\n const form = new FormData();\n form.append('file', file);\n\n const catalog = this.getCatalogue;\n const token = this.getUserData.rtpToken;\n\n const resolvedOptions = {\n method: 'POST',\n url: `${this.$env.api.fileUploadUrl}data?catalog=${catalog}`,\n ...options,\n };\n\n const requestOptions = {\n method: resolvedOptions.method,\n url: resolvedOptions.url,\n headers: {\n 'Content-Type': 'multipart/form-data',\n Authorization: `Bearer ${token}`,\n },\n data: form,\n };\n\n try {\n\n const result = await axios.request(requestOptions);\n const path = result.data.result.location.substring(result.data.result.location.indexOf('/') + 1);\n this.context.model = `${this.$env.api.fileUploadUrl}${path}`;\n this.isLoading = false;\n this.success = true;\n await this.context.node.input({ '@id': `${this.$env.api.fileUploadUrl}${path}` })\n // this.context.rootEmit('change');\n\n } catch (err) {\n\n this.isLoading = false;\n this.fail = true;\n console.error(err); // eslint-disable-line\n }\n },\n },\n mounted() {\n\n this.$nextTick(function () {\n\n if (this.context.value['@id']) {\n this.uploadURL = true\n this.URLValue = this.context.value['@id']\n this.inputChoice = \"Provide an URL\"\n return true\n }\n else false\n })\n },\n setup() {\n const { t } = useI18n();\n const env = useRuntimeEnv();\n \n\n\n var drop = reactive({\n active: false,\n })\n\n\n const fLoad = ref('fload');\n\n onClickOutside(fLoad, event => {\n drop.active = false\n })\n function triggerDropdown(e) {\n drop.active = !drop.active\n }\n\n return {\n drop,\n onClickOutside,\n triggerDropdown,\n t\n };\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n// @import '../../../styles/bootstrap_theme';\n// @import '../../../styles/utils/css-animations';\n.dURLText {}\n\n\n.accessUrl {\n .formkit-outer {}\n}\n\n.file-div {\n display: flex;\n align-items: center;\n}\n\n.upload-feedback {\n padding: 10px;\n}\n\n/*** MATERIAL ICONS ***/\n%modal-icon {\n font-size: 20px;\n cursor: default;\n}\n\n.check-icon {\n @extend %modal-icon;\n color: #28a745;\n}\n\n.close-icon {\n @extend %modal-icon;\n color: red;\n}\n\n.lds-ring {\n display: inline-block;\n position: relative;\n width: 30px;\n height: 30px;\n}\n\n.lds-ring div {\n box-sizing: border-box;\n display: block;\n position: absolute;\n right: 0;\n width: 30px;\n height: 30px;\n border: 8px solid lightgray;\n border-radius: 50%;\n animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n border-color: lightgray transparent transparent transparent;\n}\n\n.lds-ring div:nth-child(1) {\n animation-delay: -0.45s;\n}\n\n.lds-ring div:nth-child(2) {\n animation-delay: -0.3s;\n}\n\n.lds-ring div:nth-child(3) {\n animation-delay: -0.15s;\n}\n\n.error {\n color: red;\n}\n\n.errorSub {\n color: black;\n}\n\n@keyframes lds-ring {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.allowedFTypes {\n padding: 0.5rem;\n border-radius: 5px;\n border: 1px solid lightgrey;\n}\n\n.allowedTypesWrapper {\n max-width: 100%;\n display: flex;\n flex-wrap: wrap;\n}\n\n.fileuploadList {\n width: 96.7%;\n}\n</style>\n"],"names":["_sfc_main","_a","mapGetters","getNode","mapActions","event","fileExtension","element","currentElement","rootElement","parentInputGroup","allInputGroupsNodeList","file","replaceEnabled","_c","_b","wantsToReplace","_d","distributionIndexToReplace","_e","fileIndexToReplace","targetDistribution","_f","targetFile","_g","accessUrl","fileUploadUrl","fileId","helper","options","form","catalog","token","resolvedOptions","requestOptions","result","axios","path","err","useI18n","useRuntimeEnv","drop","reactive","fLoad","ref","onClickOutside","triggerDropdown","e","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_10","_withScopeId","_createElementVNode","_hoisted_13","_hoisted_16","_hoisted_19","_openBlock","_createElementBlock","_Fragment","_createVNode","_component_FormKit","$setup","$data","_cache","$event","_createTextVNode","_hoisted_2","$options","_ctx","_createCommentVNode","_hoisted_3","$props","_mergeProps","args","_vModelText","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_11","_hoisted_12","_hoisted_14","_hoisted_15","_toDisplayString","_hoisted_17","_hoisted_18","_renderList","types"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FileUpload.vue.mjs","sources":["../../../lib/data-provider-interface/components/FileUpload.vue"],"sourcesContent":["<template>\n\n <div class=\"position-relative w-100 \">\n <FormKit name=\"mode\" validation=\"required\" type=\"text\" class=\"selectInputField formkit-inner \" readonly=\"readonly\"\n @click=\"triggerDropdown()\" :placeholder=\"t('message.dataupload.info.preferredInput')\" v-model=\"inputChoice\" :validation-messages=\"{\n required: t('message.dataupload.info.preferredInput'),\n }\" />\n <ul ref=\"fLoad\" v-if=\"drop.active\" class=\"selectListUpload fileuploadList\">\n <li @click=\"uploadFileSwitch = true; toggleUploadUrl()\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{$t('message.dataupload.datasets.conditional.fileupload')}}</li>\n <li @click=\"uploadURL = true; toggleUploadFileSwitch()\"\n class=\"p-2 border-b border-gray-200 data-[selected=true]:bg-blue-100 choosableItemsAC\">{{$t('message.dataupload.datasets.conditional.URL')}}</li>\n </ul>\n </div>\n <div class=\"w-100 position-relative\" v-if=\"uploadURL && !uploadFileSwitch\">\n\n <FormKit id=\"aUrlLink\" v-model=\"URLValue\" class=\"selectInputField formkit-inner\" type=\"url\" name=\"@id\" :placeholder=\"context.attrs.placeholder\"\n @input=\"saveUrl\" validation=\"required|url\" validation-visibility=\"live\" :validation-messages=\"{\n required: t('message.dataupload.datasets.conditional.URL'),\n url: t('message.dataupload.info.urlFormat')\n }\" />\n\n </div>\n <div v-if=\"uploadFileSwitch\" ref=\"fileupload\" class=\"p-3 w-100\"\n :class=\"`formkit-input-element formkit-input-element--${context.type}`\" :data-type=\"context.type\" v-bind=\"$attrs\">\n <input type=\"text\" v-model=\"context.model\" @blur=\"context.blurHandler\" hidden />\n <div class=\"file-div position-relative\">\n <input class=\"mt-3\" type=\"file\" id=\"aUrlFL\" name=\"fileUpload\" @change=\"validateFile($event)\"\n :accept=\"validExtensions\">\n <div class=\"upload-feedback position-absolute d-flex\" style=\"right: 0\">\n <div v-if=\"isLoading\" class=\"lds-ring\">\n </div>\n <div v-if=\"success\"><i class=\"material-icons d-flex check-icon\">check_circle</i></div>\n <div v-if=\"fail\"><i class=\"material-icons d-flex close-icon\">error</i></div>\n </div>\n </div>\n <p class=\"dURLText my-3\" v-if=\"success\">{{ $t('message.metadata.downloadUrl') }}: <a :href=\"context.model\">{{\n context.model }}</a></p>\n <div v-if=\"validExtensions && validExtensions.length\" class=\"allowedTypesWrapper\">\n <p class=\"errorSub my-3 d-flex \" v-if=\"!success\">Allowed types: </p>\n <div class=\"d-flex flex-wrap w-100\">\n <span v-for=\"types in validExtensions\" :key=\"types\" class=\"mr-1 mb-1 allowedFTypes \">\n {{ types }}\n </span>\n </div>\n\n </div>\n\n\n </div>\n\n</template>\n\n<script>\n/* eslint-disable consistent-return, no-unused-vars */\nimport { mapGetters, mapActions } from 'vuex';\nimport axios from 'axios';\nimport helper from '../utils/general-helper'\nimport { getNode } from '@formkit/core'\n\nimport { reactive, ref, onMounted, computed } from 'vue';\nimport { onClickOutside } from '@vueuse/core'\nimport { useRuntimeEnv } from \"../../composables/useRuntimeEnv.ts\";\nimport { FormKit } from '@formkit/vue';\nimport { useI18n } from 'vue-i18n';\n\nexport default {\n props: {\n context: {\n type: Object,\n required: true,\n },\n },\n\n data() {\n return {\n inputChoice: '',\n error: '',\n URLValue: '',\n uploadURL: false,\n uploadFileSwitch: false,\n checkifSet: false,\n isLoading: false,\n success: false,\n fail: false,\n \n validExtensions: this.$env.content.dataProviderInterface.uploadFileTypes?.split(',') || []\n };\n },\n computed: {\n\n ...mapGetters('auth', [\n 'getUserData',\n 'getIsEditMode'\n ]),\n ...mapGetters('dpiStore', [\n 'getData',\n ]),\n getCatalogue() {\n return getNode('dcat:catalog').value;\n }\n },\n methods: {\n ...mapActions('dpiStore', [\n 'saveLocalstorageValues',\n ]),\n toggleUploadUrl() {\n this.inputChoice = this.t('message.dataupload.datasets.conditional.fileupload')\n if (this.uploadURL) { this.uploadURL = !this.uploadURL }\n },\n toggleUploadFileSwitch() {\n this.inputChoice = this.t('message.dataupload.datasets.conditional.URL')\n if (this.uploadFileSwitch) { this.uploadFileSwitch = !this.uploadFileSwitch }\n },\n validateFile(event) {\n const file = event.target.files[0];\n const fileExtension = '.' + file.name.split('.').pop().toLowerCase();\n if (this.validExtensions && this.validExtensions.length) {\n if (!this.validExtensions.includes(fileExtension)) {\n console.log('Wrong filetype');\n } else {\n this.uploadOrReplaceFile({ file: event.target.files[0] })\n }\n } else {\n this.error = \"\"\n this.uploadOrReplaceFile({ file: event.target.files[0] })\n }\n },\n async saveUrl() {\n\n if (this.URLValue.includes('http://') || this.URLValue.includes('https://')) {\n await this.context.node.input({ '@id': this.URLValue, 'mode': this.inputChoice })\n }\n else await this.context.node.input({ '@id': 'https://' + this.URLValue, 'mode': this.inputChoice })\n\n },\n checkIfPresent() {\n // console.log(this.context.value['@id']);\n if (this.context.value['@id']) {\n // console.log(this.context.value['@id']);\n this.URLValue = this.context.value['@id']\n return true\n }\n else false\n },\n // finds the parent input group of a given element.\n findParentInputGroupOfElement(element) {\n // Start with the given element.\n let currentElement = element;\n\n // Traverse the DOM tree upwards.\n while (currentElement) {\n // If the current element is an input group, return it.\n if (currentElement.classList.contains('formkit-input-group-repeatable')) {\n return currentElement;\n }\n // If not, move to the parent element.\n currentElement = currentElement.parentElement;\n }\n\n // If no input group was found, return null.\n return null;\n },\n // finds the index of the distribution access URL based on the root of this component.\n findDistributionAccessUrlIndex() {\n // todo: find a more stable way to find the index of the distribution access URL.\n // this way uses the DOM tree, which is not stable.\n\n // Start at the root of this component.\n const rootElement = this.$refs.fileupload;\n\n // Find the parent input group of the root element.\n const parentInputGroup = this.findParentInputGroupOfElement(rootElement);\n if (!parentInputGroup) return null;\n\n // Get the parent element of all input groups.\n const parentOfAllInputGroups = parentInputGroup.parentElement;\n const allInputGroupsNodeList = parentOfAllInputGroups.querySelectorAll('.formkit-input-group-repeatable');\n const allInputGroupsArray = Array.from(allInputGroupsNodeList);\n\n // Find the index of the parent input group within the array of all input groups.\n const indexOfParentInputGroup = allInputGroupsArray.indexOf(parentInputGroup);\n\n return indexOfParentInputGroup;\n },\n async uploadOrReplaceFile({ file }) {\n\n const replaceEnabled = this.$env?.content?.dataProviderInterface?.enableFileUploadReplace || false;\n const wantsToReplace = this.$route.query?.edit ?? false;\n\n if (replaceEnabled && wantsToReplace) {\n const distributionIndexToReplace = this.$route.query?.edit;\n const fileIndexToReplace = this.findDistributionAccessUrlIndex();\n\n const targetDistribution = this.getData('distributions')?.[distributionIndexToReplace];\n const targetFile = targetDistribution?.['dcat:accessURL']?.[fileIndexToReplace];\n const accessUrl = targetFile?.['@id'];\n if (accessUrl) {\n const fileUploadUrl = this.$env.api.fileUploadUrl;\n\n const fileId = helper.getFileIdByAccessUrl({ accessUrl, fileUploadUrl })\n\n return await this.uploadFile(file, {\n method: 'PUT',\n url: `${this.$env.api.fileUploadUrl}data/${fileId}?catalog=${this.getCatalogue}`,\n });\n }\n\n }\n\n return await this.uploadFile(file);\n },\n async uploadFile(file, options = {}) {\n\n this.isLoading = true;\n\n const form = new FormData();\n form.append('file', file);\n\n const catalog = this.getCatalogue;\n const token = this.getUserData.rtpToken;\n\n const resolvedOptions = {\n method: 'POST',\n url: `${this.$env.api.fileUploadUrl}data?catalog=${catalog}`,\n ...options,\n };\n\n const requestOptions = {\n method: resolvedOptions.method,\n url: resolvedOptions.url,\n headers: {\n 'Content-Type': 'multipart/form-data',\n Authorization: `Bearer ${token}`,\n },\n data: form,\n };\n\n try {\n\n const result = await axios.request(requestOptions);\n const path = result.data.result.location.substring(result.data.result.location.indexOf('/') + 1);\n this.context.model = `${this.$env.api.fileUploadUrl}${path}`;\n this.isLoading = false;\n this.success = true;\n await this.context.node.input({ '@id': `${this.$env.api.fileUploadUrl}${path}` })\n // this.context.rootEmit('change');\n\n } catch (err) {\n\n this.isLoading = false;\n this.fail = true;\n console.error(err); // eslint-disable-line\n }\n },\n },\n mounted() {\n\n this.$nextTick(function () {\n\n if (this.context.value['@id']) {\n this.uploadURL = true\n this.URLValue = this.context.value['@id']\n this.inputChoice = \"Provide an URL\"\n return true\n }\n else false\n })\n },\n setup() {\n const { t } = useI18n();\n const env = useRuntimeEnv();\n \n\n\n var drop = reactive({\n active: false,\n })\n\n\n const fLoad = ref('fload');\n\n onClickOutside(fLoad, event => {\n drop.active = false\n })\n function triggerDropdown(e) {\n drop.active = !drop.active\n }\n\n return {\n drop,\n onClickOutside,\n triggerDropdown,\n t\n };\n }\n};\n</script>\n\n<style lang=\"scss\" scoped>\n// @import '../../../styles/bootstrap_theme';\n// @import '../../../styles/utils/css-animations';\n.dURLText {}\n\n\n.accessUrl {\n .formkit-outer {}\n}\n\n.file-div {\n display: flex;\n align-items: center;\n}\n\n.upload-feedback {\n padding: 10px;\n}\n\n/*** MATERIAL ICONS ***/\n%modal-icon {\n font-size: 20px;\n cursor: default;\n}\n\n.check-icon {\n @extend %modal-icon;\n color: #28a745;\n}\n\n.close-icon {\n @extend %modal-icon;\n color: red;\n}\n\n.lds-ring {\n display: inline-block;\n position: relative;\n width: 30px;\n height: 30px;\n}\n\n.lds-ring div {\n box-sizing: border-box;\n display: block;\n position: absolute;\n right: 0;\n width: 30px;\n height: 30px;\n border: 8px solid lightgray;\n border-radius: 50%;\n animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n border-color: lightgray transparent transparent transparent;\n}\n\n.lds-ring div:nth-child(1) {\n animation-delay: -0.45s;\n}\n\n.lds-ring div:nth-child(2) {\n animation-delay: -0.3s;\n}\n\n.lds-ring div:nth-child(3) {\n animation-delay: -0.15s;\n}\n\n.error {\n color: red;\n}\n\n.errorSub {\n color: black;\n}\n\n@keyframes lds-ring {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.allowedFTypes {\n padding: 0.5rem;\n border-radius: 5px;\n border: 1px solid lightgrey;\n}\n\n.allowedTypesWrapper {\n max-width: 100%;\n display: flex;\n flex-wrap: wrap;\n}\n\n.fileuploadList {\n width: 96.7%;\n}\n</style>\n"],"names":["_sfc_main","_a","mapGetters","getNode","mapActions","event","fileExtension","element","currentElement","rootElement","parentInputGroup","allInputGroupsNodeList","file","replaceEnabled","_c","_b","wantsToReplace","_d","distributionIndexToReplace","_e","fileIndexToReplace","targetDistribution","_f","targetFile","_g","accessUrl","fileUploadUrl","fileId","helper","options","form","catalog","token","resolvedOptions","requestOptions","result","axios","path","err","t","useI18n","useRuntimeEnv","drop","reactive","fLoad","ref","onClickOutside","triggerDropdown","e","_hoisted_1","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_12","_hoisted_15","_openBlock","_createElementBlock","_Fragment","_createElementVNode","_createVNode","_component_FormKit","$setup","$data","_cache","$event","_createTextVNode","_hoisted_2","$options","_ctx","_createCommentVNode","_hoisted_3","$props","_mergeProps","args","_vModelText","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_toDisplayString","_hoisted_13","_hoisted_14","_renderList","types"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const _default: import('vue').DefineComponent<{
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
2
2
|
context: {
|
|
3
3
|
type: ObjectConstructor;
|
|
4
4
|
required: true;
|
|
@@ -11,7 +11,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
11
11
|
type: BooleanConstructor;
|
|
12
12
|
default: boolean;
|
|
13
13
|
};
|
|
14
|
-
}
|
|
14
|
+
}>, {}, {
|
|
15
15
|
isCollapsed: boolean;
|
|
16
16
|
}, {
|
|
17
17
|
propertyIsEmpty(): any;
|
|
@@ -31,8 +31,8 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
31
31
|
type: BooleanConstructor;
|
|
32
32
|
default: boolean;
|
|
33
33
|
};
|
|
34
|
-
}
|
|
34
|
+
}>> & Readonly<{}>, {
|
|
35
35
|
collapsed: boolean;
|
|
36
36
|
info: string | boolean;
|
|
37
|
-
}, {}>;
|
|
37
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
38
38
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mapGetters as m } from "vuex";
|
|
2
2
|
import { isEmpty as a, has as s, isArray as g } from "lodash-es";
|
|
3
|
-
import { openBlock as l, createElementBlock as r, createElementVNode as i, withModifiers as h, toDisplayString as
|
|
3
|
+
import { openBlock as l, createElementBlock as r, createElementVNode as i, withModifiers as h, toDisplayString as d, createTextVNode as c, createCommentVNode as u } from "vue";
|
|
4
4
|
import "./InfoSlot.vue2.mjs";
|
|
5
5
|
import "./InfoSlot.vue3.mjs";
|
|
6
6
|
import _ from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
@@ -28,8 +28,8 @@ const y = "collapsed", x = {
|
|
|
28
28
|
"getData"
|
|
29
29
|
]),
|
|
30
30
|
propertyIsEmpty() {
|
|
31
|
-
let t,
|
|
32
|
-
return this.$route.params.property === "distributions" && (
|
|
31
|
+
let t, e = this.getData(this.$route.params.property);
|
|
32
|
+
return this.$route.params.property === "distributions" && (e = e[this.$route.params.id]), t = e[this.context.name], a(t) || s(t, "skos:exactMatch") && s(t["skos:exactMatch"], "@id") && a(t["skos:exactMatch"]["@id"]) ? !0 : s(t, "@language") && s(t, "@value") ? a(t["@value"]) : g(t) ? t.map((o) => s(o, "@language") && s(o, "@value") && a(o["@value"]) ? !0 : !!a(o)).reduce((o, n) => o && n, !0) : !1;
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
mounted() {
|
|
@@ -38,8 +38,8 @@ const y = "collapsed", x = {
|
|
|
38
38
|
methods: {
|
|
39
39
|
toggleCollapse() {
|
|
40
40
|
const t = this.$el;
|
|
41
|
-
for (const
|
|
42
|
-
|
|
41
|
+
for (const e of t.parentNode.children)
|
|
42
|
+
e !== t && !e.classList.contains("formkit-input-help") && e.classList.toggle("d-none");
|
|
43
43
|
t.parentNode.classList.toggle(y), this.isCollapsed = !this.isCollapsed;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -50,30 +50,30 @@ const y = "collapsed", x = {
|
|
|
50
50
|
key: 0,
|
|
51
51
|
class: "material-icons"
|
|
52
52
|
};
|
|
53
|
-
function L(t,
|
|
53
|
+
function L(t, e, o, n, N, p) {
|
|
54
54
|
return l(), r("label", {
|
|
55
|
-
for:
|
|
55
|
+
for: o.context.id,
|
|
56
56
|
class: "w-100"
|
|
57
57
|
}, [
|
|
58
58
|
i("button", {
|
|
59
59
|
class: "btn p-0 w-100 d-flex align-items-center justify-content-between",
|
|
60
60
|
"data-cy": "collapsible-input-group-button",
|
|
61
|
-
onClick:
|
|
61
|
+
onClick: e[0] || (e[0] = h((...f) => p.toggleCollapse && p.toggleCollapse(...f), ["prevent", "stop"]))
|
|
62
62
|
}, [
|
|
63
63
|
i("div", C, [
|
|
64
|
-
i("span", k,
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
i("span", k, d(o.context.label), 1),
|
|
65
|
+
e[1] || (e[1] = c()),
|
|
66
|
+
o.info ? (l(), r("a", S, [
|
|
67
67
|
i("i", {
|
|
68
68
|
class: "material-icons",
|
|
69
|
-
title:
|
|
69
|
+
title: o.info,
|
|
70
70
|
"data-toggle": "tooltip",
|
|
71
71
|
"data-placement": "top"
|
|
72
72
|
}, "info", 8, v)
|
|
73
73
|
])) : u("", !0)
|
|
74
74
|
]),
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
e[2] || (e[2] = c()),
|
|
76
|
+
o.context.isSubField() ? u("", !0) : (l(), r("i", E, d(t.isCollapsed ? "expand_more" : "expand_less"), 1))
|
|
77
77
|
])
|
|
78
78
|
], 8, b);
|
|
79
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoSlot.vue.mjs","sources":["../../../lib/data-provider-interface/components/InfoSlot.vue"],"sourcesContent":["<template>\n <label :for=\"context.id\" class=\"w-100\">\n <button\n class=\"btn p-0 w-100 d-flex align-items-center justify-content-between\"\n data-cy=\"collapsible-input-group-button\"\n @click.prevent.stop=\"toggleCollapse\"\n >\n <div class=\"\">\n <span class=\"form-label\">{{ context.label }}</span>\n <a v-if=\"info\" class=\"infoButton\"><i class=\"material-icons\" :title=\"info\"\n data-toggle=\"tooltip\"\n data-placement=\"top\">info</i>\n </a>\n </div>\n <i\n v-if=\"!context.isSubField()\"\n class=\"material-icons\">\n {{ isCollapsed ? 'expand_more' : 'expand_less' }}\n </i>\n </button>\n </label>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport {\n has,\n isArray,\n isEmpty,\n} from 'lodash';\nconst COLLAPSED_CLASS_NAME = 'collapsed';\n\nexport default {\n data: () => ({\n isCollapsed: false,\n }),\n props: {\n context: {\n type: Object,\n required: true,\n },\n info: {\n type: [String, Boolean],\n default: false,\n },\n collapsed: {\n // if true, the fieldset will be collapsed by default\n type: Boolean,\n default: false,\n },\n },\n computed: {\n ...mapGetters('dpiStore', [\n 'getData',\n ]),\n propertyIsEmpty() {\n let property;\n let data = this.getData(this.$route.params.property);\n if (this.$route.params.property === 'distributions') data = data[this.$route.params.id];\n\n property = data[this.context.name];\n\n if (!isEmpty(property)) {\n if (has(property, 'skos:exactMatch') && has(property['skos:exactMatch'], '@id') && isEmpty(property['skos:exactMatch']['@id'])) return true\n if (has(property, '@language') && has(property, '@value')) return isEmpty(property['@value']);\n if (isArray(property)) {\n return property\n .map(el => {\n if (has(el, '@language') && has(el, '@value') && isEmpty(el['@value'])) return true;\n if (!isEmpty(el)) return false;\n return true;\n })\n .reduce((a,b) => {\n return a && b;\n }, true);\n }\n return false;\n } else return true;\n },\n },\n mounted() {\n if (this.collapsed && this.propertyIsEmpty) {\n this.toggleCollapse();\n }\n },\n methods: {\n toggleCollapse() {\n // Collapse the input fields using DOM manipulation.\n // todo: find a more elegant way to do this using vue.\n\n const element = this.$el;\n for (const sibling of element.parentNode.children) {\n // Siblings only with the exception of elements with class=\"formkit-input-help\"\n if (sibling !== element && !sibling.classList.contains('formkit-input-help')) {\n // toggle display:none!important on sibling\n sibling.classList.toggle('d-none');\n }\n }\n // add collapse class to the element\n element.parentNode.classList.toggle(COLLAPSED_CLASS_NAME);\n this.isCollapsed = !this.isCollapsed;\n },\n },\n};\n</script>\n\n<style>\n .collapsed .d-none {\n display: none !important;\n }\n</style>\n\n<style scoped>\n.infoButton{\n border-radius: 5px;\n cursor: pointer;\n}\n\n.infoButton .material-icons {\n font-size: 20px;\n vertical-align: text-bottom;\n margin-left: 5px;\n margin-bottom: 1px;\n}\n\n.form-label {\n font-size: 20px;\n}\n</style>\n"],"names":["COLLAPSED_CLASS_NAME","_sfc_main","mapGetters","property","data","isEmpty","has","isArray","el","a","b","element","sibling","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_5","_createElementBlock","$props","_createElementVNode","_cache","_withModifiers","$options","args","_toDisplayString","_createTextVNode","_openBlock","_hoisted_4","_createCommentVNode","_hoisted_6","_ctx"],"mappings":";;;;;;AA8BA,MAAMA,IAAuB,aAExBC,IAAU;AAAA,EACb,MAAM,OAAO;AAAA,IACX,aAAa;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACD,MAAM;AAAA,MACJ,MAAM,CAAC,QAAQ,OAAO;AAAA,MACtB,SAAS;AAAA,IACV;AAAA,IACD,WAAW;AAAA;AAAA,MAET,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,YAAY;AAAA,MACxB;AAAA,IACF,CAAC;AAAA,IACD,kBAAkB;AAChB,UAAIC,GACAC,IAAO,KAAK,QAAQ,KAAK,OAAO,OAAO,QAAQ;AAKnD,aAJI,KAAK,OAAO,OAAO,aAAa,oBAAkBA,IAAOA,EAAK,KAAK,OAAO,OAAO,EAAE,IAEvFD,IAAWC,EAAK,KAAK,QAAQ,IAAI,GAE5BC,EAAQF,CAAQ,KACfG,EAAIH,GAAU,iBAAiB,KAAKG,EAAIH,EAAS,iBAAiB,GAAG,KAAK,KAAKE,EAAQF,EAAS,iBAAiB,EAAE,KAAK,CAAC,IAcjH,KAbRG,EAAIH,GAAU,WAAW,KAAKG,EAAIH,GAAU,QAAQ,IAAUE,EAAQF,EAAS,QAAQ,CAAC,IACxFI,EAAQJ,CAAQ,IACXA,EACN,IAAI,CAAAK,MACCF,EAAIE,GAAI,WAAW,KAAKF,EAAIE,GAAI,QAAQ,KAAKH,EAAQG,EAAG,QAAQ,CAAC,IAAU,KAC1E,EAAAH,EAAQG,CAAE,CAEhB,EACA,OAAO,CAACC,GAAEC,MACFD,KAAKC,GACX,EAAI,IAEF;AAAA,IAEV;AAAA,EACF;AAAA,EACD,UAAU;AACR,IAAI,KAAK,aAAa,KAAK,mBACzB,KAAK,eAAc;AAAA,EAEtB;AAAA,EACD,SAAS;AAAA,IACP,iBAAiB;AAIf,YAAMC,IAAU,KAAK;AACrB,iBAAWC,KAAWD,EAAQ,WAAW;AAEvC,QAAIC,MAAYD,KAAW,CAACC,EAAQ,UAAU,SAAS,oBAAoB,KAEzEA,EAAQ,UAAU,OAAO,QAAQ;AAIrC,MAAAD,EAAQ,WAAW,UAAU,OAAOX,CAAoB,GACxD,KAAK,cAAc,CAAC,KAAK;AAAA,IAC1B;AAAA,EACF;AACH,GAvGAa,IAAA,CAAA,KAAA,GAOWC,IAAA,EAAA,OAAM,GAAE,GACLC,IAAA,EAAA,OAAM,aAAY;EARhC,KAAA;AAAA,EASuB,OAAM;GAT7BC,IAAA,CAAA,OAAA;EAAA,KAAA;AAAA,EAgBQ,OAAM;;;cAfZC,EAmBQ,SAAA;AAAA,IAnBA,KAAKC,EAAO,QAAC;AAAA,IAAI,OAAM;AAAA;IAC7BC,EAiBS,UAAA;AAAA,MAhBP,OAAM;AAAA,MACN,WAAQ;AAAA,MACP,SAAKC,EAAA,CAAA,MAAAA,EAAA,CAAA,IALZC,YAK2BC,EAAc,kBAAAA,EAAA,eAAA,GAAAC,CAAA,GAAA,CAAA,WAAA,MAAA,CAAA;AAAA;MAEnCJ,EAMM,OANNL,GAMM;AAAA,QALJK,EAAmD,QAAnDJ,GAA4BS,EAAAN,EAAA,QAAQ,KAAK,GAAA,CAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"InfoSlot.vue.mjs","sources":["../../../lib/data-provider-interface/components/InfoSlot.vue"],"sourcesContent":["<template>\n <label :for=\"context.id\" class=\"w-100\">\n <button\n class=\"btn p-0 w-100 d-flex align-items-center justify-content-between\"\n data-cy=\"collapsible-input-group-button\"\n @click.prevent.stop=\"toggleCollapse\"\n >\n <div class=\"\">\n <span class=\"form-label\">{{ context.label }}</span>\n <a v-if=\"info\" class=\"infoButton\"><i class=\"material-icons\" :title=\"info\"\n data-toggle=\"tooltip\"\n data-placement=\"top\">info</i>\n </a>\n </div>\n <i\n v-if=\"!context.isSubField()\"\n class=\"material-icons\">\n {{ isCollapsed ? 'expand_more' : 'expand_less' }}\n </i>\n </button>\n </label>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex';\nimport {\n has,\n isArray,\n isEmpty,\n} from 'lodash';\nconst COLLAPSED_CLASS_NAME = 'collapsed';\n\nexport default {\n data: () => ({\n isCollapsed: false,\n }),\n props: {\n context: {\n type: Object,\n required: true,\n },\n info: {\n type: [String, Boolean],\n default: false,\n },\n collapsed: {\n // if true, the fieldset will be collapsed by default\n type: Boolean,\n default: false,\n },\n },\n computed: {\n ...mapGetters('dpiStore', [\n 'getData',\n ]),\n propertyIsEmpty() {\n let property;\n let data = this.getData(this.$route.params.property);\n if (this.$route.params.property === 'distributions') data = data[this.$route.params.id];\n\n property = data[this.context.name];\n\n if (!isEmpty(property)) {\n if (has(property, 'skos:exactMatch') && has(property['skos:exactMatch'], '@id') && isEmpty(property['skos:exactMatch']['@id'])) return true\n if (has(property, '@language') && has(property, '@value')) return isEmpty(property['@value']);\n if (isArray(property)) {\n return property\n .map(el => {\n if (has(el, '@language') && has(el, '@value') && isEmpty(el['@value'])) return true;\n if (!isEmpty(el)) return false;\n return true;\n })\n .reduce((a,b) => {\n return a && b;\n }, true);\n }\n return false;\n } else return true;\n },\n },\n mounted() {\n if (this.collapsed && this.propertyIsEmpty) {\n this.toggleCollapse();\n }\n },\n methods: {\n toggleCollapse() {\n // Collapse the input fields using DOM manipulation.\n // todo: find a more elegant way to do this using vue.\n\n const element = this.$el;\n for (const sibling of element.parentNode.children) {\n // Siblings only with the exception of elements with class=\"formkit-input-help\"\n if (sibling !== element && !sibling.classList.contains('formkit-input-help')) {\n // toggle display:none!important on sibling\n sibling.classList.toggle('d-none');\n }\n }\n // add collapse class to the element\n element.parentNode.classList.toggle(COLLAPSED_CLASS_NAME);\n this.isCollapsed = !this.isCollapsed;\n },\n },\n};\n</script>\n\n<style>\n .collapsed .d-none {\n display: none !important;\n }\n</style>\n\n<style scoped>\n.infoButton{\n border-radius: 5px;\n cursor: pointer;\n}\n\n.infoButton .material-icons {\n font-size: 20px;\n vertical-align: text-bottom;\n margin-left: 5px;\n margin-bottom: 1px;\n}\n\n.form-label {\n font-size: 20px;\n}\n</style>\n"],"names":["COLLAPSED_CLASS_NAME","_sfc_main","mapGetters","property","data","isEmpty","has","isArray","el","a","b","element","sibling","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_5","_createElementBlock","$props","_createElementVNode","_cache","_withModifiers","$options","args","_toDisplayString","_createTextVNode","_openBlock","_hoisted_4","_createCommentVNode","_hoisted_6","_ctx"],"mappings":"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"}
|