@piveau/piveau-hub-ui-modules 4.7.8 → 4.7.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetDetailsPages.vue.mjs","sources":["../../../lib/datasetDetails/features/DatasetDetailsPages.vue"],"sourcesContent":["<template>\n <div class=\"dsd-feature d-flex flex-column mt-3\">\n <dataset-details-feature-header\n :title=\"`${$t('message.metadata.documentations')} (${getPages ? getPages.length.toLocaleString('fi') : 0})`\"\n :arrowDown=\"!pages.isVisible\"\n tag=\"documentation-toggle\"\n :onClick=\"togglePage\"\n /> \n <div v-if=\"pages.isVisible\">\n <!-- Mobile Sort Controls -->\n <div class=\"mobile-sort-controls d-md-none mb-3\">\n <button class=\"sort-button\" @click=\"toggleTitleSort\" :aria-label=\"$t('message.metadata.title') + ' sortieren'\">\n Sort\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortOrder === 'asc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 1 L9 6 L1 6 Z\" fill=\"currentColor\" />\n </svg>\n <svg class=\"sort-arrow sort-arrow-down\" :class=\"{ active: sortOrder === 'desc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 7 L1 2 L9 2 Z\" fill=\"currentColor\" />\n </svg>\n </div>\n </button>\n </div>\n <!-- Desktop Table View -->\n <div class=\"table-responsive-wrapper d-none d-md-block mt-3\" data-cy=\"documentation\">\n <div class=\"pages-wrapper\">\n <div class=\"pages-grid\">\n <!-- Header -->\n <div class=\"grid-header\">\n <div class=\"grid-col title-col\">\n <button class=\"sort-button\" @click=\"toggleTitleSort\" :aria-label=\"$t('message.metadata.title') + ' sortieren'\">\n {{ $t('message.metadata.title') }}\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortOrder === 'asc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 1 L9 6 L1 6 Z\" fill=\"currentColor\" />\n </svg>\n <svg class=\"sort-arrow sort-arrow-down\" :class=\"{ active: sortOrder === 'desc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 7 L1 2 L9 2 Z\" fill=\"currentColor\" />\n </svg>\n </div>\n </button>\n </div>\n <div class=\"grid-col format-col\">{{ $t('message.metadata.format') }}</div>\n <div class=\"grid-col date-col\">{{ $t('message.metadata.updated') }}</div>\n <div class=\"grid-col actions-col\">{{ $t('message.dataupload.menu.actions') }}</div>\n </div>\n\n <!-- Page rows -->\n <div v-for=\"(page, index) in visiblePages\" :key=\"index\" class=\"page-item\" :class=\"{ 'accordion-open': expandedItems[index] }\">\n <div class=\"grid-row page-header\">\n <div class=\"grid-col title-col\">\n <div class=\"title-with-arrow\">\n <button \n :id=\"`accordion-button-${index}`\" \n class=\"accordion-title\"\n :aria-expanded=\"expandedItems[index] || false\" \n :aria-controls=\"`accordion-content-${index}`\"\n type=\"button\" \n @click=\"toggleAccordion(index)\"\n @keydown.enter=\"toggleAccordion(index)\"\n @keydown.space.prevent=\"toggleAccordion(index)\">\n <h3 class=\"m-0 page-title\">{{ getPageTitle(page) }}</h3>\n <svg :class=\"`accordion-arrow ${expandedItems[index] ? 'rotated' : ''}`\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n </button>\n </div>\n </div>\n <div class=\"grid-col format-col\">\n <PvBadge v-if=\"page.format\" class=\"format-badge\" :value=\"page.format\"\n :type=\"page.format.id\">\n </PvBadge>\n <span v-else class=\"badge badge-secondary\" \n :data-toggle=\"pageFormatTruncated(page) ? 'tooltip' : false\"\n :data-placement=\"pageFormatTruncated(page) ? 'top' : false\"\n :title=\"pageFormatTruncated(page) ? getPageFormat(page) : false\">\n {{ truncate(getPageFormat(page), 10, true) }}\n </span>\n </div>\n <div class=\"grid-col date-col\">\n {{ formatDate(getPageModified(page)) }}\n </div>\n <div class=\"grid-col actions-col\">\n <app-link \n class=\"action-btns\" \n :to=\"page.resource\"\n target=\"_blank\"\n rel=\"dcat:distribution noopener\"\n matomo-track-download\n @after-click=\"trackGoto\">\n {{ $t('message.datasetDetails.access') }}\n </app-link>\n </div>\n </div>\n\n <!-- Accordion Content -->\n <div v-if=\"expandedItems[index]\" \n :id=\"`accordion-content-${index}`\"\n :aria-labelledby=\"`accordion-button-${index}`\" \n class=\"accordion-content\" \n role=\"region\">\n <div class=\"expanded-details\">\n <dl class=\"details-list\">\n <dt v-if=\"getPageDescription(page)\">{{ $t('message.metadata.description') }}</dt>\n <dd v-if=\"getPageDescription(page)\">{{ getPageDescription(page) }}</dd>\n \n <dt>{{ $t('message.metadata.format') }}</dt>\n <dd>{{ getPageFormat(page) }}</dd>\n \n <dt v-if=\"getPageModified(page)\">{{ $t('message.metadata.updated') }}</dt>\n <dd v-if=\"getPageModified(page)\">{{ formatDate(getPageModified(page)) }}</dd>\n \n <dt>{{ $t('message.metadata.accessUrl') }}</dt>\n <dd>\n <a :href=\"page.resource\" target=\"_blank\" rel=\"noopener\">\n {{ (page.resource || '').substring(0, 80) + '...' }}\n <svg class=\"outgoing-icon ml-1\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n </a>\n </dd>\n </dl>\n </div>\n </div>\n </div>\n\n <!-- Empty state -->\n <div v-if=\"!getPages || getPages.length === 0\" class=\"grid-row empty-state\">\n <div class=\"grid-col-full text-center text-muted\">\n {{ $t('message.metadata.noDocumentationsAvailable') }}\n </div>\n </div>\n </div>\n </div>\n\n <div v-if=\"!showingAll\" class=\"fade-overlay\"></div>\n </div>\n\n <!-- Mobile Card View -->\n <div class=\"pages-cards d-md-none\">\n <div v-for=\"(page, index) in visiblePages\" :key=\"index\" class=\"page-card\" :class=\"{ 'expanded': expandedItems[index] }\">\n \n <!-- Card Header -->\n <div class=\"card-header\" @click=\"toggleAccordion(index)\">\n <div class=\"card-title-section\">\n <h3 class=\"page-title\">{{ getPageTitle(page) }}</h3>\n <div class=\"card-meta\">\n <span class=\"badge badge-secondary\">{{ truncate(getPageFormat(page), 10, true) }}</span>\n <span class=\"date\">{{ formatDate(getPageModified(page)) }}</span>\n </div>\n </div>\n <svg class=\"accordion-arrow\" :class=\"{ 'rotated': expandedItems[index] }\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n </div>\n\n <!-- Card Actions -->\n <div class=\"card-actions\">\n <app-link \n class=\"card-action-btn access-btn\" \n :to=\"page.resource\"\n target=\"_blank\"\n rel=\"dcat:distribution noopener\"\n matomo-track-download\n @after-click=\"trackGoto\">\n <svg class=\"btn-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n {{ $t('message.datasetDetails.access') }}\n </app-link>\n </div>\n\n <!-- Expanded Content -->\n <div v-if=\"expandedItems[index]\" class=\"card-expanded-content\">\n <div class=\"expanded-details\">\n <dl class=\"details-list\">\n <dt v-if=\"getPageDescription(page)\">{{ $t('message.metadata.description') }}</dt>\n <dd v-if=\"getPageDescription(page)\">{{ getPageDescription(page) }}</dd>\n \n <dt>{{ $t('message.metadata.format') }}</dt>\n <dd>{{ getPageFormat(page) }}</dd>\n \n <dt v-if=\"getPageModified(page)\">{{ $t('message.metadata.updated') }}</dt>\n <dd v-if=\"getPageModified(page)\">{{ formatDate(getPageModified(page)) }}</dd>\n \n <dt>{{ $t('message.metadata.accessUrl') }}</dt>\n <dd>\n <a :href=\"page.resource\" target=\"_blank\" rel=\"noopener\">\n {{ (page.resource || '').substring(0, 80) + '...' }}\n <svg class=\"outgoing-icon ml-1\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n </a>\n </dd>\n </dl>\n </div>\n </div>\n </div>\n <!-- Empty state for mobile -->\n <div v-if=\"!getPages || getPages.length === 0\" class=\"empty-state-card\">\n <div class=\"text-center text-muted\">\n {{ $t('message.metadata.noDocumentationsAvailable') }}\n </div>\n </div>\n </div>\n <!-- Show More / Show All / Show Less Buttons -->\n <div v-if=\"hasMorePages || showingMoreThanInitial\" class=\"show-all-container\">\n <button v-if=\"!showingAll && hasMorePages\" class=\"show-more-btn\" @click=\"showMorePages\">\n <svg class=\"arrow-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showXMore', { increment: remainingCount }) }}\n </button>\n\n <button v-if=\"showingAll || showingMoreThanInitial\" class=\"show-more-btn\" :class=\"{ 'ml-2': !showingAll }\" @click=\"resetView\">\n <svg class=\"arrow-icon rotated\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showLess') }}\n </button>\n\n <button v-if=\"!showingAll && hasMorePages\" class=\"show-all-btn ml-2\" @click=\"showAllPages\">\n <svg class=\"arrow-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showAll') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport $ from \"jquery\";\nimport {getTranslationFor, truncate} from \"../../utils/helpers\";\nimport {has, isNil} from \"lodash\";\nimport AppLink from \"../../widgets/AppLink\";\nimport {mapGetters} from \"vuex\";\nimport PvBadge from \"../../PvBadge/PvBadge.vue\";\n// DatasetDetailsFeatureHeader is imported globally\n// import DatasetDetailsFeatureHeader\n// from \"../../datasetDetails/features/DatasetDetailsFeatureHeader\";\n\nexport default {\n name: \"DatasetDetailsPages\",\n components: {\n // DatasetDetailsFeatureHeader,\n AppLink,\n PvBadge,\n },\n props: {\n pages: Object,\n increaseNumDisplayedPages: Function,\n nonOverflowingIncrementsForPages: Function,\n trackGoto: Function\n },\n data() {\n return {\n expandedPageDescriptions: [],\n expandedPages: [],\n expandedItems: [],\n visibleCount: 8,\n incrementSize: 10,\n initialVisibleCount: 8,\n sortOrder: 'asc'\n };\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getPages'\n ]),\n sortedAndFilteredPages() {\n if (!this.getPages) return [];\n\n let pages = [...this.getPages];\n\n if (this.sortOrder) {\n pages.sort((a, b) => {\n const titleA = this.getPageTitle(a).toLowerCase();\n const titleB = this.getPageTitle(b).toLowerCase();\n\n if (this.sortOrder === 'asc') {\n return titleA.localeCompare(titleB);\n } else {\n return titleB.localeCompare(titleA);\n }\n });\n }\n\n return pages;\n },\n visiblePages() {\n if (!this.getPages) return [];\n return this.sortedAndFilteredPages.slice(0, this.visibleCount);\n },\n displayedPages() {\n return this.visiblePages;\n },\n showingMoreThanInitial() {\n return this.visibleCount > this.initialVisibleCount;\n },\n hasMorePages() {\n return this.sortedAndFilteredPages && this.sortedAndFilteredPages.length > this.initialVisibleCount;\n },\n showingAll() {\n return this.visibleCount >= this.sortedAndFilteredPages?.length;\n },\n isPagesAllDisplayed() {\n return this.showingAll;\n },\n remainingPages() {\n return this.getPages.length - this.visibleCount;\n },\n remainingCount() {\n if (!this.sortedAndFilteredPages) return 0;\n const remaining = this.sortedAndFilteredPages.length - this.visibleCount;\n return Math.min(remaining, this.incrementSize);\n }\n },\n methods: {\n truncate,\n toggleTitleSort() {\n if (this.sortOrder === 'asc') {\n this.sortOrder = 'desc';\n } else {\n this.sortOrder = 'asc';\n }\n this.expandedItems = [];\n },\n togglePageDescription(id) {\n const index = this.expandedPageDescriptions.indexOf(id);\n if (index > -1) this.expandedPageDescriptions.splice(index, 1);\n else this.expandedPageDescriptions.push(id);\n },\n togglePage() {\n this.pages.isVisible = !this.pages.isVisible;\n this.initTooltips();\n },\n toggleAccordion(index) {\n const newExpandedItems = {};\n\n if (!this.expandedItems[index]) {\n newExpandedItems[index] = true;\n }\n\n this.expandedItems = newExpandedItems;\n\n this.$nextTick(() => {\n this.initTooltips();\n });\n },\n pageDescriptionIsExpanded(id) {\n return this.expandedPageDescriptions.includes(id);\n },\n pageDescriptionIsExpandable(description) {\n return isNil(description) ? false : description.length > this.pages.descriptionMaxChars;\n },\n pageIsExpanded(id) {\n return this.expandedPages.includes(id);\n },\n getPageFormat(page) {\n return has(page, 'format.label') && !isNil(page.format.label) ? page.format.label : 'UNKNOWN';\n },\n pageFormatTruncated(page) {\n return this.getPageFormat(page).length > 10;\n },\n getPageTitle(page) {\n return page.title ? getTranslationFor(page.title, this.$route.query.locale, this.getLanguages) : truncate(page.resource, 50);\n },\n getPageDescription(page) {\n return (has(page, 'description') && !isNil(page.description)) ? getTranslationFor(page.description, this.$route.query.locale, this.getLanguages) : '';\n },\n getPageModified(page) {\n return has(page, 'modified') && !isNil(page.modified) ? page.modified : (has(page, 'issued') && !isNil(page.issued) ? page.issued : null);\n },\n formatDate(dateString) {\n if (!dateString) return '-';\n\n try {\n const date = new Date(dateString);\n if (isNaN(date.getTime())) return dateString;\n\n return date.toLocaleDateString('en-GB', {\n day: 'numeric',\n month: 'long',\n year: 'numeric'\n });\n } catch (error) {\n console.warn('Error formatting date:', dateString, error);\n return dateString;\n }\n },\n showMorePages() {\n this.visibleCount = Math.min(\n this.visibleCount + this.incrementSize,\n this.sortedAndFilteredPages.length\n );\n },\n showAllPages() {\n this.visibleCount = this.sortedAndFilteredPages.length;\n },\n resetView() {\n this.visibleCount = this.initialVisibleCount;\n this.$el.querySelector('.pages-grid')?.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n },\n initTooltips() {\n if (typeof $ !== 'undefined') {\n $('.tooltip').remove();\n $('[data-toggle=\"tooltip\"]').tooltip('dispose');\n\n this.$nextTick(() => {\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n html: true\n });\n });\n }\n }\n },\n mounted() {\n this.pages.isVisible = true;\n this.initTooltips();\n },\n updated() {\n this.initTooltips();\n },\n beforeUnmount() {\n if (typeof $ !== 'undefined') {\n $('.tooltip').remove();\n $('[data-toggle=\"tooltip\"]').tooltip('dispose');\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.page-title {\n font-size: 16px !important;\n}\n\n.format-badge {\n font-size: 12px !important;\n}\n\n.badge-secondary {\n font-size: 12px !important;\n}\n.sort-button {\n background: none;\n border: none;\n display: flex;\n align-items: center;\n gap: 0.2rem;\n font-weight: bold;\n cursor: pointer;\n padding: 0;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: #0E47CB;\n\n .sort-arrows .sort-arrow {\n opacity: 0.7;\n }\n }\n}\n\n\n\n.sort-arrows {\n display: flex;\n flex-direction: column;\n gap: 1px;\n margin-left: 0.25rem;\n}\n\n.sort-arrow {\n color: #3b3b3b;\n opacity: 0.8;\n transition: all 0.2s ease;\n\n &.active {\n color: #0E47CB;\n opacity: 1;\n }\n\n &:not(.active):hover {\n opacity: 0.7;\n }\n}\n\n.sort-arrow-up {\n margin-bottom: -1px;\n}\n\n.sort-arrow-down {\n margin-top: -1px;\n}\n\n.dsd-feature {\n margin-bottom: 0rem;\n}\n\n.pages-wrapper {\n position: relative;\n}\n\n.show-all-container {\n display: flex;\n justify-content: left;\n gap: 0.5rem;\n padding: 1.5rem 0 0rem;\n}\n\n.show-more-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background-color: #fff;\n border: 2px solid #0e47cb;\n color: #0e47cb;\n border-radius: 4px;\n padding: 0.5rem 1rem;\n font-weight: 400;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &:hover {\n background-color: #3e6cd5;\n border-color: #3e6cd5;\n color: #fff;\n\n .arrow-icon {\n color: #fff;\n }\n }\n\n .arrow-icon {\n color: #0E47CB;\n transition: transform 0.3s ease;\n\n &.rotated {\n transform: rotate(180deg);\n }\n }\n}\n\n.show-all-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background-color: #0e47cb;\n border: 1px solid #0e47cb;\n color: #fff;\n border-radius: 4px;\n padding: 0.5rem 1rem;\n font-weight: 400;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &:hover {\n background-color: #3e6cd5;\n border-color: #3e6cd5;\n\n .arrow-icon {\n color: #fff;\n }\n }\n\n .arrow-icon {\n color: #fff;\n transition: transform 0.3s ease;\n\n &.rotated {\n transform: rotate(180deg);\n }\n }\n}\n\n.fade-overlay {\n position: absolute;\n bottom: 70px;\n left: 0;\n right: 0;\n height: 45px;\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 1) 100%);\n pointer-events: none;\n z-index: 1;\n}\n\n.accordion-title {\n background: none;\n border: none;\n display: contents;\n cursor: pointer;\n}\n\n.action-btns {\n font-family: Arial;\n font-weight: 400;\n font-size: 16px !important;\n line-height: 24px;\n letter-spacing: 0px;\n color: #0E47CB;\n background: none;\n border: none;\n cursor: pointer;\n text-decoration: none;\n\n &:hover {\n text-decoration: none;\n }\n}\n\n.table-responsive-wrapper {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n width: 100%;\n\n @media (min-width: 992px) {\n overflow-x: visible;\n }\n}\n\n.page-title {\n font-family: Arial;\n font-weight: 700;\n font-size: 16px;\n line-height: 24px;\n letter-spacing: 0px;\n color: #0E47CB;\n white-space: nowrap;\n text-align: left;\n}\n\n.title-with-arrow {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n text-align: left;\n}\n\n.accordion-arrow {\n color: #0E47CB;\n transition: transform 0.3s ease;\n flex-shrink: 0;\n\n &.rotated {\n transform: rotate(180deg);\n }\n}\n\n.page-header {\n display: contents;\n background: none;\n border: none;\n font-family: inherit;\n text-align: left;\n width: 100%;\n\n &:hover .grid-col {\n background-color: #f8f9fa !important;\n }\n\n &:focus {\n outline: none;\n\n .grid-col {\n outline: 2px solid #0E47CB;\n outline-offset: -2px;\n }\n }\n}\n\n.page-item {\n display: contents;\n\n &.accordion-open .grid-col {\n border-bottom: none !important;\n }\n}\n\n.accordion-content {\n grid-column: 1 / -1;\n padding: 1rem;\n border-bottom: 1px solid #dee2e6;\n animation: slideDown 0.2s ease-out;\n\n .expanded-details {\n width: 100%;\n\n h4 {\n margin-bottom: 1rem;\n color: #0E47CB;\n font-size: 1.1rem;\n }\n\n .details-list {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0px 0.8rem;\n margin: 0;\n font-size: 12px;\n\n dt {\n font-weight: 600;\n color: #333;\n }\n\n dd {\n margin: 0;\n word-break: break-all;\n }\n }\n }\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n max-height: 0;\n }\n\n to {\n opacity: 1;\n max-height: 200px;\n }\n}\n\n.pages-grid {\n display: grid;\n gap: 0;\n grid-template-columns: minmax(200px, 1fr) 70px 90px minmax(120px, auto);\n min-width: 590px;\n width: max-content;\n\n @media (min-width: 992px) {\n grid-template-columns: 55% 10% 15% 20%;\n min-width: auto;\n width: 100%;\n }\n\n .grid-header {\n display: contents;\n\n .grid-col {\n background-color: #F3F6FC;\n font-weight: bold;\n padding: 0.75rem;\n white-space: nowrap;\n border-bottom: 2px solid #dee2e6;\n display: flex;\n align-items: center;\n\n &:last-child {\n border-right: none;\n }\n }\n }\n\n .grid-row {\n display: contents;\n\n .grid-col {\n padding: 0.75rem;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n align-items: center;\n white-space: nowrap;\n background-color: white;\n\n &:last-child {\n border-right: none;\n }\n\n @media (min-width: 992px) {\n white-space: normal;\n }\n }\n }\n\n .grid-col-full {\n grid-column: 1 / -1;\n padding: 2rem;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n }\n}\n\n@media (min-width: 992px) {\n .page-title {\n white-space: normal;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.badge {\n font-size: 0.875rem;\n}\n\n.outgoing-icon {\n color: #0E47CB;\n}\n\n/* Mobile Sort Controls */\n.mobile-sort-controls {\n padding: 0.75rem;\n background-color: #F3F6FC;\n border-radius: 4px;\n margin-top: 10px;\n \n .sort-button {\n background: none;\n border: none;\n display: flex;\n align-items: center;\n gap: 0.2rem;\n font-weight: bold;\n cursor: pointer;\n padding: 0;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n }\n}\n\n/* Mobile Card Styles */\n.pages-cards {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.page-card {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n transition: box-shadow 0.2s ease;\n margin-bottom: 20px;\n\n &.expanded {\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);\n }\n\n .page-title {\n font-family: Arial;\n font-weight: 700;\n font-size: 16px;\n line-height: 24px;\n color: #0E47CB;\n margin: 0 0 0.5rem 0;\n word-wrap: break-word;\n \n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.card-header {\n padding: 1rem;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n cursor: pointer;\n border-bottom: 1px solid #f0f0f0;\n background-color: #F3F6FC;\n\n &:hover {\n background-color: #F3F6FC;\n }\n}\n\n.card-title-section {\n flex: 1;\n min-width: 0;\n}\n\n.card-meta {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-wrap: wrap;\n\n .badge {\n font-size: 12px !important;\n }\n\n .date {\n font-size: 14px;\n color: #6c757d;\n }\n}\n\n.card-actions {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.card-action-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.75rem 1rem;\n border-radius: 4px;\n text-decoration: none;\n font-weight: 500;\n font-size: 14px;\n transition: all 0.2s ease;\n border: 1px solid #0E47CB;\n text-align: center;\n justify-content: center;\n\n .btn-icon {\n flex-shrink: 0;\n color: #0E47CB;\n }\n\n &.access-btn {\n background-color: white;\n color: #0E47CB;\n\n &:hover {\n background-color: #0E47CB;\n color: white;\n text-decoration: none;\n\n .btn-icon {\n color: white;\n }\n }\n }\n}\n\n.card-expanded-content {\n padding: 1rem;\n background-color: #F3F6FC;\n border-top: 1px solid #dee2e6;\n\n .details-list {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0.5rem 1rem;\n margin: 0;\n font-size: 14px;\n\n dt {\n font-weight: 600;\n color: #333;\n }\n\n dd {\n margin: 0;\n word-break: break-word;\n }\n }\n}\n\n.empty-state-card {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 8px;\n padding: 2rem;\n text-align: center;\n}\n\n/* Responsive adjustments */\n@media (max-width: 576px) {\n .page-title {\n font-size: 14px;\n line-height: 20px;\n }\n\n .card-header {\n padding: 0.75rem;\n }\n\n .card-actions {\n padding: 0.75rem;\n }\n\n .card-action-btn {\n padding: 0.625rem 0.875rem;\n font-size: 14px;\n }\n}\n</style>\n"],"names":["_sfc_main","AppLink","PvBadge","mapGetters","pages","a","b","titleA","titleB","_a","remaining","truncate","id","index","newExpandedItems","description","isNil","page","has","getTranslationFor","dateString","date","error","$","_hoisted_1","_hoisted_3","_hoisted_5","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_20","_hoisted_21","_hoisted_23","_hoisted_24","_hoisted_26","_hoisted_27","_hoisted_34","_hoisted_36","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_45","_hoisted_46","_hoisted_53","_openBlock","_createElementBlock","_createVNode","_component_dataset_details_feature_header","_ctx","$props","$options","_hoisted_2","_createElementVNode","args","_normalizeClass","$data","_hoisted_6","_createTextVNode","_toDisplayString","_Fragment","_renderList","$event","_withKeys","_withModifiers","_createBlock","_component_PvBadge","_hoisted_22","_component_app_link","_hoisted_29","_hoisted_31","_hoisted_33","_hoisted_35","_hoisted_44","_hoisted_48","_hoisted_50","_hoisted_52","_hoisted_54"],"mappings":"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"}
1
+ {"version":3,"file":"DatasetDetailsPages.vue.mjs","sources":["../../../lib/datasetDetails/features/DatasetDetailsPages.vue"],"sourcesContent":["<template>\n <div class=\"dsd-feature d-flex flex-column mt-3\">\n <dataset-details-feature-header\n :title=\"`${$t('message.metadata.documentations')} (${getPages ? getPages.length.toLocaleString('fi') : 0})`\"\n :arrowDown=\"!pages.isVisible\"\n tag=\"documentation-toggle\"\n :onClick=\"togglePage\"\n /> \n <div v-if=\"pages.isVisible\">\n <!-- Mobile Sort Controls -->\n <div class=\"mobile-sort-controls d-md-none mb-3\">\n <button class=\"sort-button\" @click=\"toggleTitleSort\" :aria-label=\"$t('message.metadata.title') + ' sortieren'\">\n Sort\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortOrder === 'asc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 1 L9 6 L1 6 Z\" fill=\"currentColor\" />\n </svg>\n <svg class=\"sort-arrow sort-arrow-down\" :class=\"{ active: sortOrder === 'desc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 7 L1 2 L9 2 Z\" fill=\"currentColor\" />\n </svg>\n </div>\n </button>\n </div>\n <!-- Desktop Table View -->\n <div class=\"table-responsive-wrapper d-none d-md-block mt-3\" data-cy=\"documentation\">\n <div class=\"pages-wrapper\">\n <div class=\"pages-grid\">\n <!-- Header -->\n <div class=\"grid-header\">\n <div class=\"grid-col title-col\">\n <button class=\"sort-button\" @click=\"toggleTitleSort\" :aria-label=\"$t('message.metadata.title') + ' sortieren'\">\n {{ $t('message.metadata.title') }}\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortOrder === 'asc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 1 L9 6 L1 6 Z\" fill=\"currentColor\" />\n </svg>\n <svg class=\"sort-arrow sort-arrow-down\" :class=\"{ active: sortOrder === 'desc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 7 L1 2 L9 2 Z\" fill=\"currentColor\" />\n </svg>\n </div>\n </button>\n </div>\n <div class=\"grid-col format-col\">{{ $t('message.metadata.format') }}</div>\n <div class=\"grid-col date-col\">{{ $t('message.metadata.updated') }}</div>\n <div class=\"grid-col actions-col\">{{ $t('message.dataupload.menu.actions') }}</div>\n </div>\n <!-- Page rows -->\n <div v-for=\"(page, index) in visiblePages\" :key=\"index\" class=\"page-item\" :class=\"{ 'accordion-open': expandedItems[index] }\">\n <div class=\"grid-row page-header\">\n <div class=\"grid-col title-col\">\n <div class=\"title-with-arrow\">\n <button \n :id=\"`accordion-button-${index}`\" \n class=\"accordion-title\"\n :aria-expanded=\"expandedItems[index] || false\" \n :aria-controls=\"`accordion-content-${index}`\"\n type=\"button\" \n @click=\"toggleAccordion(index)\"\n @keydown.enter=\"toggleAccordion(index)\"\n @keydown.space.prevent=\"toggleAccordion(index)\">\n <h3 class=\"m-0 page-title\">{{ getPageTitle(page) }}</h3>\n <svg :class=\"`accordion-arrow ${expandedItems[index] ? 'rotated' : ''}`\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n </button>\n </div>\n </div>\n <div class=\"grid-col format-col\">\n <PvBadge v-if=\"page.format\" class=\"format-badge\" :value=\"page.format\"\n :type=\"page.format.id\">\n </PvBadge>\n <span v-else class=\"badge badge-secondary\" \n :data-toggle=\"pageFormatTruncated(page) ? 'tooltip' : false\"\n :data-placement=\"pageFormatTruncated(page) ? 'top' : false\"\n :title=\"pageFormatTruncated(page) ? getPageFormat(page) : false\">\n {{ truncate(getPageFormat(page), 10, true) }}\n </span>\n </div>\n <div class=\"grid-col date-col\">\n {{ formatDate(getPageModified(page)) }}\n </div>\n <div class=\"grid-col actions-col\">\n <app-link \n class=\"action-btns\" \n :to=\"page.resource\"\n target=\"_blank\"\n rel=\"dcat:distribution noopener\"\n matomo-track-download\n @after-click=\"trackGoto\">\n {{ $t('message.datasetDetails.access') }}\n </app-link>\n </div>\n </div>\n\n <!-- Accordion Content -->\n <div v-if=\"expandedItems[index]\" \n :id=\"`accordion-content-${index}`\"\n :aria-labelledby=\"`accordion-button-${index}`\" \n class=\"accordion-content\" \n role=\"region\">\n <div class=\"expanded-details\">\n <dl class=\"details-list\">\n <dt v-if=\"getPageDescription(page)\">{{ $t('message.metadata.description') }}</dt>\n <dd v-if=\"getPageDescription(page)\">{{ getPageDescription(page) }}</dd>\n \n <dt>{{ $t('message.metadata.format') }}</dt>\n <dd>{{ getPageFormat(page) }}</dd>\n \n <dt v-if=\"getPageModified(page)\">{{ $t('message.metadata.updated') }}</dt>\n <dd v-if=\"getPageModified(page)\">{{ formatDate(getPageModified(page)) }}</dd>\n \n <dt>{{ $t('message.metadata.accessUrl') }}</dt>\n <dd>\n <a :href=\"page.resource\" target=\"_blank\" rel=\"noopener\">\n {{ (page.resource || '').substring(0, 80) + '...' }}\n <svg class=\"outgoing-icon ml-1\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n </a>\n </dd>\n </dl>\n </div>\n </div>\n </div>\n\n <!-- Empty state -->\n <div v-if=\"!getPages || getPages.length === 0\" class=\"grid-row empty-state\">\n <div class=\"grid-col-full text-center text-muted\">\n {{ $t('message.metadata.noDocumentationsAvailable') }}\n </div>\n </div>\n </div>\n </div>\n\n <div v-if=\"!showingAll\" class=\"fade-overlay\"></div>\n </div>\n\n <!-- Mobile Card View -->\n <div class=\"pages-cards d-md-none\">\n <div v-for=\"(page, index) in visiblePages\" :key=\"index\" class=\"page-card\" :class=\"{ 'expanded': expandedItems[index] }\">\n \n <!-- Card Header -->\n <div class=\"card-header\" @click=\"toggleAccordion(index)\">\n <div class=\"card-title-section\">\n <h3 class=\"page-title\">{{ getPageTitle(page) }}</h3>\n <div class=\"card-meta\">\n <span class=\"badge badge-secondary\">{{ truncate(getPageFormat(page), 10, true) }}</span>\n <span class=\"date\">{{ formatDate(getPageModified(page)) }}</span>\n </div>\n </div>\n <svg class=\"accordion-arrow\" :class=\"{ 'rotated': expandedItems[index] }\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n </div>\n\n <!-- Card Actions -->\n <div class=\"card-actions\">\n <app-link \n class=\"card-action-btn access-btn\" \n :to=\"page.resource\"\n target=\"_blank\"\n rel=\"dcat:distribution noopener\"\n matomo-track-download\n @after-click=\"trackGoto\">\n <svg class=\"btn-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n {{ $t('message.datasetDetails.access') }}\n </app-link>\n </div>\n\n <!-- Expanded Content -->\n <div v-if=\"expandedItems[index]\" class=\"card-expanded-content\">\n <div class=\"expanded-details\">\n <dl class=\"details-list\">\n <dt v-if=\"getPageDescription(page)\">{{ $t('message.metadata.description') }}</dt>\n <dd v-if=\"getPageDescription(page)\">{{ getPageDescription(page) }}</dd>\n \n <dt>{{ $t('message.metadata.format') }}</dt>\n <dd>{{ getPageFormat(page) }}</dd>\n \n <dt v-if=\"getPageModified(page)\">{{ $t('message.metadata.updated') }}</dt>\n <dd v-if=\"getPageModified(page)\">{{ formatDate(getPageModified(page)) }}</dd>\n \n <dt>{{ $t('message.metadata.accessUrl') }}</dt>\n <dd>\n <a :href=\"page.resource\" target=\"_blank\" rel=\"noopener\">\n {{ (page.resource || '').substring(0, 80) + '...' }}\n <svg class=\"outgoing-icon ml-1\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n </a>\n </dd>\n </dl>\n </div>\n </div>\n </div>\n <!-- Empty state for mobile -->\n <div v-if=\"!getPages || getPages.length === 0\" class=\"empty-state-card\">\n <div class=\"text-center text-muted\">\n {{ $t('message.metadata.noDocumentationsAvailable') }}\n </div>\n </div>\n </div>\n <!-- Show More / Show All / Show Less Buttons -->\n <div v-if=\"hasMorePages || showingMoreThanInitial\" class=\"show-all-container\">\n <button v-if=\"!showingAll && hasMorePages\" class=\"show-more-btn\" @click=\"showMorePages\">\n <svg class=\"arrow-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showXMore', { increment: remainingCount }) }}\n </button>\n\n <button v-if=\"showingAll || showingMoreThanInitial\" class=\"show-more-btn\" :class=\"{ 'ml-2': !showingAll }\" @click=\"resetView\">\n <svg class=\"arrow-icon rotated\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showLess') }}\n </button>\n\n <button v-if=\"!showingAll && hasMorePages\" class=\"show-all-btn ml-2\" @click=\"showAllPages\">\n <svg class=\"arrow-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showAll') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport $ from \"jquery\";\nimport {getTranslationFor, truncate} from \"../../utils/helpers\";\nimport {has, isNil} from \"lodash\";\nimport AppLink from \"../../widgets/AppLink\";\nimport {mapGetters} from \"vuex\";\nimport PvBadge from \"../../PvBadge/PvBadge.vue\";\n// DatasetDetailsFeatureHeader is imported globally\n// import DatasetDetailsFeatureHeader\n// from \"../../datasetDetails/features/DatasetDetailsFeatureHeader\";\n\nexport default {\n name: \"DatasetDetailsPages\",\n components: {\n // DatasetDetailsFeatureHeader,\n AppLink,\n PvBadge,\n },\n props: {\n pages: Object,\n increaseNumDisplayedPages: Function,\n nonOverflowingIncrementsForPages: Function,\n trackGoto: Function\n },\n data() {\n return {\n expandedPageDescriptions: [],\n expandedPages: [],\n expandedItems: [],\n visibleCount: 8,\n incrementSize: 10,\n initialVisibleCount: 8,\n sortOrder: 'asc'\n };\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getPages'\n ]),\n sortedAndFilteredPages() {\n if (!this.getPages) return [];\n\n let pages = [...this.getPages];\n\n if (this.sortOrder) {\n pages.sort((a, b) => {\n const titleA = this.getPageTitle(a).toLowerCase();\n const titleB = this.getPageTitle(b).toLowerCase();\n\n if (this.sortOrder === 'asc') {\n return titleA.localeCompare(titleB);\n } else {\n return titleB.localeCompare(titleA);\n }\n });\n }\n\n return pages;\n },\n visiblePages() {\n if (!this.getPages) return [];\n return this.sortedAndFilteredPages.slice(0, this.visibleCount);\n },\n displayedPages() {\n return this.visiblePages;\n },\n showingMoreThanInitial() {\n return this.visibleCount > this.initialVisibleCount;\n },\n hasMorePages() {\n return this.sortedAndFilteredPages && this.sortedAndFilteredPages.length > this.initialVisibleCount;\n },\n showingAll() {\n return this.visibleCount >= this.sortedAndFilteredPages?.length;\n },\n isPagesAllDisplayed() {\n return this.showingAll;\n },\n remainingPages() {\n return this.getPages.length - this.visibleCount;\n },\n remainingCount() {\n if (!this.sortedAndFilteredPages) return 0;\n const remaining = this.sortedAndFilteredPages.length - this.visibleCount;\n return Math.min(remaining, this.incrementSize);\n }\n },\n methods: {\n truncate,\n toggleTitleSort() {\n if (this.sortOrder === 'asc') {\n this.sortOrder = 'desc';\n } else {\n this.sortOrder = 'asc';\n }\n this.expandedItems = [];\n },\n togglePageDescription(id) {\n const index = this.expandedPageDescriptions.indexOf(id);\n if (index > -1) this.expandedPageDescriptions.splice(index, 1);\n else this.expandedPageDescriptions.push(id);\n },\n togglePage() {\n this.pages.isVisible = !this.pages.isVisible;\n this.initTooltips();\n },\n toggleAccordion(index) {\n const newExpandedItems = {};\n\n if (!this.expandedItems[index]) {\n newExpandedItems[index] = true;\n }\n\n this.expandedItems = newExpandedItems;\n\n this.$nextTick(() => {\n this.initTooltips();\n });\n },\n pageDescriptionIsExpanded(id) {\n return this.expandedPageDescriptions.includes(id);\n },\n pageDescriptionIsExpandable(description) {\n return isNil(description) ? false : description.length > this.pages.descriptionMaxChars;\n },\n pageIsExpanded(id) {\n return this.expandedPages.includes(id);\n },\n getPageFormat(page) {\n return has(page, 'format.label') && !isNil(page.format.label) ? page.format.label : 'UNKNOWN';\n },\n pageFormatTruncated(page) {\n return this.getPageFormat(page).length > 10;\n },\n getPageTitle(page) {\n return page.title ? getTranslationFor(page.title, this.$route.query.locale, this.getLanguages) : truncate(page.resource, 50);\n },\n getPageDescription(page) {\n return (has(page, 'description') && !isNil(page.description)) ? getTranslationFor(page.description, this.$route.query.locale, this.getLanguages) : '';\n },\n getPageModified(page) {\n return has(page, 'modified') && !isNil(page.modified) ? page.modified : (has(page, 'issued') && !isNil(page.issued) ? page.issued : null);\n },\n formatDate(dateString) {\n if (!dateString) return '-';\n\n try {\n const date = new Date(dateString);\n if (isNaN(date.getTime())) return dateString;\n\n return date.toLocaleDateString('en-GB', {\n day: 'numeric',\n month: 'long',\n year: 'numeric'\n });\n } catch (error) {\n console.warn('Error formatting date:', dateString, error);\n return dateString;\n }\n },\n showMorePages() {\n this.visibleCount = Math.min(\n this.visibleCount + this.incrementSize,\n this.sortedAndFilteredPages.length\n );\n },\n showAllPages() {\n this.visibleCount = this.sortedAndFilteredPages.length;\n },\n resetView() {\n this.visibleCount = this.initialVisibleCount;\n this.$el.querySelector('.pages-grid')?.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n },\n initTooltips() {\n if (typeof $ !== 'undefined') {\n $('.tooltip').remove();\n $('[data-toggle=\"tooltip\"]').tooltip('dispose');\n\n this.$nextTick(() => {\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n html: true\n });\n });\n }\n }\n },\n mounted() {\n this.pages.isVisible = true;\n this.initTooltips();\n },\n updated() {\n this.initTooltips();\n },\n beforeUnmount() {\n if (typeof $ !== 'undefined') {\n $('.tooltip').remove();\n $('[data-toggle=\"tooltip\"]').tooltip('dispose');\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.page-title {\n font-size: 16px !important;\n}\n\n.format-badge {\n font-size: 12px !important;\n}\n\n.badge-secondary {\n font-size: 12px !important;\n}\n.sort-button {\n background: none;\n border: none;\n display: flex;\n align-items: center;\n gap: 0.2rem;\n font-weight: bold;\n cursor: pointer;\n padding: 0;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: #0E47CB;\n\n .sort-arrows .sort-arrow {\n opacity: 0.7;\n }\n }\n}\n\n\n\n.sort-arrows {\n display: flex;\n flex-direction: column;\n gap: 1px;\n margin-left: 0.25rem;\n}\n\n.sort-arrow {\n color: #3b3b3b;\n opacity: 0.8;\n transition: all 0.2s ease;\n\n &.active {\n color: #0E47CB;\n opacity: 1;\n }\n\n &:not(.active):hover {\n opacity: 0.7;\n }\n}\n\n.sort-arrow-up {\n margin-bottom: -1px;\n}\n\n.sort-arrow-down {\n margin-top: -1px;\n}\n\n.dsd-feature {\n margin-bottom: 0rem;\n}\n\n.pages-wrapper {\n position: relative;\n}\n\n.show-all-container {\n display: flex;\n justify-content: left;\n gap: 0.5rem;\n padding: 1.5rem 0 0rem;\n}\n\n.show-more-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background-color: #fff;\n border: 2px solid #0e47cb;\n color: #0e47cb;\n border-radius: 4px;\n padding: 0.5rem 1rem;\n font-weight: 400;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &:hover {\n background-color: #3e6cd5;\n border-color: #3e6cd5;\n color: #fff;\n\n .arrow-icon {\n color: #fff;\n }\n }\n\n .arrow-icon {\n color: #0E47CB;\n transition: transform 0.3s ease;\n\n &.rotated {\n transform: rotate(180deg);\n }\n }\n}\n\n.show-all-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background-color: #0e47cb;\n border: 1px solid #0e47cb;\n color: #fff;\n border-radius: 4px;\n padding: 0.5rem 1rem;\n font-weight: 400;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &:hover {\n background-color: #3e6cd5;\n border-color: #3e6cd5;\n\n .arrow-icon {\n color: #fff;\n }\n }\n\n .arrow-icon {\n color: #fff;\n transition: transform 0.3s ease;\n\n &.rotated {\n transform: rotate(180deg);\n }\n }\n}\n\n.fade-overlay {\n position: absolute;\n bottom: 70px;\n left: 0;\n right: 0;\n height: 45px;\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 1) 100%);\n pointer-events: none;\n z-index: 1;\n}\n\n.accordion-title {\n background: none;\n border: none;\n display: contents;\n cursor: pointer;\n}\n\n.action-btns {\n font-family: Arial;\n font-weight: 400;\n font-size: 16px !important;\n line-height: 24px;\n letter-spacing: 0px;\n color: #0E47CB;\n background: none;\n border: none;\n cursor: pointer;\n text-decoration: none;\n\n &:hover {\n text-decoration: none;\n }\n}\n\n.table-responsive-wrapper {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n width: 100%;\n\n @media (min-width: 992px) {\n overflow-x: visible;\n }\n}\n\n.page-title {\n font-family: Arial;\n font-weight: 700;\n font-size: 16px;\n line-height: 24px;\n letter-spacing: 0px;\n color: #0E47CB;\n white-space: nowrap;\n text-align: left;\n}\n\n.title-with-arrow {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n text-align: left;\n}\n\n.accordion-arrow {\n color: #0E47CB;\n transition: transform 0.3s ease;\n flex-shrink: 0;\n\n &.rotated {\n transform: rotate(180deg);\n }\n}\n\n.page-header {\n display: contents;\n background: none;\n border: none;\n font-family: inherit;\n text-align: left;\n width: 100%;\n\n &:hover .grid-col {\n background-color: #f8f9fa !important;\n }\n\n &:focus {\n outline: none;\n\n .grid-col {\n outline: 2px solid #0E47CB;\n outline-offset: -2px;\n }\n }\n}\n\n.page-item {\n display: contents;\n\n &.accordion-open .grid-col {\n border-bottom: none !important;\n }\n}\n\n.accordion-content {\n grid-column: 1 / -1;\n padding: 1rem;\n border-bottom: 1px solid #dee2e6;\n animation: slideDown 0.2s ease-out;\n\n .expanded-details {\n width: 100%;\n\n h4 {\n margin-bottom: 1rem;\n color: #0E47CB;\n font-size: 1.1rem;\n }\n\n .details-list {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0px 0.8rem;\n margin: 0;\n font-size: 12px;\n\n dt {\n font-weight: 600;\n color: #333;\n }\n\n dd {\n margin: 0;\n word-break: break-all;\n }\n }\n }\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n max-height: 0;\n }\n\n to {\n opacity: 1;\n max-height: 200px;\n }\n}\n\n.pages-grid {\n display: grid;\n gap: 0;\n grid-template-columns: minmax(200px, 1fr) 70px 90px minmax(120px, auto);\n min-width: 590px;\n width: max-content;\n\n @media (min-width: 992px) {\n grid-template-columns: 55% 10% 15% 20%;\n min-width: auto;\n width: 100%;\n }\n\n .grid-header {\n display: contents;\n\n .grid-col {\n background-color: #F3F6FC;\n font-weight: bold;\n padding: 0.75rem;\n white-space: nowrap;\n border-bottom: 2px solid #dee2e6;\n display: flex;\n align-items: center;\n\n &:last-child {\n border-right: none;\n }\n }\n }\n\n .grid-row {\n display: contents;\n\n .grid-col {\n padding: 0.75rem;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n align-items: center;\n white-space: nowrap;\n background-color: white;\n\n &:last-child {\n border-right: none;\n }\n\n @media (min-width: 992px) {\n white-space: normal;\n }\n }\n }\n\n .grid-col-full {\n grid-column: 1 / -1;\n padding: 2rem;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n }\n}\n\n@media (min-width: 992px) {\n .page-title {\n white-space: normal;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.badge {\n font-size: 0.875rem;\n}\n\n.outgoing-icon {\n color: #0E47CB;\n}\n\n/* Mobile Sort Controls */\n.mobile-sort-controls {\n padding: 0.75rem;\n background-color: #F3F6FC;\n border-radius: 4px;\n margin-top: 10px;\n \n .sort-button {\n background: none;\n border: none;\n display: flex;\n align-items: center;\n gap: 0.2rem;\n font-weight: bold;\n cursor: pointer;\n padding: 0;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n }\n}\n\n/* Mobile Card Styles */\n.pages-cards {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.page-card {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n transition: box-shadow 0.2s ease;\n margin-bottom: 20px;\n\n &.expanded {\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);\n }\n\n .page-title {\n font-family: Arial;\n font-weight: 700;\n font-size: 16px;\n line-height: 24px;\n color: #0E47CB;\n margin: 0 0 0.5rem 0;\n word-wrap: break-word;\n \n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.card-header {\n padding: 1rem;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n cursor: pointer;\n border-bottom: 1px solid #f0f0f0;\n background-color: #F3F6FC;\n\n &:hover {\n background-color: #F3F6FC;\n }\n}\n\n.card-title-section {\n flex: 1;\n min-width: 0;\n}\n\n.card-meta {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-wrap: wrap;\n\n .badge {\n font-size: 12px !important;\n }\n\n .date {\n font-size: 14px;\n color: #6c757d;\n }\n}\n\n.card-actions {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.card-action-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.75rem 1rem;\n border-radius: 4px;\n text-decoration: none;\n font-weight: 500;\n font-size: 14px;\n transition: all 0.2s ease;\n border: 1px solid #0E47CB;\n text-align: center;\n justify-content: center;\n\n .btn-icon {\n flex-shrink: 0;\n color: #0E47CB;\n }\n\n &.access-btn {\n background-color: white;\n color: #0E47CB;\n\n &:hover {\n background-color: #0E47CB;\n color: white;\n text-decoration: none;\n\n .btn-icon {\n color: white;\n }\n }\n }\n}\n\n.card-expanded-content {\n padding: 1rem;\n background-color: #F3F6FC;\n border-top: 1px solid #dee2e6;\n\n .details-list {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0.5rem 1rem;\n margin: 0;\n font-size: 14px;\n\n dt {\n font-weight: 600;\n color: #333;\n }\n\n dd {\n margin: 0;\n word-break: break-word;\n }\n }\n}\n\n.empty-state-card {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 8px;\n padding: 2rem;\n text-align: center;\n}\n\n/* Responsive adjustments */\n@media (max-width: 576px) {\n .page-title {\n font-size: 14px;\n line-height: 20px;\n }\n\n .card-header {\n padding: 0.75rem;\n }\n\n .card-actions {\n padding: 0.75rem;\n }\n\n .card-action-btn {\n padding: 0.625rem 0.875rem;\n font-size: 14px;\n }\n}\n</style>\n"],"names":["_sfc_main","AppLink","PvBadge","mapGetters","pages","a","b","titleA","titleB","_a","remaining","truncate","id","index","newExpandedItems","description","isNil","page","has","getTranslationFor","dateString","date","error","$","_hoisted_1","_hoisted_3","_hoisted_5","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_20","_hoisted_21","_hoisted_23","_hoisted_24","_hoisted_26","_hoisted_27","_hoisted_34","_hoisted_36","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_45","_hoisted_46","_hoisted_53","_openBlock","_createElementBlock","_createVNode","_component_dataset_details_feature_header","_ctx","$props","$options","_hoisted_2","_createElementVNode","args","_normalizeClass","$data","_hoisted_6","_createTextVNode","_toDisplayString","_Fragment","_renderList","$event","_withKeys","_withModifiers","_createBlock","_component_PvBadge","_hoisted_22","_component_app_link","_hoisted_29","_hoisted_31","_hoisted_33","_hoisted_35","_hoisted_44","_hoisted_48","_hoisted_50","_hoisted_52","_hoisted_54"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { openBlock as m, createElementBlock as r, createElementVNode as t, createTextVNode as d, toDisplayString as a, withDirectives as n, vModelText as p, createCommentVNode as u, vModelCheckbox as b, createStaticVNode as f, vShow as h } from "vue";
1
+ import { openBlock as m, createElementBlock as r, createElementVNode as t, createTextVNode as d, toDisplayString as a, withDirectives as n, vModelText as p, createCommentVNode as f, vModelCheckbox as u, createStaticVNode as b, vShow as h } from "vue";
2
2
  import "./DatasetEmbedModal.vue2.mjs";
3
3
  import g from "../_virtual/_plugin-vue_export-helper.mjs";
4
4
  const v = {
@@ -23,7 +23,7 @@ const v = {
23
23
  updateEmbedCode() {
24
24
  this.isResponsive ? this.iframeWidth = "100%" : (this.iframeWidth = 900, this.iframeWidth = Math.min(Math.max(this.iframeWidth, this.minRange), this.maxRange), this.iframeHeight = Math.min(Math.max(this.iframeHeight, this.minRange), this.maxRange));
25
25
  const o = window.location.href.replace(/\?.*$/, "") + "/" + this.embedType;
26
- this.embedCode = `<iframe src="${o}" width="${this.iframeWidth}" height="${this.iframeHeight}" frameborder="0"></iframe>`;
26
+ this.embedCode = `<iframe src="${o}" width="${this.iframeWidth}" height="${this.iframeHeight}" frameborder="0" scrolling="no" style="border: 0; overflow: hidden;"></iframe>`;
27
27
  },
28
28
  updateEmbedCodeType(o) {
29
29
  this.embedType = o.target.value === "snippet" ? "embed-snippet" : "embed", this.updateEmbedCode();
@@ -41,7 +41,7 @@ const v = {
41
41
  created() {
42
42
  this.updateEmbedCode();
43
43
  }
44
- }, c = {
44
+ }, x = {
45
45
  class: "modal fade",
46
46
  id: "embedModal",
47
47
  tabindex: "-1",
@@ -49,11 +49,11 @@ const v = {
49
49
  "aria-labelledby": "",
50
50
  "aria-hidden": "true",
51
51
  style: { "background-color": "rgba(0, 0, 0, 0.75)" }
52
- }, x = {
52
+ }, y = {
53
53
  class: "modal-dialog modal-dialog-centered modal-lg",
54
54
  role: "document",
55
55
  style: { "z-index": "1100", "max-width": "52%" }
56
- }, y = {
56
+ }, w = {
57
57
  class: "modal-content border-none",
58
58
  style: { "border-radius": "0", padding: "1rem 2.125rem 2.75rem" }
59
59
  }, C = {
@@ -62,7 +62,7 @@ const v = {
62
62
  "data-dismiss": "modal",
63
63
  class: "close",
64
64
  "aria-label": "Close"
65
- }, w = {
65
+ }, c = {
66
66
  "aria-hidden": "true",
67
67
  class: "close-icon rounded-circle"
68
68
  }, k = {
@@ -92,12 +92,12 @@ const v = {
92
92
  style: { "font-size": "18px", "font-weight": "400", color: "#000000" }
93
93
  }, P = ["value"], j = { class: "form-check mt-4" }, F = { class: "form-check" }, q = { class: "modal-footer justify-content-start" }, G = { class: "copied" }, J = { class: "form-check-label" };
94
94
  function K(o, e, O, Q, i, l) {
95
- return m(), r("div", c, [
96
- t("div", x, [
97
- t("div", y, [
95
+ return m(), r("div", x, [
96
+ t("div", y, [
97
+ t("div", w, [
98
98
  t("button", C, [
99
99
  d(a(o.$t("message.datasetDetails.datasets.modal.close")) + " ", 1),
100
- t("span", w, [
100
+ t("span", c, [
101
101
  (m(), r("svg", k, [...e[12] || (e[12] = [
102
102
  t("path", { 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" }, null, -1)
103
103
  ])]))
@@ -116,7 +116,7 @@ function K(o, e, O, Q, i, l) {
116
116
  e[14] || (e[14] = t("br", null, null, -1)),
117
117
  e[15] || (e[15] = d()),
118
118
  t("div", M, [
119
- i.isResponsive ? u("", !0) : n((m(), r("input", {
119
+ i.isResponsive ? f("", !0) : n((m(), r("input", {
120
120
  key: 0,
121
121
  type: "number",
122
122
  id: "iframeWidth",
@@ -139,7 +139,7 @@ function K(o, e, O, Q, i, l) {
139
139
  max: i.maxRange
140
140
  }, null, 40, z)), [
141
141
  [p, i.iframeWidth]
142
- ]) : u("", !0)
142
+ ]) : f("", !0)
143
143
  ])
144
144
  ]),
145
145
  e[18] || (e[18] = d()),
@@ -170,7 +170,7 @@ function K(o, e, O, Q, i, l) {
170
170
  "onUpdate:modelValue": e[6] || (e[6] = (s) => i.isResponsive = s),
171
171
  onChange: e[7] || (e[7] = (...s) => l.updateEmbedCode && l.updateEmbedCode(...s))
172
172
  }, null, 544), [
173
- [b, i.isResponsive]
173
+ [u, i.isResponsive]
174
174
  ]),
175
175
  e[19] || (e[19] = d()),
176
176
  e[20] || (e[20] = t("label", {
@@ -242,7 +242,7 @@ function K(o, e, O, Q, i, l) {
242
242
  e[29] || (e[29] = d()),
243
243
  n(t("span", G, [
244
244
  t("label", J, [
245
- e[28] || (e[28] = f('<svg width="20" height="23" viewBox="0 0 20 23" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-48ec495c><g clip-path="url(#clip0_13_474)" data-v-48ec495c><path d="M14.2857 20.125V21.9219C14.2857 22.5173 13.806 23 13.2143 23H1.07143C0.479688 23 0 22.5173 0 21.9219V5.39062C0 4.79519 0.479688 4.3125 1.07143 4.3125H4.28571V17.6094C4.28571 18.9965 5.40719 20.125 6.78571 20.125H14.2857ZM14.2857 4.67188V0H6.78571C6.19397 0 5.71429 0.482686 5.71429 1.07812V17.6094C5.71429 18.2048 6.19397 18.6875 6.78571 18.6875H18.9286C19.5203 18.6875 20 18.2048 20 17.6094V5.75H15.3571C14.7679 5.75 14.2857 5.26484 14.2857 4.67188ZM19.6862 3.27799L16.7424 0.315756C16.5414 0.113582 16.2689 1.49498e-06 15.9848 0L15.7143 0V4.3125H20V4.04032C20 3.75439 19.8871 3.48018 19.6862 3.27799Z" fill="#464646" data-v-48ec495c></path></g> <defs data-v-48ec495c><clipPath id="clip0_13_474" data-v-48ec495c><rect width="20" height="23" fill="white" data-v-48ec495c></rect></clipPath></defs></svg>', 1)),
245
+ e[28] || (e[28] = b('<svg width="20" height="23" viewBox="0 0 20 23" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-dff182ef><g clip-path="url(#clip0_13_474)" data-v-dff182ef><path d="M14.2857 20.125V21.9219C14.2857 22.5173 13.806 23 13.2143 23H1.07143C0.479688 23 0 22.5173 0 21.9219V5.39062C0 4.79519 0.479688 4.3125 1.07143 4.3125H4.28571V17.6094C4.28571 18.9965 5.40719 20.125 6.78571 20.125H14.2857ZM14.2857 4.67188V0H6.78571C6.19397 0 5.71429 0.482686 5.71429 1.07812V17.6094C5.71429 18.2048 6.19397 18.6875 6.78571 18.6875H18.9286C19.5203 18.6875 20 18.2048 20 17.6094V5.75H15.3571C14.7679 5.75 14.2857 5.26484 14.2857 4.67188ZM19.6862 3.27799L16.7424 0.315756C16.5414 0.113582 16.2689 1.49498e-06 15.9848 0L15.7143 0V4.3125H20V4.04032C20 3.75439 19.8871 3.48018 19.6862 3.27799Z" fill="#464646" data-v-dff182ef></path></g> <defs data-v-dff182ef><clipPath id="clip0_13_474" data-v-dff182ef><rect width="20" height="23" fill="white" data-v-dff182ef></rect></clipPath></defs></svg>', 1)),
246
246
  d(" " + a(o.$t("message.datasetDetails.datasets.modal.copied")), 1)
247
247
  ])
248
248
  ], 512), [
@@ -253,7 +253,7 @@ function K(o, e, O, Q, i, l) {
253
253
  ])
254
254
  ]);
255
255
  }
256
- const $ = /* @__PURE__ */ g(v, [["render", K], ["__scopeId", "data-v-48ec495c"]]);
256
+ const $ = /* @__PURE__ */ g(v, [["render", K], ["__scopeId", "data-v-dff182ef"]]);
257
257
  export {
258
258
  $ as default
259
259
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetEmbedModal.vue.mjs","sources":["../../lib/embed/DatasetEmbedModal.vue"],"sourcesContent":["<template>\n <div class=\"modal fade\" id=\"embedModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"\" aria-hidden=\"true\" style=\"background-color: rgba(0, 0, 0, 0.75);\">\n <div class=\"modal-dialog modal-dialog-centered modal-lg\" role=\"document\" style=\"z-index: 1100; max-width:52%;\">\n <div class=\"modal-content border-none\" style=\"border-radius: 0; padding: 1rem 2.125rem 2.75rem;\">\n <button type=\"button\" id=\"modal-close-btn\" data-dismiss=\"modal\" class=\"close\" 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\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" height=\"8\" id=\"Layer_1\" style=\"enable-background:new 0 0 512 512;\" version=\"1.1\" viewBox=\"0 0 512 512\" width=\"8\" xml:space=\"preserve\">\n <path 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 class=\"modal-head\">\n <h5 class=\"modal-title\" id=\"exampleModalLabel\" style=\"display: inline-block;\">{{ $t('message.datasetDetails.datasets.modal.embedText') }}</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"container\" style=\"padding:0; margin:0;\">\n <div class=\"d-flex flex-row iframeSettings\">\n <div class=\"input-wrapper\">\n <label for=\"iframeWidth\">{{ $t('message.datasetDetails.datasets.modal.width') }}</label><br>\n <div class=\"input-with-px\">\n <input v-if=\"!isResponsive\"\n \n type=\"number\"\n id=\"iframeWidth\"\n v-model=\"iframeWidth\"\n @input=\"updateEmbedCode\"\n :min=\"minRange\"\n :max=\"maxRange\"\n />\n\n <input v-if=\"isResponsive\"\n class=\"disable-width\"\n type=\"text\"\n id=\"iframeWidth\"\n v-model=\"iframeWidth\"\n @input=\"updateEmbedCode\"\n :min=\"minRange\"\n :max=\"maxRange\"\n />\n </div>\n </div>\n <div class=\"input-wrapper height\" style=\"padding-left: 3.3rem\">\n <label for=\"iframeHeight\">{{ $t('message.datasetDetails.datasets.modal.height') }}</label><br>\n <div class=\"input-with-px\">\n <input\n type=\"number\"\n id=\"iframeHeight\"\n v-model=\"iframeHeight\"\n @input=\"updateEmbedCode\"\n :min=\"minRange\"\n :max=\"maxRange\"\n />\n </div>\n </div>\n </div>\n </div>\n \n <div class=\"form-check mb-4\">\n <input class=\"form-check-input\" type=\"checkbox\" v-model=\"isResponsive\" @change=\"updateEmbedCode\">\n <label class=\"form-check-label\" for=\"responsive\">\n Responsive\n </label>\n </div>\n\n <div class=\"ecl-form-group\">\n <label class=\"ecl-form-label\" for=\"ebmedTextarea\" style=\"font-size:18px; font-weight: 400; color: #000000;\">{{ $t('message.datasetDetails.datasets.modal.code')}}</label>\n <textarea id=\"ebmedTextarea\" style=\"width: 100%; resize: none; padding: 20px 25px 0px 20px; overflow: hidden; font-size:18px; line-height: 1.1; color:#888888; margin-top: 1.375rem; word-break: break-all;float: left!important;\"\n class=\"ecl-text-area ecl-text-area--m\" rows=\"4\" :value=\"embedCode\" @click=\"selectAll\" ></textarea>\n </div>\n </div>\n\n <div class=\"form-check mt-4\">\n <input class=\"form-check-input\" type=\"radio\" name=\"exampleRadios\" id=\"complete\" value=\"complete\" checked @change=\"updateEmbedCodeType\">\n <label class=\"form-check-label\" for=\"exampleRadios1\">\n Complete Dataset\n </label>\n </div>\n <div class=\"form-check\">\n <input class=\"form-check-input\" type=\"radio\" name=\"exampleRadios\" id=\"snippet\" value=\"snippet\" @change=\"updateEmbedCodeType\">\n <label class=\"form-check-label\" for=\"exampleRadios2\">\n Snippet Dataset\n </label>\n </div> \n <div class=\"modal-footer justify-content-start\"> \n <button @click=\"copy\" class=\"ecl-button ecl-button--secondary px-4 py-3\" style=\"float: left!important;\" type=\"button\">{{ $t('message.datasetDetails.datasets.modal.copy')}}</button>\n <span v-show=\"copied\" class=\"copied\">\n <label class=\"form-check-label\">\n <svg width=\"20\" height=\"23\" viewBox=\"0 0 20 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_13_474)\">\n <path d=\"M14.2857 20.125V21.9219C14.2857 22.5173 13.806 23 13.2143 23H1.07143C0.479688 23 0 22.5173 0 21.9219V5.39062C0 4.79519 0.479688 4.3125 1.07143 4.3125H4.28571V17.6094C4.28571 18.9965 5.40719 20.125 6.78571 20.125H14.2857ZM14.2857 4.67188V0H6.78571C6.19397 0 5.71429 0.482686 5.71429 1.07812V17.6094C5.71429 18.2048 6.19397 18.6875 6.78571 18.6875H18.9286C19.5203 18.6875 20 18.2048 20 17.6094V5.75H15.3571C14.7679 5.75 14.2857 5.26484 14.2857 4.67188ZM19.6862 3.27799L16.7424 0.315756C16.5414 0.113582 16.2689 1.49498e-06 15.9848 0L15.7143 0V4.3125H20V4.04032C20 3.75439 19.8871 3.48018 19.6862 3.27799Z\" fill=\"#464646\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_13_474\">\n <rect width=\"20\" height=\"23\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n \n {{ $t('message.datasetDetails.datasets.modal.copied') }}\n </label>\n \n </span>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script >\nexport default {\n name: \"embed-modal\",\n data() {\n return {\n iframeWidth: this.$env.content.datasetDetails.embed.defaultWidth,\n iframeHeight: this.$env.content.datasetDetails.embed.defaultHeight,\n embedCode: '',\n copied: false,\n minRange: this.$env.content.datasetDetails.embed.minRange,\n maxRange: this.$env.content.datasetDetails.embed.maxRange,\n embedType: 'embed', // default to 'embed'\n isResponsive: false\n };\n },\n methods: {\n selectAll(event) {\n event.target.select()\n },\n updateEmbedCode() {\n // Ensure the input values are within the specified range\n if(this.isResponsive){\n this.iframeWidth = '100%';\n } else {\n this.iframeWidth = 900;\n this.iframeWidth = Math.min(Math.max(this.iframeWidth, this.minRange), this.maxRange);\n this.iframeHeight = Math.min(Math.max(this.iframeHeight, this.minRange), this.maxRange);\n }\n\n // Generate the embed code\n const currentURL = window.location.href.replace(/\\?.*$/, '') + '/' + this.embedType;\n this.embedCode = `<iframe src=\"${currentURL}\" width=\"${this.iframeWidth}\" height=\"${this.iframeHeight}\" frameborder=\"0\"></iframe>`;\n },\n updateEmbedCodeType(event) {\n // Update the embedType based on selected radio button\n this.embedType = event.target.value === 'snippet' ? 'embed-snippet' : 'embed';\n this.updateEmbedCode(); // Regenerate the embed code with the new type\n },\n copy() {\n navigator.clipboard.writeText(this.embedCode)\n .then(() => {\n this.copied = true;\n setTimeout(() => {\n this.copied = false;\n }, 3000);\n })\n .catch((error) => {\n // Handle the error\n console.error('Failed to copy: ', error);\n });\n }\n },\n created() {\n // Initialize the embed code with default values\n this.updateEmbedCode();\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.modal-title {\n float: left!important;\n font-family: 'Arial';\n font-style: normal;\n font-weight: 700;\n font-size: 24px;\n // line-height: 24px;\n color: #000000;\n}\n\n.disable-width {\n background: #d8d8d8;\n border-radius: 10px;\n border: 1px solid #cecece !important;\n width: 140px;\n}\n.modal-head {\n border-bottom: none;\n padding: 0;\n padding-bottom: 1rem;\n}\n.modal-body {\n border-top: 1px solid #e9ecef;\n padding: 0;\n}\n.ecl-button {\n font-size: 16px;\n}\n.modal-footer {\n border-top: none;\n padding: 2.438rem 0 0 0;\n font-size: 16px;\n}\n\n.close {\n font-size: 14px;\n color: #1C3D66;\n opacity: 1;\n padding: 0.5rem!important;\n text-align: right;\n .close-icon {\n color:white;\n background: #1C3D66;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 16px;\n height: 16px;\n float: right;\n margin-left: 10px;\n }\n}\n.active {\n color: #000000!important;\n}\n.iframeSettings {\n padding: 1.875rem 0 1.438rem 0;\n font-size: 18px;\n\n input {\n padding: 1.563rem 0rem;\n }\n /* Style the input field wrapper */\n.input-with-px {\n position: relative;\n margin-top: 5px;\n\n}\n\n.input-with-px input {\n padding: 15px 30px 15px 50px;\n border: 1px solid #cbcbcb;\n}\n\n/* Style the \"px\" text */\n.input-with-px::after {\n// content: \"px\";\n position: absolute;\n right: 30%;\n top: 54%;\n transform: translateY(-50%);\n color: #777;\n pointer-events: none; /* Prevent interaction with the \"px\" span */\n}\n}\n.copied {\n margin-left: 30px;\n text-decoration: none !important;\n}\n/* Firefox-specific styles */\n@-moz-document url-prefix() {\n .input-with-px input {\n max-width: 240px;\n }\n}\n@media screen and (max-width: 1100px) {\n .iframeSettings {\n flex-direction: column!important;\n }\n .height {\n padding-left: 0!important;\n margin-top: 10px;\n }\n #ebmedTextarea {\n padding-bottom: 20px!important;\n }\n}\n</style>\n"],"names":["_sfc_main","event","currentURL","error","_hoisted_7","_hoisted_9","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_18","_hoisted_19","_hoisted_21","_hoisted_22","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_hoisted_4","_createTextVNode","_toDisplayString","_ctx","_hoisted_5","_hoisted_6","_cache","_hoisted_8","_hoisted_10","$data","$event","$options","args","_hoisted_17","_hoisted_23","_withDirectives"],"mappings":"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"}
1
+ {"version":3,"file":"DatasetEmbedModal.vue.mjs","sources":["../../lib/embed/DatasetEmbedModal.vue"],"sourcesContent":["<template>\n <div class=\"modal fade\" id=\"embedModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"\" aria-hidden=\"true\" style=\"background-color: rgba(0, 0, 0, 0.75);\">\n <div class=\"modal-dialog modal-dialog-centered modal-lg\" role=\"document\" style=\"z-index: 1100; max-width:52%;\">\n <div class=\"modal-content border-none\" style=\"border-radius: 0; padding: 1rem 2.125rem 2.75rem;\">\n <button type=\"button\" id=\"modal-close-btn\" data-dismiss=\"modal\" class=\"close\" 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\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" height=\"8\" id=\"Layer_1\" style=\"enable-background:new 0 0 512 512;\" version=\"1.1\" viewBox=\"0 0 512 512\" width=\"8\" xml:space=\"preserve\">\n <path 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 class=\"modal-head\">\n <h5 class=\"modal-title\" id=\"exampleModalLabel\" style=\"display: inline-block;\">{{ $t('message.datasetDetails.datasets.modal.embedText') }}</h5>\n </div>\n <div class=\"modal-body\">\n <div class=\"container\" style=\"padding:0; margin:0;\">\n <div class=\"d-flex flex-row iframeSettings\">\n <div class=\"input-wrapper\">\n <label for=\"iframeWidth\">{{ $t('message.datasetDetails.datasets.modal.width') }}</label><br>\n <div class=\"input-with-px\">\n <input v-if=\"!isResponsive\"\n \n type=\"number\"\n id=\"iframeWidth\"\n v-model=\"iframeWidth\"\n @input=\"updateEmbedCode\"\n :min=\"minRange\"\n :max=\"maxRange\"\n />\n\n <input v-if=\"isResponsive\"\n class=\"disable-width\"\n type=\"text\"\n id=\"iframeWidth\"\n v-model=\"iframeWidth\"\n @input=\"updateEmbedCode\"\n :min=\"minRange\"\n :max=\"maxRange\"\n />\n </div>\n </div>\n <div class=\"input-wrapper height\" style=\"padding-left: 3.3rem\">\n <label for=\"iframeHeight\">{{ $t('message.datasetDetails.datasets.modal.height') }}</label><br>\n <div class=\"input-with-px\">\n <input\n type=\"number\"\n id=\"iframeHeight\"\n v-model=\"iframeHeight\"\n @input=\"updateEmbedCode\"\n :min=\"minRange\"\n :max=\"maxRange\"\n />\n </div>\n </div>\n </div>\n </div>\n \n <div class=\"form-check mb-4\">\n <input class=\"form-check-input\" type=\"checkbox\" v-model=\"isResponsive\" @change=\"updateEmbedCode\">\n <label class=\"form-check-label\" for=\"responsive\">\n Responsive\n </label>\n </div>\n\n <div class=\"ecl-form-group\">\n <label class=\"ecl-form-label\" for=\"ebmedTextarea\" style=\"font-size:18px; font-weight: 400; color: #000000;\">{{ $t('message.datasetDetails.datasets.modal.code')}}</label>\n <textarea id=\"ebmedTextarea\" style=\"width: 100%; resize: none; padding: 20px 25px 0px 20px; overflow: hidden; font-size:18px; line-height: 1.1; color:#888888; margin-top: 1.375rem; word-break: break-all;float: left!important;\"\n class=\"ecl-text-area ecl-text-area--m\" rows=\"4\" :value=\"embedCode\" @click=\"selectAll\" ></textarea>\n </div>\n </div>\n\n <div class=\"form-check mt-4\">\n <input class=\"form-check-input\" type=\"radio\" name=\"exampleRadios\" id=\"complete\" value=\"complete\" checked @change=\"updateEmbedCodeType\">\n <label class=\"form-check-label\" for=\"exampleRadios1\">\n Complete Dataset\n </label>\n </div>\n <div class=\"form-check\">\n <input class=\"form-check-input\" type=\"radio\" name=\"exampleRadios\" id=\"snippet\" value=\"snippet\" @change=\"updateEmbedCodeType\">\n <label class=\"form-check-label\" for=\"exampleRadios2\">\n Snippet Dataset\n </label>\n </div> \n <div class=\"modal-footer justify-content-start\"> \n <button @click=\"copy\" class=\"ecl-button ecl-button--secondary px-4 py-3\" style=\"float: left!important;\" type=\"button\">{{ $t('message.datasetDetails.datasets.modal.copy')}}</button>\n <span v-show=\"copied\" class=\"copied\">\n <label class=\"form-check-label\">\n <svg width=\"20\" height=\"23\" viewBox=\"0 0 20 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_13_474)\">\n <path d=\"M14.2857 20.125V21.9219C14.2857 22.5173 13.806 23 13.2143 23H1.07143C0.479688 23 0 22.5173 0 21.9219V5.39062C0 4.79519 0.479688 4.3125 1.07143 4.3125H4.28571V17.6094C4.28571 18.9965 5.40719 20.125 6.78571 20.125H14.2857ZM14.2857 4.67188V0H6.78571C6.19397 0 5.71429 0.482686 5.71429 1.07812V17.6094C5.71429 18.2048 6.19397 18.6875 6.78571 18.6875H18.9286C19.5203 18.6875 20 18.2048 20 17.6094V5.75H15.3571C14.7679 5.75 14.2857 5.26484 14.2857 4.67188ZM19.6862 3.27799L16.7424 0.315756C16.5414 0.113582 16.2689 1.49498e-06 15.9848 0L15.7143 0V4.3125H20V4.04032C20 3.75439 19.8871 3.48018 19.6862 3.27799Z\" fill=\"#464646\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_13_474\">\n <rect width=\"20\" height=\"23\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n \n {{ $t('message.datasetDetails.datasets.modal.copied') }}\n </label>\n \n </span>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script >\nexport default {\n name: \"embed-modal\",\n data() {\n return {\n iframeWidth: this.$env.content.datasetDetails.embed.defaultWidth,\n iframeHeight: this.$env.content.datasetDetails.embed.defaultHeight,\n embedCode: '',\n copied: false,\n minRange: this.$env.content.datasetDetails.embed.minRange,\n maxRange: this.$env.content.datasetDetails.embed.maxRange,\n embedType: 'embed', // default to 'embed'\n isResponsive: false\n };\n },\n methods: {\n selectAll(event) {\n event.target.select()\n },\n updateEmbedCode() {\n // Ensure the input values are within the specified range\n if(this.isResponsive){\n this.iframeWidth = '100%';\n } else {\n this.iframeWidth = 900;\n this.iframeWidth = Math.min(Math.max(this.iframeWidth, this.minRange), this.maxRange);\n this.iframeHeight = Math.min(Math.max(this.iframeHeight, this.minRange), this.maxRange);\n }\n\n // Generate the embed code\n const currentURL = window.location.href.replace(/\\?.*$/, '') + '/' + this.embedType;\n this.embedCode = `<iframe src=\"${currentURL}\" width=\"${this.iframeWidth}\" height=\"${this.iframeHeight}\" frameborder=\"0\" scrolling=\"no\" style=\"border: 0; overflow: hidden;\"></iframe>`;\n },\n updateEmbedCodeType(event) {\n // Update the embedType based on selected radio button\n this.embedType = event.target.value === 'snippet' ? 'embed-snippet' : 'embed';\n this.updateEmbedCode(); // Regenerate the embed code with the new type\n },\n copy() {\n navigator.clipboard.writeText(this.embedCode)\n .then(() => {\n this.copied = true;\n setTimeout(() => {\n this.copied = false;\n }, 3000);\n })\n .catch((error) => {\n // Handle the error\n console.error('Failed to copy: ', error);\n });\n }\n },\n created() {\n // Initialize the embed code with default values\n this.updateEmbedCode();\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.modal-title {\n float: left!important;\n font-family: 'Arial';\n font-style: normal;\n font-weight: 700;\n font-size: 24px;\n // line-height: 24px;\n color: #000000;\n}\n\n.disable-width {\n background: #d8d8d8;\n border-radius: 10px;\n border: 1px solid #cecece !important;\n width: 140px;\n}\n.modal-head {\n border-bottom: none;\n padding: 0;\n padding-bottom: 1rem;\n}\n.modal-body {\n border-top: 1px solid #e9ecef;\n padding: 0;\n}\n.ecl-button {\n font-size: 16px;\n}\n.modal-footer {\n border-top: none;\n padding: 2.438rem 0 0 0;\n font-size: 16px;\n}\n\n.close {\n font-size: 14px;\n color: #1C3D66;\n opacity: 1;\n padding: 0.5rem!important;\n text-align: right;\n .close-icon {\n color:white;\n background: #1C3D66;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 16px;\n height: 16px;\n float: right;\n margin-left: 10px;\n }\n}\n.active {\n color: #000000!important;\n}\n.iframeSettings {\n padding: 1.875rem 0 1.438rem 0;\n font-size: 18px;\n\n input {\n padding: 1.563rem 0rem;\n }\n /* Style the input field wrapper */\n.input-with-px {\n position: relative;\n margin-top: 5px;\n\n}\n\n.input-with-px input {\n padding: 15px 30px 15px 50px;\n border: 1px solid #cbcbcb;\n}\n\n/* Style the \"px\" text */\n.input-with-px::after {\n// content: \"px\";\n position: absolute;\n right: 30%;\n top: 54%;\n transform: translateY(-50%);\n color: #777;\n pointer-events: none; /* Prevent interaction with the \"px\" span */\n}\n}\n.copied {\n margin-left: 30px;\n text-decoration: none !important;\n}\n/* Firefox-specific styles */\n@-moz-document url-prefix() {\n .input-with-px input {\n max-width: 240px;\n }\n}\n@media screen and (max-width: 1100px) {\n .iframeSettings {\n flex-direction: column!important;\n }\n .height {\n padding-left: 0!important;\n margin-top: 10px;\n }\n #ebmedTextarea {\n padding-bottom: 20px!important;\n }\n}\n</style>\n"],"names":["_sfc_main","event","currentURL","error","_hoisted_7","_hoisted_9","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_18","_hoisted_19","_hoisted_21","_hoisted_22","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_hoisted_4","_createTextVNode","_toDisplayString","_ctx","_hoisted_5","_hoisted_6","_cache","_hoisted_8","_hoisted_10","$data","$event","$options","args","_hoisted_17","_hoisted_23","_withDirectives"],"mappings":"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"}
@@ -17,6 +17,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
17
17
  getSelectedFacets(): unknown;
18
18
  showCatalogDetails(): boolean;
19
19
  }, {
20
+ formatFacetLabel(label: any): any;
20
21
  loadLangList(): Promise<void>;
21
22
  routerPush(object: any): any;
22
23
  showSelectedFacet(facet: any): boolean;
@@ -1,8 +1,8 @@
1
1
  import { mapActions as m } from "vuex";
2
2
  import { getFacetTranslation as F } from "../utils/helpers.mjs";
3
- import { isNil as n } from "lodash-es";
3
+ import { isNil as l } from "lodash-es";
4
4
  import $ from "axios";
5
- import { openBlock as l, createElementBlock as u, Fragment as d, renderList as p, createElementVNode as g, toDisplayString as f, createTextVNode as y, renderSlot as S } from "vue";
5
+ import { openBlock as u, createElementBlock as n, Fragment as h, renderList as p, createElementVNode as g, toDisplayString as y, createTextVNode as f, renderSlot as S } from "vue";
6
6
  import "./SelectedFacetsOverview.vue2.mjs";
7
7
  import q from "../_virtual/_plugin-vue_export-helper.mjs";
8
8
  const b = {
@@ -31,10 +31,10 @@ const b = {
31
31
  const e = this.$route.path === "/datasets" && ((s = this.$route.query) == null ? void 0 : s.superCatalogue) === "erpd";
32
32
  let t = !1;
33
33
  if (this.$route.path === "/catalogues") {
34
- const a = "erpd", r = this.$route.query.superCatalog;
35
- if (!r)
34
+ const a = "erpd", i = this.$route.query.superCatalog;
35
+ if (!i)
36
36
  return !1;
37
- r === a && (t = !0), (r == null ? void 0 : r.constructor) === Array && r.length > 0 && r[0] === a && (t = !0);
37
+ i === a && (t = !0), (i == null ? void 0 : i.constructor) === Array && i.length > 0 && i[0] === a && (t = !0);
38
38
  }
39
39
  return e || t;
40
40
  },
@@ -68,12 +68,27 @@ const b = {
68
68
  return this.selectedFacets;
69
69
  },
70
70
  showCatalogDetails() {
71
- return !n(this.$route.params.ctlg_id) || !n(this.$route.query.showsubcatalogs);
71
+ return !l(this.$route.params.ctlg_id) || !l(this.$route.query.showsubcatalogs);
72
72
  }
73
73
  },
74
74
  methods: {
75
- isNil: n,
75
+ isNil: l,
76
76
  ...m("datasets", ["setMinScoring", "setMaxScoring"]),
77
+ formatFacetLabel(e) {
78
+ if (!e)
79
+ return "";
80
+ const t = {
81
+ use_cases: "Use Cases",
82
+ factsheets_reports: "Factsheets reports",
83
+ country_insight: "Country insight",
84
+ covid_19_data_stories: "Covid-19 data stories",
85
+ data_stories: "Data stories",
86
+ lesson: "Academy lesson",
87
+ course: "Academy course",
88
+ faq: "FAQ"
89
+ };
90
+ return t[e] ? t[e] : e.charAt(0).toUpperCase() + e.slice(1);
91
+ },
77
92
  async loadLangList() {
78
93
  try {
79
94
  const e = await $.get(
@@ -99,10 +114,10 @@ const b = {
99
114
  if (e === "is_hvd")
100
115
  return this.$t("message.metadata.yes");
101
116
  if (e === "country") {
102
- const a = this.availableFacets.find((o) => o.id === e).items.find((o) => o.id === t).title, r = this.$route.query.locale === "no" ? "nb" : this.$route.query.locale, i = this.langList.find(
117
+ const a = this.availableFacets.find((o) => o.id === e).items.find((o) => o.id === t).title, i = this.$route.query.locale === "no" ? "nb" : this.$route.query.locale, r = this.langList.find(
103
118
  (o) => o.pref_label.en === a
104
119
  );
105
- return i && i.pref_label && i.pref_label[r];
120
+ return r && r.pref_label && r.pref_label[i];
106
121
  }
107
122
  const s = this.availableFacets.find((a) => a.id === e).items.find((a) => a.id === t).title;
108
123
  return F(
@@ -157,9 +172,9 @@ const b = {
157
172
  query: Object.assign({}, this.$route.query, { [e]: [], page: 1 })
158
173
  }, !s) {
159
174
  let a = this.$route.query[e].slice();
160
- Array.isArray(a) || (a = [a]), e === "categories" && (t.toUpperCase(), a = a.map((i) => i.toUpperCase()));
161
- const r = a.indexOf(t);
162
- r > -1 ? a.splice(r, 1) : a.push(t), s = {
175
+ Array.isArray(a) || (a = [a]), e === "categories" && (t.toUpperCase(), a = a.map((r) => r.toUpperCase()));
176
+ const i = a.indexOf(t);
177
+ i > -1 ? a.splice(i, 1) : a.push(t), s = {
163
178
  query: Object.assign({}, this.$route.query, {
164
179
  [e]: a,
165
180
  page: 1
@@ -174,30 +189,30 @@ const b = {
174
189
  },
175
190
  created() {
176
191
  }
177
- }, O = { class: "container sfo-container" }, v = ["onClick"];
178
- function C(e, t, s, a, r, i) {
179
- return l(), u("div", O, [
180
- (l(!0), u(d, null, p(i.getSelectedFacetsOrdered.filter(
181
- (c) => i.showSelectedFacet(c)
182
- ), (c) => (l(), u("p", {
192
+ }, _ = { class: "container sfo-container" }, v = ["onClick"];
193
+ function O(e, t, s, a, i, r) {
194
+ return u(), n("div", _, [
195
+ (u(!0), n(h, null, p(r.getSelectedFacetsOrdered.filter(
196
+ (c) => r.showSelectedFacet(c)
197
+ ), (c) => (u(), n("p", {
183
198
  key: c.field
184
199
  }, [
185
- g("span", null, f(`${i.findFacetFieldTitle(c)}:`), 1),
186
- t[0] || (t[0] = y()),
187
- (l(!0), u(d, null, p(c.facets, (o, h) => S(e.$slots, "default", {
188
- index: h,
200
+ g("span", null, y(`${r.findFacetFieldTitle(c)}:`), 1),
201
+ t[0] || (t[0] = f()),
202
+ (u(!0), n(h, null, p(c.facets, (o, d) => S(e.$slots, "default", {
203
+ index: d,
189
204
  facet: c,
190
205
  facetId: o,
191
- findFacetTitle: i.findFacetTitle,
192
- removeSelectedFacet: i.removeSelectedFacet
206
+ findFacetTitle: r.findFacetTitle,
207
+ removeSelectedFacet: r.removeSelectedFacet
193
208
  }, () => [
194
- (l(), u("span", {
195
- key: h,
209
+ (u(), n("span", {
210
+ key: d,
196
211
  class: "badge badge-pill badge-highlight mr-1 ds-label"
197
212
  }, [
198
- y(f(i.findFacetTitle(c.field, o)) + " ", 1),
213
+ f(y(r.formatFacetLabel(r.findFacetTitle(c.field, o))) + " ", 1),
199
214
  g("span", {
200
- onClick: (_) => i.removeSelectedFacet(c.field, o),
215
+ onClick: (C) => r.removeSelectedFacet(c.field, o),
201
216
  class: "close-facet ml-2"
202
217
  }, "×", 8, v)
203
218
  ]))
@@ -205,8 +220,8 @@ function C(e, t, s, a, r, i) {
205
220
  ]))), 128))
206
221
  ]);
207
222
  }
208
- const k = /* @__PURE__ */ q(b, [["render", C], ["__scopeId", "data-v-adaf7f1f"]]);
223
+ const E = /* @__PURE__ */ q(b, [["render", O], ["__scopeId", "data-v-ed8d188e"]]);
209
224
  export {
210
- k as default
225
+ E as default
211
226
  };
212
227
  //# sourceMappingURL=SelectedFacetsOverview.vue.mjs.map