geonetwork-ui 2.1.0 → 2.2.0-dev.05d3ea32
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/repository/src/index.mjs +2 -1
- package/esm2022/libs/feature/auth/src/lib/feature-auth.module.mjs +2 -2
- package/esm2022/libs/feature/catalog/src/lib/feature-catalog.module.mjs +2 -2
- package/esm2022/libs/feature/catalog/src/lib/organisations/organisations.component.mjs +4 -15
- 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 +8 -2
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +5 -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 +9 -6
- package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -2
- package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/state/effects.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +2 -2
- package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +4 -4
- package/esm2022/libs/ui/elements/src/index.mjs +2 -1
- 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 +10 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +12 -6
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +8 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +17 -38
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +6 -3
- 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/util/app-config/src/lib/app-config.mjs +5 -1
- package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
- package/esm2022/libs/util/i18n/src/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/services/theme.service.mjs +8 -1
- package/esm2022/libs/util/shared/src/lib/utils/fuzzy-filter.mjs +27 -0
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
- package/esm2022/translations/de.json +16 -1
- package/esm2022/translations/en.json +21 -6
- package/esm2022/translations/es.json +15 -0
- package/esm2022/translations/fr.json +23 -8
- package/esm2022/translations/it.json +24 -6
- package/esm2022/translations/nl.json +15 -0
- package/esm2022/translations/pt.json +15 -0
- package/fesm2022/geonetwork-ui.mjs +377 -120
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/repository/src/index.d.ts +1 -0
- package/libs/api/repository/src/index.d.ts.map +1 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts +0 -1
- package/libs/feature/catalog/src/lib/organisations/organisations.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -2
- 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 +14 -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 +3 -2
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/effects.d.ts +1 -1
- package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
- package/libs/ui/elements/src/index.d.ts +1 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- 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-contact/metadata-contact.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.d.ts.map +1 -1
- 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/ui-elements.module.d.ts +12 -11
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +2 -4
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts +1 -1
- package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/model.d.ts +2 -0
- package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
- package/libs/util/i18n/src/index.d.ts +1 -0
- package/libs/util/i18n/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/theme.service.d.ts +1 -0
- package/libs/util/shared/src/lib/services/theme.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts +9 -0
- package/libs/util/shared/src/lib/utils/fuzzy-filter.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
- package/package.json +8 -6
- package/src/libs/api/repository/src/index.ts +1 -0
- package/src/libs/feature/auth/src/lib/feature-auth.module.ts +1 -1
- package/src/libs/feature/catalog/src/lib/feature-catalog.module.ts +1 -1
- package/src/libs/feature/catalog/src/lib/organisations/organisations.component.ts +3 -17
- 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 +4 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +6 -2
- 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 +2 -4
- package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -1
- package/src/libs/feature/search/src/lib/state/effects.ts +1 -1
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +1 -1
- 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 +1 -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 +93 -27
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +7 -0
- 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/ui-elements.module.ts +3 -0
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +22 -42
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.ts +7 -4
- 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/util/app-config/src/lib/app-config.ts +4 -0
- package/src/libs/util/app-config/src/lib/model.ts +2 -0
- package/src/libs/util/i18n/src/index.ts +1 -0
- package/src/libs/util/shared/src/lib/services/theme.service.ts +9 -0
- package/src/libs/util/shared/src/lib/utils/fuzzy-filter.ts +32 -0
- package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
- package/tailwind.base.css +31 -1
- package/translations/de.json +16 -1
- package/translations/en.json +21 -6
- package/translations/es.json +15 -0
- package/translations/fr.json +23 -8
- package/translations/it.json +24 -6
- package/translations/nl.json +15 -0
- package/translations/pt.json +15 -0
- package/translations/sk.json +15 -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';
|
|
@@ -16781,8 +16782,12 @@ var de = {
|
|
|
16781
16782
|
"datahub.header.organisations": "Organisationen",
|
|
16782
16783
|
"datahub.header.popularRecords": "Die beliebtesten",
|
|
16783
16784
|
"datahub.header.title.html": "<div class=\"text-white\">Entdecken Sie offene<br> Daten von meiner Organisation</div>",
|
|
16785
|
+
"datahub.news.contact.contactus": "",
|
|
16786
|
+
"datahub.news.contact.html": "",
|
|
16787
|
+
"datahub.news.contact.title": "",
|
|
16784
16788
|
"datahub.news.feed": "Nachrichtenfeed",
|
|
16785
16789
|
"datahub.news.figures": "Indikatoren",
|
|
16790
|
+
"datahub.record.addToFavorites": "",
|
|
16786
16791
|
"datahub.search.back": "Zurück zu den Ergebnissen",
|
|
16787
16792
|
"datahub.search.filter.all": "Alle",
|
|
16788
16793
|
"datahub.search.filter.generatedByWfs": "Generiert durch API",
|
|
@@ -16843,10 +16848,15 @@ var de = {
|
|
|
16843
16848
|
"map.add.layer.file": "Aus einer Datei",
|
|
16844
16849
|
"map.add.layer.wfs": "Aus WFS",
|
|
16845
16850
|
"map.add.layer.wms": "Aus WMS",
|
|
16851
|
+
"map.layer.add": "",
|
|
16852
|
+
"map.layers.available": "",
|
|
16846
16853
|
"map.layers.list": "Ebenen",
|
|
16847
16854
|
"map.loading.data": "Kartendaten werden geladen...",
|
|
16855
|
+
"map.loading.service": "",
|
|
16848
16856
|
"map.navigation.message": "Bitte verwenden Sie STRG + Maus (oder zwei Finger auf einem Mobilgerät), um die Karte zu navigieren",
|
|
16849
16857
|
"map.select.layer": "Datenquelle",
|
|
16858
|
+
"map.wfs.urlInput.hint": "",
|
|
16859
|
+
"map.wms.urlInput.hint": "",
|
|
16850
16860
|
"multiselect.filter.placeholder": "Suche",
|
|
16851
16861
|
"nav.back": "Zurück",
|
|
16852
16862
|
next: next$6,
|
|
@@ -16881,14 +16891,16 @@ var de = {
|
|
|
16881
16891
|
"record.metadata.catalog": "Katalog",
|
|
16882
16892
|
"record.metadata.contact": "Kontakt",
|
|
16883
16893
|
"record.metadata.createdOn": "Erstellt am",
|
|
16884
|
-
"record.metadata.details": "
|
|
16894
|
+
"record.metadata.details": "Technische Informationen",
|
|
16885
16895
|
"record.metadata.download": "Downloads",
|
|
16886
16896
|
"record.metadata.formats": "",
|
|
16887
16897
|
"record.metadata.isOpenData": "Open Data",
|
|
16888
16898
|
"record.metadata.keywords": "Stichworte",
|
|
16899
|
+
"record.metadata.lastUpdate": "",
|
|
16889
16900
|
"record.metadata.links": "Links",
|
|
16890
16901
|
"record.metadata.noUsage": "Für diesen Datensatz sind keine Verwendungsbedingungen angegeben.",
|
|
16891
16902
|
"record.metadata.origin": "Über die Daten",
|
|
16903
|
+
"record.metadata.owner": "",
|
|
16892
16904
|
"record.metadata.preview": "Vorschau",
|
|
16893
16905
|
"record.metadata.publications": "Veröffentlichungen",
|
|
16894
16906
|
"record.metadata.quality": "",
|
|
@@ -16911,7 +16923,10 @@ var de = {
|
|
|
16911
16923
|
"record.metadata.quality.updateFrequency.success": "",
|
|
16912
16924
|
"record.metadata.related": "Ähnliche Datensätze",
|
|
16913
16925
|
"record.metadata.sheet": "Weitere Informationen erhalten Sie unter :",
|
|
16926
|
+
"record.metadata.themes": "",
|
|
16914
16927
|
"record.metadata.title": "Titel",
|
|
16928
|
+
"record.metadata.type": "",
|
|
16929
|
+
"record.metadata.uniqueId": "",
|
|
16915
16930
|
"record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
|
|
16916
16931
|
"record.metadata.updateStatus": "Aktualisierungsstatus der Daten",
|
|
16917
16932
|
"record.metadata.updatedOn": "Letzte Aktualisierung der Dateninformationen",
|
|
@@ -16975,6 +16990,7 @@ var de = {
|
|
|
16975
16990
|
"table.object.count": "Objekte in diesem Datensatz",
|
|
16976
16991
|
"table.select.data": "Datenquelle",
|
|
16977
16992
|
"tooltip.html.copy": "HTML kopieren",
|
|
16993
|
+
"tooltip.id.copy": "",
|
|
16978
16994
|
"tooltip.url.copy": "URL kopieren",
|
|
16979
16995
|
"tooltip.url.open": "URL öffnen",
|
|
16980
16996
|
"ui.readLess": "Weniger lesen",
|
|
@@ -17016,12 +17032,12 @@ var en = {
|
|
|
17016
17032
|
"dashboard.records.myRecords": "My Records",
|
|
17017
17033
|
"dashboard.records.noRecord": "No record for this organization",
|
|
17018
17034
|
"dashboard.records.noUser": "No users for this organization",
|
|
17019
|
-
"dashboard.records.publishedRecords": "published records",
|
|
17035
|
+
"dashboard.records.publishedRecords": "{count, plural, =1{published record} other{published records}}",
|
|
17020
17036
|
"dashboard.records.search": "Search for \"{searchText}\"",
|
|
17021
17037
|
"dashboard.records.userDetail": "Name",
|
|
17022
17038
|
"dashboard.records.userEmail": "Email",
|
|
17023
17039
|
"dashboard.records.username": "Username",
|
|
17024
|
-
"dashboard.records.users": "users",
|
|
17040
|
+
"dashboard.records.users": "{count, plural, =1{user} other{users}}",
|
|
17025
17041
|
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "File format \n detection",
|
|
17026
17042
|
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Gathering dataset \n information",
|
|
17027
17043
|
"datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n data",
|
|
@@ -17102,9 +17118,13 @@ var en = {
|
|
|
17102
17118
|
"datahub.header.organisations": "Organisations",
|
|
17103
17119
|
"datahub.header.popularRecords": "The most popular",
|
|
17104
17120
|
"datahub.header.title.html": "<div class=\"text-white\">Discover open<br> data from my Organization</div>",
|
|
17121
|
+
"datahub.news.contact.contactus": "Contact us",
|
|
17122
|
+
"datahub.news.contact.html": "<p>Do you need data that is not currently present on the platform?</p><p>Our teams are here to answer you.</p>",
|
|
17123
|
+
"datahub.news.contact.title": "A specific need?",
|
|
17105
17124
|
"datahub.news.feed": "News feed",
|
|
17106
17125
|
"datahub.news.figures": "Indicators",
|
|
17107
|
-
"datahub.
|
|
17126
|
+
"datahub.record.addToFavorites": "Add to favorites",
|
|
17127
|
+
"datahub.search.back": "Back",
|
|
17108
17128
|
"datahub.search.filter.all": "All",
|
|
17109
17129
|
"datahub.search.filter.generatedByWfs": "generated by an API",
|
|
17110
17130
|
"datahub.search.filter.others": "Others",
|
|
@@ -17164,10 +17184,15 @@ var en = {
|
|
|
17164
17184
|
"map.add.layer.file": "From a file",
|
|
17165
17185
|
"map.add.layer.wfs": "From WFS",
|
|
17166
17186
|
"map.add.layer.wms": "From WMS",
|
|
17187
|
+
"map.layer.add": "Add",
|
|
17188
|
+
"map.layers.available": "Available Layers",
|
|
17167
17189
|
"map.layers.list": "Layers",
|
|
17168
17190
|
"map.loading.data": "Loading map data...",
|
|
17191
|
+
"map.loading.service": "Loading service...",
|
|
17169
17192
|
"map.navigation.message": "Please use CTRL + mouse (or two fingers on mobile) to navigate the map",
|
|
17170
17193
|
"map.select.layer": "Data source",
|
|
17194
|
+
"map.wfs.urlInput.hint": "Enter WFS service URL",
|
|
17195
|
+
"map.wms.urlInput.hint": "Enter WMS service URL",
|
|
17171
17196
|
"multiselect.filter.placeholder": "Search",
|
|
17172
17197
|
"nav.back": "Back",
|
|
17173
17198
|
next: next$5,
|
|
@@ -17202,14 +17227,16 @@ var en = {
|
|
|
17202
17227
|
"record.metadata.catalog": "Catalog",
|
|
17203
17228
|
"record.metadata.contact": "Contact",
|
|
17204
17229
|
"record.metadata.createdOn": "Created on",
|
|
17205
|
-
"record.metadata.details": "
|
|
17230
|
+
"record.metadata.details": "Technical information",
|
|
17206
17231
|
"record.metadata.download": "Downloads",
|
|
17207
17232
|
"record.metadata.formats": "Formats",
|
|
17208
17233
|
"record.metadata.isOpenData": "Open Data",
|
|
17209
17234
|
"record.metadata.keywords": "Keywords",
|
|
17235
|
+
"record.metadata.lastUpdate": "Last updated on",
|
|
17210
17236
|
"record.metadata.links": "Links",
|
|
17211
17237
|
"record.metadata.noUsage": "No usage conditions specified for this record.",
|
|
17212
17238
|
"record.metadata.origin": "About the data",
|
|
17239
|
+
"record.metadata.owner": "Catalog of origin",
|
|
17213
17240
|
"record.metadata.preview": "Preview",
|
|
17214
17241
|
"record.metadata.publications": "publications",
|
|
17215
17242
|
"record.metadata.quality": "Metadata Quality",
|
|
@@ -17231,11 +17258,14 @@ var en = {
|
|
|
17231
17258
|
"record.metadata.quality.updateFrequency.failed": "Update frequency is not completed",
|
|
17232
17259
|
"record.metadata.quality.updateFrequency.success": "Update frequency is completed",
|
|
17233
17260
|
"record.metadata.related": "Related records",
|
|
17234
|
-
"record.metadata.sheet": "
|
|
17261
|
+
"record.metadata.sheet": "Original metadata",
|
|
17262
|
+
"record.metadata.themes": "Categories",
|
|
17235
17263
|
"record.metadata.title": "Title",
|
|
17264
|
+
"record.metadata.type": "Geographical dataset",
|
|
17265
|
+
"record.metadata.uniqueId": "Unique Identifier",
|
|
17236
17266
|
"record.metadata.updateFrequency": "Data Update Frequency",
|
|
17237
17267
|
"record.metadata.updateStatus": "Data Update Status",
|
|
17238
|
-
"record.metadata.updatedOn": "
|
|
17268
|
+
"record.metadata.updatedOn": "Metadata's last update",
|
|
17239
17269
|
"record.metadata.usage": "Usage & constraints",
|
|
17240
17270
|
"record.more.details": "Read more",
|
|
17241
17271
|
"record.tab.chart": "Chart",
|
|
@@ -17296,6 +17326,7 @@ var en = {
|
|
|
17296
17326
|
"table.object.count": "objects in this dataset",
|
|
17297
17327
|
"table.select.data": "Data source",
|
|
17298
17328
|
"tooltip.html.copy": "Copy HTML",
|
|
17329
|
+
"tooltip.id.copy": "Copy unique identifier",
|
|
17299
17330
|
"tooltip.url.copy": "Copy URL",
|
|
17300
17331
|
"tooltip.url.open": "Open URL",
|
|
17301
17332
|
"ui.readLess": "Read less",
|
|
@@ -17423,8 +17454,12 @@ var es = {
|
|
|
17423
17454
|
"datahub.header.organisations": "",
|
|
17424
17455
|
"datahub.header.popularRecords": "",
|
|
17425
17456
|
"datahub.header.title.html": "",
|
|
17457
|
+
"datahub.news.contact.contactus": "",
|
|
17458
|
+
"datahub.news.contact.html": "",
|
|
17459
|
+
"datahub.news.contact.title": "",
|
|
17426
17460
|
"datahub.news.feed": "",
|
|
17427
17461
|
"datahub.news.figures": "",
|
|
17462
|
+
"datahub.record.addToFavorites": "",
|
|
17428
17463
|
"datahub.search.back": "",
|
|
17429
17464
|
"datahub.search.filter.all": "",
|
|
17430
17465
|
"datahub.search.filter.generatedByWfs": "",
|
|
@@ -17485,10 +17520,15 @@ var es = {
|
|
|
17485
17520
|
"map.add.layer.file": "",
|
|
17486
17521
|
"map.add.layer.wfs": "",
|
|
17487
17522
|
"map.add.layer.wms": "",
|
|
17523
|
+
"map.layer.add": "",
|
|
17524
|
+
"map.layers.available": "",
|
|
17488
17525
|
"map.layers.list": "",
|
|
17489
17526
|
"map.loading.data": "",
|
|
17527
|
+
"map.loading.service": "",
|
|
17490
17528
|
"map.navigation.message": "",
|
|
17491
17529
|
"map.select.layer": "",
|
|
17530
|
+
"map.wfs.urlInput.hint": "",
|
|
17531
|
+
"map.wms.urlInput.hint": "",
|
|
17492
17532
|
"multiselect.filter.placeholder": "",
|
|
17493
17533
|
"nav.back": "",
|
|
17494
17534
|
next: next$4,
|
|
@@ -17528,9 +17568,11 @@ var es = {
|
|
|
17528
17568
|
"record.metadata.formats": "",
|
|
17529
17569
|
"record.metadata.isOpenData": "",
|
|
17530
17570
|
"record.metadata.keywords": "",
|
|
17571
|
+
"record.metadata.lastUpdate": "",
|
|
17531
17572
|
"record.metadata.links": "",
|
|
17532
17573
|
"record.metadata.noUsage": "",
|
|
17533
17574
|
"record.metadata.origin": "",
|
|
17575
|
+
"record.metadata.owner": "",
|
|
17534
17576
|
"record.metadata.preview": "",
|
|
17535
17577
|
"record.metadata.publications": "",
|
|
17536
17578
|
"record.metadata.quality": "",
|
|
@@ -17553,7 +17595,10 @@ var es = {
|
|
|
17553
17595
|
"record.metadata.quality.updateFrequency.success": "",
|
|
17554
17596
|
"record.metadata.related": "",
|
|
17555
17597
|
"record.metadata.sheet": "",
|
|
17598
|
+
"record.metadata.themes": "",
|
|
17556
17599
|
"record.metadata.title": "",
|
|
17600
|
+
"record.metadata.type": "",
|
|
17601
|
+
"record.metadata.uniqueId": "",
|
|
17557
17602
|
"record.metadata.updateFrequency": "",
|
|
17558
17603
|
"record.metadata.updateStatus": "",
|
|
17559
17604
|
"record.metadata.updatedOn": "",
|
|
@@ -17617,6 +17662,7 @@ var es = {
|
|
|
17617
17662
|
"table.object.count": "",
|
|
17618
17663
|
"table.select.data": "",
|
|
17619
17664
|
"tooltip.html.copy": "",
|
|
17665
|
+
"tooltip.id.copy": "",
|
|
17620
17666
|
"tooltip.url.copy": "",
|
|
17621
17667
|
"tooltip.url.open": "",
|
|
17622
17668
|
"ui.readLess": "",
|
|
@@ -17658,12 +17704,12 @@ var fr = {
|
|
|
17658
17704
|
"dashboard.records.myRecords": "Mes fiches publiées",
|
|
17659
17705
|
"dashboard.records.noRecord": "Aucun jeu de données pour cette organisation",
|
|
17660
17706
|
"dashboard.records.noUser": "Aucun utilisateur pour cette organisation",
|
|
17661
|
-
"dashboard.records.publishedRecords": "données publiées",
|
|
17707
|
+
"dashboard.records.publishedRecords": "{count, plural, =1{donnée publiée} other{données publiées}}",
|
|
17662
17708
|
"dashboard.records.search": "Résultats pour \"{searchText}\"",
|
|
17663
17709
|
"dashboard.records.userDetail": "Nom",
|
|
17664
17710
|
"dashboard.records.userEmail": "Email",
|
|
17665
17711
|
"dashboard.records.username": "Nom d'utilisateur",
|
|
17666
|
-
"dashboard.records.users": "utilisateurs",
|
|
17712
|
+
"dashboard.records.users": "{count, plural, =1{utilisateur} other{utilisateurs}}",
|
|
17667
17713
|
"datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Détection du \n format de fichier",
|
|
17668
17714
|
"datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Récupération des informations \n sur le jeu de données",
|
|
17669
17715
|
"datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n des données",
|
|
@@ -17744,9 +17790,13 @@ var fr = {
|
|
|
17744
17790
|
"datahub.header.organisations": "Organisations",
|
|
17745
17791
|
"datahub.header.popularRecords": "Les plus appréciées",
|
|
17746
17792
|
"datahub.header.title.html": "<div class=\"text-white\">Toutes les données<br>publiques de mon organisation</div>",
|
|
17793
|
+
"datahub.news.contact.contactus": "Contactez-nous",
|
|
17794
|
+
"datahub.news.contact.html": "<p>Vous avez besoin de données qui ne sont pas présentes sur la plateforme actuellement ? </p><p> Nos équipes sont la pour vous répondre.</p>",
|
|
17795
|
+
"datahub.news.contact.title": "Un besoin spécifique ?",
|
|
17747
17796
|
"datahub.news.feed": "Fil d'activité",
|
|
17748
17797
|
"datahub.news.figures": "Quelques chiffres",
|
|
17749
|
-
"datahub.
|
|
17798
|
+
"datahub.record.addToFavorites": "Ajouter aux favoris",
|
|
17799
|
+
"datahub.search.back": "Retour",
|
|
17750
17800
|
"datahub.search.filter.all": "Tous",
|
|
17751
17801
|
"datahub.search.filter.generatedByWfs": "généré par une API",
|
|
17752
17802
|
"datahub.search.filter.others": "Autres",
|
|
@@ -17806,10 +17856,15 @@ var fr = {
|
|
|
17806
17856
|
"map.add.layer.file": "",
|
|
17807
17857
|
"map.add.layer.wfs": "",
|
|
17808
17858
|
"map.add.layer.wms": "",
|
|
17859
|
+
"map.layer.add": "",
|
|
17860
|
+
"map.layers.available": "",
|
|
17809
17861
|
"map.layers.list": "",
|
|
17810
17862
|
"map.loading.data": "Chargement des données...",
|
|
17863
|
+
"map.loading.service": "",
|
|
17811
17864
|
"map.navigation.message": "Veuillez utiliser CTRL + souris (ou deux doigts sur mobile) pour naviguer sur la carte",
|
|
17812
17865
|
"map.select.layer": "Source de données",
|
|
17866
|
+
"map.wfs.urlInput.hint": "",
|
|
17867
|
+
"map.wms.urlInput.hint": "",
|
|
17813
17868
|
"multiselect.filter.placeholder": "Rechercher",
|
|
17814
17869
|
"nav.back": "Retour",
|
|
17815
17870
|
next: next$3,
|
|
@@ -17844,14 +17899,16 @@ var fr = {
|
|
|
17844
17899
|
"record.metadata.catalog": "Catalogue",
|
|
17845
17900
|
"record.metadata.contact": "Contact",
|
|
17846
17901
|
"record.metadata.createdOn": "Créé le",
|
|
17847
|
-
"record.metadata.details": "
|
|
17902
|
+
"record.metadata.details": "Informations techniques",
|
|
17848
17903
|
"record.metadata.download": "Téléchargements",
|
|
17849
17904
|
"record.metadata.formats": "Formats",
|
|
17850
17905
|
"record.metadata.isOpenData": "Donnée Ouverte",
|
|
17851
17906
|
"record.metadata.keywords": "Mots clés",
|
|
17907
|
+
"record.metadata.lastUpdate": "Mis à jour le",
|
|
17852
17908
|
"record.metadata.links": "Liens",
|
|
17853
17909
|
"record.metadata.noUsage": "Aucune condition d'utilisation spécifiée pour ces données",
|
|
17854
17910
|
"record.metadata.origin": "À propos des données",
|
|
17911
|
+
"record.metadata.owner": "Catalogue d'origine",
|
|
17855
17912
|
"record.metadata.preview": "Aperçu",
|
|
17856
17913
|
"record.metadata.publications": "données",
|
|
17857
17914
|
"record.metadata.quality": "Qualité des métadonnées",
|
|
@@ -17873,11 +17930,14 @@ var fr = {
|
|
|
17873
17930
|
"record.metadata.quality.updateFrequency.failed": "Fréquence de mise à jour n'est pas renseignée",
|
|
17874
17931
|
"record.metadata.quality.updateFrequency.success": "Fréquence de mise à jour est renseignée",
|
|
17875
17932
|
"record.metadata.related": "Voir aussi",
|
|
17876
|
-
"record.metadata.sheet": "
|
|
17933
|
+
"record.metadata.sheet": "Fiche de métadonnées d'origine",
|
|
17934
|
+
"record.metadata.themes": "Catégories",
|
|
17877
17935
|
"record.metadata.title": "Titre",
|
|
17936
|
+
"record.metadata.type": "Donnée géographique",
|
|
17937
|
+
"record.metadata.uniqueId": "Identificateur de ressource unique",
|
|
17878
17938
|
"record.metadata.updateFrequency": "Fréquence de mise à jour des données",
|
|
17879
17939
|
"record.metadata.updateStatus": "Statut de mise à jour des données",
|
|
17880
|
-
"record.metadata.updatedOn": "
|
|
17940
|
+
"record.metadata.updatedOn": "Mise à jour de la fiche de métadonnée",
|
|
17881
17941
|
"record.metadata.usage": "Conditions d'utilisation",
|
|
17882
17942
|
"record.more.details": "Détails",
|
|
17883
17943
|
"record.tab.chart": "Graphique",
|
|
@@ -17886,10 +17946,10 @@ var fr = {
|
|
|
17886
17946
|
"record.was.created.time": "a créé ce jeu de données {time}",
|
|
17887
17947
|
records: records$3,
|
|
17888
17948
|
"results.layout.selectOne": "Affichage des résultats",
|
|
17889
|
-
"results.records.hits.displayedOn": "",
|
|
17949
|
+
"results.records.hits.displayedOn": "{displayed, plural, =0{Aucun enregistrement} one{1 enregistrement affiché} other{{displayed} enregistrements affichés}} {hits, plural, other{sur {hits} au total.}}",
|
|
17890
17950
|
"results.records.hits.empty.help.html": "Suggestions : <ul class='list-disc list-inside'><li>Essayez d'autres mots clés</li><li>Cherchez moins de mots</li></ul>",
|
|
17891
17951
|
"results.records.hits.found": "{hits, plural, =0{Aucune correspondance.} one{1 enregistrement trouvé.} other{{hits} résultats.}}",
|
|
17892
|
-
"results.records.hits.selected": "",
|
|
17952
|
+
"results.records.hits.selected": "{amount, plural, one{1 selectionnée} other{{ amount } sélectionnées}}",
|
|
17893
17953
|
"results.showMore": "Plus de résultats...",
|
|
17894
17954
|
"results.sortBy.dateStamp": "Plus récent",
|
|
17895
17955
|
"results.sortBy.popularity": "Popularité",
|
|
@@ -17938,6 +17998,7 @@ var fr = {
|
|
|
17938
17998
|
"table.object.count": "enregistrements dans ces données",
|
|
17939
17999
|
"table.select.data": "Source de données",
|
|
17940
18000
|
"tooltip.html.copy": "Copier le HTML",
|
|
18001
|
+
"tooltip.id.copy": "Copier l'identifiant unique",
|
|
17941
18002
|
"tooltip.url.copy": "Copier l'URL",
|
|
17942
18003
|
"tooltip.url.open": "Ouvrir l'URL",
|
|
17943
18004
|
"ui.readLess": "Réduire",
|
|
@@ -18065,9 +18126,13 @@ var it = {
|
|
|
18065
18126
|
"datahub.header.organisations": "Organizzazioni",
|
|
18066
18127
|
"datahub.header.popularRecords": "Più popolari",
|
|
18067
18128
|
"datahub.header.title.html": "<div class=\"text-white\">Tutti i dati<br>pubblici della mia organizzazione</div>",
|
|
18129
|
+
"datahub.news.contact.contactus": "Contattateci",
|
|
18130
|
+
"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>",
|
|
18131
|
+
"datahub.news.contact.title": "Ha un bisogno specifico?",
|
|
18068
18132
|
"datahub.news.feed": "Feed di attività",
|
|
18069
18133
|
"datahub.news.figures": "Alcune figure",
|
|
18070
|
-
"datahub.
|
|
18134
|
+
"datahub.record.addToFavorites": "Aggiungere a miei preferiti",
|
|
18135
|
+
"datahub.search.back": "Ritorna",
|
|
18071
18136
|
"datahub.search.filter.all": "Tutti",
|
|
18072
18137
|
"datahub.search.filter.generatedByWfs": "generato da un'API",
|
|
18073
18138
|
"datahub.search.filter.others": "Altri",
|
|
@@ -18094,6 +18159,7 @@ var it = {
|
|
|
18094
18159
|
"downloads.format.unknown": "sconosciuto",
|
|
18095
18160
|
"downloads.wfs.featuretype.not.found": "Il layer non è stato trovato",
|
|
18096
18161
|
dropFile: dropFile$2,
|
|
18162
|
+
"externalviewer.dataset.unnamed": "Layer del datahub",
|
|
18097
18163
|
"facets.block.title.OrgForResource": "Organizzazione",
|
|
18098
18164
|
"facets.block.title.availableInServices": "Disponibile per",
|
|
18099
18165
|
"facets.block.title.cl_hierarchyLevel.key": "Tipo di risorsa",
|
|
@@ -18126,10 +18192,15 @@ var it = {
|
|
|
18126
18192
|
"map.add.layer.file": "Da un file",
|
|
18127
18193
|
"map.add.layer.wfs": "Da un WFS",
|
|
18128
18194
|
"map.add.layer.wms": "Da un WMS",
|
|
18195
|
+
"map.layer.add": "",
|
|
18196
|
+
"map.layers.available": "",
|
|
18129
18197
|
"map.layers.list": "Layers",
|
|
18130
18198
|
"map.loading.data": "Caricamento dati...",
|
|
18199
|
+
"map.loading.service": "",
|
|
18131
18200
|
"map.navigation.message": "Si prega di utilizzare CTRL + mouse (o due dita su mobile) per navigare sulla mappa",
|
|
18132
18201
|
"map.select.layer": "Sorgente dati",
|
|
18202
|
+
"map.wfs.urlInput.hint": "",
|
|
18203
|
+
"map.wms.urlInput.hint": "",
|
|
18133
18204
|
"multiselect.filter.placeholder": "Cerca",
|
|
18134
18205
|
"nav.back": "Indietro",
|
|
18135
18206
|
next: next$2,
|
|
@@ -18164,14 +18235,16 @@ var it = {
|
|
|
18164
18235
|
"record.metadata.catalog": "Catalogo",
|
|
18165
18236
|
"record.metadata.contact": "Contatto",
|
|
18166
18237
|
"record.metadata.createdOn": "Creato il",
|
|
18167
|
-
"record.metadata.details": "
|
|
18238
|
+
"record.metadata.details": "Informazioni tecniche",
|
|
18168
18239
|
"record.metadata.download": "Download",
|
|
18169
18240
|
"record.metadata.formats": "Formati",
|
|
18170
18241
|
"record.metadata.isOpenData": "Data aperta",
|
|
18171
18242
|
"record.metadata.keywords": "Parole chiave",
|
|
18243
|
+
"record.metadata.lastUpdate": "Ultimo aggiornamento",
|
|
18172
18244
|
"record.metadata.links": "Collegamenti",
|
|
18173
18245
|
"record.metadata.noUsage": "Nessuna condizione d'uso specificata per questi dati",
|
|
18174
18246
|
"record.metadata.origin": "Informazioni sui dati",
|
|
18247
|
+
"record.metadata.owner": "Catalogo originale",
|
|
18175
18248
|
"record.metadata.preview": "Anteprima",
|
|
18176
18249
|
"record.metadata.publications": "pubblicazioni",
|
|
18177
18250
|
"record.metadata.quality": "Qualità dei metadati",
|
|
@@ -18193,11 +18266,14 @@ var it = {
|
|
|
18193
18266
|
"record.metadata.quality.updateFrequency.failed": "La frequenza di aggiornamento non è specificata",
|
|
18194
18267
|
"record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
|
|
18195
18268
|
"record.metadata.related": "Vedi anche",
|
|
18196
|
-
"record.metadata.sheet": "
|
|
18269
|
+
"record.metadata.sheet": "Origine del metadata",
|
|
18270
|
+
"record.metadata.themes": "Categorie",
|
|
18197
18271
|
"record.metadata.title": "Titolo",
|
|
18272
|
+
"record.metadata.type": "Dati geografici",
|
|
18273
|
+
"record.metadata.uniqueId": "Identificatore unico di risorsa",
|
|
18198
18274
|
"record.metadata.updateFrequency": "Frequenza di aggiornamento dei dati",
|
|
18199
18275
|
"record.metadata.updateStatus": "Stato di aggiornamento dei dati",
|
|
18200
|
-
"record.metadata.updatedOn": "Ultimo aggiornamento
|
|
18276
|
+
"record.metadata.updatedOn": "Ultimo aggiornamento del metadata",
|
|
18201
18277
|
"record.metadata.usage": "Condizioni d'uso",
|
|
18202
18278
|
"record.more.details": "Dettagli",
|
|
18203
18279
|
"record.tab.chart": "Grafico",
|
|
@@ -18206,10 +18282,10 @@ var it = {
|
|
|
18206
18282
|
"record.was.created.time": "ha creato questi dati {time}",
|
|
18207
18283
|
records: records$2,
|
|
18208
18284
|
"results.layout.selectOne": "Mostra risultati",
|
|
18209
|
-
"results.records.hits.displayedOn": "",
|
|
18285
|
+
"results.records.hits.displayedOn": "{displayed, plural, =0{Nessun record} one{1 record visualizzato} other{{displayed} records visualizzati}} {hits, plural, other{su {hits} in totale.}}",
|
|
18210
18286
|
"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>",
|
|
18211
18287
|
"results.records.hits.found": "{hits, plural, =0{Nessuna corrispondenza.} one{1 record trovato.} other{{hits} risultati.}}",
|
|
18212
|
-
"results.records.hits.selected": "",
|
|
18288
|
+
"results.records.hits.selected": "{amount, plural, one{1 selezionato} other{{ amount } selezionati}}",
|
|
18213
18289
|
"results.showMore": "Altri risultati...",
|
|
18214
18290
|
"results.sortBy.dateStamp": "Più recente",
|
|
18215
18291
|
"results.sortBy.popularity": "Popolarità",
|
|
@@ -18258,8 +18334,11 @@ var it = {
|
|
|
18258
18334
|
"table.object.count": "record in questi dati",
|
|
18259
18335
|
"table.select.data": "Sorgente dati",
|
|
18260
18336
|
"tooltip.html.copy": "Copiare il HTML",
|
|
18337
|
+
"tooltip.id.copy": "Copiare l'identificatore unico",
|
|
18261
18338
|
"tooltip.url.copy": "Copiare l'URL",
|
|
18262
18339
|
"tooltip.url.open": "Aprire l'URL",
|
|
18340
|
+
"ui.readLess": "Ridurre",
|
|
18341
|
+
"ui.readMore": "Leggi di più",
|
|
18263
18342
|
"wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
|
|
18264
18343
|
"wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
|
|
18265
18344
|
"wfs.unreachable.cors": "Il servizio non è accessibile a causa di limitazioni CORS",
|
|
@@ -18383,8 +18462,12 @@ var nl = {
|
|
|
18383
18462
|
"datahub.header.organisations": "",
|
|
18384
18463
|
"datahub.header.popularRecords": "",
|
|
18385
18464
|
"datahub.header.title.html": "",
|
|
18465
|
+
"datahub.news.contact.contactus": "",
|
|
18466
|
+
"datahub.news.contact.html": "",
|
|
18467
|
+
"datahub.news.contact.title": "",
|
|
18386
18468
|
"datahub.news.feed": "",
|
|
18387
18469
|
"datahub.news.figures": "",
|
|
18470
|
+
"datahub.record.addToFavorites": "",
|
|
18388
18471
|
"datahub.search.back": "",
|
|
18389
18472
|
"datahub.search.filter.all": "",
|
|
18390
18473
|
"datahub.search.filter.generatedByWfs": "",
|
|
@@ -18445,10 +18528,15 @@ var nl = {
|
|
|
18445
18528
|
"map.add.layer.file": "",
|
|
18446
18529
|
"map.add.layer.wfs": "",
|
|
18447
18530
|
"map.add.layer.wms": "",
|
|
18531
|
+
"map.layer.add": "",
|
|
18532
|
+
"map.layers.available": "",
|
|
18448
18533
|
"map.layers.list": "",
|
|
18449
18534
|
"map.loading.data": "",
|
|
18535
|
+
"map.loading.service": "",
|
|
18450
18536
|
"map.navigation.message": "",
|
|
18451
18537
|
"map.select.layer": "",
|
|
18538
|
+
"map.wfs.urlInput.hint": "",
|
|
18539
|
+
"map.wms.urlInput.hint": "",
|
|
18452
18540
|
"multiselect.filter.placeholder": "",
|
|
18453
18541
|
"nav.back": "",
|
|
18454
18542
|
next: next$1,
|
|
@@ -18488,9 +18576,11 @@ var nl = {
|
|
|
18488
18576
|
"record.metadata.formats": "",
|
|
18489
18577
|
"record.metadata.isOpenData": "",
|
|
18490
18578
|
"record.metadata.keywords": "",
|
|
18579
|
+
"record.metadata.lastUpdate": "",
|
|
18491
18580
|
"record.metadata.links": "",
|
|
18492
18581
|
"record.metadata.noUsage": "",
|
|
18493
18582
|
"record.metadata.origin": "",
|
|
18583
|
+
"record.metadata.owner": "",
|
|
18494
18584
|
"record.metadata.preview": "",
|
|
18495
18585
|
"record.metadata.publications": "",
|
|
18496
18586
|
"record.metadata.quality": "",
|
|
@@ -18513,7 +18603,10 @@ var nl = {
|
|
|
18513
18603
|
"record.metadata.quality.updateFrequency.success": "",
|
|
18514
18604
|
"record.metadata.related": "",
|
|
18515
18605
|
"record.metadata.sheet": "",
|
|
18606
|
+
"record.metadata.themes": "",
|
|
18516
18607
|
"record.metadata.title": "",
|
|
18608
|
+
"record.metadata.type": "",
|
|
18609
|
+
"record.metadata.uniqueId": "",
|
|
18517
18610
|
"record.metadata.updateFrequency": "",
|
|
18518
18611
|
"record.metadata.updateStatus": "",
|
|
18519
18612
|
"record.metadata.updatedOn": "",
|
|
@@ -18577,6 +18670,7 @@ var nl = {
|
|
|
18577
18670
|
"table.object.count": "",
|
|
18578
18671
|
"table.select.data": "",
|
|
18579
18672
|
"tooltip.html.copy": "",
|
|
18673
|
+
"tooltip.id.copy": "",
|
|
18580
18674
|
"tooltip.url.copy": "",
|
|
18581
18675
|
"tooltip.url.open": "",
|
|
18582
18676
|
"ui.readLess": "",
|
|
@@ -18704,8 +18798,12 @@ var pt = {
|
|
|
18704
18798
|
"datahub.header.organisations": "",
|
|
18705
18799
|
"datahub.header.popularRecords": "",
|
|
18706
18800
|
"datahub.header.title.html": "",
|
|
18801
|
+
"datahub.news.contact.contactus": "",
|
|
18802
|
+
"datahub.news.contact.html": "",
|
|
18803
|
+
"datahub.news.contact.title": "",
|
|
18707
18804
|
"datahub.news.feed": "",
|
|
18708
18805
|
"datahub.news.figures": "",
|
|
18806
|
+
"datahub.record.addToFavorites": "",
|
|
18709
18807
|
"datahub.search.back": "",
|
|
18710
18808
|
"datahub.search.filter.all": "",
|
|
18711
18809
|
"datahub.search.filter.generatedByWfs": "",
|
|
@@ -18766,10 +18864,15 @@ var pt = {
|
|
|
18766
18864
|
"map.add.layer.file": "",
|
|
18767
18865
|
"map.add.layer.wfs": "",
|
|
18768
18866
|
"map.add.layer.wms": "",
|
|
18867
|
+
"map.layer.add": "",
|
|
18868
|
+
"map.layers.available": "",
|
|
18769
18869
|
"map.layers.list": "",
|
|
18770
18870
|
"map.loading.data": "",
|
|
18871
|
+
"map.loading.service": "",
|
|
18771
18872
|
"map.navigation.message": "",
|
|
18772
18873
|
"map.select.layer": "",
|
|
18874
|
+
"map.wfs.urlInput.hint": "",
|
|
18875
|
+
"map.wms.urlInput.hint": "",
|
|
18773
18876
|
"multiselect.filter.placeholder": "",
|
|
18774
18877
|
"nav.back": "",
|
|
18775
18878
|
next: next,
|
|
@@ -18809,9 +18912,11 @@ var pt = {
|
|
|
18809
18912
|
"record.metadata.formats": "",
|
|
18810
18913
|
"record.metadata.isOpenData": "",
|
|
18811
18914
|
"record.metadata.keywords": "",
|
|
18915
|
+
"record.metadata.lastUpdate": "",
|
|
18812
18916
|
"record.metadata.links": "",
|
|
18813
18917
|
"record.metadata.noUsage": "",
|
|
18814
18918
|
"record.metadata.origin": "",
|
|
18919
|
+
"record.metadata.owner": "",
|
|
18815
18920
|
"record.metadata.preview": "",
|
|
18816
18921
|
"record.metadata.publications": "",
|
|
18817
18922
|
"record.metadata.quality": "",
|
|
@@ -18834,7 +18939,10 @@ var pt = {
|
|
|
18834
18939
|
"record.metadata.quality.updateFrequency.success": "",
|
|
18835
18940
|
"record.metadata.related": "",
|
|
18836
18941
|
"record.metadata.sheet": "",
|
|
18942
|
+
"record.metadata.themes": "",
|
|
18837
18943
|
"record.metadata.title": "",
|
|
18944
|
+
"record.metadata.type": "",
|
|
18945
|
+
"record.metadata.uniqueId": "",
|
|
18838
18946
|
"record.metadata.updateFrequency": "",
|
|
18839
18947
|
"record.metadata.updateStatus": "",
|
|
18840
18948
|
"record.metadata.updatedOn": "",
|
|
@@ -18898,6 +19006,7 @@ var pt = {
|
|
|
18898
19006
|
"table.object.count": "",
|
|
18899
19007
|
"table.select.data": "",
|
|
18900
19008
|
"tooltip.html.copy": "",
|
|
19009
|
+
"tooltip.id.copy": "",
|
|
18901
19010
|
"tooltip.url.copy": "",
|
|
18902
19011
|
"tooltip.url.open": "",
|
|
18903
19012
|
"ui.readLess": "",
|
|
@@ -20736,6 +20845,13 @@ class ThemeService {
|
|
|
20736
20845
|
}
|
|
20737
20846
|
return chroma.hsl(hue % 360, saturation, lightness).css();
|
|
20738
20847
|
}
|
|
20848
|
+
static setFavicon(faviconPath) {
|
|
20849
|
+
const link = document.querySelector("link[rel*='icon']") ||
|
|
20850
|
+
document.createElement('link');
|
|
20851
|
+
link['rel'] = 'icon';
|
|
20852
|
+
link['href'] = faviconPath;
|
|
20853
|
+
document.getElementsByTagName('head')[0].appendChild(link);
|
|
20854
|
+
}
|
|
20739
20855
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20740
20856
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
|
|
20741
20857
|
}
|
|
@@ -20915,6 +21031,33 @@ function propagateToDocumentOnly(event) {
|
|
|
20915
21031
|
}, 0);
|
|
20916
21032
|
}
|
|
20917
21033
|
|
|
21034
|
+
function normalize(input) {
|
|
21035
|
+
return input
|
|
21036
|
+
.toLowerCase()
|
|
21037
|
+
.normalize('NFD') // explode composite chars (e.g. é) into multiple chars
|
|
21038
|
+
.replace(/[\u0300-\u036f]/g, '') // remove accents
|
|
21039
|
+
.replace(/œ/g, 'oe') // remove accents
|
|
21040
|
+
.replace(/[^a-z0-9\s]/g, ' '); // replace special characters with space
|
|
21041
|
+
}
|
|
21042
|
+
function asNormalizedParts(input) {
|
|
21043
|
+
return normalize(input)
|
|
21044
|
+
.split(/\s+/)
|
|
21045
|
+
.map((part) => part.trim())
|
|
21046
|
+
.filter((part) => part.length > 0);
|
|
21047
|
+
}
|
|
21048
|
+
/**
|
|
21049
|
+
* This creates a filter function based on a pattern (typically a user-input
|
|
21050
|
+
* search text).
|
|
21051
|
+
* @param pattern
|
|
21052
|
+
*/
|
|
21053
|
+
function createFuzzyFilter(pattern) {
|
|
21054
|
+
const patternParts = asNormalizedParts(pattern);
|
|
21055
|
+
return (input) => {
|
|
21056
|
+
const inputParts = asNormalizedParts(input);
|
|
21057
|
+
return patternParts.every((patternPart) => inputParts.some((part) => part.includes(patternPart)));
|
|
21058
|
+
};
|
|
21059
|
+
}
|
|
21060
|
+
|
|
20918
21061
|
marker('downloads.wfs.featuretype.not.found');
|
|
20919
21062
|
const FORMATS = {
|
|
20920
21063
|
csv: {
|
|
@@ -22043,6 +22186,7 @@ function loadAppConfig() {
|
|
|
22043
22186
|
'login_url',
|
|
22044
22187
|
'web_component_embedder_url',
|
|
22045
22188
|
'languages',
|
|
22189
|
+
'contact_email',
|
|
22046
22190
|
], warnings, errors);
|
|
22047
22191
|
if (parsedGlobalSection?.metadata_language) {
|
|
22048
22192
|
parsedGlobalSection = checkMetadataLanguage(parsedGlobalSection, warnings);
|
|
@@ -22060,6 +22204,7 @@ function loadAppConfig() {
|
|
|
22060
22204
|
LOGIN_URL: parsedGlobalSection.login_url,
|
|
22061
22205
|
WEB_COMPONENT_EMBEDDER_URL: parsedGlobalSection.web_component_embedder_url,
|
|
22062
22206
|
LANGUAGES: parsedGlobalSection.languages,
|
|
22207
|
+
CONTACT_EMAIL: parsedGlobalSection.contact_email,
|
|
22063
22208
|
};
|
|
22064
22209
|
const parsedLayersSections = parseMultiConfigSection(parsed, 'map_layer', ['type'], ['name', 'url', 'data'], warnings, errors);
|
|
22065
22210
|
const parsedMapSection = parseConfigSection(parsed, 'map', [], [
|
|
@@ -22093,6 +22238,7 @@ function loadAppConfig() {
|
|
|
22093
22238
|
'fonts_stylesheet_url',
|
|
22094
22239
|
'thumbnail_placeholder',
|
|
22095
22240
|
'header_background',
|
|
22241
|
+
'favicon',
|
|
22096
22242
|
], warnings, errors);
|
|
22097
22243
|
themeConfig =
|
|
22098
22244
|
parsedThemeSection === null
|
|
@@ -22108,6 +22254,7 @@ function loadAppConfig() {
|
|
|
22108
22254
|
TITLE_FONT: parsedThemeSection.title_font,
|
|
22109
22255
|
MAIN_FONT: parsedThemeSection.main_font,
|
|
22110
22256
|
FONTS_STYLESHEET_URL: parsedThemeSection.fonts_stylesheet_url,
|
|
22257
|
+
FAVICON: parsedThemeSection.favicon,
|
|
22111
22258
|
};
|
|
22112
22259
|
const parsedSearchSection = parseConfigSection(parsed, 'search', [], [
|
|
22113
22260
|
'filter_geometry_data',
|
|
@@ -22434,6 +22581,7 @@ const DEFAULT_VIEW = {
|
|
|
22434
22581
|
center: [0, 15],
|
|
22435
22582
|
zoom: 2,
|
|
22436
22583
|
};
|
|
22584
|
+
const WFS_MAX_FEATURES = 10000;
|
|
22437
22585
|
class MapContextService {
|
|
22438
22586
|
constructor(mapUtils, styleService) {
|
|
22439
22587
|
this.mapUtils = mapUtils;
|
|
@@ -22492,6 +22640,7 @@ class MapContextService {
|
|
|
22492
22640
|
urlObj.searchParams.set('typename', layerModel.name);
|
|
22493
22641
|
urlObj.searchParams.set('srsname', 'EPSG:3857');
|
|
22494
22642
|
urlObj.searchParams.set('bbox', `${extent.join(',')},EPSG:3857`);
|
|
22643
|
+
urlObj.searchParams.set('maxFeatures', WFS_MAX_FEATURES.toString());
|
|
22495
22644
|
return urlObj.toString();
|
|
22496
22645
|
},
|
|
22497
22646
|
strategy: bbox,
|
|
@@ -23668,6 +23817,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
23668
23817
|
args: ['contentDiv']
|
|
23669
23818
|
}] } });
|
|
23670
23819
|
|
|
23820
|
+
class CopyTextButtonComponent {
|
|
23821
|
+
constructor() {
|
|
23822
|
+
this.displayText = true;
|
|
23823
|
+
this.rows = 1;
|
|
23824
|
+
}
|
|
23825
|
+
copyText(event) {
|
|
23826
|
+
navigator.clipboard.writeText(this.text);
|
|
23827
|
+
event.target.blur();
|
|
23828
|
+
}
|
|
23829
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CopyTextButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23830
|
+
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 }); }
|
|
23831
|
+
}
|
|
23832
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CopyTextButtonComponent, decorators: [{
|
|
23833
|
+
type: Component,
|
|
23834
|
+
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" }]
|
|
23835
|
+
}], propDecorators: { text: [{
|
|
23836
|
+
type: Input
|
|
23837
|
+
}], tooltipText: [{
|
|
23838
|
+
type: Input
|
|
23839
|
+
}], displayText: [{
|
|
23840
|
+
type: Input
|
|
23841
|
+
}], rows: [{
|
|
23842
|
+
type: Input
|
|
23843
|
+
}] } });
|
|
23844
|
+
|
|
23671
23845
|
class ContentGhostComponent {
|
|
23672
23846
|
constructor() {
|
|
23673
23847
|
this.ghostClass = '';
|
|
@@ -23822,6 +23996,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
23822
23996
|
args: ['container']
|
|
23823
23997
|
}] } });
|
|
23824
23998
|
|
|
23999
|
+
class MarkdownParserComponent {
|
|
24000
|
+
get parsedMarkdown() {
|
|
24001
|
+
return marked.parse(this.textContent);
|
|
24002
|
+
}
|
|
24003
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MarkdownParserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24004
|
+
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 /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 /deep/ .markdown-body strong{@apply font-bold;color:var(--color-secondary-darker)}:host /deep/ .markdown-body h1,:host /deep/ .markdown-body h2,:host /deep/ .markdown-body h3,:host /deep/ .markdown-body h4,:host /deep/ .markdown-body h5,:host /deep/ .markdown-body h6{margin-top:24px;margin-bottom:16px;line-height:1.25;@apply text-title font-title font-bold;}:host /deep/ .markdown-body h1{margin:.67em 0;padding-bottom:.3em;font-size:2em;color:var(--color-primary)}:host /deep/ .markdown-body h2{padding-bottom:.3em;font-size:1.5em;color:var(--color-secondary)}:host /deep/ .markdown-body h3{font-size:1.25em;color:var(--color-secondary)}:host /deep/ .markdown-body h4{font-size:1em;color:var(--color-secondary)}:host /deep/ .markdown-body h5{font-size:.875em;color:var(--color-secondary)}:host /deep/ .markdown-body h6{font-size:.85em;color:var(--color-secondary-lighter)}:host /deep/ .markdown-body p{margin-top:0;margin-bottom:10px}:host /deep/ .markdown-body p > a{margin-top:0;margin-bottom:10px;color:var(--color-primary)!important;text-decoration:none!important;@apply font-bold;}:host /deep/ .markdown-body p > a:hover{color:var(--color-primary-darker)!important}:host /deep/ .markdown-body blockquote{margin:0;padding:0 1em;color:var(--color-secondary-lighter);border-left:.25em solid var(--color-primary-lighter)}:host /deep/ .markdown-body pre{margin-top:0;margin-bottom:0;font-size:12px;background-color:var(--color-gray-100);word-wrap:normal}:host /deep/ .markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;color:var(--color-secondary);border-radius:6px}:host /deep/ .markdown-body code{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;border-radius:6px}:host /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 /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 /deep/ .markdown-body hr::before{display:table;content:\"\"}:host /deep/ .markdown-body hr::after{display:table;clear:both;content:\"\"}:host /deep/ .markdown-body ul,:host /deep/ .markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em;list-style:revert}:host /deep/ .markdown-body ol ol,:host /deep/ .markdown-body ul ol{list-style-type:lower-roman}:host /deep/ .markdown-body ul ul ol,:host /deep/ .markdown-body ul ol ol,:host /deep/ .markdown-body ol ul ol,:host /deep/ .markdown-body ol ol ol{list-style-type:lower-alpha}:host /deep/ .markdown-body ol[type=\"a s\"]{list-style-type:lower-alpha}:host /deep/ .markdown-body ol[type=\"A s\"]{list-style-type:upper-alpha}:host /deep/ .markdown-body ol[type=\"i s\"]{list-style-type:lower-roman}:host /deep/ .markdown-body ol[type=\"I s\"]{list-style-type:upper-roman}:host /deep/ .markdown-body ol[type=\"1\"]{list-style:unset;list-style-type:decimal}:host /deep/ .markdown-body div > ol:not([type]){list-style:unset;list-style-type:decimal}:host /deep/ .markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;padding-bottom:15px}:host /deep/ .markdown-body td,:host /deep/ .markdown-body th{padding:0}:host /deep/ .markdown-body th{color:var(--color-secondary)}:host /deep/ .markdown-body table th,:host /deep/ .markdown-body table td{padding:6px 13px;border:1px solid var(--color-gray-500)}:host /deep/ .markdown-body table td > :last-child{margin-bottom:0}:host /deep/ .markdown-body table tr{background-color:#fff;border-top:1px solid var(--color-secondary-lighter)}:host /deep/ .markdown-body table tr:nth-child(2n){background-color:var(--color-gray-100)}:host /deep/ .markdown-body table img{background-color:transparent}:host /deep/ .markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:transparent}:host /deep/ .markdown-body img[align=\"right\"]{padding-left:20px}:host /deep/ .markdown-body img[align=\"left\"]{padding-right:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24005
|
+
}
|
|
24006
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MarkdownParserComponent, decorators: [{
|
|
24007
|
+
type: Component,
|
|
24008
|
+
args: [{ selector: 'gn-ui-markdown-parser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"markdown-body\" [innerHTML]=\"parsedMarkdown\"></div>\n", styles: [":host /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 /deep/ .markdown-body strong{@apply font-bold;color:var(--color-secondary-darker)}:host /deep/ .markdown-body h1,:host /deep/ .markdown-body h2,:host /deep/ .markdown-body h3,:host /deep/ .markdown-body h4,:host /deep/ .markdown-body h5,:host /deep/ .markdown-body h6{margin-top:24px;margin-bottom:16px;line-height:1.25;@apply text-title font-title font-bold;}:host /deep/ .markdown-body h1{margin:.67em 0;padding-bottom:.3em;font-size:2em;color:var(--color-primary)}:host /deep/ .markdown-body h2{padding-bottom:.3em;font-size:1.5em;color:var(--color-secondary)}:host /deep/ .markdown-body h3{font-size:1.25em;color:var(--color-secondary)}:host /deep/ .markdown-body h4{font-size:1em;color:var(--color-secondary)}:host /deep/ .markdown-body h5{font-size:.875em;color:var(--color-secondary)}:host /deep/ .markdown-body h6{font-size:.85em;color:var(--color-secondary-lighter)}:host /deep/ .markdown-body p{margin-top:0;margin-bottom:10px}:host /deep/ .markdown-body p > a{margin-top:0;margin-bottom:10px;color:var(--color-primary)!important;text-decoration:none!important;@apply font-bold;}:host /deep/ .markdown-body p > a:hover{color:var(--color-primary-darker)!important}:host /deep/ .markdown-body blockquote{margin:0;padding:0 1em;color:var(--color-secondary-lighter);border-left:.25em solid var(--color-primary-lighter)}:host /deep/ .markdown-body pre{margin-top:0;margin-bottom:0;font-size:12px;background-color:var(--color-gray-100);word-wrap:normal}:host /deep/ .markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;color:var(--color-secondary);border-radius:6px}:host /deep/ .markdown-body code{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;border-radius:6px}:host /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 /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 /deep/ .markdown-body hr::before{display:table;content:\"\"}:host /deep/ .markdown-body hr::after{display:table;clear:both;content:\"\"}:host /deep/ .markdown-body ul,:host /deep/ .markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em;list-style:revert}:host /deep/ .markdown-body ol ol,:host /deep/ .markdown-body ul ol{list-style-type:lower-roman}:host /deep/ .markdown-body ul ul ol,:host /deep/ .markdown-body ul ol ol,:host /deep/ .markdown-body ol ul ol,:host /deep/ .markdown-body ol ol ol{list-style-type:lower-alpha}:host /deep/ .markdown-body ol[type=\"a s\"]{list-style-type:lower-alpha}:host /deep/ .markdown-body ol[type=\"A s\"]{list-style-type:upper-alpha}:host /deep/ .markdown-body ol[type=\"i s\"]{list-style-type:lower-roman}:host /deep/ .markdown-body ol[type=\"I s\"]{list-style-type:upper-roman}:host /deep/ .markdown-body ol[type=\"1\"]{list-style:unset;list-style-type:decimal}:host /deep/ .markdown-body div > ol:not([type]){list-style:unset;list-style-type:decimal}:host /deep/ .markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;padding-bottom:15px}:host /deep/ .markdown-body td,:host /deep/ .markdown-body th{padding:0}:host /deep/ .markdown-body th{color:var(--color-secondary)}:host /deep/ .markdown-body table th,:host /deep/ .markdown-body table td{padding:6px 13px;border:1px solid var(--color-gray-500)}:host /deep/ .markdown-body table td > :last-child{margin-bottom:0}:host /deep/ .markdown-body table tr{background-color:#fff;border-top:1px solid var(--color-secondary-lighter)}:host /deep/ .markdown-body table tr:nth-child(2n){background-color:var(--color-gray-100)}:host /deep/ .markdown-body table img{background-color:transparent}:host /deep/ .markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:transparent}:host /deep/ .markdown-body img[align=\"right\"]{padding-left:20px}:host /deep/ .markdown-body img[align=\"left\"]{padding-right:20px}\n"] }]
|
|
24009
|
+
}], propDecorators: { textContent: [{
|
|
24010
|
+
type: Input
|
|
24011
|
+
}] } });
|
|
24012
|
+
|
|
23825
24013
|
class MetadataInfoComponent {
|
|
23826
24014
|
constructor() {
|
|
23827
24015
|
this.keyword = new EventEmitter();
|
|
@@ -23859,12 +24047,16 @@ class MetadataInfoComponent {
|
|
|
23859
24047
|
onKeywordClick(keyword) {
|
|
23860
24048
|
this.keyword.emit(keyword);
|
|
23861
24049
|
}
|
|
24050
|
+
copyText() {
|
|
24051
|
+
navigator.clipboard.writeText(this.metadata.uniqueIdentifier);
|
|
24052
|
+
event.target.blur();
|
|
24053
|
+
}
|
|
23862
24054
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23863
|
-
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: "<
|
|
24055
|
+
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 }); }
|
|
23864
24056
|
}
|
|
23865
24057
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataInfoComponent, decorators: [{
|
|
23866
24058
|
type: Component,
|
|
23867
|
-
args: [{ selector: 'gn-ui-metadata-info', changeDetection: ChangeDetectionStrategy.OnPush, template: "<
|
|
24059
|
+
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"] }]
|
|
23868
24060
|
}], propDecorators: { metadata: [{
|
|
23869
24061
|
type: Input
|
|
23870
24062
|
}], incomplete: [{
|
|
@@ -23900,53 +24092,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
23900
24092
|
|
|
23901
24093
|
class ButtonComponent {
|
|
23902
24094
|
constructor() {
|
|
23903
|
-
this.type = 'default';
|
|
23904
24095
|
this.disabled = false;
|
|
23905
24096
|
this.extraClass = '';
|
|
23906
24097
|
this.buttonClick = new EventEmitter();
|
|
23907
24098
|
}
|
|
23908
|
-
|
|
23909
|
-
|
|
23910
|
-
|
|
23911
|
-
get color() {
|
|
23912
|
-
switch (this.type) {
|
|
23913
|
-
case 'default':
|
|
23914
|
-
return 'bg-gray-700 hover:bg-gray-800 hover:bg-gray-800 active:bg-gray-900';
|
|
24099
|
+
// btn-classes are explicited to allow tailwind recognize them and add it in css.
|
|
24100
|
+
set type(value) {
|
|
24101
|
+
switch (value) {
|
|
23915
24102
|
case 'primary':
|
|
23916
|
-
|
|
23917
|
-
|
|
23918
|
-
return 'bg-secondary hover:bg-secondary-darker focus:bg-secondary-darker active:bg-secondary-darkest';
|
|
23919
|
-
case 'outline':
|
|
23920
|
-
return 'bg-white';
|
|
23921
|
-
case 'light':
|
|
23922
|
-
return 'bg-white hover:bg-gray-50 focus:bg-gray-50 active:bg-gray-100';
|
|
23923
|
-
}
|
|
23924
|
-
}
|
|
23925
|
-
get textColor() {
|
|
23926
|
-
switch (this.type) {
|
|
23927
|
-
case 'default':
|
|
24103
|
+
this.btnClass = 'btn-primary';
|
|
24104
|
+
break;
|
|
23928
24105
|
case 'secondary':
|
|
23929
|
-
|
|
23930
|
-
|
|
24106
|
+
this.btnClass = 'btn-secondary';
|
|
24107
|
+
break;
|
|
23931
24108
|
case 'outline':
|
|
23932
|
-
|
|
24109
|
+
this.btnClass = 'btn-outline';
|
|
24110
|
+
break;
|
|
23933
24111
|
case 'light':
|
|
23934
|
-
|
|
24112
|
+
this.btnClass = 'btn-light';
|
|
24113
|
+
break;
|
|
24114
|
+
default:
|
|
24115
|
+
this.btnClass = 'btn-default';
|
|
24116
|
+
break;
|
|
23935
24117
|
}
|
|
23936
24118
|
}
|
|
23937
|
-
get
|
|
23938
|
-
|
|
23939
|
-
case 'default':
|
|
23940
|
-
return 'border border-gray-700 focus:ring-4 focus:ring-gray-200';
|
|
23941
|
-
case 'secondary':
|
|
23942
|
-
return 'border border-secondary focus:ring-4 focus:ring-secondary-lightest';
|
|
23943
|
-
case 'primary':
|
|
23944
|
-
return 'border border-primary focus:ring-4 focus:ring-primary-lightest';
|
|
23945
|
-
case 'outline':
|
|
23946
|
-
return 'border border-gray-300 hover:border-primary-lighter focus:border-primary-lighter focus:ring-4 focus:ring-primary-lightest active:border-primary-darker';
|
|
23947
|
-
case 'light':
|
|
23948
|
-
return 'border border-white focus:ring-4 focus:ring-gray-300';
|
|
23949
|
-
}
|
|
24119
|
+
get classList() {
|
|
24120
|
+
return `${this.btnClass} ${this.extraClass}`;
|
|
23950
24121
|
}
|
|
23951
24122
|
handleClick(event) {
|
|
23952
24123
|
this.buttonClick.emit();
|
|
@@ -24042,31 +24213,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
24042
24213
|
type: Input
|
|
24043
24214
|
}] } });
|
|
24044
24215
|
|
|
24045
|
-
class CopyTextButtonComponent {
|
|
24046
|
-
constructor() {
|
|
24047
|
-
this.displayText = true;
|
|
24048
|
-
this.rows = 1;
|
|
24049
|
-
}
|
|
24050
|
-
copyText(event) {
|
|
24051
|
-
navigator.clipboard.writeText(this.text);
|
|
24052
|
-
event.target.blur();
|
|
24053
|
-
}
|
|
24054
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CopyTextButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24055
|
-
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 }); }
|
|
24056
|
-
}
|
|
24057
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CopyTextButtonComponent, decorators: [{
|
|
24058
|
-
type: Component,
|
|
24059
|
-
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" }]
|
|
24060
|
-
}], propDecorators: { text: [{
|
|
24061
|
-
type: Input
|
|
24062
|
-
}], tooltipText: [{
|
|
24063
|
-
type: Input
|
|
24064
|
-
}], displayText: [{
|
|
24065
|
-
type: Input
|
|
24066
|
-
}], rows: [{
|
|
24067
|
-
type: Input
|
|
24068
|
-
}] } });
|
|
24069
|
-
|
|
24070
24216
|
class ApiCardComponent {
|
|
24071
24217
|
constructor() {
|
|
24072
24218
|
this.currentlyActive = false;
|
|
@@ -24346,15 +24492,21 @@ class MetadataContactComponent {
|
|
|
24346
24492
|
? this.metadata.contactsForResource
|
|
24347
24493
|
: this.metadata.contacts) || []);
|
|
24348
24494
|
}
|
|
24495
|
+
get address() {
|
|
24496
|
+
const addressParts = this.contacts[0].address
|
|
24497
|
+
.split(',')
|
|
24498
|
+
.map((part) => part.trim());
|
|
24499
|
+
return addressParts;
|
|
24500
|
+
}
|
|
24349
24501
|
onOrganizationClick() {
|
|
24350
24502
|
this.organizationClick.emit(this.shownOrganization);
|
|
24351
24503
|
}
|
|
24352
24504
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataContactComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24353
|
-
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
|
|
24505
|
+
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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24354
24506
|
}
|
|
24355
24507
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MetadataContactComponent, decorators: [{
|
|
24356
24508
|
type: Component,
|
|
24357
|
-
args: [{ selector: 'gn-ui-metadata-contact', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div
|
|
24509
|
+
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" }]
|
|
24358
24510
|
}], propDecorators: { metadata: [{
|
|
24359
24511
|
type: Input
|
|
24360
24512
|
}], organizationClick: [{
|
|
@@ -24620,7 +24772,10 @@ class DropdownMultiselectComponent {
|
|
|
24620
24772
|
return this.choices.filter((choice) => this.selected.indexOf(choice.value) > -1);
|
|
24621
24773
|
}
|
|
24622
24774
|
get filteredChoicesByText() {
|
|
24623
|
-
|
|
24775
|
+
if (!this.searchInputValue)
|
|
24776
|
+
return this.choices;
|
|
24777
|
+
const filter = createFuzzyFilter(this.searchInputValue);
|
|
24778
|
+
return this.choices.filter((choice) => filter(choice.label));
|
|
24624
24779
|
}
|
|
24625
24780
|
get focusedIndex() {
|
|
24626
24781
|
return this.checkboxes.reduce((prev, curr, curIndex) => curr.nativeElement === document.activeElement ? curIndex : prev, -1);
|
|
@@ -25071,11 +25226,11 @@ class StarToggleComponent {
|
|
|
25071
25226
|
event.preventDefault();
|
|
25072
25227
|
}
|
|
25073
25228
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: StarToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25074
|
-
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 }); }
|
|
25229
|
+
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 }); }
|
|
25075
25230
|
}
|
|
25076
25231
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: StarToggleComponent, decorators: [{
|
|
25077
25232
|
type: Component,
|
|
25078
|
-
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"] }]
|
|
25233
|
+
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"] }]
|
|
25079
25234
|
}], propDecorators: { toggled: [{
|
|
25080
25235
|
type: Input
|
|
25081
25236
|
}], disabled: [{
|
|
@@ -25187,11 +25342,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
25187
25342
|
|
|
25188
25343
|
class NavigationButtonComponent {
|
|
25189
25344
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NavigationButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25190
|
-
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-
|
|
25345
|
+
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 }); }
|
|
25191
25346
|
}
|
|
25192
25347
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NavigationButtonComponent, decorators: [{
|
|
25193
25348
|
type: Component,
|
|
25194
|
-
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-
|
|
25349
|
+
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" }]
|
|
25195
25350
|
}], propDecorators: { label: [{
|
|
25196
25351
|
type: Input
|
|
25197
25352
|
}], icon: [{
|
|
@@ -25775,7 +25930,8 @@ class UiElementsModule {
|
|
|
25775
25930
|
GnUiLinkifyDirective,
|
|
25776
25931
|
PaginationButtonsComponent,
|
|
25777
25932
|
MaxLinesComponent,
|
|
25778
|
-
RecordApiFormComponent
|
|
25933
|
+
RecordApiFormComponent,
|
|
25934
|
+
MarkdownParserComponent], imports: [CommonModule,
|
|
25779
25935
|
MatIconModule,
|
|
25780
25936
|
MatTooltipModule,
|
|
25781
25937
|
UiWidgetsModule,
|
|
@@ -25800,7 +25956,8 @@ class UiElementsModule {
|
|
|
25800
25956
|
AvatarComponent,
|
|
25801
25957
|
UserPreviewComponent,
|
|
25802
25958
|
PaginationButtonsComponent,
|
|
25803
|
-
RecordApiFormComponent
|
|
25959
|
+
RecordApiFormComponent,
|
|
25960
|
+
MarkdownParserComponent] }); }
|
|
25804
25961
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: UiElementsModule, imports: [CommonModule,
|
|
25805
25962
|
MatIconModule,
|
|
25806
25963
|
MatTooltipModule,
|
|
@@ -25849,6 +26006,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
25849
26006
|
PaginationButtonsComponent,
|
|
25850
26007
|
MaxLinesComponent,
|
|
25851
26008
|
RecordApiFormComponent,
|
|
26009
|
+
MarkdownParserComponent,
|
|
25852
26010
|
],
|
|
25853
26011
|
exports: [
|
|
25854
26012
|
MetadataInfoComponent,
|
|
@@ -25869,6 +26027,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
25869
26027
|
UserPreviewComponent,
|
|
25870
26028
|
PaginationButtonsComponent,
|
|
25871
26029
|
RecordApiFormComponent,
|
|
26030
|
+
MarkdownParserComponent,
|
|
25872
26031
|
],
|
|
25873
26032
|
}]
|
|
25874
26033
|
}] });
|
|
@@ -27255,6 +27414,7 @@ class FavoriteStarComponent {
|
|
|
27255
27414
|
this.changeDetector = changeDetector;
|
|
27256
27415
|
this.authService = authService;
|
|
27257
27416
|
this.translateService = translateService;
|
|
27417
|
+
this.displayCount = true;
|
|
27258
27418
|
this.isFavorite$ = this.favoritesService.myFavoritesUuid$.pipe(map$1((favorites) => favorites.indexOf(this.record.uniqueIdentifier) > -1));
|
|
27259
27419
|
this.isAnonymous$ = this.platformService.isAnonymous();
|
|
27260
27420
|
this.loading = false;
|
|
@@ -27317,12 +27477,14 @@ class FavoriteStarComponent {
|
|
|
27317
27477
|
});
|
|
27318
27478
|
}
|
|
27319
27479
|
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 }); }
|
|
27320
|
-
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
|
|
27480
|
+
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 }); }
|
|
27321
27481
|
}
|
|
27322
27482
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: FavoriteStarComponent, decorators: [{
|
|
27323
27483
|
type: Component,
|
|
27324
|
-
args: [{ selector: 'gn-ui-favorite-star', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <span
|
|
27325
|
-
}], ctorParameters: function () { return [{ type: FavoritesService }, { type: PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: AuthService }, { type: i1$1.TranslateService }]; }, propDecorators: {
|
|
27484
|
+
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" }]
|
|
27485
|
+
}], ctorParameters: function () { return [{ type: FavoritesService }, { type: PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: AuthService }, { type: i1$1.TranslateService }]; }, propDecorators: { displayCount: [{
|
|
27486
|
+
type: Input
|
|
27487
|
+
}], record: [{
|
|
27326
27488
|
type: Input
|
|
27327
27489
|
}], starToggleRef: [{
|
|
27328
27490
|
type: ViewChild,
|
|
@@ -27365,7 +27527,7 @@ class ResultsListContainerComponent {
|
|
|
27365
27527
|
return this.recordUrlTemplate.replace('${uuid}', metadata.uniqueIdentifier);
|
|
27366
27528
|
}
|
|
27367
27529
|
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 }); }
|
|
27368
|
-
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" }] }); }
|
|
27530
|
+
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" }] }); }
|
|
27369
27531
|
}
|
|
27370
27532
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ResultsListContainerComponent, decorators: [{
|
|
27371
27533
|
type: Component,
|
|
@@ -28124,6 +28286,109 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
28124
28286
|
], 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"] }]
|
|
28125
28287
|
}], ctorParameters: function () { return [{ type: SearchFacade }]; } });
|
|
28126
28288
|
|
|
28289
|
+
class AddLayerFromWmsComponent {
|
|
28290
|
+
constructor(mapFacade, changeDetectorRef) {
|
|
28291
|
+
this.mapFacade = mapFacade;
|
|
28292
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
28293
|
+
this.wmsUrl = '';
|
|
28294
|
+
this.loading = false;
|
|
28295
|
+
this.layers = [];
|
|
28296
|
+
this.wmsEndpoint = null;
|
|
28297
|
+
this.urlChange = new Subject();
|
|
28298
|
+
this.errorMessage = null;
|
|
28299
|
+
}
|
|
28300
|
+
ngOnInit() {
|
|
28301
|
+
this.urlChange.pipe(debounceTime(700)).subscribe(() => this.loadLayers());
|
|
28302
|
+
}
|
|
28303
|
+
async loadLayers() {
|
|
28304
|
+
this.errorMessage = null;
|
|
28305
|
+
try {
|
|
28306
|
+
this.loading = true;
|
|
28307
|
+
if (this.wmsUrl.trim() === '') {
|
|
28308
|
+
this.layers = [];
|
|
28309
|
+
return;
|
|
28310
|
+
}
|
|
28311
|
+
this.wmsEndpoint = await new WmsEndpoint(this.wmsUrl).isReady();
|
|
28312
|
+
this.layers = this.wmsEndpoint.getLayers();
|
|
28313
|
+
}
|
|
28314
|
+
catch (error) {
|
|
28315
|
+
const err = error;
|
|
28316
|
+
this.layers = [];
|
|
28317
|
+
this.errorMessage = 'Error loading layers: ' + err.message;
|
|
28318
|
+
}
|
|
28319
|
+
finally {
|
|
28320
|
+
this.loading = false;
|
|
28321
|
+
this.changeDetectorRef.markForCheck();
|
|
28322
|
+
}
|
|
28323
|
+
}
|
|
28324
|
+
addLayer(layer) {
|
|
28325
|
+
const layerToAdd = {
|
|
28326
|
+
name: layer.name,
|
|
28327
|
+
url: this.wmsUrl.toString(),
|
|
28328
|
+
type: MapContextLayerTypeEnum.WMS,
|
|
28329
|
+
};
|
|
28330
|
+
this.mapFacade.addLayer({ ...layerToAdd, title: layer.title });
|
|
28331
|
+
}
|
|
28332
|
+
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 }); }
|
|
28333
|
+
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" }] }); }
|
|
28334
|
+
}
|
|
28335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromWmsComponent, decorators: [{
|
|
28336
|
+
type: Component,
|
|
28337
|
+
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" }]
|
|
28338
|
+
}], ctorParameters: function () { return [{ type: MapFacade }, { type: i0.ChangeDetectorRef }]; } });
|
|
28339
|
+
|
|
28340
|
+
class AddLayerFromWfsComponent {
|
|
28341
|
+
constructor(mapFacade, changeDetectorRef) {
|
|
28342
|
+
this.mapFacade = mapFacade;
|
|
28343
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
28344
|
+
this.wfsUrl = '';
|
|
28345
|
+
this.loading = false;
|
|
28346
|
+
this.layers = [];
|
|
28347
|
+
this.wfsEndpoint = null;
|
|
28348
|
+
this.urlChange = new Subject();
|
|
28349
|
+
this.errorMessage = null;
|
|
28350
|
+
}
|
|
28351
|
+
ngOnInit() {
|
|
28352
|
+
this.urlChange.pipe(debounceTime(700)).subscribe(() => this.loadLayers());
|
|
28353
|
+
}
|
|
28354
|
+
async loadLayers() {
|
|
28355
|
+
this.errorMessage = null;
|
|
28356
|
+
try {
|
|
28357
|
+
this.loading = true;
|
|
28358
|
+
if (this.wfsUrl.trim() === '') {
|
|
28359
|
+
this.layers = [];
|
|
28360
|
+
return;
|
|
28361
|
+
}
|
|
28362
|
+
this.wfsEndpoint = await new WfsEndpoint(this.wfsUrl).isReady();
|
|
28363
|
+
this.layers = this.wfsEndpoint.getFeatureTypes();
|
|
28364
|
+
console.log(this.layers);
|
|
28365
|
+
}
|
|
28366
|
+
catch (error) {
|
|
28367
|
+
const err = error;
|
|
28368
|
+
this.layers = [];
|
|
28369
|
+
this.errorMessage = 'Error loading layers: ' + err.message;
|
|
28370
|
+
}
|
|
28371
|
+
finally {
|
|
28372
|
+
this.loading = false;
|
|
28373
|
+
this.changeDetectorRef.markForCheck();
|
|
28374
|
+
}
|
|
28375
|
+
}
|
|
28376
|
+
addLayer(layer) {
|
|
28377
|
+
const layerToAdd = {
|
|
28378
|
+
name: layer.name,
|
|
28379
|
+
url: this.wfsUrl.toString(),
|
|
28380
|
+
type: MapContextLayerTypeEnum.WFS,
|
|
28381
|
+
};
|
|
28382
|
+
this.mapFacade.addLayer({ ...layerToAdd, title: layer.title });
|
|
28383
|
+
}
|
|
28384
|
+
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 }); }
|
|
28385
|
+
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" }] }); }
|
|
28386
|
+
}
|
|
28387
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AddLayerFromWfsComponent, decorators: [{
|
|
28388
|
+
type: Component,
|
|
28389
|
+
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" }]
|
|
28390
|
+
}], ctorParameters: function () { return [{ type: MapFacade }, { type: i0.ChangeDetectorRef }]; } });
|
|
28391
|
+
|
|
28127
28392
|
class LayersPanelComponent {
|
|
28128
28393
|
constructor(mapFacade) {
|
|
28129
28394
|
this.mapFacade = mapFacade;
|
|
@@ -28133,11 +28398,11 @@ class LayersPanelComponent {
|
|
|
28133
28398
|
this.mapFacade.removeLayer(index);
|
|
28134
28399
|
}
|
|
28135
28400
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LayersPanelComponent, deps: [{ token: MapFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28136
|
-
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
|
|
28401
|
+
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 h-full\">Add from file</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: 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 }); }
|
|
28137
28402
|
}
|
|
28138
28403
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LayersPanelComponent, decorators: [{
|
|
28139
28404
|
type: Component,
|
|
28140
|
-
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
|
|
28405
|
+
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 h-full\">Add from file</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" }]
|
|
28141
28406
|
}], ctorParameters: function () { return [{ type: MapFacade }]; } });
|
|
28142
28407
|
|
|
28143
28408
|
class MapEffects {
|
|
@@ -28177,7 +28442,9 @@ class FeatureMapModule {
|
|
|
28177
28442
|
LayersPanelComponent,
|
|
28178
28443
|
AddLayerFromCatalogComponent,
|
|
28179
28444
|
MapContainerComponent,
|
|
28180
|
-
AddLayerRecordPreviewComponent
|
|
28445
|
+
AddLayerRecordPreviewComponent,
|
|
28446
|
+
AddLayerFromWmsComponent,
|
|
28447
|
+
AddLayerFromWfsComponent], imports: [CommonModule,
|
|
28181
28448
|
UiMapModule,
|
|
28182
28449
|
UiLayoutModule,
|
|
28183
28450
|
MatIconModule,
|
|
@@ -28217,6 +28484,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
28217
28484
|
AddLayerFromCatalogComponent,
|
|
28218
28485
|
MapContainerComponent,
|
|
28219
28486
|
AddLayerRecordPreviewComponent,
|
|
28487
|
+
AddLayerFromWmsComponent,
|
|
28488
|
+
AddLayerFromWfsComponent,
|
|
28220
28489
|
],
|
|
28221
28490
|
exports: [
|
|
28222
28491
|
MapContextComponent,
|
|
@@ -30266,7 +30535,7 @@ class LanguageSwitcherComponent {
|
|
|
30266
30535
|
ngOnInit() {
|
|
30267
30536
|
const languages = this.languagePlaceholder || DEFAULT_LANGUAGES;
|
|
30268
30537
|
this.languageList = languages.map((language) => ({
|
|
30269
|
-
label:
|
|
30538
|
+
label: `${language}`.toUpperCase(),
|
|
30270
30539
|
value: language,
|
|
30271
30540
|
}));
|
|
30272
30541
|
}
|
|
@@ -30281,11 +30550,11 @@ class LanguageSwitcherComponent {
|
|
|
30281
30550
|
this.translate.use(value);
|
|
30282
30551
|
}
|
|
30283
30552
|
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 }); }
|
|
30284
|
-
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"] }] }); }
|
|
30553
|
+
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"] }] }); }
|
|
30285
30554
|
}
|
|
30286
30555
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: LanguageSwitcherComponent, decorators: [{
|
|
30287
30556
|
type: Component,
|
|
30288
|
-
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" }]
|
|
30557
|
+
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" }]
|
|
30289
30558
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
30290
30559
|
type: Optional
|
|
30291
30560
|
}, {
|
|
@@ -30427,20 +30696,8 @@ class OrganisationsComponent {
|
|
|
30427
30696
|
filterOrganisations(organisations, filterBy) {
|
|
30428
30697
|
if (!filterBy)
|
|
30429
30698
|
return organisations;
|
|
30430
|
-
const
|
|
30431
|
-
|
|
30432
|
-
.replace(/\s(?=.)/g, '.*') //replace whitespaces by "AND" separator
|
|
30433
|
-
.replace(/\s/g, ''), //remove potential whitespaces left
|
|
30434
|
-
'i');
|
|
30435
|
-
return [...organisations].filter((org) => {
|
|
30436
|
-
return this.normalizeString(org.name).match(filterRegex);
|
|
30437
|
-
});
|
|
30438
|
-
}
|
|
30439
|
-
normalizeString(str) {
|
|
30440
|
-
return str
|
|
30441
|
-
.normalize('NFD')
|
|
30442
|
-
.replace(/[\u0300-\u036f]/g, '')
|
|
30443
|
-
.toLowerCase();
|
|
30699
|
+
const filter = createFuzzyFilter(filterBy);
|
|
30700
|
+
return organisations.filter((org) => filter(org.name));
|
|
30444
30701
|
}
|
|
30445
30702
|
sortOrganisations(organisations, sortBy) {
|
|
30446
30703
|
let order;
|
|
@@ -31668,5 +31925,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
31668
31925
|
* Generated bundle index. Do not edit.
|
|
31669
31926
|
*/
|
|
31670
31927
|
|
|
31671
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AutocompleteComponent, AvatarComponent, 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_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_RESOURCES_VALUES, EditorService, 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, 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, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, LANGUAGES_LIST, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, 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, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, 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, 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, currentPage, defaultMapOptions, dragPanCondition, 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, 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 };
|
|
31928
|
+
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, 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 };
|
|
31672
31929
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|