geonetwork-ui 2.8.0-dev.83aaa1736 → 2.8.0-dev.8b715be88
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/index.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +3 -1
- package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.mjs +3 -3
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +25 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +7 -7
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +3 -2
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +10 -10
- package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +3 -2
- package/esm2022/libs/common/domain/src/index.mjs +3 -0
- package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +2 -1
- package/esm2022/libs/common/domain/src/lib/model/search/sort-by.model.mjs +6 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/index.mjs +2 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +3 -1
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +18 -7
- package/esm2022/libs/feature/dataviz/src/lib/stac-view/stac-view.component.mjs +51 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +23 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
- package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +13 -4
- package/esm2022/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.mjs +23 -8
- package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +14 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +5 -1
- package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +9 -7
- package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +8 -12
- package/esm2022/libs/ui/elements/src/index.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.mjs +37 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +2 -3
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +3 -1
- package/esm2022/libs/util/shared/src/lib/utils/sort-by.mjs +9 -6
- package/esm2022/translations/de.json +13 -3
- package/esm2022/translations/en.json +13 -4
- package/esm2022/translations/es.json +12 -2
- package/esm2022/translations/fr.json +13 -3
- package/esm2022/translations/it.json +14 -4
- package/esm2022/translations/nl.json +12 -2
- package/esm2022/translations/pt.json +12 -2
- package/esm2022/translations/sk.json +13 -3
- package/fesm2022/geonetwork-ui.mjs +340 -83
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.ts +1 -0
- package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +5 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +7 -7
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
- package/libs/common/domain/src/index.d.ts +3 -0
- package/libs/common/domain/src/index.d.ts.map +1 -0
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +7 -2
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/sort-by.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/feature/dataviz/src/index.d.ts +1 -0
- package/libs/feature/dataviz/src/index.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/stac-view/stac-view.component.d.ts +16 -0
- package/libs/feature/dataviz/src/lib/stac-view/stac-view.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +2 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts +3 -2
- package/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts +3 -2
- package/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts +28 -24
- package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts +2 -0
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts +3 -1
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts +4 -3
- package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +1 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.d.ts +8 -0
- package/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/sort-by.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.service+eaux-usees.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +5 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.service+napitswallonia.ts +1 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +27 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +13 -6
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +6 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -2
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +37 -36
- package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -2
- package/src/libs/common/domain/src/index.ts +2 -0
- package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -1
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +10 -1
- package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +5 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -1
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +5 -0
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +10 -0
- package/src/libs/feature/dataviz/src/index.ts +1 -0
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +1 -0
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +16 -5
- package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.css +0 -0
- package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.html +40 -0
- package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.ts +62 -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 +30 -0
- package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
- package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +7 -1
- package/src/libs/feature/record/src/lib/data-view-web-component/data-view-web-component.component.ts +23 -4
- package/src/libs/feature/record/src/lib/state/mdview.facade.ts +30 -1
- package/src/libs/feature/router/src/lib/default/router.service.ts +8 -0
- package/src/libs/feature/router/src/lib/default/state/router.effects.ts +6 -7
- package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +8 -12
- package/src/libs/ui/elements/src/index.ts +1 -0
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.css +0 -0
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.html +31 -0
- package/src/libs/ui/elements/src/lib/metadata-doi/metadata-doi.component.ts +30 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +56 -14
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +4 -2
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +2 -0
- package/src/libs/util/shared/src/lib/utils/sort-by.ts +8 -5
- package/translations/de.json +13 -3
- package/translations/en.json +13 -4
- package/translations/es.json +12 -2
- package/translations/fr.json +13 -3
- package/translations/it.json +14 -4
- package/translations/nl.json +12 -2
- package/translations/pt.json +12 -2
- package/translations/sk.json +13 -3
- package/src/libs/common/domain/src/lib/index.ts +0 -2
|
@@ -15,7 +15,7 @@ import { TranslateCompiler, TranslateLoader, TranslateDefaultParser, TranslatePa
|
|
|
15
15
|
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
|
|
16
16
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
17
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,
|
|
18
|
+
import { of, map as map$2, lastValueFrom, fromEvent, startWith, shareReplay, filter, pairwise, switchMap, Subject, 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';
|
|
@@ -31,7 +31,7 @@ import { queryDataGouvFr, queryGeonames, queryGeoadmin } from '@geospatial-sdk/g
|
|
|
31
31
|
import { FeaturesClickEventType, FeaturesHoverEventType, MapClickEventType, SourceLoadErrorType, computeMapContextDiff, createViewFromLayer } from '@geospatial-sdk/core';
|
|
32
32
|
import { listen, createMapFromContext, applyContextDiffToMap } from '@geospatial-sdk/openlayers';
|
|
33
33
|
import { provideIcons, provideNgIconsConfig, NgIconComponent, NgIcon } from '@ng-icons/core';
|
|
34
|
-
import { matSwipeOutline, matErrorOutlineOutline, matComputerOutline, matLocationSearchingOutline, matCallOutline, matLocationOnOutline, matMailOutline as matMailOutline$1, matInfoOutline, matWarningAmberOutline, matCloseOutline, matSendOutline, matMapOutline, matCloudDownloadOutline, matHomeWorkOutline, matLayersOutline, matAddCircleOutlineOutline, matMoreHorizOutline } from '@ng-icons/material-icons/outline';
|
|
34
|
+
import { matSwipeOutline, matErrorOutlineOutline, matComputerOutline, matLocationSearchingOutline, matCallOutline, matLocationOnOutline, matMailOutline as matMailOutline$1, matInfoOutline, matWarningAmberOutline, matCloseOutline, matSendOutline, matMapOutline, matCloudDownloadOutline, matHomeWorkOutline, matLayersOutline, matAddCircleOutlineOutline, matDeleteOutline, matMoreHorizOutline } from '@ng-icons/material-icons/outline';
|
|
35
35
|
import { createLegendFromLayer } from '@geospatial-sdk/legend';
|
|
36
36
|
import { defaults, DragPan, MouseWheelZoom } from 'ol/interaction';
|
|
37
37
|
import { mouseOnly, noModifierKeys, primaryAction, platformModifierKeyOnly } from 'ol/events/condition';
|
|
@@ -668,6 +668,8 @@ function matchProtocol(protocol) {
|
|
|
668
668
|
return 'GPFDL';
|
|
669
669
|
if (/DB:POSTGIS/i.test(protocol))
|
|
670
670
|
return 'postgis';
|
|
671
|
+
if (/stac\W*items/i.test(protocol))
|
|
672
|
+
return 'stac';
|
|
671
673
|
return 'other';
|
|
672
674
|
}
|
|
673
675
|
function matchMimeType(format) {
|
|
@@ -917,6 +919,7 @@ marker('record.metadata.api.accessServiceProtocol.GPFDL');
|
|
|
917
919
|
marker('record.metadata.api.accessServiceProtocol.tms');
|
|
918
920
|
marker('record.metadata.api.accessServiceProtocol.maplibre-style');
|
|
919
921
|
marker('record.metadata.api.accessServiceProtocol.postgis');
|
|
922
|
+
marker('record.metadata.api.accessServiceProtocol.stac');
|
|
920
923
|
marker('record.metadata.api.accessServiceProtocol.other');
|
|
921
924
|
|
|
922
925
|
function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
|
|
@@ -1577,7 +1580,8 @@ function readDefaultLanguage$2(rootEl) {
|
|
|
1577
1580
|
return pipe(findChildElement('gmd:language', false), findChildElement('lan:LanguageCode'), readAttribute('codeListValue'), map((lang) => (lang ? toLang2(lang.toLowerCase()) : null)))(rootEl);
|
|
1578
1581
|
}
|
|
1579
1582
|
function readResourceIdentifier(rootEl) {
|
|
1580
|
-
|
|
1583
|
+
const code = pipe(findIdentification(), findNestedElement('gmd:citation', 'gmd:CI_Citation', 'gmd:identifier', 'gmd:MD_Identifier', 'gmd:code'), extractCharacterString())(rootEl);
|
|
1584
|
+
return code ? [{ code }] : [];
|
|
1581
1585
|
}
|
|
1582
1586
|
|
|
1583
1587
|
function writeLocalizedElement(writeFn, text, translations, defaultLanguage) {
|
|
@@ -2083,8 +2087,9 @@ function writeDefaultLanguage$1(record, rootEl) {
|
|
|
2083
2087
|
return pipe(findNestedChildOrCreate('gmd:language', 'gmd:LanguageCode'), writeAttribute('codeList', 'http://www.loc.gov/standards/iso639-2/'), writeAttribute('codeListValue', lang3))(rootEl);
|
|
2084
2088
|
}
|
|
2085
2089
|
function writeResourceIdentifier(record, rootEl) {
|
|
2086
|
-
|
|
2087
|
-
|
|
2090
|
+
const firstIdentifier = record.resourceIdentifiers?.[0]?.code;
|
|
2091
|
+
pipe(findOrCreateIdentification(), findNestedChildOrCreate('gmd:citation', 'gmd:CI_Citation'), removeChildrenByName('gmd:identifier'), firstIdentifier
|
|
2092
|
+
? pipe(createNestedChild('gmd:identifier', 'gmd:MD_Identifier', 'gmd:code'), writeCharacterString(firstIdentifier))
|
|
2088
2093
|
: noop)(rootEl);
|
|
2089
2094
|
}
|
|
2090
2095
|
|
|
@@ -2098,7 +2103,7 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2098
2103
|
recordUpdated: readRecordUpdated$2,
|
|
2099
2104
|
recordCreated: () => undefined, // not supported in ISO19139
|
|
2100
2105
|
recordPublished: () => undefined, // not supported in ISO19139
|
|
2101
|
-
|
|
2106
|
+
resourceIdentifiers: readResourceIdentifier,
|
|
2102
2107
|
resourceUpdated: readResourceUpdated$1,
|
|
2103
2108
|
resourceCreated: readResourceCreated$1,
|
|
2104
2109
|
resourcePublished: readResourcePublished,
|
|
@@ -2135,7 +2140,7 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2135
2140
|
recordUpdated: writeRecordUpdated$1,
|
|
2136
2141
|
recordCreated: () => undefined, // not supported in ISO19139
|
|
2137
2142
|
recordPublished: () => undefined, // not supported in ISO19139
|
|
2138
|
-
|
|
2143
|
+
resourceIdentifiers: writeResourceIdentifier,
|
|
2139
2144
|
resourceUpdated: writeResourceUpdated$1,
|
|
2140
2145
|
resourceCreated: writeResourceCreated$1,
|
|
2141
2146
|
resourcePublished: writeResourcePublished$1,
|
|
@@ -2236,11 +2241,11 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2236
2241
|
const onlineResources = this.readers['onlineResources'](rootEl, tr);
|
|
2237
2242
|
const otherLanguages = this.readers['otherLanguages'](rootEl, tr);
|
|
2238
2243
|
const defaultLanguage = this.readers['defaultLanguage'](rootEl, tr);
|
|
2239
|
-
const
|
|
2244
|
+
const resourceIdentifiers = this.readers['resourceIdentifiers'](rootEl, tr);
|
|
2240
2245
|
const spatialExtents = this.readers['spatialExtents'](rootEl, tr);
|
|
2241
2246
|
return {
|
|
2242
2247
|
uniqueIdentifier,
|
|
2243
|
-
...(
|
|
2248
|
+
...(resourceIdentifiers?.length > 0 && { resourceIdentifiers }),
|
|
2244
2249
|
kind,
|
|
2245
2250
|
otherLanguages,
|
|
2246
2251
|
defaultLanguage,
|
|
@@ -2368,8 +2373,8 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2368
2373
|
this.writers['otherConstraints'](record, rootEl);
|
|
2369
2374
|
fieldChanged('onlineResources') &&
|
|
2370
2375
|
this.writers['onlineResources'](record, rootEl);
|
|
2371
|
-
fieldChanged('
|
|
2372
|
-
this.writers['
|
|
2376
|
+
fieldChanged('resourceIdentifiers') &&
|
|
2377
|
+
this.writers['resourceIdentifiers'](record, rootEl);
|
|
2373
2378
|
if (record.kind === 'dataset') {
|
|
2374
2379
|
fieldChanged('status') && this.writers['status'](record, rootEl);
|
|
2375
2380
|
fieldChanged('updateFrequency') &&
|
|
@@ -3316,7 +3321,7 @@ class DcatApConverter extends BaseConverter {
|
|
|
3316
3321
|
spatialExtents: readSpatialExtents,
|
|
3317
3322
|
keywords: readKeywords,
|
|
3318
3323
|
topics: readTopics,
|
|
3319
|
-
|
|
3324
|
+
resourceIdentifiers: () => undefined,
|
|
3320
3325
|
recordUpdated: readRecordUpdated,
|
|
3321
3326
|
recordCreated: readRecordCreated,
|
|
3322
3327
|
resourceUpdated: readResourceUpdated,
|
|
@@ -3352,7 +3357,7 @@ class DcatApConverter extends BaseConverter {
|
|
|
3352
3357
|
recordUpdated: () => undefined,
|
|
3353
3358
|
recordCreated: () => undefined,
|
|
3354
3359
|
recordPublished: () => undefined,
|
|
3355
|
-
|
|
3360
|
+
resourceIdentifiers: () => undefined,
|
|
3356
3361
|
resourceUpdated: () => undefined,
|
|
3357
3362
|
resourceCreated: () => undefined,
|
|
3358
3363
|
resourcePublished: () => undefined,
|
|
@@ -19163,6 +19168,7 @@ var de = {
|
|
|
19163
19168
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
19164
19169
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
19165
19170
|
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
19171
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
19166
19172
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
19167
19173
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
19168
19174
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -19204,13 +19210,14 @@ var de = {
|
|
|
19204
19210
|
"record.metadata.contact": "Kontakt",
|
|
19205
19211
|
"record.metadata.creation": "Erstellungsdatum",
|
|
19206
19212
|
"record.metadata.details": "Über die Daten",
|
|
19213
|
+
"record.metadata.doi.copy": "",
|
|
19214
|
+
"record.metadata.doi.open": "",
|
|
19207
19215
|
"record.metadata.download": "Downloads",
|
|
19208
19216
|
"record.metadata.feature.catalog": "",
|
|
19209
19217
|
"record.metadata.formats": "Formate",
|
|
19210
19218
|
"record.metadata.isGeographical": "Geographischer Datensatz",
|
|
19211
19219
|
"record.metadata.keywords": "Stichworte",
|
|
19212
19220
|
"record.metadata.languages": "Sprachen",
|
|
19213
|
-
"record.metadata.lastUpdate": "Zuletzt aktualisiert am {date}",
|
|
19214
19221
|
"record.metadata.link.postgis.table": "",
|
|
19215
19222
|
"record.metadata.link.postgis.tooltip": "",
|
|
19216
19223
|
"record.metadata.linked.datasets": "Verknüpfte Datensätze",
|
|
@@ -19253,6 +19260,9 @@ var de = {
|
|
|
19253
19260
|
"record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
|
|
19254
19261
|
"record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
|
|
19255
19262
|
"record.metadata.related": "Entdecken Sie den Katalog",
|
|
19263
|
+
"record.metadata.resourceCreated": "Erstellt am {date}",
|
|
19264
|
+
"record.metadata.resourcePublished": "Veröffentlicht am {date}",
|
|
19265
|
+
"record.metadata.resourceUpdated": "Zuletzt aktualisiert am {date}",
|
|
19256
19266
|
"record.metadata.ressources.and.links": "Ressourcen und Links",
|
|
19257
19267
|
"record.metadata.sheet": "Weitere Informationen verfügbar unter:",
|
|
19258
19268
|
"record.metadata.status": "Status",
|
|
@@ -19265,8 +19275,9 @@ var de = {
|
|
|
19265
19275
|
"record.metadata.title": "Titel",
|
|
19266
19276
|
"record.metadata.topics": "Kategorien",
|
|
19267
19277
|
"record.metadata.uniqueId": "Eindeutige Kennung",
|
|
19278
|
+
"record.metadata.update": "Aktualisierungsdatum",
|
|
19268
19279
|
"record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
|
|
19269
|
-
"record.metadata.updatedOn": "
|
|
19280
|
+
"record.metadata.updatedOn": "Informationen geändert am",
|
|
19270
19281
|
"record.metadata.usage": "Nutzung und Einschränkungen",
|
|
19271
19282
|
"record.metadata.userFeedbacks": "",
|
|
19272
19283
|
"record.metadata.userFeedbacks.anonymousUser": "",
|
|
@@ -19281,6 +19292,7 @@ var de = {
|
|
|
19281
19292
|
"record.tab.chart": "Diagramm",
|
|
19282
19293
|
"record.tab.data": "Tabelle",
|
|
19283
19294
|
"record.tab.map": "Karte",
|
|
19295
|
+
"record.tab.stac": "",
|
|
19284
19296
|
"record.was.created.time": "erstellte diesen Ressource {time}",
|
|
19285
19297
|
records: records$7,
|
|
19286
19298
|
"results.layout.selectOne": "Layout auswählen",
|
|
@@ -19289,7 +19301,6 @@ var de = {
|
|
|
19289
19301
|
"results.records.hits.found": "{hits, plural, =0{Keine Ressource entsprechen der angegebenen Suche.} one{1 Ressource gefunden.} other{{hits} Ressourcen gefunden.}}",
|
|
19290
19302
|
"results.records.hits.selected": "{ amount } ausgewählt",
|
|
19291
19303
|
"results.showMore": "Mehr Ergebnisse anzeigen...",
|
|
19292
|
-
"results.sortBy.changeDate": "",
|
|
19293
19304
|
"results.sortBy.dateStamp": "Neueste",
|
|
19294
19305
|
"results.sortBy.popularity": "Beliebtheit",
|
|
19295
19306
|
"results.sortBy.qualityScore": "Fertigstellungsanzeige",
|
|
@@ -19373,6 +19384,10 @@ var de = {
|
|
|
19373
19384
|
"service.metadata.spatialExtent": "",
|
|
19374
19385
|
"share.tab.permalink": "Teilen",
|
|
19375
19386
|
"share.tab.webComponent": "Integrieren",
|
|
19387
|
+
"stac.filter.from": "",
|
|
19388
|
+
"stac.filter.period": "",
|
|
19389
|
+
"stac.filter.reset": "",
|
|
19390
|
+
"stac.filter.to": "",
|
|
19376
19391
|
"table.loading.data": "Daten werden geladen...",
|
|
19377
19392
|
"table.object.count": "Objekte in diesem Datensatz",
|
|
19378
19393
|
"table.paginator.firstPage": "Erste Seite",
|
|
@@ -19640,7 +19655,6 @@ var en = {
|
|
|
19640
19655
|
"editor.record.form.topics.inspire.intelligence": "Intelligence / Military",
|
|
19641
19656
|
"editor.record.form.topics.inspire.location": "Location",
|
|
19642
19657
|
"editor.record.form.topics.inspire.oceans": "Oceans",
|
|
19643
|
-
"editor.record.form.topics.inspire.placeholder": "Select an INSPIRE theme",
|
|
19644
19658
|
"editor.record.form.topics.inspire.planning": "Planning / Cadastre",
|
|
19645
19659
|
"editor.record.form.topics.inspire.society": "Society",
|
|
19646
19660
|
"editor.record.form.topics.inspire.structure": "Structure",
|
|
@@ -19819,6 +19833,7 @@ var en = {
|
|
|
19819
19833
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "ogcFeatures",
|
|
19820
19834
|
"record.metadata.api.accessServiceProtocol.other": "other",
|
|
19821
19835
|
"record.metadata.api.accessServiceProtocol.postgis": "PostGIS",
|
|
19836
|
+
"record.metadata.api.accessServiceProtocol.stac": "STAC",
|
|
19822
19837
|
"record.metadata.api.accessServiceProtocol.tms": "tms",
|
|
19823
19838
|
"record.metadata.api.accessServiceProtocol.wfs": "wfs",
|
|
19824
19839
|
"record.metadata.api.accessServiceProtocol.wms": "wms",
|
|
@@ -19860,13 +19875,14 @@ var en = {
|
|
|
19860
19875
|
"record.metadata.contact": "Contact",
|
|
19861
19876
|
"record.metadata.creation": "Date of creation",
|
|
19862
19877
|
"record.metadata.details": "About the data",
|
|
19878
|
+
"record.metadata.doi.copy": "Copy DOI",
|
|
19879
|
+
"record.metadata.doi.open": "Open DOI link",
|
|
19863
19880
|
"record.metadata.download": "Downloads",
|
|
19864
19881
|
"record.metadata.feature.catalog": "Feature catalog",
|
|
19865
19882
|
"record.metadata.formats": "Formats",
|
|
19866
19883
|
"record.metadata.isGeographical": "Geographical dataset",
|
|
19867
19884
|
"record.metadata.keywords": "Keywords",
|
|
19868
19885
|
"record.metadata.languages": "Languages",
|
|
19869
|
-
"record.metadata.lastUpdate": "Last updated on {date}",
|
|
19870
19886
|
"record.metadata.link.postgis.table": "table :",
|
|
19871
19887
|
"record.metadata.link.postgis.tooltip": "PostGIS resources do not have access links",
|
|
19872
19888
|
"record.metadata.linked.datasets": "Associated datasets",
|
|
@@ -19909,6 +19925,9 @@ var en = {
|
|
|
19909
19925
|
"record.metadata.quality.updateFrequency.failed": "Update frequency is not specified",
|
|
19910
19926
|
"record.metadata.quality.updateFrequency.success": "Update frequency is specified",
|
|
19911
19927
|
"record.metadata.related": "Explore the catalog",
|
|
19928
|
+
"record.metadata.resourceCreated": "Created on {date}",
|
|
19929
|
+
"record.metadata.resourcePublished": "Published on {date}",
|
|
19930
|
+
"record.metadata.resourceUpdated": "Last updated on {date}",
|
|
19912
19931
|
"record.metadata.ressources.and.links": "Resources and links",
|
|
19913
19932
|
"record.metadata.sheet": "Original metadata",
|
|
19914
19933
|
"record.metadata.status": "Status",
|
|
@@ -19921,8 +19940,9 @@ var en = {
|
|
|
19921
19940
|
"record.metadata.title": "Title",
|
|
19922
19941
|
"record.metadata.topics": "Categories",
|
|
19923
19942
|
"record.metadata.uniqueId": "Unique Identifier",
|
|
19943
|
+
"record.metadata.update": "Date of update",
|
|
19924
19944
|
"record.metadata.updateFrequency": "Data Update Frequency",
|
|
19925
|
-
"record.metadata.updatedOn": "
|
|
19945
|
+
"record.metadata.updatedOn": "Metadata modified on",
|
|
19926
19946
|
"record.metadata.usage": "License and Conditions",
|
|
19927
19947
|
"record.metadata.userFeedbacks": "Questions / Answers",
|
|
19928
19948
|
"record.metadata.userFeedbacks.anonymousUser": "In order to leave a comment, please log in.",
|
|
@@ -19937,6 +19957,7 @@ var en = {
|
|
|
19937
19957
|
"record.tab.chart": "Chart",
|
|
19938
19958
|
"record.tab.data": "Table",
|
|
19939
19959
|
"record.tab.map": "Map",
|
|
19960
|
+
"record.tab.stac": "STAC",
|
|
19940
19961
|
"record.was.created.time": "created this record {time}",
|
|
19941
19962
|
records: records$6,
|
|
19942
19963
|
"results.layout.selectOne": "Results layout",
|
|
@@ -19945,7 +19966,6 @@ var en = {
|
|
|
19945
19966
|
"results.records.hits.found": "{hits, plural, =0{No record match the specified search.} one{1 record found.} other{{hits} records found.}}",
|
|
19946
19967
|
"results.records.hits.selected": "{ amount } selected",
|
|
19947
19968
|
"results.showMore": "Show more results...",
|
|
19948
|
-
"results.sortBy.changeDate": "Last modification",
|
|
19949
19969
|
"results.sortBy.dateStamp": "Newest",
|
|
19950
19970
|
"results.sortBy.popularity": "Popularity",
|
|
19951
19971
|
"results.sortBy.qualityScore": "Completion score",
|
|
@@ -20029,6 +20049,10 @@ var en = {
|
|
|
20029
20049
|
"service.metadata.spatialExtent": "Spatial extent",
|
|
20030
20050
|
"share.tab.permalink": "Share",
|
|
20031
20051
|
"share.tab.webComponent": "Integrate",
|
|
20052
|
+
"stac.filter.from": "From",
|
|
20053
|
+
"stac.filter.period": "Period",
|
|
20054
|
+
"stac.filter.reset": "Reset filters",
|
|
20055
|
+
"stac.filter.to": "To",
|
|
20032
20056
|
"table.loading.data": "Loading data...",
|
|
20033
20057
|
"table.object.count": "Objects in this dataset",
|
|
20034
20058
|
"table.paginator.firstPage": "First page",
|
|
@@ -20474,6 +20498,7 @@ var es = {
|
|
|
20474
20498
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
20475
20499
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
20476
20500
|
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
20501
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
20477
20502
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
20478
20503
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
20479
20504
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -20515,13 +20540,14 @@ var es = {
|
|
|
20515
20540
|
"record.metadata.contact": "",
|
|
20516
20541
|
"record.metadata.creation": "",
|
|
20517
20542
|
"record.metadata.details": "",
|
|
20543
|
+
"record.metadata.doi.copy": "",
|
|
20544
|
+
"record.metadata.doi.open": "",
|
|
20518
20545
|
"record.metadata.download": "",
|
|
20519
20546
|
"record.metadata.feature.catalog": "",
|
|
20520
20547
|
"record.metadata.formats": "",
|
|
20521
20548
|
"record.metadata.isGeographical": "",
|
|
20522
20549
|
"record.metadata.keywords": "",
|
|
20523
20550
|
"record.metadata.languages": "",
|
|
20524
|
-
"record.metadata.lastUpdate": "",
|
|
20525
20551
|
"record.metadata.link.postgis.table": "",
|
|
20526
20552
|
"record.metadata.link.postgis.tooltip": "",
|
|
20527
20553
|
"record.metadata.linked.datasets": "",
|
|
@@ -20564,6 +20590,9 @@ var es = {
|
|
|
20564
20590
|
"record.metadata.quality.updateFrequency.failed": "",
|
|
20565
20591
|
"record.metadata.quality.updateFrequency.success": "",
|
|
20566
20592
|
"record.metadata.related": "",
|
|
20593
|
+
"record.metadata.resourceCreated": "",
|
|
20594
|
+
"record.metadata.resourcePublished": "",
|
|
20595
|
+
"record.metadata.resourceUpdated": "",
|
|
20567
20596
|
"record.metadata.ressources.and.links": "Recursos y enlaces",
|
|
20568
20597
|
"record.metadata.sheet": "",
|
|
20569
20598
|
"record.metadata.status": "",
|
|
@@ -20576,6 +20605,7 @@ var es = {
|
|
|
20576
20605
|
"record.metadata.title": "",
|
|
20577
20606
|
"record.metadata.topics": "",
|
|
20578
20607
|
"record.metadata.uniqueId": "",
|
|
20608
|
+
"record.metadata.update": "",
|
|
20579
20609
|
"record.metadata.updateFrequency": "",
|
|
20580
20610
|
"record.metadata.updatedOn": "",
|
|
20581
20611
|
"record.metadata.usage": "",
|
|
@@ -20592,6 +20622,7 @@ var es = {
|
|
|
20592
20622
|
"record.tab.chart": "",
|
|
20593
20623
|
"record.tab.data": "",
|
|
20594
20624
|
"record.tab.map": "",
|
|
20625
|
+
"record.tab.stac": "",
|
|
20595
20626
|
"record.was.created.time": "",
|
|
20596
20627
|
records: records$5,
|
|
20597
20628
|
"results.layout.selectOne": "",
|
|
@@ -20600,7 +20631,6 @@ var es = {
|
|
|
20600
20631
|
"results.records.hits.found": "",
|
|
20601
20632
|
"results.records.hits.selected": "",
|
|
20602
20633
|
"results.showMore": "",
|
|
20603
|
-
"results.sortBy.changeDate": "",
|
|
20604
20634
|
"results.sortBy.dateStamp": "",
|
|
20605
20635
|
"results.sortBy.popularity": "",
|
|
20606
20636
|
"results.sortBy.qualityScore": "",
|
|
@@ -20684,6 +20714,10 @@ var es = {
|
|
|
20684
20714
|
"service.metadata.spatialExtent": "",
|
|
20685
20715
|
"share.tab.permalink": "",
|
|
20686
20716
|
"share.tab.webComponent": "",
|
|
20717
|
+
"stac.filter.from": "",
|
|
20718
|
+
"stac.filter.period": "",
|
|
20719
|
+
"stac.filter.reset": "",
|
|
20720
|
+
"stac.filter.to": "",
|
|
20687
20721
|
"table.loading.data": "",
|
|
20688
20722
|
"table.object.count": "",
|
|
20689
20723
|
"table.paginator.firstPage": "Primera página",
|
|
@@ -21129,6 +21163,7 @@ var fr = {
|
|
|
21129
21163
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
21130
21164
|
"record.metadata.api.accessServiceProtocol.other": "autre",
|
|
21131
21165
|
"record.metadata.api.accessServiceProtocol.postgis": "PostGIS",
|
|
21166
|
+
"record.metadata.api.accessServiceProtocol.stac": "STAC",
|
|
21132
21167
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
21133
21168
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
21134
21169
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -21170,13 +21205,14 @@ var fr = {
|
|
|
21170
21205
|
"record.metadata.contact": "Contact",
|
|
21171
21206
|
"record.metadata.creation": "Date de création",
|
|
21172
21207
|
"record.metadata.details": "À propos de la donnée",
|
|
21208
|
+
"record.metadata.doi.copy": "Copier le DOI",
|
|
21209
|
+
"record.metadata.doi.open": "Ouvrir le lien DOI",
|
|
21173
21210
|
"record.metadata.download": "Téléchargements",
|
|
21174
21211
|
"record.metadata.feature.catalog": "Catalogue d'attributs",
|
|
21175
21212
|
"record.metadata.formats": "Formats",
|
|
21176
21213
|
"record.metadata.isGeographical": "Donnée géographique",
|
|
21177
21214
|
"record.metadata.keywords": "Mots-clés",
|
|
21178
21215
|
"record.metadata.languages": "Langues",
|
|
21179
|
-
"record.metadata.lastUpdate": "Mis à jour le {date}",
|
|
21180
21216
|
"record.metadata.link.postgis.table": "table :",
|
|
21181
21217
|
"record.metadata.link.postgis.tooltip": "Les ressources de type PostGIS n'ont pas de lien d'accès",
|
|
21182
21218
|
"record.metadata.linked.datasets": "Jeux de données associés",
|
|
@@ -21219,6 +21255,9 @@ var fr = {
|
|
|
21219
21255
|
"record.metadata.quality.updateFrequency.failed": "La fréquence de mise à jour n'est pas renseignée",
|
|
21220
21256
|
"record.metadata.quality.updateFrequency.success": "La fréquence de mise à jour est renseignée",
|
|
21221
21257
|
"record.metadata.related": "Explorez le catalogue",
|
|
21258
|
+
"record.metadata.resourceCreated": "Créé le {date}",
|
|
21259
|
+
"record.metadata.resourcePublished": "Publié le {date}",
|
|
21260
|
+
"record.metadata.resourceUpdated": "Mis à jour le {date}",
|
|
21222
21261
|
"record.metadata.ressources.and.links": "Ressources et liens",
|
|
21223
21262
|
"record.metadata.sheet": "Fiche de métadonnées d'origine",
|
|
21224
21263
|
"record.metadata.status": "Statut",
|
|
@@ -21231,8 +21270,9 @@ var fr = {
|
|
|
21231
21270
|
"record.metadata.title": "Intitulé",
|
|
21232
21271
|
"record.metadata.topics": "Catégories",
|
|
21233
21272
|
"record.metadata.uniqueId": "Identificateur de ressource unique",
|
|
21273
|
+
"record.metadata.update": "Date de mise à jour",
|
|
21234
21274
|
"record.metadata.updateFrequency": "Fréquence de mise à jour des données",
|
|
21235
|
-
"record.metadata.updatedOn": "
|
|
21275
|
+
"record.metadata.updatedOn": "Fiche de métadonnées modifiée le",
|
|
21236
21276
|
"record.metadata.usage": "Licences et conditions d'utilisation",
|
|
21237
21277
|
"record.metadata.userFeedbacks": "Questions / Réponses",
|
|
21238
21278
|
"record.metadata.userFeedbacks.anonymousUser": "Pour rédiger un commentaire, veuillez vous identifier.",
|
|
@@ -21247,6 +21287,7 @@ var fr = {
|
|
|
21247
21287
|
"record.tab.chart": "Graphique",
|
|
21248
21288
|
"record.tab.data": "Tableau",
|
|
21249
21289
|
"record.tab.map": "Carte",
|
|
21290
|
+
"record.tab.stac": "STAC",
|
|
21250
21291
|
"record.was.created.time": "a créé cette ressource {time}",
|
|
21251
21292
|
records: records$4,
|
|
21252
21293
|
"results.layout.selectOne": "Affichage des résultats",
|
|
@@ -21255,7 +21296,6 @@ var fr = {
|
|
|
21255
21296
|
"results.records.hits.found": "{hits, plural, =0{Aucune correspondance.} one{1 ressource trouvée.} other{{hits} ressources.}}",
|
|
21256
21297
|
"results.records.hits.selected": "{amount, plural, one{1 selectionné} other{{ amount } sélectionnés}}",
|
|
21257
21298
|
"results.showMore": "Plus de résultats...",
|
|
21258
|
-
"results.sortBy.changeDate": "Dernière modification",
|
|
21259
21299
|
"results.sortBy.dateStamp": "Plus récent",
|
|
21260
21300
|
"results.sortBy.popularity": "Popularité",
|
|
21261
21301
|
"results.sortBy.qualityScore": "Indicateur de complétion",
|
|
@@ -21339,6 +21379,10 @@ var fr = {
|
|
|
21339
21379
|
"service.metadata.spatialExtent": "Etendue spatiale",
|
|
21340
21380
|
"share.tab.permalink": "Partager",
|
|
21341
21381
|
"share.tab.webComponent": "Intégrer",
|
|
21382
|
+
"stac.filter.from": "Du",
|
|
21383
|
+
"stac.filter.period": "Choix de la période",
|
|
21384
|
+
"stac.filter.reset": "Réinitialiser les filtres",
|
|
21385
|
+
"stac.filter.to": "Au",
|
|
21342
21386
|
"table.loading.data": "Chargement des données...",
|
|
21343
21387
|
"table.object.count": "enregistrements dans ce jeu de données",
|
|
21344
21388
|
"table.paginator.firstPage": "Première page",
|
|
@@ -21784,6 +21828,7 @@ var it = {
|
|
|
21784
21828
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
21785
21829
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
21786
21830
|
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
21831
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
21787
21832
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
21788
21833
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
21789
21834
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -21825,13 +21870,14 @@ var it = {
|
|
|
21825
21870
|
"record.metadata.contact": "Contatto",
|
|
21826
21871
|
"record.metadata.creation": "Data di creazione",
|
|
21827
21872
|
"record.metadata.details": "A proposito del dati",
|
|
21873
|
+
"record.metadata.doi.copy": "",
|
|
21874
|
+
"record.metadata.doi.open": "",
|
|
21828
21875
|
"record.metadata.download": "Download",
|
|
21829
21876
|
"record.metadata.feature.catalog": "Catalogo dei oggetti",
|
|
21830
21877
|
"record.metadata.formats": "Formati",
|
|
21831
21878
|
"record.metadata.isGeographical": "Dati geografici",
|
|
21832
21879
|
"record.metadata.keywords": "Parole chiave",
|
|
21833
21880
|
"record.metadata.languages": "Lingue",
|
|
21834
|
-
"record.metadata.lastUpdate": "Ultimo aggiornamento il {date}",
|
|
21835
21881
|
"record.metadata.link.postgis.table": "",
|
|
21836
21882
|
"record.metadata.link.postgis.tooltip": "",
|
|
21837
21883
|
"record.metadata.linked.datasets": "",
|
|
@@ -21874,8 +21920,11 @@ var it = {
|
|
|
21874
21920
|
"record.metadata.quality.updateFrequency.failed": "La frequenza di aggiornamento non è specificata",
|
|
21875
21921
|
"record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
|
|
21876
21922
|
"record.metadata.related": "Vedi anche",
|
|
21923
|
+
"record.metadata.resourceCreated": "Creato il {date}",
|
|
21924
|
+
"record.metadata.resourcePublished": "Pubblicato il {date}",
|
|
21925
|
+
"record.metadata.resourceUpdated": "Ultimo aggiornamento il {date}",
|
|
21877
21926
|
"record.metadata.ressources.and.links": "Risorse e collegamenti",
|
|
21878
|
-
"record.metadata.sheet": "Origine
|
|
21927
|
+
"record.metadata.sheet": "Origine dei metadati",
|
|
21879
21928
|
"record.metadata.status": "Stato",
|
|
21880
21929
|
"record.metadata.status.notPublished": "Non pubblicato",
|
|
21881
21930
|
"record.metadata.status.published": "Pubblicato",
|
|
@@ -21886,8 +21935,9 @@ var it = {
|
|
|
21886
21935
|
"record.metadata.title": "Titolo",
|
|
21887
21936
|
"record.metadata.topics": "Categorie",
|
|
21888
21937
|
"record.metadata.uniqueId": "Identificatore unico di risorsa",
|
|
21938
|
+
"record.metadata.update": "Data di aggiornamento",
|
|
21889
21939
|
"record.metadata.updateFrequency": "Frequenza di aggiornamento dei dati",
|
|
21890
|
-
"record.metadata.updatedOn": "
|
|
21940
|
+
"record.metadata.updatedOn": "Metadati modificati il",
|
|
21891
21941
|
"record.metadata.usage": "Licenze e limiti di utilizzo",
|
|
21892
21942
|
"record.metadata.userFeedbacks": "Domande / Risposte",
|
|
21893
21943
|
"record.metadata.userFeedbacks.anonymousUser": "Per pubblicare un commento, effettua il login.",
|
|
@@ -21902,6 +21952,7 @@ var it = {
|
|
|
21902
21952
|
"record.tab.chart": "Grafico",
|
|
21903
21953
|
"record.tab.data": "Tabella",
|
|
21904
21954
|
"record.tab.map": "Mappa",
|
|
21955
|
+
"record.tab.stac": "",
|
|
21905
21956
|
"record.was.created.time": "ha creato questi dati {time}",
|
|
21906
21957
|
records: records$3,
|
|
21907
21958
|
"results.layout.selectOne": "Mostra risultati",
|
|
@@ -21910,7 +21961,6 @@ var it = {
|
|
|
21910
21961
|
"results.records.hits.found": "{hits, plural, =0{Nessuna corrispondenza.} one{1 record trovato.} other{{hits} risultati.}}",
|
|
21911
21962
|
"results.records.hits.selected": "{amount, plural, one{1 selezionato} other{{ amount } selezionati}}",
|
|
21912
21963
|
"results.showMore": "Altri risultati...",
|
|
21913
|
-
"results.sortBy.changeDate": "Ultima modifica",
|
|
21914
21964
|
"results.sortBy.dateStamp": "Più recente",
|
|
21915
21965
|
"results.sortBy.popularity": "Popolarità",
|
|
21916
21966
|
"results.sortBy.qualityScore": "Indicatore di completamento",
|
|
@@ -21994,6 +22044,10 @@ var it = {
|
|
|
21994
22044
|
"service.metadata.spatialExtent": "Estensione spaziale",
|
|
21995
22045
|
"share.tab.permalink": "Condividere",
|
|
21996
22046
|
"share.tab.webComponent": "Incorporare",
|
|
22047
|
+
"stac.filter.from": "",
|
|
22048
|
+
"stac.filter.period": "",
|
|
22049
|
+
"stac.filter.reset": "",
|
|
22050
|
+
"stac.filter.to": "",
|
|
21997
22051
|
"table.loading.data": "Caricamento dei dati...",
|
|
21998
22052
|
"table.object.count": "record in questi dati",
|
|
21999
22053
|
"table.paginator.firstPage": "Prima pagina",
|
|
@@ -22439,6 +22493,7 @@ var nl = {
|
|
|
22439
22493
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
22440
22494
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
22441
22495
|
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
22496
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
22442
22497
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
22443
22498
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
22444
22499
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -22480,13 +22535,14 @@ var nl = {
|
|
|
22480
22535
|
"record.metadata.contact": "",
|
|
22481
22536
|
"record.metadata.creation": "",
|
|
22482
22537
|
"record.metadata.details": "",
|
|
22538
|
+
"record.metadata.doi.copy": "",
|
|
22539
|
+
"record.metadata.doi.open": "",
|
|
22483
22540
|
"record.metadata.download": "",
|
|
22484
22541
|
"record.metadata.feature.catalog": "",
|
|
22485
22542
|
"record.metadata.formats": "",
|
|
22486
22543
|
"record.metadata.isGeographical": "",
|
|
22487
22544
|
"record.metadata.keywords": "",
|
|
22488
22545
|
"record.metadata.languages": "",
|
|
22489
|
-
"record.metadata.lastUpdate": "",
|
|
22490
22546
|
"record.metadata.link.postgis.table": "",
|
|
22491
22547
|
"record.metadata.link.postgis.tooltip": "",
|
|
22492
22548
|
"record.metadata.linked.datasets": "",
|
|
@@ -22529,6 +22585,9 @@ var nl = {
|
|
|
22529
22585
|
"record.metadata.quality.updateFrequency.failed": "",
|
|
22530
22586
|
"record.metadata.quality.updateFrequency.success": "",
|
|
22531
22587
|
"record.metadata.related": "",
|
|
22588
|
+
"record.metadata.resourceCreated": "",
|
|
22589
|
+
"record.metadata.resourcePublished": "",
|
|
22590
|
+
"record.metadata.resourceUpdated": "",
|
|
22532
22591
|
"record.metadata.ressources.and.links": "Bronnen en links",
|
|
22533
22592
|
"record.metadata.sheet": "",
|
|
22534
22593
|
"record.metadata.status": "",
|
|
@@ -22541,6 +22600,7 @@ var nl = {
|
|
|
22541
22600
|
"record.metadata.title": "",
|
|
22542
22601
|
"record.metadata.topics": "",
|
|
22543
22602
|
"record.metadata.uniqueId": "",
|
|
22603
|
+
"record.metadata.update": "",
|
|
22544
22604
|
"record.metadata.updateFrequency": "",
|
|
22545
22605
|
"record.metadata.updatedOn": "",
|
|
22546
22606
|
"record.metadata.usage": "",
|
|
@@ -22557,6 +22617,7 @@ var nl = {
|
|
|
22557
22617
|
"record.tab.chart": "",
|
|
22558
22618
|
"record.tab.data": "",
|
|
22559
22619
|
"record.tab.map": "",
|
|
22620
|
+
"record.tab.stac": "",
|
|
22560
22621
|
"record.was.created.time": "",
|
|
22561
22622
|
records: records$2,
|
|
22562
22623
|
"results.layout.selectOne": "",
|
|
@@ -22565,7 +22626,6 @@ var nl = {
|
|
|
22565
22626
|
"results.records.hits.found": "",
|
|
22566
22627
|
"results.records.hits.selected": "",
|
|
22567
22628
|
"results.showMore": "",
|
|
22568
|
-
"results.sortBy.changeDate": "",
|
|
22569
22629
|
"results.sortBy.dateStamp": "",
|
|
22570
22630
|
"results.sortBy.popularity": "",
|
|
22571
22631
|
"results.sortBy.qualityScore": "",
|
|
@@ -22649,6 +22709,10 @@ var nl = {
|
|
|
22649
22709
|
"service.metadata.spatialExtent": "",
|
|
22650
22710
|
"share.tab.permalink": "",
|
|
22651
22711
|
"share.tab.webComponent": "",
|
|
22712
|
+
"stac.filter.from": "",
|
|
22713
|
+
"stac.filter.period": "",
|
|
22714
|
+
"stac.filter.reset": "",
|
|
22715
|
+
"stac.filter.to": "",
|
|
22652
22716
|
"table.loading.data": "",
|
|
22653
22717
|
"table.object.count": "",
|
|
22654
22718
|
"table.paginator.firstPage": "",
|
|
@@ -23094,6 +23158,7 @@ var pt = {
|
|
|
23094
23158
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
23095
23159
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
23096
23160
|
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
23161
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
23097
23162
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
23098
23163
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
23099
23164
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -23135,13 +23200,14 @@ var pt = {
|
|
|
23135
23200
|
"record.metadata.contact": "",
|
|
23136
23201
|
"record.metadata.creation": "",
|
|
23137
23202
|
"record.metadata.details": "",
|
|
23203
|
+
"record.metadata.doi.copy": "",
|
|
23204
|
+
"record.metadata.doi.open": "",
|
|
23138
23205
|
"record.metadata.download": "",
|
|
23139
23206
|
"record.metadata.feature.catalog": "",
|
|
23140
23207
|
"record.metadata.formats": "",
|
|
23141
23208
|
"record.metadata.isGeographical": "",
|
|
23142
23209
|
"record.metadata.keywords": "",
|
|
23143
23210
|
"record.metadata.languages": "",
|
|
23144
|
-
"record.metadata.lastUpdate": "",
|
|
23145
23211
|
"record.metadata.link.postgis.table": "",
|
|
23146
23212
|
"record.metadata.link.postgis.tooltip": "",
|
|
23147
23213
|
"record.metadata.linked.datasets": "",
|
|
@@ -23184,6 +23250,9 @@ var pt = {
|
|
|
23184
23250
|
"record.metadata.quality.updateFrequency.failed": "",
|
|
23185
23251
|
"record.metadata.quality.updateFrequency.success": "",
|
|
23186
23252
|
"record.metadata.related": "",
|
|
23253
|
+
"record.metadata.resourceCreated": "",
|
|
23254
|
+
"record.metadata.resourcePublished": "",
|
|
23255
|
+
"record.metadata.resourceUpdated": "",
|
|
23187
23256
|
"record.metadata.ressources.and.links": "Recursos e links",
|
|
23188
23257
|
"record.metadata.sheet": "",
|
|
23189
23258
|
"record.metadata.status": "",
|
|
@@ -23196,6 +23265,7 @@ var pt = {
|
|
|
23196
23265
|
"record.metadata.title": "",
|
|
23197
23266
|
"record.metadata.topics": "",
|
|
23198
23267
|
"record.metadata.uniqueId": "",
|
|
23268
|
+
"record.metadata.update": "",
|
|
23199
23269
|
"record.metadata.updateFrequency": "",
|
|
23200
23270
|
"record.metadata.updatedOn": "",
|
|
23201
23271
|
"record.metadata.usage": "",
|
|
@@ -23212,6 +23282,7 @@ var pt = {
|
|
|
23212
23282
|
"record.tab.chart": "",
|
|
23213
23283
|
"record.tab.data": "",
|
|
23214
23284
|
"record.tab.map": "",
|
|
23285
|
+
"record.tab.stac": "",
|
|
23215
23286
|
"record.was.created.time": "",
|
|
23216
23287
|
records: records$1,
|
|
23217
23288
|
"results.layout.selectOne": "",
|
|
@@ -23220,7 +23291,6 @@ var pt = {
|
|
|
23220
23291
|
"results.records.hits.found": "",
|
|
23221
23292
|
"results.records.hits.selected": "",
|
|
23222
23293
|
"results.showMore": "",
|
|
23223
|
-
"results.sortBy.changeDate": "",
|
|
23224
23294
|
"results.sortBy.dateStamp": "",
|
|
23225
23295
|
"results.sortBy.popularity": "",
|
|
23226
23296
|
"results.sortBy.qualityScore": "",
|
|
@@ -23304,6 +23374,10 @@ var pt = {
|
|
|
23304
23374
|
"service.metadata.spatialExtent": "",
|
|
23305
23375
|
"share.tab.permalink": "",
|
|
23306
23376
|
"share.tab.webComponent": "",
|
|
23377
|
+
"stac.filter.from": "",
|
|
23378
|
+
"stac.filter.period": "",
|
|
23379
|
+
"stac.filter.reset": "",
|
|
23380
|
+
"stac.filter.to": "",
|
|
23307
23381
|
"table.loading.data": "",
|
|
23308
23382
|
"table.object.count": "",
|
|
23309
23383
|
"table.paginator.firstPage": "",
|
|
@@ -23749,6 +23823,7 @@ var sk = {
|
|
|
23749
23823
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
23750
23824
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
23751
23825
|
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
23826
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
23752
23827
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
23753
23828
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
23754
23829
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -23790,13 +23865,14 @@ var sk = {
|
|
|
23790
23865
|
"record.metadata.contact": "Kontakt",
|
|
23791
23866
|
"record.metadata.creation": "",
|
|
23792
23867
|
"record.metadata.details": "Detaily",
|
|
23868
|
+
"record.metadata.doi.copy": "",
|
|
23869
|
+
"record.metadata.doi.open": "",
|
|
23793
23870
|
"record.metadata.download": "Sťahovania",
|
|
23794
23871
|
"record.metadata.feature.catalog": "",
|
|
23795
23872
|
"record.metadata.formats": "Formáty",
|
|
23796
23873
|
"record.metadata.isGeographical": "Súbor geografických údajov",
|
|
23797
23874
|
"record.metadata.keywords": "Kľúčové slová",
|
|
23798
23875
|
"record.metadata.languages": "",
|
|
23799
|
-
"record.metadata.lastUpdate": "Posledná aktualizácia",
|
|
23800
23876
|
"record.metadata.link.postgis.table": "",
|
|
23801
23877
|
"record.metadata.link.postgis.tooltip": "",
|
|
23802
23878
|
"record.metadata.linked.datasets": "",
|
|
@@ -23839,6 +23915,9 @@ var sk = {
|
|
|
23839
23915
|
"record.metadata.quality.updateFrequency.failed": "Frekvencia aktualizácie nie je určená",
|
|
23840
23916
|
"record.metadata.quality.updateFrequency.success": "Frekvencia aktualizácie je určená",
|
|
23841
23917
|
"record.metadata.related": "Súvisiace záznamy",
|
|
23918
|
+
"record.metadata.resourceCreated": "",
|
|
23919
|
+
"record.metadata.resourcePublished": "",
|
|
23920
|
+
"record.metadata.resourceUpdated": "",
|
|
23842
23921
|
"record.metadata.ressources.and.links": "Prostředky a odkazy",
|
|
23843
23922
|
"record.metadata.sheet": "Ďalšie metadáta sú k dispozícii na:",
|
|
23844
23923
|
"record.metadata.status": "Stav",
|
|
@@ -23851,8 +23930,9 @@ var sk = {
|
|
|
23851
23930
|
"record.metadata.title": "Názov",
|
|
23852
23931
|
"record.metadata.topics": "",
|
|
23853
23932
|
"record.metadata.uniqueId": "Jedinečný identifikátor",
|
|
23933
|
+
"record.metadata.update": "Dátum aktualizácie",
|
|
23854
23934
|
"record.metadata.updateFrequency": "Frekvencia aktualizácie metadát",
|
|
23855
|
-
"record.metadata.updatedOn": "
|
|
23935
|
+
"record.metadata.updatedOn": "Metadáta zmenené dňa",
|
|
23856
23936
|
"record.metadata.usage": "Použitie a obmedzenia",
|
|
23857
23937
|
"record.metadata.userFeedbacks": "",
|
|
23858
23938
|
"record.metadata.userFeedbacks.anonymousUser": "",
|
|
@@ -23867,6 +23947,7 @@ var sk = {
|
|
|
23867
23947
|
"record.tab.chart": "Graf",
|
|
23868
23948
|
"record.tab.data": "Tabuľka",
|
|
23869
23949
|
"record.tab.map": "Mapa",
|
|
23950
|
+
"record.tab.stac": "",
|
|
23870
23951
|
"record.was.created.time": "vytvoril tento dataset o {time}",
|
|
23871
23952
|
records: records,
|
|
23872
23953
|
"results.layout.selectOne": "Rozmiestnenie výsledkov",
|
|
@@ -23875,7 +23956,6 @@ var sk = {
|
|
|
23875
23956
|
"results.records.hits.found": "{hits, plural, =0{Žiadne dokumenty nezodpovedajú zadanému vyhľadávaniu.} one{1 záznam nájdený.} other{{hits} záznamov nájdených.}}",
|
|
23876
23957
|
"results.records.hits.selected": "{ amount } označených",
|
|
23877
23958
|
"results.showMore": "Zobraziť viac výsledkov...",
|
|
23878
|
-
"results.sortBy.changeDate": "",
|
|
23879
23959
|
"results.sortBy.dateStamp": "Najnovšie",
|
|
23880
23960
|
"results.sortBy.popularity": "Popularita",
|
|
23881
23961
|
"results.sortBy.qualityScore": "Indikátor dokončenia",
|
|
@@ -23959,6 +24039,10 @@ var sk = {
|
|
|
23959
24039
|
"service.metadata.spatialExtent": "",
|
|
23960
24040
|
"share.tab.permalink": "Zdieľať",
|
|
23961
24041
|
"share.tab.webComponent": "Integrovať",
|
|
24042
|
+
"stac.filter.from": "",
|
|
24043
|
+
"stac.filter.period": "",
|
|
24044
|
+
"stac.filter.reset": "",
|
|
24045
|
+
"stac.filter.to": "",
|
|
23962
24046
|
"table.loading.data": "Načítanie údajov...",
|
|
23963
24047
|
"table.object.count": "objekty v tomto súbore údajov",
|
|
23964
24048
|
"table.paginator.firstPage": "",
|
|
@@ -24256,6 +24340,29 @@ class Gn4FieldMapper {
|
|
|
24256
24340
|
}),
|
|
24257
24341
|
};
|
|
24258
24342
|
},
|
|
24343
|
+
resourceIdentifier: (output, source) => {
|
|
24344
|
+
const identifiers = getAsArray(selectField(source, 'resourceIdentifier'));
|
|
24345
|
+
if (!identifiers.length)
|
|
24346
|
+
return output;
|
|
24347
|
+
const mappedIdentifiers = identifiers
|
|
24348
|
+
.map((id) => {
|
|
24349
|
+
const code = selectField(id, 'code');
|
|
24350
|
+
const codeSpace = selectField(id, 'codeSpace');
|
|
24351
|
+
const link = selectField(id, 'link');
|
|
24352
|
+
return {
|
|
24353
|
+
code,
|
|
24354
|
+
...(codeSpace && { codeSpace }),
|
|
24355
|
+
...(link && { url: link }),
|
|
24356
|
+
};
|
|
24357
|
+
})
|
|
24358
|
+
.filter((id) => id !== null);
|
|
24359
|
+
if (!mappedIdentifiers.length)
|
|
24360
|
+
return output;
|
|
24361
|
+
return {
|
|
24362
|
+
...output,
|
|
24363
|
+
resourceIdentifiers: mappedIdentifiers,
|
|
24364
|
+
};
|
|
24365
|
+
},
|
|
24259
24366
|
};
|
|
24260
24367
|
this.genericField = (output) => output;
|
|
24261
24368
|
this.constraintField = (type, output, constraintArray) => {
|
|
@@ -24365,6 +24472,7 @@ class Gn4FieldMapper {
|
|
|
24365
24472
|
/TMS/i.test(protocol) ||
|
|
24366
24473
|
/ogc\W*api\W*features/i.test(protocol) ||
|
|
24367
24474
|
/^DB:POSTGIS/i.test(protocol) ||
|
|
24475
|
+
/stac\W*items/i.test(protocol) ||
|
|
24368
24476
|
(/^WWW:DOWNLOAD-/.test(protocol) && /data.geopf.fr/.test(url)) // TO DO : change with the good protocol when decided
|
|
24369
24477
|
) {
|
|
24370
24478
|
return 'service';
|
|
@@ -25009,13 +25117,16 @@ function sortByToStrings(sortBy) {
|
|
|
25009
25117
|
return array.map((param) => `${param[0] === 'desc' ? '-' : ''}${param[1]}`);
|
|
25010
25118
|
}
|
|
25011
25119
|
function sortByToString(sortBy) {
|
|
25012
|
-
return sortByToStrings(sortBy)
|
|
25120
|
+
return sortByToStrings(sortBy).join(',');
|
|
25013
25121
|
}
|
|
25014
25122
|
function sortByFromString(sortByString) {
|
|
25015
|
-
|
|
25016
|
-
|
|
25017
|
-
|
|
25018
|
-
|
|
25123
|
+
const fields = sortByString
|
|
25124
|
+
.split(',')
|
|
25125
|
+
.map((field) => [
|
|
25126
|
+
field.startsWith('-') ? 'desc' : 'asc',
|
|
25127
|
+
field.startsWith('-') ? field.substring(1) : field,
|
|
25128
|
+
]);
|
|
25129
|
+
return fields.length > 1 ? fields : fields[0];
|
|
25019
25130
|
}
|
|
25020
25131
|
|
|
25021
25132
|
const stripHtml = function (html) {
|
|
@@ -25421,6 +25532,8 @@ class LinkClassifierService {
|
|
|
25421
25532
|
return [LinkUsage.API];
|
|
25422
25533
|
case 'postgis':
|
|
25423
25534
|
return [LinkUsage.UNKNOWN];
|
|
25535
|
+
case 'stac':
|
|
25536
|
+
return [LinkUsage.API];
|
|
25424
25537
|
default:
|
|
25425
25538
|
return [LinkUsage.UNKNOWN];
|
|
25426
25539
|
}
|
|
@@ -25484,7 +25597,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
25484
25597
|
}] } });
|
|
25485
25598
|
|
|
25486
25599
|
var name = "geonetwork-ui";
|
|
25487
|
-
var version = "2.8.0-dev.
|
|
25600
|
+
var version = "2.8.0-dev.8b715be88";
|
|
25488
25601
|
var engines = {
|
|
25489
25602
|
node: ">=20"
|
|
25490
25603
|
};
|
|
@@ -26236,7 +26349,7 @@ class Gn4SettingsService {
|
|
|
26236
26349
|
this.apiVersion$ = this.getSettingsSetValueByKey('system/platform/version');
|
|
26237
26350
|
}
|
|
26238
26351
|
getSettingsSetValueByKey(key) {
|
|
26239
|
-
return this.siteApiService.getSettingsSet(null, [key])
|
|
26352
|
+
return of(true).pipe(switchMap(() => this.siteApiService.getSettingsSet(null, [key])), map$1((v) => v[key]), shareReplay$1({ bufferSize: 1, refCount: true }));
|
|
26240
26353
|
}
|
|
26241
26354
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4SettingsService, deps: [{ token: SiteApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
26242
26355
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4SettingsService, providedIn: 'root' }); }
|
|
@@ -27175,6 +27288,9 @@ class Gn4PlatformService {
|
|
|
27175
27288
|
console.warn('Error while loading gnui language package');
|
|
27176
27289
|
return of({});
|
|
27177
27290
|
}), shareReplay$1(1));
|
|
27291
|
+
this.me$ = this.disableAuth
|
|
27292
|
+
? of(null)
|
|
27293
|
+
: of(true).pipe(switchMap(() => this.meApi.getMe()), switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay$1({ bufferSize: 1, refCount: true }));
|
|
27178
27294
|
/**
|
|
27179
27295
|
* A map of already loaded thesauri (groups of keywords); the key is a URI
|
|
27180
27296
|
* @private
|
|
@@ -27185,9 +27301,6 @@ class Gn4PlatformService {
|
|
|
27185
27301
|
.pipe(map$1((thesaurus) => {
|
|
27186
27302
|
return thesaurus[0];
|
|
27187
27303
|
}), shareReplay$1(1));
|
|
27188
|
-
this.me$ = this.disableAuth
|
|
27189
|
-
? of(null)
|
|
27190
|
-
: this.meApi.getMe().pipe(switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay$1({ bufferSize: 1, refCount: true }));
|
|
27191
27304
|
this.isUserAnonymous$ = this.me$.pipe(map$1((user) => !user || !('id' in user)));
|
|
27192
27305
|
this.users$ = this.usersApi.getUsers().pipe(map$1((users) => users.map((user) => this.mapper.userFromApi(user))), shareReplay$1());
|
|
27193
27306
|
}
|
|
@@ -29800,8 +29913,7 @@ class DropdownSelectorComponent {
|
|
|
29800
29913
|
];
|
|
29801
29914
|
}
|
|
29802
29915
|
get selectedChoice() {
|
|
29803
|
-
return (this.choices.find((choice) => choice.value === this.selected) ??
|
|
29804
|
-
this.choices[0]);
|
|
29916
|
+
return (this.choices.find((choice) => JSON.stringify(choice.value) === JSON.stringify(this.selected)) ?? this.choices[0]);
|
|
29805
29917
|
}
|
|
29806
29918
|
get id() {
|
|
29807
29919
|
return this.title.toLowerCase().replace(/[^a-z]+/g, '-');
|
|
@@ -33936,6 +34048,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
33936
34048
|
type: Output
|
|
33937
34049
|
}] } });
|
|
33938
34050
|
|
|
34051
|
+
class MetadataDoiComponent {
|
|
34052
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataDoiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34053
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MetadataDoiComponent, isStandalone: true, selector: "gn-ui-metadata-doi", inputs: { code: "code", link: "link" }, ngImport: i0, template: "<div\n class=\"border border-gray-300 rounded-lg py-4 px-5 text-black flex justify-between items-center gap-4\"\n>\n <div class=\"overflow-hidden flex-1\">\n <p class=\"text-base font-medium mb-3\">DOI</p>\n <p\n class=\"text-base font-medium overflow-hidden text-ellipsis whitespace-nowrap\"\n [title]=\"code\"\n >\n {{ code }}\n </p>\n </div>\n <div class=\"flex gap-2 items-start\">\n <gn-ui-copy-text-button\n [text]=\"code\"\n [displayText]=\"false\"\n [tooltipText]=\"'record.metadata.doi.copy' | translate\"\n class=\"[&>div]:flex [&>div]:items-center [&>div]:justify-center [&_button]:w-[40px] [&_button]:h-[32px] [&_button]:flex [&_button]:items-center [&_button]:justify-center [&_button]:hover:bg-gray-100 [&_button]:rounded-lg [&_button]:transition-colors [&_button]:border [&_button]:border-gray-300 [&_button]:px-2 [&_button]:py-1 [&_ng-icon]:w-5 [&_ng-icon]:h-5\"\n ></gn-ui-copy-text-button>\n <a\n *ngIf=\"link\"\n [href]=\"link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"w-[40px] h-[32px] flex items-center justify-center hover:bg-gray-100 rounded-lg transition-colors border border-gray-300 px-2 py-1\"\n [matTooltip]=\"'record.metadata.doi.open' | translate\"\n >\n <ng-icon name=\"matOpenInNew\" size=\"20\"></ng-icon>\n </a>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }], viewProviders: [
|
|
34054
|
+
provideIcons({
|
|
34055
|
+
matOpenInNew,
|
|
34056
|
+
}),
|
|
34057
|
+
] }); }
|
|
34058
|
+
}
|
|
34059
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataDoiComponent, decorators: [{
|
|
34060
|
+
type: Component,
|
|
34061
|
+
args: [{ selector: 'gn-ui-metadata-doi', standalone: true, imports: [
|
|
34062
|
+
CommonModule,
|
|
34063
|
+
MatTooltipModule,
|
|
34064
|
+
NgIcon,
|
|
34065
|
+
TranslatePipe,
|
|
34066
|
+
CopyTextButtonComponent,
|
|
34067
|
+
], viewProviders: [
|
|
34068
|
+
provideIcons({
|
|
34069
|
+
matOpenInNew,
|
|
34070
|
+
}),
|
|
34071
|
+
], template: "<div\n class=\"border border-gray-300 rounded-lg py-4 px-5 text-black flex justify-between items-center gap-4\"\n>\n <div class=\"overflow-hidden flex-1\">\n <p class=\"text-base font-medium mb-3\">DOI</p>\n <p\n class=\"text-base font-medium overflow-hidden text-ellipsis whitespace-nowrap\"\n [title]=\"code\"\n >\n {{ code }}\n </p>\n </div>\n <div class=\"flex gap-2 items-start\">\n <gn-ui-copy-text-button\n [text]=\"code\"\n [displayText]=\"false\"\n [tooltipText]=\"'record.metadata.doi.copy' | translate\"\n class=\"[&>div]:flex [&>div]:items-center [&>div]:justify-center [&_button]:w-[40px] [&_button]:h-[32px] [&_button]:flex [&_button]:items-center [&_button]:justify-center [&_button]:hover:bg-gray-100 [&_button]:rounded-lg [&_button]:transition-colors [&_button]:border [&_button]:border-gray-300 [&_button]:px-2 [&_button]:py-1 [&_ng-icon]:w-5 [&_ng-icon]:h-5\"\n ></gn-ui-copy-text-button>\n <a\n *ngIf=\"link\"\n [href]=\"link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"w-[40px] h-[32px] flex items-center justify-center hover:bg-gray-100 rounded-lg transition-colors border border-gray-300 px-2 py-1\"\n [matTooltip]=\"'record.metadata.doi.open' | translate\"\n >\n <ng-icon name=\"matOpenInNew\" size=\"20\"></ng-icon>\n </a>\n </div>\n</div>\n" }]
|
|
34072
|
+
}], propDecorators: { code: [{
|
|
34073
|
+
type: Input
|
|
34074
|
+
}], link: [{
|
|
34075
|
+
type: Input
|
|
34076
|
+
}] } });
|
|
34077
|
+
|
|
33939
34078
|
/* eslint-disable @angular-eslint/directive-selector */
|
|
33940
34079
|
class GnUiLinkifyDirective {
|
|
33941
34080
|
constructor(el, renderer) {
|
|
@@ -34086,7 +34225,7 @@ class MetadataInfoComponent {
|
|
|
34086
34225
|
return this.dateService.formatDateTime(date);
|
|
34087
34226
|
}
|
|
34088
34227
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataInfoComponent, deps: [{ token: DateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34089
|
-
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 <gn-ui-max-lines [maxLines]=\"7\" *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 </gn-ui-max-lines>\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: [
|
|
34228
|
+
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\n [maxLines]=\"6\"\n *ngIf=\"metadata.abstract\"\n data-test=\"metadata-info-abstract\"\n >\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 <gn-ui-max-lines [maxLines]=\"7\" *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 </gn-ui-max-lines>\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 resourceContact ||\n metadata.resourceCreated ||\n metadata.resourcePublished ||\n metadata.resourceUpdated ||\n (metadata.kind === 'dataset' && metadata.updateFrequency) ||\n metadata.otherLanguages?.length ||\n (metadata.kind === 'dataset' && temporalExtent)\n \"\n [title]=\"'record.metadata.details' | translate\"\n data-test=\"details-panel\"\n>\n <div\n *ngIf=\"metadata.kind === 'dataset' && metadata.lineage\"\n class=\"text-gray-900 flex flex-col mt-4 gap-2\"\n data-test=\"details-panel-lineage\"\n >\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div\n class=\"flex flex-row gap-6 mt-5 mb-8 resource-contact\"\n *ngIf=\"resourceContact\"\n data-test=\"details-panel-resource-contact\"\n >\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\n *ngIf=\"metadata.resourceCreated\"\n data-test=\"details-panel-resource-created\"\n >\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1 resource-created\">\n {{ formatDate(metadata.resourceCreated) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.resourcePublished\"\n data-test=\"details-panel-resource-published\"\n >\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1 resource-published\">\n {{ formatDate(metadata.resourcePublished) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.resourceUpdated\"\n data-test=\"details-panel-resource-updated\"\n >\n <p class=\"text-sm\" translate>record.metadata.update</p>\n <p class=\"text-primary font-medium mt-1 resource-updated\">\n {{ formatDate(metadata.resourceUpdated) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.kind === 'dataset' && metadata.updateFrequency\"\n data-test=\"details-panel-update-frequency\"\n >\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\n *ngIf=\"metadata.otherLanguages?.length\"\n data-test=\"details-panel-other-languages\"\n >\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 other-languages\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div\n *ngIf=\"metadata.kind === 'dataset' && temporalExtent\"\n data-test=\"details-panel-temporal-extent\"\n >\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div\n class=\"flex flex-row gap-1 mb-1 text-primary font-medium temporal-extent\"\n >\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: [
|
|
34090
34229
|
provideIcons({
|
|
34091
34230
|
matOpenInNew,
|
|
34092
34231
|
matMailOutline: matMailOutline$1,
|
|
@@ -34114,7 +34253,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
34114
34253
|
matOpenInNew,
|
|
34115
34254
|
matMailOutline: matMailOutline$1,
|
|
34116
34255
|
}),
|
|
34117
|
-
], 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 <gn-ui-max-lines [maxLines]=\"7\" *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 </gn-ui-max-lines>\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"] }]
|
|
34256
|
+
], 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\n [maxLines]=\"6\"\n *ngIf=\"metadata.abstract\"\n data-test=\"metadata-info-abstract\"\n >\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 <gn-ui-max-lines [maxLines]=\"7\" *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 </gn-ui-max-lines>\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 resourceContact ||\n metadata.resourceCreated ||\n metadata.resourcePublished ||\n metadata.resourceUpdated ||\n (metadata.kind === 'dataset' && metadata.updateFrequency) ||\n metadata.otherLanguages?.length ||\n (metadata.kind === 'dataset' && temporalExtent)\n \"\n [title]=\"'record.metadata.details' | translate\"\n data-test=\"details-panel\"\n>\n <div\n *ngIf=\"metadata.kind === 'dataset' && metadata.lineage\"\n class=\"text-gray-900 flex flex-col mt-4 gap-2\"\n data-test=\"details-panel-lineage\"\n >\n <p class=\"whitespace-pre-line break-words text-gray-900\" gnUiLinkify>\n {{ metadata.lineage }}\n </p>\n </div>\n <div\n class=\"flex flex-row gap-6 mt-5 mb-8 resource-contact\"\n *ngIf=\"resourceContact\"\n data-test=\"details-panel-resource-contact\"\n >\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\n *ngIf=\"metadata.resourceCreated\"\n data-test=\"details-panel-resource-created\"\n >\n <p class=\"text-sm\" translate>record.metadata.creation</p>\n <p class=\"text-primary font-medium mt-1 resource-created\">\n {{ formatDate(metadata.resourceCreated) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.resourcePublished\"\n data-test=\"details-panel-resource-published\"\n >\n <p class=\"text-sm\" translate>record.metadata.publication</p>\n <p class=\"text-primary font-medium mt-1 resource-published\">\n {{ formatDate(metadata.resourcePublished) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.resourceUpdated\"\n data-test=\"details-panel-resource-updated\"\n >\n <p class=\"text-sm\" translate>record.metadata.update</p>\n <p class=\"text-primary font-medium mt-1 resource-updated\">\n {{ formatDate(metadata.resourceUpdated) }}\n </p>\n </div>\n <div\n *ngIf=\"metadata.kind === 'dataset' && metadata.updateFrequency\"\n data-test=\"details-panel-update-frequency\"\n >\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\n *ngIf=\"metadata.otherLanguages?.length\"\n data-test=\"details-panel-other-languages\"\n >\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 other-languages\"\n translate\n *ngFor=\"let language of metadata.otherLanguages\"\n >\n language.{{ language }}\n </p>\n </div>\n </div>\n <div\n *ngIf=\"metadata.kind === 'dataset' && temporalExtent\"\n data-test=\"details-panel-temporal-extent\"\n >\n <p class=\"text-sm\" translate>record.metadata.temporalExtent</p>\n <div\n class=\"flex flex-row gap-1 mb-1 text-primary font-medium temporal-extent\"\n >\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"] }]
|
|
34118
34257
|
}], ctorParameters: () => [{ type: DateService }], propDecorators: { metadata: [{
|
|
34119
34258
|
type: Input
|
|
34120
34259
|
}], incomplete: [{
|
|
@@ -36502,6 +36641,11 @@ const SortByEnum = {
|
|
|
36502
36641
|
RELEVANCY: ['desc', '_score'],
|
|
36503
36642
|
QUALITY_SCORE: ['desc', 'qualityScore'],
|
|
36504
36643
|
CHANGE_DATE: ['desc', 'changeDate'],
|
|
36644
|
+
RESOURCE_DATES: [
|
|
36645
|
+
['desc', 'revisionDateForResource'],
|
|
36646
|
+
['desc', 'publicationDateForResource'],
|
|
36647
|
+
['desc', 'creationDateForResource'],
|
|
36648
|
+
],
|
|
36505
36649
|
};
|
|
36506
36650
|
|
|
36507
36651
|
class SortByComponent {
|
|
@@ -36511,33 +36655,29 @@ class SortByComponent {
|
|
|
36511
36655
|
this.choices = [
|
|
36512
36656
|
{
|
|
36513
36657
|
label: marker('results.sortBy.relevancy'),
|
|
36514
|
-
value: SortByEnum.RELEVANCY
|
|
36658
|
+
value: SortByEnum.RELEVANCY,
|
|
36515
36659
|
},
|
|
36516
36660
|
{
|
|
36517
36661
|
label: marker('results.sortBy.dateStamp'),
|
|
36518
|
-
value: SortByEnum.
|
|
36519
|
-
},
|
|
36520
|
-
{
|
|
36521
|
-
label: marker('results.sortBy.changeDate'),
|
|
36522
|
-
value: SortByEnum.CHANGE_DATE.join(','),
|
|
36662
|
+
value: SortByEnum.RESOURCE_DATES,
|
|
36523
36663
|
},
|
|
36524
36664
|
{
|
|
36525
36665
|
label: marker('results.sortBy.popularity'),
|
|
36526
|
-
value: SortByEnum.POPULARITY
|
|
36666
|
+
value: SortByEnum.POPULARITY,
|
|
36527
36667
|
},
|
|
36528
36668
|
];
|
|
36529
|
-
this.currentSortBy$ = this.facade.sortBy$.pipe(filter$1((sortBy) => !!sortBy), map$1((sortBy) => sortBy
|
|
36669
|
+
this.currentSortBy$ = this.facade.sortBy$.pipe(filter$1((sortBy) => !!sortBy), map$1((sortBy) => sortBy));
|
|
36530
36670
|
}
|
|
36531
36671
|
ngOnInit() {
|
|
36532
36672
|
if (this.isQualitySortable) {
|
|
36533
36673
|
this.choices.push({
|
|
36534
36674
|
label: marker('results.sortBy.qualityScore'),
|
|
36535
|
-
value: SortByEnum.QUALITY_SCORE
|
|
36675
|
+
value: SortByEnum.QUALITY_SCORE,
|
|
36536
36676
|
});
|
|
36537
36677
|
}
|
|
36538
36678
|
}
|
|
36539
|
-
changeSortBy(
|
|
36540
|
-
this.searchService.setSortBy(
|
|
36679
|
+
changeSortBy(criteria) {
|
|
36680
|
+
this.searchService.setSortBy(criteria);
|
|
36541
36681
|
}
|
|
36542
36682
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortByComponent, deps: [{ token: SearchFacade }, { token: SearchService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36543
36683
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SortByComponent, isStandalone: true, selector: "gn-ui-sort-by", inputs: { isQualitySortable: "isQualitySortable" }, ngImport: i0, template: "<gn-ui-dropdown-selector\n [title]=\"'search.field.sortBy' | translate\"\n [choices]=\"choices\"\n (selectValue)=\"changeSortBy($event)\"\n [selected]=\"currentSortBy$ | async\"\n ariaName=\"search-sort-by\"\n></gn-ui-dropdown-selector>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
@@ -38220,13 +38360,24 @@ class DataService {
|
|
|
38220
38360
|
if (!featureType) {
|
|
38221
38361
|
throw new Error('wfs.featuretype.notfound');
|
|
38222
38362
|
}
|
|
38363
|
+
const wfsVersion = endpoint.getVersion();
|
|
38364
|
+
const addSrsName = wfsVersion === '1.1.0' || wfsVersion === '2.0.0';
|
|
38365
|
+
const defaultCrs = featureType.defaultCrs;
|
|
38366
|
+
const shouldAddOutputCrs = addSrsName && defaultCrs;
|
|
38223
38367
|
return {
|
|
38224
|
-
all: featureType.outputFormats.reduce((prev, curr) =>
|
|
38225
|
-
|
|
38226
|
-
|
|
38227
|
-
|
|
38228
|
-
|
|
38229
|
-
|
|
38368
|
+
all: featureType.outputFormats.reduce((prev, curr) => {
|
|
38369
|
+
const isJsonFormat = curr.toLowerCase().includes('json');
|
|
38370
|
+
return {
|
|
38371
|
+
...prev,
|
|
38372
|
+
[curr]: endpoint.getFeatureUrl(featureType.name, {
|
|
38373
|
+
outputFormat: curr,
|
|
38374
|
+
...(shouldAddOutputCrs &&
|
|
38375
|
+
!isJsonFormat && {
|
|
38376
|
+
outputCrs: defaultCrs,
|
|
38377
|
+
}),
|
|
38378
|
+
}),
|
|
38379
|
+
};
|
|
38380
|
+
}, {}),
|
|
38230
38381
|
geojson: endpoint.supportsJson(featureType.name)
|
|
38231
38382
|
? endpoint.getFeatureUrl(featureType.name, {
|
|
38232
38383
|
asJson: true,
|
|
@@ -38901,6 +39052,8 @@ class ChartViewComponent {
|
|
|
38901
39052
|
this.chartType$.next(value);
|
|
38902
39053
|
}
|
|
38903
39054
|
set userChartConfig(config) {
|
|
39055
|
+
if (!config)
|
|
39056
|
+
return;
|
|
38904
39057
|
this.aggregation$.next(config.aggregation);
|
|
38905
39058
|
this.xProperty$.next(config.xProperty);
|
|
38906
39059
|
this.yProperty$.next(config.yProperty);
|
|
@@ -39338,6 +39491,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39338
39491
|
type: Input
|
|
39339
39492
|
}] } });
|
|
39340
39493
|
|
|
39494
|
+
class StacViewComponent {
|
|
39495
|
+
constructor() {
|
|
39496
|
+
this.currentTemporalExtent = null;
|
|
39497
|
+
this.isTemporalFilterModified = false;
|
|
39498
|
+
}
|
|
39499
|
+
onStartDateChange(date) {
|
|
39500
|
+
this.currentTemporalExtent = {
|
|
39501
|
+
...this.currentTemporalExtent,
|
|
39502
|
+
start: date,
|
|
39503
|
+
};
|
|
39504
|
+
this.isTemporalFilterModified = true;
|
|
39505
|
+
}
|
|
39506
|
+
onEndDateChange(date) {
|
|
39507
|
+
this.currentTemporalExtent = {
|
|
39508
|
+
...this.currentTemporalExtent,
|
|
39509
|
+
end: date,
|
|
39510
|
+
};
|
|
39511
|
+
this.isTemporalFilterModified = true;
|
|
39512
|
+
}
|
|
39513
|
+
onResetFilters() {
|
|
39514
|
+
this.currentTemporalExtent = this.initialTemporalExtent;
|
|
39515
|
+
this.isTemporalFilterModified = false;
|
|
39516
|
+
}
|
|
39517
|
+
ngOnInit() {
|
|
39518
|
+
this.currentTemporalExtent = this.initialTemporalExtent;
|
|
39519
|
+
}
|
|
39520
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StacViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39521
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StacViewComponent, isStandalone: true, selector: "gn-ui-stac-view", inputs: { link: "link", initialTemporalExtent: "initialTemporalExtent" }, ngImport: i0, template: "<div\n class=\"w-full h-full flex flex-row mt-6 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n>\n <div class=\"flex-1 flex flex-col\">\n <div class=\"m-8\">\n <p class=\"mb-4\" translate>stac.filter.period</p>\n <p translate>stac.filter.from</p>\n <gn-ui-date-picker\n id=\"start-date-picker\"\n [date]=\"currentTemporalExtent?.start\"\n (dateChange)=\"onStartDateChange($event)\"\n />\n <p class=\"mt-4\" translate>stac.filter.to</p>\n <gn-ui-date-picker\n id=\"end-date-picker\"\n [date]=\"currentTemporalExtent?.end\"\n (dateChange)=\"onEndDateChange($event)\"\n />\n </div>\n\n <div class=\"mt-auto mb-8 mx-8\" *ngIf=\"isTemporalFilterModified\">\n <button\n id=\"reset-filters-button\"\n type=\"button\"\n class=\"flex items-center\"\n (click)=\"onResetFilters()\"\n >\n <span translate>stac.filter.reset</span>\n <ng-icon\n name=\"matDeleteOutline\"\n class=\"pointer-events-none ml-2\"\n ></ng-icon>\n </button>\n </div>\n </div>\n\n <div class=\"w-[655px] flex-shrink-0 flex items-center justify-center\">\n <span>Map...</span>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DatePickerComponent, selector: "gn-ui-date-picker", inputs: ["date"], outputs: ["dateChange"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], viewProviders: [provideIcons({ matDeleteOutline })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39522
|
+
}
|
|
39523
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StacViewComponent, decorators: [{
|
|
39524
|
+
type: Component,
|
|
39525
|
+
args: [{ selector: 'gn-ui-stac-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
39526
|
+
CommonModule,
|
|
39527
|
+
DatePickerComponent,
|
|
39528
|
+
NgIconComponent,
|
|
39529
|
+
TranslateDirective,
|
|
39530
|
+
], viewProviders: [provideIcons({ matDeleteOutline })], template: "<div\n class=\"w-full h-full flex flex-row mt-6 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n>\n <div class=\"flex-1 flex flex-col\">\n <div class=\"m-8\">\n <p class=\"mb-4\" translate>stac.filter.period</p>\n <p translate>stac.filter.from</p>\n <gn-ui-date-picker\n id=\"start-date-picker\"\n [date]=\"currentTemporalExtent?.start\"\n (dateChange)=\"onStartDateChange($event)\"\n />\n <p class=\"mt-4\" translate>stac.filter.to</p>\n <gn-ui-date-picker\n id=\"end-date-picker\"\n [date]=\"currentTemporalExtent?.end\"\n (dateChange)=\"onEndDateChange($event)\"\n />\n </div>\n\n <div class=\"mt-auto mb-8 mx-8\" *ngIf=\"isTemporalFilterModified\">\n <button\n id=\"reset-filters-button\"\n type=\"button\"\n class=\"flex items-center\"\n (click)=\"onResetFilters()\"\n >\n <span translate>stac.filter.reset</span>\n <ng-icon\n name=\"matDeleteOutline\"\n class=\"pointer-events-none ml-2\"\n ></ng-icon>\n </button>\n </div>\n </div>\n\n <div class=\"w-[655px] flex-shrink-0 flex items-center justify-center\">\n <span>Map...</span>\n </div>\n</div>\n" }]
|
|
39531
|
+
}], propDecorators: { link: [{
|
|
39532
|
+
type: Input
|
|
39533
|
+
}], initialTemporalExtent: [{
|
|
39534
|
+
type: Input
|
|
39535
|
+
}] } });
|
|
39536
|
+
|
|
39341
39537
|
/**
|
|
39342
39538
|
* The Metadata View Facade is used to render complete metadata records.
|
|
39343
39539
|
* Supply it with an incomplete record (at least containing the uuid) and the
|
|
@@ -39368,8 +39564,21 @@ class MdViewFacade {
|
|
|
39368
39564
|
this.sourceOf$ = this.store.pipe(select(getSourceOf));
|
|
39369
39565
|
this.chartConfig$ = this.store.pipe(select(getChartConfig));
|
|
39370
39566
|
this.allLinks$ = this.metadata$.pipe(map$1((record) => 'onlineResources' in record ? record.onlineResources : []), shareReplay$1(1));
|
|
39567
|
+
this.resourceDoi$ = this.metadata$.pipe(map$1((record) => {
|
|
39568
|
+
if (!record?.resourceIdentifiers?.length)
|
|
39569
|
+
return null;
|
|
39570
|
+
const doiIdentifier = record.resourceIdentifiers.find((id) => id.codeSpace?.toLowerCase().includes('doi.org') ||
|
|
39571
|
+
id.code.startsWith('10.'));
|
|
39572
|
+
if (!doiIdentifier)
|
|
39573
|
+
return null;
|
|
39574
|
+
return {
|
|
39575
|
+
code: doiIdentifier.code,
|
|
39576
|
+
url: doiIdentifier.url ? doiIdentifier.url : null,
|
|
39577
|
+
};
|
|
39578
|
+
}), shareReplay$1(1));
|
|
39371
39579
|
this.apiLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.API))), shareReplay$1(1));
|
|
39372
39580
|
this.mapApiLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.MAP_API))), shareReplay$1(1));
|
|
39581
|
+
this.stacLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => link.type === 'service' && link.accessServiceProtocol === 'stac')), shareReplay$1(1));
|
|
39373
39582
|
this.downloadLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DOWNLOAD))));
|
|
39374
39583
|
this.dataLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DATA))));
|
|
39375
39584
|
this.geoDataLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.GEODATA))));
|
|
@@ -39527,8 +39736,9 @@ class DataViewPermalinkComponent {
|
|
|
39527
39736
|
set viewType(value) {
|
|
39528
39737
|
this.viewType$.next(value);
|
|
39529
39738
|
}
|
|
39530
|
-
constructor(config, wcEmbedderBaseUrl, facade) {
|
|
39739
|
+
constructor(config, proxyPath, wcEmbedderBaseUrl, facade) {
|
|
39531
39740
|
this.config = config;
|
|
39741
|
+
this.proxyPath = proxyPath;
|
|
39532
39742
|
this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
|
|
39533
39743
|
this.facade = facade;
|
|
39534
39744
|
this.viewType$ = new BehaviorSubject('map');
|
|
@@ -39561,6 +39771,9 @@ class DataViewPermalinkComponent {
|
|
|
39561
39771
|
url.searchParams.append('e', `gn-dataset-view-map`);
|
|
39562
39772
|
}
|
|
39563
39773
|
url.searchParams.append('a', `api-url=${this.config.basePath}`);
|
|
39774
|
+
if (this.proxyPath) {
|
|
39775
|
+
url.searchParams.append('a', `proxy-path=${this.proxyPath}`);
|
|
39776
|
+
}
|
|
39564
39777
|
url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`);
|
|
39565
39778
|
url.searchParams.append('a', `primary-color=#0f4395`);
|
|
39566
39779
|
url.searchParams.append('a', `secondary-color=#8bc832`);
|
|
@@ -39569,7 +39782,7 @@ class DataViewPermalinkComponent {
|
|
|
39569
39782
|
return url.toString();
|
|
39570
39783
|
}));
|
|
39571
39784
|
}
|
|
39572
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, deps: [{ token: Configuration }, { token: WEB_COMPONENT_EMBEDDER_URL, optional: true }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39785
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, deps: [{ token: Configuration }, { token: PROXY_PATH, optional: true }, { token: WEB_COMPONENT_EMBEDDER_URL, optional: true }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39573
39786
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewPermalinkComponent, isStandalone: true, selector: "gn-ui-data-view-permalink", inputs: { viewType: "viewType" }, ngImport: i0, template: "<gn-ui-copy-text-button\n *ngIf=\"wcEmbedderBaseUrl\"\n [text]=\"permalinkUrl$ | async\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39574
39787
|
}
|
|
39575
39788
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, decorators: [{
|
|
@@ -39580,6 +39793,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39580
39793
|
args: [Configuration]
|
|
39581
39794
|
}] }, { type: undefined, decorators: [{
|
|
39582
39795
|
type: Optional
|
|
39796
|
+
}, {
|
|
39797
|
+
type: Inject,
|
|
39798
|
+
args: [PROXY_PATH]
|
|
39799
|
+
}] }, { type: undefined, decorators: [{
|
|
39800
|
+
type: Optional
|
|
39583
39801
|
}, {
|
|
39584
39802
|
type: Inject,
|
|
39585
39803
|
args: [WEB_COMPONENT_EMBEDDER_URL]
|
|
@@ -39688,8 +39906,9 @@ class DataViewWebComponentComponent {
|
|
|
39688
39906
|
set viewType(value) {
|
|
39689
39907
|
this.viewType$.next(value);
|
|
39690
39908
|
}
|
|
39691
|
-
constructor(config, facade) {
|
|
39909
|
+
constructor(config, proxyPath, facade) {
|
|
39692
39910
|
this.config = config;
|
|
39911
|
+
this.proxyPath = proxyPath;
|
|
39693
39912
|
this.facade = facade;
|
|
39694
39913
|
this.viewType$ = new BehaviorSubject('map');
|
|
39695
39914
|
this.webComponentHtml$ = combineLatest(this.viewType$, this.facade.chartConfig$, this.facade.metadata$).pipe(map$2(([viewType, config, metadata]) => {
|
|
@@ -39698,7 +39917,10 @@ class DataViewWebComponentComponent {
|
|
|
39698
39917
|
const { aggregation, xProperty, yProperty, chartType } = config;
|
|
39699
39918
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
|
|
39700
39919
|
<gn-dataset-view-chart
|
|
39701
|
-
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
39920
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
|
|
39921
|
+
? `
|
|
39922
|
+
proxy-path="${this.proxyPath}"`
|
|
39923
|
+
: ''}
|
|
39702
39924
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
39703
39925
|
aggregation="${aggregation}"
|
|
39704
39926
|
x-property="${xProperty}"
|
|
@@ -39717,7 +39939,10 @@ class DataViewWebComponentComponent {
|
|
|
39717
39939
|
else if (viewType === 'table') {
|
|
39718
39940
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
|
|
39719
39941
|
<gn-dataset-view-table
|
|
39720
|
-
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
39942
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
|
|
39943
|
+
? `
|
|
39944
|
+
proxy-path="${this.proxyPath}"`
|
|
39945
|
+
: ''}
|
|
39721
39946
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
39722
39947
|
primary-color="#0f4395"
|
|
39723
39948
|
secondary-color="#8bc832"
|
|
@@ -39730,7 +39955,10 @@ class DataViewWebComponentComponent {
|
|
|
39730
39955
|
else {
|
|
39731
39956
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
|
|
39732
39957
|
<gn-dataset-view-map
|
|
39733
|
-
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
39958
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
|
|
39959
|
+
? `
|
|
39960
|
+
proxy-path="${this.proxyPath}"`
|
|
39961
|
+
: ''}
|
|
39734
39962
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
39735
39963
|
primary-color="#0f4395"
|
|
39736
39964
|
secondary-color="#8bc832"
|
|
@@ -39742,7 +39970,7 @@ class DataViewWebComponentComponent {
|
|
|
39742
39970
|
}
|
|
39743
39971
|
}));
|
|
39744
39972
|
}
|
|
39745
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewWebComponentComponent, deps: [{ token: Configuration }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39973
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewWebComponentComponent, deps: [{ token: Configuration }, { token: PROXY_PATH, optional: true }, { token: MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39746
39974
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewWebComponentComponent, isStandalone: true, selector: "gn-ui-data-view-web-component", inputs: { viewType: "viewType" }, ngImport: i0, template: "<gn-ui-copy-text-button\n [text]=\"webComponentHtml$ | async\"\n [rows]=\"3\"\n [tooltipText]=\"'tooltip.html.copy' | translate\"\n></gn-ui-copy-text-button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39747
39975
|
}
|
|
39748
39976
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewWebComponentComponent, decorators: [{
|
|
@@ -39751,6 +39979,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39751
39979
|
}], ctorParameters: () => [{ type: Configuration, decorators: [{
|
|
39752
39980
|
type: Inject,
|
|
39753
39981
|
args: [Configuration]
|
|
39982
|
+
}] }, { type: undefined, decorators: [{
|
|
39983
|
+
type: Optional
|
|
39984
|
+
}, {
|
|
39985
|
+
type: Inject,
|
|
39986
|
+
args: [PROXY_PATH]
|
|
39754
39987
|
}] }, { type: MdViewFacade }], propDecorators: { viewType: [{
|
|
39755
39988
|
type: Input
|
|
39756
39989
|
}] } });
|
|
@@ -40871,7 +41104,7 @@ const RECORD_RESOURCE_CREATED_FIELD = {
|
|
|
40871
41104
|
gridColumnSpan: 1,
|
|
40872
41105
|
};
|
|
40873
41106
|
const RESOURCE_IDENTIFIER_FIELD = {
|
|
40874
|
-
model: '
|
|
41107
|
+
model: 'resourceIdentifiers',
|
|
40875
41108
|
formFieldConfig: {
|
|
40876
41109
|
labelKey: marker('editor.record.form.field.resourceIdentifier'),
|
|
40877
41110
|
},
|
|
@@ -43385,8 +43618,28 @@ class FormFieldComponent {
|
|
|
43385
43618
|
get valueAsOnlineResources() {
|
|
43386
43619
|
return this.value;
|
|
43387
43620
|
}
|
|
43621
|
+
get valueAsResourceIdentifierCode() {
|
|
43622
|
+
const identifiers = this.value;
|
|
43623
|
+
return identifiers?.[0]?.code || '';
|
|
43624
|
+
}
|
|
43625
|
+
handleResourceIdentifierChange(code) {
|
|
43626
|
+
const identifiers = this.value;
|
|
43627
|
+
if (!code) {
|
|
43628
|
+
this.valueChange.emit(identifiers?.slice(1) || []);
|
|
43629
|
+
return;
|
|
43630
|
+
}
|
|
43631
|
+
if (identifiers?.[0]) {
|
|
43632
|
+
this.valueChange.emit([
|
|
43633
|
+
{ ...identifiers[0], code },
|
|
43634
|
+
...identifiers.slice(1),
|
|
43635
|
+
]);
|
|
43636
|
+
}
|
|
43637
|
+
else {
|
|
43638
|
+
this.valueChange.emit([{ code }]);
|
|
43639
|
+
}
|
|
43640
|
+
}
|
|
43388
43641
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43389
|
-
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 }); }
|
|
43642
|
+
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=\"'resourceIdentifiers'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsResourceIdentifierCode\"\n (valueChange)=\"handleResourceIdentifierChange($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 }); }
|
|
43390
43643
|
}
|
|
43391
43644
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
43392
43645
|
type: Component,
|
|
@@ -43413,7 +43666,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43413
43666
|
FormFieldSpatialToggleComponent,
|
|
43414
43667
|
FormFieldTopicsComponent,
|
|
43415
43668
|
TextFieldModule,
|
|
43416
|
-
], 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=\"'
|
|
43669
|
+
], 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=\"'resourceIdentifiers'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsResourceIdentifierCode\"\n (valueChange)=\"handleResourceIdentifierChange($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" }]
|
|
43417
43670
|
}], propDecorators: { uniqueIdentifier: [{
|
|
43418
43671
|
type: Input
|
|
43419
43672
|
}], model: [{
|
|
@@ -43838,6 +44091,9 @@ class RouterService {
|
|
|
43838
44091
|
getOrganizationPageRoute() {
|
|
43839
44092
|
return ROUTER_ROUTE_ORGANIZATION;
|
|
43840
44093
|
}
|
|
44094
|
+
getDefaultSort() {
|
|
44095
|
+
return SortByEnum.RESOURCE_DATES;
|
|
44096
|
+
}
|
|
43841
44097
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, deps: [{ token: ROUTER_CONFIG }, { token: i1$d.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
43842
44098
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, providedIn: 'root' }); }
|
|
43843
44099
|
}
|
|
@@ -43998,13 +44254,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43998
44254
|
}], ctorParameters: () => [{ type: i1$3.Store }, { type: RouterService }] });
|
|
43999
44255
|
|
|
44000
44256
|
class RouterEffects {
|
|
44001
|
-
constructor(_actions$, _router, _location, facade, routerConfig, fieldsService) {
|
|
44257
|
+
constructor(_actions$, _router, _location, facade, routerConfig, fieldsService, routerService) {
|
|
44002
44258
|
this._actions$ = _actions$;
|
|
44003
44259
|
this._router = _router;
|
|
44004
44260
|
this._location = _location;
|
|
44005
44261
|
this.facade = facade;
|
|
44006
44262
|
this.routerConfig = routerConfig;
|
|
44007
44263
|
this.fieldsService = fieldsService;
|
|
44264
|
+
this.routerService = routerService;
|
|
44008
44265
|
this.navigate$ = createEffect(() => this._actions$.pipe(ofType(goAction), tap$1(({ path, query: queryParams, queryParamsHandling }) => {
|
|
44009
44266
|
this._router.navigate([path], {
|
|
44010
44267
|
queryParams,
|
|
@@ -44016,14 +44273,14 @@ class RouterEffects {
|
|
|
44016
44273
|
.pipe(map$1((filters) => [searchParams, filters]))), startWith([null, {}]), pairwise(), map$1(([[oldParams, oldFilters], [newParams, newFilters]]) => {
|
|
44017
44274
|
let sortBy = ROUTE_PARAMS.SORT in newParams
|
|
44018
44275
|
? sortByFromString(newParams[ROUTE_PARAMS.SORT])
|
|
44019
|
-
:
|
|
44276
|
+
: this.routerService.getDefaultSort();
|
|
44020
44277
|
let pageNumber = ROUTE_PARAMS.PAGE in newParams
|
|
44021
44278
|
? parseInt(newParams[ROUTE_PARAMS.PAGE])
|
|
44022
44279
|
: 1;
|
|
44023
44280
|
if (oldParams !== null) {
|
|
44024
44281
|
const oldSort = ROUTE_PARAMS.SORT in oldParams
|
|
44025
44282
|
? sortByFromString(oldParams[ROUTE_PARAMS.SORT])
|
|
44026
|
-
:
|
|
44283
|
+
: this.routerService.getDefaultSort();
|
|
44027
44284
|
if (JSON.stringify(sortBy) === JSON.stringify(oldSort)) {
|
|
44028
44285
|
sortBy = null;
|
|
44029
44286
|
}
|
|
@@ -44080,7 +44337,7 @@ class RouterEffects {
|
|
|
44080
44337
|
this.navigateBack$ = createEffect(() => this._actions$.pipe(ofType(backAction), tap$1(() => this._location.back())), { dispatch: false });
|
|
44081
44338
|
this.navigateForward$ = createEffect(() => this._actions$.pipe(ofType(forwardAction), tap$1(() => this._location.forward())), { dispatch: false });
|
|
44082
44339
|
}
|
|
44083
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, deps: [{ token: i1$c.Actions }, { token: i1$d.Router }, { token: i1$2.Location }, { token: RouterFacade }, { token: ROUTER_CONFIG }, { token: FieldsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44340
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, deps: [{ token: i1$c.Actions }, { token: i1$d.Router }, { token: i1$2.Location }, { token: RouterFacade }, { token: ROUTER_CONFIG }, { token: FieldsService }, { token: RouterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44084
44341
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects }); }
|
|
44085
44342
|
}
|
|
44086
44343
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, decorators: [{
|
|
@@ -44088,7 +44345,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
44088
44345
|
}], ctorParameters: () => [{ type: i1$c.Actions }, { type: i1$d.Router }, { type: i1$2.Location }, { type: RouterFacade }, { type: undefined, decorators: [{
|
|
44089
44346
|
type: Inject,
|
|
44090
44347
|
args: [ROUTER_CONFIG]
|
|
44091
|
-
}] }, { type: FieldsService }] });
|
|
44348
|
+
}] }, { type: FieldsService }, { type: RouterService }] });
|
|
44092
44349
|
|
|
44093
44350
|
class DefaultRouterModule {
|
|
44094
44351
|
constructor(routerService) {
|
|
@@ -44226,5 +44483,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
44226
44483
|
* Generated bundle index. Do not edit.
|
|
44227
44484
|
*/
|
|
44228
44485
|
|
|
44229
|
-
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 };
|
|
44486
|
+
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, MetadataDoiComponent, 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, OrganizationsServiceInterface, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PlatformServiceInterface, 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, StacViewComponent, 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 };
|
|
44230
44487
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|