geonetwork-ui 2.7.0-dev.8b8fd1011 → 2.7.0-dev.943f3a71b
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/lib/gn4/gn4.provider.mjs +7 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +20 -6
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-topics/form-field-topics.component.mjs +55 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +6 -6
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +51 -45
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +24 -17
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.mjs +5 -5
- package/esm2022/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.mjs +8 -4
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +33 -8
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/utils/scroll.mjs +40 -0
- package/esm2022/translations/de.json +25 -23
- package/esm2022/translations/en.json +26 -23
- package/esm2022/translations/es.json +25 -23
- package/esm2022/translations/fr.json +25 -23
- package/esm2022/translations/it.json +25 -23
- package/esm2022/translations/nl.json +25 -23
- package/esm2022/translations/pt.json +25 -23
- package/esm2022/translations/sk.json +25 -23
- package/fesm2022/geonetwork-ui.mjs +442 -327
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts +5 -1
- package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +6 -2
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -0
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-topics/form-field-topics.component.d.ts +20 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-topics/form-field-topics.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts +4 -4
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +1 -0
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.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/external-link-card/external-link-card.component.d.ts +1 -1
- package/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +25 -7
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- 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/libs/util/shared/src/lib/utils/scroll.d.ts +12 -0
- package/libs/util/shared/src/lib/utils/scroll.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +13 -2
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +17 -6
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +1 -1
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-inspire-field/form-field-inspire-theme.component.html → form-field-topics/form-field-topics.component.html} +6 -6
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-topics/form-field-topics.component.ts +57 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +3 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +3 -3
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +51 -45
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +23 -16
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +5 -1
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.html +4 -3
- package/src/libs/ui/inputs/src/lib/star-toggle/star-toggle.component.ts +2 -2
- package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.html +1 -4
- package/src/libs/ui/search/src/lib/results-hits-search-kind/results-hits-search-kind.component.ts +5 -1
- package/src/libs/util/shared/src/lib/links/link-utils.ts +32 -7
- package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
- package/src/libs/util/shared/src/lib/utils/scroll.ts +48 -0
- package/translations/de.json +25 -23
- package/translations/en.json +26 -23
- package/translations/es.json +25 -23
- package/translations/fr.json +25 -23
- package/translations/it.json +25 -23
- package/translations/nl.json +25 -23
- package/translations/pt.json +25 -23
- package/translations/sk.json +25 -23
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.mjs +0 -55
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.d.ts +0 -20
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.d.ts.map +0 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.ts +0 -57
- /package/src/libs/feature/editor/src/lib/components/record-form/form-field/{form-field-inspire-field/form-field-inspire-theme.component.css → form-field-topics/form-field-topics.component.css} +0 -0
|
@@ -14,12 +14,14 @@ import * as i1$1 from '@ngx-translate/core';
|
|
|
14
14
|
import { TranslateCompiler, TranslateLoader, TranslateDefaultParser, TranslateParser, TranslateService, provideTranslateService, TranslateDirective, TranslatePipe, TranslateModule } from '@ngx-translate/core';
|
|
15
15
|
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
|
|
16
16
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
17
|
-
import { map as map$1, shareReplay as shareReplay$1, catchError, tap as tap$1, filter, startWith as startWith$1, withLatestFrom, switchMap as switchMap$1, take, mergeMap, delay, distinctUntilChanged, debounceTime, finalize, throttleTime, first as first$1, pairwise, share, defaultIfEmpty, toArray } from 'rxjs/operators';
|
|
18
|
-
import { of, map as map$2, lastValueFrom, fromEvent, startWith, shareReplay, Subject, switchMap, combineLatest, from, exhaustMap, throwError, forkJoin, takeLast, firstValueFrom, merge, BehaviorSubject, timer, ReplaySubject, Subscription, first, distinctUntilChanged as distinctUntilChanged$1, animationFrameScheduler, debounceTime as debounceTime$1, Observable, buffer, tap as tap$2, combineLatestWith,
|
|
17
|
+
import { map as map$1, shareReplay as shareReplay$1, catchError, tap as tap$1, filter as filter$1, startWith as startWith$1, withLatestFrom, switchMap as switchMap$1, take, mergeMap, delay, distinctUntilChanged, debounceTime, finalize, throttleTime, first as first$1, pairwise as pairwise$1, share, defaultIfEmpty, toArray } from 'rxjs/operators';
|
|
18
|
+
import { of, map as map$2, lastValueFrom, fromEvent, startWith, shareReplay, filter, pairwise, Subject, switchMap, combineLatest, from, exhaustMap, throwError, forkJoin, takeLast, firstValueFrom, merge, BehaviorSubject, timer, ReplaySubject, Subscription, first, distinctUntilChanged as distinctUntilChanged$1, animationFrameScheduler, debounceTime as debounceTime$1, Observable, buffer, tap as tap$2, combineLatestWith, take as take$1, catchError as catchError$1, takeUntil, EMPTY, mergeMap as mergeMap$1, withLatestFrom as withLatestFrom$1 } from 'rxjs';
|
|
19
19
|
import { lt, valid, coerce, satisfies, ltr } from 'semver';
|
|
20
20
|
import chroma from 'chroma-js';
|
|
21
21
|
import * as i1$2 from '@angular/common';
|
|
22
22
|
import { CommonModule, NgIf, NgSwitch, NgSwitchCase, NgSwitchDefault, NgClass, NgTemplateOutlet, DatePipe } from '@angular/common';
|
|
23
|
+
import * as i1$d from '@angular/router';
|
|
24
|
+
import { Scroll, NavigationEnd, RouteReuseStrategy } from '@angular/router';
|
|
23
25
|
import { WmtsEndpoint, WmsEndpoint, WfsEndpoint, OgcApiEndpoint, sharedFetch, useCache, TmsEndpoint } from '@camptocamp/ogc-client';
|
|
24
26
|
import { getLength } from 'ol/sphere';
|
|
25
27
|
import { LineString, Polygon } from 'ol/geom';
|
|
@@ -92,8 +94,6 @@ import { MatTableModule } from '@angular/material/table';
|
|
|
92
94
|
import * as i4 from '@angular/material/paginator';
|
|
93
95
|
import { MatPaginatorIntl, MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
|
|
94
96
|
import { LetDirective } from '@ngrx/component';
|
|
95
|
-
import * as i1$d from '@angular/router';
|
|
96
|
-
import { RouteReuseStrategy } from '@angular/router';
|
|
97
97
|
import axios from 'axios';
|
|
98
98
|
import * as i1$e from '@angular/platform-browser';
|
|
99
99
|
import { tablerFolderOpen } from '@ng-icons/tabler-icons';
|
|
@@ -18925,26 +18925,6 @@ var de = {
|
|
|
18925
18925
|
"editor.record.form.field.topics": "Kategorien",
|
|
18926
18926
|
"editor.record.form.field.uniqueIdentifier": "Eindeutige Kennung (ID)",
|
|
18927
18927
|
"editor.record.form.field.updateFrequency": "Aktualisierungshäufigkeit",
|
|
18928
|
-
"editor.record.form.inspire.biota": "",
|
|
18929
|
-
"editor.record.form.inspire.boundaries": "",
|
|
18930
|
-
"editor.record.form.inspire.climatology": "",
|
|
18931
|
-
"editor.record.form.inspire.economy": "",
|
|
18932
|
-
"editor.record.form.inspire.elevation": "",
|
|
18933
|
-
"editor.record.form.inspire.environnement": "",
|
|
18934
|
-
"editor.record.form.inspire.farming": "",
|
|
18935
|
-
"editor.record.form.inspire.geoscientific": "",
|
|
18936
|
-
"editor.record.form.inspire.health": "",
|
|
18937
|
-
"editor.record.form.inspire.imagery": "",
|
|
18938
|
-
"editor.record.form.inspire.intelligence": "",
|
|
18939
|
-
"editor.record.form.inspire.location": "",
|
|
18940
|
-
"editor.record.form.inspire.oceans": "",
|
|
18941
|
-
"editor.record.form.inspire.placeholder": "",
|
|
18942
|
-
"editor.record.form.inspire.planning": "",
|
|
18943
|
-
"editor.record.form.inspire.society": "",
|
|
18944
|
-
"editor.record.form.inspire.structure": "",
|
|
18945
|
-
"editor.record.form.inspire.transportation": "",
|
|
18946
|
-
"editor.record.form.inspire.utilities": "",
|
|
18947
|
-
"editor.record.form.inspire.waters": "",
|
|
18948
18928
|
"editor.record.form.keywords.place.placeholder": "",
|
|
18949
18929
|
"editor.record.form.keywords.place.withoutExtent": "",
|
|
18950
18930
|
"editor.record.form.keywords.placeholder": "",
|
|
@@ -18980,15 +18960,35 @@ var de = {
|
|
|
18980
18960
|
"editor.record.form.section.dataManagers.description": "",
|
|
18981
18961
|
"editor.record.form.section.dataManagers.label": "",
|
|
18982
18962
|
"editor.record.form.section.geographicalCoverage.label": "",
|
|
18983
|
-
"editor.record.form.section.inspire.description": "",
|
|
18984
|
-
"editor.record.form.section.inspire.label": "",
|
|
18985
18963
|
"editor.record.form.section.metadataPointOfContact.description": "",
|
|
18986
18964
|
"editor.record.form.section.metadataPointOfContact.label": "",
|
|
18965
|
+
"editor.record.form.section.topics.description": "",
|
|
18966
|
+
"editor.record.form.section.topics.label": "",
|
|
18987
18967
|
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
18988
18968
|
"editor.record.form.temporalExtents.addDate": "Zeitpunkt",
|
|
18989
18969
|
"editor.record.form.temporalExtents.addRange": "Zeitraum",
|
|
18990
18970
|
"editor.record.form.temporalExtents.date": "Datum",
|
|
18991
18971
|
"editor.record.form.temporalExtents.range": "Datumsbereich",
|
|
18972
|
+
"editor.record.form.topics.inspire.biota": "",
|
|
18973
|
+
"editor.record.form.topics.inspire.boundaries": "",
|
|
18974
|
+
"editor.record.form.topics.inspire.climatology": "",
|
|
18975
|
+
"editor.record.form.topics.inspire.economy": "",
|
|
18976
|
+
"editor.record.form.topics.inspire.elevation": "",
|
|
18977
|
+
"editor.record.form.topics.inspire.environnement": "",
|
|
18978
|
+
"editor.record.form.topics.inspire.farming": "",
|
|
18979
|
+
"editor.record.form.topics.inspire.geoscientific": "",
|
|
18980
|
+
"editor.record.form.topics.inspire.health": "",
|
|
18981
|
+
"editor.record.form.topics.inspire.imagery": "",
|
|
18982
|
+
"editor.record.form.topics.inspire.intelligence": "",
|
|
18983
|
+
"editor.record.form.topics.inspire.location": "",
|
|
18984
|
+
"editor.record.form.topics.inspire.oceans": "",
|
|
18985
|
+
"editor.record.form.topics.inspire.planning": "",
|
|
18986
|
+
"editor.record.form.topics.inspire.society": "",
|
|
18987
|
+
"editor.record.form.topics.inspire.structure": "",
|
|
18988
|
+
"editor.record.form.topics.inspire.transportation": "",
|
|
18989
|
+
"editor.record.form.topics.inspire.utilities": "",
|
|
18990
|
+
"editor.record.form.topics.inspire.waters": "",
|
|
18991
|
+
"editor.record.form.topics.placeholder": "",
|
|
18992
18992
|
"editor.record.form.updateFrequency.planned": "Dieses Dataset wird regelmäßig aktualisiert.",
|
|
18993
18993
|
"editor.record.importFromExternalFile.failure.body": "",
|
|
18994
18994
|
"editor.record.importFromExternalFile.failure.title": "",
|
|
@@ -19050,7 +19050,8 @@ var de = {
|
|
|
19050
19050
|
"facets.block.title.tag.default": "Stichwort",
|
|
19051
19051
|
"facets.block.title.th_regions_tree.default": "Regionen",
|
|
19052
19052
|
"favorite.not.authenticated.tooltip": "<div><a href=' {link} '>Anmelden</a>, um auf diese Funktion zuzugreifen</div>",
|
|
19053
|
-
"favorite.starToggle.
|
|
19053
|
+
"favorite.starToggle.add": "Zu Favoriten hinzufügen",
|
|
19054
|
+
"favorite.starToggle.remove": "Aus Favoriten entfernen",
|
|
19054
19055
|
"feature.catalog.attribute.code": "Code",
|
|
19055
19056
|
"feature.catalog.attribute.definition": "Beschreibung",
|
|
19056
19057
|
"feature.catalog.attribute.name": "Name",
|
|
@@ -19263,6 +19264,7 @@ var de = {
|
|
|
19263
19264
|
"record.metadata.usage": "Nutzung und Einschränkungen",
|
|
19264
19265
|
"record.metadata.userFeedbacks": "",
|
|
19265
19266
|
"record.metadata.userFeedbacks.anonymousUser": "",
|
|
19267
|
+
"record.metadata.userFeedbacks.authDisabled": "",
|
|
19266
19268
|
"record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
|
|
19267
19269
|
"record.metadata.userFeedbacks.newAnswer.placeholder": "",
|
|
19268
19270
|
"record.metadata.userFeedbacks.newComment.placeholder": "",
|
|
@@ -19575,26 +19577,6 @@ var en = {
|
|
|
19575
19577
|
"editor.record.form.field.topics": "Categories",
|
|
19576
19578
|
"editor.record.form.field.uniqueIdentifier": "Unique identifier",
|
|
19577
19579
|
"editor.record.form.field.updateFrequency": "Update frequency",
|
|
19578
|
-
"editor.record.form.inspire.biota": "Biota",
|
|
19579
|
-
"editor.record.form.inspire.boundaries": "Boundaries",
|
|
19580
|
-
"editor.record.form.inspire.climatology": "Climatology / Meteorology / Atmosphere",
|
|
19581
|
-
"editor.record.form.inspire.economy": "Economy",
|
|
19582
|
-
"editor.record.form.inspire.elevation": "Elevation",
|
|
19583
|
-
"editor.record.form.inspire.environnement": "Environnement",
|
|
19584
|
-
"editor.record.form.inspire.farming": "Farming",
|
|
19585
|
-
"editor.record.form.inspire.geoscientific": "Geoscientific Information",
|
|
19586
|
-
"editor.record.form.inspire.health": "Health",
|
|
19587
|
-
"editor.record.form.inspire.imagery": "Imagery / Base Maps / Earth Cover",
|
|
19588
|
-
"editor.record.form.inspire.intelligence": "Intelligence / Military",
|
|
19589
|
-
"editor.record.form.inspire.location": "Location",
|
|
19590
|
-
"editor.record.form.inspire.oceans": "Oceans",
|
|
19591
|
-
"editor.record.form.inspire.placeholder": "Select an INSPIRE theme",
|
|
19592
|
-
"editor.record.form.inspire.planning": "Planning / Cadastre",
|
|
19593
|
-
"editor.record.form.inspire.society": "Society",
|
|
19594
|
-
"editor.record.form.inspire.structure": "Structure",
|
|
19595
|
-
"editor.record.form.inspire.transportation": "Transportation",
|
|
19596
|
-
"editor.record.form.inspire.utilities": "Utilities / Communication",
|
|
19597
|
-
"editor.record.form.inspire.waters": "Inland Waters",
|
|
19598
19580
|
"editor.record.form.keywords.place.placeholder": "Search for place keywords",
|
|
19599
19581
|
"editor.record.form.keywords.place.withoutExtent": "This keyword is not associated with any geographical extent",
|
|
19600
19582
|
"editor.record.form.keywords.placeholder": "Select a keyword",
|
|
@@ -19630,15 +19612,36 @@ var en = {
|
|
|
19630
19612
|
"editor.record.form.section.dataManagers.description": "The data managers are responsible for the data",
|
|
19631
19613
|
"editor.record.form.section.dataManagers.label": "Data managers",
|
|
19632
19614
|
"editor.record.form.section.geographicalCoverage.label": "Geographical coverage",
|
|
19633
|
-
"editor.record.form.section.inspire.description": "Appropriate INSPIRE themes help users find the dataset",
|
|
19634
|
-
"editor.record.form.section.inspire.label": "INSPIRE themes",
|
|
19635
19615
|
"editor.record.form.section.metadataPointOfContact.description": "This information concerns the metadata",
|
|
19636
19616
|
"editor.record.form.section.metadataPointOfContact.label": "Metadata point of contact",
|
|
19617
|
+
"editor.record.form.section.topics.description": "Topics help to better group datasets",
|
|
19618
|
+
"editor.record.form.section.topics.label": "Topics",
|
|
19637
19619
|
"editor.record.form.section.useAndAccessConditions.label": "Use and access conditions",
|
|
19638
19620
|
"editor.record.form.temporalExtents.addDate": "Time instant",
|
|
19639
19621
|
"editor.record.form.temporalExtents.addRange": "Time period",
|
|
19640
19622
|
"editor.record.form.temporalExtents.date": "Date",
|
|
19641
19623
|
"editor.record.form.temporalExtents.range": "Date range",
|
|
19624
|
+
"editor.record.form.topics.inspire.biota": "Biota",
|
|
19625
|
+
"editor.record.form.topics.inspire.boundaries": "Boundaries",
|
|
19626
|
+
"editor.record.form.topics.inspire.climatology": "Climatology / Meteorology / Atmosphere",
|
|
19627
|
+
"editor.record.form.topics.inspire.economy": "Economy",
|
|
19628
|
+
"editor.record.form.topics.inspire.elevation": "Elevation",
|
|
19629
|
+
"editor.record.form.topics.inspire.environnement": "Environnement",
|
|
19630
|
+
"editor.record.form.topics.inspire.farming": "Farming",
|
|
19631
|
+
"editor.record.form.topics.inspire.geoscientific": "Geoscientific Information",
|
|
19632
|
+
"editor.record.form.topics.inspire.health": "Health",
|
|
19633
|
+
"editor.record.form.topics.inspire.imagery": "Imagery / Base Maps / Earth Cover",
|
|
19634
|
+
"editor.record.form.topics.inspire.intelligence": "Intelligence / Military",
|
|
19635
|
+
"editor.record.form.topics.inspire.location": "Location",
|
|
19636
|
+
"editor.record.form.topics.inspire.oceans": "Oceans",
|
|
19637
|
+
"editor.record.form.topics.inspire.placeholder": "Select an INSPIRE theme",
|
|
19638
|
+
"editor.record.form.topics.inspire.planning": "Planning / Cadastre",
|
|
19639
|
+
"editor.record.form.topics.inspire.society": "Society",
|
|
19640
|
+
"editor.record.form.topics.inspire.structure": "Structure",
|
|
19641
|
+
"editor.record.form.topics.inspire.transportation": "Transportation",
|
|
19642
|
+
"editor.record.form.topics.inspire.utilities": "Utilities / Communication",
|
|
19643
|
+
"editor.record.form.topics.inspire.waters": "Inland Waters",
|
|
19644
|
+
"editor.record.form.topics.placeholder": "Select one or several topics",
|
|
19642
19645
|
"editor.record.form.updateFrequency.planned": "This dataset is updated regularly",
|
|
19643
19646
|
"editor.record.importFromExternalFile.failure.body": "Failure",
|
|
19644
19647
|
"editor.record.importFromExternalFile.failure.title": "The dataset import failed: ",
|
|
@@ -19700,7 +19703,8 @@ var en = {
|
|
|
19700
19703
|
"facets.block.title.tag.default": "Tag",
|
|
19701
19704
|
"facets.block.title.th_regions_tree.default": "Regions",
|
|
19702
19705
|
"favorite.not.authenticated.tooltip": "<div><a href=' {link} '>Login</a> to access this feature</div>",
|
|
19703
|
-
"favorite.starToggle.
|
|
19706
|
+
"favorite.starToggle.add": "Add to favorites",
|
|
19707
|
+
"favorite.starToggle.remove": "Remove from favorites",
|
|
19704
19708
|
"feature.catalog.attribute.code": "Code",
|
|
19705
19709
|
"feature.catalog.attribute.definition": "Description",
|
|
19706
19710
|
"feature.catalog.attribute.name": "Name",
|
|
@@ -19913,6 +19917,7 @@ var en = {
|
|
|
19913
19917
|
"record.metadata.usage": "License and Conditions",
|
|
19914
19918
|
"record.metadata.userFeedbacks": "Questions / Answers",
|
|
19915
19919
|
"record.metadata.userFeedbacks.anonymousUser": "In order to leave a comment, please log in.",
|
|
19920
|
+
"record.metadata.userFeedbacks.authDisabled": "User comments are disabled.",
|
|
19916
19921
|
"record.metadata.userFeedbacks.newAnswer.buttonTitle": "Publish",
|
|
19917
19922
|
"record.metadata.userFeedbacks.newAnswer.placeholder": "Answer...",
|
|
19918
19923
|
"record.metadata.userFeedbacks.newComment.placeholder": "Write your comment here...",
|
|
@@ -20225,26 +20230,6 @@ var es = {
|
|
|
20225
20230
|
"editor.record.form.field.topics": "Categorías",
|
|
20226
20231
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
20227
20232
|
"editor.record.form.field.updateFrequency": "",
|
|
20228
|
-
"editor.record.form.inspire.biota": "",
|
|
20229
|
-
"editor.record.form.inspire.boundaries": "",
|
|
20230
|
-
"editor.record.form.inspire.climatology": "",
|
|
20231
|
-
"editor.record.form.inspire.economy": "",
|
|
20232
|
-
"editor.record.form.inspire.elevation": "",
|
|
20233
|
-
"editor.record.form.inspire.environnement": "",
|
|
20234
|
-
"editor.record.form.inspire.farming": "",
|
|
20235
|
-
"editor.record.form.inspire.geoscientific": "",
|
|
20236
|
-
"editor.record.form.inspire.health": "",
|
|
20237
|
-
"editor.record.form.inspire.imagery": "",
|
|
20238
|
-
"editor.record.form.inspire.intelligence": "",
|
|
20239
|
-
"editor.record.form.inspire.location": "",
|
|
20240
|
-
"editor.record.form.inspire.oceans": "",
|
|
20241
|
-
"editor.record.form.inspire.placeholder": "",
|
|
20242
|
-
"editor.record.form.inspire.planning": "",
|
|
20243
|
-
"editor.record.form.inspire.society": "",
|
|
20244
|
-
"editor.record.form.inspire.structure": "",
|
|
20245
|
-
"editor.record.form.inspire.transportation": "",
|
|
20246
|
-
"editor.record.form.inspire.utilities": "",
|
|
20247
|
-
"editor.record.form.inspire.waters": "",
|
|
20248
20233
|
"editor.record.form.keywords.place.placeholder": "",
|
|
20249
20234
|
"editor.record.form.keywords.place.withoutExtent": "",
|
|
20250
20235
|
"editor.record.form.keywords.placeholder": "",
|
|
@@ -20280,15 +20265,35 @@ var es = {
|
|
|
20280
20265
|
"editor.record.form.section.dataManagers.description": "",
|
|
20281
20266
|
"editor.record.form.section.dataManagers.label": "",
|
|
20282
20267
|
"editor.record.form.section.geographicalCoverage.label": "",
|
|
20283
|
-
"editor.record.form.section.inspire.description": "",
|
|
20284
|
-
"editor.record.form.section.inspire.label": "",
|
|
20285
20268
|
"editor.record.form.section.metadataPointOfContact.description": "",
|
|
20286
20269
|
"editor.record.form.section.metadataPointOfContact.label": "",
|
|
20270
|
+
"editor.record.form.section.topics.description": "",
|
|
20271
|
+
"editor.record.form.section.topics.label": "",
|
|
20287
20272
|
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
20288
20273
|
"editor.record.form.temporalExtents.addDate": "",
|
|
20289
20274
|
"editor.record.form.temporalExtents.addRange": "",
|
|
20290
20275
|
"editor.record.form.temporalExtents.date": "",
|
|
20291
20276
|
"editor.record.form.temporalExtents.range": "",
|
|
20277
|
+
"editor.record.form.topics.inspire.biota": "",
|
|
20278
|
+
"editor.record.form.topics.inspire.boundaries": "",
|
|
20279
|
+
"editor.record.form.topics.inspire.climatology": "",
|
|
20280
|
+
"editor.record.form.topics.inspire.economy": "",
|
|
20281
|
+
"editor.record.form.topics.inspire.elevation": "",
|
|
20282
|
+
"editor.record.form.topics.inspire.environnement": "",
|
|
20283
|
+
"editor.record.form.topics.inspire.farming": "",
|
|
20284
|
+
"editor.record.form.topics.inspire.geoscientific": "",
|
|
20285
|
+
"editor.record.form.topics.inspire.health": "",
|
|
20286
|
+
"editor.record.form.topics.inspire.imagery": "",
|
|
20287
|
+
"editor.record.form.topics.inspire.intelligence": "",
|
|
20288
|
+
"editor.record.form.topics.inspire.location": "",
|
|
20289
|
+
"editor.record.form.topics.inspire.oceans": "",
|
|
20290
|
+
"editor.record.form.topics.inspire.planning": "",
|
|
20291
|
+
"editor.record.form.topics.inspire.society": "",
|
|
20292
|
+
"editor.record.form.topics.inspire.structure": "",
|
|
20293
|
+
"editor.record.form.topics.inspire.transportation": "",
|
|
20294
|
+
"editor.record.form.topics.inspire.utilities": "",
|
|
20295
|
+
"editor.record.form.topics.inspire.waters": "",
|
|
20296
|
+
"editor.record.form.topics.placeholder": "",
|
|
20292
20297
|
"editor.record.form.updateFrequency.planned": "Este conjunto de datos se actualiza regularmente.",
|
|
20293
20298
|
"editor.record.importFromExternalFile.failure.body": "",
|
|
20294
20299
|
"editor.record.importFromExternalFile.failure.title": "",
|
|
@@ -20350,7 +20355,8 @@ var es = {
|
|
|
20350
20355
|
"facets.block.title.tag.default": "",
|
|
20351
20356
|
"facets.block.title.th_regions_tree.default": "",
|
|
20352
20357
|
"favorite.not.authenticated.tooltip": "",
|
|
20353
|
-
"favorite.starToggle.
|
|
20358
|
+
"favorite.starToggle.add": "Añadir a favoritos",
|
|
20359
|
+
"favorite.starToggle.remove": "Eliminar de favoritos",
|
|
20354
20360
|
"feature.catalog.attribute.code": "Código",
|
|
20355
20361
|
"feature.catalog.attribute.definition": "Descripción",
|
|
20356
20362
|
"feature.catalog.attribute.name": "Nombre",
|
|
@@ -20563,6 +20569,7 @@ var es = {
|
|
|
20563
20569
|
"record.metadata.usage": "",
|
|
20564
20570
|
"record.metadata.userFeedbacks": "",
|
|
20565
20571
|
"record.metadata.userFeedbacks.anonymousUser": "",
|
|
20572
|
+
"record.metadata.userFeedbacks.authDisabled": "",
|
|
20566
20573
|
"record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
|
|
20567
20574
|
"record.metadata.userFeedbacks.newAnswer.placeholder": "",
|
|
20568
20575
|
"record.metadata.userFeedbacks.newComment.placeholder": "",
|
|
@@ -20875,26 +20882,6 @@ var fr = {
|
|
|
20875
20882
|
"editor.record.form.field.topics": "Thèmes",
|
|
20876
20883
|
"editor.record.form.field.uniqueIdentifier": "Identifiant unique",
|
|
20877
20884
|
"editor.record.form.field.updateFrequency": "Fréquence de mise à jour",
|
|
20878
|
-
"editor.record.form.inspire.biota": "Biote",
|
|
20879
|
-
"editor.record.form.inspire.boundaries": "Limites",
|
|
20880
|
-
"editor.record.form.inspire.climatology": "Climatologie / Météorologie / Atmosphère",
|
|
20881
|
-
"editor.record.form.inspire.economy": "Économie",
|
|
20882
|
-
"editor.record.form.inspire.elevation": "Altitude",
|
|
20883
|
-
"editor.record.form.inspire.environnement": "Environnement",
|
|
20884
|
-
"editor.record.form.inspire.farming": "Agriculture",
|
|
20885
|
-
"editor.record.form.inspire.geoscientific": "Informations géoscientifiques",
|
|
20886
|
-
"editor.record.form.inspire.health": "Santé",
|
|
20887
|
-
"editor.record.form.inspire.imagery": "Imagerie/Cartes de base/Occupation des terres",
|
|
20888
|
-
"editor.record.form.inspire.intelligence": "Renseignement/Secteur militaire",
|
|
20889
|
-
"editor.record.form.inspire.location": "Localisation",
|
|
20890
|
-
"editor.record.form.inspire.oceans": "Océans",
|
|
20891
|
-
"editor.record.form.inspire.placeholder": "Sélectionnez un thème INSPIRE",
|
|
20892
|
-
"editor.record.form.inspire.planning": "Planification/Cadastre",
|
|
20893
|
-
"editor.record.form.inspire.society": "Société",
|
|
20894
|
-
"editor.record.form.inspire.structure": "Structure",
|
|
20895
|
-
"editor.record.form.inspire.transportation": "Transport",
|
|
20896
|
-
"editor.record.form.inspire.utilities": "Services d’utilité publique/Communication",
|
|
20897
|
-
"editor.record.form.inspire.waters": "Eaux intérieures",
|
|
20898
20885
|
"editor.record.form.keywords.place.placeholder": "Rechercher une localisation par mot-clé",
|
|
20899
20886
|
"editor.record.form.keywords.place.withoutExtent": "Ce mot-clé n'a pas de localisation géographique associée",
|
|
20900
20887
|
"editor.record.form.keywords.placeholder": "Sélectionnez un mot-clé",
|
|
@@ -20930,15 +20917,35 @@ var fr = {
|
|
|
20930
20917
|
"editor.record.form.section.dataManagers.description": "Cette information concerne la donnée",
|
|
20931
20918
|
"editor.record.form.section.dataManagers.label": "Responsables de la donnée",
|
|
20932
20919
|
"editor.record.form.section.geographicalCoverage.label": "Couverture géographique",
|
|
20933
|
-
"editor.record.form.section.inspire.description": "Des thèmes appropriés aident à trouver le jeu de données",
|
|
20934
|
-
"editor.record.form.section.inspire.label": "Thèmes INSPIRE",
|
|
20935
20920
|
"editor.record.form.section.metadataPointOfContact.description": "Cette information concerne la métadonnée",
|
|
20936
20921
|
"editor.record.form.section.metadataPointOfContact.label": "Point de contact de la métadonnée",
|
|
20922
|
+
"editor.record.form.section.topics.description": "Les thèmes permettent de regrouper plus facilement des jeux de données",
|
|
20923
|
+
"editor.record.form.section.topics.label": "Thèmes",
|
|
20937
20924
|
"editor.record.form.section.useAndAccessConditions.label": "Conditions d'accès et d'utilisation",
|
|
20938
20925
|
"editor.record.form.temporalExtents.addDate": "Date déterminée",
|
|
20939
20926
|
"editor.record.form.temporalExtents.addRange": "Période de temps",
|
|
20940
20927
|
"editor.record.form.temporalExtents.date": "Date concernée",
|
|
20941
20928
|
"editor.record.form.temporalExtents.range": "Période concernée",
|
|
20929
|
+
"editor.record.form.topics.inspire.biota": "Biote",
|
|
20930
|
+
"editor.record.form.topics.inspire.boundaries": "Limites",
|
|
20931
|
+
"editor.record.form.topics.inspire.climatology": "Climatologie/Météorologie/Atmosphère",
|
|
20932
|
+
"editor.record.form.topics.inspire.economy": "Économie",
|
|
20933
|
+
"editor.record.form.topics.inspire.elevation": "Altitude",
|
|
20934
|
+
"editor.record.form.topics.inspire.environnement": "Environnement",
|
|
20935
|
+
"editor.record.form.topics.inspire.farming": "Agriculture",
|
|
20936
|
+
"editor.record.form.topics.inspire.geoscientific": "Informations géoscientifiques",
|
|
20937
|
+
"editor.record.form.topics.inspire.health": "Santé",
|
|
20938
|
+
"editor.record.form.topics.inspire.imagery": "Imagerie/Cartes de base/Occupation des terres",
|
|
20939
|
+
"editor.record.form.topics.inspire.intelligence": "Renseignement/Secteur militaire",
|
|
20940
|
+
"editor.record.form.topics.inspire.location": "Localisation",
|
|
20941
|
+
"editor.record.form.topics.inspire.oceans": "Océans",
|
|
20942
|
+
"editor.record.form.topics.inspire.planning": "Planification/Cadastre",
|
|
20943
|
+
"editor.record.form.topics.inspire.society": "Société",
|
|
20944
|
+
"editor.record.form.topics.inspire.structure": "Structure",
|
|
20945
|
+
"editor.record.form.topics.inspire.transportation": "Transport",
|
|
20946
|
+
"editor.record.form.topics.inspire.utilities": "Services d’utilité publique/Communication",
|
|
20947
|
+
"editor.record.form.topics.inspire.waters": "Eaux intérieures",
|
|
20948
|
+
"editor.record.form.topics.placeholder": "Sélectionnez un ou plusieurs thèmes",
|
|
20942
20949
|
"editor.record.form.updateFrequency.planned": "Ce jeu de données est mis à jour régulièrement",
|
|
20943
20950
|
"editor.record.importFromExternalFile.failure.body": "Une erreur est survenue pendant l'import du jeu de données : ",
|
|
20944
20951
|
"editor.record.importFromExternalFile.failure.title": "Erreur",
|
|
@@ -21000,7 +21007,8 @@ var fr = {
|
|
|
21000
21007
|
"facets.block.title.tag.default": "Tag",
|
|
21001
21008
|
"facets.block.title.th_regions_tree.default": "Régions",
|
|
21002
21009
|
"favorite.not.authenticated.tooltip": "<div><a href=' {link} '>Connectez-vous</a> pour avoir accès à cette fonctionnalité</div>",
|
|
21003
|
-
"favorite.starToggle.
|
|
21010
|
+
"favorite.starToggle.add": "Ajouter aux favoris",
|
|
21011
|
+
"favorite.starToggle.remove": "Retirer des favoris",
|
|
21004
21012
|
"feature.catalog.attribute.code": "Code",
|
|
21005
21013
|
"feature.catalog.attribute.definition": "Description",
|
|
21006
21014
|
"feature.catalog.attribute.name": "Nom",
|
|
@@ -21213,6 +21221,7 @@ var fr = {
|
|
|
21213
21221
|
"record.metadata.usage": "Licences et conditions d'utilisation",
|
|
21214
21222
|
"record.metadata.userFeedbacks": "Questions / Réponses",
|
|
21215
21223
|
"record.metadata.userFeedbacks.anonymousUser": "Pour rédiger un commentaire, veuillez vous identifier.",
|
|
21224
|
+
"record.metadata.userFeedbacks.authDisabled": "Les commentaires sont désactivés.",
|
|
21216
21225
|
"record.metadata.userFeedbacks.newAnswer.buttonTitle": "Publier",
|
|
21217
21226
|
"record.metadata.userFeedbacks.newAnswer.placeholder": "Répondre...",
|
|
21218
21227
|
"record.metadata.userFeedbacks.newComment.placeholder": "Rédigez votre commentaire ici...",
|
|
@@ -21525,26 +21534,6 @@ var it = {
|
|
|
21525
21534
|
"editor.record.form.field.topics": "",
|
|
21526
21535
|
"editor.record.form.field.uniqueIdentifier": "Identificatore univoco",
|
|
21527
21536
|
"editor.record.form.field.updateFrequency": "Frequenza di aggiornamento",
|
|
21528
|
-
"editor.record.form.inspire.biota": "",
|
|
21529
|
-
"editor.record.form.inspire.boundaries": "",
|
|
21530
|
-
"editor.record.form.inspire.climatology": "",
|
|
21531
|
-
"editor.record.form.inspire.economy": "",
|
|
21532
|
-
"editor.record.form.inspire.elevation": "",
|
|
21533
|
-
"editor.record.form.inspire.environnement": "",
|
|
21534
|
-
"editor.record.form.inspire.farming": "",
|
|
21535
|
-
"editor.record.form.inspire.geoscientific": "",
|
|
21536
|
-
"editor.record.form.inspire.health": "",
|
|
21537
|
-
"editor.record.form.inspire.imagery": "",
|
|
21538
|
-
"editor.record.form.inspire.intelligence": "",
|
|
21539
|
-
"editor.record.form.inspire.location": "",
|
|
21540
|
-
"editor.record.form.inspire.oceans": "",
|
|
21541
|
-
"editor.record.form.inspire.placeholder": "",
|
|
21542
|
-
"editor.record.form.inspire.planning": "",
|
|
21543
|
-
"editor.record.form.inspire.society": "",
|
|
21544
|
-
"editor.record.form.inspire.structure": "",
|
|
21545
|
-
"editor.record.form.inspire.transportation": "",
|
|
21546
|
-
"editor.record.form.inspire.utilities": "",
|
|
21547
|
-
"editor.record.form.inspire.waters": "",
|
|
21548
21537
|
"editor.record.form.keywords.place.placeholder": "Cerca una posizione per parola chiave",
|
|
21549
21538
|
"editor.record.form.keywords.place.withoutExtent": "Questa parola chiave non ha una posizione geografica associata",
|
|
21550
21539
|
"editor.record.form.keywords.placeholder": "Seleziona una parola chiave",
|
|
@@ -21580,15 +21569,35 @@ var it = {
|
|
|
21580
21569
|
"editor.record.form.section.dataManagers.description": "Queste informazioni riguardano i dati",
|
|
21581
21570
|
"editor.record.form.section.dataManagers.label": "Gestori dei dati",
|
|
21582
21571
|
"editor.record.form.section.geographicalCoverage.label": "Copertura geografica",
|
|
21583
|
-
"editor.record.form.section.inspire.description": "",
|
|
21584
|
-
"editor.record.form.section.inspire.label": "",
|
|
21585
21572
|
"editor.record.form.section.metadataPointOfContact.description": "Queste informazioni riguardano i metadati",
|
|
21586
21573
|
"editor.record.form.section.metadataPointOfContact.label": "Punto di contatto dei metadati",
|
|
21574
|
+
"editor.record.form.section.topics.description": "",
|
|
21575
|
+
"editor.record.form.section.topics.label": "",
|
|
21587
21576
|
"editor.record.form.section.useAndAccessConditions.label": "Condizioni di accesso e utilizzo",
|
|
21588
21577
|
"editor.record.form.temporalExtents.addDate": "Data specificata",
|
|
21589
21578
|
"editor.record.form.temporalExtents.addRange": "Periodo di tempo",
|
|
21590
21579
|
"editor.record.form.temporalExtents.date": "Data rilevante",
|
|
21591
21580
|
"editor.record.form.temporalExtents.range": "Periodo interessato",
|
|
21581
|
+
"editor.record.form.topics.inspire.biota": "",
|
|
21582
|
+
"editor.record.form.topics.inspire.boundaries": "",
|
|
21583
|
+
"editor.record.form.topics.inspire.climatology": "",
|
|
21584
|
+
"editor.record.form.topics.inspire.economy": "",
|
|
21585
|
+
"editor.record.form.topics.inspire.elevation": "",
|
|
21586
|
+
"editor.record.form.topics.inspire.environnement": "",
|
|
21587
|
+
"editor.record.form.topics.inspire.farming": "",
|
|
21588
|
+
"editor.record.form.topics.inspire.geoscientific": "",
|
|
21589
|
+
"editor.record.form.topics.inspire.health": "",
|
|
21590
|
+
"editor.record.form.topics.inspire.imagery": "",
|
|
21591
|
+
"editor.record.form.topics.inspire.intelligence": "",
|
|
21592
|
+
"editor.record.form.topics.inspire.location": "",
|
|
21593
|
+
"editor.record.form.topics.inspire.oceans": "",
|
|
21594
|
+
"editor.record.form.topics.inspire.planning": "",
|
|
21595
|
+
"editor.record.form.topics.inspire.society": "",
|
|
21596
|
+
"editor.record.form.topics.inspire.structure": "",
|
|
21597
|
+
"editor.record.form.topics.inspire.transportation": "",
|
|
21598
|
+
"editor.record.form.topics.inspire.utilities": "",
|
|
21599
|
+
"editor.record.form.topics.inspire.waters": "",
|
|
21600
|
+
"editor.record.form.topics.placeholder": "",
|
|
21592
21601
|
"editor.record.form.updateFrequency.planned": "Questi dati dovrebbero essere aggiornati regolarmente",
|
|
21593
21602
|
"editor.record.importFromExternalFile.failure.body": "Ha successo un'errore durante l'importazione del dataset: ",
|
|
21594
21603
|
"editor.record.importFromExternalFile.failure.title": "Errore",
|
|
@@ -21650,7 +21659,8 @@ var it = {
|
|
|
21650
21659
|
"facets.block.title.tag.default": "Tag",
|
|
21651
21660
|
"facets.block.title.th_regions_tree.default": "Regioni",
|
|
21652
21661
|
"favorite.not.authenticated.tooltip": "<div><a href=' {link} '>Login</a> per accedere a questa funzionalità</div>",
|
|
21653
|
-
"favorite.starToggle.
|
|
21662
|
+
"favorite.starToggle.add": "Aggiungi ai preferiti",
|
|
21663
|
+
"favorite.starToggle.remove": "Rimuovi dai preferiti",
|
|
21654
21664
|
"feature.catalog.attribute.code": "Codice",
|
|
21655
21665
|
"feature.catalog.attribute.definition": "Descrizione",
|
|
21656
21666
|
"feature.catalog.attribute.name": "Nome",
|
|
@@ -21863,6 +21873,7 @@ var it = {
|
|
|
21863
21873
|
"record.metadata.usage": "Licenze e limiti di utilizzo",
|
|
21864
21874
|
"record.metadata.userFeedbacks": "Domande / Risposte",
|
|
21865
21875
|
"record.metadata.userFeedbacks.anonymousUser": "Per pubblicare un commento, effettua il login.",
|
|
21876
|
+
"record.metadata.userFeedbacks.authDisabled": "",
|
|
21866
21877
|
"record.metadata.userFeedbacks.newAnswer.buttonTitle": "Pubblica",
|
|
21867
21878
|
"record.metadata.userFeedbacks.newAnswer.placeholder": "Risponde...",
|
|
21868
21879
|
"record.metadata.userFeedbacks.newComment.placeholder": "Scrive qui il suo commento...",
|
|
@@ -22175,26 +22186,6 @@ var nl = {
|
|
|
22175
22186
|
"editor.record.form.field.topics": "",
|
|
22176
22187
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
22177
22188
|
"editor.record.form.field.updateFrequency": "",
|
|
22178
|
-
"editor.record.form.inspire.biota": "",
|
|
22179
|
-
"editor.record.form.inspire.boundaries": "",
|
|
22180
|
-
"editor.record.form.inspire.climatology": "",
|
|
22181
|
-
"editor.record.form.inspire.economy": "",
|
|
22182
|
-
"editor.record.form.inspire.elevation": "",
|
|
22183
|
-
"editor.record.form.inspire.environnement": "",
|
|
22184
|
-
"editor.record.form.inspire.farming": "",
|
|
22185
|
-
"editor.record.form.inspire.geoscientific": "",
|
|
22186
|
-
"editor.record.form.inspire.health": "",
|
|
22187
|
-
"editor.record.form.inspire.imagery": "",
|
|
22188
|
-
"editor.record.form.inspire.intelligence": "",
|
|
22189
|
-
"editor.record.form.inspire.location": "",
|
|
22190
|
-
"editor.record.form.inspire.oceans": "",
|
|
22191
|
-
"editor.record.form.inspire.placeholder": "",
|
|
22192
|
-
"editor.record.form.inspire.planning": "",
|
|
22193
|
-
"editor.record.form.inspire.society": "",
|
|
22194
|
-
"editor.record.form.inspire.structure": "",
|
|
22195
|
-
"editor.record.form.inspire.transportation": "",
|
|
22196
|
-
"editor.record.form.inspire.utilities": "",
|
|
22197
|
-
"editor.record.form.inspire.waters": "",
|
|
22198
22189
|
"editor.record.form.keywords.place.placeholder": "",
|
|
22199
22190
|
"editor.record.form.keywords.place.withoutExtent": "",
|
|
22200
22191
|
"editor.record.form.keywords.placeholder": "",
|
|
@@ -22230,15 +22221,35 @@ var nl = {
|
|
|
22230
22221
|
"editor.record.form.section.dataManagers.description": "",
|
|
22231
22222
|
"editor.record.form.section.dataManagers.label": "",
|
|
22232
22223
|
"editor.record.form.section.geographicalCoverage.label": "",
|
|
22233
|
-
"editor.record.form.section.inspire.description": "",
|
|
22234
|
-
"editor.record.form.section.inspire.label": "",
|
|
22235
22224
|
"editor.record.form.section.metadataPointOfContact.description": "",
|
|
22236
22225
|
"editor.record.form.section.metadataPointOfContact.label": "",
|
|
22226
|
+
"editor.record.form.section.topics.description": "",
|
|
22227
|
+
"editor.record.form.section.topics.label": "",
|
|
22237
22228
|
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
22238
22229
|
"editor.record.form.temporalExtents.addDate": "",
|
|
22239
22230
|
"editor.record.form.temporalExtents.addRange": "",
|
|
22240
22231
|
"editor.record.form.temporalExtents.date": "",
|
|
22241
22232
|
"editor.record.form.temporalExtents.range": "",
|
|
22233
|
+
"editor.record.form.topics.inspire.biota": "",
|
|
22234
|
+
"editor.record.form.topics.inspire.boundaries": "",
|
|
22235
|
+
"editor.record.form.topics.inspire.climatology": "",
|
|
22236
|
+
"editor.record.form.topics.inspire.economy": "",
|
|
22237
|
+
"editor.record.form.topics.inspire.elevation": "",
|
|
22238
|
+
"editor.record.form.topics.inspire.environnement": "",
|
|
22239
|
+
"editor.record.form.topics.inspire.farming": "",
|
|
22240
|
+
"editor.record.form.topics.inspire.geoscientific": "",
|
|
22241
|
+
"editor.record.form.topics.inspire.health": "",
|
|
22242
|
+
"editor.record.form.topics.inspire.imagery": "",
|
|
22243
|
+
"editor.record.form.topics.inspire.intelligence": "",
|
|
22244
|
+
"editor.record.form.topics.inspire.location": "",
|
|
22245
|
+
"editor.record.form.topics.inspire.oceans": "",
|
|
22246
|
+
"editor.record.form.topics.inspire.planning": "",
|
|
22247
|
+
"editor.record.form.topics.inspire.society": "",
|
|
22248
|
+
"editor.record.form.topics.inspire.structure": "",
|
|
22249
|
+
"editor.record.form.topics.inspire.transportation": "",
|
|
22250
|
+
"editor.record.form.topics.inspire.utilities": "",
|
|
22251
|
+
"editor.record.form.topics.inspire.waters": "",
|
|
22252
|
+
"editor.record.form.topics.placeholder": "",
|
|
22242
22253
|
"editor.record.form.updateFrequency.planned": "Deze dataset wordt regelmatig bijgewerkt.",
|
|
22243
22254
|
"editor.record.importFromExternalFile.failure.body": "",
|
|
22244
22255
|
"editor.record.importFromExternalFile.failure.title": "",
|
|
@@ -22300,7 +22311,8 @@ var nl = {
|
|
|
22300
22311
|
"facets.block.title.tag.default": "",
|
|
22301
22312
|
"facets.block.title.th_regions_tree.default": "",
|
|
22302
22313
|
"favorite.not.authenticated.tooltip": "",
|
|
22303
|
-
"favorite.starToggle.
|
|
22314
|
+
"favorite.starToggle.add": "Toevoegen aan favorieten",
|
|
22315
|
+
"favorite.starToggle.remove": "Verwijderen uit favorieten",
|
|
22304
22316
|
"feature.catalog.attribute.code": "Code",
|
|
22305
22317
|
"feature.catalog.attribute.definition": "Beschrijving",
|
|
22306
22318
|
"feature.catalog.attribute.name": "Naam",
|
|
@@ -22513,6 +22525,7 @@ var nl = {
|
|
|
22513
22525
|
"record.metadata.usage": "",
|
|
22514
22526
|
"record.metadata.userFeedbacks": "",
|
|
22515
22527
|
"record.metadata.userFeedbacks.anonymousUser": "",
|
|
22528
|
+
"record.metadata.userFeedbacks.authDisabled": "",
|
|
22516
22529
|
"record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
|
|
22517
22530
|
"record.metadata.userFeedbacks.newAnswer.placeholder": "",
|
|
22518
22531
|
"record.metadata.userFeedbacks.newComment.placeholder": "",
|
|
@@ -22825,26 +22838,6 @@ var pt = {
|
|
|
22825
22838
|
"editor.record.form.field.topics": "",
|
|
22826
22839
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
22827
22840
|
"editor.record.form.field.updateFrequency": "",
|
|
22828
|
-
"editor.record.form.inspire.biota": "",
|
|
22829
|
-
"editor.record.form.inspire.boundaries": "",
|
|
22830
|
-
"editor.record.form.inspire.climatology": "",
|
|
22831
|
-
"editor.record.form.inspire.economy": "",
|
|
22832
|
-
"editor.record.form.inspire.elevation": "",
|
|
22833
|
-
"editor.record.form.inspire.environnement": "",
|
|
22834
|
-
"editor.record.form.inspire.farming": "",
|
|
22835
|
-
"editor.record.form.inspire.geoscientific": "",
|
|
22836
|
-
"editor.record.form.inspire.health": "",
|
|
22837
|
-
"editor.record.form.inspire.imagery": "",
|
|
22838
|
-
"editor.record.form.inspire.intelligence": "",
|
|
22839
|
-
"editor.record.form.inspire.location": "",
|
|
22840
|
-
"editor.record.form.inspire.oceans": "",
|
|
22841
|
-
"editor.record.form.inspire.placeholder": "",
|
|
22842
|
-
"editor.record.form.inspire.planning": "",
|
|
22843
|
-
"editor.record.form.inspire.society": "",
|
|
22844
|
-
"editor.record.form.inspire.structure": "",
|
|
22845
|
-
"editor.record.form.inspire.transportation": "",
|
|
22846
|
-
"editor.record.form.inspire.utilities": "",
|
|
22847
|
-
"editor.record.form.inspire.waters": "",
|
|
22848
22841
|
"editor.record.form.keywords.place.placeholder": "",
|
|
22849
22842
|
"editor.record.form.keywords.place.withoutExtent": "",
|
|
22850
22843
|
"editor.record.form.keywords.placeholder": "",
|
|
@@ -22880,15 +22873,35 @@ var pt = {
|
|
|
22880
22873
|
"editor.record.form.section.dataManagers.description": "",
|
|
22881
22874
|
"editor.record.form.section.dataManagers.label": "",
|
|
22882
22875
|
"editor.record.form.section.geographicalCoverage.label": "",
|
|
22883
|
-
"editor.record.form.section.inspire.description": "",
|
|
22884
|
-
"editor.record.form.section.inspire.label": "",
|
|
22885
22876
|
"editor.record.form.section.metadataPointOfContact.description": "",
|
|
22886
22877
|
"editor.record.form.section.metadataPointOfContact.label": "",
|
|
22878
|
+
"editor.record.form.section.topics.description": "",
|
|
22879
|
+
"editor.record.form.section.topics.label": "",
|
|
22887
22880
|
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
22888
22881
|
"editor.record.form.temporalExtents.addDate": "",
|
|
22889
22882
|
"editor.record.form.temporalExtents.addRange": "",
|
|
22890
22883
|
"editor.record.form.temporalExtents.date": "",
|
|
22891
22884
|
"editor.record.form.temporalExtents.range": "",
|
|
22885
|
+
"editor.record.form.topics.inspire.biota": "",
|
|
22886
|
+
"editor.record.form.topics.inspire.boundaries": "",
|
|
22887
|
+
"editor.record.form.topics.inspire.climatology": "",
|
|
22888
|
+
"editor.record.form.topics.inspire.economy": "",
|
|
22889
|
+
"editor.record.form.topics.inspire.elevation": "",
|
|
22890
|
+
"editor.record.form.topics.inspire.environnement": "",
|
|
22891
|
+
"editor.record.form.topics.inspire.farming": "",
|
|
22892
|
+
"editor.record.form.topics.inspire.geoscientific": "",
|
|
22893
|
+
"editor.record.form.topics.inspire.health": "",
|
|
22894
|
+
"editor.record.form.topics.inspire.imagery": "",
|
|
22895
|
+
"editor.record.form.topics.inspire.intelligence": "",
|
|
22896
|
+
"editor.record.form.topics.inspire.location": "",
|
|
22897
|
+
"editor.record.form.topics.inspire.oceans": "",
|
|
22898
|
+
"editor.record.form.topics.inspire.planning": "",
|
|
22899
|
+
"editor.record.form.topics.inspire.society": "",
|
|
22900
|
+
"editor.record.form.topics.inspire.structure": "",
|
|
22901
|
+
"editor.record.form.topics.inspire.transportation": "",
|
|
22902
|
+
"editor.record.form.topics.inspire.utilities": "",
|
|
22903
|
+
"editor.record.form.topics.inspire.waters": "",
|
|
22904
|
+
"editor.record.form.topics.placeholder": "",
|
|
22892
22905
|
"editor.record.form.updateFrequency.planned": "Este conjunto de dados é atualizado regularmente.",
|
|
22893
22906
|
"editor.record.importFromExternalFile.failure.body": "",
|
|
22894
22907
|
"editor.record.importFromExternalFile.failure.title": "",
|
|
@@ -22950,7 +22963,8 @@ var pt = {
|
|
|
22950
22963
|
"facets.block.title.tag.default": "",
|
|
22951
22964
|
"facets.block.title.th_regions_tree.default": "",
|
|
22952
22965
|
"favorite.not.authenticated.tooltip": "",
|
|
22953
|
-
"favorite.starToggle.
|
|
22966
|
+
"favorite.starToggle.add": "Adicionar aos favoritos",
|
|
22967
|
+
"favorite.starToggle.remove": "Remover dos favoritos",
|
|
22954
22968
|
"feature.catalog.attribute.code": "Código",
|
|
22955
22969
|
"feature.catalog.attribute.definition": "Descrição",
|
|
22956
22970
|
"feature.catalog.attribute.name": "Nome",
|
|
@@ -23163,6 +23177,7 @@ var pt = {
|
|
|
23163
23177
|
"record.metadata.usage": "",
|
|
23164
23178
|
"record.metadata.userFeedbacks": "",
|
|
23165
23179
|
"record.metadata.userFeedbacks.anonymousUser": "",
|
|
23180
|
+
"record.metadata.userFeedbacks.authDisabled": "",
|
|
23166
23181
|
"record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
|
|
23167
23182
|
"record.metadata.userFeedbacks.newAnswer.placeholder": "",
|
|
23168
23183
|
"record.metadata.userFeedbacks.newComment.placeholder": "",
|
|
@@ -23475,26 +23490,6 @@ var sk = {
|
|
|
23475
23490
|
"editor.record.form.field.topics": "",
|
|
23476
23491
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
23477
23492
|
"editor.record.form.field.updateFrequency": "",
|
|
23478
|
-
"editor.record.form.inspire.biota": "",
|
|
23479
|
-
"editor.record.form.inspire.boundaries": "",
|
|
23480
|
-
"editor.record.form.inspire.climatology": "",
|
|
23481
|
-
"editor.record.form.inspire.economy": "",
|
|
23482
|
-
"editor.record.form.inspire.elevation": "",
|
|
23483
|
-
"editor.record.form.inspire.environnement": "",
|
|
23484
|
-
"editor.record.form.inspire.farming": "",
|
|
23485
|
-
"editor.record.form.inspire.geoscientific": "",
|
|
23486
|
-
"editor.record.form.inspire.health": "",
|
|
23487
|
-
"editor.record.form.inspire.imagery": "",
|
|
23488
|
-
"editor.record.form.inspire.intelligence": "",
|
|
23489
|
-
"editor.record.form.inspire.location": "",
|
|
23490
|
-
"editor.record.form.inspire.oceans": "",
|
|
23491
|
-
"editor.record.form.inspire.placeholder": "",
|
|
23492
|
-
"editor.record.form.inspire.planning": "",
|
|
23493
|
-
"editor.record.form.inspire.society": "",
|
|
23494
|
-
"editor.record.form.inspire.structure": "",
|
|
23495
|
-
"editor.record.form.inspire.transportation": "",
|
|
23496
|
-
"editor.record.form.inspire.utilities": "",
|
|
23497
|
-
"editor.record.form.inspire.waters": "",
|
|
23498
23493
|
"editor.record.form.keywords.place.placeholder": "",
|
|
23499
23494
|
"editor.record.form.keywords.place.withoutExtent": "",
|
|
23500
23495
|
"editor.record.form.keywords.placeholder": "",
|
|
@@ -23530,15 +23525,35 @@ var sk = {
|
|
|
23530
23525
|
"editor.record.form.section.dataManagers.description": "",
|
|
23531
23526
|
"editor.record.form.section.dataManagers.label": "",
|
|
23532
23527
|
"editor.record.form.section.geographicalCoverage.label": "",
|
|
23533
|
-
"editor.record.form.section.inspire.description": "",
|
|
23534
|
-
"editor.record.form.section.inspire.label": "",
|
|
23535
23528
|
"editor.record.form.section.metadataPointOfContact.description": "",
|
|
23536
23529
|
"editor.record.form.section.metadataPointOfContact.label": "",
|
|
23530
|
+
"editor.record.form.section.topics.description": "",
|
|
23531
|
+
"editor.record.form.section.topics.label": "",
|
|
23537
23532
|
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
23538
23533
|
"editor.record.form.temporalExtents.addDate": "",
|
|
23539
23534
|
"editor.record.form.temporalExtents.addRange": "",
|
|
23540
23535
|
"editor.record.form.temporalExtents.date": "",
|
|
23541
23536
|
"editor.record.form.temporalExtents.range": "",
|
|
23537
|
+
"editor.record.form.topics.inspire.biota": "",
|
|
23538
|
+
"editor.record.form.topics.inspire.boundaries": "",
|
|
23539
|
+
"editor.record.form.topics.inspire.climatology": "",
|
|
23540
|
+
"editor.record.form.topics.inspire.economy": "",
|
|
23541
|
+
"editor.record.form.topics.inspire.elevation": "",
|
|
23542
|
+
"editor.record.form.topics.inspire.environnement": "",
|
|
23543
|
+
"editor.record.form.topics.inspire.farming": "",
|
|
23544
|
+
"editor.record.form.topics.inspire.geoscientific": "",
|
|
23545
|
+
"editor.record.form.topics.inspire.health": "",
|
|
23546
|
+
"editor.record.form.topics.inspire.imagery": "",
|
|
23547
|
+
"editor.record.form.topics.inspire.intelligence": "",
|
|
23548
|
+
"editor.record.form.topics.inspire.location": "",
|
|
23549
|
+
"editor.record.form.topics.inspire.oceans": "",
|
|
23550
|
+
"editor.record.form.topics.inspire.planning": "",
|
|
23551
|
+
"editor.record.form.topics.inspire.society": "",
|
|
23552
|
+
"editor.record.form.topics.inspire.structure": "",
|
|
23553
|
+
"editor.record.form.topics.inspire.transportation": "",
|
|
23554
|
+
"editor.record.form.topics.inspire.utilities": "",
|
|
23555
|
+
"editor.record.form.topics.inspire.waters": "",
|
|
23556
|
+
"editor.record.form.topics.placeholder": "",
|
|
23542
23557
|
"editor.record.form.updateFrequency.planned": "Táto množina údajov sa pravidelne aktualizuje",
|
|
23543
23558
|
"editor.record.importFromExternalFile.failure.body": "",
|
|
23544
23559
|
"editor.record.importFromExternalFile.failure.title": "",
|
|
@@ -23600,7 +23615,8 @@ var sk = {
|
|
|
23600
23615
|
"facets.block.title.tag.default": "Štítok",
|
|
23601
23616
|
"facets.block.title.th_regions_tree.default": "Regióny",
|
|
23602
23617
|
"favorite.not.authenticated.tooltip": "<div><a href='{link}'>Prihlásiť sa</a> pre prístup k tejto funkcii</div>",
|
|
23603
|
-
"favorite.starToggle.
|
|
23618
|
+
"favorite.starToggle.add": "Pridať k obľúbeným",
|
|
23619
|
+
"favorite.starToggle.remove": "Odstrániť z obľúbených",
|
|
23604
23620
|
"feature.catalog.attribute.code": "Kód",
|
|
23605
23621
|
"feature.catalog.attribute.definition": "Popis",
|
|
23606
23622
|
"feature.catalog.attribute.name": "Názov",
|
|
@@ -23813,6 +23829,7 @@ var sk = {
|
|
|
23813
23829
|
"record.metadata.usage": "Použitie a obmedzenia",
|
|
23814
23830
|
"record.metadata.userFeedbacks": "",
|
|
23815
23831
|
"record.metadata.userFeedbacks.anonymousUser": "",
|
|
23832
|
+
"record.metadata.userFeedbacks.authDisabled": "",
|
|
23816
23833
|
"record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
|
|
23817
23834
|
"record.metadata.userFeedbacks.newAnswer.placeholder": "",
|
|
23818
23835
|
"record.metadata.userFeedbacks.newComment.placeholder": "",
|
|
@@ -24923,6 +24940,44 @@ const removeWhitespace = function (str) {
|
|
|
24923
24940
|
return str?.replace(/\s+/g, ' ').trim();
|
|
24924
24941
|
};
|
|
24925
24942
|
|
|
24943
|
+
/**
|
|
24944
|
+
* When route is changed, Angular interprets a simple query params change as "forward navigation" too.
|
|
24945
|
+
* Using the pairwise function allows us to have both the previous and current router events, which we can
|
|
24946
|
+
* use to effectively compare the two navigation events and see if they actually change route, or only
|
|
24947
|
+
* the route parameters (i.e. search params stored in query params).
|
|
24948
|
+
*
|
|
24949
|
+
* Related to: https://github.com/angular/angular/issues/26744
|
|
24950
|
+
*/
|
|
24951
|
+
function handleScrollOnNavigation(router, viewportScroller) {
|
|
24952
|
+
router.events
|
|
24953
|
+
.pipe(filter((e) => e instanceof Scroll), pairwise())
|
|
24954
|
+
.subscribe(([previous, current]) => {
|
|
24955
|
+
if (current.position) {
|
|
24956
|
+
// Backward navigation
|
|
24957
|
+
viewportScroller.scrollToPosition(current.position);
|
|
24958
|
+
}
|
|
24959
|
+
else if (current.anchor) {
|
|
24960
|
+
// Anchor navigation
|
|
24961
|
+
viewportScroller.scrollToAnchor(current.anchor);
|
|
24962
|
+
}
|
|
24963
|
+
else {
|
|
24964
|
+
// Check if routes match, or if it is only a query param change
|
|
24965
|
+
if (previous.routerEvent instanceof NavigationEnd &&
|
|
24966
|
+
current.routerEvent instanceof NavigationEnd &&
|
|
24967
|
+
getBaseRoute(previous.routerEvent.urlAfterRedirects) !==
|
|
24968
|
+
getBaseRoute(current.routerEvent.urlAfterRedirects)) {
|
|
24969
|
+
// Routes don't match, this is actual forward navigation
|
|
24970
|
+
// Default behavior: scroll to top
|
|
24971
|
+
viewportScroller.scrollToPosition([0, 0]);
|
|
24972
|
+
}
|
|
24973
|
+
}
|
|
24974
|
+
});
|
|
24975
|
+
}
|
|
24976
|
+
function getBaseRoute(url) {
|
|
24977
|
+
// return url without query params
|
|
24978
|
+
return url.split('?')[0];
|
|
24979
|
+
}
|
|
24980
|
+
|
|
24926
24981
|
function sortByToStrings(sortBy) {
|
|
24927
24982
|
const array = Array.isArray(sortBy[0]) ? sortBy : [sortBy];
|
|
24928
24983
|
return array.map((param) => `${param[0] === 'desc' ? '-' : ''}${param[1]}`);
|
|
@@ -25057,10 +25112,17 @@ const FORMATS = {
|
|
|
25057
25112
|
mimeTypes: ['application/geopackage+sqlite3'],
|
|
25058
25113
|
},
|
|
25059
25114
|
zip: {
|
|
25060
|
-
extensions: ['zip', 'tar.gz'],
|
|
25115
|
+
extensions: ['zip', 'tar.gz', 'gz', '7z', '7zip'],
|
|
25061
25116
|
priority: 8,
|
|
25062
25117
|
color: '#B0CB52',
|
|
25063
|
-
mimeTypes: [
|
|
25118
|
+
mimeTypes: [
|
|
25119
|
+
'application/zip',
|
|
25120
|
+
'application/x-zip',
|
|
25121
|
+
'application/x-compressed',
|
|
25122
|
+
'application/x-7z-compressed',
|
|
25123
|
+
'application/gzip',
|
|
25124
|
+
'application/x-gzip',
|
|
25125
|
+
],
|
|
25064
25126
|
},
|
|
25065
25127
|
pdf: {
|
|
25066
25128
|
extensions: ['pdf'],
|
|
@@ -25074,39 +25136,57 @@ const FORMATS = {
|
|
|
25074
25136
|
color: '#C4A98F',
|
|
25075
25137
|
mimeTypes: ['image/jpg'],
|
|
25076
25138
|
},
|
|
25139
|
+
png: {
|
|
25140
|
+
extensions: ['png'],
|
|
25141
|
+
priority: 10,
|
|
25142
|
+
color: '#8B5A3C',
|
|
25143
|
+
mimeTypes: ['image/png'],
|
|
25144
|
+
},
|
|
25145
|
+
tiff: {
|
|
25146
|
+
extensions: ['tiff', 'tif', 'geotiff', 'geotif'],
|
|
25147
|
+
priority: 11,
|
|
25148
|
+
color: '#6B4423',
|
|
25149
|
+
mimeTypes: ['image/tiff'],
|
|
25150
|
+
},
|
|
25077
25151
|
svg: {
|
|
25078
25152
|
extensions: ['svg'],
|
|
25079
|
-
priority:
|
|
25153
|
+
priority: 12,
|
|
25080
25154
|
color: '#EB6D82',
|
|
25081
25155
|
mimeTypes: ['image/svg+xml'],
|
|
25082
25156
|
},
|
|
25083
25157
|
dxf: {
|
|
25084
25158
|
extensions: ['dxf'],
|
|
25085
|
-
priority:
|
|
25159
|
+
priority: 13,
|
|
25086
25160
|
color: '#DCCD00',
|
|
25087
25161
|
mimeTypes: ['application/x-dxf', 'image/x-dxf'],
|
|
25088
25162
|
},
|
|
25089
25163
|
html: {
|
|
25090
25164
|
extensions: ['html', 'htm'],
|
|
25091
|
-
priority:
|
|
25165
|
+
priority: 14,
|
|
25092
25166
|
color: '#C0C9B6',
|
|
25093
25167
|
mimeTypes: ['text/html'],
|
|
25094
25168
|
},
|
|
25095
25169
|
fgb: {
|
|
25096
25170
|
extensions: ['fgb', 'flatgeobuf'],
|
|
25097
|
-
priority:
|
|
25171
|
+
priority: 15,
|
|
25098
25172
|
color: '#A8111C',
|
|
25099
25173
|
mimeTypes: ['application/flatgeobuf'],
|
|
25100
25174
|
},
|
|
25101
25175
|
jsonfg: {
|
|
25102
25176
|
extensions: ['jsonfg', 'jsonfgc'],
|
|
25103
|
-
priority:
|
|
25177
|
+
priority: 16,
|
|
25104
25178
|
color: '#009EE0',
|
|
25105
25179
|
mimeTypes: [
|
|
25106
25180
|
'application/vnd.ogc.fg+json',
|
|
25107
25181
|
'application/vnd.ogc.fg+json;compatibility=geojson',
|
|
25108
25182
|
],
|
|
25109
25183
|
},
|
|
25184
|
+
webp: {
|
|
25185
|
+
extensions: ['webp'],
|
|
25186
|
+
priority: 17,
|
|
25187
|
+
color: '#5A9E6F',
|
|
25188
|
+
mimeTypes: ['image/webp'],
|
|
25189
|
+
},
|
|
25110
25190
|
};
|
|
25111
25191
|
function getFormatPriority(linkFormat) {
|
|
25112
25192
|
for (const format in FORMATS) {
|
|
@@ -25365,7 +25445,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
25365
25445
|
}] } });
|
|
25366
25446
|
|
|
25367
25447
|
var name = "geonetwork-ui";
|
|
25368
|
-
var version = "2.7.0-dev.
|
|
25448
|
+
var version = "2.7.0-dev.943f3a71b";
|
|
25369
25449
|
var engines = {
|
|
25370
25450
|
node: ">=20"
|
|
25371
25451
|
};
|
|
@@ -26455,7 +26535,7 @@ class OrganizationsFromMetadataService {
|
|
|
26455
26535
|
this.platformService = platformService;
|
|
26456
26536
|
this.translateService = translateService;
|
|
26457
26537
|
this.groups$ = of(true).pipe(switchMap(() => this.groupsApiService.getGroups()), shareReplay$1());
|
|
26458
|
-
this.organisationsAggs$ = this.platformService.getApiVersion().pipe(switchMap((version) => this.searchApiService.search('bucket', null, JSON.stringify(this.getAggregationSearchRequest(version)))), filter((response) => !!response.aggregations.contact.org), tap$1((response) => response.aggregations.contact.org.buckets.forEach((r) => (r.doc_count =
|
|
26538
|
+
this.organisationsAggs$ = this.platformService.getApiVersion().pipe(switchMap((version) => this.searchApiService.search('bucket', null, JSON.stringify(this.getAggregationSearchRequest(version)))), filter$1((response) => !!response.aggregations.contact.org), tap$1((response) => response.aggregations.contact.org.buckets.forEach((r) => (r.doc_count =
|
|
26459
26539
|
response.aggregations.orgForResource.buckets.find((org) => org.key === r.key)?.doc_count || r.doc_count))), map$1((response) => response.aggregations.contact.org.buckets), shareReplay$1());
|
|
26460
26540
|
this.organisationsWithoutGroups$ = this.organisationsAggs$.pipe(map$1((buckets) => buckets.map((bucket) => {
|
|
26461
26541
|
const logoUrl = bucket.logoUrl.buckets?.[0]?.key;
|
|
@@ -27025,11 +27105,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
27025
27105
|
}], ctorParameters: () => [{ type: AvatarServiceInterface }] });
|
|
27026
27106
|
|
|
27027
27107
|
const minApiVersion = '4.2.2';
|
|
27108
|
+
const DISABLE_AUTH = new InjectionToken('gnDisableAuth', {
|
|
27109
|
+
factory: () => false,
|
|
27110
|
+
});
|
|
27028
27111
|
class Gn4PlatformService {
|
|
27029
27112
|
get lang3() {
|
|
27030
27113
|
return toLang3(this.translateService.currentLang);
|
|
27031
27114
|
}
|
|
27032
|
-
constructor(meApi, usersApi, mapper, toolsApiService, registriesApiService, translateService, userfeedbackApiService, httpClient, recordsApiService, settingsService) {
|
|
27115
|
+
constructor(meApi, usersApi, mapper, toolsApiService, registriesApiService, translateService, userfeedbackApiService, httpClient, recordsApiService, settingsService, disableAuth) {
|
|
27033
27116
|
this.meApi = meApi;
|
|
27034
27117
|
this.usersApi = usersApi;
|
|
27035
27118
|
this.mapper = mapper;
|
|
@@ -27040,6 +27123,7 @@ class Gn4PlatformService {
|
|
|
27040
27123
|
this.httpClient = httpClient;
|
|
27041
27124
|
this.recordsApiService = recordsApiService;
|
|
27042
27125
|
this.settingsService = settingsService;
|
|
27126
|
+
this.disableAuth = disableAuth;
|
|
27043
27127
|
this.type = 'GeoNetwork';
|
|
27044
27128
|
this.gnParseVersion = '4.2.5';
|
|
27045
27129
|
this.keyTranslations$ = this.toolsApiService
|
|
@@ -27058,7 +27142,9 @@ class Gn4PlatformService {
|
|
|
27058
27142
|
.pipe(map$1((thesaurus) => {
|
|
27059
27143
|
return thesaurus[0];
|
|
27060
27144
|
}), shareReplay$1(1));
|
|
27061
|
-
this.me$ = this.
|
|
27145
|
+
this.me$ = this.disableAuth
|
|
27146
|
+
? of(null)
|
|
27147
|
+
: this.meApi.getMe().pipe(switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay$1({ bufferSize: 1, refCount: true }));
|
|
27062
27148
|
this.isUserAnonymous$ = this.me$.pipe(map$1((user) => !user || !('id' in user)));
|
|
27063
27149
|
this.users$ = this.usersApi.getUsers().pipe(map$1((users) => users.map((user) => this.mapper.userFromApi(user))), shareReplay$1());
|
|
27064
27150
|
}
|
|
@@ -27213,7 +27299,7 @@ class Gn4PlatformService {
|
|
|
27213
27299
|
};
|
|
27214
27300
|
}
|
|
27215
27301
|
return undefined;
|
|
27216
|
-
}), filter((event) => !!event), catchError((error) => {
|
|
27302
|
+
}), filter$1((event) => !!event), catchError((error) => {
|
|
27217
27303
|
return throwError(() => new Error(error.error?.message ?? error.message));
|
|
27218
27304
|
}));
|
|
27219
27305
|
}
|
|
@@ -27256,18 +27342,30 @@ class Gn4PlatformService {
|
|
|
27256
27342
|
}
|
|
27257
27343
|
}));
|
|
27258
27344
|
}
|
|
27259
|
-
|
|
27345
|
+
supportsAuthentication() {
|
|
27346
|
+
return !this.disableAuth;
|
|
27347
|
+
}
|
|
27348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService, deps: [{ token: MeApiService }, { token: UsersApiService }, { token: Gn4PlatformMapper }, { token: ToolsApiService }, { token: RegistriesApiService }, { token: i1$1.TranslateService }, { token: UserfeedbackApiService }, { token: i1.HttpClient }, { token: RecordsApiService }, { token: Gn4SettingsService }, { token: DISABLE_AUTH, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
27260
27349
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService }); }
|
|
27261
27350
|
}
|
|
27262
27351
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService, decorators: [{
|
|
27263
27352
|
type: Injectable
|
|
27264
|
-
}], ctorParameters: () => [{ type: MeApiService }, { type: UsersApiService }, { type: Gn4PlatformMapper }, { type: ToolsApiService }, { type: RegistriesApiService }, { type: i1$1.TranslateService }, { type: UserfeedbackApiService }, { type: i1.HttpClient }, { type: RecordsApiService }, { type: Gn4SettingsService }
|
|
27353
|
+
}], ctorParameters: () => [{ type: MeApiService }, { type: UsersApiService }, { type: Gn4PlatformMapper }, { type: ToolsApiService }, { type: RegistriesApiService }, { type: i1$1.TranslateService }, { type: UserfeedbackApiService }, { type: i1.HttpClient }, { type: RecordsApiService }, { type: Gn4SettingsService }, { type: undefined, decorators: [{
|
|
27354
|
+
type: Inject,
|
|
27355
|
+
args: [DISABLE_AUTH]
|
|
27356
|
+
}, {
|
|
27357
|
+
type: Optional
|
|
27358
|
+
}] }] });
|
|
27265
27359
|
|
|
27266
27360
|
class RecordsRepositoryInterface {
|
|
27267
27361
|
}
|
|
27268
27362
|
|
|
27269
|
-
function provideGn4() {
|
|
27363
|
+
function provideGn4(provideOptions) {
|
|
27270
27364
|
return [
|
|
27365
|
+
{
|
|
27366
|
+
provide: DISABLE_AUTH,
|
|
27367
|
+
useValue: provideOptions?.disableAuth,
|
|
27368
|
+
},
|
|
27271
27369
|
{
|
|
27272
27370
|
provide: PlatformServiceInterface,
|
|
27273
27371
|
useClass: Gn4PlatformService,
|
|
@@ -28978,10 +29076,10 @@ class AutocompleteComponent {
|
|
|
28978
29076
|
}
|
|
28979
29077
|
}
|
|
28980
29078
|
ngOnInit() {
|
|
28981
|
-
const newValue$ = merge(of(''), this.inputCleared.pipe(map$1(() => '')), this.control.valueChanges.pipe(filter((value) => typeof value === 'string'), distinctUntilChanged(), debounceTime(400)));
|
|
28982
|
-
const externalValueChange$ = this.control.valueChanges.pipe(filter((value) => typeof value === 'object' && value.title), map$1((item) => item.title));
|
|
29079
|
+
const newValue$ = merge(of(''), this.inputCleared.pipe(map$1(() => '')), this.control.valueChanges.pipe(filter$1((value) => typeof value === 'string'), distinctUntilChanged(), debounceTime(400)));
|
|
29080
|
+
const externalValueChange$ = this.control.valueChanges.pipe(filter$1((value) => typeof value === 'object' && value.title), map$1((item) => item.title));
|
|
28983
29081
|
// this observable emits arrays of suggestions loaded using the given action
|
|
28984
|
-
const suggestionsFromAction = merge(newValue$.pipe(filter((value) => value.length >= this.minCharacterCount)), externalValueChange$).pipe(tap$1(() => {
|
|
29082
|
+
const suggestionsFromAction = merge(newValue$.pipe(filter$1((value) => value.length >= this.minCharacterCount)), externalValueChange$).pipe(tap$1(() => {
|
|
28985
29083
|
this.searching = true;
|
|
28986
29084
|
this.error = null;
|
|
28987
29085
|
}), switchMap$1((value) => this.action(value)), tap$1((suggestions) => {
|
|
@@ -28995,10 +29093,10 @@ class AutocompleteComponent {
|
|
|
28995
29093
|
}), finalize(() => (this.searching = false)));
|
|
28996
29094
|
this.suggestions$ = merge(suggestionsFromAction,
|
|
28997
29095
|
// if a new value is under the min char count, clear suggestions
|
|
28998
|
-
newValue$.pipe(filter((value) => value.length < this.minCharacterCount), map$1(() => [])));
|
|
29096
|
+
newValue$.pipe(filter$1((value) => value.length < this.minCharacterCount), map$1(() => [])));
|
|
28999
29097
|
// close the panel whenever suggestions are cleared
|
|
29000
29098
|
this.subscription.add(this.suggestions$
|
|
29001
|
-
.pipe(filter((suggestions) => suggestions.length === 0))
|
|
29099
|
+
.pipe(filter$1((suggestions) => suggestions.length === 0))
|
|
29002
29100
|
.subscribe(() => {
|
|
29003
29101
|
this.triggerRef?.closePanel();
|
|
29004
29102
|
}));
|
|
@@ -29008,7 +29106,7 @@ class AutocompleteComponent {
|
|
|
29008
29106
|
}
|
|
29009
29107
|
}));
|
|
29010
29108
|
this.control.valueChanges
|
|
29011
|
-
.pipe(filter((value) => typeof value === 'string'))
|
|
29109
|
+
.pipe(filter$1((value) => typeof value === 'string'))
|
|
29012
29110
|
.subscribe(this.lastInputValue$);
|
|
29013
29111
|
}
|
|
29014
29112
|
ngAfterViewInit() {
|
|
@@ -30205,7 +30303,7 @@ class StarToggleComponent {
|
|
|
30205
30303
|
event.preventDefault();
|
|
30206
30304
|
}
|
|
30207
30305
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StarToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30208
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StarToggleComponent, isStandalone: true, selector: "gn-ui-star-toggle", inputs: { toggled: "toggled", disabled: "disabled", displayLabel: "displayLabel" }, outputs: { newValue: "newValue" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["starOverlay"], descendants: true }], ngImport: i0, template: "<div class=\"inline-block relative align-middle cursor-pointer\">\n <gn-ui-button\n [type]=\"'outline'\"\n [disabled]=\"disabled\"\n (buttonClick)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n disabled: !toggled || disabled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n <span *ngIf=\"displayLabel\" class=\"mx-2 text-[16px] content-center\"
|
|
30306
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StarToggleComponent, isStandalone: true, selector: "gn-ui-star-toggle", inputs: { toggled: "toggled", disabled: "disabled", displayLabel: "displayLabel" }, outputs: { newValue: "newValue" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["starOverlay"], descendants: true }], ngImport: i0, template: "<div class=\"inline-block relative align-middle cursor-pointer\">\n <gn-ui-button\n [type]=\"'outline'\"\n [disabled]=\"disabled\"\n (buttonClick)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n disabled: !toggled || disabled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n <span *ngIf=\"displayLabel\" class=\"mx-2 text-[16px] content-center\">{{\n (toggled ? 'favorite.starToggle.remove' : 'favorite.starToggle.add')\n | translate\n }}</span>\n </gn-ui-button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n [style]=\"displayLabel ? 'left: 16px' : 'left: 50%'\"\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))}.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%;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: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], viewProviders: [
|
|
30209
30307
|
provideIcons({ matStar, matStarBorder }),
|
|
30210
30308
|
provideNgIconsConfig({
|
|
30211
30309
|
size: '1.5em',
|
|
@@ -30214,12 +30312,12 @@ class StarToggleComponent {
|
|
|
30214
30312
|
}
|
|
30215
30313
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StarToggleComponent, decorators: [{
|
|
30216
30314
|
type: Component,
|
|
30217
|
-
args: [{ selector: 'gn-ui-star-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIcon, ButtonComponent,
|
|
30315
|
+
args: [{ selector: 'gn-ui-star-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIcon, ButtonComponent, TranslatePipe], viewProviders: [
|
|
30218
30316
|
provideIcons({ matStar, matStarBorder }),
|
|
30219
30317
|
provideNgIconsConfig({
|
|
30220
30318
|
size: '1.5em',
|
|
30221
30319
|
}),
|
|
30222
|
-
], template: "<div class=\"inline-block relative align-middle cursor-pointer\">\n <gn-ui-button\n [type]=\"'outline'\"\n [disabled]=\"disabled\"\n (buttonClick)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n disabled: !toggled || disabled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n <span *ngIf=\"displayLabel\" class=\"mx-2 text-[16px] content-center\"
|
|
30320
|
+
], template: "<div class=\"inline-block relative align-middle cursor-pointer\">\n <gn-ui-button\n [type]=\"'outline'\"\n [disabled]=\"disabled\"\n (buttonClick)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n disabled: !toggled || disabled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n <span *ngIf=\"displayLabel\" class=\"mx-2 text-[16px] content-center\">{{\n (toggled ? 'favorite.starToggle.remove' : 'favorite.starToggle.add')\n | translate\n }}</span>\n </gn-ui-button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n [style]=\"displayLabel ? 'left: 16px' : 'left: 50%'\"\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))}.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%;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"] }]
|
|
30223
30321
|
}], propDecorators: { toggled: [{
|
|
30224
30322
|
type: Input
|
|
30225
30323
|
}], disabled: [{
|
|
@@ -30352,8 +30450,8 @@ class ViewportIntersectorComponent {
|
|
|
30352
30450
|
constructor(vcRef) {
|
|
30353
30451
|
this.vcRef = vcRef;
|
|
30354
30452
|
this.isInViewport = new EventEmitter();
|
|
30355
|
-
this.entersViewport = this.isInViewport.pipe(filter((inViewport) => inViewport), map$1(() => undefined));
|
|
30356
|
-
this.exitsViewport = this.isInViewport.pipe(filter((inViewport) => !inViewport), map$1(() => undefined));
|
|
30453
|
+
this.entersViewport = this.isInViewport.pipe(filter$1((inViewport) => inViewport), map$1(() => undefined));
|
|
30454
|
+
this.exitsViewport = this.isInViewport.pipe(filter$1((inViewport) => !inViewport), map$1(() => undefined));
|
|
30357
30455
|
}
|
|
30358
30456
|
ngOnInit() {
|
|
30359
30457
|
const elToObserve = this.vcRef.element.nativeElement;
|
|
@@ -33939,7 +34037,7 @@ class MetadataInfoComponent {
|
|
|
33939
34037
|
return this.dateService.formatDateTime(date);
|
|
33940
34038
|
}
|
|
33941
34039
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataInfoComponent, deps: [{ token: DateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33942
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataInfoComponent, isStandalone: true, 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\n ghostClass=\"h-[178px]\"\n [showContent]=\"fieldReady('abstract')\"\n >\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div class=\"mb-6\">\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\n <p\n class=\"mt-6 mb-3 font-medium text-black text-sm\"\n translate\n *ngIf=\"!fieldReady('keywords') || metadata.keywords?.length\"\n >\n record.metadata.keywords\n </p>\n\n <gn-ui-content-ghost\n ghostClass=\"h-[31px] w-3/4\"\n [showContent]=\"fieldReady('keywords')\"\n >\n <div *ngIf=\"metadata.keywords?.length\">\n <div class=\"metadata-info-keywords sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.licenses ||\n metadata.legalConstraints ||\n metadata.securityConstraints ||\n metadata.otherConstraints\n \"\n [title]=\"'record.metadata.usage' | translate\"\n data-test=\"usage-panel\"\n>\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <span\n translate\n class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\"\n >\n record.metadata.otherConstraints\n </span>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n (metadata.kind === 'dataset' && metadata.lineage) ||\n metadata.resourceUpdated ||\n metadata.updateFrequency ||\n (metadata.kind === 'dataset' && metadata.status)\n \"\n [title]=\"'record.metadata.details' | translate\"\n data-test=\"details-panel\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.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]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <ng-icon\n class=\"!w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n name=\"matMailOutline\"\n ></ng-icon>\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.resourceCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourceCreated) }}\n </p>\n </div>\n <div *ngIf=\"metadata.resourcePublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourcePublished) }}\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.otherLanguages?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end,\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.kind !== 'dataset' && metadata.spatialExtents\"\n [title]=\"'service.metadata.spatialExtent' | translate\"\n data-test=\"spatial-extent-panel\"\n>\n <gn-ui-spatial-extent\n class=\"flex h-[271px] w-full rounded-lg border border-gray-100 mt-3 mb-6\"\n [spatialExtents]=\"metadata.spatialExtents\"\n ></gn-ui-spatial-extent>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'service.metadata.other' | translate\"\n data-test=\"other-panel\"\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 && formatDateTime(metadata.recordUpdated) }}\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.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n [clickable]=\"false\"\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</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 ng-icon{transform:scale(.8)}:host{--gn-ui-badge-background-color: var(--color-primary-white);--gn-ui-badge-text-color: var(--color-primary-darkest)}:host .metadata-info-keywords ::ng-deep gn-ui-badge:hover{--gn-ui-badge-text-color: white}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "iconColor", "collapsed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "component", type: SpatialExtentComponent, selector: "gn-ui-spatial-extent", inputs: ["spatialExtents"] }], viewProviders: [
|
|
34040
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataInfoComponent, isStandalone: true, 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\n ghostClass=\"h-[178px]\"\n [showContent]=\"fieldReady('abstract')\"\n >\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div class=\"mb-6\">\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\n <p\n class=\"mt-6 mb-3 font-medium text-black text-sm\"\n translate\n *ngIf=\"!fieldReady('keywords') || metadata.keywords?.length\"\n >\n record.metadata.keywords\n </p>\n\n <gn-ui-content-ghost\n ghostClass=\"h-[31px] w-3/4\"\n [showContent]=\"fieldReady('keywords')\"\n >\n <div *ngIf=\"metadata.keywords?.length\">\n <div class=\"metadata-info-keywords sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.licenses ||\n metadata.legalConstraints ||\n metadata.securityConstraints ||\n metadata.otherConstraints\n \"\n [title]=\"'record.metadata.usage' | translate\"\n data-test=\"usage-panel\"\n>\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <span\n translate\n class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\"\n >\n record.metadata.otherConstraints\n </span>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n (metadata.kind === 'dataset' && metadata.lineage) ||\n metadata.resourceUpdated ||\n metadata.updateFrequency ||\n (metadata.kind === 'dataset' && metadata.status)\n \"\n [title]=\"'record.metadata.details' | translate\"\n data-test=\"details-panel\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.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]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <ng-icon\n class=\"!w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n name=\"matMailOutline\"\n ></ng-icon>\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.resourceCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourceCreated) }}\n </p>\n </div>\n <div *ngIf=\"metadata.resourcePublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourcePublished) }}\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.otherLanguages?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end,\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.kind !== 'dataset' &&\n metadata.spatialExtents &&\n metadata.spatialExtents.length\n \"\n [title]=\"'service.metadata.spatialExtent' | translate\"\n data-test=\"spatial-extent-panel\"\n>\n <gn-ui-spatial-extent\n class=\"flex h-[271px] w-full rounded-lg border border-gray-100 mt-3 mb-6\"\n [spatialExtents]=\"metadata.spatialExtents\"\n ></gn-ui-spatial-extent>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'service.metadata.other' | translate\"\n data-test=\"other-panel\"\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 && formatDateTime(metadata.recordUpdated) }}\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.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n [clickable]=\"false\"\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</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 ng-icon{transform:scale(.8)}:host{--gn-ui-badge-background-color: var(--color-primary-white);--gn-ui-badge-text-color: var(--color-primary-darkest)}:host .metadata-info-keywords ::ng-deep gn-ui-badge:hover{--gn-ui-badge-text-color: white}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: MarkdownParserComponent, selector: "gn-ui-markdown-parser", inputs: ["textContent", "whitoutStyles"] }, { kind: "component", type: ExpandablePanelComponent, selector: "gn-ui-expandable-panel", inputs: ["title", "iconColor", "collapsed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: ContentGhostComponent, selector: "gn-ui-content-ghost", inputs: ["showContent", "ghostClass"] }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: MaxLinesComponent, selector: "gn-ui-max-lines", inputs: ["maxLines"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: GnUiLinkifyDirective, selector: "[gnUiLinkify]" }, { kind: "component", type: SpatialExtentComponent, selector: "gn-ui-spatial-extent", inputs: ["spatialExtents"] }], viewProviders: [
|
|
33943
34041
|
provideIcons({
|
|
33944
34042
|
matOpenInNew,
|
|
33945
34043
|
matMailOutline: matMailOutline$1,
|
|
@@ -33967,7 +34065,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
33967
34065
|
matOpenInNew,
|
|
33968
34066
|
matMailOutline: matMailOutline$1,
|
|
33969
34067
|
}),
|
|
33970
|
-
], template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost\n ghostClass=\"h-[178px]\"\n [showContent]=\"fieldReady('abstract')\"\n >\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div class=\"mb-6\">\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\n <p\n class=\"mt-6 mb-3 font-medium text-black text-sm\"\n translate\n *ngIf=\"!fieldReady('keywords') || metadata.keywords?.length\"\n >\n record.metadata.keywords\n </p>\n\n <gn-ui-content-ghost\n ghostClass=\"h-[31px] w-3/4\"\n [showContent]=\"fieldReady('keywords')\"\n >\n <div *ngIf=\"metadata.keywords?.length\">\n <div class=\"metadata-info-keywords sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.licenses ||\n metadata.legalConstraints ||\n metadata.securityConstraints ||\n metadata.otherConstraints\n \"\n [title]=\"'record.metadata.usage' | translate\"\n data-test=\"usage-panel\"\n>\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <span\n translate\n class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\"\n >\n record.metadata.otherConstraints\n </span>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n (metadata.kind === 'dataset' && metadata.lineage) ||\n metadata.resourceUpdated ||\n metadata.updateFrequency ||\n (metadata.kind === 'dataset' && metadata.status)\n \"\n [title]=\"'record.metadata.details' | translate\"\n data-test=\"details-panel\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.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]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <ng-icon\n class=\"!w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n name=\"matMailOutline\"\n ></ng-icon>\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.resourceCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourceCreated) }}\n </p>\n </div>\n <div *ngIf=\"metadata.resourcePublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourcePublished) }}\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.otherLanguages?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end,\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.kind !== 'dataset' && metadata.spatialExtents\"\n [title]=\"'service.metadata.spatialExtent' | translate\"\n data-test=\"spatial-extent-panel\"\n>\n <gn-ui-spatial-extent\n class=\"flex h-[271px] w-full rounded-lg border border-gray-100 mt-3 mb-6\"\n [spatialExtents]=\"metadata.spatialExtents\"\n ></gn-ui-spatial-extent>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'service.metadata.other' | translate\"\n data-test=\"other-panel\"\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 && formatDateTime(metadata.recordUpdated) }}\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.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n [clickable]=\"false\"\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</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 ng-icon{transform:scale(.8)}:host{--gn-ui-badge-background-color: var(--color-primary-white);--gn-ui-badge-text-color: var(--color-primary-darkest)}:host .metadata-info-keywords ::ng-deep gn-ui-badge:hover{--gn-ui-badge-text-color: white}\n"] }]
|
|
34068
|
+
], template: "<div class=\"mb-6 md-description sm:mb-4 sm:pr-16\">\n <gn-ui-content-ghost\n ghostClass=\"h-[178px]\"\n [showContent]=\"fieldReady('abstract')\"\n >\n <gn-ui-max-lines [maxLines]=\"6\" *ngIf=\"metadata.abstract\">\n <div class=\"mb-6\">\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\n <p\n class=\"mt-6 mb-3 font-medium text-black text-sm\"\n translate\n *ngIf=\"!fieldReady('keywords') || metadata.keywords?.length\"\n >\n record.metadata.keywords\n </p>\n\n <gn-ui-content-ghost\n ghostClass=\"h-[31px] w-3/4\"\n [showContent]=\"fieldReady('keywords')\"\n >\n <div *ngIf=\"metadata.keywords?.length\">\n <div class=\"metadata-info-keywords sm:pb-4 flex flex-wrap gap-2\">\n <gn-ui-badge\n class=\"inline-block lowercase\"\n (click)=\"onKeywordClick(keyword)\"\n [clickable]=\"true\"\n *ngFor=\"let keyword of metadata.keywords\"\n >{{ keyword.label }}</gn-ui-badge\n >\n </div>\n </div>\n </gn-ui-content-ghost>\n</div>\n\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.licenses ||\n metadata.legalConstraints ||\n metadata.securityConstraints ||\n metadata.otherConstraints\n \"\n [title]=\"'record.metadata.usage' | translate\"\n data-test=\"usage-panel\"\n>\n <div class=\"flex flex-col gap-[10px] mr-4 py-[12px] rounded text-gray-900\">\n <ng-container *ngFor=\"let license of licenses\">\n <div *ngIf=\"license.url; else noUrl\" class=\"text-primary\">\n <a\n [href]=\"license.url\"\n target=\"_blank\"\n class=\"cursor-pointer hover:underline transition-all\"\n >\n {{ license.text }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <ng-template #noUrl>\n <div class=\"text-primary\" gnUiLinkify>\n {{ license.text }}\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"legalConstraints.length\">\n <div class=\"mb-6\">\n <gn-ui-markdown-parser\n *ngFor=\"let constraint of legalConstraints\"\n [textContent]=\"constraint\"\n >\n </gn-ui-markdown-parser>\n </div>\n </ng-container>\n <ng-container *ngIf=\"otherConstraints.length\">\n <div gnUiLinkify *ngFor=\"let constraint of otherConstraints\">\n <span\n translate\n class=\"font-medium text-black text-sm mb-[2px] mt-[16px]\"\n >\n record.metadata.otherConstraints\n </span>\n <div class=\"mb-6\">\n <gn-ui-markdown-parser [textContent]=\"constraint\">\n </gn-ui-markdown-parser>\n </div>\n </div>\n </ng-container>\n\n <span class=\"noUsage\" *ngIf=\"!hasUsage\">\n {{ 'record.metadata.noUsage' | translate }}\n </span>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n (metadata.kind === 'dataset' && metadata.lineage) ||\n metadata.resourceUpdated ||\n metadata.updateFrequency ||\n (metadata.kind === 'dataset' && metadata.status)\n \"\n [title]=\"'record.metadata.details' | translate\"\n data-test=\"details-panel\"\n>\n <div *ngIf=\"metadata.lineage\" class=\"text-gray-900 flex flex-col mt-4 gap-2\">\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div class=\"flex flex-row gap-6 mt-5 mb-8\" *ngIf=\"resourceContact\">\n <div\n *ngIf=\"resourceContact.organization?.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]=\"resourceContact.organization.logoUrl.href\"\n fit=\"contain\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col gap-1\">\n <p class=\"text-sm font-medium\" translate>record.metadata.producer</p>\n <div\n class=\"text-primary font-title text-21 mr-2 cursor-pointer hover:underline\"\n data-cy=\"organization-name\"\n >\n {{ resourceContact.organization?.name }}\n </div>\n <div *ngIf=\"resourceContact.organization?.website\">\n <a\n [href]=\"resourceContact.organization.website\"\n target=\"_blank\"\n class=\"contact-website text-primary text-sm cursor-pointer hover:underline transition-all\"\n >{{ resourceContact.organization.website }}\n <ng-icon\n class=\"!w-[12px] !h-[12px] !text-[12px] opacity-75 shrink-0\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </a>\n </div>\n <div class=\"mt-4\" *ngIf=\"resourceContact.email\">\n <div class=\"flex\">\n <ng-icon\n class=\"!w-5 !h-5 !text-[20px] opacity-75 shrink-0\"\n name=\"matMailOutline\"\n ></ng-icon>\n <a\n *ngIf=\"resourceContact.email\"\n [href]=\"'mailto:' + resourceContact.email\"\n class=\"text-sm hover:underline ml-2\"\n target=\"_blank\"\n data-cy=\"contact-email\"\n >{{ resourceContact?.email }}</a\n >\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"py-6 px-6 rounded bg-gray-100 grid grid-cols-2 gap-y-6 gap-x-[20px] text-gray-700\"\n >\n <div *ngIf=\"metadata.resourceCreated\">\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourceCreated) }}\n </p>\n </div>\n <div *ngIf=\"metadata.resourcePublished\">\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1\">\n {{ formatDate(metadata.resourcePublished) }}\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.otherLanguages?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.languages</p>\n <div class=\"flex flex-row gap-1 flex-wrap\">\n <p\n class=\"text-primary font-medium\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div *ngIf=\"temporalExtent\">\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div class=\"flex flex-row gap-1 mb-1 text-primary font-medium\">\n <p\n *ngIf=\"temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{\n start: temporalExtent.start,\n end: temporalExtent.end,\n }\"\n >\n record.metadata.temporalExtent.fromDateToDate\n </p>\n <p\n *ngIf=\"temporalExtent.start && !temporalExtent.end\"\n translate\n [translateParams]=\"{ start: temporalExtent.start }\"\n >\n record.metadata.temporalExtent.sinceDate\n </p>\n <p\n *ngIf=\"!temporalExtent.start && temporalExtent.end\"\n translate\n [translateParams]=\"{ end: temporalExtent.end }\"\n >\n record.metadata.temporalExtent.untilDate\n </p>\n </div>\n </div>\n </div>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"\n metadata.kind !== 'dataset' &&\n metadata.spatialExtents &&\n metadata.spatialExtents.length\n \"\n [title]=\"'service.metadata.spatialExtent' | translate\"\n data-test=\"spatial-extent-panel\"\n>\n <gn-ui-spatial-extent\n class=\"flex h-[271px] w-full rounded-lg border border-gray-100 mt-3 mb-6\"\n [spatialExtents]=\"metadata.spatialExtents\"\n ></gn-ui-spatial-extent>\n</gn-ui-expandable-panel>\n<gn-ui-expandable-panel\n *ngIf=\"metadata.landingPage\"\n [title]=\"'service.metadata.other' | translate\"\n data-test=\"other-panel\"\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 && formatDateTime(metadata.recordUpdated) }}\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.topics?.length\">\n <p class=\"text-sm mb-1\" translate>record.metadata.topics</p>\n <div class=\"sm:pb-4 sm:pr-16\">\n <gn-ui-badge\n [clickable]=\"false\"\n class=\"inline-block mr-2 mb-2 lowercase\"\n *ngFor=\"let topic of metadata.topics\"\n >{{ topic }}</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 ng-icon{transform:scale(.8)}:host{--gn-ui-badge-background-color: var(--color-primary-white);--gn-ui-badge-text-color: var(--color-primary-darkest)}:host .metadata-info-keywords ::ng-deep gn-ui-badge:hover{--gn-ui-badge-text-color: white}\n"] }]
|
|
33971
34069
|
}], ctorParameters: () => [{ type: DateService }], propDecorators: { metadata: [{
|
|
33972
34070
|
type: Input
|
|
33973
34071
|
}], incomplete: [{
|
|
@@ -34170,7 +34268,7 @@ class RecordApiFormComponent {
|
|
|
34170
34268
|
this.limit$,
|
|
34171
34269
|
this.format$,
|
|
34172
34270
|
// only compute the url if the endpoint was created
|
|
34173
|
-
this.endpoint$.pipe(filter
|
|
34271
|
+
this.endpoint$.pipe(filter((endpoint) => !!endpoint)),
|
|
34174
34272
|
]).pipe(switchMap(([offset, limit, format]) => this.generateApiQueryUrl(offset, limit, format)));
|
|
34175
34273
|
this.noLimitChecked$ = this.limit$.pipe(map$2((limit) => limit === '-1' || limit === ''));
|
|
34176
34274
|
this.displayLimit$ = this.limit$.pipe(map$2((limit) => (limit !== '-1' ? limit : '')));
|
|
@@ -35320,7 +35418,11 @@ class ResultsHitsSearchKindComponent {
|
|
|
35320
35418
|
];
|
|
35321
35419
|
}
|
|
35322
35420
|
onSelectedValues(values) {
|
|
35323
|
-
const selectedValues = values.includes('all')
|
|
35421
|
+
const selectedValues = values.includes('all')
|
|
35422
|
+
? []
|
|
35423
|
+
: values.length > 1
|
|
35424
|
+
? [values[values.length - 1]]
|
|
35425
|
+
: values;
|
|
35324
35426
|
this.selectionChanged.emit(selectedValues);
|
|
35325
35427
|
}
|
|
35326
35428
|
isSelectedChoice(choiceValue) {
|
|
@@ -35330,7 +35432,7 @@ class ResultsHitsSearchKindComponent {
|
|
|
35330
35432
|
return this.selected.length === 0 && choiceValue === 'all';
|
|
35331
35433
|
}
|
|
35332
35434
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsHitsSearchKindComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35333
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsHitsSearchKindComponent, isStandalone: true, selector: "gn-ui-results-hits-search-kind", inputs: { selected: "selected", choices: "choices" }, outputs: { selectionChanged: "selectionChanged" }, usesOnChanges: true, ngImport: i0, template: "<gn-ui-inline-filter\n [choices]=\"availableChoices\"\n [selected]=\"selected\"\n (selectValues)=\"onSelectedValues($event)\"\n>\n <ng-template let-choice>\n <gn-ui-kind-badge\n [styling]=\"'custom'\"\n [kind]=\"choice.value\"\n [contentTemplate]=\"customTemplate\"\n class=\"gn-ui-btn-outline rounded-md py-2 px-2 border-gray-400 cursor-pointer focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors bg-transparent hover:text-primary-darker focus:text-primary-darker active:text-primary-black\"\n [ngClass]=\"{\n '!bg-primary-lightest hover:bg-primary-lightest':\n isSelectedChoice(choice.value) || isAllChoice(choice.value),\n }\"\n >\n <ng-template #customTemplate>\n {{ 'search.filters.recordKind.' + choice.value | translate
|
|
35435
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsHitsSearchKindComponent, isStandalone: true, selector: "gn-ui-results-hits-search-kind", inputs: { selected: "selected", choices: "choices" }, outputs: { selectionChanged: "selectionChanged" }, usesOnChanges: true, ngImport: i0, template: "<gn-ui-inline-filter\n [choices]=\"availableChoices\"\n [selected]=\"selected\"\n (selectValues)=\"onSelectedValues($event)\"\n>\n <ng-template let-choice>\n <gn-ui-kind-badge\n [styling]=\"'custom'\"\n [kind]=\"choice.value\"\n [contentTemplate]=\"customTemplate\"\n class=\"gn-ui-btn-outline rounded-md py-2 px-2 border-gray-400 cursor-pointer focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors bg-transparent hover:text-primary-darker focus:text-primary-darker active:text-primary-black\"\n [ngClass]=\"{\n '!bg-primary-lightest hover:bg-primary-lightest':\n isSelectedChoice(choice.value) || isAllChoice(choice.value),\n }\"\n >\n <ng-template #customTemplate>\n {{ 'search.filters.recordKind.' + choice.value | translate }}\n </ng-template>\n </gn-ui-kind-badge>\n </ng-template>\n</gn-ui-inline-filter>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InlineFilterComponent, selector: "gn-ui-inline-filter", inputs: ["choices", "selected"], outputs: ["selectValues"] }, { kind: "component", type: KindBadgeComponent, selector: "gn-ui-kind-badge", inputs: ["styling", "contentTemplate", "kind", "extraClass"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
35334
35436
|
}
|
|
35335
35437
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsHitsSearchKindComponent, decorators: [{
|
|
35336
35438
|
type: Component,
|
|
@@ -35339,7 +35441,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
35339
35441
|
InlineFilterComponent,
|
|
35340
35442
|
KindBadgeComponent,
|
|
35341
35443
|
TranslatePipe,
|
|
35342
|
-
], template: "<gn-ui-inline-filter\n [choices]=\"availableChoices\"\n [selected]=\"selected\"\n (selectValues)=\"onSelectedValues($event)\"\n>\n <ng-template let-choice>\n <gn-ui-kind-badge\n [styling]=\"'custom'\"\n [kind]=\"choice.value\"\n [contentTemplate]=\"customTemplate\"\n class=\"gn-ui-btn-outline rounded-md py-2 px-2 border-gray-400 cursor-pointer focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors bg-transparent hover:text-primary-darker focus:text-primary-darker active:text-primary-black\"\n [ngClass]=\"{\n '!bg-primary-lightest hover:bg-primary-lightest':\n isSelectedChoice(choice.value) || isAllChoice(choice.value),\n }\"\n >\n <ng-template #customTemplate>\n {{ 'search.filters.recordKind.' + choice.value | translate
|
|
35444
|
+
], template: "<gn-ui-inline-filter\n [choices]=\"availableChoices\"\n [selected]=\"selected\"\n (selectValues)=\"onSelectedValues($event)\"\n>\n <ng-template let-choice>\n <gn-ui-kind-badge\n [styling]=\"'custom'\"\n [kind]=\"choice.value\"\n [contentTemplate]=\"customTemplate\"\n class=\"gn-ui-btn-outline rounded-md py-2 px-2 border-gray-400 cursor-pointer focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors bg-transparent hover:text-primary-darker focus:text-primary-darker active:text-primary-black\"\n [ngClass]=\"{\n '!bg-primary-lightest hover:bg-primary-lightest':\n isSelectedChoice(choice.value) || isAllChoice(choice.value),\n }\"\n >\n <ng-template #customTemplate>\n {{ 'search.filters.recordKind.' + choice.value | translate }}\n </ng-template>\n </gn-ui-kind-badge>\n </ng-template>\n</gn-ui-inline-filter>\n" }]
|
|
35343
35445
|
}], propDecorators: { selected: [{
|
|
35344
35446
|
type: Input
|
|
35345
35447
|
}], choices: [{
|
|
@@ -35652,6 +35754,7 @@ class FavoriteStarComponent {
|
|
|
35652
35754
|
this.displayLabel = false;
|
|
35653
35755
|
this.displayCount = true;
|
|
35654
35756
|
this.isFavorite$ = this.favoritesService.myFavoritesUuid$.pipe(map$1((favorites) => favorites.indexOf(this.record.uniqueIdentifier) > -1));
|
|
35757
|
+
this.supportsAuthentication = this.platformService.supportsAuthentication();
|
|
35655
35758
|
this.isAnonymous$ = this.platformService.isAnonymous();
|
|
35656
35759
|
this.loading = false;
|
|
35657
35760
|
this.loginUrl = this.authService.loginUrl;
|
|
@@ -35661,22 +35764,24 @@ class FavoriteStarComponent {
|
|
|
35661
35764
|
})));
|
|
35662
35765
|
}
|
|
35663
35766
|
ngAfterViewInit() {
|
|
35664
|
-
this.
|
|
35665
|
-
.
|
|
35666
|
-
|
|
35667
|
-
|
|
35668
|
-
|
|
35669
|
-
|
|
35670
|
-
|
|
35671
|
-
|
|
35672
|
-
|
|
35673
|
-
|
|
35674
|
-
|
|
35675
|
-
|
|
35676
|
-
|
|
35677
|
-
|
|
35767
|
+
if (this.supportsAuthentication) {
|
|
35768
|
+
this.subscription = this.isAnonymous$
|
|
35769
|
+
.pipe(withLatestFrom(this.loginMessage$))
|
|
35770
|
+
.subscribe(([anonymous, loginMessage]) => {
|
|
35771
|
+
if (anonymous) {
|
|
35772
|
+
tippy(this.starToggleRef.nativeElement, {
|
|
35773
|
+
appendTo: () => document.body,
|
|
35774
|
+
content: loginMessage,
|
|
35775
|
+
allowHTML: true,
|
|
35776
|
+
interactive: true,
|
|
35777
|
+
zIndex: 60,
|
|
35778
|
+
maxWidth: 250,
|
|
35779
|
+
});
|
|
35780
|
+
}
|
|
35781
|
+
});
|
|
35782
|
+
}
|
|
35678
35783
|
this.countSubscription = this.favoritesService.myFavoritesUuid$
|
|
35679
|
-
.pipe(pairwise())
|
|
35784
|
+
.pipe(pairwise$1())
|
|
35680
35785
|
.subscribe(([oldFavs, newFavs]) => {
|
|
35681
35786
|
const editedFavs = (oldFavs.length < newFavs.length
|
|
35682
35787
|
? newFavs.slice(-1)
|
|
@@ -35693,8 +35798,12 @@ class FavoriteStarComponent {
|
|
|
35693
35798
|
});
|
|
35694
35799
|
}
|
|
35695
35800
|
ngOnDestroy() {
|
|
35696
|
-
this.subscription
|
|
35697
|
-
|
|
35801
|
+
if (this.subscription) {
|
|
35802
|
+
this.subscription.unsubscribe();
|
|
35803
|
+
}
|
|
35804
|
+
if (this.countSubscription) {
|
|
35805
|
+
this.countSubscription.unsubscribe();
|
|
35806
|
+
}
|
|
35698
35807
|
}
|
|
35699
35808
|
toggleFavorite(isFavorite) {
|
|
35700
35809
|
this.loading = true;
|
|
@@ -35753,8 +35862,8 @@ class ResultsListContainerComponent {
|
|
|
35753
35862
|
}
|
|
35754
35863
|
}), map$1((records) => !!records[0]?.extras.qualityScore));
|
|
35755
35864
|
this.error$ = this.facade.error$;
|
|
35756
|
-
this.errorCode$ = this.error$.pipe(filter((error) => error !== null), map$1((error) => error.code));
|
|
35757
|
-
this.errorMessage$ = this.error$.pipe(filter((error) => error !== null), map$1((error) => error.message));
|
|
35865
|
+
this.errorCode$ = this.error$.pipe(filter$1((error) => error !== null), map$1((error) => error.code));
|
|
35866
|
+
this.errorMessage$ = this.error$.pipe(filter$1((error) => error !== null), map$1((error) => error.message));
|
|
35758
35867
|
this.allowShowMore$ = combineLatest([
|
|
35759
35868
|
this.facade.isLoading$,
|
|
35760
35869
|
this.facade.currentPage$,
|
|
@@ -35833,7 +35942,7 @@ class FilterDropdownComponent {
|
|
|
35833
35942
|
this.searchFacade = searchFacade;
|
|
35834
35943
|
this.searchService = searchService;
|
|
35835
35944
|
this.fieldsService = fieldsService;
|
|
35836
|
-
this.selected$ = this.searchFacade.searchFilters$.pipe(switchMap((filters) => this.fieldsService.readFieldValuesFromFilters(filters)), map$1((fieldValues) => fieldValues[this.fieldName]), filter((selected) => !!selected), startWith$1([]), catchError(() => of([])));
|
|
35945
|
+
this.selected$ = this.searchFacade.searchFilters$.pipe(switchMap((filters) => this.fieldsService.readFieldValuesFromFilters(filters)), map$1((fieldValues) => fieldValues[this.fieldName]), filter$1((selected) => !!selected), startWith$1([]), catchError(() => of([])));
|
|
35837
35946
|
this.selectedDateRange$ = this.selected$.pipe(map$1((selectedDateRange) => selectedDateRange));
|
|
35838
35947
|
}
|
|
35839
35948
|
ngOnInit() {
|
|
@@ -36291,7 +36400,7 @@ class ResultsHitsContainerComponent {
|
|
|
36291
36400
|
this.fieldName = 'recordKind';
|
|
36292
36401
|
}
|
|
36293
36402
|
ngOnInit() {
|
|
36294
|
-
this.selected$ = this.searchFacade.searchFilters$.pipe(switchMap((filters) => this.fieldsService.readFieldValuesFromFilters(filters)), map$2((fieldValues) => fieldValues[this.fieldName]), filter
|
|
36403
|
+
this.selected$ = this.searchFacade.searchFilters$.pipe(switchMap((filters) => this.fieldsService.readFieldValuesFromFilters(filters)), map$2((fieldValues) => fieldValues[this.fieldName]), filter((selected) => !!selected), startWith([]), catchError$1(() => of([])));
|
|
36295
36404
|
this.filterChoices$ = (this.fieldsService.getAvailableValues(this.fieldName));
|
|
36296
36405
|
}
|
|
36297
36406
|
onSelectionChanged(values) {
|
|
@@ -36368,7 +36477,7 @@ class SortByComponent {
|
|
|
36368
36477
|
value: SortByEnum.POPULARITY.join(','),
|
|
36369
36478
|
},
|
|
36370
36479
|
];
|
|
36371
|
-
this.currentSortBy$ = this.facade.sortBy$.pipe(filter((sortBy) => !!sortBy), map$1((sortBy) => sortBy.join(',')));
|
|
36480
|
+
this.currentSortBy$ = this.facade.sortBy$.pipe(filter$1((sortBy) => !!sortBy), map$1((sortBy) => sortBy.join(',')));
|
|
36372
36481
|
}
|
|
36373
36482
|
ngOnInit() {
|
|
36374
36483
|
if (this.isQualitySortable) {
|
|
@@ -38534,7 +38643,7 @@ class DataTableComponent {
|
|
|
38534
38643
|
async readData() {
|
|
38535
38644
|
this.loading$.next(true);
|
|
38536
38645
|
// wait for properties to be read
|
|
38537
|
-
const properties = await firstValueFrom(this.properties$.pipe(filter
|
|
38646
|
+
const properties = await firstValueFrom(this.properties$.pipe(filter((p) => !!p)));
|
|
38538
38647
|
const propsWithoutGeom = properties.filter((p) => !p.toLowerCase().startsWith('geom'));
|
|
38539
38648
|
this.dataset_.select(...propsWithoutGeom);
|
|
38540
38649
|
try {
|
|
@@ -38785,8 +38894,8 @@ class ChartViewComponent {
|
|
|
38785
38894
|
this.yProperty$ = new BehaviorSubject(undefined);
|
|
38786
38895
|
this.chartType$ = new BehaviorSubject('bar');
|
|
38787
38896
|
this.chartConfig$ = combineLatest([
|
|
38788
|
-
this.xProperty$.pipe(filter((value) => value !== undefined)),
|
|
38789
|
-
this.yProperty$.pipe(filter((value) => value !== undefined)),
|
|
38897
|
+
this.xProperty$.pipe(filter$1((value) => value !== undefined)),
|
|
38898
|
+
this.yProperty$.pipe(filter$1((value) => value !== undefined)),
|
|
38790
38899
|
this.aggregation$,
|
|
38791
38900
|
this.chartType$,
|
|
38792
38901
|
]).pipe(map$1(([xProperty, yProperty, aggregation, chartType]) => ({
|
|
@@ -38805,7 +38914,7 @@ class ChartViewComponent {
|
|
|
38805
38914
|
{ label: 'chart.type.lineSmooth', value: 'line-interpolated' },
|
|
38806
38915
|
{ label: 'chart.type.pie', value: 'pie' },
|
|
38807
38916
|
];
|
|
38808
|
-
this.dataset$ = this.currentLink$.pipe(filter((link) => !!link), switchMap$1((link) => {
|
|
38917
|
+
this.dataset$ = this.currentLink$.pipe(filter$1((link) => !!link), switchMap$1((link) => {
|
|
38809
38918
|
this.error = null;
|
|
38810
38919
|
this.loading = true;
|
|
38811
38920
|
if (link.accessRestricted) {
|
|
@@ -38841,10 +38950,10 @@ class ChartViewComponent {
|
|
|
38841
38950
|
}));
|
|
38842
38951
|
this.chartData$ = combineLatest([
|
|
38843
38952
|
this.dataset$,
|
|
38844
|
-
this.xProperty$.pipe(filter((value) => value !== undefined)),
|
|
38845
|
-
this.yProperty$.pipe(filter((value) => value !== undefined)),
|
|
38953
|
+
this.xProperty$.pipe(filter$1((value) => value !== undefined)),
|
|
38954
|
+
this.yProperty$.pipe(filter$1((value) => value !== undefined)),
|
|
38846
38955
|
this.aggregation$,
|
|
38847
|
-
]).pipe(filter(([_, x, y]) => !!x || !!y), switchMap$1(([dataset, xProp, yProp, aggregation]) => {
|
|
38956
|
+
]).pipe(filter$1(([_, x, y]) => !!x || !!y), switchMap$1(([dataset, xProp, yProp, aggregation]) => {
|
|
38848
38957
|
const fieldAgg = aggregation === 'count' ? ['count'] : [aggregation, yProp];
|
|
38849
38958
|
return dataset
|
|
38850
38959
|
.groupBy(['distinct', xProp])
|
|
@@ -39194,9 +39303,9 @@ class MdViewFacade {
|
|
|
39194
39303
|
this.dataService = dataService;
|
|
39195
39304
|
this.isPresent$ = this.store.pipe(select(getMetadataUuid), map$1((uuid) => !!uuid));
|
|
39196
39305
|
this.isMetadataLoading$ = this.store.pipe(select(getMetadataIsLoading));
|
|
39197
|
-
this.metadata$ = this.store.pipe(select(getMetadata), filter((md) => !!md));
|
|
39306
|
+
this.metadata$ = this.store.pipe(select(getMetadata), filter$1((md) => !!md));
|
|
39198
39307
|
this.featureCatalog$ = this.store.pipe(select(getFeatureCatalog));
|
|
39199
|
-
this.isIncomplete$ = this.store.pipe(select(getMetadataIsIncomplete), filter((incomplete) => incomplete !== null));
|
|
39308
|
+
this.isIncomplete$ = this.store.pipe(select(getMetadataIsIncomplete), filter$1((incomplete) => incomplete !== null));
|
|
39200
39309
|
this.isHighUpdateFrequency$ = this.metadata$.pipe(map$1((record) => {
|
|
39201
39310
|
if (record.updateFrequency instanceof Object) {
|
|
39202
39311
|
return (record.updateFrequency.per === 'day' &&
|
|
@@ -39302,7 +39411,7 @@ class MdViewEffects {
|
|
|
39302
39411
|
}
|
|
39303
39412
|
return loadFullMetadataSuccess({ full: record });
|
|
39304
39413
|
}), catchError((error) => of(loadFullMetadataFailure({ otherError: error.message })))));
|
|
39305
|
-
this.loadFeatureCatalog$ = createEffect(() => this.actions$.pipe(ofType(loadFullMetadataSuccess), filter(({ full }) => full !== undefined), switchMap$1(({ full }) => this.recordsRepository.getFeatureCatalog(full)), map$1((featureCatalog) => loadFeatureCatalogSuccess({
|
|
39414
|
+
this.loadFeatureCatalog$ = createEffect(() => this.actions$.pipe(ofType(loadFullMetadataSuccess), filter$1(({ full }) => full !== undefined), switchMap$1(({ full }) => this.recordsRepository.getFeatureCatalog(full)), map$1((featureCatalog) => loadFeatureCatalogSuccess({
|
|
39306
39415
|
datasetCatalog: featureCatalog,
|
|
39307
39416
|
})), catchError((error) => of(loadFeatureCatalogFailure({
|
|
39308
39417
|
error: error.message,
|
|
@@ -40283,7 +40392,7 @@ class SourcesService {
|
|
|
40283
40392
|
this.sources$ = this.sourcesApiService.getSubPortals1().pipe(shareReplay$1());
|
|
40284
40393
|
}
|
|
40285
40394
|
getSourceLabel(uuid) {
|
|
40286
|
-
return this.sources$.pipe(map$1((sources) => sources.filter((source) => source.uuid === uuid)[0]), filter((source) => !!source), map$1((source) => source.label[toLang3(this.translateService.currentLang)]));
|
|
40395
|
+
return this.sources$.pipe(map$1((sources) => sources.filter((source) => source.uuid === uuid)[0]), filter$1((source) => !!source), map$1((source) => source.label[toLang3(this.translateService.currentLang)]));
|
|
40287
40396
|
}
|
|
40288
40397
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SourcesService, deps: [{ token: SourcesApiService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40289
40398
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SourcesService, providedIn: 'root' }); }
|
|
@@ -40849,9 +40958,9 @@ const CLASSIFICATION_SECTION = {
|
|
|
40849
40958
|
hidden: false,
|
|
40850
40959
|
fields: [RECORD_KEYWORDS_FIELD],
|
|
40851
40960
|
};
|
|
40852
|
-
const
|
|
40853
|
-
labelKey: marker('editor.record.form.section.
|
|
40854
|
-
descriptionKey: marker('editor.record.form.section.
|
|
40961
|
+
const TOPICS_SECTION = {
|
|
40962
|
+
labelKey: marker('editor.record.form.section.topics.label'),
|
|
40963
|
+
descriptionKey: marker('editor.record.form.section.topics.description'),
|
|
40855
40964
|
hidden: false,
|
|
40856
40965
|
fields: [RECORD_TOPICS_FIELD],
|
|
40857
40966
|
};
|
|
@@ -40889,7 +40998,7 @@ const DEFAULT_CONFIGURATION = {
|
|
|
40889
40998
|
sections: [
|
|
40890
40999
|
TITLE_SECTION,
|
|
40891
41000
|
CLASSIFICATION_SECTION,
|
|
40892
|
-
|
|
41001
|
+
TOPICS_SECTION,
|
|
40893
41002
|
ABOUT_SECTION,
|
|
40894
41003
|
GEOGRAPHICAL_COVERAGE_SECTION,
|
|
40895
41004
|
],
|
|
@@ -40953,70 +41062,76 @@ const SPATIAL_SCOPES = [
|
|
|
40953
41062
|
},
|
|
40954
41063
|
];
|
|
40955
41064
|
/************************************************************
|
|
40956
|
-
*************** INSPIRE
|
|
41065
|
+
*************** INSPIRE TOPICS **************
|
|
40957
41066
|
************************************************************
|
|
40958
41067
|
*/
|
|
40959
|
-
const
|
|
40960
|
-
{ value: 'biota', label: 'editor.record.form.inspire.biota' },
|
|
40961
|
-
{
|
|
41068
|
+
const INSPIRE_TOPICS = [
|
|
41069
|
+
{ value: 'biota', label: 'editor.record.form.topics.inspire.biota' },
|
|
41070
|
+
{
|
|
41071
|
+
value: 'boundaries',
|
|
41072
|
+
label: 'editor.record.form.topics.inspire.boundaries',
|
|
41073
|
+
},
|
|
40962
41074
|
{
|
|
40963
41075
|
value: 'climatologyMeteorologyAtmosphere',
|
|
40964
|
-
label: 'editor.record.form.inspire.climatology',
|
|
41076
|
+
label: 'editor.record.form.topics.inspire.climatology',
|
|
41077
|
+
},
|
|
41078
|
+
{ value: 'economy', label: 'editor.record.form.topics.inspire.economy' },
|
|
41079
|
+
{ value: 'elevation', label: 'editor.record.form.topics.inspire.elevation' },
|
|
41080
|
+
{
|
|
41081
|
+
value: 'environment',
|
|
41082
|
+
label: 'editor.record.form.topics.inspire.environnement',
|
|
40965
41083
|
},
|
|
40966
|
-
{ value: '
|
|
40967
|
-
{ value: 'elevation', label: 'editor.record.form.inspire.elevation' },
|
|
40968
|
-
{ value: 'environment', label: 'editor.record.form.inspire.environnement' },
|
|
40969
|
-
{ value: 'farming', label: 'editor.record.form.inspire.farming' },
|
|
41084
|
+
{ value: 'farming', label: 'editor.record.form.topics.inspire.farming' },
|
|
40970
41085
|
{
|
|
40971
41086
|
value: 'geoscientific information',
|
|
40972
|
-
label: 'editor.record.form.inspire.geoscientific',
|
|
41087
|
+
label: 'editor.record.form.topics.inspire.geoscientific',
|
|
40973
41088
|
},
|
|
40974
|
-
{ value: 'health', label: 'editor.record.form.inspire.health' },
|
|
41089
|
+
{ value: 'health', label: 'editor.record.form.topics.inspire.health' },
|
|
40975
41090
|
{
|
|
40976
41091
|
value: 'imageryBaseMapsEarthCover',
|
|
40977
|
-
label: 'editor.record.form.inspire.imagery',
|
|
41092
|
+
label: 'editor.record.form.topics.inspire.imagery',
|
|
40978
41093
|
},
|
|
40979
|
-
{ value: 'inlandWaters', label: 'editor.record.form.inspire.waters' },
|
|
41094
|
+
{ value: 'inlandWaters', label: 'editor.record.form.topics.inspire.waters' },
|
|
40980
41095
|
{
|
|
40981
41096
|
value: 'intelligenceMilitary',
|
|
40982
|
-
label: 'editor.record.form.inspire.intelligence',
|
|
41097
|
+
label: 'editor.record.form.topics.inspire.intelligence',
|
|
40983
41098
|
},
|
|
40984
|
-
{ value: 'Location', label: 'editor.record.form.inspire.location' },
|
|
40985
|
-
{ value: 'Oceans', label: 'editor.record.form.inspire.oceans' },
|
|
41099
|
+
{ value: 'Location', label: 'editor.record.form.topics.inspire.location' },
|
|
41100
|
+
{ value: 'Oceans', label: 'editor.record.form.topics.inspire.oceans' },
|
|
40986
41101
|
{
|
|
40987
41102
|
value: 'planningCadastre',
|
|
40988
|
-
label: 'editor.record.form.inspire.planning',
|
|
41103
|
+
label: 'editor.record.form.topics.inspire.planning',
|
|
40989
41104
|
},
|
|
40990
|
-
{ value: 'Society', label: 'editor.record.form.inspire.society' },
|
|
40991
|
-
{ value: 'Structure', label: 'editor.record.form.inspire.structure' },
|
|
41105
|
+
{ value: 'Society', label: 'editor.record.form.topics.inspire.society' },
|
|
41106
|
+
{ value: 'Structure', label: 'editor.record.form.topics.inspire.structure' },
|
|
40992
41107
|
{
|
|
40993
41108
|
value: 'Transportation',
|
|
40994
|
-
label: 'editor.record.form.inspire.transportation',
|
|
41109
|
+
label: 'editor.record.form.topics.inspire.transportation',
|
|
40995
41110
|
},
|
|
40996
41111
|
{
|
|
40997
41112
|
value: 'utilitiesCommunication',
|
|
40998
|
-
label: 'editor.record.form.inspire.utilities',
|
|
41113
|
+
label: 'editor.record.form.topics.inspire.utilities',
|
|
40999
41114
|
},
|
|
41000
41115
|
];
|
|
41001
|
-
marker('editor.record.form.inspire.biota');
|
|
41002
|
-
marker('editor.record.form.inspire.boundaries');
|
|
41003
|
-
marker('editor.record.form.inspire.climatology');
|
|
41004
|
-
marker('editor.record.form.inspire.economy');
|
|
41005
|
-
marker('editor.record.form.inspire.elevation');
|
|
41006
|
-
marker('editor.record.form.inspire.environnement');
|
|
41007
|
-
marker('editor.record.form.inspire.farming');
|
|
41008
|
-
marker('editor.record.form.inspire.geoscientific');
|
|
41009
|
-
marker('editor.record.form.inspire.health');
|
|
41010
|
-
marker('editor.record.form.inspire.imagery');
|
|
41011
|
-
marker('editor.record.form.inspire.intelligence');
|
|
41012
|
-
marker('editor.record.form.inspire.location');
|
|
41013
|
-
marker('editor.record.form.inspire.oceans');
|
|
41014
|
-
marker('editor.record.form.inspire.planning');
|
|
41015
|
-
marker('editor.record.form.inspire.society');
|
|
41016
|
-
marker('editor.record.form.inspire.structure');
|
|
41017
|
-
marker('editor.record.form.inspire.transportation');
|
|
41018
|
-
marker('editor.record.form.inspire.utilities');
|
|
41019
|
-
marker('editor.record.form.inspire.waters');
|
|
41116
|
+
marker('editor.record.form.topics.inspire.biota');
|
|
41117
|
+
marker('editor.record.form.topics.inspire.boundaries');
|
|
41118
|
+
marker('editor.record.form.topics.inspire.climatology');
|
|
41119
|
+
marker('editor.record.form.topics.inspire.economy');
|
|
41120
|
+
marker('editor.record.form.topics.inspire.elevation');
|
|
41121
|
+
marker('editor.record.form.topics.inspire.environnement');
|
|
41122
|
+
marker('editor.record.form.topics.inspire.farming');
|
|
41123
|
+
marker('editor.record.form.topics.inspire.geoscientific');
|
|
41124
|
+
marker('editor.record.form.topics.inspire.health');
|
|
41125
|
+
marker('editor.record.form.topics.inspire.imagery');
|
|
41126
|
+
marker('editor.record.form.topics.inspire.intelligence');
|
|
41127
|
+
marker('editor.record.form.topics.inspire.location');
|
|
41128
|
+
marker('editor.record.form.topics.inspire.oceans');
|
|
41129
|
+
marker('editor.record.form.topics.inspire.planning');
|
|
41130
|
+
marker('editor.record.form.topics.inspire.society');
|
|
41131
|
+
marker('editor.record.form.topics.inspire.structure');
|
|
41132
|
+
marker('editor.record.form.topics.inspire.transportation');
|
|
41133
|
+
marker('editor.record.form.topics.inspire.utilities');
|
|
41134
|
+
marker('editor.record.form.topics.inspire.waters');
|
|
41020
41135
|
|
|
41021
41136
|
const EDITOR_FEATURE_KEY = 'editor';
|
|
41022
41137
|
const initialEditorState = {
|
|
@@ -41130,7 +41245,7 @@ class EditorFacade {
|
|
|
41130
41245
|
this.record$ = this.store.pipe(select(selectRecord));
|
|
41131
41246
|
this.recordSource$ = this.store.pipe(select(selectRecordSource));
|
|
41132
41247
|
this.saving$ = this.store.pipe(select(selectRecordSaving));
|
|
41133
|
-
this.saveError$ = this.store.pipe(select(selectRecordSaveError), filter
|
|
41248
|
+
this.saveError$ = this.store.pipe(select(selectRecordSaveError), filter((error) => !!error));
|
|
41134
41249
|
this.saveSuccess$ = this.actions$.pipe(ofType(saveRecordSuccess));
|
|
41135
41250
|
this.changedSinceSave$ = this.store.pipe(select(selectRecordChangedSinceSave));
|
|
41136
41251
|
this.currentSections$ = this.store.pipe(select(selectRecordSections));
|
|
@@ -41290,7 +41405,7 @@ class EditorEffects {
|
|
|
41290
41405
|
record,
|
|
41291
41406
|
recordSource,
|
|
41292
41407
|
}))));
|
|
41293
|
-
this.checkHasChangesOnOpen$ = createEffect(() => this.actions$.pipe(ofType(openRecord), map$1(({ record }) => this.recordsRepository.recordHasDraft(record.uniqueIdentifier)), filter
|
|
41408
|
+
this.checkHasChangesOnOpen$ = createEffect(() => this.actions$.pipe(ofType(openRecord), map$1(({ record }) => this.recordsRepository.recordHasDraft(record.uniqueIdentifier)), filter((hasDraft) => hasDraft), map$1(() => markRecordAsChanged())));
|
|
41294
41409
|
this.hasRecordChangedSinceDraft$ = createEffect(() => this.actions$.pipe(ofType(hasRecordChangedSinceDraft), switchMap$1(({ record }) => this.editorService
|
|
41295
41410
|
.hasRecordChangedSinceDraft(record)
|
|
41296
41411
|
.pipe(map$1((changes) => hasRecordChangedSinceDraftSuccess({ changes }))))));
|
|
@@ -43125,46 +43240,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43125
43240
|
args: [{ selector: 'gn-ui-form-field-spatial-toggle', standalone: true, imports: [CommonModule, SwitchToggleComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-switch-toggle\n [options]=\"switchToggleOptions$ | async\"\n (selectedValue)=\"onSpatialScopeChange($event)\"\n extraClasses=\"grow text-sm\"\n></gn-ui-switch-toggle>\n" }]
|
|
43126
43241
|
}], ctorParameters: () => [{ type: EditorFacade }] });
|
|
43127
43242
|
|
|
43128
|
-
class
|
|
43129
|
-
set value(
|
|
43130
|
-
this.
|
|
43243
|
+
class FormFieldTopicsComponent {
|
|
43244
|
+
set value(topics) {
|
|
43245
|
+
this.topics = topics;
|
|
43131
43246
|
}
|
|
43132
43247
|
constructor(translateService) {
|
|
43133
43248
|
this.translateService = translateService;
|
|
43134
|
-
this.
|
|
43249
|
+
this.topics = [];
|
|
43135
43250
|
this.valueChange = new EventEmitter();
|
|
43136
|
-
this.
|
|
43251
|
+
this.availableTopics = INSPIRE_TOPICS.map((topic) => {
|
|
43137
43252
|
return {
|
|
43138
|
-
label: this.translateService.instant(
|
|
43139
|
-
value:
|
|
43253
|
+
label: this.translateService.instant(topic.label),
|
|
43254
|
+
value: topic.value,
|
|
43140
43255
|
};
|
|
43141
43256
|
});
|
|
43142
43257
|
}
|
|
43143
43258
|
handleItemSelection(selectedItems) {
|
|
43144
|
-
this.
|
|
43145
|
-
this.valueChange.emit(this.
|
|
43259
|
+
this.topics = selectedItems;
|
|
43260
|
+
this.valueChange.emit(this.topics);
|
|
43146
43261
|
}
|
|
43147
|
-
|
|
43148
|
-
this.
|
|
43149
|
-
this.valueChange.emit(this.
|
|
43262
|
+
removeTopic(topic) {
|
|
43263
|
+
this.topics = this.topics.filter((t) => t !== topic);
|
|
43264
|
+
this.valueChange.emit(this.topics);
|
|
43150
43265
|
}
|
|
43151
|
-
|
|
43152
|
-
const
|
|
43153
|
-
return
|
|
43266
|
+
getTranslatedTopic(topic) {
|
|
43267
|
+
const topicKey = this.availableTopics.find((avail) => avail.value === topic)?.label;
|
|
43268
|
+
return topicKey ? this.translateService.instant(topicKey) : '';
|
|
43154
43269
|
}
|
|
43155
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
43156
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type:
|
|
43270
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldTopicsComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43271
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldTopicsComponent, isStandalone: true, selector: "gn-ui-form-field-topics", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-col gap-4\">\n <gn-ui-dropdown-multiselect\n class=\"w-full\"\n [title]=\"'editor.record.form.topics.placeholder' | translate\"\n [maxRows]=\"6\"\n [selected]=\"topics\"\n [choices]=\"availableTopics || []\"\n [allowSearch]=\"true\"\n (selectValues)=\"handleItemSelection($event)\"\n >\n </gn-ui-dropdown-multiselect>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let topic of topics\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeTopic(topic)\"\n >{{ getTranslatedTopic(topic) }}\n </gn-ui-badge>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: DropdownMultiselectComponent, selector: "gn-ui-dropdown-multiselect", inputs: ["title", "choices", "selected", "allowSearch", "maxRows", "searchInputValue"], outputs: ["selectValues"] }] }); }
|
|
43157
43272
|
}
|
|
43158
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
43273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldTopicsComponent, decorators: [{
|
|
43159
43274
|
type: Component,
|
|
43160
|
-
args: [{ selector: 'gn-ui-form-field-
|
|
43275
|
+
args: [{ selector: 'gn-ui-form-field-topics', standalone: true, imports: [
|
|
43161
43276
|
CommonModule,
|
|
43162
43277
|
AutocompleteComponent,
|
|
43163
43278
|
NgIconComponent,
|
|
43164
43279
|
BadgeComponent,
|
|
43165
43280
|
TranslatePipe,
|
|
43166
43281
|
DropdownMultiselectComponent,
|
|
43167
|
-
], template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-col gap-4\">\n <gn-ui-dropdown-multiselect\n class=\"w-full\"\n [title]=\"'editor.record.form.
|
|
43282
|
+
], template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-col gap-4\">\n <gn-ui-dropdown-multiselect\n class=\"w-full\"\n [title]=\"'editor.record.form.topics.placeholder' | translate\"\n [maxRows]=\"6\"\n [selected]=\"topics\"\n [choices]=\"availableTopics || []\"\n [allowSearch]=\"true\"\n (selectValues)=\"handleItemSelection($event)\"\n >\n </gn-ui-dropdown-multiselect>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let topic of topics\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeTopic(topic)\"\n >{{ getTranslatedTopic(topic) }}\n </gn-ui-badge>\n </div>\n </div>\n</div>\n" }]
|
|
43168
43283
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { value: [{
|
|
43169
43284
|
type: Input
|
|
43170
43285
|
}], valueChange: [{
|
|
@@ -43208,7 +43323,7 @@ class FormFieldComponent {
|
|
|
43208
43323
|
get valueAsKeywords() {
|
|
43209
43324
|
return this.value;
|
|
43210
43325
|
}
|
|
43211
|
-
get
|
|
43326
|
+
get valueAsTopics() {
|
|
43212
43327
|
return this.value;
|
|
43213
43328
|
}
|
|
43214
43329
|
get valueAsConstraints() {
|
|
@@ -43221,7 +43336,7 @@ class FormFieldComponent {
|
|
|
43221
43336
|
return this.value;
|
|
43222
43337
|
}
|
|
43223
43338
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43224
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { uniqueIdentifier: "uniqueIdentifier", model: "model", modelSpecifier: "modelSpecifier", componentName: "componentName", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'topics'\">\n <gn-ui-form-field-inspire-theme\n [value]=\"valueAsInspireTheme\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-inspire-theme>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordLicences]=\"valueAsConstraints\"\n (recordLicencesChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["label", "recordLicences"], outputs: ["recordLicencesChange"] }, { kind: "component", type: FormFieldDateComponent, selector: "gn-ui-form-field-date", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "readonly", "invalid", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOverviewsComponent, selector: "gn-ui-form-field-overviews", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsForResourceComponent, selector: "gn-ui-form-field-contacts-for-resource", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineResourcesComponent, selector: "gn-ui-form-field-online-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineLinkResourcesComponent, selector: "gn-ui-form-field-online-link-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsComponent, selector: "gn-ui-form-field-contacts", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsComponent, selector: "gn-ui-form-field-constraints", inputs: ["label", "value", "constraintType"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsShortcutsComponent, selector: "gn-ui-form-field-constraints-shortcuts" }, { kind: "component", type: FormFieldSpatialToggleComponent, selector: "gn-ui-form-field-spatial-toggle" }, { kind: "component", type: FormFieldInspireThemeComponent, selector: "gn-ui-form-field-inspire-theme", inputs: ["value"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: i3$1.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
43339
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { uniqueIdentifier: "uniqueIdentifier", model: "model", modelSpecifier: "modelSpecifier", componentName: "componentName", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'topics'\">\n <gn-ui-form-field-topics\n [value]=\"valueAsTopics\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-topics>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordLicences]=\"valueAsConstraints\"\n (recordLicencesChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["label", "recordLicences"], outputs: ["recordLicencesChange"] }, { kind: "component", type: FormFieldDateComponent, selector: "gn-ui-form-field-date", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "readonly", "invalid", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOverviewsComponent, selector: "gn-ui-form-field-overviews", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsForResourceComponent, selector: "gn-ui-form-field-contacts-for-resource", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineResourcesComponent, selector: "gn-ui-form-field-online-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineLinkResourcesComponent, selector: "gn-ui-form-field-online-link-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsComponent, selector: "gn-ui-form-field-contacts", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsComponent, selector: "gn-ui-form-field-constraints", inputs: ["label", "value", "constraintType"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsShortcutsComponent, selector: "gn-ui-form-field-constraints-shortcuts" }, { kind: "component", type: FormFieldSpatialToggleComponent, selector: "gn-ui-form-field-spatial-toggle" }, { kind: "component", type: FormFieldTopicsComponent, selector: "gn-ui-form-field-topics", inputs: ["value"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: i3$1.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
43225
43340
|
}
|
|
43226
43341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
43227
43342
|
type: Component,
|
|
@@ -43246,9 +43361,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43246
43361
|
FormFieldConstraintsComponent,
|
|
43247
43362
|
FormFieldConstraintsShortcutsComponent,
|
|
43248
43363
|
FormFieldSpatialToggleComponent,
|
|
43249
|
-
|
|
43364
|
+
FormFieldTopicsComponent,
|
|
43250
43365
|
TextFieldModule,
|
|
43251
|
-
], template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'topics'\">\n <gn-ui-form-field-
|
|
43366
|
+
], template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'topics'\">\n <gn-ui-form-field-topics\n [value]=\"valueAsTopics\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-topics>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordLicences]=\"valueAsConstraints\"\n (recordLicencesChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n" }]
|
|
43252
43367
|
}], propDecorators: { uniqueIdentifier: [{
|
|
43253
43368
|
type: Input
|
|
43254
43369
|
}], model: [{
|
|
@@ -43777,7 +43892,7 @@ class RouterFacade {
|
|
|
43777
43892
|
this.routerService = routerService;
|
|
43778
43893
|
this.currentRoute$ = this.store.pipe(select(selectCurrentRoute));
|
|
43779
43894
|
this.pathParams$ = this.store.pipe(select(selectRouteParams));
|
|
43780
|
-
this.searchParams$ = this.currentRoute$.pipe(filter((route) => !!route), filter((route) => route.url[0]?.path.startsWith(ROUTER_ROUTE_SEARCH)), map$1((route) => route.queryParams), distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)), map$1(expandQueryParams));
|
|
43895
|
+
this.searchParams$ = this.currentRoute$.pipe(filter$1((route) => !!route), filter$1((route) => route.url[0]?.path.startsWith(ROUTER_ROUTE_SEARCH)), map$1((route) => route.queryParams), distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)), map$1(expandQueryParams));
|
|
43781
43896
|
this.routeMap = {
|
|
43782
43897
|
dataset: ROUTER_ROUTE_DATASET,
|
|
43783
43898
|
service: ROUTER_ROUTE_SERVICE,
|
|
@@ -43787,7 +43902,7 @@ class RouterFacade {
|
|
|
43787
43902
|
goToMetadata(metadata) {
|
|
43788
43903
|
const selectedRoute = this.routeMap[metadata.kind] || ROUTER_ROUTE_DATASET;
|
|
43789
43904
|
this.pathParams$
|
|
43790
|
-
.pipe(take(1), filter((params) => params.metadataUuid !== metadata.uniqueIdentifier))
|
|
43905
|
+
.pipe(take(1), filter$1((params) => params.metadataUuid !== metadata.uniqueIdentifier))
|
|
43791
43906
|
.subscribe(() => {
|
|
43792
43907
|
this.go({
|
|
43793
43908
|
path: `${selectedRoute}/${metadata.uniqueIdentifier}`,
|
|
@@ -43848,7 +43963,7 @@ class RouterEffects {
|
|
|
43848
43963
|
})), { dispatch: false });
|
|
43849
43964
|
this.syncSearchState$ = createEffect(() => this.facade.searchParams$.pipe(mergeMap((searchParams) => this.fieldsService
|
|
43850
43965
|
.buildFiltersFromFieldValues(searchParams)
|
|
43851
|
-
.pipe(map$1((filters) => [searchParams, filters]))), startWith([null, {}]), pairwise
|
|
43966
|
+
.pipe(map$1((filters) => [searchParams, filters]))), startWith([null, {}]), pairwise(), map$1(([[oldParams, oldFilters], [newParams, newFilters]]) => {
|
|
43852
43967
|
let sortBy = ROUTE_PARAMS.SORT in newParams
|
|
43853
43968
|
? sortByFromString(newParams[ROUTE_PARAMS.SORT])
|
|
43854
43969
|
: SortByEnum.CHANGE_DATE;
|
|
@@ -44061,5 +44176,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
44061
44176
|
* Generated bundle index. Do not edit.
|
|
44062
44177
|
*/
|
|
44063
44178
|
|
|
44064
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, ActionMenuComponent, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, CellPopinComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalLinkCardComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetItemComponent, FacetListComponent, FacetsContainerComponent, FavoriteStarComponent, FavoritesService, FeatureCatalogListComponent, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldInspireThemeComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GEONETWORK_UI_TAG_NAME, GEONETWORK_UI_VERSION, GeoDataBadgeComponent, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KindBadgeComponent, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MetadataQualityPanelComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PossibleResourceTypes, PossibleResourceTypesDefinition, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_DATASET_URL_TOKEN, RECORD_REUSE_URL_TOKEN, RECORD_SERVICE_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_REUSE, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordKindField, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, 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, SearchFeatureCatalogComponent, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, ServiceCapabilitiesComponent, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEBUG_CONFIG, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, TruncatedTextComponent, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getAllKeysValidator, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryBoundingBox, getGeometryFromGeoJSON, getGlobalConfig, getIsMobile, getJsonDataItemsProxy, getLayers, getLinkId, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReuseType, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, kindToCodeListValue, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, organizationsServiceFactory, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideI18n, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, toLang2, toLang3, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
44179
|
+
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, ActionMenuComponent, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, CellPopinComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DISABLE_AUTH, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalLinkCardComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetItemComponent, FacetListComponent, FacetsContainerComponent, FavoriteStarComponent, FavoritesService, FeatureCatalogListComponent, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldTopicsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GEONETWORK_UI_TAG_NAME, GEONETWORK_UI_VERSION, GeoDataBadgeComponent, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KindBadgeComponent, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MetadataQualityPanelComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PossibleResourceTypes, PossibleResourceTypesDefinition, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_DATASET_URL_TOKEN, RECORD_REUSE_URL_TOKEN, RECORD_SERVICE_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_REUSE, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordKindField, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, 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, SearchFeatureCatalogComponent, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, ServiceCapabilitiesComponent, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEBUG_CONFIG, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, TruncatedTextComponent, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, canEditRecord, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getAllKeysValidator, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryBoundingBox, getGeometryFromGeoJSON, getGlobalConfig, getIsMobile, getJsonDataItemsProxy, getLayers, getLinkId, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReuseType, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, handleScrollOnNavigation, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, kindToCodeListValue, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, organizationsServiceFactory, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideI18n, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, toLang2, toLang3, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
44065
44180
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|