geonetwork-ui 2.8.0-dev.6f6597946 → 2.8.0-dev.7ecc6ee1d
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 +5 -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 +26 -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 +3 -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/external-link-card/external-link-card.component.mjs +11 -4
- 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 +5 -9
- package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +5 -5
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +2 -3
- package/esm2022/libs/util/i18n/src/lib/date-locales.mjs +33 -0
- package/esm2022/libs/util/shared/src/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/humanize-date.directive.mjs +33 -0
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +12 -1
- package/esm2022/libs/util/shared/src/lib/services/date.service.mjs +19 -2
- package/esm2022/libs/util/shared/src/lib/utils/sort-by.mjs +9 -6
- package/esm2022/translations/de.json +16 -3
- package/esm2022/translations/en.json +16 -4
- package/esm2022/translations/es.json +15 -2
- package/esm2022/translations/fr.json +16 -3
- package/esm2022/translations/it.json +17 -4
- package/esm2022/translations/nl.json +15 -2
- package/esm2022/translations/pt.json +15 -2
- package/esm2022/translations/sk.json +16 -3
- package/fesm2022/geonetwork-ui-date-locales-MYnkDJ5h.mjs +35 -0
- package/fesm2022/geonetwork-ui-date-locales-MYnkDJ5h.mjs.map +1 -0
- package/fesm2022/geonetwork-ui.mjs +442 -152
- 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/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.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/elements/src/lib/metadata-info/metadata-info.component.d.ts +0 -2
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
- package/libs/util/i18n/src/lib/date-locales.d.ts +5 -0
- package/libs/util/i18n/src/lib/date-locales.d.ts.map +1 -0
- package/libs/util/shared/src/index.d.ts +1 -0
- package/libs/util/shared/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/humanize-date.directive.d.ts +15 -0
- package/libs/util/shared/src/lib/humanize-date.directive.d.ts.map +1 -0
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -0
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/date.service.d.ts +4 -0
- package/libs/util/shared/src/lib/services/date.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 +2 -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 +28 -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 +12 -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 +19 -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/external-link-card/external-link-card.component.html +43 -22
- package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.ts +12 -3
- 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 +67 -21
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +2 -9
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +1 -1
- package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +2 -2
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +4 -2
- package/src/libs/util/i18n/src/lib/date-locales.ts +63 -0
- package/src/libs/util/shared/src/index.ts +1 -0
- package/src/libs/util/shared/src/lib/humanize-date.directive.ts +35 -0
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -0
- package/src/libs/util/shared/src/lib/links/link-utils.ts +11 -0
- package/src/libs/util/shared/src/lib/services/date.service.ts +27 -1
- package/src/libs/util/shared/src/lib/utils/sort-by.ts +8 -5
- package/translations/de.json +16 -3
- package/translations/en.json +16 -4
- package/translations/es.json +15 -2
- package/translations/fr.json +16 -3
- package/translations/it.json +17 -4
- package/translations/nl.json +15 -2
- package/translations/pt.json +15 -2
- package/translations/sk.json +16 -3
- package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +0 -59
- package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts +0 -11
- package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts.map +0 -1
- package/src/libs/common/domain/src/lib/index.ts +0 -2
- package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +0 -54
|
@@ -7,7 +7,7 @@ import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
|
7
7
|
import { format } from 'date-fns/format';
|
|
8
8
|
import { Namespace, Literal, lit, parse as parse$2, sym, BlankNode, graph } from 'rdflib';
|
|
9
9
|
import * as i0 from '@angular/core';
|
|
10
|
-
import { InjectionToken, Injectable, Optional, Inject, NgModule, SkipSelf, APP_INITIALIZER, makeEnvironmentProviders, Directive, Input, HostListener, EventEmitter, Component, ChangeDetectionStrategy, Output, ViewChild, ViewEncapsulation, HostBinding, TemplateRef, ElementRef, ViewChildren, ContentChild, ContentChildren, Host,
|
|
10
|
+
import { InjectionToken, Injectable, Optional, Inject, NgModule, SkipSelf, APP_INITIALIZER, makeEnvironmentProviders, Directive, Input, HostListener, EventEmitter, Component, ChangeDetectionStrategy, Output, ViewChild, ViewEncapsulation, HostBinding, TemplateRef, ElementRef, ViewChildren, ContentChild, ContentChildren, Host, ViewContainerRef, inject } from '@angular/core';
|
|
11
11
|
import * as i1 from '@angular/common/http';
|
|
12
12
|
import { HttpHeaders, HttpParams, HttpClient, provideHttpClient, withInterceptorsFromDi, HTTP_INTERCEPTORS, HttpEventType } from '@angular/common/http';
|
|
13
13
|
import * as i1$1 from '@ngx-translate/core';
|
|
@@ -15,11 +15,12 @@ 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';
|
|
22
22
|
import { CommonModule, NgIf, NgSwitch, NgSwitchCase, NgSwitchDefault, NgClass, NgTemplateOutlet, DatePipe } from '@angular/common';
|
|
23
|
+
import { formatDistance } from 'date-fns/formatDistance';
|
|
23
24
|
import * as i1$d from '@angular/router';
|
|
24
25
|
import { Scroll, NavigationEnd, RouteReuseStrategy } from '@angular/router';
|
|
25
26
|
import { WmtsEndpoint, WmsEndpoint, WfsEndpoint, OgcApiEndpoint, sharedFetch, useCache, TmsEndpoint } from '@camptocamp/ogc-client';
|
|
@@ -31,7 +32,7 @@ import { queryDataGouvFr, queryGeonames, queryGeoadmin } from '@geospatial-sdk/g
|
|
|
31
32
|
import { FeaturesClickEventType, FeaturesHoverEventType, MapClickEventType, SourceLoadErrorType, computeMapContextDiff, createViewFromLayer } from '@geospatial-sdk/core';
|
|
32
33
|
import { listen, createMapFromContext, applyContextDiffToMap } from '@geospatial-sdk/openlayers';
|
|
33
34
|
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';
|
|
35
|
+
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
36
|
import { createLegendFromLayer } from '@geospatial-sdk/legend';
|
|
36
37
|
import { defaults, DragPan, MouseWheelZoom } from 'ol/interaction';
|
|
37
38
|
import { mouseOnly, noModifierKeys, primaryAction, platformModifierKeyOnly } from 'ol/events/condition';
|
|
@@ -74,8 +75,6 @@ import { createEffect, ofType, EffectsModule, Actions } from '@ngrx/effects';
|
|
|
74
75
|
import { valid as valid$1 } from 'geojson-validation';
|
|
75
76
|
import * as basicLightbox from 'basiclightbox';
|
|
76
77
|
import { marked } from 'marked';
|
|
77
|
-
import { formatDistance } from 'date-fns/formatDistance';
|
|
78
|
-
import { enUS, sk as sk$1, pt as pt$1, nl as nl$1, it as it$1, es as es$1, de as de$1, fr as fr$1 } from 'date-fns/locale';
|
|
79
78
|
import * as i2$3 from '@angular/cdk/scrolling';
|
|
80
79
|
import { CdkScrollable, ScrollingModule } from '@angular/cdk/scrolling';
|
|
81
80
|
import Duration from 'duration-relativetimeformat';
|
|
@@ -666,6 +665,10 @@ function matchProtocol(protocol) {
|
|
|
666
665
|
return 'esriRest';
|
|
667
666
|
if (/DOWNLOAD-1/i.test(protocol))
|
|
668
667
|
return 'GPFDL';
|
|
668
|
+
if (/DB:POSTGIS/i.test(protocol))
|
|
669
|
+
return 'postgis';
|
|
670
|
+
if (/stac\W*items/i.test(protocol))
|
|
671
|
+
return 'stac';
|
|
669
672
|
return 'other';
|
|
670
673
|
}
|
|
671
674
|
function matchMimeType(format) {
|
|
@@ -914,6 +917,8 @@ marker('record.metadata.api.accessServiceProtocol.ogcFeatures');
|
|
|
914
917
|
marker('record.metadata.api.accessServiceProtocol.GPFDL');
|
|
915
918
|
marker('record.metadata.api.accessServiceProtocol.tms');
|
|
916
919
|
marker('record.metadata.api.accessServiceProtocol.maplibre-style');
|
|
920
|
+
marker('record.metadata.api.accessServiceProtocol.postgis');
|
|
921
|
+
marker('record.metadata.api.accessServiceProtocol.stac');
|
|
917
922
|
marker('record.metadata.api.accessServiceProtocol.other');
|
|
918
923
|
|
|
919
924
|
function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
|
|
@@ -1574,7 +1579,8 @@ function readDefaultLanguage$2(rootEl) {
|
|
|
1574
1579
|
return pipe(findChildElement('gmd:language', false), findChildElement('lan:LanguageCode'), readAttribute('codeListValue'), map((lang) => (lang ? toLang2(lang.toLowerCase()) : null)))(rootEl);
|
|
1575
1580
|
}
|
|
1576
1581
|
function readResourceIdentifier(rootEl) {
|
|
1577
|
-
|
|
1582
|
+
const code = pipe(findIdentification(), findNestedElement('gmd:citation', 'gmd:CI_Citation', 'gmd:identifier', 'gmd:MD_Identifier', 'gmd:code'), extractCharacterString())(rootEl);
|
|
1583
|
+
return code ? [{ code }] : [];
|
|
1578
1584
|
}
|
|
1579
1585
|
|
|
1580
1586
|
function writeLocalizedElement(writeFn, text, translations, defaultLanguage) {
|
|
@@ -2080,8 +2086,9 @@ function writeDefaultLanguage$1(record, rootEl) {
|
|
|
2080
2086
|
return pipe(findNestedChildOrCreate('gmd:language', 'gmd:LanguageCode'), writeAttribute('codeList', 'http://www.loc.gov/standards/iso639-2/'), writeAttribute('codeListValue', lang3))(rootEl);
|
|
2081
2087
|
}
|
|
2082
2088
|
function writeResourceIdentifier(record, rootEl) {
|
|
2083
|
-
|
|
2084
|
-
|
|
2089
|
+
const firstIdentifier = record.resourceIdentifiers?.[0]?.code;
|
|
2090
|
+
pipe(findOrCreateIdentification(), findNestedChildOrCreate('gmd:citation', 'gmd:CI_Citation'), removeChildrenByName('gmd:identifier'), firstIdentifier
|
|
2091
|
+
? pipe(createNestedChild('gmd:identifier', 'gmd:MD_Identifier', 'gmd:code'), writeCharacterString(firstIdentifier))
|
|
2085
2092
|
: noop)(rootEl);
|
|
2086
2093
|
}
|
|
2087
2094
|
|
|
@@ -2095,7 +2102,7 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2095
2102
|
recordUpdated: readRecordUpdated$2,
|
|
2096
2103
|
recordCreated: () => undefined, // not supported in ISO19139
|
|
2097
2104
|
recordPublished: () => undefined, // not supported in ISO19139
|
|
2098
|
-
|
|
2105
|
+
resourceIdentifiers: readResourceIdentifier,
|
|
2099
2106
|
resourceUpdated: readResourceUpdated$1,
|
|
2100
2107
|
resourceCreated: readResourceCreated$1,
|
|
2101
2108
|
resourcePublished: readResourcePublished,
|
|
@@ -2132,7 +2139,7 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2132
2139
|
recordUpdated: writeRecordUpdated$1,
|
|
2133
2140
|
recordCreated: () => undefined, // not supported in ISO19139
|
|
2134
2141
|
recordPublished: () => undefined, // not supported in ISO19139
|
|
2135
|
-
|
|
2142
|
+
resourceIdentifiers: writeResourceIdentifier,
|
|
2136
2143
|
resourceUpdated: writeResourceUpdated$1,
|
|
2137
2144
|
resourceCreated: writeResourceCreated$1,
|
|
2138
2145
|
resourcePublished: writeResourcePublished$1,
|
|
@@ -2233,11 +2240,11 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2233
2240
|
const onlineResources = this.readers['onlineResources'](rootEl, tr);
|
|
2234
2241
|
const otherLanguages = this.readers['otherLanguages'](rootEl, tr);
|
|
2235
2242
|
const defaultLanguage = this.readers['defaultLanguage'](rootEl, tr);
|
|
2236
|
-
const
|
|
2243
|
+
const resourceIdentifiers = this.readers['resourceIdentifiers'](rootEl, tr);
|
|
2237
2244
|
const spatialExtents = this.readers['spatialExtents'](rootEl, tr);
|
|
2238
2245
|
return {
|
|
2239
2246
|
uniqueIdentifier,
|
|
2240
|
-
...(
|
|
2247
|
+
...(resourceIdentifiers?.length > 0 && { resourceIdentifiers }),
|
|
2241
2248
|
kind,
|
|
2242
2249
|
otherLanguages,
|
|
2243
2250
|
defaultLanguage,
|
|
@@ -2365,8 +2372,8 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2365
2372
|
this.writers['otherConstraints'](record, rootEl);
|
|
2366
2373
|
fieldChanged('onlineResources') &&
|
|
2367
2374
|
this.writers['onlineResources'](record, rootEl);
|
|
2368
|
-
fieldChanged('
|
|
2369
|
-
this.writers['
|
|
2375
|
+
fieldChanged('resourceIdentifiers') &&
|
|
2376
|
+
this.writers['resourceIdentifiers'](record, rootEl);
|
|
2370
2377
|
if (record.kind === 'dataset') {
|
|
2371
2378
|
fieldChanged('status') && this.writers['status'](record, rootEl);
|
|
2372
2379
|
fieldChanged('updateFrequency') &&
|
|
@@ -3313,7 +3320,7 @@ class DcatApConverter extends BaseConverter {
|
|
|
3313
3320
|
spatialExtents: readSpatialExtents,
|
|
3314
3321
|
keywords: readKeywords,
|
|
3315
3322
|
topics: readTopics,
|
|
3316
|
-
|
|
3323
|
+
resourceIdentifiers: () => undefined,
|
|
3317
3324
|
recordUpdated: readRecordUpdated,
|
|
3318
3325
|
recordCreated: readRecordCreated,
|
|
3319
3326
|
resourceUpdated: readResourceUpdated,
|
|
@@ -3349,7 +3356,7 @@ class DcatApConverter extends BaseConverter {
|
|
|
3349
3356
|
recordUpdated: () => undefined,
|
|
3350
3357
|
recordCreated: () => undefined,
|
|
3351
3358
|
recordPublished: () => undefined,
|
|
3352
|
-
|
|
3359
|
+
resourceIdentifiers: () => undefined,
|
|
3353
3360
|
resourceUpdated: () => undefined,
|
|
3354
3361
|
resourceCreated: () => undefined,
|
|
3355
3362
|
resourcePublished: () => undefined,
|
|
@@ -19159,6 +19166,8 @@ var de = {
|
|
|
19159
19166
|
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
19160
19167
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
19161
19168
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
19169
|
+
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
19170
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
19162
19171
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
19163
19172
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
19164
19173
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -19200,13 +19209,16 @@ var de = {
|
|
|
19200
19209
|
"record.metadata.contact": "Kontakt",
|
|
19201
19210
|
"record.metadata.creation": "Erstellungsdatum",
|
|
19202
19211
|
"record.metadata.details": "Über die Daten",
|
|
19212
|
+
"record.metadata.doi.copy": "",
|
|
19213
|
+
"record.metadata.doi.open": "",
|
|
19203
19214
|
"record.metadata.download": "Downloads",
|
|
19204
19215
|
"record.metadata.feature.catalog": "",
|
|
19205
19216
|
"record.metadata.formats": "Formate",
|
|
19206
19217
|
"record.metadata.isGeographical": "Geographischer Datensatz",
|
|
19207
19218
|
"record.metadata.keywords": "Stichworte",
|
|
19208
19219
|
"record.metadata.languages": "Sprachen",
|
|
19209
|
-
"record.metadata.
|
|
19220
|
+
"record.metadata.link.postgis.table": "",
|
|
19221
|
+
"record.metadata.link.postgis.tooltip": "",
|
|
19210
19222
|
"record.metadata.linked.datasets": "Verknüpfte Datensätze",
|
|
19211
19223
|
"record.metadata.linked.records": "Verknüpfte Inhalte",
|
|
19212
19224
|
"record.metadata.linked.reuses": "Verknüpfte Wiederverwendungen",
|
|
@@ -19247,6 +19259,9 @@ var de = {
|
|
|
19247
19259
|
"record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
|
|
19248
19260
|
"record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
|
|
19249
19261
|
"record.metadata.related": "Entdecken Sie den Katalog",
|
|
19262
|
+
"record.metadata.resourceCreated": "Erstellt",
|
|
19263
|
+
"record.metadata.resourcePublished": "Veröffentlicht",
|
|
19264
|
+
"record.metadata.resourceUpdated": "Zuletzt aktualisiert",
|
|
19250
19265
|
"record.metadata.ressources.and.links": "Ressourcen und Links",
|
|
19251
19266
|
"record.metadata.sheet": "Weitere Informationen verfügbar unter:",
|
|
19252
19267
|
"record.metadata.status": "Status",
|
|
@@ -19259,8 +19274,9 @@ var de = {
|
|
|
19259
19274
|
"record.metadata.title": "Titel",
|
|
19260
19275
|
"record.metadata.topics": "Kategorien",
|
|
19261
19276
|
"record.metadata.uniqueId": "Eindeutige Kennung",
|
|
19277
|
+
"record.metadata.update": "Aktualisierungsdatum",
|
|
19262
19278
|
"record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
|
|
19263
|
-
"record.metadata.updatedOn": "
|
|
19279
|
+
"record.metadata.updatedOn": "Informationen geändert",
|
|
19264
19280
|
"record.metadata.usage": "Nutzung und Einschränkungen",
|
|
19265
19281
|
"record.metadata.userFeedbacks": "",
|
|
19266
19282
|
"record.metadata.userFeedbacks.anonymousUser": "",
|
|
@@ -19275,6 +19291,7 @@ var de = {
|
|
|
19275
19291
|
"record.tab.chart": "Diagramm",
|
|
19276
19292
|
"record.tab.data": "Tabelle",
|
|
19277
19293
|
"record.tab.map": "Karte",
|
|
19294
|
+
"record.tab.stac": "",
|
|
19278
19295
|
"record.was.created.time": "erstellte diesen Ressource {time}",
|
|
19279
19296
|
records: records$7,
|
|
19280
19297
|
"results.layout.selectOne": "Layout auswählen",
|
|
@@ -19283,7 +19300,6 @@ var de = {
|
|
|
19283
19300
|
"results.records.hits.found": "{hits, plural, =0{Keine Ressource entsprechen der angegebenen Suche.} one{1 Ressource gefunden.} other{{hits} Ressourcen gefunden.}}",
|
|
19284
19301
|
"results.records.hits.selected": "{ amount } ausgewählt",
|
|
19285
19302
|
"results.showMore": "Mehr Ergebnisse anzeigen...",
|
|
19286
|
-
"results.sortBy.changeDate": "",
|
|
19287
19303
|
"results.sortBy.dateStamp": "Neueste",
|
|
19288
19304
|
"results.sortBy.popularity": "Beliebtheit",
|
|
19289
19305
|
"results.sortBy.qualityScore": "Fertigstellungsanzeige",
|
|
@@ -19367,6 +19383,10 @@ var de = {
|
|
|
19367
19383
|
"service.metadata.spatialExtent": "",
|
|
19368
19384
|
"share.tab.permalink": "Teilen",
|
|
19369
19385
|
"share.tab.webComponent": "Integrieren",
|
|
19386
|
+
"stac.filter.from": "",
|
|
19387
|
+
"stac.filter.period": "",
|
|
19388
|
+
"stac.filter.reset": "",
|
|
19389
|
+
"stac.filter.to": "",
|
|
19370
19390
|
"table.loading.data": "Daten werden geladen...",
|
|
19371
19391
|
"table.object.count": "Objekte in diesem Datensatz",
|
|
19372
19392
|
"table.paginator.firstPage": "Erste Seite",
|
|
@@ -19634,7 +19654,6 @@ var en = {
|
|
|
19634
19654
|
"editor.record.form.topics.inspire.intelligence": "Intelligence / Military",
|
|
19635
19655
|
"editor.record.form.topics.inspire.location": "Location",
|
|
19636
19656
|
"editor.record.form.topics.inspire.oceans": "Oceans",
|
|
19637
|
-
"editor.record.form.topics.inspire.placeholder": "Select an INSPIRE theme",
|
|
19638
19657
|
"editor.record.form.topics.inspire.planning": "Planning / Cadastre",
|
|
19639
19658
|
"editor.record.form.topics.inspire.society": "Society",
|
|
19640
19659
|
"editor.record.form.topics.inspire.structure": "Structure",
|
|
@@ -19812,6 +19831,8 @@ var en = {
|
|
|
19812
19831
|
"record.metadata.api.accessServiceProtocol.maplibre-style": "maplibre-style",
|
|
19813
19832
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "ogcFeatures",
|
|
19814
19833
|
"record.metadata.api.accessServiceProtocol.other": "other",
|
|
19834
|
+
"record.metadata.api.accessServiceProtocol.postgis": "PostGIS",
|
|
19835
|
+
"record.metadata.api.accessServiceProtocol.stac": "STAC",
|
|
19815
19836
|
"record.metadata.api.accessServiceProtocol.tms": "tms",
|
|
19816
19837
|
"record.metadata.api.accessServiceProtocol.wfs": "wfs",
|
|
19817
19838
|
"record.metadata.api.accessServiceProtocol.wms": "wms",
|
|
@@ -19853,13 +19874,16 @@ var en = {
|
|
|
19853
19874
|
"record.metadata.contact": "Contact",
|
|
19854
19875
|
"record.metadata.creation": "Date of creation",
|
|
19855
19876
|
"record.metadata.details": "About the data",
|
|
19877
|
+
"record.metadata.doi.copy": "Copy DOI",
|
|
19878
|
+
"record.metadata.doi.open": "Open DOI link",
|
|
19856
19879
|
"record.metadata.download": "Downloads",
|
|
19857
19880
|
"record.metadata.feature.catalog": "Feature catalog",
|
|
19858
19881
|
"record.metadata.formats": "Formats",
|
|
19859
19882
|
"record.metadata.isGeographical": "Geographical dataset",
|
|
19860
19883
|
"record.metadata.keywords": "Keywords",
|
|
19861
19884
|
"record.metadata.languages": "Languages",
|
|
19862
|
-
"record.metadata.
|
|
19885
|
+
"record.metadata.link.postgis.table": "table :",
|
|
19886
|
+
"record.metadata.link.postgis.tooltip": "PostGIS resources do not have access links",
|
|
19863
19887
|
"record.metadata.linked.datasets": "Associated datasets",
|
|
19864
19888
|
"record.metadata.linked.records": "Associated content",
|
|
19865
19889
|
"record.metadata.linked.reuses": "Associated reuses",
|
|
@@ -19900,6 +19924,9 @@ var en = {
|
|
|
19900
19924
|
"record.metadata.quality.updateFrequency.failed": "Update frequency is not specified",
|
|
19901
19925
|
"record.metadata.quality.updateFrequency.success": "Update frequency is specified",
|
|
19902
19926
|
"record.metadata.related": "Explore the catalog",
|
|
19927
|
+
"record.metadata.resourceCreated": "Created",
|
|
19928
|
+
"record.metadata.resourcePublished": "Published",
|
|
19929
|
+
"record.metadata.resourceUpdated": "Last updated",
|
|
19903
19930
|
"record.metadata.ressources.and.links": "Resources and links",
|
|
19904
19931
|
"record.metadata.sheet": "Original metadata",
|
|
19905
19932
|
"record.metadata.status": "Status",
|
|
@@ -19912,8 +19939,9 @@ var en = {
|
|
|
19912
19939
|
"record.metadata.title": "Title",
|
|
19913
19940
|
"record.metadata.topics": "Categories",
|
|
19914
19941
|
"record.metadata.uniqueId": "Unique Identifier",
|
|
19942
|
+
"record.metadata.update": "Date of update",
|
|
19915
19943
|
"record.metadata.updateFrequency": "Data Update Frequency",
|
|
19916
|
-
"record.metadata.updatedOn": "
|
|
19944
|
+
"record.metadata.updatedOn": "Metadata modified",
|
|
19917
19945
|
"record.metadata.usage": "License and Conditions",
|
|
19918
19946
|
"record.metadata.userFeedbacks": "Questions / Answers",
|
|
19919
19947
|
"record.metadata.userFeedbacks.anonymousUser": "In order to leave a comment, please log in.",
|
|
@@ -19928,6 +19956,7 @@ var en = {
|
|
|
19928
19956
|
"record.tab.chart": "Chart",
|
|
19929
19957
|
"record.tab.data": "Table",
|
|
19930
19958
|
"record.tab.map": "Map",
|
|
19959
|
+
"record.tab.stac": "STAC",
|
|
19931
19960
|
"record.was.created.time": "created this record {time}",
|
|
19932
19961
|
records: records$6,
|
|
19933
19962
|
"results.layout.selectOne": "Results layout",
|
|
@@ -19936,7 +19965,6 @@ var en = {
|
|
|
19936
19965
|
"results.records.hits.found": "{hits, plural, =0{No record match the specified search.} one{1 record found.} other{{hits} records found.}}",
|
|
19937
19966
|
"results.records.hits.selected": "{ amount } selected",
|
|
19938
19967
|
"results.showMore": "Show more results...",
|
|
19939
|
-
"results.sortBy.changeDate": "Last modification",
|
|
19940
19968
|
"results.sortBy.dateStamp": "Newest",
|
|
19941
19969
|
"results.sortBy.popularity": "Popularity",
|
|
19942
19970
|
"results.sortBy.qualityScore": "Completion score",
|
|
@@ -20020,6 +20048,10 @@ var en = {
|
|
|
20020
20048
|
"service.metadata.spatialExtent": "Spatial extent",
|
|
20021
20049
|
"share.tab.permalink": "Share",
|
|
20022
20050
|
"share.tab.webComponent": "Integrate",
|
|
20051
|
+
"stac.filter.from": "From",
|
|
20052
|
+
"stac.filter.period": "Period",
|
|
20053
|
+
"stac.filter.reset": "Reset filters",
|
|
20054
|
+
"stac.filter.to": "To",
|
|
20023
20055
|
"table.loading.data": "Loading data...",
|
|
20024
20056
|
"table.object.count": "Objects in this dataset",
|
|
20025
20057
|
"table.paginator.firstPage": "First page",
|
|
@@ -20464,6 +20496,8 @@ var es = {
|
|
|
20464
20496
|
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
20465
20497
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
20466
20498
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
20499
|
+
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
20500
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
20467
20501
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
20468
20502
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
20469
20503
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -20505,13 +20539,16 @@ var es = {
|
|
|
20505
20539
|
"record.metadata.contact": "",
|
|
20506
20540
|
"record.metadata.creation": "",
|
|
20507
20541
|
"record.metadata.details": "",
|
|
20542
|
+
"record.metadata.doi.copy": "",
|
|
20543
|
+
"record.metadata.doi.open": "",
|
|
20508
20544
|
"record.metadata.download": "",
|
|
20509
20545
|
"record.metadata.feature.catalog": "",
|
|
20510
20546
|
"record.metadata.formats": "",
|
|
20511
20547
|
"record.metadata.isGeographical": "",
|
|
20512
20548
|
"record.metadata.keywords": "",
|
|
20513
20549
|
"record.metadata.languages": "",
|
|
20514
|
-
"record.metadata.
|
|
20550
|
+
"record.metadata.link.postgis.table": "",
|
|
20551
|
+
"record.metadata.link.postgis.tooltip": "",
|
|
20515
20552
|
"record.metadata.linked.datasets": "",
|
|
20516
20553
|
"record.metadata.linked.records": "",
|
|
20517
20554
|
"record.metadata.linked.reuses": "",
|
|
@@ -20552,6 +20589,9 @@ var es = {
|
|
|
20552
20589
|
"record.metadata.quality.updateFrequency.failed": "",
|
|
20553
20590
|
"record.metadata.quality.updateFrequency.success": "",
|
|
20554
20591
|
"record.metadata.related": "",
|
|
20592
|
+
"record.metadata.resourceCreated": "",
|
|
20593
|
+
"record.metadata.resourcePublished": "",
|
|
20594
|
+
"record.metadata.resourceUpdated": "",
|
|
20555
20595
|
"record.metadata.ressources.and.links": "Recursos y enlaces",
|
|
20556
20596
|
"record.metadata.sheet": "",
|
|
20557
20597
|
"record.metadata.status": "",
|
|
@@ -20564,6 +20604,7 @@ var es = {
|
|
|
20564
20604
|
"record.metadata.title": "",
|
|
20565
20605
|
"record.metadata.topics": "",
|
|
20566
20606
|
"record.metadata.uniqueId": "",
|
|
20607
|
+
"record.metadata.update": "",
|
|
20567
20608
|
"record.metadata.updateFrequency": "",
|
|
20568
20609
|
"record.metadata.updatedOn": "",
|
|
20569
20610
|
"record.metadata.usage": "",
|
|
@@ -20580,6 +20621,7 @@ var es = {
|
|
|
20580
20621
|
"record.tab.chart": "",
|
|
20581
20622
|
"record.tab.data": "",
|
|
20582
20623
|
"record.tab.map": "",
|
|
20624
|
+
"record.tab.stac": "",
|
|
20583
20625
|
"record.was.created.time": "",
|
|
20584
20626
|
records: records$5,
|
|
20585
20627
|
"results.layout.selectOne": "",
|
|
@@ -20588,7 +20630,6 @@ var es = {
|
|
|
20588
20630
|
"results.records.hits.found": "",
|
|
20589
20631
|
"results.records.hits.selected": "",
|
|
20590
20632
|
"results.showMore": "",
|
|
20591
|
-
"results.sortBy.changeDate": "",
|
|
20592
20633
|
"results.sortBy.dateStamp": "",
|
|
20593
20634
|
"results.sortBy.popularity": "",
|
|
20594
20635
|
"results.sortBy.qualityScore": "",
|
|
@@ -20672,6 +20713,10 @@ var es = {
|
|
|
20672
20713
|
"service.metadata.spatialExtent": "",
|
|
20673
20714
|
"share.tab.permalink": "",
|
|
20674
20715
|
"share.tab.webComponent": "",
|
|
20716
|
+
"stac.filter.from": "",
|
|
20717
|
+
"stac.filter.period": "",
|
|
20718
|
+
"stac.filter.reset": "",
|
|
20719
|
+
"stac.filter.to": "",
|
|
20675
20720
|
"table.loading.data": "",
|
|
20676
20721
|
"table.object.count": "",
|
|
20677
20722
|
"table.paginator.firstPage": "Primera página",
|
|
@@ -21116,6 +21161,8 @@ var fr = {
|
|
|
21116
21161
|
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
21117
21162
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
21118
21163
|
"record.metadata.api.accessServiceProtocol.other": "autre",
|
|
21164
|
+
"record.metadata.api.accessServiceProtocol.postgis": "PostGIS",
|
|
21165
|
+
"record.metadata.api.accessServiceProtocol.stac": "STAC",
|
|
21119
21166
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
21120
21167
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
21121
21168
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -21157,13 +21204,16 @@ var fr = {
|
|
|
21157
21204
|
"record.metadata.contact": "Contact",
|
|
21158
21205
|
"record.metadata.creation": "Date de création",
|
|
21159
21206
|
"record.metadata.details": "À propos de la donnée",
|
|
21207
|
+
"record.metadata.doi.copy": "Copier le DOI",
|
|
21208
|
+
"record.metadata.doi.open": "Ouvrir le lien DOI",
|
|
21160
21209
|
"record.metadata.download": "Téléchargements",
|
|
21161
21210
|
"record.metadata.feature.catalog": "Catalogue d'attributs",
|
|
21162
21211
|
"record.metadata.formats": "Formats",
|
|
21163
21212
|
"record.metadata.isGeographical": "Donnée géographique",
|
|
21164
21213
|
"record.metadata.keywords": "Mots-clés",
|
|
21165
21214
|
"record.metadata.languages": "Langues",
|
|
21166
|
-
"record.metadata.
|
|
21215
|
+
"record.metadata.link.postgis.table": "table :",
|
|
21216
|
+
"record.metadata.link.postgis.tooltip": "Les ressources de type PostGIS n'ont pas de lien d'accès",
|
|
21167
21217
|
"record.metadata.linked.datasets": "Jeux de données associés",
|
|
21168
21218
|
"record.metadata.linked.records": "Contenus associés",
|
|
21169
21219
|
"record.metadata.linked.reuses": "Réutilisations associées",
|
|
@@ -21204,6 +21254,9 @@ var fr = {
|
|
|
21204
21254
|
"record.metadata.quality.updateFrequency.failed": "La fréquence de mise à jour n'est pas renseignée",
|
|
21205
21255
|
"record.metadata.quality.updateFrequency.success": "La fréquence de mise à jour est renseignée",
|
|
21206
21256
|
"record.metadata.related": "Explorez le catalogue",
|
|
21257
|
+
"record.metadata.resourceCreated": "Créé",
|
|
21258
|
+
"record.metadata.resourcePublished": "Publié",
|
|
21259
|
+
"record.metadata.resourceUpdated": "Mis à jour",
|
|
21207
21260
|
"record.metadata.ressources.and.links": "Ressources et liens",
|
|
21208
21261
|
"record.metadata.sheet": "Fiche de métadonnées d'origine",
|
|
21209
21262
|
"record.metadata.status": "Statut",
|
|
@@ -21216,8 +21269,9 @@ var fr = {
|
|
|
21216
21269
|
"record.metadata.title": "Intitulé",
|
|
21217
21270
|
"record.metadata.topics": "Catégories",
|
|
21218
21271
|
"record.metadata.uniqueId": "Identificateur de ressource unique",
|
|
21272
|
+
"record.metadata.update": "Date de mise à jour",
|
|
21219
21273
|
"record.metadata.updateFrequency": "Fréquence de mise à jour des données",
|
|
21220
|
-
"record.metadata.updatedOn": "
|
|
21274
|
+
"record.metadata.updatedOn": "Fiche de métadonnées modifiée",
|
|
21221
21275
|
"record.metadata.usage": "Licences et conditions d'utilisation",
|
|
21222
21276
|
"record.metadata.userFeedbacks": "Questions / Réponses",
|
|
21223
21277
|
"record.metadata.userFeedbacks.anonymousUser": "Pour rédiger un commentaire, veuillez vous identifier.",
|
|
@@ -21232,6 +21286,7 @@ var fr = {
|
|
|
21232
21286
|
"record.tab.chart": "Graphique",
|
|
21233
21287
|
"record.tab.data": "Tableau",
|
|
21234
21288
|
"record.tab.map": "Carte",
|
|
21289
|
+
"record.tab.stac": "STAC",
|
|
21235
21290
|
"record.was.created.time": "a créé cette ressource {time}",
|
|
21236
21291
|
records: records$4,
|
|
21237
21292
|
"results.layout.selectOne": "Affichage des résultats",
|
|
@@ -21240,7 +21295,6 @@ var fr = {
|
|
|
21240
21295
|
"results.records.hits.found": "{hits, plural, =0{Aucune correspondance.} one{1 ressource trouvée.} other{{hits} ressources.}}",
|
|
21241
21296
|
"results.records.hits.selected": "{amount, plural, one{1 selectionné} other{{ amount } sélectionnés}}",
|
|
21242
21297
|
"results.showMore": "Plus de résultats...",
|
|
21243
|
-
"results.sortBy.changeDate": "Dernière modification",
|
|
21244
21298
|
"results.sortBy.dateStamp": "Plus récent",
|
|
21245
21299
|
"results.sortBy.popularity": "Popularité",
|
|
21246
21300
|
"results.sortBy.qualityScore": "Indicateur de complétion",
|
|
@@ -21324,6 +21378,10 @@ var fr = {
|
|
|
21324
21378
|
"service.metadata.spatialExtent": "Etendue spatiale",
|
|
21325
21379
|
"share.tab.permalink": "Partager",
|
|
21326
21380
|
"share.tab.webComponent": "Intégrer",
|
|
21381
|
+
"stac.filter.from": "Du",
|
|
21382
|
+
"stac.filter.period": "Choix de la période",
|
|
21383
|
+
"stac.filter.reset": "Réinitialiser les filtres",
|
|
21384
|
+
"stac.filter.to": "Au",
|
|
21327
21385
|
"table.loading.data": "Chargement des données...",
|
|
21328
21386
|
"table.object.count": "enregistrements dans ce jeu de données",
|
|
21329
21387
|
"table.paginator.firstPage": "Première page",
|
|
@@ -21768,6 +21826,8 @@ var it = {
|
|
|
21768
21826
|
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
21769
21827
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
21770
21828
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
21829
|
+
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
21830
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
21771
21831
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
21772
21832
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
21773
21833
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -21809,13 +21869,16 @@ var it = {
|
|
|
21809
21869
|
"record.metadata.contact": "Contatto",
|
|
21810
21870
|
"record.metadata.creation": "Data di creazione",
|
|
21811
21871
|
"record.metadata.details": "A proposito del dati",
|
|
21872
|
+
"record.metadata.doi.copy": "",
|
|
21873
|
+
"record.metadata.doi.open": "",
|
|
21812
21874
|
"record.metadata.download": "Download",
|
|
21813
21875
|
"record.metadata.feature.catalog": "Catalogo dei oggetti",
|
|
21814
21876
|
"record.metadata.formats": "Formati",
|
|
21815
21877
|
"record.metadata.isGeographical": "Dati geografici",
|
|
21816
21878
|
"record.metadata.keywords": "Parole chiave",
|
|
21817
21879
|
"record.metadata.languages": "Lingue",
|
|
21818
|
-
"record.metadata.
|
|
21880
|
+
"record.metadata.link.postgis.table": "",
|
|
21881
|
+
"record.metadata.link.postgis.tooltip": "",
|
|
21819
21882
|
"record.metadata.linked.datasets": "",
|
|
21820
21883
|
"record.metadata.linked.records": "",
|
|
21821
21884
|
"record.metadata.linked.reuses": "",
|
|
@@ -21856,8 +21919,11 @@ var it = {
|
|
|
21856
21919
|
"record.metadata.quality.updateFrequency.failed": "La frequenza di aggiornamento non è specificata",
|
|
21857
21920
|
"record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
|
|
21858
21921
|
"record.metadata.related": "Vedi anche",
|
|
21922
|
+
"record.metadata.resourceCreated": "Creato",
|
|
21923
|
+
"record.metadata.resourcePublished": "Pubblicato",
|
|
21924
|
+
"record.metadata.resourceUpdated": "Ultimo aggiornamento",
|
|
21859
21925
|
"record.metadata.ressources.and.links": "Risorse e collegamenti",
|
|
21860
|
-
"record.metadata.sheet": "Origine
|
|
21926
|
+
"record.metadata.sheet": "Origine dei metadati",
|
|
21861
21927
|
"record.metadata.status": "Stato",
|
|
21862
21928
|
"record.metadata.status.notPublished": "Non pubblicato",
|
|
21863
21929
|
"record.metadata.status.published": "Pubblicato",
|
|
@@ -21868,8 +21934,9 @@ var it = {
|
|
|
21868
21934
|
"record.metadata.title": "Titolo",
|
|
21869
21935
|
"record.metadata.topics": "Categorie",
|
|
21870
21936
|
"record.metadata.uniqueId": "Identificatore unico di risorsa",
|
|
21937
|
+
"record.metadata.update": "Data di aggiornamento",
|
|
21871
21938
|
"record.metadata.updateFrequency": "Frequenza di aggiornamento dei dati",
|
|
21872
|
-
"record.metadata.updatedOn": "
|
|
21939
|
+
"record.metadata.updatedOn": "Metadati modificati",
|
|
21873
21940
|
"record.metadata.usage": "Licenze e limiti di utilizzo",
|
|
21874
21941
|
"record.metadata.userFeedbacks": "Domande / Risposte",
|
|
21875
21942
|
"record.metadata.userFeedbacks.anonymousUser": "Per pubblicare un commento, effettua il login.",
|
|
@@ -21884,6 +21951,7 @@ var it = {
|
|
|
21884
21951
|
"record.tab.chart": "Grafico",
|
|
21885
21952
|
"record.tab.data": "Tabella",
|
|
21886
21953
|
"record.tab.map": "Mappa",
|
|
21954
|
+
"record.tab.stac": "",
|
|
21887
21955
|
"record.was.created.time": "ha creato questi dati {time}",
|
|
21888
21956
|
records: records$3,
|
|
21889
21957
|
"results.layout.selectOne": "Mostra risultati",
|
|
@@ -21892,7 +21960,6 @@ var it = {
|
|
|
21892
21960
|
"results.records.hits.found": "{hits, plural, =0{Nessuna corrispondenza.} one{1 record trovato.} other{{hits} risultati.}}",
|
|
21893
21961
|
"results.records.hits.selected": "{amount, plural, one{1 selezionato} other{{ amount } selezionati}}",
|
|
21894
21962
|
"results.showMore": "Altri risultati...",
|
|
21895
|
-
"results.sortBy.changeDate": "Ultima modifica",
|
|
21896
21963
|
"results.sortBy.dateStamp": "Più recente",
|
|
21897
21964
|
"results.sortBy.popularity": "Popolarità",
|
|
21898
21965
|
"results.sortBy.qualityScore": "Indicatore di completamento",
|
|
@@ -21976,6 +22043,10 @@ var it = {
|
|
|
21976
22043
|
"service.metadata.spatialExtent": "Estensione spaziale",
|
|
21977
22044
|
"share.tab.permalink": "Condividere",
|
|
21978
22045
|
"share.tab.webComponent": "Incorporare",
|
|
22046
|
+
"stac.filter.from": "",
|
|
22047
|
+
"stac.filter.period": "",
|
|
22048
|
+
"stac.filter.reset": "",
|
|
22049
|
+
"stac.filter.to": "",
|
|
21979
22050
|
"table.loading.data": "Caricamento dei dati...",
|
|
21980
22051
|
"table.object.count": "record in questi dati",
|
|
21981
22052
|
"table.paginator.firstPage": "Prima pagina",
|
|
@@ -22420,6 +22491,8 @@ var nl = {
|
|
|
22420
22491
|
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
22421
22492
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
22422
22493
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
22494
|
+
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
22495
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
22423
22496
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
22424
22497
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
22425
22498
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -22461,13 +22534,16 @@ var nl = {
|
|
|
22461
22534
|
"record.metadata.contact": "",
|
|
22462
22535
|
"record.metadata.creation": "",
|
|
22463
22536
|
"record.metadata.details": "",
|
|
22537
|
+
"record.metadata.doi.copy": "",
|
|
22538
|
+
"record.metadata.doi.open": "",
|
|
22464
22539
|
"record.metadata.download": "",
|
|
22465
22540
|
"record.metadata.feature.catalog": "",
|
|
22466
22541
|
"record.metadata.formats": "",
|
|
22467
22542
|
"record.metadata.isGeographical": "",
|
|
22468
22543
|
"record.metadata.keywords": "",
|
|
22469
22544
|
"record.metadata.languages": "",
|
|
22470
|
-
"record.metadata.
|
|
22545
|
+
"record.metadata.link.postgis.table": "",
|
|
22546
|
+
"record.metadata.link.postgis.tooltip": "",
|
|
22471
22547
|
"record.metadata.linked.datasets": "",
|
|
22472
22548
|
"record.metadata.linked.records": "",
|
|
22473
22549
|
"record.metadata.linked.reuses": "",
|
|
@@ -22508,6 +22584,9 @@ var nl = {
|
|
|
22508
22584
|
"record.metadata.quality.updateFrequency.failed": "",
|
|
22509
22585
|
"record.metadata.quality.updateFrequency.success": "",
|
|
22510
22586
|
"record.metadata.related": "",
|
|
22587
|
+
"record.metadata.resourceCreated": "",
|
|
22588
|
+
"record.metadata.resourcePublished": "",
|
|
22589
|
+
"record.metadata.resourceUpdated": "",
|
|
22511
22590
|
"record.metadata.ressources.and.links": "Bronnen en links",
|
|
22512
22591
|
"record.metadata.sheet": "",
|
|
22513
22592
|
"record.metadata.status": "",
|
|
@@ -22520,6 +22599,7 @@ var nl = {
|
|
|
22520
22599
|
"record.metadata.title": "",
|
|
22521
22600
|
"record.metadata.topics": "",
|
|
22522
22601
|
"record.metadata.uniqueId": "",
|
|
22602
|
+
"record.metadata.update": "",
|
|
22523
22603
|
"record.metadata.updateFrequency": "",
|
|
22524
22604
|
"record.metadata.updatedOn": "",
|
|
22525
22605
|
"record.metadata.usage": "",
|
|
@@ -22536,6 +22616,7 @@ var nl = {
|
|
|
22536
22616
|
"record.tab.chart": "",
|
|
22537
22617
|
"record.tab.data": "",
|
|
22538
22618
|
"record.tab.map": "",
|
|
22619
|
+
"record.tab.stac": "",
|
|
22539
22620
|
"record.was.created.time": "",
|
|
22540
22621
|
records: records$2,
|
|
22541
22622
|
"results.layout.selectOne": "",
|
|
@@ -22544,7 +22625,6 @@ var nl = {
|
|
|
22544
22625
|
"results.records.hits.found": "",
|
|
22545
22626
|
"results.records.hits.selected": "",
|
|
22546
22627
|
"results.showMore": "",
|
|
22547
|
-
"results.sortBy.changeDate": "",
|
|
22548
22628
|
"results.sortBy.dateStamp": "",
|
|
22549
22629
|
"results.sortBy.popularity": "",
|
|
22550
22630
|
"results.sortBy.qualityScore": "",
|
|
@@ -22628,6 +22708,10 @@ var nl = {
|
|
|
22628
22708
|
"service.metadata.spatialExtent": "",
|
|
22629
22709
|
"share.tab.permalink": "",
|
|
22630
22710
|
"share.tab.webComponent": "",
|
|
22711
|
+
"stac.filter.from": "",
|
|
22712
|
+
"stac.filter.period": "",
|
|
22713
|
+
"stac.filter.reset": "",
|
|
22714
|
+
"stac.filter.to": "",
|
|
22631
22715
|
"table.loading.data": "",
|
|
22632
22716
|
"table.object.count": "",
|
|
22633
22717
|
"table.paginator.firstPage": "",
|
|
@@ -23072,6 +23156,8 @@ var pt = {
|
|
|
23072
23156
|
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
23073
23157
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
23074
23158
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
23159
|
+
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
23160
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
23075
23161
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
23076
23162
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
23077
23163
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -23113,13 +23199,16 @@ var pt = {
|
|
|
23113
23199
|
"record.metadata.contact": "",
|
|
23114
23200
|
"record.metadata.creation": "",
|
|
23115
23201
|
"record.metadata.details": "",
|
|
23202
|
+
"record.metadata.doi.copy": "",
|
|
23203
|
+
"record.metadata.doi.open": "",
|
|
23116
23204
|
"record.metadata.download": "",
|
|
23117
23205
|
"record.metadata.feature.catalog": "",
|
|
23118
23206
|
"record.metadata.formats": "",
|
|
23119
23207
|
"record.metadata.isGeographical": "",
|
|
23120
23208
|
"record.metadata.keywords": "",
|
|
23121
23209
|
"record.metadata.languages": "",
|
|
23122
|
-
"record.metadata.
|
|
23210
|
+
"record.metadata.link.postgis.table": "",
|
|
23211
|
+
"record.metadata.link.postgis.tooltip": "",
|
|
23123
23212
|
"record.metadata.linked.datasets": "",
|
|
23124
23213
|
"record.metadata.linked.records": "",
|
|
23125
23214
|
"record.metadata.linked.reuses": "",
|
|
@@ -23160,6 +23249,9 @@ var pt = {
|
|
|
23160
23249
|
"record.metadata.quality.updateFrequency.failed": "",
|
|
23161
23250
|
"record.metadata.quality.updateFrequency.success": "",
|
|
23162
23251
|
"record.metadata.related": "",
|
|
23252
|
+
"record.metadata.resourceCreated": "",
|
|
23253
|
+
"record.metadata.resourcePublished": "",
|
|
23254
|
+
"record.metadata.resourceUpdated": "",
|
|
23163
23255
|
"record.metadata.ressources.and.links": "Recursos e links",
|
|
23164
23256
|
"record.metadata.sheet": "",
|
|
23165
23257
|
"record.metadata.status": "",
|
|
@@ -23172,6 +23264,7 @@ var pt = {
|
|
|
23172
23264
|
"record.metadata.title": "",
|
|
23173
23265
|
"record.metadata.topics": "",
|
|
23174
23266
|
"record.metadata.uniqueId": "",
|
|
23267
|
+
"record.metadata.update": "",
|
|
23175
23268
|
"record.metadata.updateFrequency": "",
|
|
23176
23269
|
"record.metadata.updatedOn": "",
|
|
23177
23270
|
"record.metadata.usage": "",
|
|
@@ -23188,6 +23281,7 @@ var pt = {
|
|
|
23188
23281
|
"record.tab.chart": "",
|
|
23189
23282
|
"record.tab.data": "",
|
|
23190
23283
|
"record.tab.map": "",
|
|
23284
|
+
"record.tab.stac": "",
|
|
23191
23285
|
"record.was.created.time": "",
|
|
23192
23286
|
records: records$1,
|
|
23193
23287
|
"results.layout.selectOne": "",
|
|
@@ -23196,7 +23290,6 @@ var pt = {
|
|
|
23196
23290
|
"results.records.hits.found": "",
|
|
23197
23291
|
"results.records.hits.selected": "",
|
|
23198
23292
|
"results.showMore": "",
|
|
23199
|
-
"results.sortBy.changeDate": "",
|
|
23200
23293
|
"results.sortBy.dateStamp": "",
|
|
23201
23294
|
"results.sortBy.popularity": "",
|
|
23202
23295
|
"results.sortBy.qualityScore": "",
|
|
@@ -23280,6 +23373,10 @@ var pt = {
|
|
|
23280
23373
|
"service.metadata.spatialExtent": "",
|
|
23281
23374
|
"share.tab.permalink": "",
|
|
23282
23375
|
"share.tab.webComponent": "",
|
|
23376
|
+
"stac.filter.from": "",
|
|
23377
|
+
"stac.filter.period": "",
|
|
23378
|
+
"stac.filter.reset": "",
|
|
23379
|
+
"stac.filter.to": "",
|
|
23283
23380
|
"table.loading.data": "",
|
|
23284
23381
|
"table.object.count": "",
|
|
23285
23382
|
"table.paginator.firstPage": "",
|
|
@@ -23724,6 +23821,8 @@ var sk = {
|
|
|
23724
23821
|
"record.metadata.api.accessServiceProtocol.maplibre-style": "",
|
|
23725
23822
|
"record.metadata.api.accessServiceProtocol.ogcFeatures": "",
|
|
23726
23823
|
"record.metadata.api.accessServiceProtocol.other": "",
|
|
23824
|
+
"record.metadata.api.accessServiceProtocol.postgis": "",
|
|
23825
|
+
"record.metadata.api.accessServiceProtocol.stac": "",
|
|
23727
23826
|
"record.metadata.api.accessServiceProtocol.tms": "",
|
|
23728
23827
|
"record.metadata.api.accessServiceProtocol.wfs": "",
|
|
23729
23828
|
"record.metadata.api.accessServiceProtocol.wms": "",
|
|
@@ -23765,13 +23864,16 @@ var sk = {
|
|
|
23765
23864
|
"record.metadata.contact": "Kontakt",
|
|
23766
23865
|
"record.metadata.creation": "",
|
|
23767
23866
|
"record.metadata.details": "Detaily",
|
|
23867
|
+
"record.metadata.doi.copy": "",
|
|
23868
|
+
"record.metadata.doi.open": "",
|
|
23768
23869
|
"record.metadata.download": "Sťahovania",
|
|
23769
23870
|
"record.metadata.feature.catalog": "",
|
|
23770
23871
|
"record.metadata.formats": "Formáty",
|
|
23771
23872
|
"record.metadata.isGeographical": "Súbor geografických údajov",
|
|
23772
23873
|
"record.metadata.keywords": "Kľúčové slová",
|
|
23773
23874
|
"record.metadata.languages": "",
|
|
23774
|
-
"record.metadata.
|
|
23875
|
+
"record.metadata.link.postgis.table": "",
|
|
23876
|
+
"record.metadata.link.postgis.tooltip": "",
|
|
23775
23877
|
"record.metadata.linked.datasets": "",
|
|
23776
23878
|
"record.metadata.linked.records": "",
|
|
23777
23879
|
"record.metadata.linked.reuses": "",
|
|
@@ -23812,6 +23914,9 @@ var sk = {
|
|
|
23812
23914
|
"record.metadata.quality.updateFrequency.failed": "Frekvencia aktualizácie nie je určená",
|
|
23813
23915
|
"record.metadata.quality.updateFrequency.success": "Frekvencia aktualizácie je určená",
|
|
23814
23916
|
"record.metadata.related": "Súvisiace záznamy",
|
|
23917
|
+
"record.metadata.resourceCreated": "",
|
|
23918
|
+
"record.metadata.resourcePublished": "",
|
|
23919
|
+
"record.metadata.resourceUpdated": "",
|
|
23815
23920
|
"record.metadata.ressources.and.links": "Prostředky a odkazy",
|
|
23816
23921
|
"record.metadata.sheet": "Ďalšie metadáta sú k dispozícii na:",
|
|
23817
23922
|
"record.metadata.status": "Stav",
|
|
@@ -23824,8 +23929,9 @@ var sk = {
|
|
|
23824
23929
|
"record.metadata.title": "Názov",
|
|
23825
23930
|
"record.metadata.topics": "",
|
|
23826
23931
|
"record.metadata.uniqueId": "Jedinečný identifikátor",
|
|
23932
|
+
"record.metadata.update": "Dátum aktualizácie",
|
|
23827
23933
|
"record.metadata.updateFrequency": "Frekvencia aktualizácie metadát",
|
|
23828
|
-
"record.metadata.updatedOn": "
|
|
23934
|
+
"record.metadata.updatedOn": "Metadáta zmenené",
|
|
23829
23935
|
"record.metadata.usage": "Použitie a obmedzenia",
|
|
23830
23936
|
"record.metadata.userFeedbacks": "",
|
|
23831
23937
|
"record.metadata.userFeedbacks.anonymousUser": "",
|
|
@@ -23840,6 +23946,7 @@ var sk = {
|
|
|
23840
23946
|
"record.tab.chart": "Graf",
|
|
23841
23947
|
"record.tab.data": "Tabuľka",
|
|
23842
23948
|
"record.tab.map": "Mapa",
|
|
23949
|
+
"record.tab.stac": "",
|
|
23843
23950
|
"record.was.created.time": "vytvoril tento dataset o {time}",
|
|
23844
23951
|
records: records,
|
|
23845
23952
|
"results.layout.selectOne": "Rozmiestnenie výsledkov",
|
|
@@ -23848,7 +23955,6 @@ var sk = {
|
|
|
23848
23955
|
"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.}}",
|
|
23849
23956
|
"results.records.hits.selected": "{ amount } označených",
|
|
23850
23957
|
"results.showMore": "Zobraziť viac výsledkov...",
|
|
23851
|
-
"results.sortBy.changeDate": "",
|
|
23852
23958
|
"results.sortBy.dateStamp": "Najnovšie",
|
|
23853
23959
|
"results.sortBy.popularity": "Popularita",
|
|
23854
23960
|
"results.sortBy.qualityScore": "Indikátor dokončenia",
|
|
@@ -23932,6 +24038,10 @@ var sk = {
|
|
|
23932
24038
|
"service.metadata.spatialExtent": "",
|
|
23933
24039
|
"share.tab.permalink": "Zdieľať",
|
|
23934
24040
|
"share.tab.webComponent": "Integrovať",
|
|
24041
|
+
"stac.filter.from": "",
|
|
24042
|
+
"stac.filter.period": "",
|
|
24043
|
+
"stac.filter.reset": "",
|
|
24044
|
+
"stac.filter.to": "",
|
|
23935
24045
|
"table.loading.data": "Načítanie údajov...",
|
|
23936
24046
|
"table.object.count": "objekty v tomto súbore údajov",
|
|
23937
24047
|
"table.paginator.firstPage": "",
|
|
@@ -24229,6 +24339,29 @@ class Gn4FieldMapper {
|
|
|
24229
24339
|
}),
|
|
24230
24340
|
};
|
|
24231
24341
|
},
|
|
24342
|
+
resourceIdentifier: (output, source) => {
|
|
24343
|
+
const identifiers = getAsArray(selectField(source, 'resourceIdentifier'));
|
|
24344
|
+
if (!identifiers.length)
|
|
24345
|
+
return output;
|
|
24346
|
+
const mappedIdentifiers = identifiers
|
|
24347
|
+
.map((id) => {
|
|
24348
|
+
const code = selectField(id, 'code');
|
|
24349
|
+
const codeSpace = selectField(id, 'codeSpace');
|
|
24350
|
+
const link = selectField(id, 'link');
|
|
24351
|
+
return {
|
|
24352
|
+
code,
|
|
24353
|
+
...(codeSpace && { codeSpace }),
|
|
24354
|
+
...(link && { url: link }),
|
|
24355
|
+
};
|
|
24356
|
+
})
|
|
24357
|
+
.filter((id) => id !== null);
|
|
24358
|
+
if (!mappedIdentifiers.length)
|
|
24359
|
+
return output;
|
|
24360
|
+
return {
|
|
24361
|
+
...output,
|
|
24362
|
+
resourceIdentifiers: mappedIdentifiers,
|
|
24363
|
+
};
|
|
24364
|
+
},
|
|
24232
24365
|
};
|
|
24233
24366
|
this.genericField = (output) => output;
|
|
24234
24367
|
this.constraintField = (type, output, constraintArray) => {
|
|
@@ -24337,6 +24470,8 @@ class Gn4FieldMapper {
|
|
|
24337
24470
|
/^OGC:WMTS/.test(protocol) ||
|
|
24338
24471
|
/TMS/i.test(protocol) ||
|
|
24339
24472
|
/ogc\W*api\W*features/i.test(protocol) ||
|
|
24473
|
+
/^DB:POSTGIS/i.test(protocol) ||
|
|
24474
|
+
/stac\W*items/i.test(protocol) ||
|
|
24340
24475
|
(/^WWW:DOWNLOAD-/.test(protocol) && /data.geopf.fr/.test(url)) // TO DO : change with the good protocol when decided
|
|
24341
24476
|
) {
|
|
24342
24477
|
return 'service';
|
|
@@ -24644,9 +24779,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
24644
24779
|
}]
|
|
24645
24780
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i1$2.Location }] });
|
|
24646
24781
|
|
|
24782
|
+
const DEFAULT_LANGUAGE = 'en';
|
|
24647
24783
|
class DateService {
|
|
24648
24784
|
constructor(translateService) {
|
|
24649
24785
|
this.translateService = translateService;
|
|
24786
|
+
this.dateLocales = import('./geonetwork-ui-date-locales-MYnkDJ5h.mjs').then((obj) => obj.default);
|
|
24650
24787
|
}
|
|
24651
24788
|
getDateObject(date) {
|
|
24652
24789
|
if (typeof date === 'string') {
|
|
@@ -24659,10 +24796,15 @@ class DateService {
|
|
|
24659
24796
|
return date;
|
|
24660
24797
|
}
|
|
24661
24798
|
getLocaleAndDate(date) {
|
|
24662
|
-
const locale = this.translateService.currentLang ||
|
|
24799
|
+
const locale = this.translateService.currentLang || DEFAULT_LANGUAGE;
|
|
24663
24800
|
const dateObj = this.getDateObject(date);
|
|
24664
24801
|
return { locale, dateObj };
|
|
24665
24802
|
}
|
|
24803
|
+
async getDateLocale() {
|
|
24804
|
+
const lang = this.translateService.currentLang || DEFAULT_LANGUAGE;
|
|
24805
|
+
const locales = await this.dateLocales;
|
|
24806
|
+
return locales[lang];
|
|
24807
|
+
}
|
|
24666
24808
|
formatDate(date, options) {
|
|
24667
24809
|
const { locale, dateObj } = this.getLocaleAndDate(date);
|
|
24668
24810
|
return dateObj.toLocaleDateString(locale, options);
|
|
@@ -24671,6 +24813,15 @@ class DateService {
|
|
|
24671
24813
|
const { locale, dateObj } = this.getLocaleAndDate(date);
|
|
24672
24814
|
return dateObj.toLocaleString(locale, options);
|
|
24673
24815
|
}
|
|
24816
|
+
async formatRelativeDateTime(date) {
|
|
24817
|
+
const dateObj = this.getDateObject(date);
|
|
24818
|
+
const now = new Date();
|
|
24819
|
+
const locale = await this.getDateLocale();
|
|
24820
|
+
return formatDistance(dateObj, now, {
|
|
24821
|
+
addSuffix: true,
|
|
24822
|
+
locale: locale,
|
|
24823
|
+
});
|
|
24824
|
+
}
|
|
24674
24825
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateService, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24675
24826
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateService, providedIn: 'root' }); }
|
|
24676
24827
|
}
|
|
@@ -24981,13 +25132,16 @@ function sortByToStrings(sortBy) {
|
|
|
24981
25132
|
return array.map((param) => `${param[0] === 'desc' ? '-' : ''}${param[1]}`);
|
|
24982
25133
|
}
|
|
24983
25134
|
function sortByToString(sortBy) {
|
|
24984
|
-
return sortByToStrings(sortBy)
|
|
25135
|
+
return sortByToStrings(sortBy).join(',');
|
|
24985
25136
|
}
|
|
24986
25137
|
function sortByFromString(sortByString) {
|
|
24987
|
-
|
|
24988
|
-
|
|
24989
|
-
|
|
24990
|
-
|
|
25138
|
+
const fields = sortByString
|
|
25139
|
+
.split(',')
|
|
25140
|
+
.map((field) => [
|
|
25141
|
+
field.startsWith('-') ? 'desc' : 'asc',
|
|
25142
|
+
field.startsWith('-') ? field.substring(1) : field,
|
|
25143
|
+
]);
|
|
25144
|
+
return fields.length > 1 ? fields : fields[0];
|
|
24991
25145
|
}
|
|
24992
25146
|
|
|
24993
25147
|
const stripHtml = function (html) {
|
|
@@ -25185,6 +25339,12 @@ const FORMATS = {
|
|
|
25185
25339
|
color: '#5A9E6F',
|
|
25186
25340
|
mimeTypes: ['image/webp'],
|
|
25187
25341
|
},
|
|
25342
|
+
postgis: {
|
|
25343
|
+
extensions: ['postgis'],
|
|
25344
|
+
priority: 18,
|
|
25345
|
+
color: '#336791',
|
|
25346
|
+
mimeTypes: [],
|
|
25347
|
+
},
|
|
25188
25348
|
};
|
|
25189
25349
|
function getFormatPriority(linkFormat) {
|
|
25190
25350
|
for (const format in FORMATS) {
|
|
@@ -25215,6 +25375,11 @@ function getFileFormatFromServiceOutput(serviceOutput) {
|
|
|
25215
25375
|
return null;
|
|
25216
25376
|
}
|
|
25217
25377
|
function getFileFormat(link) {
|
|
25378
|
+
if ('accessServiceProtocol' in link) {
|
|
25379
|
+
if (link.accessServiceProtocol in FORMATS) {
|
|
25380
|
+
return link.accessServiceProtocol;
|
|
25381
|
+
}
|
|
25382
|
+
}
|
|
25218
25383
|
if ('mimeType' in link) {
|
|
25219
25384
|
const mimeTypeFormat = mimeTypeToFormat(link.mimeType);
|
|
25220
25385
|
if (mimeTypeFormat !== null) {
|
|
@@ -25380,6 +25545,10 @@ class LinkClassifierService {
|
|
|
25380
25545
|
return [LinkUsage.API, LinkUsage.DOWNLOAD, LinkUsage.GEODATA];
|
|
25381
25546
|
case 'GPFDL':
|
|
25382
25547
|
return [LinkUsage.API];
|
|
25548
|
+
case 'postgis':
|
|
25549
|
+
return [LinkUsage.UNKNOWN];
|
|
25550
|
+
case 'stac':
|
|
25551
|
+
return [LinkUsage.API];
|
|
25383
25552
|
default:
|
|
25384
25553
|
return [LinkUsage.UNKNOWN];
|
|
25385
25554
|
}
|
|
@@ -25443,7 +25612,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
25443
25612
|
}] } });
|
|
25444
25613
|
|
|
25445
25614
|
var name = "geonetwork-ui";
|
|
25446
|
-
var version = "2.8.0-dev.
|
|
25615
|
+
var version = "2.8.0-dev.7ecc6ee1d";
|
|
25447
25616
|
var engines = {
|
|
25448
25617
|
node: ">=20"
|
|
25449
25618
|
};
|
|
@@ -25645,6 +25814,35 @@ function updateLanguages(record, defaultLanguage, otherLanguages) {
|
|
|
25645
25814
|
return updatedRecord;
|
|
25646
25815
|
}
|
|
25647
25816
|
|
|
25817
|
+
class GnUiHumanizeDateDirective {
|
|
25818
|
+
constructor(dateService, el, renderer) {
|
|
25819
|
+
this.dateService = dateService;
|
|
25820
|
+
this.el = el;
|
|
25821
|
+
this.renderer = renderer;
|
|
25822
|
+
}
|
|
25823
|
+
async ngOnInit() {
|
|
25824
|
+
await this.updateElement();
|
|
25825
|
+
}
|
|
25826
|
+
async updateElement() {
|
|
25827
|
+
const dateValue = this.gnUiHumanizeDate;
|
|
25828
|
+
const fullDateTime = this.dateService.formatDateTime(dateValue);
|
|
25829
|
+
const relativeDate = await this.dateService.formatRelativeDateTime(dateValue);
|
|
25830
|
+
this.renderer.setAttribute(this.el.nativeElement, 'title', fullDateTime);
|
|
25831
|
+
this.renderer.setProperty(this.el.nativeElement, 'textContent', relativeDate);
|
|
25832
|
+
}
|
|
25833
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GnUiHumanizeDateDirective, deps: [{ token: DateService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25834
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: GnUiHumanizeDateDirective, isStandalone: true, selector: "[gnUiHumanizeDate]", inputs: { gnUiHumanizeDate: "gnUiHumanizeDate" }, ngImport: i0 }); }
|
|
25835
|
+
}
|
|
25836
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GnUiHumanizeDateDirective, decorators: [{
|
|
25837
|
+
type: Directive,
|
|
25838
|
+
args: [{
|
|
25839
|
+
selector: '[gnUiHumanizeDate]',
|
|
25840
|
+
standalone: true,
|
|
25841
|
+
}]
|
|
25842
|
+
}], ctorParameters: () => [{ type: DateService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { gnUiHumanizeDate: [{
|
|
25843
|
+
type: Input
|
|
25844
|
+
}] } });
|
|
25845
|
+
|
|
25648
25846
|
class ElasticsearchService {
|
|
25649
25847
|
// we're using getters in case the defined languages change over time
|
|
25650
25848
|
get metadataLang() {
|
|
@@ -26195,7 +26393,7 @@ class Gn4SettingsService {
|
|
|
26195
26393
|
this.apiVersion$ = this.getSettingsSetValueByKey('system/platform/version');
|
|
26196
26394
|
}
|
|
26197
26395
|
getSettingsSetValueByKey(key) {
|
|
26198
|
-
return this.siteApiService.getSettingsSet(null, [key])
|
|
26396
|
+
return of(true).pipe(switchMap(() => this.siteApiService.getSettingsSet(null, [key])), map$1((v) => v[key]), shareReplay$1({ bufferSize: 1, refCount: true }));
|
|
26199
26397
|
}
|
|
26200
26398
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4SettingsService, deps: [{ token: SiteApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
26201
26399
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4SettingsService, providedIn: 'root' }); }
|
|
@@ -27134,6 +27332,9 @@ class Gn4PlatformService {
|
|
|
27134
27332
|
console.warn('Error while loading gnui language package');
|
|
27135
27333
|
return of({});
|
|
27136
27334
|
}), shareReplay$1(1));
|
|
27335
|
+
this.me$ = this.disableAuth
|
|
27336
|
+
? of(null)
|
|
27337
|
+
: of(true).pipe(switchMap(() => this.meApi.getMe()), switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay$1({ bufferSize: 1, refCount: true }));
|
|
27137
27338
|
/**
|
|
27138
27339
|
* A map of already loaded thesauri (groups of keywords); the key is a URI
|
|
27139
27340
|
* @private
|
|
@@ -27144,9 +27345,6 @@ class Gn4PlatformService {
|
|
|
27144
27345
|
.pipe(map$1((thesaurus) => {
|
|
27145
27346
|
return thesaurus[0];
|
|
27146
27347
|
}), shareReplay$1(1));
|
|
27147
|
-
this.me$ = this.disableAuth
|
|
27148
|
-
? of(null)
|
|
27149
|
-
: this.meApi.getMe().pipe(switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay$1({ bufferSize: 1, refCount: true }));
|
|
27150
27348
|
this.isUserAnonymous$ = this.me$.pipe(map$1((user) => !user || !('id' in user)));
|
|
27151
27349
|
this.users$ = this.usersApi.getUsers().pipe(map$1((users) => users.map((user) => this.mapper.userFromApi(user))), shareReplay$1());
|
|
27152
27350
|
}
|
|
@@ -29759,8 +29957,7 @@ class DropdownSelectorComponent {
|
|
|
29759
29957
|
];
|
|
29760
29958
|
}
|
|
29761
29959
|
get selectedChoice() {
|
|
29762
|
-
return (this.choices.find((choice) => choice.value === this.selected) ??
|
|
29763
|
-
this.choices[0]);
|
|
29960
|
+
return (this.choices.find((choice) => JSON.stringify(choice.value) === JSON.stringify(this.selected)) ?? this.choices[0]);
|
|
29764
29961
|
}
|
|
29765
29962
|
get id() {
|
|
29766
29963
|
return this.title.toLowerCase().replace(/[^a-z]+/g, '-');
|
|
@@ -33737,7 +33934,7 @@ class ExternalLinkCardComponent {
|
|
|
33737
33934
|
}
|
|
33738
33935
|
set size(value) {
|
|
33739
33936
|
this._size = value;
|
|
33740
|
-
this.cardClass = this.sizeClassMap[value]
|
|
33937
|
+
this.cardClass = `group flex flex-row justify-between card-shadow rounded overflow-hidden ${this.sizeClassMap[value]}`;
|
|
33741
33938
|
}
|
|
33742
33939
|
get size() {
|
|
33743
33940
|
return this._size;
|
|
@@ -33748,6 +33945,10 @@ class ExternalLinkCardComponent {
|
|
|
33748
33945
|
}
|
|
33749
33946
|
return this.link.name || this.link.description || '';
|
|
33750
33947
|
}
|
|
33948
|
+
get isDatabase() {
|
|
33949
|
+
return (this.link.type === 'service' &&
|
|
33950
|
+
this.link.accessServiceProtocol === 'postgis');
|
|
33951
|
+
}
|
|
33751
33952
|
getLinkFormat(link) {
|
|
33752
33953
|
return getFileFormat(link);
|
|
33753
33954
|
}
|
|
@@ -33758,18 +33959,20 @@ class ExternalLinkCardComponent {
|
|
|
33758
33959
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ExternalLinkCardComponent, isStandalone: true, selector: "gn-ui-external-link-card", inputs: { link: "link", size: "size" }, providers: [
|
|
33759
33960
|
provideIcons({
|
|
33760
33961
|
matOpenInNew,
|
|
33962
|
+
iconoirDatabase,
|
|
33761
33963
|
}),
|
|
33762
33964
|
provideNgIconsConfig({ size: '1.5em' }),
|
|
33763
|
-
], ngImport: i0, template: "<
|
|
33965
|
+
], ngImport: i0, template: "<ng-container *ngIf=\"isDatabase; else clickableLink\">\n <div [ngClass]=\"cardClass\" [title]=\"title\">\n <ng-container *ngTemplateOutlet=\"cardContent\"></ng-container>\n <div\n class=\"flex min-w-[32px]\"\n [ngClass]=\"size === 'S' ? 'items-end' : 'items-center'\"\n >\n <div\n class=\"gn-ui-card-icon\"\n [title]=\"'record.metadata.link.postgis.tooltip' | translate\"\n >\n <ng-icon\n class=\"inline-block card-icon align-middle\"\n name=\"iconoirDatabase\"\n ></ng-icon>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #clickableLink>\n <a [href]=\"link.url\" target=\"_blank\" [ngClass]=\"cardClass\" [title]=\"title\">\n <ng-container *ngTemplateOutlet=\"cardContent\"></ng-container>\n <div\n class=\"flex min-w-[32px]\"\n [ngClass]=\"size === 'S' ? 'items-end' : 'items-center'\"\n >\n <div class=\"gn-ui-card-icon\">\n <ng-icon\n class=\"inline-block card-icon align-middle\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </div>\n </div>\n </a>\n</ng-template>\n<ng-template #cardContent>\n <div class=\"flex flex-col justify-between flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n <ng-container *ngIf=\"isDatabase\">\n {{ 'record.metadata.link.postgis.table' | translate }}\n </ng-container>\n {{ link.name }}\n </div>\n <p *ngIf=\"!link.name && !link.description\" class=\"gn-ui-card-title\">\n {{ link.url }}\n </p>\n <div class=\"pt-1\">\n <span\n class=\"inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded transition-opacity opacity-70 group-hover:opacity-100\"\n [style.background-color]=\"getLinkColor(link)\"\n data-cy=\"download-format\"\n >\n {{ getLinkFormat(link) || ('downloads.format.unknown' | translate) }}\n </span>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33764
33966
|
}
|
|
33765
33967
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExternalLinkCardComponent, decorators: [{
|
|
33766
33968
|
type: Component,
|
|
33767
33969
|
args: [{ selector: 'gn-ui-external-link-card', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIconComponent, TranslatePipe], providers: [
|
|
33768
33970
|
provideIcons({
|
|
33769
33971
|
matOpenInNew,
|
|
33972
|
+
iconoirDatabase,
|
|
33770
33973
|
}),
|
|
33771
33974
|
provideNgIconsConfig({ size: '1.5em' }),
|
|
33772
|
-
], template: "<
|
|
33975
|
+
], template: "<ng-container *ngIf=\"isDatabase; else clickableLink\">\n <div [ngClass]=\"cardClass\" [title]=\"title\">\n <ng-container *ngTemplateOutlet=\"cardContent\"></ng-container>\n <div\n class=\"flex min-w-[32px]\"\n [ngClass]=\"size === 'S' ? 'items-end' : 'items-center'\"\n >\n <div\n class=\"gn-ui-card-icon\"\n [title]=\"'record.metadata.link.postgis.tooltip' | translate\"\n >\n <ng-icon\n class=\"inline-block card-icon align-middle\"\n name=\"iconoirDatabase\"\n ></ng-icon>\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #clickableLink>\n <a [href]=\"link.url\" target=\"_blank\" [ngClass]=\"cardClass\" [title]=\"title\">\n <ng-container *ngTemplateOutlet=\"cardContent\"></ng-container>\n <div\n class=\"flex min-w-[32px]\"\n [ngClass]=\"size === 'S' ? 'items-end' : 'items-center'\"\n >\n <div class=\"gn-ui-card-icon\">\n <ng-icon\n class=\"inline-block card-icon align-middle\"\n name=\"matOpenInNew\"\n ></ng-icon>\n </div>\n </div>\n </a>\n</ng-template>\n<ng-template #cardContent>\n <div class=\"flex flex-col justify-between flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n <ng-container *ngIf=\"isDatabase\">\n {{ 'record.metadata.link.postgis.table' | translate }}\n </ng-container>\n {{ link.name }}\n </div>\n <p *ngIf=\"!link.name && !link.description\" class=\"gn-ui-card-title\">\n {{ link.url }}\n </p>\n <div class=\"pt-1\">\n <span\n class=\"inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded transition-opacity opacity-70 group-hover:opacity-100\"\n [style.background-color]=\"getLinkColor(link)\"\n data-cy=\"download-format\"\n >\n {{ getLinkFormat(link) || ('downloads.format.unknown' | translate) }}\n </span>\n </div>\n </div>\n</ng-template>\n" }]
|
|
33773
33976
|
}], propDecorators: { link: [{
|
|
33774
33977
|
type: Input
|
|
33775
33978
|
}], size: [{
|
|
@@ -33889,6 +34092,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
33889
34092
|
type: Output
|
|
33890
34093
|
}] } });
|
|
33891
34094
|
|
|
34095
|
+
class MetadataDoiComponent {
|
|
34096
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataDoiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34097
|
+
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: [
|
|
34098
|
+
provideIcons({
|
|
34099
|
+
matOpenInNew,
|
|
34100
|
+
}),
|
|
34101
|
+
] }); }
|
|
34102
|
+
}
|
|
34103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataDoiComponent, decorators: [{
|
|
34104
|
+
type: Component,
|
|
34105
|
+
args: [{ selector: 'gn-ui-metadata-doi', standalone: true, imports: [
|
|
34106
|
+
CommonModule,
|
|
34107
|
+
MatTooltipModule,
|
|
34108
|
+
NgIcon,
|
|
34109
|
+
TranslatePipe,
|
|
34110
|
+
CopyTextButtonComponent,
|
|
34111
|
+
], viewProviders: [
|
|
34112
|
+
provideIcons({
|
|
34113
|
+
matOpenInNew,
|
|
34114
|
+
}),
|
|
34115
|
+
], 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" }]
|
|
34116
|
+
}], propDecorators: { code: [{
|
|
34117
|
+
type: Input
|
|
34118
|
+
}], link: [{
|
|
34119
|
+
type: Input
|
|
34120
|
+
}] } });
|
|
34121
|
+
|
|
33892
34122
|
/* eslint-disable @angular-eslint/directive-selector */
|
|
33893
34123
|
class GnUiLinkifyDirective {
|
|
33894
34124
|
constructor(el, renderer) {
|
|
@@ -34032,14 +34262,8 @@ class MetadataInfoComponent {
|
|
|
34032
34262
|
onKeywordClick(keyword) {
|
|
34033
34263
|
this.keyword.emit(keyword);
|
|
34034
34264
|
}
|
|
34035
|
-
formatDate(date) {
|
|
34036
|
-
return this.dateService.formatDate(date);
|
|
34037
|
-
}
|
|
34038
|
-
formatDateTime(date) {
|
|
34039
|
-
return this.dateService.formatDateTime(date);
|
|
34040
|
-
}
|
|
34041
34265
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataInfoComponent, deps: [{ token: DateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34042
|
-
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: [
|
|
34266
|
+
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\n class=\"text-primary font-medium mt-1 resource-created\"\n [gnUiHumanizeDate]=\"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\n class=\"text-primary font-medium mt-1 resource-published\"\n [gnUiHumanizeDate]=\"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\n class=\"text-primary font-medium mt-1 resource-updated\"\n [gnUiHumanizeDate]=\"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\n class=\"text-primary font-medium\"\n [gnUiHumanizeDate]=\"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: "directive", type: GnUiHumanizeDateDirective, selector: "[gnUiHumanizeDate]", inputs: ["gnUiHumanizeDate"] }, { kind: "component", type: SpatialExtentComponent, selector: "gn-ui-spatial-extent", inputs: ["spatialExtents"] }], viewProviders: [
|
|
34043
34267
|
provideIcons({
|
|
34044
34268
|
matOpenInNew,
|
|
34045
34269
|
matMailOutline: matMailOutline$1,
|
|
@@ -34061,13 +34285,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
34061
34285
|
CopyTextButtonComponent,
|
|
34062
34286
|
NgIcon,
|
|
34063
34287
|
GnUiLinkifyDirective,
|
|
34288
|
+
GnUiHumanizeDateDirective,
|
|
34064
34289
|
SpatialExtentComponent,
|
|
34065
34290
|
], viewProviders: [
|
|
34066
34291
|
provideIcons({
|
|
34067
34292
|
matOpenInNew,
|
|
34068
34293
|
matMailOutline: matMailOutline$1,
|
|
34069
34294
|
}),
|
|
34070
|
-
], 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"] }]
|
|
34295
|
+
], 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\n class=\"text-primary font-medium mt-1 resource-created\"\n [gnUiHumanizeDate]=\"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\n class=\"text-primary font-medium mt-1 resource-published\"\n [gnUiHumanizeDate]=\"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\n class=\"text-primary font-medium mt-1 resource-updated\"\n [gnUiHumanizeDate]=\"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\n class=\"text-primary font-medium\"\n [gnUiHumanizeDate]=\"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"] }]
|
|
34071
34296
|
}], ctorParameters: () => [{ type: DateService }], propDecorators: { metadata: [{
|
|
34072
34297
|
type: Input
|
|
34073
34298
|
}], incomplete: [{
|
|
@@ -34381,59 +34606,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
34381
34606
|
type: Input
|
|
34382
34607
|
}] } });
|
|
34383
34608
|
|
|
34384
|
-
class TimeSincePipe {
|
|
34385
|
-
constructor(translate) {
|
|
34386
|
-
this.translate = translate;
|
|
34387
|
-
}
|
|
34388
|
-
transform(value) {
|
|
34389
|
-
if (isNaN(value.getTime())) {
|
|
34390
|
-
throw new Error('Invalid Date');
|
|
34391
|
-
}
|
|
34392
|
-
const maintenant = new Date();
|
|
34393
|
-
let locale;
|
|
34394
|
-
switch (this.translate.currentLang) {
|
|
34395
|
-
case 'fr':
|
|
34396
|
-
locale = fr$1;
|
|
34397
|
-
break;
|
|
34398
|
-
case 'de':
|
|
34399
|
-
locale = de$1;
|
|
34400
|
-
break;
|
|
34401
|
-
case 'es':
|
|
34402
|
-
locale = es$1;
|
|
34403
|
-
break;
|
|
34404
|
-
case 'it':
|
|
34405
|
-
locale = it$1;
|
|
34406
|
-
break;
|
|
34407
|
-
case 'nl':
|
|
34408
|
-
locale = nl$1;
|
|
34409
|
-
break;
|
|
34410
|
-
case 'pt':
|
|
34411
|
-
locale = pt$1;
|
|
34412
|
-
break;
|
|
34413
|
-
case 'sk':
|
|
34414
|
-
locale = sk$1;
|
|
34415
|
-
break;
|
|
34416
|
-
case 'en':
|
|
34417
|
-
default:
|
|
34418
|
-
locale = enUS;
|
|
34419
|
-
break;
|
|
34420
|
-
}
|
|
34421
|
-
return formatDistance(value, maintenant, {
|
|
34422
|
-
addSuffix: true,
|
|
34423
|
-
locale: locale,
|
|
34424
|
-
});
|
|
34425
|
-
}
|
|
34426
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeSincePipe, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
34427
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TimeSincePipe, isStandalone: true, name: "timeSince" }); }
|
|
34428
|
-
}
|
|
34429
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeSincePipe, decorators: [{
|
|
34430
|
-
type: Pipe,
|
|
34431
|
-
args: [{
|
|
34432
|
-
name: 'timeSince',
|
|
34433
|
-
standalone: true,
|
|
34434
|
-
}]
|
|
34435
|
-
}], ctorParameters: () => [{ type: i1$1.TranslateService }] });
|
|
34436
|
-
|
|
34437
34609
|
class UserFeedbackItemComponent {
|
|
34438
34610
|
constructor() {
|
|
34439
34611
|
this.newUserFeedbackAnswer = new EventEmitter();
|
|
@@ -34466,7 +34638,7 @@ class UserFeedbackItemComponent {
|
|
|
34466
34638
|
this.onNewAnswerValueChange();
|
|
34467
34639
|
}
|
|
34468
34640
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserFeedbackItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34469
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserFeedbackItemComponent, isStandalone: true, selector: "gn-ui-user-feedback-item", inputs: { userFeedbackParent: "userFeedbackParent", userFeedBacksAnswers: "userFeedBacksAnswers", activeUser: "activeUser", isLastComment: "isLastComment", isAddUserFeedbackLoading: "isAddUserFeedbackLoading" }, outputs: { newUserFeedbackAnswer: "newUserFeedbackAnswer" }, ngImport: i0, template: "<div\n *ngIf=\"userFeedbackParent.published\"\n class=\"flex flex-col bg-white rounded w-full\"\n [ngClass]=\"[isAnAnswer ? 'ps-4 ' : 'p-4']\"\n>\n <div class=\"flex flex-row\">\n <div class=\"avatar\">\n <img\n class=\"rounded-full\"\n [src]=\"userFeedbackParent.avatarUrl\"\n alt=\"avatar\"\n />\n </div>\n <div class=\"p-4 flex flex-col\">\n <span>{{ userFeedbackParent.authorName }}</span>\n <span
|
|
34641
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserFeedbackItemComponent, isStandalone: true, selector: "gn-ui-user-feedback-item", inputs: { userFeedbackParent: "userFeedbackParent", userFeedBacksAnswers: "userFeedBacksAnswers", activeUser: "activeUser", isLastComment: "isLastComment", isAddUserFeedbackLoading: "isAddUserFeedbackLoading" }, outputs: { newUserFeedbackAnswer: "newUserFeedbackAnswer" }, ngImport: i0, template: "<div\n *ngIf=\"userFeedbackParent.published\"\n class=\"flex flex-col bg-white rounded w-full\"\n [ngClass]=\"[isAnAnswer ? 'ps-4 ' : 'p-4']\"\n>\n <div class=\"flex flex-row\">\n <div class=\"avatar\">\n <img\n class=\"rounded-full\"\n [src]=\"userFeedbackParent.avatarUrl\"\n alt=\"avatar\"\n />\n </div>\n <div class=\"p-4 flex flex-col\">\n <span>{{ userFeedbackParent.authorName }}</span>\n <span [gnUiHumanizeDate]=\"userFeedbackParent.date\"></span>\n </div>\n </div>\n <div data-cy=\"commentText\" class=\"mt-4 whitespace-pre-line\">\n {{ userFeedbackParent.comment }}\n </div>\n <div\n class=\"w-full\"\n *ngFor=\"let userFeedBacksAnswer of userFeedBacksAnswers; let last = last\"\n >\n <hr class=\"-mx-4 my-6\" />\n <gn-ui-user-feedback-item\n [userFeedbackParent]=\"userFeedBacksAnswer\"\n [isLastComment]=\"last\"\n ></gn-ui-user-feedback-item>\n </div>\n\n <div *ngIf=\"activeUser\" class=\"mt-2 flex flex-col\">\n <hr class=\"-mx-4 my-4\" />\n <div\n id=\"new-comment-buttons\"\n class=\"flex flex-row gap-2 items-center justify-end\"\n >\n <gn-ui-text-area\n [disabled]=\"isAddUserFeedbackLoading\"\n [(value)]=\"newAnswer\"\n (valueChange)=\"onNewAnswerValueChange()\"\n (keyup.control.enter)=\"publishNewAnswer()\"\n [placeholder]=\"\n 'record.metadata.userFeedbacks.newAnswer.placeholder' | translate\n \"\n class=\"grow\"\n extraClass=\"bg-transparent border-0 placeholder-primary-darker text-primary-darker h-9\"\n ></gn-ui-text-area>\n <div *ngIf=\"!isAnswerEmpty\" class=\"flex flex-row justify-end\">\n <gn-ui-button\n [disabled]=\"isAddUserFeedbackLoading\"\n [type]=\"'outline'\"\n (buttonClick)=\"publishNewAnswer()\"\n [title]=\"\n 'record.metadata.userFeedbacks.newAnswer.buttonTitle' | translate\n \"\n extraClass=\"!p-[0.5em] text-primary-darker border-primary-darker h-9\"\n >\n <ng-icon *ngIf=\"!isAddUserFeedbackLoading\" name=\"matSendOutline\">\n </ng-icon>\n <ng-container *ngIf=\"isAddUserFeedbackLoading\">\n <div class=\"flex justify-center w-full\">\n <gn-ui-spinning-loader></gn-ui-spinning-loader>\n </div>\n </ng-container>\n </gn-ui-button>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: UserFeedbackItemComponent, selector: "gn-ui-user-feedback-item", inputs: ["userFeedbackParent", "userFeedBacksAnswers", "activeUser", "isLastComment", "isAddUserFeedbackLoading"], outputs: ["newUserFeedbackAnswer"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: SpinningLoaderComponent, selector: "gn-ui-spinning-loader" }, { kind: "directive", type: GnUiHumanizeDateDirective, selector: "[gnUiHumanizeDate]", inputs: ["gnUiHumanizeDate"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], viewProviders: [
|
|
34470
34642
|
provideIcons({
|
|
34471
34643
|
matSendOutline,
|
|
34472
34644
|
}),
|
|
@@ -34476,17 +34648,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
34476
34648
|
type: Component,
|
|
34477
34649
|
args: [{ selector: 'gn-ui-user-feedback-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
34478
34650
|
CommonModule,
|
|
34479
|
-
TimeSincePipe,
|
|
34480
34651
|
TextAreaComponent,
|
|
34481
34652
|
TranslatePipe,
|
|
34482
34653
|
ButtonComponent,
|
|
34483
34654
|
SpinningLoaderComponent,
|
|
34655
|
+
GnUiHumanizeDateDirective,
|
|
34484
34656
|
NgIcon,
|
|
34485
34657
|
], viewProviders: [
|
|
34486
34658
|
provideIcons({
|
|
34487
34659
|
matSendOutline,
|
|
34488
34660
|
}),
|
|
34489
|
-
], template: "<div\n *ngIf=\"userFeedbackParent.published\"\n class=\"flex flex-col bg-white rounded w-full\"\n [ngClass]=\"[isAnAnswer ? 'ps-4 ' : 'p-4']\"\n>\n <div class=\"flex flex-row\">\n <div class=\"avatar\">\n <img\n class=\"rounded-full\"\n [src]=\"userFeedbackParent.avatarUrl\"\n alt=\"avatar\"\n />\n </div>\n <div class=\"p-4 flex flex-col\">\n <span>{{ userFeedbackParent.authorName }}</span>\n <span
|
|
34661
|
+
], template: "<div\n *ngIf=\"userFeedbackParent.published\"\n class=\"flex flex-col bg-white rounded w-full\"\n [ngClass]=\"[isAnAnswer ? 'ps-4 ' : 'p-4']\"\n>\n <div class=\"flex flex-row\">\n <div class=\"avatar\">\n <img\n class=\"rounded-full\"\n [src]=\"userFeedbackParent.avatarUrl\"\n alt=\"avatar\"\n />\n </div>\n <div class=\"p-4 flex flex-col\">\n <span>{{ userFeedbackParent.authorName }}</span>\n <span [gnUiHumanizeDate]=\"userFeedbackParent.date\"></span>\n </div>\n </div>\n <div data-cy=\"commentText\" class=\"mt-4 whitespace-pre-line\">\n {{ userFeedbackParent.comment }}\n </div>\n <div\n class=\"w-full\"\n *ngFor=\"let userFeedBacksAnswer of userFeedBacksAnswers; let last = last\"\n >\n <hr class=\"-mx-4 my-6\" />\n <gn-ui-user-feedback-item\n [userFeedbackParent]=\"userFeedBacksAnswer\"\n [isLastComment]=\"last\"\n ></gn-ui-user-feedback-item>\n </div>\n\n <div *ngIf=\"activeUser\" class=\"mt-2 flex flex-col\">\n <hr class=\"-mx-4 my-4\" />\n <div\n id=\"new-comment-buttons\"\n class=\"flex flex-row gap-2 items-center justify-end\"\n >\n <gn-ui-text-area\n [disabled]=\"isAddUserFeedbackLoading\"\n [(value)]=\"newAnswer\"\n (valueChange)=\"onNewAnswerValueChange()\"\n (keyup.control.enter)=\"publishNewAnswer()\"\n [placeholder]=\"\n 'record.metadata.userFeedbacks.newAnswer.placeholder' | translate\n \"\n class=\"grow\"\n extraClass=\"bg-transparent border-0 placeholder-primary-darker text-primary-darker h-9\"\n ></gn-ui-text-area>\n <div *ngIf=\"!isAnswerEmpty\" class=\"flex flex-row justify-end\">\n <gn-ui-button\n [disabled]=\"isAddUserFeedbackLoading\"\n [type]=\"'outline'\"\n (buttonClick)=\"publishNewAnswer()\"\n [title]=\"\n 'record.metadata.userFeedbacks.newAnswer.buttonTitle' | translate\n \"\n extraClass=\"!p-[0.5em] text-primary-darker border-primary-darker h-9\"\n >\n <ng-icon *ngIf=\"!isAddUserFeedbackLoading\" name=\"matSendOutline\">\n </ng-icon>\n <ng-container *ngIf=\"isAddUserFeedbackLoading\">\n <div class=\"flex justify-center w-full\">\n <gn-ui-spinning-loader></gn-ui-spinning-loader>\n </div>\n </ng-container>\n </gn-ui-button>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
34490
34662
|
}], propDecorators: { userFeedbackParent: [{
|
|
34491
34663
|
type: Input
|
|
34492
34664
|
}], userFeedBacksAnswers: [{
|
|
@@ -36455,6 +36627,11 @@ const SortByEnum = {
|
|
|
36455
36627
|
RELEVANCY: ['desc', '_score'],
|
|
36456
36628
|
QUALITY_SCORE: ['desc', 'qualityScore'],
|
|
36457
36629
|
CHANGE_DATE: ['desc', 'changeDate'],
|
|
36630
|
+
RESOURCE_DATES: [
|
|
36631
|
+
['desc', 'revisionDateForResource'],
|
|
36632
|
+
['desc', 'publicationDateForResource'],
|
|
36633
|
+
['desc', 'creationDateForResource'],
|
|
36634
|
+
],
|
|
36458
36635
|
};
|
|
36459
36636
|
|
|
36460
36637
|
class SortByComponent {
|
|
@@ -36464,33 +36641,29 @@ class SortByComponent {
|
|
|
36464
36641
|
this.choices = [
|
|
36465
36642
|
{
|
|
36466
36643
|
label: marker('results.sortBy.relevancy'),
|
|
36467
|
-
value: SortByEnum.RELEVANCY
|
|
36644
|
+
value: SortByEnum.RELEVANCY,
|
|
36468
36645
|
},
|
|
36469
36646
|
{
|
|
36470
36647
|
label: marker('results.sortBy.dateStamp'),
|
|
36471
|
-
value: SortByEnum.
|
|
36472
|
-
},
|
|
36473
|
-
{
|
|
36474
|
-
label: marker('results.sortBy.changeDate'),
|
|
36475
|
-
value: SortByEnum.CHANGE_DATE.join(','),
|
|
36648
|
+
value: SortByEnum.RESOURCE_DATES,
|
|
36476
36649
|
},
|
|
36477
36650
|
{
|
|
36478
36651
|
label: marker('results.sortBy.popularity'),
|
|
36479
|
-
value: SortByEnum.POPULARITY
|
|
36652
|
+
value: SortByEnum.POPULARITY,
|
|
36480
36653
|
},
|
|
36481
36654
|
];
|
|
36482
|
-
this.currentSortBy$ = this.facade.sortBy$.pipe(filter$1((sortBy) => !!sortBy), map$1((sortBy) => sortBy
|
|
36655
|
+
this.currentSortBy$ = this.facade.sortBy$.pipe(filter$1((sortBy) => !!sortBy), map$1((sortBy) => sortBy));
|
|
36483
36656
|
}
|
|
36484
36657
|
ngOnInit() {
|
|
36485
36658
|
if (this.isQualitySortable) {
|
|
36486
36659
|
this.choices.push({
|
|
36487
36660
|
label: marker('results.sortBy.qualityScore'),
|
|
36488
|
-
value: SortByEnum.QUALITY_SCORE
|
|
36661
|
+
value: SortByEnum.QUALITY_SCORE,
|
|
36489
36662
|
});
|
|
36490
36663
|
}
|
|
36491
36664
|
}
|
|
36492
|
-
changeSortBy(
|
|
36493
|
-
this.searchService.setSortBy(
|
|
36665
|
+
changeSortBy(criteria) {
|
|
36666
|
+
this.searchService.setSortBy(criteria);
|
|
36494
36667
|
}
|
|
36495
36668
|
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 }); }
|
|
36496
36669
|
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" }] }); }
|
|
@@ -38173,13 +38346,24 @@ class DataService {
|
|
|
38173
38346
|
if (!featureType) {
|
|
38174
38347
|
throw new Error('wfs.featuretype.notfound');
|
|
38175
38348
|
}
|
|
38349
|
+
const wfsVersion = endpoint.getVersion();
|
|
38350
|
+
const addSrsName = wfsVersion === '1.1.0' || wfsVersion === '2.0.0';
|
|
38351
|
+
const defaultCrs = featureType.defaultCrs;
|
|
38352
|
+
const shouldAddOutputCrs = addSrsName && defaultCrs;
|
|
38176
38353
|
return {
|
|
38177
|
-
all: featureType.outputFormats.reduce((prev, curr) =>
|
|
38178
|
-
|
|
38179
|
-
|
|
38180
|
-
|
|
38181
|
-
|
|
38182
|
-
|
|
38354
|
+
all: featureType.outputFormats.reduce((prev, curr) => {
|
|
38355
|
+
const isJsonFormat = curr.toLowerCase().includes('json');
|
|
38356
|
+
return {
|
|
38357
|
+
...prev,
|
|
38358
|
+
[curr]: endpoint.getFeatureUrl(featureType.name, {
|
|
38359
|
+
outputFormat: curr,
|
|
38360
|
+
...(shouldAddOutputCrs &&
|
|
38361
|
+
!isJsonFormat && {
|
|
38362
|
+
outputCrs: defaultCrs,
|
|
38363
|
+
}),
|
|
38364
|
+
}),
|
|
38365
|
+
};
|
|
38366
|
+
}, {}),
|
|
38183
38367
|
geojson: endpoint.supportsJson(featureType.name)
|
|
38184
38368
|
? endpoint.getFeatureUrl(featureType.name, {
|
|
38185
38369
|
asJson: true,
|
|
@@ -38854,6 +39038,8 @@ class ChartViewComponent {
|
|
|
38854
39038
|
this.chartType$.next(value);
|
|
38855
39039
|
}
|
|
38856
39040
|
set userChartConfig(config) {
|
|
39041
|
+
if (!config)
|
|
39042
|
+
return;
|
|
38857
39043
|
this.aggregation$.next(config.aggregation);
|
|
38858
39044
|
this.xProperty$.next(config.xProperty);
|
|
38859
39045
|
this.yProperty$.next(config.yProperty);
|
|
@@ -39291,6 +39477,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39291
39477
|
type: Input
|
|
39292
39478
|
}] } });
|
|
39293
39479
|
|
|
39480
|
+
class StacViewComponent {
|
|
39481
|
+
constructor() {
|
|
39482
|
+
this.currentTemporalExtent = null;
|
|
39483
|
+
this.isTemporalFilterModified = false;
|
|
39484
|
+
}
|
|
39485
|
+
onStartDateChange(date) {
|
|
39486
|
+
this.currentTemporalExtent = {
|
|
39487
|
+
...this.currentTemporalExtent,
|
|
39488
|
+
start: date,
|
|
39489
|
+
};
|
|
39490
|
+
this.isTemporalFilterModified = true;
|
|
39491
|
+
}
|
|
39492
|
+
onEndDateChange(date) {
|
|
39493
|
+
this.currentTemporalExtent = {
|
|
39494
|
+
...this.currentTemporalExtent,
|
|
39495
|
+
end: date,
|
|
39496
|
+
};
|
|
39497
|
+
this.isTemporalFilterModified = true;
|
|
39498
|
+
}
|
|
39499
|
+
onResetFilters() {
|
|
39500
|
+
this.currentTemporalExtent = this.initialTemporalExtent;
|
|
39501
|
+
this.isTemporalFilterModified = false;
|
|
39502
|
+
}
|
|
39503
|
+
ngOnInit() {
|
|
39504
|
+
this.currentTemporalExtent = this.initialTemporalExtent;
|
|
39505
|
+
}
|
|
39506
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StacViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39507
|
+
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 }); }
|
|
39508
|
+
}
|
|
39509
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StacViewComponent, decorators: [{
|
|
39510
|
+
type: Component,
|
|
39511
|
+
args: [{ selector: 'gn-ui-stac-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
39512
|
+
CommonModule,
|
|
39513
|
+
DatePickerComponent,
|
|
39514
|
+
NgIconComponent,
|
|
39515
|
+
TranslateDirective,
|
|
39516
|
+
], 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" }]
|
|
39517
|
+
}], propDecorators: { link: [{
|
|
39518
|
+
type: Input
|
|
39519
|
+
}], initialTemporalExtent: [{
|
|
39520
|
+
type: Input
|
|
39521
|
+
}] } });
|
|
39522
|
+
|
|
39294
39523
|
/**
|
|
39295
39524
|
* The Metadata View Facade is used to render complete metadata records.
|
|
39296
39525
|
* Supply it with an incomplete record (at least containing the uuid) and the
|
|
@@ -39321,8 +39550,21 @@ class MdViewFacade {
|
|
|
39321
39550
|
this.sourceOf$ = this.store.pipe(select(getSourceOf));
|
|
39322
39551
|
this.chartConfig$ = this.store.pipe(select(getChartConfig));
|
|
39323
39552
|
this.allLinks$ = this.metadata$.pipe(map$1((record) => 'onlineResources' in record ? record.onlineResources : []), shareReplay$1(1));
|
|
39553
|
+
this.resourceDoi$ = this.metadata$.pipe(map$1((record) => {
|
|
39554
|
+
if (!record?.resourceIdentifiers?.length)
|
|
39555
|
+
return null;
|
|
39556
|
+
const doiIdentifier = record.resourceIdentifiers.find((id) => id.codeSpace?.toLowerCase().includes('doi.org') ||
|
|
39557
|
+
id.code.startsWith('10.'));
|
|
39558
|
+
if (!doiIdentifier)
|
|
39559
|
+
return null;
|
|
39560
|
+
return {
|
|
39561
|
+
code: doiIdentifier.code,
|
|
39562
|
+
url: doiIdentifier.url ? doiIdentifier.url : null,
|
|
39563
|
+
};
|
|
39564
|
+
}), shareReplay$1(1));
|
|
39324
39565
|
this.apiLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.API))), shareReplay$1(1));
|
|
39325
39566
|
this.mapApiLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.MAP_API))), shareReplay$1(1));
|
|
39567
|
+
this.stacLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => link.type === 'service' && link.accessServiceProtocol === 'stac')), shareReplay$1(1));
|
|
39326
39568
|
this.downloadLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DOWNLOAD))));
|
|
39327
39569
|
this.dataLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.DATA))));
|
|
39328
39570
|
this.geoDataLinks$ = this.allLinks$.pipe(map$1((links) => links.filter((link) => this.linkClassifier.hasUsage(link, LinkUsage.GEODATA))));
|
|
@@ -39480,8 +39722,9 @@ class DataViewPermalinkComponent {
|
|
|
39480
39722
|
set viewType(value) {
|
|
39481
39723
|
this.viewType$.next(value);
|
|
39482
39724
|
}
|
|
39483
|
-
constructor(config, wcEmbedderBaseUrl, facade) {
|
|
39725
|
+
constructor(config, proxyPath, wcEmbedderBaseUrl, facade) {
|
|
39484
39726
|
this.config = config;
|
|
39727
|
+
this.proxyPath = proxyPath;
|
|
39485
39728
|
this.wcEmbedderBaseUrl = wcEmbedderBaseUrl;
|
|
39486
39729
|
this.facade = facade;
|
|
39487
39730
|
this.viewType$ = new BehaviorSubject('map');
|
|
@@ -39514,6 +39757,9 @@ class DataViewPermalinkComponent {
|
|
|
39514
39757
|
url.searchParams.append('e', `gn-dataset-view-map`);
|
|
39515
39758
|
}
|
|
39516
39759
|
url.searchParams.append('a', `api-url=${this.config.basePath}`);
|
|
39760
|
+
if (this.proxyPath) {
|
|
39761
|
+
url.searchParams.append('a', `proxy-path=${this.proxyPath}`);
|
|
39762
|
+
}
|
|
39517
39763
|
url.searchParams.append('a', `dataset-id=${metadata.uniqueIdentifier}`);
|
|
39518
39764
|
url.searchParams.append('a', `primary-color=#0f4395`);
|
|
39519
39765
|
url.searchParams.append('a', `secondary-color=#8bc832`);
|
|
@@ -39522,7 +39768,7 @@ class DataViewPermalinkComponent {
|
|
|
39522
39768
|
return url.toString();
|
|
39523
39769
|
}));
|
|
39524
39770
|
}
|
|
39525
|
-
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 }); }
|
|
39771
|
+
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 }); }
|
|
39526
39772
|
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 }); }
|
|
39527
39773
|
}
|
|
39528
39774
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewPermalinkComponent, decorators: [{
|
|
@@ -39533,6 +39779,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39533
39779
|
args: [Configuration]
|
|
39534
39780
|
}] }, { type: undefined, decorators: [{
|
|
39535
39781
|
type: Optional
|
|
39782
|
+
}, {
|
|
39783
|
+
type: Inject,
|
|
39784
|
+
args: [PROXY_PATH]
|
|
39785
|
+
}] }, { type: undefined, decorators: [{
|
|
39786
|
+
type: Optional
|
|
39536
39787
|
}, {
|
|
39537
39788
|
type: Inject,
|
|
39538
39789
|
args: [WEB_COMPONENT_EMBEDDER_URL]
|
|
@@ -39641,8 +39892,9 @@ class DataViewWebComponentComponent {
|
|
|
39641
39892
|
set viewType(value) {
|
|
39642
39893
|
this.viewType$.next(value);
|
|
39643
39894
|
}
|
|
39644
|
-
constructor(config, facade) {
|
|
39895
|
+
constructor(config, proxyPath, facade) {
|
|
39645
39896
|
this.config = config;
|
|
39897
|
+
this.proxyPath = proxyPath;
|
|
39646
39898
|
this.facade = facade;
|
|
39647
39899
|
this.viewType$ = new BehaviorSubject('map');
|
|
39648
39900
|
this.webComponentHtml$ = combineLatest(this.viewType$, this.facade.chartConfig$, this.facade.metadata$).pipe(map$2(([viewType, config, metadata]) => {
|
|
@@ -39651,7 +39903,10 @@ class DataViewWebComponentComponent {
|
|
|
39651
39903
|
const { aggregation, xProperty, yProperty, chartType } = config;
|
|
39652
39904
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
|
|
39653
39905
|
<gn-dataset-view-chart
|
|
39654
|
-
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
39906
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
|
|
39907
|
+
? `
|
|
39908
|
+
proxy-path="${this.proxyPath}"`
|
|
39909
|
+
: ''}
|
|
39655
39910
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
39656
39911
|
aggregation="${aggregation}"
|
|
39657
39912
|
x-property="${xProperty}"
|
|
@@ -39670,7 +39925,10 @@ class DataViewWebComponentComponent {
|
|
|
39670
39925
|
else if (viewType === 'table') {
|
|
39671
39926
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
|
|
39672
39927
|
<gn-dataset-view-table
|
|
39673
|
-
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
39928
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
|
|
39929
|
+
? `
|
|
39930
|
+
proxy-path="${this.proxyPath}"`
|
|
39931
|
+
: ''}
|
|
39674
39932
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
39675
39933
|
primary-color="#0f4395"
|
|
39676
39934
|
secondary-color="#8bc832"
|
|
@@ -39683,7 +39941,10 @@ class DataViewWebComponentComponent {
|
|
|
39683
39941
|
else {
|
|
39684
39942
|
return `<script src="https://cdn.jsdelivr.net/gh/geonetwork/geonetwork-ui@wc-dist-${GEONETWORK_UI_TAG_NAME}/gn-wc.js"></script>
|
|
39685
39943
|
<gn-dataset-view-map
|
|
39686
|
-
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"
|
|
39944
|
+
api-url="${new URL(this.config.basePath, window.location.origin).toString()}"${this.proxyPath
|
|
39945
|
+
? `
|
|
39946
|
+
proxy-path="${this.proxyPath}"`
|
|
39947
|
+
: ''}
|
|
39687
39948
|
dataset-id="${metadata.uniqueIdentifier}"
|
|
39688
39949
|
primary-color="#0f4395"
|
|
39689
39950
|
secondary-color="#8bc832"
|
|
@@ -39695,7 +39956,7 @@ class DataViewWebComponentComponent {
|
|
|
39695
39956
|
}
|
|
39696
39957
|
}));
|
|
39697
39958
|
}
|
|
39698
|
-
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 }); }
|
|
39959
|
+
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 }); }
|
|
39699
39960
|
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 }); }
|
|
39700
39961
|
}
|
|
39701
39962
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewWebComponentComponent, decorators: [{
|
|
@@ -39704,6 +39965,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39704
39965
|
}], ctorParameters: () => [{ type: Configuration, decorators: [{
|
|
39705
39966
|
type: Inject,
|
|
39706
39967
|
args: [Configuration]
|
|
39968
|
+
}] }, { type: undefined, decorators: [{
|
|
39969
|
+
type: Optional
|
|
39970
|
+
}, {
|
|
39971
|
+
type: Inject,
|
|
39972
|
+
args: [PROXY_PATH]
|
|
39707
39973
|
}] }, { type: MdViewFacade }], propDecorators: { viewType: [{
|
|
39708
39974
|
type: Input
|
|
39709
39975
|
}] } });
|
|
@@ -40824,7 +41090,7 @@ const RECORD_RESOURCE_CREATED_FIELD = {
|
|
|
40824
41090
|
gridColumnSpan: 1,
|
|
40825
41091
|
};
|
|
40826
41092
|
const RESOURCE_IDENTIFIER_FIELD = {
|
|
40827
|
-
model: '
|
|
41093
|
+
model: 'resourceIdentifiers',
|
|
40828
41094
|
formFieldConfig: {
|
|
40829
41095
|
labelKey: marker('editor.record.form.field.resourceIdentifier'),
|
|
40830
41096
|
},
|
|
@@ -43338,8 +43604,28 @@ class FormFieldComponent {
|
|
|
43338
43604
|
get valueAsOnlineResources() {
|
|
43339
43605
|
return this.value;
|
|
43340
43606
|
}
|
|
43607
|
+
get valueAsResourceIdentifierCode() {
|
|
43608
|
+
const identifiers = this.value;
|
|
43609
|
+
return identifiers?.[0]?.code || '';
|
|
43610
|
+
}
|
|
43611
|
+
handleResourceIdentifierChange(code) {
|
|
43612
|
+
const identifiers = this.value;
|
|
43613
|
+
if (!code) {
|
|
43614
|
+
this.valueChange.emit(identifiers?.slice(1) || []);
|
|
43615
|
+
return;
|
|
43616
|
+
}
|
|
43617
|
+
if (identifiers?.[0]) {
|
|
43618
|
+
this.valueChange.emit([
|
|
43619
|
+
{ ...identifiers[0], code },
|
|
43620
|
+
...identifiers.slice(1),
|
|
43621
|
+
]);
|
|
43622
|
+
}
|
|
43623
|
+
else {
|
|
43624
|
+
this.valueChange.emit([{ code }]);
|
|
43625
|
+
}
|
|
43626
|
+
}
|
|
43341
43627
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43342
|
-
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 }); }
|
|
43628
|
+
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 }); }
|
|
43343
43629
|
}
|
|
43344
43630
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
43345
43631
|
type: Component,
|
|
@@ -43366,7 +43652,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43366
43652
|
FormFieldSpatialToggleComponent,
|
|
43367
43653
|
FormFieldTopicsComponent,
|
|
43368
43654
|
TextFieldModule,
|
|
43369
|
-
], 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=\"'
|
|
43655
|
+
], 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" }]
|
|
43370
43656
|
}], propDecorators: { uniqueIdentifier: [{
|
|
43371
43657
|
type: Input
|
|
43372
43658
|
}], model: [{
|
|
@@ -43791,6 +44077,9 @@ class RouterService {
|
|
|
43791
44077
|
getOrganizationPageRoute() {
|
|
43792
44078
|
return ROUTER_ROUTE_ORGANIZATION;
|
|
43793
44079
|
}
|
|
44080
|
+
getDefaultSort() {
|
|
44081
|
+
return SortByEnum.RESOURCE_DATES;
|
|
44082
|
+
}
|
|
43794
44083
|
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 }); }
|
|
43795
44084
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, providedIn: 'root' }); }
|
|
43796
44085
|
}
|
|
@@ -43951,13 +44240,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
43951
44240
|
}], ctorParameters: () => [{ type: i1$3.Store }, { type: RouterService }] });
|
|
43952
44241
|
|
|
43953
44242
|
class RouterEffects {
|
|
43954
|
-
constructor(_actions$, _router, _location, facade, routerConfig, fieldsService) {
|
|
44243
|
+
constructor(_actions$, _router, _location, facade, routerConfig, fieldsService, routerService) {
|
|
43955
44244
|
this._actions$ = _actions$;
|
|
43956
44245
|
this._router = _router;
|
|
43957
44246
|
this._location = _location;
|
|
43958
44247
|
this.facade = facade;
|
|
43959
44248
|
this.routerConfig = routerConfig;
|
|
43960
44249
|
this.fieldsService = fieldsService;
|
|
44250
|
+
this.routerService = routerService;
|
|
43961
44251
|
this.navigate$ = createEffect(() => this._actions$.pipe(ofType(goAction), tap$1(({ path, query: queryParams, queryParamsHandling }) => {
|
|
43962
44252
|
this._router.navigate([path], {
|
|
43963
44253
|
queryParams,
|
|
@@ -43969,14 +44259,14 @@ class RouterEffects {
|
|
|
43969
44259
|
.pipe(map$1((filters) => [searchParams, filters]))), startWith([null, {}]), pairwise(), map$1(([[oldParams, oldFilters], [newParams, newFilters]]) => {
|
|
43970
44260
|
let sortBy = ROUTE_PARAMS.SORT in newParams
|
|
43971
44261
|
? sortByFromString(newParams[ROUTE_PARAMS.SORT])
|
|
43972
|
-
:
|
|
44262
|
+
: this.routerService.getDefaultSort();
|
|
43973
44263
|
let pageNumber = ROUTE_PARAMS.PAGE in newParams
|
|
43974
44264
|
? parseInt(newParams[ROUTE_PARAMS.PAGE])
|
|
43975
44265
|
: 1;
|
|
43976
44266
|
if (oldParams !== null) {
|
|
43977
44267
|
const oldSort = ROUTE_PARAMS.SORT in oldParams
|
|
43978
44268
|
? sortByFromString(oldParams[ROUTE_PARAMS.SORT])
|
|
43979
|
-
:
|
|
44269
|
+
: this.routerService.getDefaultSort();
|
|
43980
44270
|
if (JSON.stringify(sortBy) === JSON.stringify(oldSort)) {
|
|
43981
44271
|
sortBy = null;
|
|
43982
44272
|
}
|
|
@@ -44033,7 +44323,7 @@ class RouterEffects {
|
|
|
44033
44323
|
this.navigateBack$ = createEffect(() => this._actions$.pipe(ofType(backAction), tap$1(() => this._location.back())), { dispatch: false });
|
|
44034
44324
|
this.navigateForward$ = createEffect(() => this._actions$.pipe(ofType(forwardAction), tap$1(() => this._location.forward())), { dispatch: false });
|
|
44035
44325
|
}
|
|
44036
|
-
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 }); }
|
|
44326
|
+
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 }); }
|
|
44037
44327
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects }); }
|
|
44038
44328
|
}
|
|
44039
44329
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, decorators: [{
|
|
@@ -44041,7 +44331,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
44041
44331
|
}], ctorParameters: () => [{ type: i1$c.Actions }, { type: i1$d.Router }, { type: i1$2.Location }, { type: RouterFacade }, { type: undefined, decorators: [{
|
|
44042
44332
|
type: Inject,
|
|
44043
44333
|
args: [ROUTER_CONFIG]
|
|
44044
|
-
}] }, { type: FieldsService }] });
|
|
44334
|
+
}] }, { type: FieldsService }, { type: RouterService }] });
|
|
44045
44335
|
|
|
44046
44336
|
class DefaultRouterModule {
|
|
44047
44337
|
constructor(routerService) {
|
|
@@ -44179,5 +44469,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
44179
44469
|
* Generated bundle index. Do not edit.
|
|
44180
44470
|
*/
|
|
44181
44471
|
|
|
44182
|
-
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 };
|
|
44472
|
+
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, GnUiHumanizeDateDirective, 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 };
|
|
44183
44473
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|