geonetwork-ui 2.2.0-dev.81737006 → 2.2.0-dev.95201f8f
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/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +63 -0
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +11 -2
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +6 -3
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +3 -1
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +7 -4
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +1 -1
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/index.mjs +3 -1
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +17 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +12 -6
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +7 -3
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +13 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
- package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +2 -2
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +2 -2
- package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
- package/esm2022/translations/de.json +101 -87
- package/esm2022/translations/en.json +34 -20
- package/esm2022/translations/es.json +14 -0
- package/esm2022/translations/fr.json +18 -4
- package/esm2022/translations/it.json +26 -12
- package/esm2022/translations/nl.json +14 -0
- package/esm2022/translations/pt.json +14 -0
- package/fesm2022/geonetwork-ui.mjs +547 -184
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/feature-map.module.d.ts +15 -12
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +2 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +2 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +13 -11
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +1 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.html +55 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.ts +63 -0
- package/src/libs/feature/map/src/lib/feature-map.module.ts +6 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +9 -3
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +6 -0
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +12 -4
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -0
- package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.ts +1 -1
- package/src/libs/ui/elements/src/index.ts +2 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +29 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +264 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.html +1 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.ts +16 -0
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +1 -1
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +59 -32
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +5 -0
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
- package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +4 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +6 -0
- package/src/libs/ui/inputs/src/lib/button/button.component.css +1 -1
- package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +8 -3
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.css +1 -0
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
- package/translations/de.json +101 -87
- package/translations/en.json +34 -20
- package/translations/es.json +14 -0
- package/translations/fr.json +18 -4
- package/translations/it.json +26 -12
- package/translations/nl.json +14 -0
- package/translations/pt.json +14 -0
- package/translations/sk.json +14 -0
|
@@ -32,7 +32,7 @@ import WMTS, { optionsFromCapabilities } from 'ol/source/WMTS';
|
|
|
32
32
|
import { defaults, DragPan, MouseWheelZoom } from 'ol/interaction';
|
|
33
33
|
import { mouseOnly, noModifierKeys, primaryAction, platformModifierKeyOnly } from 'ol/events/condition';
|
|
34
34
|
import WMTSCapabilities from 'ol/format/WMTSCapabilities';
|
|
35
|
-
import { WmsEndpoint, sharedFetch, useCache
|
|
35
|
+
import { WmsEndpoint, WfsEndpoint, sharedFetch, useCache } from '@camptocamp/ogc-client';
|
|
36
36
|
import chroma from 'chroma-js';
|
|
37
37
|
import { register, fromEPSGCode } from 'ol/proj/proj4';
|
|
38
38
|
import proj4 from 'proj4/dist/proj4';
|
|
@@ -58,6 +58,7 @@ import * as i1$4 from '@angular/material/progress-spinner';
|
|
|
58
58
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
59
59
|
import * as i3 from '@angular/material/tooltip';
|
|
60
60
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
61
|
+
import { marked } from 'marked';
|
|
61
62
|
import EmblaCarousel from 'embla-carousel';
|
|
62
63
|
import * as i1$6 from '@angular/cdk/overlay';
|
|
63
64
|
import { CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
|
|
@@ -72,6 +73,7 @@ import { MatFormFieldModule } from '@angular/material/form-field';
|
|
|
72
73
|
import * as i3$2 from '@angular/material/datepicker';
|
|
73
74
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
74
75
|
import { MatInputModule } from '@angular/material/input';
|
|
76
|
+
import * as basicLightbox from 'basiclightbox';
|
|
75
77
|
import * as i1$8 from '@ngrx/effects';
|
|
76
78
|
import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
|
|
77
79
|
import tippy from 'tippy.js';
|
|
@@ -16687,20 +16689,20 @@ var de = {
|
|
|
16687
16689
|
"chart.type.line": "Liniendiagramm",
|
|
16688
16690
|
"chart.type.lineSmooth": "Geglättes Liniendiagramm",
|
|
16689
16691
|
"chart.type.pie": "Kreisdiagramm",
|
|
16690
|
-
"dashboard.labels.mySpace": "",
|
|
16691
|
-
"dashboard.records.all": "",
|
|
16692
|
-
"dashboard.records.myDraft": "",
|
|
16693
|
-
"dashboard.records.myLibrary": "",
|
|
16694
|
-
"dashboard.records.myOrg": "",
|
|
16695
|
-
"dashboard.records.myRecords": "",
|
|
16696
|
-
"dashboard.records.noRecord": "",
|
|
16697
|
-
"dashboard.records.noUser": "",
|
|
16698
|
-
"dashboard.records.publishedRecords": "",
|
|
16699
|
-
"dashboard.records.search": "",
|
|
16700
|
-
"dashboard.records.userDetail": "",
|
|
16701
|
-
"dashboard.records.userEmail": "",
|
|
16702
|
-
"dashboard.records.username": "",
|
|
16703
|
-
"dashboard.records.users": "",
|
|
16692
|
+
"dashboard.labels.mySpace": "Mein Bereich",
|
|
16693
|
+
"dashboard.records.all": "Katalog",
|
|
16694
|
+
"dashboard.records.myDraft": "Meine Entwürfe",
|
|
16695
|
+
"dashboard.records.myLibrary": "Meine Bibliothek",
|
|
16696
|
+
"dashboard.records.myOrg": "Meine Organisation",
|
|
16697
|
+
"dashboard.records.myRecords": "Meine Datensätze",
|
|
16698
|
+
"dashboard.records.noRecord": "Kein Datensatz für diese Organisation",
|
|
16699
|
+
"dashboard.records.noUser": "Keine Benutzer für diese Organisation",
|
|
16700
|
+
"dashboard.records.publishedRecords": "{count, plural, =1{veröffentlichter Datensatz} other{veröffentlichte Datensätze}}",
|
|
16701
|
+
"dashboard.records.search": "Suche nach \"{searchText}\"",
|
|
16702
|
+
"dashboard.records.userDetail": "Name",
|
|
16703
|
+
"dashboard.records.userEmail": "E-Mail",
|
|
16704
|
+
"dashboard.records.username": "Benutzername",
|
|
16705
|
+
"dashboard.records.users": "{count, plural, =1{Benutzer} other{Benutzer}}",
|
|
16704
16706
|
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Dateiformat-Erkennung",
|
|
16705
16707
|
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Sammeln von Datensatzinformationen",
|
|
16706
16708
|
"datafeeder.analysisProgressBar.illustration.samplingData": "Datenauswahl",
|
|
@@ -16714,7 +16716,7 @@ var de = {
|
|
|
16714
16716
|
"datafeeder.form.datepicker": "Wissen Sie, wann der Datensatz erstellt wurde?",
|
|
16715
16717
|
"datafeeder.form.description": "Beschreiben Sie abschließend den Prozess, der zur Erstellung des Datensatzes verwendet wurde",
|
|
16716
16718
|
"datafeeder.form.dropdown": "Für welche Skala wurde er erstellt?",
|
|
16717
|
-
"datafeeder.form.tags": "Wählen Sie einen oder mehrere
|
|
16719
|
+
"datafeeder.form.tags": "Wählen Sie einen oder mehrere Tage aus, die zu Ihrem Datensatz passen",
|
|
16718
16720
|
"datafeeder.form.title": "Geben Sie Ihrem Datensatz den besten Titel",
|
|
16719
16721
|
"datafeeder.formsPage.title": "Erzählen Sie uns mehr über Ihren Datensatz",
|
|
16720
16722
|
"datafeeder.month.april": "April",
|
|
@@ -16729,16 +16731,16 @@ var de = {
|
|
|
16729
16731
|
"datafeeder.month.november": "November",
|
|
16730
16732
|
"datafeeder.month.october": "Oktober",
|
|
16731
16733
|
"datafeeder.month.september": "September",
|
|
16732
|
-
"datafeeder.publish.hint": "Sie können diese Seite sicher verlassen. Sie werden benachrichtigt, wenn der Vorgang abgeschlossen ist",
|
|
16733
|
-
"datafeeder.publish.illustration.title": "Ein weiterer Datensatz zum Veröffentlichen?",
|
|
16734
|
+
"datafeeder.publish.hint": "Sie können diese Seite sicher verlassen. Sie werden benachrichtigt, wenn der Vorgang abgeschlossen ist.",
|
|
16735
|
+
"datafeeder.publish.illustration.title": "Ein weiterer Datensatz \n zum Veröffentlichen?",
|
|
16734
16736
|
"datafeeder.publish.subtitle": "Das Veröffentlichen kann einige Minuten dauern.",
|
|
16735
|
-
"datafeeder.publish.title": "Vielen Dank! Ihr Datensatz wird veröffentlicht",
|
|
16737
|
+
"datafeeder.publish.title": "Vielen Dank! \n Ihr Datensatz wird veröffentlicht",
|
|
16736
16738
|
"datafeeder.publish.upload": "Jetzt hochladen",
|
|
16737
16739
|
"datafeeder.publishSuccess.geonetworkRecord": "Metadatensatz",
|
|
16738
16740
|
"datafeeder.publishSuccess.illustration.title": "Erledigt, alles ist gut!",
|
|
16739
16741
|
"datafeeder.publishSuccess.mapViewer": "Kartenviewer",
|
|
16740
16742
|
"datafeeder.publishSuccess.subtitle": "Zeigen Sie Ihre Daten an in:",
|
|
16741
|
-
"datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! Ihr Datensatz wurde veröffentlicht",
|
|
16743
|
+
"datafeeder.publishSuccess.title": "Herzlichen Glückwunsch! \n Ihr Datensatz wurde veröffentlicht",
|
|
16742
16744
|
"datafeeder.publishSuccess.uploadAnotherData": "Ein weiteren Datensatz hochladen",
|
|
16743
16745
|
"datafeeder.summarizePage.illustration": "Kein Fehler? Los geht's!",
|
|
16744
16746
|
"datafeeder.summarizePage.previous": "Zurück",
|
|
@@ -16746,11 +16748,11 @@ var de = {
|
|
|
16746
16748
|
"datafeeder.summarizePage.title": "Sie sind fast fertig...",
|
|
16747
16749
|
"datafeeder.upload.acceptedFormats": "Akzeptierte Dateiformate:",
|
|
16748
16750
|
"datafeeder.upload.checkboxLabel": "Ich besitze die Rechte zur Veröffentlichung dieses Datensatzes",
|
|
16749
|
-
"datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen
|
|
16751
|
+
"datafeeder.upload.error.subtitle.analysis": "Überprüfen Sie, ob die Datei einen gültigen geografischen Datensatz enthält",
|
|
16750
16752
|
"datafeeder.upload.error.subtitle.cantOpenFile": "Bitte überprüfen Sie, ob die Datei gültig ist",
|
|
16751
16753
|
"datafeeder.upload.error.subtitle.fileFormat": "Beachten Sie: Nur SHP-Dateien",
|
|
16752
|
-
"datafeeder.upload.error.subtitle.fileSize": "Beachten Sie:
|
|
16753
|
-
"datafeeder.upload.error.title.analysis": "Fehler
|
|
16754
|
+
"datafeeder.upload.error.subtitle.fileSize": "Beachten Sie: Maximale Dateigröße {size} MB",
|
|
16755
|
+
"datafeeder.upload.error.title.analysis": "Fehler während der Datensatzanalyse",
|
|
16754
16756
|
"datafeeder.upload.error.title.cantOpenFile": "Fehler beim Öffnen der Datei",
|
|
16755
16757
|
"datafeeder.upload.error.title.fileFormat": "Das ausgewählte Dateiformat wird nicht unterstützt",
|
|
16756
16758
|
"datafeeder.upload.error.title.fileHasntSelected": "Keine Datei ausgewählt",
|
|
@@ -16758,19 +16760,19 @@ var de = {
|
|
|
16758
16760
|
"datafeeder.upload.error.title.noRightsToSendData": "Sie dürfen diesen Datensatz nicht veröffentlichen",
|
|
16759
16761
|
"datafeeder.upload.illustration.enrichment": "Anreicherung",
|
|
16760
16762
|
"datafeeder.upload.illustration.import": "Import",
|
|
16761
|
-
"datafeeder.upload.illustration.title": "Das Hinzufügen von Daten war noch nie
|
|
16763
|
+
"datafeeder.upload.illustration.title": "Das Hinzufügen von Daten \n war noch nie so einfach",
|
|
16762
16764
|
"datafeeder.upload.illustration.validation": "Validierung",
|
|
16763
|
-
"datafeeder.upload.illustration.verification": "
|
|
16765
|
+
"datafeeder.upload.illustration.verification": "Überprüfung",
|
|
16764
16766
|
"datafeeder.upload.inputLabel": "Importieren Sie Ihre Datei",
|
|
16765
16767
|
"datafeeder.upload.maxFileSize": "Maximale Dateigröße beträgt {size} MB",
|
|
16766
16768
|
"datafeeder.upload.title": "Laden Sie Ihren Datensatz hoch",
|
|
16767
16769
|
"datafeeder.upload.uploadButton": "Hochladen",
|
|
16768
|
-
"datafeeder.validation.encoding": "
|
|
16770
|
+
"datafeeder.validation.encoding": "Codierung",
|
|
16769
16771
|
"datafeeder.validation.extent.title": "Hier ist der Datensatzumfang",
|
|
16770
16772
|
"datafeeder.validation.extent.title.unknown": "Das Projektionssystem ist unbekannt",
|
|
16771
16773
|
"datafeeder.validation.projection": "Raumbezugssystem:",
|
|
16772
|
-
"datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem",
|
|
16773
|
-
"datafeeder.validation.sample.title": "Und eine
|
|
16774
|
+
"datafeeder.validation.projection.unknown": "Wählen Sie ein Raumbezugssystem aus",
|
|
16775
|
+
"datafeeder.validation.sample.title": "Und eine Beispielentität aus dem Datensatz",
|
|
16774
16776
|
"datafeeder.wizard.emptyRequiredValuesMessage": "Bitte füllen Sie die obligatorischen Felder aus",
|
|
16775
16777
|
"datafeeder.wizardSummarize.createdAt": "Erstellt am",
|
|
16776
16778
|
"datafeeder.wizardSummarize.scale": "Maßstab",
|
|
@@ -16780,19 +16782,20 @@ var de = {
|
|
|
16780
16782
|
"datahub.header.news": "Startseite",
|
|
16781
16783
|
"datahub.header.organisations": "Organisationen",
|
|
16782
16784
|
"datahub.header.popularRecords": "Die beliebtesten",
|
|
16783
|
-
"datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten
|
|
16784
|
-
"datahub.news.contact.contactus": "",
|
|
16785
|
-
"datahub.news.contact.html": "",
|
|
16786
|
-
"datahub.news.contact.title": "",
|
|
16785
|
+
"datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten meiner Organisation</div>",
|
|
16786
|
+
"datahub.news.contact.contactus": "Kontaktieren Sie uns",
|
|
16787
|
+
"datahub.news.contact.html": "<p>Brauchen Sie Daten, die derzeit nicht auf der Plattform vorhanden sind?</p><p>Unsere Teams stehen Ihnen zur Verfügung.</p>",
|
|
16788
|
+
"datahub.news.contact.title": "Ein spezielles Bedürfnis?",
|
|
16787
16789
|
"datahub.news.feed": "Nachrichtenfeed",
|
|
16788
16790
|
"datahub.news.figures": "Indikatoren",
|
|
16789
|
-
"datahub.
|
|
16791
|
+
"datahub.record.addToFavorites": "Zu Favoriten hinzufügen",
|
|
16792
|
+
"datahub.search.back": "Zurück",
|
|
16790
16793
|
"datahub.search.filter.all": "Alle",
|
|
16791
|
-
"datahub.search.filter.generatedByWfs": "Generiert durch API",
|
|
16794
|
+
"datahub.search.filter.generatedByWfs": "Generiert durch eine API",
|
|
16792
16795
|
"datahub.search.filter.others": "Andere",
|
|
16793
16796
|
"dataset.error.http": "Die Daten konnten aufgrund eines HTTP-Fehlers nicht geladen werden: \"{ info }\"",
|
|
16794
16797
|
"dataset.error.network": "Die Daten konnten aufgrund eines Netzwerkfehlers oder CORS-Beschränkungen nicht geladen werden: \"{ info }\"",
|
|
16795
|
-
"dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht
|
|
16798
|
+
"dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht gelesen werden: \"{ info }\"",
|
|
16796
16799
|
"dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
|
|
16797
16800
|
"dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
|
|
16798
16801
|
"domain.record.status.completed": "Abgeschlossen",
|
|
@@ -16800,18 +16803,18 @@ var de = {
|
|
|
16800
16803
|
"domain.record.status.ongoing": "Kontinuierliche Aktualisierung",
|
|
16801
16804
|
"domain.record.status.removed": "Entfernt",
|
|
16802
16805
|
"domain.record.status.under_development": "In Erstellung",
|
|
16803
|
-
"domain.record.updateFrequency.asNeeded": "
|
|
16804
|
-
"domain.record.updateFrequency.continual": "
|
|
16806
|
+
"domain.record.updateFrequency.asNeeded": "Nach Bedarf",
|
|
16807
|
+
"domain.record.updateFrequency.continual": "Fortlaufend",
|
|
16805
16808
|
"domain.record.updateFrequency.day": "{count, plural, =0{0} one{Ein} other{{count}}} mal am Tag",
|
|
16806
|
-
"domain.record.updateFrequency.irregular": "
|
|
16809
|
+
"domain.record.updateFrequency.irregular": "Unregelmäßig",
|
|
16807
16810
|
"domain.record.updateFrequency.month": "{count, plural, =0{0} one{Ein} other{{count}}} mal im Monat",
|
|
16808
16811
|
"domain.record.updateFrequency.notPlanned": "Nicht geplant",
|
|
16809
|
-
"domain.record.updateFrequency.periodic": "
|
|
16812
|
+
"domain.record.updateFrequency.periodic": "Regelmäßig",
|
|
16810
16813
|
"domain.record.updateFrequency.unknown": "Unbekannt",
|
|
16811
16814
|
"domain.record.updateFrequency.week": "{count, plural, =0{0} one{Ein} other{{count}}} mal in der Woche",
|
|
16812
16815
|
"domain.record.updateFrequency.year": "{count, plural, =0{0} one{Ein} other{{count}}} mal im Jahr",
|
|
16813
16816
|
"downloads.format.unknown": "unbekannt",
|
|
16814
|
-
"downloads.wfs.featuretype.not.found": "
|
|
16817
|
+
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
16815
16818
|
dropFile: dropFile$6,
|
|
16816
16819
|
"externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
|
|
16817
16820
|
"facets.block.title.OrgForResource": "Organisation",
|
|
@@ -16846,10 +16849,17 @@ var de = {
|
|
|
16846
16849
|
"map.add.layer.file": "Aus einer Datei",
|
|
16847
16850
|
"map.add.layer.wfs": "Aus WFS",
|
|
16848
16851
|
"map.add.layer.wms": "Aus WMS",
|
|
16852
|
+
"map.addFromFile.placeholder": "Klicke hier oder ziehe eine Datei herein",
|
|
16853
|
+
"map.help.addFromFile": "Klicke oder ziehe eine Datei herein um eine Karte hinzuzufügen (momentan wird nur das GeoJSON-Format unterstützt).",
|
|
16854
|
+
"map.layer.add": "Hinzufügen",
|
|
16855
|
+
"map.layers.available": "Verfügbare Layer",
|
|
16849
16856
|
"map.layers.list": "Ebenen",
|
|
16850
16857
|
"map.loading.data": "Kartendaten werden geladen...",
|
|
16858
|
+
"map.loading.service": "Dienst wird geladen...",
|
|
16851
16859
|
"map.navigation.message": "Bitte verwenden Sie STRG + Maus (oder zwei Finger auf einem Mobilgerät), um die Karte zu navigieren",
|
|
16852
16860
|
"map.select.layer": "Datenquelle",
|
|
16861
|
+
"map.wfs.urlInput.hint": "Geben Sie die WFS URL ein",
|
|
16862
|
+
"map.wms.urlInput.hint": "Geben Sie die WMS URL ein",
|
|
16853
16863
|
"multiselect.filter.placeholder": "Suche",
|
|
16854
16864
|
"nav.back": "Zurück",
|
|
16855
16865
|
next: next$6,
|
|
@@ -16865,56 +16875,61 @@ var de = {
|
|
|
16865
16875
|
"pagination.pageOf": "von",
|
|
16866
16876
|
previous: previous$6,
|
|
16867
16877
|
"record.action.download": "Herunterladen",
|
|
16868
|
-
"record.action.view": "
|
|
16878
|
+
"record.action.view": "Anzeigen",
|
|
16869
16879
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
16870
16880
|
"record.metadata.about": "Beschreibung",
|
|
16871
16881
|
"record.metadata.api": "API",
|
|
16872
|
-
"record.metadata.api.form.closeButton": "",
|
|
16873
|
-
"record.metadata.api.form.closeForm": "",
|
|
16874
|
-
"record.metadata.api.form.create": "",
|
|
16875
|
-
"record.metadata.api.form.customUrl": "",
|
|
16876
|
-
"record.metadata.api.form.limit": "",
|
|
16877
|
-
"record.metadata.api.form.limit.all": "",
|
|
16878
|
-
"record.metadata.api.form.offset": "",
|
|
16879
|
-
"record.metadata.api.form.openForm": "",
|
|
16880
|
-
"record.metadata.api.form.reset": "",
|
|
16881
|
-
"record.metadata.api.form.title": "",
|
|
16882
|
-
"record.metadata.api.form.type": "",
|
|
16883
|
-
"record.metadata.author": "",
|
|
16882
|
+
"record.metadata.api.form.closeButton": "Schließen",
|
|
16883
|
+
"record.metadata.api.form.closeForm": "Formular schließen",
|
|
16884
|
+
"record.metadata.api.form.create": "Ihre Anfrage erstellen",
|
|
16885
|
+
"record.metadata.api.form.customUrl": "Benutzerdefinierte URL",
|
|
16886
|
+
"record.metadata.api.form.limit": "Anzahl der Datensätze",
|
|
16887
|
+
"record.metadata.api.form.limit.all": "Alle",
|
|
16888
|
+
"record.metadata.api.form.offset": "Anzahl des ersten Datensatzes",
|
|
16889
|
+
"record.metadata.api.form.openForm": "Formular öffnen",
|
|
16890
|
+
"record.metadata.api.form.reset": "Zurücksetzen",
|
|
16891
|
+
"record.metadata.api.form.title": "Benutzerdefinierte URL generieren",
|
|
16892
|
+
"record.metadata.api.form.type": "Ausgabeformat",
|
|
16893
|
+
"record.metadata.author": "Autor",
|
|
16884
16894
|
"record.metadata.catalog": "Katalog",
|
|
16885
16895
|
"record.metadata.contact": "Kontakt",
|
|
16886
16896
|
"record.metadata.createdOn": "Erstellt am",
|
|
16887
|
-
"record.metadata.details": "
|
|
16897
|
+
"record.metadata.details": "Technische Informationen",
|
|
16888
16898
|
"record.metadata.download": "Downloads",
|
|
16889
|
-
"record.metadata.formats": "",
|
|
16899
|
+
"record.metadata.formats": "Formate",
|
|
16890
16900
|
"record.metadata.isOpenData": "Open Data",
|
|
16891
16901
|
"record.metadata.keywords": "Stichworte",
|
|
16902
|
+
"record.metadata.lastUpdate": "Zuletzt aktualisiert am",
|
|
16892
16903
|
"record.metadata.links": "Links",
|
|
16893
|
-
"record.metadata.noUsage": "Für diesen Datensatz sind keine
|
|
16904
|
+
"record.metadata.noUsage": "Für diesen Datensatz sind keine Nutzungsbedingungen angegeben.",
|
|
16894
16905
|
"record.metadata.origin": "Über die Daten",
|
|
16906
|
+
"record.metadata.owner": "",
|
|
16895
16907
|
"record.metadata.preview": "Vorschau",
|
|
16896
16908
|
"record.metadata.publications": "Veröffentlichungen",
|
|
16897
|
-
"record.metadata.quality": "",
|
|
16898
|
-
"record.metadata.quality.contact.failed": "",
|
|
16899
|
-
"record.metadata.quality.contact.success": "",
|
|
16900
|
-
"record.metadata.quality.description.failed": "",
|
|
16901
|
-
"record.metadata.quality.description.success": "",
|
|
16902
|
-
"record.metadata.quality.details": "",
|
|
16903
|
-
"record.metadata.quality.keywords.failed": "",
|
|
16904
|
-
"record.metadata.quality.keywords.success": "",
|
|
16905
|
-
"record.metadata.quality.legalConstraints.failed": "",
|
|
16906
|
-
"record.metadata.quality.legalConstraints.success": "",
|
|
16907
|
-
"record.metadata.quality.organisation.failed": "",
|
|
16908
|
-
"record.metadata.quality.organisation.success": "",
|
|
16909
|
-
"record.metadata.quality.title.failed": "",
|
|
16910
|
-
"record.metadata.quality.title.success": "",
|
|
16911
|
-
"record.metadata.quality.topic.failed": "",
|
|
16912
|
-
"record.metadata.quality.topic.success": "",
|
|
16913
|
-
"record.metadata.quality.updateFrequency.failed": "",
|
|
16914
|
-
"record.metadata.quality.updateFrequency.success": "",
|
|
16909
|
+
"record.metadata.quality": "Metadatenqualität",
|
|
16910
|
+
"record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
|
|
16911
|
+
"record.metadata.quality.contact.success": "Kontakt angegeben",
|
|
16912
|
+
"record.metadata.quality.description.failed": "Beschreibung nicht angegeben",
|
|
16913
|
+
"record.metadata.quality.description.success": "Beschreibung angegeben",
|
|
16914
|
+
"record.metadata.quality.details": "Details",
|
|
16915
|
+
"record.metadata.quality.keywords.failed": "Schlagwörter nicht angegeben",
|
|
16916
|
+
"record.metadata.quality.keywords.success": "Schlagwörter angegeben",
|
|
16917
|
+
"record.metadata.quality.legalConstraints.failed": "Rechtliche Beschränkungen nicht angegeben",
|
|
16918
|
+
"record.metadata.quality.legalConstraints.success": "Rechtliche Beschränkungen angegeben",
|
|
16919
|
+
"record.metadata.quality.organisation.failed": "Organisation nicht angegeben",
|
|
16920
|
+
"record.metadata.quality.organisation.success": "Organisation angegeben",
|
|
16921
|
+
"record.metadata.quality.title.failed": "Titel nicht angegeben",
|
|
16922
|
+
"record.metadata.quality.title.success": "Titel angegeben",
|
|
16923
|
+
"record.metadata.quality.topic.failed": "Thema nicht angegeben",
|
|
16924
|
+
"record.metadata.quality.topic.success": "Thema angegeben",
|
|
16925
|
+
"record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
|
|
16926
|
+
"record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
|
|
16915
16927
|
"record.metadata.related": "Ähnliche Datensätze",
|
|
16916
|
-
"record.metadata.sheet": "Weitere Informationen
|
|
16928
|
+
"record.metadata.sheet": "Weitere Informationen verfügbar unter:",
|
|
16929
|
+
"record.metadata.themes": "Kategorien",
|
|
16917
16930
|
"record.metadata.title": "Titel",
|
|
16931
|
+
"record.metadata.type": "Geographischer Datensatz",
|
|
16932
|
+
"record.metadata.uniqueId": "Eindeutige Kennung",
|
|
16918
16933
|
"record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
|
|
16919
16934
|
"record.metadata.updateStatus": "Aktualisierungsstatus der Daten",
|
|
16920
16935
|
"record.metadata.updatedOn": "Letzte Aktualisierung der Dateninformationen",
|
|
@@ -16926,23 +16941,23 @@ var de = {
|
|
|
16926
16941
|
"record.was.created.time": "erstellte diesen Datensatz {time}",
|
|
16927
16942
|
records: records$6,
|
|
16928
16943
|
"results.layout.selectOne": "Layout auswählen",
|
|
16929
|
-
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{
|
|
16930
|
-
"results.records.hits.empty.help.html": "Vorschläge: <ul class='list-disc list-inside'><li>Versuchen Sie
|
|
16944
|
+
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{angezeigt von {hits} insgesamt.}}",
|
|
16945
|
+
"results.records.hits.empty.help.html": "Vorschläge: <ul class='list-disc list-inside'><li>Versuchen Sie es mit anderen Worten</li><li>Beschränken Sie die Suchwörter</li></ul>",
|
|
16931
16946
|
"results.records.hits.found": "{hits, plural, =0{Keine Dokumente entsprechen der angegebenen Suche.} one{1 Datensatz gefunden.} other{{hits} Datensätze gefunden.}}",
|
|
16932
|
-
"results.records.hits.selected": "",
|
|
16947
|
+
"results.records.hits.selected": "{ amount } ausgewählt",
|
|
16933
16948
|
"results.showMore": "Mehr Ergebnisse anzeigen...",
|
|
16934
|
-
"results.sortBy.dateStamp": "
|
|
16949
|
+
"results.sortBy.dateStamp": "Neueste",
|
|
16935
16950
|
"results.sortBy.popularity": "Beliebtheit",
|
|
16936
|
-
"results.sortBy.qualityScore": "",
|
|
16951
|
+
"results.sortBy.qualityScore": "Qualitätsbewertung",
|
|
16937
16952
|
"results.sortBy.relevancy": "Relevanz",
|
|
16938
16953
|
"search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
|
|
16939
16954
|
"search.error.couldNotReachApi": "Die API konnte nicht erreicht werden",
|
|
16940
|
-
"search.error.receivedError": "Ein Fehler
|
|
16955
|
+
"search.error.receivedError": "Ein Fehler ist aufgetreten",
|
|
16941
16956
|
"search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
|
|
16942
|
-
"search.field.any.placeholder": "Suche
|
|
16957
|
+
"search.field.any.placeholder": "Suche Datensätze ...",
|
|
16943
16958
|
"search.field.sortBy": "Sortieren nach:",
|
|
16944
16959
|
"search.filters.clear": "Zurücksetzen",
|
|
16945
|
-
"search.filters.contact": "
|
|
16960
|
+
"search.filters.contact": "Kontakte",
|
|
16946
16961
|
"search.filters.format": "Formate",
|
|
16947
16962
|
"search.filters.inspireKeyword": "INSPIRE-Schlüsselwort",
|
|
16948
16963
|
"search.filters.isSpatial": "Ist räumliche Daten",
|
|
@@ -16960,13 +16975,13 @@ var de = {
|
|
|
16960
16975
|
"search.filters.license.unknown": "Unbekannt oder nicht vorhanden",
|
|
16961
16976
|
"search.filters.maximize": "Erweitern",
|
|
16962
16977
|
"search.filters.minimize": "Minimieren",
|
|
16963
|
-
"search.filters.myRecords": "",
|
|
16964
|
-
"search.filters.myRecordsHelp": "",
|
|
16965
|
-
"search.filters.otherRecords": "",
|
|
16978
|
+
"search.filters.myRecords": "Nur meine Datensätze anzeigen",
|
|
16979
|
+
"search.filters.myRecordsHelp": "Wenn dies aktiviert ist, werden nur von mir erstellte Datensätze angezeigt; Datensätze, die von anderen erstellt wurden, werden nicht angezeigt.",
|
|
16980
|
+
"search.filters.otherRecords": "Datensätze von einer anderen Person anzeigen",
|
|
16966
16981
|
"search.filters.publicationYear": "Veröffentlichungsjahr",
|
|
16967
16982
|
"search.filters.publisher": "Organisationen",
|
|
16968
|
-
"search.filters.representationType": "",
|
|
16969
|
-
"search.filters.resourceType": "",
|
|
16983
|
+
"search.filters.representationType": "Repräsentationstyp",
|
|
16984
|
+
"search.filters.resourceType": "Ressourcentyp",
|
|
16970
16985
|
"search.filters.standard": "Standard",
|
|
16971
16986
|
"search.filters.title": "Ergebnisse filtern",
|
|
16972
16987
|
"search.filters.topic": "Thema",
|
|
@@ -16978,6 +16993,7 @@ var de = {
|
|
|
16978
16993
|
"table.object.count": "Objekte in diesem Datensatz",
|
|
16979
16994
|
"table.select.data": "Datenquelle",
|
|
16980
16995
|
"tooltip.html.copy": "HTML kopieren",
|
|
16996
|
+
"tooltip.id.copy": "",
|
|
16981
16997
|
"tooltip.url.copy": "URL kopieren",
|
|
16982
16998
|
"tooltip.url.open": "URL öffnen",
|
|
16983
16999
|
"ui.readLess": "Weniger lesen",
|
|
@@ -17110,7 +17126,8 @@ var en = {
|
|
|
17110
17126
|
"datahub.news.contact.title": "A specific need?",
|
|
17111
17127
|
"datahub.news.feed": "News feed",
|
|
17112
17128
|
"datahub.news.figures": "Indicators",
|
|
17113
|
-
"datahub.
|
|
17129
|
+
"datahub.record.addToFavorites": "Add to favorites",
|
|
17130
|
+
"datahub.search.back": "Back",
|
|
17114
17131
|
"datahub.search.filter.all": "All",
|
|
17115
17132
|
"datahub.search.filter.generatedByWfs": "generated by an API",
|
|
17116
17133
|
"datahub.search.filter.others": "Others",
|
|
@@ -17170,10 +17187,17 @@ var en = {
|
|
|
17170
17187
|
"map.add.layer.file": "From a file",
|
|
17171
17188
|
"map.add.layer.wfs": "From WFS",
|
|
17172
17189
|
"map.add.layer.wms": "From WMS",
|
|
17190
|
+
"map.addFromFile.placeholder": "Click or drop a file here",
|
|
17191
|
+
"map.help.addFromFile": "Click or drag and drop a file to add to the map (currently supports GeoJSON format only).",
|
|
17192
|
+
"map.layer.add": "Add",
|
|
17193
|
+
"map.layers.available": "Available Layers",
|
|
17173
17194
|
"map.layers.list": "Layers",
|
|
17174
17195
|
"map.loading.data": "Loading map data...",
|
|
17196
|
+
"map.loading.service": "Loading service...",
|
|
17175
17197
|
"map.navigation.message": "Please use CTRL + mouse (or two fingers on mobile) to navigate the map",
|
|
17176
17198
|
"map.select.layer": "Data source",
|
|
17199
|
+
"map.wfs.urlInput.hint": "Enter WFS service URL",
|
|
17200
|
+
"map.wms.urlInput.hint": "Enter WMS service URL",
|
|
17177
17201
|
"multiselect.filter.placeholder": "Search",
|
|
17178
17202
|
"nav.back": "Back",
|
|
17179
17203
|
next: next$5,
|
|
@@ -17208,40 +17232,45 @@ var en = {
|
|
|
17208
17232
|
"record.metadata.catalog": "Catalog",
|
|
17209
17233
|
"record.metadata.contact": "Contact",
|
|
17210
17234
|
"record.metadata.createdOn": "Created on",
|
|
17211
|
-
"record.metadata.details": "
|
|
17235
|
+
"record.metadata.details": "Technical information",
|
|
17212
17236
|
"record.metadata.download": "Downloads",
|
|
17213
17237
|
"record.metadata.formats": "Formats",
|
|
17214
17238
|
"record.metadata.isOpenData": "Open Data",
|
|
17215
17239
|
"record.metadata.keywords": "Keywords",
|
|
17240
|
+
"record.metadata.lastUpdate": "Last updated on",
|
|
17216
17241
|
"record.metadata.links": "Links",
|
|
17217
17242
|
"record.metadata.noUsage": "No usage conditions specified for this record.",
|
|
17218
17243
|
"record.metadata.origin": "About the data",
|
|
17244
|
+
"record.metadata.owner": "Catalog of origin",
|
|
17219
17245
|
"record.metadata.preview": "Preview",
|
|
17220
17246
|
"record.metadata.publications": "publications",
|
|
17221
17247
|
"record.metadata.quality": "Metadata Quality",
|
|
17222
|
-
"record.metadata.quality.contact.failed": "Contact is not
|
|
17223
|
-
"record.metadata.quality.contact.success": "Contact is
|
|
17224
|
-
"record.metadata.quality.description.failed": "Description is not
|
|
17225
|
-
"record.metadata.quality.description.success": "Description is
|
|
17248
|
+
"record.metadata.quality.contact.failed": "Contact is not specified",
|
|
17249
|
+
"record.metadata.quality.contact.success": "Contact is specified",
|
|
17250
|
+
"record.metadata.quality.description.failed": "Description is not specified",
|
|
17251
|
+
"record.metadata.quality.description.success": "Description is specified",
|
|
17226
17252
|
"record.metadata.quality.details": "Details",
|
|
17227
|
-
"record.metadata.quality.keywords.failed": "Keywords are not
|
|
17228
|
-
"record.metadata.quality.keywords.success": "Keywords are
|
|
17229
|
-
"record.metadata.quality.legalConstraints.failed": "Legal constraints are not
|
|
17230
|
-
"record.metadata.quality.legalConstraints.success": "Legal constraints are
|
|
17231
|
-
"record.metadata.quality.organisation.failed": "Organisation is not
|
|
17232
|
-
"record.metadata.quality.organisation.success": "Organisation is
|
|
17233
|
-
"record.metadata.quality.title.failed": "Title is not
|
|
17234
|
-
"record.metadata.quality.title.success": "Title is
|
|
17235
|
-
"record.metadata.quality.topic.failed": "Topic is not
|
|
17236
|
-
"record.metadata.quality.topic.success": "Topic is
|
|
17237
|
-
"record.metadata.quality.updateFrequency.failed": "Update frequency is not
|
|
17238
|
-
"record.metadata.quality.updateFrequency.success": "Update frequency is
|
|
17253
|
+
"record.metadata.quality.keywords.failed": "Keywords are not specified",
|
|
17254
|
+
"record.metadata.quality.keywords.success": "Keywords are specified",
|
|
17255
|
+
"record.metadata.quality.legalConstraints.failed": "Legal constraints are not specified",
|
|
17256
|
+
"record.metadata.quality.legalConstraints.success": "Legal constraints are specified",
|
|
17257
|
+
"record.metadata.quality.organisation.failed": "Organisation is not specified",
|
|
17258
|
+
"record.metadata.quality.organisation.success": "Organisation is specified",
|
|
17259
|
+
"record.metadata.quality.title.failed": "Title is not specified",
|
|
17260
|
+
"record.metadata.quality.title.success": "Title is specified",
|
|
17261
|
+
"record.metadata.quality.topic.failed": "Topic is not specified",
|
|
17262
|
+
"record.metadata.quality.topic.success": "Topic is specified",
|
|
17263
|
+
"record.metadata.quality.updateFrequency.failed": "Update frequency is not specified",
|
|
17264
|
+
"record.metadata.quality.updateFrequency.success": "Update frequency is specified",
|
|
17239
17265
|
"record.metadata.related": "Related records",
|
|
17240
|
-
"record.metadata.sheet": "
|
|
17266
|
+
"record.metadata.sheet": "Original metadata",
|
|
17267
|
+
"record.metadata.themes": "Categories",
|
|
17241
17268
|
"record.metadata.title": "Title",
|
|
17269
|
+
"record.metadata.type": "Geographical dataset",
|
|
17270
|
+
"record.metadata.uniqueId": "Unique Identifier",
|
|
17242
17271
|
"record.metadata.updateFrequency": "Data Update Frequency",
|
|
17243
17272
|
"record.metadata.updateStatus": "Data Update Status",
|
|
17244
|
-
"record.metadata.updatedOn": "
|
|
17273
|
+
"record.metadata.updatedOn": "Metadata's last update",
|
|
17245
17274
|
"record.metadata.usage": "Usage & constraints",
|
|
17246
17275
|
"record.more.details": "Read more",
|
|
17247
17276
|
"record.tab.chart": "Chart",
|
|
@@ -17302,6 +17331,7 @@ var en = {
|
|
|
17302
17331
|
"table.object.count": "objects in this dataset",
|
|
17303
17332
|
"table.select.data": "Data source",
|
|
17304
17333
|
"tooltip.html.copy": "Copy HTML",
|
|
17334
|
+
"tooltip.id.copy": "Copy unique identifier",
|
|
17305
17335
|
"tooltip.url.copy": "Copy URL",
|
|
17306
17336
|
"tooltip.url.open": "Open URL",
|
|
17307
17337
|
"ui.readLess": "Read less",
|
|
@@ -17434,6 +17464,7 @@ var es = {
|
|
|
17434
17464
|
"datahub.news.contact.title": "",
|
|
17435
17465
|
"datahub.news.feed": "",
|
|
17436
17466
|
"datahub.news.figures": "",
|
|
17467
|
+
"datahub.record.addToFavorites": "",
|
|
17437
17468
|
"datahub.search.back": "",
|
|
17438
17469
|
"datahub.search.filter.all": "",
|
|
17439
17470
|
"datahub.search.filter.generatedByWfs": "",
|
|
@@ -17494,10 +17525,17 @@ var es = {
|
|
|
17494
17525
|
"map.add.layer.file": "",
|
|
17495
17526
|
"map.add.layer.wfs": "",
|
|
17496
17527
|
"map.add.layer.wms": "",
|
|
17528
|
+
"map.addFromFile.placeholder": "",
|
|
17529
|
+
"map.help.addFromFile": "",
|
|
17530
|
+
"map.layer.add": "",
|
|
17531
|
+
"map.layers.available": "",
|
|
17497
17532
|
"map.layers.list": "",
|
|
17498
17533
|
"map.loading.data": "",
|
|
17534
|
+
"map.loading.service": "",
|
|
17499
17535
|
"map.navigation.message": "",
|
|
17500
17536
|
"map.select.layer": "",
|
|
17537
|
+
"map.wfs.urlInput.hint": "",
|
|
17538
|
+
"map.wms.urlInput.hint": "",
|
|
17501
17539
|
"multiselect.filter.placeholder": "",
|
|
17502
17540
|
"nav.back": "",
|
|
17503
17541
|
next: next$4,
|
|
@@ -17537,9 +17575,11 @@ var es = {
|
|
|
17537
17575
|
"record.metadata.formats": "",
|
|
17538
17576
|
"record.metadata.isOpenData": "",
|
|
17539
17577
|
"record.metadata.keywords": "",
|
|
17578
|
+
"record.metadata.lastUpdate": "",
|
|
17540
17579
|
"record.metadata.links": "",
|
|
17541
17580
|
"record.metadata.noUsage": "",
|
|
17542
17581
|
"record.metadata.origin": "",
|
|
17582
|
+
"record.metadata.owner": "",
|
|
17543
17583
|
"record.metadata.preview": "",
|
|
17544
17584
|
"record.metadata.publications": "",
|
|
17545
17585
|
"record.metadata.quality": "",
|
|
@@ -17562,7 +17602,10 @@ var es = {
|
|
|
17562
17602
|
"record.metadata.quality.updateFrequency.success": "",
|
|
17563
17603
|
"record.metadata.related": "",
|
|
17564
17604
|
"record.metadata.sheet": "",
|
|
17605
|
+
"record.metadata.themes": "",
|
|
17565
17606
|
"record.metadata.title": "",
|
|
17607
|
+
"record.metadata.type": "",
|
|
17608
|
+
"record.metadata.uniqueId": "",
|
|
17566
17609
|
"record.metadata.updateFrequency": "",
|
|
17567
17610
|
"record.metadata.updateStatus": "",
|
|
17568
17611
|
"record.metadata.updatedOn": "",
|
|
@@ -17626,6 +17669,7 @@ var es = {
|
|
|
17626
17669
|
"table.object.count": "",
|
|
17627
17670
|
"table.select.data": "",
|
|
17628
17671
|
"tooltip.html.copy": "",
|
|
17672
|
+
"tooltip.id.copy": "",
|
|
17629
17673
|
"tooltip.url.copy": "",
|
|
17630
17674
|
"tooltip.url.open": "",
|
|
17631
17675
|
"ui.readLess": "",
|
|
@@ -17758,7 +17802,8 @@ var fr = {
|
|
|
17758
17802
|
"datahub.news.contact.title": "Un besoin spécifique ?",
|
|
17759
17803
|
"datahub.news.feed": "Fil d'activité",
|
|
17760
17804
|
"datahub.news.figures": "Quelques chiffres",
|
|
17761
|
-
"datahub.
|
|
17805
|
+
"datahub.record.addToFavorites": "Ajouter aux favoris",
|
|
17806
|
+
"datahub.search.back": "Retour",
|
|
17762
17807
|
"datahub.search.filter.all": "Tous",
|
|
17763
17808
|
"datahub.search.filter.generatedByWfs": "généré par une API",
|
|
17764
17809
|
"datahub.search.filter.others": "Autres",
|
|
@@ -17818,10 +17863,17 @@ var fr = {
|
|
|
17818
17863
|
"map.add.layer.file": "",
|
|
17819
17864
|
"map.add.layer.wfs": "",
|
|
17820
17865
|
"map.add.layer.wms": "",
|
|
17866
|
+
"map.addFromFile.placeholder": "",
|
|
17867
|
+
"map.help.addFromFile": "",
|
|
17868
|
+
"map.layer.add": "",
|
|
17869
|
+
"map.layers.available": "",
|
|
17821
17870
|
"map.layers.list": "",
|
|
17822
17871
|
"map.loading.data": "Chargement des données...",
|
|
17872
|
+
"map.loading.service": "",
|
|
17823
17873
|
"map.navigation.message": "Veuillez utiliser CTRL + souris (ou deux doigts sur mobile) pour naviguer sur la carte",
|
|
17824
17874
|
"map.select.layer": "Source de données",
|
|
17875
|
+
"map.wfs.urlInput.hint": "",
|
|
17876
|
+
"map.wms.urlInput.hint": "",
|
|
17825
17877
|
"multiselect.filter.placeholder": "Rechercher",
|
|
17826
17878
|
"nav.back": "Retour",
|
|
17827
17879
|
next: next$3,
|
|
@@ -17856,14 +17908,16 @@ var fr = {
|
|
|
17856
17908
|
"record.metadata.catalog": "Catalogue",
|
|
17857
17909
|
"record.metadata.contact": "Contact",
|
|
17858
17910
|
"record.metadata.createdOn": "Créé le",
|
|
17859
|
-
"record.metadata.details": "
|
|
17911
|
+
"record.metadata.details": "Informations techniques",
|
|
17860
17912
|
"record.metadata.download": "Téléchargements",
|
|
17861
17913
|
"record.metadata.formats": "Formats",
|
|
17862
17914
|
"record.metadata.isOpenData": "Donnée Ouverte",
|
|
17863
17915
|
"record.metadata.keywords": "Mots clés",
|
|
17916
|
+
"record.metadata.lastUpdate": "Mis à jour le",
|
|
17864
17917
|
"record.metadata.links": "Liens",
|
|
17865
17918
|
"record.metadata.noUsage": "Aucune condition d'utilisation spécifiée pour ces données",
|
|
17866
17919
|
"record.metadata.origin": "À propos des données",
|
|
17920
|
+
"record.metadata.owner": "Catalogue d'origine",
|
|
17867
17921
|
"record.metadata.preview": "Aperçu",
|
|
17868
17922
|
"record.metadata.publications": "données",
|
|
17869
17923
|
"record.metadata.quality": "Qualité des métadonnées",
|
|
@@ -17885,11 +17939,14 @@ var fr = {
|
|
|
17885
17939
|
"record.metadata.quality.updateFrequency.failed": "Fréquence de mise à jour n'est pas renseignée",
|
|
17886
17940
|
"record.metadata.quality.updateFrequency.success": "Fréquence de mise à jour est renseignée",
|
|
17887
17941
|
"record.metadata.related": "Voir aussi",
|
|
17888
|
-
"record.metadata.sheet": "
|
|
17942
|
+
"record.metadata.sheet": "Fiche de métadonnées d'origine",
|
|
17943
|
+
"record.metadata.themes": "Catégories",
|
|
17889
17944
|
"record.metadata.title": "Titre",
|
|
17945
|
+
"record.metadata.type": "Donnée géographique",
|
|
17946
|
+
"record.metadata.uniqueId": "Identificateur de ressource unique",
|
|
17890
17947
|
"record.metadata.updateFrequency": "Fréquence de mise à jour des données",
|
|
17891
17948
|
"record.metadata.updateStatus": "Statut de mise à jour des données",
|
|
17892
|
-
"record.metadata.updatedOn": "
|
|
17949
|
+
"record.metadata.updatedOn": "Mise à jour de la fiche de métadonnée",
|
|
17893
17950
|
"record.metadata.usage": "Conditions d'utilisation",
|
|
17894
17951
|
"record.more.details": "Détails",
|
|
17895
17952
|
"record.tab.chart": "Graphique",
|
|
@@ -17950,6 +18007,7 @@ var fr = {
|
|
|
17950
18007
|
"table.object.count": "enregistrements dans ces données",
|
|
17951
18008
|
"table.select.data": "Source de données",
|
|
17952
18009
|
"tooltip.html.copy": "Copier le HTML",
|
|
18010
|
+
"tooltip.id.copy": "Copier l'identifiant unique",
|
|
17953
18011
|
"tooltip.url.copy": "Copier l'URL",
|
|
17954
18012
|
"tooltip.url.open": "Ouvrir l'URL",
|
|
17955
18013
|
"ui.readLess": "Réduire",
|
|
@@ -18077,12 +18135,13 @@ var it = {
|
|
|
18077
18135
|
"datahub.header.organisations": "Organizzazioni",
|
|
18078
18136
|
"datahub.header.popularRecords": "Più popolari",
|
|
18079
18137
|
"datahub.header.title.html": "<div class=\"text-white\">Tutti i dati<br>pubblici della mia organizzazione</div>",
|
|
18080
|
-
"datahub.news.contact.contactus": "",
|
|
18081
|
-
"datahub.news.contact.html": "",
|
|
18082
|
-
"datahub.news.contact.title": "",
|
|
18138
|
+
"datahub.news.contact.contactus": "Contattateci",
|
|
18139
|
+
"datahub.news.contact.html": "<p>Ha bisogno di dati che non sono attualmente disponibili sulla piattaforma? </p><p> I nostri team sono qui per aiutarla.</p>",
|
|
18140
|
+
"datahub.news.contact.title": "Ha un bisogno specifico?",
|
|
18083
18141
|
"datahub.news.feed": "Feed di attività",
|
|
18084
18142
|
"datahub.news.figures": "Alcune figure",
|
|
18085
|
-
"datahub.
|
|
18143
|
+
"datahub.record.addToFavorites": "Aggiungere a miei preferiti",
|
|
18144
|
+
"datahub.search.back": "Ritorna",
|
|
18086
18145
|
"datahub.search.filter.all": "Tutti",
|
|
18087
18146
|
"datahub.search.filter.generatedByWfs": "generato da un'API",
|
|
18088
18147
|
"datahub.search.filter.others": "Altri",
|
|
@@ -18109,7 +18168,7 @@ var it = {
|
|
|
18109
18168
|
"downloads.format.unknown": "sconosciuto",
|
|
18110
18169
|
"downloads.wfs.featuretype.not.found": "Il layer non è stato trovato",
|
|
18111
18170
|
dropFile: dropFile$2,
|
|
18112
|
-
"externalviewer.dataset.unnamed": "",
|
|
18171
|
+
"externalviewer.dataset.unnamed": "Layer del datahub",
|
|
18113
18172
|
"facets.block.title.OrgForResource": "Organizzazione",
|
|
18114
18173
|
"facets.block.title.availableInServices": "Disponibile per",
|
|
18115
18174
|
"facets.block.title.cl_hierarchyLevel.key": "Tipo di risorsa",
|
|
@@ -18142,10 +18201,17 @@ var it = {
|
|
|
18142
18201
|
"map.add.layer.file": "Da un file",
|
|
18143
18202
|
"map.add.layer.wfs": "Da un WFS",
|
|
18144
18203
|
"map.add.layer.wms": "Da un WMS",
|
|
18204
|
+
"map.addFromFile.placeholder": "",
|
|
18205
|
+
"map.help.addFromFile": "",
|
|
18206
|
+
"map.layer.add": "",
|
|
18207
|
+
"map.layers.available": "",
|
|
18145
18208
|
"map.layers.list": "Layers",
|
|
18146
18209
|
"map.loading.data": "Caricamento dati...",
|
|
18210
|
+
"map.loading.service": "",
|
|
18147
18211
|
"map.navigation.message": "Si prega di utilizzare CTRL + mouse (o due dita su mobile) per navigare sulla mappa",
|
|
18148
18212
|
"map.select.layer": "Sorgente dati",
|
|
18213
|
+
"map.wfs.urlInput.hint": "",
|
|
18214
|
+
"map.wms.urlInput.hint": "",
|
|
18149
18215
|
"multiselect.filter.placeholder": "Cerca",
|
|
18150
18216
|
"nav.back": "Indietro",
|
|
18151
18217
|
next: next$2,
|
|
@@ -18180,14 +18246,16 @@ var it = {
|
|
|
18180
18246
|
"record.metadata.catalog": "Catalogo",
|
|
18181
18247
|
"record.metadata.contact": "Contatto",
|
|
18182
18248
|
"record.metadata.createdOn": "Creato il",
|
|
18183
|
-
"record.metadata.details": "
|
|
18249
|
+
"record.metadata.details": "Informazioni tecniche",
|
|
18184
18250
|
"record.metadata.download": "Download",
|
|
18185
18251
|
"record.metadata.formats": "Formati",
|
|
18186
18252
|
"record.metadata.isOpenData": "Data aperta",
|
|
18187
18253
|
"record.metadata.keywords": "Parole chiave",
|
|
18254
|
+
"record.metadata.lastUpdate": "Ultimo aggiornamento",
|
|
18188
18255
|
"record.metadata.links": "Collegamenti",
|
|
18189
18256
|
"record.metadata.noUsage": "Nessuna condizione d'uso specificata per questi dati",
|
|
18190
18257
|
"record.metadata.origin": "Informazioni sui dati",
|
|
18258
|
+
"record.metadata.owner": "Catalogo originale",
|
|
18191
18259
|
"record.metadata.preview": "Anteprima",
|
|
18192
18260
|
"record.metadata.publications": "pubblicazioni",
|
|
18193
18261
|
"record.metadata.quality": "Qualità dei metadati",
|
|
@@ -18209,11 +18277,14 @@ var it = {
|
|
|
18209
18277
|
"record.metadata.quality.updateFrequency.failed": "La frequenza di aggiornamento non è specificata",
|
|
18210
18278
|
"record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
|
|
18211
18279
|
"record.metadata.related": "Vedi anche",
|
|
18212
|
-
"record.metadata.sheet": "
|
|
18280
|
+
"record.metadata.sheet": "Origine del metadata",
|
|
18281
|
+
"record.metadata.themes": "Categorie",
|
|
18213
18282
|
"record.metadata.title": "Titolo",
|
|
18283
|
+
"record.metadata.type": "Dati geografici",
|
|
18284
|
+
"record.metadata.uniqueId": "Identificatore unico di risorsa",
|
|
18214
18285
|
"record.metadata.updateFrequency": "Frequenza di aggiornamento dei dati",
|
|
18215
18286
|
"record.metadata.updateStatus": "Stato di aggiornamento dei dati",
|
|
18216
|
-
"record.metadata.updatedOn": "Ultimo aggiornamento
|
|
18287
|
+
"record.metadata.updatedOn": "Ultimo aggiornamento del metadata",
|
|
18217
18288
|
"record.metadata.usage": "Condizioni d'uso",
|
|
18218
18289
|
"record.more.details": "Dettagli",
|
|
18219
18290
|
"record.tab.chart": "Grafico",
|
|
@@ -18222,10 +18293,10 @@ var it = {
|
|
|
18222
18293
|
"record.was.created.time": "ha creato questi dati {time}",
|
|
18223
18294
|
records: records$2,
|
|
18224
18295
|
"results.layout.selectOne": "Mostra risultati",
|
|
18225
|
-
"results.records.hits.displayedOn": "",
|
|
18296
|
+
"results.records.hits.displayedOn": "{displayed, plural, =0{Nessun record} one{1 record visualizzato} other{{displayed} records visualizzati}} {hits, plural, other{su {hits} in totale.}}",
|
|
18226
18297
|
"results.records.hits.empty.help.html": "Suggerimenti: <ul class='list-disc list-inside'><li>Prova con altre parole chiave</li><li>Cerca con meno parole</li></ul>",
|
|
18227
18298
|
"results.records.hits.found": "{hits, plural, =0{Nessuna corrispondenza.} one{1 record trovato.} other{{hits} risultati.}}",
|
|
18228
|
-
"results.records.hits.selected": "",
|
|
18299
|
+
"results.records.hits.selected": "{amount, plural, one{1 selezionato} other{{ amount } selezionati}}",
|
|
18229
18300
|
"results.showMore": "Altri risultati...",
|
|
18230
18301
|
"results.sortBy.dateStamp": "Più recente",
|
|
18231
18302
|
"results.sortBy.popularity": "Popolarità",
|
|
@@ -18274,10 +18345,11 @@ var it = {
|
|
|
18274
18345
|
"table.object.count": "record in questi dati",
|
|
18275
18346
|
"table.select.data": "Sorgente dati",
|
|
18276
18347
|
"tooltip.html.copy": "Copiare il HTML",
|
|
18348
|
+
"tooltip.id.copy": "Copiare l'identificatore unico",
|
|
18277
18349
|
"tooltip.url.copy": "Copiare l'URL",
|
|
18278
18350
|
"tooltip.url.open": "Aprire l'URL",
|
|
18279
|
-
"ui.readLess": "",
|
|
18280
|
-
"ui.readMore": "",
|
|
18351
|
+
"ui.readLess": "Ridurre",
|
|
18352
|
+
"ui.readMore": "Leggi di più",
|
|
18281
18353
|
"wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
|
|
18282
18354
|
"wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
|
|
18283
18355
|
"wfs.unreachable.cors": "Il servizio non è accessibile a causa di limitazioni CORS",
|
|
@@ -18406,6 +18478,7 @@ var nl = {
|
|
|
18406
18478
|
"datahub.news.contact.title": "",
|
|
18407
18479
|
"datahub.news.feed": "",
|
|
18408
18480
|
"datahub.news.figures": "",
|
|
18481
|
+
"datahub.record.addToFavorites": "",
|
|
18409
18482
|
"datahub.search.back": "",
|
|
18410
18483
|
"datahub.search.filter.all": "",
|
|
18411
18484
|
"datahub.search.filter.generatedByWfs": "",
|
|
@@ -18466,10 +18539,17 @@ var nl = {
|
|
|
18466
18539
|
"map.add.layer.file": "",
|
|
18467
18540
|
"map.add.layer.wfs": "",
|
|
18468
18541
|
"map.add.layer.wms": "",
|
|
18542
|
+
"map.addFromFile.placeholder": "",
|
|
18543
|
+
"map.help.addFromFile": "",
|
|
18544
|
+
"map.layer.add": "",
|
|
18545
|
+
"map.layers.available": "",
|
|
18469
18546
|
"map.layers.list": "",
|
|
18470
18547
|
"map.loading.data": "",
|
|
18548
|
+
"map.loading.service": "",
|
|
18471
18549
|
"map.navigation.message": "",
|
|
18472
18550
|
"map.select.layer": "",
|
|
18551
|
+
"map.wfs.urlInput.hint": "",
|
|
18552
|
+
"map.wms.urlInput.hint": "",
|
|
18473
18553
|
"multiselect.filter.placeholder": "",
|
|
18474
18554
|
"nav.back": "",
|
|
18475
18555
|
next: next$1,
|
|
@@ -18509,9 +18589,11 @@ var nl = {
|
|
|
18509
18589
|
"record.metadata.formats": "",
|
|
18510
18590
|
"record.metadata.isOpenData": "",
|
|
18511
18591
|
"record.metadata.keywords": "",
|
|
18592
|
+
"record.metadata.lastUpdate": "",
|
|
18512
18593
|
"record.metadata.links": "",
|
|
18513
18594
|
"record.metadata.noUsage": "",
|
|
18514
18595
|
"record.metadata.origin": "",
|
|
18596
|
+
"record.metadata.owner": "",
|
|
18515
18597
|
"record.metadata.preview": "",
|
|
18516
18598
|
"record.metadata.publications": "",
|
|
18517
18599
|
"record.metadata.quality": "",
|
|
@@ -18534,7 +18616,10 @@ var nl = {
|
|
|
18534
18616
|
"record.metadata.quality.updateFrequency.success": "",
|
|
18535
18617
|
"record.metadata.related": "",
|
|
18536
18618
|
"record.metadata.sheet": "",
|
|
18619
|
+
"record.metadata.themes": "",
|
|
18537
18620
|
"record.metadata.title": "",
|
|
18621
|
+
"record.metadata.type": "",
|
|
18622
|
+
"record.metadata.uniqueId": "",
|
|
18538
18623
|
"record.metadata.updateFrequency": "",
|
|
18539
18624
|
"record.metadata.updateStatus": "",
|
|
18540
18625
|
"record.metadata.updatedOn": "",
|
|
@@ -18598,6 +18683,7 @@ var nl = {
|
|
|
18598
18683
|
"table.object.count": "",
|
|
18599
18684
|
"table.select.data": "",
|
|
18600
18685
|
"tooltip.html.copy": "",
|
|
18686
|
+
"tooltip.id.copy": "",
|
|
18601
18687
|
"tooltip.url.copy": "",
|
|
18602
18688
|
"tooltip.url.open": "",
|
|
18603
18689
|
"ui.readLess": "",
|
|
@@ -18730,6 +18816,7 @@ var pt = {
|
|
|
18730
18816
|
"datahub.news.contact.title": "",
|
|
18731
18817
|
"datahub.news.feed": "",
|
|
18732
18818
|
"datahub.news.figures": "",
|
|
18819
|
+
"datahub.record.addToFavorites": "",
|
|
18733
18820
|
"datahub.search.back": "",
|
|
18734
18821
|
"datahub.search.filter.all": "",
|
|
18735
18822
|
"datahub.search.filter.generatedByWfs": "",
|
|
@@ -18790,10 +18877,17 @@ var pt = {
|
|
|
18790
18877
|
"map.add.layer.file": "",
|
|
18791
18878
|
"map.add.layer.wfs": "",
|
|
18792
18879
|
"map.add.layer.wms": "",
|
|
18880
|
+
"map.addFromFile.placeholder": "",
|
|
18881
|
+
"map.help.addFromFile": "",
|
|
18882
|
+
"map.layer.add": "",
|
|
18883
|
+
"map.layers.available": "",
|
|
18793
18884
|
"map.layers.list": "",
|
|
18794
18885
|
"map.loading.data": "",
|
|
18886
|
+
"map.loading.service": "",
|
|
18795
18887
|
"map.navigation.message": "",
|
|
18796
18888
|
"map.select.layer": "",
|
|
18889
|
+
"map.wfs.urlInput.hint": "",
|
|
18890
|
+
"map.wms.urlInput.hint": "",
|
|
18797
18891
|
"multiselect.filter.placeholder": "",
|
|
18798
18892
|
"nav.back": "",
|
|
18799
18893
|
next: next,
|
|
@@ -18833,9 +18927,11 @@ var pt = {
|
|
|
18833
18927
|
"record.metadata.formats": "",
|
|
18834
18928
|
"record.metadata.isOpenData": "",
|
|
18835
18929
|
"record.metadata.keywords": "",
|
|
18930
|
+
"record.metadata.lastUpdate": "",
|
|
18836
18931
|
"record.metadata.links": "",
|
|
18837
18932
|
"record.metadata.noUsage": "",
|
|
18838
18933
|
"record.metadata.origin": "",
|
|
18934
|
+
"record.metadata.owner": "",
|
|
18839
18935
|
"record.metadata.preview": "",
|
|
18840
18936
|
"record.metadata.publications": "",
|
|
18841
18937
|
"record.metadata.quality": "",
|
|
@@ -18858,7 +18954,10 @@ var pt = {
|
|
|
18858
18954
|
"record.metadata.quality.updateFrequency.success": "",
|
|
18859
18955
|
"record.metadata.related": "",
|
|
18860
18956
|
"record.metadata.sheet": "",
|
|
18957
|
+
"record.metadata.themes": "",
|
|
18861
18958
|
"record.metadata.title": "",
|
|
18959
|
+
"record.metadata.type": "",
|
|
18960
|
+
"record.metadata.uniqueId": "",
|
|
18862
18961
|
"record.metadata.updateFrequency": "",
|
|
18863
18962
|
"record.metadata.updateStatus": "",
|
|
18864
18963
|
"record.metadata.updatedOn": "",
|
|
@@ -18922,6 +19021,7 @@ var pt = {
|
|
|
18922
19021
|
"table.object.count": "",
|
|
18923
19022
|
"table.select.data": "",
|
|
18924
19023
|
"tooltip.html.copy": "",
|
|
19024
|
+
"tooltip.id.copy": "",
|
|
18925
19025
|
"tooltip.url.copy": "",
|
|
18926
19026
|
"tooltip.url.open": "",
|
|
18927
19027
|
"ui.readLess": "",
|
|
@@ -19259,6 +19359,7 @@ class Gn4MetadataMapper extends MetadataBaseMapper {
|
|
|
19259
19359
|
useLimitations: [],
|
|
19260
19360
|
spatialExtents: [],
|
|
19261
19361
|
temporalExtents: [],
|
|
19362
|
+
overviews: [],
|
|
19262
19363
|
};
|
|
19263
19364
|
const record = Object.keys(_source).reduce((prev, fieldName) => this.fieldMapper.getMappingFn(fieldName)(prev, _source), emptyRecord);
|
|
19264
19365
|
return lastValueFrom(this.orgsService.addOrganizationToRecordFromSource(_source, record));
|
|
@@ -22496,6 +22597,7 @@ const DEFAULT_VIEW = {
|
|
|
22496
22597
|
center: [0, 15],
|
|
22497
22598
|
zoom: 2,
|
|
22498
22599
|
};
|
|
22600
|
+
const WFS_MAX_FEATURES = 10000;
|
|
22499
22601
|
class MapContextService {
|
|
22500
22602
|
constructor(mapUtils, styleService) {
|
|
22501
22603
|
this.mapUtils = mapUtils;
|
|
@@ -22554,6 +22656,7 @@ class MapContextService {
|
|
|
22554
22656
|
urlObj.searchParams.set('typename', layerModel.name);
|
|
22555
22657
|
urlObj.searchParams.set('srsname', 'EPSG:3857');
|
|
22556
22658
|
urlObj.searchParams.set('bbox', `${extent.join(',')},EPSG:3857`);
|
|
22659
|
+
urlObj.searchParams.set('maxFeatures', WFS_MAX_FEATURES.toString());
|
|
22557
22660
|
return urlObj.toString();
|
|
22558
22661
|
},
|
|
22559
22662
|
strategy: bbox,
|
|
@@ -23101,6 +23204,7 @@ class ThumbnailComponent {
|
|
|
23101
23204
|
constructor(optionalPlaceholderUrl) {
|
|
23102
23205
|
this.optionalPlaceholderUrl = optionalPlaceholderUrl;
|
|
23103
23206
|
this.fit = 'cover';
|
|
23207
|
+
this.placeholderShown = new EventEmitter();
|
|
23104
23208
|
this.placeholderUrl = this.optionalPlaceholderUrl || DEFAULT_PLACEHOLDER;
|
|
23105
23209
|
this.images = [];
|
|
23106
23210
|
}
|
|
@@ -23136,6 +23240,7 @@ class ThumbnailComponent {
|
|
|
23136
23240
|
setNewSrcImage(image) {
|
|
23137
23241
|
this.imgFit = image.fit;
|
|
23138
23242
|
this.imgUrl = image.url;
|
|
23243
|
+
this.placeholderShown.emit(this.isPlaceholder);
|
|
23139
23244
|
}
|
|
23140
23245
|
setPlaceholder() {
|
|
23141
23246
|
this.setNewSrcImage({ url: this.placeholderUrl, fit: 'scale-down' });
|
|
@@ -23158,7 +23263,7 @@ class ThumbnailComponent {
|
|
|
23158
23263
|
}
|
|
23159
23264
|
}
|
|
23160
23265
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThumbnailComponent, deps: [{ token: THUMBNAIL_PLACEHOLDER, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: { thumbnailUrl: "thumbnailUrl", fit: "fit" }, viewQueries: [{ propertyName: "imgElement", first: true, predicate: ["imageElement"], descendants: true }, { propertyName: "containerElement", first: true, predicate: ["containerElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #containerElement\n class=\"h-full w-full relative shrink-0 overflow-hidden flex items-center\"\n [ngClass]=\"isPlaceholder ? 'bg-gray-100' : 'bg-white'\"\n [attr.data-cy-is-placeholder]=\"isPlaceholder.toString()\"\n>\n <img\n #imageElement\n class=\"relative w-full object-center\"\n [ngClass]=\"imgFit === 'contain' ? 'h-4/5' : 'h-full'\"\n [ngStyle]=\"{ objectFit: imgFit }\"\n alt=\"thumbnail\"\n loading=\"lazy\"\n (load)=\"setObjectFit()\"\n [src]=\"imgUrl\"\n (error)=\"useFallback()\"\n />\n</div>\n", dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23266
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: { thumbnailUrl: "thumbnailUrl", fit: "fit" }, outputs: { placeholderShown: "placeholderShown" }, viewQueries: [{ propertyName: "imgElement", first: true, predicate: ["imageElement"], descendants: true }, { propertyName: "containerElement", first: true, predicate: ["containerElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #containerElement\n class=\"h-full w-full relative shrink-0 overflow-hidden flex items-center\"\n [ngClass]=\"isPlaceholder ? 'bg-gray-100' : 'bg-white'\"\n [attr.data-cy-is-placeholder]=\"isPlaceholder.toString()\"\n>\n <img\n #imageElement\n class=\"relative w-full object-center\"\n [ngClass]=\"imgFit === 'contain' ? 'h-4/5' : 'h-full'\"\n [ngStyle]=\"{ objectFit: imgFit }\"\n alt=\"thumbnail\"\n loading=\"lazy\"\n (load)=\"setObjectFit()\"\n [src]=\"imgUrl\"\n (error)=\"useFallback()\"\n />\n</div>\n", dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23162
23267
|
}
|
|
23163
23268
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThumbnailComponent, decorators: [{
|
|
23164
23269
|
type: Component,
|
|
@@ -23178,11 +23283,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
23178
23283
|
}], containerElement: [{
|
|
23179
23284
|
type: ViewChild,
|
|
23180
23285
|
args: ['containerElement']
|
|
23286
|
+
}], placeholderShown: [{
|
|
23287
|
+
type: Output
|
|
23181
23288
|
}] } });
|
|
23182
23289
|
|
|
23183
23290
|
class RecordPreviewCardComponent extends RecordPreviewComponent {
|
|
23184
23291
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewCardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
23185
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewCardComponent, selector: "gn-ui-record-preview-card", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-full border bg-white rounded-sm overflow-hidden transition duration-200 transform hover:scale-105 hover:bg-gray-50 border-gray-300 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [title]=\"record.abstract\"\n [target]=\"linkTarget\"\n >\n <div class=\"flex flex-col min-h-full\">\n <gn-ui-thumbnail\n class=\"lg:h-48 md:h-36 border-b border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow p-4\">\n <h1 class=\"title-font text-lg font-medium mb-3 clamp-2\">\n {{ record.title }}\n </h1>\n <p class=\"leading-relaxed text-sm text-gray-700 clamp-3\">\n {{ record.abstract }}\n </p>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23292
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewCardComponent, selector: "gn-ui-record-preview-card", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-full border bg-white rounded-sm overflow-hidden transition duration-200 transform hover:scale-105 hover:bg-gray-50 border-gray-300 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [title]=\"record.abstract\"\n [target]=\"linkTarget\"\n >\n <div class=\"flex flex-col min-h-full\">\n <gn-ui-thumbnail\n class=\"lg:h-48 md:h-36 border-b border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow p-4\">\n <h1 class=\"title-font text-lg font-medium mb-3 clamp-2\">\n {{ record.title }}\n </h1>\n <p class=\"leading-relaxed text-sm text-gray-700 clamp-3\">\n {{ record.abstract }}\n </p>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23186
23293
|
}
|
|
23187
23294
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewCardComponent, decorators: [{
|
|
23188
23295
|
type: Component,
|
|
@@ -23191,7 +23298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
23191
23298
|
|
|
23192
23299
|
class RecordPreviewListComponent extends RecordPreviewComponent {
|
|
23193
23300
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
23194
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewListComponent, selector: "gn-ui-record-preview-list", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-40 bg-white transition duration-200 border border-gray-200 rounded-md hover:bg-gray-50 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center shadow-sm\">\n <gn-ui-thumbnail\n class=\"w-40 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow h-full px-6 py-4 flex flex-col overflow-hidden\">\n <div class=\"title-font text-lg font-medium mb-2\">\n <h1 class=\"truncate\">{{ record.title }}</h1>\n </div>\n <p class=\"leading-relaxed clamp-3 text-sm text-gray-700\">\n {{ record.abstract }}\n </p>\n <div class=\"grow\"></div>\n <div class=\"flex flex-row items-center\">\n <div\n class=\"text-gray-500 text-xs truncate capitalize border-r mr-4 pr-4\"\n *ngIf=\"record.kind === 'dataset'\"\n >\n <span translate>{{ record.updateFrequency }}</span>\n </div>\n <div\n class=\"text-gray-500 text-xs border-gray-300 truncate viewable-downloadable\"\n *ngIf=\"isViewable || isDownloadable\"\n >\n <span *ngIf=\"isViewable\" translate>record.action.view</span>\n <span *ngIf=\"isViewable && isDownloadable\">, </span>\n <span *ngIf=\"isDownloadable\" translate>record.action.download</span>\n </div>\n </div>\n </div>\n </div>\n </a>\n</div>\n", styles: [".viewable-downloadable :first-child{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23301
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewListComponent, selector: "gn-ui-record-preview-list", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-40 bg-white transition duration-200 border border-gray-200 rounded-md hover:bg-gray-50 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center shadow-sm\">\n <gn-ui-thumbnail\n class=\"w-40 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow h-full px-6 py-4 flex flex-col overflow-hidden\">\n <div class=\"title-font text-lg font-medium mb-2\">\n <h1 class=\"truncate\">{{ record.title }}</h1>\n </div>\n <p class=\"leading-relaxed clamp-3 text-sm text-gray-700\">\n {{ record.abstract }}\n </p>\n <div class=\"grow\"></div>\n <div class=\"flex flex-row items-center\">\n <div\n class=\"text-gray-500 text-xs truncate capitalize border-r mr-4 pr-4\"\n *ngIf=\"record.kind === 'dataset'\"\n >\n <span translate>{{ record.updateFrequency }}</span>\n </div>\n <div\n class=\"text-gray-500 text-xs border-gray-300 truncate viewable-downloadable\"\n *ngIf=\"isViewable || isDownloadable\"\n >\n <span *ngIf=\"isViewable\" translate>record.action.view</span>\n <span *ngIf=\"isViewable && isDownloadable\">, </span>\n <span *ngIf=\"isDownloadable\" translate>record.action.download</span>\n </div>\n </div>\n </div>\n </div>\n </a>\n</div>\n", styles: [".viewable-downloadable :first-child{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23195
23302
|
}
|
|
23196
23303
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewListComponent, decorators: [{
|
|
23197
23304
|
type: Component,
|
|
@@ -23339,7 +23446,7 @@ class RecordPreviewRowComponent extends RecordPreviewComponent {
|
|
|
23339
23446
|
this.elementRef = elementRef;
|
|
23340
23447
|
}
|
|
23341
23448
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewRowComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23342
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewRowComponent, selector: "gn-ui-record-preview-row", usesInheritance: true, ngImport: i0, template: "<a\n class=\"group container-lg mx-auto flex cursor-pointer flex-wrap sm:flex-nowrap\"\n [title]=\"record.title\"\n [attr.href]=\"linkHref\"\n>\n <div class=\"shrink-0 w-full sm:w-52\">\n <div\n class=\"overflow-hidden bg-gray-100 rounded-lg w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full object-cover object-left-top\"\n [thumbnailUrl]=\"[record.overviews?.[0]?.url?.toString(), organization?.logoUrl?.toString()]\"\n [fit]=\"['cover', 'contain']\"\n ></gn-ui-thumbnail>\n </div>\n </div>\n <div\n class=\"content grid grow relative sm:pl-6 sm:pr-12\"\n style=\"grid-template-columns: auto 70px\"\n >\n <div class=\"mb-3 mt-5 sm:mt-2\">\n <div\n class=\"font-title text-21 text-title line-clamp-2 col-start-1 col-span-2 sm:line-clamp-1 group-hover:text-primary transition-colors\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </div>\n </div>\n <div\n class=\"abstract mt-4 mb-5 h-36 line-clamp-6 col-start-1 col-span-2 row-start-3 sm:mb-2 sm:h-[4.5rem] sm:line-clamp-3 sm:row-start-2 sm:mt-0\"\n data-cy=\"recordAbstract\"\n >\n {{ abstract }}\n </div>\n <div\n class=\"text-primary opacity-45 uppercase col-start-1 col-span-2 row-start-2 sm:truncate sm:row-start-3 sm:col-span-1\"\n data-cy=\"recordOrg\"\n [class]=\"metadataQualityDisplay ? 'limit-organisation-with-quality' : ''\"\n >\n {{ organization?.name }}\n </div>\n <div\n class=\"icons flex flex-row col-start-1 row-start-4 sm:col-start-2 sm:row-start-3 sm:absolute sm:right-[0.4em]\"\n >\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >cloud_download</mat-icon\n >\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >map</mat-icon\n >\n </div>\n <div\n *ngIf=\"metadataQualityDisplay\"\n class=\"col-start-2 row-start-4 sm:row-start-3 absolute right-[4em] sm:right-[5em]\"\n >\n <gn-ui-metadata-quality\n smaller=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"text-right col-start-3 row-start-4 sm:absolute sm:col-start-2 sm:row-start-1 sm:top-[-1.125em] sm:right-[0.4em]\"\n data-cy=\"recordFav\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n</a>\n", styles: [".limit-organisation-with-quality{max-width:calc(100% - 170px)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23449
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewRowComponent, selector: "gn-ui-record-preview-row", usesInheritance: true, ngImport: i0, template: "<a\n class=\"group container-lg mx-auto flex cursor-pointer flex-wrap sm:flex-nowrap\"\n [title]=\"record.title\"\n [attr.href]=\"linkHref\"\n>\n <div class=\"shrink-0 w-full sm:w-52\">\n <div\n class=\"overflow-hidden bg-gray-100 rounded-lg w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full object-cover object-left-top\"\n [thumbnailUrl]=\"[record.overviews?.[0]?.url?.toString(), organization?.logoUrl?.toString()]\"\n [fit]=\"['cover', 'contain']\"\n ></gn-ui-thumbnail>\n </div>\n </div>\n <div\n class=\"content grid grow relative sm:pl-6 sm:pr-12\"\n style=\"grid-template-columns: auto 70px\"\n >\n <div class=\"mb-3 mt-5 sm:mt-2\">\n <div\n class=\"font-title text-21 text-title line-clamp-2 col-start-1 col-span-2 sm:line-clamp-1 group-hover:text-primary transition-colors\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </div>\n </div>\n <div\n class=\"abstract mt-4 mb-5 h-36 line-clamp-6 col-start-1 col-span-2 row-start-3 sm:mb-2 sm:h-[4.5rem] sm:line-clamp-3 sm:row-start-2 sm:mt-0\"\n data-cy=\"recordAbstract\"\n >\n {{ abstract }}\n </div>\n <div\n class=\"text-primary opacity-45 uppercase col-start-1 col-span-2 row-start-2 sm:truncate sm:row-start-3 sm:col-span-1\"\n data-cy=\"recordOrg\"\n [class]=\"metadataQualityDisplay ? 'limit-organisation-with-quality' : ''\"\n >\n {{ organization?.name }}\n </div>\n <div\n class=\"icons flex flex-row col-start-1 row-start-4 sm:col-start-2 sm:row-start-3 sm:absolute sm:right-[0.4em]\"\n >\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >cloud_download</mat-icon\n >\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >map</mat-icon\n >\n </div>\n <div\n *ngIf=\"metadataQualityDisplay\"\n class=\"col-start-2 row-start-4 sm:row-start-3 absolute right-[4em] sm:right-[5em]\"\n >\n <gn-ui-metadata-quality\n smaller=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"text-right col-start-3 row-start-4 sm:absolute sm:col-start-2 sm:row-start-1 sm:top-[-1.125em] sm:right-[0.4em]\"\n data-cy=\"recordFav\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n</a>\n", styles: [".limit-organisation-with-quality{max-width:calc(100% - 170px)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23343
23450
|
}
|
|
23344
23451
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewRowComponent, decorators: [{
|
|
23345
23452
|
type: Component,
|
|
@@ -23357,7 +23464,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
23357
23464
|
|
|
23358
23465
|
class RecordPreviewTitleComponent extends RecordPreviewComponent {
|
|
23359
23466
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
23360
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewTitleComponent, selector: "gn-ui-record-preview-title", usesInheritance: true, ngImport: i0, template: "<!-- Record list item: List Small -->\n<div\n class=\"h-10 w-full border-b border-gray-200 transition duration-200 rounded-sm hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center\">\n <gn-ui-thumbnail\n class=\"w-10 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow px-3 py-1 flex flex-col overflow-hidden\">\n <h1 class=\"title-font text-sm font-bold truncate md:text-clip\">\n {{ record.title }}\n </h1>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23467
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewTitleComponent, selector: "gn-ui-record-preview-title", usesInheritance: true, ngImport: i0, template: "<!-- Record list item: List Small -->\n<div\n class=\"h-10 w-full border-b border-gray-200 transition duration-200 rounded-sm hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center\">\n <gn-ui-thumbnail\n class=\"w-10 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow px-3 py-1 flex flex-col overflow-hidden\">\n <h1 class=\"title-font text-sm font-bold truncate md:text-clip\">\n {{ record.title }}\n </h1>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23361
23468
|
}
|
|
23362
23469
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewTitleComponent, decorators: [{
|
|
23363
23470
|
type: Component,
|
|
@@ -23397,7 +23504,7 @@ class RecordPreviewFeedComponent extends RecordPreviewComponent {
|
|
|
23397
23504
|
return this.timeFormat.format(this.record.recordCreated, Date.now());
|
|
23398
23505
|
}
|
|
23399
23506
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewFeedComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23400
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewFeedComponent, selector: "gn-ui-record-preview-feed", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mx-[18px] pl-[18px] pb-[18px] border-solid border-l-2 border-gray-100\"\n>\n <a\n class=\"record-container block rounded-lg bg-white border border-white card-shadow\"\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n >\n <div\n class=\"record-header py-4 px-4 border-b border-gray-300 flex flex-row items-center relative transition duration-200\"\n >\n <div\n class=\"absolute w-3 h-3 bg-secondary rounded-full\"\n style=\"right: calc(100% + 14px)\"\n ></div>\n <div\n class=\"record-header-image border border-gray-300 bg-white rounded-full w-16 h-16 object-contain mr-4 overflow-hidden transition duration-200 shrink-0\"\n >\n <mat-icon\n *ngIf=\"!hasLogo\"\n class=\"material-symbols-outlined text-gray-200\"\n style=\"width: 42px; height: 42px; font-size: 42px; margin: 10px\"\n >{{ hasOnlyPerson ? 'face' : 'home_work' }}</mat-icon\n >\n <gn-ui-thumbnail\n *ngIf=\"hasLogo\"\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString()\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col overflow-hidden items-start\">\n <span\n *ngIf=\"hasOrganization\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ record.ownerOrganization.name }}\n </span>\n <span\n *ngIf=\"hasOnlyPerson\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ contact.firstName }} {{ contact.lastName }}\n </span>\n <p class=\"\">\n <span translate [translateParams]=\"{ time }\"\n >record.was.created.time</span\n >\n </p>\n </div>\n </div>\n <div class=\"pt-5 pb-5 px-10 relative\">\n <div class=\"absolute top-[0.85em] right-[0.85em]\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n <h1\n class=\"font-title text-black text-[21px] font-medium mb-3 pr-8\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </h1>\n <p class=\"line-clamp-3\">{{ abstract }}</p>\n <gn-ui-thumbnail\n *ngIf=\"record.overviews?.[0]\"\n class=\"block mt-3 w-full h-[136px] border border-gray-100 rounded-lg overflow-hidden\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-row mt-3\" *ngIf=\"isDownloadable || isViewable\">\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >cloud_download\n </mat-icon>\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >map\n </mat-icon>\n </div>\n </div>\n </a>\n</div>\n", styles: [".record-container:hover .record-header,.record-container:hover .record-header-image{border-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23507
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewFeedComponent, selector: "gn-ui-record-preview-feed", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mx-[18px] pl-[18px] pb-[18px] border-solid border-l-2 border-gray-100\"\n>\n <a\n class=\"record-container block rounded-lg bg-white border border-white card-shadow\"\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n >\n <div\n class=\"record-header py-4 px-4 border-b border-gray-300 flex flex-row items-center relative transition duration-200\"\n >\n <div\n class=\"absolute w-3 h-3 bg-secondary rounded-full\"\n style=\"right: calc(100% + 14px)\"\n ></div>\n <div\n class=\"record-header-image border border-gray-300 bg-white rounded-full w-16 h-16 object-contain mr-4 overflow-hidden transition duration-200 shrink-0\"\n >\n <mat-icon\n *ngIf=\"!hasLogo\"\n class=\"material-symbols-outlined text-gray-200\"\n style=\"width: 42px; height: 42px; font-size: 42px; margin: 10px\"\n >{{ hasOnlyPerson ? 'face' : 'home_work' }}</mat-icon\n >\n <gn-ui-thumbnail\n *ngIf=\"hasLogo\"\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString()\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col overflow-hidden items-start\">\n <span\n *ngIf=\"hasOrganization\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ record.ownerOrganization.name }}\n </span>\n <span\n *ngIf=\"hasOnlyPerson\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ contact.firstName }} {{ contact.lastName }}\n </span>\n <p class=\"\">\n <span translate [translateParams]=\"{ time }\"\n >record.was.created.time</span\n >\n </p>\n </div>\n </div>\n <div class=\"pt-5 pb-5 px-10 relative\">\n <div class=\"absolute top-[0.85em] right-[0.85em]\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n <h1\n class=\"font-title text-black text-[21px] font-medium mb-3 pr-8\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </h1>\n <p class=\"line-clamp-3\">{{ abstract }}</p>\n <gn-ui-thumbnail\n *ngIf=\"record.overviews?.[0]\"\n class=\"block mt-3 w-full h-[136px] border border-gray-100 rounded-lg overflow-hidden\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-row mt-3\" *ngIf=\"isDownloadable || isViewable\">\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >cloud_download\n </mat-icon>\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >map\n </mat-icon>\n </div>\n </div>\n </a>\n</div>\n", styles: [".record-container:hover .record-header,.record-container:hover .record-header-image{border-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23401
23508
|
}
|
|
23402
23509
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewFeedComponent, decorators: [{
|
|
23403
23510
|
type: Component,
|
|
@@ -23730,6 +23837,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
23730
23837
|
args: ['contentDiv']
|
|
23731
23838
|
}] } });
|
|
23732
23839
|
|
|
23840
|
+
class CopyTextButtonComponent {
|
|
23841
|
+
constructor() {
|
|
23842
|
+
this.displayText = true;
|
|
23843
|
+
this.rows = 1;
|
|
23844
|
+
}
|
|
23845
|
+
copyText(event) {
|
|
23846
|
+
navigator.clipboard.writeText(this.text);
|
|
23847
|
+
event.target.blur();
|
|
23848
|
+
}
|
|
23849
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CopyTextButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23850
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: { text: "text", tooltipText: "tooltipText", displayText: "displayText", rows: "rows" }, ngImport: i0, template: "<div class=\"flex\">\n <input\n *ngIf=\"displayText && rows <= 1\"\n type=\"text\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 truncate\"\n value=\"{{ text }}\"\n readonly\n />\n <textarea\n *ngIf=\"displayText && rows > 1\"\n [rows]=\"rows\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 overflow-y-auto h-max\"\n readonly\n >{{ text }}</textarea\n >\n <button\n type=\"button\"\n (click)=\"copyText($event)\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText\n }\"\n mat-raised-button\n [matTooltip]=\"tooltipText\"\n matTooltipPosition=\"above\"\n >\n <mat-icon\n class=\"material-symbols-outlined pointer-events-none align-middle card-icon\"\n >content_copy</mat-icon\n >\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23851
|
+
}
|
|
23852
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CopyTextButtonComponent, decorators: [{
|
|
23853
|
+
type: Component,
|
|
23854
|
+
args: [{ selector: 'gn-ui-copy-text-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex\">\n <input\n *ngIf=\"displayText && rows <= 1\"\n type=\"text\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 truncate\"\n value=\"{{ text }}\"\n readonly\n />\n <textarea\n *ngIf=\"displayText && rows > 1\"\n [rows]=\"rows\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 overflow-y-auto h-max\"\n readonly\n >{{ text }}</textarea\n >\n <button\n type=\"button\"\n (click)=\"copyText($event)\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText\n }\"\n mat-raised-button\n [matTooltip]=\"tooltipText\"\n matTooltipPosition=\"above\"\n >\n <mat-icon\n class=\"material-symbols-outlined pointer-events-none align-middle card-icon\"\n >content_copy</mat-icon\n >\n </button>\n</div>\n" }]
|
|
23855
|
+
}], propDecorators: { text: [{
|
|
23856
|
+
type: Input
|
|
23857
|
+
}], tooltipText: [{
|
|
23858
|
+
type: Input
|
|
23859
|
+
}], displayText: [{
|
|
23860
|
+
type: Input
|
|
23861
|
+
}], rows: [{
|
|
23862
|
+
type: Input
|
|
23863
|
+
}] } });
|
|
23864
|
+
|
|
23733
23865
|
class ContentGhostComponent {
|
|
23734
23866
|
constructor() {
|
|
23735
23867
|
this.ghostClass = '';
|
|
@@ -23884,6 +24016,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
23884
24016
|
args: ['container']
|
|
23885
24017
|
}] } });
|
|
23886
24018
|
|
|
24019
|
+
class MarkdownParserComponent {
|
|
24020
|
+
get parsedMarkdown() {
|
|
24021
|
+
return marked.parse(this.textContent);
|
|
24022
|
+
}
|
|
24023
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MarkdownParserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24024
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: { textContent: "textContent" }, ngImport: i0, template: "<div class=\"markdown-body\" [innerHTML]=\"parsedMarkdown\"></div>\n", styles: [":host ::ng-deep .markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0px 0px 1.5rem;line-height:1.5;word-wrap:break-word}:host ::ng-deep .markdown-body strong{@apply font-bold;color:var(--color-secondary-darker)}:host ::ng-deep .markdown-body h1,:host ::ng-deep .markdown-body h2,:host ::ng-deep .markdown-body h3,:host ::ng-deep .markdown-body h4,:host ::ng-deep .markdown-body h5,:host ::ng-deep .markdown-body h6{margin-top:24px;margin-bottom:16px;line-height:1.25;@apply text-title font-title font-bold;}:host ::ng-deep .markdown-body h1{margin:.67em 0;padding-bottom:.3em;font-size:2em;color:var(--color-primary)}:host ::ng-deep .markdown-body h2{padding-bottom:.3em;font-size:1.5em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h3{font-size:1.25em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h4{font-size:1em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h5{font-size:.875em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h6{font-size:.85em;color:var(--color-secondary-lighter)}:host ::ng-deep .markdown-body p{margin-top:0;margin-bottom:10px}:host ::ng-deep .markdown-body p>a{margin-top:0;margin-bottom:10px;color:var(--color-primary)!important;text-decoration:none!important;@apply font-bold;}:host ::ng-deep .markdown-body p>a:hover{color:var(--color-primary-darker)!important}:host ::ng-deep .markdown-body blockquote{margin:0;padding:0 1em;color:var(--color-secondary-lighter);border-left:.25em solid var(--color-primary-lighter)}:host ::ng-deep .markdown-body pre{margin-top:0;margin-bottom:0;font-size:12px;background-color:var(--color-gray-100);word-wrap:normal}:host ::ng-deep .markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;color:var(--color-secondary);border-radius:6px}:host ::ng-deep .markdown-body code{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;border-radius:6px}:host ::ng-deep .markdown-body pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;border:0}:host ::ng-deep .markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--color-secondary);height:.15em;padding:0;margin:24px 0;background-color:var(--color-secondary);border:0}:host ::ng-deep .markdown-body hr:before{display:table;content:\"\"}:host ::ng-deep .markdown-body hr:after{display:table;clear:both;content:\"\"}:host ::ng-deep .markdown-body ul,:host ::ng-deep .markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em;list-style:revert}:host ::ng-deep .markdown-body ol ol,:host ::ng-deep .markdown-body ul ol{list-style-type:lower-roman}:host ::ng-deep .markdown-body ul ul ol,:host ::ng-deep .markdown-body ul ol ol,:host ::ng-deep .markdown-body ol ul ol,:host ::ng-deep .markdown-body ol ol ol{list-style-type:lower-alpha}:host ::ng-deep .markdown-body ol[type=\"a s\"]{list-style-type:lower-alpha}:host ::ng-deep .markdown-body ol[type=\"A s\"]{list-style-type:upper-alpha}:host ::ng-deep .markdown-body ol[type=\"i s\"]{list-style-type:lower-roman}:host ::ng-deep .markdown-body ol[type=\"I s\"]{list-style-type:upper-roman}:host ::ng-deep .markdown-body ol[type=\"1\"]{list-style:unset;list-style-type:decimal}:host ::ng-deep .markdown-body div>ol:not([type]){list-style:unset;list-style-type:decimal}:host ::ng-deep .markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;padding-bottom:15px}:host ::ng-deep .markdown-body td,:host ::ng-deep .markdown-body th{padding:0}:host ::ng-deep .markdown-body th{color:var(--color-secondary)}:host ::ng-deep .markdown-body table th,:host ::ng-deep .markdown-body table td{padding:6px 13px;border:1px solid var(--color-gray-500)}:host ::ng-deep .markdown-body table td>:last-child{margin-bottom:0}:host ::ng-deep .markdown-body table tr{background-color:#fff;border-top:1px solid var(--color-secondary-lighter)}:host ::ng-deep .markdown-body table tr:nth-child(2n){background-color:var(--color-gray-100)}:host ::ng-deep .markdown-body table img{background-color:transparent}:host ::ng-deep .markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:transparent}:host ::ng-deep .markdown-body img[align=right]{padding-left:20px}:host ::ng-deep .markdown-body img[align=left]{padding-right:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24025
|
+
}
|
|
24026
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MarkdownParserComponent, decorators: [{
|
|
24027
|
+
type: Component,
|
|
24028
|
+
args: [{ selector: 'gn-ui-markdown-parser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"markdown-body\" [innerHTML]=\"parsedMarkdown\"></div>\n", styles: [":host ::ng-deep .markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0px 0px 1.5rem;line-height:1.5;word-wrap:break-word}:host ::ng-deep .markdown-body strong{@apply font-bold;color:var(--color-secondary-darker)}:host ::ng-deep .markdown-body h1,:host ::ng-deep .markdown-body h2,:host ::ng-deep .markdown-body h3,:host ::ng-deep .markdown-body h4,:host ::ng-deep .markdown-body h5,:host ::ng-deep .markdown-body h6{margin-top:24px;margin-bottom:16px;line-height:1.25;@apply text-title font-title font-bold;}:host ::ng-deep .markdown-body h1{margin:.67em 0;padding-bottom:.3em;font-size:2em;color:var(--color-primary)}:host ::ng-deep .markdown-body h2{padding-bottom:.3em;font-size:1.5em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h3{font-size:1.25em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h4{font-size:1em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h5{font-size:.875em;color:var(--color-secondary)}:host ::ng-deep .markdown-body h6{font-size:.85em;color:var(--color-secondary-lighter)}:host ::ng-deep .markdown-body p{margin-top:0;margin-bottom:10px}:host ::ng-deep .markdown-body p>a{margin-top:0;margin-bottom:10px;color:var(--color-primary)!important;text-decoration:none!important;@apply font-bold;}:host ::ng-deep .markdown-body p>a:hover{color:var(--color-primary-darker)!important}:host ::ng-deep .markdown-body blockquote{margin:0;padding:0 1em;color:var(--color-secondary-lighter);border-left:.25em solid var(--color-primary-lighter)}:host ::ng-deep .markdown-body pre{margin-top:0;margin-bottom:0;font-size:12px;background-color:var(--color-gray-100);word-wrap:normal}:host ::ng-deep .markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;color:var(--color-secondary);border-radius:6px}:host ::ng-deep .markdown-body code{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;border-radius:6px}:host ::ng-deep .markdown-body pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;border:0}:host ::ng-deep .markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--color-secondary);height:.15em;padding:0;margin:24px 0;background-color:var(--color-secondary);border:0}:host ::ng-deep .markdown-body hr:before{display:table;content:\"\"}:host ::ng-deep .markdown-body hr:after{display:table;clear:both;content:\"\"}:host ::ng-deep .markdown-body ul,:host ::ng-deep .markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em;list-style:revert}:host ::ng-deep .markdown-body ol ol,:host ::ng-deep .markdown-body ul ol{list-style-type:lower-roman}:host ::ng-deep .markdown-body ul ul ol,:host ::ng-deep .markdown-body ul ol ol,:host ::ng-deep .markdown-body ol ul ol,:host ::ng-deep .markdown-body ol ol ol{list-style-type:lower-alpha}:host ::ng-deep .markdown-body ol[type=\"a s\"]{list-style-type:lower-alpha}:host ::ng-deep .markdown-body ol[type=\"A s\"]{list-style-type:upper-alpha}:host ::ng-deep .markdown-body ol[type=\"i s\"]{list-style-type:lower-roman}:host ::ng-deep .markdown-body ol[type=\"I s\"]{list-style-type:upper-roman}:host ::ng-deep .markdown-body ol[type=\"1\"]{list-style:unset;list-style-type:decimal}:host ::ng-deep .markdown-body div>ol:not([type]){list-style:unset;list-style-type:decimal}:host ::ng-deep .markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;padding-bottom:15px}:host ::ng-deep .markdown-body td,:host ::ng-deep .markdown-body th{padding:0}:host ::ng-deep .markdown-body th{color:var(--color-secondary)}:host ::ng-deep .markdown-body table th,:host ::ng-deep .markdown-body table td{padding:6px 13px;border:1px solid var(--color-gray-500)}:host ::ng-deep .markdown-body table td>:last-child{margin-bottom:0}:host ::ng-deep .markdown-body table tr{background-color:#fff;border-top:1px solid var(--color-secondary-lighter)}:host ::ng-deep .markdown-body table tr:nth-child(2n){background-color:var(--color-gray-100)}:host ::ng-deep .markdown-body table img{background-color:transparent}:host ::ng-deep .markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:transparent}:host ::ng-deep .markdown-body img[align=right]{padding-left:20px}:host ::ng-deep .markdown-body img[align=left]{padding-right:20px}\n"] }]
|
|
24029
|
+
}], propDecorators: { textContent: [{
|
|
24030
|
+
type: Input
|
|
24031
|
+
}] } });
|
|
24032
|
+
|
|
23887
24033
|
class MetadataInfoComponent {
|
|
23888
24034
|
constructor() {
|
|
23889
24035
|
this.keyword = new EventEmitter();
|
|
@@ -23921,12 +24067,16 @@ class MetadataInfoComponent {
|
|
|
23921
24067
|
onKeywordClick(keyword) {
|
|
23922
24068
|
this.keyword.emit(keyword);
|
|
23923
24069
|
}
|
|
24070
|
+
copyText() {
|
|
24071
|
+
navigator.clipboard.writeText(this.metadata.uniqueIdentifier);
|
|
24072
|
+
event.target.blur();
|
|
24073
|
+
}
|
|
23924
24074
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23925
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MetadataInfoComponent, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<
|
|
24075
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MetadataInfoComponent, selector: "gn-ui-metadata-info", inputs: { metadata: "metadata", incomplete: "incomplete" }, outputs: { keyword: "keyword" }, ngImport: i0, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost ghostClass=\"h-32\" [showContent]=\"fieldReady('abstract')\">\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div>\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n class=\"metadata-origin\"\n *ngIf=\"\n metadata.lineage ||\n metadata.recordUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.origin' | translate\"\n>\n <p\n *ngIf=\"metadata.lineage\"\n class=\"mb-5 pt-4 whitespace-pre-line break-words\"\n gnUiLinkify\n >\n {{ metadata.lineage }}\n </p>\n <div\n class=\"py-4 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-[10px] gap-x-[20px] text-gray-700 info-grid\"\n >\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.status\">\n <p class=\"text-sm\" translate>record.metadata.updateStatus</p>\n <p class=\"text-primary font-medium mt-1\" translate>\n domain.record.status.{{ metadata.status }}\n </p>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel [title]=\"'record.metadata.usage' | translate\">\n <div class=\"py-4 px-6 rounded bg-gray-100 text-gray-700 flex flex-wrap gap-2\">\n <gn-ui-badge *ngIf=\"metadata.extras?.isOpenData\">\n <span translate>record.metadata.isOpenData</span>\n </gn-ui-badge>\n <span\n class=\"text-primary font-medium\"\n *ngFor=\"let usage of usages\"\n gnUiLinkify\n >\n {{ usage }}\n </span>\n <span class=\"text-primary font-medium noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.themes?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.themes</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 lowercase\"\n *ngFor=\"let theme of metadata.themes\"\n >{{ theme }}</gn-ui-badge\n >\n </div>\n </div>\n <div *ngIf=\"metadata.keywords?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.keywords</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button mat-icon{transform:scale(.8)}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable"] }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "collapsed"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "directive", type: GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "component", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23926
24076
|
}
|
|
23927
24077
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataInfoComponent, decorators: [{
|
|
23928
24078
|
type: Component,
|
|
23929
|
-
args: [{ selector: 'gn-ui-metadata-info', changeDetection: ChangeDetectionStrategy.OnPush, template: "<
|
|
24079
|
+
args: [{ selector: 'gn-ui-metadata-info', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost ghostClass=\"h-32\" [showContent]=\"fieldReady('abstract')\">\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div>\n <gn-ui-markdown-parser\n [textContent]=\"metadata.abstract\"\n ></gn-ui-markdown-parser>\n </div>\n </gn-ui-max-lines>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n class=\"metadata-origin\"\n *ngIf=\"\n metadata.lineage ||\n metadata.recordUpdated ||\n metadata.updateFrequency ||\n metadata.status\n \"\n [title]=\"'record.metadata.origin' | translate\"\n>\n <p\n *ngIf=\"metadata.lineage\"\n class=\"mb-5 pt-4 whitespace-pre-line break-words\"\n gnUiLinkify\n >\n {{ metadata.lineage }}\n </p>\n <div\n class=\"py-4 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-[10px] gap-x-[20px] text-gray-700 info-grid\"\n >\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"updateFrequency\">\n <p class=\"text-sm\" translate>record.metadata.updateFrequency</p>\n <p\n class=\"text-primary font-medium mt-1 updateFrequency\"\n translate\n [translateParams]=\"{ count: updatedTimes }\"\n >\n {{ updateFrequency }}\n </p>\n </div>\n <div *ngIf=\"metadata.status\">\n <p class=\"text-sm\" translate>record.metadata.updateStatus</p>\n <p class=\"text-primary font-medium mt-1\" translate>\n domain.record.status.{{ metadata.status }}\n </p>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel [title]=\"'record.metadata.usage' | translate\">\n <div class=\"py-4 px-6 rounded bg-gray-100 text-gray-700 flex flex-wrap gap-2\">\n <gn-ui-badge *ngIf=\"metadata.extras?.isOpenData\">\n <span translate>record.metadata.isOpenData</span>\n </gn-ui-badge>\n <span\n class=\"text-primary font-medium\"\n *ngFor=\"let usage of usages\"\n gnUiLinkify\n >\n {{ usage }}\n </span>\n <span class=\"text-primary font-medium noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'record.metadata.details' | translate\"\n>\n <div class=\"flex flex-col gap-4 mr-4 py-5 rounded text-gray-700\">\n <div *ngIf=\"metadata.recordUpdated\">\n <p class=\"text-sm\" translate>record.metadata.updatedOn</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.recordUpdated && metadata.recordUpdated.toLocaleString() }}\n </p>\n </div>\n <div *ngIf=\"metadata.landingPage\">\n <p class=\"text-sm\" translate>record.metadata.sheet</p>\n <p class=\"text-primary font-medium\" translate>\n <a [href]=\"metadata.landingPage\" target=\"_blank\">\n <span class=\"break-all\" gnUiLinkify>{{ metadata.landingPage }}</span>\n </a>\n </p>\n </div>\n <div *ngIf=\"metadata.ownerOrganization\">\n <p class=\"text-sm\" translate>record.metadata.owner</p>\n <p class=\"text-primary font-medium\">\n {{ metadata.ownerOrganization.name }}\n </p>\n </div>\n <div *ngIf=\"metadata.uniqueIdentifier\">\n <p class=\"text-sm\" translate>record.metadata.uniqueId</p>\n <div class=\"flex flex-row content-align items-end gap-1\">\n <gn-ui-copy-text-button\n [text]=\"metadata.uniqueIdentifier\"\n [tooltipText]=\"'tooltip.id.copy' | translate\"\n [displayText]=\"false\"\n ></gn-ui-copy-text-button>\n <p class=\"text-primary font-medium\">\n {{ metadata.uniqueIdentifier }}\n </p>\n </div>\n </div>\n <div *ngIf=\"metadata.themes?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.themes</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 lowercase\"\n *ngFor=\"let theme of metadata.themes\"\n >{{ theme }}</gn-ui-badge\n >\n </div>\n </div>\n <div *ngIf=\"metadata.keywords?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.keywords</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n class=\"inline-block mr-2 mb-2 lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword }}</gn-ui-badge\n >\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n", styles: [".md-description ::ng-deep a{@apply underline text-blue-600 hover:text-blue-800;}.info-grid>:nth-last-child(n+3){padding-bottom:10px;@apply border-b border-gray-300;}:host ::ng-deep gn-ui-copy-text-button button mat-icon{transform:scale(.8)}\n"] }]
|
|
23930
24080
|
}], propDecorators: { metadata: [{
|
|
23931
24081
|
type: Input
|
|
23932
24082
|
}], incomplete: [{
|
|
@@ -23995,11 +24145,11 @@ class ButtonComponent {
|
|
|
23995
24145
|
propagateToDocumentOnly(event);
|
|
23996
24146
|
}
|
|
23997
24147
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23998
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ButtonComponent, selector: "gn-ui-button", inputs: { type: "type", disabled: "disabled", extraClass: "extraClass" }, outputs: { buttonClick: "buttonClick" }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"flex flex-row items-center text-[1em] leading-none p-[1em] rounded-[0.25em] transition-all duration-100 focus:outline-none disabled:opacity-50 disabled:pointer-events-none\"\n [class]=\"classList\"\n [disabled]=\"disabled\"\n (click)=\"handleClick($event)\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [":host
|
|
24148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ButtonComponent, selector: "gn-ui-button", inputs: { type: "type", disabled: "disabled", extraClass: "extraClass" }, outputs: { buttonClick: "buttonClick" }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"flex flex-row items-center text-[1em] leading-none p-[1em] rounded-[0.25em] transition-all duration-100 focus:outline-none disabled:opacity-50 disabled:pointer-events-none\"\n [class]=\"classList\"\n [disabled]=\"disabled\"\n (click)=\"handleClick($event)\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [":host ::ng-deep mat-icon.mat-icon{margin-top:-.325em;margin-bottom:-.325em}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23999
24149
|
}
|
|
24000
24150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
24001
24151
|
type: Component,
|
|
24002
|
-
args: [{ selector: 'gn-ui-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n type=\"button\"\n class=\"flex flex-row items-center text-[1em] leading-none p-[1em] rounded-[0.25em] transition-all duration-100 focus:outline-none disabled:opacity-50 disabled:pointer-events-none\"\n [class]=\"classList\"\n [disabled]=\"disabled\"\n (click)=\"handleClick($event)\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [":host
|
|
24152
|
+
args: [{ selector: 'gn-ui-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n type=\"button\"\n class=\"flex flex-row items-center text-[1em] leading-none p-[1em] rounded-[0.25em] transition-all duration-100 focus:outline-none disabled:opacity-50 disabled:pointer-events-none\"\n [class]=\"classList\"\n [disabled]=\"disabled\"\n (click)=\"handleClick($event)\"\n>\n <ng-content></ng-content>\n</button>\n", styles: [":host ::ng-deep mat-icon.mat-icon{margin-top:-.325em;margin-bottom:-.325em}\n"] }]
|
|
24003
24153
|
}], propDecorators: { type: [{
|
|
24004
24154
|
type: Input
|
|
24005
24155
|
}], disabled: [{
|
|
@@ -24083,31 +24233,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
24083
24233
|
type: Input
|
|
24084
24234
|
}] } });
|
|
24085
24235
|
|
|
24086
|
-
class CopyTextButtonComponent {
|
|
24087
|
-
constructor() {
|
|
24088
|
-
this.displayText = true;
|
|
24089
|
-
this.rows = 1;
|
|
24090
|
-
}
|
|
24091
|
-
copyText(event) {
|
|
24092
|
-
navigator.clipboard.writeText(this.text);
|
|
24093
|
-
event.target.blur();
|
|
24094
|
-
}
|
|
24095
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CopyTextButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24096
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: { text: "text", tooltipText: "tooltipText", displayText: "displayText", rows: "rows" }, ngImport: i0, template: "<div class=\"flex\">\n <input\n *ngIf=\"displayText && rows <= 1\"\n type=\"text\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 truncate\"\n value=\"{{ text }}\"\n readonly\n />\n <textarea\n *ngIf=\"displayText && rows > 1\"\n [rows]=\"rows\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 overflow-y-auto h-max\"\n readonly\n >{{ text }}</textarea\n >\n <button\n type=\"button\"\n (click)=\"copyText($event)\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText\n }\"\n mat-raised-button\n [matTooltip]=\"tooltipText\"\n matTooltipPosition=\"above\"\n >\n <mat-icon\n class=\"material-symbols-outlined pointer-events-none align-middle card-icon\"\n >content_copy</mat-icon\n >\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24097
|
-
}
|
|
24098
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CopyTextButtonComponent, decorators: [{
|
|
24099
|
-
type: Component,
|
|
24100
|
-
args: [{ selector: 'gn-ui-copy-text-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex\">\n <input\n *ngIf=\"displayText && rows <= 1\"\n type=\"text\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 truncate\"\n value=\"{{ text }}\"\n readonly\n />\n <textarea\n *ngIf=\"displayText && rows > 1\"\n [rows]=\"rows\"\n class=\"grow py-2 px-4 bg-gray-200 opacity-50 rounded-l-md border border-gray-300 overflow-y-auto h-max\"\n readonly\n >{{ text }}</textarea\n >\n <button\n type=\"button\"\n (click)=\"copyText($event)\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText\n }\"\n mat-raised-button\n [matTooltip]=\"tooltipText\"\n matTooltipPosition=\"above\"\n >\n <mat-icon\n class=\"material-symbols-outlined pointer-events-none align-middle card-icon\"\n >content_copy</mat-icon\n >\n </button>\n</div>\n" }]
|
|
24101
|
-
}], propDecorators: { text: [{
|
|
24102
|
-
type: Input
|
|
24103
|
-
}], tooltipText: [{
|
|
24104
|
-
type: Input
|
|
24105
|
-
}], displayText: [{
|
|
24106
|
-
type: Input
|
|
24107
|
-
}], rows: [{
|
|
24108
|
-
type: Input
|
|
24109
|
-
}] } });
|
|
24110
|
-
|
|
24111
24236
|
class ApiCardComponent {
|
|
24112
24237
|
constructor() {
|
|
24113
24238
|
this.currentlyActive = false;
|
|
@@ -24304,11 +24429,11 @@ class CarouselComponent {
|
|
|
24304
24429
|
this.emblaApi.scrollTo(stepIndex);
|
|
24305
24430
|
}
|
|
24306
24431
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CarouselComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24307
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: CarouselComponent, selector: "gn-ui-carousel", inputs: { containerClass: "containerClass", stepsContainerClass: "stepsContainerClass" }, viewQueries: [{ propertyName: "carouselOverflowContainer", first: true, predicate: ["carouselOverflowContainer"], descendants: true }], ngImport: i0, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container
|
|
24432
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: CarouselComponent, selector: "gn-ui-carousel", inputs: { containerClass: "containerClass", stepsContainerClass: "stepsContainerClass" }, viewQueries: [{ propertyName: "carouselOverflowContainer", first: true, predicate: ["carouselOverflowContainer"], descendants: true }], ngImport: i0, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container ::ng-deep>*{flex-shrink:0}:host{position:relative}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-4px;top:-4px;width:14px;height:14px}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24308
24433
|
}
|
|
24309
24434
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
24310
24435
|
type: Component,
|
|
24311
|
-
args: [{ selector: 'gn-ui-carousel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container
|
|
24436
|
+
args: [{ selector: 'gn-ui-carousel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container ::ng-deep>*{flex-shrink:0}:host{position:relative}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-4px;top:-4px;width:14px;height:14px}\n"] }]
|
|
24312
24437
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { containerClass: [{
|
|
24313
24438
|
type: Input
|
|
24314
24439
|
}], stepsContainerClass: [{
|
|
@@ -24365,11 +24490,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
24365
24490
|
|
|
24366
24491
|
class RelatedRecordCardComponent {
|
|
24367
24492
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RelatedRecordCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24368
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RelatedRecordCardComponent, selector: "gn-ui-related-record-card", inputs: { record: "record" }, ngImport: i0, template: "<a\n class=\"w-72 h-96 overflow-hidden rounded-lg bg-white cursor-pointer block hover:-translate-y-2 duration-[180ms]\"\n [routerLink]=\"['/dataset', record.uniqueIdentifier]\"\n target=\"_blank\"\n>\n <div class=\"h-52 bg-gray-100\">\n <gn-ui-thumbnail\n class=\"h-52 w-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]
|
|
24493
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RelatedRecordCardComponent, selector: "gn-ui-related-record-card", inputs: { record: "record" }, ngImport: i0, template: "<a\n class=\"w-72 h-96 overflow-hidden rounded-lg bg-white cursor-pointer block hover:-translate-y-2 duration-[180ms]\"\n [routerLink]=\"['/dataset', record.uniqueIdentifier]\"\n target=\"_blank\"\n>\n <div class=\"h-52 bg-gray-100\">\n <gn-ui-thumbnail\n class=\"h-52 w-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col justify-between h-44 px-5 pt-4 pb-6\">\n <h4\n class=\"max-h-24 font-title text-21 text-black text-ellipsis overflow-hidden\"\n >\n {{ record.title }}\n </h4>\n <div>\n <button\n mat-raised-button\n [matTooltip]=\"'tooltip.url.open' | translate\"\n matTooltipPosition=\"above\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle text-secondary\"\n >open_in_new</mat-icon\n >\n </button>\n </div>\n </div>\n</a>\n", styles: [""], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24369
24494
|
}
|
|
24370
24495
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RelatedRecordCardComponent, decorators: [{
|
|
24371
24496
|
type: Component,
|
|
24372
|
-
args: [{ selector: 'gn-ui-related-record-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"w-72 h-96 overflow-hidden rounded-lg bg-white cursor-pointer block hover:-translate-y-2 duration-[180ms]\"\n [routerLink]=\"['/dataset', record.uniqueIdentifier]\"\n target=\"_blank\"\n>\n <div class=\"h-52 bg-gray-100\">\n <gn-ui-thumbnail\n class=\"h-52 w-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]
|
|
24497
|
+
args: [{ selector: 'gn-ui-related-record-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"w-72 h-96 overflow-hidden rounded-lg bg-white cursor-pointer block hover:-translate-y-2 duration-[180ms]\"\n [routerLink]=\"['/dataset', record.uniqueIdentifier]\"\n target=\"_blank\"\n>\n <div class=\"h-52 bg-gray-100\">\n <gn-ui-thumbnail\n class=\"h-52 w-full object-cover\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col justify-between h-44 px-5 pt-4 pb-6\">\n <h4\n class=\"max-h-24 font-title text-21 text-black text-ellipsis overflow-hidden\"\n >\n {{ record.title }}\n </h4>\n <div>\n <button\n mat-raised-button\n [matTooltip]=\"'tooltip.url.open' | translate\"\n matTooltipPosition=\"above\"\n >\n <mat-icon class=\"material-symbols-outlined align-middle text-secondary\"\n >open_in_new</mat-icon\n >\n </button>\n </div>\n </div>\n</a>\n" }]
|
|
24373
24498
|
}], propDecorators: { record: [{
|
|
24374
24499
|
type: Input
|
|
24375
24500
|
}] } });
|
|
@@ -24397,11 +24522,11 @@ class MetadataContactComponent {
|
|
|
24397
24522
|
this.organizationClick.emit(this.shownOrganization);
|
|
24398
24523
|
}
|
|
24399
24524
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataContactComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24400
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MetadataContactComponent, selector: "gn-ui-metadata-contact", inputs: { metadata: "metadata" }, outputs: { organizationClick: "organizationClick", contactClick: "contactClick" }, ngImport: i0, template: "<div class=\"py-5 px-5 rounded bg-gray-100 text-black mb-6 sm:mb-12\">\n <div class=\"grid gap-3\">\n <div>\n <p class=\"text-sm font-medium\" translate>record.metadata.contact</p>\n </div>\n <div\n *ngIf=\"shownOrganization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"shownOrganization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grid gap-1\">\n <div class=\"flex\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n data-cy=\"organization-name\"\n >\n {{ shownOrganization
|
|
24525
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: MetadataContactComponent, selector: "gn-ui-metadata-contact", inputs: { metadata: "metadata" }, outputs: { organizationClick: "organizationClick", contactClick: "contactClick" }, ngImport: i0, template: "<div class=\"py-5 px-5 rounded bg-gray-100 text-black mb-6 sm:mb-12\">\n <div class=\"grid gap-3\">\n <div>\n <p class=\"text-sm font-medium\" translate>record.metadata.contact</p>\n </div>\n <div\n *ngIf=\"shownOrganization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"shownOrganization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grid gap-1\">\n <div class=\"flex\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n data-cy=\"organization-name\"\n >\n {{ shownOrganization?.name }}\n </div>\n </div>\n <div *ngIf=\"shownOrganization?.website\">\n <a\n [href]=\"shownOrganization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ shownOrganization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n </div>\n <div class=\"grid gap-5 py-3 overflow-hidden\">\n <div *ngIf=\"contacts[0]?.phone\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >call_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">{{ contacts[0].phone }}</p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"contacts.length\"\n [href]=\"'mailto:' + contacts[0].email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ contacts[0].email }}</a\n >\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.firstName || contacts[0]?.lastName\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >person_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">\n {{ contacts[0]?.firstName || '' }}\n {{ contacts[0]?.lastName || '' }}\n </p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.address\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n location_on</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p *ngFor=\"let addressPart of address\" class=\"text-sm\">\n {{ addressPart }}\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24401
24526
|
}
|
|
24402
24527
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataContactComponent, decorators: [{
|
|
24403
24528
|
type: Component,
|
|
24404
|
-
args: [{ selector: 'gn-ui-metadata-contact', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"py-5 px-5 rounded bg-gray-100 text-black mb-6 sm:mb-12\">\n <div class=\"grid gap-3\">\n <div>\n <p class=\"text-sm font-medium\" translate>record.metadata.contact</p>\n </div>\n <div\n *ngIf=\"shownOrganization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"shownOrganization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grid gap-1\">\n <div class=\"flex\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n data-cy=\"organization-name\"\n >\n {{ shownOrganization
|
|
24529
|
+
args: [{ selector: 'gn-ui-metadata-contact', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"py-5 px-5 rounded bg-gray-100 text-black mb-6 sm:mb-12\">\n <div class=\"grid gap-3\">\n <div>\n <p class=\"text-sm font-medium\" translate>record.metadata.contact</p>\n </div>\n <div\n *ngIf=\"shownOrganization?.logoUrl?.href\"\n class=\"flex items-center justify-center border-solid border border-gray-300 rounded-md bg-white h-32 overflow-hidden\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"shownOrganization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"grid gap-1\">\n <div class=\"flex\">\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n (click)=\"onOrganizationClick()\"\n data-cy=\"organization-name\"\n >\n {{ shownOrganization?.name }}\n </div>\n </div>\n <div *ngIf=\"shownOrganization?.website\">\n <a\n [href]=\"shownOrganization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ shownOrganization.website }}\n <mat-icon\n class=\"material-symbols-outlined !w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n >open_in_new</mat-icon\n >\n </a>\n </div>\n </div>\n <div class=\"grid gap-5 py-3 overflow-hidden\">\n <div *ngIf=\"contacts[0]?.phone\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >call_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">{{ contacts[0].phone }}</p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.email\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n mail_outline</mat-icon\n >\n <a\n *ngIf=\"contacts.length\"\n [href]=\"'mailto:' + contacts[0].email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ contacts[0].email }}</a\n >\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.firstName || contacts[0]?.lastName\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >person_outline</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p class=\"text-sm\">\n {{ contacts[0]?.firstName || '' }}\n {{ contacts[0]?.lastName || '' }}\n </p>\n </div>\n </div>\n </div>\n <div *ngIf=\"contacts[0]?.address\">\n <div class=\"flex\">\n <mat-icon\n class=\"material-symbols-outlined !w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n >\n location_on</mat-icon\n >\n <div class=\"flex flex-col ml-2\">\n <p *ngFor=\"let addressPart of address\" class=\"text-sm\">\n {{ addressPart }}\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
24405
24530
|
}], propDecorators: { metadata: [{
|
|
24406
24531
|
type: Input
|
|
24407
24532
|
}], organizationClick: [{
|
|
@@ -25121,11 +25246,11 @@ class StarToggleComponent {
|
|
|
25121
25246
|
event.preventDefault();
|
|
25122
25247
|
}
|
|
25123
25248
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: StarToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25124
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: StarToggleComponent, selector: "gn-ui-star-toggle", inputs: { toggled: "toggled", disabled: "disabled" }, outputs: { newValue: "newValue" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["starOverlay"], descendants: true }], ngImport: i0, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled\n }\"\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'star-filled': toggled }\"\n >star</mat-icon\n >\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}mat-icon{width:1em;height:1em;font-size:1.5em;margin-top:-.1em;font-variation-settings:\"opsz\" 40}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25249
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: StarToggleComponent, selector: "gn-ui-star-toggle", inputs: { toggled: "toggled", disabled: "disabled" }, outputs: { newValue: "newValue" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["starOverlay"], descendants: true }], ngImport: i0, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled\n }\"\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'star-filled': toggled }\"\n >star</mat-icon\n >\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}mat-icon{width:1em;height:1em;font-size:1.5em;margin-top:-.1em;font-variation-settings:\"opsz\" 40;stroke:var(--color-primary-darker)}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25125
25250
|
}
|
|
25126
25251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: StarToggleComponent, decorators: [{
|
|
25127
25252
|
type: Component,
|
|
25128
|
-
args: [{ selector: 'gn-ui-star-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled\n }\"\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'star-filled': toggled }\"\n >star</mat-icon\n >\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}mat-icon{width:1em;height:1em;font-size:1.5em;margin-top:-.1em;font-variation-settings:\"opsz\" 40}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"] }]
|
|
25253
|
+
args: [{ selector: 'gn-ui-star-toggle', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled\n }\"\n >\n <mat-icon\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'star-filled': toggled }\"\n >star</mat-icon\n >\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}mat-icon{width:1em;height:1em;font-size:1.5em;margin-top:-.1em;font-variation-settings:\"opsz\" 40;stroke:var(--color-primary-darker)}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"] }]
|
|
25129
25254
|
}], propDecorators: { toggled: [{
|
|
25130
25255
|
type: Input
|
|
25131
25256
|
}], disabled: [{
|
|
@@ -25237,11 +25362,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
25237
25362
|
|
|
25238
25363
|
class NavigationButtonComponent {
|
|
25239
25364
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NavigationButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25240
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NavigationButtonComponent, selector: "gn-ui-navigation-button", inputs: { label: "label", icon: "icon" }, ngImport: i0, template: "<button\n class=\"group flex items-center justify-center backdrop-blur p-1 bg-primary-opacity-
|
|
25365
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NavigationButtonComponent, selector: "gn-ui-navigation-button", inputs: { label: "label", icon: "icon" }, ngImport: i0, template: "<button\n class=\"group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 text-white rounded content-center\"\n>\n <mat-icon class=\"material-symbols-outlined align-middle w-[18px]\">{{\n icon\n }}</mat-icon>\n <span\n class=\"mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75\"\n >{{ label.toUpperCase() }}</span\n >\n</button>\n", styles: [""], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25241
25366
|
}
|
|
25242
25367
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NavigationButtonComponent, decorators: [{
|
|
25243
25368
|
type: Component,
|
|
25244
|
-
args: [{ selector: 'gn-ui-navigation-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"group flex items-center justify-center backdrop-blur p-1 bg-primary-opacity-
|
|
25369
|
+
args: [{ selector: 'gn-ui-navigation-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 text-white rounded content-center\"\n>\n <mat-icon class=\"material-symbols-outlined align-middle w-[18px]\">{{\n icon\n }}</mat-icon>\n <span\n class=\"mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75\"\n >{{ label.toUpperCase() }}</span\n >\n</button>\n" }]
|
|
25245
25370
|
}], propDecorators: { label: [{
|
|
25246
25371
|
type: Input
|
|
25247
25372
|
}], icon: [{
|
|
@@ -25804,6 +25929,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
25804
25929
|
type: Input
|
|
25805
25930
|
}] } });
|
|
25806
25931
|
|
|
25932
|
+
class ImageOverlayPreviewComponent {
|
|
25933
|
+
constructor() {
|
|
25934
|
+
this.isPlaceholderShown = new EventEmitter();
|
|
25935
|
+
}
|
|
25936
|
+
openLightbox(src) {
|
|
25937
|
+
basicLightbox.create(`<img src="${src}"/>`).show();
|
|
25938
|
+
}
|
|
25939
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ImageOverlayPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25940
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ImageOverlayPreviewComponent, selector: "gn-ui-image-overlay-preview", inputs: { imageUrl: "imageUrl" }, outputs: { isPlaceholderShown: "isPlaceholderShown" }, ngImport: i0, template: "<gn-ui-content-ghost\n [showContent]=\"imageUrl !== undefined\"\n ghostClass=\"h-36 mb-3\"\n>\n <div\n *ngIf=\"imageUrl\"\n data-cy=\"record-thumbnail\"\n class=\"flex-shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36 group-hover:shadow-xl group-hover:border-0 mb-3\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"imageUrl\"\n fit=\"cover\"\n (placeholderShown)=\"isPlaceholderShown.emit($event)\"\n ></gn-ui-thumbnail>\n <div class=\"relative\">\n <gn-ui-button\n class=\"absolute bottom-0 right-0 z-10 mr-2 mb-2\"\n [type]=\"'outline'\"\n [extraClass]=\"'!py-2 !px-0'\"\n (buttonClick)=\"openLightbox(imageUrl)\"\n >\n <mat-icon class=\"material-symbols-outlined font-extralight\"\n >zoom_out_map</mat-icon\n >\n </gn-ui-button>\n </div>\n </div>\n</gn-ui-content-ghost>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }] }); }
|
|
25941
|
+
}
|
|
25942
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ImageOverlayPreviewComponent, decorators: [{
|
|
25943
|
+
type: Component,
|
|
25944
|
+
args: [{ selector: 'gn-ui-image-overlay-preview', template: "<gn-ui-content-ghost\n [showContent]=\"imageUrl !== undefined\"\n ghostClass=\"h-36 mb-3\"\n>\n <div\n *ngIf=\"imageUrl\"\n data-cy=\"record-thumbnail\"\n class=\"flex-shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36 group-hover:shadow-xl group-hover:border-0 mb-3\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"imageUrl\"\n fit=\"cover\"\n (placeholderShown)=\"isPlaceholderShown.emit($event)\"\n ></gn-ui-thumbnail>\n <div class=\"relative\">\n <gn-ui-button\n class=\"absolute bottom-0 right-0 z-10 mr-2 mb-2\"\n [type]=\"'outline'\"\n [extraClass]=\"'!py-2 !px-0'\"\n (buttonClick)=\"openLightbox(imageUrl)\"\n >\n <mat-icon class=\"material-symbols-outlined font-extralight\"\n >zoom_out_map</mat-icon\n >\n </gn-ui-button>\n </div>\n </div>\n</gn-ui-content-ghost>\n" }]
|
|
25945
|
+
}], propDecorators: { imageUrl: [{
|
|
25946
|
+
type: Input
|
|
25947
|
+
}], isPlaceholderShown: [{
|
|
25948
|
+
type: Output
|
|
25949
|
+
}] } });
|
|
25950
|
+
|
|
25807
25951
|
class UiElementsModule {
|
|
25808
25952
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: UiElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
25809
25953
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: UiElementsModule, declarations: [MetadataInfoComponent,
|
|
@@ -25825,7 +25969,9 @@ class UiElementsModule {
|
|
|
25825
25969
|
GnUiLinkifyDirective,
|
|
25826
25970
|
PaginationButtonsComponent,
|
|
25827
25971
|
MaxLinesComponent,
|
|
25828
|
-
RecordApiFormComponent
|
|
25972
|
+
RecordApiFormComponent,
|
|
25973
|
+
MarkdownParserComponent,
|
|
25974
|
+
ImageOverlayPreviewComponent], imports: [CommonModule,
|
|
25829
25975
|
MatIconModule,
|
|
25830
25976
|
MatTooltipModule,
|
|
25831
25977
|
UiWidgetsModule,
|
|
@@ -25850,7 +25996,9 @@ class UiElementsModule {
|
|
|
25850
25996
|
AvatarComponent,
|
|
25851
25997
|
UserPreviewComponent,
|
|
25852
25998
|
PaginationButtonsComponent,
|
|
25853
|
-
RecordApiFormComponent
|
|
25999
|
+
RecordApiFormComponent,
|
|
26000
|
+
MarkdownParserComponent,
|
|
26001
|
+
ImageOverlayPreviewComponent] }); }
|
|
25854
26002
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: UiElementsModule, imports: [CommonModule,
|
|
25855
26003
|
MatIconModule,
|
|
25856
26004
|
MatTooltipModule,
|
|
@@ -25899,6 +26047,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
25899
26047
|
PaginationButtonsComponent,
|
|
25900
26048
|
MaxLinesComponent,
|
|
25901
26049
|
RecordApiFormComponent,
|
|
26050
|
+
MarkdownParserComponent,
|
|
26051
|
+
ImageOverlayPreviewComponent,
|
|
25902
26052
|
],
|
|
25903
26053
|
exports: [
|
|
25904
26054
|
MetadataInfoComponent,
|
|
@@ -25919,6 +26069,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
25919
26069
|
UserPreviewComponent,
|
|
25920
26070
|
PaginationButtonsComponent,
|
|
25921
26071
|
RecordApiFormComponent,
|
|
26072
|
+
MarkdownParserComponent,
|
|
26073
|
+
ImageOverlayPreviewComponent,
|
|
25922
26074
|
],
|
|
25923
26075
|
}]
|
|
25924
26076
|
}] });
|
|
@@ -27305,6 +27457,7 @@ class FavoriteStarComponent {
|
|
|
27305
27457
|
this.changeDetector = changeDetector;
|
|
27306
27458
|
this.authService = authService;
|
|
27307
27459
|
this.translateService = translateService;
|
|
27460
|
+
this.displayCount = true;
|
|
27308
27461
|
this.isFavorite$ = this.favoritesService.myFavoritesUuid$.pipe(map$1((favorites) => favorites.indexOf(this.record.uniqueIdentifier) > -1));
|
|
27309
27462
|
this.isAnonymous$ = this.platformService.isAnonymous();
|
|
27310
27463
|
this.loading = false;
|
|
@@ -27367,12 +27520,14 @@ class FavoriteStarComponent {
|
|
|
27367
27520
|
});
|
|
27368
27521
|
}
|
|
27369
27522
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FavoriteStarComponent, deps: [{ token: FavoritesService }, { token: PlatformServiceInterface }, { token: i0.ChangeDetectorRef }, { token: AuthService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27370
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: FavoriteStarComponent, selector: "gn-ui-favorite-star", inputs: { record: "record" }, viewQueries: [{ propertyName: "starToggleRef", first: true, predicate: StarToggleComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<div>\n <span
|
|
27523
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: FavoriteStarComponent, selector: "gn-ui-favorite-star", inputs: { displayCount: "displayCount", record: "record" }, viewQueries: [{ propertyName: "starToggleRef", first: true, predicate: StarToggleComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"flex flex-row content-center\">\n <span\n class=\"align-text-top mr-1.5 mt-1.5 favorite-count\"\n *ngIf=\"hasFavoriteCount && displayCount\"\n >{{ favoriteCount }}</span\n >\n <gn-ui-star-toggle\n [toggled]=\"isFavorite$ | async\"\n (newValue)=\"toggleFavorite($event)\"\n [disabled]=\"loading || (isAnonymous$ | async)\"\n class=\"mt-1\"\n ></gn-ui-star-toggle>\n <span\n class=\"align-text-top ml-1.5 favorite-count mt-1.5\"\n *ngIf=\"!displayCount\"\n translate=\"datahub.record.addToFavorites\"\n ></span>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: StarToggleComponent, selector: "gn-ui-star-toggle", inputs: ["toggled", "disabled"], outputs: ["newValue"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27371
27524
|
}
|
|
27372
27525
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FavoriteStarComponent, decorators: [{
|
|
27373
27526
|
type: Component,
|
|
27374
|
-
args: [{ selector: 'gn-ui-favorite-star', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <span
|
|
27375
|
-
}], ctorParameters: function () { return [{ type: FavoritesService }, { type: PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: AuthService }, { type: i1$1.TranslateService }]; }, propDecorators: {
|
|
27527
|
+
args: [{ selector: 'gn-ui-favorite-star', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-row content-center\">\n <span\n class=\"align-text-top mr-1.5 mt-1.5 favorite-count\"\n *ngIf=\"hasFavoriteCount && displayCount\"\n >{{ favoriteCount }}</span\n >\n <gn-ui-star-toggle\n [toggled]=\"isFavorite$ | async\"\n (newValue)=\"toggleFavorite($event)\"\n [disabled]=\"loading || (isAnonymous$ | async)\"\n class=\"mt-1\"\n ></gn-ui-star-toggle>\n <span\n class=\"align-text-top ml-1.5 favorite-count mt-1.5\"\n *ngIf=\"!displayCount\"\n translate=\"datahub.record.addToFavorites\"\n ></span>\n</div>\n" }]
|
|
27528
|
+
}], ctorParameters: function () { return [{ type: FavoritesService }, { type: PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: AuthService }, { type: i1$1.TranslateService }]; }, propDecorators: { displayCount: [{
|
|
27529
|
+
type: Input
|
|
27530
|
+
}], record: [{
|
|
27376
27531
|
type: Input
|
|
27377
27532
|
}], starToggleRef: [{
|
|
27378
27533
|
type: ViewChild,
|
|
@@ -27415,7 +27570,7 @@ class ResultsListContainerComponent {
|
|
|
27415
27570
|
return this.recordUrlTemplate.replace('${uuid}', metadata.uniqueIdentifier);
|
|
27416
27571
|
}
|
|
27417
27572
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ResultsListContainerComponent, deps: [{ token: SearchFacade }, { token: RESULTS_LAYOUT_CONFIG }, { token: RECORD_URL_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27418
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ResultsListContainerComponent, selector: "gn-ui-results-list-container", inputs: { metadataQualityDisplay: "metadataQualityDisplay", layout: "layout", showMore: "showMore" }, outputs: { mdSelect: "mdSelect" }, ngImport: i0, template: "<div *ngIf=\"(error$ | async) === null\" class=\"search-results relative\">\n <gn-ui-results-list\n [records]=\"facade.results$ | async\"\n [layoutConfig]=\"layoutConfig$ | async\"\n [metadataQualityDisplay]=\"\n metadataQualityDisplay && (pipelineForQualityScoreActivated | async)\n \"\n [favoriteTemplate]=\"favoriteToggle\"\n [recordUrlGetter]=\"recordUrlGetter\"\n (mdSelect)=\"onMetadataSelection($event)\"\n ></gn-ui-results-list>\n <ng-container\n *ngIf=\"\n (facade.isLoading$ | async) === false &&\n (facade.isEndOfResults$ | async) === false\n \"\n >\n <div class=\"show-more h-[100px] pt-[30px]\" *ngIf=\"showMore === 'button'\">\n <gn-ui-button\n data-cy=\"addMoreBtn\"\n type=\"secondary\"\n (buttonClick)=\"onShowMore()\"\n extraClass=\"m-auto !p-[22px]\"\n >\n <span class=\"uppercase font-medium tracking-widest\" translate\n >results.showMore</span\n >\n </gn-ui-button>\n </div>\n <div class=\"show-more h-[100px]\" *ngIf=\"showMore === 'auto'\">\n <gn-ui-viewport-intersector\n (entersViewport)=\"onShowMore()\"\n ></gn-ui-viewport-intersector>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"(facade.isLoading$ | async) === true\">\n <div class=\"loading flex justify-center h-[100px] pt-[45px]\">\n <gn-ui-spinning-loader></gn-ui-spinning-loader>\n </div>\n </ng-container>\n</div>\n\n<div class=\"p-4 max-w-[600px] m-auto text-[13px]\">\n <gn-ui-search-results-error\n *ngIf=\"(errorCode$ | async) === 0\"\n [type]=\"errorTypes.COULD_NOT_REACH_API\"\n >\n </gn-ui-search-results-error>\n <gn-ui-search-results-error\n *ngIf=\"(error$ | async) !== null && (errorCode$ | async) !== 0\"\n [type]=\"errorTypes.RECEIVED_ERROR\"\n [error]=\"errorMessage$ | async\"\n ></gn-ui-search-results-error>\n</div>\n\n<ng-template #favoriteToggle let-record>\n <gn-ui-favorite-star [record]=\"record\"></gn-ui-favorite-star>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ResultsListComponent, selector: "gn-ui-results-list", inputs: ["records", "layoutConfig", "favoriteTemplate", "recordUrlGetter", "metadataQualityDisplay"], outputs: ["mdSelect"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: ViewportIntersectorComponent, selector: "gn-ui-viewport-intersector", outputs: ["isInViewport", "entersViewport", "exitsViewport"] }, { kind: "component", type: SearchResultsErrorComponent, selector: "gn-ui-search-results-error", inputs: ["type", "error", "recordId"] }, { kind: "component", type: SpinningLoaderComponent, selector: "gn-ui-spinning-loader" }, { kind: "component", type: FavoriteStarComponent, selector: "gn-ui-favorite-star", inputs: ["record"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }] }); }
|
|
27573
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: ResultsListContainerComponent, selector: "gn-ui-results-list-container", inputs: { metadataQualityDisplay: "metadataQualityDisplay", layout: "layout", showMore: "showMore" }, outputs: { mdSelect: "mdSelect" }, ngImport: i0, template: "<div *ngIf=\"(error$ | async) === null\" class=\"search-results relative\">\n <gn-ui-results-list\n [records]=\"facade.results$ | async\"\n [layoutConfig]=\"layoutConfig$ | async\"\n [metadataQualityDisplay]=\"\n metadataQualityDisplay && (pipelineForQualityScoreActivated | async)\n \"\n [favoriteTemplate]=\"favoriteToggle\"\n [recordUrlGetter]=\"recordUrlGetter\"\n (mdSelect)=\"onMetadataSelection($event)\"\n ></gn-ui-results-list>\n <ng-container\n *ngIf=\"\n (facade.isLoading$ | async) === false &&\n (facade.isEndOfResults$ | async) === false\n \"\n >\n <div class=\"show-more h-[100px] pt-[30px]\" *ngIf=\"showMore === 'button'\">\n <gn-ui-button\n data-cy=\"addMoreBtn\"\n type=\"secondary\"\n (buttonClick)=\"onShowMore()\"\n extraClass=\"m-auto !p-[22px]\"\n >\n <span class=\"uppercase font-medium tracking-widest\" translate\n >results.showMore</span\n >\n </gn-ui-button>\n </div>\n <div class=\"show-more h-[100px]\" *ngIf=\"showMore === 'auto'\">\n <gn-ui-viewport-intersector\n (entersViewport)=\"onShowMore()\"\n ></gn-ui-viewport-intersector>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"(facade.isLoading$ | async) === true\">\n <div class=\"loading flex justify-center h-[100px] pt-[45px]\">\n <gn-ui-spinning-loader></gn-ui-spinning-loader>\n </div>\n </ng-container>\n</div>\n\n<div class=\"p-4 max-w-[600px] m-auto text-[13px]\">\n <gn-ui-search-results-error\n *ngIf=\"(errorCode$ | async) === 0\"\n [type]=\"errorTypes.COULD_NOT_REACH_API\"\n >\n </gn-ui-search-results-error>\n <gn-ui-search-results-error\n *ngIf=\"(error$ | async) !== null && (errorCode$ | async) !== 0\"\n [type]=\"errorTypes.RECEIVED_ERROR\"\n [error]=\"errorMessage$ | async\"\n ></gn-ui-search-results-error>\n</div>\n\n<ng-template #favoriteToggle let-record>\n <gn-ui-favorite-star [record]=\"record\"></gn-ui-favorite-star>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ResultsListComponent, selector: "gn-ui-results-list", inputs: ["records", "layoutConfig", "favoriteTemplate", "recordUrlGetter", "metadataQualityDisplay"], outputs: ["mdSelect"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: ViewportIntersectorComponent, selector: "gn-ui-viewport-intersector", outputs: ["isInViewport", "entersViewport", "exitsViewport"] }, { kind: "component", type: SearchResultsErrorComponent, selector: "gn-ui-search-results-error", inputs: ["type", "error", "recordId"] }, { kind: "component", type: SpinningLoaderComponent, selector: "gn-ui-spinning-loader" }, { kind: "component", type: FavoriteStarComponent, selector: "gn-ui-favorite-star", inputs: ["displayCount", "record"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }] }); }
|
|
27419
27574
|
}
|
|
27420
27575
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ResultsListContainerComponent, decorators: [{
|
|
27421
27576
|
type: Component,
|
|
@@ -28130,7 +28285,7 @@ class AddLayerRecordPreviewComponent extends RecordPreviewComponent {
|
|
|
28130
28285
|
return getLinkLabel(link);
|
|
28131
28286
|
}
|
|
28132
28287
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerRecordPreviewComponent, deps: [{ token: i0.ElementRef }, { token: LinkClassifierService }, { token: MapFacade }, { token: MapUtilsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28133
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerRecordPreviewComponent, selector: "gn-ui-add-layer-record-preview", usesInheritance: true, ngImport: i0, template: "<div class=\"w-full flex flex-row rounded-sm\" [title]=\"record.abstract\">\n <gn-ui-thumbnail\n class=\"w-16 h-16 shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"flex flex-col p-2 gap-2 overflow-hidden\">\n <h1 class=\"text-sm font-medium truncate\">\n {{ record.title }}\n </h1>\n <ng-container *ngFor=\"let link of mapLinks\">\n <gn-ui-button\n [type]=\"'outline'\"\n (buttonClick)=\"handleLinkClick(link)\"\n extraClass=\"!py-[8px] !px-[12px]\"\n >\n <div class=\"text-left text-[12px] line-clamp-2\">\n {{ getLinkLabel(link) }}\n </div>\n </gn-ui-button>\n </ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28288
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerRecordPreviewComponent, selector: "gn-ui-add-layer-record-preview", usesInheritance: true, ngImport: i0, template: "<div class=\"w-full flex flex-row rounded-sm\" [title]=\"record.abstract\">\n <gn-ui-thumbnail\n class=\"w-16 h-16 shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"flex flex-col p-2 gap-2 overflow-hidden\">\n <h1 class=\"text-sm font-medium truncate\">\n {{ record.title }}\n </h1>\n <ng-container *ngFor=\"let link of mapLinks\">\n <gn-ui-button\n [type]=\"'outline'\"\n (buttonClick)=\"handleLinkClick(link)\"\n extraClass=\"!py-[8px] !px-[12px]\"\n >\n <div class=\"text-left text-[12px] line-clamp-2\">\n {{ getLinkLabel(link) }}\n </div>\n </gn-ui-button>\n </ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28134
28289
|
}
|
|
28135
28290
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerRecordPreviewComponent, decorators: [{
|
|
28136
28291
|
type: Component,
|
|
@@ -28174,6 +28329,208 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
28174
28329
|
], template: "<div class=\"h-full text-sm\">\n <gn-ui-fuzzy-search></gn-ui-fuzzy-search>\n <gn-ui-results-list-container\n layout=\"ADDLAYER\"\n ></gn-ui-results-list-container>\n</div>\n", styles: ["::ng-deep .mat-tab-body-wrapper{flex-grow:1}\n"] }]
|
|
28175
28330
|
}], ctorParameters: function () { return [{ type: SearchFacade }]; } });
|
|
28176
28331
|
|
|
28332
|
+
class AddLayerFromWmsComponent {
|
|
28333
|
+
constructor(mapFacade, changeDetectorRef) {
|
|
28334
|
+
this.mapFacade = mapFacade;
|
|
28335
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
28336
|
+
this.wmsUrl = '';
|
|
28337
|
+
this.loading = false;
|
|
28338
|
+
this.layers = [];
|
|
28339
|
+
this.wmsEndpoint = null;
|
|
28340
|
+
this.urlChange = new Subject();
|
|
28341
|
+
this.errorMessage = null;
|
|
28342
|
+
}
|
|
28343
|
+
ngOnInit() {
|
|
28344
|
+
this.urlChange.pipe(debounceTime(700)).subscribe(() => this.loadLayers());
|
|
28345
|
+
}
|
|
28346
|
+
async loadLayers() {
|
|
28347
|
+
this.errorMessage = null;
|
|
28348
|
+
try {
|
|
28349
|
+
this.loading = true;
|
|
28350
|
+
if (this.wmsUrl.trim() === '') {
|
|
28351
|
+
this.layers = [];
|
|
28352
|
+
return;
|
|
28353
|
+
}
|
|
28354
|
+
this.wmsEndpoint = await new WmsEndpoint(this.wmsUrl).isReady();
|
|
28355
|
+
this.layers = this.wmsEndpoint.getLayers();
|
|
28356
|
+
}
|
|
28357
|
+
catch (error) {
|
|
28358
|
+
const err = error;
|
|
28359
|
+
this.layers = [];
|
|
28360
|
+
this.errorMessage = 'Error loading layers: ' + err.message;
|
|
28361
|
+
}
|
|
28362
|
+
finally {
|
|
28363
|
+
this.loading = false;
|
|
28364
|
+
this.changeDetectorRef.markForCheck();
|
|
28365
|
+
}
|
|
28366
|
+
}
|
|
28367
|
+
addLayer(layer) {
|
|
28368
|
+
const layerToAdd = {
|
|
28369
|
+
name: layer.name,
|
|
28370
|
+
url: this.wmsUrl.toString(),
|
|
28371
|
+
type: MapContextLayerTypeEnum.WMS,
|
|
28372
|
+
};
|
|
28373
|
+
this.mapFacade.addLayer({ ...layerToAdd, title: layer.title });
|
|
28374
|
+
}
|
|
28375
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromWmsComponent, deps: [{ token: MapFacade }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28376
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerFromWmsComponent, selector: "gn-ui-add-layer-from-wms", ngImport: i0, template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"wmsUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.wms.urlInput.hint' | translate\"\n class=\"w-96\"\n >\n </gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<div *ngIf=\"!loading && layers.length > 0\">\n <h2 class=\"font-bold\" translate>map.layers.available</h2>\n <ng-container\n *ngFor=\"let layer of layers\"\n [ngTemplateOutlet]=\"layerTreeItem\"\n [ngTemplateOutletContext]=\"{\n layer: layer\n }\"\n ></ng-container>\n</div>\n\n<ng-template #layerTreeItem let-layer=\"layer\">\n <div class=\"flex items-center justify-between layer-tree-item my-2\">\n <p class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\">\n {{ layer.title }}\n </p>\n <gn-ui-button\n *ngIf=\"layer.name\"\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer)\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n ><span translate> map.layer.add </span></gn-ui-button\n >\n </div>\n <div *ngIf=\"layer.children?.length > 0\" class=\"ml-4\">\n <ng-container\n *ngFor=\"let child of layer.children\"\n [ngTemplateOutlet]=\"layerTreeItem\"\n [ngTemplateOutletContext]=\"{\n layer: child\n }\"\n >\n </ng-container>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "hint", "required"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
|
|
28377
|
+
}
|
|
28378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromWmsComponent, decorators: [{
|
|
28379
|
+
type: Component,
|
|
28380
|
+
args: [{ selector: 'gn-ui-add-layer-from-wms', template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"wmsUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.wms.urlInput.hint' | translate\"\n class=\"w-96\"\n >\n </gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<div *ngIf=\"!loading && layers.length > 0\">\n <h2 class=\"font-bold\" translate>map.layers.available</h2>\n <ng-container\n *ngFor=\"let layer of layers\"\n [ngTemplateOutlet]=\"layerTreeItem\"\n [ngTemplateOutletContext]=\"{\n layer: layer\n }\"\n ></ng-container>\n</div>\n\n<ng-template #layerTreeItem let-layer=\"layer\">\n <div class=\"flex items-center justify-between layer-tree-item my-2\">\n <p class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\">\n {{ layer.title }}\n </p>\n <gn-ui-button\n *ngIf=\"layer.name\"\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer)\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n ><span translate> map.layer.add </span></gn-ui-button\n >\n </div>\n <div *ngIf=\"layer.children?.length > 0\" class=\"ml-4\">\n <ng-container\n *ngFor=\"let child of layer.children\"\n [ngTemplateOutlet]=\"layerTreeItem\"\n [ngTemplateOutletContext]=\"{\n layer: child\n }\"\n >\n </ng-container>\n </div>\n</ng-template>\n" }]
|
|
28381
|
+
}], ctorParameters: function () { return [{ type: MapFacade }, { type: i0.ChangeDetectorRef }]; } });
|
|
28382
|
+
|
|
28383
|
+
const INVALID_FILE_FORMAT_ERROR_MESSAGE = 'Invalid file format';
|
|
28384
|
+
class AddLayerFromFileComponent {
|
|
28385
|
+
constructor(mapFacade, changeDetectorRef) {
|
|
28386
|
+
this.mapFacade = mapFacade;
|
|
28387
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
28388
|
+
this.errorMessage = null;
|
|
28389
|
+
this.successMessage = null;
|
|
28390
|
+
this.loading = false;
|
|
28391
|
+
this.acceptedMimeType = ['.geojson'];
|
|
28392
|
+
this.maxFileSize = 5000000;
|
|
28393
|
+
}
|
|
28394
|
+
async handleFileChange(file) {
|
|
28395
|
+
if (!file) {
|
|
28396
|
+
this.displayMessage(INVALID_FILE_FORMAT_ERROR_MESSAGE, 'error');
|
|
28397
|
+
return;
|
|
28398
|
+
}
|
|
28399
|
+
if (file.size > this.maxFileSize) {
|
|
28400
|
+
this.displayMessage('File size exceeds the limit of 5MB', 'error');
|
|
28401
|
+
return;
|
|
28402
|
+
}
|
|
28403
|
+
await this.addLayer(file);
|
|
28404
|
+
}
|
|
28405
|
+
async addLayer(file) {
|
|
28406
|
+
this.errorMessage = null;
|
|
28407
|
+
this.loading = true;
|
|
28408
|
+
try {
|
|
28409
|
+
if (!this.isFileFormatValid(file)) {
|
|
28410
|
+
this.displayMessage(INVALID_FILE_FORMAT_ERROR_MESSAGE, 'error');
|
|
28411
|
+
return;
|
|
28412
|
+
}
|
|
28413
|
+
const fileExtension = this.getFileExtension(file);
|
|
28414
|
+
switch (fileExtension) {
|
|
28415
|
+
case 'geojson':
|
|
28416
|
+
await this.addGeoJsonLayer(file);
|
|
28417
|
+
break;
|
|
28418
|
+
default:
|
|
28419
|
+
this.displayMessage(INVALID_FILE_FORMAT_ERROR_MESSAGE, 'error');
|
|
28420
|
+
break;
|
|
28421
|
+
}
|
|
28422
|
+
}
|
|
28423
|
+
catch (error) {
|
|
28424
|
+
const err = error;
|
|
28425
|
+
this.displayMessage('Error loading file: ' + err.message, 'error');
|
|
28426
|
+
}
|
|
28427
|
+
finally {
|
|
28428
|
+
this.loading = false;
|
|
28429
|
+
}
|
|
28430
|
+
}
|
|
28431
|
+
addGeoJsonLayer(file) {
|
|
28432
|
+
return new Promise((resolve, reject) => {
|
|
28433
|
+
try {
|
|
28434
|
+
const reader = new FileReader();
|
|
28435
|
+
reader.onload = () => {
|
|
28436
|
+
const result = reader.result;
|
|
28437
|
+
const title = file.name.split('.').slice(0, -1).join('.');
|
|
28438
|
+
const layerToAdd = {
|
|
28439
|
+
type: 'geojson',
|
|
28440
|
+
data: result,
|
|
28441
|
+
};
|
|
28442
|
+
this.mapFacade.addLayer({ ...layerToAdd, title: title });
|
|
28443
|
+
this.displayMessage('File successfully added to map', 'success');
|
|
28444
|
+
resolve();
|
|
28445
|
+
};
|
|
28446
|
+
reader.onerror = reject;
|
|
28447
|
+
reader.readAsText(file);
|
|
28448
|
+
}
|
|
28449
|
+
catch (error) {
|
|
28450
|
+
reject(error);
|
|
28451
|
+
}
|
|
28452
|
+
});
|
|
28453
|
+
}
|
|
28454
|
+
isFileFormatValid(file) {
|
|
28455
|
+
const fileExtension = this.getFileExtension(file);
|
|
28456
|
+
return this.acceptedMimeType.includes(`.${fileExtension}`);
|
|
28457
|
+
}
|
|
28458
|
+
getFileExtension(file) {
|
|
28459
|
+
return file.name.split('.').pop();
|
|
28460
|
+
}
|
|
28461
|
+
displayMessage(message, type) {
|
|
28462
|
+
if (type === 'success') {
|
|
28463
|
+
this.successMessage = message;
|
|
28464
|
+
}
|
|
28465
|
+
else if (type === 'error') {
|
|
28466
|
+
this.errorMessage = message;
|
|
28467
|
+
}
|
|
28468
|
+
setTimeout(() => {
|
|
28469
|
+
this.successMessage = null;
|
|
28470
|
+
this.errorMessage = null;
|
|
28471
|
+
this.changeDetectorRef.detectChanges();
|
|
28472
|
+
}, 5000);
|
|
28473
|
+
}
|
|
28474
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromFileComponent, deps: [{ token: MapFacade }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28475
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerFromFileComponent, selector: "gn-ui-add-layer-from-file", ngImport: i0, template: "<div class=\"flex flex-col gap-2 my-2\">\n <div class=\"flex items-center gap-4\">\n <div class=\"flex-grow rounded-md border-2 border-gray-200\">\n <gn-ui-drag-and-drop-file-input\n (fileChange)=\"handleFileChange($event)\"\n [accept]=\"acceptedMimeType.join(',')\"\n [placeholder]=\"'map.addFromFile.placeholder' | translate\"\n class=\"placeholder-grey\"\n ></gn-ui-drag-and-drop-file-input>\n </div>\n </div>\n <p class=\"text-sm text-gray-600\" translate>map.help.addFromFile</p>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"successMessage\" class=\"text-green-500 mt-2\">\n {{ successMessage }}\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: DragAndDropFileInputComponent, selector: "gn-ui-drag-and-drop-file-input", inputs: ["placeholder", "accept"], outputs: ["fileChange"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
|
|
28476
|
+
}
|
|
28477
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromFileComponent, decorators: [{
|
|
28478
|
+
type: Component,
|
|
28479
|
+
args: [{ selector: 'gn-ui-add-layer-from-file', template: "<div class=\"flex flex-col gap-2 my-2\">\n <div class=\"flex items-center gap-4\">\n <div class=\"flex-grow rounded-md border-2 border-gray-200\">\n <gn-ui-drag-and-drop-file-input\n (fileChange)=\"handleFileChange($event)\"\n [accept]=\"acceptedMimeType.join(',')\"\n [placeholder]=\"'map.addFromFile.placeholder' | translate\"\n class=\"placeholder-grey\"\n ></gn-ui-drag-and-drop-file-input>\n </div>\n </div>\n <p class=\"text-sm text-gray-600\" translate>map.help.addFromFile</p>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"successMessage\" class=\"text-green-500 mt-2\">\n {{ successMessage }}\n</div>\n" }]
|
|
28480
|
+
}], ctorParameters: function () { return [{ type: MapFacade }, { type: i0.ChangeDetectorRef }]; } });
|
|
28481
|
+
|
|
28482
|
+
class AddLayerFromWfsComponent {
|
|
28483
|
+
constructor(mapFacade, changeDetectorRef) {
|
|
28484
|
+
this.mapFacade = mapFacade;
|
|
28485
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
28486
|
+
this.wfsUrl = '';
|
|
28487
|
+
this.loading = false;
|
|
28488
|
+
this.layers = [];
|
|
28489
|
+
this.wfsEndpoint = null;
|
|
28490
|
+
this.urlChange = new Subject();
|
|
28491
|
+
this.errorMessage = null;
|
|
28492
|
+
}
|
|
28493
|
+
ngOnInit() {
|
|
28494
|
+
this.urlChange.pipe(debounceTime(700)).subscribe(() => this.loadLayers());
|
|
28495
|
+
}
|
|
28496
|
+
async loadLayers() {
|
|
28497
|
+
this.errorMessage = null;
|
|
28498
|
+
try {
|
|
28499
|
+
this.loading = true;
|
|
28500
|
+
if (this.wfsUrl.trim() === '') {
|
|
28501
|
+
this.layers = [];
|
|
28502
|
+
return;
|
|
28503
|
+
}
|
|
28504
|
+
this.wfsEndpoint = await new WfsEndpoint(this.wfsUrl).isReady();
|
|
28505
|
+
this.layers = this.wfsEndpoint.getFeatureTypes();
|
|
28506
|
+
console.log(this.layers);
|
|
28507
|
+
}
|
|
28508
|
+
catch (error) {
|
|
28509
|
+
const err = error;
|
|
28510
|
+
this.layers = [];
|
|
28511
|
+
this.errorMessage = 'Error loading layers: ' + err.message;
|
|
28512
|
+
}
|
|
28513
|
+
finally {
|
|
28514
|
+
this.loading = false;
|
|
28515
|
+
this.changeDetectorRef.markForCheck();
|
|
28516
|
+
}
|
|
28517
|
+
}
|
|
28518
|
+
addLayer(layer) {
|
|
28519
|
+
const layerToAdd = {
|
|
28520
|
+
name: layer.name,
|
|
28521
|
+
url: this.wfsUrl.toString(),
|
|
28522
|
+
type: MapContextLayerTypeEnum.WFS,
|
|
28523
|
+
};
|
|
28524
|
+
this.mapFacade.addLayer({ ...layerToAdd, title: layer.title });
|
|
28525
|
+
}
|
|
28526
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromWfsComponent, deps: [{ token: MapFacade }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28527
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AddLayerFromWfsComponent, selector: "gn-ui-add-layer-from-wfs", ngImport: i0, template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"wfsUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.wfs.urlInput.hint' | translate\"\n class=\"w-96\"\n >\n </gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<div *ngIf=\"!loading && layers.length > 0\">\n <h2 class=\"font-bold\" translate>map.layers.available</h2>\n <ng-container *ngFor=\"let layer of layers\">\n <div class=\"flex items-center justify-between my-2 layer-item-tree\">\n <p class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\">\n {{ layer.title }}\n </p>\n <gn-ui-button\n *ngIf=\"layer.name\"\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer)\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n ><span translate> map.layer.add </span></gn-ui-button\n >\n </div>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "hint", "required"], outputs: ["valueChange"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
|
|
28528
|
+
}
|
|
28529
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromWfsComponent, decorators: [{
|
|
28530
|
+
type: Component,
|
|
28531
|
+
args: [{ selector: 'gn-ui-add-layer-from-wfs', template: "<div class=\"flex items-center mb-5\">\n <gn-ui-text-input\n [(value)]=\"wfsUrl\"\n (valueChange)=\"urlChange.next($event)\"\n [hint]=\"'map.wfs.urlInput.hint' | translate\"\n class=\"w-96\"\n >\n </gn-ui-text-input>\n</div>\n\n<div *ngIf=\"errorMessage\" class=\"text-red-500 mt-2\">\n {{ errorMessage }}\n</div>\n\n<div *ngIf=\"loading\">\n <p class=\"loading-message\" translate>map.loading.service</p>\n</div>\n\n<div *ngIf=\"!loading && layers.length > 0\">\n <h2 class=\"font-bold\" translate>map.layers.available</h2>\n <ng-container *ngFor=\"let layer of layers\">\n <div class=\"flex items-center justify-between my-2 layer-item-tree\">\n <p class=\"max-w-xs overflow-hidden overflow-ellipsis whitespace-nowrap\">\n {{ layer.title }}\n </p>\n <gn-ui-button\n *ngIf=\"layer.name\"\n class=\"layer-add-btn\"\n type=\"primary\"\n (buttonClick)=\"addLayer(layer)\"\n extraClass=\"text-sm !px-2 !py-1\"\n translate\n ><span translate> map.layer.add </span></gn-ui-button\n >\n </div>\n </ng-container>\n</div>\n" }]
|
|
28532
|
+
}], ctorParameters: function () { return [{ type: MapFacade }, { type: i0.ChangeDetectorRef }]; } });
|
|
28533
|
+
|
|
28177
28534
|
class LayersPanelComponent {
|
|
28178
28535
|
constructor(mapFacade) {
|
|
28179
28536
|
this.mapFacade = mapFacade;
|
|
@@ -28183,11 +28540,11 @@ class LayersPanelComponent {
|
|
|
28183
28540
|
this.mapFacade.removeLayer(index);
|
|
28184
28541
|
}
|
|
28185
28542
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LayersPanelComponent, deps: [{ token: MapFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28186
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: LayersPanelComponent, selector: "gn-ui-layers-panel", ngImport: i0, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3
|
|
28543
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: LayersPanelComponent, selector: "gn-ui-layers-panel", ngImport: i0, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ExpandablePanelButtonComponent, selector: "gn-ui-expandable-panel-button", inputs: ["titleTemplate", "collapsed"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2$3.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i2$3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: AddLayerFromCatalogComponent, selector: "gn-ui-add-layer-from-catalog" }, { kind: "component", type: AddLayerFromWmsComponent, selector: "gn-ui-add-layer-from-wms" }, { kind: "component", type: AddLayerFromFileComponent, selector: "gn-ui-add-layer-from-file" }, { kind: "component", type: AddLayerFromWfsComponent, selector: "gn-ui-add-layer-from-wfs" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28187
28544
|
}
|
|
28188
28545
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LayersPanelComponent, decorators: [{
|
|
28189
28546
|
type: Component,
|
|
28190
|
-
args: [{ selector: 'gn-ui-layers-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3
|
|
28547
|
+
args: [{ selector: 'gn-ui-layers-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"bg-white rounded shadow shadow-lg relative h-full w-[400px] overflow-hidden\"\n>\n <div class=\"p-3 border-b border-gray-300 flex items-center\">\n <mat-icon class=\"material-symbols-outlined mr-2\">layers</mat-icon>\n <span translate>map.layers.list</span>\n </div>\n <div class=\"flex flex-col px-4 divide-y divide-y-gray-50\">\n <div\n *ngFor=\"let layer of layers$ | async; let index = index\"\n class=\"flex flex-row py-3\"\n >\n <mat-icon class=\"material-symbols-outlined -ml-2 mr-2 shrink-0\"\n >chevron_right</mat-icon\n >\n <span class=\"mr-2 grow\">{{ layer.title }}</span>\n <a\n href\n class=\"underline text-sm text-red-700 hover:text-red-900\"\n (click)=\"deleteLayer(index)\"\n >\n delete\n </a>\n </div>\n </div>\n <gn-ui-expandable-panel-button [titleTemplate]=\"addLayerTitle\">\n <mat-tab-group animationDuration=\"200ms\" class=\"h-full\">\n <mat-tab [label]=\"'map.add.layer.catalog' | translate\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-catalog></gn-ui-add-layer-from-catalog>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wms' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wms></gn-ui-add-layer-from-wms>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.wfs' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-wfs></gn-ui-add-layer-from-wfs>\n </div>\n </mat-tab>\n <mat-tab [label]=\"'map.add.layer.file' | translate\" bodyClass=\"h-full\">\n <div class=\"p-3\">\n <gn-ui-add-layer-from-file></gn-ui-add-layer-from-file>\n </div>\n </mat-tab>\n </mat-tab-group>\n </gn-ui-expandable-panel-button>\n</div>\n\n<ng-template #addLayerTitle>\n <mat-icon class=\"material-symbols-outlined mr-4\">add_circle</mat-icon>\n <span translate>map.add.layer</span>\n</ng-template>\n" }]
|
|
28191
28548
|
}], ctorParameters: function () { return [{ type: MapFacade }]; } });
|
|
28192
28549
|
|
|
28193
28550
|
class MapEffects {
|
|
@@ -28227,7 +28584,10 @@ class FeatureMapModule {
|
|
|
28227
28584
|
LayersPanelComponent,
|
|
28228
28585
|
AddLayerFromCatalogComponent,
|
|
28229
28586
|
MapContainerComponent,
|
|
28230
|
-
AddLayerRecordPreviewComponent
|
|
28587
|
+
AddLayerRecordPreviewComponent,
|
|
28588
|
+
AddLayerFromWmsComponent,
|
|
28589
|
+
AddLayerFromFileComponent,
|
|
28590
|
+
AddLayerFromWfsComponent], imports: [CommonModule,
|
|
28231
28591
|
UiMapModule,
|
|
28232
28592
|
UiLayoutModule,
|
|
28233
28593
|
MatIconModule,
|
|
@@ -28267,6 +28627,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
28267
28627
|
AddLayerFromCatalogComponent,
|
|
28268
28628
|
MapContainerComponent,
|
|
28269
28629
|
AddLayerRecordPreviewComponent,
|
|
28630
|
+
AddLayerFromWmsComponent,
|
|
28631
|
+
AddLayerFromFileComponent,
|
|
28632
|
+
AddLayerFromWfsComponent,
|
|
28270
28633
|
],
|
|
28271
28634
|
exports: [
|
|
28272
28635
|
MapContextComponent,
|
|
@@ -30247,7 +30610,7 @@ class OrganisationPreviewComponent {
|
|
|
30247
30610
|
this.clickedOrganisation.emit(this.organisation);
|
|
30248
30611
|
}
|
|
30249
30612
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: OrganisationPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30250
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: { organisation: "organisation", organisationUrl: "organisationUrl" }, outputs: { clickedOrganisation: "clickedOrganisation" }, ngImport: i0, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"organisation.name\"\n >\n <div\n class=\"flex-shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"organisation.logoUrl\"\n [fit]=\"'contain'\"\n >\n </gn-ui-thumbnail>\n </div>\n <div class=\"px-3 pb-2 capitalize flex flex-col flex-grow overflow-hidden\">\n <span\n class=\"flex-shrink-0 mb-3 mt-5 font-title text-21 text-title group-hover:text-primary line-clamp-2 sm:mt-2 transition-colors\"\n data-cy=\"organizationName\"\n >\n {{ organisation.name }}</span\n >\n <p\n class=\"abstract mt-4 mb-5 sm:mb-2 sm:mt-0 flex-grow flex-shrink-1 overflow-hidden\"\n data-cy=\"organizationDesc\"\n >\n {{ organisation.description }}\n </p>\n <div class=\"flex-shrink-0 text-primary opacity-50 flex leading-6\">\n <mat-icon class=\"material-symbols-outlined text-primary opacity-50 mr-1\"\n >folder_open\n </mat-icon>\n <span class=\"mx-1\" data-cy=\"organizationRecordsCount\">{{\n organisation.recordCount\n }}</span>\n <span translate>record.metadata.publications</span>\n </div>\n </div>\n </div>\n</a>\n", styles: [".abstract{position:relative}.abstract:after{content:\"\";position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,white,transparent);height:10px}\n"], dependencies: [{ kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30613
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: OrganisationPreviewComponent, selector: "gn-ui-organisation-preview", inputs: { organisation: "organisation", organisationUrl: "organisationUrl" }, outputs: { clickedOrganisation: "clickedOrganisation" }, ngImport: i0, template: "<a href (click)=\"clickOrganisation($event)\" [attr.href]=\"organisationUrl\">\n <div\n class=\"group cursor-pointer rounded-lg h-full flex flex-col\"\n [title]=\"organisation.name\"\n >\n <div\n class=\"flex-shrink-0 bg-gray-100 rounded-lg overflow-hidden w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full\"\n [thumbnailUrl]=\"organisation.logoUrl\"\n [fit]=\"'contain'\"\n >\n </gn-ui-thumbnail>\n </div>\n <div class=\"px-3 pb-2 capitalize flex flex-col flex-grow overflow-hidden\">\n <span\n class=\"flex-shrink-0 mb-3 mt-5 font-title text-21 text-title group-hover:text-primary line-clamp-2 sm:mt-2 transition-colors\"\n data-cy=\"organizationName\"\n >\n {{ organisation.name }}</span\n >\n <p\n class=\"abstract mt-4 mb-5 sm:mb-2 sm:mt-0 flex-grow flex-shrink-1 overflow-hidden\"\n data-cy=\"organizationDesc\"\n >\n {{ organisation.description }}\n </p>\n <div class=\"flex-shrink-0 text-primary opacity-50 flex leading-6\">\n <mat-icon class=\"material-symbols-outlined text-primary opacity-50 mr-1\"\n >folder_open\n </mat-icon>\n <span class=\"mx-1\" data-cy=\"organizationRecordsCount\">{{\n organisation.recordCount\n }}</span>\n <span translate>record.metadata.publications</span>\n </div>\n </div>\n </div>\n</a>\n", styles: [".abstract{position:relative}.abstract:after{content:\"\";position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,white,transparent);height:10px}\n"], dependencies: [{ kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30251
30614
|
}
|
|
30252
30615
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: OrganisationPreviewComponent, decorators: [{
|
|
30253
30616
|
type: Component,
|
|
@@ -30316,7 +30679,7 @@ class LanguageSwitcherComponent {
|
|
|
30316
30679
|
ngOnInit() {
|
|
30317
30680
|
const languages = this.languagePlaceholder || DEFAULT_LANGUAGES;
|
|
30318
30681
|
this.languageList = languages.map((language) => ({
|
|
30319
|
-
label:
|
|
30682
|
+
label: `${language}`.toUpperCase(),
|
|
30320
30683
|
value: language,
|
|
30321
30684
|
}));
|
|
30322
30685
|
}
|
|
@@ -30331,11 +30694,11 @@ class LanguageSwitcherComponent {
|
|
|
30331
30694
|
this.translate.use(value);
|
|
30332
30695
|
}
|
|
30333
30696
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LanguageSwitcherComponent, deps: [{ token: LANGUAGES_LIST, optional: true }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30334
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: LanguageSwitcherComponent, selector: "gn-ui-language-switcher", ngImport: i0, template: "<gn-ui-dropdown-selector\n [title]=\"'languages'\"\n [choices]=\"languageList\"\n (selectValue)=\"changeLanguage($event)\"\n [selected]=\"currentLang\"\n ariaName=\"languages\"\n [showTitle]=\"false\"\n>\n</gn-ui-dropdown-selector>\n", styles: [""], dependencies: [{ kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth"], outputs: ["selectValue"] }] }); }
|
|
30697
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: LanguageSwitcherComponent, selector: "gn-ui-language-switcher", ngImport: i0, template: "<gn-ui-dropdown-selector\n [title]=\"'languages'\"\n [choices]=\"languageList\"\n (selectValue)=\"changeLanguage($event)\"\n [selected]=\"currentLang\"\n ariaName=\"languages\"\n [showTitle]=\"false\"\n [extraBtnClass]=\"'flex justify-items-center text-white !pl-2 !py-1'\"\n>\n</gn-ui-dropdown-selector>\n", styles: [""], dependencies: [{ kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth"], outputs: ["selectValue"] }] }); }
|
|
30335
30698
|
}
|
|
30336
30699
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LanguageSwitcherComponent, decorators: [{
|
|
30337
30700
|
type: Component,
|
|
30338
|
-
args: [{ selector: 'gn-ui-language-switcher', template: "<gn-ui-dropdown-selector\n [title]=\"'languages'\"\n [choices]=\"languageList\"\n (selectValue)=\"changeLanguage($event)\"\n [selected]=\"currentLang\"\n ariaName=\"languages\"\n [showTitle]=\"false\"\n>\n</gn-ui-dropdown-selector>\n" }]
|
|
30701
|
+
args: [{ selector: 'gn-ui-language-switcher', template: "<gn-ui-dropdown-selector\n [title]=\"'languages'\"\n [choices]=\"languageList\"\n (selectValue)=\"changeLanguage($event)\"\n [selected]=\"currentLang\"\n ariaName=\"languages\"\n [showTitle]=\"false\"\n [extraBtnClass]=\"'flex justify-items-center text-white !pl-2 !py-1'\"\n>\n</gn-ui-dropdown-selector>\n" }]
|
|
30339
30702
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
30340
30703
|
type: Optional
|
|
30341
30704
|
}, {
|
|
@@ -31706,5 +32069,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
31706
32069
|
* Generated bundle index. Do not edit.
|
|
31707
32070
|
*/
|
|
31708
32071
|
|
|
31709
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BLOCK_MODEL_FIXTURE, BadgeComponent, BaseReader, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CONFIG_MALFORMED, CONFIG_MINIMAL, CONFIG_MISSING_MANDATORY, CONFIG_OK, CONFIG_UNRECOGNIZED_KEYS, CONFIG_WITH_TRANSLATIONS, CONFIG_WRONG_LANGUAGE_CODE, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_BASELAYER_CONTEXT, DEFAULT_GN4_LOGIN_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_STYLE_FIXTURE, DEFAULT_STYLE_HL_FIXTURE, DEFAULT_VIEW, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DateRangePickerComponent, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EMPTY_BLOCK_MODEL_FIXTURE, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FACET_ITEM_FIXTURE, FEATURE_MAP_OPTIONS, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDatavizModule, FeatureDetailComponent, FeatureEditorModule, FeatureInfoService, FeatureMapModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileTranslateLoader, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldFileComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentComponent, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, Gn4MetadataMapper, Gn4Repository, Gn4SettingsService, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, LANGUAGES_LIST, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_CONFIG_FIXTURE, MAP_FEATURE_KEY, METADATA_LANGUAGE, MY_FORMATS, MapComponent, MapContainerComponent, MapContextComponent, MapContextLayerTypeEnum, MapContextService, MapFacade, MapInstanceDirective, MapManagerService, MapStyleService, MapUtilsService, MapUtilsWMSService, MapViewComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataQualityComponent, MetadataQualityItemComponent, MyOrgService, NavigationButtonComponent, ORGANIZATIONS_STRATEGY, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationsFromGroupsService, OrganizationsFromMetadataService, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PatchResultsAggregations, PopupAlertComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordTableComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchInputComponent, SearchResultsErrorComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SiteTitleComponent, SortByComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, TABLE_ITEM_FIXTURE, TABLE_ITEM_FIXTURE_HAB, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableComponent, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslateTestingModule, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiCatalogModule, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiMapModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UserPreviewComponent, UtilI18nModule, UtilSharedModule, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, _reset, addLayer, changeLayerOrder, checkFileFormat, clearLayerError, createFuzzyFilter, currentPage, defaultMapOptions, dragPanCondition, dropEmptyTranslations, extensionToFormat, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapLayers, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSpatialFilterEnabled, getThemeConfig, initSearch, initialMapState, initialState, isConfigLoaded, isEndOfResults, isFormatInQueryParam, loadAppConfig, mapContact, mapLogo, mapOrganization, mapReducer, mimeTypeToFormat, mouseWheelZoomCondition, openDataset, parse, placeholder, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readDataset, readDatasetHeaders, reducer$1 as reducer, reducerSearch, removeLayer, removeSearchParams, removeWhitespace, selectFallback, selectFallbackFields, selectField, selectTranslatedField, selectTranslatedValue, setLayerError, sortByFromString, sortByToString, sortByToStrings, stripHtml, toDate, toModel, toXml, totalPages, updateLayer };
|
|
32072
|
+
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BLOCK_MODEL_FIXTURE, BadgeComponent, BaseReader, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CONFIG_MALFORMED, CONFIG_MINIMAL, CONFIG_MISSING_MANDATORY, CONFIG_OK, CONFIG_UNRECOGNIZED_KEYS, CONFIG_WITH_TRANSLATIONS, CONFIG_WRONG_LANGUAGE_CODE, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_BASELAYER_CONTEXT, DEFAULT_GN4_LOGIN_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DEFAULT_STYLE_FIXTURE, DEFAULT_STYLE_HL_FIXTURE, DEFAULT_VIEW, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DateRangePickerComponent, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EMPTY_BLOCK_MODEL_FIXTURE, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FACET_ITEM_FIXTURE, FEATURE_MAP_OPTIONS, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDatavizModule, FeatureDetailComponent, FeatureEditorModule, FeatureInfoService, FeatureMapModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileTranslateLoader, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldFileComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentComponent, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, Gn4MetadataMapper, Gn4Repository, Gn4SettingsService, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageOverlayPreviewComponent, LANGUAGES_LIST, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_CONFIG_FIXTURE, MAP_FEATURE_KEY, METADATA_LANGUAGE, MY_FORMATS, MapComponent, MapContainerComponent, MapContextComponent, MapContextLayerTypeEnum, MapContextService, MapFacade, MapInstanceDirective, MapManagerService, MapStyleService, MapUtilsService, MapUtilsWMSService, MapViewComponent, MarkdownParserComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataQualityComponent, MetadataQualityItemComponent, MyOrgService, NavigationButtonComponent, ORGANIZATIONS_STRATEGY, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationsFromGroupsService, OrganizationsFromMetadataService, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PatchResultsAggregations, PopupAlertComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordTableComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchInputComponent, SearchResultsErrorComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SiteTitleComponent, SortByComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, TABLE_ITEM_FIXTURE, TABLE_ITEM_FIXTURE_HAB, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableComponent, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslateTestingModule, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiCatalogModule, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiMapModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UserPreviewComponent, UtilI18nModule, UtilSharedModule, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WFS_MAX_FEATURES, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, _reset, addLayer, changeLayerOrder, checkFileFormat, clearLayerError, createFuzzyFilter, currentPage, defaultMapOptions, dragPanCondition, dropEmptyTranslations, extensionToFormat, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapLayers, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSpatialFilterEnabled, getThemeConfig, initSearch, initialMapState, initialState, isConfigLoaded, isEndOfResults, isFormatInQueryParam, loadAppConfig, mapContact, mapLogo, mapOrganization, mapReducer, mimeTypeToFormat, mouseWheelZoomCondition, openDataset, parse, placeholder, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readDataset, readDatasetHeaders, reducer$1 as reducer, reducerSearch, removeLayer, removeSearchParams, removeWhitespace, selectFallback, selectFallbackFields, selectField, selectTranslatedField, selectTranslatedValue, setLayerError, sortByFromString, sortByToString, sortByToStrings, stripHtml, toDate, toModel, toXml, totalPages, updateLayer };
|
|
31710
32073
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|