@piveau/piveau-hub-ui-modules 4.9.4 → 4.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/datasetDetails/features/DatasetDetailsPages.vue.d.ts +3 -1
- package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs +370 -230
- package/dist/datasetDetails/features/DatasetDetailsPages.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/DataserviceDetailsProperties.vue.d.ts +9 -0
- package/dist/datasetDetails/properties/DataserviceDetailsProperties.vue.mjs +9 -9
- package/dist/datasetDetails/properties/DataserviceDetailsProperties.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/DataserviceDetailsProperty.vue.mjs +4 -4
- package/dist/datasetDetails/properties/DataserviceDetailsProperty.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/ValuesList.vue.mjs +14 -14
- package/dist/datasetDetails/properties/ValuesList.vue.mjs.map +1 -1
- package/dist/datasetDetails/properties/specification.d.ts +10 -1
- package/dist/datasetDetails/properties/specification.mjs +18 -9
- package/dist/datasetDetails/properties/specification.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- package/dist/store/modules/dataserviceDetailsStore.d.ts +4 -0
- package/dist/store/modules/dataserviceDetailsStore.mjs +59 -51
- package/dist/store/modules/dataserviceDetailsStore.mjs.map +1 -1
- package/dist/utils/helpers.mjs +2 -2
- package/dist/utils/helpers.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -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 <!-- 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\n/* Add near the mobile card styles */\n.pages-cards {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 100%;\n min-width: 0;\n}\n\n.page-card {\n width: 100%;\n min-width: 0;\n max-width: 100%;\n box-sizing: border-box;\n}\n\n/* Important: override the global .page-title nowrap for card titles */\n.page-card .page-title {\n white-space: normal;\n overflow-wrap: anywhere;\n word-break: break-word;\n}\n\n/* Keep header content shrinkable in flex layout */\n.card-header,\n.card-title-section {\n min-width: 0;\n width: 100%;\n}\n\n/* Optional but recommended: prevent button row overflow on tiny screens */\n@media (max-width: 767.98px) {\n .show-all-container {\n flex-wrap: wrap;\n }\n}\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=\"toggleSort('title')\" :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: sortField === 'title' && 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: sortField === 'title' && 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 <button class=\"sort-button\" @click=\"toggleSort('format')\" :aria-label=\"$t('message.metadata.format') + ' sortieren'\">\n {{ $t('message.metadata.format') }}\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortField === 'format' && 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: sortField === 'format' && 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 <button class=\"sort-button\" @click=\"toggleSort('updated')\" :aria-label=\"$t('message.metadata.updated') + ' sortieren'\">\n {{ $t('message.metadata.updated') }}\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortField === 'updated' && 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: sortField === 'updated' && 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=\"toggleSort('title')\" :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: sortField === 'title' && 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: sortField === 'title' && 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\">\n <button class=\"sort-button\" @click=\"toggleSort('format')\" :aria-label=\"$t('message.metadata.format') + ' sortieren'\">\n {{ $t('message.metadata.format') }}\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortField === 'format' && 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: sortField === 'format' && 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 date-col\">\n <button class=\"sort-button\" @click=\"toggleSort('updated')\" :aria-label=\"$t('message.metadata.updated') + ' sortieren'\">\n {{ $t('message.metadata.updated') }}\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortField === 'updated' && 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: sortField === 'updated' && 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 actions-col\">{{ $t('message.dataupload.menu.actions') }}</div>\n <div class=\"grid-col likes-col\"></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 class=\"grid-col likes-col\">\n <span class=\"likes-dummy\"></span>\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 sortField: 'title',\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 valueA = this.getPageSortValue(a);\n const valueB = this.getPageSortValue(b);\n const comparison = typeof valueA === 'number'\n ? valueA - valueB\n : valueA.localeCompare(valueB);\n\n return this.sortOrder === 'asc' ? comparison : -comparison;\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 toggleSort(field) {\n this.sortOrder = this.sortField === field && this.sortOrder === 'asc' ? 'desc' : 'asc';\n this.sortField = field;\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 getPageSortValue(page) {\n if (this.sortField === 'format') return String(this.getPageFormat(page) || '').toLowerCase();\n if (this.sortField === 'updated') return new Date(this.getPageModified(page)).getTime() || 0;\n return String(this.getPageTitle(page) || '').toLowerCase();\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(180px, 1fr) 75px 80px minmax(100px, auto) 80px;\n min-width: 590px;\n width: max-content;\n\n @media (min-width: 992px) {\n grid-template-columns: calc(45% - 15px) calc(10% + 15px) 15% 20% 10%;\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.likes-dummy {\n color: #6c757d;\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\n/* Add near the mobile card styles */\n.pages-cards {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 100%;\n min-width: 0;\n}\n\n.page-card {\n width: 100%;\n min-width: 0;\n max-width: 100%;\n box-sizing: border-box;\n}\n\n/* Important: override the global .page-title nowrap for card titles */\n.page-card .page-title {\n white-space: normal;\n overflow-wrap: anywhere;\n word-break: break-word;\n}\n\n/* Keep header content shrinkable in flex layout */\n.card-header,\n.card-title-section {\n min-width: 0;\n width: 100%;\n}\n\n/* Optional but recommended: prevent button row overflow on tiny screens */\n@media (max-width: 767.98px) {\n .show-all-container {\n flex-wrap: wrap;\n }\n}\n\n\n</style>\n"],"names":["_sfc_main","AppLink","PvBadge","mapGetters","pages","a","b","valueA","valueB","comparison","_a","remaining","truncate","field","id","index","newExpandedItems","description","isNil","page","has","getTranslationFor","dateString","date","error","$","_hoisted_1","_hoisted_3","_hoisted_5","_hoisted_7","_hoisted_9","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_16","_hoisted_17","_hoisted_19","_hoisted_20","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_28","_hoisted_29","_hoisted_31","_hoisted_32","_hoisted_34","_hoisted_35","_hoisted_42","_hoisted_44","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_53","_hoisted_54","_hoisted_61","_openBlock","_createElementBlock","_createVNode","_component_dataset_details_feature_header","_ctx","$props","$options","_hoisted_2","_createElementVNode","_createTextVNode","_toDisplayString","_normalizeClass","$data","_hoisted_10","_Fragment","_renderList","$event","_withKeys","_withModifiers","_createBlock","_component_PvBadge","_hoisted_30","_component_app_link","_hoisted_37","_hoisted_39","_hoisted_41","_hoisted_43","_hoisted_52","_hoisted_56","_hoisted_58","_hoisted_60","_hoisted_62","args"],"mappings":"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"}
|
|
@@ -29,6 +29,15 @@ declare const _default: import('vue').DefineComponent<{}, {}, {
|
|
|
29
29
|
type: string;
|
|
30
30
|
fields: string;
|
|
31
31
|
};
|
|
32
|
+
reference_system: {
|
|
33
|
+
type: string;
|
|
34
|
+
fields: string;
|
|
35
|
+
};
|
|
36
|
+
topic_category: {
|
|
37
|
+
type: string;
|
|
38
|
+
fields: string;
|
|
39
|
+
preTransform: (data: any) => any;
|
|
40
|
+
};
|
|
32
41
|
};
|
|
33
42
|
fieldsArray(): string[];
|
|
34
43
|
showMoreVisible(): boolean;
|
|
@@ -22,10 +22,10 @@ const I = {
|
|
|
22
22
|
"getDatasetDescriptionHeight"
|
|
23
23
|
]),
|
|
24
24
|
fieldSchema() {
|
|
25
|
-
return k();
|
|
25
|
+
return k(this.$route.query.locale);
|
|
26
26
|
},
|
|
27
27
|
fieldsArray() {
|
|
28
|
-
return ["catalog", "publisher", "contact_point", "endpoint_url", "access_right", "format"];
|
|
28
|
+
return ["catalog", "publisher", "contact_point", "endpoint_url", "access_right", "format", "reference_system", "topic_category"];
|
|
29
29
|
},
|
|
30
30
|
showMoreVisible() {
|
|
31
31
|
return this.initialHeight > this.restrictedHeight;
|
|
@@ -53,11 +53,11 @@ const I = {
|
|
|
53
53
|
ref: "dsdProperties",
|
|
54
54
|
role: "tablist",
|
|
55
55
|
id: "myTab"
|
|
56
|
-
},
|
|
56
|
+
}, $ = {
|
|
57
57
|
class: "additional-information-overlay",
|
|
58
58
|
ref: "overlay"
|
|
59
59
|
};
|
|
60
|
-
function
|
|
60
|
+
function L(r, t, q, G, s, e) {
|
|
61
61
|
const v = n("dataset-details-feature-header"), _ = n("dataservice-details-property"), w = n("pv-show-more");
|
|
62
62
|
return o(), y("div", M, [
|
|
63
63
|
d("div", N, [
|
|
@@ -76,13 +76,13 @@ function $(r, t, G, j, s, e) {
|
|
|
76
76
|
l(r.$slots, "property-table", {}, () => [
|
|
77
77
|
d("table", F, [
|
|
78
78
|
(o(!0), y(E, null, T(e.fieldsArray, (i, x) => {
|
|
79
|
-
var p, h,
|
|
79
|
+
var p, h, c, f, m, g, u;
|
|
80
80
|
return o(), D(_, {
|
|
81
81
|
name: i,
|
|
82
82
|
translate: (p = e.fieldSchema[i]) == null ? void 0 : p.translate,
|
|
83
83
|
type: (h = e.fieldSchema[i]) == null ? void 0 : h.type,
|
|
84
|
-
propertyFields: (
|
|
85
|
-
track: (
|
|
84
|
+
propertyFields: (c = e.fieldSchema[i]) == null ? void 0 : c.fields,
|
|
85
|
+
track: (f = e.fieldSchema[i]) == null ? void 0 : f.track,
|
|
86
86
|
itemstyles: (m = e.fieldSchema[i]) == null ? void 0 : m.itemstyles,
|
|
87
87
|
preTransform: (g = e.fieldSchema[i]) == null ? void 0 : g.preTransform,
|
|
88
88
|
transform: (u = e.fieldSchema[i]) == null ? void 0 : u.transform,
|
|
@@ -92,7 +92,7 @@ function $(r, t, G, j, s, e) {
|
|
|
92
92
|
], 512)
|
|
93
93
|
], !0),
|
|
94
94
|
t[1] || (t[1] = a()),
|
|
95
|
-
b(d("div",
|
|
95
|
+
b(d("div", $, null, 512), [
|
|
96
96
|
[H, e.showMoreVisible && !s.expanded]
|
|
97
97
|
]),
|
|
98
98
|
t[2] || (t[2] = a()),
|
|
@@ -111,7 +111,7 @@ function $(r, t, G, j, s, e) {
|
|
|
111
111
|
}, null, 8, ["label", "upArrow", "action"])) : A("", !0)
|
|
112
112
|
]);
|
|
113
113
|
}
|
|
114
|
-
const R = /* @__PURE__ */ C(I, [["render",
|
|
114
|
+
const R = /* @__PURE__ */ C(I, [["render", L], ["__scopeId", "data-v-5c339785"]]);
|
|
115
115
|
export {
|
|
116
116
|
R as default
|
|
117
117
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataserviceDetailsProperties.vue.mjs","sources":["../../../lib/datasetDetails/properties/DataserviceDetailsProperties.vue"],"sourcesContent":["<template>\n <div class=\"mt-5 dsd-properties\">\n <div class=\"col-12 mb-2 p-0 dsd-properties-list\">\n <slot name=\"property-header\">\n <dataset-details-feature-header\n :title=\"$t('message.datasetDetails.additionalInfo')\"\n :arrowDown=\"!infoVisible\"\n tag=\"additional-information-toggle\"\n :onClick=\"toggleInfo\"\n />\n </slot>\n <div class=\"position-relative dsd-item additional-information\"\n data-cy=\"additional-information\"\n v-show=\"infoVisible\">\n <slot name=\"property-table-before\"></slot>\n <slot name=\"property-table\">\n <table class=\"table table-borderless table-responsive\" ref=\"dsdProperties\" role=\"tablist\" id=\"myTab\">\n <dataservice-details-property v-for='(name, index) in fieldsArray'\n :name=\"name\"\n :translate=\"fieldSchema[name]?.translate\"\n :type=\"fieldSchema[name]?.type\"\n :propertyFields=\"fieldSchema[name]?.fields\"\n :track=\"fieldSchema[name]?.track\"\n :itemstyles=\"fieldSchema[name]?.itemstyles\"\n :preTransform=\"fieldSchema[name]?.preTransform\"\n :transform=\"fieldSchema[name]?.transform\"\n :key=\"index\"/>\n </table>\n </slot>\n <div class=\"additional-information-overlay\" ref=\"overlay\" v-show=\"showMoreVisible && !expanded\"></div>\n <slot name=\"property-table-after\"></slot>\n </div>\n </div>\n <pv-show-more\n v-if=\"showMoreVisible\"\n :label=\"expanded? $t('message.metadata.showLess') : $t('message.metadata.showMore')\"\n :upArrow=\"expanded\"\n :action=\"toggleExpanded\"\n class=\"row text-primary\"\n />\n </div>\n</template>\n\n<script>\nimport { mapGetters } from \"vuex\";\nimport DataserviceDetailsProperty from \"./DataserviceDetailsProperty\";\nimport { dcatDataserviceSchema } from \"./specification.ts\";\n\nexport default {\n name: \"DataserviceDetailsProperties\",\n components: {\n DataserviceDetailsProperty,\n },\n data() {\n return {\n infoVisible: true,\n initialHeight: 0,\n restrictedHeight: 100,\n expanded: false,\n };\n },\n computed: {\n ...mapGetters('dataserviceDetails', [\n 'getDatasetDescriptionHeight'\n ]),\n fieldSchema() {\n return dcatDataserviceSchema()\n },\n fieldsArray() {\n return ['catalog', 'publisher', 'contact_point', 'endpoint_url', 'access_right', 'format'];\n },\n showMoreVisible() {\n return this.initialHeight > this.restrictedHeight;\n }\n },\n methods: {\n toggleInfo() {\n this.infoVisible = !this.infoVisible;\n },\n toggleExpanded() {\n this.expanded = ! this.expanded;\n this.adaptHeight();\n },\n adaptHeight() {\n this.$refs.dsdProperties.style['flex'] = this.expanded ? \"0 0 100%\": `0 0 ${this.restrictedHeight}px`;\n this.$refs.dsdProperties.style['max-height'] = this.expanded ? \"100%\": `${this.restrictedHeight}px`;\n }\n },\n mounted() {\n this.initialHeight = this.$refs.dsdProperties.clientHeight;\n this.$refs.overlay.style.bottom = (this.$refs.dsdProperties.offsetHeight - this.$refs.dsdProperties.clientHeight) + \"px\";\n if (this.getDatasetDescriptionHeight >= this.initialHeight) {\n this.restrictedHeight = this.getDatasetDescriptionHeight;\n this.toggleExpanded()\n } else if ((this.getDatasetDescriptionHeight >= this.restrictedHeight) && (this.getDatasetDescriptionHeight <= this.initialHeight)) {\n this.restrictedHeight = this.getDatasetDescriptionHeight\n }\n this.adaptHeight();\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.arrow {\n cursor: pointer;\n}\n\n.additional-information-overlay {\n width: 100%;\n height: 100px;\n position: absolute;\n left: 0;\n background: linear-gradient(to bottom, rgba(0,0,0,0) 0, white 100%);\n pointer-events: none;\n}\ntable {\n background: #F5F5F5;\n}\n\n</style>\n"],"names":["_sfc_main","DataserviceDetailsProperty","mapGetters","dcatDataserviceSchema","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","_renderSlot","_ctx","_createVNode","_component_dataset_details_feature_header","$data","$options","_withDirectives","_hoisted_3","_hoisted_4","_Fragment","_renderList","name","index","_createBlock","_component_dataservice_details_property","_a","_b","_c","_d","_e","_f","_g","_hoisted_5","_vShow","_component_pv_show_more"],"mappings":";;;;;;AAgDA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA,IACV,4BAAAC;AAAA,EACD;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,aAAa;AAAA,MACb,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,UAAU;AAAA;EAEb;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,sBAAsB;AAAA,MAClC;AAAA,IACF,CAAC;AAAA,IACD,cAAc;AACZ,aAAOC,EAAsB;AAAA,
|
|
1
|
+
{"version":3,"file":"DataserviceDetailsProperties.vue.mjs","sources":["../../../lib/datasetDetails/properties/DataserviceDetailsProperties.vue"],"sourcesContent":["<template>\n <div class=\"mt-5 dsd-properties\">\n <div class=\"col-12 mb-2 p-0 dsd-properties-list\">\n <slot name=\"property-header\">\n <dataset-details-feature-header\n :title=\"$t('message.datasetDetails.additionalInfo')\"\n :arrowDown=\"!infoVisible\"\n tag=\"additional-information-toggle\"\n :onClick=\"toggleInfo\"\n />\n </slot>\n <div class=\"position-relative dsd-item additional-information\"\n data-cy=\"additional-information\"\n v-show=\"infoVisible\">\n <slot name=\"property-table-before\"></slot>\n <slot name=\"property-table\">\n <table class=\"table table-borderless table-responsive\" ref=\"dsdProperties\" role=\"tablist\" id=\"myTab\">\n <dataservice-details-property v-for='(name, index) in fieldsArray'\n :name=\"name\"\n :translate=\"fieldSchema[name]?.translate\"\n :type=\"fieldSchema[name]?.type\"\n :propertyFields=\"fieldSchema[name]?.fields\"\n :track=\"fieldSchema[name]?.track\"\n :itemstyles=\"fieldSchema[name]?.itemstyles\"\n :preTransform=\"fieldSchema[name]?.preTransform\"\n :transform=\"fieldSchema[name]?.transform\"\n :key=\"index\"/>\n </table>\n </slot>\n <div class=\"additional-information-overlay\" ref=\"overlay\" v-show=\"showMoreVisible && !expanded\"></div>\n <slot name=\"property-table-after\"></slot>\n </div>\n </div>\n <pv-show-more\n v-if=\"showMoreVisible\"\n :label=\"expanded? $t('message.metadata.showLess') : $t('message.metadata.showMore')\"\n :upArrow=\"expanded\"\n :action=\"toggleExpanded\"\n class=\"row text-primary\"\n />\n </div>\n</template>\n\n<script>\nimport { mapGetters } from \"vuex\";\nimport DataserviceDetailsProperty from \"./DataserviceDetailsProperty\";\nimport { dcatDataserviceSchema } from \"./specification.ts\";\n\nexport default {\n name: \"DataserviceDetailsProperties\",\n components: {\n DataserviceDetailsProperty,\n },\n data() {\n return {\n infoVisible: true,\n initialHeight: 0,\n restrictedHeight: 100,\n expanded: false,\n };\n },\n computed: {\n ...mapGetters('dataserviceDetails', [\n 'getDatasetDescriptionHeight'\n ]),\n fieldSchema() {\n return dcatDataserviceSchema(this.$route.query.locale)\n },\n fieldsArray() {\n return ['catalog', 'publisher', 'contact_point', 'endpoint_url', 'access_right', 'format', 'reference_system', 'topic_category'];\n },\n showMoreVisible() {\n return this.initialHeight > this.restrictedHeight;\n }\n },\n methods: {\n toggleInfo() {\n this.infoVisible = !this.infoVisible;\n },\n toggleExpanded() {\n this.expanded = ! this.expanded;\n this.adaptHeight();\n },\n adaptHeight() {\n this.$refs.dsdProperties.style['flex'] = this.expanded ? \"0 0 100%\": `0 0 ${this.restrictedHeight}px`;\n this.$refs.dsdProperties.style['max-height'] = this.expanded ? \"100%\": `${this.restrictedHeight}px`;\n }\n },\n mounted() {\n this.initialHeight = this.$refs.dsdProperties.clientHeight;\n this.$refs.overlay.style.bottom = (this.$refs.dsdProperties.offsetHeight - this.$refs.dsdProperties.clientHeight) + \"px\";\n if (this.getDatasetDescriptionHeight >= this.initialHeight) {\n this.restrictedHeight = this.getDatasetDescriptionHeight;\n this.toggleExpanded()\n } else if ((this.getDatasetDescriptionHeight >= this.restrictedHeight) && (this.getDatasetDescriptionHeight <= this.initialHeight)) {\n this.restrictedHeight = this.getDatasetDescriptionHeight\n }\n this.adaptHeight();\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.arrow {\n cursor: pointer;\n}\n\n.additional-information-overlay {\n width: 100%;\n height: 100px;\n position: absolute;\n left: 0;\n background: linear-gradient(to bottom, rgba(0,0,0,0) 0, white 100%);\n pointer-events: none;\n}\ntable {\n background: #F5F5F5;\n}\n\n</style>\n"],"names":["_sfc_main","DataserviceDetailsProperty","mapGetters","dcatDataserviceSchema","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","_renderSlot","_ctx","_createVNode","_component_dataset_details_feature_header","$data","$options","_withDirectives","_hoisted_3","_hoisted_4","_Fragment","_renderList","name","index","_createBlock","_component_dataservice_details_property","_a","_b","_c","_d","_e","_f","_g","_hoisted_5","_vShow","_component_pv_show_more"],"mappings":"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"}
|
|
@@ -59,16 +59,16 @@ const E = {
|
|
|
59
59
|
case "links":
|
|
60
60
|
e = this.data.map((t) => {
|
|
61
61
|
if (t) {
|
|
62
|
-
const r = typeof t == "string" ? t : t.resource, l = typeof t == "string" ? t : t.label || t.
|
|
62
|
+
const r = typeof t == "string" ? t : t.resource, l = typeof t == "string" ? t : t.label || t.resource;
|
|
63
63
|
return { link: r, label: l };
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
66
|
break;
|
|
67
67
|
case "object":
|
|
68
|
-
e = this.prepareObject(
|
|
68
|
+
e = this.prepareObject(e);
|
|
69
69
|
break;
|
|
70
70
|
case "objects":
|
|
71
|
-
e =
|
|
71
|
+
e = e.map((t) => this.prepareObject(t));
|
|
72
72
|
break;
|
|
73
73
|
case "translation":
|
|
74
74
|
e = _(e, this.$route.query.locale, ["en"]);
|
|
@@ -163,7 +163,7 @@ function H(e, t, r, l, m, a) {
|
|
|
163
163
|
])) : u("", !0)
|
|
164
164
|
])) : u("", !0);
|
|
165
165
|
}
|
|
166
|
-
const at = /* @__PURE__ */ B(E, [["render", H], ["__scopeId", "data-v-
|
|
166
|
+
const at = /* @__PURE__ */ B(E, [["render", H], ["__scopeId", "data-v-bead0b56"]]);
|
|
167
167
|
export {
|
|
168
168
|
at as default
|
|
169
169
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataserviceDetailsProperty.vue.mjs","sources":["../../../lib/datasetDetails/properties/DataserviceDetailsProperty.vue"],"sourcesContent":["<template>\n <tr v-if=\"show\">\n <td class=\"w-25 text-break font-weight-bold\">\n <tooltip :title=\"labelDisplay[0]\">\n {{ labelDisplay[1] }}\n </tooltip>\n </td>\n <td\n v-if=\"\n ['string', 'date', 'number', 'first:number', 'translation'].includes(\n type\n )\n \"\n >\n {{ value }}\n </td>\n <td v-if=\"type === 'uri'\">\n <a :href=\"value\">{{ value }}</a>\n </td>\n <td v-if=\"type === 'links'\">\n <div v-for=\"(v, i) of value\" :key=\"i\">\n <div v-if=\"name === 'identifiers'\">{{ v.label }}</div>\n <app-link\n v-if=\"!isNil(v) && v.link && name !== 'languages' && name != 'identifiers'\"\n :to=\"v.link\"\n >{{ truncate(v.label, 75) }}</app-link\n >\n <div v-if=\"(!isNil(v) && !v.link) || name === 'languages' && name != 'identifiers'\">\n {{ truncate(v.label, 75) }}\n </div>\n </div>\n </td>\n <td v-if=\"type === 'object'\">\n <values-list\n :values=\"value\"\n :interpretTranslateKey=\"interpretTranslateKey\"\n :itemstyles=\"itemstyles\"\n />\n </td>\n <td v-if=\"type === 'objects'\">\n <div v-for=\"(item, i) of value\" :key=\"i\">\n <values-list\n :values=\"item\"\n :interpretTranslateKey=\"interpretTranslateKey\"\n :itemstyles=\"itemstyles\"\n />\n </div>\n </td>\n </tr>\n</template>\n\n<script>\nimport AppLink from \"../../widgets/AppLink\";\nimport Tooltip from \"../../widgets/Tooltip\";\nimport { isNil, isArray } from \"lodash\";\nimport { showByType } from \"./typeCheckers.ts\";\nimport ValuesList from \"./ValuesList\";\nimport { mapGetters } from \"vuex\";\nimport dateFilters from \"../../filters/dateFilters.ts\";\nimport { truncate, getTranslationFor } from \"../../utils/helpers\";\n\nexport default {\n name: \"DataserviceDetailsProperty\",\n props: {\n type: String,\n translate: {\n type: [String, Array],\n default: undefined,\n },\n name: String,\n propertyFields: String,\n itemstyles: String,\n track: String,\n preTransform: Function,\n transform: Function,\n },\n components: {\n Tooltip,\n AppLink,\n ValuesList,\n },\n computed: {\n ...mapGetters(\"dataserviceDetails\", [\"getProperty\"]),\n labelDisplay() {\n const prefix = [\"message.tooltip.datasetDetails\", \"message.metadata\"];\n let translateItems;\n if (this.translate) {\n translateItems = this.translate.split(\",\");\n if (translateItems.length === 1) {\n translateItems.push(translateItems[0]);\n }\n } else {\n translateItems = [this.name, this.name];\n }\n return translateItems.map((item, i) =>\n this.interpretTranslateKey(item, prefix[i])\n );\n },\n data() {\n let d = this.getProperty(this.name) || [];\n if (this.name === \"languages\" && Array.isArray(d)) {\n d = [...d].sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n }\n return d;\n },\n preparedFields() {\n return this.propertyFields?.split(\",\").map((field) => field.split(\":\"));\n },\n preparedTrack() {\n return this.track?.split(\",\");\n },\n value() {\n let v = this.data;\n if (this.preTransform) v = this.preTransform(v);\n switch (this.type) {\n case \"date\":\n v = dateFilters.formatEU(v);\n break;\n case \"links\":\n v = this.data.map((item) => {\n if (item) {\n const link = typeof item === \"string\" ? item : item.resource;\n const label =\n typeof item === \"string\"\n ? item\n : item.label || item.id || item.resource;\n return { link, label };\n }\n });\n break;\n case \"object\":\n v = this.prepareObject(this.data);\n break;\n case \"objects\":\n v = this.data.map((item) => {\n return this.prepareObject(item);\n });\n break;\n case \"translation\":\n v = getTranslationFor(v, this.$route.query.locale, [\"en\"]);\n break;\n default:\n if (this.type.startsWith(\"first\")) {\n v = this.data[0];\n }\n }\n if (this.transform) v = this.transform(v);\n return v;\n },\n show() {\n return showByType(this.type, this.data);\n },\n },\n methods: {\n isNil,\n isArray,\n truncate,\n getTranslationFor,\n dateValue() {\n return dateFilters.formatEU(this.value);\n },\n prepareObject(object) {\n let keys = this.preparedFields ?? Object.keys(object).map((key) => [key]);\n keys = keys.filter((key) => !isNil(object[key[0]]));\n return keys.map((key) => {\n let value = object[key[0]];\n if (!isArray(value)) value = [value];\n const result = { key: key[0], value };\n if (key[1] !== undefined) result.type = key[1];\n if (key[2] !== undefined) result.translation = key[2];\n return result;\n });\n },\n interpretTranslateKey(key, prefix) {\n if (key === \"\") return \"\";\n if (key.startsWith(\"/\"))\n return `${this.i18n.global.t(key.substring(1))}:`;\n if (key.startsWith(\"'\")) return key.substring(1, key.length - 1);\n return `${this.i18n.global.t(`${prefix}.${key}`)}:`;\n },\n },\n};\n</script>\n\n<style scoped>\ntr {\n width: 100%;\n}\n.w-25 {\n min-width: 160px;\n}\n</style>\n"],"names":["_sfc_main","Tooltip","AppLink","ValuesList","mapGetters","prefix","translateItems","item","i","d","a","b","_a","field","v","dateFilters","link","label","getTranslationFor","showByType","isNil","isArray","truncate","object","keys","key","value","result","_hoisted_2","$options","_createElementBlock","_hoisted_1","_createElementVNode","_createVNode","_component_tooltip","$props","_openBlock","_hoisted_4","_hoisted_5","_hoisted_6","_Fragment","_renderList","_hoisted_7","_toDisplayString","_createBlock","_component_app_link","_hoisted_8","_hoisted_9","_component_values_list","_hoisted_10"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataserviceDetailsProperty.vue.mjs","sources":["../../../lib/datasetDetails/properties/DataserviceDetailsProperty.vue"],"sourcesContent":["<template>\n <tr v-if=\"show\">\n <td class=\"w-25 text-break font-weight-bold\">\n <tooltip :title=\"labelDisplay[0]\">\n {{ labelDisplay[1] }}\n </tooltip>\n </td>\n <td\n v-if=\"\n ['string', 'date', 'number', 'first:number', 'translation'].includes(\n type\n )\n \"\n >\n {{ value }}\n </td>\n <td v-if=\"type === 'uri'\">\n <a :href=\"value\">{{ value }}</a>\n </td>\n <td v-if=\"type === 'links'\">\n <div v-for=\"(v, i) of value\" :key=\"i\">\n <div v-if=\"name === 'identifiers'\">{{ v.label }}</div>\n <app-link\n v-if=\"!isNil(v) && v.link && name !== 'languages' && name != 'identifiers'\"\n :to=\"v.link\"\n >{{ truncate(v.label, 75) }}</app-link\n >\n <div v-if=\"(!isNil(v) && !v.link) || name === 'languages' && name != 'identifiers'\">\n {{ truncate(v.label, 75) }}\n </div>\n </div>\n </td>\n <td v-if=\"type === 'object'\">\n <values-list\n :values=\"value\"\n :interpretTranslateKey=\"interpretTranslateKey\"\n :itemstyles=\"itemstyles\"\n />\n </td>\n <td v-if=\"type === 'objects'\">\n <div v-for=\"(item, i) of value\" :key=\"i\">\n <values-list\n :values=\"item\"\n :interpretTranslateKey=\"interpretTranslateKey\"\n :itemstyles=\"itemstyles\"\n />\n </div>\n </td>\n </tr>\n</template>\n\n<script>\nimport AppLink from \"../../widgets/AppLink\";\nimport Tooltip from \"../../widgets/Tooltip\";\nimport { isNil, isArray } from \"lodash\";\nimport { showByType } from \"./typeCheckers.ts\";\nimport ValuesList from \"./ValuesList\";\nimport { mapGetters } from \"vuex\";\nimport dateFilters from \"../../filters/dateFilters.ts\";\nimport { truncate, getTranslationFor } from \"../../utils/helpers\";\n\nexport default {\n name: \"DataserviceDetailsProperty\",\n props: {\n type: String,\n translate: {\n type: [String, Array],\n default: undefined,\n },\n name: String,\n propertyFields: String,\n itemstyles: String,\n track: String,\n preTransform: Function,\n transform: Function,\n },\n components: {\n Tooltip,\n AppLink,\n ValuesList,\n },\n computed: {\n ...mapGetters(\"dataserviceDetails\", [\"getProperty\"]),\n labelDisplay() {\n const prefix = [\"message.tooltip.datasetDetails\", \"message.metadata\"];\n let translateItems;\n if (this.translate) {\n translateItems = this.translate.split(\",\");\n if (translateItems.length === 1) {\n translateItems.push(translateItems[0]);\n }\n } else {\n translateItems = [this.name, this.name];\n }\n return translateItems.map((item, i) =>\n this.interpretTranslateKey(item, prefix[i])\n );\n },\n data() {\n let d = this.getProperty(this.name) || [];\n if (this.name === \"languages\" && Array.isArray(d)) {\n d = [...d].sort((a, b) => {\n if (a.id < b.id) return -1;\n if (a.id > b.id) return 1;\n return 0;\n });\n }\n return d;\n },\n preparedFields() {\n return this.propertyFields?.split(\",\").map((field) => field.split(\":\"));\n },\n preparedTrack() {\n return this.track?.split(\",\");\n },\n value() {\n let v = this.data;\n if (this.preTransform) v = this.preTransform(v);\n switch (this.type) {\n case \"date\":\n v = dateFilters.formatEU(v);\n break;\n case \"links\":\n v = this.data.map((item) => {\n if (item) {\n const link = typeof item === \"string\" ? item : item.resource;\n const label =\n typeof item === \"string\"\n ? item\n : item.label || item.resource;\n return { link, label };\n }\n });\n break;\n case \"object\":\n v = this.prepareObject(v);\n break;\n case \"objects\":\n v = v.map((item) => {\n return this.prepareObject(item);\n });\n break;\n case \"translation\":\n v = getTranslationFor(v, this.$route.query.locale, [\"en\"]);\n break;\n default:\n if (this.type.startsWith(\"first\")) {\n v = this.data[0];\n }\n }\n if (this.transform) v = this.transform(v);\n return v;\n },\n show() {\n return showByType(this.type, this.data);\n },\n },\n methods: {\n isNil,\n isArray,\n truncate,\n getTranslationFor,\n dateValue() {\n return dateFilters.formatEU(this.value);\n },\n prepareObject(object) {\n let keys = this.preparedFields ?? Object.keys(object).map((key) => [key]);\n keys = keys.filter((key) => !isNil(object[key[0]]));\n return keys.map((key) => {\n let value = object[key[0]];\n if (!isArray(value)) value = [value];\n const result = { key: key[0], value };\n if (key[1] !== undefined) result.type = key[1];\n if (key[2] !== undefined) result.translation = key[2];\n return result;\n });\n },\n interpretTranslateKey(key, prefix) {\n if (key === \"\") return \"\";\n if (key.startsWith(\"/\"))\n return `${this.i18n.global.t(key.substring(1))}:`;\n if (key.startsWith(\"'\")) return key.substring(1, key.length - 1);\n return `${this.i18n.global.t(`${prefix}.${key}`)}:`;\n },\n },\n};\n</script>\n\n<style scoped>\ntr {\n width: 100%;\n}\n\n.w-25 {\n min-width: 160px;\n}\n</style>\n"],"names":["_sfc_main","Tooltip","AppLink","ValuesList","mapGetters","prefix","translateItems","item","i","d","a","b","_a","field","v","dateFilters","link","label","getTranslationFor","showByType","isNil","isArray","truncate","object","keys","key","value","result","_hoisted_2","$options","_createElementBlock","_hoisted_1","_createElementVNode","_createVNode","_component_tooltip","$props","_openBlock","_hoisted_4","_hoisted_5","_hoisted_6","_Fragment","_renderList","_hoisted_7","_toDisplayString","_createBlock","_component_app_link","_hoisted_8","_hoisted_9","_component_values_list","_hoisted_10"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import f from "../../widgets/AppLink.vue.mjs";
|
|
2
2
|
import { truncate as p, removeMailtoOrTel as b } from "../../utils/helpers.mjs";
|
|
3
3
|
import _ from "../../filters/dateFilters.mjs";
|
|
4
|
-
import { resolveComponent as C, openBlock as a, createElementBlock as n, Fragment as y, renderList as c, normalizeStyle as
|
|
4
|
+
import { resolveComponent as C, openBlock as a, createElementBlock as n, Fragment as y, renderList as c, normalizeStyle as x, normalizeClass as m, createElementVNode as h, toDisplayString as u, createTextVNode as k, createBlock as w, withCtx as V } from "vue";
|
|
5
5
|
import "./ValuesList.vue2.mjs";
|
|
6
6
|
import E from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
7
7
|
const N = {
|
|
@@ -23,7 +23,7 @@ const N = {
|
|
|
23
23
|
},
|
|
24
24
|
getLabel(e) {
|
|
25
25
|
const t = "message.metadata";
|
|
26
|
-
return
|
|
26
|
+
return ["name", "label", "id"].includes(e.key.toLowerCase()) ? "" : typeof e.translation == "string" ? this.interpretTranslateKey(e.translation, t) : `${this.i18n.global.t(`${t}.${e.key}`)}:`;
|
|
27
27
|
},
|
|
28
28
|
isLink(e) {
|
|
29
29
|
var g;
|
|
@@ -31,7 +31,7 @@ const N = {
|
|
|
31
31
|
return ["homepage", "resource"].includes(t) || s === "link" || s === "link_blank";
|
|
32
32
|
},
|
|
33
33
|
shouldHideField(e) {
|
|
34
|
-
return ["homepage", "resource"].includes(e.key.toLowerCase()) && this.hasNameOrLabel();
|
|
34
|
+
return ["homepage", "resource", "id"].includes(e.key.toLowerCase()) && this.hasNameOrLabel();
|
|
35
35
|
},
|
|
36
36
|
hasNameOrLabel() {
|
|
37
37
|
return this.values.some((e) => ["name", "label"].includes(e.key.toLowerCase()));
|
|
@@ -61,21 +61,21 @@ const N = {
|
|
|
61
61
|
this.track && this.track.includes(s) && this.$emit("track-link", e, "link");
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
},
|
|
64
|
+
}, v = { class: "dsd-properties-inner-label" }, F = { class: "dsd-properties-inner-label" }, T = ["href", "target", "rel", "onClick"], U = { class: "dsd-properties-inner-label" }, O = { key: 0 }, A = ["href", "target", "rel"];
|
|
65
65
|
function B(e, t, s, g, I, r) {
|
|
66
66
|
const L = C("app-link");
|
|
67
67
|
return a(), n("div", null, [
|
|
68
68
|
(a(!0), n(y, null, c(s.values, (l, o) => (a(), n("div", {
|
|
69
69
|
key: o,
|
|
70
|
-
style:
|
|
70
|
+
style: x(s.itemstyles)
|
|
71
71
|
}, [
|
|
72
72
|
l.key === "email" ? (a(), n("div", {
|
|
73
73
|
key: 0,
|
|
74
74
|
class: m({ "mb-1": o < s.values.length })
|
|
75
75
|
}, [
|
|
76
|
-
h("span",
|
|
76
|
+
h("span", v, u(r.getLabel(l)), 1),
|
|
77
77
|
t[0] || (t[0] = k()),
|
|
78
|
-
(a(!0), n(y, null, c(l.value, (i, d) => (a(),
|
|
78
|
+
(a(!0), n(y, null, c(l.value, (i, d) => (a(), w(L, {
|
|
79
79
|
key: d,
|
|
80
80
|
to: `mailto:${r.removeMailtoOrTel(i)}`
|
|
81
81
|
}, {
|
|
@@ -87,11 +87,14 @@ function B(e, t, s, g, I, r) {
|
|
|
87
87
|
], 2)) : l.key === "identifier" ? (a(), n("div", {
|
|
88
88
|
key: 1,
|
|
89
89
|
class: m({ "mb-1": o < s.values.length })
|
|
90
|
-
}, u(r.getLabel(l)) + " " + u(l.value[o]), 3)) : r.
|
|
90
|
+
}, u(r.getLabel(l)) + " " + u(l.value[o]), 3)) : r.shouldHideField(l) ? (a(), n("div", {
|
|
91
91
|
key: 2,
|
|
92
92
|
class: m({ "mb-1": o < s.values.length })
|
|
93
|
+
}, null, 2)) : r.isLink(l) ? (a(), n("div", {
|
|
94
|
+
key: 3,
|
|
95
|
+
class: m({ "mb-1": o < s.values.length })
|
|
93
96
|
}, [
|
|
94
|
-
h("span",
|
|
97
|
+
h("span", F, u(r.getLabel(l)), 1),
|
|
95
98
|
t[2] || (t[2] = k()),
|
|
96
99
|
(a(!0), n(y, null, c(l.value, (i, d) => (a(), n("a", {
|
|
97
100
|
key: d,
|
|
@@ -103,10 +106,7 @@ function B(e, t, s, g, I, r) {
|
|
|
103
106
|
k(u(r.displayValue(i, l.type)) + " ", 1),
|
|
104
107
|
t[1] || (t[1] = h("span", { class: "external-link-icon" }, null, -1))
|
|
105
108
|
], 8, T))), 128))
|
|
106
|
-
], 2)) :
|
|
107
|
-
key: 3,
|
|
108
|
-
class: m({ "mb-1": o < s.values.length })
|
|
109
|
-
}, null, 2)) : (a(), n("div", {
|
|
109
|
+
], 2)) : (a(), n("div", {
|
|
110
110
|
key: 4,
|
|
111
111
|
class: m({ "mb-1": o < s.values.length })
|
|
112
112
|
}, [
|
|
@@ -127,7 +127,7 @@ function B(e, t, s, g, I, r) {
|
|
|
127
127
|
], 4))), 128))
|
|
128
128
|
]);
|
|
129
129
|
}
|
|
130
|
-
const j = /* @__PURE__ */ E(N, [["render", B], ["__scopeId", "data-v-
|
|
130
|
+
const j = /* @__PURE__ */ E(N, [["render", B], ["__scopeId", "data-v-d46de045"]]);
|
|
131
131
|
export {
|
|
132
132
|
j as default
|
|
133
133
|
};
|