geonetwork-ui 2.7.0-dev.8ac6cd7aa → 2.7.0-dev.b9840dab3

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 (72) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +4 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +4 -6
  4. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +18 -4
  5. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +5 -1
  6. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +2 -2
  7. package/esm2022/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.mjs +2 -2
  8. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +4 -2
  9. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +5 -4
  10. package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +5 -4
  11. package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +5 -4
  12. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +4 -2
  13. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  14. package/esm2022/libs/util/shared/src/lib/utils/mobile-screen.mjs +9 -0
  15. package/esm2022/translations/de.json +2 -0
  16. package/esm2022/translations/en.json +2 -0
  17. package/esm2022/translations/es.json +2 -0
  18. package/esm2022/translations/fr.json +3 -1
  19. package/esm2022/translations/it.json +2 -0
  20. package/esm2022/translations/nl.json +2 -0
  21. package/esm2022/translations/pt.json +2 -0
  22. package/esm2022/translations/sk.json +2 -0
  23. package/fesm2022/geonetwork-ui.mjs +76 -22
  24. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  25. package/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.d.ts.map +1 -1
  26. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  27. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  28. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +2 -0
  29. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  30. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  31. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  32. package/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.d.ts.map +1 -1
  33. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  34. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -0
  35. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
  36. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +1 -0
  37. package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -1
  38. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +1 -0
  39. package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -1
  40. package/libs/util/shared/src/lib/links/link-utils.d.ts +1 -1
  41. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  42. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  43. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  44. package/libs/util/shared/src/lib/utils/mobile-screen.d.ts +2 -0
  45. package/libs/util/shared/src/lib/utils/mobile-screen.d.ts.map +1 -0
  46. package/package.json +1 -1
  47. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +3 -0
  48. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.ts +3 -0
  49. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -0
  50. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +3 -5
  51. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +19 -6
  52. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +4 -0
  53. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +3 -1
  54. package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.ts +1 -4
  55. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +3 -1
  56. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +12 -11
  57. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -1
  58. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +4 -1
  59. package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +7 -1
  60. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +7 -1
  61. package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +3 -1
  62. package/src/libs/util/shared/src/lib/links/link-utils.ts +2 -1
  63. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  64. package/src/libs/util/shared/src/lib/utils/mobile-screen.ts +14 -0
  65. package/translations/de.json +2 -0
  66. package/translations/en.json +2 -0
  67. package/translations/es.json +2 -0
  68. package/translations/fr.json +3 -1
  69. package/translations/it.json +2 -0
  70. package/translations/nl.json +2 -0
  71. package/translations/pt.json +2 -0
  72. package/translations/sk.json +2 -0
@@ -15,7 +15,7 @@ import { TranslateCompiler, TranslateLoader, TranslateDefaultParser, TranslatePa
15
15
  import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
16
16
  import { TranslateHttpLoader } from '@ngx-translate/http-loader';
17
17
  import { map as map$1, shareReplay, catchError, tap as tap$1, filter, startWith, withLatestFrom, switchMap as switchMap$1, take, mergeMap, delay, distinctUntilChanged, debounceTime, finalize, throttleTime, share, pairwise, first as first$1, defaultIfEmpty, toArray } from 'rxjs/operators';
18
- import { of, map as map$2, lastValueFrom, Subject, switchMap, combineLatest, from, exhaustMap, throwError, forkJoin, takeLast, firstValueFrom, merge, BehaviorSubject, fromEvent, timer, ReplaySubject, Subscription, first, distinctUntilChanged as distinctUntilChanged$1, animationFrameScheduler, debounceTime as debounceTime$1, filter as filter$1, take as take$1, tap as tap$2, Observable, buffer, combineLatestWith, startWith as startWith$1, catchError as catchError$1, takeUntil, EMPTY, mergeMap as mergeMap$1, withLatestFrom as withLatestFrom$1, shareReplay as shareReplay$1, pairwise as pairwise$1 } from 'rxjs';
18
+ import { of, map as map$2, lastValueFrom, Subject, switchMap, combineLatest, from, exhaustMap, throwError, forkJoin, takeLast, firstValueFrom, merge, BehaviorSubject, fromEvent, startWith as startWith$1, shareReplay as shareReplay$1, timer, ReplaySubject, Subscription, first, distinctUntilChanged as distinctUntilChanged$1, animationFrameScheduler, debounceTime as debounceTime$1, filter as filter$1, take as take$1, tap as tap$2, Observable, buffer, combineLatestWith, catchError as catchError$1, takeUntil, EMPTY, mergeMap as mergeMap$1, withLatestFrom as withLatestFrom$1, pairwise as pairwise$1 } from 'rxjs';
19
19
  import { lt, valid, coerce, satisfies, ltr } from 'semver';
20
20
  import * as i1$2 from '@angular/common';
21
21
  import { CommonModule, NgIf, NgSwitch, NgSwitchCase, NgSwitchDefault, NgClass, NgTemplateOutlet, DatePipe } from '@angular/common';
@@ -795,8 +795,11 @@ function getStatusFromStatusCode(statusCode) {
795
795
  case 'onGoing':
796
796
  return 'ongoing';
797
797
  case 'planned':
798
+ return 'planned';
798
799
  case 'required':
800
+ return 'required';
799
801
  case 'underDevelopment':
802
+ return 'under_development';
800
803
  default:
801
804
  return 'under_development';
802
805
  }
@@ -893,12 +896,16 @@ marker('domain.record.status.ongoing');
893
896
  marker('domain.record.status.under_development');
894
897
  marker('domain.record.status.deprecated');
895
898
  marker('domain.record.status.removed');
899
+ marker('domain.record.status.planned');
900
+ marker('domain.record.status.required');
896
901
  const RecordStatusValues = [
897
902
  'completed',
898
903
  'ongoing',
899
904
  'under_development',
900
905
  'deprecated',
901
906
  'removed',
907
+ 'planned',
908
+ 'required',
902
909
  ];
903
910
 
904
911
  function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
@@ -1565,6 +1572,10 @@ function getProgressCode(status) {
1565
1572
  return 'removed';
1566
1573
  case 'under_development':
1567
1574
  return 'underDevelopment';
1575
+ case 'planned':
1576
+ return 'planned';
1577
+ case 'required':
1578
+ return 'required';
1568
1579
  default:
1569
1580
  throw new Error(`Could not determine progress code from status: ${status}`);
1570
1581
  }
@@ -18770,7 +18781,9 @@ var de = {
18770
18781
  "domain.record.status.completed": "Abgeschlossen",
18771
18782
  "domain.record.status.deprecated": "Veraltet",
18772
18783
  "domain.record.status.ongoing": "Kontinuierliche Aktualisierung",
18784
+ "domain.record.status.planned": "",
18773
18785
  "domain.record.status.removed": "Entfernt",
18786
+ "domain.record.status.required": "",
18774
18787
  "domain.record.status.under_development": "In Erstellung",
18775
18788
  "domain.record.updateFrequency.annually": "Daten werden jedes Jahr aktualisiert",
18776
18789
  "domain.record.updateFrequency.asNeeded": "Daten werden nach Bedarf aktualisiert",
@@ -19386,7 +19399,9 @@ var en = {
19386
19399
  "domain.record.status.completed": "Completed",
19387
19400
  "domain.record.status.deprecated": "Deprecated",
19388
19401
  "domain.record.status.ongoing": "Ongoing",
19402
+ "domain.record.status.planned": "Planned",
19389
19403
  "domain.record.status.removed": "Removed",
19404
+ "domain.record.status.required": "Required",
19390
19405
  "domain.record.status.under_development": "Under development",
19391
19406
  "domain.record.updateFrequency.annually": "Data is updated every year",
19392
19407
  "domain.record.updateFrequency.asNeeded": "Data is updated as deemed necessary",
@@ -20002,7 +20017,9 @@ var es = {
20002
20017
  "domain.record.status.completed": "",
20003
20018
  "domain.record.status.deprecated": "",
20004
20019
  "domain.record.status.ongoing": "",
20020
+ "domain.record.status.planned": "",
20005
20021
  "domain.record.status.removed": "",
20022
+ "domain.record.status.required": "",
20006
20023
  "domain.record.status.under_development": "",
20007
20024
  "domain.record.updateFrequency.annually": "Los datos se actualizan cada año",
20008
20025
  "domain.record.updateFrequency.asNeeded": "Los datos se actualizan según sea necesario",
@@ -20618,7 +20635,9 @@ var fr = {
20618
20635
  "domain.record.status.completed": "Finalisé",
20619
20636
  "domain.record.status.deprecated": "Obsolète",
20620
20637
  "domain.record.status.ongoing": "Mise à jour continue",
20638
+ "domain.record.status.planned": "Planifié",
20621
20639
  "domain.record.status.removed": "Supprimé",
20640
+ "domain.record.status.required": "Obligatoire",
20622
20641
  "domain.record.status.under_development": "En cours de création",
20623
20642
  "domain.record.updateFrequency.annually": "Les données sont mises à jour chaque année",
20624
20643
  "domain.record.updateFrequency.asNeeded": "Les données sont mises à jour selon les besoins",
@@ -20631,7 +20650,7 @@ var fr = {
20631
20650
  "domain.record.updateFrequency.irregular": "Les données sont mises à jour à intervalles irréguliers",
20632
20651
  "domain.record.updateFrequency.month": "{count, plural, =0{0 fois} one{Une fois} other{{count} fois}} par mois",
20633
20652
  "domain.record.updateFrequency.monthly": "Les données sont mises à jour chaque mois",
20634
- "domain.record.updateFrequency.notPlanned": "Il n'y a pas de plan pour mettre à jour les données",
20653
+ "domain.record.updateFrequency.notPlanned": "La mise à jour des données n’est pas planifiée",
20635
20654
  "domain.record.updateFrequency.periodic": "Les données sont mises à jour à intervalles réguliers",
20636
20655
  "domain.record.updateFrequency.quarterly": "Les données sont mises à jour tous les trois mois",
20637
20656
  "domain.record.updateFrequency.semimonthly": "Les données sont mises à jour deux fois par mois",
@@ -21234,7 +21253,9 @@ var it = {
21234
21253
  "domain.record.status.completed": "Completato",
21235
21254
  "domain.record.status.deprecated": "Deprecato",
21236
21255
  "domain.record.status.ongoing": "Aggiornamento continuo",
21256
+ "domain.record.status.planned": "",
21237
21257
  "domain.record.status.removed": "Rimosso",
21258
+ "domain.record.status.required": "",
21238
21259
  "domain.record.status.under_development": "In fase di creazione",
21239
21260
  "domain.record.updateFrequency.annually": "I dati vengono aggiornati ogni anno",
21240
21261
  "domain.record.updateFrequency.asNeeded": "I dati vengono aggiornati secondo necessità",
@@ -21850,7 +21871,9 @@ var nl = {
21850
21871
  "domain.record.status.completed": "",
21851
21872
  "domain.record.status.deprecated": "",
21852
21873
  "domain.record.status.ongoing": "",
21874
+ "domain.record.status.planned": "",
21853
21875
  "domain.record.status.removed": "",
21876
+ "domain.record.status.required": "",
21854
21877
  "domain.record.status.under_development": "",
21855
21878
  "domain.record.updateFrequency.annually": "Gegevens worden elk jaar bijgewerkt",
21856
21879
  "domain.record.updateFrequency.asNeeded": "Gegevens worden bijgewerkt naar behoefte",
@@ -22466,7 +22489,9 @@ var pt = {
22466
22489
  "domain.record.status.completed": "",
22467
22490
  "domain.record.status.deprecated": "",
22468
22491
  "domain.record.status.ongoing": "",
22492
+ "domain.record.status.planned": "",
22469
22493
  "domain.record.status.removed": "",
22494
+ "domain.record.status.required": "",
22470
22495
  "domain.record.status.under_development": "",
22471
22496
  "domain.record.updateFrequency.annually": "Os dados são atualizados anualmente",
22472
22497
  "domain.record.updateFrequency.asNeeded": "Os dados são atualizados conforme necessário",
@@ -23082,7 +23107,9 @@ var sk = {
23082
23107
  "domain.record.status.completed": "Dokončené",
23083
23108
  "domain.record.status.deprecated": "Zastarané",
23084
23109
  "domain.record.status.ongoing": "Prebiehajúce",
23110
+ "domain.record.status.planned": "",
23085
23111
  "domain.record.status.removed": "Odstránené",
23112
+ "domain.record.status.required": "",
23086
23113
  "domain.record.status.under_development": "Vo vývoji",
23087
23114
  "domain.record.updateFrequency.annually": "Údaje sa aktualizujú každý rok",
23088
23115
  "domain.record.updateFrequency.asNeeded": "Údaje sa aktualizujú podľa potreby",
@@ -24116,14 +24143,12 @@ const ES_SOURCE_SUMMARY = [
24116
24143
  'codelist_status_text',
24117
24144
  'link',
24118
24145
  'linkProtocol',
24119
- 'contactForResource.organisation',
24120
- 'contact.organisation',
24121
- 'contact.email',
24146
+ 'contactForResource*.organisation*',
24147
+ 'contact*.organisation*',
24148
+ 'contact*.email',
24122
24149
  'userSavedCount',
24123
- 'updateFrequency',
24124
24150
  'cl_topic',
24125
24151
  'cl_maintenanceAndUpdateFrequency',
24126
- 'tag',
24127
24152
  'MD_LegalConstraints*Object',
24128
24153
  'qualityScore',
24129
24154
  'allKeywords',
@@ -25886,6 +25911,14 @@ function downgradeImage(blob, maxSizeBytes) {
25886
25911
  });
25887
25912
  }
25888
25913
 
25914
+ /**
25915
+ * This returns true when the screen size is under 768px, which is the mobile threshold.
25916
+ */
25917
+ const MOBILE_MAX_WIDTH = 768;
25918
+ function getIsMobile() {
25919
+ return fromEvent(window, 'resize').pipe(startWith$1(window.innerWidth), map$2(() => window.innerWidth < MOBILE_MAX_WIDTH), shareReplay$1({ bufferSize: 1, refCount: true }));
25920
+ }
25921
+
25889
25922
  function noDuplicateFileName(fileName, fileNameList) {
25890
25923
  if (fileNameList.includes(fileName)) {
25891
25924
  const fileNameParts = fileName.split('.');
@@ -26024,8 +26057,8 @@ const FORMATS = {
26024
26057
  excel: {
26025
26058
  extensions: [
26026
26059
  'excel',
26027
- 'xls',
26028
26060
  'xlsx',
26061
+ 'xls',
26029
26062
  'ms-excel',
26030
26063
  'openxmlformats-officedocument',
26031
26064
  ],
@@ -26174,6 +26207,8 @@ function getFileFormat(link) {
26174
26207
  }
26175
26208
  function isFormatInQueryParam(link, alias) {
26176
26209
  const queryParams = link.url.searchParams;
26210
+ if (!queryParams)
26211
+ return false;
26177
26212
  for (const [key, value] of queryParams.entries()) {
26178
26213
  if (key === 'format' || key === 'f') {
26179
26214
  return value === alias;
@@ -26382,7 +26417,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
26382
26417
  }] } });
26383
26418
 
26384
26419
  var name = "geonetwork-ui";
26385
- var version = "2.7.0-dev.8ac6cd7aa";
26420
+ var version = "2.7.0-dev.b9840dab3";
26386
26421
  var engines = {
26387
26422
  node: ">=20"
26388
26423
  };
@@ -26599,6 +26634,7 @@ class Gn4PlatformService {
26599
26634
  this.httpClient = httpClient;
26600
26635
  this.recordsApiService = recordsApiService;
26601
26636
  this.type = 'GeoNetwork';
26637
+ this.gnParseVersion = '4.2.5';
26602
26638
  this.keyTranslations$ = this.toolsApiService
26603
26639
  .getTranslationsPackage1('gnui')
26604
26640
  .pipe(catchError(() => {
@@ -26777,15 +26813,28 @@ class Gn4PlatformService {
26777
26813
  }));
26778
26814
  }
26779
26815
  getFileContent(url) {
26780
- return this.httpClient.get(url.toString(), { responseType: 'text' }).pipe(map$1((text) => {
26816
+ return combineLatest([
26817
+ this.httpClient.get(url.toString(), { responseType: 'text' }),
26818
+ this.getApiVersion(),
26819
+ ]).pipe(map$1(([text, version]) => {
26781
26820
  const parsed = JSON.parse(text);
26782
- if (typeof parsed === 'object') {
26821
+ if (version > this.gnParseVersion) {
26783
26822
  return parsed;
26784
26823
  }
26785
- const decoded = atob(parsed);
26824
+ const decoded = this.decodeBase64(parsed);
26786
26825
  return JSON.parse(decoded);
26787
26826
  }));
26788
26827
  }
26828
+ decodeBase64(base64) {
26829
+ const text = atob(base64);
26830
+ const length = text.length;
26831
+ const bytes = new Uint8Array(length);
26832
+ for (let i = 0; i < length; i++) {
26833
+ bytes[i] = text.charCodeAt(i);
26834
+ }
26835
+ const decoder = new TextDecoder();
26836
+ return decoder.decode(bytes);
26837
+ }
26789
26838
  attachFileToRecord(recordUuid, file, removeDuplicate = false) {
26790
26839
  return this.getRecordAttachments(recordUuid).pipe(map$1((recordAttachments) => recordAttachments.map((r) => r.fileName)), switchMap((fileNames) => {
26791
26840
  const fileName = file.name;
@@ -30356,6 +30405,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
30356
30405
 
30357
30406
  class SearchFeatureCatalogComponent {
30358
30407
  constructor() {
30408
+ this.isMobile$ = getIsMobile();
30359
30409
  this.filteredFeatureCatalogChange = new EventEmitter();
30360
30410
  this.filterAction = (searchTerm) => {
30361
30411
  of(searchTerm)
@@ -30388,7 +30438,7 @@ class SearchFeatureCatalogComponent {
30388
30438
  return (this.filteredFeatureCatalog?.featureTypes?.reduce((total, featureType) => total + (featureType.attributes?.length || 0), 0) || 0);
30389
30439
  }
30390
30440
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchFeatureCatalogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30391
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchFeatureCatalogComponent, isStandalone: true, selector: "gn-ui-search-feature-catalog", inputs: { featureCatalog: "featureCatalog" }, outputs: { filteredFeatureCatalogChange: "filteredFeatureCatalogChange" }, ngImport: i0, template: "<div\n class=\"flex items-center justify-between p-3 mt-8 bg-white rounded-lg border-b solid border-gray-300\"\n>\n <div\n class=\"relative shrink-0\"\n *ngIf=\"featureCatalog?.featureTypes?.length > 1\"\n >\n <input\n type=\"text\"\n [placeholder]=\"'search.filter.into.feature.catalog' | translate\"\n class=\"w-[220px] h-8 pl-3 pr-10 py-2 border rounded-md\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"filterAction(searchTerm)\"\n />\n <ng-icon\n class=\"absolute right-2.5 top-1 w-6 h-6 text-black\"\n name=\"iconoirSearch\"\n ></ng-icon>\n </div>\n <div class=\"text-sm px-1 ml-auto hidden sm:inline\">\n <ng-container *ngIf=\"featureCatalog?.featureTypes?.length > 1\">\n <span\n class=\"text-sm font-medium text-gray-900\"\n data-cy=\"total-objects-label\"\n translate\n >record.feature.catalog.number.total.object</span\n ><span\n class=\"text-sm font-bold px-1 text-gray-900\"\n data-cy=\"total-objects\"\n >{{ totalObjects }}</span\n >\n <span class=\"px-1.5\">|</span>\n </ng-container>\n <span\n class=\"text-sm font-medium px-1 text-gray-900\"\n data-cy=\"total-attributes-label\"\n translate\n >record.feature.catalog.number.total.attribute</span\n ><span class=\"text-sm font-bold text-gray-900\" data-cy=\"total-attributes\">{{\n totalAttributes\n }}</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: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], viewProviders: [
30441
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchFeatureCatalogComponent, isStandalone: true, selector: "gn-ui-search-feature-catalog", inputs: { featureCatalog: "featureCatalog" }, outputs: { filteredFeatureCatalogChange: "filteredFeatureCatalogChange" }, ngImport: i0, template: "<div\n class=\"flex items-center justify-between p-3 mt-8 bg-white rounded-lg border-b solid border-gray-300\"\n *ngIf=\"\n (isMobile$ | async) === false || featureCatalog?.featureTypes?.length > 1\n \"\n>\n <div\n class=\"relative shrink-0\"\n *ngIf=\"featureCatalog?.featureTypes?.length > 1\"\n >\n <input\n type=\"text\"\n [placeholder]=\"'search.filter.into.feature.catalog' | translate\"\n class=\"w-[220px] h-8 pl-3 pr-10 py-2 border rounded-md\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"filterAction(searchTerm)\"\n />\n <ng-icon\n class=\"absolute right-2.5 top-1 w-6 h-6 text-black\"\n name=\"iconoirSearch\"\n ></ng-icon>\n </div>\n <div\n *ngIf=\"(isMobile$ | async) === false\"\n class=\"text-sm px-1 ml-auto inline\"\n >\n <ng-container *ngIf=\"featureCatalog?.featureTypes?.length > 1\">\n <span\n class=\"text-sm font-medium text-gray-900\"\n data-cy=\"total-objects-label\"\n translate\n >record.feature.catalog.number.total.object</span\n ><span\n class=\"text-sm font-bold px-1 text-gray-900\"\n data-cy=\"total-objects\"\n >{{ totalObjects }}</span\n >\n <span class=\"px-1.5\">|</span>\n </ng-container>\n <span\n class=\"text-sm font-medium px-1 text-gray-900\"\n data-cy=\"total-attributes-label\"\n translate\n >record.feature.catalog.number.total.attribute</span\n ><span class=\"text-sm font-bold text-gray-900\" data-cy=\"total-attributes\">{{\n totalAttributes\n }}</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: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], viewProviders: [
30392
30442
  provideIcons({ iconoirSearch }),
30393
30443
  provideNgIconsConfig({
30394
30444
  size: '1.5rem',
@@ -30408,7 +30458,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
30408
30458
  provideNgIconsConfig({
30409
30459
  size: '1.5rem',
30410
30460
  }),
30411
- ], template: "<div\n class=\"flex items-center justify-between p-3 mt-8 bg-white rounded-lg border-b solid border-gray-300\"\n>\n <div\n class=\"relative shrink-0\"\n *ngIf=\"featureCatalog?.featureTypes?.length > 1\"\n >\n <input\n type=\"text\"\n [placeholder]=\"'search.filter.into.feature.catalog' | translate\"\n class=\"w-[220px] h-8 pl-3 pr-10 py-2 border rounded-md\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"filterAction(searchTerm)\"\n />\n <ng-icon\n class=\"absolute right-2.5 top-1 w-6 h-6 text-black\"\n name=\"iconoirSearch\"\n ></ng-icon>\n </div>\n <div class=\"text-sm px-1 ml-auto hidden sm:inline\">\n <ng-container *ngIf=\"featureCatalog?.featureTypes?.length > 1\">\n <span\n class=\"text-sm font-medium text-gray-900\"\n data-cy=\"total-objects-label\"\n translate\n >record.feature.catalog.number.total.object</span\n ><span\n class=\"text-sm font-bold px-1 text-gray-900\"\n data-cy=\"total-objects\"\n >{{ totalObjects }}</span\n >\n <span class=\"px-1.5\">|</span>\n </ng-container>\n <span\n class=\"text-sm font-medium px-1 text-gray-900\"\n data-cy=\"total-attributes-label\"\n translate\n >record.feature.catalog.number.total.attribute</span\n ><span class=\"text-sm font-bold text-gray-900\" data-cy=\"total-attributes\">{{\n totalAttributes\n }}</span>\n </div>\n</div>\n" }]
30461
+ ], template: "<div\n class=\"flex items-center justify-between p-3 mt-8 bg-white rounded-lg border-b solid border-gray-300\"\n *ngIf=\"\n (isMobile$ | async) === false || featureCatalog?.featureTypes?.length > 1\n \"\n>\n <div\n class=\"relative shrink-0\"\n *ngIf=\"featureCatalog?.featureTypes?.length > 1\"\n >\n <input\n type=\"text\"\n [placeholder]=\"'search.filter.into.feature.catalog' | translate\"\n class=\"w-[220px] h-8 pl-3 pr-10 py-2 border rounded-md\"\n [(ngModel)]=\"searchTerm\"\n (ngModelChange)=\"filterAction(searchTerm)\"\n />\n <ng-icon\n class=\"absolute right-2.5 top-1 w-6 h-6 text-black\"\n name=\"iconoirSearch\"\n ></ng-icon>\n </div>\n <div\n *ngIf=\"(isMobile$ | async) === false\"\n class=\"text-sm px-1 ml-auto inline\"\n >\n <ng-container *ngIf=\"featureCatalog?.featureTypes?.length > 1\">\n <span\n class=\"text-sm font-medium text-gray-900\"\n data-cy=\"total-objects-label\"\n translate\n >record.feature.catalog.number.total.object</span\n ><span\n class=\"text-sm font-bold px-1 text-gray-900\"\n data-cy=\"total-objects\"\n >{{ totalObjects }}</span\n >\n <span class=\"px-1.5\">|</span>\n </ng-container>\n <span\n class=\"text-sm font-medium px-1 text-gray-900\"\n data-cy=\"total-attributes-label\"\n translate\n >record.feature.catalog.number.total.attribute</span\n ><span class=\"text-sm font-bold text-gray-900\" data-cy=\"total-attributes\">{{\n totalAttributes\n }}</span>\n </div>\n</div>\n" }]
30412
30462
  }], propDecorators: { featureCatalog: [{
30413
30463
  type: Input
30414
30464
  }], filteredFeatureCatalogChange: [{
@@ -32562,6 +32612,7 @@ class DownloadsListComponent {
32562
32612
  constructor(translateService, changeDetector) {
32563
32613
  this.translateService = translateService;
32564
32614
  this.changeDetector = changeDetector;
32615
+ this.isMobile$ = getIsMobile();
32565
32616
  this.activeFilterFormats = ['all'];
32566
32617
  }
32567
32618
  get linksCount() {
@@ -32649,7 +32700,7 @@ class DownloadsListComponent {
32649
32700
  link.accessServiceProtocol === 'ogcFeatures'));
32650
32701
  }
32651
32702
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadsListComponent, deps: [{ token: i1$1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
32652
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DownloadsListComponent, isStandalone: true, selector: "gn-ui-downloads-list", inputs: { links: "links" }, ngImport: i0, template: "<div\n class=\"flex flex-wrap justify-between items-center pb-4\"\n *ngIf=\"links && links.length > 0\"\n>\n <div class=\"flex flex-row items-center gap-x-4\">\n <div>\n <h3\n class=\"inline-block font-title text-xl text-title font-medium mr-4\"\n translate\n >\n record.metadata.download\n </h3>\n <span class=\"px-3\">({{ linksCount }})</span>\n </div>\n <gn-ui-previous-next-buttons\n class=\"md:block hidden\"\n *ngIf=\"_list?.pagesCount > 1\"\n [listComponent]=\"_list\"\n ></gn-ui-previous-next-buttons>\n </div>\n\n <div\n class=\"flex flex-wrap justify-start sm:justify-end\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-60')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n\n<ng-container>\n <gn-ui-block-list\n class=\"md:block hidden\"\n #blockList\n (listChanges)=\"updateList($event)\"\n containerClass=\"gap-4 pt-5 pb-7\"\n >\n <gn-ui-download-item\n #block\n *ngFor=\"let link of filteredLinks\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n [size]=\"blockList.subComponentSize\"\n ></gn-ui-download-item>\n </gn-ui-block-list>\n</ng-container>\n\n<div class=\"mb-5 md:hidden block\" *ngFor=\"let link of filteredLinks\">\n <gn-ui-download-item\n size=\"M\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n</div>\n", styles: [""], 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: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: BlockListComponent, selector: "gn-ui-block-list", inputs: ["containerClass", "paginationContainerClass"], outputs: ["listChanges"] }, { kind: "component", type: DownloadItemComponent, selector: "gn-ui-download-item", inputs: ["link", "color", "format", "isFromApi", "size"], outputs: ["exportUrl"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: PreviousNextButtonsComponent, selector: "gn-ui-previous-next-buttons", inputs: ["listComponent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32703
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DownloadsListComponent, isStandalone: true, selector: "gn-ui-downloads-list", inputs: { links: "links" }, ngImport: i0, template: "<div\n class=\"flex flex-wrap justify-between items-center pb-4\"\n *ngIf=\"links && links.length > 0\"\n>\n <div class=\"flex flex-row items-center gap-x-4\">\n <div>\n <h3\n class=\"inline-block font-title text-xl text-title font-medium mr-4\"\n translate\n >\n record.metadata.download\n </h3>\n <span class=\"px-3\">({{ linksCount }})</span>\n </div>\n <gn-ui-previous-next-buttons\n *ngIf=\"(isMobile$ | async) === false && _list?.pagesCount > 1\"\n [listComponent]=\"_list\"\n ></gn-ui-previous-next-buttons>\n </div>\n\n <div\n class=\"flex flex-wrap justify-start sm:justify-end\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-60')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n\n<ng-container>\n <gn-ui-block-list\n *ngIf=\"(isMobile$ | async) === false\"\n #blockList\n (listChanges)=\"updateList($event)\"\n containerClass=\"gap-4 pt-5 pb-7\"\n >\n <gn-ui-download-item\n #block\n *ngFor=\"let link of filteredLinks\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n [size]=\"blockList.subComponentSize\"\n ></gn-ui-download-item>\n </gn-ui-block-list>\n</ng-container>\n\n<div class=\"mb-5\" *ngFor=\"let link of filteredLinks\">\n <ng-container *ngIf=\"(isMobile$ | async) === true\">\n <gn-ui-download-item\n size=\"M\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n </ng-container>\n</div>\n", styles: [""], 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: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: BlockListComponent, selector: "gn-ui-block-list", inputs: ["containerClass", "paginationContainerClass"], outputs: ["listChanges"] }, { kind: "component", type: DownloadItemComponent, selector: "gn-ui-download-item", inputs: ["link", "color", "format", "isFromApi", "size"], outputs: ["exportUrl"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: PreviousNextButtonsComponent, selector: "gn-ui-previous-next-buttons", inputs: ["listComponent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32653
32704
  }
32654
32705
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadsListComponent, decorators: [{
32655
32706
  type: Component,
@@ -32660,7 +32711,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
32660
32711
  DownloadItemComponent,
32661
32712
  TranslateDirective,
32662
32713
  PreviousNextButtonsComponent,
32663
- ], template: "<div\n class=\"flex flex-wrap justify-between items-center pb-4\"\n *ngIf=\"links && links.length > 0\"\n>\n <div class=\"flex flex-row items-center gap-x-4\">\n <div>\n <h3\n class=\"inline-block font-title text-xl text-title font-medium mr-4\"\n translate\n >\n record.metadata.download\n </h3>\n <span class=\"px-3\">({{ linksCount }})</span>\n </div>\n <gn-ui-previous-next-buttons\n class=\"md:block hidden\"\n *ngIf=\"_list?.pagesCount > 1\"\n [listComponent]=\"_list\"\n ></gn-ui-previous-next-buttons>\n </div>\n\n <div\n class=\"flex flex-wrap justify-start sm:justify-end\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-60')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n\n<ng-container>\n <gn-ui-block-list\n class=\"md:block hidden\"\n #blockList\n (listChanges)=\"updateList($event)\"\n containerClass=\"gap-4 pt-5 pb-7\"\n >\n <gn-ui-download-item\n #block\n *ngFor=\"let link of filteredLinks\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n [size]=\"blockList.subComponentSize\"\n ></gn-ui-download-item>\n </gn-ui-block-list>\n</ng-container>\n\n<div class=\"mb-5 md:hidden block\" *ngFor=\"let link of filteredLinks\">\n <gn-ui-download-item\n size=\"M\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n</div>\n" }]
32714
+ ], template: "<div\n class=\"flex flex-wrap justify-between items-center pb-4\"\n *ngIf=\"links && links.length > 0\"\n>\n <div class=\"flex flex-row items-center gap-x-4\">\n <div>\n <h3\n class=\"inline-block font-title text-xl text-title font-medium mr-4\"\n translate\n >\n record.metadata.download\n </h3>\n <span class=\"px-3\">({{ linksCount }})</span>\n </div>\n <gn-ui-previous-next-buttons\n *ngIf=\"(isMobile$ | async) === false && _list?.pagesCount > 1\"\n [listComponent]=\"_list\"\n ></gn-ui-previous-next-buttons>\n </div>\n\n <div\n class=\"flex flex-wrap justify-start sm:justify-end\"\n data-cy=\"download-format-filters\"\n >\n <gn-ui-button\n class=\"m-1 format-filter\"\n [extraClass]=\"\n '!px-[12px] !py-[8px] !text-[15px]' +\n (isFilterActive(format) ? ' opacity-100' : ' opacity-60')\n \"\n (buttonClick)=\"toggleFilterFormat(format)\"\n [attr.data-format]=\"format\"\n *ngFor=\"let format of visibleFormats\"\n >\n {{ getFilterFormatTitle(format) }}\n </gn-ui-button>\n </div>\n</div>\n\n<ng-container>\n <gn-ui-block-list\n *ngIf=\"(isMobile$ | async) === false\"\n #blockList\n (listChanges)=\"updateList($event)\"\n containerClass=\"gap-4 pt-5 pb-7\"\n >\n <gn-ui-download-item\n #block\n *ngFor=\"let link of filteredLinks\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n [size]=\"blockList.subComponentSize\"\n ></gn-ui-download-item>\n </gn-ui-block-list>\n</ng-container>\n\n<div class=\"mb-5\" *ngFor=\"let link of filteredLinks\">\n <ng-container *ngIf=\"(isMobile$ | async) === true\">\n <gn-ui-download-item\n size=\"M\"\n [link]=\"link\"\n [color]=\"getLinkColor(link)\"\n [format]=\"getLinkFormat(link)\"\n [isFromApi]=\"isFromApi(link)\"\n ></gn-ui-download-item>\n </ng-container>\n</div>\n" }]
32664
32715
  }], ctorParameters: () => [{ type: i1$1.TranslateService }, { type: i0.ChangeDetectorRef }], propDecorators: { links: [{
32665
32716
  type: Input
32666
32717
  }] } });
@@ -32728,9 +32779,10 @@ class GeoDataBadgeComponent {
32728
32779
  this.linkClassifier = linkClassifier;
32729
32780
  this.showLabel = true;
32730
32781
  this.styling = 'default';
32782
+ this.isMobile$ = getIsMobile();
32731
32783
  }
32732
32784
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeoDataBadgeComponent, deps: [{ token: LinkClassifierService }], target: i0.ɵɵFactoryTarget.Component }); }
32733
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GeoDataBadgeComponent, isStandalone: true, selector: "gn-ui-geo-data-badge", inputs: { showLabel: "showLabel", styling: "styling", record: "record" }, ngImport: i0, template: "<div\n [class]=\"badgeClasses\"\n [title]=\"'record.metadata.isGeographical' | translate\"\n *ngIf=\"isGeodata()\"\n>\n <ng-icon\n class=\"shrink-0 text-[0.75em]\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <span class=\"ml-1 hidden sm:inline-block shrink-0\" *ngIf=\"showLabel\" translate\n >record.metadata.isGeographical</span\n >\n</div>\n", styles: [":host{--gn-ui-geo-data-badge-background-color: var(--color-primary-white);--gn-ui-geo-data-badge-text-color: var(--color-primary-darkest)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], viewProviders: [
32785
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GeoDataBadgeComponent, isStandalone: true, selector: "gn-ui-geo-data-badge", inputs: { showLabel: "showLabel", styling: "styling", record: "record" }, ngImport: i0, template: "<div\n [class]=\"badgeClasses\"\n [title]=\"'record.metadata.isGeographical' | translate\"\n *ngIf=\"isGeodata()\"\n>\n <ng-icon\n class=\"shrink-0 text-[0.75em]\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <span\n class=\"ml-1 inline-block shrink-0\"\n *ngIf=\"(isMobile$ | async) === false && showLabel\"\n translate\n >record.metadata.isGeographical</span\n >\n</div>\n", styles: [":host{--gn-ui-geo-data-badge-background-color: var(--color-primary-white);--gn-ui-geo-data-badge-text-color: var(--color-primary-darkest)}\n"], 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: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], viewProviders: [
32734
32786
  provideIcons({
32735
32787
  matLocationSearchingOutline,
32736
32788
  }),
@@ -32742,7 +32794,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
32742
32794
  provideIcons({
32743
32795
  matLocationSearchingOutline,
32744
32796
  }),
32745
- ], template: "<div\n [class]=\"badgeClasses\"\n [title]=\"'record.metadata.isGeographical' | translate\"\n *ngIf=\"isGeodata()\"\n>\n <ng-icon\n class=\"shrink-0 text-[0.75em]\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <span class=\"ml-1 hidden sm:inline-block shrink-0\" *ngIf=\"showLabel\" translate\n >record.metadata.isGeographical</span\n >\n</div>\n", styles: [":host{--gn-ui-geo-data-badge-background-color: var(--color-primary-white);--gn-ui-geo-data-badge-text-color: var(--color-primary-darkest)}\n"] }]
32797
+ ], template: "<div\n [class]=\"badgeClasses\"\n [title]=\"'record.metadata.isGeographical' | translate\"\n *ngIf=\"isGeodata()\"\n>\n <ng-icon\n class=\"shrink-0 text-[0.75em]\"\n name=\"matLocationSearchingOutline\"\n ></ng-icon>\n <span\n class=\"ml-1 inline-block shrink-0\"\n *ngIf=\"(isMobile$ | async) === false && showLabel\"\n translate\n >record.metadata.isGeographical</span\n >\n</div>\n", styles: [":host{--gn-ui-geo-data-badge-background-color: var(--color-primary-white);--gn-ui-geo-data-badge-text-color: var(--color-primary-darkest)}\n"] }]
32746
32798
  }], ctorParameters: () => [{ type: LinkClassifierService }], propDecorators: { showLabel: [{
32747
32799
  type: Input
32748
32800
  }], styling: [{
@@ -38313,7 +38365,7 @@ class DataService {
38313
38365
  });
38314
38366
  }
38315
38367
  async getGeodataLinksFromTms(tmsLink, keepOriginalLink = false) {
38316
- const endpoint = new TmsEndpoint(tmsLink.url.toString());
38368
+ const endpoint = new TmsEndpoint(tmsLink.url.toString().replace(/\/?$/, `/${tmsLink.name}`));
38317
38369
  const tileMaps = await endpoint.allTileMaps.catch(() => {
38318
38370
  throw new Error(`ogc.unreachable.unknown`);
38319
38371
  });
@@ -40698,7 +40750,9 @@ class MapViewComponent {
40698
40750
  link.accessServiceProtocol === 'tms') {
40699
40751
  // FIXME: here we're assuming that the TMS serves vector tiles only; should be checked with ogc-client first
40700
40752
  return of({
40701
- url: link.url.toString().replace(/\/?$/, '/{z}/{x}/{y}.pbf'),
40753
+ url: link.url
40754
+ .toString()
40755
+ .replace(/\/?$/, `/${link.name}/{z}/{x}/{y}.pbf`),
40702
40756
  type: 'xyz',
40703
40757
  tileFormat: 'application/vnd.mapbox-vector-tile',
40704
40758
  name: link.name,
@@ -43645,7 +43699,7 @@ class MetadataQualityPanelComponent {
43645
43699
  ngOnChanges() {
43646
43700
  if (this.editorConfig && this.record) {
43647
43701
  const fieldsByPage = this.editorConfig.pages.map((page) => page.sections.flatMap((section) => section.fields
43648
- .filter((field) => this.propsToValidate.includes(field.model) && !field.hidden)
43702
+ .filter((field) => this.propsToValidate.includes(field.model))
43649
43703
  .map((field) => field.model)));
43650
43704
  // FIXME: temporarily add topics and organisation to the first and third page
43651
43705
  // as long as they are not handled by the editor
@@ -44146,5 +44200,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
44146
44200
  * Generated bundle index. Do not edit.
44147
44201
  */
44148
44202
 
44149
- export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, ActionMenuComponent, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, CellPopinComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalLinkCardComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogListComponent, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GEONETWORK_UI_TAG_NAME, GEONETWORK_UI_VERSION, GeoDataBadgeComponent, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KindBadgeComponent, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MetadataQualityPanelComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PossibleResourceTypes, PossibleResourceTypesDefinition, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_DATASET_URL_TOKEN, RECORD_REUSE_URL_TOKEN, RECORD_SERVICE_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_REUSE, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordKindField, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFeatureCatalogComponent, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, ServiceCapabilitiesComponent, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEBUG_CONFIG, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, TruncatedTextComponent, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, FacetsModule$1 as UiFacetsModule, UiSearchModule, 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, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLang2FromLang3, getLang3FromLang2, getLayers, getLinkId, getLinkLabel, getLinkPriority, getLocalizedIndexKey, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReuseType, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, kindToCodeListValue, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, 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, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
44203
+ export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, ActionMenuComponent, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, ApplicationBannerComponent, AuthService, AutocompleteComponent, AvailableServicesField, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseFileReader, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, CellPopinComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataTableComponent, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DateService, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalLinkCardComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogListComponent, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldArrayComponent, FormFieldComponent, FormFieldDateComponent, FormFieldFileComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GEONETWORK_UI_TAG_NAME, GEONETWORK_UI_VERSION, GeoDataBadgeComponent, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KindBadgeComponent, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MetadataQualityPanelComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PossibleResourceTypes, PossibleResourceTypesDefinition, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_DATASET_URL_TOKEN, RECORD_REUSE_URL_TOKEN, RECORD_SERVICE_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_REUSE, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordKindField, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFeatureCatalogComponent, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, ServiceCapabilitiesComponent, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEBUG_CONFIG, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, TruncatedTextComponent, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, FacetsModule$1 as UiFacetsModule, UiSearchModule, 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, getGeometryFromGeoJSON, getGlobalConfig, getIsMobile, getJsonDataItemsProxy, getLang2FromLang3, getLang3FromLang2, getLayers, getLinkId, getLinkLabel, getLinkPriority, getLocalizedIndexKey, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReuseType, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, kindToCodeListValue, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, 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, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
44150
44204
  //# sourceMappingURL=geonetwork-ui.mjs.map