geonetwork-ui 2.8.0-dev.cba2fd2eb → 2.8.0-dev.e46888fcc

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 (114) hide show
  1. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +1 -2
  2. package/esm2022/libs/feature/dataviz/src/index.mjs +1 -2
  3. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +9 -2
  4. package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +3 -3
  5. package/esm2022/libs/feature/record/src/index.mjs +2 -1
  6. package/esm2022/libs/feature/record/src/lib/stac-view/stac-view.component.mjs +138 -0
  7. package/esm2022/libs/feature/search/src/lib/constants.mjs +1 -2
  8. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  9. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +1 -1
  10. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +5 -9
  11. package/esm2022/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.mjs +18 -0
  12. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.mjs +5 -5
  13. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  14. package/esm2022/libs/ui/inputs/src/lib/date-picker/date-picker.component.mjs +21 -7
  15. package/esm2022/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.mjs +35 -0
  16. package/esm2022/libs/ui/layout/src/lib/paginable.interface.mjs +1 -1
  17. package/esm2022/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +13 -5
  18. package/esm2022/libs/util/i18n/src/lib/date-locales.mjs +33 -0
  19. package/esm2022/libs/util/shared/src/index.mjs +2 -1
  20. package/esm2022/libs/util/shared/src/lib/humanize-date.directive.mjs +33 -0
  21. package/esm2022/libs/util/shared/src/lib/services/date.service.mjs +19 -2
  22. package/esm2022/translations/de.json +9 -7
  23. package/esm2022/translations/en.json +9 -7
  24. package/esm2022/translations/es.json +5 -3
  25. package/esm2022/translations/fr.json +9 -7
  26. package/esm2022/translations/it.json +9 -7
  27. package/esm2022/translations/nl.json +5 -3
  28. package/esm2022/translations/pt.json +5 -3
  29. package/esm2022/translations/sk.json +6 -4
  30. package/fesm2022/geonetwork-ui-date-locales-MYnkDJ5h.mjs +35 -0
  31. package/fesm2022/geonetwork-ui-date-locales-MYnkDJ5h.mjs.map +1 -0
  32. package/fesm2022/geonetwork-ui.mjs +337 -193
  33. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  34. package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
  35. package/libs/feature/dataviz/src/index.d.ts +0 -1
  36. package/libs/feature/dataviz/src/index.d.ts.map +1 -1
  37. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +2 -1
  38. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  39. package/libs/feature/record/src/index.d.ts +1 -0
  40. package/libs/feature/record/src/index.d.ts.map +1 -1
  41. package/libs/feature/record/src/lib/stac-view/stac-view.component.d.ts +35 -0
  42. package/libs/feature/record/src/lib/stac-view/stac-view.component.d.ts.map +1 -0
  43. package/libs/feature/search/src/lib/constants.d.ts.map +1 -1
  44. package/libs/ui/elements/src/index.d.ts +1 -0
  45. package/libs/ui/elements/src/index.d.ts.map +1 -1
  46. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +0 -2
  47. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  48. package/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.d.ts +8 -0
  49. package/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.d.ts.map +1 -0
  50. package/libs/ui/inputs/src/index.d.ts +1 -0
  51. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  52. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts +5 -0
  53. package/libs/ui/inputs/src/lib/date-picker/date-picker.component.d.ts.map +1 -1
  54. package/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.d.ts +12 -0
  55. package/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.d.ts.map +1 -0
  56. package/libs/ui/layout/src/lib/paginable.interface.d.ts +3 -3
  57. package/libs/ui/layout/src/lib/paginable.interface.d.ts.map +1 -1
  58. package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +2 -1
  59. package/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -1
  60. package/libs/util/i18n/src/lib/date-locales.d.ts +5 -0
  61. package/libs/util/i18n/src/lib/date-locales.d.ts.map +1 -0
  62. package/libs/util/shared/src/index.d.ts +1 -0
  63. package/libs/util/shared/src/index.d.ts.map +1 -1
  64. package/libs/util/shared/src/lib/humanize-date.directive.d.ts +15 -0
  65. package/libs/util/shared/src/lib/humanize-date.directive.d.ts.map +1 -0
  66. package/libs/util/shared/src/lib/services/date.service.d.ts +4 -0
  67. package/libs/util/shared/src/lib/services/date.service.d.ts.map +1 -1
  68. package/package.json +1 -1
  69. package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +0 -1
  70. package/src/libs/feature/dataviz/src/index.ts +0 -1
  71. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +14 -0
  72. package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +1 -0
  73. package/src/libs/feature/record/src/index.ts +1 -0
  74. package/src/libs/feature/record/src/lib/stac-view/stac-view.component.css +3 -0
  75. package/src/libs/feature/record/src/lib/stac-view/stac-view.component.html +68 -0
  76. package/src/libs/feature/record/src/lib/stac-view/stac-view.component.ts +190 -0
  77. package/src/libs/feature/search/src/lib/constants.ts +0 -1
  78. package/src/libs/ui/elements/src/index.ts +1 -0
  79. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +16 -12
  80. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +2 -9
  81. package/src/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.html +13 -0
  82. package/src/libs/ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.ts +15 -0
  83. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.html +1 -1
  84. package/src/libs/ui/elements/src/lib/user-feedback-item/user-feedback-item.component.ts +2 -2
  85. package/src/libs/ui/inputs/src/index.ts +1 -0
  86. package/src/libs/ui/inputs/src/lib/date-picker/date-picker.component.ts +17 -1
  87. package/src/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.css +0 -0
  88. package/src/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.html +15 -0
  89. package/src/libs/ui/inputs/src/lib/date-range-inputs/date-range-inputs.component.ts +41 -0
  90. package/src/libs/ui/layout/src/lib/paginable.interface.ts +3 -3
  91. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.html +12 -6
  92. package/src/libs/ui/layout/src/lib/previous-next-buttons/previous-next-buttons.component.ts +4 -1
  93. package/src/libs/util/i18n/src/lib/date-locales.ts +63 -0
  94. package/src/libs/util/shared/src/index.ts +1 -0
  95. package/src/libs/util/shared/src/lib/humanize-date.directive.ts +35 -0
  96. package/src/libs/util/shared/src/lib/services/date.service.ts +27 -1
  97. package/translations/de.json +9 -7
  98. package/translations/en.json +9 -7
  99. package/translations/es.json +5 -3
  100. package/translations/fr.json +9 -7
  101. package/translations/it.json +9 -7
  102. package/translations/nl.json +5 -3
  103. package/translations/pt.json +5 -3
  104. package/translations/sk.json +6 -4
  105. package/esm2022/libs/feature/dataviz/src/lib/stac-view/stac-view.component.mjs +0 -51
  106. package/esm2022/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.mjs +0 -59
  107. package/libs/feature/dataviz/src/lib/stac-view/stac-view.component.d.ts +0 -16
  108. package/libs/feature/dataviz/src/lib/stac-view/stac-view.component.d.ts.map +0 -1
  109. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts +0 -11
  110. package/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.d.ts.map +0 -1
  111. package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.html +0 -40
  112. package/src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.ts +0 -62
  113. package/src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts +0 -54
  114. /package/src/libs/{feature/dataviz/src/lib/stac-view/stac-view.component.css → ui/elements/src/lib/stac-items-result-grid/stac-items-result-grid.component.css} +0 -0
@@ -1,10 +1,18 @@
1
1
  import { Injectable } from '@angular/core'
2
2
  import { TranslateService } from '@ngx-translate/core'
3
+ import { type Locale } from 'date-fns/locale'
4
+ import { formatDistance } from 'date-fns/formatDistance'
5
+
6
+ const DEFAULT_LANGUAGE = 'en'
3
7
 
4
8
  @Injectable({
5
9
  providedIn: 'root',
6
10
  })
7
11
  export class DateService {
12
+ dateLocales = import('../../../../../../libs/util/i18n/src/lib/date-locales').then(
13
+ (obj) => obj.default
14
+ )
15
+
8
16
  constructor(private translateService: TranslateService) {}
9
17
 
10
18
  private getDateObject(date: Date | string): Date {
@@ -22,11 +30,17 @@ export class DateService {
22
30
  locale: string
23
31
  dateObj: Date
24
32
  } {
25
- const locale = this.translateService.currentLang || 'en-US'
33
+ const locale = this.translateService.currentLang || DEFAULT_LANGUAGE
26
34
  const dateObj = this.getDateObject(date)
27
35
  return { locale, dateObj }
28
36
  }
29
37
 
38
+ private async getDateLocale(): Promise<Locale> {
39
+ const lang = this.translateService.currentLang || DEFAULT_LANGUAGE
40
+ const locales = await this.dateLocales
41
+ return locales[lang]
42
+ }
43
+
30
44
  formatDate(
31
45
  date: Date | string,
32
46
  options?: Intl.DateTimeFormatOptions
@@ -42,4 +56,16 @@ export class DateService {
42
56
  const { locale, dateObj } = this.getLocaleAndDate(date)
43
57
  return dateObj.toLocaleString(locale, options)
44
58
  }
59
+
60
+ async formatRelativeDateTime(date: Date | string): Promise<string> {
61
+ const dateObj = this.getDateObject(date)
62
+
63
+ const now = new Date()
64
+ const locale = await this.getDateLocale()
65
+
66
+ return formatDistance(dateObj, now, {
67
+ addSuffix: true,
68
+ locale: locale,
69
+ })
70
+ }
45
71
  }
@@ -62,6 +62,9 @@
62
62
  "dataset.error.restrictedAccess": "",
63
63
  "dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
64
64
  "dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
65
+ "daterange.filter.from": "",
66
+ "daterange.filter.period": "",
67
+ "daterange.filter.to": "",
65
68
  "domain.contact.role.author": "",
66
69
  "domain.contact.role.collaborator": "",
67
70
  "domain.contact.role.contributor": "",
@@ -397,6 +400,7 @@
397
400
  "pagination.nextPage": "Nächste Seite",
398
401
  "pagination.page": "Seite",
399
402
  "pagination.pageOf": "von",
403
+ "pagination.previousPage": "Vorherige Seite",
400
404
  "record.action.delete": "Löschen",
401
405
  "record.action.download": "Herunterladen",
402
406
  "record.action.duplicate": "",
@@ -511,9 +515,9 @@
511
515
  "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
512
516
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
513
517
  "record.metadata.related": "Entdecken Sie den Katalog",
514
- "record.metadata.resourceCreated": "Erstellt am {date}",
515
- "record.metadata.resourcePublished": "Veröffentlicht am {date}",
516
- "record.metadata.resourceUpdated": "Zuletzt aktualisiert am {date}",
518
+ "record.metadata.resourceCreated": "Erstellt",
519
+ "record.metadata.resourcePublished": "Veröffentlicht",
520
+ "record.metadata.resourceUpdated": "Zuletzt aktualisiert",
517
521
  "record.metadata.ressources.and.links": "Ressourcen und Links",
518
522
  "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
519
523
  "record.metadata.status": "Status",
@@ -528,7 +532,7 @@
528
532
  "record.metadata.uniqueId": "Eindeutige Kennung",
529
533
  "record.metadata.update": "Aktualisierungsdatum",
530
534
  "record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
531
- "record.metadata.updatedOn": "Informationen geändert am",
535
+ "record.metadata.updatedOn": "Informationen geändert",
532
536
  "record.metadata.usage": "Nutzung und Einschränkungen",
533
537
  "record.metadata.userFeedbacks": "",
534
538
  "record.metadata.userFeedbacks.anonymousUser": "",
@@ -635,10 +639,8 @@
635
639
  "service.metadata.spatialExtent": "",
636
640
  "share.tab.permalink": "Teilen",
637
641
  "share.tab.webComponent": "Integrieren",
638
- "stac.filter.from": "",
639
- "stac.filter.period": "",
640
642
  "stac.filter.reset": "",
641
- "stac.filter.to": "",
643
+ "stac.results.noResults": "Ihre Suchfilter lieferten keine Ergebnisse",
642
644
  "table.loading.data": "Daten werden geladen...",
643
645
  "table.object.count": "Objekte in diesem Datensatz",
644
646
  "table.paginator.firstPage": "Erste Seite",
@@ -62,6 +62,9 @@
62
62
  "dataset.error.restrictedAccess": "Access to this resource is restricted",
63
63
  "dataset.error.unknown": "The data cannot be displayed: \"{ info }\"",
64
64
  "dataset.error.unsupportedType": "The following content type is unsupported: \"{ info }\"",
65
+ "daterange.filter.from": "From",
66
+ "daterange.filter.period": "Period",
67
+ "daterange.filter.to": "To",
65
68
  "domain.contact.role.author": "Author",
66
69
  "domain.contact.role.collaborator": "Collaborator",
67
70
  "domain.contact.role.contributor": "Contributor",
@@ -397,6 +400,7 @@
397
400
  "pagination.nextPage": "Next page",
398
401
  "pagination.page": "Page",
399
402
  "pagination.pageOf": "of",
403
+ "pagination.previousPage": "Previous page",
400
404
  "record.action.delete": "Delete",
401
405
  "record.action.download": "Download",
402
406
  "record.action.duplicate": "Duplicate",
@@ -511,9 +515,9 @@
511
515
  "record.metadata.quality.updateFrequency.failed": "Update frequency is not specified",
512
516
  "record.metadata.quality.updateFrequency.success": "Update frequency is specified",
513
517
  "record.metadata.related": "Explore the catalog",
514
- "record.metadata.resourceCreated": "Created on {date}",
515
- "record.metadata.resourcePublished": "Published on {date}",
516
- "record.metadata.resourceUpdated": "Last updated on {date}",
518
+ "record.metadata.resourceCreated": "Created",
519
+ "record.metadata.resourcePublished": "Published",
520
+ "record.metadata.resourceUpdated": "Last updated",
517
521
  "record.metadata.ressources.and.links": "Resources and links",
518
522
  "record.metadata.sheet": "Original metadata",
519
523
  "record.metadata.status": "Status",
@@ -528,7 +532,7 @@
528
532
  "record.metadata.uniqueId": "Unique Identifier",
529
533
  "record.metadata.update": "Date of update",
530
534
  "record.metadata.updateFrequency": "Data Update Frequency",
531
- "record.metadata.updatedOn": "Metadata modified on",
535
+ "record.metadata.updatedOn": "Metadata modified",
532
536
  "record.metadata.usage": "License and Conditions",
533
537
  "record.metadata.userFeedbacks": "Questions / Answers",
534
538
  "record.metadata.userFeedbacks.anonymousUser": "In order to leave a comment, please log in.",
@@ -635,10 +639,8 @@
635
639
  "service.metadata.spatialExtent": "Spatial extent",
636
640
  "share.tab.permalink": "Share",
637
641
  "share.tab.webComponent": "Integrate",
638
- "stac.filter.from": "From",
639
- "stac.filter.period": "Period",
640
642
  "stac.filter.reset": "Reset filters",
641
- "stac.filter.to": "To",
643
+ "stac.results.noResults": "Your search filters did not match any items",
642
644
  "table.loading.data": "Loading data...",
643
645
  "table.object.count": "Objects in this dataset",
644
646
  "table.paginator.firstPage": "First page",
@@ -62,6 +62,9 @@
62
62
  "dataset.error.restrictedAccess": "",
63
63
  "dataset.error.unknown": "",
64
64
  "dataset.error.unsupportedType": "",
65
+ "daterange.filter.from": "",
66
+ "daterange.filter.period": "",
67
+ "daterange.filter.to": "",
65
68
  "domain.contact.role.author": "",
66
69
  "domain.contact.role.collaborator": "",
67
70
  "domain.contact.role.contributor": "",
@@ -397,6 +400,7 @@
397
400
  "pagination.nextPage": "",
398
401
  "pagination.page": "",
399
402
  "pagination.pageOf": "",
403
+ "pagination.previousPage": "",
400
404
  "record.action.delete": "",
401
405
  "record.action.download": "",
402
406
  "record.action.duplicate": "",
@@ -635,10 +639,8 @@
635
639
  "service.metadata.spatialExtent": "",
636
640
  "share.tab.permalink": "",
637
641
  "share.tab.webComponent": "",
638
- "stac.filter.from": "",
639
- "stac.filter.period": "",
640
642
  "stac.filter.reset": "",
641
- "stac.filter.to": "",
643
+ "stac.results.noResults": "",
642
644
  "table.loading.data": "",
643
645
  "table.object.count": "",
644
646
  "table.paginator.firstPage": "Primera página",
@@ -62,6 +62,9 @@
62
62
  "dataset.error.restrictedAccess": "L’accès à cette ressource est restreint",
63
63
  "dataset.error.unknown": "Les données ne peuvent être affichées: \"{ info }\"",
64
64
  "dataset.error.unsupportedType": "Le type de contenu suivant n'est pas pris en charge: \"{ info }\"",
65
+ "daterange.filter.from": "Du",
66
+ "daterange.filter.period": "Choix de la période",
67
+ "daterange.filter.to": "Au",
65
68
  "domain.contact.role.author": "Auteur",
66
69
  "domain.contact.role.collaborator": "Collaborateur",
67
70
  "domain.contact.role.contributor": "Contributeur",
@@ -397,6 +400,7 @@
397
400
  "pagination.nextPage": "Page suivante",
398
401
  "pagination.page": "Page",
399
402
  "pagination.pageOf": "sur",
403
+ "pagination.previousPage": "Page précédente",
400
404
  "record.action.delete": "Supprimer",
401
405
  "record.action.download": "Télécharger",
402
406
  "record.action.duplicate": "Dupliquer",
@@ -511,9 +515,9 @@
511
515
  "record.metadata.quality.updateFrequency.failed": "La fréquence de mise à jour n'est pas renseignée",
512
516
  "record.metadata.quality.updateFrequency.success": "La fréquence de mise à jour est renseignée",
513
517
  "record.metadata.related": "Explorez le catalogue",
514
- "record.metadata.resourceCreated": "Créé le {date}",
515
- "record.metadata.resourcePublished": "Publié le {date}",
516
- "record.metadata.resourceUpdated": "Mis à jour le {date}",
518
+ "record.metadata.resourceCreated": "Créé",
519
+ "record.metadata.resourcePublished": "Publié",
520
+ "record.metadata.resourceUpdated": "Mis à jour",
517
521
  "record.metadata.ressources.and.links": "Ressources et liens",
518
522
  "record.metadata.sheet": "Fiche de métadonnées d'origine",
519
523
  "record.metadata.status": "Statut",
@@ -528,7 +532,7 @@
528
532
  "record.metadata.uniqueId": "Identificateur de ressource unique",
529
533
  "record.metadata.update": "Date de mise à jour",
530
534
  "record.metadata.updateFrequency": "Fréquence de mise à jour des données",
531
- "record.metadata.updatedOn": "Fiche de métadonnées modifiée le",
535
+ "record.metadata.updatedOn": "Fiche de métadonnées modifiée",
532
536
  "record.metadata.usage": "Licences et conditions d'utilisation",
533
537
  "record.metadata.userFeedbacks": "Questions / Réponses",
534
538
  "record.metadata.userFeedbacks.anonymousUser": "Pour rédiger un commentaire, veuillez vous identifier.",
@@ -635,10 +639,8 @@
635
639
  "service.metadata.spatialExtent": "Etendue spatiale",
636
640
  "share.tab.permalink": "Partager",
637
641
  "share.tab.webComponent": "Intégrer",
638
- "stac.filter.from": "Du",
639
- "stac.filter.period": "Choix de la période",
640
642
  "stac.filter.reset": "Réinitialiser les filtres",
641
- "stac.filter.to": "Au",
643
+ "stac.results.noResults": "Vos filtres ne permettent pas d’afficher de résultats",
642
644
  "table.loading.data": "Chargement des données...",
643
645
  "table.object.count": "enregistrements dans ce jeu de données",
644
646
  "table.paginator.firstPage": "Première page",
@@ -62,6 +62,9 @@
62
62
  "dataset.error.restrictedAccess": "L'accesso a questa risorsa è limitato",
63
63
  "dataset.error.unknown": "Impossibile visualizzare i dati: \"{info}\"",
64
64
  "dataset.error.unsupportedType": "Il seguente tipo di contenuto non è supportato: \"{info}\"",
65
+ "daterange.filter.from": "",
66
+ "daterange.filter.period": "",
67
+ "daterange.filter.to": "",
65
68
  "domain.contact.role.author": "Autore",
66
69
  "domain.contact.role.collaborator": "Collaboratore",
67
70
  "domain.contact.role.contributor": "Collaboratore",
@@ -397,6 +400,7 @@
397
400
  "pagination.nextPage": "Pagina successiva",
398
401
  "pagination.page": "pagina",
399
402
  "pagination.pageOf": "di",
403
+ "pagination.previousPage": "",
400
404
  "record.action.delete": "Elimina",
401
405
  "record.action.download": "Scarica",
402
406
  "record.action.duplicate": "Duplicato",
@@ -511,9 +515,9 @@
511
515
  "record.metadata.quality.updateFrequency.failed": "La frequenza di aggiornamento non è specificata",
512
516
  "record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
513
517
  "record.metadata.related": "Vedi anche",
514
- "record.metadata.resourceCreated": "Creato il {date}",
515
- "record.metadata.resourcePublished": "Pubblicato il {date}",
516
- "record.metadata.resourceUpdated": "Ultimo aggiornamento il {date}",
518
+ "record.metadata.resourceCreated": "Creato",
519
+ "record.metadata.resourcePublished": "Pubblicato",
520
+ "record.metadata.resourceUpdated": "Ultimo aggiornamento",
517
521
  "record.metadata.ressources.and.links": "Risorse e collegamenti",
518
522
  "record.metadata.sheet": "Origine dei metadati",
519
523
  "record.metadata.status": "Stato",
@@ -528,7 +532,7 @@
528
532
  "record.metadata.uniqueId": "Identificatore unico di risorsa",
529
533
  "record.metadata.update": "Data di aggiornamento",
530
534
  "record.metadata.updateFrequency": "Frequenza di aggiornamento dei dati",
531
- "record.metadata.updatedOn": "Metadati modificati il",
535
+ "record.metadata.updatedOn": "Metadati modificati",
532
536
  "record.metadata.usage": "Licenze e limiti di utilizzo",
533
537
  "record.metadata.userFeedbacks": "Domande / Risposte",
534
538
  "record.metadata.userFeedbacks.anonymousUser": "Per pubblicare un commento, effettua il login.",
@@ -635,10 +639,8 @@
635
639
  "service.metadata.spatialExtent": "Estensione spaziale",
636
640
  "share.tab.permalink": "Condividere",
637
641
  "share.tab.webComponent": "Incorporare",
638
- "stac.filter.from": "",
639
- "stac.filter.period": "",
640
642
  "stac.filter.reset": "",
641
- "stac.filter.to": "",
643
+ "stac.results.noResults": "",
642
644
  "table.loading.data": "Caricamento dei dati...",
643
645
  "table.object.count": "record in questi dati",
644
646
  "table.paginator.firstPage": "Prima pagina",
@@ -62,6 +62,9 @@
62
62
  "dataset.error.restrictedAccess": "",
63
63
  "dataset.error.unknown": "",
64
64
  "dataset.error.unsupportedType": "",
65
+ "daterange.filter.from": "",
66
+ "daterange.filter.period": "",
67
+ "daterange.filter.to": "",
65
68
  "domain.contact.role.author": "",
66
69
  "domain.contact.role.collaborator": "",
67
70
  "domain.contact.role.contributor": "",
@@ -397,6 +400,7 @@
397
400
  "pagination.nextPage": "",
398
401
  "pagination.page": "",
399
402
  "pagination.pageOf": "",
403
+ "pagination.previousPage": "",
400
404
  "record.action.delete": "",
401
405
  "record.action.download": "",
402
406
  "record.action.duplicate": "",
@@ -635,10 +639,8 @@
635
639
  "service.metadata.spatialExtent": "",
636
640
  "share.tab.permalink": "",
637
641
  "share.tab.webComponent": "",
638
- "stac.filter.from": "",
639
- "stac.filter.period": "",
640
642
  "stac.filter.reset": "",
641
- "stac.filter.to": "",
643
+ "stac.results.noResults": "",
642
644
  "table.loading.data": "",
643
645
  "table.object.count": "",
644
646
  "table.paginator.firstPage": "",
@@ -62,6 +62,9 @@
62
62
  "dataset.error.restrictedAccess": "",
63
63
  "dataset.error.unknown": "",
64
64
  "dataset.error.unsupportedType": "",
65
+ "daterange.filter.from": "",
66
+ "daterange.filter.period": "",
67
+ "daterange.filter.to": "",
65
68
  "domain.contact.role.author": "",
66
69
  "domain.contact.role.collaborator": "",
67
70
  "domain.contact.role.contributor": "",
@@ -397,6 +400,7 @@
397
400
  "pagination.nextPage": "",
398
401
  "pagination.page": "",
399
402
  "pagination.pageOf": "",
403
+ "pagination.previousPage": "",
400
404
  "record.action.delete": "",
401
405
  "record.action.download": "",
402
406
  "record.action.duplicate": "",
@@ -635,10 +639,8 @@
635
639
  "service.metadata.spatialExtent": "",
636
640
  "share.tab.permalink": "",
637
641
  "share.tab.webComponent": "",
638
- "stac.filter.from": "",
639
- "stac.filter.period": "",
640
642
  "stac.filter.reset": "",
641
- "stac.filter.to": "",
643
+ "stac.results.noResults": "",
642
644
  "table.loading.data": "",
643
645
  "table.object.count": "",
644
646
  "table.paginator.firstPage": "",
@@ -62,6 +62,9 @@
62
62
  "dataset.error.restrictedAccess": "",
63
63
  "dataset.error.unknown": "Dáta nie je možné zobraziť: \"{ info }\"",
64
64
  "dataset.error.unsupportedType": "Nepodporovaný typ obsahu: \"{ info }\"",
65
+ "daterange.filter.from": "",
66
+ "daterange.filter.period": "",
67
+ "daterange.filter.to": "",
65
68
  "domain.contact.role.author": "",
66
69
  "domain.contact.role.collaborator": "",
67
70
  "domain.contact.role.contributor": "",
@@ -397,6 +400,7 @@
397
400
  "pagination.nextPage": "Ďalšia stránka",
398
401
  "pagination.page": "strana",
399
402
  "pagination.pageOf": "z",
403
+ "pagination.previousPage": "",
400
404
  "record.action.delete": "",
401
405
  "record.action.download": "Stiahnuť",
402
406
  "record.action.duplicate": "",
@@ -528,7 +532,7 @@
528
532
  "record.metadata.uniqueId": "Jedinečný identifikátor",
529
533
  "record.metadata.update": "Dátum aktualizácie",
530
534
  "record.metadata.updateFrequency": "Frekvencia aktualizácie metadát",
531
- "record.metadata.updatedOn": "Metadáta zmenené dňa",
535
+ "record.metadata.updatedOn": "Metadáta zmenené",
532
536
  "record.metadata.usage": "Použitie a obmedzenia",
533
537
  "record.metadata.userFeedbacks": "",
534
538
  "record.metadata.userFeedbacks.anonymousUser": "",
@@ -635,10 +639,8 @@
635
639
  "service.metadata.spatialExtent": "",
636
640
  "share.tab.permalink": "Zdieľať",
637
641
  "share.tab.webComponent": "Integrovať",
638
- "stac.filter.from": "",
639
- "stac.filter.period": "",
640
642
  "stac.filter.reset": "",
641
- "stac.filter.to": "",
643
+ "stac.results.noResults": "",
642
644
  "table.loading.data": "Načítanie údajov...",
643
645
  "table.object.count": "objekty v tomto súbore údajov",
644
646
  "table.paginator.firstPage": "",
@@ -1,51 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
3
- import { DatePickerComponent } from '../../../../../../libs/ui/inputs/src';
4
- import { NgIconComponent, provideIcons } from '@ng-icons/core';
5
- import { matDeleteOutline } from '@ng-icons/material-icons/outline';
6
- import { TranslateDirective } from '@ngx-translate/core';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- export class StacViewComponent {
10
- constructor() {
11
- this.currentTemporalExtent = null;
12
- this.isTemporalFilterModified = false;
13
- }
14
- onStartDateChange(date) {
15
- this.currentTemporalExtent = {
16
- ...this.currentTemporalExtent,
17
- start: date,
18
- };
19
- this.isTemporalFilterModified = true;
20
- }
21
- onEndDateChange(date) {
22
- this.currentTemporalExtent = {
23
- ...this.currentTemporalExtent,
24
- end: date,
25
- };
26
- this.isTemporalFilterModified = true;
27
- }
28
- onResetFilters() {
29
- this.currentTemporalExtent = this.initialTemporalExtent;
30
- this.isTemporalFilterModified = false;
31
- }
32
- ngOnInit() {
33
- this.currentTemporalExtent = this.initialTemporalExtent;
34
- }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StacViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StacViewComponent, isStandalone: true, selector: "gn-ui-stac-view", inputs: { link: "link", initialTemporalExtent: "initialTemporalExtent" }, ngImport: i0, template: "<div\n class=\"w-full h-full flex flex-row mt-6 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n>\n <div class=\"flex-1 flex flex-col\">\n <div class=\"m-8\">\n <p class=\"mb-4\" translate>stac.filter.period</p>\n <p translate>stac.filter.from</p>\n <gn-ui-date-picker\n id=\"start-date-picker\"\n [date]=\"currentTemporalExtent?.start\"\n (dateChange)=\"onStartDateChange($event)\"\n />\n <p class=\"mt-4\" translate>stac.filter.to</p>\n <gn-ui-date-picker\n id=\"end-date-picker\"\n [date]=\"currentTemporalExtent?.end\"\n (dateChange)=\"onEndDateChange($event)\"\n />\n </div>\n\n <div class=\"mt-auto mb-8 mx-8\" *ngIf=\"isTemporalFilterModified\">\n <button\n id=\"reset-filters-button\"\n type=\"button\"\n class=\"flex items-center\"\n (click)=\"onResetFilters()\"\n >\n <span translate>stac.filter.reset</span>\n <ng-icon\n name=\"matDeleteOutline\"\n class=\"pointer-events-none ml-2\"\n ></ng-icon>\n </button>\n </div>\n </div>\n\n <div class=\"w-[655px] flex-shrink-0 flex items-center justify-center\">\n <span>Map...</span>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DatePickerComponent, selector: "gn-ui-date-picker", inputs: ["date"], outputs: ["dateChange"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], viewProviders: [provideIcons({ matDeleteOutline })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StacViewComponent, decorators: [{
39
- type: Component,
40
- args: [{ selector: 'gn-ui-stac-view', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
41
- CommonModule,
42
- DatePickerComponent,
43
- NgIconComponent,
44
- TranslateDirective,
45
- ], viewProviders: [provideIcons({ matDeleteOutline })], template: "<div\n class=\"w-full h-full flex flex-row mt-6 bg-white border border-gray-300 rounded-lg overflow-hidden\"\n>\n <div class=\"flex-1 flex flex-col\">\n <div class=\"m-8\">\n <p class=\"mb-4\" translate>stac.filter.period</p>\n <p translate>stac.filter.from</p>\n <gn-ui-date-picker\n id=\"start-date-picker\"\n [date]=\"currentTemporalExtent?.start\"\n (dateChange)=\"onStartDateChange($event)\"\n />\n <p class=\"mt-4\" translate>stac.filter.to</p>\n <gn-ui-date-picker\n id=\"end-date-picker\"\n [date]=\"currentTemporalExtent?.end\"\n (dateChange)=\"onEndDateChange($event)\"\n />\n </div>\n\n <div class=\"mt-auto mb-8 mx-8\" *ngIf=\"isTemporalFilterModified\">\n <button\n id=\"reset-filters-button\"\n type=\"button\"\n class=\"flex items-center\"\n (click)=\"onResetFilters()\"\n >\n <span translate>stac.filter.reset</span>\n <ng-icon\n name=\"matDeleteOutline\"\n class=\"pointer-events-none ml-2\"\n ></ng-icon>\n </button>\n </div>\n </div>\n\n <div class=\"w-[655px] flex-shrink-0 flex items-center justify-center\">\n <span>Map...</span>\n </div>\n</div>\n" }]
46
- }], propDecorators: { link: [{
47
- type: Input
48
- }], initialTemporalExtent: [{
49
- type: Input
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhYy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9kYXRhdml6L3NyYy9saWIvc3RhYy12aWV3L3N0YWMtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMvbGliL3N0YWMtdmlldy9zdGFjLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQTtBQUt0QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7QUFnQnhELE1BQU0sT0FBTyxpQkFBaUI7SUFkOUI7UUFrQkUsMEJBQXFCLEdBQWlDLElBQUksQ0FBQTtRQUMxRCw2QkFBd0IsR0FBRyxLQUFLLENBQUE7S0EwQmpDO0lBeEJDLGlCQUFpQixDQUFDLElBQVU7UUFDMUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHO1lBQzNCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQjtZQUM3QixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUE7UUFDRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFBO0lBQ3RDLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBVTtRQUN4QixJQUFJLENBQUMscUJBQXFCLEdBQUc7WUFDM0IsR0FBRyxJQUFJLENBQUMscUJBQXFCO1lBQzdCLEdBQUcsRUFBRSxJQUFJO1NBQ1YsQ0FBQTtRQUNELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUE7SUFDdEMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFBO1FBQ3ZELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUE7SUFDdkMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFBO0lBQ3pELENBQUM7K0dBOUJVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFKQzlCOUIsbXVDQXdDQSx5RERqQkksWUFBWSxtSUFDWixtQkFBbUIseUdBQ25CLGVBQWUsNkdBQ2Ysa0JBQWtCLHVHQUVMLENBQUMsWUFBWSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDOzs0RkFFeEMsaUJBQWlCO2tCQWQ3QixTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixrQkFBa0I7cUJBQ25CLGlCQUNjLENBQUMsWUFBWSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDOzhCQUcxQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uLFxuICBEYXRhc2V0VGVtcG9yYWxFeHRlbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBOZ0ljb25Db21wb25lbnQsIHByb3ZpZGVJY29ucyB9IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHsgbWF0RGVsZXRlT3V0bGluZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9vdXRsaW5lJ1xuaW1wb3J0IHsgVHJhbnNsYXRlRGlyZWN0aXZlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktc3RhYy12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YWMtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0YWMtdmlldy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgTmdJY29uQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZURpcmVjdGl2ZSxcbiAgXSxcbiAgdmlld1Byb3ZpZGVyczogW3Byb3ZpZGVJY29ucyh7IG1hdERlbGV0ZU91dGxpbmUgfSldLFxufSlcbmV4cG9ydCBjbGFzcyBTdGFjVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxpbms6IERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uXG4gIEBJbnB1dCgpIGluaXRpYWxUZW1wb3JhbEV4dGVudDogRGF0YXNldFRlbXBvcmFsRXh0ZW50IHwgbnVsbFxuXG4gIGN1cnJlbnRUZW1wb3JhbEV4dGVudDogRGF0YXNldFRlbXBvcmFsRXh0ZW50IHwgbnVsbCA9IG51bGxcbiAgaXNUZW1wb3JhbEZpbHRlck1vZGlmaWVkID0gZmFsc2VcblxuICBvblN0YXJ0RGF0ZUNoYW5nZShkYXRlOiBEYXRlKSB7XG4gICAgdGhpcy5jdXJyZW50VGVtcG9yYWxFeHRlbnQgPSB7XG4gICAgICAuLi50aGlzLmN1cnJlbnRUZW1wb3JhbEV4dGVudCxcbiAgICAgIHN0YXJ0OiBkYXRlLFxuICAgIH1cbiAgICB0aGlzLmlzVGVtcG9yYWxGaWx0ZXJNb2RpZmllZCA9IHRydWVcbiAgfVxuXG4gIG9uRW5kRGF0ZUNoYW5nZShkYXRlOiBEYXRlKSB7XG4gICAgdGhpcy5jdXJyZW50VGVtcG9yYWxFeHRlbnQgPSB7XG4gICAgICAuLi50aGlzLmN1cnJlbnRUZW1wb3JhbEV4dGVudCxcbiAgICAgIGVuZDogZGF0ZSxcbiAgICB9XG4gICAgdGhpcy5pc1RlbXBvcmFsRmlsdGVyTW9kaWZpZWQgPSB0cnVlXG4gIH1cblxuICBvblJlc2V0RmlsdGVycygpIHtcbiAgICB0aGlzLmN1cnJlbnRUZW1wb3JhbEV4dGVudCA9IHRoaXMuaW5pdGlhbFRlbXBvcmFsRXh0ZW50XG4gICAgdGhpcy5pc1RlbXBvcmFsRmlsdGVyTW9kaWZpZWQgPSBmYWxzZVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jdXJyZW50VGVtcG9yYWxFeHRlbnQgPSB0aGlzLmluaXRpYWxUZW1wb3JhbEV4dGVudFxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGZsZXgtcm93IG10LTYgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlblwiXG4+XG4gIDxkaXYgY2xhc3M9XCJmbGV4LTEgZmxleCBmbGV4LWNvbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtLThcIj5cbiAgICAgIDxwIGNsYXNzPVwibWItNFwiIHRyYW5zbGF0ZT5zdGFjLmZpbHRlci5wZXJpb2Q8L3A+XG4gICAgICA8cCB0cmFuc2xhdGU+c3RhYy5maWx0ZXIuZnJvbTwvcD5cbiAgICAgIDxnbi11aS1kYXRlLXBpY2tlclxuICAgICAgICBpZD1cInN0YXJ0LWRhdGUtcGlja2VyXCJcbiAgICAgICAgW2RhdGVdPVwiY3VycmVudFRlbXBvcmFsRXh0ZW50Py5zdGFydFwiXG4gICAgICAgIChkYXRlQ2hhbmdlKT1cIm9uU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgLz5cbiAgICAgIDxwIGNsYXNzPVwibXQtNFwiIHRyYW5zbGF0ZT5zdGFjLmZpbHRlci50bzwvcD5cbiAgICAgIDxnbi11aS1kYXRlLXBpY2tlclxuICAgICAgICBpZD1cImVuZC1kYXRlLXBpY2tlclwiXG4gICAgICAgIFtkYXRlXT1cImN1cnJlbnRUZW1wb3JhbEV4dGVudD8uZW5kXCJcbiAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25FbmREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtdC1hdXRvIG1iLTggbXgtOFwiICpuZ0lmPVwiaXNUZW1wb3JhbEZpbHRlck1vZGlmaWVkXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGlkPVwicmVzZXQtZmlsdGVycy1idXR0b25cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiXG4gICAgICAgIChjbGljayk9XCJvblJlc2V0RmlsdGVycygpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gdHJhbnNsYXRlPnN0YWMuZmlsdGVyLnJlc2V0PC9zcGFuPlxuICAgICAgICA8bmctaWNvblxuICAgICAgICAgIG5hbWU9XCJtYXREZWxldGVPdXRsaW5lXCJcbiAgICAgICAgICBjbGFzcz1cInBvaW50ZXItZXZlbnRzLW5vbmUgbWwtMlwiXG4gICAgICAgID48L25nLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInctWzY1NXB4XSBmbGV4LXNocmluay0wIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XG4gICAgPHNwYW4+TWFwLi4uPC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,59 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { TranslateService } from '@ngx-translate/core';
3
- import { formatDistance } from 'date-fns/formatDistance';
4
- import { de, enUS, es, fr, it, nl, pt, sk } from 'date-fns/locale';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@ngx-translate/core";
7
- export class TimeSincePipe {
8
- constructor(translate) {
9
- this.translate = translate;
10
- }
11
- transform(value) {
12
- if (isNaN(value.getTime())) {
13
- throw new Error('Invalid Date');
14
- }
15
- const maintenant = new Date();
16
- let locale;
17
- switch (this.translate.currentLang) {
18
- case 'fr':
19
- locale = fr;
20
- break;
21
- case 'de':
22
- locale = de;
23
- break;
24
- case 'es':
25
- locale = es;
26
- break;
27
- case 'it':
28
- locale = it;
29
- break;
30
- case 'nl':
31
- locale = nl;
32
- break;
33
- case 'pt':
34
- locale = pt;
35
- break;
36
- case 'sk':
37
- locale = sk;
38
- break;
39
- case 'en':
40
- default:
41
- locale = enUS;
42
- break;
43
- }
44
- return formatDistance(value, maintenant, {
45
- addSuffix: true,
46
- locale: locale,
47
- });
48
- }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeSincePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
50
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TimeSincePipe, isStandalone: true, name: "timeSince" }); }
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TimeSincePipe, decorators: [{
53
- type: Pipe,
54
- args: [{
55
- name: 'timeSince',
56
- standalone: true,
57
- }]
58
- }], ctorParameters: () => [{ type: i1.TranslateService }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zaW5jZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3VzZXItZmVlZGJhY2staXRlbS90aW1lLXNpbmNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUE7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0saUJBQWlCLENBQUE7OztBQU0xRSxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFHLENBQUM7SUFFbkQsU0FBUyxDQUFDLEtBQVc7UUFDbkIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ2pDLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFBO1FBQzdCLElBQUksTUFBYyxDQUFBO1FBRWxCLFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxLQUFLLElBQUk7Z0JBQ1AsTUFBTSxHQUFHLEVBQUUsQ0FBQTtnQkFDWCxNQUFLO1lBQ1AsS0FBSyxJQUFJO2dCQUNQLE1BQU0sR0FBRyxFQUFFLENBQUE7Z0JBQ1gsTUFBSztZQUNQLEtBQUssSUFBSTtnQkFDUCxNQUFNLEdBQUcsRUFBRSxDQUFBO2dCQUNYLE1BQUs7WUFDUCxLQUFLLElBQUk7Z0JBQ1AsTUFBTSxHQUFHLEVBQUUsQ0FBQTtnQkFDWCxNQUFLO1lBQ1AsS0FBSyxJQUFJO2dCQUNQLE1BQU0sR0FBRyxFQUFFLENBQUE7Z0JBQ1gsTUFBSztZQUNQLEtBQUssSUFBSTtnQkFDUCxNQUFNLEdBQUcsRUFBRSxDQUFBO2dCQUNYLE1BQUs7WUFDUCxLQUFLLElBQUk7Z0JBQ1AsTUFBTSxHQUFHLEVBQUUsQ0FBQTtnQkFDWCxNQUFLO1lBQ1AsS0FBSyxJQUFJLENBQUM7WUFDVjtnQkFDRSxNQUFNLEdBQUcsSUFBSSxDQUFBO2dCQUNiLE1BQUs7UUFDVCxDQUFDO1FBRUQsT0FBTyxjQUFjLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRTtZQUN2QyxTQUFTLEVBQUUsSUFBSTtZQUNmLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0EzQ1UsYUFBYTs2R0FBYixhQUFhOzs0RkFBYixhQUFhO2tCQUp6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO29CQUNqQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgZm9ybWF0RGlzdGFuY2UgfSBmcm9tICdkYXRlLWZucy9mb3JtYXREaXN0YW5jZSdcbmltcG9ydCB7IGRlLCBlblVTLCBlcywgZnIsIGl0LCBMb2NhbGUsIG5sLCBwdCwgc2sgfSBmcm9tICdkYXRlLWZucy9sb2NhbGUnXG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RpbWVTaW5jZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVTaW5jZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBpZiAoaXNOYU4odmFsdWUuZ2V0VGltZSgpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIERhdGUnKVxuICAgIH1cblxuICAgIGNvbnN0IG1haW50ZW5hbnQgPSBuZXcgRGF0ZSgpXG4gICAgbGV0IGxvY2FsZTogTG9jYWxlXG5cbiAgICBzd2l0Y2ggKHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nKSB7XG4gICAgICBjYXNlICdmcic6XG4gICAgICAgIGxvY2FsZSA9IGZyXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdkZSc6XG4gICAgICAgIGxvY2FsZSA9IGRlXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdlcyc6XG4gICAgICAgIGxvY2FsZSA9IGVzXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdpdCc6XG4gICAgICAgIGxvY2FsZSA9IGl0XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdubCc6XG4gICAgICAgIGxvY2FsZSA9IG5sXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdwdCc6XG4gICAgICAgIGxvY2FsZSA9IHB0XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdzayc6XG4gICAgICAgIGxvY2FsZSA9IHNrXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdlbic6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBsb2NhbGUgPSBlblVTXG4gICAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcm1hdERpc3RhbmNlKHZhbHVlLCBtYWludGVuYW50LCB7XG4gICAgICBhZGRTdWZmaXg6IHRydWUsXG4gICAgICBsb2NhbGU6IGxvY2FsZSxcbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -1,16 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { DatasetServiceDistribution, DatasetTemporalExtent } from '../../../../../../libs/common/domain/src/lib/model/record';
3
- import * as i0 from "@angular/core";
4
- export declare class StacViewComponent implements OnInit {
5
- link: DatasetServiceDistribution;
6
- initialTemporalExtent: DatasetTemporalExtent | null;
7
- currentTemporalExtent: DatasetTemporalExtent | null;
8
- isTemporalFilterModified: boolean;
9
- onStartDateChange(date: Date): void;
10
- onEndDateChange(date: Date): void;
11
- onResetFilters(): void;
12
- ngOnInit(): void;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<StacViewComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<StacViewComponent, "gn-ui-stac-view", never, { "link": { "alias": "link"; "required": false; }; "initialTemporalExtent": { "alias": "initialTemporalExtent"; "required": false; }; }, {}, never, never, true, never>;
15
- }
16
- //# sourceMappingURL=stac-view.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stac-view.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/dataviz/src/lib/stac-view/stac-view.component.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,MAAM,EACP,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,2DAA2D,CAAA;;AAMlE,qBAca,iBAAkB,YAAW,MAAM;IACrC,IAAI,EAAE,0BAA0B,CAAA;IAChC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAE5D,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAO;IAC1D,wBAAwB,UAAQ;IAEhC,iBAAiB,CAAC,IAAI,EAAE,IAAI;IAQ5B,eAAe,CAAC,IAAI,EAAE,IAAI;IAQ1B,cAAc;IAKd,QAAQ;yCA5BG,iBAAiB;2CAAjB,iBAAiB;CA+B7B"}
@@ -1,11 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- import { TranslateService } from '@ngx-translate/core';
3
- import * as i0 from "@angular/core";
4
- export declare class TimeSincePipe implements PipeTransform {
5
- private translate;
6
- constructor(translate: TranslateService);
7
- transform(value: Date): string;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<TimeSincePipe, never>;
9
- static ɵpipe: i0.ɵɵPipeDeclaration<TimeSincePipe, "timeSince", true>;
10
- }
11
- //# sourceMappingURL=time-since.pipe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"time-since.pipe.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/elements/src/lib/user-feedback-item/time-since.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAItD,qBAIa,aAAc,YAAW,aAAa;IACrC,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,gBAAgB;IAE/C,SAAS,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM;yCAHnB,aAAa;uCAAb,aAAa;CA4CzB"}
@@ -1,40 +0,0 @@
1
- <div
2
- class="w-full h-full flex flex-row mt-6 bg-white border border-gray-300 rounded-lg overflow-hidden"
3
- >
4
- <div class="flex-1 flex flex-col">
5
- <div class="m-8">
6
- <p class="mb-4" translate>stac.filter.period</p>
7
- <p translate>stac.filter.from</p>
8
- <gn-ui-date-picker
9
- id="start-date-picker"
10
- [date]="currentTemporalExtent?.start"
11
- (dateChange)="onStartDateChange($event)"
12
- />
13
- <p class="mt-4" translate>stac.filter.to</p>
14
- <gn-ui-date-picker
15
- id="end-date-picker"
16
- [date]="currentTemporalExtent?.end"
17
- (dateChange)="onEndDateChange($event)"
18
- />
19
- </div>
20
-
21
- <div class="mt-auto mb-8 mx-8" *ngIf="isTemporalFilterModified">
22
- <button
23
- id="reset-filters-button"
24
- type="button"
25
- class="flex items-center"
26
- (click)="onResetFilters()"
27
- >
28
- <span translate>stac.filter.reset</span>
29
- <ng-icon
30
- name="matDeleteOutline"
31
- class="pointer-events-none ml-2"
32
- ></ng-icon>
33
- </button>
34
- </div>
35
- </div>
36
-
37
- <div class="w-[655px] flex-shrink-0 flex items-center justify-center">
38
- <span>Map...</span>
39
- </div>
40
- </div>