geonetwork-ui 2.7.0-dev.d51ff2ddf → 2.7.0-dev.da19181da

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 (122) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +4 -7
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +20 -20
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +3 -3
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +3 -3
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +3 -3
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +4 -4
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -5
  8. package/esm2022/libs/api/repository/src/index.mjs +2 -2
  9. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +5 -5
  10. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +9 -10
  11. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +3 -3
  12. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +3 -3
  13. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +3 -3
  14. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +3 -3
  15. package/esm2022/libs/api/repository/src/lib/metadata-language.token.mjs +3 -0
  16. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +11 -1
  17. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +3 -3
  18. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.mjs +79 -0
  19. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +8 -3
  20. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -1
  21. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +77 -1
  22. package/esm2022/libs/feature/router/src/lib/default/state/query-params.utils.mjs +4 -3
  23. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +3 -2
  24. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
  25. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +1 -4
  26. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +7 -7
  27. package/esm2022/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.mjs +1 -6
  28. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -2
  29. package/esm2022/libs/util/app-config/src/lib/parse-utils.mjs +5 -4
  30. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +50 -9
  31. package/esm2022/libs/util/shared/src/lib/record/quality-score.util.mjs +9 -8
  32. package/esm2022/translations/de.json +52 -20
  33. package/esm2022/translations/en.json +53 -21
  34. package/esm2022/translations/es.json +39 -7
  35. package/esm2022/translations/fr.json +57 -25
  36. package/esm2022/translations/it.json +52 -20
  37. package/esm2022/translations/nl.json +39 -7
  38. package/esm2022/translations/pt.json +39 -7
  39. package/esm2022/translations/sk.json +43 -11
  40. package/fesm2022/geonetwork-ui.mjs +663 -653
  41. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  42. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -1
  43. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +1 -1
  44. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  45. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +2 -2
  46. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  47. package/libs/api/repository/src/index.d.ts +1 -1
  48. package/libs/api/repository/src/index.d.ts.map +1 -1
  49. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +0 -1
  50. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  51. package/libs/api/repository/src/lib/metadata-language.token.d.ts +5 -0
  52. package/libs/api/repository/src/lib/metadata-language.token.d.ts.map +1 -0
  53. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +5 -1
  54. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  55. package/libs/feature/catalog/src/lib/sources/sources.service.d.ts.map +1 -1
  56. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.d.ts +28 -0
  57. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.d.ts.map +1 -0
  58. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +1 -0
  59. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  60. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -0
  61. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  62. package/libs/feature/editor/src/lib/fields.config.d.ts +8 -1
  63. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  64. package/libs/feature/router/src/lib/default/state/query-params.utils.d.ts.map +1 -1
  65. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  66. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +0 -1
  67. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  68. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -1
  69. package/libs/util/app-config/src/lib/parse-utils.d.ts.map +1 -1
  70. package/libs/util/i18n/src/lib/language-codes.d.ts +91 -31
  71. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  72. package/libs/util/shared/src/lib/record/quality-score.util.d.ts.map +1 -1
  73. package/package.json +11 -10
  74. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +3 -6
  75. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +47 -22
  76. package/src/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.ts +2 -2
  77. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +2 -2
  78. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +2 -2
  79. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +3 -3
  80. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +6 -6
  81. package/src/libs/api/repository/src/index.ts +1 -1
  82. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +4 -4
  83. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +15 -11
  84. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +2 -2
  85. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +2 -2
  86. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +2 -2
  87. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +2 -2
  88. package/src/libs/api/repository/src/lib/metadata-language.token.ts +8 -0
  89. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +17 -1
  90. package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +2 -5
  91. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.css +0 -0
  92. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.html +20 -0
  93. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.ts +85 -0
  94. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +6 -0
  95. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +5 -0
  96. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
  97. package/src/libs/feature/editor/src/lib/fields.config.ts +85 -1
  98. package/src/libs/feature/router/src/lib/default/state/query-params.utils.ts +5 -2
  99. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +2 -1
  100. package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -1
  101. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +0 -4
  102. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +6 -6
  103. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +0 -6
  104. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -1
  105. package/src/libs/util/app-config/src/lib/parse-utils.ts +4 -7
  106. package/src/libs/util/i18n/src/lib/language-codes.ts +62 -11
  107. package/src/libs/util/shared/src/lib/record/quality-score.util.ts +13 -10
  108. package/translations/de.json +52 -20
  109. package/translations/en.json +53 -21
  110. package/translations/es.json +39 -7
  111. package/translations/fr.json +57 -25
  112. package/translations/it.json +52 -20
  113. package/translations/nl.json +39 -7
  114. package/translations/pt.json +39 -7
  115. package/translations/sk.json +43 -11
  116. package/esm2022/libs/api/repository/src/lib/metadata-language.mjs +0 -3
  117. package/esm2022/libs/util/app-config/src/lib/constants.mjs +0 -439
  118. package/libs/api/repository/src/lib/metadata-language.d.ts +0 -3
  119. package/libs/api/repository/src/lib/metadata-language.d.ts.map +0 -1
  120. package/libs/util/app-config/src/lib/constants.d.ts +0 -2
  121. package/libs/util/app-config/src/lib/constants.d.ts.map +0 -1
  122. package/src/libs/api/repository/src/lib/metadata-language.ts +0 -3
@@ -908,6 +908,16 @@ const RecordStatusValues = [
908
908
  'planned',
909
909
  'required',
910
910
  ];
911
+ marker('record.metadata.api.accessServiceProtocol.wms');
912
+ marker('record.metadata.api.accessServiceProtocol.wfs');
913
+ marker('record.metadata.api.accessServiceProtocol.wps');
914
+ marker('record.metadata.api.accessServiceProtocol.wmts');
915
+ marker('record.metadata.api.accessServiceProtocol.esriRest');
916
+ marker('record.metadata.api.accessServiceProtocol.ogcFeatures');
917
+ marker('record.metadata.api.accessServiceProtocol.GPFDL');
918
+ marker('record.metadata.api.accessServiceProtocol.tms');
919
+ marker('record.metadata.api.accessServiceProtocol.maplibre-style');
920
+ marker('record.metadata.api.accessServiceProtocol.other');
911
921
 
912
922
  function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
913
923
  return frequencyCode &&
@@ -916,21 +926,33 @@ function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
916
926
  : null;
917
927
  }
918
928
 
929
+ /**
930
+ * Taken from https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
931
+ * Note: some languages have multiple 3-char codes, like 'fre' and 'fra'; in that case, the one to be used
932
+ * in priority is the one defined last
933
+ */
919
934
  const LANG_3_TO_2_MAPPER = {
920
935
  eng: 'en',
936
+ nld: 'nl', // duplicate for "dut"
921
937
  dut: 'nl',
938
+ fra: 'fr', // duplicate for "fre"
922
939
  fre: 'fr',
940
+ deu: 'de', // duplicate for "ger"
923
941
  ger: 'de',
924
942
  kor: 'ko',
925
943
  spa: 'es',
944
+ ces: 'cs', // duplicate for "cze"
926
945
  cze: 'cs',
927
946
  cat: 'ca',
928
947
  fin: 'fi',
948
+ isl: 'is', // duplicate for "ice"
929
949
  ice: 'is',
930
950
  ita: 'it',
931
951
  por: 'pt',
932
952
  rus: 'ru',
953
+ zho: 'zh', // duplicate for "chi"
933
954
  chi: 'zh',
955
+ slk: 'sk', // duplicate for "slo"
934
956
  slo: 'sk',
935
957
  roh: 'rm',
936
958
  ara: 'ar',
@@ -941,8 +963,10 @@ const LANG_3_TO_2_MAPPER = {
941
963
  tur: 'tr',
942
964
  arm: 'hy',
943
965
  aze: 'az',
966
+ kat: 'ka', // duplicate for "geo"
944
967
  geo: 'ka',
945
968
  ukr: 'uk',
969
+ cym: 'cy', // duplicate for "wel"
946
970
  wel: 'cy',
947
971
  };
948
972
  const LANGUAGE_NAMES = {
@@ -977,15 +1001,42 @@ const LANGUAGE_NAMES = {
977
1001
  const LANG_2_TO_3_MAPPER = Object.entries(LANG_3_TO_2_MAPPER).reduce((mapperObject, langEntry) => {
978
1002
  return { ...mapperObject, [langEntry[1]]: langEntry[0] };
979
1003
  }, {});
980
- function getLang3FromLang2(lang2) {
981
- return LANG_2_TO_3_MAPPER[lang2] ?? lang2;
982
- }
983
- function getLang2FromLang3(lang3) {
984
- return LANG_3_TO_2_MAPPER[lang3] ?? lang3;
1004
+ /**
1005
+ * Converts a language code in any format to the ISO 639-2 format (3 characters)
1006
+ * Returns the given string if the corresponding language code could not be recognized
1007
+ */
1008
+ function toLang3(lang) {
1009
+ if (!lang) {
1010
+ // also handle falsy values just in case
1011
+ return lang;
1012
+ }
1013
+ if (lang.length === 3) {
1014
+ return LANG_2_TO_3_MAPPER[LANG_3_TO_2_MAPPER[lang.toLowerCase()]] ?? lang;
1015
+ }
1016
+ const lang2 = lang.toLowerCase().substring(0, 2);
1017
+ return LANG_2_TO_3_MAPPER[lang2] ?? lang;
985
1018
  }
986
- function getLocalizedIndexKey(lang2) {
987
- const lang3 = getLang3FromLang2(lang2);
988
- return lang3 ? `lang${lang3}` : null;
1019
+ /**
1020
+ * Converts a language code in any format to the ISO 639-1 format (2 characters)
1021
+ * Returns the given string if the corresponding language code could not be recognized
1022
+ */
1023
+ function toLang2(lang) {
1024
+ if (!lang) {
1025
+ // also handle falsy values just in case
1026
+ return lang;
1027
+ }
1028
+ if (lang.length === 3) {
1029
+ return LANG_3_TO_2_MAPPER[lang.toLowerCase()] ?? lang;
1030
+ }
1031
+ const lang2 = lang.toLowerCase().substring(0, 2);
1032
+ if (lang2 in LANG_2_TO_3_MAPPER) {
1033
+ return lang2;
1034
+ }
1035
+ if (lang.match(/[a-z]{2}_[A-Z]{2}/)) {
1036
+ // remove locale code even if the language code is not known
1037
+ return lang2;
1038
+ }
1039
+ return lang;
989
1040
  }
990
1041
  marker('language.en');
991
1042
  marker('language.nl');
@@ -1520,10 +1571,10 @@ function readSpatialExtents$1(rootEl) {
1520
1571
  }
1521
1572
  function readOtherLanguages$1(rootEl) {
1522
1573
  const defaultLanguage = readDefaultLanguage$2(rootEl);
1523
- return pipe(findChildrenElement('gmd:locale', false), mapArray(pipe(findChildElement('lan:LanguageCode'), readAttribute('codeListValue'), map((lang) => getLang2FromLang3(lang?.toLowerCase()) ?? lang))), map((languages) => languages.filter((lang) => lang !== null)), map((languages) => (languages.length ? languages : [defaultLanguage])))(rootEl);
1574
+ return pipe(findChildrenElement('gmd:locale', false), mapArray(pipe(findChildElement('lan:LanguageCode'), readAttribute('codeListValue'), map((lang) => toLang2(lang?.toLowerCase()) ?? lang))), map((languages) => languages.filter((lang) => lang !== null)), map((languages) => (languages.length ? languages : [defaultLanguage])))(rootEl);
1524
1575
  }
1525
1576
  function readDefaultLanguage$2(rootEl) {
1526
- return pipe(findChildElement('gmd:language', false), findChildElement('lan:LanguageCode'), readAttribute('codeListValue'), map((lang) => (lang ? getLang2FromLang3(lang.toLowerCase()) : null)))(rootEl);
1577
+ return pipe(findChildElement('gmd:language', false), findChildElement('lan:LanguageCode'), readAttribute('codeListValue'), map((lang) => (lang ? toLang2(lang.toLowerCase()) : null)))(rootEl);
1527
1578
  }
1528
1579
  function readResourceIdentifier(rootEl) {
1529
1580
  return pipe(findIdentification(), findNestedElement('gmd:citation', 'gmd:CI_Citation', 'gmd:identifier', 'gmd:MD_Identifier', 'gmd:code'), extractCharacterString())(rootEl);
@@ -1981,7 +2032,7 @@ function appendServiceOnlineResources(record, rootEl) {
1981
2032
  }
1982
2033
  function writeOnlineResources$1(record, rootEl) {
1983
2034
  removeOnlineResources()(rootEl);
1984
- if (record.kind === 'dataset') {
2035
+ if (record.kind === 'dataset' || record.kind === 'reuse') {
1985
2036
  appendDatasetOnlineResources(record, rootEl);
1986
2037
  return;
1987
2038
  }
@@ -2023,12 +2074,12 @@ function writeLanguages(record, rootEl) {
2023
2074
  if (!record.otherLanguages?.length) {
2024
2075
  return;
2025
2076
  }
2026
- const createLanguageEl = (lang) => pipe(createNestedElement('gmd:locale', 'gmd:PT_Locale'), writeAttribute('id', lang.toUpperCase()), createNestedChild('gmd:languageCode', 'gmd:LanguageCode'), writeAttribute('codeList', 'http://www.loc.gov/standards/iso639-2/'), writeAttribute('codeListValue', getLang3FromLang2(lang) ?? lang));
2077
+ const createLanguageEl = (lang) => pipe(createNestedElement('gmd:locale', 'gmd:PT_Locale'), writeAttribute('id', lang.toUpperCase()), createNestedChild('gmd:languageCode', 'gmd:LanguageCode'), writeAttribute('codeList', 'http://www.loc.gov/standards/iso639-2/'), writeAttribute('codeListValue', toLang3(lang) ?? lang));
2027
2078
  // add new languages (only if other than default one)
2028
2079
  appendChildren(createLanguageEl(record.defaultLanguage), ...record.otherLanguages.map(createLanguageEl))(rootEl);
2029
2080
  }
2030
2081
  function writeDefaultLanguage$1(record, rootEl) {
2031
- const lang3 = getLang3FromLang2(record.defaultLanguage.toLowerCase());
2082
+ const lang3 = toLang3(record.defaultLanguage.toLowerCase());
2032
2083
  return pipe(findNestedChildOrCreate('gmd:language', 'gmd:LanguageCode'), writeAttribute('codeList', 'http://www.loc.gov/standards/iso639-2/'), writeAttribute('codeListValue', lang3))(rootEl);
2033
2084
  }
2034
2085
  function writeResourceIdentifier(record, rootEl) {
@@ -2468,7 +2519,7 @@ function readOnlineResources$1(rootEl) {
2468
2519
  return pipe(findNestedElements('mrd:distributionInfo', 'mrd:MD_Distribution'), mapArray(getOnlineResources), flattenArray())(rootEl);
2469
2520
  }
2470
2521
  function readLocaleElement() {
2471
- return pipe(findChildElement('lan:LanguageCode'), readAttribute('codeListValue'), map((lang) => getLang2FromLang3(lang?.toLowerCase()) ?? lang));
2522
+ return pipe(findChildElement('lan:LanguageCode'), readAttribute('codeListValue'), map((lang) => toLang2(lang?.toLowerCase()) ?? lang));
2472
2523
  }
2473
2524
  function readDefaultLanguage$1(rootEl) {
2474
2525
  return pipe(findChildElement('mdb:defaultLocale', false), readLocaleElement())(rootEl);
@@ -2607,7 +2658,7 @@ function writeOnlineResources(record, rootEl) {
2607
2658
  });
2608
2659
  }
2609
2660
  function writeLocaleElement(language) {
2610
- const lang3 = getLang3FromLang2(language.toLowerCase()) ?? language;
2661
+ const lang3 = toLang3(language.toLowerCase()) ?? language;
2611
2662
  return pipe(findChildOrCreate('lan:PT_Locale'), writeAttribute('id', language.toUpperCase()), findNestedChildOrCreate('lan:language', 'gmd:LanguageCode'), writeAttribute('codeList', 'http://www.loc.gov/standards/iso639-2/'), writeAttribute('codeListValue', lang3));
2612
2663
  }
2613
2664
  function writeDefaultLanguage(record, rootEl) {
@@ -3112,11 +3163,8 @@ function readDefaultLanguage(dataStore, recordNode) {
3112
3163
  if (!statements.length)
3113
3164
  return null;
3114
3165
  const languageNode = statements[0].object;
3115
- let language = languageNode.value.split('/').pop().toLowerCase();
3116
- if (language.length === 3) {
3117
- language = getLang2FromLang3(language) ?? language;
3118
- }
3119
- return language.substring(0, 2);
3166
+ const language = languageNode.value.split('/').pop().toLowerCase();
3167
+ return toLang2(language) ?? language;
3120
3168
  }
3121
3169
 
3122
3170
  /**
@@ -18699,7 +18747,7 @@ var de = {
18699
18747
  "Add Layer As": "",
18700
18748
  "Enter to search": "",
18701
18749
  "button.login": "",
18702
- "catalog.figures.datasets": "{count, plural, =0{Datensätze} one{Datensatz} other{Datensätze}}",
18750
+ "catalog.figures.datasets": "{count, plural, =0{Ressource} one{Ressource} other{Ressourcen}}",
18703
18751
  "catalog.figures.organizations": "{count, plural, =0{Organisationen} one{Organisation} other{Organisationen}}",
18704
18752
  "chart.aggregation.average": "Durchschnitt",
18705
18753
  "chart.aggregation.count": "Anzahl",
@@ -18880,6 +18928,26 @@ var de = {
18880
18928
  "editor.record.form.field.topics": "Kategorien",
18881
18929
  "editor.record.form.field.uniqueIdentifier": "Eindeutige Kennung (ID)",
18882
18930
  "editor.record.form.field.updateFrequency": "Aktualisierungshäufigkeit",
18931
+ "editor.record.form.inspire.biota": "",
18932
+ "editor.record.form.inspire.boundaries": "",
18933
+ "editor.record.form.inspire.climatology": "",
18934
+ "editor.record.form.inspire.economy": "",
18935
+ "editor.record.form.inspire.elevation": "",
18936
+ "editor.record.form.inspire.environnement": "",
18937
+ "editor.record.form.inspire.farming": "",
18938
+ "editor.record.form.inspire.geoscientific": "",
18939
+ "editor.record.form.inspire.health": "",
18940
+ "editor.record.form.inspire.imagery": "",
18941
+ "editor.record.form.inspire.intelligence": "",
18942
+ "editor.record.form.inspire.location": "",
18943
+ "editor.record.form.inspire.oceans": "",
18944
+ "editor.record.form.inspire.placeholder": "",
18945
+ "editor.record.form.inspire.planning": "",
18946
+ "editor.record.form.inspire.society": "",
18947
+ "editor.record.form.inspire.structure": "",
18948
+ "editor.record.form.inspire.transportation": "",
18949
+ "editor.record.form.inspire.utilities": "",
18950
+ "editor.record.form.inspire.waters": "",
18883
18951
  "editor.record.form.keywords.place.placeholder": "",
18884
18952
  "editor.record.form.keywords.place.withoutExtent": "",
18885
18953
  "editor.record.form.keywords.placeholder": "",
@@ -18915,6 +18983,8 @@ var de = {
18915
18983
  "editor.record.form.section.dataManagers.description": "",
18916
18984
  "editor.record.form.section.dataManagers.label": "",
18917
18985
  "editor.record.form.section.geographicalCoverage.label": "",
18986
+ "editor.record.form.section.inspire.description": "",
18987
+ "editor.record.form.section.inspire.label": "",
18918
18988
  "editor.record.form.section.metadataPointOfContact.description": "",
18919
18989
  "editor.record.form.section.metadataPointOfContact.label": "",
18920
18990
  "editor.record.form.section.useAndAccessConditions.label": "",
@@ -19063,10 +19133,10 @@ var de = {
19063
19133
  "organisations.sortBy.nameDesc": "Name Z → A",
19064
19134
  "organisations.sortBy.recordCountAsc": "Veröffentlichungen 0 → 9",
19065
19135
  "organisations.sortBy.recordCountDesc": "Veröffentlichungen 9 → 0",
19066
- "organization.details.lastPublishedDatasets": "",
19136
+ "organization.details.lastPublishedDatasets": "Zuletzt veröffentlichte Ressourcen",
19067
19137
  "organization.details.lastPublishedDatasets.searchAllButton": "",
19068
19138
  "organization.details.mailContact": "",
19069
- "organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
19139
+ "organization.header.recordCount": "{count, plural, =0{Veröffentlichung} one{Veröffentlichung} other{Veröffentlichungen}}",
19070
19140
  "pagination.nextPage": "Nächste Seite",
19071
19141
  "pagination.page": "Seite",
19072
19142
  "pagination.pageOf": "von",
@@ -19086,6 +19156,16 @@ var de = {
19086
19156
  "record.kind.service": "",
19087
19157
  "record.metadata.about": "Beschreibung",
19088
19158
  "record.metadata.api": "API",
19159
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
19160
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
19161
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
19162
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
19163
+ "record.metadata.api.accessServiceProtocol.other": "",
19164
+ "record.metadata.api.accessServiceProtocol.tms": "",
19165
+ "record.metadata.api.accessServiceProtocol.wfs": "",
19166
+ "record.metadata.api.accessServiceProtocol.wms": "",
19167
+ "record.metadata.api.accessServiceProtocol.wmts": "",
19168
+ "record.metadata.api.accessServiceProtocol.wps": "",
19089
19169
  "record.metadata.api.form.closeButton": "Schließen",
19090
19170
  "record.metadata.api.form.closeForm": "Formular schließen",
19091
19171
  "record.metadata.api.form.create": "Ihre Anfrage erstellen",
@@ -19147,12 +19227,12 @@ var de = {
19147
19227
  "record.metadata.publication": "Veröffentlichungsdatum",
19148
19228
  "record.metadata.publications": "{count, plural, =0{Veröffentlichungsdatum} one{Veröffentlichungsdatum} other{Veröffentlichungen}}",
19149
19229
  "record.metadata.quality": "Metadatenqualität",
19230
+ "record.metadata.quality.abstract.failed": "Beschreibung nicht angegeben",
19231
+ "record.metadata.quality.abstract.success": "Beschreibung angegeben",
19150
19232
  "record.metadata.quality.capabilities.failed": "",
19151
- "record.metadata.quality.capabilities.success": "",
19152
- "record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
19153
- "record.metadata.quality.contact.success": "Kontakt angegeben",
19154
- "record.metadata.quality.description.failed": "Beschreibung nicht angegeben",
19155
- "record.metadata.quality.description.success": "Beschreibung angegeben",
19233
+ "record.metadata.quality.capabilities.success": "Kontakt angegeben",
19234
+ "record.metadata.quality.contacts.failed": "Kontakt nicht angegeben",
19235
+ "record.metadata.quality.contacts.success": "",
19156
19236
  "record.metadata.quality.details": "Details",
19157
19237
  "record.metadata.quality.keywords.failed": "Schlagwörter nicht angegeben",
19158
19238
  "record.metadata.quality.keywords.success": "Schlagwörter angegeben",
@@ -19164,8 +19244,8 @@ var de = {
19164
19244
  "record.metadata.quality.source.success": "",
19165
19245
  "record.metadata.quality.title.failed": "Titel nicht angegeben",
19166
19246
  "record.metadata.quality.title.success": "Titel angegeben",
19167
- "record.metadata.quality.topic.failed": "Thema nicht angegeben",
19168
- "record.metadata.quality.topic.success": "Thema angegeben",
19247
+ "record.metadata.quality.topics.failed": "Thema nicht angegeben",
19248
+ "record.metadata.quality.topics.success": "Thema angegeben",
19169
19249
  "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
19170
19250
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
19171
19251
  "record.metadata.related": "Entdecken Sie den Katalog",
@@ -19196,18 +19276,18 @@ var de = {
19196
19276
  "record.tab.chart": "Diagramm",
19197
19277
  "record.tab.data": "Tabelle",
19198
19278
  "record.tab.map": "Karte",
19199
- "record.was.created.time": "erstellte diesen Datensatz {time}",
19279
+ "record.was.created.time": "erstellte diesen Ressource {time}",
19200
19280
  records: records$7,
19201
19281
  "results.layout.selectOne": "Layout auswählen",
19202
- "results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{angezeigt von {hits} insgesamt.}}",
19282
+ "results.records.hits.displayedOn": "{displayed, plural, =0{Kein Ressource.} one{1 } other{{displayed} }} {hits, plural, other{von insgesamt {hits} angezeigt.}}",
19203
19283
  "results.records.hits.empty.help.html": "Vorschläge: <ul class='list-disc list-inside'><li>Versuchen Sie es mit anderen Worten</li><li>Beschränken Sie die Suchwörter</li></ul>",
19204
- "results.records.hits.found": "{hits, plural, =0{Keine Dokumente entsprechen der angegebenen Suche.} one{1 Datensatz gefunden.} other{{hits} Datensätze gefunden.}}",
19284
+ "results.records.hits.found": "{hits, plural, =0{Keine Ressource entsprechen der angegebenen Suche.} one{1 Ressource gefunden.} other{{hits} Ressourcen gefunden.}}",
19205
19285
  "results.records.hits.selected": "{ amount } ausgewählt",
19206
19286
  "results.showMore": "Mehr Ergebnisse anzeigen...",
19207
19287
  "results.sortBy.changeDate": "",
19208
19288
  "results.sortBy.dateStamp": "Neueste",
19209
19289
  "results.sortBy.popularity": "Beliebtheit",
19210
- "results.sortBy.qualityScore": "Qualitätsbewertung",
19290
+ "results.sortBy.qualityScore": "Fertigstellungsanzeige",
19211
19291
  "results.sortBy.relevancy": "Relevanz",
19212
19292
  "reuse.metadata.access": "",
19213
19293
  "search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
@@ -19216,7 +19296,7 @@ var de = {
19216
19296
  "search.error.organizationNotFound": "",
19217
19297
  "search.error.receivedError": "Ein Fehler ist aufgetreten",
19218
19298
  "search.error.recordHasnolink": "",
19219
- "search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
19299
+ "search.error.recordNotFound": "Die Ressource mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
19220
19300
  "search.field.any.placeholder": "Suche im katalog ...",
19221
19301
  "search.field.sortBy": "Sortieren nach:",
19222
19302
  "search.filter.into.feature.catalog": "",
@@ -19243,10 +19323,10 @@ var de = {
19243
19323
  "search.filters.license.unknown": "Unbekannt oder nicht vorhanden",
19244
19324
  "search.filters.maximize": "Erweitern",
19245
19325
  "search.filters.minimize": "Minimieren",
19246
- "search.filters.myRecords": "Nur meine Datensätze anzeigen",
19247
- "search.filters.myRecordsHelp": "Wenn dies aktiviert ist, werden nur von mir erstellte Datensätze angezeigt; Datensätze, die von anderen erstellt wurden, werden nicht angezeigt.",
19326
+ "search.filters.myRecords": "Nur meine Ressourcen anzeigen",
19327
+ "search.filters.myRecordsHelp": "Wenn dies aktiviert ist, werden nur von mir erstellte Ressourcen angezeigt; Ressourcen, die von anderen erstellt wurden, werden nicht angezeigt.",
19248
19328
  "search.filters.organization": "",
19249
- "search.filters.otherRecords": "Datensätze von einer anderen Person anzeigen",
19329
+ "search.filters.otherRecords": "Ressourcen von einer anderen Person anzeigen",
19250
19330
  "search.filters.producerOrg": "",
19251
19331
  "search.filters.publicationYear": "Veröffentlichungsjahr",
19252
19332
  "search.filters.publisherOrg": "",
@@ -19261,8 +19341,8 @@ var de = {
19261
19341
  "search.filters.summaryLabel.user": "Geändert von: ",
19262
19342
  "search.filters.title": "Ergebnisse filtern",
19263
19343
  "search.filters.topic": "Themen",
19264
- "search.filters.useSpatialFilter": "Zuerst Datensätze im Interessenbereich anzeigen",
19265
- "search.filters.useSpatialFilterHelp": "Wenn diese Option aktiviert ist, werden Datensätze im Bereich des Katalogs zuerst angezeigt. Datensätze außerhalb dieses Bereichs werden nicht angezeigt.",
19344
+ "search.filters.useSpatialFilter": "Zuerst Ressourcen im Interessenbereich anzeigen",
19345
+ "search.filters.useSpatialFilterHelp": "Wenn diese Option aktiviert ist, werden Ressourcen im Bereich des Katalogs zuerst angezeigt. Ressourcen außerhalb dieses Bereichs werden nicht angezeigt.",
19266
19346
  "search.filters.user": "Editor",
19267
19347
  "service.metadata.capabilities": "",
19268
19348
  "service.metadata.capabilities.abstract": "",
@@ -19317,7 +19397,7 @@ var en = {
19317
19397
  "Add Layer As": "",
19318
19398
  "Enter to search": "",
19319
19399
  "button.login": "Log in",
19320
- "catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
19400
+ "catalog.figures.datasets": "{count, plural, =0{record} one{record} other{records}}",
19321
19401
  "catalog.figures.organizations": "{count, plural, =0{organizations} one{organization} other{organizations}}",
19322
19402
  "chart.aggregation.average": "average",
19323
19403
  "chart.aggregation.count": "count",
@@ -19498,6 +19578,26 @@ var en = {
19498
19578
  "editor.record.form.field.topics": "Categories",
19499
19579
  "editor.record.form.field.uniqueIdentifier": "Unique identifier",
19500
19580
  "editor.record.form.field.updateFrequency": "Update frequency",
19581
+ "editor.record.form.inspire.biota": "Biota",
19582
+ "editor.record.form.inspire.boundaries": "Boundaries",
19583
+ "editor.record.form.inspire.climatology": "Climatology / Meteorology / Atmosphere",
19584
+ "editor.record.form.inspire.economy": "Economy",
19585
+ "editor.record.form.inspire.elevation": "Elevation",
19586
+ "editor.record.form.inspire.environnement": "Environnement",
19587
+ "editor.record.form.inspire.farming": "Farming",
19588
+ "editor.record.form.inspire.geoscientific": "Geoscientific Information",
19589
+ "editor.record.form.inspire.health": "Health",
19590
+ "editor.record.form.inspire.imagery": "Imagery / Base Maps / Earth Cover",
19591
+ "editor.record.form.inspire.intelligence": "Intelligence / Military",
19592
+ "editor.record.form.inspire.location": "Location",
19593
+ "editor.record.form.inspire.oceans": "Oceans",
19594
+ "editor.record.form.inspire.placeholder": "Select an INSPIRE theme",
19595
+ "editor.record.form.inspire.planning": "Planning / Cadastre",
19596
+ "editor.record.form.inspire.society": "Society",
19597
+ "editor.record.form.inspire.structure": "Structure",
19598
+ "editor.record.form.inspire.transportation": "Transportation",
19599
+ "editor.record.form.inspire.utilities": "Utilities / Communication",
19600
+ "editor.record.form.inspire.waters": "Inland Waters",
19501
19601
  "editor.record.form.keywords.place.placeholder": "Search for place keywords",
19502
19602
  "editor.record.form.keywords.place.withoutExtent": "This keyword is not associated with any geographical extent",
19503
19603
  "editor.record.form.keywords.placeholder": "Select a keyword",
@@ -19533,6 +19633,8 @@ var en = {
19533
19633
  "editor.record.form.section.dataManagers.description": "The data managers are responsible for the data",
19534
19634
  "editor.record.form.section.dataManagers.label": "Data managers",
19535
19635
  "editor.record.form.section.geographicalCoverage.label": "Geographical coverage",
19636
+ "editor.record.form.section.inspire.description": "Appropriate INSPIRE themes help users find the dataset",
19637
+ "editor.record.form.section.inspire.label": "INSPIRE themes",
19536
19638
  "editor.record.form.section.metadataPointOfContact.description": "This information concerns the metadata",
19537
19639
  "editor.record.form.section.metadataPointOfContact.label": "Metadata point of contact",
19538
19640
  "editor.record.form.section.useAndAccessConditions.label": "Use and access conditions",
@@ -19681,10 +19783,10 @@ var en = {
19681
19783
  "organisations.sortBy.nameDesc": "Name Z → A",
19682
19784
  "organisations.sortBy.recordCountAsc": "Publications 0 → 9",
19683
19785
  "organisations.sortBy.recordCountDesc": "Publications 9 → 0",
19684
- "organization.details.lastPublishedDatasets": "Last published datasets",
19786
+ "organization.details.lastPublishedDatasets": "Last published records",
19685
19787
  "organization.details.lastPublishedDatasets.searchAllButton": "Search all",
19686
19788
  "organization.details.mailContact": "Contact by email",
19687
- "organization.header.recordCount": "{count, plural, =0{data} one{data} other{datas}}",
19789
+ "organization.header.recordCount": "{count, plural, =0{publication} one{publication} other{publications}}",
19688
19790
  "pagination.nextPage": "Next page",
19689
19791
  "pagination.page": "Page",
19690
19792
  "pagination.pageOf": "of",
@@ -19704,6 +19806,16 @@ var en = {
19704
19806
  "record.kind.service": "Service",
19705
19807
  "record.metadata.about": "Description",
19706
19808
  "record.metadata.api": "API",
19809
+ "record.metadata.api.accessServiceProtocol.GPFDL": "GPFDL",
19810
+ "record.metadata.api.accessServiceProtocol.esriRest": "esriRest",
19811
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "maplibre-style",
19812
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "ogcFeatures",
19813
+ "record.metadata.api.accessServiceProtocol.other": "other",
19814
+ "record.metadata.api.accessServiceProtocol.tms": "tms",
19815
+ "record.metadata.api.accessServiceProtocol.wfs": "wfs",
19816
+ "record.metadata.api.accessServiceProtocol.wms": "wms",
19817
+ "record.metadata.api.accessServiceProtocol.wmts": "wmts",
19818
+ "record.metadata.api.accessServiceProtocol.wps": "wps",
19707
19819
  "record.metadata.api.form.closeButton": "Close",
19708
19820
  "record.metadata.api.form.closeForm": "Close the form",
19709
19821
  "record.metadata.api.form.create": "Create your request",
@@ -19765,12 +19877,12 @@ var en = {
19765
19877
  "record.metadata.publication": "Date of publication",
19766
19878
  "record.metadata.publications": "{count, plural, =0{publication} one{publication} other{publications}}",
19767
19879
  "record.metadata.quality": "Metadata Quality",
19880
+ "record.metadata.quality.abstract.failed": "Description is not specified",
19881
+ "record.metadata.quality.abstract.success": "Description is specified",
19768
19882
  "record.metadata.quality.capabilities.failed": "Capabilities URL is not specified",
19769
19883
  "record.metadata.quality.capabilities.success": "Capabilities URL is specified",
19770
- "record.metadata.quality.contact.failed": "Contact is not specified",
19771
- "record.metadata.quality.contact.success": "Contact is specified",
19772
- "record.metadata.quality.description.failed": "Description is not specified",
19773
- "record.metadata.quality.description.success": "Description is specified",
19884
+ "record.metadata.quality.contacts.failed": "Contact is not specified",
19885
+ "record.metadata.quality.contacts.success": "Contact is specified",
19774
19886
  "record.metadata.quality.details": "Details",
19775
19887
  "record.metadata.quality.keywords.failed": "Keywords are not specified",
19776
19888
  "record.metadata.quality.keywords.success": "Keywords are specified",
@@ -19782,8 +19894,8 @@ var en = {
19782
19894
  "record.metadata.quality.source.success": "A source dataset is specified",
19783
19895
  "record.metadata.quality.title.failed": "Title is not specified",
19784
19896
  "record.metadata.quality.title.success": "Title is specified",
19785
- "record.metadata.quality.topic.failed": "Topic is not specified",
19786
- "record.metadata.quality.topic.success": "Topic is specified",
19897
+ "record.metadata.quality.topics.failed": "Topic is not specified",
19898
+ "record.metadata.quality.topics.success": "Topic is specified",
19787
19899
  "record.metadata.quality.updateFrequency.failed": "Update frequency is not specified",
19788
19900
  "record.metadata.quality.updateFrequency.success": "Update frequency is specified",
19789
19901
  "record.metadata.related": "Explore the catalog",
@@ -19814,27 +19926,27 @@ var en = {
19814
19926
  "record.tab.chart": "Chart",
19815
19927
  "record.tab.data": "Table",
19816
19928
  "record.tab.map": "Map",
19817
- "record.was.created.time": "created this dataset {time}",
19929
+ "record.was.created.time": "created this record {time}",
19818
19930
  records: records$6,
19819
19931
  "results.layout.selectOne": "Results layout",
19820
- "results.records.hits.displayedOn": "{displayed, plural, =0{No dataset.} one{1 } other{{displayed} }} {hits, plural, other{displayed on {hits} total.}}",
19932
+ "results.records.hits.displayedOn": "{displayed, plural, =0{No record.} one{1 } other{{displayed} }} {hits, plural, other{displayed on {hits} total.}}",
19821
19933
  "results.records.hits.empty.help.html": "Suggestions: <ul class='list-disc list-inside'><li>Try other words</li><li>Specify fewer words</li></ul>",
19822
- "results.records.hits.found": "{hits, plural, =0{No datasets match the specified search.} one{1 dataset found.} other{{hits} datasets found.}}",
19934
+ "results.records.hits.found": "{hits, plural, =0{No record match the specified search.} one{1 record found.} other{{hits} records found.}}",
19823
19935
  "results.records.hits.selected": "{ amount } selected",
19824
19936
  "results.showMore": "Show more results...",
19825
19937
  "results.sortBy.changeDate": "Last modification",
19826
19938
  "results.sortBy.dateStamp": "Newest",
19827
19939
  "results.sortBy.popularity": "Popularity",
19828
- "results.sortBy.qualityScore": "Quality score",
19940
+ "results.sortBy.qualityScore": "Completion score",
19829
19941
  "results.sortBy.relevancy": "Relevancy",
19830
19942
  "reuse.metadata.access": "Access the reuse",
19831
19943
  "search.autocomplete.error": "Suggestions could not be fetched:",
19832
19944
  "search.error.couldNotReachApi": "The API could not be reached",
19833
- "search.error.organizationHasNoDataset": "This organization has no dataset yet.",
19945
+ "search.error.organizationHasNoDataset": "This organization has no records yet.",
19834
19946
  "search.error.organizationNotFound": "This organization could not be found.",
19835
19947
  "search.error.receivedError": "An error was received",
19836
- "search.error.recordHasnolink": "This dataset currently has no link yet, please come back later.",
19837
- "search.error.recordNotFound": "The dataset with identifier \"{ id }\" could not be found.",
19948
+ "search.error.recordHasnolink": "This record currently has no link yet, please come back later.",
19949
+ "search.error.recordNotFound": "The record with identifier \"{ id }\" could not be found.",
19838
19950
  "search.field.any.placeholder": "Search in the catalog ...",
19839
19951
  "search.field.sortBy": "Sort by:",
19840
19952
  "search.filter.into.feature.catalog": "Search a term",
@@ -19861,10 +19973,10 @@ var en = {
19861
19973
  "search.filters.license.unknown": "Unknown or absent",
19862
19974
  "search.filters.maximize": "Expand",
19863
19975
  "search.filters.minimize": "Minimize",
19864
- "search.filters.myRecords": "Show only my datasets",
19865
- "search.filters.myRecordsHelp": "When this is enabled, only your datasets are shown; datasets created by others will not show up.",
19976
+ "search.filters.myRecords": "Show only my records",
19977
+ "search.filters.myRecordsHelp": "When this is enabled, only your records are shown; records created by others will not show up.",
19866
19978
  "search.filters.organization": "Organization",
19867
- "search.filters.otherRecords": "Showing datasets from another person",
19979
+ "search.filters.otherRecords": "Showing records from another person",
19868
19980
  "search.filters.producerOrg": "Producer",
19869
19981
  "search.filters.publicationYear": "Publication year",
19870
19982
  "search.filters.publisherOrg": "Publisher",
@@ -19879,8 +19991,8 @@ var en = {
19879
19991
  "search.filters.summaryLabel.user": "Editor: ",
19880
19992
  "search.filters.title": "Filter your results",
19881
19993
  "search.filters.topic": "Topics",
19882
- "search.filters.useSpatialFilter": "Show datasets in the area of interest first",
19883
- "search.filters.useSpatialFilterHelp": "When this is enabled, datasets situated in the catalog's area of interest are shown first; records outside of this area will not show up.",
19994
+ "search.filters.useSpatialFilter": "Show records in the area of interest first",
19995
+ "search.filters.useSpatialFilterHelp": "When this is enabled, records situated in the catalog's area of interest are shown first; records outside of this area will not show up.",
19884
19996
  "search.filters.user": "Editor",
19885
19997
  "service.metadata.capabilities": "Technical information",
19886
19998
  "service.metadata.capabilities.abstract": "Abstract",
@@ -19935,7 +20047,7 @@ var es = {
19935
20047
  "Add Layer As": "",
19936
20048
  "Enter to search": "",
19937
20049
  "button.login": "",
19938
- "catalog.figures.datasets": "conjuntos de datos",
20050
+ "catalog.figures.datasets": "recursos",
19939
20051
  "catalog.figures.organizations": "organizaciones",
19940
20052
  "chart.aggregation.average": "promedio",
19941
20053
  "chart.aggregation.count": "conteo",
@@ -20116,6 +20228,26 @@ var es = {
20116
20228
  "editor.record.form.field.topics": "Categorías",
20117
20229
  "editor.record.form.field.uniqueIdentifier": "",
20118
20230
  "editor.record.form.field.updateFrequency": "",
20231
+ "editor.record.form.inspire.biota": "",
20232
+ "editor.record.form.inspire.boundaries": "",
20233
+ "editor.record.form.inspire.climatology": "",
20234
+ "editor.record.form.inspire.economy": "",
20235
+ "editor.record.form.inspire.elevation": "",
20236
+ "editor.record.form.inspire.environnement": "",
20237
+ "editor.record.form.inspire.farming": "",
20238
+ "editor.record.form.inspire.geoscientific": "",
20239
+ "editor.record.form.inspire.health": "",
20240
+ "editor.record.form.inspire.imagery": "",
20241
+ "editor.record.form.inspire.intelligence": "",
20242
+ "editor.record.form.inspire.location": "",
20243
+ "editor.record.form.inspire.oceans": "",
20244
+ "editor.record.form.inspire.placeholder": "",
20245
+ "editor.record.form.inspire.planning": "",
20246
+ "editor.record.form.inspire.society": "",
20247
+ "editor.record.form.inspire.structure": "",
20248
+ "editor.record.form.inspire.transportation": "",
20249
+ "editor.record.form.inspire.utilities": "",
20250
+ "editor.record.form.inspire.waters": "",
20119
20251
  "editor.record.form.keywords.place.placeholder": "",
20120
20252
  "editor.record.form.keywords.place.withoutExtent": "",
20121
20253
  "editor.record.form.keywords.placeholder": "",
@@ -20151,6 +20283,8 @@ var es = {
20151
20283
  "editor.record.form.section.dataManagers.description": "",
20152
20284
  "editor.record.form.section.dataManagers.label": "",
20153
20285
  "editor.record.form.section.geographicalCoverage.label": "",
20286
+ "editor.record.form.section.inspire.description": "",
20287
+ "editor.record.form.section.inspire.label": "",
20154
20288
  "editor.record.form.section.metadataPointOfContact.description": "",
20155
20289
  "editor.record.form.section.metadataPointOfContact.label": "",
20156
20290
  "editor.record.form.section.useAndAccessConditions.label": "",
@@ -20322,6 +20456,16 @@ var es = {
20322
20456
  "record.kind.service": "",
20323
20457
  "record.metadata.about": "",
20324
20458
  "record.metadata.api": "",
20459
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
20460
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
20461
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
20462
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
20463
+ "record.metadata.api.accessServiceProtocol.other": "",
20464
+ "record.metadata.api.accessServiceProtocol.tms": "",
20465
+ "record.metadata.api.accessServiceProtocol.wfs": "",
20466
+ "record.metadata.api.accessServiceProtocol.wms": "",
20467
+ "record.metadata.api.accessServiceProtocol.wmts": "",
20468
+ "record.metadata.api.accessServiceProtocol.wps": "",
20325
20469
  "record.metadata.api.form.closeButton": "",
20326
20470
  "record.metadata.api.form.closeForm": "",
20327
20471
  "record.metadata.api.form.create": "",
@@ -20383,12 +20527,12 @@ var es = {
20383
20527
  "record.metadata.publication": "",
20384
20528
  "record.metadata.publications": "{count, plural, =0{} one{} other{}}",
20385
20529
  "record.metadata.quality": "",
20530
+ "record.metadata.quality.abstract.failed": "",
20531
+ "record.metadata.quality.abstract.success": "",
20386
20532
  "record.metadata.quality.capabilities.failed": "",
20387
20533
  "record.metadata.quality.capabilities.success": "",
20388
- "record.metadata.quality.contact.failed": "",
20389
- "record.metadata.quality.contact.success": "",
20390
- "record.metadata.quality.description.failed": "",
20391
- "record.metadata.quality.description.success": "",
20534
+ "record.metadata.quality.contacts.failed": "",
20535
+ "record.metadata.quality.contacts.success": "",
20392
20536
  "record.metadata.quality.details": "",
20393
20537
  "record.metadata.quality.keywords.failed": "",
20394
20538
  "record.metadata.quality.keywords.success": "",
@@ -20400,8 +20544,8 @@ var es = {
20400
20544
  "record.metadata.quality.source.success": "",
20401
20545
  "record.metadata.quality.title.failed": "",
20402
20546
  "record.metadata.quality.title.success": "",
20403
- "record.metadata.quality.topic.failed": "",
20404
- "record.metadata.quality.topic.success": "",
20547
+ "record.metadata.quality.topics.failed": "",
20548
+ "record.metadata.quality.topics.success": "",
20405
20549
  "record.metadata.quality.updateFrequency.failed": "",
20406
20550
  "record.metadata.quality.updateFrequency.success": "",
20407
20551
  "record.metadata.related": "",
@@ -20553,7 +20697,7 @@ var fr = {
20553
20697
  "Add Layer As": "",
20554
20698
  "Enter to search": "",
20555
20699
  "button.login": "Se connecter",
20556
- "catalog.figures.datasets": "{count, plural, =0{données} one{donnée} other{données}}",
20700
+ "catalog.figures.datasets": "{count, plural, =0{ressource} one{ressource} other{ressources}}",
20557
20701
  "catalog.figures.organizations": "{count, plural, =0{organisations} one{organisation} other{organisations}}",
20558
20702
  "chart.aggregation.average": "moyenne",
20559
20703
  "chart.aggregation.count": "nombre",
@@ -20734,6 +20878,26 @@ var fr = {
20734
20878
  "editor.record.form.field.topics": "Thèmes",
20735
20879
  "editor.record.form.field.uniqueIdentifier": "Identifiant unique",
20736
20880
  "editor.record.form.field.updateFrequency": "Fréquence de mise à jour",
20881
+ "editor.record.form.inspire.biota": "Biote",
20882
+ "editor.record.form.inspire.boundaries": "Limites",
20883
+ "editor.record.form.inspire.climatology": "Climatologie / Météorologie / Atmosphère",
20884
+ "editor.record.form.inspire.economy": "Économie",
20885
+ "editor.record.form.inspire.elevation": "Altitude",
20886
+ "editor.record.form.inspire.environnement": "Environnement",
20887
+ "editor.record.form.inspire.farming": "Agriculture",
20888
+ "editor.record.form.inspire.geoscientific": "Informations géoscientifiques",
20889
+ "editor.record.form.inspire.health": "Santé",
20890
+ "editor.record.form.inspire.imagery": "Imagerie/Cartes de base/Occupation des terres",
20891
+ "editor.record.form.inspire.intelligence": "Renseignement/Secteur militaire",
20892
+ "editor.record.form.inspire.location": "Localisation",
20893
+ "editor.record.form.inspire.oceans": "Océans",
20894
+ "editor.record.form.inspire.placeholder": "Sélectionnez un thème INSPIRE",
20895
+ "editor.record.form.inspire.planning": "Planification/Cadastre",
20896
+ "editor.record.form.inspire.society": "Société",
20897
+ "editor.record.form.inspire.structure": "Structure",
20898
+ "editor.record.form.inspire.transportation": "Transport",
20899
+ "editor.record.form.inspire.utilities": "Services d’utilité publique/Communication",
20900
+ "editor.record.form.inspire.waters": "Eaux intérieures",
20737
20901
  "editor.record.form.keywords.place.placeholder": "Rechercher une localisation par mot-clé",
20738
20902
  "editor.record.form.keywords.place.withoutExtent": "Ce mot-clé n'a pas de localisation géographique associée",
20739
20903
  "editor.record.form.keywords.placeholder": "Sélectionnez un mot-clé",
@@ -20769,6 +20933,8 @@ var fr = {
20769
20933
  "editor.record.form.section.dataManagers.description": "Cette information concerne la donnée",
20770
20934
  "editor.record.form.section.dataManagers.label": "Responsables de la donnée",
20771
20935
  "editor.record.form.section.geographicalCoverage.label": "Couverture géographique",
20936
+ "editor.record.form.section.inspire.description": "Des thèmes appropriés aident à trouver le jeu de données",
20937
+ "editor.record.form.section.inspire.label": "Thèmes INSPIRE",
20772
20938
  "editor.record.form.section.metadataPointOfContact.description": "Cette information concerne la métadonnée",
20773
20939
  "editor.record.form.section.metadataPointOfContact.label": "Point de contact de la métadonnée",
20774
20940
  "editor.record.form.section.useAndAccessConditions.label": "Conditions d'accès et d'utilisation",
@@ -20915,12 +21081,12 @@ var fr = {
20915
21081
  "organisations.hits.found": "{hits, plural, =0{Aucune organisation trouvée} one{1 organisation sur {total} affichée} other{{hits} organisations sur {total} affichées}}",
20916
21082
  "organisations.sortBy.nameAsc": "Nom A → Z",
20917
21083
  "organisations.sortBy.nameDesc": "Nom Z → A",
20918
- "organisations.sortBy.recordCountAsc": "Données 0 → 9",
20919
- "organisations.sortBy.recordCountDesc": "Données 9 → 0",
20920
- "organization.details.lastPublishedDatasets": "Dernières données publiées",
21084
+ "organisations.sortBy.recordCountAsc": "Ressources 0 → 9",
21085
+ "organisations.sortBy.recordCountDesc": "Ressources 9 → 0",
21086
+ "organization.details.lastPublishedDatasets": "Dernières ressources publiées",
20921
21087
  "organization.details.lastPublishedDatasets.searchAllButton": "Rechercher tout",
20922
21088
  "organization.details.mailContact": "Contacter par mail",
20923
- "organization.header.recordCount": "{count, plural, =0{donnée} one{donnée} other{données}}",
21089
+ "organization.header.recordCount": "{count, plural, =0{ressource} one{ressource} other{ressources}}",
20924
21090
  "pagination.nextPage": "Page suivante",
20925
21091
  "pagination.page": "Page",
20926
21092
  "pagination.pageOf": "sur",
@@ -20940,6 +21106,16 @@ var fr = {
20940
21106
  "record.kind.service": "Service",
20941
21107
  "record.metadata.about": "A propos",
20942
21108
  "record.metadata.api": "API",
21109
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
21110
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
21111
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
21112
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
21113
+ "record.metadata.api.accessServiceProtocol.other": "autre",
21114
+ "record.metadata.api.accessServiceProtocol.tms": "",
21115
+ "record.metadata.api.accessServiceProtocol.wfs": "",
21116
+ "record.metadata.api.accessServiceProtocol.wms": "",
21117
+ "record.metadata.api.accessServiceProtocol.wmts": "",
21118
+ "record.metadata.api.accessServiceProtocol.wps": "",
20943
21119
  "record.metadata.api.form.closeButton": "Fermer",
20944
21120
  "record.metadata.api.form.closeForm": "Fermer le panneau de personnalisation",
20945
21121
  "record.metadata.api.form.create": "Paramétrer votre requête",
@@ -20999,14 +21175,14 @@ var fr = {
20999
21175
  "record.metadata.preview.config.saving": "Sauvegarde...",
21000
21176
  "record.metadata.producer": "Producteur de la donnée",
21001
21177
  "record.metadata.publication": "Date de publication",
21002
- "record.metadata.publications": "{count, plural, =0{donnée} one{donnée} other{données}}",
21003
- "record.metadata.quality": "Qualité des métadonnées",
21178
+ "record.metadata.publications": "{count, plural, =0{ressource} one{ressource} other{ressources}}",
21179
+ "record.metadata.quality": "Description de la ressource",
21180
+ "record.metadata.quality.abstract.failed": "La description n'est pas renseignée",
21181
+ "record.metadata.quality.abstract.success": "La description est renseignée",
21004
21182
  "record.metadata.quality.capabilities.failed": "Aucune URL de Capabilities n'est renseignée",
21005
21183
  "record.metadata.quality.capabilities.success": "Une URL de Capabilities est renseignée",
21006
- "record.metadata.quality.contact.failed": "Le contact n'est pas renseigné",
21007
- "record.metadata.quality.contact.success": "Le contact est renseigné",
21008
- "record.metadata.quality.description.failed": "La description n'est pas renseignée",
21009
- "record.metadata.quality.description.success": "La description est renseignée",
21184
+ "record.metadata.quality.contacts.failed": "Le contact n'est pas renseigné",
21185
+ "record.metadata.quality.contacts.success": "Le contact est renseigné",
21010
21186
  "record.metadata.quality.details": "Détails",
21011
21187
  "record.metadata.quality.keywords.failed": "Les mots-clés ne sont pas renseignés",
21012
21188
  "record.metadata.quality.keywords.success": "Les mots-clés sont renseignés",
@@ -21018,8 +21194,8 @@ var fr = {
21018
21194
  "record.metadata.quality.source.success": "Un jeu de données source est renseigné",
21019
21195
  "record.metadata.quality.title.failed": "Le titre n'est pas renseigné",
21020
21196
  "record.metadata.quality.title.success": "Le titre est renseigné",
21021
- "record.metadata.quality.topic.failed": "Le thème n'est pas renseigné",
21022
- "record.metadata.quality.topic.success": "Le thème est renseigné",
21197
+ "record.metadata.quality.topics.failed": "Le thème n'est pas renseigné",
21198
+ "record.metadata.quality.topics.success": "Le thème est renseigné",
21023
21199
  "record.metadata.quality.updateFrequency.failed": "La fréquence de mise à jour n'est pas renseignée",
21024
21200
  "record.metadata.quality.updateFrequency.success": "La fréquence de mise à jour est renseignée",
21025
21201
  "record.metadata.related": "Explorez le catalogue",
@@ -21050,27 +21226,27 @@ var fr = {
21050
21226
  "record.tab.chart": "Graphique",
21051
21227
  "record.tab.data": "Tableau",
21052
21228
  "record.tab.map": "Carte",
21053
- "record.was.created.time": "a créé ce jeu de données {time}",
21229
+ "record.was.created.time": "a créé cette ressource {time}",
21054
21230
  records: records$4,
21055
21231
  "results.layout.selectOne": "Affichage des résultats",
21056
- "results.records.hits.displayedOn": "{displayed, plural, =0{Aucun jeu de données} one{1 affiché} other{{displayed} affichés}} {hits, plural, other{sur {hits} au total.}}",
21232
+ "results.records.hits.displayedOn": "{displayed, plural, =0{Aucune ressource} one{1 affichée} other{{displayed} affichées}} {hits, plural, other{sur {hits} au total.}}",
21057
21233
  "results.records.hits.empty.help.html": "Suggestions : <ul class='list-disc list-inside'><li>Essayez d'autres mots-clés</li><li>Cherchez moins de mots</li></ul>",
21058
- "results.records.hits.found": "{hits, plural, =0{Aucune correspondance.} one{1 jeu de données trouvé.} other{{hits} jeux de données.}}",
21234
+ "results.records.hits.found": "{hits, plural, =0{Aucune correspondance.} one{1 ressource trouvée.} other{{hits} ressources.}}",
21059
21235
  "results.records.hits.selected": "{amount, plural, one{1 selectionné} other{{ amount } sélectionnés}}",
21060
21236
  "results.showMore": "Plus de résultats...",
21061
21237
  "results.sortBy.changeDate": "Dernière modification",
21062
21238
  "results.sortBy.dateStamp": "Plus récent",
21063
21239
  "results.sortBy.popularity": "Popularité",
21064
- "results.sortBy.qualityScore": "Indicateur de qualité",
21240
+ "results.sortBy.qualityScore": "Indicateur de complétion",
21065
21241
  "results.sortBy.relevancy": "Pertinence",
21066
21242
  "reuse.metadata.access": "Accéder à la réutilisation",
21067
21243
  "search.autocomplete.error": "Les suggestions ne peuvent pas être récupérées",
21068
21244
  "search.error.couldNotReachApi": "Problème de connexion à l'API",
21069
- "search.error.organizationHasNoDataset": "Cette organisation n'a pas encore de données.",
21245
+ "search.error.organizationHasNoDataset": "Cette organisation n'a pas encore de ressources.",
21070
21246
  "search.error.organizationNotFound": "L'organisation n'a pas pu être trouvée.",
21071
21247
  "search.error.receivedError": "Erreur retournée",
21072
- "search.error.recordHasnolink": "Ce jeu de données n'a pas encore de lien, réessayez plus tard s'il vous plaît.",
21073
- "search.error.recordNotFound": "Cette donnée n'a pu être trouvée.",
21248
+ "search.error.recordHasnolink": "Cette ressource n'a pas encore de lien, réessayez plus tard s'il vous plaît.",
21249
+ "search.error.recordNotFound": "La ressource dont l'identifiant est \"{ id }\" n'a pas pu être trouvée.",
21074
21250
  "search.field.any.placeholder": "Rechercher dans le catalogue...",
21075
21251
  "search.field.sortBy": "Trier par :",
21076
21252
  "search.filter.into.feature.catalog": "Rechercher un terme",
@@ -21097,10 +21273,10 @@ var fr = {
21097
21273
  "search.filters.license.unknown": "Non reconnue ou absente",
21098
21274
  "search.filters.maximize": "Agrandir",
21099
21275
  "search.filters.minimize": "Réduire",
21100
- "search.filters.myRecords": "Voir mes jeux de données",
21101
- "search.filters.myRecordsHelp": "Quand activé, n'affiche que les jeux de données créés avec mon utilisateur. Les données créées par les autres utilisateurs ne sont pas affichées.",
21276
+ "search.filters.myRecords": "Voir mes ressources",
21277
+ "search.filters.myRecordsHelp": "Quand activé, n'affiche que les ressources créées avec mon utilisateur. Les ressources créées par les autres utilisateurs ne sont pas affichées.",
21102
21278
  "search.filters.organization": "Organisation",
21103
- "search.filters.otherRecords": "Affichage des jeux de données d'un autre utilisateur",
21279
+ "search.filters.otherRecords": "Affichage des ressources d'un autre utilisateur",
21104
21280
  "search.filters.producerOrg": "Producteur",
21105
21281
  "search.filters.publicationYear": "Année de publication",
21106
21282
  "search.filters.publisherOrg": "Distributeur",
@@ -21115,8 +21291,8 @@ var fr = {
21115
21291
  "search.filters.summaryLabel.user": "Éditeur : ",
21116
21292
  "search.filters.title": "Affiner votre recherche",
21117
21293
  "search.filters.topic": "Thèmes",
21118
- "search.filters.useSpatialFilter": "Mettre en avant les résultats sur la zone d'intérêt",
21119
- "search.filters.useSpatialFilterHelp": "Si cette option est activée, les jeux de données portant sur la zone d'intérêt du catalogue seront montrés en premier; les jeux de données situés en dehors de cette zone n'apparaîtront pas dans les résultats.",
21294
+ "search.filters.useSpatialFilter": "Mettre en avant les ressources sur la zone d'intérêt",
21295
+ "search.filters.useSpatialFilterHelp": "Si cette option est activée, les ressources portant sur la zone d'intérêt du catalogue seront montrées en premier; les ressources situées en dehors de cette zone n'apparaîtront pas dans les résultats.",
21120
21296
  "search.filters.user": "Éditeur",
21121
21297
  "service.metadata.capabilities": "Informations techniques",
21122
21298
  "service.metadata.capabilities.abstract": "Description",
@@ -21171,7 +21347,7 @@ var it = {
21171
21347
  "Add Layer As": "",
21172
21348
  "Enter to search": "",
21173
21349
  "button.login": "Login",
21174
- "catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
21350
+ "catalog.figures.datasets": "{count, plural, =0{risorsa} one{risorsa} other{risorse}}",
21175
21351
  "catalog.figures.organizations": "{count, plural, =0{organizzazioni} one{organizzazione} other{organizzazioni}}",
21176
21352
  "chart.aggregation.average": "media",
21177
21353
  "chart.aggregation.count": "conteggio",
@@ -21352,6 +21528,26 @@ var it = {
21352
21528
  "editor.record.form.field.topics": "",
21353
21529
  "editor.record.form.field.uniqueIdentifier": "Identificatore univoco",
21354
21530
  "editor.record.form.field.updateFrequency": "Frequenza di aggiornamento",
21531
+ "editor.record.form.inspire.biota": "",
21532
+ "editor.record.form.inspire.boundaries": "",
21533
+ "editor.record.form.inspire.climatology": "",
21534
+ "editor.record.form.inspire.economy": "",
21535
+ "editor.record.form.inspire.elevation": "",
21536
+ "editor.record.form.inspire.environnement": "",
21537
+ "editor.record.form.inspire.farming": "",
21538
+ "editor.record.form.inspire.geoscientific": "",
21539
+ "editor.record.form.inspire.health": "",
21540
+ "editor.record.form.inspire.imagery": "",
21541
+ "editor.record.form.inspire.intelligence": "",
21542
+ "editor.record.form.inspire.location": "",
21543
+ "editor.record.form.inspire.oceans": "",
21544
+ "editor.record.form.inspire.placeholder": "",
21545
+ "editor.record.form.inspire.planning": "",
21546
+ "editor.record.form.inspire.society": "",
21547
+ "editor.record.form.inspire.structure": "",
21548
+ "editor.record.form.inspire.transportation": "",
21549
+ "editor.record.form.inspire.utilities": "",
21550
+ "editor.record.form.inspire.waters": "",
21355
21551
  "editor.record.form.keywords.place.placeholder": "Cerca una posizione per parola chiave",
21356
21552
  "editor.record.form.keywords.place.withoutExtent": "Questa parola chiave non ha una posizione geografica associata",
21357
21553
  "editor.record.form.keywords.placeholder": "Seleziona una parola chiave",
@@ -21387,6 +21583,8 @@ var it = {
21387
21583
  "editor.record.form.section.dataManagers.description": "Queste informazioni riguardano i dati",
21388
21584
  "editor.record.form.section.dataManagers.label": "Gestori dei dati",
21389
21585
  "editor.record.form.section.geographicalCoverage.label": "Copertura geografica",
21586
+ "editor.record.form.section.inspire.description": "",
21587
+ "editor.record.form.section.inspire.label": "",
21390
21588
  "editor.record.form.section.metadataPointOfContact.description": "Queste informazioni riguardano i metadati",
21391
21589
  "editor.record.form.section.metadataPointOfContact.label": "Punto di contatto dei metadati",
21392
21590
  "editor.record.form.section.useAndAccessConditions.label": "Condizioni di accesso e utilizzo",
@@ -21533,12 +21731,12 @@ var it = {
21533
21731
  "organisations.hits.found": "{hits, plural, =0{Nessuna organizzazione trovata} one{1 organizzazione su {total} visualizzata} other{{hits} organizzazioni su {total} visualizzate}}",
21534
21732
  "organisations.sortBy.nameAsc": "Nome A → Z",
21535
21733
  "organisations.sortBy.nameDesc": "Nome Z → A",
21536
- "organisations.sortBy.recordCountAsc": "Dati 0 → 9",
21537
- "organisations.sortBy.recordCountDesc": "Dati 9 → 0",
21538
- "organization.details.lastPublishedDatasets": "Ultimi dataset pubblicati",
21734
+ "organisations.sortBy.recordCountAsc": "Pubblicazioni 0 → 9",
21735
+ "organisations.sortBy.recordCountDesc": "Pubblicazioni 9 → 0",
21736
+ "organization.details.lastPublishedDatasets": "Ultime risorse pubblicate",
21539
21737
  "organization.details.lastPublishedDatasets.searchAllButton": "Cerca tutto",
21540
21738
  "organization.details.mailContact": "Contatto via email",
21541
- "organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
21739
+ "organization.header.recordCount": "{count, plural, =0{pubblicazione} one{pubblicazione} other{pubblicazioni}}",
21542
21740
  "pagination.nextPage": "Pagina successiva",
21543
21741
  "pagination.page": "pagina",
21544
21742
  "pagination.pageOf": "di",
@@ -21558,6 +21756,16 @@ var it = {
21558
21756
  "record.kind.service": "Servizio",
21559
21757
  "record.metadata.about": "Descrizione",
21560
21758
  "record.metadata.api": "API",
21759
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
21760
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
21761
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
21762
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
21763
+ "record.metadata.api.accessServiceProtocol.other": "",
21764
+ "record.metadata.api.accessServiceProtocol.tms": "",
21765
+ "record.metadata.api.accessServiceProtocol.wfs": "",
21766
+ "record.metadata.api.accessServiceProtocol.wms": "",
21767
+ "record.metadata.api.accessServiceProtocol.wmts": "",
21768
+ "record.metadata.api.accessServiceProtocol.wps": "",
21561
21769
  "record.metadata.api.form.closeButton": "Chiude",
21562
21770
  "record.metadata.api.form.closeForm": "Chiude il pannello di personalizzazione",
21563
21771
  "record.metadata.api.form.create": "Configura la sua richiesta",
@@ -21619,12 +21827,12 @@ var it = {
21619
21827
  "record.metadata.publication": "Data di pubblicazione",
21620
21828
  "record.metadata.publications": "{count, plural, =0{pubblicazione} one{pubblicazione} other{pubblicazioni}}",
21621
21829
  "record.metadata.quality": "Qualità dei metadati",
21830
+ "record.metadata.quality.abstract.failed": "",
21831
+ "record.metadata.quality.abstract.success": "",
21622
21832
  "record.metadata.quality.capabilities.failed": "",
21623
21833
  "record.metadata.quality.capabilities.success": "",
21624
- "record.metadata.quality.contact.failed": "Il contatto non è specificato",
21625
- "record.metadata.quality.contact.success": "Il contatto è specificato",
21626
- "record.metadata.quality.description.failed": "La descrizione non è specificata",
21627
- "record.metadata.quality.description.success": "La descrizione è specificata",
21834
+ "record.metadata.quality.contacts.failed": "",
21835
+ "record.metadata.quality.contacts.success": "",
21628
21836
  "record.metadata.quality.details": "Dettagli",
21629
21837
  "record.metadata.quality.keywords.failed": "Le parole chiave non sono specificate",
21630
21838
  "record.metadata.quality.keywords.success": "Le parole chiave sono specificate",
@@ -21636,8 +21844,8 @@ var it = {
21636
21844
  "record.metadata.quality.source.success": "",
21637
21845
  "record.metadata.quality.title.failed": "Il titolo non è specificato",
21638
21846
  "record.metadata.quality.title.success": "Il titolo è specificato",
21639
- "record.metadata.quality.topic.failed": "Il tema non è specificato",
21640
- "record.metadata.quality.topic.success": "Il tema è specificato",
21847
+ "record.metadata.quality.topics.failed": "",
21848
+ "record.metadata.quality.topics.success": "",
21641
21849
  "record.metadata.quality.updateFrequency.failed": "La frequenza di aggiornamento non è specificata",
21642
21850
  "record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
21643
21851
  "record.metadata.related": "Vedi anche",
@@ -21679,16 +21887,16 @@ var it = {
21679
21887
  "results.sortBy.changeDate": "Ultima modifica",
21680
21888
  "results.sortBy.dateStamp": "Più recente",
21681
21889
  "results.sortBy.popularity": "Popolarità",
21682
- "results.sortBy.qualityScore": "Indicatore di qualità",
21890
+ "results.sortBy.qualityScore": "Indicatore di completamento",
21683
21891
  "results.sortBy.relevancy": "Rilevanza",
21684
21892
  "reuse.metadata.access": "Accedere al riutilizzo",
21685
21893
  "search.autocomplete.error": "Impossibile recuperare le suggerimenti",
21686
21894
  "search.error.couldNotReachApi": "Problema di connessione all'API",
21687
- "search.error.organizationHasNoDataset": "Questa organizzazione non ha ancora dati.",
21895
+ "search.error.organizationHasNoDataset": "Questa organizzazione non ha ancora records.",
21688
21896
  "search.error.organizationNotFound": "Impossibile trovare l'organizzazione.",
21689
21897
  "search.error.receivedError": "Errore restituito",
21690
- "search.error.recordHasnolink": "Questo dataset non ha ancora alcun collegamento, riprova più tardi.",
21691
- "search.error.recordNotFound": "Impossibile trovare questi dati.",
21898
+ "search.error.recordHasnolink": "Questo record non ha ancora alcun collegamento, riprova più tardi.",
21899
+ "search.error.recordNotFound": "Impossibile trovare questi record.",
21692
21900
  "search.field.any.placeholder": "Cerca del catalogo...",
21693
21901
  "search.field.sortBy": "Ordina per:",
21694
21902
  "search.filter.into.feature.catalog": "Cerca una parola",
@@ -21715,10 +21923,10 @@ var it = {
21715
21923
  "search.filters.license.unknown": "Non riconosciuta o assente",
21716
21924
  "search.filters.maximize": "Ingrandisci",
21717
21925
  "search.filters.minimize": "Riduci",
21718
- "search.filters.myRecords": "Visualizza i miei dati",
21719
- "search.filters.myRecordsHelp": "Quando attivato, mostra solo i dati creati con il mio utente. I dati creati da altri utenti non sono visualizzati.",
21926
+ "search.filters.myRecords": "Visualizza le mie risorse",
21927
+ "search.filters.myRecordsHelp": "Quando attivato, mostra solo le risorse create con il mio utente. Le risorse create da altri utenti non sono visualizzati.",
21720
21928
  "search.filters.organization": "Organizzazione",
21721
- "search.filters.otherRecords": "Visualizzazione dei dataset di un altro utente",
21929
+ "search.filters.otherRecords": "Visualizzazione delle risorsi di un altro utente",
21722
21930
  "search.filters.producerOrg": "Produttore",
21723
21931
  "search.filters.publicationYear": "Anno di pubblicazione",
21724
21932
  "search.filters.publisherOrg": "Distributore",
@@ -21733,8 +21941,8 @@ var it = {
21733
21941
  "search.filters.summaryLabel.user": "Editor: ",
21734
21942
  "search.filters.title": "Affina la sua ricerca",
21735
21943
  "search.filters.topic": "Argomenti",
21736
- "search.filters.useSpatialFilter": "Evidenzia i risultati nell'area di interesse",
21737
- "search.filters.useSpatialFilterHelp": "Se attivata, le schede relative all'area di interesse del catalogo saranno mostrate per prime; le schede al di fuori di questa area non appariranno nei risultati.",
21944
+ "search.filters.useSpatialFilter": "Evidenzia le risorse nell'area di interesse",
21945
+ "search.filters.useSpatialFilterHelp": "Se attivata, le risorse relative all'area di interesse del catalogo saranno mostrate per prime; le risorse al di fuori di questa area non appariranno nei risultati.",
21738
21946
  "search.filters.user": "Editore",
21739
21947
  "service.metadata.capabilities": "Informazioni tecniche",
21740
21948
  "service.metadata.capabilities.abstract": "Riassunto",
@@ -21789,7 +21997,7 @@ var nl = {
21789
21997
  "Add Layer As": "",
21790
21998
  "Enter to search": "",
21791
21999
  "button.login": "",
21792
- "catalog.figures.datasets": "datasets",
22000
+ "catalog.figures.datasets": "bronnen",
21793
22001
  "catalog.figures.organizations": "organisaties",
21794
22002
  "chart.aggregation.average": "gemiddelde",
21795
22003
  "chart.aggregation.count": "aantal",
@@ -21970,6 +22178,26 @@ var nl = {
21970
22178
  "editor.record.form.field.topics": "",
21971
22179
  "editor.record.form.field.uniqueIdentifier": "",
21972
22180
  "editor.record.form.field.updateFrequency": "",
22181
+ "editor.record.form.inspire.biota": "",
22182
+ "editor.record.form.inspire.boundaries": "",
22183
+ "editor.record.form.inspire.climatology": "",
22184
+ "editor.record.form.inspire.economy": "",
22185
+ "editor.record.form.inspire.elevation": "",
22186
+ "editor.record.form.inspire.environnement": "",
22187
+ "editor.record.form.inspire.farming": "",
22188
+ "editor.record.form.inspire.geoscientific": "",
22189
+ "editor.record.form.inspire.health": "",
22190
+ "editor.record.form.inspire.imagery": "",
22191
+ "editor.record.form.inspire.intelligence": "",
22192
+ "editor.record.form.inspire.location": "",
22193
+ "editor.record.form.inspire.oceans": "",
22194
+ "editor.record.form.inspire.placeholder": "",
22195
+ "editor.record.form.inspire.planning": "",
22196
+ "editor.record.form.inspire.society": "",
22197
+ "editor.record.form.inspire.structure": "",
22198
+ "editor.record.form.inspire.transportation": "",
22199
+ "editor.record.form.inspire.utilities": "",
22200
+ "editor.record.form.inspire.waters": "",
21973
22201
  "editor.record.form.keywords.place.placeholder": "",
21974
22202
  "editor.record.form.keywords.place.withoutExtent": "",
21975
22203
  "editor.record.form.keywords.placeholder": "",
@@ -22005,6 +22233,8 @@ var nl = {
22005
22233
  "editor.record.form.section.dataManagers.description": "",
22006
22234
  "editor.record.form.section.dataManagers.label": "",
22007
22235
  "editor.record.form.section.geographicalCoverage.label": "",
22236
+ "editor.record.form.section.inspire.description": "",
22237
+ "editor.record.form.section.inspire.label": "",
22008
22238
  "editor.record.form.section.metadataPointOfContact.description": "",
22009
22239
  "editor.record.form.section.metadataPointOfContact.label": "",
22010
22240
  "editor.record.form.section.useAndAccessConditions.label": "",
@@ -22176,6 +22406,16 @@ var nl = {
22176
22406
  "record.kind.service": "",
22177
22407
  "record.metadata.about": "",
22178
22408
  "record.metadata.api": "",
22409
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
22410
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
22411
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
22412
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
22413
+ "record.metadata.api.accessServiceProtocol.other": "",
22414
+ "record.metadata.api.accessServiceProtocol.tms": "",
22415
+ "record.metadata.api.accessServiceProtocol.wfs": "",
22416
+ "record.metadata.api.accessServiceProtocol.wms": "",
22417
+ "record.metadata.api.accessServiceProtocol.wmts": "",
22418
+ "record.metadata.api.accessServiceProtocol.wps": "",
22179
22419
  "record.metadata.api.form.closeButton": "",
22180
22420
  "record.metadata.api.form.closeForm": "",
22181
22421
  "record.metadata.api.form.create": "",
@@ -22237,12 +22477,12 @@ var nl = {
22237
22477
  "record.metadata.publication": "",
22238
22478
  "record.metadata.publications": "{count, plural, =0{} one{} other{}}",
22239
22479
  "record.metadata.quality": "",
22480
+ "record.metadata.quality.abstract.failed": "",
22481
+ "record.metadata.quality.abstract.success": "",
22240
22482
  "record.metadata.quality.capabilities.failed": "",
22241
22483
  "record.metadata.quality.capabilities.success": "",
22242
- "record.metadata.quality.contact.failed": "",
22243
- "record.metadata.quality.contact.success": "",
22244
- "record.metadata.quality.description.failed": "",
22245
- "record.metadata.quality.description.success": "",
22484
+ "record.metadata.quality.contacts.failed": "",
22485
+ "record.metadata.quality.contacts.success": "",
22246
22486
  "record.metadata.quality.details": "",
22247
22487
  "record.metadata.quality.keywords.failed": "",
22248
22488
  "record.metadata.quality.keywords.success": "",
@@ -22254,8 +22494,8 @@ var nl = {
22254
22494
  "record.metadata.quality.source.success": "",
22255
22495
  "record.metadata.quality.title.failed": "",
22256
22496
  "record.metadata.quality.title.success": "",
22257
- "record.metadata.quality.topic.failed": "",
22258
- "record.metadata.quality.topic.success": "",
22497
+ "record.metadata.quality.topics.failed": "",
22498
+ "record.metadata.quality.topics.success": "",
22259
22499
  "record.metadata.quality.updateFrequency.failed": "",
22260
22500
  "record.metadata.quality.updateFrequency.success": "",
22261
22501
  "record.metadata.related": "",
@@ -22407,7 +22647,7 @@ var pt = {
22407
22647
  "Add Layer As": "",
22408
22648
  "Enter to search": "",
22409
22649
  "button.login": "",
22410
- "catalog.figures.datasets": "conjuntos de dados",
22650
+ "catalog.figures.datasets": "recursos",
22411
22651
  "catalog.figures.organizations": "organizações",
22412
22652
  "chart.aggregation.average": "média",
22413
22653
  "chart.aggregation.count": "contagem",
@@ -22588,6 +22828,26 @@ var pt = {
22588
22828
  "editor.record.form.field.topics": "",
22589
22829
  "editor.record.form.field.uniqueIdentifier": "",
22590
22830
  "editor.record.form.field.updateFrequency": "",
22831
+ "editor.record.form.inspire.biota": "",
22832
+ "editor.record.form.inspire.boundaries": "",
22833
+ "editor.record.form.inspire.climatology": "",
22834
+ "editor.record.form.inspire.economy": "",
22835
+ "editor.record.form.inspire.elevation": "",
22836
+ "editor.record.form.inspire.environnement": "",
22837
+ "editor.record.form.inspire.farming": "",
22838
+ "editor.record.form.inspire.geoscientific": "",
22839
+ "editor.record.form.inspire.health": "",
22840
+ "editor.record.form.inspire.imagery": "",
22841
+ "editor.record.form.inspire.intelligence": "",
22842
+ "editor.record.form.inspire.location": "",
22843
+ "editor.record.form.inspire.oceans": "",
22844
+ "editor.record.form.inspire.placeholder": "",
22845
+ "editor.record.form.inspire.planning": "",
22846
+ "editor.record.form.inspire.society": "",
22847
+ "editor.record.form.inspire.structure": "",
22848
+ "editor.record.form.inspire.transportation": "",
22849
+ "editor.record.form.inspire.utilities": "",
22850
+ "editor.record.form.inspire.waters": "",
22591
22851
  "editor.record.form.keywords.place.placeholder": "",
22592
22852
  "editor.record.form.keywords.place.withoutExtent": "",
22593
22853
  "editor.record.form.keywords.placeholder": "",
@@ -22623,6 +22883,8 @@ var pt = {
22623
22883
  "editor.record.form.section.dataManagers.description": "",
22624
22884
  "editor.record.form.section.dataManagers.label": "",
22625
22885
  "editor.record.form.section.geographicalCoverage.label": "",
22886
+ "editor.record.form.section.inspire.description": "",
22887
+ "editor.record.form.section.inspire.label": "",
22626
22888
  "editor.record.form.section.metadataPointOfContact.description": "",
22627
22889
  "editor.record.form.section.metadataPointOfContact.label": "",
22628
22890
  "editor.record.form.section.useAndAccessConditions.label": "",
@@ -22794,6 +23056,16 @@ var pt = {
22794
23056
  "record.kind.service": "",
22795
23057
  "record.metadata.about": "",
22796
23058
  "record.metadata.api": "",
23059
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
23060
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
23061
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
23062
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
23063
+ "record.metadata.api.accessServiceProtocol.other": "",
23064
+ "record.metadata.api.accessServiceProtocol.tms": "",
23065
+ "record.metadata.api.accessServiceProtocol.wfs": "",
23066
+ "record.metadata.api.accessServiceProtocol.wms": "",
23067
+ "record.metadata.api.accessServiceProtocol.wmts": "",
23068
+ "record.metadata.api.accessServiceProtocol.wps": "",
22797
23069
  "record.metadata.api.form.closeButton": "",
22798
23070
  "record.metadata.api.form.closeForm": "",
22799
23071
  "record.metadata.api.form.create": "",
@@ -22855,12 +23127,12 @@ var pt = {
22855
23127
  "record.metadata.publication": "",
22856
23128
  "record.metadata.publications": "{count, plural, =0{} one{} other{}}",
22857
23129
  "record.metadata.quality": "",
23130
+ "record.metadata.quality.abstract.failed": "",
23131
+ "record.metadata.quality.abstract.success": "",
22858
23132
  "record.metadata.quality.capabilities.failed": "",
22859
23133
  "record.metadata.quality.capabilities.success": "",
22860
- "record.metadata.quality.contact.failed": "",
22861
- "record.metadata.quality.contact.success": "",
22862
- "record.metadata.quality.description.failed": "",
22863
- "record.metadata.quality.description.success": "",
23134
+ "record.metadata.quality.contacts.failed": "",
23135
+ "record.metadata.quality.contacts.success": "",
22864
23136
  "record.metadata.quality.details": "",
22865
23137
  "record.metadata.quality.keywords.failed": "",
22866
23138
  "record.metadata.quality.keywords.success": "",
@@ -22872,8 +23144,8 @@ var pt = {
22872
23144
  "record.metadata.quality.source.success": "",
22873
23145
  "record.metadata.quality.title.failed": "",
22874
23146
  "record.metadata.quality.title.success": "",
22875
- "record.metadata.quality.topic.failed": "",
22876
- "record.metadata.quality.topic.success": "",
23147
+ "record.metadata.quality.topics.failed": "",
23148
+ "record.metadata.quality.topics.success": "",
22877
23149
  "record.metadata.quality.updateFrequency.failed": "",
22878
23150
  "record.metadata.quality.updateFrequency.success": "",
22879
23151
  "record.metadata.related": "",
@@ -23025,7 +23297,7 @@ var sk = {
23025
23297
  "Add Layer As": "",
23026
23298
  "Enter to search": "",
23027
23299
  "button.login": "",
23028
- "catalog.figures.datasets": "{count, plural, =0{datasety} one{dataset} other{datasety}}",
23300
+ "catalog.figures.datasets": "{count, plural, =0{zdroj} one{zdroj} other{zdroje}}",
23029
23301
  "catalog.figures.organizations": "{count, plural, =0{organizácie} one{organizácia} other{organizácie}}",
23030
23302
  "chart.aggregation.average": "priemer",
23031
23303
  "chart.aggregation.count": "počet",
@@ -23206,6 +23478,26 @@ var sk = {
23206
23478
  "editor.record.form.field.topics": "",
23207
23479
  "editor.record.form.field.uniqueIdentifier": "",
23208
23480
  "editor.record.form.field.updateFrequency": "",
23481
+ "editor.record.form.inspire.biota": "",
23482
+ "editor.record.form.inspire.boundaries": "",
23483
+ "editor.record.form.inspire.climatology": "",
23484
+ "editor.record.form.inspire.economy": "",
23485
+ "editor.record.form.inspire.elevation": "",
23486
+ "editor.record.form.inspire.environnement": "",
23487
+ "editor.record.form.inspire.farming": "",
23488
+ "editor.record.form.inspire.geoscientific": "",
23489
+ "editor.record.form.inspire.health": "",
23490
+ "editor.record.form.inspire.imagery": "",
23491
+ "editor.record.form.inspire.intelligence": "",
23492
+ "editor.record.form.inspire.location": "",
23493
+ "editor.record.form.inspire.oceans": "",
23494
+ "editor.record.form.inspire.placeholder": "",
23495
+ "editor.record.form.inspire.planning": "",
23496
+ "editor.record.form.inspire.society": "",
23497
+ "editor.record.form.inspire.structure": "",
23498
+ "editor.record.form.inspire.transportation": "",
23499
+ "editor.record.form.inspire.utilities": "",
23500
+ "editor.record.form.inspire.waters": "",
23209
23501
  "editor.record.form.keywords.place.placeholder": "",
23210
23502
  "editor.record.form.keywords.place.withoutExtent": "",
23211
23503
  "editor.record.form.keywords.placeholder": "",
@@ -23241,6 +23533,8 @@ var sk = {
23241
23533
  "editor.record.form.section.dataManagers.description": "",
23242
23534
  "editor.record.form.section.dataManagers.label": "",
23243
23535
  "editor.record.form.section.geographicalCoverage.label": "",
23536
+ "editor.record.form.section.inspire.description": "",
23537
+ "editor.record.form.section.inspire.label": "",
23244
23538
  "editor.record.form.section.metadataPointOfContact.description": "",
23245
23539
  "editor.record.form.section.metadataPointOfContact.label": "",
23246
23540
  "editor.record.form.section.useAndAccessConditions.label": "",
@@ -23389,10 +23683,10 @@ var sk = {
23389
23683
  "organisations.sortBy.nameDesc": "Názov Z → A",
23390
23684
  "organisations.sortBy.recordCountAsc": "Publikácie 0 → 9",
23391
23685
  "organisations.sortBy.recordCountDesc": "Publikácie 9 → 0",
23392
- "organization.details.lastPublishedDatasets": "",
23686
+ "organization.details.lastPublishedDatasets": "Najnovšie publikované zdroje",
23393
23687
  "organization.details.lastPublishedDatasets.searchAllButton": "",
23394
23688
  "organization.details.mailContact": "",
23395
- "organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
23689
+ "organization.header.recordCount": "{count, plural, =0{publikácia} one{publikácia} other{publikácie}}",
23396
23690
  "pagination.nextPage": "Ďalšia stránka",
23397
23691
  "pagination.page": "strana",
23398
23692
  "pagination.pageOf": "z",
@@ -23412,6 +23706,16 @@ var sk = {
23412
23706
  "record.kind.service": "",
23413
23707
  "record.metadata.about": "O",
23414
23708
  "record.metadata.api": "API",
23709
+ "record.metadata.api.accessServiceProtocol.GPFDL": "",
23710
+ "record.metadata.api.accessServiceProtocol.esriRest": "",
23711
+ "record.metadata.api.accessServiceProtocol.maplibre-style": "",
23712
+ "record.metadata.api.accessServiceProtocol.ogcFeatures": "",
23713
+ "record.metadata.api.accessServiceProtocol.other": "",
23714
+ "record.metadata.api.accessServiceProtocol.tms": "",
23715
+ "record.metadata.api.accessServiceProtocol.wfs": "",
23716
+ "record.metadata.api.accessServiceProtocol.wms": "",
23717
+ "record.metadata.api.accessServiceProtocol.wmts": "",
23718
+ "record.metadata.api.accessServiceProtocol.wps": "",
23415
23719
  "record.metadata.api.form.closeButton": "Zavrieť",
23416
23720
  "record.metadata.api.form.closeForm": "Zavrieť formulár",
23417
23721
  "record.metadata.api.form.create": "Vytvoriť požiadavku",
@@ -23470,15 +23774,15 @@ var sk = {
23470
23774
  "record.metadata.preview.config.saved": "",
23471
23775
  "record.metadata.preview.config.saving": "",
23472
23776
  "record.metadata.producer": "",
23473
- "record.metadata.publication": "publikácia",
23777
+ "record.metadata.publication": "dátum publikácia",
23474
23778
  "record.metadata.publications": "{count, plural, =0{publikácia} one{publikácia} other{publikácie}}",
23475
23779
  "record.metadata.quality": "Kvalita metadát",
23780
+ "record.metadata.quality.abstract.failed": "",
23781
+ "record.metadata.quality.abstract.success": "",
23476
23782
  "record.metadata.quality.capabilities.failed": "",
23477
23783
  "record.metadata.quality.capabilities.success": "",
23478
- "record.metadata.quality.contact.failed": "Kontakt nie je uvedený",
23479
- "record.metadata.quality.contact.success": "Kontakt je uvedený",
23480
- "record.metadata.quality.description.failed": "Popis nie je uvedený",
23481
- "record.metadata.quality.description.success": "Popis je uvedený",
23784
+ "record.metadata.quality.contacts.failed": "",
23785
+ "record.metadata.quality.contacts.success": "",
23482
23786
  "record.metadata.quality.details": "Detaily",
23483
23787
  "record.metadata.quality.keywords.failed": "Kľúčové slová nie sú uvedené",
23484
23788
  "record.metadata.quality.keywords.success": "Kľúčové slová sú uvedené",
@@ -23490,8 +23794,8 @@ var sk = {
23490
23794
  "record.metadata.quality.source.success": "",
23491
23795
  "record.metadata.quality.title.failed": "Názov nie je uvedený",
23492
23796
  "record.metadata.quality.title.success": "Názov je uvedený",
23493
- "record.metadata.quality.topic.failed": "Téma nie je uvedená",
23494
- "record.metadata.quality.topic.success": "Téma je uvedená",
23797
+ "record.metadata.quality.topics.failed": "",
23798
+ "record.metadata.quality.topics.success": "",
23495
23799
  "record.metadata.quality.updateFrequency.failed": "Frekvencia aktualizácie nie je určená",
23496
23800
  "record.metadata.quality.updateFrequency.success": "Frekvencia aktualizácie je určená",
23497
23801
  "record.metadata.related": "Súvisiace záznamy",
@@ -23533,7 +23837,7 @@ var sk = {
23533
23837
  "results.sortBy.changeDate": "",
23534
23838
  "results.sortBy.dateStamp": "Najnovšie",
23535
23839
  "results.sortBy.popularity": "Popularita",
23536
- "results.sortBy.qualityScore": "Hodnotenie kvality",
23840
+ "results.sortBy.qualityScore": "Indikátor dokončenia",
23537
23841
  "results.sortBy.relevancy": "Relevancia",
23538
23842
  "reuse.metadata.access": "",
23539
23843
  "search.autocomplete.error": "Návrhy sa nepodarilo načítať:",
@@ -23651,7 +23955,7 @@ class MetadataUrlService {
23651
23955
  }
23652
23956
  getUrl(uuid, apiPath = this.apiConfiguration.basePath) {
23653
23957
  const prefix = `${apiPath}/../`;
23654
- return `${prefix}${getLang3FromLang2(this.translate.currentLang)}/catalog.search#/metadata/${uuid}`;
23958
+ return `${prefix}${toLang3(this.translate.currentLang)}/catalog.search#/metadata/${uuid}`;
23655
23959
  }
23656
23960
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataUrlService, deps: [{ token: i1$1.TranslateService }, { token: Configuration }], target: i0.ɵɵFactoryTarget.Injectable }); }
23657
23961
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataUrlService, providedIn: 'root' }); }
@@ -23680,15 +23984,15 @@ class Gn4FieldMapper {
23680
23984
  qualityScore: (output, source) => this.addExtra({ qualityScore: selectField(source, 'qualityScore') }, output),
23681
23985
  resourceTitleObject: (output, source) => ({
23682
23986
  ...output,
23683
- title: selectFallback(selectTranslatedField(source, 'resourceTitleObject', this.lang3), 'no title'),
23987
+ title: selectFallback(selectTranslatedField(source, 'resourceTitleObject', this.getLocalizedIndexKey), 'no title'),
23684
23988
  }),
23685
23989
  resourceAbstractObject: (output, source) => ({
23686
23990
  ...output,
23687
- abstract: selectFallback(selectTranslatedField(source, 'resourceAbstractObject', this.lang3), 'no title'),
23991
+ abstract: selectFallback(selectTranslatedField(source, 'resourceAbstractObject', this.getLocalizedIndexKey), 'no title'),
23688
23992
  }),
23689
23993
  overview: (output, source) => {
23690
23994
  const firstOverview = getFirstValue(selectField(source, 'overview'));
23691
- const description = selectTranslatedValue(selectField(firstOverview, 'text'), this.lang3);
23995
+ const description = selectTranslatedValue(selectField(firstOverview, 'text'), this.getLocalizedIndexKey);
23692
23996
  return {
23693
23997
  ...output,
23694
23998
  overviews: [
@@ -23703,7 +24007,7 @@ class Gn4FieldMapper {
23703
24007
  ...output,
23704
24008
  topics: [
23705
24009
  ...(output.topics || []),
23706
- ...getAsArray(selectField(source, 'cl_topic')).map((topic) => selectTranslatedValue(topic, this.lang3)),
24010
+ ...getAsArray(selectField(source, 'cl_topic')).map((topic) => selectTranslatedValue(topic, this.getLocalizedIndexKey)),
23707
24011
  ],
23708
24012
  }),
23709
24013
  cl_status: (output, source) => ({
@@ -23740,7 +24044,7 @@ class Gn4FieldMapper {
23740
24044
  }),
23741
24045
  resourceLanguage: (output, source) => {
23742
24046
  const langList = getAsArray(selectField(source, 'resourceLanguage'));
23743
- const languages = langList.map(getLang2FromLang3);
24047
+ const languages = langList.map(toLang2);
23744
24048
  const defaultLanguage = output.defaultLanguage ?? languages[0] ?? null; // set the first language as main one as fallback
23745
24049
  return {
23746
24050
  ...output,
@@ -23749,7 +24053,7 @@ class Gn4FieldMapper {
23749
24053
  },
23750
24054
  otherLanguage: (output, source) => {
23751
24055
  const langList = getAsArray(selectField(source, 'otherLanguage'));
23752
- const languages = langList.map(getLang2FromLang3);
24056
+ const languages = langList.map(toLang2);
23753
24057
  const defaultLanguage = output.defaultLanguage ?? languages[0] ?? null;
23754
24058
  const otherLanguages = languages.filter((lang) => lang !== defaultLanguage);
23755
24059
  return {
@@ -23761,7 +24065,7 @@ class Gn4FieldMapper {
23761
24065
  const language = selectField(source, 'mainLanguage');
23762
24066
  return {
23763
24067
  ...output,
23764
- defaultLanguage: language ? getLang2FromLang3(language) : null,
24068
+ defaultLanguage: language ? toLang2(language) : null,
23765
24069
  };
23766
24070
  },
23767
24071
  link: (output, source) => {
@@ -23777,7 +24081,7 @@ class Gn4FieldMapper {
23777
24081
  contact: (output, source) => ({
23778
24082
  ...output,
23779
24083
  contacts: [
23780
- mapContact(getFirstValue(selectField(source, 'contact')), this.lang3),
24084
+ mapContact(getFirstValue(selectField(source, 'contact')), this.getLocalizedIndexKey),
23781
24085
  ],
23782
24086
  }),
23783
24087
  contactForResource: (output, source) => ({
@@ -23787,7 +24091,7 @@ class Gn4FieldMapper {
23787
24091
  Array.isArray(output.contactsForResource)
23788
24092
  ? output.contactsForResource
23789
24093
  : []),
23790
- ...getAsArray(selectField(source, 'contactForResource')).map((contact) => mapContact(contact, this.lang3)),
24094
+ ...getAsArray(selectField(source, 'contactForResource')).map((contact) => mapContact(contact, this.getLocalizedIndexKey)),
23791
24095
  ],
23792
24096
  }),
23793
24097
  sourceCatalogue: (output, source) => {
@@ -23797,7 +24101,7 @@ class Gn4FieldMapper {
23797
24101
  },
23798
24102
  allKeywords: (output, source) => ({
23799
24103
  ...output,
23800
- keywords: mapKeywords(selectField(source, 'allKeywords'), this.lang3),
24104
+ keywords: mapKeywords(selectField(source, 'allKeywords'), this.getLocalizedIndexKey),
23801
24105
  }),
23802
24106
  inspireTheme: (output, source) => ({
23803
24107
  ...output,
@@ -23813,7 +24117,7 @@ class Gn4FieldMapper {
23813
24117
  licenseObject: (output, source) => this.constraintField('license', output, getAsArray(selectField(source, 'licenseObject'))),
23814
24118
  lineageObject: (output, source) => ({
23815
24119
  ...output,
23816
- lineage: selectTranslatedField(source, 'lineageObject', this.lang3),
24120
+ lineage: selectTranslatedField(source, 'lineageObject', this.getLocalizedIndexKey),
23817
24121
  }),
23818
24122
  userSavedCount: (output, source) => this.addExtra({
23819
24123
  favoriteCount: parseInt(selectField(source, 'userSavedCount')),
@@ -23887,7 +24191,7 @@ class Gn4FieldMapper {
23887
24191
  spatialExtents: [
23888
24192
  ...spatialExtents,
23889
24193
  ...geoms.map((geom, index) => {
23890
- const description = selectTranslatedValue(getArrayItem(extentDescriptions, index), this.lang3);
24194
+ const description = selectTranslatedValue(getArrayItem(extentDescriptions, index), this.getLocalizedIndexKey);
23891
24195
  const geometry = shapes[index] ?? geom;
23892
24196
  return {
23893
24197
  ...(description !== null ? { description } : null),
@@ -23931,7 +24235,7 @@ class Gn4FieldMapper {
23931
24235
  }
23932
24236
  const outputArray = outputField in output ? output[outputField] : [];
23933
24237
  outputArray.push(...constraintArray.map((item) => {
23934
- const text = selectTranslatedValue(item, this.lang3);
24238
+ const text = selectTranslatedValue(item, this.getLocalizedIndexKey);
23935
24239
  const url = getAsUrl(selectField(item, 'link'));
23936
24240
  return {
23937
24241
  text,
@@ -23945,9 +24249,9 @@ class Gn4FieldMapper {
23945
24249
  return result;
23946
24250
  };
23947
24251
  this.mapLink = (sourceLink) => {
23948
- const url = getAsUrl(selectFallback(selectTranslatedField(sourceLink, 'urlObject', this.lang3), selectField(sourceLink, 'url')));
23949
- const name = selectFallback(selectTranslatedField(sourceLink, 'nameObject', this.lang3), selectField(sourceLink, 'name'));
23950
- const description = selectFallback(selectTranslatedField(sourceLink, 'descriptionObject', this.lang3), selectField(sourceLink, 'description'));
24252
+ const url = getAsUrl(selectFallback(selectTranslatedField(sourceLink, 'urlObject', this.getLocalizedIndexKey), selectField(sourceLink, 'url')));
24253
+ const name = selectFallback(selectTranslatedField(sourceLink, 'nameObject', this.getLocalizedIndexKey), selectField(sourceLink, 'name'));
24254
+ const description = selectFallback(selectTranslatedField(sourceLink, 'descriptionObject', this.getLocalizedIndexKey), selectField(sourceLink, 'description'));
23951
24255
  const descriptionLink = selectField(sourceLink, 'descriptionObject');
23952
24256
  const accessRestricted = descriptionLink &&
23953
24257
  'link' in descriptionLink &&
@@ -24003,8 +24307,8 @@ class Gn4FieldMapper {
24003
24307
  extras: { ...(output.extras || {}), ...value },
24004
24308
  });
24005
24309
  }
24006
- get lang3() {
24007
- return getLocalizedIndexKey(this.translateService.currentLang);
24310
+ get getLocalizedIndexKey() {
24311
+ return `lang${toLang3(this.translateService.currentLang)}`;
24008
24312
  }
24009
24313
  getMappingFn(fieldName) {
24010
24314
  return fieldName in this.fields ? this.fields[fieldName] : this.genericField;
@@ -25064,7 +25368,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
25064
25368
  }] } });
25065
25369
 
25066
25370
  var name = "geonetwork-ui";
25067
- var version = "2.7.0-dev.d51ff2ddf";
25371
+ var version = "2.7.0-dev.da19181da";
25068
25372
  var engines = {
25069
25373
  node: ">=20"
25070
25374
  };
@@ -25097,27 +25401,28 @@ var peerDependencies = {
25097
25401
  "@ngrx/operators": "18.x",
25098
25402
  "@ngx-translate/core": "16.x",
25099
25403
  "@ngx-translate/http-loader": "16.x",
25404
+ "flag-icons": "^7.3.2",
25100
25405
  rxjs: "7.x",
25101
25406
  "zone.js": "*",
25102
25407
  tailwindcss: "3.x"
25103
25408
  };
25104
25409
  var dependencies = {
25105
- "@biesbjerg/ngx-translate-extract-marker": "^1.0.0",
25106
- "@camptocamp/ogc-client": "1.1.1-dev.3e2d3cc",
25107
- "@geospatial-sdk/core": "0.0.5-dev.31",
25108
- "@geospatial-sdk/geocoding": "0.0.5-dev.31",
25109
- "@geospatial-sdk/legend": "0.0.5-dev.31",
25110
- "@geospatial-sdk/openlayers": "0.0.5-dev.31",
25410
+ "@biesbjerg/ngx-translate-extract-marker": "~1.0.0",
25411
+ "@camptocamp/ogc-client": "1.2.1-dev.b1a75df",
25412
+ "@geospatial-sdk/core": "0.0.5-dev.37",
25413
+ "@geospatial-sdk/geocoding": "0.0.5-dev.37",
25414
+ "@geospatial-sdk/legend": "0.0.5-dev.37",
25415
+ "@geospatial-sdk/openlayers": "0.0.5-dev.37",
25111
25416
  "@ltd/j-toml": "~1.35.2",
25112
25417
  "@messageformat/core": "^3.0.1",
25113
25418
  "@ng-icons/core": "29.10.0",
25114
25419
  "@ng-icons/iconoir": "29.10.0",
25115
25420
  "@ng-icons/material-icons": "29.10.0",
25116
25421
  "@ng-icons/tabler-icons": "29.10.0",
25117
- "@nx/angular": "20.2.2",
25422
+ "@nx/angular": "20.3.4",
25118
25423
  "@rgrove/parse-xml": "4.2.0",
25119
25424
  alasql: "4.6.0",
25120
- axios: "1.8.2",
25425
+ axios: "1.8.4",
25121
25426
  basiclightbox: "^5.0.4",
25122
25427
  "chart.js": "4.4.7",
25123
25428
  "chroma-js": "3.1.2",
@@ -25144,7 +25449,7 @@ var dependencies = {
25144
25449
  tslib: "^2.3.0",
25145
25450
  typeorm: "^0.3.14",
25146
25451
  "whatwg-fetch": "^3.6.2",
25147
- xlsx: "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz"
25452
+ xlsx: "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
25148
25453
  };
25149
25454
  var packageJson = {
25150
25455
  name: name,
@@ -25167,12 +25472,13 @@ const ValidatorMapper = {
25167
25472
  title: (record) => !!record?.title,
25168
25473
  abstract: (record) => !!record?.abstract,
25169
25474
  keywords: (record) => (record?.keywords?.length ?? 0) > 0,
25170
- legalConstraints: (record) => (record?.legalConstraints?.length ?? 0) > 0,
25171
- contacts: (record) => !!record?.contacts?.[0]?.email,
25172
- updateFrequency: (record) => !!record?.updateFrequency,
25475
+ legalConstraints: (record) => !!(record?.legalConstraints?.length &&
25476
+ record.legalConstraints.some((c) => c?.text?.trim().length > 0)),
25477
+ contacts: (record) => !!record?.contacts?.[0]?.email &&
25478
+ record.contacts[0].email !== 'missing@missing.com',
25479
+ updateFrequency: (record) => !!record?.updateFrequency && record.updateFrequency !== 'unknown',
25173
25480
  topics: (record) => (record?.topics?.length ?? 0) > 0,
25174
25481
  organisation: (record) => !!record?.contacts?.[0]?.organization?.name,
25175
- capabilities: (record) => record?.onlineResources?.some((resource) => resource?.url?.href.toLowerCase().includes('capabilities')),
25176
25482
  source: (record) => !!record?.extras?.sourcesIdentifiers,
25177
25483
  };
25178
25484
  function getAllKeysValidator() {
@@ -25188,12 +25494,12 @@ function getMappersFromKind(kind) {
25188
25494
  'contacts',
25189
25495
  ];
25190
25496
  switch (kind) {
25191
- case 'service':
25192
- kindKeys = ['capabilities'];
25193
- break;
25194
25497
  case 'reuse':
25195
25498
  kindKeys = ['topics', 'organisation', 'source'];
25196
25499
  break;
25500
+ case 'service':
25501
+ kindKeys = [];
25502
+ break;
25197
25503
  case 'dataset':
25198
25504
  default:
25199
25505
  kindKeys = ['updateFrequency', 'topics', 'organisation'];
@@ -25266,11 +25572,9 @@ function updateLanguages(record, defaultLanguage, otherLanguages) {
25266
25572
 
25267
25573
  class ElasticsearchService {
25268
25574
  // we're using getters in case the defined languages change over time
25269
- get lang3() {
25270
- return getLang3FromLang2(this.translateService.currentLang);
25271
- }
25272
25575
  get metadataLang() {
25273
- return this.injector.get(METADATA_LANGUAGE, null);
25576
+ const mdLangValue = this.injector.get(METADATA_LANGUAGE, null);
25577
+ return typeof mdLangValue === 'function' ? mdLangValue() : mdLangValue;
25274
25578
  }
25275
25579
  constructor(translateService, injector) {
25276
25580
  this.translateService = translateService;
@@ -25423,9 +25727,10 @@ class ElasticsearchService {
25423
25727
  }
25424
25728
  getQueryLang() {
25425
25729
  if (this.metadataLang) {
25426
- return this.isCurrentSearchLang()
25427
- ? `lang${this.lang3}`
25428
- : `lang${this.metadataLang}`;
25730
+ const lang3 = toLang3(this.isCurrentSearchLang()
25731
+ ? this.translateService.currentLang
25732
+ : this.metadataLang);
25733
+ return `lang${lang3}`;
25429
25734
  }
25430
25735
  else
25431
25736
  return '*';
@@ -26092,7 +26397,7 @@ class Gn4Repository {
26092
26397
  return this.gn4LanguagesApi
26093
26398
  .getApplicationLanguages()
26094
26399
  .pipe(map$1((languages) => languages
26095
- .map((lang) => getLang2FromLang3(lang.id))
26400
+ .map((lang) => toLang2(lang.id))
26096
26401
  .filter((code) => !!code)));
26097
26402
  }
26098
26403
  getRecordAsXml(uniqueIdentifier) {
@@ -26173,7 +26478,7 @@ class OrganizationsFromMetadataService {
26173
26478
  }), shareReplay$1());
26174
26479
  }
26175
26480
  get langIndex() {
26176
- return getLocalizedIndexKey(this.translateService.currentLang);
26481
+ return `lang${toLang3(this.translateService.currentLang)}`;
26177
26482
  }
26178
26483
  equalsNormalizedStrings(str1, str2, replaceSpecialChars = true) {
26179
26484
  if (!str1 || !str2)
@@ -26328,7 +26633,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
26328
26633
  const IMAGE_URL = '/geonetwork/images/harvesting/';
26329
26634
  class OrganizationsFromGroupsService {
26330
26635
  get lang3() {
26331
- return getLang3FromLang2(this.translateService.currentLang);
26636
+ return toLang3(this.translateService.currentLang);
26332
26637
  }
26333
26638
  constructor(esService, searchApiService, groupsApiService, translateService) {
26334
26639
  this.esService = esService;
@@ -26437,14 +26742,14 @@ class AuthService {
26437
26742
  }
26438
26743
  return baseUrl
26439
26744
  .replace('${current_url}', new URL(this.location.path(), window.location.href).toString())
26440
- .replace('${lang2}', this.translateService.currentLang)
26441
- .replace('${lang3}', getLang3FromLang2(this.translateService.currentLang));
26745
+ .replace('${lang2}', toLang2(this.translateService.currentLang))
26746
+ .replace('${lang3}', toLang3(this.translateService.currentLang));
26442
26747
  }
26443
26748
  get logoutUrl() {
26444
26749
  return this.baseLogoutUrl;
26445
26750
  }
26446
26751
  get settingsUrl() {
26447
- return this.baseSettingsUrl.replace('${lang3}', getLang3FromLang2(this.translateService.currentLang));
26752
+ return this.baseSettingsUrl.replace('${lang3}', toLang3(this.translateService.currentLang));
26448
26753
  }
26449
26754
  constructor(baseLoginUrlToken, baseLogoutUrlToken, baseSettingsUrlToken, translateService, location) {
26450
26755
  this.baseLoginUrlToken = baseLoginUrlToken;
@@ -26719,7 +27024,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
26719
27024
  const minApiVersion = '4.2.2';
26720
27025
  class Gn4PlatformService {
26721
27026
  get lang3() {
26722
- return getLang3FromLang2(this.translateService.currentLang);
27027
+ return toLang3(this.translateService.currentLang);
26723
27028
  }
26724
27029
  constructor(siteApiService, meApi, usersApi, mapper, toolsApiService, registriesApiService, translateService, userfeedbackApiService, httpClient, recordsApiService) {
26725
27030
  this.siteApiService = siteApiService;
@@ -27488,445 +27793,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
27488
27793
  }]
27489
27794
  }] });
27490
27795
 
27491
- const LANGUAGE_CODES_ISO_3 = [
27492
- 'aar',
27493
- 'abk',
27494
- 'ace',
27495
- 'ach',
27496
- 'ada',
27497
- 'afa',
27498
- 'afh',
27499
- 'afr',
27500
- 'aka',
27501
- 'akk',
27502
- 'ale',
27503
- 'alg',
27504
- 'amh',
27505
- 'ang',
27506
- 'apa',
27507
- 'ara',
27508
- 'arc',
27509
- 'arn',
27510
- 'arp',
27511
- 'art',
27512
- 'arw',
27513
- 'asm',
27514
- 'ath',
27515
- 'aus',
27516
- 'ava',
27517
- 'ave',
27518
- 'awa',
27519
- 'aym',
27520
- 'aze',
27521
- 'bad',
27522
- 'bai',
27523
- 'bak',
27524
- 'bal',
27525
- 'bam',
27526
- 'ban',
27527
- 'bas',
27528
- 'bat',
27529
- 'bej',
27530
- 'bel',
27531
- 'bem',
27532
- 'ben',
27533
- 'ber',
27534
- 'bho',
27535
- 'bih',
27536
- 'bik',
27537
- 'bin',
27538
- 'bis',
27539
- 'bla',
27540
- 'bnt',
27541
- 'tib',
27542
- 'bos',
27543
- 'bra',
27544
- 'bre',
27545
- 'btk',
27546
- 'bua',
27547
- 'bug',
27548
- 'bul',
27549
- 'cad',
27550
- 'cai',
27551
- 'car',
27552
- 'cat',
27553
- 'cau',
27554
- 'ceb',
27555
- 'cel',
27556
- 'cze',
27557
- 'cha',
27558
- 'chb',
27559
- 'che',
27560
- 'chg',
27561
- 'chk',
27562
- 'chm',
27563
- 'chn',
27564
- 'cho',
27565
- 'chp',
27566
- 'chr',
27567
- 'chu',
27568
- 'chv',
27569
- 'chy',
27570
- 'cmc',
27571
- 'cop',
27572
- 'cor',
27573
- 'cos',
27574
- 'cpe',
27575
- 'cpf',
27576
- 'cpp',
27577
- 'cre',
27578
- 'crp',
27579
- 'cus',
27580
- 'wel',
27581
- 'dak',
27582
- 'dan',
27583
- 'day',
27584
- 'del',
27585
- 'den',
27586
- 'ger',
27587
- 'dgr',
27588
- 'din',
27589
- 'div',
27590
- 'doi',
27591
- 'dra',
27592
- 'dua',
27593
- 'dum',
27594
- 'dyu',
27595
- 'dzo',
27596
- 'efi',
27597
- 'egy',
27598
- 'eka',
27599
- 'gre',
27600
- 'elx',
27601
- 'eng',
27602
- 'enm',
27603
- 'epo',
27604
- 'est',
27605
- 'baq',
27606
- 'ewe',
27607
- 'ewo',
27608
- 'fan',
27609
- 'fao',
27610
- 'per',
27611
- 'fat',
27612
- 'fij',
27613
- 'fin',
27614
- 'fiu',
27615
- 'fon',
27616
- 'fre',
27617
- 'frm',
27618
- 'fro',
27619
- 'fry',
27620
- 'ful',
27621
- 'fur',
27622
- 'gaa',
27623
- 'gay',
27624
- 'gba',
27625
- 'gem',
27626
- 'gez',
27627
- 'gil',
27628
- 'gla',
27629
- 'gle',
27630
- 'glg',
27631
- 'glv',
27632
- 'gmh',
27633
- 'goh',
27634
- 'gon',
27635
- 'gor',
27636
- 'got',
27637
- 'grb',
27638
- 'grc',
27639
- 'grn',
27640
- 'guj',
27641
- 'gwi',
27642
- 'hai',
27643
- 'hau',
27644
- 'haw',
27645
- 'heb',
27646
- 'her',
27647
- 'hil',
27648
- 'him',
27649
- 'hin',
27650
- 'hit',
27651
- 'hmn',
27652
- 'hmo',
27653
- 'scr',
27654
- 'hun',
27655
- 'hup',
27656
- 'arm',
27657
- 'iba',
27658
- 'ibo',
27659
- 'ijo',
27660
- 'iku',
27661
- 'ile',
27662
- 'ilo',
27663
- 'ina',
27664
- 'inc',
27665
- 'ind',
27666
- 'ine',
27667
- 'ipk',
27668
- 'ira',
27669
- 'iro',
27670
- 'ice',
27671
- 'ita',
27672
- 'jav',
27673
- 'jpn',
27674
- 'jpr',
27675
- 'jrb',
27676
- 'kaa',
27677
- 'kab',
27678
- 'kac',
27679
- 'kal',
27680
- 'kam',
27681
- 'kan',
27682
- 'kar',
27683
- 'kas',
27684
- 'geo',
27685
- 'kau',
27686
- 'kaw',
27687
- 'kaz',
27688
- 'kha',
27689
- 'khi',
27690
- 'khm',
27691
- 'kho',
27692
- 'kik',
27693
- 'kin',
27694
- 'kir',
27695
- 'kmb',
27696
- 'kok',
27697
- 'kom',
27698
- 'kon',
27699
- 'kor',
27700
- 'kos',
27701
- 'kpe',
27702
- 'kro',
27703
- 'kru',
27704
- 'kua',
27705
- 'kum',
27706
- 'kur',
27707
- 'kut',
27708
- 'lad',
27709
- 'lah',
27710
- 'lam',
27711
- 'lao',
27712
- 'lat',
27713
- 'lav',
27714
- 'lez',
27715
- 'lin',
27716
- 'lit',
27717
- 'lol',
27718
- 'loz',
27719
- 'ltz',
27720
- 'lua',
27721
- 'lub',
27722
- 'lug',
27723
- 'lui',
27724
- 'lun',
27725
- 'luo',
27726
- 'lus',
27727
- 'mad',
27728
- 'mag',
27729
- 'mah',
27730
- 'mai',
27731
- 'mak',
27732
- 'mal',
27733
- 'man',
27734
- 'map',
27735
- 'mar',
27736
- 'mas',
27737
- 'mdr',
27738
- 'men',
27739
- 'mga',
27740
- 'mic',
27741
- 'min',
27742
- 'mis',
27743
- 'mac',
27744
- 'mkh',
27745
- 'mlg',
27746
- 'mlt',
27747
- 'mnc',
27748
- 'mni',
27749
- 'mno',
27750
- 'moh',
27751
- 'mol',
27752
- 'mon',
27753
- 'mos',
27754
- 'mao',
27755
- 'may',
27756
- 'mul',
27757
- 'mun',
27758
- 'mus',
27759
- 'mwr',
27760
- 'bur',
27761
- 'myn',
27762
- 'nah',
27763
- 'nai',
27764
- 'nau',
27765
- 'nav',
27766
- 'nbl',
27767
- 'nde',
27768
- 'ndo',
27769
- 'nep',
27770
- 'new',
27771
- 'nia',
27772
- 'nic',
27773
- 'niu',
27774
- 'dut',
27775
- 'nno',
27776
- 'nob',
27777
- 'non',
27778
- 'nor',
27779
- 'nso',
27780
- 'nub',
27781
- 'nya',
27782
- 'nym',
27783
- 'nyn',
27784
- 'nyo',
27785
- 'nzi',
27786
- 'oci',
27787
- 'oji',
27788
- 'ori',
27789
- 'orm',
27790
- 'osa',
27791
- 'oss',
27792
- 'ota',
27793
- 'oto',
27794
- 'paa',
27795
- 'pag',
27796
- 'pal',
27797
- 'pam',
27798
- 'pan',
27799
- 'pap',
27800
- 'pau',
27801
- 'peo',
27802
- 'phi',
27803
- 'phn',
27804
- 'pli',
27805
- 'pol',
27806
- 'pon',
27807
- 'por',
27808
- 'pra',
27809
- 'pro',
27810
- 'pus',
27811
- 'que',
27812
- 'raj',
27813
- 'rap',
27814
- 'rar',
27815
- 'roa',
27816
- 'roh',
27817
- 'rom',
27818
- 'rum',
27819
- 'run',
27820
- 'rus',
27821
- 'sad',
27822
- 'sag',
27823
- 'sah',
27824
- 'sai',
27825
- 'sal',
27826
- 'sam',
27827
- 'san',
27828
- 'sas',
27829
- 'sat',
27830
- 'sco',
27831
- 'sel',
27832
- 'sem',
27833
- 'sga',
27834
- 'sgn',
27835
- 'shn',
27836
- 'sid',
27837
- 'sin',
27838
- 'sio',
27839
- 'sit',
27840
- 'sla',
27841
- 'slo',
27842
- 'slv',
27843
- 'sme',
27844
- 'smi',
27845
- 'smo',
27846
- 'sna',
27847
- 'snd',
27848
- 'snk',
27849
- 'sog',
27850
- 'som',
27851
- 'son',
27852
- 'sot',
27853
- 'spa',
27854
- 'alb',
27855
- 'srd',
27856
- 'scc',
27857
- 'srr',
27858
- 'ssa',
27859
- 'ssw',
27860
- 'suk',
27861
- 'sun',
27862
- 'sus',
27863
- 'sux',
27864
- 'swa',
27865
- 'swe',
27866
- 'syr',
27867
- 'tah',
27868
- 'tai',
27869
- 'tam',
27870
- 'tat',
27871
- 'tel',
27872
- 'tem',
27873
- 'ter',
27874
- 'tet',
27875
- 'tgk',
27876
- 'tgl',
27877
- 'tha',
27878
- 'tig',
27879
- 'tir',
27880
- 'tiv',
27881
- 'tkl',
27882
- 'tli',
27883
- 'tmh',
27884
- 'tog',
27885
- 'ton',
27886
- 'tpi',
27887
- 'tsi',
27888
- 'tsn',
27889
- 'tso',
27890
- 'tuk',
27891
- 'tum',
27892
- 'tur',
27893
- 'tut',
27894
- 'tvl',
27895
- 'twi',
27896
- 'tyv',
27897
- 'uga',
27898
- 'uig',
27899
- 'ukr',
27900
- 'umb',
27901
- 'und',
27902
- 'urd',
27903
- 'uzb',
27904
- 'vai',
27905
- 'ven',
27906
- 'vie',
27907
- 'vol',
27908
- 'vot',
27909
- 'wak',
27910
- 'wal',
27911
- 'war',
27912
- 'was',
27913
- 'wen',
27914
- 'wol',
27915
- 'xho',
27916
- 'yao',
27917
- 'yap',
27918
- 'yid',
27919
- 'yor',
27920
- 'ypk',
27921
- 'zap',
27922
- 'zen',
27923
- 'zha',
27924
- 'chi',
27925
- 'znd',
27926
- 'zul',
27927
- 'zun',
27928
- ];
27929
-
27930
27796
  const flatten = (base, obj, keepLevel = false) => Object.keys(obj).reduce((prev, curr) => {
27931
27797
  const path = base ? `${base}.${curr}` : curr;
27932
27798
  const val = obj[curr];
@@ -28008,8 +27874,9 @@ function parseMultiConfigSection(fullConfigObj, sectionName, mandatoryKeys, opti
28008
27874
  return result;
28009
27875
  }
28010
27876
  function checkMetadataLanguage(parsedConfigSection, outWarnings) {
28011
- if (LANGUAGE_CODES_ISO_3.indexOf(parsedConfigSection.metadata_language.toLowerCase()) === -1) {
28012
- outWarnings.push(`In the [global] section: metadata_language = "${parsedConfigSection.metadata_language}" is not in ISO 639-2/B format`);
27877
+ const lang2 = toLang2(parsedConfigSection.metadata_language.toLowerCase());
27878
+ if (lang2?.length !== 2) {
27879
+ outWarnings.push(`In the [global] section: metadata_language = "${parsedConfigSection.metadata_language}" is not a recognized ISO 639 language code`);
28013
27880
  }
28014
27881
  return parsedConfigSection;
28015
27882
  }
@@ -28356,7 +28223,7 @@ const wrongLanguageCodeConfigFixture = () => `
28356
28223
  [global]
28357
28224
  geonetwork4_api_url = "/geonetwork/srv/api"
28358
28225
  proxy_path = "/proxy/?url="
28359
- metadata_language = "fra"
28226
+ metadata_language = "abc"
28360
28227
 
28361
28228
  [map]
28362
28229
 
@@ -32115,16 +31982,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
32115
31982
 
32116
31983
  marker('record.metadata.quality.title.success');
32117
31984
  marker('record.metadata.quality.title.failed');
32118
- marker('record.metadata.quality.description.success');
32119
- marker('record.metadata.quality.description.failed');
32120
- marker('record.metadata.quality.topic.success');
32121
- marker('record.metadata.quality.topic.failed');
31985
+ marker('record.metadata.quality.abstract.success');
31986
+ marker('record.metadata.quality.abstract.failed');
31987
+ marker('record.metadata.quality.topics.success');
31988
+ marker('record.metadata.quality.topics.failed');
32122
31989
  marker('record.metadata.quality.keywords.success');
32123
31990
  marker('record.metadata.quality.keywords.failed');
32124
31991
  marker('record.metadata.quality.legalConstraints.success');
32125
31992
  marker('record.metadata.quality.legalConstraints.failed');
32126
- marker('record.metadata.quality.contact.success');
32127
- marker('record.metadata.quality.contact.failed');
31993
+ marker('record.metadata.quality.contacts.success');
31994
+ marker('record.metadata.quality.contacts.failed');
32128
31995
  marker('record.metadata.quality.updateFrequency.success');
32129
31996
  marker('record.metadata.quality.updateFrequency.failed');
32130
31997
  marker('record.metadata.quality.organisation.success');
@@ -32170,9 +32037,6 @@ class MetadataQualityComponent {
32170
32037
  get computedQualityScore() {
32171
32038
  return Math.round((this.items.filter(({ value }) => value).length * 100) / this.items.length);
32172
32039
  }
32173
- hasGetCapabilities(url) {
32174
- return url.toLowerCase().includes('capabilities');
32175
- }
32176
32040
  initialize() {
32177
32041
  if (!this.propsToValidate) {
32178
32042
  this.propsToValidate = getAllKeysValidator();
@@ -32569,7 +32433,7 @@ class ApiCardComponent {
32569
32433
  }
32570
32434
  }
32571
32435
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApiCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32572
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApiCardComponent, isStandalone: true, selector: "gn-ui-api-card", inputs: { link: "link", currentLink: "currentLink", size: "size" }, outputs: { openRecordApiForm: "openRecordApiForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n >{{ link.accessServiceProtocol }}</span\n >\n <span\n *ngIf=\"link.accessServiceProtocol === 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >\n record.metadata.api.gpfdl</span\n >\n </div>\n <div *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], viewProviders: [
32436
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ApiCardComponent, isStandalone: true, selector: "gn-ui-api-card", inputs: { link: "link", currentLink: "currentLink", size: "size" }, outputs: { openRecordApiForm: "openRecordApiForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >record.metadata.api.accessServiceProtocol.{{\n link.accessServiceProtocol\n }}</span\n >\n <span\n *ngIf=\"link.accessServiceProtocol === 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >\n record.metadata.api.gpfdl</span\n >\n </div>\n <div *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CopyTextButtonComponent, selector: "gn-ui-copy-text-button", inputs: ["text", "tooltipText", "displayText", "rows"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], viewProviders: [
32573
32437
  provideIcons({
32574
32438
  iconoirSettings,
32575
32439
  }),
@@ -32588,7 +32452,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
32588
32452
  provideIcons({
32589
32453
  iconoirSettings,
32590
32454
  }),
32591
- ], template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n >{{ link.accessServiceProtocol }}</span\n >\n <span\n *ngIf=\"link.accessServiceProtocol === 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >\n record.metadata.api.gpfdl</span\n >\n </div>\n <div *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </div>\n</ng-template>\n" }]
32455
+ ], template: "<div\n class=\"group flex justify-between rounded filter overflow-hidden card-shadow\"\n [ngClass]=\"cardClass\"\n>\n <ng-container *ngIf=\"size !== 'S'\">\n <div class=\"flex-1 min-w-0\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"flex items-center min-w-[32px]\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #buttons>\n <div class=\"flex flex-row gap-2\">\n <gn-ui-copy-text-button\n [text]=\"link.url\"\n [tooltipText]=\"'tooltip.url.copy' | translate\"\n [displayText]=\"false\"\n class=\"border border-gray-300 rounded-lg pt-1 px-2 h-[34px]\"\n ></gn-ui-copy-text-button>\n <button\n *ngIf=\"displayApiFormButton\"\n type=\"button\"\n class=\"gn-ui-card-icon\"\n [ngClass]=\"{\n 'py-2 px-4 rounded-r-md bg-gray-400 hover:bg-gray-600 focus:bg-gray-800 text-white':\n displayText,\n }\"\n [matTooltip]=\"\n !currentlyActive\n ? ('record.metadata.api.form.openForm' | translate)\n : ('record.metadata.api.form.closeForm' | translate)\n \"\n matTooltipPosition=\"above\"\n (click)=\"openRecordApiFormPanel()\"\n >\n <ng-icon\n class=\"pointer-events-none align-middle card-icon\"\n name=\"iconoirSettings\"\n [ngClass]=\"{\n 'text-secondary opacity-100': currentlyActive,\n }\"\n ></ng-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <div class=\"flex-1 min-w-0\">\n <div class=\"gn-ui-card-title\">\n {{ link.description || link.name }}\n </div>\n <div class=\"gn-ui-card-detail\">\n {{ link.name }}\n </div>\n </div>\n <div class=\"flex flex-row justify-between\">\n <div class=\"flex flex-row gap-2.5 items-center pt-1\">\n <span\n *ngIf=\"link.accessServiceProtocol !== 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >record.metadata.api.accessServiceProtocol.{{\n link.accessServiceProtocol\n }}</span\n >\n <span\n *ngIf=\"link.accessServiceProtocol === 'GPFDL'\"\n class=\"bg-primary-opacity-50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors\"\n [ngClass]=\"{\n '!bg-primary': currentlyActive,\n }\"\n translate\n >\n record.metadata.api.gpfdl</span\n >\n </div>\n <div *ngIf=\"size === 'S'\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n </div>\n </div>\n</ng-template>\n" }]
32592
32456
  }], propDecorators: { link: [{
32593
32457
  type: Input
32594
32458
  }], currentLink: [{
@@ -33945,11 +33809,6 @@ class ServiceCapabilitiesComponent {
33945
33809
  }
33946
33810
  }
33947
33811
  selectLayer(layer) {
33948
- if (layer === this.selectedLayer) {
33949
- this.selectedLayer = null;
33950
- this.layerInformation = [];
33951
- return;
33952
- }
33953
33812
  this.selectedLayer = layer;
33954
33813
  const filteredInfo = [];
33955
33814
  Object.keys(layer).map((key) => {
@@ -39814,7 +39673,7 @@ class SourcesService {
39814
39673
  this.sources$ = this.sourcesApiService.getSubPortals1().pipe(shareReplay$1());
39815
39674
  }
39816
39675
  getSourceLabel(uuid) {
39817
- return this.sources$.pipe(map$1((sources) => sources.filter((source) => source.uuid === uuid)[0]), filter((source) => !!source), map$1((source) => source.label[getLang3FromLang2(this.translateService.currentLang)]));
39676
+ return this.sources$.pipe(map$1((sources) => sources.filter((source) => source.uuid === uuid)[0]), filter((source) => !!source), map$1((source) => source.label[toLang3(this.translateService.currentLang)]));
39818
39677
  }
39819
39678
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SourcesService, deps: [{ token: SourcesApiService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
39820
39679
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SourcesService, providedIn: 'root' }); }
@@ -41050,6 +40909,10 @@ const RECORD_KEYWORDS_FIELD = {
41050
40909
  model: 'keywords',
41051
40910
  formFieldConfig: {},
41052
40911
  };
40912
+ const RECORD_TOPICS_FIELD = {
40913
+ model: 'topics',
40914
+ formFieldConfig: {},
40915
+ };
41053
40916
  const RECORD_RESOURCE_CREATED_FIELD = {
41054
40917
  model: 'resourceCreated',
41055
40918
  formFieldConfig: {
@@ -41195,6 +41058,12 @@ const CLASSIFICATION_SECTION = {
41195
41058
  hidden: false,
41196
41059
  fields: [RECORD_KEYWORDS_FIELD],
41197
41060
  };
41061
+ const INSPIRE_SECTION = {
41062
+ labelKey: marker('editor.record.form.section.inspire.label'),
41063
+ descriptionKey: marker('editor.record.form.section.inspire.description'),
41064
+ hidden: false,
41065
+ fields: [RECORD_TOPICS_FIELD],
41066
+ };
41198
41067
  const USE_AND_ACCESS_CONDITIONS_SECTION = {
41199
41068
  labelKey: marker('editor.record.form.section.useAndAccessConditions.label'),
41200
41069
  hidden: false,
@@ -41229,6 +41098,7 @@ const DEFAULT_CONFIGURATION = {
41229
41098
  sections: [
41230
41099
  TITLE_SECTION,
41231
41100
  CLASSIFICATION_SECTION,
41101
+ INSPIRE_SECTION,
41232
41102
  ABOUT_SECTION,
41233
41103
  GEOGRAPHICAL_COVERAGE_SECTION,
41234
41104
  ],
@@ -41291,6 +41161,71 @@ const SPATIAL_SCOPES = [
41291
41161
  type: 'theme',
41292
41162
  },
41293
41163
  ];
41164
+ /************************************************************
41165
+ *************** INSPIRE THEMES **************
41166
+ ************************************************************
41167
+ */
41168
+ const INSPIRE_THEMES = [
41169
+ { value: 'biota', label: 'editor.record.form.inspire.biota' },
41170
+ { value: 'boundaries', label: 'editor.record.form.inspire.boundaries' },
41171
+ {
41172
+ value: 'climatologyMeteorologyAtmosphere',
41173
+ label: 'editor.record.form.inspire.climatology',
41174
+ },
41175
+ { value: 'economy', label: 'editor.record.form.inspire.economy' },
41176
+ { value: 'elevation', label: 'editor.record.form.inspire.elevation' },
41177
+ { value: 'environment', label: 'editor.record.form.inspire.environnement' },
41178
+ { value: 'farming', label: 'editor.record.form.inspire.farming' },
41179
+ {
41180
+ value: 'geoscientific information',
41181
+ label: 'editor.record.form.inspire.geoscientific',
41182
+ },
41183
+ { value: 'health', label: 'editor.record.form.inspire.health' },
41184
+ {
41185
+ value: 'imageryBaseMapsEarthCover',
41186
+ label: 'editor.record.form.inspire.imagery',
41187
+ },
41188
+ {
41189
+ value: 'intelligenceMilitary',
41190
+ label: 'editor.record.form.inspire.intelligence',
41191
+ },
41192
+ { value: 'Location', label: 'editor.record.form.inspire.location' },
41193
+ { value: 'Oceans', label: 'editor.record.form.inspire.oceans' },
41194
+ {
41195
+ value: 'planningCadastre',
41196
+ label: 'editor.record.form.inspire.planning',
41197
+ },
41198
+ { value: 'Society', label: 'editor.record.form.inspire.society' },
41199
+ { value: 'Structure', label: 'editor.record.form.inspire.structure' },
41200
+ {
41201
+ value: 'Transportation',
41202
+ label: 'editor.record.form.inspire.transportation',
41203
+ },
41204
+ {
41205
+ value: 'utilitiesCommunication',
41206
+ label: 'editor.record.form.inspire.utilities',
41207
+ },
41208
+ { value: 'inlandWaters', label: 'editor.record.form.inspire.waters' },
41209
+ ];
41210
+ marker('editor.record.form.inspire.biota');
41211
+ marker('editor.record.form.inspire.boundaries');
41212
+ marker('editor.record.form.inspire.climatology');
41213
+ marker('editor.record.form.inspire.economy');
41214
+ marker('editor.record.form.inspire.elevation');
41215
+ marker('editor.record.form.inspire.environnement');
41216
+ marker('editor.record.form.inspire.farming');
41217
+ marker('editor.record.form.inspire.geoscientific');
41218
+ marker('editor.record.form.inspire.health');
41219
+ marker('editor.record.form.inspire.imagery');
41220
+ marker('editor.record.form.inspire.intelligence');
41221
+ marker('editor.record.form.inspire.location');
41222
+ marker('editor.record.form.inspire.oceans');
41223
+ marker('editor.record.form.inspire.planning');
41224
+ marker('editor.record.form.inspire.society');
41225
+ marker('editor.record.form.inspire.structure');
41226
+ marker('editor.record.form.inspire.transportation');
41227
+ marker('editor.record.form.inspire.utilities');
41228
+ marker('editor.record.form.inspire.waters');
41294
41229
 
41295
41230
  const EDITOR_FEATURE_KEY = 'editor';
41296
41231
  const initialEditorState = {
@@ -43416,6 +43351,75 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
43416
43351
  args: [{ selector: 'gn-ui-form-field-spatial-toggle', standalone: true, imports: [CommonModule, SwitchToggleComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-switch-toggle\n [options]=\"switchToggleOptions$ | async\"\n (selectedValue)=\"onSpatialScopeChange($event)\"\n extraClasses=\"grow text-sm\"\n></gn-ui-switch-toggle>\n" }]
43417
43352
  }], ctorParameters: () => [{ type: EditorFacade }] });
43418
43353
 
43354
+ class FormFieldInspireThemeComponent {
43355
+ set value(themes) {
43356
+ this.themes = themes;
43357
+ }
43358
+ constructor(translateService) {
43359
+ this.translateService = translateService;
43360
+ this.themes = [];
43361
+ this.valueChange = new EventEmitter();
43362
+ this.availableThemes = INSPIRE_THEMES;
43363
+ this.displayWithFn = (item) => {
43364
+ return item?.title ? `${item.title}` : '';
43365
+ };
43366
+ this.autoCompleteAction = (query) => {
43367
+ return of(this.availableThemes
43368
+ .filter((theme) => theme.value.toLowerCase().includes(query.toLowerCase()))
43369
+ .sort((a, b) => {
43370
+ const aStarts = a.value.startsWith(query);
43371
+ const bStarts = b.value.startsWith(query);
43372
+ if (aStarts && !bStarts)
43373
+ return -1;
43374
+ if (!aStarts && bStarts)
43375
+ return 1;
43376
+ return 0;
43377
+ })
43378
+ .map((theme) => {
43379
+ return {
43380
+ title: this.translateService.instant(theme.label),
43381
+ value: theme.value,
43382
+ };
43383
+ }));
43384
+ };
43385
+ }
43386
+ handleItemSelection(item) {
43387
+ this.addTheme(item.value);
43388
+ }
43389
+ addTheme(theme) {
43390
+ const duplicatedTheme = this.themes.find((t) => t === theme);
43391
+ if (!duplicatedTheme) {
43392
+ this.themes = [...this.themes, theme];
43393
+ this.valueChange.emit(this.themes);
43394
+ }
43395
+ }
43396
+ removeTheme(theme) {
43397
+ console.log(this.themes);
43398
+ this.themes = this.themes.filter((t) => t !== theme);
43399
+ this.valueChange.emit(this.themes);
43400
+ }
43401
+ getTranslatedTheme(theme) {
43402
+ const themeKey = this.availableThemes.find((avail) => avail.value === theme)?.label;
43403
+ return themeKey ? this.translateService.instant(themeKey) : '';
43404
+ }
43405
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldInspireThemeComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
43406
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldInspireThemeComponent, isStandalone: true, selector: "gn-ui-form-field-inspire-theme", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"'editor.record.form.inspire.placeholder' | translate\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let theme of themes\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeTheme(theme)\"\n >{{ getTranslatedTheme(theme) }}\n </gn-ui-badge>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "enterButton", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "forceTrackPosition", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared", "isSearchActive"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
43407
+ }
43408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldInspireThemeComponent, decorators: [{
43409
+ type: Component,
43410
+ args: [{ selector: 'gn-ui-form-field-inspire-theme', standalone: true, imports: [
43411
+ CommonModule,
43412
+ AutocompleteComponent,
43413
+ NgIconComponent,
43414
+ BadgeComponent,
43415
+ TranslatePipe,
43416
+ ], template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"'editor.record.form.inspire.placeholder' | translate\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [minCharacterCount]=\"1\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let theme of themes\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeTheme(theme)\"\n >{{ getTranslatedTheme(theme) }}\n </gn-ui-badge>\n </div>\n </div>\n</div>\n" }]
43417
+ }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { value: [{
43418
+ type: Input
43419
+ }], valueChange: [{
43420
+ type: Output
43421
+ }] } });
43422
+
43419
43423
  class FormFieldComponent {
43420
43424
  constructor() {
43421
43425
  this.valueChange = new EventEmitter();
@@ -43453,6 +43457,9 @@ class FormFieldComponent {
43453
43457
  get valueAsKeywords() {
43454
43458
  return this.value;
43455
43459
  }
43460
+ get valueAsInspireTheme() {
43461
+ return this.value;
43462
+ }
43456
43463
  get valueAsConstraints() {
43457
43464
  return this.value;
43458
43465
  }
@@ -43463,7 +43470,7 @@ class FormFieldComponent {
43463
43470
  return this.value;
43464
43471
  }
43465
43472
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43466
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { uniqueIdentifier: "uniqueIdentifier", model: "model", modelSpecifier: "modelSpecifier", componentName: "componentName", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordLicences]=\"valueAsConstraints\"\n (recordLicencesChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["label", "recordLicences"], outputs: ["recordLicencesChange"] }, { kind: "component", type: FormFieldDateComponent, selector: "gn-ui-form-field-date", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "readonly", "invalid", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOverviewsComponent, selector: "gn-ui-form-field-overviews", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsForResourceComponent, selector: "gn-ui-form-field-contacts-for-resource", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineResourcesComponent, selector: "gn-ui-form-field-online-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineLinkResourcesComponent, selector: "gn-ui-form-field-online-link-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsComponent, selector: "gn-ui-form-field-contacts", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsComponent, selector: "gn-ui-form-field-constraints", inputs: ["label", "value", "constraintType"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsShortcutsComponent, selector: "gn-ui-form-field-constraints-shortcuts" }, { kind: "component", type: FormFieldSpatialToggleComponent, selector: "gn-ui-form-field-spatial-toggle" }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: i3$2.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43473
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { uniqueIdentifier: "uniqueIdentifier", model: "model", modelSpecifier: "modelSpecifier", componentName: "componentName", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'topics'\">\n <gn-ui-form-field-inspire-theme\n [value]=\"valueAsInspireTheme\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-inspire-theme>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordLicences]=\"valueAsConstraints\"\n (recordLicencesChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["label", "recordLicences"], outputs: ["recordLicencesChange"] }, { kind: "component", type: FormFieldDateComponent, selector: "gn-ui-form-field-date", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "readonly", "invalid", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOverviewsComponent, selector: "gn-ui-form-field-overviews", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsForResourceComponent, selector: "gn-ui-form-field-contacts-for-resource", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineResourcesComponent, selector: "gn-ui-form-field-online-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineLinkResourcesComponent, selector: "gn-ui-form-field-online-link-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsComponent, selector: "gn-ui-form-field-contacts", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsComponent, selector: "gn-ui-form-field-constraints", inputs: ["label", "value", "constraintType"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsShortcutsComponent, selector: "gn-ui-form-field-constraints-shortcuts" }, { kind: "component", type: FormFieldSpatialToggleComponent, selector: "gn-ui-form-field-spatial-toggle" }, { kind: "component", type: FormFieldInspireThemeComponent, selector: "gn-ui-form-field-inspire-theme", inputs: ["value"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: i3$2.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43467
43474
  }
43468
43475
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, decorators: [{
43469
43476
  type: Component,
@@ -43488,8 +43495,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
43488
43495
  FormFieldConstraintsComponent,
43489
43496
  FormFieldConstraintsShortcutsComponent,
43490
43497
  FormFieldSpatialToggleComponent,
43498
+ FormFieldInspireThemeComponent,
43491
43499
  TextFieldModule,
43492
- ], template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordLicences]=\"valueAsConstraints\"\n (recordLicencesChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n" }]
43500
+ ], template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'topics'\">\n <gn-ui-form-field-inspire-theme\n [value]=\"valueAsInspireTheme\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-inspire-theme>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordLicences]=\"valueAsConstraints\"\n (recordLicencesChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n" }]
43493
43501
  }], propDecorators: { uniqueIdentifier: [{
43494
43502
  type: Input
43495
43503
  }], model: [{
@@ -43947,7 +43955,8 @@ function flattenQueryParams(params) {
43947
43955
  for (const key in params) {
43948
43956
  if (Array.isArray(flattened[key]) &&
43949
43957
  flattened[key].length > 0) {
43950
- flattened[key] = [flattened[key].join(',')];
43958
+ const encoded = flattened[key].map((value) => typeof value === 'string' ? value.replace(/,/g, '%2C') : value);
43959
+ flattened[key] = [encoded.join(',')];
43951
43960
  }
43952
43961
  else if (isDateRange(flattened[key])) {
43953
43962
  const start = flattened[key].start;
@@ -43979,7 +43988,7 @@ function expandQueryParams(params) {
43979
43988
  };
43980
43989
  }
43981
43990
  else {
43982
- expanded[key] = value.split(',');
43991
+ expanded[key] = value.split(',').map((v) => v.replace(/%2C/g, ','));
43983
43992
  }
43984
43993
  }
43985
43994
  }
@@ -44015,7 +44024,8 @@ class RouterFacade {
44015
44024
  });
44016
44025
  }
44017
44026
  goToOrganization(organizationName) {
44018
- const path = `${this.routerService.getOrganizationPageRoute()}/${organizationName}`;
44027
+ const safeOrgName = organizationName.replace(/\//g, '');
44028
+ const path = `${this.routerService.getOrganizationPageRoute()}/${safeOrgName}`;
44019
44029
  this.go({
44020
44030
  path,
44021
44031
  queryParamsHandling: '',
@@ -44301,5 +44311,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
44301
44311
  * Generated bundle index. Do not edit.
44302
44312
  */
44303
44313
 
44304
- 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, getGeometryBoundingBox, 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 };
44314
+ 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, FormFieldInspireThemeComponent, FormFieldKeywordsComponent, FormFieldLicenseComponent, FormFieldObjectComponent, FormFieldRichComponent, FormFieldSimpleComponent, FormFieldSpatialExtentComponent, FormFieldTemporalExtentsComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GEONETWORK_UI_TAG_NAME, GEONETWORK_UI_VERSION, GeoDataBadgeComponent, GeoTableViewComponent, GeocodingComponent, GeojsonReader, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InlineFilterComponent, InteractiveTableColumnComponent, InteractiveTableComponent, InternalLinkCardComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, KindBadgeComponent, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, MetadataQualityPanelComponent, ModalDialogComponent, MultilingualPanelComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NOT_APPLICABLE_CONSTRAINT, NOT_KNOWN_CONSTRAINT, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PossibleResourceTypes, PossibleResourceTypesDefinition, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_DATASET_URL_TOKEN, RECORD_REUSE_URL_TOKEN, RECORD_SERVICE_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_REUSE, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordKindField, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResourceTypeLegacyField, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsHitsSearchKindComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFeatureCatalogComponent, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, ServiceCapabilitiesComponent, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpatialExtentComponent, SpinningLoaderComponent, StarToggleComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEBUG_CONFIG, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, TruncatedTextComponent, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, 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, getGeometryBoundingBox, getGeometryFromGeoJSON, getGlobalConfig, getIsMobile, getJsonDataItemsProxy, getLayers, getLinkId, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getQualityValidators, getResourceType, getReuseType, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, kindToCodeListValue, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, matchesNoApplicableConstraint, matchesNoKnownConstraint, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideI18n, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCanEditRecord, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemsFixture, toDate, toLang2, toLang3, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateLanguages, updateRecordField, updateRecordLanguages, wmsLayerFlatten, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
44305
44315
  //# sourceMappingURL=geonetwork-ui.mjs.map