geonetwork-ui 2.4.0-dev.db93b4c4 → 2.4.0-dev.dd042cec
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.
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +5 -5
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +30 -2
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.mjs +31 -0
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +23 -1
- package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +10 -3
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +31 -3
- package/esm2022/libs/common/domain/src/lib/model/record/contact.model.mjs +28 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +2 -6
- package/esm2022/libs/feature/editor/src/lib/components/contact-card/contact-card.component.mjs +29 -0
- package/esm2022/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.mjs +131 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +170 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.mjs +47 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +21 -0
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.mjs +7 -6
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +33 -9
- package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +30 -3
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +10 -5
- package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +3 -3
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +46 -7
- package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +6 -2
- package/esm2022/libs/ui/elements/src/index.mjs +2 -1
- package/esm2022/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.mjs +27 -0
- package/esm2022/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.mjs +4 -3
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +5 -11
- package/esm2022/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/sortable-list/sortable-list.component.mjs +7 -3
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +5 -2
- package/esm2022/libs/ui/elements/src/lib/user-preview/user-preview.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +19 -5
- package/esm2022/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.mjs +3 -3
- package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +3 -3
- package/esm2022/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.mjs +67 -0
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +28 -8
- package/esm2022/libs/ui/widgets/src/index.mjs +2 -1
- package/esm2022/libs/ui/widgets/src/lib/popover/popover.component.mjs +68 -0
- package/esm2022/translations/de.json +44 -17
- package/esm2022/translations/en.json +37 -10
- package/esm2022/translations/es.json +36 -9
- package/esm2022/translations/fr.json +47 -20
- package/esm2022/translations/it.json +37 -10
- package/esm2022/translations/nl.json +36 -9
- package/esm2022/translations/pt.json +36 -9
- package/fesm2022/geonetwork-ui.mjs +1266 -279
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +8 -1
- package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts +5 -0
- package/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.d.ts.map +1 -0
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +3 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +1 -0
- package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +7 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/contact.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/record/contact.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +2 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +17 -0
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts +12 -0
- package/libs/feature/editor/src/lib/components/contact-card/contact-card.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts +27 -0
- package/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts +47 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts +17 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +11 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts +3 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts +9 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts +7 -0
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +14 -4
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -0
- package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +1 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts +18 -0
- package/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +0 -3
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts +4 -4
- package/libs/ui/elements/src/lib/sortable-list/sortable-list.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +7 -6
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts +9 -1
- package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts +20 -0
- package/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.d.ts.map +1 -0
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +9 -3
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/ui/widgets/src/index.d.ts +1 -0
- package/libs/ui/widgets/src/index.d.ts.map +1 -1
- package/libs/ui/widgets/src/lib/popover/popover.component.d.ts +19 -0
- package/libs/ui/widgets/src/lib/popover/popover.component.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +5 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +37 -12
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +5 -1
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +4 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +72 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/utils/geometry.ts +39 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +70 -1
- package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +13 -5
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +42 -2
- package/src/libs/common/domain/src/lib/model/record/contact.model.ts +28 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +2 -1
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +22 -0
- package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +1 -5
- package/src/libs/data-access/gn4/src/spec.yaml +0 -8
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.html +25 -0
- package/src/libs/feature/editor/src/lib/components/contact-card/contact-card.component.ts +30 -0
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.html +2 -1
- package/src/libs/feature/editor/src/lib/components/overview-upload/overview-upload.component.ts +110 -19
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.html +76 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +271 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-keywords/form-field-keywords.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.html +6 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-open-data/form-field-open-data.component.ts +59 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +5 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +22 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.ts +8 -7
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +18 -1
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +30 -1
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +1 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +32 -2
- package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +8 -4
- package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.html +1 -1
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +3 -1
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +57 -3
- package/src/libs/feature/search/src/lib/state/search.facade.ts +6 -0
- package/src/libs/ui/elements/src/index.ts +1 -0
- package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.css +0 -0
- package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.html +12 -0
- package/src/libs/ui/elements/src/lib/confirmation-dialog/confirmation-dialog.component.ts +37 -0
- package/src/libs/ui/elements/src/lib/markdown-editor/markdown-editor.component.html +4 -1
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +2 -1
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +12 -8
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +14 -20
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +0 -10
- package/src/libs/ui/elements/src/lib/metadata-quality-item/metadata-quality-item.component.html +1 -1
- package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.html +3 -1
- package/src/libs/ui/elements/src/lib/sortable-list/sortable-list.component.ts +8 -4
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +2 -1
- package/src/libs/ui/elements/src/lib/user-preview/user-preview.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +15 -3
- package/src/libs/ui/layout/src/lib/form-field-wrapper/form-field-wrapper.component.html +1 -1
- package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +1 -0
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.css +0 -0
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.html +26 -0
- package/src/libs/ui/search/src/lib/results-table/action-menu/action-menu.component.ts +74 -0
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +15 -1
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +26 -12
- package/src/libs/ui/widgets/src/index.ts +1 -0
- package/src/libs/ui/widgets/src/lib/popover/popover.component.css +0 -0
- package/src/libs/ui/widgets/src/lib/popover/popover.component.html +3 -0
- package/src/libs/ui/widgets/src/lib/popover/popover.component.ts +85 -0
- package/tailwind.base.css +2 -1
- package/translations/de.json +44 -17
- package/translations/en.json +37 -10
- package/translations/es.json +36 -9
- package/translations/fr.json +47 -20
- package/translations/it.json +37 -10
- package/translations/nl.json +36 -9
- package/translations/pt.json +36 -9
- package/translations/sk.json +37 -10
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<gn-ui-button
|
|
2
|
+
type="light"
|
|
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
|
+
[disabled]="!canDuplicate"
|
|
13
|
+
(click)="duplicate.emit()"
|
|
14
|
+
data-test="record-menu-duplicate-button"
|
|
15
|
+
>
|
|
16
|
+
<span translate>record.action.duplicate</span>
|
|
17
|
+
</button>
|
|
18
|
+
<button
|
|
19
|
+
mat-menu-item
|
|
20
|
+
[disabled]="!canDelete"
|
|
21
|
+
(click)="openDeleteConfirmationDialog()"
|
|
22
|
+
data-test="record-menu-delete-button"
|
|
23
|
+
>
|
|
24
|
+
<span translate>record.action.delete</span>
|
|
25
|
+
</button>
|
|
26
|
+
</mat-menu>
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Component,
|
|
3
|
+
EventEmitter,
|
|
4
|
+
Input,
|
|
5
|
+
Output,
|
|
6
|
+
ViewChild,
|
|
7
|
+
} from '@angular/core'
|
|
8
|
+
import { MatDialog, MatDialogModule } from '@angular/material/dialog'
|
|
9
|
+
import { MatIconModule } from '@angular/material/icon'
|
|
10
|
+
import { MatMenuModule, MatMenuTrigger } from '@angular/material/menu'
|
|
11
|
+
import { ConfirmationDialogComponent } from '../../../../../../../libs/ui/elements/src'
|
|
12
|
+
import { ButtonComponent } from '../../../../../../../libs/ui/inputs/src'
|
|
13
|
+
import { TranslateModule, TranslateService } from '@ngx-translate/core'
|
|
14
|
+
|
|
15
|
+
@Component({
|
|
16
|
+
selector: 'gn-ui-action-menu',
|
|
17
|
+
templateUrl: './action-menu.component.html',
|
|
18
|
+
styleUrls: ['./action-menu.component.css'],
|
|
19
|
+
standalone: true,
|
|
20
|
+
imports: [
|
|
21
|
+
MatIconModule,
|
|
22
|
+
ButtonComponent,
|
|
23
|
+
MatMenuModule,
|
|
24
|
+
MatDialogModule,
|
|
25
|
+
ConfirmationDialogComponent,
|
|
26
|
+
TranslateModule,
|
|
27
|
+
],
|
|
28
|
+
})
|
|
29
|
+
export class ActionMenuComponent {
|
|
30
|
+
@Input() canDuplicate: boolean
|
|
31
|
+
@Input() canDelete: boolean
|
|
32
|
+
@Output() duplicate = new EventEmitter<void>()
|
|
33
|
+
@Output() delete = new EventEmitter<void>()
|
|
34
|
+
|
|
35
|
+
@ViewChild(MatMenuTrigger) trigger: MatMenuTrigger
|
|
36
|
+
|
|
37
|
+
constructor(
|
|
38
|
+
public dialog: MatDialog,
|
|
39
|
+
private translateService: TranslateService
|
|
40
|
+
) {}
|
|
41
|
+
|
|
42
|
+
openMenu() {
|
|
43
|
+
this.trigger.openMenu()
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
openDeleteConfirmationDialog() {
|
|
47
|
+
const dialogRef = this.dialog.open(ConfirmationDialogComponent, {
|
|
48
|
+
data: {
|
|
49
|
+
title: this.translateService.instant(
|
|
50
|
+
'editor.record.delete.confirmation.title'
|
|
51
|
+
),
|
|
52
|
+
message: this.translateService.instant(
|
|
53
|
+
'editor.record.delete.confirmation.message'
|
|
54
|
+
),
|
|
55
|
+
confirmText: this.translateService.instant(
|
|
56
|
+
'editor.record.delete.confirmation.confirmText'
|
|
57
|
+
),
|
|
58
|
+
cancelText: this.translateService.instant(
|
|
59
|
+
'editor.record.delete.confirmation.cancelText'
|
|
60
|
+
),
|
|
61
|
+
},
|
|
62
|
+
restoreFocus: false,
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
// Manually restore focus to the menu trigger since the element that
|
|
66
|
+
// opens the dialog won't be in the DOM any more when the dialog closes.
|
|
67
|
+
dialogRef.afterClosed().subscribe((confirmed) => {
|
|
68
|
+
this.trigger.focus()
|
|
69
|
+
if (confirmed) {
|
|
70
|
+
this.delete.emit()
|
|
71
|
+
}
|
|
72
|
+
})
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<div class="flex flex-row items-center gap-2 max-w-full">
|
|
38
38
|
<span class="overflow-hidden text-ellipsis">{{ item.title }}</span>
|
|
39
39
|
<gn-ui-badge
|
|
40
|
-
*ngIf="
|
|
40
|
+
*ngIf="hasDraft(item)"
|
|
41
41
|
[style.--gn-ui-badge-padding]="'0.4em 0.6em'"
|
|
42
42
|
[style.--gn-ui-badge-text-color]="'#3d2006'"
|
|
43
43
|
[style.--gn-ui-badge-background-color]="'#ffbc7b'"
|
|
@@ -120,4 +120,18 @@
|
|
|
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
|
|
129
|
+
[canDuplicate]="canDuplicate(item)"
|
|
130
|
+
[canDelete]="canDelete(item)"
|
|
131
|
+
(duplicate)="handleDuplicate(item)"
|
|
132
|
+
(delete)="handleDelete(item)"
|
|
133
|
+
>
|
|
134
|
+
</gn-ui-action-menu>
|
|
135
|
+
</ng-template>
|
|
136
|
+
</gn-ui-interactive-table-column>
|
|
123
137
|
</gn-ui-interactive-table>
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common'
|
|
1
2
|
import { Component, EventEmitter, Input, Output } from '@angular/core'
|
|
3
|
+
import { MatIconModule } from '@angular/material/icon'
|
|
2
4
|
import { CatalogRecord } from '../../../../../../libs/common/domain/src/lib/model/record'
|
|
3
5
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
getFormatPriority,
|
|
8
|
-
} from '../../../../../../libs/util/shared/src'
|
|
6
|
+
FieldSort,
|
|
7
|
+
SortByField,
|
|
8
|
+
} from '../../../../../../libs/common/domain/src/lib/model/search'
|
|
9
9
|
import { BadgeComponent, UiInputsModule } from '../../../../../../libs/ui/inputs/src'
|
|
10
10
|
import {
|
|
11
11
|
InteractiveTableColumnComponent,
|
|
12
12
|
InteractiveTableComponent,
|
|
13
13
|
} 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
14
|
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
FileFormat,
|
|
16
|
+
getBadgeColor,
|
|
17
|
+
getFileFormat,
|
|
18
|
+
getFormatPriority,
|
|
19
|
+
} from '../../../../../../libs/util/shared/src'
|
|
20
|
+
import { TranslateModule } from '@ngx-translate/core'
|
|
21
|
+
import { ActionMenuComponent } from './action-menu/action-menu.component'
|
|
21
22
|
|
|
22
23
|
@Component({
|
|
23
24
|
selector: 'gn-ui-results-table',
|
|
@@ -32,17 +33,22 @@ import {
|
|
|
32
33
|
MatIconModule,
|
|
33
34
|
TranslateModule,
|
|
34
35
|
BadgeComponent,
|
|
36
|
+
ActionMenuComponent,
|
|
35
37
|
],
|
|
36
38
|
})
|
|
37
39
|
export class ResultsTableComponent {
|
|
38
40
|
@Input() records: CatalogRecord[] = []
|
|
39
41
|
@Input() selectedRecordsIdentifiers: string[] = []
|
|
40
42
|
@Input() sortOrder: SortByField = null
|
|
41
|
-
@Input()
|
|
43
|
+
@Input() hasDraft: (record: CatalogRecord) => boolean = () => false
|
|
44
|
+
@Input() canDuplicate: (record: CatalogRecord) => boolean = () => true
|
|
45
|
+
@Input() canDelete: (record: CatalogRecord) => boolean = () => true
|
|
42
46
|
|
|
43
47
|
// emits the column (field) as well as the order
|
|
44
48
|
@Output() sortByChange = new EventEmitter<[string, 'asc' | 'desc']>()
|
|
45
49
|
@Output() recordClick = new EventEmitter<CatalogRecord>()
|
|
50
|
+
@Output() duplicateRecord = new EventEmitter<CatalogRecord>()
|
|
51
|
+
@Output() deleteRecord = new EventEmitter<CatalogRecord>()
|
|
46
52
|
@Output() recordsSelectedChange = new EventEmitter<
|
|
47
53
|
[CatalogRecord[], boolean]
|
|
48
54
|
>()
|
|
@@ -89,6 +95,14 @@ export class ResultsTableComponent {
|
|
|
89
95
|
this.recordClick.emit(item as CatalogRecord)
|
|
90
96
|
}
|
|
91
97
|
|
|
98
|
+
handleDuplicate(item: unknown) {
|
|
99
|
+
this.duplicateRecord.emit(item as CatalogRecord)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
handleDelete(item: unknown) {
|
|
103
|
+
this.deleteRecord.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'
|
|
File without changes
|
|
@@ -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
|
-
|
|
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 */
|
package/translations/de.json
CHANGED
|
@@ -147,6 +147,27 @@
|
|
|
147
147
|
"dataset.error.parse": "Die Daten wurden geladen, konnten aber nicht gelesen werden: \"{ info }\"",
|
|
148
148
|
"dataset.error.unknown": "Die Daten können nicht angezeigt werden: \"{ info }\"",
|
|
149
149
|
"dataset.error.unsupportedType": "Der folgende Inhaltstyp wird nicht unterstützt: \"{ info }\"",
|
|
150
|
+
"domain.contact.role.author": "",
|
|
151
|
+
"domain.contact.role.collaborator": "",
|
|
152
|
+
"domain.contact.role.contributor": "",
|
|
153
|
+
"domain.contact.role.custodian": "",
|
|
154
|
+
"domain.contact.role.distributor": "",
|
|
155
|
+
"domain.contact.role.editor": "",
|
|
156
|
+
"domain.contact.role.funder": "",
|
|
157
|
+
"domain.contact.role.mediator": "",
|
|
158
|
+
"domain.contact.role.originator": "",
|
|
159
|
+
"domain.contact.role.other": "",
|
|
160
|
+
"domain.contact.role.owner": "",
|
|
161
|
+
"domain.contact.role.point_of_contact": "",
|
|
162
|
+
"domain.contact.role.principal_investigator": "",
|
|
163
|
+
"domain.contact.role.processor": "",
|
|
164
|
+
"domain.contact.role.publisher": "",
|
|
165
|
+
"domain.contact.role.resource_provider": "",
|
|
166
|
+
"domain.contact.role.rights_holder": "",
|
|
167
|
+
"domain.contact.role.sponsor": "",
|
|
168
|
+
"domain.contact.role.stakeholder": "",
|
|
169
|
+
"domain.contact.role.unspecified": "",
|
|
170
|
+
"domain.contact.role.user": "",
|
|
150
171
|
"domain.record.status.completed": "Abgeschlossen",
|
|
151
172
|
"domain.record.status.deprecated": "Veraltet",
|
|
152
173
|
"domain.record.status.ongoing": "Kontinuierliche Aktualisierung",
|
|
@@ -165,21 +186,30 @@
|
|
|
165
186
|
"downloads.format.unknown": "unbekannt",
|
|
166
187
|
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
167
188
|
"dropFile": "Datei ablegen",
|
|
189
|
+
"editor.record.delete.confirmation.cancelText": "Stornieren",
|
|
190
|
+
"editor.record.delete.confirmation.confirmText": "Löschen",
|
|
191
|
+
"editor.record.delete.confirmation.message": "Sind Sie sicher, dass Sie diesen Datensatz löschen möchten?",
|
|
192
|
+
"editor.record.delete.confirmation.title": "Datensatz löschen?",
|
|
193
|
+
"editor.record.deleteError.body": "Der Datensatz konnte nicht gelöscht werden:",
|
|
194
|
+
"editor.record.deleteError.closeMessage": "Verstanden",
|
|
195
|
+
"editor.record.deleteError.title": "Fehler beim Löschen des Datensatzes",
|
|
196
|
+
"editor.record.deleteSuccess.body": "",
|
|
197
|
+
"editor.record.deleteSuccess.title": "",
|
|
168
198
|
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
169
199
|
"editor.record.form.bottomButtons.next": "",
|
|
170
200
|
"editor.record.form.bottomButtons.previous": "",
|
|
171
|
-
"editor.record.form.field.abstract": "",
|
|
201
|
+
"editor.record.form.field.abstract": "Kurzbeschreibung",
|
|
202
|
+
"editor.record.form.field.contactsForResource.noContact": "",
|
|
172
203
|
"editor.record.form.field.keywords": "Schlagwörter",
|
|
173
204
|
"editor.record.form.field.license": "Lizenz",
|
|
174
|
-
"editor.record.form.field.
|
|
175
|
-
"editor.record.form.field.
|
|
176
|
-
"editor.record.form.field.
|
|
177
|
-
"editor.record.form.field.
|
|
178
|
-
"editor.record.form.field.
|
|
179
|
-
"editor.record.form.field.
|
|
180
|
-
"editor.record.form.
|
|
181
|
-
"editor.record.form.
|
|
182
|
-
"editor.record.form.license": "Lizenz",
|
|
205
|
+
"editor.record.form.field.overviews": "",
|
|
206
|
+
"editor.record.form.field.recordUpdated": "Datensatz zuletzt aktualisiert",
|
|
207
|
+
"editor.record.form.field.resourceUpdated": "Letztes Aktualisierungsdatum",
|
|
208
|
+
"editor.record.form.field.temporalExtents": "Zeitlicher Umfang",
|
|
209
|
+
"editor.record.form.field.title": "Metadaten-Titel",
|
|
210
|
+
"editor.record.form.field.uniqueIdentifier": "Eindeutige Kennung (ID)",
|
|
211
|
+
"editor.record.form.field.updateFrequency": "Aktualisierungshäufigkeit",
|
|
212
|
+
"editor.record.form.classification.opendata": "",
|
|
183
213
|
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
184
214
|
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
185
215
|
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
@@ -205,16 +235,10 @@
|
|
|
205
235
|
"editor.record.form.section.dataPointOfContact.label": "",
|
|
206
236
|
"editor.record.form.section.geographicalCoverage.label": "",
|
|
207
237
|
"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
238
|
"editor.record.form.temporalExtents.addDate": "Zeitpunkt",
|
|
213
239
|
"editor.record.form.temporalExtents.addRange": "Zeitraum",
|
|
214
240
|
"editor.record.form.temporalExtents.date": "Datum",
|
|
215
241
|
"editor.record.form.temporalExtents.range": "Datumsbereich",
|
|
216
|
-
"editor.record.form.unique.identifier": "Eindeutige Kennung (ID)",
|
|
217
|
-
"editor.record.form.updateFrequency": "Aktualisierungshäufigkeit",
|
|
218
242
|
"editor.record.form.updateFrequency.planned": "Die Daten sollten regelmäßig aktualisiert werden.",
|
|
219
243
|
"editor.record.loadError.body": "Der Datensatz konnte nicht geladen werden:",
|
|
220
244
|
"editor.record.loadError.closeMessage": "Verstanden",
|
|
@@ -229,6 +253,7 @@
|
|
|
229
253
|
"editor.record.saveStatus.draftWithChangesPending": "Als Entwurf gespeichert - Änderungen stehen aus",
|
|
230
254
|
"editor.record.saveStatus.recordUpToDate": "Datensatz ist auf dem neuesten Stand",
|
|
231
255
|
"editor.record.upToDate": "Dieser Datensatz ist auf dem neuesten Stand",
|
|
256
|
+
"editor.sidebar.menu.editor": "",
|
|
232
257
|
"externalviewer.dataset.unnamed": "Datensatz aus dem Datahub",
|
|
233
258
|
"facets.block.title.OrgForResource": "Organisation",
|
|
234
259
|
"facets.block.title.availableInServices": "Verfügbar für",
|
|
@@ -305,7 +330,9 @@
|
|
|
305
330
|
"pagination.page": "Seite",
|
|
306
331
|
"pagination.pageOf": "von",
|
|
307
332
|
"previous": "zurück",
|
|
333
|
+
"record.action.delete": "Löschen",
|
|
308
334
|
"record.action.download": "Herunterladen",
|
|
335
|
+
"record.action.duplicate": "",
|
|
309
336
|
"record.action.view": "Anzeigen",
|
|
310
337
|
"record.externalViewer.open": "In externem Kartenviewer öffnen",
|
|
311
338
|
"record.metadata.about": "Beschreibung",
|
|
@@ -436,7 +463,7 @@
|
|
|
436
463
|
"search.filters.resourceType": "Ressourcentyp",
|
|
437
464
|
"search.filters.standard": "Standard",
|
|
438
465
|
"search.filters.title": "Ergebnisse filtern",
|
|
439
|
-
"search.filters.topic": "
|
|
466
|
+
"search.filters.topic": "Themen",
|
|
440
467
|
"search.filters.useSpatialFilter": "Zuerst Datensätze im Interessenbereich anzeigen",
|
|
441
468
|
"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
469
|
"share.tab.permalink": "Teilen",
|
package/translations/en.json
CHANGED
|
@@ -147,6 +147,27 @@
|
|
|
147
147
|
"dataset.error.parse": "The data was loaded but could not be parsed: \"{ info }\"",
|
|
148
148
|
"dataset.error.unknown": "The data cannot be displayed: \"{ info }\"",
|
|
149
149
|
"dataset.error.unsupportedType": "The following content type is unsupported: \"{ info }\"",
|
|
150
|
+
"domain.contact.role.author": "Author",
|
|
151
|
+
"domain.contact.role.collaborator": "Collaborator",
|
|
152
|
+
"domain.contact.role.contributor": "Contributor",
|
|
153
|
+
"domain.contact.role.custodian": "Custodian",
|
|
154
|
+
"domain.contact.role.distributor": "Distributor",
|
|
155
|
+
"domain.contact.role.editor": "Editor",
|
|
156
|
+
"domain.contact.role.funder": "Funder",
|
|
157
|
+
"domain.contact.role.mediator": "Mediator",
|
|
158
|
+
"domain.contact.role.originator": "Originator",
|
|
159
|
+
"domain.contact.role.other": "Other",
|
|
160
|
+
"domain.contact.role.owner": "Owner",
|
|
161
|
+
"domain.contact.role.point_of_contact": "Point of contact",
|
|
162
|
+
"domain.contact.role.principal_investigator": "Principal investigator",
|
|
163
|
+
"domain.contact.role.processor": "Processor",
|
|
164
|
+
"domain.contact.role.publisher": "Publisher",
|
|
165
|
+
"domain.contact.role.resource_provider": "Resource provider",
|
|
166
|
+
"domain.contact.role.rights_holder": "Rights holder",
|
|
167
|
+
"domain.contact.role.sponsor": "Sponsor",
|
|
168
|
+
"domain.contact.role.stakeholder": "Stakeholder",
|
|
169
|
+
"domain.contact.role.unspecified": "Unspecified",
|
|
170
|
+
"domain.contact.role.user": "User",
|
|
150
171
|
"domain.record.status.completed": "Completed",
|
|
151
172
|
"domain.record.status.deprecated": "Deprecated",
|
|
152
173
|
"domain.record.status.ongoing": "On going",
|
|
@@ -165,21 +186,30 @@
|
|
|
165
186
|
"downloads.format.unknown": "unknown",
|
|
166
187
|
"downloads.wfs.featuretype.not.found": "The layer was not found",
|
|
167
188
|
"dropFile": "drop file",
|
|
189
|
+
"editor.record.delete.confirmation.cancelText": "Cancel",
|
|
190
|
+
"editor.record.delete.confirmation.confirmText": "Delete",
|
|
191
|
+
"editor.record.delete.confirmation.message": "Are you sure you want to delete this record?",
|
|
192
|
+
"editor.record.delete.confirmation.title": "Delete record?",
|
|
193
|
+
"editor.record.deleteError.body": "The record could not be deleted:",
|
|
194
|
+
"editor.record.deleteError.closeMessage": "Understood",
|
|
195
|
+
"editor.record.deleteError.title": "Error deleting record",
|
|
196
|
+
"editor.record.deleteSuccess.body": "The record was successfully deleted !",
|
|
197
|
+
"editor.record.deleteSuccess.title": "Delete success",
|
|
168
198
|
"editor.record.form.bottomButtons.comeBackLater": "Come back later",
|
|
169
199
|
"editor.record.form.bottomButtons.next": "Next",
|
|
170
200
|
"editor.record.form.bottomButtons.previous": "Previous",
|
|
201
|
+
"editor.record.form.classification.opendata": "Open Data",
|
|
171
202
|
"editor.record.form.field.abstract": "Abstract",
|
|
203
|
+
"editor.record.form.field.contactsForResource.noContact": "Please provide at least one point of contact responsible for the data.",
|
|
172
204
|
"editor.record.form.field.keywords": "Keywords",
|
|
173
205
|
"editor.record.form.field.license": "License",
|
|
206
|
+
"editor.record.form.field.overviews": "Overviews",
|
|
174
207
|
"editor.record.form.field.recordUpdated": "Record Updated",
|
|
175
208
|
"editor.record.form.field.resourceUpdated": "Resource Updated",
|
|
176
209
|
"editor.record.form.field.temporalExtents": "Temporal extents",
|
|
177
210
|
"editor.record.form.field.title": "Metadata title",
|
|
178
211
|
"editor.record.form.field.uniqueIdentifier": "Unique identifier",
|
|
179
212
|
"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
213
|
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
184
214
|
"editor.record.form.license.cc-by-sa": "Creative Commons CC-BY-SA",
|
|
185
215
|
"editor.record.form.license.cc-zero": "Creative Commons CC-0",
|
|
@@ -205,16 +235,10 @@
|
|
|
205
235
|
"editor.record.form.section.dataPointOfContact.label": "Data point of contact",
|
|
206
236
|
"editor.record.form.section.geographicalCoverage.label": "Geographical coverage",
|
|
207
237
|
"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
238
|
"editor.record.form.temporalExtents.addDate": "Time instant",
|
|
213
239
|
"editor.record.form.temporalExtents.addRange": "Time period",
|
|
214
240
|
"editor.record.form.temporalExtents.date": "Date",
|
|
215
241
|
"editor.record.form.temporalExtents.range": "Date range",
|
|
216
|
-
"editor.record.form.unique.identifier": "Unique identifier",
|
|
217
|
-
"editor.record.form.updateFrequency": "Update frequency",
|
|
218
242
|
"editor.record.form.updateFrequency.planned": "The data should be updated regularly.",
|
|
219
243
|
"editor.record.loadError.body": "The record could not be loaded:",
|
|
220
244
|
"editor.record.loadError.closeMessage": "Understood",
|
|
@@ -229,6 +253,7 @@
|
|
|
229
253
|
"editor.record.saveStatus.draftWithChangesPending": "Saved as draft - changes are pending",
|
|
230
254
|
"editor.record.saveStatus.recordUpToDate": "Record is up to date",
|
|
231
255
|
"editor.record.upToDate": "This record is up to date",
|
|
256
|
+
"editor.sidebar.menu.editor": "Editor",
|
|
232
257
|
"externalviewer.dataset.unnamed": "Datahub layer",
|
|
233
258
|
"facets.block.title.OrgForResource": "Organisation",
|
|
234
259
|
"facets.block.title.availableInServices": "Available for",
|
|
@@ -305,7 +330,9 @@
|
|
|
305
330
|
"pagination.page": "page",
|
|
306
331
|
"pagination.pageOf": "of",
|
|
307
332
|
"previous": "previous",
|
|
333
|
+
"record.action.delete": "Delete",
|
|
308
334
|
"record.action.download": "Download",
|
|
335
|
+
"record.action.duplicate": "Duplicate",
|
|
309
336
|
"record.action.view": "View",
|
|
310
337
|
"record.externalViewer.open": "Open in the external map viewer",
|
|
311
338
|
"record.metadata.about": "Description",
|
|
@@ -436,7 +463,7 @@
|
|
|
436
463
|
"search.filters.resourceType": "Resource type",
|
|
437
464
|
"search.filters.standard": "Standard",
|
|
438
465
|
"search.filters.title": "Filter your results",
|
|
439
|
-
"search.filters.topic": "
|
|
466
|
+
"search.filters.topic": "Topics",
|
|
440
467
|
"search.filters.useSpatialFilter": "Show records in the area of interest first",
|
|
441
468
|
"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
469
|
"share.tab.permalink": "Share",
|
package/translations/es.json
CHANGED
|
@@ -147,6 +147,27 @@
|
|
|
147
147
|
"dataset.error.parse": "",
|
|
148
148
|
"dataset.error.unknown": "",
|
|
149
149
|
"dataset.error.unsupportedType": "",
|
|
150
|
+
"domain.contact.role.author": "",
|
|
151
|
+
"domain.contact.role.collaborator": "",
|
|
152
|
+
"domain.contact.role.contributor": "",
|
|
153
|
+
"domain.contact.role.custodian": "",
|
|
154
|
+
"domain.contact.role.distributor": "",
|
|
155
|
+
"domain.contact.role.editor": "",
|
|
156
|
+
"domain.contact.role.funder": "",
|
|
157
|
+
"domain.contact.role.mediator": "",
|
|
158
|
+
"domain.contact.role.originator": "",
|
|
159
|
+
"domain.contact.role.other": "",
|
|
160
|
+
"domain.contact.role.owner": "",
|
|
161
|
+
"domain.contact.role.point_of_contact": "",
|
|
162
|
+
"domain.contact.role.principal_investigator": "",
|
|
163
|
+
"domain.contact.role.processor": "",
|
|
164
|
+
"domain.contact.role.publisher": "",
|
|
165
|
+
"domain.contact.role.resource_provider": "",
|
|
166
|
+
"domain.contact.role.rights_holder": "",
|
|
167
|
+
"domain.contact.role.sponsor": "",
|
|
168
|
+
"domain.contact.role.stakeholder": "",
|
|
169
|
+
"domain.contact.role.unspecified": "",
|
|
170
|
+
"domain.contact.role.user": "",
|
|
150
171
|
"domain.record.status.completed": "",
|
|
151
172
|
"domain.record.status.deprecated": "",
|
|
152
173
|
"domain.record.status.ongoing": "",
|
|
@@ -165,21 +186,30 @@
|
|
|
165
186
|
"downloads.format.unknown": "",
|
|
166
187
|
"downloads.wfs.featuretype.not.found": "",
|
|
167
188
|
"dropFile": "",
|
|
189
|
+
"editor.record.delete.confirmation.cancelText": "",
|
|
190
|
+
"editor.record.delete.confirmation.confirmText": "",
|
|
191
|
+
"editor.record.delete.confirmation.message": "",
|
|
192
|
+
"editor.record.delete.confirmation.title": "",
|
|
193
|
+
"editor.record.deleteError.body": "",
|
|
194
|
+
"editor.record.deleteError.closeMessage": "",
|
|
195
|
+
"editor.record.deleteError.title": "",
|
|
196
|
+
"editor.record.deleteSuccess.body": "",
|
|
197
|
+
"editor.record.deleteSuccess.title": "",
|
|
168
198
|
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
169
199
|
"editor.record.form.bottomButtons.next": "",
|
|
170
200
|
"editor.record.form.bottomButtons.previous": "",
|
|
201
|
+
"editor.record.form.classification.opendata": "",
|
|
171
202
|
"editor.record.form.field.abstract": "",
|
|
203
|
+
"editor.record.form.field.contactsForResource.noContact": "",
|
|
172
204
|
"editor.record.form.field.keywords": "",
|
|
173
205
|
"editor.record.form.field.license": "",
|
|
206
|
+
"editor.record.form.field.overviews": "",
|
|
174
207
|
"editor.record.form.field.recordUpdated": "",
|
|
175
208
|
"editor.record.form.field.resourceUpdated": "",
|
|
176
209
|
"editor.record.form.field.temporalExtents": "",
|
|
177
210
|
"editor.record.form.field.title": "",
|
|
178
211
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
179
212
|
"editor.record.form.field.updateFrequency": "",
|
|
180
|
-
"editor.record.form.abstract": "",
|
|
181
|
-
"editor.record.form.keywords": "",
|
|
182
|
-
"editor.record.form.license": "",
|
|
183
213
|
"editor.record.form.license.cc-by": "",
|
|
184
214
|
"editor.record.form.license.cc-by-sa": "",
|
|
185
215
|
"editor.record.form.license.cc-zero": "",
|
|
@@ -205,16 +235,10 @@
|
|
|
205
235
|
"editor.record.form.section.dataPointOfContact.label": "",
|
|
206
236
|
"editor.record.form.section.geographicalCoverage.label": "",
|
|
207
237
|
"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
238
|
"editor.record.form.temporalExtents.addDate": "",
|
|
213
239
|
"editor.record.form.temporalExtents.addRange": "",
|
|
214
240
|
"editor.record.form.temporalExtents.date": "",
|
|
215
241
|
"editor.record.form.temporalExtents.range": "",
|
|
216
|
-
"editor.record.form.unique.identifier": "",
|
|
217
|
-
"editor.record.form.updateFrequency": "",
|
|
218
242
|
"editor.record.form.updateFrequency.planned": "",
|
|
219
243
|
"editor.record.loadError.body": "",
|
|
220
244
|
"editor.record.loadError.closeMessage": "",
|
|
@@ -229,6 +253,7 @@
|
|
|
229
253
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
230
254
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
231
255
|
"editor.record.upToDate": "",
|
|
256
|
+
"editor.sidebar.menu.editor": "",
|
|
232
257
|
"externalviewer.dataset.unnamed": "",
|
|
233
258
|
"facets.block.title.OrgForResource": "",
|
|
234
259
|
"facets.block.title.availableInServices": "",
|
|
@@ -305,7 +330,9 @@
|
|
|
305
330
|
"pagination.page": "",
|
|
306
331
|
"pagination.pageOf": "",
|
|
307
332
|
"previous": "",
|
|
333
|
+
"record.action.delete": "",
|
|
308
334
|
"record.action.download": "",
|
|
335
|
+
"record.action.duplicate": "",
|
|
309
336
|
"record.action.view": "",
|
|
310
337
|
"record.externalViewer.open": "",
|
|
311
338
|
"record.metadata.about": "",
|