geonetwork-ui 2.10.0 → 2.11.0-dev.96d0c6ce2
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/fesm2022/geonetwork-ui.mjs +239 -131
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/index.d.ts +7 -4
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +5 -5
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +5 -5
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +2 -2
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +9 -5
- package/src/libs/api/metadata-converter/src/lib/iso19139/utils/association-type.mapper.ts +12 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +2 -2
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +28 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-associated-records/form-field-associated-records.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-associated-records/form-field-associated-records.component.html +33 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-associated-records/form-field-associated-records.component.ts +94 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-temporal-extents/form-field-temporal-extents.component.html +16 -12
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +6 -0
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts +6 -0
- package/src/libs/feature/editor/src/lib/fields.config.ts +5 -0
- package/translations/de.json +12 -0
- package/translations/en.json +12 -0
- package/translations/es.json +12 -0
- package/translations/fr.json +12 -0
- package/translations/it.json +12 -0
- package/translations/nl.json +12 -0
- package/translations/pt.json +12 -0
- package/translations/sk.json +12 -0
|
@@ -587,7 +587,7 @@ export function writeAssociatedRecords(
|
|
|
587
587
|
removeChildrenByName('mri:associatedResource'),
|
|
588
588
|
appendChildren(
|
|
589
589
|
...record.associatedRecords
|
|
590
|
-
.filter((assoc) => assoc.
|
|
590
|
+
.filter((assoc) => assoc.uniqueIdentifier && assoc.associationType)
|
|
591
591
|
.map((assoc) =>
|
|
592
592
|
pipe(
|
|
593
593
|
createNestedElement(
|
|
@@ -608,7 +608,7 @@ export function writeAssociatedRecords(
|
|
|
608
608
|
),
|
|
609
609
|
pipe(
|
|
610
610
|
createElement('mri:metadataReference'),
|
|
611
|
-
writeAttribute('uuidref', assoc.
|
|
611
|
+
writeAttribute('uuidref', assoc.uniqueIdentifier)
|
|
612
612
|
)
|
|
613
613
|
)
|
|
614
614
|
)
|
|
@@ -51,6 +51,7 @@ import {
|
|
|
51
51
|
readText,
|
|
52
52
|
XmlElement,
|
|
53
53
|
} from '../xml-utils'
|
|
54
|
+
import { getAssociationTypeFromCode } from './utils/association-type.mapper'
|
|
54
55
|
import { readGeometry } from './utils/geometry'
|
|
55
56
|
import { fullNameToParts } from './utils/individual-name'
|
|
56
57
|
import { getKeywordTypeFromKeywordTypeCode } from './utils/keyword.mapper'
|
|
@@ -931,19 +932,22 @@ export function readSourceRecords(rootEl: XmlElement): SourceRecord[] {
|
|
|
931
932
|
export function extractAssociatedRecords(
|
|
932
933
|
containerName: string,
|
|
933
934
|
aggregateName: string,
|
|
934
|
-
|
|
935
|
+
readIdentifier: ChainableFunction<XmlElement, string>
|
|
935
936
|
): ChainableFunction<XmlElement, AssociatedRecord[]> {
|
|
936
937
|
return pipe(
|
|
937
938
|
findChildrenElement(containerName, false),
|
|
938
939
|
mapArray((el) => {
|
|
939
940
|
const aggregateEl = findChildElement(aggregateName, false)(el)
|
|
940
|
-
const
|
|
941
|
-
const
|
|
941
|
+
const uniqueIdentifier = readIdentifier(aggregateEl)
|
|
942
|
+
const associationTypeCode = pipe(
|
|
942
943
|
findNestedElement('gmd:associationType', 'gmd:DS_AssociationTypeCode'),
|
|
943
944
|
readAttribute('codeListValue')
|
|
944
945
|
)(aggregateEl)
|
|
945
|
-
if (!
|
|
946
|
-
return {
|
|
946
|
+
if (!uniqueIdentifier || !associationTypeCode) return null
|
|
947
|
+
return {
|
|
948
|
+
uniqueIdentifier,
|
|
949
|
+
associationType: getAssociationTypeFromCode(associationTypeCode),
|
|
950
|
+
}
|
|
947
951
|
}),
|
|
948
952
|
filterArray((r): r is AssociatedRecord => r !== null)
|
|
949
953
|
)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AssociationType,
|
|
3
|
+
associationTypeValues,
|
|
4
|
+
} from '../../../../../../../libs/common/domain/src/lib/model/record'
|
|
5
|
+
|
|
6
|
+
export function getAssociationTypeFromCode(
|
|
7
|
+
associationTypeCode: string
|
|
8
|
+
): AssociationType {
|
|
9
|
+
return associationTypeValues.includes(associationTypeCode as AssociationType)
|
|
10
|
+
? (associationTypeCode as AssociationType)
|
|
11
|
+
: 'crossReference'
|
|
12
|
+
}
|
|
@@ -1276,7 +1276,7 @@ export function writeAssociatedRecords(
|
|
|
1276
1276
|
removeChildrenByName('gmd:aggregationInfo'),
|
|
1277
1277
|
appendChildren(
|
|
1278
1278
|
...record.associatedRecords
|
|
1279
|
-
.filter((assoc) => assoc.
|
|
1279
|
+
.filter((assoc) => assoc.uniqueIdentifier && assoc.associationType)
|
|
1280
1280
|
.map((assoc) =>
|
|
1281
1281
|
pipe(
|
|
1282
1282
|
createNestedElement(
|
|
@@ -1290,7 +1290,7 @@ export function writeAssociatedRecords(
|
|
|
1290
1290
|
'gmd:MD_Identifier',
|
|
1291
1291
|
'gmd:code'
|
|
1292
1292
|
),
|
|
1293
|
-
writeCharacterString(assoc.
|
|
1293
|
+
writeCharacterString(assoc.uniqueIdentifier)
|
|
1294
1294
|
),
|
|
1295
1295
|
pipe(
|
|
1296
1296
|
createNestedElement(
|
|
@@ -260,12 +260,38 @@ export interface SourceRecord {
|
|
|
260
260
|
href?: string
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
+
marker('domain.record.associationType.crossReference')
|
|
264
|
+
marker('domain.record.associationType.largerWorkCitation')
|
|
265
|
+
marker('domain.record.associationType.partOfSeamlessDatabase')
|
|
266
|
+
marker('domain.record.associationType.stereoMate')
|
|
267
|
+
marker('domain.record.associationType.isComposedOf')
|
|
268
|
+
marker('domain.record.associationType.collectiveTitle')
|
|
269
|
+
marker('domain.record.associationType.series')
|
|
270
|
+
marker('domain.record.associationType.dependency')
|
|
271
|
+
marker('domain.record.associationType.revisionOf')
|
|
272
|
+
|
|
273
|
+
// DS_AssociationTypeCode values of the ISO19115-3 codelist, any unrecognized value
|
|
274
|
+
// being mapped to 'crossReference'
|
|
275
|
+
export const associationTypeValues = [
|
|
276
|
+
'crossReference',
|
|
277
|
+
'largerWorkCitation',
|
|
278
|
+
'partOfSeamlessDatabase',
|
|
279
|
+
'stereoMate',
|
|
280
|
+
'isComposedOf',
|
|
281
|
+
'collectiveTitle',
|
|
282
|
+
'series',
|
|
283
|
+
'dependency',
|
|
284
|
+
'revisionOf',
|
|
285
|
+
] as const
|
|
286
|
+
|
|
287
|
+
export type AssociationType = (typeof associationTypeValues)[number]
|
|
288
|
+
|
|
263
289
|
/**
|
|
264
290
|
* Represents another record associated with this one (e.g. a parent/sibling dataset).
|
|
265
291
|
*/
|
|
266
292
|
export interface AssociatedRecord {
|
|
267
|
-
|
|
268
|
-
associationType:
|
|
293
|
+
uniqueIdentifier: string
|
|
294
|
+
associationType: AssociationType
|
|
269
295
|
}
|
|
270
296
|
|
|
271
297
|
export interface DatasetRecord extends BaseRecord {
|
|
File without changes
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<div class="flex flex-col gap-2">
|
|
2
|
+
<gn-ui-check-toggle
|
|
3
|
+
[label]="'editor.record.form.field.parentLink' | translate"
|
|
4
|
+
[value]="hasParentLink"
|
|
5
|
+
(toggled)="onToggle($event)"
|
|
6
|
+
data-cy="associated-record-toggle"
|
|
7
|
+
></gn-ui-check-toggle>
|
|
8
|
+
@if (hasParentLink) {
|
|
9
|
+
<gn-ui-form-field-wrapper
|
|
10
|
+
[label]="'editor.record.form.field.parentIdentifier' | translate"
|
|
11
|
+
>
|
|
12
|
+
<gn-ui-text-input
|
|
13
|
+
[value]="uniqueIdentifier"
|
|
14
|
+
(valueChange)="onUniqueIdentifierChange($event)"
|
|
15
|
+
placeholder=""
|
|
16
|
+
data-cy="associated-record-identifier"
|
|
17
|
+
></gn-ui-text-input>
|
|
18
|
+
</gn-ui-form-field-wrapper>
|
|
19
|
+
<gn-ui-form-field-wrapper
|
|
20
|
+
[label]="'editor.record.form.field.parentType' | translate"
|
|
21
|
+
>
|
|
22
|
+
<gn-ui-dropdown-selector
|
|
23
|
+
[title]="'editor.record.form.field.parentType' | translate"
|
|
24
|
+
[showTitle]="false"
|
|
25
|
+
[choices]="choices"
|
|
26
|
+
[selected]="selectedType"
|
|
27
|
+
(selectValue)="onTypeChange($event)"
|
|
28
|
+
[extraBtnClass]="'input-as-button gn-ui-text-input'"
|
|
29
|
+
data-cy="associated-record-type"
|
|
30
|
+
></gn-ui-dropdown-selector>
|
|
31
|
+
</gn-ui-form-field-wrapper>
|
|
32
|
+
}
|
|
33
|
+
</div>
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ChangeDetectionStrategy,
|
|
3
|
+
Component,
|
|
4
|
+
EventEmitter,
|
|
5
|
+
Input,
|
|
6
|
+
Output,
|
|
7
|
+
} from '@angular/core'
|
|
8
|
+
import {
|
|
9
|
+
AssociatedRecord,
|
|
10
|
+
AssociationType,
|
|
11
|
+
associationTypeValues,
|
|
12
|
+
} from '../../../../../../../../../libs/common/domain/src/lib/model/record'
|
|
13
|
+
import {
|
|
14
|
+
CheckToggleComponent,
|
|
15
|
+
DropdownChoice,
|
|
16
|
+
DropdownSelectorComponent,
|
|
17
|
+
TextInputComponent,
|
|
18
|
+
} from '../../../../../../../../../libs/ui/inputs/src'
|
|
19
|
+
import { FormFieldWrapperComponent } from '../../../../../../../../../libs/ui/layout/src'
|
|
20
|
+
import { TranslatePipe } from '@ngx-translate/core'
|
|
21
|
+
|
|
22
|
+
@Component({
|
|
23
|
+
selector: 'gn-ui-form-field-associated-records',
|
|
24
|
+
templateUrl: './form-field-associated-records.component.html',
|
|
25
|
+
styleUrls: ['./form-field-associated-records.component.css'],
|
|
26
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
27
|
+
standalone: true,
|
|
28
|
+
imports: [
|
|
29
|
+
CheckToggleComponent,
|
|
30
|
+
TextInputComponent,
|
|
31
|
+
DropdownSelectorComponent,
|
|
32
|
+
FormFieldWrapperComponent,
|
|
33
|
+
TranslatePipe,
|
|
34
|
+
],
|
|
35
|
+
})
|
|
36
|
+
export class FormFieldAssociatedRecordsComponent {
|
|
37
|
+
@Input() value?: AssociatedRecord[]
|
|
38
|
+
@Output() valueChange = new EventEmitter<AssociatedRecord[]>()
|
|
39
|
+
|
|
40
|
+
private get list() {
|
|
41
|
+
return this.value ?? []
|
|
42
|
+
}
|
|
43
|
+
private get first() {
|
|
44
|
+
return this.list[0]
|
|
45
|
+
}
|
|
46
|
+
private get rest() {
|
|
47
|
+
return this.list.slice(1)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
get hasParentLink() {
|
|
51
|
+
return this.list.length > 0
|
|
52
|
+
}
|
|
53
|
+
get uniqueIdentifier() {
|
|
54
|
+
return this.first?.uniqueIdentifier ?? ''
|
|
55
|
+
}
|
|
56
|
+
get selectedType() {
|
|
57
|
+
return this.first?.associationType
|
|
58
|
+
}
|
|
59
|
+
get choices(): DropdownChoice[] {
|
|
60
|
+
return associationTypeValues.map((value) => ({
|
|
61
|
+
value,
|
|
62
|
+
label: `domain.record.associationType.${value}`,
|
|
63
|
+
}))
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
onToggle(checked: boolean) {
|
|
67
|
+
this.valueChange.emit(
|
|
68
|
+
checked
|
|
69
|
+
? [
|
|
70
|
+
{
|
|
71
|
+
uniqueIdentifier: '',
|
|
72
|
+
associationType: associationTypeValues[0],
|
|
73
|
+
},
|
|
74
|
+
...this.rest,
|
|
75
|
+
]
|
|
76
|
+
: this.rest
|
|
77
|
+
)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
onUniqueIdentifierChange(uniqueIdentifier: string) {
|
|
81
|
+
this.valueChange.emit(
|
|
82
|
+
uniqueIdentifier
|
|
83
|
+
? [{ ...this.first, uniqueIdentifier }, ...this.rest]
|
|
84
|
+
: this.rest
|
|
85
|
+
)
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
onTypeChange(associationType: DropdownChoice['value']) {
|
|
89
|
+
this.valueChange.emit([
|
|
90
|
+
{ ...this.first, associationType: associationType as AssociationType },
|
|
91
|
+
...this.rest,
|
|
92
|
+
])
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
<div class="flex
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
<div class="flex flex-col gap-2">
|
|
2
|
+
<div class="flex gap-2">
|
|
3
|
+
@for (addOption of addOptions$ | async; track addOption) {
|
|
4
|
+
<gn-ui-button type="gray" (buttonClick)="onAdd(addOption.eventName)">
|
|
5
|
+
<ng-icon name="iconoirPlus" class="text-primary"></ng-icon> {{
|
|
6
|
+
addOption.buttonLabel
|
|
7
|
+
}}</gn-ui-button
|
|
8
|
+
>
|
|
9
|
+
}
|
|
10
|
+
</div>
|
|
11
|
+
@if (extents.length) {
|
|
12
|
+
<gn-ui-sortable-list
|
|
13
|
+
[items]="extents"
|
|
14
|
+
(itemsOrderChange)="onItemsOrderChange($event)"
|
|
15
|
+
[elementTemplate]="template"
|
|
16
|
+
></gn-ui-sortable-list>
|
|
8
17
|
}
|
|
9
18
|
</div>
|
|
10
|
-
<gn-ui-sortable-list
|
|
11
|
-
[items]="extents"
|
|
12
|
-
(itemsOrderChange)="onItemsOrderChange($event)"
|
|
13
|
-
[elementTemplate]="template"
|
|
14
|
-
></gn-ui-sortable-list>
|
|
15
19
|
<ng-template #template let-extent let-index="index">
|
|
16
20
|
@if (extent.end === undefined) {
|
|
17
21
|
<div class="border rounded-lg px-4 pb-4">
|
package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html
CHANGED
|
@@ -98,6 +98,12 @@
|
|
|
98
98
|
[recordKind]="recordKind"
|
|
99
99
|
></gn-ui-form-field-update-frequency>
|
|
100
100
|
</ng-container>
|
|
101
|
+
<ng-container *ngSwitchCase="'associatedRecords'">
|
|
102
|
+
<gn-ui-form-field-associated-records
|
|
103
|
+
[value]="valueAsAssociatedRecords"
|
|
104
|
+
(valueChange)="valueChange.emit($event)"
|
|
105
|
+
></gn-ui-form-field-associated-records>
|
|
106
|
+
</ng-container>
|
|
101
107
|
<ng-container *ngSwitchCase="'temporalExtents'">
|
|
102
108
|
<gn-ui-form-field-temporal-extents
|
|
103
109
|
[value]="valueAsTemporalExtents"
|
package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.ts
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
} from '@angular/core'
|
|
12
12
|
import { MatTooltipModule } from '@angular/material/tooltip'
|
|
13
13
|
import {
|
|
14
|
+
AssociatedRecord,
|
|
14
15
|
CatalogRecordKeys,
|
|
15
16
|
Constraint,
|
|
16
17
|
DatasetTemporalExtent,
|
|
@@ -39,6 +40,7 @@ import {
|
|
|
39
40
|
FormFieldComponentName,
|
|
40
41
|
FormFieldConfig,
|
|
41
42
|
} from '../../../models'
|
|
43
|
+
import { FormFieldAssociatedRecordsComponent } from './form-field-associated-records/form-field-associated-records.component'
|
|
42
44
|
import { FormFieldContactsForResourceComponent } from './form-field-contacts-for-resource/form-field-contacts-for-resource.component'
|
|
43
45
|
import { FormFieldContactsComponent } from './form-field-contacts/form-field-contacts.component'
|
|
44
46
|
import { FormFieldKeywordsComponent } from './form-field-keywords/form-field-keywords.component'
|
|
@@ -70,6 +72,7 @@ import { FormFieldTopicsComponent } from './form-field-topics/form-field-topics.
|
|
|
70
72
|
FormFieldLicenseComponent,
|
|
71
73
|
FormFieldDateComponent,
|
|
72
74
|
FormFieldUpdateFrequencyComponent,
|
|
75
|
+
FormFieldAssociatedRecordsComponent,
|
|
73
76
|
FormFieldTemporalExtentsComponent,
|
|
74
77
|
FormFieldSimpleComponent,
|
|
75
78
|
FormFieldRichComponent,
|
|
@@ -140,6 +143,9 @@ export class FormFieldComponent {
|
|
|
140
143
|
get valueAsUpdateFrequency() {
|
|
141
144
|
return this.value as UpdateFrequency
|
|
142
145
|
}
|
|
146
|
+
get valueAsAssociatedRecords() {
|
|
147
|
+
return this.value as Array<AssociatedRecord>
|
|
148
|
+
}
|
|
143
149
|
get valueAsTemporalExtents() {
|
|
144
150
|
return this.value as Array<DatasetTemporalExtent>
|
|
145
151
|
}
|
package/translations/de.json
CHANGED
|
@@ -89,6 +89,15 @@
|
|
|
89
89
|
"domain.contact.role.stakeholder": "Beteiligter",
|
|
90
90
|
"domain.contact.role.unspecified": "Nicht angegeben",
|
|
91
91
|
"domain.contact.role.user": "Benutzer",
|
|
92
|
+
"domain.record.associationType.collectiveTitle": "",
|
|
93
|
+
"domain.record.associationType.crossReference": "",
|
|
94
|
+
"domain.record.associationType.dependency": "",
|
|
95
|
+
"domain.record.associationType.isComposedOf": "",
|
|
96
|
+
"domain.record.associationType.largerWorkCitation": "",
|
|
97
|
+
"domain.record.associationType.partOfSeamlessDatabase": "",
|
|
98
|
+
"domain.record.associationType.revisionOf": "",
|
|
99
|
+
"domain.record.associationType.series": "",
|
|
100
|
+
"domain.record.associationType.stereoMate": "",
|
|
92
101
|
"domain.record.keywordType.other": "Stichworte",
|
|
93
102
|
"domain.record.keywordType.place": "Ort",
|
|
94
103
|
"domain.record.keywordType.temporal": "Zeitlich",
|
|
@@ -212,6 +221,9 @@
|
|
|
212
221
|
"editor.record.form.field.organisation": "Ansprechpartner - Organisation",
|
|
213
222
|
"editor.record.form.field.otherConstraints": "Allgemeine Einschränkung",
|
|
214
223
|
"editor.record.form.field.overviews": "Übersicht",
|
|
224
|
+
"editor.record.form.field.parentIdentifier": "",
|
|
225
|
+
"editor.record.form.field.parentLink": "",
|
|
226
|
+
"editor.record.form.field.parentType": "",
|
|
215
227
|
"editor.record.form.field.recordUpdated": "Datensatz zuletzt aktualisiert",
|
|
216
228
|
"editor.record.form.field.resourceCreated": "Erstellungsdatum",
|
|
217
229
|
"editor.record.form.field.resourceIdentifier": "Kennung",
|
package/translations/en.json
CHANGED
|
@@ -89,6 +89,15 @@
|
|
|
89
89
|
"domain.contact.role.stakeholder": "Stakeholder",
|
|
90
90
|
"domain.contact.role.unspecified": "Unspecified",
|
|
91
91
|
"domain.contact.role.user": "User",
|
|
92
|
+
"domain.record.associationType.collectiveTitle": "Collective Title",
|
|
93
|
+
"domain.record.associationType.crossReference": "Cross reference",
|
|
94
|
+
"domain.record.associationType.dependency": "Dependency",
|
|
95
|
+
"domain.record.associationType.isComposedOf": "Is composed of",
|
|
96
|
+
"domain.record.associationType.largerWorkCitation": "Larger work citation",
|
|
97
|
+
"domain.record.associationType.partOfSeamlessDatabase": "Part of seamless database",
|
|
98
|
+
"domain.record.associationType.revisionOf": "Revision Of",
|
|
99
|
+
"domain.record.associationType.series": "Series",
|
|
100
|
+
"domain.record.associationType.stereoMate": "Stereo mate",
|
|
92
101
|
"domain.record.keywordType.other": "Keywords",
|
|
93
102
|
"domain.record.keywordType.place": "Place",
|
|
94
103
|
"domain.record.keywordType.temporal": "Temporal",
|
|
@@ -212,6 +221,9 @@
|
|
|
212
221
|
"editor.record.form.field.organisation": "Point of contact - Organization",
|
|
213
222
|
"editor.record.form.field.otherConstraints": "Other constraint",
|
|
214
223
|
"editor.record.form.field.overviews": "Overview",
|
|
224
|
+
"editor.record.form.field.parentIdentifier": "Parent identifier",
|
|
225
|
+
"editor.record.form.field.parentLink": "This record has a parent link",
|
|
226
|
+
"editor.record.form.field.parentType": "Relationship type",
|
|
215
227
|
"editor.record.form.field.recordUpdated": "Record updated",
|
|
216
228
|
"editor.record.form.field.resourceCreated": "{recordKind, select, dataset{Dataset} service{Service} reuse{Reuse} other{Record}} created",
|
|
217
229
|
"editor.record.form.field.resourceIdentifier": "Identifier",
|
package/translations/es.json
CHANGED
|
@@ -89,6 +89,15 @@
|
|
|
89
89
|
"domain.contact.role.stakeholder": "",
|
|
90
90
|
"domain.contact.role.unspecified": "",
|
|
91
91
|
"domain.contact.role.user": "",
|
|
92
|
+
"domain.record.associationType.collectiveTitle": "",
|
|
93
|
+
"domain.record.associationType.crossReference": "",
|
|
94
|
+
"domain.record.associationType.dependency": "",
|
|
95
|
+
"domain.record.associationType.isComposedOf": "",
|
|
96
|
+
"domain.record.associationType.largerWorkCitation": "",
|
|
97
|
+
"domain.record.associationType.partOfSeamlessDatabase": "",
|
|
98
|
+
"domain.record.associationType.revisionOf": "",
|
|
99
|
+
"domain.record.associationType.series": "",
|
|
100
|
+
"domain.record.associationType.stereoMate": "",
|
|
92
101
|
"domain.record.keywordType.other": "",
|
|
93
102
|
"domain.record.keywordType.place": "",
|
|
94
103
|
"domain.record.keywordType.temporal": "",
|
|
@@ -212,6 +221,9 @@
|
|
|
212
221
|
"editor.record.form.field.organisation": "Punto de contacto - Organización",
|
|
213
222
|
"editor.record.form.field.otherConstraints": "",
|
|
214
223
|
"editor.record.form.field.overviews": "",
|
|
224
|
+
"editor.record.form.field.parentIdentifier": "",
|
|
225
|
+
"editor.record.form.field.parentLink": "",
|
|
226
|
+
"editor.record.form.field.parentType": "",
|
|
215
227
|
"editor.record.form.field.recordUpdated": "",
|
|
216
228
|
"editor.record.form.field.resourceCreated": "",
|
|
217
229
|
"editor.record.form.field.resourceIdentifier": "",
|
package/translations/fr.json
CHANGED
|
@@ -89,6 +89,15 @@
|
|
|
89
89
|
"domain.contact.role.stakeholder": "Partie prenante",
|
|
90
90
|
"domain.contact.role.unspecified": "Non spécifié",
|
|
91
91
|
"domain.contact.role.user": "Utilisateur",
|
|
92
|
+
"domain.record.associationType.collectiveTitle": "Titre commun",
|
|
93
|
+
"domain.record.associationType.crossReference": "Référence croisée",
|
|
94
|
+
"domain.record.associationType.dependency": "Dépendance",
|
|
95
|
+
"domain.record.associationType.isComposedOf": "Est composé de",
|
|
96
|
+
"domain.record.associationType.largerWorkCitation": "Référence mère",
|
|
97
|
+
"domain.record.associationType.partOfSeamlessDatabase": "Partie d'une même base de données",
|
|
98
|
+
"domain.record.associationType.revisionOf": "Révision de",
|
|
99
|
+
"domain.record.associationType.series": "Séries",
|
|
100
|
+
"domain.record.associationType.stereoMate": "Stéréo restitution",
|
|
92
101
|
"domain.record.keywordType.other": "Mots-clés",
|
|
93
102
|
"domain.record.keywordType.place": "Localisation",
|
|
94
103
|
"domain.record.keywordType.temporal": "Temps",
|
|
@@ -212,6 +221,9 @@
|
|
|
212
221
|
"editor.record.form.field.organisation": "Point de contact - Organisation",
|
|
213
222
|
"editor.record.form.field.otherConstraints": "Contrainte générale",
|
|
214
223
|
"editor.record.form.field.overviews": "Aperçu",
|
|
224
|
+
"editor.record.form.field.parentIdentifier": "Identifiant du parent",
|
|
225
|
+
"editor.record.form.field.parentLink": "Cette donnée possède un lien de parenté",
|
|
226
|
+
"editor.record.form.field.parentType": "Type de parenté",
|
|
215
227
|
"editor.record.form.field.recordUpdated": "Date de mise à jour",
|
|
216
228
|
"editor.record.form.field.resourceCreated": "Date de création",
|
|
217
229
|
"editor.record.form.field.resourceIdentifier": "Identifiant",
|
package/translations/it.json
CHANGED
|
@@ -89,6 +89,15 @@
|
|
|
89
89
|
"domain.contact.role.stakeholder": "Parte interessata",
|
|
90
90
|
"domain.contact.role.unspecified": "Non specificato",
|
|
91
91
|
"domain.contact.role.user": "Utente",
|
|
92
|
+
"domain.record.associationType.collectiveTitle": "",
|
|
93
|
+
"domain.record.associationType.crossReference": "",
|
|
94
|
+
"domain.record.associationType.dependency": "",
|
|
95
|
+
"domain.record.associationType.isComposedOf": "",
|
|
96
|
+
"domain.record.associationType.largerWorkCitation": "",
|
|
97
|
+
"domain.record.associationType.partOfSeamlessDatabase": "",
|
|
98
|
+
"domain.record.associationType.revisionOf": "",
|
|
99
|
+
"domain.record.associationType.series": "",
|
|
100
|
+
"domain.record.associationType.stereoMate": "",
|
|
92
101
|
"domain.record.keywordType.other": "Parole chiave",
|
|
93
102
|
"domain.record.keywordType.place": "Luogo",
|
|
94
103
|
"domain.record.keywordType.temporal": "Temporale",
|
|
@@ -212,6 +221,9 @@
|
|
|
212
221
|
"editor.record.form.field.organisation": "",
|
|
213
222
|
"editor.record.form.field.otherConstraints": "Vincolo generale",
|
|
214
223
|
"editor.record.form.field.overviews": "Panoramica",
|
|
224
|
+
"editor.record.form.field.parentIdentifier": "",
|
|
225
|
+
"editor.record.form.field.parentLink": "",
|
|
226
|
+
"editor.record.form.field.parentType": "",
|
|
215
227
|
"editor.record.form.field.recordUpdated": "Data di aggiornamento",
|
|
216
228
|
"editor.record.form.field.resourceCreated": "Data di creazione",
|
|
217
229
|
"editor.record.form.field.resourceIdentifier": "Identificatore",
|
package/translations/nl.json
CHANGED
|
@@ -89,6 +89,15 @@
|
|
|
89
89
|
"domain.contact.role.stakeholder": "",
|
|
90
90
|
"domain.contact.role.unspecified": "",
|
|
91
91
|
"domain.contact.role.user": "",
|
|
92
|
+
"domain.record.associationType.collectiveTitle": "",
|
|
93
|
+
"domain.record.associationType.crossReference": "",
|
|
94
|
+
"domain.record.associationType.dependency": "",
|
|
95
|
+
"domain.record.associationType.isComposedOf": "",
|
|
96
|
+
"domain.record.associationType.largerWorkCitation": "",
|
|
97
|
+
"domain.record.associationType.partOfSeamlessDatabase": "",
|
|
98
|
+
"domain.record.associationType.revisionOf": "",
|
|
99
|
+
"domain.record.associationType.series": "",
|
|
100
|
+
"domain.record.associationType.stereoMate": "",
|
|
92
101
|
"domain.record.keywordType.other": "",
|
|
93
102
|
"domain.record.keywordType.place": "",
|
|
94
103
|
"domain.record.keywordType.temporal": "",
|
|
@@ -212,6 +221,9 @@
|
|
|
212
221
|
"editor.record.form.field.organisation": "",
|
|
213
222
|
"editor.record.form.field.otherConstraints": "",
|
|
214
223
|
"editor.record.form.field.overviews": "",
|
|
224
|
+
"editor.record.form.field.parentIdentifier": "",
|
|
225
|
+
"editor.record.form.field.parentLink": "",
|
|
226
|
+
"editor.record.form.field.parentType": "",
|
|
215
227
|
"editor.record.form.field.recordUpdated": "",
|
|
216
228
|
"editor.record.form.field.resourceCreated": "",
|
|
217
229
|
"editor.record.form.field.resourceIdentifier": "",
|
package/translations/pt.json
CHANGED
|
@@ -89,6 +89,15 @@
|
|
|
89
89
|
"domain.contact.role.stakeholder": "",
|
|
90
90
|
"domain.contact.role.unspecified": "",
|
|
91
91
|
"domain.contact.role.user": "",
|
|
92
|
+
"domain.record.associationType.collectiveTitle": "",
|
|
93
|
+
"domain.record.associationType.crossReference": "",
|
|
94
|
+
"domain.record.associationType.dependency": "",
|
|
95
|
+
"domain.record.associationType.isComposedOf": "",
|
|
96
|
+
"domain.record.associationType.largerWorkCitation": "",
|
|
97
|
+
"domain.record.associationType.partOfSeamlessDatabase": "",
|
|
98
|
+
"domain.record.associationType.revisionOf": "",
|
|
99
|
+
"domain.record.associationType.series": "",
|
|
100
|
+
"domain.record.associationType.stereoMate": "",
|
|
92
101
|
"domain.record.keywordType.other": "",
|
|
93
102
|
"domain.record.keywordType.place": "",
|
|
94
103
|
"domain.record.keywordType.temporal": "",
|
|
@@ -212,6 +221,9 @@
|
|
|
212
221
|
"editor.record.form.field.organisation": "",
|
|
213
222
|
"editor.record.form.field.otherConstraints": "",
|
|
214
223
|
"editor.record.form.field.overviews": "",
|
|
224
|
+
"editor.record.form.field.parentIdentifier": "",
|
|
225
|
+
"editor.record.form.field.parentLink": "",
|
|
226
|
+
"editor.record.form.field.parentType": "",
|
|
215
227
|
"editor.record.form.field.recordUpdated": "",
|
|
216
228
|
"editor.record.form.field.resourceCreated": "",
|
|
217
229
|
"editor.record.form.field.resourceIdentifier": "",
|
package/translations/sk.json
CHANGED
|
@@ -89,6 +89,15 @@
|
|
|
89
89
|
"domain.contact.role.stakeholder": "",
|
|
90
90
|
"domain.contact.role.unspecified": "",
|
|
91
91
|
"domain.contact.role.user": "",
|
|
92
|
+
"domain.record.associationType.collectiveTitle": "",
|
|
93
|
+
"domain.record.associationType.crossReference": "",
|
|
94
|
+
"domain.record.associationType.dependency": "",
|
|
95
|
+
"domain.record.associationType.isComposedOf": "",
|
|
96
|
+
"domain.record.associationType.largerWorkCitation": "",
|
|
97
|
+
"domain.record.associationType.partOfSeamlessDatabase": "",
|
|
98
|
+
"domain.record.associationType.revisionOf": "",
|
|
99
|
+
"domain.record.associationType.series": "",
|
|
100
|
+
"domain.record.associationType.stereoMate": "",
|
|
92
101
|
"domain.record.keywordType.other": "Kľúčové slová",
|
|
93
102
|
"domain.record.keywordType.place": "Miesto",
|
|
94
103
|
"domain.record.keywordType.temporal": "Časový",
|
|
@@ -212,6 +221,9 @@
|
|
|
212
221
|
"editor.record.form.field.organisation": "",
|
|
213
222
|
"editor.record.form.field.otherConstraints": "",
|
|
214
223
|
"editor.record.form.field.overviews": "",
|
|
224
|
+
"editor.record.form.field.parentIdentifier": "",
|
|
225
|
+
"editor.record.form.field.parentLink": "",
|
|
226
|
+
"editor.record.form.field.parentType": "",
|
|
215
227
|
"editor.record.form.field.recordUpdated": "",
|
|
216
228
|
"editor.record.form.field.resourceCreated": "",
|
|
217
229
|
"editor.record.form.field.resourceIdentifier": "",
|