geonetwork-ui 2.7.0-dev.816935147 → 2.7.0-dev.84c2b3081

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 (126) 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 +21 -21
  15. package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +3 -1
  16. package/esm2022/libs/api/repository/src/lib/metadata-language.token.mjs +3 -0
  17. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  18. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  19. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +3 -3
  20. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.mjs +55 -0
  21. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +8 -3
  22. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/index.mjs +2 -1
  23. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +77 -1
  24. package/esm2022/libs/feature/router/src/lib/default/state/query-params.utils.mjs +4 -3
  25. package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +3 -2
  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 +6 -4
  32. package/esm2022/translations/de.json +42 -20
  33. package/esm2022/translations/en.json +43 -21
  34. package/esm2022/translations/es.json +29 -7
  35. package/esm2022/translations/fr.json +47 -25
  36. package/esm2022/translations/it.json +42 -20
  37. package/esm2022/translations/nl.json +29 -7
  38. package/esm2022/translations/pt.json +29 -7
  39. package/esm2022/translations/sk.json +33 -11
  40. package/fesm2022/geonetwork-ui.mjs +552 -652
  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/gn4/platform/gn4-platform.service.d.ts +6 -7
  52. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  53. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts +2 -0
  54. package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
  55. package/libs/api/repository/src/lib/metadata-language.token.d.ts +5 -0
  56. package/libs/api/repository/src/lib/metadata-language.token.d.ts.map +1 -0
  57. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +5 -1
  58. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  59. package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -0
  60. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  61. package/libs/feature/catalog/src/lib/sources/sources.service.d.ts.map +1 -1
  62. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.d.ts +20 -0
  63. 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
  64. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +1 -0
  65. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  66. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts +1 -0
  67. package/libs/feature/editor/src/lib/components/record-form/form-field/index.d.ts.map +1 -1
  68. package/libs/feature/editor/src/lib/fields.config.d.ts +8 -1
  69. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  70. package/libs/feature/router/src/lib/default/state/query-params.utils.d.ts.map +1 -1
  71. package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
  72. package/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.d.ts.map +1 -1
  73. package/libs/util/app-config/src/lib/parse-utils.d.ts.map +1 -1
  74. package/libs/util/i18n/src/lib/language-codes.d.ts +91 -31
  75. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  76. package/libs/util/shared/src/lib/record/quality-score.util.d.ts.map +1 -1
  77. package/package.json +1 -1
  78. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +3 -6
  79. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +47 -22
  80. package/src/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.ts +2 -2
  81. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +2 -2
  82. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +2 -2
  83. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +3 -3
  84. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +6 -6
  85. package/src/libs/api/repository/src/index.ts +1 -1
  86. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +4 -4
  87. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +15 -11
  88. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +2 -2
  89. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +2 -2
  90. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +2 -2
  91. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +22 -35
  92. package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +8 -0
  93. package/src/libs/api/repository/src/lib/metadata-language.token.ts +8 -0
  94. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +6 -1
  95. package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -0
  96. package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +2 -5
  97. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.css +0 -0
  98. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.html +22 -0
  99. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-inspire-field/form-field-inspire-theme.component.ts +57 -0
  100. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +6 -0
  101. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +5 -0
  102. package/src/libs/feature/editor/src/lib/components/record-form/form-field/index.ts +1 -0
  103. package/src/libs/feature/editor/src/lib/fields.config.ts +85 -1
  104. package/src/libs/feature/router/src/lib/default/state/query-params.utils.ts +5 -2
  105. package/src/libs/feature/router/src/lib/default/state/router.facade.ts +2 -1
  106. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.ts +6 -6
  107. package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.ts +0 -6
  108. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -1
  109. package/src/libs/util/app-config/src/lib/parse-utils.ts +4 -7
  110. package/src/libs/util/i18n/src/lib/language-codes.ts +62 -11
  111. package/src/libs/util/shared/src/lib/record/quality-score.util.ts +10 -3
  112. package/translations/de.json +42 -20
  113. package/translations/en.json +43 -21
  114. package/translations/es.json +29 -7
  115. package/translations/fr.json +47 -25
  116. package/translations/it.json +42 -20
  117. package/translations/nl.json +29 -7
  118. package/translations/pt.json +29 -7
  119. package/translations/sk.json +33 -11
  120. package/esm2022/libs/api/repository/src/lib/metadata-language.mjs +0 -3
  121. package/esm2022/libs/util/app-config/src/lib/constants.mjs +0 -439
  122. package/libs/api/repository/src/lib/metadata-language.d.ts +0 -3
  123. package/libs/api/repository/src/lib/metadata-language.d.ts.map +0 -1
  124. package/libs/util/app-config/src/lib/constants.d.ts +0 -2
  125. package/libs/util/app-config/src/lib/constants.d.ts.map +0 -1
  126. package/src/libs/api/repository/src/lib/metadata-language.ts +0 -3
@@ -926,21 +926,33 @@ function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
926
926
  : null;
927
927
  }
928
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
+ */
929
934
  const LANG_3_TO_2_MAPPER = {
930
935
  eng: 'en',
936
+ nld: 'nl', // duplicate for "dut"
931
937
  dut: 'nl',
938
+ fra: 'fr', // duplicate for "fre"
932
939
  fre: 'fr',
940
+ deu: 'de', // duplicate for "ger"
933
941
  ger: 'de',
934
942
  kor: 'ko',
935
943
  spa: 'es',
944
+ ces: 'cs', // duplicate for "cze"
936
945
  cze: 'cs',
937
946
  cat: 'ca',
938
947
  fin: 'fi',
948
+ isl: 'is', // duplicate for "ice"
939
949
  ice: 'is',
940
950
  ita: 'it',
941
951
  por: 'pt',
942
952
  rus: 'ru',
953
+ zho: 'zh', // duplicate for "chi"
943
954
  chi: 'zh',
955
+ slk: 'sk', // duplicate for "slo"
944
956
  slo: 'sk',
945
957
  roh: 'rm',
946
958
  ara: 'ar',
@@ -951,8 +963,10 @@ const LANG_3_TO_2_MAPPER = {
951
963
  tur: 'tr',
952
964
  arm: 'hy',
953
965
  aze: 'az',
966
+ kat: 'ka', // duplicate for "geo"
954
967
  geo: 'ka',
955
968
  ukr: 'uk',
969
+ cym: 'cy', // duplicate for "wel"
956
970
  wel: 'cy',
957
971
  };
958
972
  const LANGUAGE_NAMES = {
@@ -987,15 +1001,42 @@ const LANGUAGE_NAMES = {
987
1001
  const LANG_2_TO_3_MAPPER = Object.entries(LANG_3_TO_2_MAPPER).reduce((mapperObject, langEntry) => {
988
1002
  return { ...mapperObject, [langEntry[1]]: langEntry[0] };
989
1003
  }, {});
990
- function getLang3FromLang2(lang2) {
991
- return LANG_2_TO_3_MAPPER[lang2] ?? lang2;
992
- }
993
- function getLang2FromLang3(lang3) {
994
- 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;
995
1018
  }
996
- function getLocalizedIndexKey(lang2) {
997
- const lang3 = getLang3FromLang2(lang2);
998
- 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;
999
1040
  }
1000
1041
  marker('language.en');
1001
1042
  marker('language.nl');
@@ -1530,10 +1571,10 @@ function readSpatialExtents$1(rootEl) {
1530
1571
  }
1531
1572
  function readOtherLanguages$1(rootEl) {
1532
1573
  const defaultLanguage = readDefaultLanguage$2(rootEl);
1533
- 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);
1534
1575
  }
1535
1576
  function readDefaultLanguage$2(rootEl) {
1536
- 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);
1537
1578
  }
1538
1579
  function readResourceIdentifier(rootEl) {
1539
1580
  return pipe(findIdentification(), findNestedElement('gmd:citation', 'gmd:CI_Citation', 'gmd:identifier', 'gmd:MD_Identifier', 'gmd:code'), extractCharacterString())(rootEl);
@@ -1991,7 +2032,7 @@ function appendServiceOnlineResources(record, rootEl) {
1991
2032
  }
1992
2033
  function writeOnlineResources$1(record, rootEl) {
1993
2034
  removeOnlineResources()(rootEl);
1994
- if (record.kind === 'dataset') {
2035
+ if (record.kind === 'dataset' || record.kind === 'reuse') {
1995
2036
  appendDatasetOnlineResources(record, rootEl);
1996
2037
  return;
1997
2038
  }
@@ -2033,12 +2074,12 @@ function writeLanguages(record, rootEl) {
2033
2074
  if (!record.otherLanguages?.length) {
2034
2075
  return;
2035
2076
  }
2036
- 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));
2037
2078
  // add new languages (only if other than default one)
2038
2079
  appendChildren(createLanguageEl(record.defaultLanguage), ...record.otherLanguages.map(createLanguageEl))(rootEl);
2039
2080
  }
2040
2081
  function writeDefaultLanguage$1(record, rootEl) {
2041
- const lang3 = getLang3FromLang2(record.defaultLanguage.toLowerCase());
2082
+ const lang3 = toLang3(record.defaultLanguage.toLowerCase());
2042
2083
  return pipe(findNestedChildOrCreate('gmd:language', 'gmd:LanguageCode'), writeAttribute('codeList', 'http://www.loc.gov/standards/iso639-2/'), writeAttribute('codeListValue', lang3))(rootEl);
2043
2084
  }
2044
2085
  function writeResourceIdentifier(record, rootEl) {
@@ -2478,7 +2519,7 @@ function readOnlineResources$1(rootEl) {
2478
2519
  return pipe(findNestedElements('mrd:distributionInfo', 'mrd:MD_Distribution'), mapArray(getOnlineResources), flattenArray())(rootEl);
2479
2520
  }
2480
2521
  function readLocaleElement() {
2481
- 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));
2482
2523
  }
2483
2524
  function readDefaultLanguage$1(rootEl) {
2484
2525
  return pipe(findChildElement('mdb:defaultLocale', false), readLocaleElement())(rootEl);
@@ -2617,7 +2658,7 @@ function writeOnlineResources(record, rootEl) {
2617
2658
  });
2618
2659
  }
2619
2660
  function writeLocaleElement(language) {
2620
- const lang3 = getLang3FromLang2(language.toLowerCase()) ?? language;
2661
+ const lang3 = toLang3(language.toLowerCase()) ?? language;
2621
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));
2622
2663
  }
2623
2664
  function writeDefaultLanguage(record, rootEl) {
@@ -3122,11 +3163,8 @@ function readDefaultLanguage(dataStore, recordNode) {
3122
3163
  if (!statements.length)
3123
3164
  return null;
3124
3165
  const languageNode = statements[0].object;
3125
- let language = languageNode.value.split('/').pop().toLowerCase();
3126
- if (language.length === 3) {
3127
- language = getLang2FromLang3(language) ?? language;
3128
- }
3129
- return language.substring(0, 2);
3166
+ const language = languageNode.value.split('/').pop().toLowerCase();
3167
+ return toLang2(language) ?? language;
3130
3168
  }
3131
3169
 
3132
3170
  /**
@@ -18709,7 +18747,7 @@ var de = {
18709
18747
  "Add Layer As": "",
18710
18748
  "Enter to search": "",
18711
18749
  "button.login": "",
18712
- "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}}",
18713
18751
  "catalog.figures.organizations": "{count, plural, =0{Organisationen} one{Organisation} other{Organisationen}}",
18714
18752
  "chart.aggregation.average": "Durchschnitt",
18715
18753
  "chart.aggregation.count": "Anzahl",
@@ -18890,6 +18928,26 @@ var de = {
18890
18928
  "editor.record.form.field.topics": "Kategorien",
18891
18929
  "editor.record.form.field.uniqueIdentifier": "Eindeutige Kennung (ID)",
18892
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": "",
18893
18951
  "editor.record.form.keywords.place.placeholder": "",
18894
18952
  "editor.record.form.keywords.place.withoutExtent": "",
18895
18953
  "editor.record.form.keywords.placeholder": "",
@@ -18925,6 +18983,8 @@ var de = {
18925
18983
  "editor.record.form.section.dataManagers.description": "",
18926
18984
  "editor.record.form.section.dataManagers.label": "",
18927
18985
  "editor.record.form.section.geographicalCoverage.label": "",
18986
+ "editor.record.form.section.inspire.description": "",
18987
+ "editor.record.form.section.inspire.label": "",
18928
18988
  "editor.record.form.section.metadataPointOfContact.description": "",
18929
18989
  "editor.record.form.section.metadataPointOfContact.label": "",
18930
18990
  "editor.record.form.section.useAndAccessConditions.label": "",
@@ -19073,10 +19133,10 @@ var de = {
19073
19133
  "organisations.sortBy.nameDesc": "Name Z → A",
19074
19134
  "organisations.sortBy.recordCountAsc": "Veröffentlichungen 0 → 9",
19075
19135
  "organisations.sortBy.recordCountDesc": "Veröffentlichungen 9 → 0",
19076
- "organization.details.lastPublishedDatasets": "",
19136
+ "organization.details.lastPublishedDatasets": "Zuletzt veröffentlichte Ressourcen",
19077
19137
  "organization.details.lastPublishedDatasets.searchAllButton": "",
19078
19138
  "organization.details.mailContact": "",
19079
- "organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
19139
+ "organization.header.recordCount": "{count, plural, =0{Veröffentlichung} one{Veröffentlichung} other{Veröffentlichungen}}",
19080
19140
  "pagination.nextPage": "Nächste Seite",
19081
19141
  "pagination.page": "Seite",
19082
19142
  "pagination.pageOf": "von",
@@ -19167,12 +19227,12 @@ var de = {
19167
19227
  "record.metadata.publication": "Veröffentlichungsdatum",
19168
19228
  "record.metadata.publications": "{count, plural, =0{Veröffentlichungsdatum} one{Veröffentlichungsdatum} other{Veröffentlichungen}}",
19169
19229
  "record.metadata.quality": "Metadatenqualität",
19230
+ "record.metadata.quality.abstract.failed": "Beschreibung nicht angegeben",
19231
+ "record.metadata.quality.abstract.success": "Beschreibung angegeben",
19170
19232
  "record.metadata.quality.capabilities.failed": "",
19171
- "record.metadata.quality.capabilities.success": "",
19172
- "record.metadata.quality.contact.failed": "Kontakt nicht angegeben",
19173
- "record.metadata.quality.contact.success": "Kontakt angegeben",
19174
- "record.metadata.quality.description.failed": "Beschreibung nicht angegeben",
19175
- "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": "",
19176
19236
  "record.metadata.quality.details": "Details",
19177
19237
  "record.metadata.quality.keywords.failed": "Schlagwörter nicht angegeben",
19178
19238
  "record.metadata.quality.keywords.success": "Schlagwörter angegeben",
@@ -19184,8 +19244,8 @@ var de = {
19184
19244
  "record.metadata.quality.source.success": "",
19185
19245
  "record.metadata.quality.title.failed": "Titel nicht angegeben",
19186
19246
  "record.metadata.quality.title.success": "Titel angegeben",
19187
- "record.metadata.quality.topic.failed": "Thema nicht angegeben",
19188
- "record.metadata.quality.topic.success": "Thema angegeben",
19247
+ "record.metadata.quality.topics.failed": "Thema nicht angegeben",
19248
+ "record.metadata.quality.topics.success": "Thema angegeben",
19189
19249
  "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
19190
19250
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
19191
19251
  "record.metadata.related": "Entdecken Sie den Katalog",
@@ -19216,18 +19276,18 @@ var de = {
19216
19276
  "record.tab.chart": "Diagramm",
19217
19277
  "record.tab.data": "Tabelle",
19218
19278
  "record.tab.map": "Karte",
19219
- "record.was.created.time": "erstellte diesen Datensatz {time}",
19279
+ "record.was.created.time": "erstellte diesen Ressource {time}",
19220
19280
  records: records$7,
19221
19281
  "results.layout.selectOne": "Layout auswählen",
19222
- "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.}}",
19223
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>",
19224
- "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.}}",
19225
19285
  "results.records.hits.selected": "{ amount } ausgewählt",
19226
19286
  "results.showMore": "Mehr Ergebnisse anzeigen...",
19227
19287
  "results.sortBy.changeDate": "",
19228
19288
  "results.sortBy.dateStamp": "Neueste",
19229
19289
  "results.sortBy.popularity": "Beliebtheit",
19230
- "results.sortBy.qualityScore": "Qualitätsbewertung",
19290
+ "results.sortBy.qualityScore": "Fertigstellungsanzeige",
19231
19291
  "results.sortBy.relevancy": "Relevanz",
19232
19292
  "reuse.metadata.access": "",
19233
19293
  "search.autocomplete.error": "Vorschläge konnten nicht abgerufen werden:",
@@ -19236,7 +19296,7 @@ var de = {
19236
19296
  "search.error.organizationNotFound": "",
19237
19297
  "search.error.receivedError": "Ein Fehler ist aufgetreten",
19238
19298
  "search.error.recordHasnolink": "",
19239
- "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.",
19240
19300
  "search.field.any.placeholder": "Suche im katalog ...",
19241
19301
  "search.field.sortBy": "Sortieren nach:",
19242
19302
  "search.filter.into.feature.catalog": "",
@@ -19263,10 +19323,10 @@ var de = {
19263
19323
  "search.filters.license.unknown": "Unbekannt oder nicht vorhanden",
19264
19324
  "search.filters.maximize": "Erweitern",
19265
19325
  "search.filters.minimize": "Minimieren",
19266
- "search.filters.myRecords": "Nur meine Datensätze anzeigen",
19267
- "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.",
19268
19328
  "search.filters.organization": "",
19269
- "search.filters.otherRecords": "Datensätze von einer anderen Person anzeigen",
19329
+ "search.filters.otherRecords": "Ressourcen von einer anderen Person anzeigen",
19270
19330
  "search.filters.producerOrg": "",
19271
19331
  "search.filters.publicationYear": "Veröffentlichungsjahr",
19272
19332
  "search.filters.publisherOrg": "",
@@ -19281,8 +19341,8 @@ var de = {
19281
19341
  "search.filters.summaryLabel.user": "Geändert von: ",
19282
19342
  "search.filters.title": "Ergebnisse filtern",
19283
19343
  "search.filters.topic": "Themen",
19284
- "search.filters.useSpatialFilter": "Zuerst Datensätze im Interessenbereich anzeigen",
19285
- "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.",
19286
19346
  "search.filters.user": "Editor",
19287
19347
  "service.metadata.capabilities": "",
19288
19348
  "service.metadata.capabilities.abstract": "",
@@ -19337,7 +19397,7 @@ var en = {
19337
19397
  "Add Layer As": "",
19338
19398
  "Enter to search": "",
19339
19399
  "button.login": "Log in",
19340
- "catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
19400
+ "catalog.figures.datasets": "{count, plural, =0{record} one{record} other{records}}",
19341
19401
  "catalog.figures.organizations": "{count, plural, =0{organizations} one{organization} other{organizations}}",
19342
19402
  "chart.aggregation.average": "average",
19343
19403
  "chart.aggregation.count": "count",
@@ -19518,6 +19578,26 @@ var en = {
19518
19578
  "editor.record.form.field.topics": "Categories",
19519
19579
  "editor.record.form.field.uniqueIdentifier": "Unique identifier",
19520
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",
19521
19601
  "editor.record.form.keywords.place.placeholder": "Search for place keywords",
19522
19602
  "editor.record.form.keywords.place.withoutExtent": "This keyword is not associated with any geographical extent",
19523
19603
  "editor.record.form.keywords.placeholder": "Select a keyword",
@@ -19553,6 +19633,8 @@ var en = {
19553
19633
  "editor.record.form.section.dataManagers.description": "The data managers are responsible for the data",
19554
19634
  "editor.record.form.section.dataManagers.label": "Data managers",
19555
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",
19556
19638
  "editor.record.form.section.metadataPointOfContact.description": "This information concerns the metadata",
19557
19639
  "editor.record.form.section.metadataPointOfContact.label": "Metadata point of contact",
19558
19640
  "editor.record.form.section.useAndAccessConditions.label": "Use and access conditions",
@@ -19701,10 +19783,10 @@ var en = {
19701
19783
  "organisations.sortBy.nameDesc": "Name Z → A",
19702
19784
  "organisations.sortBy.recordCountAsc": "Publications 0 → 9",
19703
19785
  "organisations.sortBy.recordCountDesc": "Publications 9 → 0",
19704
- "organization.details.lastPublishedDatasets": "Last published datasets",
19786
+ "organization.details.lastPublishedDatasets": "Last published records",
19705
19787
  "organization.details.lastPublishedDatasets.searchAllButton": "Search all",
19706
19788
  "organization.details.mailContact": "Contact by email",
19707
- "organization.header.recordCount": "{count, plural, =0{data} one{data} other{datas}}",
19789
+ "organization.header.recordCount": "{count, plural, =0{publication} one{publication} other{publications}}",
19708
19790
  "pagination.nextPage": "Next page",
19709
19791
  "pagination.page": "Page",
19710
19792
  "pagination.pageOf": "of",
@@ -19795,12 +19877,12 @@ var en = {
19795
19877
  "record.metadata.publication": "Date of publication",
19796
19878
  "record.metadata.publications": "{count, plural, =0{publication} one{publication} other{publications}}",
19797
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",
19798
19882
  "record.metadata.quality.capabilities.failed": "Capabilities URL is not specified",
19799
19883
  "record.metadata.quality.capabilities.success": "Capabilities URL is specified",
19800
- "record.metadata.quality.contact.failed": "Contact is not specified",
19801
- "record.metadata.quality.contact.success": "Contact is specified",
19802
- "record.metadata.quality.description.failed": "Description is not specified",
19803
- "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",
19804
19886
  "record.metadata.quality.details": "Details",
19805
19887
  "record.metadata.quality.keywords.failed": "Keywords are not specified",
19806
19888
  "record.metadata.quality.keywords.success": "Keywords are specified",
@@ -19812,8 +19894,8 @@ var en = {
19812
19894
  "record.metadata.quality.source.success": "A source dataset is specified",
19813
19895
  "record.metadata.quality.title.failed": "Title is not specified",
19814
19896
  "record.metadata.quality.title.success": "Title is specified",
19815
- "record.metadata.quality.topic.failed": "Topic is not specified",
19816
- "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",
19817
19899
  "record.metadata.quality.updateFrequency.failed": "Update frequency is not specified",
19818
19900
  "record.metadata.quality.updateFrequency.success": "Update frequency is specified",
19819
19901
  "record.metadata.related": "Explore the catalog",
@@ -19844,27 +19926,27 @@ var en = {
19844
19926
  "record.tab.chart": "Chart",
19845
19927
  "record.tab.data": "Table",
19846
19928
  "record.tab.map": "Map",
19847
- "record.was.created.time": "created this dataset {time}",
19929
+ "record.was.created.time": "created this record {time}",
19848
19930
  records: records$6,
19849
19931
  "results.layout.selectOne": "Results layout",
19850
- "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.}}",
19851
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>",
19852
- "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.}}",
19853
19935
  "results.records.hits.selected": "{ amount } selected",
19854
19936
  "results.showMore": "Show more results...",
19855
19937
  "results.sortBy.changeDate": "Last modification",
19856
19938
  "results.sortBy.dateStamp": "Newest",
19857
19939
  "results.sortBy.popularity": "Popularity",
19858
- "results.sortBy.qualityScore": "Quality score",
19940
+ "results.sortBy.qualityScore": "Completion score",
19859
19941
  "results.sortBy.relevancy": "Relevancy",
19860
19942
  "reuse.metadata.access": "Access the reuse",
19861
19943
  "search.autocomplete.error": "Suggestions could not be fetched:",
19862
19944
  "search.error.couldNotReachApi": "The API could not be reached",
19863
- "search.error.organizationHasNoDataset": "This organization has no dataset yet.",
19945
+ "search.error.organizationHasNoDataset": "This organization has no records yet.",
19864
19946
  "search.error.organizationNotFound": "This organization could not be found.",
19865
19947
  "search.error.receivedError": "An error was received",
19866
- "search.error.recordHasnolink": "This dataset currently has no link yet, please come back later.",
19867
- "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.",
19868
19950
  "search.field.any.placeholder": "Search in the catalog ...",
19869
19951
  "search.field.sortBy": "Sort by:",
19870
19952
  "search.filter.into.feature.catalog": "Search a term",
@@ -19891,10 +19973,10 @@ var en = {
19891
19973
  "search.filters.license.unknown": "Unknown or absent",
19892
19974
  "search.filters.maximize": "Expand",
19893
19975
  "search.filters.minimize": "Minimize",
19894
- "search.filters.myRecords": "Show only my datasets",
19895
- "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.",
19896
19978
  "search.filters.organization": "Organization",
19897
- "search.filters.otherRecords": "Showing datasets from another person",
19979
+ "search.filters.otherRecords": "Showing records from another person",
19898
19980
  "search.filters.producerOrg": "Producer",
19899
19981
  "search.filters.publicationYear": "Publication year",
19900
19982
  "search.filters.publisherOrg": "Publisher",
@@ -19909,8 +19991,8 @@ var en = {
19909
19991
  "search.filters.summaryLabel.user": "Editor: ",
19910
19992
  "search.filters.title": "Filter your results",
19911
19993
  "search.filters.topic": "Topics",
19912
- "search.filters.useSpatialFilter": "Show datasets in the area of interest first",
19913
- "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.",
19914
19996
  "search.filters.user": "Editor",
19915
19997
  "service.metadata.capabilities": "Technical information",
19916
19998
  "service.metadata.capabilities.abstract": "Abstract",
@@ -19965,7 +20047,7 @@ var es = {
19965
20047
  "Add Layer As": "",
19966
20048
  "Enter to search": "",
19967
20049
  "button.login": "",
19968
- "catalog.figures.datasets": "conjuntos de datos",
20050
+ "catalog.figures.datasets": "recursos",
19969
20051
  "catalog.figures.organizations": "organizaciones",
19970
20052
  "chart.aggregation.average": "promedio",
19971
20053
  "chart.aggregation.count": "conteo",
@@ -20146,6 +20228,26 @@ var es = {
20146
20228
  "editor.record.form.field.topics": "Categorías",
20147
20229
  "editor.record.form.field.uniqueIdentifier": "",
20148
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": "",
20149
20251
  "editor.record.form.keywords.place.placeholder": "",
20150
20252
  "editor.record.form.keywords.place.withoutExtent": "",
20151
20253
  "editor.record.form.keywords.placeholder": "",
@@ -20181,6 +20283,8 @@ var es = {
20181
20283
  "editor.record.form.section.dataManagers.description": "",
20182
20284
  "editor.record.form.section.dataManagers.label": "",
20183
20285
  "editor.record.form.section.geographicalCoverage.label": "",
20286
+ "editor.record.form.section.inspire.description": "",
20287
+ "editor.record.form.section.inspire.label": "",
20184
20288
  "editor.record.form.section.metadataPointOfContact.description": "",
20185
20289
  "editor.record.form.section.metadataPointOfContact.label": "",
20186
20290
  "editor.record.form.section.useAndAccessConditions.label": "",
@@ -20423,12 +20527,12 @@ var es = {
20423
20527
  "record.metadata.publication": "",
20424
20528
  "record.metadata.publications": "{count, plural, =0{} one{} other{}}",
20425
20529
  "record.metadata.quality": "",
20530
+ "record.metadata.quality.abstract.failed": "",
20531
+ "record.metadata.quality.abstract.success": "",
20426
20532
  "record.metadata.quality.capabilities.failed": "",
20427
20533
  "record.metadata.quality.capabilities.success": "",
20428
- "record.metadata.quality.contact.failed": "",
20429
- "record.metadata.quality.contact.success": "",
20430
- "record.metadata.quality.description.failed": "",
20431
- "record.metadata.quality.description.success": "",
20534
+ "record.metadata.quality.contacts.failed": "",
20535
+ "record.metadata.quality.contacts.success": "",
20432
20536
  "record.metadata.quality.details": "",
20433
20537
  "record.metadata.quality.keywords.failed": "",
20434
20538
  "record.metadata.quality.keywords.success": "",
@@ -20440,8 +20544,8 @@ var es = {
20440
20544
  "record.metadata.quality.source.success": "",
20441
20545
  "record.metadata.quality.title.failed": "",
20442
20546
  "record.metadata.quality.title.success": "",
20443
- "record.metadata.quality.topic.failed": "",
20444
- "record.metadata.quality.topic.success": "",
20547
+ "record.metadata.quality.topics.failed": "",
20548
+ "record.metadata.quality.topics.success": "",
20445
20549
  "record.metadata.quality.updateFrequency.failed": "",
20446
20550
  "record.metadata.quality.updateFrequency.success": "",
20447
20551
  "record.metadata.related": "",
@@ -20593,7 +20697,7 @@ var fr = {
20593
20697
  "Add Layer As": "",
20594
20698
  "Enter to search": "",
20595
20699
  "button.login": "Se connecter",
20596
- "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}}",
20597
20701
  "catalog.figures.organizations": "{count, plural, =0{organisations} one{organisation} other{organisations}}",
20598
20702
  "chart.aggregation.average": "moyenne",
20599
20703
  "chart.aggregation.count": "nombre",
@@ -20774,6 +20878,26 @@ var fr = {
20774
20878
  "editor.record.form.field.topics": "Thèmes",
20775
20879
  "editor.record.form.field.uniqueIdentifier": "Identifiant unique",
20776
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",
20777
20901
  "editor.record.form.keywords.place.placeholder": "Rechercher une localisation par mot-clé",
20778
20902
  "editor.record.form.keywords.place.withoutExtent": "Ce mot-clé n'a pas de localisation géographique associée",
20779
20903
  "editor.record.form.keywords.placeholder": "Sélectionnez un mot-clé",
@@ -20809,6 +20933,8 @@ var fr = {
20809
20933
  "editor.record.form.section.dataManagers.description": "Cette information concerne la donnée",
20810
20934
  "editor.record.form.section.dataManagers.label": "Responsables de la donnée",
20811
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",
20812
20938
  "editor.record.form.section.metadataPointOfContact.description": "Cette information concerne la métadonnée",
20813
20939
  "editor.record.form.section.metadataPointOfContact.label": "Point de contact de la métadonnée",
20814
20940
  "editor.record.form.section.useAndAccessConditions.label": "Conditions d'accès et d'utilisation",
@@ -20955,12 +21081,12 @@ var fr = {
20955
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}}",
20956
21082
  "organisations.sortBy.nameAsc": "Nom A → Z",
20957
21083
  "organisations.sortBy.nameDesc": "Nom Z → A",
20958
- "organisations.sortBy.recordCountAsc": "Données 0 → 9",
20959
- "organisations.sortBy.recordCountDesc": "Données 9 → 0",
20960
- "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",
20961
21087
  "organization.details.lastPublishedDatasets.searchAllButton": "Rechercher tout",
20962
21088
  "organization.details.mailContact": "Contacter par mail",
20963
- "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}}",
20964
21090
  "pagination.nextPage": "Page suivante",
20965
21091
  "pagination.page": "Page",
20966
21092
  "pagination.pageOf": "sur",
@@ -21049,14 +21175,14 @@ var fr = {
21049
21175
  "record.metadata.preview.config.saving": "Sauvegarde...",
21050
21176
  "record.metadata.producer": "Producteur de la donnée",
21051
21177
  "record.metadata.publication": "Date de publication",
21052
- "record.metadata.publications": "{count, plural, =0{donnée} one{donnée} other{données}}",
21053
- "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",
21054
21182
  "record.metadata.quality.capabilities.failed": "Aucune URL de Capabilities n'est renseignée",
21055
21183
  "record.metadata.quality.capabilities.success": "Une URL de Capabilities est renseignée",
21056
- "record.metadata.quality.contact.failed": "Le contact n'est pas renseigné",
21057
- "record.metadata.quality.contact.success": "Le contact est renseigné",
21058
- "record.metadata.quality.description.failed": "La description n'est pas renseignée",
21059
- "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é",
21060
21186
  "record.metadata.quality.details": "Détails",
21061
21187
  "record.metadata.quality.keywords.failed": "Les mots-clés ne sont pas renseignés",
21062
21188
  "record.metadata.quality.keywords.success": "Les mots-clés sont renseignés",
@@ -21068,8 +21194,8 @@ var fr = {
21068
21194
  "record.metadata.quality.source.success": "Un jeu de données source est renseigné",
21069
21195
  "record.metadata.quality.title.failed": "Le titre n'est pas renseigné",
21070
21196
  "record.metadata.quality.title.success": "Le titre est renseigné",
21071
- "record.metadata.quality.topic.failed": "Le thème n'est pas renseigné",
21072
- "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é",
21073
21199
  "record.metadata.quality.updateFrequency.failed": "La fréquence de mise à jour n'est pas renseignée",
21074
21200
  "record.metadata.quality.updateFrequency.success": "La fréquence de mise à jour est renseignée",
21075
21201
  "record.metadata.related": "Explorez le catalogue",
@@ -21100,27 +21226,27 @@ var fr = {
21100
21226
  "record.tab.chart": "Graphique",
21101
21227
  "record.tab.data": "Tableau",
21102
21228
  "record.tab.map": "Carte",
21103
- "record.was.created.time": "a créé ce jeu de données {time}",
21229
+ "record.was.created.time": "a créé cette ressource {time}",
21104
21230
  records: records$4,
21105
21231
  "results.layout.selectOne": "Affichage des résultats",
21106
- "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.}}",
21107
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>",
21108
- "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.}}",
21109
21235
  "results.records.hits.selected": "{amount, plural, one{1 selectionné} other{{ amount } sélectionnés}}",
21110
21236
  "results.showMore": "Plus de résultats...",
21111
21237
  "results.sortBy.changeDate": "Dernière modification",
21112
21238
  "results.sortBy.dateStamp": "Plus récent",
21113
21239
  "results.sortBy.popularity": "Popularité",
21114
- "results.sortBy.qualityScore": "Indicateur de qualité",
21240
+ "results.sortBy.qualityScore": "Indicateur de complétion",
21115
21241
  "results.sortBy.relevancy": "Pertinence",
21116
21242
  "reuse.metadata.access": "Accéder à la réutilisation",
21117
21243
  "search.autocomplete.error": "Les suggestions ne peuvent pas être récupérées",
21118
21244
  "search.error.couldNotReachApi": "Problème de connexion à l'API",
21119
- "search.error.organizationHasNoDataset": "Cette organisation n'a pas encore de données.",
21245
+ "search.error.organizationHasNoDataset": "Cette organisation n'a pas encore de ressources.",
21120
21246
  "search.error.organizationNotFound": "L'organisation n'a pas pu être trouvée.",
21121
21247
  "search.error.receivedError": "Erreur retournée",
21122
- "search.error.recordHasnolink": "Ce jeu de données n'a pas encore de lien, réessayez plus tard s'il vous plaît.",
21123
- "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.",
21124
21250
  "search.field.any.placeholder": "Rechercher dans le catalogue...",
21125
21251
  "search.field.sortBy": "Trier par :",
21126
21252
  "search.filter.into.feature.catalog": "Rechercher un terme",
@@ -21147,10 +21273,10 @@ var fr = {
21147
21273
  "search.filters.license.unknown": "Non reconnue ou absente",
21148
21274
  "search.filters.maximize": "Agrandir",
21149
21275
  "search.filters.minimize": "Réduire",
21150
- "search.filters.myRecords": "Voir mes jeux de données",
21151
- "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.",
21152
21278
  "search.filters.organization": "Organisation",
21153
- "search.filters.otherRecords": "Affichage des jeux de données d'un autre utilisateur",
21279
+ "search.filters.otherRecords": "Affichage des ressources d'un autre utilisateur",
21154
21280
  "search.filters.producerOrg": "Producteur",
21155
21281
  "search.filters.publicationYear": "Année de publication",
21156
21282
  "search.filters.publisherOrg": "Distributeur",
@@ -21165,8 +21291,8 @@ var fr = {
21165
21291
  "search.filters.summaryLabel.user": "Éditeur : ",
21166
21292
  "search.filters.title": "Affiner votre recherche",
21167
21293
  "search.filters.topic": "Thèmes",
21168
- "search.filters.useSpatialFilter": "Mettre en avant les résultats sur la zone d'intérêt",
21169
- "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.",
21170
21296
  "search.filters.user": "Éditeur",
21171
21297
  "service.metadata.capabilities": "Informations techniques",
21172
21298
  "service.metadata.capabilities.abstract": "Description",
@@ -21221,7 +21347,7 @@ var it = {
21221
21347
  "Add Layer As": "",
21222
21348
  "Enter to search": "",
21223
21349
  "button.login": "Login",
21224
- "catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
21350
+ "catalog.figures.datasets": "{count, plural, =0{risorsa} one{risorsa} other{risorse}}",
21225
21351
  "catalog.figures.organizations": "{count, plural, =0{organizzazioni} one{organizzazione} other{organizzazioni}}",
21226
21352
  "chart.aggregation.average": "media",
21227
21353
  "chart.aggregation.count": "conteggio",
@@ -21402,6 +21528,26 @@ var it = {
21402
21528
  "editor.record.form.field.topics": "",
21403
21529
  "editor.record.form.field.uniqueIdentifier": "Identificatore univoco",
21404
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": "",
21405
21551
  "editor.record.form.keywords.place.placeholder": "Cerca una posizione per parola chiave",
21406
21552
  "editor.record.form.keywords.place.withoutExtent": "Questa parola chiave non ha una posizione geografica associata",
21407
21553
  "editor.record.form.keywords.placeholder": "Seleziona una parola chiave",
@@ -21437,6 +21583,8 @@ var it = {
21437
21583
  "editor.record.form.section.dataManagers.description": "Queste informazioni riguardano i dati",
21438
21584
  "editor.record.form.section.dataManagers.label": "Gestori dei dati",
21439
21585
  "editor.record.form.section.geographicalCoverage.label": "Copertura geografica",
21586
+ "editor.record.form.section.inspire.description": "",
21587
+ "editor.record.form.section.inspire.label": "",
21440
21588
  "editor.record.form.section.metadataPointOfContact.description": "Queste informazioni riguardano i metadati",
21441
21589
  "editor.record.form.section.metadataPointOfContact.label": "Punto di contatto dei metadati",
21442
21590
  "editor.record.form.section.useAndAccessConditions.label": "Condizioni di accesso e utilizzo",
@@ -21583,12 +21731,12 @@ var it = {
21583
21731
  "organisations.hits.found": "{hits, plural, =0{Nessuna organizzazione trovata} one{1 organizzazione su {total} visualizzata} other{{hits} organizzazioni su {total} visualizzate}}",
21584
21732
  "organisations.sortBy.nameAsc": "Nome A → Z",
21585
21733
  "organisations.sortBy.nameDesc": "Nome Z → A",
21586
- "organisations.sortBy.recordCountAsc": "Dati 0 → 9",
21587
- "organisations.sortBy.recordCountDesc": "Dati 9 → 0",
21588
- "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",
21589
21737
  "organization.details.lastPublishedDatasets.searchAllButton": "Cerca tutto",
21590
21738
  "organization.details.mailContact": "Contatto via email",
21591
- "organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
21739
+ "organization.header.recordCount": "{count, plural, =0{pubblicazione} one{pubblicazione} other{pubblicazioni}}",
21592
21740
  "pagination.nextPage": "Pagina successiva",
21593
21741
  "pagination.page": "pagina",
21594
21742
  "pagination.pageOf": "di",
@@ -21679,12 +21827,12 @@ var it = {
21679
21827
  "record.metadata.publication": "Data di pubblicazione",
21680
21828
  "record.metadata.publications": "{count, plural, =0{pubblicazione} one{pubblicazione} other{pubblicazioni}}",
21681
21829
  "record.metadata.quality": "Qualità dei metadati",
21830
+ "record.metadata.quality.abstract.failed": "",
21831
+ "record.metadata.quality.abstract.success": "",
21682
21832
  "record.metadata.quality.capabilities.failed": "",
21683
21833
  "record.metadata.quality.capabilities.success": "",
21684
- "record.metadata.quality.contact.failed": "Il contatto non è specificato",
21685
- "record.metadata.quality.contact.success": "Il contatto è specificato",
21686
- "record.metadata.quality.description.failed": "La descrizione non è specificata",
21687
- "record.metadata.quality.description.success": "La descrizione è specificata",
21834
+ "record.metadata.quality.contacts.failed": "",
21835
+ "record.metadata.quality.contacts.success": "",
21688
21836
  "record.metadata.quality.details": "Dettagli",
21689
21837
  "record.metadata.quality.keywords.failed": "Le parole chiave non sono specificate",
21690
21838
  "record.metadata.quality.keywords.success": "Le parole chiave sono specificate",
@@ -21696,8 +21844,8 @@ var it = {
21696
21844
  "record.metadata.quality.source.success": "",
21697
21845
  "record.metadata.quality.title.failed": "Il titolo non è specificato",
21698
21846
  "record.metadata.quality.title.success": "Il titolo è specificato",
21699
- "record.metadata.quality.topic.failed": "Il tema non è specificato",
21700
- "record.metadata.quality.topic.success": "Il tema è specificato",
21847
+ "record.metadata.quality.topics.failed": "",
21848
+ "record.metadata.quality.topics.success": "",
21701
21849
  "record.metadata.quality.updateFrequency.failed": "La frequenza di aggiornamento non è specificata",
21702
21850
  "record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
21703
21851
  "record.metadata.related": "Vedi anche",
@@ -21739,16 +21887,16 @@ var it = {
21739
21887
  "results.sortBy.changeDate": "Ultima modifica",
21740
21888
  "results.sortBy.dateStamp": "Più recente",
21741
21889
  "results.sortBy.popularity": "Popolarità",
21742
- "results.sortBy.qualityScore": "Indicatore di qualità",
21890
+ "results.sortBy.qualityScore": "Indicatore di completamento",
21743
21891
  "results.sortBy.relevancy": "Rilevanza",
21744
21892
  "reuse.metadata.access": "Accedere al riutilizzo",
21745
21893
  "search.autocomplete.error": "Impossibile recuperare le suggerimenti",
21746
21894
  "search.error.couldNotReachApi": "Problema di connessione all'API",
21747
- "search.error.organizationHasNoDataset": "Questa organizzazione non ha ancora dati.",
21895
+ "search.error.organizationHasNoDataset": "Questa organizzazione non ha ancora records.",
21748
21896
  "search.error.organizationNotFound": "Impossibile trovare l'organizzazione.",
21749
21897
  "search.error.receivedError": "Errore restituito",
21750
- "search.error.recordHasnolink": "Questo dataset non ha ancora alcun collegamento, riprova più tardi.",
21751
- "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.",
21752
21900
  "search.field.any.placeholder": "Cerca del catalogo...",
21753
21901
  "search.field.sortBy": "Ordina per:",
21754
21902
  "search.filter.into.feature.catalog": "Cerca una parola",
@@ -21775,10 +21923,10 @@ var it = {
21775
21923
  "search.filters.license.unknown": "Non riconosciuta o assente",
21776
21924
  "search.filters.maximize": "Ingrandisci",
21777
21925
  "search.filters.minimize": "Riduci",
21778
- "search.filters.myRecords": "Visualizza i miei dati",
21779
- "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.",
21780
21928
  "search.filters.organization": "Organizzazione",
21781
- "search.filters.otherRecords": "Visualizzazione dei dataset di un altro utente",
21929
+ "search.filters.otherRecords": "Visualizzazione delle risorsi di un altro utente",
21782
21930
  "search.filters.producerOrg": "Produttore",
21783
21931
  "search.filters.publicationYear": "Anno di pubblicazione",
21784
21932
  "search.filters.publisherOrg": "Distributore",
@@ -21793,8 +21941,8 @@ var it = {
21793
21941
  "search.filters.summaryLabel.user": "Editor: ",
21794
21942
  "search.filters.title": "Affina la sua ricerca",
21795
21943
  "search.filters.topic": "Argomenti",
21796
- "search.filters.useSpatialFilter": "Evidenzia i risultati nell'area di interesse",
21797
- "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.",
21798
21946
  "search.filters.user": "Editore",
21799
21947
  "service.metadata.capabilities": "Informazioni tecniche",
21800
21948
  "service.metadata.capabilities.abstract": "Riassunto",
@@ -21849,7 +21997,7 @@ var nl = {
21849
21997
  "Add Layer As": "",
21850
21998
  "Enter to search": "",
21851
21999
  "button.login": "",
21852
- "catalog.figures.datasets": "datasets",
22000
+ "catalog.figures.datasets": "bronnen",
21853
22001
  "catalog.figures.organizations": "organisaties",
21854
22002
  "chart.aggregation.average": "gemiddelde",
21855
22003
  "chart.aggregation.count": "aantal",
@@ -22030,6 +22178,26 @@ var nl = {
22030
22178
  "editor.record.form.field.topics": "",
22031
22179
  "editor.record.form.field.uniqueIdentifier": "",
22032
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": "",
22033
22201
  "editor.record.form.keywords.place.placeholder": "",
22034
22202
  "editor.record.form.keywords.place.withoutExtent": "",
22035
22203
  "editor.record.form.keywords.placeholder": "",
@@ -22065,6 +22233,8 @@ var nl = {
22065
22233
  "editor.record.form.section.dataManagers.description": "",
22066
22234
  "editor.record.form.section.dataManagers.label": "",
22067
22235
  "editor.record.form.section.geographicalCoverage.label": "",
22236
+ "editor.record.form.section.inspire.description": "",
22237
+ "editor.record.form.section.inspire.label": "",
22068
22238
  "editor.record.form.section.metadataPointOfContact.description": "",
22069
22239
  "editor.record.form.section.metadataPointOfContact.label": "",
22070
22240
  "editor.record.form.section.useAndAccessConditions.label": "",
@@ -22307,12 +22477,12 @@ var nl = {
22307
22477
  "record.metadata.publication": "",
22308
22478
  "record.metadata.publications": "{count, plural, =0{} one{} other{}}",
22309
22479
  "record.metadata.quality": "",
22480
+ "record.metadata.quality.abstract.failed": "",
22481
+ "record.metadata.quality.abstract.success": "",
22310
22482
  "record.metadata.quality.capabilities.failed": "",
22311
22483
  "record.metadata.quality.capabilities.success": "",
22312
- "record.metadata.quality.contact.failed": "",
22313
- "record.metadata.quality.contact.success": "",
22314
- "record.metadata.quality.description.failed": "",
22315
- "record.metadata.quality.description.success": "",
22484
+ "record.metadata.quality.contacts.failed": "",
22485
+ "record.metadata.quality.contacts.success": "",
22316
22486
  "record.metadata.quality.details": "",
22317
22487
  "record.metadata.quality.keywords.failed": "",
22318
22488
  "record.metadata.quality.keywords.success": "",
@@ -22324,8 +22494,8 @@ var nl = {
22324
22494
  "record.metadata.quality.source.success": "",
22325
22495
  "record.metadata.quality.title.failed": "",
22326
22496
  "record.metadata.quality.title.success": "",
22327
- "record.metadata.quality.topic.failed": "",
22328
- "record.metadata.quality.topic.success": "",
22497
+ "record.metadata.quality.topics.failed": "",
22498
+ "record.metadata.quality.topics.success": "",
22329
22499
  "record.metadata.quality.updateFrequency.failed": "",
22330
22500
  "record.metadata.quality.updateFrequency.success": "",
22331
22501
  "record.metadata.related": "",
@@ -22477,7 +22647,7 @@ var pt = {
22477
22647
  "Add Layer As": "",
22478
22648
  "Enter to search": "",
22479
22649
  "button.login": "",
22480
- "catalog.figures.datasets": "conjuntos de dados",
22650
+ "catalog.figures.datasets": "recursos",
22481
22651
  "catalog.figures.organizations": "organizações",
22482
22652
  "chart.aggregation.average": "média",
22483
22653
  "chart.aggregation.count": "contagem",
@@ -22658,6 +22828,26 @@ var pt = {
22658
22828
  "editor.record.form.field.topics": "",
22659
22829
  "editor.record.form.field.uniqueIdentifier": "",
22660
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": "",
22661
22851
  "editor.record.form.keywords.place.placeholder": "",
22662
22852
  "editor.record.form.keywords.place.withoutExtent": "",
22663
22853
  "editor.record.form.keywords.placeholder": "",
@@ -22693,6 +22883,8 @@ var pt = {
22693
22883
  "editor.record.form.section.dataManagers.description": "",
22694
22884
  "editor.record.form.section.dataManagers.label": "",
22695
22885
  "editor.record.form.section.geographicalCoverage.label": "",
22886
+ "editor.record.form.section.inspire.description": "",
22887
+ "editor.record.form.section.inspire.label": "",
22696
22888
  "editor.record.form.section.metadataPointOfContact.description": "",
22697
22889
  "editor.record.form.section.metadataPointOfContact.label": "",
22698
22890
  "editor.record.form.section.useAndAccessConditions.label": "",
@@ -22935,12 +23127,12 @@ var pt = {
22935
23127
  "record.metadata.publication": "",
22936
23128
  "record.metadata.publications": "{count, plural, =0{} one{} other{}}",
22937
23129
  "record.metadata.quality": "",
23130
+ "record.metadata.quality.abstract.failed": "",
23131
+ "record.metadata.quality.abstract.success": "",
22938
23132
  "record.metadata.quality.capabilities.failed": "",
22939
23133
  "record.metadata.quality.capabilities.success": "",
22940
- "record.metadata.quality.contact.failed": "",
22941
- "record.metadata.quality.contact.success": "",
22942
- "record.metadata.quality.description.failed": "",
22943
- "record.metadata.quality.description.success": "",
23134
+ "record.metadata.quality.contacts.failed": "",
23135
+ "record.metadata.quality.contacts.success": "",
22944
23136
  "record.metadata.quality.details": "",
22945
23137
  "record.metadata.quality.keywords.failed": "",
22946
23138
  "record.metadata.quality.keywords.success": "",
@@ -22952,8 +23144,8 @@ var pt = {
22952
23144
  "record.metadata.quality.source.success": "",
22953
23145
  "record.metadata.quality.title.failed": "",
22954
23146
  "record.metadata.quality.title.success": "",
22955
- "record.metadata.quality.topic.failed": "",
22956
- "record.metadata.quality.topic.success": "",
23147
+ "record.metadata.quality.topics.failed": "",
23148
+ "record.metadata.quality.topics.success": "",
22957
23149
  "record.metadata.quality.updateFrequency.failed": "",
22958
23150
  "record.metadata.quality.updateFrequency.success": "",
22959
23151
  "record.metadata.related": "",
@@ -23105,7 +23297,7 @@ var sk = {
23105
23297
  "Add Layer As": "",
23106
23298
  "Enter to search": "",
23107
23299
  "button.login": "",
23108
- "catalog.figures.datasets": "{count, plural, =0{datasety} one{dataset} other{datasety}}",
23300
+ "catalog.figures.datasets": "{count, plural, =0{zdroj} one{zdroj} other{zdroje}}",
23109
23301
  "catalog.figures.organizations": "{count, plural, =0{organizácie} one{organizácia} other{organizácie}}",
23110
23302
  "chart.aggregation.average": "priemer",
23111
23303
  "chart.aggregation.count": "počet",
@@ -23286,6 +23478,26 @@ var sk = {
23286
23478
  "editor.record.form.field.topics": "",
23287
23479
  "editor.record.form.field.uniqueIdentifier": "",
23288
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": "",
23289
23501
  "editor.record.form.keywords.place.placeholder": "",
23290
23502
  "editor.record.form.keywords.place.withoutExtent": "",
23291
23503
  "editor.record.form.keywords.placeholder": "",
@@ -23321,6 +23533,8 @@ var sk = {
23321
23533
  "editor.record.form.section.dataManagers.description": "",
23322
23534
  "editor.record.form.section.dataManagers.label": "",
23323
23535
  "editor.record.form.section.geographicalCoverage.label": "",
23536
+ "editor.record.form.section.inspire.description": "",
23537
+ "editor.record.form.section.inspire.label": "",
23324
23538
  "editor.record.form.section.metadataPointOfContact.description": "",
23325
23539
  "editor.record.form.section.metadataPointOfContact.label": "",
23326
23540
  "editor.record.form.section.useAndAccessConditions.label": "",
@@ -23469,10 +23683,10 @@ var sk = {
23469
23683
  "organisations.sortBy.nameDesc": "Názov Z → A",
23470
23684
  "organisations.sortBy.recordCountAsc": "Publikácie 0 → 9",
23471
23685
  "organisations.sortBy.recordCountDesc": "Publikácie 9 → 0",
23472
- "organization.details.lastPublishedDatasets": "",
23686
+ "organization.details.lastPublishedDatasets": "Najnovšie publikované zdroje",
23473
23687
  "organization.details.lastPublishedDatasets.searchAllButton": "",
23474
23688
  "organization.details.mailContact": "",
23475
- "organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
23689
+ "organization.header.recordCount": "{count, plural, =0{publikácia} one{publikácia} other{publikácie}}",
23476
23690
  "pagination.nextPage": "Ďalšia stránka",
23477
23691
  "pagination.page": "strana",
23478
23692
  "pagination.pageOf": "z",
@@ -23560,15 +23774,15 @@ var sk = {
23560
23774
  "record.metadata.preview.config.saved": "",
23561
23775
  "record.metadata.preview.config.saving": "",
23562
23776
  "record.metadata.producer": "",
23563
- "record.metadata.publication": "publikácia",
23777
+ "record.metadata.publication": "dátum publikácia",
23564
23778
  "record.metadata.publications": "{count, plural, =0{publikácia} one{publikácia} other{publikácie}}",
23565
23779
  "record.metadata.quality": "Kvalita metadát",
23780
+ "record.metadata.quality.abstract.failed": "",
23781
+ "record.metadata.quality.abstract.success": "",
23566
23782
  "record.metadata.quality.capabilities.failed": "",
23567
23783
  "record.metadata.quality.capabilities.success": "",
23568
- "record.metadata.quality.contact.failed": "Kontakt nie je uvedený",
23569
- "record.metadata.quality.contact.success": "Kontakt je uvedený",
23570
- "record.metadata.quality.description.failed": "Popis nie je uvedený",
23571
- "record.metadata.quality.description.success": "Popis je uvedený",
23784
+ "record.metadata.quality.contacts.failed": "",
23785
+ "record.metadata.quality.contacts.success": "",
23572
23786
  "record.metadata.quality.details": "Detaily",
23573
23787
  "record.metadata.quality.keywords.failed": "Kľúčové slová nie sú uvedené",
23574
23788
  "record.metadata.quality.keywords.success": "Kľúčové slová sú uvedené",
@@ -23580,8 +23794,8 @@ var sk = {
23580
23794
  "record.metadata.quality.source.success": "",
23581
23795
  "record.metadata.quality.title.failed": "Názov nie je uvedený",
23582
23796
  "record.metadata.quality.title.success": "Názov je uvedený",
23583
- "record.metadata.quality.topic.failed": "Téma nie je uvedená",
23584
- "record.metadata.quality.topic.success": "Téma je uvedená",
23797
+ "record.metadata.quality.topics.failed": "",
23798
+ "record.metadata.quality.topics.success": "",
23585
23799
  "record.metadata.quality.updateFrequency.failed": "Frekvencia aktualizácie nie je určená",
23586
23800
  "record.metadata.quality.updateFrequency.success": "Frekvencia aktualizácie je určená",
23587
23801
  "record.metadata.related": "Súvisiace záznamy",
@@ -23623,7 +23837,7 @@ var sk = {
23623
23837
  "results.sortBy.changeDate": "",
23624
23838
  "results.sortBy.dateStamp": "Najnovšie",
23625
23839
  "results.sortBy.popularity": "Popularita",
23626
- "results.sortBy.qualityScore": "Hodnotenie kvality",
23840
+ "results.sortBy.qualityScore": "Indikátor dokončenia",
23627
23841
  "results.sortBy.relevancy": "Relevancia",
23628
23842
  "reuse.metadata.access": "",
23629
23843
  "search.autocomplete.error": "Návrhy sa nepodarilo načítať:",
@@ -23741,7 +23955,7 @@ class MetadataUrlService {
23741
23955
  }
23742
23956
  getUrl(uuid, apiPath = this.apiConfiguration.basePath) {
23743
23957
  const prefix = `${apiPath}/../`;
23744
- return `${prefix}${getLang3FromLang2(this.translate.currentLang)}/catalog.search#/metadata/${uuid}`;
23958
+ return `${prefix}${toLang3(this.translate.currentLang)}/catalog.search#/metadata/${uuid}`;
23745
23959
  }
23746
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 }); }
23747
23961
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataUrlService, providedIn: 'root' }); }
@@ -23770,15 +23984,15 @@ class Gn4FieldMapper {
23770
23984
  qualityScore: (output, source) => this.addExtra({ qualityScore: selectField(source, 'qualityScore') }, output),
23771
23985
  resourceTitleObject: (output, source) => ({
23772
23986
  ...output,
23773
- title: selectFallback(selectTranslatedField(source, 'resourceTitleObject', this.lang3), 'no title'),
23987
+ title: selectFallback(selectTranslatedField(source, 'resourceTitleObject', this.getLocalizedIndexKey), 'no title'),
23774
23988
  }),
23775
23989
  resourceAbstractObject: (output, source) => ({
23776
23990
  ...output,
23777
- abstract: selectFallback(selectTranslatedField(source, 'resourceAbstractObject', this.lang3), 'no title'),
23991
+ abstract: selectFallback(selectTranslatedField(source, 'resourceAbstractObject', this.getLocalizedIndexKey), 'no title'),
23778
23992
  }),
23779
23993
  overview: (output, source) => {
23780
23994
  const firstOverview = getFirstValue(selectField(source, 'overview'));
23781
- const description = selectTranslatedValue(selectField(firstOverview, 'text'), this.lang3);
23995
+ const description = selectTranslatedValue(selectField(firstOverview, 'text'), this.getLocalizedIndexKey);
23782
23996
  return {
23783
23997
  ...output,
23784
23998
  overviews: [
@@ -23793,7 +24007,7 @@ class Gn4FieldMapper {
23793
24007
  ...output,
23794
24008
  topics: [
23795
24009
  ...(output.topics || []),
23796
- ...getAsArray(selectField(source, 'cl_topic')).map((topic) => selectTranslatedValue(topic, this.lang3)),
24010
+ ...getAsArray(selectField(source, 'cl_topic')).map((topic) => selectTranslatedValue(topic, this.getLocalizedIndexKey)),
23797
24011
  ],
23798
24012
  }),
23799
24013
  cl_status: (output, source) => ({
@@ -23830,7 +24044,7 @@ class Gn4FieldMapper {
23830
24044
  }),
23831
24045
  resourceLanguage: (output, source) => {
23832
24046
  const langList = getAsArray(selectField(source, 'resourceLanguage'));
23833
- const languages = langList.map(getLang2FromLang3);
24047
+ const languages = langList.map(toLang2);
23834
24048
  const defaultLanguage = output.defaultLanguage ?? languages[0] ?? null; // set the first language as main one as fallback
23835
24049
  return {
23836
24050
  ...output,
@@ -23839,7 +24053,7 @@ class Gn4FieldMapper {
23839
24053
  },
23840
24054
  otherLanguage: (output, source) => {
23841
24055
  const langList = getAsArray(selectField(source, 'otherLanguage'));
23842
- const languages = langList.map(getLang2FromLang3);
24056
+ const languages = langList.map(toLang2);
23843
24057
  const defaultLanguage = output.defaultLanguage ?? languages[0] ?? null;
23844
24058
  const otherLanguages = languages.filter((lang) => lang !== defaultLanguage);
23845
24059
  return {
@@ -23851,7 +24065,7 @@ class Gn4FieldMapper {
23851
24065
  const language = selectField(source, 'mainLanguage');
23852
24066
  return {
23853
24067
  ...output,
23854
- defaultLanguage: language ? getLang2FromLang3(language) : null,
24068
+ defaultLanguage: language ? toLang2(language) : null,
23855
24069
  };
23856
24070
  },
23857
24071
  link: (output, source) => {
@@ -23867,7 +24081,7 @@ class Gn4FieldMapper {
23867
24081
  contact: (output, source) => ({
23868
24082
  ...output,
23869
24083
  contacts: [
23870
- mapContact(getFirstValue(selectField(source, 'contact')), this.lang3),
24084
+ mapContact(getFirstValue(selectField(source, 'contact')), this.getLocalizedIndexKey),
23871
24085
  ],
23872
24086
  }),
23873
24087
  contactForResource: (output, source) => ({
@@ -23877,7 +24091,7 @@ class Gn4FieldMapper {
23877
24091
  Array.isArray(output.contactsForResource)
23878
24092
  ? output.contactsForResource
23879
24093
  : []),
23880
- ...getAsArray(selectField(source, 'contactForResource')).map((contact) => mapContact(contact, this.lang3)),
24094
+ ...getAsArray(selectField(source, 'contactForResource')).map((contact) => mapContact(contact, this.getLocalizedIndexKey)),
23881
24095
  ],
23882
24096
  }),
23883
24097
  sourceCatalogue: (output, source) => {
@@ -23887,7 +24101,7 @@ class Gn4FieldMapper {
23887
24101
  },
23888
24102
  allKeywords: (output, source) => ({
23889
24103
  ...output,
23890
- keywords: mapKeywords(selectField(source, 'allKeywords'), this.lang3),
24104
+ keywords: mapKeywords(selectField(source, 'allKeywords'), this.getLocalizedIndexKey),
23891
24105
  }),
23892
24106
  inspireTheme: (output, source) => ({
23893
24107
  ...output,
@@ -23903,7 +24117,7 @@ class Gn4FieldMapper {
23903
24117
  licenseObject: (output, source) => this.constraintField('license', output, getAsArray(selectField(source, 'licenseObject'))),
23904
24118
  lineageObject: (output, source) => ({
23905
24119
  ...output,
23906
- lineage: selectTranslatedField(source, 'lineageObject', this.lang3),
24120
+ lineage: selectTranslatedField(source, 'lineageObject', this.getLocalizedIndexKey),
23907
24121
  }),
23908
24122
  userSavedCount: (output, source) => this.addExtra({
23909
24123
  favoriteCount: parseInt(selectField(source, 'userSavedCount')),
@@ -23977,7 +24191,7 @@ class Gn4FieldMapper {
23977
24191
  spatialExtents: [
23978
24192
  ...spatialExtents,
23979
24193
  ...geoms.map((geom, index) => {
23980
- const description = selectTranslatedValue(getArrayItem(extentDescriptions, index), this.lang3);
24194
+ const description = selectTranslatedValue(getArrayItem(extentDescriptions, index), this.getLocalizedIndexKey);
23981
24195
  const geometry = shapes[index] ?? geom;
23982
24196
  return {
23983
24197
  ...(description !== null ? { description } : null),
@@ -24021,7 +24235,7 @@ class Gn4FieldMapper {
24021
24235
  }
24022
24236
  const outputArray = outputField in output ? output[outputField] : [];
24023
24237
  outputArray.push(...constraintArray.map((item) => {
24024
- const text = selectTranslatedValue(item, this.lang3);
24238
+ const text = selectTranslatedValue(item, this.getLocalizedIndexKey);
24025
24239
  const url = getAsUrl(selectField(item, 'link'));
24026
24240
  return {
24027
24241
  text,
@@ -24035,9 +24249,9 @@ class Gn4FieldMapper {
24035
24249
  return result;
24036
24250
  };
24037
24251
  this.mapLink = (sourceLink) => {
24038
- const url = getAsUrl(selectFallback(selectTranslatedField(sourceLink, 'urlObject', this.lang3), selectField(sourceLink, 'url')));
24039
- const name = selectFallback(selectTranslatedField(sourceLink, 'nameObject', this.lang3), selectField(sourceLink, 'name'));
24040
- 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'));
24041
24255
  const descriptionLink = selectField(sourceLink, 'descriptionObject');
24042
24256
  const accessRestricted = descriptionLink &&
24043
24257
  'link' in descriptionLink &&
@@ -24093,8 +24307,8 @@ class Gn4FieldMapper {
24093
24307
  extras: { ...(output.extras || {}), ...value },
24094
24308
  });
24095
24309
  }
24096
- get lang3() {
24097
- return getLocalizedIndexKey(this.translateService.currentLang);
24310
+ get getLocalizedIndexKey() {
24311
+ return `lang${toLang3(this.translateService.currentLang)}`;
24098
24312
  }
24099
24313
  getMappingFn(fieldName) {
24100
24314
  return fieldName in this.fields ? this.fields[fieldName] : this.genericField;
@@ -25154,7 +25368,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
25154
25368
  }] } });
25155
25369
 
25156
25370
  var name = "geonetwork-ui";
25157
- var version = "2.7.0-dev.816935147";
25371
+ var version = "2.7.0-dev.84c2b3081";
25158
25372
  var engines = {
25159
25373
  node: ">=20"
25160
25374
  };
@@ -25258,9 +25472,11 @@ const ValidatorMapper = {
25258
25472
  title: (record) => !!record?.title,
25259
25473
  abstract: (record) => !!record?.abstract,
25260
25474
  keywords: (record) => (record?.keywords?.length ?? 0) > 0,
25261
- legalConstraints: (record) => (record?.legalConstraints?.length ?? 0) > 0,
25262
- contacts: (record) => !!record?.contacts?.[0]?.email,
25263
- 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',
25264
25480
  topics: (record) => (record?.topics?.length ?? 0) > 0,
25265
25481
  organisation: (record) => !!record?.contacts?.[0]?.organization?.name,
25266
25482
  source: (record) => !!record?.extras?.sourcesIdentifiers,
@@ -25356,11 +25572,9 @@ function updateLanguages(record, defaultLanguage, otherLanguages) {
25356
25572
 
25357
25573
  class ElasticsearchService {
25358
25574
  // we're using getters in case the defined languages change over time
25359
- get lang3() {
25360
- return getLang3FromLang2(this.translateService.currentLang);
25361
- }
25362
25575
  get metadataLang() {
25363
- return this.injector.get(METADATA_LANGUAGE, null);
25576
+ const mdLangValue = this.injector.get(METADATA_LANGUAGE, null);
25577
+ return typeof mdLangValue === 'function' ? mdLangValue() : mdLangValue;
25364
25578
  }
25365
25579
  constructor(translateService, injector) {
25366
25580
  this.translateService = translateService;
@@ -25513,9 +25727,10 @@ class ElasticsearchService {
25513
25727
  }
25514
25728
  getQueryLang() {
25515
25729
  if (this.metadataLang) {
25516
- return this.isCurrentSearchLang()
25517
- ? `lang${this.lang3}`
25518
- : `lang${this.metadataLang}`;
25730
+ const lang3 = toLang3(this.isCurrentSearchLang()
25731
+ ? this.translateService.currentLang
25732
+ : this.metadataLang);
25733
+ return `lang${lang3}`;
25519
25734
  }
25520
25735
  else
25521
25736
  return '*';
@@ -25901,6 +26116,8 @@ class Gn4SettingsService {
25901
26116
  this.siteApiService = siteApiService;
25902
26117
  this.identicon$ = this.getSettingsSetValueByKey('system/users/identicon');
25903
26118
  this.allowEditHarvested$ = this.getSettingsSetValueByKey('system/harvester/enableEditing');
26119
+ this.allowFeedbacks$ = this.getSettingsSetValueByKey('system/userFeedback/enable');
26120
+ this.apiVersion$ = this.getSettingsSetValueByKey('system/platform/version');
25904
26121
  }
25905
26122
  getSettingsSetValueByKey(key) {
25906
26123
  return this.siteApiService.getSettingsSet(null, [key]).pipe(map$1((v) => v[key]), shareReplay$1({ bufferSize: 1, refCount: true }));
@@ -26182,7 +26399,7 @@ class Gn4Repository {
26182
26399
  return this.gn4LanguagesApi
26183
26400
  .getApplicationLanguages()
26184
26401
  .pipe(map$1((languages) => languages
26185
- .map((lang) => getLang2FromLang3(lang.id))
26402
+ .map((lang) => toLang2(lang.id))
26186
26403
  .filter((code) => !!code)));
26187
26404
  }
26188
26405
  getRecordAsXml(uniqueIdentifier) {
@@ -26263,7 +26480,7 @@ class OrganizationsFromMetadataService {
26263
26480
  }), shareReplay$1());
26264
26481
  }
26265
26482
  get langIndex() {
26266
- return getLocalizedIndexKey(this.translateService.currentLang);
26483
+ return `lang${toLang3(this.translateService.currentLang)}`;
26267
26484
  }
26268
26485
  equalsNormalizedStrings(str1, str2, replaceSpecialChars = true) {
26269
26486
  if (!str1 || !str2)
@@ -26418,7 +26635,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
26418
26635
  const IMAGE_URL = '/geonetwork/images/harvesting/';
26419
26636
  class OrganizationsFromGroupsService {
26420
26637
  get lang3() {
26421
- return getLang3FromLang2(this.translateService.currentLang);
26638
+ return toLang3(this.translateService.currentLang);
26422
26639
  }
26423
26640
  constructor(esService, searchApiService, groupsApiService, translateService) {
26424
26641
  this.esService = esService;
@@ -26527,14 +26744,14 @@ class AuthService {
26527
26744
  }
26528
26745
  return baseUrl
26529
26746
  .replace('${current_url}', new URL(this.location.path(), window.location.href).toString())
26530
- .replace('${lang2}', this.translateService.currentLang)
26531
- .replace('${lang3}', getLang3FromLang2(this.translateService.currentLang));
26747
+ .replace('${lang2}', toLang2(this.translateService.currentLang))
26748
+ .replace('${lang3}', toLang3(this.translateService.currentLang));
26532
26749
  }
26533
26750
  get logoutUrl() {
26534
26751
  return this.baseLogoutUrl;
26535
26752
  }
26536
26753
  get settingsUrl() {
26537
- return this.baseSettingsUrl.replace('${lang3}', getLang3FromLang2(this.translateService.currentLang));
26754
+ return this.baseSettingsUrl.replace('${lang3}', toLang3(this.translateService.currentLang));
26538
26755
  }
26539
26756
  constructor(baseLoginUrlToken, baseLogoutUrlToken, baseSettingsUrlToken, translateService, location) {
26540
26757
  this.baseLoginUrlToken = baseLoginUrlToken;
@@ -26809,10 +27026,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
26809
27026
  const minApiVersion = '4.2.2';
26810
27027
  class Gn4PlatformService {
26811
27028
  get lang3() {
26812
- return getLang3FromLang2(this.translateService.currentLang);
27029
+ return toLang3(this.translateService.currentLang);
26813
27030
  }
26814
- constructor(siteApiService, meApi, usersApi, mapper, toolsApiService, registriesApiService, translateService, userfeedbackApiService, httpClient, recordsApiService) {
26815
- this.siteApiService = siteApiService;
27031
+ constructor(meApi, usersApi, mapper, toolsApiService, registriesApiService, translateService, userfeedbackApiService, httpClient, recordsApiService, settingsService) {
26816
27032
  this.meApi = meApi;
26817
27033
  this.usersApi = usersApi;
26818
27034
  this.mapper = mapper;
@@ -26822,6 +27038,7 @@ class Gn4PlatformService {
26822
27038
  this.userfeedbackApiService = userfeedbackApiService;
26823
27039
  this.httpClient = httpClient;
26824
27040
  this.recordsApiService = recordsApiService;
27041
+ this.settingsService = settingsService;
26825
27042
  this.type = 'GeoNetwork';
26826
27043
  this.gnParseVersion = '4.2.5';
26827
27044
  this.keyTranslations$ = this.toolsApiService
@@ -26830,15 +27047,6 @@ class Gn4PlatformService {
26830
27047
  console.warn('Error while loading gnui language package');
26831
27048
  return of({});
26832
27049
  }), shareReplay$1(1));
26833
- this.settings$ = of(true).pipe(switchMap(() => this.siteApiService.getSiteOrPortalDescription()), shareReplay$1(1));
26834
- this.apiVersion$ = this.settings$.pipe(map$1((info) => info['system/platform/version']), tap$1((version) => {
26835
- if (ltr(version, minApiVersion)) {
26836
- throw new Error(`Gn4 API version is not compatible.\nMinimum: ${minApiVersion}\nYour version: ${version}`);
26837
- }
26838
- }), shareReplay$1(1));
26839
- this.allowEditHarvestedMd$ = this.settings$.pipe(map$1((info) => {
26840
- return info['system/harvester/enableEditing'];
26841
- }), shareReplay$1(1));
26842
27050
  /**
26843
27051
  * A map of already loaded thesauri (groups of keywords); the key is a URI
26844
27052
  * @private
@@ -26853,14 +27061,21 @@ class Gn4PlatformService {
26853
27061
  this.isUserAnonymous$ = this.me$.pipe(map$1((user) => !user || !('id' in user)));
26854
27062
  this.users$ = this.usersApi.getUsers().pipe(map$1((users) => users.map((user) => this.mapper.userFromApi(user))), shareReplay$1());
26855
27063
  }
27064
+ getFeedbacksAllowed() {
27065
+ return this.settingsService.allowFeedbacks$;
27066
+ }
27067
+ getAllowEditHarvestedMd() {
27068
+ return this.settingsService.allowEditHarvested$;
27069
+ }
26856
27070
  getType() {
26857
27071
  return this.type;
26858
27072
  }
26859
27073
  getApiVersion() {
26860
- return this.apiVersion$;
26861
- }
26862
- getAllowEditHarvestedMd() {
26863
- return this.allowEditHarvestedMd$;
27074
+ return this.settingsService.apiVersion$.pipe(tap$1((version) => {
27075
+ if (ltr(version, minApiVersion)) {
27076
+ throw new Error(`Gn4 API version is not compatible.\nMinimum: ${minApiVersion}\nYour version: ${version}`);
27077
+ }
27078
+ }));
26864
27079
  }
26865
27080
  getMe() {
26866
27081
  return this.me$;
@@ -27040,12 +27255,12 @@ class Gn4PlatformService {
27040
27255
  }
27041
27256
  }));
27042
27257
  }
27043
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService, deps: [{ token: SiteApiService }, { token: MeApiService }, { token: UsersApiService }, { token: Gn4PlatformMapper }, { token: ToolsApiService }, { token: RegistriesApiService }, { token: i1$1.TranslateService }, { token: UserfeedbackApiService }, { token: i1.HttpClient }, { token: RecordsApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
27258
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService, deps: [{ token: MeApiService }, { token: UsersApiService }, { token: Gn4PlatformMapper }, { token: ToolsApiService }, { token: RegistriesApiService }, { token: i1$1.TranslateService }, { token: UserfeedbackApiService }, { token: i1.HttpClient }, { token: RecordsApiService }, { token: Gn4SettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
27044
27259
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService }); }
27045
27260
  }
27046
27261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService, decorators: [{
27047
27262
  type: Injectable
27048
- }], ctorParameters: () => [{ type: SiteApiService }, { type: MeApiService }, { type: UsersApiService }, { type: Gn4PlatformMapper }, { type: ToolsApiService }, { type: RegistriesApiService }, { type: i1$1.TranslateService }, { type: UserfeedbackApiService }, { type: i1.HttpClient }, { type: RecordsApiService }] });
27263
+ }], ctorParameters: () => [{ type: MeApiService }, { type: UsersApiService }, { type: Gn4PlatformMapper }, { type: ToolsApiService }, { type: RegistriesApiService }, { type: i1$1.TranslateService }, { type: UserfeedbackApiService }, { type: i1.HttpClient }, { type: RecordsApiService }, { type: Gn4SettingsService }] });
27049
27264
 
27050
27265
  class RecordsRepositoryInterface {
27051
27266
  }
@@ -27578,445 +27793,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
27578
27793
  }]
27579
27794
  }] });
27580
27795
 
27581
- const LANGUAGE_CODES_ISO_3 = [
27582
- 'aar',
27583
- 'abk',
27584
- 'ace',
27585
- 'ach',
27586
- 'ada',
27587
- 'afa',
27588
- 'afh',
27589
- 'afr',
27590
- 'aka',
27591
- 'akk',
27592
- 'ale',
27593
- 'alg',
27594
- 'amh',
27595
- 'ang',
27596
- 'apa',
27597
- 'ara',
27598
- 'arc',
27599
- 'arn',
27600
- 'arp',
27601
- 'art',
27602
- 'arw',
27603
- 'asm',
27604
- 'ath',
27605
- 'aus',
27606
- 'ava',
27607
- 'ave',
27608
- 'awa',
27609
- 'aym',
27610
- 'aze',
27611
- 'bad',
27612
- 'bai',
27613
- 'bak',
27614
- 'bal',
27615
- 'bam',
27616
- 'ban',
27617
- 'bas',
27618
- 'bat',
27619
- 'bej',
27620
- 'bel',
27621
- 'bem',
27622
- 'ben',
27623
- 'ber',
27624
- 'bho',
27625
- 'bih',
27626
- 'bik',
27627
- 'bin',
27628
- 'bis',
27629
- 'bla',
27630
- 'bnt',
27631
- 'tib',
27632
- 'bos',
27633
- 'bra',
27634
- 'bre',
27635
- 'btk',
27636
- 'bua',
27637
- 'bug',
27638
- 'bul',
27639
- 'cad',
27640
- 'cai',
27641
- 'car',
27642
- 'cat',
27643
- 'cau',
27644
- 'ceb',
27645
- 'cel',
27646
- 'cze',
27647
- 'cha',
27648
- 'chb',
27649
- 'che',
27650
- 'chg',
27651
- 'chk',
27652
- 'chm',
27653
- 'chn',
27654
- 'cho',
27655
- 'chp',
27656
- 'chr',
27657
- 'chu',
27658
- 'chv',
27659
- 'chy',
27660
- 'cmc',
27661
- 'cop',
27662
- 'cor',
27663
- 'cos',
27664
- 'cpe',
27665
- 'cpf',
27666
- 'cpp',
27667
- 'cre',
27668
- 'crp',
27669
- 'cus',
27670
- 'wel',
27671
- 'dak',
27672
- 'dan',
27673
- 'day',
27674
- 'del',
27675
- 'den',
27676
- 'ger',
27677
- 'dgr',
27678
- 'din',
27679
- 'div',
27680
- 'doi',
27681
- 'dra',
27682
- 'dua',
27683
- 'dum',
27684
- 'dyu',
27685
- 'dzo',
27686
- 'efi',
27687
- 'egy',
27688
- 'eka',
27689
- 'gre',
27690
- 'elx',
27691
- 'eng',
27692
- 'enm',
27693
- 'epo',
27694
- 'est',
27695
- 'baq',
27696
- 'ewe',
27697
- 'ewo',
27698
- 'fan',
27699
- 'fao',
27700
- 'per',
27701
- 'fat',
27702
- 'fij',
27703
- 'fin',
27704
- 'fiu',
27705
- 'fon',
27706
- 'fre',
27707
- 'frm',
27708
- 'fro',
27709
- 'fry',
27710
- 'ful',
27711
- 'fur',
27712
- 'gaa',
27713
- 'gay',
27714
- 'gba',
27715
- 'gem',
27716
- 'gez',
27717
- 'gil',
27718
- 'gla',
27719
- 'gle',
27720
- 'glg',
27721
- 'glv',
27722
- 'gmh',
27723
- 'goh',
27724
- 'gon',
27725
- 'gor',
27726
- 'got',
27727
- 'grb',
27728
- 'grc',
27729
- 'grn',
27730
- 'guj',
27731
- 'gwi',
27732
- 'hai',
27733
- 'hau',
27734
- 'haw',
27735
- 'heb',
27736
- 'her',
27737
- 'hil',
27738
- 'him',
27739
- 'hin',
27740
- 'hit',
27741
- 'hmn',
27742
- 'hmo',
27743
- 'scr',
27744
- 'hun',
27745
- 'hup',
27746
- 'arm',
27747
- 'iba',
27748
- 'ibo',
27749
- 'ijo',
27750
- 'iku',
27751
- 'ile',
27752
- 'ilo',
27753
- 'ina',
27754
- 'inc',
27755
- 'ind',
27756
- 'ine',
27757
- 'ipk',
27758
- 'ira',
27759
- 'iro',
27760
- 'ice',
27761
- 'ita',
27762
- 'jav',
27763
- 'jpn',
27764
- 'jpr',
27765
- 'jrb',
27766
- 'kaa',
27767
- 'kab',
27768
- 'kac',
27769
- 'kal',
27770
- 'kam',
27771
- 'kan',
27772
- 'kar',
27773
- 'kas',
27774
- 'geo',
27775
- 'kau',
27776
- 'kaw',
27777
- 'kaz',
27778
- 'kha',
27779
- 'khi',
27780
- 'khm',
27781
- 'kho',
27782
- 'kik',
27783
- 'kin',
27784
- 'kir',
27785
- 'kmb',
27786
- 'kok',
27787
- 'kom',
27788
- 'kon',
27789
- 'kor',
27790
- 'kos',
27791
- 'kpe',
27792
- 'kro',
27793
- 'kru',
27794
- 'kua',
27795
- 'kum',
27796
- 'kur',
27797
- 'kut',
27798
- 'lad',
27799
- 'lah',
27800
- 'lam',
27801
- 'lao',
27802
- 'lat',
27803
- 'lav',
27804
- 'lez',
27805
- 'lin',
27806
- 'lit',
27807
- 'lol',
27808
- 'loz',
27809
- 'ltz',
27810
- 'lua',
27811
- 'lub',
27812
- 'lug',
27813
- 'lui',
27814
- 'lun',
27815
- 'luo',
27816
- 'lus',
27817
- 'mad',
27818
- 'mag',
27819
- 'mah',
27820
- 'mai',
27821
- 'mak',
27822
- 'mal',
27823
- 'man',
27824
- 'map',
27825
- 'mar',
27826
- 'mas',
27827
- 'mdr',
27828
- 'men',
27829
- 'mga',
27830
- 'mic',
27831
- 'min',
27832
- 'mis',
27833
- 'mac',
27834
- 'mkh',
27835
- 'mlg',
27836
- 'mlt',
27837
- 'mnc',
27838
- 'mni',
27839
- 'mno',
27840
- 'moh',
27841
- 'mol',
27842
- 'mon',
27843
- 'mos',
27844
- 'mao',
27845
- 'may',
27846
- 'mul',
27847
- 'mun',
27848
- 'mus',
27849
- 'mwr',
27850
- 'bur',
27851
- 'myn',
27852
- 'nah',
27853
- 'nai',
27854
- 'nau',
27855
- 'nav',
27856
- 'nbl',
27857
- 'nde',
27858
- 'ndo',
27859
- 'nep',
27860
- 'new',
27861
- 'nia',
27862
- 'nic',
27863
- 'niu',
27864
- 'dut',
27865
- 'nno',
27866
- 'nob',
27867
- 'non',
27868
- 'nor',
27869
- 'nso',
27870
- 'nub',
27871
- 'nya',
27872
- 'nym',
27873
- 'nyn',
27874
- 'nyo',
27875
- 'nzi',
27876
- 'oci',
27877
- 'oji',
27878
- 'ori',
27879
- 'orm',
27880
- 'osa',
27881
- 'oss',
27882
- 'ota',
27883
- 'oto',
27884
- 'paa',
27885
- 'pag',
27886
- 'pal',
27887
- 'pam',
27888
- 'pan',
27889
- 'pap',
27890
- 'pau',
27891
- 'peo',
27892
- 'phi',
27893
- 'phn',
27894
- 'pli',
27895
- 'pol',
27896
- 'pon',
27897
- 'por',
27898
- 'pra',
27899
- 'pro',
27900
- 'pus',
27901
- 'que',
27902
- 'raj',
27903
- 'rap',
27904
- 'rar',
27905
- 'roa',
27906
- 'roh',
27907
- 'rom',
27908
- 'rum',
27909
- 'run',
27910
- 'rus',
27911
- 'sad',
27912
- 'sag',
27913
- 'sah',
27914
- 'sai',
27915
- 'sal',
27916
- 'sam',
27917
- 'san',
27918
- 'sas',
27919
- 'sat',
27920
- 'sco',
27921
- 'sel',
27922
- 'sem',
27923
- 'sga',
27924
- 'sgn',
27925
- 'shn',
27926
- 'sid',
27927
- 'sin',
27928
- 'sio',
27929
- 'sit',
27930
- 'sla',
27931
- 'slo',
27932
- 'slv',
27933
- 'sme',
27934
- 'smi',
27935
- 'smo',
27936
- 'sna',
27937
- 'snd',
27938
- 'snk',
27939
- 'sog',
27940
- 'som',
27941
- 'son',
27942
- 'sot',
27943
- 'spa',
27944
- 'alb',
27945
- 'srd',
27946
- 'scc',
27947
- 'srr',
27948
- 'ssa',
27949
- 'ssw',
27950
- 'suk',
27951
- 'sun',
27952
- 'sus',
27953
- 'sux',
27954
- 'swa',
27955
- 'swe',
27956
- 'syr',
27957
- 'tah',
27958
- 'tai',
27959
- 'tam',
27960
- 'tat',
27961
- 'tel',
27962
- 'tem',
27963
- 'ter',
27964
- 'tet',
27965
- 'tgk',
27966
- 'tgl',
27967
- 'tha',
27968
- 'tig',
27969
- 'tir',
27970
- 'tiv',
27971
- 'tkl',
27972
- 'tli',
27973
- 'tmh',
27974
- 'tog',
27975
- 'ton',
27976
- 'tpi',
27977
- 'tsi',
27978
- 'tsn',
27979
- 'tso',
27980
- 'tuk',
27981
- 'tum',
27982
- 'tur',
27983
- 'tut',
27984
- 'tvl',
27985
- 'twi',
27986
- 'tyv',
27987
- 'uga',
27988
- 'uig',
27989
- 'ukr',
27990
- 'umb',
27991
- 'und',
27992
- 'urd',
27993
- 'uzb',
27994
- 'vai',
27995
- 'ven',
27996
- 'vie',
27997
- 'vol',
27998
- 'vot',
27999
- 'wak',
28000
- 'wal',
28001
- 'war',
28002
- 'was',
28003
- 'wen',
28004
- 'wol',
28005
- 'xho',
28006
- 'yao',
28007
- 'yap',
28008
- 'yid',
28009
- 'yor',
28010
- 'ypk',
28011
- 'zap',
28012
- 'zen',
28013
- 'zha',
28014
- 'chi',
28015
- 'znd',
28016
- 'zul',
28017
- 'zun',
28018
- ];
28019
-
28020
27796
  const flatten = (base, obj, keepLevel = false) => Object.keys(obj).reduce((prev, curr) => {
28021
27797
  const path = base ? `${base}.${curr}` : curr;
28022
27798
  const val = obj[curr];
@@ -28098,8 +27874,9 @@ function parseMultiConfigSection(fullConfigObj, sectionName, mandatoryKeys, opti
28098
27874
  return result;
28099
27875
  }
28100
27876
  function checkMetadataLanguage(parsedConfigSection, outWarnings) {
28101
- if (LANGUAGE_CODES_ISO_3.indexOf(parsedConfigSection.metadata_language.toLowerCase()) === -1) {
28102
- 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`);
28103
27880
  }
28104
27881
  return parsedConfigSection;
28105
27882
  }
@@ -28446,7 +28223,7 @@ const wrongLanguageCodeConfigFixture = () => `
28446
28223
  [global]
28447
28224
  geonetwork4_api_url = "/geonetwork/srv/api"
28448
28225
  proxy_path = "/proxy/?url="
28449
- metadata_language = "fra"
28226
+ metadata_language = "abc"
28450
28227
 
28451
28228
  [map]
28452
28229
 
@@ -32205,16 +31982,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
32205
31982
 
32206
31983
  marker('record.metadata.quality.title.success');
32207
31984
  marker('record.metadata.quality.title.failed');
32208
- marker('record.metadata.quality.description.success');
32209
- marker('record.metadata.quality.description.failed');
32210
- marker('record.metadata.quality.topic.success');
32211
- 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');
32212
31989
  marker('record.metadata.quality.keywords.success');
32213
31990
  marker('record.metadata.quality.keywords.failed');
32214
31991
  marker('record.metadata.quality.legalConstraints.success');
32215
31992
  marker('record.metadata.quality.legalConstraints.failed');
32216
- marker('record.metadata.quality.contact.success');
32217
- marker('record.metadata.quality.contact.failed');
31993
+ marker('record.metadata.quality.contacts.success');
31994
+ marker('record.metadata.quality.contacts.failed');
32218
31995
  marker('record.metadata.quality.updateFrequency.success');
32219
31996
  marker('record.metadata.quality.updateFrequency.failed');
32220
31997
  marker('record.metadata.quality.organisation.success');
@@ -34032,11 +33809,6 @@ class ServiceCapabilitiesComponent {
34032
33809
  }
34033
33810
  }
34034
33811
  selectLayer(layer) {
34035
- if (layer === this.selectedLayer) {
34036
- this.selectedLayer = null;
34037
- this.layerInformation = [];
34038
- return;
34039
- }
34040
33812
  this.selectedLayer = layer;
34041
33813
  const filteredInfo = [];
34042
33814
  Object.keys(layer).map((key) => {
@@ -39901,7 +39673,7 @@ class SourcesService {
39901
39673
  this.sources$ = this.sourcesApiService.getSubPortals1().pipe(shareReplay$1());
39902
39674
  }
39903
39675
  getSourceLabel(uuid) {
39904
- 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)]));
39905
39677
  }
39906
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 }); }
39907
39679
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SourcesService, providedIn: 'root' }); }
@@ -41137,6 +40909,10 @@ const RECORD_KEYWORDS_FIELD = {
41137
40909
  model: 'keywords',
41138
40910
  formFieldConfig: {},
41139
40911
  };
40912
+ const RECORD_TOPICS_FIELD = {
40913
+ model: 'topics',
40914
+ formFieldConfig: {},
40915
+ };
41140
40916
  const RECORD_RESOURCE_CREATED_FIELD = {
41141
40917
  model: 'resourceCreated',
41142
40918
  formFieldConfig: {
@@ -41282,6 +41058,12 @@ const CLASSIFICATION_SECTION = {
41282
41058
  hidden: false,
41283
41059
  fields: [RECORD_KEYWORDS_FIELD],
41284
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
+ };
41285
41067
  const USE_AND_ACCESS_CONDITIONS_SECTION = {
41286
41068
  labelKey: marker('editor.record.form.section.useAndAccessConditions.label'),
41287
41069
  hidden: false,
@@ -41316,6 +41098,7 @@ const DEFAULT_CONFIGURATION = {
41316
41098
  sections: [
41317
41099
  TITLE_SECTION,
41318
41100
  CLASSIFICATION_SECTION,
41101
+ INSPIRE_SECTION,
41319
41102
  ABOUT_SECTION,
41320
41103
  GEOGRAPHICAL_COVERAGE_SECTION,
41321
41104
  ],
@@ -41378,6 +41161,71 @@ const SPATIAL_SCOPES = [
41378
41161
  type: 'theme',
41379
41162
  },
41380
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
+ { value: 'inlandWaters', label: 'editor.record.form.inspire.waters' },
41189
+ {
41190
+ value: 'intelligenceMilitary',
41191
+ label: 'editor.record.form.inspire.intelligence',
41192
+ },
41193
+ { value: 'Location', label: 'editor.record.form.inspire.location' },
41194
+ { value: 'Oceans', label: 'editor.record.form.inspire.oceans' },
41195
+ {
41196
+ value: 'planningCadastre',
41197
+ label: 'editor.record.form.inspire.planning',
41198
+ },
41199
+ { value: 'Society', label: 'editor.record.form.inspire.society' },
41200
+ { value: 'Structure', label: 'editor.record.form.inspire.structure' },
41201
+ {
41202
+ value: 'Transportation',
41203
+ label: 'editor.record.form.inspire.transportation',
41204
+ },
41205
+ {
41206
+ value: 'utilitiesCommunication',
41207
+ label: 'editor.record.form.inspire.utilities',
41208
+ },
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');
41381
41229
 
41382
41230
  const EDITOR_FEATURE_KEY = 'editor';
41383
41231
  const initialEditorState = {
@@ -43503,6 +43351,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
43503
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" }]
43504
43352
  }], ctorParameters: () => [{ type: EditorFacade }] });
43505
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.map((theme) => {
43363
+ return {
43364
+ label: this.translateService.instant(theme.label),
43365
+ value: theme.value,
43366
+ };
43367
+ });
43368
+ }
43369
+ handleItemSelection(selectedItems) {
43370
+ this.themes = selectedItems;
43371
+ this.valueChange.emit(this.themes);
43372
+ }
43373
+ removeTheme(theme) {
43374
+ this.themes = this.themes.filter((t) => t !== theme);
43375
+ this.valueChange.emit(this.themes);
43376
+ }
43377
+ getTranslatedTheme(theme) {
43378
+ const themeKey = this.availableThemes.find((avail) => avail.value === theme)?.label;
43379
+ return themeKey ? this.translateService.instant(themeKey) : '';
43380
+ }
43381
+ 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 }); }
43382
+ 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-dropdown-multiselect\n class=\"w-full\"\n [title]=\"'editor.record.form.inspire.placeholder' | translate\"\n [maxRows]=\"6\"\n [selected]=\"themes\"\n [choices]=\"availableThemes || []\"\n [allowSearch]=\"true\"\n (selectValues)=\"handleItemSelection($event)\"\n >\n </gn-ui-dropdown-multiselect>\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: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: DropdownMultiselectComponent, selector: "gn-ui-dropdown-multiselect", inputs: ["title", "choices", "selected", "allowSearch", "maxRows", "searchInputValue"], outputs: ["selectValues"] }] }); }
43383
+ }
43384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldInspireThemeComponent, decorators: [{
43385
+ type: Component,
43386
+ args: [{ selector: 'gn-ui-form-field-inspire-theme', standalone: true, imports: [
43387
+ CommonModule,
43388
+ AutocompleteComponent,
43389
+ NgIconComponent,
43390
+ BadgeComponent,
43391
+ TranslatePipe,
43392
+ DropdownMultiselectComponent,
43393
+ ], template: "<div class=\"flex flex-col gap-3\">\n <div class=\"flex flex-col gap-4\">\n <gn-ui-dropdown-multiselect\n class=\"w-full\"\n [title]=\"'editor.record.form.inspire.placeholder' | translate\"\n [maxRows]=\"6\"\n [selected]=\"themes\"\n [choices]=\"availableThemes || []\"\n [allowSearch]=\"true\"\n (selectValues)=\"handleItemSelection($event)\"\n >\n </gn-ui-dropdown-multiselect>\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" }]
43394
+ }], ctorParameters: () => [{ type: i1$1.TranslateService }], propDecorators: { value: [{
43395
+ type: Input
43396
+ }], valueChange: [{
43397
+ type: Output
43398
+ }] } });
43399
+
43506
43400
  class FormFieldComponent {
43507
43401
  constructor() {
43508
43402
  this.valueChange = new EventEmitter();
@@ -43540,6 +43434,9 @@ class FormFieldComponent {
43540
43434
  get valueAsKeywords() {
43541
43435
  return this.value;
43542
43436
  }
43437
+ get valueAsInspireTheme() {
43438
+ return this.value;
43439
+ }
43543
43440
  get valueAsConstraints() {
43544
43441
  return this.value;
43545
43442
  }
@@ -43550,7 +43447,7 @@ class FormFieldComponent {
43550
43447
  return this.value;
43551
43448
  }
43552
43449
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43553
- 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 }); }
43450
+ 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 }); }
43554
43451
  }
43555
43452
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, decorators: [{
43556
43453
  type: Component,
@@ -43575,8 +43472,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
43575
43472
  FormFieldConstraintsComponent,
43576
43473
  FormFieldConstraintsShortcutsComponent,
43577
43474
  FormFieldSpatialToggleComponent,
43475
+ FormFieldInspireThemeComponent,
43578
43476
  TextFieldModule,
43579
- ], 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" }]
43477
+ ], 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" }]
43580
43478
  }], propDecorators: { uniqueIdentifier: [{
43581
43479
  type: Input
43582
43480
  }], model: [{
@@ -44034,7 +43932,8 @@ function flattenQueryParams(params) {
44034
43932
  for (const key in params) {
44035
43933
  if (Array.isArray(flattened[key]) &&
44036
43934
  flattened[key].length > 0) {
44037
- flattened[key] = [flattened[key].join(',')];
43935
+ const encoded = flattened[key].map((value) => typeof value === 'string' ? value.replace(/,/g, '%2C') : value);
43936
+ flattened[key] = [encoded.join(',')];
44038
43937
  }
44039
43938
  else if (isDateRange(flattened[key])) {
44040
43939
  const start = flattened[key].start;
@@ -44066,7 +43965,7 @@ function expandQueryParams(params) {
44066
43965
  };
44067
43966
  }
44068
43967
  else {
44069
- expanded[key] = value.split(',');
43968
+ expanded[key] = value.split(',').map((v) => v.replace(/%2C/g, ','));
44070
43969
  }
44071
43970
  }
44072
43971
  }
@@ -44102,7 +44001,8 @@ class RouterFacade {
44102
44001
  });
44103
44002
  }
44104
44003
  goToOrganization(organizationName) {
44105
- const path = `${this.routerService.getOrganizationPageRoute()}/${organizationName}`;
44004
+ const safeOrgName = organizationName.replace(/\//g, '');
44005
+ const path = `${this.routerService.getOrganizationPageRoute()}/${safeOrgName}`;
44106
44006
  this.go({
44107
44007
  path,
44108
44008
  queryParamsHandling: '',
@@ -44388,5 +44288,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
44388
44288
  * Generated bundle index. Do not edit.
44389
44289
  */
44390
44290
 
44391
- 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 };
44291
+ 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 };
44392
44292
  //# sourceMappingURL=geonetwork-ui.mjs.map