geonetwork-ui 2.10.0-dev.4edf16e9b → 2.10.0-dev.4f8e80786
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 +47 -5
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/index.d.ts +10 -1
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/dcat-ap.converter.ts +11 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/eu.dcat-ap.records.ts +2 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +22 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+ongules.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.reuse+roilaye.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/georhena.records.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/metadata-for-i18n.records.ts +2 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +22 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/opendataswiss.records.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/sextant.records.ts +2 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/vlaanderen.dcat-ap.records.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/fixtures/wallonie.records.reuse.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.converter.ts +1 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +4 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +13 -0
- package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +40 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +13 -4
- package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +40 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +43 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +10 -0
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +6 -0
- package/src/libs/feature/notify-reuse/src/lib/notify-reuse-form/notify-reuse-form.component.ts +19 -10
|
@@ -1484,6 +1484,19 @@ function extractSourceRecords(liLineageEl) {
|
|
|
1484
1484
|
function readSourceRecords$1(rootEl) {
|
|
1485
1485
|
return extractSourceRecords(pipe(findNestedElement('gmd:dataQualityInfo', 'gmd:DQ_DataQuality', 'gmd:lineage', 'gmd:LI_Lineage'))(rootEl));
|
|
1486
1486
|
}
|
|
1487
|
+
function extractAssociatedRecords(containerName, aggregateName, readUuid) {
|
|
1488
|
+
return pipe(findChildrenElement(containerName, false), mapArray((el) => {
|
|
1489
|
+
const aggregateEl = findChildElement(aggregateName, false)(el);
|
|
1490
|
+
const uuid = readUuid(aggregateEl);
|
|
1491
|
+
const associationType = pipe(findNestedElement('gmd:associationType', 'gmd:DS_AssociationTypeCode'), readAttribute('codeListValue'))(aggregateEl);
|
|
1492
|
+
if (!uuid || !associationType)
|
|
1493
|
+
return null;
|
|
1494
|
+
return { uuid, associationType };
|
|
1495
|
+
}), filterArray((r) => r !== null));
|
|
1496
|
+
}
|
|
1497
|
+
function readAssociatedRecords$1(rootEl) {
|
|
1498
|
+
return pipe(findIdentification(), extractAssociatedRecords('gmd:aggregationInfo', 'gmd:MD_AggregateInformation', pipe(findNestedElement('gmd:aggregateDataSetIdentifier', 'gmd:MD_Identifier', 'gmd:code'), extractCharacterString())))(rootEl);
|
|
1499
|
+
}
|
|
1487
1500
|
function readUpdateFrequency(rootEl) {
|
|
1488
1501
|
return pipe(findIdentification(), findNestedElement('gmd:resourceMaintenance', 'gmd:MD_MaintenanceInformation'), extractUpdateFrequency(), map((updateFrequency) => updateFrequency || 'unknown'))(rootEl);
|
|
1489
1502
|
}
|
|
@@ -2024,6 +2037,11 @@ function appendSourceRecords(sources) {
|
|
|
2024
2037
|
function writeSourceRecords$1(record, rootEl) {
|
|
2025
2038
|
pipe(findNestedChildOrCreate('gmd:dataQualityInfo', 'gmd:DQ_DataQuality', 'gmd:lineage', 'gmd:LI_Lineage'), appendSourceRecords(record.sourceRecords))(rootEl);
|
|
2026
2039
|
}
|
|
2040
|
+
function writeAssociatedRecords$1(record, rootEl) {
|
|
2041
|
+
pipe(findOrCreateIdentification(), removeChildrenByName('gmd:aggregationInfo'), appendChildren(...record.associatedRecords
|
|
2042
|
+
.filter((assoc) => assoc.uuid && assoc.associationType)
|
|
2043
|
+
.map((assoc) => pipe(createNestedElement('gmd:aggregationInfo', 'gmd:MD_AggregateInformation'), appendChildren(pipe(createNestedElement('gmd:aggregateDataSetIdentifier', 'gmd:MD_Identifier', 'gmd:code'), writeCharacterString(assoc.uuid)), pipe(createNestedElement('gmd:associationType', 'gmd:DS_AssociationTypeCode'), writeAttribute('codeList', 'http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#DS_AssociationTypeCode'), writeAttribute('codeListValue', assoc.associationType)))))))(rootEl);
|
|
2044
|
+
}
|
|
2027
2045
|
function getServiceEndpointProtocol(endpoint) {
|
|
2028
2046
|
switch (endpoint.accessServiceProtocol.toLowerCase()) {
|
|
2029
2047
|
case 'wfs':
|
|
@@ -2151,6 +2169,7 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2151
2169
|
overviews: readOverviews,
|
|
2152
2170
|
lineage: readLineage$1,
|
|
2153
2171
|
sourceRecords: readSourceRecords$1,
|
|
2172
|
+
associatedRecords: readAssociatedRecords$1,
|
|
2154
2173
|
onlineResources: readOnlineResources$2,
|
|
2155
2174
|
temporalExtents: readTemporalExtents,
|
|
2156
2175
|
spatialExtents: readSpatialExtents$1,
|
|
@@ -2189,6 +2208,7 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2189
2208
|
overviews: writeGraphicOverviews,
|
|
2190
2209
|
lineage: writeLineage$1,
|
|
2191
2210
|
sourceRecords: writeSourceRecords$1,
|
|
2211
|
+
associatedRecords: writeAssociatedRecords$1,
|
|
2192
2212
|
onlineResources: writeOnlineResources$1,
|
|
2193
2213
|
temporalExtents: writeTemporalExtents,
|
|
2194
2214
|
spatialExtents: writeSpatialExtents,
|
|
@@ -2236,7 +2256,7 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2236
2256
|
record.contacts.map((c) => fixLanguages(c.organization));
|
|
2237
2257
|
record.contactsForResource.map((c) => fixLanguages(c.organization));
|
|
2238
2258
|
fixLanguages(record.ownerOrganization);
|
|
2239
|
-
if (record.kind === 'dataset') {
|
|
2259
|
+
if (record.kind === 'dataset' || record.kind === 'reuse') {
|
|
2240
2260
|
record.spatialExtents.map(fixLanguages);
|
|
2241
2261
|
}
|
|
2242
2262
|
// remove default language from otherLanguages list
|
|
@@ -2313,6 +2333,7 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2313
2333
|
const temporalExtents = this.readers['temporalExtents'](rootEl, tr);
|
|
2314
2334
|
const lineage = this.readers['lineage'](rootEl, tr);
|
|
2315
2335
|
const sourceRecords = this.readers['sourceRecords'](rootEl, tr);
|
|
2336
|
+
const associatedRecords = this.readers['associatedRecords'](rootEl, tr);
|
|
2316
2337
|
const updateFrequency = this.readers['updateFrequency'](rootEl, tr);
|
|
2317
2338
|
return this.afterRecordRead({
|
|
2318
2339
|
...this.readBaseRecord(rootEl, tr),
|
|
@@ -2320,6 +2341,7 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2320
2341
|
status,
|
|
2321
2342
|
lineage,
|
|
2322
2343
|
...(sourceRecords && { sourceRecords }),
|
|
2344
|
+
associatedRecords,
|
|
2323
2345
|
...(spatialRepresentation && { spatialRepresentation }),
|
|
2324
2346
|
temporalExtents,
|
|
2325
2347
|
updateFrequency,
|
|
@@ -2329,6 +2351,7 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2329
2351
|
else if (kind === 'reuse') {
|
|
2330
2352
|
const lineage = this.readers['lineage'](rootEl, tr);
|
|
2331
2353
|
const sourceRecords = this.readers['sourceRecords'](rootEl, tr);
|
|
2354
|
+
const associatedRecords = this.readers['associatedRecords'](rootEl, tr);
|
|
2332
2355
|
const temporalExtents = this.readers['temporalExtents'](rootEl, tr);
|
|
2333
2356
|
const reuseType = this.readers['reuseType'](rootEl, tr);
|
|
2334
2357
|
return this.afterRecordRead({
|
|
@@ -2336,6 +2359,7 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2336
2359
|
kind,
|
|
2337
2360
|
lineage,
|
|
2338
2361
|
...(sourceRecords && { sourceRecords }),
|
|
2362
|
+
associatedRecords,
|
|
2339
2363
|
temporalExtents,
|
|
2340
2364
|
reuseType,
|
|
2341
2365
|
});
|
|
@@ -2410,6 +2434,8 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2410
2434
|
this.writers['resourceIdentifiers'](record, rootEl);
|
|
2411
2435
|
if (record.kind === 'dataset') {
|
|
2412
2436
|
fieldChanged('status') && this.writers['status'](record, rootEl);
|
|
2437
|
+
}
|
|
2438
|
+
if (record.kind === 'dataset' || record.kind === 'reuse') {
|
|
2413
2439
|
fieldChanged('updateFrequency') &&
|
|
2414
2440
|
this.writers['updateFrequency'](record, rootEl);
|
|
2415
2441
|
fieldChanged('spatialRepresentation') &&
|
|
@@ -2419,13 +2445,12 @@ class Iso19139Converter extends BaseConverter {
|
|
|
2419
2445
|
this.writers['temporalExtents'](record, rootEl);
|
|
2420
2446
|
fieldChanged('spatialExtents') &&
|
|
2421
2447
|
this.writers['spatialExtents'](record, rootEl);
|
|
2422
|
-
}
|
|
2423
|
-
if (record.kind === 'dataset' || record.kind === 'reuse') {
|
|
2424
|
-
;
|
|
2425
2448
|
(fieldChanged('lineage') || fieldChanged('translations')) &&
|
|
2426
2449
|
this.writers['lineage'](record, rootEl);
|
|
2427
2450
|
fieldChanged('sourceRecords') &&
|
|
2428
2451
|
this.writers['sourceRecords'](record, rootEl);
|
|
2452
|
+
fieldChanged('associatedRecords') &&
|
|
2453
|
+
this.writers['associatedRecords'](record, rootEl);
|
|
2429
2454
|
}
|
|
2430
2455
|
fieldChanged('otherLanguages') &&
|
|
2431
2456
|
this.writers['otherLanguages'](record, rootEl);
|
|
@@ -2535,6 +2560,9 @@ function readLineage(rootEl, translations) {
|
|
|
2535
2560
|
function readSourceRecords(rootEl) {
|
|
2536
2561
|
return extractSourceRecords(pipe(findNestedElement('mdb:resourceLineage', 'mrl:LI_Lineage'))(rootEl));
|
|
2537
2562
|
}
|
|
2563
|
+
function readAssociatedRecords(rootEl) {
|
|
2564
|
+
return pipe(findIdentification(), extractAssociatedRecords('mri:associatedResource', 'mri:MD_AssociatedResource', pipe(findNestedElement('mri:metadataReference'), readAttribute('uuidref'))))(rootEl);
|
|
2565
|
+
}
|
|
2538
2566
|
function extractDateInfo(type) {
|
|
2539
2567
|
return pipe(findChildrenElement('mdb:dateInfo', false), filterArray((el) => pipe(findChildElement('cit:CI_DateTypeCode'), readAttribute('codeListValue'))(el) === type), getAtIndex(0), findChildElement('cit:date'), extractDateTime());
|
|
2540
2568
|
}
|
|
@@ -2722,6 +2750,11 @@ function writeOtherLanguages(record, rootEl) {
|
|
|
2722
2750
|
function writeSourceRecords(record, rootEl) {
|
|
2723
2751
|
pipe(findNestedChildOrCreate('mdb:resourceLineage', 'mrl:LI_Lineage'), appendSourceRecords(record.sourceRecords))(rootEl);
|
|
2724
2752
|
}
|
|
2753
|
+
function writeAssociatedRecords(record, rootEl) {
|
|
2754
|
+
pipe(findOrCreateIdentification(), removeChildrenByName('mri:associatedResource'), appendChildren(...record.associatedRecords
|
|
2755
|
+
.filter((assoc) => assoc.uuid && assoc.associationType)
|
|
2756
|
+
.map((assoc) => pipe(createNestedElement('mri:associatedResource', 'mri:MD_AssociatedResource'), appendChildren(pipe(createNestedElement('mri:associationType', 'mri:DS_AssociationTypeCode'), writeAttribute('codeList', 'http://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#DS_AssociationTypeCode'), writeAttribute('codeListValue', assoc.associationType)), pipe(createElement('mri:metadataReference'), writeAttribute('uuidref', assoc.uuid)))))))(rootEl);
|
|
2757
|
+
}
|
|
2725
2758
|
|
|
2726
2759
|
class Iso191153Converter extends Iso19139Converter {
|
|
2727
2760
|
constructor() {
|
|
@@ -2737,6 +2770,7 @@ class Iso191153Converter extends Iso19139Converter {
|
|
|
2737
2770
|
this.readers['landingPage'] = readLandingPage$1;
|
|
2738
2771
|
this.readers['lineage'] = readLineage;
|
|
2739
2772
|
this.readers['sourceRecords'] = readSourceRecords;
|
|
2773
|
+
this.readers['associatedRecords'] = readAssociatedRecords;
|
|
2740
2774
|
this.readers['onlineResources'] = readOnlineResources$1;
|
|
2741
2775
|
this.readers['defaultLanguage'] = readDefaultLanguage$1;
|
|
2742
2776
|
this.readers['otherLanguages'] = readOtherLanguages;
|
|
@@ -2756,6 +2790,7 @@ class Iso191153Converter extends Iso19139Converter {
|
|
|
2756
2790
|
this.writers['landingPage'] = writeLandingPage;
|
|
2757
2791
|
this.writers['lineage'] = writeLineage;
|
|
2758
2792
|
this.writers['sourceRecords'] = writeSourceRecords;
|
|
2793
|
+
this.writers['associatedRecords'] = writeAssociatedRecords;
|
|
2759
2794
|
this.writers['onlineResources'] = writeOnlineResources;
|
|
2760
2795
|
this.writers['status'] = writeStatus;
|
|
2761
2796
|
this.writers['spatialRepresentation'] = writeSpatialRepresentation;
|
|
@@ -3391,6 +3426,7 @@ class DcatApConverter extends BaseConverter {
|
|
|
3391
3426
|
overviews: () => [],
|
|
3392
3427
|
lineage: () => '',
|
|
3393
3428
|
sourceRecords: () => [],
|
|
3429
|
+
associatedRecords: () => [],
|
|
3394
3430
|
temporalExtents: () => [],
|
|
3395
3431
|
spatialRepresentation: () => undefined,
|
|
3396
3432
|
extras: () => undefined,
|
|
@@ -3425,6 +3461,7 @@ class DcatApConverter extends BaseConverter {
|
|
|
3425
3461
|
overviews: () => undefined,
|
|
3426
3462
|
lineage: () => undefined,
|
|
3427
3463
|
sourceRecords: () => [],
|
|
3464
|
+
associatedRecords: () => [],
|
|
3428
3465
|
onlineResources: () => undefined,
|
|
3429
3466
|
temporalExtents: () => undefined,
|
|
3430
3467
|
spatialExtents: () => undefined,
|
|
@@ -3471,6 +3508,7 @@ class DcatApConverter extends BaseConverter {
|
|
|
3471
3508
|
const temporalExtents = this.readers['temporalExtents'](dataStore, catalogRecord, tr, defaultLanguage);
|
|
3472
3509
|
const lineage = this.readers['lineage'](dataStore, catalogRecord, tr, defaultLanguage);
|
|
3473
3510
|
const sourceRecords = this.readers['sourceRecords'](dataStore, catalogRecord, tr, defaultLanguage);
|
|
3511
|
+
const associatedRecords = this.readers['associatedRecords'](dataStore, catalogRecord, tr, defaultLanguage);
|
|
3474
3512
|
const onlineResources = this.readers['onlineResources'](dataStore, catalogRecord, tr, defaultLanguage);
|
|
3475
3513
|
const updateFrequency = this.readers['updateFrequency'](dataStore, catalogRecord, tr, defaultLanguage);
|
|
3476
3514
|
return {
|
|
@@ -3498,6 +3536,7 @@ class DcatApConverter extends BaseConverter {
|
|
|
3498
3536
|
otherConstraints,
|
|
3499
3537
|
lineage,
|
|
3500
3538
|
sourceRecords,
|
|
3539
|
+
associatedRecords,
|
|
3501
3540
|
...(spatialRepresentation && { spatialRepresentation }),
|
|
3502
3541
|
overviews,
|
|
3503
3542
|
spatialExtents,
|
|
@@ -3607,6 +3646,8 @@ class DcatApConverter extends BaseConverter {
|
|
|
3607
3646
|
if (record.kind === 'dataset') {
|
|
3608
3647
|
fieldChanged('status') &&
|
|
3609
3648
|
this.writers['status'](record, dataStore, recordNode);
|
|
3649
|
+
}
|
|
3650
|
+
if (record.kind === 'dataset' || record.kind === 'reuse') {
|
|
3610
3651
|
fieldChanged('updateFrequency') &&
|
|
3611
3652
|
this.writers['updateFrequency'](record, dataStore, recordNode);
|
|
3612
3653
|
fieldChanged('spatialRepresentation') &&
|
|
@@ -19092,6 +19133,7 @@ class Gn4Converter extends BaseConverter {
|
|
|
19092
19133
|
status: null,
|
|
19093
19134
|
lineage: null,
|
|
19094
19135
|
sourceRecords: [],
|
|
19136
|
+
associatedRecords: [],
|
|
19095
19137
|
recordUpdated: null,
|
|
19096
19138
|
recordPublished: null,
|
|
19097
19139
|
ownerOrganization: null,
|
|
@@ -20296,7 +20338,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
20296
20338
|
}] } });
|
|
20297
20339
|
|
|
20298
20340
|
var name = "geonetwork-ui";
|
|
20299
|
-
var version = "2.10.0-dev.
|
|
20341
|
+
var version = "2.10.0-dev.4f8e80786";
|
|
20300
20342
|
var engines = {
|
|
20301
20343
|
node: ">=24"
|
|
20302
20344
|
};
|