geonetwork-ui 2.3.0-dev.287bf00c → 2.3.0-dev.2b3239d3

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 (142) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +2 -2
  2. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +2 -2
  3. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +1 -1
  4. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +3 -21
  5. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-license/form-field-license.component.mjs +1 -1
  6. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +104 -0
  7. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +8 -3
  8. package/esm2022/libs/feature/editor/src/lib/components/wizard-field/wizard-field.component.mjs +1 -1
  9. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +8 -1
  10. package/esm2022/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.mjs +73 -20
  11. package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +1 -1
  12. package/esm2022/libs/feature/map/src/lib/add-layer-from-wms/add-layer-from-wms.component.mjs +1 -1
  13. package/esm2022/libs/feature/map/src/lib/map-context/map-context.model.mjs +1 -1
  14. package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +29 -8
  15. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +1 -1
  16. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +1 -1
  17. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +1 -1
  18. package/esm2022/libs/feature/search/src/index.mjs +2 -1
  19. package/esm2022/libs/feature/search/src/lib/results-layout/results-layout.component.mjs +1 -1
  20. package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +1 -1
  21. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +1 -1
  22. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +1 -1
  23. package/esm2022/libs/ui/catalog/src/lib/organisations-filter/organisations-filter.component.mjs +1 -1
  24. package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -2
  25. package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +2 -2
  26. package/esm2022/libs/ui/elements/src/lib/link-card/link-card.component.mjs +16 -3
  27. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +90 -54
  28. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +1 -6
  29. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  30. package/esm2022/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.mjs +4 -3
  31. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +5 -3
  32. package/esm2022/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.mjs +29 -0
  33. package/esm2022/libs/ui/inputs/src/lib/text-input/text-input.component.mjs +5 -3
  34. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +6 -5
  35. package/esm2022/libs/ui/layout/src/index.mjs +2 -1
  36. package/esm2022/libs/ui/layout/src/lib/block-list/block-list.component.mjs +76 -0
  37. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +42 -18
  38. package/esm2022/libs/ui/layout/src/lib/ui-layout.module.mjs +3 -8
  39. package/esm2022/translations/de.json +11 -14
  40. package/esm2022/translations/en.json +11 -14
  41. package/esm2022/translations/es.json +11 -14
  42. package/esm2022/translations/fr.json +11 -14
  43. package/esm2022/translations/it.json +11 -14
  44. package/esm2022/translations/nl.json +11 -14
  45. package/esm2022/translations/pt.json +11 -14
  46. package/fesm2022/geonetwork-ui.mjs +569 -264
  47. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  48. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  49. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  50. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +21 -0
  51. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -0
  52. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +1 -0
  53. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  54. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  55. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts +10 -5
  56. package/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.d.ts.map +1 -1
  57. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts +1 -0
  58. package/libs/feature/map/src/lib/map-context/map-context.model.d.ts.map +1 -1
  59. package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
  60. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  61. package/libs/feature/search/src/index.d.ts +1 -0
  62. package/libs/feature/search/src/index.d.ts.map +1 -1
  63. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts +3 -3
  64. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  65. package/libs/ui/elements/src/lib/api-card/api-card.component.d.ts.map +1 -1
  66. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts +3 -1
  67. package/libs/ui/elements/src/lib/link-card/link-card.component.d.ts.map +1 -1
  68. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +22 -4
  69. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  70. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +29 -30
  71. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  72. package/libs/ui/inputs/src/index.d.ts +1 -0
  73. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  74. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts +1 -1
  75. package/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.d.ts.map +1 -1
  76. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts +2 -1
  77. package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
  78. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts +12 -0
  79. package/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.d.ts.map +1 -0
  80. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts +2 -1
  81. package/libs/ui/inputs/src/lib/text-input/text-input.component.d.ts.map +1 -1
  82. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +27 -27
  83. package/libs/ui/layout/src/index.d.ts +1 -0
  84. package/libs/ui/layout/src/index.d.ts.map +1 -1
  85. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts +25 -0
  86. package/libs/ui/layout/src/lib/block-list/block-list.component.d.ts.map +1 -0
  87. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts +13 -6
  88. package/libs/ui/layout/src/lib/carousel/carousel.component.d.ts.map +1 -1
  89. package/libs/ui/layout/src/lib/ui-layout.module.d.ts +4 -5
  90. package/libs/ui/layout/src/lib/ui-layout.module.d.ts.map +1 -1
  91. package/package.json +2 -2
  92. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +1 -1
  93. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +1 -4
  94. package/src/libs/common/fixtures/src/lib/link.fixtures.ts +8 -0
  95. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +2 -19
  96. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.css +0 -0
  97. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.html +14 -0
  98. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +143 -0
  99. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +5 -0
  100. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +5 -0
  101. package/src/libs/feature/editor/src/lib/fields.config.ts +7 -0
  102. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.css +7 -0
  103. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.html +32 -18
  104. package/src/libs/feature/map/src/lib/add-layer-from-ogc-api/add-layer-from-ogc-api.component.ts +72 -17
  105. package/src/libs/feature/map/src/lib/map-context/map-context.model.ts +1 -0
  106. package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +26 -8
  107. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +0 -1
  108. package/src/libs/feature/search/src/index.ts +1 -0
  109. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -2
  110. package/src/libs/ui/elements/src/lib/api-card/api-card.component.ts +2 -1
  111. package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +1 -1
  112. package/src/libs/ui/elements/src/lib/link-card/link-card.component.html +38 -20
  113. package/src/libs/ui/elements/src/lib/link-card/link-card.component.ts +12 -0
  114. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +25 -9
  115. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +117 -57
  116. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +0 -2
  117. package/src/libs/ui/inputs/src/index.ts +1 -0
  118. package/src/libs/ui/inputs/src/lib/check-toggle/check-toggle.component.ts +3 -0
  119. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +1 -0
  120. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +1 -0
  121. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.css +6 -0
  122. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.html +26 -0
  123. package/src/libs/ui/inputs/src/lib/previous-next-buttons/previous-next-buttons.component.ts +32 -0
  124. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.html +1 -0
  125. package/src/libs/ui/inputs/src/lib/text-input/text-input.component.ts +1 -0
  126. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +1 -1
  127. package/src/libs/ui/layout/src/index.ts +1 -0
  128. package/src/libs/ui/layout/src/lib/block-list/block-list.component.css +23 -0
  129. package/src/libs/ui/layout/src/lib/block-list/block-list.component.html +20 -0
  130. package/src/libs/ui/layout/src/lib/block-list/block-list.component.ts +84 -0
  131. package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +8 -4
  132. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +4 -4
  133. package/src/libs/ui/layout/src/lib/carousel/carousel.component.ts +45 -15
  134. package/src/libs/ui/layout/src/lib/ui-layout.module.ts +0 -2
  135. package/translations/de.json +11 -14
  136. package/translations/en.json +11 -14
  137. package/translations/es.json +11 -14
  138. package/translations/fr.json +11 -14
  139. package/translations/it.json +11 -14
  140. package/translations/nl.json +11 -14
  141. package/translations/pt.json +11 -14
  142. package/translations/sk.json +11 -14
@@ -0,0 +1,20 @@
1
+ <div
2
+ class="block-list-container flex flex-col"
3
+ #blockContainer
4
+ [ngClass]="containerClass"
5
+ [ngStyle]="{ minHeight: minHeight + 'px' }"
6
+ >
7
+ <ng-content></ng-content>
8
+ </div>
9
+ <div
10
+ *ngIf="pagesCount > 1"
11
+ class="absolute flex flex-row justify-center gap-[14px] p-1"
12
+ [ngClass]="paginationContainerClass"
13
+ >
14
+ <button
15
+ *ngFor="let page of pages"
16
+ class="list-page-dot"
17
+ (click)="goToPage(page)"
18
+ [ngClass]="currentPage === page ? 'bg-primary' : 'bg-gray-400'"
19
+ ></button>
20
+ </div>
@@ -0,0 +1,84 @@
1
+ import {
2
+ AfterViewInit,
3
+ ChangeDetectionStrategy,
4
+ ChangeDetectorRef,
5
+ Component,
6
+ ContentChildren,
7
+ ElementRef,
8
+ Input,
9
+ QueryList,
10
+ ViewChild,
11
+ } from '@angular/core'
12
+ import { CommonModule } from '@angular/common'
13
+
14
+ @Component({
15
+ selector: 'gn-ui-block-list',
16
+ templateUrl: './block-list.component.html',
17
+ styleUrls: ['./block-list.component.css'],
18
+ changeDetection: ChangeDetectionStrategy.OnPush,
19
+ standalone: true,
20
+ imports: [CommonModule],
21
+ })
22
+ export class BlockListComponent implements AfterViewInit {
23
+ @Input() pageSize = 5
24
+ @Input() containerClass = ''
25
+ @Input() paginationContainerClass = 'w-full bottom-0 top-auto'
26
+ @ContentChildren('block', { read: ElementRef }) blocks: QueryList<
27
+ ElementRef<HTMLElement>
28
+ >
29
+ @ViewChild('blockContainer') blockContainer: ElementRef<HTMLElement>
30
+
31
+ protected minHeight = 0
32
+
33
+ protected currentPage = 0
34
+ protected get pages() {
35
+ return new Array(this.pagesCount).fill(0).map((_, i) => i)
36
+ }
37
+
38
+ get isFirstPage() {
39
+ return this.currentPage === 0
40
+ }
41
+ get isLastPage() {
42
+ return this.currentPage === this.pagesCount - 1
43
+ }
44
+ get pagesCount() {
45
+ return this.blocks ? Math.ceil(this.blocks.length / this.pageSize) : 1
46
+ }
47
+
48
+ constructor(private changeDetector: ChangeDetectorRef) {}
49
+
50
+ ngAfterViewInit() {
51
+ this.blocks.changes.subscribe(this.refreshBlocksVisibility)
52
+ this.refreshBlocksVisibility()
53
+
54
+ // we store the first height as the min-height of the list container
55
+ this.minHeight = this.blockContainer.nativeElement.clientHeight
56
+ this.changeDetector.detectChanges()
57
+ }
58
+
59
+ protected refreshBlocksVisibility = () => {
60
+ this.blocks.forEach((block, index) => {
61
+ block.nativeElement.style.display =
62
+ index >= this.currentPage * this.pageSize &&
63
+ index < (this.currentPage + 1) * this.pageSize
64
+ ? null
65
+ : 'none'
66
+ })
67
+ }
68
+
69
+ public goToPage(index: number) {
70
+ this.currentPage = Math.max(Math.min(index, this.pagesCount - 1), 0)
71
+ this.changeDetector.detectChanges()
72
+ this.refreshBlocksVisibility()
73
+ }
74
+
75
+ public previousPage() {
76
+ if (this.isFirstPage) return
77
+ this.goToPage(this.currentPage - 1)
78
+ }
79
+
80
+ public nextPage() {
81
+ if (this.isLastPage) return
82
+ this.goToPage(this.currentPage + 1)
83
+ }
84
+ }
@@ -1,20 +1,24 @@
1
1
  :host .carousel-container ::ng-deep > * {
2
2
  flex-shrink: 0;
3
3
  }
4
+
4
5
  :host {
5
6
  position: relative;
7
+ display: block;
6
8
  }
9
+
7
10
  .carousel-step-dot {
8
11
  width: 6px;
9
12
  height: 6px;
10
13
  border-radius: 6px;
11
14
  position: relative;
12
15
  }
16
+
13
17
  .carousel-step-dot:after {
14
18
  content: '';
15
19
  position: absolute;
16
- left: -4px;
17
- top: -4px;
18
- width: 14px;
19
- height: 14px;
20
+ left: -7px;
21
+ top: -7px;
22
+ width: 20px;
23
+ height: 20px;
20
24
  }
@@ -1,17 +1,17 @@
1
- <div #carouselOverflowContainer class="overflow-hidden h-full w-full">
2
- <div class="carousel-container flex flex-row" [ngClass]="containerClass">
1
+ <div #carouselOverflowContainer class="w-full">
2
+ <div class="carousel-container flex" [ngClass]="containerClass">
3
3
  <ng-content></ng-content>
4
4
  </div>
5
5
  </div>
6
6
  <div
7
7
  *ngIf="steps.length > 1"
8
- class="absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1"
8
+ class="absolute flex flex-row justify-center gap-[14px] p-1"
9
9
  [ngClass]="stepsContainerClass"
10
10
  >
11
11
  <button
12
12
  *ngFor="let step of steps; let i = index"
13
13
  class="carousel-step-dot"
14
14
  (click)="scrollToStep(i)"
15
- [ngClass]="selectedStep === i ? 'bg-secondary' : 'bg-gray-400'"
15
+ [ngClass]="currentStep === i ? 'bg-primary' : 'bg-gray-400'"
16
16
  ></button>
17
17
  </div>
@@ -4,25 +4,49 @@ import {
4
4
  ChangeDetectorRef,
5
5
  Component,
6
6
  ElementRef,
7
+ EventEmitter,
7
8
  Input,
9
+ Output,
8
10
  ViewChild,
9
11
  } from '@angular/core'
10
12
  import EmblaCarousel, { EmblaCarouselType } from 'embla-carousel'
13
+ import { CommonModule } from '@angular/common'
11
14
 
12
15
  @Component({
13
16
  selector: 'gn-ui-carousel',
14
17
  templateUrl: './carousel.component.html',
15
18
  styleUrls: ['./carousel.component.css'],
16
19
  changeDetection: ChangeDetectionStrategy.OnPush,
20
+ standalone: true,
21
+ imports: [CommonModule],
17
22
  })
18
23
  export class CarouselComponent implements AfterViewInit {
24
+ @ViewChild('carouselOverflowContainer') carouselOverflowContainer: ElementRef
25
+
19
26
  @Input() containerClass = ''
20
- @Input() stepsContainerClass = ''
21
- @ViewChild('carouselOverflowContainer')
22
- carouselOverflowContainer: ElementRef
23
- steps: number[] = []
24
- selectedStep = -1
25
- emblaApi: EmblaCarouselType
27
+ @Input() stepsContainerClass = 'w-full bottom-0 top-auto'
28
+ @Output() currentStepChange = new EventEmitter<number>()
29
+
30
+ protected steps: number[] = []
31
+ protected emblaApi: EmblaCarouselType
32
+ protected currentStep = 0
33
+
34
+ protected refreshSteps = () => {
35
+ this.steps = this.emblaApi.scrollSnapList()
36
+ this.currentStep = this.emblaApi.selectedScrollSnap()
37
+ this.currentStepChange.emit(this.currentStep)
38
+ this.changeDetector.detectChanges()
39
+ }
40
+
41
+ get isFirstStep() {
42
+ return this.currentStep === 0
43
+ }
44
+ get isLastStep() {
45
+ return this.currentStep === this.steps.length - 1
46
+ }
47
+ get stepsCount() {
48
+ return this.steps.length
49
+ }
26
50
 
27
51
  constructor(private changeDetector: ChangeDetectorRef) {}
28
52
 
@@ -33,18 +57,24 @@ export class CarouselComponent implements AfterViewInit {
33
57
  duration: 15,
34
58
  }
35
59
  )
36
- const refreshSteps = () => {
37
- this.steps = this.emblaApi.scrollSnapList()
38
- this.selectedStep = this.emblaApi.selectedScrollSnap()
39
- this.changeDetector.detectChanges()
40
- }
60
+
41
61
  this.emblaApi
42
- .on('init', refreshSteps)
43
- .on('reInit', refreshSteps)
44
- .on('select', refreshSteps)
62
+ .on('init', this.refreshSteps)
63
+ .on('reInit', this.refreshSteps)
64
+ .on('select', this.refreshSteps)
45
65
  }
46
66
 
47
- scrollToStep(stepIndex: number) {
67
+ public scrollToStep(stepIndex: number) {
48
68
  this.emblaApi.scrollTo(stepIndex)
49
69
  }
70
+
71
+ public slideToPrevious() {
72
+ if (this.isFirstStep) return
73
+ this.emblaApi.scrollPrev()
74
+ }
75
+
76
+ public slideToNext() {
77
+ if (this.isLastStep) return
78
+ this.emblaApi.scrollNext()
79
+ }
50
80
  }
@@ -15,14 +15,12 @@ import { CarouselComponent } from './carousel/carousel.component'
15
15
  StickyHeaderComponent,
16
16
  AnchorLinkDirective,
17
17
  ExpandablePanelButtonComponent,
18
- CarouselComponent,
19
18
  ],
20
19
  exports: [
21
20
  ExpandablePanelComponent,
22
21
  StickyHeaderComponent,
23
22
  AnchorLinkDirective,
24
23
  ExpandablePanelButtonComponent,
25
- CarouselComponent,
26
24
  ],
27
25
  })
28
26
  export class UiLayoutModule {}
@@ -156,6 +156,8 @@
156
156
  "editor.record.form.license.pddl": "",
157
157
  "editor.record.form.license.unknown": "Unbekannt oder nicht vorhanden",
158
158
  "editor.record.form.resourceUpdated": "",
159
+ "editor.record.form.updateFrequency": "",
160
+ "editor.record.form.updateFrequency.planned": "",
159
161
  "editor.record.loadError.body": "",
160
162
  "editor.record.loadError.closeMessage": "",
161
163
  "editor.record.loadError.title": "",
@@ -226,6 +228,7 @@
226
228
  "multiselect.filter.placeholder": "Suche",
227
229
  "nav.back": "Zurück",
228
230
  "next": "weiter",
231
+ "ogc.unreachable.unknown": "Der Dienst konnte nicht erreicht werden",
229
232
  "organisation.filter.placeholder": "Ergebnisse filtern",
230
233
  "organisation.sort.sortBy": "Sortieren nach:",
231
234
  "organisations.hits.found": "{hits, plural, =0{Keine Organisation gefunden} other{{hits} von {total} Organisationen angezeigt}}",
@@ -290,14 +293,6 @@
290
293
  "record.metadata.quality.updateFrequency.failed": "Aktualisierungsfrequenz nicht angegeben",
291
294
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
292
295
  "record.metadata.related": "Ähnliche Datensätze",
293
- "record.metadata.userFeedbacks": "",
294
- "record.metadata.userFeedbacks.anonymousUser": "",
295
- "record.metadata.userFeedbacks.sortSelector.label": "",
296
- "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "",
297
- "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "",
298
- "record.metadata.userFeedbacks.newComment.placeholder": "",
299
- "record.metadata.userFeedbacks.newAnswer.placeholder": "",
300
- "record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
301
296
  "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
302
297
  "record.metadata.status": "Status",
303
298
  "record.metadata.technical": "Technische Informationen",
@@ -312,6 +307,14 @@
312
307
  "record.metadata.updateFrequency": "Aktualisierungsfrequenz der Daten",
313
308
  "record.metadata.updatedOn": "Letzte Aktualisierung der Dateninformationen",
314
309
  "record.metadata.usage": "Nutzung und Einschränkungen",
310
+ "record.metadata.userFeedbacks": "",
311
+ "record.metadata.userFeedbacks.anonymousUser": "",
312
+ "record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
313
+ "record.metadata.userFeedbacks.newAnswer.placeholder": "",
314
+ "record.metadata.userFeedbacks.newComment.placeholder": "",
315
+ "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "",
316
+ "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "",
317
+ "record.metadata.userFeedbacks.sortSelector.label": "",
315
318
  "record.more.details": "Weitere Details",
316
319
  "record.tab.chart": "Diagramm",
317
320
  "record.tab.data": "Tabelle",
@@ -371,12 +374,6 @@
371
374
  "table.loading.data": "Daten werden geladen...",
372
375
  "table.object.count": "Objekte in diesem Datensatz",
373
376
  "table.select.data": "Datenquelle",
374
- "timeSincePipe.lessThanAMinute": "",
375
- "timeSincePipe.minutesAgo": "",
376
- "timeSincePipe.hoursAgo": "",
377
- "timeSincePipe.daysAgo": "",
378
- "timeSincePipe.monthsAgo": "",
379
- "timeSincePipe.yearsAgo": "",
380
377
  "tooltip.html.copy": "HTML kopieren",
381
378
  "tooltip.id.copy": "Eindeutige Kennung kopieren",
382
379
  "tooltip.url.copy": "URL kopieren",
@@ -156,6 +156,8 @@
156
156
  "editor.record.form.license.pddl": "Open Data Commons PDDL",
157
157
  "editor.record.form.license.unknown": "Unknown or absent",
158
158
  "editor.record.form.resourceUpdated": "Last update date",
159
+ "editor.record.form.updateFrequency": "Update frequency",
160
+ "editor.record.form.updateFrequency.planned": "The data should be updated regularly.",
159
161
  "editor.record.loadError.body": "The record could not be loaded:",
160
162
  "editor.record.loadError.closeMessage": "Understood",
161
163
  "editor.record.loadError.title": "Error loading record",
@@ -226,6 +228,7 @@
226
228
  "multiselect.filter.placeholder": "Search",
227
229
  "nav.back": "Back",
228
230
  "next": "next",
231
+ "ogc.unreachable.unknown": "The service could not be reached",
229
232
  "organisation.filter.placeholder": "Filter results",
230
233
  "organisation.sort.sortBy": "Sort by:",
231
234
  "organisations.hits.found": "{hits, plural, =0{No organizations found} other{{hits} out of {total} organizations shown}}",
@@ -290,14 +293,6 @@
290
293
  "record.metadata.quality.updateFrequency.failed": "Update frequency is not specified",
291
294
  "record.metadata.quality.updateFrequency.success": "Update frequency is specified",
292
295
  "record.metadata.related": "Related records",
293
- "record.metadata.userFeedbacks": "Questions / Answers",
294
- "record.metadata.userFeedbacks.anonymousUser": "In order to leave a comment, please log in.",
295
- "record.metadata.userFeedbacks.sortSelector.label": "Sort by ...",
296
- "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "Newest comments first",
297
- "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "Oldest comments first",
298
- "record.metadata.userFeedbacks.newComment.placeholder": "Write your comment here...",
299
- "record.metadata.userFeedbacks.newAnswer.placeholder": "Answer...",
300
- "record.metadata.userFeedbacks.newAnswer.buttonTitle": "Publish",
301
296
  "record.metadata.sheet": "Original metadata",
302
297
  "record.metadata.status": "Status",
303
298
  "record.metadata.technical": "Technical information",
@@ -312,6 +307,14 @@
312
307
  "record.metadata.updateFrequency": "Data Update Frequency",
313
308
  "record.metadata.updatedOn": "Last Data Information Update",
314
309
  "record.metadata.usage": "License and Conditions",
310
+ "record.metadata.userFeedbacks": "Questions / Answers",
311
+ "record.metadata.userFeedbacks.anonymousUser": "In order to leave a comment, please log in.",
312
+ "record.metadata.userFeedbacks.newAnswer.buttonTitle": "Publish",
313
+ "record.metadata.userFeedbacks.newAnswer.placeholder": "Answer...",
314
+ "record.metadata.userFeedbacks.newComment.placeholder": "Write your comment here...",
315
+ "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "Newest comments first",
316
+ "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "Oldest comments first",
317
+ "record.metadata.userFeedbacks.sortSelector.label": "Sort by ...",
315
318
  "record.more.details": "Read more",
316
319
  "record.tab.chart": "Chart",
317
320
  "record.tab.data": "Table",
@@ -371,12 +374,6 @@
371
374
  "table.loading.data": "Loading data...",
372
375
  "table.object.count": "objects in this dataset",
373
376
  "table.select.data": "Data source",
374
- "timeSincePipe.lessThanAMinute": "Less than a minute ago",
375
- "timeSincePipe.minutesAgo": "{value} minute{s} ago",
376
- "timeSincePipe.hoursAgo": "{value} hour{s} ago",
377
- "timeSincePipe.daysAgo": "{value} day{s} ago",
378
- "timeSincePipe.monthsAgo": "{value} month{s} ago",
379
- "timeSincePipe.yearsAgo": "{value} year{s} ago",
380
377
  "tooltip.html.copy": "Copy HTML",
381
378
  "tooltip.id.copy": "Copy unique identifier",
382
379
  "tooltip.url.copy": "Copy URL",
@@ -156,6 +156,8 @@
156
156
  "editor.record.form.license.pddl": "",
157
157
  "editor.record.form.license.unknown": "",
158
158
  "editor.record.form.resourceUpdated": "",
159
+ "editor.record.form.updateFrequency": "",
160
+ "editor.record.form.updateFrequency.planned": "",
159
161
  "editor.record.loadError.body": "",
160
162
  "editor.record.loadError.closeMessage": "",
161
163
  "editor.record.loadError.title": "",
@@ -226,6 +228,7 @@
226
228
  "multiselect.filter.placeholder": "",
227
229
  "nav.back": "",
228
230
  "next": "",
231
+ "ogc.unreachable.unknown": "",
229
232
  "organisation.filter.placeholder": "",
230
233
  "organisation.sort.sortBy": "",
231
234
  "organisations.hits.found": "",
@@ -290,14 +293,6 @@
290
293
  "record.metadata.quality.updateFrequency.failed": "",
291
294
  "record.metadata.quality.updateFrequency.success": "",
292
295
  "record.metadata.related": "",
293
- "record.metadata.userFeedbacks": "",
294
- "record.metadata.userFeedbacks.anonymousUser": "",
295
- "record.metadata.userFeedbacks.sortSelector.label": "",
296
- "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "",
297
- "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "",
298
- "record.metadata.userFeedbacks.newComment.placeholder": "",
299
- "record.metadata.userFeedbacks.newAnswer.placeholder": "",
300
- "record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
301
296
  "record.metadata.sheet": "",
302
297
  "record.metadata.status": "",
303
298
  "record.metadata.technical": "",
@@ -312,6 +307,14 @@
312
307
  "record.metadata.updateFrequency": "",
313
308
  "record.metadata.updatedOn": "",
314
309
  "record.metadata.usage": "",
310
+ "record.metadata.userFeedbacks": "",
311
+ "record.metadata.userFeedbacks.anonymousUser": "",
312
+ "record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
313
+ "record.metadata.userFeedbacks.newAnswer.placeholder": "",
314
+ "record.metadata.userFeedbacks.newComment.placeholder": "",
315
+ "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "",
316
+ "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "",
317
+ "record.metadata.userFeedbacks.sortSelector.label": "",
315
318
  "record.more.details": "",
316
319
  "record.tab.chart": "",
317
320
  "record.tab.data": "",
@@ -371,12 +374,6 @@
371
374
  "table.loading.data": "",
372
375
  "table.object.count": "",
373
376
  "table.select.data": "",
374
- "timeSincePipe.lessThanAMinute": "",
375
- "timeSincePipe.minutesAgo": "",
376
- "timeSincePipe.hoursAgo": "",
377
- "timeSincePipe.daysAgo": "",
378
- "timeSincePipe.monthsAgo": "",
379
- "timeSincePipe.yearsAgo": "",
380
377
  "tooltip.html.copy": "",
381
378
  "tooltip.id.copy": "",
382
379
  "tooltip.url.copy": "",
@@ -156,6 +156,8 @@
156
156
  "editor.record.form.license.pddl": "",
157
157
  "editor.record.form.license.unknown": "Non-reconnue ou absente",
158
158
  "editor.record.form.resourceUpdated": "Date de dernière révision",
159
+ "editor.record.form.updateFrequency": "Fréquence de mise à jour",
160
+ "editor.record.form.updateFrequency.planned": "Ces données doivent être mise à jour régulièrement.",
159
161
  "editor.record.loadError.body": "",
160
162
  "editor.record.loadError.closeMessage": "",
161
163
  "editor.record.loadError.title": "",
@@ -226,6 +228,7 @@
226
228
  "multiselect.filter.placeholder": "Rechercher",
227
229
  "nav.back": "Retour",
228
230
  "next": "suivant",
231
+ "ogc.unreachable.unknown": "Le service n'est pas accessible",
229
232
  "organisation.filter.placeholder": "Filtrer les résultats",
230
233
  "organisation.sort.sortBy": "Trier par :",
231
234
  "organisations.hits.found": "{hits, plural, =0{Aucune organisation trouvé} one{1 organisation sur {total} affichée} other{{hits} organisations sur {total} affichées}}",
@@ -290,14 +293,6 @@
290
293
  "record.metadata.quality.updateFrequency.failed": "Fréquence de mise à jour n'est pas renseignée",
291
294
  "record.metadata.quality.updateFrequency.success": "Fréquence de mise à jour est renseignée",
292
295
  "record.metadata.related": "Voir aussi",
293
- "record.metadata.userFeedbacks": "Questions / Réponses",
294
- "record.metadata.userFeedbacks.anonymousUser": "Pour rédiger un commentaire, veuillez vous identifier.",
295
- "record.metadata.userFeedbacks.sortSelector.label": "Trier par ...",
296
- "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "Les plus récents en premier",
297
- "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "Les plus anciens en premier",
298
- "record.metadata.userFeedbacks.newComment.placeholder": "Rédiger votre commentaire ici...",
299
- "record.metadata.userFeedbacks.newAnswer.placeholder": "Répondre...",
300
- "record.metadata.userFeedbacks.newAnswer.buttonTitle": "Publier",
301
296
  "record.metadata.sheet": "Fiche de métadonnées d'origine",
302
297
  "record.metadata.status": "Statut",
303
298
  "record.metadata.technical": "Informations techniques",
@@ -312,6 +307,14 @@
312
307
  "record.metadata.updateFrequency": "Fréquence de mise à jour des données",
313
308
  "record.metadata.updatedOn": "Dernière mise à jour des informations sur les données",
314
309
  "record.metadata.usage": "Licences et conditions d'utilisation",
310
+ "record.metadata.userFeedbacks": "Questions / Réponses",
311
+ "record.metadata.userFeedbacks.anonymousUser": "Pour rédiger un commentaire, veuillez vous identifier.",
312
+ "record.metadata.userFeedbacks.newAnswer.buttonTitle": "Publier",
313
+ "record.metadata.userFeedbacks.newAnswer.placeholder": "Répondre...",
314
+ "record.metadata.userFeedbacks.newComment.placeholder": "Rédiger votre commentaire ici...",
315
+ "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "Les plus récents en premier",
316
+ "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "Les plus anciens en premier",
317
+ "record.metadata.userFeedbacks.sortSelector.label": "Trier par ...",
315
318
  "record.more.details": "Détails",
316
319
  "record.tab.chart": "Graphique",
317
320
  "record.tab.data": "Tableau",
@@ -371,12 +374,6 @@
371
374
  "table.loading.data": "Chargement des données...",
372
375
  "table.object.count": "enregistrements dans ces données",
373
376
  "table.select.data": "Source de données",
374
- "timeSincePipe.lessThanAMinute": "Il y a moins d'une minute",
375
- "timeSincePipe.minutesAgo": "Il y a {value} minute{s}",
376
- "timeSincePipe.hoursAgo": "Il y a {value} heure{s}",
377
- "timeSincePipe.daysAgo": "Il y a {value} jour{s}",
378
- "timeSincePipe.monthsAgo": "Il y a {value} mois",
379
- "timeSincePipe.yearsAgo": "Il y a {value} an{s}",
380
377
  "tooltip.html.copy": "Copier le HTML",
381
378
  "tooltip.id.copy": "Copier l'identifiant unique",
382
379
  "tooltip.url.copy": "Copier l'URL",
@@ -156,6 +156,8 @@
156
156
  "editor.record.form.license.pddl": "",
157
157
  "editor.record.form.license.unknown": "Non riconosciuta o assente",
158
158
  "editor.record.form.resourceUpdated": "",
159
+ "editor.record.form.updateFrequency": "",
160
+ "editor.record.form.updateFrequency.planned": "",
159
161
  "editor.record.loadError.body": "",
160
162
  "editor.record.loadError.closeMessage": "",
161
163
  "editor.record.loadError.title": "",
@@ -226,6 +228,7 @@
226
228
  "multiselect.filter.placeholder": "Cerca",
227
229
  "nav.back": "Indietro",
228
230
  "next": "successivo",
231
+ "ogc.unreachable.unknown": "Il servizio non è accessibile",
229
232
  "organisation.filter.placeholder": "Filtra i risultati",
230
233
  "organisation.sort.sortBy": "Ordina per:",
231
234
  "organisations.hits.found": "{hits, plural, =0{Nessuna organizzazione trovata} one{1 organizzazione su {total} visualizzata} other{{hits} organizzazioni su {total} visualizzate}}",
@@ -290,14 +293,6 @@
290
293
  "record.metadata.quality.updateFrequency.failed": "La frequenza di aggiornamento non è specificata",
291
294
  "record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
292
295
  "record.metadata.related": "Vedi anche",
293
- "record.metadata.userFeedbacks": "",
294
- "record.metadata.userFeedbacks.anonymousUser": "",
295
- "record.metadata.userFeedbacks.sortSelector.label": "",
296
- "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "",
297
- "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "",
298
- "record.metadata.userFeedbacks.newComment.placeholder": "",
299
- "record.metadata.userFeedbacks.newAnswer.placeholder": "",
300
- "record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
301
296
  "record.metadata.sheet": "Origine del metadata",
302
297
  "record.metadata.status": "Stato",
303
298
  "record.metadata.technical": "Informazioni tecniche",
@@ -312,6 +307,14 @@
312
307
  "record.metadata.updateFrequency": "Frequenza di aggiornamento dei dati",
313
308
  "record.metadata.updatedOn": "Ultimo aggiornamento delle informazioni sui dati",
314
309
  "record.metadata.usage": "Licenze e limiti di utilizzo",
310
+ "record.metadata.userFeedbacks": "",
311
+ "record.metadata.userFeedbacks.anonymousUser": "",
312
+ "record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
313
+ "record.metadata.userFeedbacks.newAnswer.placeholder": "",
314
+ "record.metadata.userFeedbacks.newComment.placeholder": "",
315
+ "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "",
316
+ "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "",
317
+ "record.metadata.userFeedbacks.sortSelector.label": "",
315
318
  "record.more.details": "Dettagli",
316
319
  "record.tab.chart": "Grafico",
317
320
  "record.tab.data": "Tabella",
@@ -371,12 +374,6 @@
371
374
  "table.loading.data": "Caricamento dei dati...",
372
375
  "table.object.count": "record in questi dati",
373
376
  "table.select.data": "Sorgente dati",
374
- "timeSincePipe.lessThanAMinute": "",
375
- "timeSincePipe.minutesAgo": "",
376
- "timeSincePipe.hoursAgo": "",
377
- "timeSincePipe.daysAgo": "",
378
- "timeSincePipe.monthsAgo": "",
379
- "timeSincePipe.yearsAgo": "",
380
377
  "tooltip.html.copy": "Copiare il HTML",
381
378
  "tooltip.id.copy": "Copiare l'identificatore unico",
382
379
  "tooltip.url.copy": "Copiare l'URL",
@@ -156,6 +156,8 @@
156
156
  "editor.record.form.license.pddl": "",
157
157
  "editor.record.form.license.unknown": "",
158
158
  "editor.record.form.resourceUpdated": "",
159
+ "editor.record.form.updateFrequency": "",
160
+ "editor.record.form.updateFrequency.planned": "",
159
161
  "editor.record.loadError.body": "",
160
162
  "editor.record.loadError.closeMessage": "",
161
163
  "editor.record.loadError.title": "",
@@ -226,6 +228,7 @@
226
228
  "multiselect.filter.placeholder": "",
227
229
  "nav.back": "",
228
230
  "next": "",
231
+ "ogc.unreachable.unknown": "",
229
232
  "organisation.filter.placeholder": "",
230
233
  "organisation.sort.sortBy": "",
231
234
  "organisations.hits.found": "",
@@ -290,14 +293,6 @@
290
293
  "record.metadata.quality.updateFrequency.failed": "",
291
294
  "record.metadata.quality.updateFrequency.success": "",
292
295
  "record.metadata.related": "",
293
- "record.metadata.userFeedbacks": "",
294
- "record.metadata.userFeedbacks.anonymousUser": "",
295
- "record.metadata.userFeedbacks.sortSelector.label": "",
296
- "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "",
297
- "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "",
298
- "record.metadata.userFeedbacks.newComment.placeholder": "",
299
- "record.metadata.userFeedbacks.newAnswer.placeholder": "",
300
- "record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
301
296
  "record.metadata.sheet": "",
302
297
  "record.metadata.status": "",
303
298
  "record.metadata.technical": "",
@@ -312,6 +307,14 @@
312
307
  "record.metadata.updateFrequency": "",
313
308
  "record.metadata.updatedOn": "",
314
309
  "record.metadata.usage": "",
310
+ "record.metadata.userFeedbacks": "",
311
+ "record.metadata.userFeedbacks.anonymousUser": "",
312
+ "record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
313
+ "record.metadata.userFeedbacks.newAnswer.placeholder": "",
314
+ "record.metadata.userFeedbacks.newComment.placeholder": "",
315
+ "record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "",
316
+ "record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "",
317
+ "record.metadata.userFeedbacks.sortSelector.label": "",
315
318
  "record.more.details": "",
316
319
  "record.tab.chart": "",
317
320
  "record.tab.data": "",
@@ -371,12 +374,6 @@
371
374
  "table.loading.data": "",
372
375
  "table.object.count": "",
373
376
  "table.select.data": "",
374
- "timeSincePipe.lessThanAMinute": "",
375
- "timeSincePipe.minutesAgo": "",
376
- "timeSincePipe.hoursAgo": "",
377
- "timeSincePipe.daysAgo": "",
378
- "timeSincePipe.monthsAgo": "",
379
- "timeSincePipe.yearsAgo": "",
380
377
  "tooltip.html.copy": "",
381
378
  "tooltip.id.copy": "",
382
379
  "tooltip.url.copy": "",