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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/dist/PvBadge/PvBadge.vue.mjs.map +1 -1
  2. package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs +2 -1
  3. package/dist/PvDataInfoBox/PvDataInfoBox.vue.mjs.map +1 -1
  4. package/dist/PvDataInfoBox/PvDataInfoBoxDescription.vue.mjs.map +1 -1
  5. package/dist/PvDataInfoBox/PvDataInfoBoxFooter.vue.mjs.map +1 -1
  6. package/dist/PvDataInfoBox/PvDataInfoBoxFormats.vue.mjs.map +1 -1
  7. package/dist/catalogues/CatalogPage.vue.mjs.map +1 -1
  8. package/dist/catalogues/CatalogPageDatasetCard.vue.mjs +6 -5
  9. package/dist/catalogues/CatalogPageDatasetCard.vue.mjs.map +1 -1
  10. package/dist/catalogues/Catalogues.vue.mjs.map +1 -1
  11. package/dist/catalogues/cataloguesFacets/CataloguesFacets.vue.mjs.map +1 -1
  12. package/dist/citation/DatasetCitationModal.vue.mjs.map +1 -1
  13. package/dist/citation/DatasetCitationTable.vue.mjs.map +1 -1
  14. package/dist/composables/useRuntimeEnv.d.ts +2 -2
  15. package/dist/configurations/config-schema/apiSchema.mjs +1 -1
  16. package/dist/configurations/config-schema/authenticationSchema.mjs +1 -1
  17. package/dist/configurations/config-schema/configSchema.d.ts +5 -5
  18. package/dist/configurations/config-schema/configSchema.mjs +18 -18
  19. package/dist/configurations/config-schema/contentSchema.mjs +1 -1
  20. package/dist/configurations/config-schema/languagesSchema.d.ts +2 -2
  21. package/dist/configurations/config-schema/languagesSchema.mjs +1 -1
  22. package/dist/configurations/config-schema/metadataSchema.mjs +1 -1
  23. package/dist/configurations/config-schema/routingSchema.mjs +1 -1
  24. package/dist/configurations/config-schema/themesSchema.mjs +1 -1
  25. package/dist/configurations/config-schema/trackerSchema.mjs +1 -1
  26. package/dist/data-provider-interface/CatalogueMQA.vue.mjs.map +1 -1
  27. package/dist/data-provider-interface/DPIMenu.vue.d.ts +10 -10
  28. package/dist/data-provider-interface/DPIMenu.vue.mjs.map +1 -1
  29. package/dist/data-provider-interface/DataProviderInterface.vue.d.ts +15 -17
  30. package/dist/data-provider-interface/DataProviderInterface.vue.mjs.map +1 -1
  31. package/dist/data-provider-interface/components/AutocompleteInput.vue.mjs.map +1 -1
  32. package/dist/data-provider-interface/components/ConditionalInput.vue.mjs.map +1 -1
  33. package/dist/data-provider-interface/components/DataFetchingComponent.vue.d.ts +2 -2
  34. package/dist/data-provider-interface/components/DistributionStepper.vue.mjs +2 -1
  35. package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
  36. package/dist/data-provider-interface/components/Dropup.vue.d.ts +1 -1
  37. package/dist/data-provider-interface/components/Dropup.vue.mjs.map +1 -1
  38. package/dist/data-provider-interface/components/FileUpload.vue.d.ts +1 -1
  39. package/dist/data-provider-interface/components/FileUpload.vue.mjs.map +1 -1
  40. package/dist/data-provider-interface/components/InfoSlot.vue.mjs.map +1 -1
  41. package/dist/data-provider-interface/components/InputPageStep.vue.mjs.map +1 -1
  42. package/dist/data-provider-interface/components/LanguageSelector.vue.mjs.map +1 -1
  43. package/dist/data-provider-interface/components/Navigation.vue.d.ts +8 -8
  44. package/dist/data-provider-interface/components/Navigation.vue.mjs.map +1 -1
  45. package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs +2 -1
  46. package/dist/data-provider-interface/components/SelectControlledGroup.vue.mjs.map +1 -1
  47. package/dist/data-provider-interface/components/SimpleAccessURLInput.vue.mjs.map +1 -1
  48. package/dist/data-provider-interface/components/SimpleInput.vue.mjs.map +1 -1
  49. package/dist/data-provider-interface/components/SimpleSelect.vue.mjs.map +1 -1
  50. package/dist/data-provider-interface/components/SpatialInput.vue.mjs.map +1 -1
  51. package/dist/data-provider-interface/components/UniqueIdentifierInput.vue.mjs.map +1 -1
  52. package/dist/data-provider-interface/components/WidgetInput.vue.mjs.map +1 -1
  53. package/dist/data-provider-interface/views/DistributionInputPage.vue.mjs.map +1 -1
  54. package/dist/data-provider-interface/views/DistributionOverview.vue.d.ts +2 -2
  55. package/dist/data-provider-interface/views/DistributionOverview.vue.mjs.map +1 -1
  56. package/dist/data-provider-interface/views/DraftsPage.vue.d.ts +5 -5
  57. package/dist/data-provider-interface/views/DraftsPage.vue.mjs +19 -14
  58. package/dist/data-provider-interface/views/DraftsPage.vue.mjs.map +1 -1
  59. package/dist/data-provider-interface/views/InputPage.vue.d.ts +12 -14
  60. package/dist/data-provider-interface/views/InputPage.vue.mjs +4 -2
  61. package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
  62. package/dist/data-provider-interface/views/LinkedDataViewer.vue.mjs.map +1 -1
  63. package/dist/data-provider-interface/views/OverviewPage/CatalogueOverview.vue.mjs.map +1 -1
  64. package/dist/data-provider-interface/views/OverviewPage/DatasetOverview.vue.mjs.map +1 -1
  65. package/dist/data-provider-interface/views/OverviewPage/DistributionOverview.vue.mjs.map +1 -1
  66. package/dist/data-provider-interface/views/OverviewPage/Properties/MultilingualProp.vue.mjs.map +1 -1
  67. package/dist/data-provider-interface/views/OverviewPage/Properties/SpecialProp.vue.mjs.map +1 -1
  68. package/dist/data-provider-interface/views/OverviewPage/Properties/StringProp.vue.mjs.map +1 -1
  69. package/dist/data-provider-interface/views/OverviewPage/Properties/URIProp.vue.mjs.map +1 -1
  70. package/dist/data-provider-interface/views/OverviewPage/Properties/URLProp.vue.mjs.map +1 -1
  71. package/dist/data-provider-interface/views/OverviewPage/PropertyEntry.vue.mjs.map +1 -1
  72. package/dist/data-provider-interface/views/OverviewPage.vue.d.ts +3 -5
  73. package/dist/data-provider-interface/views/OverviewPage.vue.mjs.map +1 -1
  74. package/dist/data-provider-interface/views/PropertyChooser.vue.mjs.map +1 -1
  75. package/dist/data-provider-interface/views/UserCataloguesPage.vue.mjs.map +1 -1
  76. package/dist/data-provider-interface/views/UserProfilePage.vue.mjs.map +1 -1
  77. package/dist/datasetDetails/AppMarkdownContent.vue.mjs.map +1 -1
  78. package/dist/datasetDetails/DatasetDetails.vue.mjs.map +1 -1
  79. package/dist/datasetDetails/DatasetDetailsActivityStream.vue.mjs.map +1 -1
  80. package/dist/datasetDetails/DatasetDetailsBanners.vue.d.ts +1 -3
  81. package/dist/datasetDetails/DatasetDetailsBanners.vue.mjs.map +1 -1
  82. package/dist/datasetDetails/DatasetDetailsCSVLinter.vue.mjs.map +1 -1
  83. package/dist/datasetDetails/DatasetDetailsCategories.vue.mjs.map +1 -1
  84. package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs +3 -2
  85. package/dist/datasetDetails/DatasetDetailsDataset.vue.mjs.map +1 -1
  86. package/dist/datasetDetails/DatasetDetailsDataset.vue2.mjs +61 -50
  87. package/dist/datasetDetails/DatasetDetailsDataset.vue2.mjs.map +1 -1
  88. package/dist/datasetDetails/DatasetDetailsDescription.vue.d.ts +1 -3
  89. package/dist/datasetDetails/DatasetDetailsDescription.vue.mjs.map +1 -1
  90. package/dist/datasetDetails/DatasetDetailsFeedbackButton.vue.mjs.map +1 -1
  91. package/dist/datasetDetails/DatasetDetailsLinkedMetricsButton.vue.mjs.map +1 -1
  92. package/dist/datasetDetails/DatasetDetailsQuality.vue.mjs.map +1 -1
  93. package/dist/datasetDetails/DatasetDetailsShareButton.vue.mjs.map +1 -1
  94. package/dist/datasetDetails/DatasetDetailsSimilarDatasets.vue.mjs.map +1 -1
  95. package/dist/datasetDetails/DatasetDetailsSkeleton.vue.mjs.map +1 -1
  96. package/dist/datasetDetails/distributions/Distribution.vue.mjs.map +1 -1
  97. package/dist/datasetDetails/distributions/DistributionAdded.vue.mjs.map +1 -1
  98. package/dist/datasetDetails/distributions/DistributionDownloadAsModal.vue.mjs.map +1 -1
  99. package/dist/datasetDetails/distributions/DistributionFormat.vue.d.ts +2 -2
  100. package/dist/datasetDetails/distributions/DistributionFormat.vue.mjs.map +1 -1
  101. package/dist/datasetDetails/distributions/Distributions.vue.mjs.map +1 -1
  102. package/dist/datasetDetails/distributions/DistributionsHeader.vue.d.ts +4 -4
  103. package/dist/datasetDetails/distributions/DistributionsHeader.vue.mjs.map +1 -1
  104. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.d.ts +8 -8
  105. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs +2 -1
  106. package/dist/datasetDetails/distributions/DownloadAllDistributions.vue.mjs.map +1 -1
  107. package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs +7 -5
  108. package/dist/datasetDetails/distributions/FadingDistributionOverlay.vue.mjs.map +1 -1
  109. package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs +6 -5
  110. package/dist/datasetDetails/distributions/distributionActions/DistributionActions.vue.mjs.map +1 -1
  111. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.d.ts +2 -2
  112. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs +15 -12
  113. package/dist/datasetDetails/distributions/distributionActions/DistributionDownload.vue.mjs.map +1 -1
  114. package/dist/datasetDetails/distributions/distributionActions/DistributionDownloadAs.vue.mjs.map +1 -1
  115. package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.d.ts +2 -2
  116. package/dist/datasetDetails/distributions/distributionActions/DistributionDropdownDownload.vue.mjs.map +1 -1
  117. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.d.ts +4 -4
  118. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs +6 -5
  119. package/dist/datasetDetails/distributions/distributionActions/DistributionOptionsDropdown.vue.mjs.map +1 -1
  120. package/dist/datasetDetails/distributions/distributionActions/DistributionPreview.vue.d.ts +4 -4
  121. package/dist/datasetDetails/distributions/distributionActions/DistributionPreview.vue.mjs.map +1 -1
  122. package/dist/datasetDetails/distributions/distributionActions/DistributionVisualizeButton.vue.d.ts +4 -4
  123. package/dist/datasetDetails/distributions/distributionActions/DistributionVisualizeButton.vue.mjs.map +1 -1
  124. package/dist/datasetDetails/distributions/distributionActions/LinkedDataButtonsDropdown.vue.mjs.map +1 -1
  125. package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs +22 -21
  126. package/dist/datasetDetails/distributions/distributionDetails/DistributionContent.vue.mjs.map +1 -1
  127. package/dist/datasetDetails/distributions/distributionDetails/DistributionDescription.vue.d.ts +6 -6
  128. package/dist/datasetDetails/distributions/distributionDetails/DistributionDescription.vue.mjs.map +1 -1
  129. package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.d.ts +16 -16
  130. package/dist/datasetDetails/distributions/distributionDetails/DistributionDetails.vue.mjs.map +1 -1
  131. package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.d.ts +2 -2
  132. package/dist/datasetDetails/distributions/distributionDetails/DistributionExpand.vue.mjs.map +1 -1
  133. package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.d.ts +1 -1
  134. package/dist/datasetDetails/features/DatasetDetailsCategoriesKey.vue.mjs.map +1 -1
  135. package/dist/datasetDetails/features/DatasetDetailsDataServices.vue.mjs.map +1 -1
  136. package/dist/datasetDetails/features/DatasetDetailsFeatureHeader.vue.mjs.map +1 -1
  137. package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.d.ts +2 -2
  138. package/dist/datasetDetails/features/DatasetDetailsFeatures.vue.mjs.map +1 -1
  139. package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.d.ts +1 -1
  140. package/dist/datasetDetails/features/DatasetDetailsHvdThemes.vue.mjs.map +1 -1
  141. package/dist/datasetDetails/features/DatasetDetailsIsUsedBy.vue.mjs.map +1 -1
  142. package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.d.ts +1 -1
  143. package/dist/datasetDetails/features/DatasetDetailsKeywords.vue.mjs.map +1 -1
  144. package/dist/datasetDetails/features/DatasetDetailsMap.vue.mjs.map +1 -1
  145. package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs.map +1 -1
  146. package/dist/datasetDetails/features/DatasetDetailsRelations.vue.mjs.map +1 -1
  147. package/dist/datasetDetails/features/DatasetDetailsSubject.vue.d.ts +1 -1
  148. package/dist/datasetDetails/features/DatasetDetailsSubject.vue.mjs.map +1 -1
  149. package/dist/datasetDetails/features/DatasetDetailsVisualisations.vue.mjs.map +1 -1
  150. package/dist/datasetDetails/header/DatasetDetailsHeader.vue.mjs.map +1 -1
  151. package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.d.ts +2 -2
  152. package/dist/datasetDetails/header/DatasetDetailsHeaderCatalogue.vue.mjs.map +1 -1
  153. package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.d.ts +2 -2
  154. package/dist/datasetDetails/header/DatasetDetailsHeaderTitle.vue.mjs.map +1 -1
  155. package/dist/datasetDetails/navigation/DatasetDetailsNavigation.vue.mjs.map +1 -1
  156. package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.d.ts +2 -2
  157. package/dist/datasetDetails/navigation/DatasetDetailsNavigationLinks.vue.mjs.map +1 -1
  158. package/dist/datasetDetails/navigation/DatasetDetailsNavigationPage.vue.mjs.map +1 -1
  159. package/dist/datasetDetails/navigation/DatasetDetailsNavigationPages.vue.d.ts +7 -1
  160. package/dist/datasetDetails/navigation/DatasetDetailsNavigationPages.vue.mjs.map +1 -1
  161. package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.d.ts +200 -1
  162. package/dist/datasetDetails/properties/DatasetDetailsProperties.vue.mjs.map +1 -1
  163. package/dist/datasetDetails/properties/DatasetDetailsProperty.vue.mjs.map +1 -1
  164. package/dist/datasetDetails/properties/ValuesList.vue.mjs.map +1 -1
  165. package/dist/datasets/DatasetDate.vue.mjs.map +1 -1
  166. package/dist/datasets/DatasetList.vue.mjs.map +1 -1
  167. package/dist/datasets/Datasets.vue.mjs.map +1 -1
  168. package/dist/datasets/DatasetsFilters.vue.d.ts +1 -1
  169. package/dist/datasets/DatasetsFilters.vue.mjs.map +1 -1
  170. package/dist/datasets/DatasetsFiltersTabs.vue.d.ts +2 -2
  171. package/dist/datasets/DatasetsFiltersTabs.vue.mjs.map +1 -1
  172. package/dist/datasets/DatasetsTopControls.vue.d.ts +5 -5
  173. package/dist/datasets/DatasetsTopControls.vue.mjs +8 -6
  174. package/dist/datasets/DatasetsTopControls.vue.mjs.map +1 -1
  175. package/dist/datasets/datasetsFacets/DatasetsFacets.vue.mjs.map +1 -1
  176. package/dist/datasets/datasetsFacets/DatasetsFacetsItem.vue.mjs.map +1 -1
  177. package/dist/datasets/datasetsFacets/DatasetsMapFacet.vue.mjs.map +1 -1
  178. package/dist/embed/DatasetEmbedModal.vue.mjs.map +1 -1
  179. package/dist/embed/EmbedDataset.vue.mjs.map +1 -1
  180. package/dist/embed/EmbedDatasetSnippet.vue.mjs.map +1 -1
  181. package/dist/external/zod/dist/esm/v3/ZodError +84 -0
  182. package/dist/external/zod/dist/esm/v3/ZodError.map +1 -0
  183. package/dist/external/zod/dist/esm/v3/errors +10 -0
  184. package/dist/external/zod/dist/esm/v3/errors.map +1 -0
  185. package/dist/external/zod/dist/esm/v3/helpers/errorUtil +8 -0
  186. package/dist/external/zod/dist/esm/v3/helpers/errorUtil.map +1 -0
  187. package/dist/external/zod/dist/esm/v3/helpers/parseUtil +98 -0
  188. package/dist/external/zod/dist/esm/v3/helpers/parseUtil.map +1 -0
  189. package/dist/external/zod/dist/esm/v3/helpers/util +95 -0
  190. package/dist/external/zod/dist/esm/v3/helpers/util.map +1 -0
  191. package/dist/external/zod/dist/esm/v3/locales/en +62 -0
  192. package/dist/external/zod/dist/esm/v3/locales/en.map +1 -0
  193. package/dist/external/zod/dist/esm/v3/types +2440 -0
  194. package/dist/external/zod/dist/esm/v3/types.map +1 -0
  195. package/dist/facets/CatalogDetailsFacet.vue.mjs.map +1 -1
  196. package/dist/facets/ExpandableSelectFacet.vue.mjs.map +1 -1
  197. package/dist/facets/Facet.vue.mjs.map +1 -1
  198. package/dist/facets/FacetTitle.vue.mjs.map +1 -1
  199. package/dist/facets/RadioFacet.vue.mjs.map +1 -1
  200. package/dist/facets/SelectedFacetsOverview.vue.d.ts +2 -2
  201. package/dist/facets/SelectedFacetsOverview.vue.mjs.map +1 -1
  202. package/dist/form/FormKitGroup.vue.mjs.map +1 -1
  203. package/dist/form/Repeatable.vue2.mjs +2 -1
  204. package/dist/form/Repeatable.vue2.mjs.map +1 -1
  205. package/dist/map/MapBasic.vue.mjs.map +1 -1
  206. package/dist/map/MapBoundsReceiver.vue.mjs.map +1 -1
  207. package/dist/map/MapBoundsSender.vue.mjs.map +1 -1
  208. package/dist/modal/AppConfirmationDialog.vue.mjs.map +1 -1
  209. package/dist/modal/AppSnackbar.vue.mjs.map +1 -1
  210. package/dist/modal/AppToast.vue.mjs.map +1 -1
  211. package/dist/navigation/SubNavigation.vue.mjs.map +1 -1
  212. package/dist/pages/NotFound.vue.mjs.map +1 -1
  213. package/dist/pages/SparqlSearch.vue.mjs.map +1 -1
  214. package/dist/pages/user/UserImprint.vue.mjs.map +1 -1
  215. package/dist/pages/user/UserPrivacyPolicy.vue.mjs.map +1 -1
  216. package/dist/piveau-hub-ui-modules.css +1 -1
  217. package/dist/search/Search.vue.mjs.map +1 -1
  218. package/dist/services/datasetService.d.ts +1 -1
  219. package/dist/widgets/AppLink.vue.mjs.map +1 -1
  220. package/dist/widgets/Dropdown.vue.mjs.map +1 -1
  221. package/dist/widgets/Pagination.vue.d.ts +1 -1
  222. package/dist/widgets/Pagination.vue.mjs.map +1 -1
  223. package/dist/widgets/PropertyValue.vue.mjs.map +1 -1
  224. package/dist/widgets/PvBanner.vue.mjs.map +1 -1
  225. package/dist/widgets/PvButton.vue.mjs.map +1 -1
  226. package/dist/widgets/PvShowMore.vue.mjs.map +1 -1
  227. package/dist/widgets/ResourceAccessPopup.vue.d.ts +1 -1
  228. package/dist/widgets/ResourceAccessPopup.vue.mjs.map +1 -1
  229. package/dist/widgets/ResourceDetailsLinkedDataButton.vue.mjs.map +1 -1
  230. package/dist/widgets/Tooltip.vue.mjs.map +1 -1
  231. package/package.json +1 -1
  232. package/dist/external/zod/lib/index +0 -2849
  233. package/dist/external/zod/lib/index.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DistributionAdded.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DistributionAdded.vue"],"sourcesContent":["<template>\n <div class=\"distribution-added pl-2\">\n <span v-if=\"date\">\n {{ date }}\n </span>\n <div v-else type=\"UNKNOWN\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"\" class=\"unknown\" data-original-title=\"UNKNOWN\">\n <span>UNKNOWN</span>\n </div>\n </div>\n</template>\n\n<script>\n\nexport default {\n name: \"DistributionAdded\",\n props: [\n 'date',\n ],\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.unknown {\n align-self: flex-start;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n border-radius: 0;\n background-color: #595959;\n color:white;\n margin-top: 0.25rem;\n}\n</style>\n"],"names":["_sfc_main","_hoisted_1","_openBlock","_createElementBlock","$props","_hoisted_2","_hoisted_3","_cache","_createElementVNode"],"mappings":";;;AAaA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL;AAAA,EACD;AACH,GAjBOC,IAAA,EAAA,OAAM,0BAAyB,SADtC,KAAA,EAAA;EAAA,KAAA;AAAA,EAKgB,MAAK;AAAA,EAAU,eAAY;AAAA,EAAU,kBAAe;AAAA,EAAM,OAAM;AAAA,EAAG,OAAM;AAAA,EAAU,uBAAoB;;;AAJrH,SAAAC,EAAA,GAAAC,EAOM,OAPNF,GAOM;AAAA,IANQG,EAAI,aAAhBD,EAEO,QAJXE,KAGQD,EAAI,IAAA,GAAA,CAAA,MAERF,EAAA,GAAAC,EAEM,OAFNG,GAEMC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,MADJC,EAAoB,cAAd,WAAO,EAAA;AAAA;;;;"}
1
+ {"version":3,"file":"DistributionAdded.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DistributionAdded.vue"],"sourcesContent":["<template>\n <div class=\"distribution-added pl-2\">\n <span v-if=\"date\">\n {{ date }}\n </span>\n <div v-else type=\"UNKNOWN\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"\" class=\"unknown\" data-original-title=\"UNKNOWN\">\n <span>UNKNOWN</span>\n </div>\n </div>\n</template>\n\n<script>\n\nexport default {\n name: \"DistributionAdded\",\n props: [\n 'date',\n ],\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.unknown {\n align-self: flex-start;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n border-radius: 0;\n background-color: #595959;\n color:white;\n margin-top: 0.25rem;\n}\n</style>\n"],"names":["_sfc_main","_hoisted_1","_openBlock","_createElementBlock","$props","_hoisted_3","_cache","_createElementVNode"],"mappings":";;;AAaA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL;AAAA,EACD;AACH,GAjBOC,IAAA,EAAA,OAAM,0BAAyB;;EAItB,MAAK;AAAA,EAAU,eAAY;AAAA,EAAU,kBAAe;AAAA,EAAM,OAAM;AAAA,EAAG,OAAM;AAAA,EAAU,uBAAoB;;;AAJrH,SAAAC,EAAA,GAAAC,EAOM,OAPNF,GAOM;AAAA,IANQG,EAAI,QAAhBF,EAAA,GAAAC,EAEO,aADHC,EAAI,IAAA,GAAA,CAAA,MAERF,EAAA,GAAAC,EAEM,OAFNE,GAEMC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,MADJC,EAAoB,cAAd,WAAO,EAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DistributionDownloadAsModal.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DistributionDownloadAsModal.vue"],"sourcesContent":["<template>\n <div class=\"modal fade\" id=\"downloadAsModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"downloadAsModal\"\n aria-hidden=\"true\" style=\"background-color: rgba(0, 0, 0, 0.75);\">\n <div class=\"modal-dialog modal-dialog-centered modal-lg\" role=\"document\">\n <div class=\"modal-content rounded-0\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\" id=\"exampleModalLabel\">{{\n $t('message.datasetDetails.datasets.modal.downloadAs') }} ...</h5>\n <button ref=\"modal-close-btn\" type=\"button\" id=\"modal-close-btn\" data-dismiss=\"modal\" class=\"close\"\n aria-label=\"Close\">\n {{ $t('message.datasetDetails.datasets.modal.close') }}\n <span aria-hidden=\"true\" class=\"close-icon rounded-circle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"white\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" height=\"8\" id=\"Layer_1\"\n style=\"enable-background:new 0 0 512 512;\" version=\"1.1\" viewBox=\"0 0 512 512\" width=\"8\"\n xml:space=\"preserve\">\n <path\n d=\"M443.6,387.1L312.4,255.4l131.5-130c5.4-5.4,5.4-14.2,0-19.6l-37.4-37.6c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4 L256,197.8L124.9,68.3c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4L68,105.9c-5.4,5.4-5.4,14.2,0,19.6l131.5,130L68.4,387.1 c-2.6,2.6-4.1,6.1-4.1,9.8c0,3.7,1.4,7.2,4.1,9.8l37.4,37.6c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1L256,313.1l130.7,131.1 c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1l37.4-37.6c2.6-2.6,4.1-6.1,4.1-9.8C447.7,393.2,446.2,389.7,443.6,387.1z\" />\n </svg>\n </span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div class=\"align-items-center\">\n <div>\n <div class=\"ecl-form-group\">\n <div class=\"ecl-select__container ecl-select__container--m\">\n <select v-model=\"selected\" @change=\"onChange()\" class=\"ecl-select coursor-pointer\"\n id=\"select-default\" required=\"\">\n <option value=\"\" disabled hidden>- {{\n $t('message.datasetDetails.datasets.modal.selectFileFormat') }} -</option>\n <option v-for=\"(option, index) in getDistributionDownloadAsOptions\" :key=\"index\"\n :value=\"option\" v-text=\"option.toUpperCase()\"></option>\n </select>\n <div class=\"ecl-select__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" xml:space=\"preserve\" width=\"16\"\n height=\"8\" shape-rendering=\"geometricPrecision\"\n text-rendering=\"geometricPrecision\" image-rendering=\"optimizeQuality\"\n fill-rule=\"evenodd\" clip-rule=\"evenodd\" viewBox=\"0 0 512 298.04\">\n <path fill=\"#ffffff\" fill-rule=\"nonzero\"\n d=\"M12.08 70.78c-16.17-16.24-16.09-42.54.15-58.7 16.25-16.17 42.54-16.09 58.71.15L256 197.76 441.06 12.23c16.17-16.24 42.46-16.32 58.71-.15 16.24 16.16 16.32 42.46.15 58.7L285.27 285.96c-16.24 16.17-42.54 16.09-58.7-.15L12.08 70.78z\" />\n </svg>\n </div>\n </div>\n </div>\n <div v-if=\"error\" class=\"error mt-4\">\n <div class=\"error-body\">\n <svg width=\"40\" height=\"38\" viewBox=\"0 0 24 22\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\" class=\"warning-icon\">\n <path\n d=\"M0 22L12 0L24 22H0ZM12 18.5263C12.3091 18.5263 12.5684 18.4152 12.7778 18.1928C12.9873 17.9705 13.0916 17.6957 13.0909 17.3684C13.0902 17.0411 12.9855 16.7663 12.7767 16.544C12.568 16.3217 12.3091 16.2105 12 16.2105C11.6909 16.2105 11.432 16.3217 11.2233 16.544C11.0145 16.7663 10.9098 17.0411 10.9091 17.3684C10.9084 17.6957 11.0131 17.9709 11.2233 18.194C11.4335 18.4171 11.6924 18.5279 12 18.5263ZM10.9091 15.0526H13.0909V9.26316H10.9091V15.0526Z\"\n fill=\"#FBC712\" />\n </svg>\n\n <span>\n <span class=\"font-weight-bold ml-3\">{{\n $t('message.datasetDetails.datasets.modal.fileConversionFail') }}</span>\n <br>\n <span class=\"ml-3\">\n <!-- {{ $t('message.datasetDetails.datasets.modal.fileConversionTarget') }} -->\n The target file contains an error, which prevents the conversion.\n </span>\n <div class=\"ml-3 details\"><strong>\n <!-- {{ $t('message.datasetDetails.datasets.modal.fileConversionDetails') }} -->\n Details\n </strong></div>\n <p class=\"ml-3\">{{ errorMsg }}</p>\n </span>\n </div>\n </div>\n\n <div v-if=\"converting\">\n <div class=\"d-flex mt-4\">\n <p class=\"m-0\">1 {{ $t('message.datasetDetails.datasets.modal.fileConversionTo') }}\n <span class=\"font-weight-bold\">{{ selected.toUpperCase() }}</span></p>\n <i v-if=\"converted\" class=\"success rounded-circle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"white\"\n class=\"bi bi-check\" viewBox=\"0 0 16 16\">\n <path\n d=\"M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z\" />\n </svg>\n </i>\n </div>\n <div class=\"d-flex mt-2\">\n <p :class=\"{ active: converted }\" class=\"m-0\" style=\"color:#A8A8A8;\">2 {{\n $t('message.datasetDetails.datasets.modal.downloading') }} </p>\n <i v-if=\"readyForDownload\" class=\"success rounded-circle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"white\"\n class=\"bi bi-check\" viewBox=\"0 0 16 16\">\n <path\n d=\"M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z\" />\n </svg>\n </i>\n </div>\n <div class=\"w-100 text-right\">{{ this.progress + '%' }}</div>\n <div class=\"progress mt-2\">\n <div class=\"progress-bar\" role=\"progressbar\"\n v-bind:style=\"{ width: progress + '%' }\" aria-valuenow=\"100\" aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal-footer justify-content-start\">\n <button v-if=\"!done\" @click=\"download\" type=\"button\" class=\"ecl-button ecl-button--secondary\"\n v-text=\"downloadBtnText\"></button>\n <button v-if=\"done\" type=\"button\" class=\"ecl-button ecl-button--secondary\" data-dismiss=\"modal\"\n aria-label=\"Close\">Done</button>\n <a v-if=\"error == true\" :href=\"downloadOrAccessUrl\" target=\"_blank\"\n class=\"ecl-button ecl-button--secondary ml-2\">\n <!-- {{ $t('message.datasetDetails.datasets.modal.fileConversionDownloadOriginal') }} -->\n Access source file \n <i class=\"material-icons align-middle smaller\">open_in_new</i> </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport AppLink from \"../../widgets/AppLink.vue\";\nimport $ from 'jquery'\nimport {\n mapGetters\n} from 'vuex'\nimport axios from 'axios'\nimport {\n late\n} from 'zod'\n\n\nexport default {\n name: \"download-as-modal\",\n data() {\n return {\n selected: '',\n converting: false,\n converted: false,\n readyForDownload: false,\n error: false,\n done: false,\n progress: '0',\n downloadBtnText: 'Download',\n errorMsg: '',\n source: null,\n }\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getDistributionDownloadAsOptions',\n 'getDistributionDownloadAs',\n ]),\n downloadOrAccessUrl() {\n if (this.getDistributionDownloadAs.downloadUrls.length) {\n return this.getDistributionDownloadAs.downloadUrls[0];\n } else if (this.getDistributionDownloadAs.accessUrl.length) {\n return this.getDistributionDownloadAs.accessUrl[0];\n } else {\n return null;\n }\n }\n },\n components: {\n AppLink\n },\n mounted() {\n // Add a listener to the modal close button\n const modalCloseBtnRef = this.$refs['modal-close-btn'];\n modalCloseBtnRef.addEventListener('click', () => {\n if (this.source) {\n // Cancel the ongoing request\n this.source.cancel('Download was canceled by user');\n }\n });\n const scope = this;\n $('#downloadAsModal').on('hide.bs.modal', () => {\n scope.selected = scope.errorMsg = '';\n scope.converting = scope.converted = scope.readyForDownload = scope.error = scope.done = false;\n scope.progress = '0';\n scope.downloadBtnText = 'Download';\n })\n },\n methods: {\n download() {\n this.error = false;\n const ifDownloadUrl = this.getDistributionDownloadAs.downloadUrls.length;\n const ifAccessUrl = this.getDistributionDownloadAs.accessUrl.length;\n\n if (this.selected.toLowerCase() === this.getDistributionDownloadAs.format.id.toLowerCase()) {\n if (ifDownloadUrl) {\n window.open(this.getDistributionDownloadAs.downloadUrls[0]);\n this.done = true;\n } else if (ifAccessUrl) {\n window.open(this.getDistributionDownloadAs.accessUrl[0]);\n this.done = true;\n }\n } else {\n this.converting = true;\n this.downloadBtnText = 'Converting...';\n\n if (ifDownloadUrl || ifAccessUrl) {\n let url = '';\n if (ifDownloadUrl) {\n url = this.getDistributionDownloadAs.downloadUrls[0];\n } else if (!ifDownloadUrl && ifAccessUrl) {\n url = this.getDistributionDownloadAs.accessUrl[0];\n }\n this.progress = '3' + this.randomNumber();\n\n const uri = encodeURIComponent(`${this.$env.content.datasetDetails.downloadAs.url}/${this.getDistributionDownloadAs.format.id.toLowerCase()}/${this.selected}`);\n const downloadOrAccessUrl = encodeURIComponent(url);\n\n // Create a cancel token\n const CancelToken = axios.CancelToken;\n this.source = CancelToken.source();\n axios({\n url: `${this.$env.content.datasetDetails.downloadAs.proxyUrl}/?uri=${uri}/?url=${downloadOrAccessUrl}`,\n method: 'GET',\n responseType: 'blob',\n headers: {\n 'Content-Type': 'application/octet-stream; charset=UTF-8'\n },\n cancelToken: this.source.token,\n }).then((res) => {\n this.progress = '8' + this.randomNumber();\n this.converted = true;\n this.downloadBtnText = 'Downloading...';\n\n this.progress = '100';\n this.readyForDownload = true;\n\n const locale = this.$route.query.locale;\n const FILE = window.URL.createObjectURL(res.data);\n\n\n let docUrl = document.createElement('a');\n docUrl.href = FILE;\n docUrl.setAttribute('download', this.setFileName(locale));\n document.body.appendChild(docUrl);\n this.done = true;\n\n docUrl.click();\n })\n .catch(async (e) => {\n console.error(\"Error\", e)\n if (axios.isCancel(e)) {\n console.error('Request canceled:', e.message);\n } else {\n if (e.response) this.errorMsg = await e.response.data.text();\n this.error = true;\n this.downloadBtnText = 'Retry';\n this.converting = false;\n }\n });\n }\n }\n },\n onChange() {\n this.done = this.converted = this.converting = this.readyForDownload = this.error = false;\n this.downloadBtnText = 'Download';\n },\n // 0 - 9\n randomNumber() {\n const max = 10;\n return Math.floor(Math.random() * max);\n },\n setFileName(locale) {\n if (typeof this.getDistributionDownloadAs.title === 'undefined') {\n return 'file'\n }\n if (this.getDistributionDownloadAs.title[locale]) {\n return this.getDistributionDownloadAs.title[locale].split('.')[0] + '.' + this.selected;\n } else {\n return Object.values(this.getDistributionDownloadAs.title)[0].split('.')[0] + '.' + this.selected;\n\n }\n }\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.success {\n background: #00997A;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-left: 8px;\n height: 20px;\n width: 20px;\n}\n\n.modal-title {\n font-family: 'Arial';\n font-style: normal;\n font-weight: 700;\n font-size: 22px;\n line-height: 24px;\n color: #000000;\n}\n\n.modal-content {\n border: 3px solid #0e47cb;\n}\n\n.modal-header {\n padding: 1.5rem 1.5rem 0rem 1.5rem;\n border-bottom: none;\n}\n\n.modal-body {\n padding: 1rem 1.5rem;\n}\n\n.modal-footer {\n border-top: none;\n padding: 1rem 1.5rem;\n}\n\n.close {\n font-size: 16px;\n color: #0e47cb;\n opacity: 1;\n padding: 0.5rem !important;\n\n .close-icon {\n color: white;\n background: #0e47cb;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 12px;\n height: 12px;\n float: right;\n margin-top: 3px;\n margin-left: 10px;\n }\n}\n\n.active {\n color: #000000 !important;\n}\n\n.error {\n border: 2px solid #FBC712;\n\n .error-body {\n padding: 1.8rem;\n display: flex;\n }\n}\n\n.progress-bar {\n -webkit-transition: width 1s ease;\n -moz-transition: width 1s ease;\n -o-transition: width 1s ease;\n transition: width 1s ease;\n}\n\n.ecl-select {\n cursor: pointer;\n}\n\n.details {\n margin-top: 30px;\n}\n\n.warning-icon {\n margin-top: 5px;\n margin-right: 7px\n}\n\n.smaller {\n font-size: 17px;\n\n}\n</style>\n"],"names":["_sfc_main","mapGetters","AppLink","scope","$","ifDownloadUrl","ifAccessUrl","url","uri","downloadOrAccessUrl","CancelToken","axios","res","locale","FILE","docUrl","e","_hoisted_3","_hoisted_4","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_14","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_24","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_31","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_5","_toDisplayString","_ctx","_cache","_createTextVNode","_hoisted_6","_hoisted_7","_hoisted_8","$event","$data","$options","_hoisted_13","_Fragment","_renderList","option","index","_hoisted_15","_createCommentVNode","_hoisted_19","_hoisted_23","_normalizeClass","_hoisted_25","_normalizeStyle","args","_hoisted_30"],"mappings":"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"}
1
+ {"version":3,"file":"DistributionDownloadAsModal.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DistributionDownloadAsModal.vue"],"sourcesContent":["<template>\n <div class=\"modal fade\" id=\"downloadAsModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"downloadAsModal\"\n aria-hidden=\"true\" style=\"background-color: rgba(0, 0, 0, 0.75);\">\n <div class=\"modal-dialog modal-dialog-centered modal-lg\" role=\"document\">\n <div class=\"modal-content rounded-0\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\" id=\"exampleModalLabel\">{{\n $t('message.datasetDetails.datasets.modal.downloadAs') }} ...</h5>\n <button ref=\"modal-close-btn\" type=\"button\" id=\"modal-close-btn\" data-dismiss=\"modal\" class=\"close\"\n aria-label=\"Close\">\n {{ $t('message.datasetDetails.datasets.modal.close') }}\n <span aria-hidden=\"true\" class=\"close-icon rounded-circle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"white\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" height=\"8\" id=\"Layer_1\"\n style=\"enable-background:new 0 0 512 512;\" version=\"1.1\" viewBox=\"0 0 512 512\" width=\"8\"\n xml:space=\"preserve\">\n <path\n d=\"M443.6,387.1L312.4,255.4l131.5-130c5.4-5.4,5.4-14.2,0-19.6l-37.4-37.6c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4 L256,197.8L124.9,68.3c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4L68,105.9c-5.4,5.4-5.4,14.2,0,19.6l131.5,130L68.4,387.1 c-2.6,2.6-4.1,6.1-4.1,9.8c0,3.7,1.4,7.2,4.1,9.8l37.4,37.6c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1L256,313.1l130.7,131.1 c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1l37.4-37.6c2.6-2.6,4.1-6.1,4.1-9.8C447.7,393.2,446.2,389.7,443.6,387.1z\" />\n </svg>\n </span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div class=\"align-items-center\">\n <div>\n <div class=\"ecl-form-group\">\n <div class=\"ecl-select__container ecl-select__container--m\">\n <select v-model=\"selected\" @change=\"onChange()\" class=\"ecl-select coursor-pointer\"\n id=\"select-default\" required=\"\">\n <option value=\"\" disabled hidden>- {{\n $t('message.datasetDetails.datasets.modal.selectFileFormat') }} -</option>\n <option v-for=\"(option, index) in getDistributionDownloadAsOptions\" :key=\"index\"\n :value=\"option\" v-text=\"option.toUpperCase()\"></option>\n </select>\n <div class=\"ecl-select__icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" xml:space=\"preserve\" width=\"16\"\n height=\"8\" shape-rendering=\"geometricPrecision\"\n text-rendering=\"geometricPrecision\" image-rendering=\"optimizeQuality\"\n fill-rule=\"evenodd\" clip-rule=\"evenodd\" viewBox=\"0 0 512 298.04\">\n <path fill=\"#ffffff\" fill-rule=\"nonzero\"\n d=\"M12.08 70.78c-16.17-16.24-16.09-42.54.15-58.7 16.25-16.17 42.54-16.09 58.71.15L256 197.76 441.06 12.23c16.17-16.24 42.46-16.32 58.71-.15 16.24 16.16 16.32 42.46.15 58.7L285.27 285.96c-16.24 16.17-42.54 16.09-58.7-.15L12.08 70.78z\" />\n </svg>\n </div>\n </div>\n </div>\n <div v-if=\"error\" class=\"error mt-4\">\n <div class=\"error-body\">\n <svg width=\"40\" height=\"38\" viewBox=\"0 0 24 22\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\" class=\"warning-icon\">\n <path\n d=\"M0 22L12 0L24 22H0ZM12 18.5263C12.3091 18.5263 12.5684 18.4152 12.7778 18.1928C12.9873 17.9705 13.0916 17.6957 13.0909 17.3684C13.0902 17.0411 12.9855 16.7663 12.7767 16.544C12.568 16.3217 12.3091 16.2105 12 16.2105C11.6909 16.2105 11.432 16.3217 11.2233 16.544C11.0145 16.7663 10.9098 17.0411 10.9091 17.3684C10.9084 17.6957 11.0131 17.9709 11.2233 18.194C11.4335 18.4171 11.6924 18.5279 12 18.5263ZM10.9091 15.0526H13.0909V9.26316H10.9091V15.0526Z\"\n fill=\"#FBC712\" />\n </svg>\n\n <span>\n <span class=\"font-weight-bold ml-3\">{{\n $t('message.datasetDetails.datasets.modal.fileConversionFail') }}</span>\n <br>\n <span class=\"ml-3\">\n <!-- {{ $t('message.datasetDetails.datasets.modal.fileConversionTarget') }} -->\n The target file contains an error, which prevents the conversion.\n </span>\n <div class=\"ml-3 details\"><strong>\n <!-- {{ $t('message.datasetDetails.datasets.modal.fileConversionDetails') }} -->\n Details\n </strong></div>\n <p class=\"ml-3\">{{ errorMsg }}</p>\n </span>\n </div>\n </div>\n\n <div v-if=\"converting\">\n <div class=\"d-flex mt-4\">\n <p class=\"m-0\">1 {{ $t('message.datasetDetails.datasets.modal.fileConversionTo') }}\n <span class=\"font-weight-bold\">{{ selected.toUpperCase() }}</span></p>\n <i v-if=\"converted\" class=\"success rounded-circle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"white\"\n class=\"bi bi-check\" viewBox=\"0 0 16 16\">\n <path\n d=\"M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z\" />\n </svg>\n </i>\n </div>\n <div class=\"d-flex mt-2\">\n <p :class=\"{ active: converted }\" class=\"m-0\" style=\"color:#A8A8A8;\">2 {{\n $t('message.datasetDetails.datasets.modal.downloading') }} </p>\n <i v-if=\"readyForDownload\" class=\"success rounded-circle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"white\"\n class=\"bi bi-check\" viewBox=\"0 0 16 16\">\n <path\n d=\"M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z\" />\n </svg>\n </i>\n </div>\n <div class=\"w-100 text-right\">{{ this.progress + '%' }}</div>\n <div class=\"progress mt-2\">\n <div class=\"progress-bar\" role=\"progressbar\"\n v-bind:style=\"{ width: progress + '%' }\" aria-valuenow=\"100\" aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"modal-footer justify-content-start\">\n <button v-if=\"!done\" @click=\"download\" type=\"button\" class=\"ecl-button ecl-button--secondary\"\n v-text=\"downloadBtnText\"></button>\n <button v-if=\"done\" type=\"button\" class=\"ecl-button ecl-button--secondary\" data-dismiss=\"modal\"\n aria-label=\"Close\">Done</button>\n <a v-if=\"error == true\" :href=\"downloadOrAccessUrl\" target=\"_blank\"\n class=\"ecl-button ecl-button--secondary ml-2\">\n <!-- {{ $t('message.datasetDetails.datasets.modal.fileConversionDownloadOriginal') }} -->\n Access source file \n <i class=\"material-icons align-middle smaller\">open_in_new</i> </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport AppLink from \"../../widgets/AppLink.vue\";\nimport $ from 'jquery'\nimport {\n mapGetters\n} from 'vuex'\nimport axios from 'axios'\nimport {\n late\n} from 'zod'\n\n\nexport default {\n name: \"download-as-modal\",\n data() {\n return {\n selected: '',\n converting: false,\n converted: false,\n readyForDownload: false,\n error: false,\n done: false,\n progress: '0',\n downloadBtnText: 'Download',\n errorMsg: '',\n source: null,\n }\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getDistributionDownloadAsOptions',\n 'getDistributionDownloadAs',\n ]),\n downloadOrAccessUrl() {\n if (this.getDistributionDownloadAs.downloadUrls.length) {\n return this.getDistributionDownloadAs.downloadUrls[0];\n } else if (this.getDistributionDownloadAs.accessUrl.length) {\n return this.getDistributionDownloadAs.accessUrl[0];\n } else {\n return null;\n }\n }\n },\n components: {\n AppLink\n },\n mounted() {\n // Add a listener to the modal close button\n const modalCloseBtnRef = this.$refs['modal-close-btn'];\n modalCloseBtnRef.addEventListener('click', () => {\n if (this.source) {\n // Cancel the ongoing request\n this.source.cancel('Download was canceled by user');\n }\n });\n const scope = this;\n $('#downloadAsModal').on('hide.bs.modal', () => {\n scope.selected = scope.errorMsg = '';\n scope.converting = scope.converted = scope.readyForDownload = scope.error = scope.done = false;\n scope.progress = '0';\n scope.downloadBtnText = 'Download';\n })\n },\n methods: {\n download() {\n this.error = false;\n const ifDownloadUrl = this.getDistributionDownloadAs.downloadUrls.length;\n const ifAccessUrl = this.getDistributionDownloadAs.accessUrl.length;\n\n if (this.selected.toLowerCase() === this.getDistributionDownloadAs.format.id.toLowerCase()) {\n if (ifDownloadUrl) {\n window.open(this.getDistributionDownloadAs.downloadUrls[0]);\n this.done = true;\n } else if (ifAccessUrl) {\n window.open(this.getDistributionDownloadAs.accessUrl[0]);\n this.done = true;\n }\n } else {\n this.converting = true;\n this.downloadBtnText = 'Converting...';\n\n if (ifDownloadUrl || ifAccessUrl) {\n let url = '';\n if (ifDownloadUrl) {\n url = this.getDistributionDownloadAs.downloadUrls[0];\n } else if (!ifDownloadUrl && ifAccessUrl) {\n url = this.getDistributionDownloadAs.accessUrl[0];\n }\n this.progress = '3' + this.randomNumber();\n\n const uri = encodeURIComponent(`${this.$env.content.datasetDetails.downloadAs.url}/${this.getDistributionDownloadAs.format.id.toLowerCase()}/${this.selected}`);\n const downloadOrAccessUrl = encodeURIComponent(url);\n\n // Create a cancel token\n const CancelToken = axios.CancelToken;\n this.source = CancelToken.source();\n axios({\n url: `${this.$env.content.datasetDetails.downloadAs.proxyUrl}/?uri=${uri}/?url=${downloadOrAccessUrl}`,\n method: 'GET',\n responseType: 'blob',\n headers: {\n 'Content-Type': 'application/octet-stream; charset=UTF-8'\n },\n cancelToken: this.source.token,\n }).then((res) => {\n this.progress = '8' + this.randomNumber();\n this.converted = true;\n this.downloadBtnText = 'Downloading...';\n\n this.progress = '100';\n this.readyForDownload = true;\n\n const locale = this.$route.query.locale;\n const FILE = window.URL.createObjectURL(res.data);\n\n\n let docUrl = document.createElement('a');\n docUrl.href = FILE;\n docUrl.setAttribute('download', this.setFileName(locale));\n document.body.appendChild(docUrl);\n this.done = true;\n\n docUrl.click();\n })\n .catch(async (e) => {\n console.error(\"Error\", e)\n if (axios.isCancel(e)) {\n console.error('Request canceled:', e.message);\n } else {\n if (e.response) this.errorMsg = await e.response.data.text();\n this.error = true;\n this.downloadBtnText = 'Retry';\n this.converting = false;\n }\n });\n }\n }\n },\n onChange() {\n this.done = this.converted = this.converting = this.readyForDownload = this.error = false;\n this.downloadBtnText = 'Download';\n },\n // 0 - 9\n randomNumber() {\n const max = 10;\n return Math.floor(Math.random() * max);\n },\n setFileName(locale) {\n if (typeof this.getDistributionDownloadAs.title === 'undefined') {\n return 'file'\n }\n if (this.getDistributionDownloadAs.title[locale]) {\n return this.getDistributionDownloadAs.title[locale].split('.')[0] + '.' + this.selected;\n } else {\n return Object.values(this.getDistributionDownloadAs.title)[0].split('.')[0] + '.' + this.selected;\n\n }\n }\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.success {\n background: #00997A;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-left: 8px;\n height: 20px;\n width: 20px;\n}\n\n.modal-title {\n font-family: 'Arial';\n font-style: normal;\n font-weight: 700;\n font-size: 22px;\n line-height: 24px;\n color: #000000;\n}\n\n.modal-content {\n border: 3px solid #0e47cb;\n}\n\n.modal-header {\n padding: 1.5rem 1.5rem 0rem 1.5rem;\n border-bottom: none;\n}\n\n.modal-body {\n padding: 1rem 1.5rem;\n}\n\n.modal-footer {\n border-top: none;\n padding: 1rem 1.5rem;\n}\n\n.close {\n font-size: 16px;\n color: #0e47cb;\n opacity: 1;\n padding: 0.5rem !important;\n\n .close-icon {\n color: white;\n background: #0e47cb;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 12px;\n height: 12px;\n float: right;\n margin-top: 3px;\n margin-left: 10px;\n }\n}\n\n.active {\n color: #000000 !important;\n}\n\n.error {\n border: 2px solid #FBC712;\n\n .error-body {\n padding: 1.8rem;\n display: flex;\n }\n}\n\n.progress-bar {\n -webkit-transition: width 1s ease;\n -moz-transition: width 1s ease;\n -o-transition: width 1s ease;\n transition: width 1s ease;\n}\n\n.ecl-select {\n cursor: pointer;\n}\n\n.details {\n margin-top: 30px;\n}\n\n.warning-icon {\n margin-top: 5px;\n margin-right: 7px\n}\n\n.smaller {\n font-size: 17px;\n\n}\n</style>\n"],"names":["_sfc_main","mapGetters","AppLink","scope","$","ifDownloadUrl","ifAccessUrl","url","uri","downloadOrAccessUrl","CancelToken","axios","res","locale","FILE","docUrl","e","_hoisted_3","_hoisted_4","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_24","_hoisted_26","_hoisted_27","_hoisted_28","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_5","_toDisplayString","_ctx","_hoisted_6","_createTextVNode","_hoisted_7","_hoisted_8","_cache","$data","$event","$options","_hoisted_13","_Fragment","_renderList","option","index","_hoisted_15","_hoisted_19","_hoisted_23","_normalizeClass","_hoisted_25","args","_hoisted_30"],"mappings":"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"}
@@ -2,14 +2,14 @@ import { truncate } from '../../utils/helpers';
2
2
  declare const _default: import('vue').DefineComponent<{
3
3
  embed?: any;
4
4
  getDistributionFormat?: any;
5
- distribution?: any;
6
5
  distributionFormatTruncated?: any;
6
+ distribution?: any;
7
7
  }, {}, {}, {}, {
8
8
  truncate: typeof truncate;
9
9
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
10
10
  embed?: any;
11
11
  getDistributionFormat?: any;
12
- distribution?: any;
13
12
  distributionFormatTruncated?: any;
13
+ distribution?: any;
14
14
  }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
15
15
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"DistributionFormat.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DistributionFormat.vue"],"sourcesContent":["<template>\n <div class=\"d-inline-block col-2 col-md-1 pl-1 p-md-3 px-md-4 m-auto distribution-format\">\n <div class=\"circle float-md-right text-center text-white mt-1\"\n :type=\"getDistributionFormat(distribution)\"\n :data-toggle=\"distributionFormatTruncated(distribution) ? 'tooltip' : false\"\n :data-placement=\"distributionFormatTruncated(distribution) ? 'top' : false\"\n :title=\"getDistributionFormat(distribution)\">\n <span :style=\"{ fontSize: embed ? '0.75rem' : '' }\">{{ truncate(getDistributionFormat(distribution), 10, true) }}</span>\n </div>\n </div>\n</template>\n\n<script>\nimport { truncate } from '../../utils/helpers';\nexport default {\n name: \"DistributionFormat\",\n props: [\n 'distribution',\n 'getDistributionFormat',\n 'distributionFormatTruncated',\n 'embed'\n ],\n methods: {\n truncate\n }\n}\n</script>\n\n"],"names":["_sfc_main","truncate","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","$props","_normalizeStyle","$options"],"mappings":";;;AAcA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP,UAAAC;AAAA,EACF;AACF,GAxBOC,IAAA,EAAA,OAAM,+EAA8E,GAD3FC,IAAA,CAAA,QAAA,eAAA,kBAAA,OAAA;;AACE,SAAAC,EAAA,GAAAC,EAQM,OARNH,GAQM;AAAA,IAPJI,EAMM,OAAA;AAAA,MAND,OAAM;AAAA,MACL,MAAMC,EAAqB,sBAACA,EAAY,YAAA;AAAA,MACxC,eAAaA,EAA2B,4BAACA,EAAY,YAAA,IAAA,YAAA;AAAA,MACrD,kBAAgBA,EAA2B,4BAACA,EAAY,YAAA,IAAA,QAAA;AAAA,MACxD,OAAOA,EAAqB,sBAACA,EAAY,YAAA;AAAA;MAC7CD,EAAwH,QAAA;AAAA,QAAjH,OAPbE,cAOgCD,EAAK,QAAA,YAAA,IAAA;AAAA,WAAwBE,EAAQ,SAACF,EAAqB,sBAACA,EAAY,YAAA,GAAA,IAAA,EAAA,CAAA,GAAA,CAAA;AAAA,IAPxG,GAAA,GAAAJ,CAAA;AAAA;;;"}
1
+ {"version":3,"file":"DistributionFormat.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DistributionFormat.vue"],"sourcesContent":["<template>\n <div class=\"d-inline-block col-2 col-md-1 pl-1 p-md-3 px-md-4 m-auto distribution-format\">\n <div class=\"circle float-md-right text-center text-white mt-1\"\n :type=\"getDistributionFormat(distribution)\"\n :data-toggle=\"distributionFormatTruncated(distribution) ? 'tooltip' : false\"\n :data-placement=\"distributionFormatTruncated(distribution) ? 'top' : false\"\n :title=\"getDistributionFormat(distribution)\">\n <span :style=\"{ fontSize: embed ? '0.75rem' : '' }\">{{ truncate(getDistributionFormat(distribution), 10, true) }}</span>\n </div>\n </div>\n</template>\n\n<script>\nimport { truncate } from '../../utils/helpers';\nexport default {\n name: \"DistributionFormat\",\n props: [\n 'distribution',\n 'getDistributionFormat',\n 'distributionFormatTruncated',\n 'embed'\n ],\n methods: {\n truncate\n }\n}\n</script>\n\n"],"names":["_sfc_main","truncate","_hoisted_1","_openBlock","_createElementBlock","_createElementVNode","$props","$options"],"mappings":";;;AAcA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP,UAAAC;AAAA,EACF;AACF,GAxBOC,IAAA,EAAA,OAAM,+EAA8E;;AAAzF,SAAAC,EAAA,GAAAC,EAQM,OARNF,GAQM;AAAA,IAPJG,EAMM,OAAA;AAAA,MAND,OAAM;AAAA,MACL,MAAMC,EAAqB,sBAACA,EAAY,YAAA;AAAA,MACxC,eAAaA,EAA2B,4BAACA,EAAY,YAAA,IAAA,YAAA;AAAA,MACrD,kBAAgBA,EAA2B,4BAACA,EAAY,YAAA,IAAA,QAAA;AAAA,MACxD,OAAOA,EAAqB,sBAACA,EAAY,YAAA;AAAA;MAC7CD,EAAwH,QAAA;AAAA,QAAjH,qBAAmBC,EAAK,QAAA,YAAA,IAAA;AAAA,WAAwBC,EAAQ,SAACD,EAAqB,sBAACA,EAAY,YAAA,GAAA,IAAA,EAAA,CAAA,GAAA,CAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Distributions.vue.mjs","sources":["../../../lib/datasetDetails/distributions/Distributions.vue"],"sourcesContent":["<template>\n <div class=\"mt-1 dsd-distributions\">\n <distributions-header\n :getDistributionDescription=\"getDistributionDescription\"\n :openModal=\"openModal\"\n :getDistributionTitle=\"getDistributionTitle\"\n :showDownloadUrls=\"showDownloadUrls\"\n :isUrlInvalid=\"isUrlInvalid\"\n :showPublisher=\"showPublisher\"\n :embed=\"embed\"\n />\n <div class=\"row\">\n <ul class=\"list list-unstyled w-100\">\n <div class=\"distributions\" :key=\"`${expandedDistributions.length}--${expandedDistributionDescriptions.length}`\">\n <distribution\n v-for=\"(distribution, index) in displayedDistributions\"\n @selectForPreview=\"selectDistribution\"\n :key=\"`${index}--${distribution.id}`\"\n :distribution=\"distribution\"\n :fading=\"!distributions.displayAll && !isDistributionsAllDisplayed && index === distributions.displayCount - 1\"\n :distributions=\"distributions\"\n :setDistributionsDisplayCount=\"setDistributionsDisplayCount\"\n :getDistributionFormat=\"getDistributionFormat\"\n :distributionFormatTruncated=\"distributionFormatTruncated\"\n :getDistributionTitle=\"getDistributionTitle\"\n :distributionVisibleContent=\"distributionVisibleContent\"\n :distributionExpandedContent=\"distributionExpandedContent\"\n :distributionDescriptionIsExpanded=\"distributionDescriptionIsExpanded\"\n :distributionDescriptionIsExpandable=\"distributionDescriptionIsExpandable\"\n :getDistributionDescription=\"getDistributionDescription\"\n :distributionIsExpanded=\"distributionIsExpanded\"\n :showObject=\"showObject\"\n :showNumber=\"showNumber\"\n :showDownloadDropdown=\"showDownloadDropdown\"\n :showLicence=\"showLicence\"\n :showLicensingAssistant=\"showLicensingAssistant\"\n :filterDateFormatEU=\"filterDateFormatEU\"\n :showArray=\"showArray\"\n :showObjectArray=\"showObjectArray\"\n :getVisualisationLink=\"getVisualisationLink\"\n :isOnlyOneUrl=\"isOnlyOneUrl\"\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 :isUrlInvalid=\"isUrlInvalid\"\n :openIfValidUrl=\"openIfValidUrl\"\n :showTooltipVisualiseButton=\"showTooltipVisualiseButton\"\n :appendCurrentLocaleToURL=\"appendCurrentLocaleToURL\"\n :embed=\"embed\"\n />\n </div>\n </ul>\n <div class=\"w-100 d-flex flex-row justify-content-end\">\n <download-all-distributions\n v-if=\"!downloadAllTop\"\n :getDistributionDescription=\"getDistributionDescription\"\n :openModal=\"openModal\"\n :getDistributionTitle=\"getDistributionTitle\"\n :showDownloadUrls=\"showDownloadUrls\"\n :isUrlInvalid=\"isUrlInvalid\"\n />\n </div>\n </div>\n <download-as-modal />\n <!-- <distribution-visualization v-if=\"showDistibutionVisualisation\" class=\"mb-4\"></distribution-visualization> -->\n <distribution-visualisation-slot\n v-if=\"showDistibutionVisualisation && showVisualisation\"\n ref=\"visualisationComponent\"\n :key=\"componentKey\"\n class=\"mb-4\"\n :title=\"previewedDistTitle\"\n :downloadUrl=\"previewedDistDownloadUrl\"\n :format=\"previewedDistFormat\"\n :compressFormat=\"previewedDistCompressFormat\"\n ></distribution-visualisation-slot>\n </div>\n</template>\n\n<script>\n\nimport {has, isNil} from \"lodash\";\nimport {getTranslationFor} from \"../../utils/helpers\";\nimport { mapGetters } from \"vuex\";\nimport DownloadAsModal from \"../../datasetDetails/distributions/DistributionDownloadAsModal\";\n\nexport default {\n name: 'Distributions',\n components: {\n DownloadAsModal\n },\n props: {\n openModal: Function,\n expandedDistributions: Array,\n expandedDistributionDescriptions: Array,\n displayedDistributions: Array,\n distributions: Object,\n setDistributionsDisplayCount: Function,\n isDistributionsAllDisplayed: Boolean,\n pages: Object,\n showDownloadUrls: Function,\n getDistributionFormat: Function,\n distributionFormatTruncated: Function,\n getDistributionTitle: Function,\n distributionVisibleContent: Array,\n distributionExpandedContent: Array,\n distributionDescriptionIsExpanded: Function,\n distributionDescriptionIsExpandable: Function,\n distributionIsExpanded: Function,\n showObject: Function,\n showNumber: Function,\n showDownloadDropdown: Function,\n showLicence: Function,\n showLicensingAssistant: Function,\n filterDateFormatEU: Function,\n showArray: Function,\n showObjectArray: Function,\n getVisualisationLink: Function,\n isOnlyOneUrl: Function,\n getDownloadUrl: Function,\n trackGoto: Function,\n showAccessUrls: Function,\n replaceHttp: Function,\n previewLinkCallback: Function,\n toggleDistribution: Function,\n toggleDistributionDescription: Function,\n increaseNumDisplayedDistributions: Function,\n nonOverflowingIncrementsForDistributions: Function,\n isUrlInvalid: Function,\n openIfValidUrl: Function,\n showTooltipVisualiseButton: Function,\n appendCurrentLocaleToURL: Function,\n showPublisher: Boolean,\n embed: Boolean,\n },\n data() {\n return {\n componentKey: 0,\n downloadAllTop: this.$env.content.datasetDetails.bulkDownload.buttonPosition === \"top\",\n // previewedDistributionTitle: this.getDistributionTitle(this.displayedDistributions[0]),\n showDistibutionVisualisation: false,\n previewedDistributionTitle: \"\",\n previewedDistDownloadUrl: \"\",\n previewedDistFormat: \"\",\n previewedDistCompressFormat: \"\",\n selectedDistribution: null,\n showVisualisation: this.$env.content.datasetDetails.distributions.showVisualisation,\n\n };\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getLanguages',\n 'getCatalog',\n ]),\n },\n methods: {\n getDistributionDescription(distribution) {\n return (has(distribution, 'description') && !isNil(distribution.description)) ? getTranslationFor(distribution.description, this.$route.query.locale, this.getLanguages) : '-';\n },\n selectDistribution(dist) {\n this.previewedDistTitle = dist.title;\n this.previewedDistDownloadUrl = dist.url;\n this.previewedDistFormat = dist.format;\n this.previewedDistCompressFormat = dist.compressFormat ? dist.compressFormat : '';\n this.showDistibutionVisualisation = true;\n this.componentKey += 1; // kill and rerender with new values\n\n // scroll to visualisation component\n this.$nextTick(() => {\n const visualisationComponent = this.$refs.visualisationComponent;\n if (visualisationComponent) {\n visualisationComponent.$el.scrollIntoView({ behavior: 'smooth' });\n }\n });\n },\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\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 .subjectBg {\n background-color: #196fd2;\n }\n .btn-color {\n &:hover {\n background-color: #196fd2;\n border-color: #196fd2;\n }\n }\n\n .download-all-btn {\n min-width: 100px;\n height: 31px;\n }\n\n /*** BOOTSTRAP ***/\n button:focus {\n outline:0;\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 .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":["_sfc_main","DownloadAsModal","mapGetters","distribution","has","isNil","getTranslationFor","dist","visualisationComponent","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_openBlock","_createElementBlock","_createVNode","_component_distributions_header","$options","$props","_cache","_createTextVNode","_createElementVNode","_Fragment","_renderList","index","_createBlock","_component_distribution","$data","_createCommentVNode","_component_download_all_distributions","_component_download_as_modal","_component_distribution_visualisation_slot","_ctx"],"mappings":"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"}
1
+ {"version":3,"file":"Distributions.vue.mjs","sources":["../../../lib/datasetDetails/distributions/Distributions.vue"],"sourcesContent":["<template>\n <div class=\"mt-1 dsd-distributions\">\n <distributions-header\n :getDistributionDescription=\"getDistributionDescription\"\n :openModal=\"openModal\"\n :getDistributionTitle=\"getDistributionTitle\"\n :showDownloadUrls=\"showDownloadUrls\"\n :isUrlInvalid=\"isUrlInvalid\"\n :showPublisher=\"showPublisher\"\n :embed=\"embed\"\n />\n <div class=\"row\">\n <ul class=\"list list-unstyled w-100\">\n <div class=\"distributions\" :key=\"`${expandedDistributions.length}--${expandedDistributionDescriptions.length}`\">\n <distribution\n v-for=\"(distribution, index) in displayedDistributions\"\n @selectForPreview=\"selectDistribution\"\n :key=\"`${index}--${distribution.id}`\"\n :distribution=\"distribution\"\n :fading=\"!distributions.displayAll && !isDistributionsAllDisplayed && index === distributions.displayCount - 1\"\n :distributions=\"distributions\"\n :setDistributionsDisplayCount=\"setDistributionsDisplayCount\"\n :getDistributionFormat=\"getDistributionFormat\"\n :distributionFormatTruncated=\"distributionFormatTruncated\"\n :getDistributionTitle=\"getDistributionTitle\"\n :distributionVisibleContent=\"distributionVisibleContent\"\n :distributionExpandedContent=\"distributionExpandedContent\"\n :distributionDescriptionIsExpanded=\"distributionDescriptionIsExpanded\"\n :distributionDescriptionIsExpandable=\"distributionDescriptionIsExpandable\"\n :getDistributionDescription=\"getDistributionDescription\"\n :distributionIsExpanded=\"distributionIsExpanded\"\n :showObject=\"showObject\"\n :showNumber=\"showNumber\"\n :showDownloadDropdown=\"showDownloadDropdown\"\n :showLicence=\"showLicence\"\n :showLicensingAssistant=\"showLicensingAssistant\"\n :filterDateFormatEU=\"filterDateFormatEU\"\n :showArray=\"showArray\"\n :showObjectArray=\"showObjectArray\"\n :getVisualisationLink=\"getVisualisationLink\"\n :isOnlyOneUrl=\"isOnlyOneUrl\"\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 :isUrlInvalid=\"isUrlInvalid\"\n :openIfValidUrl=\"openIfValidUrl\"\n :showTooltipVisualiseButton=\"showTooltipVisualiseButton\"\n :appendCurrentLocaleToURL=\"appendCurrentLocaleToURL\"\n :embed=\"embed\"\n />\n </div>\n </ul>\n <div class=\"w-100 d-flex flex-row justify-content-end\">\n <download-all-distributions\n v-if=\"!downloadAllTop\"\n :getDistributionDescription=\"getDistributionDescription\"\n :openModal=\"openModal\"\n :getDistributionTitle=\"getDistributionTitle\"\n :showDownloadUrls=\"showDownloadUrls\"\n :isUrlInvalid=\"isUrlInvalid\"\n />\n </div>\n </div>\n <download-as-modal />\n <!-- <distribution-visualization v-if=\"showDistibutionVisualisation\" class=\"mb-4\"></distribution-visualization> -->\n <distribution-visualisation-slot\n v-if=\"showDistibutionVisualisation && showVisualisation\"\n ref=\"visualisationComponent\"\n :key=\"componentKey\"\n class=\"mb-4\"\n :title=\"previewedDistTitle\"\n :downloadUrl=\"previewedDistDownloadUrl\"\n :format=\"previewedDistFormat\"\n :compressFormat=\"previewedDistCompressFormat\"\n ></distribution-visualisation-slot>\n </div>\n</template>\n\n<script>\n\nimport {has, isNil} from \"lodash\";\nimport {getTranslationFor} from \"../../utils/helpers\";\nimport { mapGetters } from \"vuex\";\nimport DownloadAsModal from \"../../datasetDetails/distributions/DistributionDownloadAsModal\";\n\nexport default {\n name: 'Distributions',\n components: {\n DownloadAsModal\n },\n props: {\n openModal: Function,\n expandedDistributions: Array,\n expandedDistributionDescriptions: Array,\n displayedDistributions: Array,\n distributions: Object,\n setDistributionsDisplayCount: Function,\n isDistributionsAllDisplayed: Boolean,\n pages: Object,\n showDownloadUrls: Function,\n getDistributionFormat: Function,\n distributionFormatTruncated: Function,\n getDistributionTitle: Function,\n distributionVisibleContent: Array,\n distributionExpandedContent: Array,\n distributionDescriptionIsExpanded: Function,\n distributionDescriptionIsExpandable: Function,\n distributionIsExpanded: Function,\n showObject: Function,\n showNumber: Function,\n showDownloadDropdown: Function,\n showLicence: Function,\n showLicensingAssistant: Function,\n filterDateFormatEU: Function,\n showArray: Function,\n showObjectArray: Function,\n getVisualisationLink: Function,\n isOnlyOneUrl: Function,\n getDownloadUrl: Function,\n trackGoto: Function,\n showAccessUrls: Function,\n replaceHttp: Function,\n previewLinkCallback: Function,\n toggleDistribution: Function,\n toggleDistributionDescription: Function,\n increaseNumDisplayedDistributions: Function,\n nonOverflowingIncrementsForDistributions: Function,\n isUrlInvalid: Function,\n openIfValidUrl: Function,\n showTooltipVisualiseButton: Function,\n appendCurrentLocaleToURL: Function,\n showPublisher: Boolean,\n embed: Boolean,\n },\n data() {\n return {\n componentKey: 0,\n downloadAllTop: this.$env.content.datasetDetails.bulkDownload.buttonPosition === \"top\",\n // previewedDistributionTitle: this.getDistributionTitle(this.displayedDistributions[0]),\n showDistibutionVisualisation: false,\n previewedDistributionTitle: \"\",\n previewedDistDownloadUrl: \"\",\n previewedDistFormat: \"\",\n previewedDistCompressFormat: \"\",\n selectedDistribution: null,\n showVisualisation: this.$env.content.datasetDetails.distributions.showVisualisation,\n\n };\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getLanguages',\n 'getCatalog',\n ]),\n },\n methods: {\n getDistributionDescription(distribution) {\n return (has(distribution, 'description') && !isNil(distribution.description)) ? getTranslationFor(distribution.description, this.$route.query.locale, this.getLanguages) : '-';\n },\n selectDistribution(dist) {\n this.previewedDistTitle = dist.title;\n this.previewedDistDownloadUrl = dist.url;\n this.previewedDistFormat = dist.format;\n this.previewedDistCompressFormat = dist.compressFormat ? dist.compressFormat : '';\n this.showDistibutionVisualisation = true;\n this.componentKey += 1; // kill and rerender with new values\n\n // scroll to visualisation component\n this.$nextTick(() => {\n const visualisationComponent = this.$refs.visualisationComponent;\n if (visualisationComponent) {\n visualisationComponent.$el.scrollIntoView({ behavior: 'smooth' });\n }\n });\n },\n },\n};\n</script>\n\n<style lang=\"scss\" scoped>\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 .subjectBg {\n background-color: #196fd2;\n }\n .btn-color {\n &:hover {\n background-color: #196fd2;\n border-color: #196fd2;\n }\n }\n\n .download-all-btn {\n min-width: 100px;\n height: 31px;\n }\n\n /*** BOOTSTRAP ***/\n button:focus {\n outline:0;\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 .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":["_sfc_main","DownloadAsModal","mapGetters","distribution","has","isNil","getTranslationFor","dist","visualisationComponent","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_openBlock","_createElementBlock","_createVNode","_component_distributions_header","$options","$props","_createElementVNode","_Fragment","_renderList","index","_createBlock","_component_distribution","$data","_component_download_all_distributions","_component_download_as_modal","_component_distribution_visualisation_slot","_ctx"],"mappings":"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"}
@@ -1,20 +1,20 @@
1
1
  declare const _default: import('vue').DefineComponent<{
2
- getDistributionDescription?: any;
3
2
  openModal?: any;
4
- getDistributionTitle?: any;
5
3
  showDownloadUrls?: any;
4
+ getDistributionTitle?: any;
6
5
  isUrlInvalid?: any;
6
+ getDistributionDescription?: any;
7
7
  }, {}, {
8
8
  downloadAllTop: boolean;
9
9
  }, {
10
10
  getDistributions: import('vuex').Computed;
11
11
  getLanguages: import('vuex').Computed;
12
12
  }, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
13
- getDistributionDescription?: any;
14
13
  openModal?: any;
15
- getDistributionTitle?: any;
16
14
  showDownloadUrls?: any;
15
+ getDistributionTitle?: any;
17
16
  isUrlInvalid?: any;
17
+ getDistributionDescription?: any;
18
18
  }> & Readonly<{}>, {}, {}, {
19
19
  DownloadAllDistributions: any;
20
20
  }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"DistributionsHeader.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DistributionsHeader.vue"],"sourcesContent":["<template>\n <div class=\"distributions-header-container w-100\">\n <!-- Adjusting the container for correct alignment -->\n <div class=\"distributions-header-title-container dsd-item d-flex flex-column align-items-start\" style=\"position: relative; left: -15px;\">\n <div class=\"distributions-header-title\">\n <h2 :title=\"$t('message.tooltip.datasetDetails.distribution')\"\n data-toggle=\"tooltip\"\n data-placement=\"top\"\n data-cy=\"dataset-distributions\"\n class=\"distributions-header-title-title\">\n {{ $t('message.metadata.distributions') }} \n </h2>\n \n <div class=\"distributions-header-title-count-container\">\n <h3 class=\"distributions-header-title-count\">{{ getDistributions ? getDistributions.length.toLocaleString('fi') : 0 }}</h3>\n </div>\n \n </div>\n <download-all-distributions\n v-if=\"downloadAllTop\"\n :primary=\"true\"\n :small=\"true\"\n :getDistributions=\"getDistributions\"\n :getDistributionDescription=\"getDistributionDescription\"\n :openModal=\"openModal\"\n :getDistributionTitle=\"getDistributionTitle\"\n :showDownloadUrls=\"showDownloadUrls\"\n :isUrlInvalid=\"isUrlInvalid\"\n />\n </div>\n <hr class=\"distributions-header-bottom-hr\">\n </div>\n</template>\n\n<script>\nimport {mapGetters} from \"vuex\";\nimport DownloadAllDistributions\n from \"../../datasetDetails/distributions/DownloadAllDistributions\";\n\nexport default {\n name: \"DistributionsHeader\",\n components: {DownloadAllDistributions},\n props: [\n 'getDistributionDescription',\n 'openModal',\n 'getDistributionTitle',\n 'showDownloadUrls',\n 'isUrlInvalid',\n ],\n data() {\n return {\n downloadAllTop: this.$env.content.datasetDetails.bulkDownload.buttonPosition === \"top\"\n };\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getDistributions',\n 'getLanguages'\n ])\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n .distributions-header-title {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n }\n\n .distributions-header-title-title {\n margin-right: 8px;\n }\n\n .distributions-header-title-count {\n &::before {\n content: '('\n }\n &::after {\n content: ')'\n }\n }\n</style>\n"],"names":["_sfc_main","DownloadAllDistributions","mapGetters","_hoisted_1","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_openBlock","_createElementBlock","_createElementVNode","_hoisted_2","_ctx","_toDisplayString","_cache","_createTextVNode","$data","_createBlock","_component_download_all_distributions","$props","_createCommentVNode"],"mappings":";;;;;AAuCA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY,EAAC,0BAAAC,EAAwB;AAAA,EACrC,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,gBAAgB,KAAK,KAAK,QAAQ,eAAe,aAAa,mBAAmB;AAAA;EAEpF;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,MACA;AAAA,KACD;AAAA,EACF;AACH,GA3DOC,IAAA,EAAA,OAAM,uCAAsC;EAE1C,OAAM;AAAA,EAAqF,OAAA,EAAwC,UAAA,YAAA,MAAA,QAAA;GACjIC,IAAA,EAAA,OAAM,6BAA4B,GAJ7CC,IAAA,CAAA,OAAA,GAaaC,IAAA,EAAA,OAAM,6CAA4C,GACjDC,IAAA,EAAA,OAAM,mCAAkC;;;AAbpD,SAAAC,EAAA,GAAAC,EA8BM,OA9BNN,GA8BM;AAAA,IA5BJO,EA0BM,OA1BNC,GA0BM;AAAA,MAzBJD,EAaM,OAbNN,GAaM;AAAA,QAZJM,EAMK,MAAA;AAAA,UANA,OAAOE,EAAE,GAAA,6CAAA;AAAA,UACV,eAAY;AAAA,UACZ,kBAAe;AAAA,UACf,WAAQ;AAAA,UACR,OAAM;AAAA,QACL,GAAAC,EAAAD,EAAA,GAVb,gCAAA,CAAA,GAAA,GAAAP,CAAA;AAAA,QAAAS,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,QAaQL,EAEM,OAFNJ,GAEM;AAAA,UADJI,EAA2H,MAA3HH,GAAgDM,EAAAD,EAAA,mBAAmBA,EAAgB,iBAAC,OAAO,eAAc,IAAA,IAAA,CAAA,GAAA,CAAA;AAAA;;MAdnHE,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,MAmBcC,EAAc,uBADtBC,EAUEC,GAAA;AAAA,QA5BR,KAAA;AAAA,QAoBS,SAAS;AAAA,QACT,OAAO;AAAA,QACP,kBAAkBN,EAAgB;AAAA,QAClC,4BAA4BO,EAA0B;AAAA,QACtD,WAAWA,EAAS;AAAA,QACpB,sBAAsBA,EAAoB;AAAA,QAC1C,kBAAkBA,EAAgB;AAAA,QAClC,cAAcA,EAAY;AAAA,kJA3BnCC,EAAA,IAAA,EAAA;AAAA;IAAAN,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA;AAAA,oBA8BIL,EAA2C,MAAA,EAAvC,OAAM,iCAAgC,GAAA,MAAA,EAAA;AAAA;;;"}
1
+ {"version":3,"file":"DistributionsHeader.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DistributionsHeader.vue"],"sourcesContent":["<template>\n <div class=\"distributions-header-container w-100\">\n <!-- Adjusting the container for correct alignment -->\n <div class=\"distributions-header-title-container dsd-item d-flex flex-column align-items-start\" style=\"position: relative; left: -15px;\">\n <div class=\"distributions-header-title\">\n <h2 :title=\"$t('message.tooltip.datasetDetails.distribution')\"\n data-toggle=\"tooltip\"\n data-placement=\"top\"\n data-cy=\"dataset-distributions\"\n class=\"distributions-header-title-title\">\n {{ $t('message.metadata.distributions') }} \n </h2>\n \n <div class=\"distributions-header-title-count-container\">\n <h3 class=\"distributions-header-title-count\">{{ getDistributions ? getDistributions.length.toLocaleString('fi') : 0 }}</h3>\n </div>\n \n </div>\n <download-all-distributions\n v-if=\"downloadAllTop\"\n :primary=\"true\"\n :small=\"true\"\n :getDistributions=\"getDistributions\"\n :getDistributionDescription=\"getDistributionDescription\"\n :openModal=\"openModal\"\n :getDistributionTitle=\"getDistributionTitle\"\n :showDownloadUrls=\"showDownloadUrls\"\n :isUrlInvalid=\"isUrlInvalid\"\n />\n </div>\n <hr class=\"distributions-header-bottom-hr\">\n </div>\n</template>\n\n<script>\nimport {mapGetters} from \"vuex\";\nimport DownloadAllDistributions\n from \"../../datasetDetails/distributions/DownloadAllDistributions\";\n\nexport default {\n name: \"DistributionsHeader\",\n components: {DownloadAllDistributions},\n props: [\n 'getDistributionDescription',\n 'openModal',\n 'getDistributionTitle',\n 'showDownloadUrls',\n 'isUrlInvalid',\n ],\n data() {\n return {\n downloadAllTop: this.$env.content.datasetDetails.bulkDownload.buttonPosition === \"top\"\n };\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getDistributions',\n 'getLanguages'\n ])\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n .distributions-header-title {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n }\n\n .distributions-header-title-title {\n margin-right: 8px;\n }\n\n .distributions-header-title-count {\n &::before {\n content: '('\n }\n &::after {\n content: ')'\n }\n }\n</style>\n"],"names":["_sfc_main","DownloadAllDistributions","mapGetters","_hoisted_1","_hoisted_3","_hoisted_5","_hoisted_6","_openBlock","_createElementBlock","_createElementVNode","_hoisted_2","_ctx","_hoisted_4","_toDisplayString","$data","_createBlock","_component_download_all_distributions","$props"],"mappings":";;;;;AAuCA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY,EAAC,0BAAAC,EAAwB;AAAA,EACrC,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,gBAAgB,KAAK,KAAK,QAAQ,eAAe,aAAa,mBAAmB;AAAA;EAEpF;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,MACA;AAAA,KACD;AAAA,EACF;AACH,GA3DOC,IAAA,EAAA,OAAM,uCAAsC;EAE1C,OAAM;AAAA,EAAqF,OAAA,EAAwC,UAAA,YAAA,MAAA,QAAA;GACjIC,IAAA,EAAA,OAAM,6BAA4B,kBAShCC,IAAA,EAAA,OAAM,6CAA4C,GACjDC,IAAA,EAAA,OAAM,mCAAkC;;;AAbpD,SAAAC,EAAA,GAAAC,EA8BM,OA9BNL,GA8BM;AAAA,IA5BJM,EA0BM,OA1BNC,GA0BM;AAAA,MAzBJD,EAaM,OAbNL,GAaM;AAAA,QAZJK,EAMK,MAAA;AAAA,UANA,OAAOE,EAAE,GAAA,6CAAA;AAAA,UACV,eAAY;AAAA,UACZ,kBAAe;AAAA,UACf,WAAQ;AAAA,UACR,OAAM;AAAA,aACLA,EAAE,GAAA,gCAAA,CAAA,GAAA,GAAAC,CAAA;AAAA;QAGPH,EAEM,OAFNJ,GAEM;AAAA,UADJI,EAA2H,MAA3HH,GAAgDO,EAAAF,EAAA,mBAAmBA,EAAgB,iBAAC,OAAO,eAAc,IAAA,IAAA,CAAA,GAAA,CAAA;AAAA;;;MAKrGG,EAAc,uBADtBC,EAUEC,GAAA;AAAA;QARC,SAAS;AAAA,QACT,OAAO;AAAA,QACP,kBAAkBL,EAAgB;AAAA,QAClC,4BAA4BM,EAA0B;AAAA,QACtD,WAAWA,EAAS;AAAA,QACpB,sBAAsBA,EAAoB;AAAA,QAC1C,kBAAkBA,EAAgB;AAAA,QAClC,cAAcA,EAAY;AAAA;;;oBAG/BR,EAA2C,MAAA,EAAvC,OAAM,iCAAgC,GAAA,MAAA,EAAA;AAAA;;;"}
@@ -1,12 +1,12 @@
1
1
  import { getTranslationFor } from '../../utils/helpers';
2
2
  declare const _default: import('vue').DefineComponent<{
3
3
  small?: any;
4
- primary?: any;
5
- getDistributionDescription?: any;
6
4
  openModal?: any;
7
- getDistributionTitle?: any;
8
5
  showDownloadUrls?: any;
6
+ getDistributionTitle?: any;
9
7
  isUrlInvalid?: any;
8
+ getDistributionDescription?: any;
9
+ primary?: any;
10
10
  }, void, {
11
11
  downloadedFilesCounter: number;
12
12
  numberOfFilesToZip: number;
@@ -25,9 +25,9 @@ declare const _default: import('vue').DefineComponent<{
25
25
  };
26
26
  }, {
27
27
  files(): any;
28
- getDistributions: import('vuex').Computed;
29
- getTitle: import('vuex').Computed;
30
28
  getCatalog: import('vuex').Computed;
29
+ getTitle: import('vuex').Computed;
30
+ getDistributions: import('vuex').Computed;
31
31
  getLanguages: import('vuex').Computed;
32
32
  }, {
33
33
  getTranslationFor: typeof getTranslationFor;
@@ -42,11 +42,11 @@ declare const _default: import('vue').DefineComponent<{
42
42
  onClose(e: any): void;
43
43
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
44
44
  small?: any;
45
- primary?: any;
46
- getDistributionDescription?: any;
47
45
  openModal?: any;
48
- getDistributionTitle?: any;
49
46
  showDownloadUrls?: any;
47
+ getDistributionTitle?: any;
50
48
  isUrlInvalid?: any;
49
+ getDistributionDescription?: any;
50
+ primary?: any;
51
51
  }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
52
52
  export default _default;
@@ -203,7 +203,8 @@ function oe(s, e, r, i, o, d) {
203
203
  e[2] || (e[2] = l("div", { class: "loading-spinner" }, null, -1)),
204
204
  w(" " + u(s.$t("message.datasetDetails.datasets.downloadAll")), 1)
205
205
  ]),
206
- _: 1
206
+ _: 1,
207
+ __: [2]
207
208
  }, 8, ["small", "primary"])) : (m(), y(t, {
208
209
  key: 1,
209
210
  class: "download-all-btn",
@@ -1 +1 @@
1
- {"version":3,"file":"DownloadAllDistributions.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DownloadAllDistributions.vue"],"sourcesContent":["<template>\n <div v-if=\"getDistributions.length > 1 && getCatalog.is_part_of !== 'erpd'\" class=\"dsd-download-all-distributions-button\">\n <pv-button v-if=\"isLoadingAllDistributionFiles\" :small=\"small\" :rounded=\"true\" :primary=\"primary\" :download=\"true\"\n class=\"download-all-btn\"\n >\n <div class=\"loading-spinner\"></div>\n {{ $t('message.datasetDetails.datasets.downloadAll') }}\n </pv-button>\n <pv-button v-else class=\"download-all-btn\" :small=\"small\" :rounded=\"true\" :primary=\"primary\" :download=\"true\" :action=\"openRessourceAccessPopup\">\n {{ $t('message.datasetDetails.datasets.downloadAll') }}\n </pv-button>\n <div class=\"modal fade\" data-backdrop=\"static\" data-keyboard=\"false\" id=\"downloadAllModal\" ref=\"downloadAllModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"download progress\" aria-hidden=\"true\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\">{{ $t('message.datasetDetails.datasets.modal.downloadProgress') }}</h3>\n<!-- <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">-->\n<!-- <span aria-hidden=\"true\">&times;</span>-->\n<!-- </button>-->\n </div>\n <div class=\"modal-body\">\n <div class=\"progress\">\n <div class=\"progress-bar\" role=\"progressbar\" :style=\"{width: `${downloadProgress}%`}\" :aria-valuenow=\"downloadProgress\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n </div>\n <div>\n {{ $t('message.datasetDetails.datasets.modal.downloadingFiles') }} {{ downloadedFilesCounter.toLocaleString('fi') }}/{{getDistributions.length.toLocaleString('fi')}}\n </div>\n <div class=\"d-flex justify-content-between align-items-center\">\n <div>{{ $t('message.datasetDetails.datasets.modal.notDownloaded') }} {{ failedDownloads.toLocaleString('fi') }}</div>\n <i class=\"material-icons help-icon\" data-toggle=\"tooltip\" data-placement=\"bottom\" :title=\"$t('message.datasetDetails.datasets.modal.notDownloadedTooltip')\">help</i>\n </div>\n <div class=\"d-flex justify-content-between align-items-center\">\n <div>{{ $t('message.datasetDetails.datasets.modal.zipNumberOfFiles', { number: numberOfFilesToZip.toLocaleString('fi') }) }}\n <span v-if=\"isLoadingAllDistributionFiles && numberOfFilesToZip > 0\">\n {{ $t('message.datasetDetails.datasets.modal.coupleOfMinutes') }}\n </span> <span v-else-if=\"isLoadingAllDistributionFiles\">\n {{ $t('message.datasetDetails.datasets.modal.waitingForDownload')}}\n </span>\n </div>\n <div v-if=\"isGeneratingZip\" class=\"spinner-grow text-primary\" role=\"status\">\n <span class=\"sr-only\">Loading...</span>\n </div>\n <i v-else-if=\"isGeneratingZipDone\" class=\"material-icons check-icon\">check_circle</i>\n </div>\n </div>\n <div class=\"modal-footer\">\n<!-- <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">{{ $t('message.datasetDetails.datasets.modal.close') }}</button>-->\n <button v-if=\"!downloadAllSuccess && !downloadAllError\" type=\"button\" class=\"btn btn-danger\" data-dismiss=\"modal\" @click=\"cancelDownloadAll(cancelDownloadAllAxiosRequestSource)\">\n {{ $t('message.datasetDetails.datasets.modal.cancel') }}\n </button>\n <button v-if=\"downloadAllError\" type=\"button\" class=\"btn btn-danger\" @click=\"trackAndDownloadAllDistributions()\">{{ $t('message.datasetDetails.datasets.modal.error') }}</button>\n <button v-else-if=\"downloadAllSuccess\" type=\"button\" class=\"btn btn-success\" data-dismiss=\"modal\">{{ $t('message.datasetDetails.datasets.modal.okay') }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from \"vuex\";\nimport { onUnmounted } from 'vue';\nimport { useRouter } from 'vue-router';\n\nimport {has, isNil} from \"lodash\";\nimport axios from \"axios\";\nimport { saveAs } from 'file-saver';\nimport $ from \"jquery\";\nimport { getTranslationFor } from \"../../utils/helpers\";\n\n\nexport default {\n name: \"DownloadAllDistributions\",\n props: [\n 'getDistributionDescription',\n 'getDistributionTitle',\n 'openModal',\n 'isUrlInvalid',\n 'showDownloadUrls',\n 'primary',\n 'small'\n ],\n computed: {\n ...mapGetters('datasetDetails', [\n 'getDistributions',\n 'getTitle',\n 'getCatalog',\n 'getLanguages'\n ]),\n files() {\n const cutFormatEnding = string => (string.lastIndexOf('.') !== -1 ? string.substring(0, string.lastIndexOf('.')) : string);\n const getFormat = (distribution) => {\n if (has(distribution, 'format.id') && !isNil(distribution.format.id)) {\n const type = distribution.format.id;\n return type.lastIndexOf('.') === -1 ? type.toLowerCase() : type.substring(type.lastIndexOf('.') + 1, type.length).toLowerCase();\n }\n return '';\n };\n const getFileName = (distribution, i) =>\n `${cutFormatEnding(this.getDistributionTitle(distribution)).substring(0, this.bulkDownload.MAX_FILE_TITLE_LENGTH)\n .replace(/\\//g, ' ').trim()}-${i}`\n || `${cutFormatEnding(this.getDistributionDescription(distribution)).substring(0, this.bulkDownload.MAX_FILE_TITLE_LENGTH)\n .replace(/\\//g, ' ').trim()}-${i}`;\n const getUrls = distribution => (this.showDownloadUrls(distribution) ?\n { accessUrl: `${distribution.accessUrl[0]}`, downloadUrl: `${distribution.downloadUrls[0]}` }\n : { accessUrl: `${distribution.accessUrl[0]}` });\n const getFileNameForCSV = distribution => this.getDistributionTitle(distribution).replace(/,/g, '')\n || this.getDistributionDescription(distribution).replace(/,/g, '');\n const files = this.getDistributions\n .map((distribution, i) => ({\n title: getFileName(distribution, i + 1), ...getUrls(distribution), format: getFormat(distribution), csvReportTitle: getFileNameForCSV(distribution),\n }));\n return files\n }\n },\n data() {\n return {\n downloadedFilesCounter: 0,\n numberOfFilesToZip: 0,\n downloadProgress: 0,\n failedDownloads: 0,\n isGeneratingZip: false,\n isGeneratingZipDone: false,\n isLoadingAllDistributionFiles: false,\n cancelDownloadAllAxiosRequestSource: null,\n isDownloadAllDistributionsCanceled: false,\n downloadAllSuccess: false,\n downloadAllError: false,\n bulkDownload: {\n MAX_FILE_TITLE_LENGTH: this.$env.content.datasetDetails.bulkDownload.MAX_FILE_TITLE_LENGTH,\n TIMEOUT_MS: this.$env.content.datasetDetails.bulkDownload.TIMEOUT_MS,\n }\n }\n },\n methods: {\n getTranslationFor,\n async fetchDistributionFiles(zip, files, folder, getContentTypeFormat) {\n const csvReportArray = [];\n let csvReport = 'filename,status, issue_cause downloadURL, issue_cause accessURL\\n';\n let csvDownloadURLIssue;\n const problematicFormats = ['wms', 'wfs'];\n\n const CancelToken = axios.CancelToken;\n this.cancelDownloadAllAxiosRequestSource = CancelToken.source();\n const axiosInstance = this.$bulkDownloadAxiosInstance;\n const requestSettings = { responseType: 'blob', cancelToken: this.cancelDownloadAllAxiosRequestSource.token, timeout: this.bulkDownload.TIMEOUT_MS };\n\n const promises = files.map(async (file) => {\n const problematicFormat = problematicFormats.find(format => format === file.format);\n if (!problematicFormat) {\n let isRejected = true;\n let responseData;\n let fileFormat = file.format;\n\n // try to download from download url\n if (has(file, 'downloadUrl')) {\n responseData = await axiosInstance.get(file.downloadUrl, requestSettings).then((responseDownloadUrl) => {\n if (responseDownloadUrl.status === 200) {\n isRejected = false;\n if (!file.format.length > 0) fileFormat = getContentTypeFormat(responseDownloadUrl.headers['content-type']);\n csvReportArray.push([file.csvReportTitle, 'delivered']);\n return responseDownloadUrl.data;\n }\n return Promise.reject(new Error(responseDownloadUrl.statusText));\n }).catch((error) => {\n isRejected = true;\n csvDownloadURLIssue = error;\n });\n } else csvDownloadURLIssue = 'no download url available';\n if (this.isUrlInvalid(file.downloadUrl)) {\n csvReportArray.push([file.csvReportTitle, 'issue', 'url is invalid']);\n }\n // try to download from access url\n if (isRejected) {\n responseData = await axiosInstance.get(file.accessUrl, requestSettings).then((responseAccessUrl) => {\n if (responseAccessUrl.status === 200) {\n isRejected = false;\n if (file.format.length > 0) fileFormat = getContentTypeFormat(responseAccessUrl.headers['content-type']);\n csvReportArray.push([file.csvReportTitle, 'delivered', csvDownloadURLIssue]);\n return responseAccessUrl.data;\n }\n return Promise.reject(new Error(responseAccessUrl.statusText));\n }).catch((error) => {\n isRejected = true;\n csvReportArray.push([file.csvReportTitle, 'issue', csvDownloadURLIssue, error]);\n });\n }\n if (!isRejected) folder.file(`${file.title}.${fileFormat}`, responseData, { binary: true });\n if (!this.isDownloadAllDistributionsCanceled) {\n this.downloadedFilesCounter += 1;\n this.downloadProgress = Math.floor(100 * this.downloadedFilesCounter / this.getDistributions.length);\n if (isRejected) this.failedDownloads += 1;\n } else {\n this.downloadedFilesCounter = 0;\n this.downloadProgress = 0;\n this.failedDownloads = 0;\n }\n } else csvReportArray.push([file.csvReportTitle, 'issue', `We can't download ${problematicFormat} files using the download all button. Please try to download this file using the download button next to the file name.`]);\n });\n\n await Promise.all(promises);\n csvReportArray.forEach((row) => {\n csvReport += row.join(',');\n csvReport += '\\n';\n });\n zip.file('file_report.csv', csvReport, { binary: true });\n },\n hideDownloadAllModal() {\n $('#downloadAllModal').modal('hide');\n },\n generateAndSaveZip(zip, zipName) {\n if (!this.isDownloadAllDistributionsCanceled) {\n this.numberOfFilesToZip = Object.keys(zip.files).length;\n this.isGeneratingZip = true;\n }\n\n class UserInterruptException {\n constructor(message) {\n this.message = message;\n this.name = 'UserInterruptException';\n }\n }\n\n zip.generateAsync({ type: 'blob', compression: 'DEFLATE' }, () => {\n if (this.isDownloadAllDistributionsCanceled) throw new UserInterruptException('user canceled generate zip operation');\n })\n .then((blob) => {\n this.isGeneratingZip = false;\n this.isGeneratingZipDone = true;\n this.isLoadingAllDistributionFiles = false;\n this.downloadAllSuccess = true;\n saveAs(blob, zipName);\n })\n .catch((e) => {\n this.isGeneratingZip = false;\n this.isDownloadAllDistributionsCanceled = false;\n this.isLoadingAllDistributionFiles = false;\n this.downloadAllError = true;\n this.downloadedFilesCounter = 0;\n this.downloadProgress = 0;\n this.numberOfFilesToZip = 0;\n console.warn(e); // eslint-disable-line\n });\n\n // works with chrome => to make it compatible to more browsers look here https://jimmywarting.github.io/StreamSaver.js/examples/saving-multiple-files.html open developer tools and find saving-multiple-files.html\n // install stream saver and import it + script src=\"https://cdn.jsdelivr.net/npm/web-streams-polyfill@2.0.2/dist/ponyfill.min.js\"\n // if we don't want to use his service worker we can configure something (I think we have to change the mitm url) => read the api https://jimmywarting.github.io/StreamSaver.js\n // I think IE will never work with this solution\n /* const writeStream = streamSaver.createWriteStream(zipName).getWriter();\n zip.generateInternalStream({ type: 'uint8array', streamFiles: true })\n .on('data', data => writeStream.write(data))\n .on('error', err => console.error(err))\n .on('end', () => writeStream.close())\n .resume(); */\n },\n cancelDownloadAll(source) {\n // stops axios operations\n source.cancel('user canceled axios operation');\n // stops zip operation\n this.isDownloadAllDistributionsCanceled = true;\n },\n async trackAndDownloadAllDistributions() {\n if (this.$piwik && this.$piwik.trackDownload) {\n this.$piwik.trackDownload(\n window.location.href,\n {\n files: JSON.stringify(this.files),\n downloadAll: 'true',\n format: 'all',\n }\n );\n }\n return await this.downloadAllDistributions();\n },\n async downloadAllDistributions() {\n $('#downloadAllModal').modal('show');\n this.downloadedFilesCounter = 0;\n this.downloadProgress = 0;\n this.failedDownloads = 0;\n this.numberOfFilesToZip = 0;\n this.isGeneratingZip = false;\n this.isGeneratingZipDone = false;\n this.isLoadingAllDistributionFiles = true;\n this.isDownloadAllDistributionsCanceled = false;\n this.downloadAllSuccess = false;\n this.downloadAllError = false;\n const getContentTypeFormat = (contentType) => {\n const startIndex = contentType.lastIndexOf('/') + 1;\n const endIndex = contentType.indexOf(';') !== -1 ? contentType.indexOf(';') : contentType.length;\n return contentType.substring(startIndex, endIndex);\n };\n\n const {default: JSZip} = await import('jszip');\n const zip = new JSZip();\n const zipName = `${this.getTranslationFor(this.getTitle, this.$route.query.locale, this.getLanguages)}.zip`;\n const folder = zip.folder(this.getTranslationFor(this.getCatalog.title, this.$route.query.locale, this.getLanguages));\n await this.fetchDistributionFiles(zip, this.files, folder, getContentTypeFormat);\n await this.generateAndSaveZip(zip, zipName);\n },\n // handle navigation to extern website (cancel bulk download and hide modal)\n beforeWindowUnload(e) {\n if (this.isLoadingAllDistributionFiles && !this.isDownloadAllDistributionsCanceled) {\n e.preventDefault();\n // Chrome requires returnValue to be set\n e.returnValue = ''; // eslint-disable-line\n }\n },\n openRessourceAccessPopup() {\n // const modal = this.$refs.downloadAllModal;\n // const modal = document.getElementById('externalAccess');\n // console.log(\"openRessourceAccessPopup\", modal)\n // modal.addEventListener('shown.bs.modal', function() {\n // console.log(\"CLOSING\");\n // });\n this.openModal(this.trackAndDownloadAllDistributions, true);\n },\n onClose(e) {\n console.log(\"CLOSING\");\n }\n },\n created() {\n window.addEventListener('beforeunload', this.beforeWindowUnload);\n },\n // mounted() {\n // setTimeout(() => {\n // const modal = document.getElementById('externalAccess');\n // modal.addEventListener('click', function() {\n // console.log(\"CLOSING\");\n // });\n // })\n // },\n beforeUnmount() {\n window.removeEventListener('beforeunload', this.beforeWindowUnload);\n // const modal = this.$refs.downloadAllModal.$el;\n // modal.removeEventListener('hide.bs.modal', this.onClose);\n },\n setup() {\n const router = useRouter();\n\n onUnmounted(() => {\n router.beforeEach((to, from, next) => {\n if (this.isLoadingAllDistributionFiles && !this.isDownloadAllDistributionsCanceled) {\n const answer = window.confirm(this.$t('message.datasetDetails.datasets.leavePageWindow.text')); // eslint-disable-line\n if (answer) {\n // if modal is open we have to hide it when user tries to navigate back\n this.hideDownloadAllModal();\n this.cancelDownloadAll(this.cancelDownloadAllAxiosRequestSource);\n next();\n } else {\n next(false);\n }\n } else {\n this.hideDownloadAllModal();\n next();\n }\n })();\n })\n },\n}\n</script>\n\n<style scoped>\n\n</style>\n"],"names":["_sfc_main","mapGetters","cutFormatEnding","string","getFormat","distribution","has","isNil","type","getFileName","i","getUrls","getFileNameForCSV","getTranslationFor","zip","files","folder","getContentTypeFormat","csvReportArray","csvReport","csvDownloadURLIssue","problematicFormats","CancelToken","axios","axiosInstance","requestSettings","promises","file","problematicFormat","format","isRejected","responseData","fileFormat","responseDownloadUrl","error","responseAccessUrl","row","$","zipName","UserInterruptException","message","blob","saveAs","e","source","contentType","startIndex","endIndex","JSZip","router","useRouter","onUnmounted","to","from","next","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_17","_ctx","_openBlock","_createElementBlock","_hoisted_1","$data","_createBlock","_component_pv_button","$props","_withCtx","_createElementVNode","_createTextVNode","$options","_toDisplayString","_cache","_hoisted_2","_hoisted_3","_normalizeStyle","_hoisted_13","_hoisted_14","_createCommentVNode","_hoisted_15","_hoisted_16","$event","_hoisted_18"],"mappings":"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"}
1
+ {"version":3,"file":"DownloadAllDistributions.vue.mjs","sources":["../../../lib/datasetDetails/distributions/DownloadAllDistributions.vue"],"sourcesContent":["<template>\n <div v-if=\"getDistributions.length > 1 && getCatalog.is_part_of !== 'erpd'\" class=\"dsd-download-all-distributions-button\">\n <pv-button v-if=\"isLoadingAllDistributionFiles\" :small=\"small\" :rounded=\"true\" :primary=\"primary\" :download=\"true\"\n class=\"download-all-btn\"\n >\n <div class=\"loading-spinner\"></div>\n {{ $t('message.datasetDetails.datasets.downloadAll') }}\n </pv-button>\n <pv-button v-else class=\"download-all-btn\" :small=\"small\" :rounded=\"true\" :primary=\"primary\" :download=\"true\" :action=\"openRessourceAccessPopup\">\n {{ $t('message.datasetDetails.datasets.downloadAll') }}\n </pv-button>\n <div class=\"modal fade\" data-backdrop=\"static\" data-keyboard=\"false\" id=\"downloadAllModal\" ref=\"downloadAllModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"download progress\" aria-hidden=\"true\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\">{{ $t('message.datasetDetails.datasets.modal.downloadProgress') }}</h3>\n<!-- <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">-->\n<!-- <span aria-hidden=\"true\">&times;</span>-->\n<!-- </button>-->\n </div>\n <div class=\"modal-body\">\n <div class=\"progress\">\n <div class=\"progress-bar\" role=\"progressbar\" :style=\"{width: `${downloadProgress}%`}\" :aria-valuenow=\"downloadProgress\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n </div>\n <div>\n {{ $t('message.datasetDetails.datasets.modal.downloadingFiles') }} {{ downloadedFilesCounter.toLocaleString('fi') }}/{{getDistributions.length.toLocaleString('fi')}}\n </div>\n <div class=\"d-flex justify-content-between align-items-center\">\n <div>{{ $t('message.datasetDetails.datasets.modal.notDownloaded') }} {{ failedDownloads.toLocaleString('fi') }}</div>\n <i class=\"material-icons help-icon\" data-toggle=\"tooltip\" data-placement=\"bottom\" :title=\"$t('message.datasetDetails.datasets.modal.notDownloadedTooltip')\">help</i>\n </div>\n <div class=\"d-flex justify-content-between align-items-center\">\n <div>{{ $t('message.datasetDetails.datasets.modal.zipNumberOfFiles', { number: numberOfFilesToZip.toLocaleString('fi') }) }}\n <span v-if=\"isLoadingAllDistributionFiles && numberOfFilesToZip > 0\">\n {{ $t('message.datasetDetails.datasets.modal.coupleOfMinutes') }}\n </span> <span v-else-if=\"isLoadingAllDistributionFiles\">\n {{ $t('message.datasetDetails.datasets.modal.waitingForDownload')}}\n </span>\n </div>\n <div v-if=\"isGeneratingZip\" class=\"spinner-grow text-primary\" role=\"status\">\n <span class=\"sr-only\">Loading...</span>\n </div>\n <i v-else-if=\"isGeneratingZipDone\" class=\"material-icons check-icon\">check_circle</i>\n </div>\n </div>\n <div class=\"modal-footer\">\n<!-- <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">{{ $t('message.datasetDetails.datasets.modal.close') }}</button>-->\n <button v-if=\"!downloadAllSuccess && !downloadAllError\" type=\"button\" class=\"btn btn-danger\" data-dismiss=\"modal\" @click=\"cancelDownloadAll(cancelDownloadAllAxiosRequestSource)\">\n {{ $t('message.datasetDetails.datasets.modal.cancel') }}\n </button>\n <button v-if=\"downloadAllError\" type=\"button\" class=\"btn btn-danger\" @click=\"trackAndDownloadAllDistributions()\">{{ $t('message.datasetDetails.datasets.modal.error') }}</button>\n <button v-else-if=\"downloadAllSuccess\" type=\"button\" class=\"btn btn-success\" data-dismiss=\"modal\">{{ $t('message.datasetDetails.datasets.modal.okay') }}</button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from \"vuex\";\nimport { onUnmounted } from 'vue';\nimport { useRouter } from 'vue-router';\n\nimport {has, isNil} from \"lodash\";\nimport axios from \"axios\";\nimport { saveAs } from 'file-saver';\nimport $ from \"jquery\";\nimport { getTranslationFor } from \"../../utils/helpers\";\n\n\nexport default {\n name: \"DownloadAllDistributions\",\n props: [\n 'getDistributionDescription',\n 'getDistributionTitle',\n 'openModal',\n 'isUrlInvalid',\n 'showDownloadUrls',\n 'primary',\n 'small'\n ],\n computed: {\n ...mapGetters('datasetDetails', [\n 'getDistributions',\n 'getTitle',\n 'getCatalog',\n 'getLanguages'\n ]),\n files() {\n const cutFormatEnding = string => (string.lastIndexOf('.') !== -1 ? string.substring(0, string.lastIndexOf('.')) : string);\n const getFormat = (distribution) => {\n if (has(distribution, 'format.id') && !isNil(distribution.format.id)) {\n const type = distribution.format.id;\n return type.lastIndexOf('.') === -1 ? type.toLowerCase() : type.substring(type.lastIndexOf('.') + 1, type.length).toLowerCase();\n }\n return '';\n };\n const getFileName = (distribution, i) =>\n `${cutFormatEnding(this.getDistributionTitle(distribution)).substring(0, this.bulkDownload.MAX_FILE_TITLE_LENGTH)\n .replace(/\\//g, ' ').trim()}-${i}`\n || `${cutFormatEnding(this.getDistributionDescription(distribution)).substring(0, this.bulkDownload.MAX_FILE_TITLE_LENGTH)\n .replace(/\\//g, ' ').trim()}-${i}`;\n const getUrls = distribution => (this.showDownloadUrls(distribution) ?\n { accessUrl: `${distribution.accessUrl[0]}`, downloadUrl: `${distribution.downloadUrls[0]}` }\n : { accessUrl: `${distribution.accessUrl[0]}` });\n const getFileNameForCSV = distribution => this.getDistributionTitle(distribution).replace(/,/g, '')\n || this.getDistributionDescription(distribution).replace(/,/g, '');\n const files = this.getDistributions\n .map((distribution, i) => ({\n title: getFileName(distribution, i + 1), ...getUrls(distribution), format: getFormat(distribution), csvReportTitle: getFileNameForCSV(distribution),\n }));\n return files\n }\n },\n data() {\n return {\n downloadedFilesCounter: 0,\n numberOfFilesToZip: 0,\n downloadProgress: 0,\n failedDownloads: 0,\n isGeneratingZip: false,\n isGeneratingZipDone: false,\n isLoadingAllDistributionFiles: false,\n cancelDownloadAllAxiosRequestSource: null,\n isDownloadAllDistributionsCanceled: false,\n downloadAllSuccess: false,\n downloadAllError: false,\n bulkDownload: {\n MAX_FILE_TITLE_LENGTH: this.$env.content.datasetDetails.bulkDownload.MAX_FILE_TITLE_LENGTH,\n TIMEOUT_MS: this.$env.content.datasetDetails.bulkDownload.TIMEOUT_MS,\n }\n }\n },\n methods: {\n getTranslationFor,\n async fetchDistributionFiles(zip, files, folder, getContentTypeFormat) {\n const csvReportArray = [];\n let csvReport = 'filename,status, issue_cause downloadURL, issue_cause accessURL\\n';\n let csvDownloadURLIssue;\n const problematicFormats = ['wms', 'wfs'];\n\n const CancelToken = axios.CancelToken;\n this.cancelDownloadAllAxiosRequestSource = CancelToken.source();\n const axiosInstance = this.$bulkDownloadAxiosInstance;\n const requestSettings = { responseType: 'blob', cancelToken: this.cancelDownloadAllAxiosRequestSource.token, timeout: this.bulkDownload.TIMEOUT_MS };\n\n const promises = files.map(async (file) => {\n const problematicFormat = problematicFormats.find(format => format === file.format);\n if (!problematicFormat) {\n let isRejected = true;\n let responseData;\n let fileFormat = file.format;\n\n // try to download from download url\n if (has(file, 'downloadUrl')) {\n responseData = await axiosInstance.get(file.downloadUrl, requestSettings).then((responseDownloadUrl) => {\n if (responseDownloadUrl.status === 200) {\n isRejected = false;\n if (!file.format.length > 0) fileFormat = getContentTypeFormat(responseDownloadUrl.headers['content-type']);\n csvReportArray.push([file.csvReportTitle, 'delivered']);\n return responseDownloadUrl.data;\n }\n return Promise.reject(new Error(responseDownloadUrl.statusText));\n }).catch((error) => {\n isRejected = true;\n csvDownloadURLIssue = error;\n });\n } else csvDownloadURLIssue = 'no download url available';\n if (this.isUrlInvalid(file.downloadUrl)) {\n csvReportArray.push([file.csvReportTitle, 'issue', 'url is invalid']);\n }\n // try to download from access url\n if (isRejected) {\n responseData = await axiosInstance.get(file.accessUrl, requestSettings).then((responseAccessUrl) => {\n if (responseAccessUrl.status === 200) {\n isRejected = false;\n if (file.format.length > 0) fileFormat = getContentTypeFormat(responseAccessUrl.headers['content-type']);\n csvReportArray.push([file.csvReportTitle, 'delivered', csvDownloadURLIssue]);\n return responseAccessUrl.data;\n }\n return Promise.reject(new Error(responseAccessUrl.statusText));\n }).catch((error) => {\n isRejected = true;\n csvReportArray.push([file.csvReportTitle, 'issue', csvDownloadURLIssue, error]);\n });\n }\n if (!isRejected) folder.file(`${file.title}.${fileFormat}`, responseData, { binary: true });\n if (!this.isDownloadAllDistributionsCanceled) {\n this.downloadedFilesCounter += 1;\n this.downloadProgress = Math.floor(100 * this.downloadedFilesCounter / this.getDistributions.length);\n if (isRejected) this.failedDownloads += 1;\n } else {\n this.downloadedFilesCounter = 0;\n this.downloadProgress = 0;\n this.failedDownloads = 0;\n }\n } else csvReportArray.push([file.csvReportTitle, 'issue', `We can't download ${problematicFormat} files using the download all button. Please try to download this file using the download button next to the file name.`]);\n });\n\n await Promise.all(promises);\n csvReportArray.forEach((row) => {\n csvReport += row.join(',');\n csvReport += '\\n';\n });\n zip.file('file_report.csv', csvReport, { binary: true });\n },\n hideDownloadAllModal() {\n $('#downloadAllModal').modal('hide');\n },\n generateAndSaveZip(zip, zipName) {\n if (!this.isDownloadAllDistributionsCanceled) {\n this.numberOfFilesToZip = Object.keys(zip.files).length;\n this.isGeneratingZip = true;\n }\n\n class UserInterruptException {\n constructor(message) {\n this.message = message;\n this.name = 'UserInterruptException';\n }\n }\n\n zip.generateAsync({ type: 'blob', compression: 'DEFLATE' }, () => {\n if (this.isDownloadAllDistributionsCanceled) throw new UserInterruptException('user canceled generate zip operation');\n })\n .then((blob) => {\n this.isGeneratingZip = false;\n this.isGeneratingZipDone = true;\n this.isLoadingAllDistributionFiles = false;\n this.downloadAllSuccess = true;\n saveAs(blob, zipName);\n })\n .catch((e) => {\n this.isGeneratingZip = false;\n this.isDownloadAllDistributionsCanceled = false;\n this.isLoadingAllDistributionFiles = false;\n this.downloadAllError = true;\n this.downloadedFilesCounter = 0;\n this.downloadProgress = 0;\n this.numberOfFilesToZip = 0;\n console.warn(e); // eslint-disable-line\n });\n\n // works with chrome => to make it compatible to more browsers look here https://jimmywarting.github.io/StreamSaver.js/examples/saving-multiple-files.html open developer tools and find saving-multiple-files.html\n // install stream saver and import it + script src=\"https://cdn.jsdelivr.net/npm/web-streams-polyfill@2.0.2/dist/ponyfill.min.js\"\n // if we don't want to use his service worker we can configure something (I think we have to change the mitm url) => read the api https://jimmywarting.github.io/StreamSaver.js\n // I think IE will never work with this solution\n /* const writeStream = streamSaver.createWriteStream(zipName).getWriter();\n zip.generateInternalStream({ type: 'uint8array', streamFiles: true })\n .on('data', data => writeStream.write(data))\n .on('error', err => console.error(err))\n .on('end', () => writeStream.close())\n .resume(); */\n },\n cancelDownloadAll(source) {\n // stops axios operations\n source.cancel('user canceled axios operation');\n // stops zip operation\n this.isDownloadAllDistributionsCanceled = true;\n },\n async trackAndDownloadAllDistributions() {\n if (this.$piwik && this.$piwik.trackDownload) {\n this.$piwik.trackDownload(\n window.location.href,\n {\n files: JSON.stringify(this.files),\n downloadAll: 'true',\n format: 'all',\n }\n );\n }\n return await this.downloadAllDistributions();\n },\n async downloadAllDistributions() {\n $('#downloadAllModal').modal('show');\n this.downloadedFilesCounter = 0;\n this.downloadProgress = 0;\n this.failedDownloads = 0;\n this.numberOfFilesToZip = 0;\n this.isGeneratingZip = false;\n this.isGeneratingZipDone = false;\n this.isLoadingAllDistributionFiles = true;\n this.isDownloadAllDistributionsCanceled = false;\n this.downloadAllSuccess = false;\n this.downloadAllError = false;\n const getContentTypeFormat = (contentType) => {\n const startIndex = contentType.lastIndexOf('/') + 1;\n const endIndex = contentType.indexOf(';') !== -1 ? contentType.indexOf(';') : contentType.length;\n return contentType.substring(startIndex, endIndex);\n };\n\n const {default: JSZip} = await import('jszip');\n const zip = new JSZip();\n const zipName = `${this.getTranslationFor(this.getTitle, this.$route.query.locale, this.getLanguages)}.zip`;\n const folder = zip.folder(this.getTranslationFor(this.getCatalog.title, this.$route.query.locale, this.getLanguages));\n await this.fetchDistributionFiles(zip, this.files, folder, getContentTypeFormat);\n await this.generateAndSaveZip(zip, zipName);\n },\n // handle navigation to extern website (cancel bulk download and hide modal)\n beforeWindowUnload(e) {\n if (this.isLoadingAllDistributionFiles && !this.isDownloadAllDistributionsCanceled) {\n e.preventDefault();\n // Chrome requires returnValue to be set\n e.returnValue = ''; // eslint-disable-line\n }\n },\n openRessourceAccessPopup() {\n // const modal = this.$refs.downloadAllModal;\n // const modal = document.getElementById('externalAccess');\n // console.log(\"openRessourceAccessPopup\", modal)\n // modal.addEventListener('shown.bs.modal', function() {\n // console.log(\"CLOSING\");\n // });\n this.openModal(this.trackAndDownloadAllDistributions, true);\n },\n onClose(e) {\n console.log(\"CLOSING\");\n }\n },\n created() {\n window.addEventListener('beforeunload', this.beforeWindowUnload);\n },\n // mounted() {\n // setTimeout(() => {\n // const modal = document.getElementById('externalAccess');\n // modal.addEventListener('click', function() {\n // console.log(\"CLOSING\");\n // });\n // })\n // },\n beforeUnmount() {\n window.removeEventListener('beforeunload', this.beforeWindowUnload);\n // const modal = this.$refs.downloadAllModal.$el;\n // modal.removeEventListener('hide.bs.modal', this.onClose);\n },\n setup() {\n const router = useRouter();\n\n onUnmounted(() => {\n router.beforeEach((to, from, next) => {\n if (this.isLoadingAllDistributionFiles && !this.isDownloadAllDistributionsCanceled) {\n const answer = window.confirm(this.$t('message.datasetDetails.datasets.leavePageWindow.text')); // eslint-disable-line\n if (answer) {\n // if modal is open we have to hide it when user tries to navigate back\n this.hideDownloadAllModal();\n this.cancelDownloadAll(this.cancelDownloadAllAxiosRequestSource);\n next();\n } else {\n next(false);\n }\n } else {\n this.hideDownloadAllModal();\n next();\n }\n })();\n })\n },\n}\n</script>\n\n<style scoped>\n\n</style>\n"],"names":["_sfc_main","mapGetters","cutFormatEnding","string","getFormat","distribution","has","isNil","type","getFileName","i","getUrls","getFileNameForCSV","getTranslationFor","zip","files","folder","getContentTypeFormat","csvReportArray","csvReport","csvDownloadURLIssue","problematicFormats","CancelToken","axios","axiosInstance","requestSettings","promises","file","problematicFormat","format","isRejected","responseData","fileFormat","responseDownloadUrl","error","responseAccessUrl","row","$","zipName","UserInterruptException","message","blob","saveAs","e","source","contentType","startIndex","endIndex","JSZip","router","useRouter","onUnmounted","to","from","next","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_10","_hoisted_12","_hoisted_17","_ctx","_openBlock","_createElementBlock","_hoisted_1","$data","_createBlock","_component_pv_button","$props","_createElementVNode","_createTextVNode","$options","_hoisted_2","_hoisted_3","_toDisplayString","_hoisted_11","_hoisted_15","_cache","_hoisted_16","$event","_hoisted_18"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { mapGetters as m } from "vuex";
2
2
  import { resolveComponent as c, openBlock as o, createElementBlock as l, createElementVNode as n, Fragment as b, renderList as p, createBlock as f, withCtx as d, createTextVNode as r, toDisplayString as a, createVNode as D } from "vue";
3
3
  import "./FadingDistributionOverlay.vue2.mjs";
4
- import g from "../../_virtual/_plugin-vue_export-helper.mjs";
5
- const _ = {
4
+ import _ from "../../_virtual/_plugin-vue_export-helper.mjs";
5
+ const g = {
6
6
  name: "FadingDistributionOverlay",
7
7
  props: {
8
8
  distributions: Object,
@@ -30,7 +30,8 @@ function w(i, t, s, F, h, N) {
30
30
  t[0] || (t[0] = n("i", { class: "fas fa-chevron-down" }, null, -1)),
31
31
  r(" " + a(i.$t("message.metadata.showXMore", { increment: e })), 1)
32
32
  ]),
33
- _: 2
33
+ _: 2,
34
+ __: [0]
34
35
  }, 1032, ["action"]))), 128)),
35
36
  t[2] || (t[2] = r()),
36
37
  D(u, {
@@ -43,12 +44,13 @@ function w(i, t, s, F, h, N) {
43
44
  t[1] || (t[1] = n("i", { class: "fas fa-eye" }, null, -1)),
44
45
  r(" " + a(i.$t("message.metadata.showAll")) + " " + a(`(${i.getDistributions.length.toLocaleString("fi")})`), 1)
45
46
  ]),
46
- _: 1
47
+ _: 1,
48
+ __: [1]
47
49
  }, 8, ["action"])
48
50
  ])
49
51
  ]);
50
52
  }
51
- const I = /* @__PURE__ */ g(_, [["render", w], ["__scopeId", "data-v-90409b43"]]);
53
+ const I = /* @__PURE__ */ _(g, [["render", w], ["__scopeId", "data-v-90409b43"]]);
52
54
  export {
53
55
  I as default
54
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FadingDistributionOverlay.vue.mjs","sources":["../../../lib/datasetDetails/distributions/FadingDistributionOverlay.vue"],"sourcesContent":["<template>\n <div\n class=\"distributions__item--preview\"\n >\n <!-- Fade out the last item so it has a preview feel -->\n <!-- Render actions on top of it -->\n <div class=\"distributions__actions pb-md-3\">\n <pv-button\n class=\"mr-3 distributions-show-more-button\"\n v-for=\"increment in distributions.incrementSteps.filter(nonOverflowingIncrementsForDistributions)\"\n :key=\"increment\"\n :small=\"true\"\n :action=\"() => increaseNumDisplayedDistributions(increment)\"\n >\n <i class=\"fas fa-chevron-down\"/> {{ $t('message.metadata.showXMore', { increment }) }}\n </pv-button>\n <pv-button\n class=\"mr-3 distributions-show-more-button\"\n :primary=\"true\"\n :small=\"true\"\n :action=\"() => setDistributionsDisplayCount(getDistributions.length)\"\n >\n <i class=\"fas fa-eye\"/> {{ $t('message.metadata.showAll') }} {{ `(${(getDistributions.length.toLocaleString('fi'))})` }}\n </pv-button>\n </div>\n </div>\n</template>\n\n<script>\nimport {mapGetters} from \"vuex\";\n\nexport default {\n name: \"FadingDistributionOverlay\",\n props: {\n distributions: Object,\n setDistributionsDisplayCount: Function,\n increaseNumDisplayedDistributions: Function,\n nonOverflowingIncrementsForDistributions: Function\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getDistributions'\n ])\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.distributions {\n\n &__item--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 &__actions {\n display: flex;\n justify-content: center;\n align-items: flex-end;\n height: 100%;\n z-index: 11;\n }\n}\n</style>\n"],"names":["_sfc_main","mapGetters","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_renderList","$props","increment","_createBlock","_component_pv_button","_withCtx","_createTextVNode","_toDisplayString","_ctx","_cache","_createVNode"],"mappings":";;;;AA+BA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,eAAe;AAAA,IACf,8BAA8B;AAAA,IAC9B,mCAAmC;AAAA,IACnC,0CAA0C;AAAA,EAC3C;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,KACD;AAAA,EACH;AACF,GA1CIC,IAAA,EAAA,OAAM,+BAA8B,GAI/BC,IAAA,EAAA,OAAM,iCAAgC;;;AAL7C,SAAAC,EAAA,GAAAC,EAwBM,OAxBNH,GAwBM;AAAA,IAnBJI,EAkBM,OAlBNH,GAkBM;AAAA,cAjBJE,EAQYE,GAAA,MAflBC,EAS4BC,EAAA,cAAc,eAAe,OAAOA,EAAA,wCAAwC,GATxG,CASeC,YAFTC,EAQYC,GAAA;AAAA,QAPV,OAAM;AAAA,QAEL,KAAKF;AAAA,QACL,OAAO;AAAA,QACP,QAAM,MAAQD,EAAiC,kCAACC,CAAS;AAAA;QAZlE,SAAAG,EAcQ,MAAgC;AAAA,0BAAhCP,EAAgC,KAAA,EAA7B,OAAM,sBAAqB,GAAA,MAAA,EAAA;AAAA,UAdtCQ,EAcwC,MAACC,EAAGC,EAAE,GAAA,8BAAA,EAAiC,WAAAN,EAAS,CAAA,CAAA,GAAA,CAAA;AAAA;QAdxF,GAAA;AAAA;MAAAO,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAH,EAAA;AAAA,MAgBMI,EAOYN,GAAA;AAAA,QANV,OAAM;AAAA,QACL,SAAS;AAAA,QACT,OAAO;AAAA,QACP,QAAc,MAAAH,EAAA,6BAA6BO,EAAA,iBAAiB,MAAM;AAAA;QApB3E,SAAAH,EAsBQ,MAAuB;AAAA,0BAAvBP,EAAuB,KAAA,EAApB,OAAM,aAAY,GAAA,MAAA,EAAA;AAAA,UAtB7BQ,EAsB+B,MAAIC,EAAAC,EAAA,GAAiC,0BAAA,CAAA,IAAA,YAASA,EAAgB,iBAAC,OAAO,eAAc,IAAA,CAAA,GAAA,GAAA,CAAA;AAAA;QAtBnH,GAAA;AAAA;;;;;"}
1
+ {"version":3,"file":"FadingDistributionOverlay.vue.mjs","sources":["../../../lib/datasetDetails/distributions/FadingDistributionOverlay.vue"],"sourcesContent":["<template>\n <div\n class=\"distributions__item--preview\"\n >\n <!-- Fade out the last item so it has a preview feel -->\n <!-- Render actions on top of it -->\n <div class=\"distributions__actions pb-md-3\">\n <pv-button\n class=\"mr-3 distributions-show-more-button\"\n v-for=\"increment in distributions.incrementSteps.filter(nonOverflowingIncrementsForDistributions)\"\n :key=\"increment\"\n :small=\"true\"\n :action=\"() => increaseNumDisplayedDistributions(increment)\"\n >\n <i class=\"fas fa-chevron-down\"/> {{ $t('message.metadata.showXMore', { increment }) }}\n </pv-button>\n <pv-button\n class=\"mr-3 distributions-show-more-button\"\n :primary=\"true\"\n :small=\"true\"\n :action=\"() => setDistributionsDisplayCount(getDistributions.length)\"\n >\n <i class=\"fas fa-eye\"/> {{ $t('message.metadata.showAll') }} {{ `(${(getDistributions.length.toLocaleString('fi'))})` }}\n </pv-button>\n </div>\n </div>\n</template>\n\n<script>\nimport {mapGetters} from \"vuex\";\n\nexport default {\n name: \"FadingDistributionOverlay\",\n props: {\n distributions: Object,\n setDistributionsDisplayCount: Function,\n increaseNumDisplayedDistributions: Function,\n nonOverflowingIncrementsForDistributions: Function\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getDistributions'\n ])\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.distributions {\n\n &__item--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 &__actions {\n display: flex;\n justify-content: center;\n align-items: flex-end;\n height: 100%;\n z-index: 11;\n }\n}\n</style>\n"],"names":["_sfc_main","mapGetters","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_renderList","$props","increment","_createBlock","_component_pv_button","_toDisplayString","_ctx","_createVNode"],"mappings":";;;;AA+BA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,eAAe;AAAA,IACf,8BAA8B;AAAA,IAC9B,mCAAmC;AAAA,IACnC,0CAA0C;AAAA,EAC3C;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,KACD;AAAA,EACH;AACF,GA1CIC,IAAA,EAAA,OAAM,+BAA8B,GAI/BC,IAAA,EAAA,OAAM,iCAAgC;;;AAL7C,SAAAC,EAAA,GAAAC,EAwBM,OAxBNH,GAwBM;AAAA,IAnBJI,EAkBM,OAlBNH,GAkBM;AAAA,cAjBJE,EAQYE,GAAA,MAAAC,EANUC,gBAAc,eAAe,OAAOA,EAAwC,wCAAA,GAAA,CAAzFC,YAFTC,EAQYC,GAAA;AAAA,QAPV,OAAM;AAAA,QAEL,KAAKF;AAAA,QACL,OAAO;AAAA,QACP,QAAM,MAAQD,EAAiC,kCAACC,CAAS;AAAA;mBAE1D,MAAgC;AAAA,0BAAhCJ,EAAgC,KAAA,EAA7B,OAAM,sBAAqB,GAAA,MAAA,EAAA;AAAA,YAAE,MAACO,EAAGC,EAAE,GAAA,8BAAA,EAAiC,WAAAJ,EAAS,CAAA,CAAA,GAAA,CAAA;AAAA;;;;;MAElFK,EAOYH,GAAA;AAAA,QANV,OAAM;AAAA,QACL,SAAS;AAAA,QACT,OAAO;AAAA,QACP,QAAc,MAAAH,EAAA,6BAA6BK,EAAA,iBAAiB,MAAM;AAAA;mBAEnE,MAAuB;AAAA,0BAAvBR,EAAuB,KAAA,EAApB,OAAM,aAAY,GAAA,MAAA,EAAA;AAAA,YAAE,MAACO,EAAGC,KAAiC,0BAAA,CAAA,IAAA,YAASA,EAAgB,iBAAC,OAAO,eAAc,IAAA,CAAA,GAAA,GAAA,CAAA;AAAA;;;;;;;;"}