geonetwork-ui 2.5.0-dev.97ab0d3e8 → 2.5.0-dev.a16ba6619

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.
Files changed (40) hide show
  1. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +31 -16
  2. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +2 -2
  3. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +17 -7
  4. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
  5. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
  6. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  7. package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +78 -0
  8. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +2 -1
  9. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
  10. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -2
  11. package/fesm2022/geonetwork-ui.mjs +181 -28
  12. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  13. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +2 -1
  14. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  15. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  16. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  17. package/libs/feature/search/src/lib/utils/service/fields.d.ts +10 -0
  18. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  19. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  20. package/libs/ui/elements/src/index.d.ts +1 -0
  21. package/libs/ui/elements/src/index.d.ts.map +1 -1
  22. package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts +16 -0
  23. package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts.map +1 -0
  24. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  25. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  26. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  27. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +33 -16
  30. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +1 -5
  31. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +21 -11
  32. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -0
  33. package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
  34. package/src/libs/ui/elements/src/index.ts +1 -0
  35. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.css +0 -0
  36. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +25 -0
  37. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +70 -0
  38. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -0
  39. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
  40. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +6 -0
@@ -27,7 +27,7 @@ import EmblaCarousel from 'embla-carousel';
27
27
  import * as i2$2 from '@ng-icons/core';
28
28
  import { provideIcons, NgIcon, NgIconComponent, provideNgIconsConfig, NgIconsModule } from '@ng-icons/core';
29
29
  import { iconoirNavArrowRight, iconoirNavArrowLeft, iconoirNavArrowDown, iconoirNavArrowUp, iconoirSearch, iconoirCalendar, iconoirLink, iconoirArrowUp, iconoirCloudUpload, iconoirFramePlusIn, iconoirMediaImage, iconoirMediaImageXmark, iconoirBin, iconoirPlus, iconoirUser, iconoirLock, iconoirImport, iconoirLightBulbOn, iconoirArrowLeft, iconoirAttachment, iconoirRefresh } from '@ng-icons/iconoir';
30
- import { matExpandMore, matExpandLess, matAdd, matRemove, matClose, matContentCopy, matSearch, matStar, matStarBorder, matChevronLeft, matChevronRight, matArrowForward, matArrowBack, matCheck, matWarningAmber, matMoreHoriz, matFace, matQuestionMark, matMoodBad, matZoomOutMap, matOpenInNew, matMailOutline, matPersonOutline, matCheckCircleOutline, matMoreVert, matCorporateFare } from '@ng-icons/material-icons/baseline';
30
+ import { matExpandMore, matExpandLess, matAdd, matRemove, matClose, matContentCopy, matSearch, matStar, matStarBorder, matChevronLeft, matChevronRight, matArrowForward, matArrowBack, matCheck, matWarningAmber, matMoreHoriz, matFace, matQuestionMark, matMoodBad, matZoomOutMap, matOpenInNew, matMailOutline, matPersonOutline, matCheckCircleOutline, matWarning, matMoreVert, matCorporateFare } from '@ng-icons/material-icons/baseline';
31
31
  import * as i1$4 from '@angular/material/tooltip';
32
32
  import { MatTooltipModule } from '@angular/material/tooltip';
33
33
  import { moveItemInArray, CdkDropList, CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';
@@ -23409,7 +23409,7 @@ class ElasticsearchService {
23409
23409
  this.runtimeFields = {};
23410
23410
  this.lang3 = this.langService.iso3;
23411
23411
  }
23412
- getSearchRequestBody(aggregations = {}, size = 0, from = 0, sortBy = null, requestFields = [], searchFilters = {}, configFilters = {}, uuids, geometry) {
23412
+ getSearchRequestBody(aggregations = {}, size = 0, from = 0, sortBy = null, requestFields = null, searchFilters = {}, configFilters = {}, uuids, geometry) {
23413
23413
  const payload = {
23414
23414
  aggregations,
23415
23415
  from,
@@ -23417,7 +23417,7 @@ class ElasticsearchService {
23417
23417
  sort: this.buildPayloadSort(sortBy),
23418
23418
  query: this.buildPayloadQuery(searchFilters, configFilters, uuids, geometry),
23419
23419
  ...(size > 0 ? { track_total_hits: true } : {}),
23420
- _source: requestFields,
23420
+ ...(requestFields && { _source: requestFields }),
23421
23421
  };
23422
23422
  this.processRuntimeFields(payload);
23423
23423
  return payload;
@@ -23477,7 +23477,7 @@ class ElasticsearchService {
23477
23477
  },
23478
23478
  };
23479
23479
  }
23480
- getRelatedRecordPayload(title, uuid, size = 6, _source = [...ES_SOURCE_SUMMARY, 'allKeywords', 'createDate']) {
23480
+ getRelatedRecordPayload(record, size = 6, _source = [...ES_SOURCE_SUMMARY, 'allKeywords', 'createDate']) {
23481
23481
  return {
23482
23482
  query: {
23483
23483
  bool: {
@@ -23487,9 +23487,21 @@ class ElasticsearchService {
23487
23487
  fields: [
23488
23488
  'resourceTitleObject.default',
23489
23489
  'resourceAbstractObject.default',
23490
- 'tag.raw',
23490
+ 'allKeywords',
23491
+ ],
23492
+ like: [
23493
+ {
23494
+ doc: {
23495
+ resourceTitleObject: {
23496
+ default: record.title,
23497
+ },
23498
+ resourceAbstractObject: {
23499
+ default: record.abstract,
23500
+ },
23501
+ allKeywords: record.keywords.map((keyword) => keyword.label),
23502
+ },
23503
+ },
23491
23504
  ],
23492
- like: title,
23493
23505
  min_term_freq: 1,
23494
23506
  max_query_terms: 12,
23495
23507
  },
@@ -23505,7 +23517,7 @@ class ElasticsearchService {
23505
23517
  },
23506
23518
  },
23507
23519
  ],
23508
- must_not: [{ wildcard: { uuid: uuid } }],
23520
+ must_not: [{ wildcard: { uuid: record.uniqueIdentifier } }],
23509
23521
  },
23510
23522
  },
23511
23523
  size,
@@ -23552,6 +23564,7 @@ class ElasticsearchService {
23552
23564
  return this.metadataLang === 'current';
23553
23565
  }
23554
23566
  filtersToQuery(filters) {
23567
+ const addQuote = (key) => (/^\/.+\/$/.test(key) ? key : `"${key}"`);
23555
23568
  const makeQuery = (filter) => {
23556
23569
  if (typeof filter === 'string') {
23557
23570
  return filter;
@@ -23559,9 +23572,9 @@ class ElasticsearchService {
23559
23572
  return Object.keys(filter)
23560
23573
  .map((key) => {
23561
23574
  if (filter[key] === true) {
23562
- return `"${key}"`;
23575
+ return addQuote(key);
23563
23576
  }
23564
- return `-"${key}"`;
23577
+ return `-${addQuote(key)}`;
23565
23578
  })
23566
23579
  .join(' OR ');
23567
23580
  };
@@ -23807,13 +23820,15 @@ class ElasticsearchService {
23807
23820
  switch (aggregation.type) {
23808
23821
  case 'filters':
23809
23822
  return {
23810
- filters: Object.keys(aggregation.filters).reduce((prev, curr) => {
23811
- const filter = aggregation.filters[curr];
23812
- return {
23813
- ...prev,
23814
- [curr]: this.filtersToQuery(filter)[0],
23815
- };
23816
- }, {}),
23823
+ filters: {
23824
+ filters: Object.keys(aggregation.filters).reduce((prev, curr) => {
23825
+ const filter = aggregation.filters[curr];
23826
+ return {
23827
+ ...prev,
23828
+ [curr]: this.filtersToQuery(filter)[0],
23829
+ };
23830
+ }, {}),
23831
+ },
23817
23832
  };
23818
23833
  case 'terms':
23819
23834
  return {
@@ -23926,7 +23941,7 @@ class Gn4Repository {
23926
23941
  }
23927
23942
  getSimilarRecords(similarTo) {
23928
23943
  return this.gn4SearchApi
23929
- .search('bucket', null, JSON.stringify(this.gn4SearchHelper.getRelatedRecordPayload(similarTo.title, similarTo.uniqueIdentifier, 3)))
23944
+ .search('bucket', null, JSON.stringify(this.gn4SearchHelper.getRelatedRecordPayload(similarTo, 3)))
23930
23945
  .pipe(switchMap((results) => this.gn4Mapper.readRecords(results.hits.hits)));
23931
23946
  }
23932
23947
  aggregate(params) {
@@ -26669,7 +26684,12 @@ class AutocompleteComponent {
26669
26684
  const suggestionsFromAction = merge(newValue$.pipe(filter((value) => value.length >= this.minCharacterCount)), externalValueChange$).pipe(tap$1(() => {
26670
26685
  this.searching = true;
26671
26686
  this.error = null;
26672
- }), switchMap$1((value) => this.action(value)), catchError((error) => {
26687
+ }), switchMap$1((value) => this.action(value)), tap$1((suggestions) => {
26688
+ // forcing the panel to open if there are suggestions
26689
+ if (suggestions.length > 0) {
26690
+ this.triggerRef?.openPanel();
26691
+ }
26692
+ }), catchError((error) => {
26673
26693
  this.error = error.message;
26674
26694
  return of([]);
26675
26695
  }), finalize(() => (this.searching = false)));
@@ -30079,6 +30099,7 @@ class RecordApiFormComponent {
30079
30099
  maxFeatures: limit !== '-1' ? Number(limit) : undefined,
30080
30100
  limit: limit !== '-1' ? Number(limit) : -1,
30081
30101
  offset: offset !== '' ? Number(offset) : undefined,
30102
+ outputCrs: format === ('application/json' || 'geojson') ? 'EPSG:4326' : undefined,
30082
30103
  };
30083
30104
  if (this.endpoint instanceof WfsEndpoint) {
30084
30105
  delete options.limit;
@@ -30210,6 +30231,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
30210
30231
  type: Input
30211
30232
  }] } });
30212
30233
 
30234
+ class ApplicationBannerComponent {
30235
+ constructor() {
30236
+ this.closeEnabled = false;
30237
+ this.extraClass = '';
30238
+ this.icon = '';
30239
+ this.msgClass = '';
30240
+ this.bannerOpen = true;
30241
+ }
30242
+ set type(value) {
30243
+ switch (value) {
30244
+ case 'primary':
30245
+ this.msgClass = 'bg-primary-darkest border-primary text-white';
30246
+ this.icon = 'matWarning';
30247
+ break;
30248
+ case 'light':
30249
+ this.msgClass =
30250
+ 'bg-primary-opacity-10 border-primary-lightest text-black';
30251
+ this.icon = 'matInfoOutline';
30252
+ break;
30253
+ case 'secondary':
30254
+ default:
30255
+ this.msgClass = 'bg-primary-opacity-50 border-primary-darker text-black';
30256
+ this.icon = 'matWarningAmberOutline';
30257
+ break;
30258
+ }
30259
+ }
30260
+ get classList() {
30261
+ if (this.message.length > 200) {
30262
+ return `${this.msgClass} ${this.extraClass} overflow-y-scroll items-start`;
30263
+ }
30264
+ return `${this.msgClass} ${this.extraClass} items-center`;
30265
+ }
30266
+ closeMessage() {
30267
+ this.bannerOpen = false;
30268
+ }
30269
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30270
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApplicationBannerComponent, isStandalone: true, selector: "gn-ui-application-banner", inputs: { message: "message", title: "title", closeEnabled: "closeEnabled", extraClass: "extraClass", icon: "icon", type: "type" }, providers: [
30271
+ provideIcons({
30272
+ matWarningAmberOutline,
30273
+ matInfoOutline,
30274
+ matCloseOutline,
30275
+ matWarning,
30276
+ }),
30277
+ provideNgIconsConfig({ size: '1.5em' }),
30278
+ ], ngImport: i0, template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute top-0 text-wrap bg-white mt-4 max-h-24\"\n>\n <div\n class=\"flex flex-row py-2.5 px-5 gap-5 justify-start border max-h-20\"\n [ngClass]=\"classList\"\n >\n <div [ngClass]=\"{ 'pt-5': message.length > 200 }\">\n <ng-icon [name]=\"icon\"></ng-icon>\n </div>\n <div class=\"flex flex-col justify-start gap-2.5\">\n <span *ngIf=\"title\" class=\"font-bold\">{{ title }}</span>\n <span class=\"font-medium max-w-2xl\" [innerHTML]=\"message\"></span>\n </div>\n <button\n *ngIf=\"closeEnabled\"\n class=\"self-start\"\n type=\"button\"\n (click)=\"closeMessage()\"\n >\n <ng-icon name=\"matCloseOutline\"> </ng-icon>\n </button>\n </div>\n</div>\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: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30279
+ }
30280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationBannerComponent, decorators: [{
30281
+ type: Component,
30282
+ args: [{ selector: 'gn-ui-application-banner', standalone: true, imports: [CommonModule, NgIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
30283
+ provideIcons({
30284
+ matWarningAmberOutline,
30285
+ matInfoOutline,
30286
+ matCloseOutline,
30287
+ matWarning,
30288
+ }),
30289
+ provideNgIconsConfig({ size: '1.5em' }),
30290
+ ], template: "<div\n *ngIf=\"message && bannerOpen\"\n class=\"absolute top-0 text-wrap bg-white mt-4 max-h-24\"\n>\n <div\n class=\"flex flex-row py-2.5 px-5 gap-5 justify-start border max-h-20\"\n [ngClass]=\"classList\"\n >\n <div [ngClass]=\"{ 'pt-5': message.length > 200 }\">\n <ng-icon [name]=\"icon\"></ng-icon>\n </div>\n <div class=\"flex flex-col justify-start gap-2.5\">\n <span *ngIf=\"title\" class=\"font-bold\">{{ title }}</span>\n <span class=\"font-medium max-w-2xl\" [innerHTML]=\"message\"></span>\n </div>\n <button\n *ngIf=\"closeEnabled\"\n class=\"self-start\"\n type=\"button\"\n (click)=\"closeMessage()\"\n >\n <ng-icon name=\"matCloseOutline\"> </ng-icon>\n </button>\n </div>\n</div>\n" }]
30291
+ }], propDecorators: { message: [{
30292
+ type: Input
30293
+ }], title: [{
30294
+ type: Input
30295
+ }], closeEnabled: [{
30296
+ type: Input
30297
+ }], extraClass: [{
30298
+ type: Input
30299
+ }], icon: [{
30300
+ type: Input
30301
+ }], type: [{
30302
+ type: Input
30303
+ }] } });
30304
+
30213
30305
  class UiElementsModule {
30214
30306
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
30215
30307
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, declarations: [AvatarComponent, UserPreviewComponent], imports: [CommonModule,
@@ -30227,11 +30319,13 @@ class UiElementsModule {
30227
30319
  BadgeComponent,
30228
30320
  MaxLinesComponent,
30229
30321
  TextInputComponent,
30230
- ImageInputComponent], exports: [ThumbnailComponent,
30322
+ ImageInputComponent,
30323
+ ApplicationBannerComponent], exports: [ThumbnailComponent,
30231
30324
  AvatarComponent,
30232
30325
  UserPreviewComponent,
30233
30326
  MarkdownParserComponent,
30234
- ImageInputComponent] }); }
30327
+ ImageInputComponent,
30328
+ ApplicationBannerComponent] }); }
30235
30329
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, providers: [
30236
30330
  provideNgIconsConfig({
30237
30331
  size: '1.5em',
@@ -30250,7 +30344,8 @@ class UiElementsModule {
30250
30344
  BadgeComponent,
30251
30345
  MaxLinesComponent,
30252
30346
  TextInputComponent,
30253
- ImageInputComponent] }); }
30347
+ ImageInputComponent,
30348
+ ApplicationBannerComponent] }); }
30254
30349
  }
30255
30350
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, decorators: [{
30256
30351
  type: NgModule,
@@ -30274,6 +30369,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
30274
30369
  MaxLinesComponent,
30275
30370
  TextInputComponent,
30276
30371
  ImageInputComponent,
30372
+ ApplicationBannerComponent,
30277
30373
  ],
30278
30374
  providers: [
30279
30375
  provideNgIconsConfig({
@@ -30287,6 +30383,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
30287
30383
  UserPreviewComponent,
30288
30384
  MarkdownParserComponent,
30289
30385
  ImageInputComponent,
30386
+ ApplicationBannerComponent,
30290
30387
  ],
30291
30388
  }]
30292
30389
  }] });
@@ -32517,6 +32614,51 @@ class DateRangeSearchField extends SimpleSearchField {
32517
32614
  return 'dateRange';
32518
32615
  }
32519
32616
  }
32617
+ marker('search.filters.availableServices.view');
32618
+ marker('search.filters.availableServices.download');
32619
+ class AvailableServicesField extends SimpleSearchField {
32620
+ constructor(injector) {
32621
+ super('availableServices', injector, 'asc');
32622
+ this.translateService = this.injector.get(TranslateService);
32623
+ this.linkProtocolViewFilter = '/OGC:WMT?S.*/';
32624
+ this.linkProtocolDownloadFilter = '/OGC:WFS.*/';
32625
+ }
32626
+ async getBucketLabel(bucket) {
32627
+ return firstValueFrom(this.translateService.get(`search.filters.availableServices.${bucket.term}`));
32628
+ }
32629
+ getAggregations() {
32630
+ return {
32631
+ availableServices: {
32632
+ type: 'filters',
32633
+ filters: {
32634
+ view: `+linkProtocol:${this.linkProtocolViewFilter}`,
32635
+ download: `+linkProtocol:${this.linkProtocolDownloadFilter}`,
32636
+ },
32637
+ },
32638
+ };
32639
+ }
32640
+ getFiltersForValues(values) {
32641
+ const filters = {};
32642
+ if (values.includes('view'))
32643
+ filters[this.linkProtocolViewFilter] = true;
32644
+ if (values.includes('download'))
32645
+ filters[this.linkProtocolDownloadFilter] = true;
32646
+ return of({
32647
+ linkProtocol: filters,
32648
+ });
32649
+ }
32650
+ getValuesForFilter(filters) {
32651
+ const linkFilter = filters.linkProtocol;
32652
+ if (!linkFilter)
32653
+ return of([]);
32654
+ const values = [];
32655
+ if (linkFilter[this.linkProtocolViewFilter])
32656
+ values.push('view');
32657
+ if (linkFilter[this.linkProtocolDownloadFilter])
32658
+ values.push('download');
32659
+ return of(values);
32660
+ }
32661
+ }
32520
32662
 
32521
32663
  marker('search.filters.format');
32522
32664
  marker('search.filters.inspireKeyword');
@@ -32558,6 +32700,7 @@ class FieldsService {
32558
32700
  publisherOrg: new MultilingualSearchField('distributorOrgForResourceObject', this.injector, 'asc', 'key'),
32559
32701
  user: new UserSearchField(this.injector),
32560
32702
  changeDate: new DateRangeSearchField('changeDate', this.injector, 'desc'),
32703
+ availableServices: new AvailableServicesField(this.injector),
32561
32704
  };
32562
32705
  }
32563
32706
  getAvailableValues(fieldName) {
@@ -36011,18 +36154,28 @@ class DataService {
36011
36154
  }
36012
36155
  getDownloadLinksFromWfs(wfsLink) {
36013
36156
  // Pour DL toutes les données
36014
- return this.getDownloadUrlsFromWfs(wfsLink.url.toString(), wfsLink.name).pipe(map$1((urls) => urls.all), map$1((urls) => Object.keys(urls).map((format) => ({
36015
- ...wfsLink,
36016
- type: 'download',
36017
- url: new URL(urls[format]),
36018
- mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
36019
- }))));
36157
+ return this.getDownloadUrlsFromWfs(wfsLink.url.toString(), wfsLink.name).pipe(map$1((urls) => {
36158
+ if (urls.geojson) {
36159
+ urls.all['application/json'] = urls.geojson;
36160
+ }
36161
+ return urls;
36162
+ }), map$1((urls) => {
36163
+ const resources = Object.keys(urls.all).map((format) => ({
36164
+ ...wfsLink,
36165
+ name: wfsLink.name,
36166
+ type: 'download',
36167
+ url: new URL(urls.all[format]),
36168
+ mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(format)),
36169
+ }));
36170
+ return resources;
36171
+ }));
36020
36172
  }
36021
36173
  async getDownloadLinksFromOgcApiFeatures(ogcApiLink) {
36022
36174
  const collectionInfo = await this.getDownloadUrlsFromOgcApi(ogcApiLink.url.href);
36023
36175
  return Object.keys(collectionInfo.bulkDownloadLinks).map((downloadLink) => {
36024
36176
  return {
36025
36177
  ...ogcApiLink,
36178
+ name: collectionInfo.id,
36026
36179
  type: 'download',
36027
36180
  url: new URL(collectionInfo.bulkDownloadLinks[downloadLink]),
36028
36181
  mimeType: getMimeTypeForFormat(getFileFormatFromServiceOutput(downloadLink)),
@@ -41762,5 +41915,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
41762
41915
  * Generated bundle index. Do not edit.
41763
41916
  */
41764
41917
 
41765
- export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NavigationButtonComponent, 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, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_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_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, 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, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, 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, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLayers, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, 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, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
41918
+ export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, 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, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NavigationButtonComponent, 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, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_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_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, 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, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, 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, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLayers, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, 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, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
41766
41919
  //# sourceMappingURL=geonetwork-ui.mjs.map