geonetwork-ui 2.4.0-dev.db93b4c4 → 2.4.0-dev.e079151e

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 (133) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +2 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +5 -5
  3. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +30 -2
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.mjs +31 -0
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +23 -1
  6. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +6 -1
  7. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +12 -1
  8. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  9. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  10. package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +2 -6
  11. package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +138 -0
  12. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +21 -0
  13. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +19 -9
  14. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +2 -1
  15. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +12 -2
  16. package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +3 -4
  17. package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +9 -3
  18. package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +5 -11
  19. package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +3 -3
  20. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +5 -2
  21. package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +3 -3
  22. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +11 -5
  23. package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +29 -0
  24. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +15 -7
  25. package/esm2022/libs/ui/widgets/src/index.mjs +2 -1
  26. package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +68 -0
  27. package/esm2022/translations/de.json +11 -17
  28. package/esm2022/translations/en.json +4 -10
  29. package/esm2022/translations/es.json +3 -9
  30. package/esm2022/translations/fr.json +4 -10
  31. package/esm2022/translations/it.json +4 -10
  32. package/esm2022/translations/nl.json +3 -9
  33. package/esm2022/translations/pt.json +3 -9
  34. package/fesm2022/geonetwork-ui.mjs +440 -131
  35. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  36. package/libs/api/metadata-converter/src/index.d.ts +1 -0
  37. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  38. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
  39. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +8 -1
  40. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  41. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts +5 -0
  42. package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts.map +1 -0
  43. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +3 -1
  44. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  45. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +1 -0
  46. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  47. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +1 -0
  48. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  49. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +2 -1
  50. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  51. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +9 -0
  52. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  53. package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
  54. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +27 -0
  55. package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +1 -0
  56. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +11 -0
  57. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -0
  58. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +5 -1
  59. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
  60. package/libs/feature/editor/src/lib/components/record-form/record-form.component.d.ts.map +1 -1
  61. package/libs/feature/editor/src/lib/fields.config.d.ts +1 -0
  62. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  63. package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
  64. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +3 -1
  65. package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
  66. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  67. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +0 -3
  68. package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
  69. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
  70. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +7 -6
  71. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  72. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts +4 -2
  73. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +1 -1
  74. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +11 -0
  75. package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
  76. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +4 -2
  77. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  78. package/libs/ui/widgets/src/index.d.ts +1 -0
  79. package/libs/ui/widgets/src/index.d.ts.map +1 -1
  80. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts +19 -0
  81. package/libs/ui/widgets/src/lib/popover/popover.component.d.ts.map +1 -0
  82. package/package.json +1 -1
  83. package/src/libs/api/metadata-converter/src/index.ts +1 -0
  84. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +5 -1
  85. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +37 -12
  86. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +5 -1
  87. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +4 -2
  88. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +72 -2
  89. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.ts +39 -0
  90. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +70 -1
  91. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +8 -0
  92. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +20 -0
  93. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +2 -1
  94. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +12 -0
  95. package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +1 -5
  96. package/src/libs/data-access/gn4/src/spec.yaml +0 -8
  97. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +3 -1
  98. package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +117 -21
  99. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.css +0 -0
  100. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +5 -0
  101. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +22 -0
  102. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +6 -0
  103. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +13 -1
  104. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.ts +1 -0
  105. package/src/libs/feature/editor/src/lib/fields.config.ts +12 -1
  106. package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +2 -3
  107. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +1 -0
  108. package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +5 -0
  109. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +14 -20
  110. package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +0 -10
  111. package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
  112. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +2 -1
  113. package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
  114. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.html +1 -1
  115. package/src/libs/ui/inputs/src/lib/image-input/image-input.component.ts +7 -2
  116. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
  117. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +17 -0
  118. package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +22 -0
  119. package/src/libs/ui/search/src/lib/results-table/results-table.component.html +9 -0
  120. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +26 -12
  121. package/src/libs/ui/widgets/src/index.ts +1 -0
  122. package/src/libs/ui/widgets/src/lib/popover/popover.component.css +0 -0
  123. package/src/libs/ui/widgets/src/lib/popover/popover.component.html +3 -0
  124. package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +85 -0
  125. package/tailwind.base.css +2 -1
  126. package/translations/de.json +11 -17
  127. package/translations/en.json +4 -10
  128. package/translations/es.json +3 -9
  129. package/translations/fr.json +4 -10
  130. package/translations/it.json +4 -10
  131. package/translations/nl.json +3 -9
  132. package/translations/pt.json +3 -9
  133. package/translations/sk.json +4 -10
@@ -0,0 +1,17 @@
1
+ <gn-ui-button
2
+ type="outline"
3
+ [matMenuTriggerFor]="menu"
4
+ (buttonClick)="openMenu()"
5
+ data-test="record-menu-button"
6
+ >
7
+ <mat-icon class="material-symbols-outlined">more_vert</mat-icon>
8
+ </gn-ui-button>
9
+ <mat-menu #menu="matMenu">
10
+ <button
11
+ mat-menu-item
12
+ (click)="duplicate.emit()"
13
+ data-test="record-menu-duplicate-button"
14
+ >
15
+ <span translate>record.action.duplicate</span>
16
+ </button>
17
+ </mat-menu>
@@ -0,0 +1,22 @@
1
+ import { Component, EventEmitter, Output, ViewChild } from '@angular/core'
2
+ import { MatIconModule } from '@angular/material/icon'
3
+ import { MatMenuModule, MatMenuTrigger } from '@angular/material/menu'
4
+ import { ButtonComponent } from '../../../../../../../libs/ui/inputs/src'
5
+ import { TranslateModule } from '@ngx-translate/core'
6
+
7
+ @Component({
8
+ selector: 'gn-ui-action-menu',
9
+ templateUrl: './action-menu.component.html',
10
+ styleUrls: ['./action-menu.component.css'],
11
+ standalone: true,
12
+ imports: [MatIconModule, ButtonComponent, MatMenuModule, TranslateModule],
13
+ })
14
+ export class ActionMenuComponent {
15
+ @Output() duplicate = new EventEmitter<void>()
16
+
17
+ @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger
18
+
19
+ openMenu() {
20
+ this.trigger.openMenu()
21
+ }
22
+ }
@@ -120,4 +120,13 @@
120
120
  {{ dateToString(item.recordUpdated) }}
121
121
  </ng-template>
122
122
  </gn-ui-interactive-table-column>
123
+
124
+ <!-- ACTION MENU COLUMN -->
125
+ <gn-ui-interactive-table-column>
126
+ <ng-template #header> </ng-template>
127
+ <ng-template #cell let-item>
128
+ <gn-ui-action-menu (duplicate)="handleDuplicate(item)">
129
+ </gn-ui-action-menu>
130
+ </ng-template>
131
+ </gn-ui-interactive-table-column>
123
132
  </gn-ui-interactive-table>
@@ -1,23 +1,31 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core'
1
+ import { CommonModule } from '@angular/common'
2
+ import {
3
+ Component,
4
+ EventEmitter,
5
+ Input,
6
+ Output,
7
+ ViewChild,
8
+ } from '@angular/core'
9
+ import { MatIconModule } from '@angular/material/icon'
10
+ import { MatMenuModule, MatMenuTrigger } from '@angular/material/menu'
2
11
  import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record'
3
12
  import {
4
- FileFormat,
5
- getBadgeColor,
6
- getFileFormat,
7
- getFormatPriority,
8
- } from '../../../../../../libs/util/shared/src'
13
+ FieldSort,
14
+ SortByField,
15
+ } from '../../../../../../libs/common/domain/src/lib/model/search'
9
16
  import { BadgeComponent, UiInputsModule } from '../../../../../../libs/ui/inputs/src'
10
17
  import {
11
18
  InteractiveTableColumnComponent,
12
19
  InteractiveTableComponent,
13
20
  } from '../../../../../../libs/ui/layout/src'
14
- import { MatIconModule } from '@angular/material/icon'
15
- import { TranslateModule } from '@ngx-translate/core'
16
- import { CommonModule } from '@angular/common'
17
21
  import {
18
- FieldSort,
19
- SortByField,
20
- } from '../../../../../../libs/common/domain/src/lib/model/search'
22
+ FileFormat,
23
+ getBadgeColor,
24
+ getFileFormat,
25
+ getFormatPriority,
26
+ } from '../../../../../../libs/util/shared/src'
27
+ import { TranslateModule } from '@ngx-translate/core'
28
+ import { ActionMenuComponent } from './action-menu/action-menu.component'
21
29
 
22
30
  @Component({
23
31
  selector: 'gn-ui-results-table',
@@ -32,6 +40,7 @@ import {
32
40
  MatIconModule,
33
41
  TranslateModule,
34
42
  BadgeComponent,
43
+ ActionMenuComponent,
35
44
  ],
36
45
  })
37
46
  export class ResultsTableComponent {
@@ -43,6 +52,7 @@ export class ResultsTableComponent {
43
52
  // emits the column (field) as well as the order
44
53
  @Output() sortByChange = new EventEmitter<[string, 'asc' | 'desc']>()
45
54
  @Output() recordClick = new EventEmitter<CatalogRecord>()
55
+ @Output() duplicateRecord = new EventEmitter<CatalogRecord>()
46
56
  @Output() recordsSelectedChange = new EventEmitter<
47
57
  [CatalogRecord[], boolean]
48
58
  >()
@@ -89,6 +99,10 @@ export class ResultsTableComponent {
89
99
  this.recordClick.emit(item as CatalogRecord)
90
100
  }
91
101
 
102
+ handleDuplicate(item: unknown) {
103
+ this.duplicateRecord.emit(item as CatalogRecord)
104
+ }
105
+
92
106
  setSortBy(col: string, order: 'asc' | 'desc') {
93
107
  this.sortByChange.emit([col, order])
94
108
  }
@@ -1,5 +1,6 @@
1
1
  export * from './lib/ui-widgets.module'
2
2
  export * from './lib/progress-bar/progress-bar.component'
3
+ export * from './lib/popover/popover.component'
3
4
  export * from './lib/loading-mask/loading-mask.component'
4
5
  export * from './lib/color-scale/color-scale.component'
5
6
  export * from './lib/popup-alert/popup-alert.component'
@@ -0,0 +1,3 @@
1
+ <span #popoverContent>
2
+ <ng-content></ng-content>
3
+ </span>
@@ -0,0 +1,85 @@
1
+ import { CommonModule } from '@angular/common'
2
+ import {
3
+ Component,
4
+ AfterViewInit,
5
+ ElementRef,
6
+ Input,
7
+ ViewChild,
8
+ OnDestroy,
9
+ OnChanges,
10
+ SimpleChanges,
11
+ TemplateRef,
12
+ Renderer2,
13
+ ViewContainerRef,
14
+ EmbeddedViewRef,
15
+ } from '@angular/core'
16
+ import tippy, { Instance } from 'tippy.js'
17
+
18
+ @Component({
19
+ selector: 'gn-ui-popover',
20
+ templateUrl: './popover.component.html',
21
+ styleUrls: ['./popover.component.css'],
22
+ standalone: true,
23
+ imports: [CommonModule],
24
+ })
25
+ export class PopoverComponent implements AfterViewInit, OnChanges, OnDestroy {
26
+ @ViewChild('popoverContent', { static: false }) popoverContent: ElementRef
27
+ @Input() content: string | TemplateRef<any>
28
+ @Input() theme: 'light' | 'light-border' | 'translucent' | 'material' | ''
29
+
30
+ private tippyInstance: Instance
31
+ private view: EmbeddedViewRef<any>
32
+
33
+ constructor(
34
+ private viewContainerRef: ViewContainerRef,
35
+ private renderer: Renderer2
36
+ ) {}
37
+
38
+ private getContent(): string | HTMLElement {
39
+ if (this.content instanceof TemplateRef) {
40
+ if (this.view) {
41
+ this.view.destroy()
42
+ }
43
+ this.view = this.viewContainerRef.createEmbeddedView(this.content)
44
+ this.view.detectChanges()
45
+ const wrapper = this.renderer.createElement('div') // Create a wrapper div
46
+ this.view.rootNodes.forEach((node) => {
47
+ this.renderer.appendChild(wrapper, node) // Append each root node to the wrapper
48
+ })
49
+ return wrapper
50
+ }
51
+ return this.content
52
+ }
53
+
54
+ ngAfterViewInit(): void {
55
+ this.tippyInstance = tippy(this.popoverContent.nativeElement as Element, {
56
+ content: this.getContent(),
57
+ allowHTML: true,
58
+ theme: this.theme,
59
+ })
60
+ }
61
+
62
+ ngOnChanges(changes: SimpleChanges): void {
63
+ if (changes['theme']) {
64
+ this.theme = changes['theme'].currentValue
65
+ if (this.tippyInstance) {
66
+ this.tippyInstance.setProps({ theme: this.theme })
67
+ }
68
+ }
69
+ if (changes['content']) {
70
+ this.content = changes['content'].currentValue
71
+ if (this.tippyInstance) {
72
+ this.tippyInstance.setContent(this.getContent())
73
+ }
74
+ }
75
+ }
76
+
77
+ ngOnDestroy(): void {
78
+ if (this.tippyInstance) {
79
+ this.tippyInstance.destroy()
80
+ }
81
+ if (this.view) {
82
+ this.view.destroy()
83
+ }
84
+ }
85
+ }
package/tailwind.base.css CHANGED
@@ -115,7 +115,8 @@
115
115
  --padding: var(--gn-ui-badge-padding, 0.375em 0.75em);
116
116
  --text-color: var(--gn-ui-badge-text-color, var(--color-gray-50));
117
117
  --background-color: var(--gn-ui-badge-background-color, black);
118
- @apply inline-block opacity-70 p-[--padding] rounded-[--rounded]
118
+ --opacity: var(--gn-ui-badge-opacity, 0.7);
119
+ @apply inline-block opacity-[--opacity] p-[--padding] rounded-[--rounded]
119
120
  font-medium text-[length:0.875em] leading-none text-[color:--text-color] bg-[color:--background-color];
120
121
  }
121
122
  /* makes sure icons will not make the badges grow vertically; also make size proportional */
@@ -168,18 +168,16 @@
168
168
  "editor.record.form.bottomButtons.comeBackLater": "",
169
169
  "editor.record.form.bottomButtons.next": "",
170
170
  "editor.record.form.bottomButtons.previous": "",
171
- "editor.record.form.field.abstract": "",
171
+ "editor.record.form.field.abstract": "Kurzbeschreibung",
172
172
  "editor.record.form.field.keywords": "Schlagwörter",
173
173
  "editor.record.form.field.license": "Lizenz",
174
- "editor.record.form.field.recordUpdated": "",
175
- "editor.record.form.field.resourceUpdated": "",
176
- "editor.record.form.field.temporalExtents": "",
177
- "editor.record.form.field.title": "",
178
- "editor.record.form.field.uniqueIdentifier": "",
179
- "editor.record.form.field.updateFrequency": "",
180
- "editor.record.form.abstract": "Kurzbeschreibung",
181
- "editor.record.form.keywords": "Schlüsselwörter",
182
- "editor.record.form.license": "Lizenz",
174
+ "editor.record.form.field.overviews": "",
175
+ "editor.record.form.field.recordUpdated": "Datensatz zuletzt aktualisiert",
176
+ "editor.record.form.field.resourceUpdated": "Letztes Aktualisierungsdatum",
177
+ "editor.record.form.field.temporalExtents": "Zeitlicher Umfang",
178
+ "editor.record.form.field.title": "Metadaten-Titel",
179
+ "editor.record.form.field.uniqueIdentifier": "Eindeutige Kennung (ID)",
180
+ "editor.record.form.field.updateFrequency": "Aktualisierungshäufigkeit",
183
181
  "editor.record.form.license.cc-by": "Creative Commons CC-BY",
184
182
  "editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
185
183
  "editor.record.form.license.cc-zero": "Creative Commons CC-0",
@@ -205,16 +203,10 @@
205
203
  "editor.record.form.section.dataPointOfContact.label": "",
206
204
  "editor.record.form.section.geographicalCoverage.label": "",
207
205
  "editor.record.form.section.useAndAccessConditions.label": "",
208
- "editor.record.form.metadata.title": "Metadaten-Titel",
209
- "editor.record.form.record.updated": "Datensatz zuletzt aktualisiert",
210
- "editor.record.form.resourceUpdated": "Letztes Aktualisierungsdatum",
211
- "editor.record.form.temporalExtents": "Zeitlicher Umfang",
212
206
  "editor.record.form.temporalExtents.addDate": "Zeitpunkt",
213
207
  "editor.record.form.temporalExtents.addRange": "Zeitraum",
214
208
  "editor.record.form.temporalExtents.date": "Datum",
215
209
  "editor.record.form.temporalExtents.range": "Datumsbereich",
216
- "editor.record.form.unique.identifier": "Eindeutige Kennung (ID)",
217
- "editor.record.form.updateFrequency": "Aktualisierungshäufigkeit",
218
210
  "editor.record.form.updateFrequency.planned": "Die Daten sollten regelmäßig aktualisiert werden.",
219
211
  "editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
220
212
  "editor.record.loadError.closeMessage": "Verstanden",
@@ -229,6 +221,7 @@
229
221
  "editor.record.saveStatus.draftWithChangesPending": "Als Entwurf gespeichert - Änderungen stehen aus",
230
222
  "editor.record.saveStatus.recordUpToDate": "Datensatz ist auf dem neuesten Stand",
231
223
  "editor.record.upToDate": "Dieser Datensatz ist auf dem neuesten Stand",
224
+ "editor.sidebar.menu.editor": "",
232
225
  "externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
233
226
  "facets.block.title.OrgForResource": "Organisation",
234
227
  "facets.block.title.availableInServices": "Verfügbar für",
@@ -306,6 +299,7 @@
306
299
  "pagination.pageOf": "von",
307
300
  "previous": "zurück",
308
301
  "record.action.download": "Herunterladen",
302
+ "record.action.duplicate": "",
309
303
  "record.action.view": "Anzeigen",
310
304
  "record.externalViewer.open": "In externem Kartenviewer öffnen",
311
305
  "record.metadata.about": "Beschreibung",
@@ -436,7 +430,7 @@
436
430
  "search.filters.resourceType": "Ressourcentyp",
437
431
  "search.filters.standard": "Standard",
438
432
  "search.filters.title": "Ergebnisse filtern",
439
- "search.filters.topic": "Thema",
433
+ "search.filters.topic": "Themen",
440
434
  "search.filters.useSpatialFilter": "Zuerst Datensätze im Interessenbereich anzeigen",
441
435
  "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.",
442
436
  "share.tab.permalink": "Teilen",
@@ -171,15 +171,13 @@
171
171
  "editor.record.form.field.abstract": "Abstract",
172
172
  "editor.record.form.field.keywords": "Keywords",
173
173
  "editor.record.form.field.license": "License",
174
+ "editor.record.form.field.overviews": "Overviews",
174
175
  "editor.record.form.field.recordUpdated": "Record Updated",
175
176
  "editor.record.form.field.resourceUpdated": "Resource Updated",
176
177
  "editor.record.form.field.temporalExtents": "Temporal extents",
177
178
  "editor.record.form.field.title": "Metadata title",
178
179
  "editor.record.form.field.uniqueIdentifier": "Unique identifier",
179
180
  "editor.record.form.field.updateFrequency": "Update frequency",
180
- "editor.record.form.abstract": "Abstract",
181
- "editor.record.form.keywords": "Keywords",
182
- "editor.record.form.license": "License",
183
181
  "editor.record.form.license.cc-by": "Creative Commons CC-BY",
184
182
  "editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
185
183
  "editor.record.form.license.cc-zero": "Creative Commons CC-0",
@@ -205,16 +203,10 @@
205
203
  "editor.record.form.section.dataPointOfContact.label": "Data point of contact",
206
204
  "editor.record.form.section.geographicalCoverage.label": "Geographical coverage",
207
205
  "editor.record.form.section.useAndAccessConditions.label": "Use and access conditions",
208
- "editor.record.form.metadata.title": "Metadata title",
209
- "editor.record.form.record.updated": "Record updated",
210
- "editor.record.form.resourceUpdated": "Last update date",
211
- "editor.record.form.temporalExtents": "Temporal extent",
212
206
  "editor.record.form.temporalExtents.addDate": "Time instant",
213
207
  "editor.record.form.temporalExtents.addRange": "Time period",
214
208
  "editor.record.form.temporalExtents.date": "Date",
215
209
  "editor.record.form.temporalExtents.range": "Date range",
216
- "editor.record.form.unique.identifier": "Unique identifier",
217
- "editor.record.form.updateFrequency": "Update frequency",
218
210
  "editor.record.form.updateFrequency.planned": "The data should be updated regularly.",
219
211
  "editor.record.loadError.body": "The record could not be loaded:",
220
212
  "editor.record.loadError.closeMessage": "Understood",
@@ -229,6 +221,7 @@
229
221
  "editor.record.saveStatus.draftWithChangesPending": "Saved as draft - changes are pending",
230
222
  "editor.record.saveStatus.recordUpToDate": "Record is up to date",
231
223
  "editor.record.upToDate": "This record is up to date",
224
+ "editor.sidebar.menu.editor": "Editor",
232
225
  "externalviewer.dataset.unnamed": "Datahub layer",
233
226
  "facets.block.title.OrgForResource": "Organisation",
234
227
  "facets.block.title.availableInServices": "Available for",
@@ -306,6 +299,7 @@
306
299
  "pagination.pageOf": "of",
307
300
  "previous": "previous",
308
301
  "record.action.download": "Download",
302
+ "record.action.duplicate": "Duplicate",
309
303
  "record.action.view": "View",
310
304
  "record.externalViewer.open": "Open in the external map viewer",
311
305
  "record.metadata.about": "Description",
@@ -436,7 +430,7 @@
436
430
  "search.filters.resourceType": "Resource type",
437
431
  "search.filters.standard": "Standard",
438
432
  "search.filters.title": "Filter your results",
439
- "search.filters.topic": "Topic",
433
+ "search.filters.topic": "Topics",
440
434
  "search.filters.useSpatialFilter": "Show records in the area of interest first",
441
435
  "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.",
442
436
  "share.tab.permalink": "Share",
@@ -171,15 +171,13 @@
171
171
  "editor.record.form.field.abstract": "",
172
172
  "editor.record.form.field.keywords": "",
173
173
  "editor.record.form.field.license": "",
174
+ "editor.record.form.field.overviews": "",
174
175
  "editor.record.form.field.recordUpdated": "",
175
176
  "editor.record.form.field.resourceUpdated": "",
176
177
  "editor.record.form.field.temporalExtents": "",
177
178
  "editor.record.form.field.title": "",
178
179
  "editor.record.form.field.uniqueIdentifier": "",
179
180
  "editor.record.form.field.updateFrequency": "",
180
- "editor.record.form.abstract": "",
181
- "editor.record.form.keywords": "",
182
- "editor.record.form.license": "",
183
181
  "editor.record.form.license.cc-by": "",
184
182
  "editor.record.form.license.cc-by-sa": "",
185
183
  "editor.record.form.license.cc-zero": "",
@@ -205,16 +203,10 @@
205
203
  "editor.record.form.section.dataPointOfContact.label": "",
206
204
  "editor.record.form.section.geographicalCoverage.label": "",
207
205
  "editor.record.form.section.useAndAccessConditions.label": "",
208
- "editor.record.form.metadata.title": "",
209
- "editor.record.form.record.updated": "",
210
- "editor.record.form.resourceUpdated": "",
211
- "editor.record.form.temporalExtents": "",
212
206
  "editor.record.form.temporalExtents.addDate": "",
213
207
  "editor.record.form.temporalExtents.addRange": "",
214
208
  "editor.record.form.temporalExtents.date": "",
215
209
  "editor.record.form.temporalExtents.range": "",
216
- "editor.record.form.unique.identifier": "",
217
- "editor.record.form.updateFrequency": "",
218
210
  "editor.record.form.updateFrequency.planned": "",
219
211
  "editor.record.loadError.body": "",
220
212
  "editor.record.loadError.closeMessage": "",
@@ -229,6 +221,7 @@
229
221
  "editor.record.saveStatus.draftWithChangesPending": "",
230
222
  "editor.record.saveStatus.recordUpToDate": "",
231
223
  "editor.record.upToDate": "",
224
+ "editor.sidebar.menu.editor": "",
232
225
  "externalviewer.dataset.unnamed": "",
233
226
  "facets.block.title.OrgForResource": "",
234
227
  "facets.block.title.availableInServices": "",
@@ -306,6 +299,7 @@
306
299
  "pagination.pageOf": "",
307
300
  "previous": "",
308
301
  "record.action.download": "",
302
+ "record.action.duplicate": "",
309
303
  "record.action.view": "",
310
304
  "record.externalViewer.open": "",
311
305
  "record.metadata.about": "",
@@ -171,15 +171,13 @@
171
171
  "editor.record.form.field.abstract": "Résumé",
172
172
  "editor.record.form.field.keywords": "Mots-clés",
173
173
  "editor.record.form.field.license": "Licence",
174
+ "editor.record.form.field.overviews": "Aperçus",
174
175
  "editor.record.form.field.recordUpdated": "Date de dernière révision",
175
176
  "editor.record.form.field.resourceUpdated": "Date de dernière révision",
176
177
  "editor.record.form.field.temporalExtents": "Étendue temporelle",
177
178
  "editor.record.form.field.title": "Titre",
178
179
  "editor.record.form.field.uniqueIdentifier": "Identifiant unique",
179
180
  "editor.record.form.field.updateFrequency": "Fréquence de mise à jour",
180
- "editor.record.form.abstract": "",
181
- "editor.record.form.keywords": "",
182
- "editor.record.form.license": "Licence",
183
181
  "editor.record.form.license.cc-by": "",
184
182
  "editor.record.form.license.cc-by-sa": "",
185
183
  "editor.record.form.license.cc-zero": "",
@@ -205,16 +203,10 @@
205
203
  "editor.record.form.section.dataPointOfContact.label": "Point de contact de la metadonee",
206
204
  "editor.record.form.section.geographicalCoverage.label": "Couverture geographique",
207
205
  "editor.record.form.section.useAndAccessConditions.label": "Conditions d'acces et usage",
208
- "editor.record.form.metadata.title": "",
209
- "editor.record.form.record.updated": "",
210
- "editor.record.form.resourceUpdated": "Date de dernière révision",
211
- "editor.record.form.temporalExtents": "Étendue temporelle",
212
206
  "editor.record.form.temporalExtents.addDate": "Date déterminée",
213
207
  "editor.record.form.temporalExtents.addRange": "Période de temps",
214
208
  "editor.record.form.temporalExtents.date": "Date concernée",
215
209
  "editor.record.form.temporalExtents.range": "Période concernée",
216
- "editor.record.form.unique.identifier": "",
217
- "editor.record.form.updateFrequency": "Fréquence de mise à jour",
218
210
  "editor.record.form.updateFrequency.planned": "Ces données doivent être mise à jour régulièrement.",
219
211
  "editor.record.loadError.body": "",
220
212
  "editor.record.loadError.closeMessage": "",
@@ -229,6 +221,7 @@
229
221
  "editor.record.saveStatus.draftWithChangesPending": "Brouillon enregistré - modifications en cours",
230
222
  "editor.record.saveStatus.recordUpToDate": "La fiche publiée est à jour",
231
223
  "editor.record.upToDate": "",
224
+ "editor.sidebar.menu.editor": "",
232
225
  "externalviewer.dataset.unnamed": "Couche du datahub",
233
226
  "facets.block.title.OrgForResource": "Organisation",
234
227
  "facets.block.title.availableInServices": "Disponible pour",
@@ -306,6 +299,7 @@
306
299
  "pagination.pageOf": "sur",
307
300
  "previous": "précédent",
308
301
  "record.action.download": "Télécharger",
302
+ "record.action.duplicate": "Dupliquer",
309
303
  "record.action.view": "Voir",
310
304
  "record.externalViewer.open": "Ouvrir dans le visualiseur externe",
311
305
  "record.metadata.about": "Description",
@@ -436,7 +430,7 @@
436
430
  "search.filters.resourceType": "Type de ressource",
437
431
  "search.filters.standard": "Standard",
438
432
  "search.filters.title": "Affiner votre recherche",
439
- "search.filters.topic": "Thème",
433
+ "search.filters.topic": "Thèmes",
440
434
  "search.filters.useSpatialFilter": "Mettre en avant les résultats sur la zone d'intérêt",
441
435
  "search.filters.useSpatialFilterHelp": "Si cette option est activée, les fiches portant sur la zone d'intérêt du catalogue seront montrées en premier; les fiches en dehors de cette zone n'apparaîtront pas dans les résultats.",
442
436
  "share.tab.permalink": "Partager",
@@ -171,15 +171,13 @@
171
171
  "editor.record.form.field.abstract": "",
172
172
  "editor.record.form.field.keywords": "",
173
173
  "editor.record.form.field.license": "Licenza",
174
+ "editor.record.form.field.overviews": "",
174
175
  "editor.record.form.field.recordUpdated": "",
175
176
  "editor.record.form.field.resourceUpdated": "",
176
177
  "editor.record.form.field.temporalExtents": "",
177
178
  "editor.record.form.field.title": "",
178
179
  "editor.record.form.field.uniqueIdentifier": "",
179
180
  "editor.record.form.field.updateFrequency": "",
180
- "editor.record.form.abstract": "",
181
- "editor.record.form.keywords": "",
182
- "editor.record.form.license": "Licenza",
183
181
  "editor.record.form.license.cc-by": "",
184
182
  "editor.record.form.license.cc-by-sa": "",
185
183
  "editor.record.form.license.cc-zero": "",
@@ -205,16 +203,10 @@
205
203
  "editor.record.form.section.dataPointOfContact.label": "",
206
204
  "editor.record.form.section.geographicalCoverage.label": "",
207
205
  "editor.record.form.section.useAndAccessConditions.label": "",
208
- "editor.record.form.metadata.title": "",
209
- "editor.record.form.record.updated": "",
210
- "editor.record.form.resourceUpdated": "",
211
- "editor.record.form.temporalExtents": "",
212
206
  "editor.record.form.temporalExtents.addDate": "",
213
207
  "editor.record.form.temporalExtents.addRange": "",
214
208
  "editor.record.form.temporalExtents.date": "",
215
209
  "editor.record.form.temporalExtents.range": "",
216
- "editor.record.form.unique.identifier": "",
217
- "editor.record.form.updateFrequency": "",
218
210
  "editor.record.form.updateFrequency.planned": "",
219
211
  "editor.record.loadError.body": "",
220
212
  "editor.record.loadError.closeMessage": "",
@@ -229,6 +221,7 @@
229
221
  "editor.record.saveStatus.draftWithChangesPending": "",
230
222
  "editor.record.saveStatus.recordUpToDate": "",
231
223
  "editor.record.upToDate": "",
224
+ "editor.sidebar.menu.editor": "",
232
225
  "externalviewer.dataset.unnamed": "Layer del datahub",
233
226
  "facets.block.title.OrgForResource": "Organizzazione",
234
227
  "facets.block.title.availableInServices": "Disponibile per",
@@ -306,6 +299,7 @@
306
299
  "pagination.pageOf": "di",
307
300
  "previous": "precedente",
308
301
  "record.action.download": "Scarica",
302
+ "record.action.duplicate": "",
309
303
  "record.action.view": "Visualizza",
310
304
  "record.externalViewer.open": "Apri nell'visualizzatore esterno",
311
305
  "record.metadata.about": "Descrizione",
@@ -436,7 +430,7 @@
436
430
  "search.filters.resourceType": "Tipo di risorsa",
437
431
  "search.filters.standard": "Standard",
438
432
  "search.filters.title": "Affina la sua ricerca",
439
- "search.filters.topic": "Argomento",
433
+ "search.filters.topic": "Argomenti",
440
434
  "search.filters.useSpatialFilter": "Evidenzia i risultati nell'area di interesse",
441
435
  "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.",
442
436
  "share.tab.permalink": "Condividere",
@@ -171,15 +171,13 @@
171
171
  "editor.record.form.field.abstract": "",
172
172
  "editor.record.form.field.keywords": "",
173
173
  "editor.record.form.field.license": "",
174
+ "editor.record.form.field.overviews": "",
174
175
  "editor.record.form.field.recordUpdated": "",
175
176
  "editor.record.form.field.resourceUpdated": "",
176
177
  "editor.record.form.field.temporalExtents": "",
177
178
  "editor.record.form.field.title": "",
178
179
  "editor.record.form.field.uniqueIdentifier": "",
179
180
  "editor.record.form.field.updateFrequency": "",
180
- "editor.record.form.abstract": "",
181
- "editor.record.form.keywords": "",
182
- "editor.record.form.license": "",
183
181
  "editor.record.form.license.cc-by": "",
184
182
  "editor.record.form.license.cc-by-sa": "",
185
183
  "editor.record.form.license.cc-zero": "",
@@ -205,16 +203,10 @@
205
203
  "editor.record.form.section.dataPointOfContact.label": "",
206
204
  "editor.record.form.section.geographicalCoverage.label": "",
207
205
  "editor.record.form.section.useAndAccessConditions.label": "",
208
- "editor.record.form.metadata.title": "",
209
- "editor.record.form.record.updated": "",
210
- "editor.record.form.resourceUpdated": "",
211
- "editor.record.form.temporalExtents": "",
212
206
  "editor.record.form.temporalExtents.addDate": "",
213
207
  "editor.record.form.temporalExtents.addRange": "",
214
208
  "editor.record.form.temporalExtents.date": "",
215
209
  "editor.record.form.temporalExtents.range": "",
216
- "editor.record.form.unique.identifier": "",
217
- "editor.record.form.updateFrequency": "",
218
210
  "editor.record.form.updateFrequency.planned": "",
219
211
  "editor.record.loadError.body": "",
220
212
  "editor.record.loadError.closeMessage": "",
@@ -229,6 +221,7 @@
229
221
  "editor.record.saveStatus.draftWithChangesPending": "",
230
222
  "editor.record.saveStatus.recordUpToDate": "",
231
223
  "editor.record.upToDate": "",
224
+ "editor.sidebar.menu.editor": "",
232
225
  "externalviewer.dataset.unnamed": "",
233
226
  "facets.block.title.OrgForResource": "",
234
227
  "facets.block.title.availableInServices": "",
@@ -306,6 +299,7 @@
306
299
  "pagination.pageOf": "",
307
300
  "previous": "",
308
301
  "record.action.download": "",
302
+ "record.action.duplicate": "",
309
303
  "record.action.view": "",
310
304
  "record.externalViewer.open": "",
311
305
  "record.metadata.about": "",
@@ -171,15 +171,13 @@
171
171
  "editor.record.form.field.abstract": "",
172
172
  "editor.record.form.field.keywords": "",
173
173
  "editor.record.form.field.license": "",
174
+ "editor.record.form.field.overviews": "",
174
175
  "editor.record.form.field.recordUpdated": "",
175
176
  "editor.record.form.field.resourceUpdated": "",
176
177
  "editor.record.form.field.temporalExtents": "",
177
178
  "editor.record.form.field.title": "",
178
179
  "editor.record.form.field.uniqueIdentifier": "",
179
180
  "editor.record.form.field.updateFrequency": "",
180
- "editor.record.form.abstract": "",
181
- "editor.record.form.keywords": "",
182
- "editor.record.form.license": "",
183
181
  "editor.record.form.license.cc-by": "",
184
182
  "editor.record.form.license.cc-by-sa": "",
185
183
  "editor.record.form.license.cc-zero": "",
@@ -205,16 +203,10 @@
205
203
  "editor.record.form.section.dataPointOfContact.label": "",
206
204
  "editor.record.form.section.geographicalCoverage.label": "",
207
205
  "editor.record.form.section.useAndAccessConditions.label": "",
208
- "editor.record.form.metadata.title": "",
209
- "editor.record.form.record.updated": "",
210
- "editor.record.form.resourceUpdated": "",
211
- "editor.record.form.temporalExtents": "",
212
206
  "editor.record.form.temporalExtents.addDate": "",
213
207
  "editor.record.form.temporalExtents.addRange": "",
214
208
  "editor.record.form.temporalExtents.date": "",
215
209
  "editor.record.form.temporalExtents.range": "",
216
- "editor.record.form.unique.identifier": "",
217
- "editor.record.form.updateFrequency": "",
218
210
  "editor.record.form.updateFrequency.planned": "",
219
211
  "editor.record.loadError.body": "",
220
212
  "editor.record.loadError.closeMessage": "",
@@ -229,6 +221,7 @@
229
221
  "editor.record.saveStatus.draftWithChangesPending": "",
230
222
  "editor.record.saveStatus.recordUpToDate": "",
231
223
  "editor.record.upToDate": "",
224
+ "editor.sidebar.menu.editor": "",
232
225
  "externalviewer.dataset.unnamed": "",
233
226
  "facets.block.title.OrgForResource": "",
234
227
  "facets.block.title.availableInServices": "",
@@ -306,6 +299,7 @@
306
299
  "pagination.pageOf": "",
307
300
  "previous": "",
308
301
  "record.action.download": "",
302
+ "record.action.duplicate": "",
309
303
  "record.action.view": "",
310
304
  "record.externalViewer.open": "",
311
305
  "record.metadata.about": "",