geonetwork-ui 2.3.0-dev.28c8df17 → 2.3.0-dev.376e0e90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/esm2022/libs/api/metadata-converter/src/index.mjs +5 -5
  2. package/esm2022/libs/api/metadata-converter/src/lib/base.converter.mjs +14 -0
  3. package/esm2022/libs/api/metadata-converter/src/lib/find-converter.mjs +15 -0
  4. package/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +3 -3
  5. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.converter.mjs +52 -0
  6. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +3 -3
  7. package/esm2022/libs/api/metadata-converter/src/lib/gn4/index.mjs +4 -0
  8. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/index.mjs +2 -0
  9. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.mjs +123 -0
  10. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +116 -0
  11. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +138 -0
  12. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/index.mjs +2 -0
  13. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.mjs +242 -0
  14. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +58 -62
  15. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.mjs +18 -0
  16. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.mjs +14 -0
  17. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.mjs +48 -0
  18. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +18 -0
  19. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +64 -0
  20. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +75 -58
  21. package/esm2022/libs/api/metadata-converter/src/lib/xml-utils.mjs +76 -14
  22. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +4 -4
  23. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  24. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +8 -8
  25. package/fesm2022/geonetwork-ui.mjs +822 -245
  26. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  27. package/libs/api/metadata-converter/src/index.d.ts +4 -4
  28. package/libs/api/metadata-converter/src/index.d.ts.map +1 -1
  29. package/libs/api/metadata-converter/src/lib/{metadata-base.mapper.d.ts → base.converter.d.ts} +3 -3
  30. package/libs/api/metadata-converter/src/lib/base.converter.d.ts.map +1 -0
  31. package/libs/api/metadata-converter/src/lib/find-converter.d.ts +3 -0
  32. package/libs/api/metadata-converter/src/lib/find-converter.d.ts.map +1 -0
  33. package/libs/api/metadata-converter/src/lib/gn4/{gn4.metadata.mapper.d.ts → gn4.converter.d.ts} +5 -5
  34. package/libs/api/metadata-converter/src/lib/gn4/gn4.converter.d.ts.map +1 -0
  35. package/libs/api/metadata-converter/src/lib/gn4/index.d.ts +4 -0
  36. package/libs/api/metadata-converter/src/lib/gn4/index.d.ts.map +1 -0
  37. package/libs/api/metadata-converter/src/lib/iso19115-3/index.d.ts +2 -0
  38. package/libs/api/metadata-converter/src/lib/iso19115-3/index.d.ts.map +1 -0
  39. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts +9 -0
  40. package/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.d.ts.map +1 -0
  41. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts +20 -0
  42. package/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.d.ts.map +1 -0
  43. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts +21 -0
  44. package/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.d.ts.map +1 -0
  45. package/libs/api/metadata-converter/src/lib/iso19139/index.d.ts +2 -0
  46. package/libs/api/metadata-converter/src/lib/iso19139/index.d.ts.map +1 -0
  47. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts +11 -0
  48. package/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.d.ts.map +1 -0
  49. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +34 -6
  50. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  51. package/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.d.ts +8 -0
  52. package/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.d.ts.map +1 -0
  53. package/libs/api/metadata-converter/src/lib/iso19139/utils/keyword.mapper.d.ts.map +1 -0
  54. package/libs/api/metadata-converter/src/lib/iso19139/utils/role.mapper.d.ts.map +1 -0
  55. package/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.d.ts.map +1 -0
  56. package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -0
  57. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts +39 -3
  58. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  59. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts +14 -1
  60. package/libs/api/metadata-converter/src/lib/xml-utils.d.ts.map +1 -1
  61. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -2
  62. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  63. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -4
  64. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  65. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  66. package/package.json +1 -1
  67. package/src/libs/api/metadata-converter/src/index.ts +4 -4
  68. package/src/libs/api/metadata-converter/src/lib/{metadata-base.mapper.ts → base.converter.ts} +2 -2
  69. package/src/libs/api/metadata-converter/src/lib/find-converter.ts +16 -0
  70. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +32 -5
  71. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +11 -4
  72. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +33 -7
  73. package/src/libs/api/metadata-converter/src/lib/fixtures/metawal.records.ts +580 -0
  74. package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +2 -2
  75. package/src/libs/api/metadata-converter/src/lib/gn4/{gn4.metadata.mapper.ts → gn4.converter.ts} +2 -2
  76. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +2 -2
  77. package/src/libs/api/metadata-converter/src/lib/gn4/index.ts +3 -0
  78. package/src/libs/api/metadata-converter/src/lib/iso19115-3/index.ts +1 -0
  79. package/src/libs/api/metadata-converter/src/lib/iso19115-3/iso19115-3.converter.ts +176 -0
  80. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +329 -0
  81. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +513 -0
  82. package/src/libs/api/metadata-converter/src/lib/iso19139/index.ts +1 -0
  83. package/src/libs/api/metadata-converter/src/lib/iso19139/iso19139.converter.ts +327 -0
  84. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +121 -82
  85. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/individual-name.ts +20 -0
  86. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +175 -95
  87. package/src/libs/api/metadata-converter/src/lib/xml-utils.ts +84 -16
  88. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +2 -2
  89. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +9 -4
  90. package/src/libs/feature/editor/src/lib/services/editor.service.ts +27 -16
  91. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +0 -52
  92. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.mjs +0 -14
  93. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/role.mapper.mjs +0 -48
  94. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/status.mapper.mjs +0 -18
  95. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/codelists/update-frequency.mapper.mjs +0 -64
  96. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/converter.mjs +0 -130
  97. package/esm2022/libs/api/metadata-converter/src/lib/metadata-base.mapper.mjs +0 -14
  98. package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +0 -1
  99. package/libs/api/metadata-converter/src/lib/iso19139/codelists/keyword.mapper.d.ts.map +0 -1
  100. package/libs/api/metadata-converter/src/lib/iso19139/codelists/role.mapper.d.ts.map +0 -1
  101. package/libs/api/metadata-converter/src/lib/iso19139/codelists/status.mapper.d.ts.map +0 -1
  102. package/libs/api/metadata-converter/src/lib/iso19139/codelists/update-frequency.mapper.d.ts.map +0 -1
  103. package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts +0 -4
  104. package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +0 -1
  105. package/libs/api/metadata-converter/src/lib/metadata-base.mapper.d.ts.map +0 -1
  106. package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +0 -196
  107. /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/keyword.mapper.d.ts +0 -0
  108. /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/role.mapper.d.ts +0 -0
  109. /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/status.mapper.d.ts +0 -0
  110. /package/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/update-frequency.mapper.d.ts +0 -0
  111. /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/keyword.mapper.ts +0 -0
  112. /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/role.mapper.ts +0 -0
  113. /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/status.mapper.ts +0 -0
  114. /package/src/libs/api/metadata-converter/src/lib/iso19139/{codelists → utils}/update-frequency.mapper.ts +0 -0
@@ -1,196 +0,0 @@
1
- import {
2
- CatalogRecord,
3
- DatasetRecord,
4
- ServiceRecord,
5
- } from '../../../../../../libs/common/domain/src/lib/model/record'
6
- import {
7
- createDocument,
8
- createElement,
9
- getRootElement,
10
- parseXmlString,
11
- xmlToString,
12
- } from '../xml-utils'
13
- import {
14
- writeAbstract,
15
- writeContacts,
16
- writeDatasetCreated,
17
- writeDatasetUpdated,
18
- writeDistributions,
19
- writeGraphicOverviews,
20
- writeKeywords,
21
- writeKind,
22
- writeLegalConstraints,
23
- writeLicenses,
24
- writeLineage,
25
- writeOnlineResources,
26
- writeOtherConstraints,
27
- writeOwnerOrganization,
28
- writeRecordUpdated,
29
- writeSecurityConstraints,
30
- writeSpatialRepresentation,
31
- writeStatus,
32
- writeTopics,
33
- writeTitle,
34
- writeUniqueIdentifier,
35
- writeUpdateFrequency,
36
- } from './write-parts'
37
- import {
38
- readAbstract,
39
- readContacts,
40
- readDatasetCreated,
41
- readDatasetUpdated,
42
- readDistributions,
43
- readIsoTopics,
44
- readKeywords,
45
- readKind,
46
- readLegalConstraints,
47
- readLicenses,
48
- readLineage,
49
- readOnlineResources,
50
- readOtherConstraints,
51
- readOverviews,
52
- readOwnerOrganization,
53
- readRecordUpdated,
54
- readRecordPublished,
55
- readSecurityConstraints,
56
- readSpatialExtents,
57
- readSpatialRepresentation,
58
- readStatus,
59
- readTemporalExtents,
60
- readTitle,
61
- readUniqueIdentifier,
62
- readUpdateFrequency,
63
- } from './read-parts'
64
- import { isEqual } from '../convert-utils'
65
-
66
- export function toModel(xml: string): CatalogRecord {
67
- const doc = parseXmlString(xml)
68
- const rootEl = getRootElement(doc)
69
-
70
- const uniqueIdentifier = readUniqueIdentifier(rootEl)
71
- const kind = readKind(rootEl)
72
- const ownerOrganization = readOwnerOrganization(rootEl)
73
- const title = readTitle(rootEl)
74
- const abstract = readAbstract(rootEl)
75
- const contacts = readContacts(rootEl)
76
- const recordUpdated = readRecordUpdated(rootEl)
77
- const recordCreated = recordUpdated
78
- const recordPublished = readRecordPublished(rootEl)
79
- const keywords = readKeywords(rootEl)
80
- const topics = readIsoTopics(rootEl)
81
- const legalConstraints = readLegalConstraints(rootEl)
82
- const otherConstraints = readOtherConstraints(rootEl)
83
- const securityConstraints = readSecurityConstraints(rootEl)
84
- const licenses = readLicenses(rootEl)
85
- const overviews = readOverviews(rootEl)
86
-
87
- if (kind === 'dataset') {
88
- const status = readStatus(rootEl)
89
- const datasetCreated = readDatasetCreated(rootEl)
90
- const datasetUpdated = readDatasetUpdated(rootEl)
91
- const spatialRepresentation = readSpatialRepresentation(rootEl)
92
- const spatialExtents = readSpatialExtents(rootEl)
93
- const temporalExtents = readTemporalExtents(rootEl)
94
- const lineage = readLineage(rootEl)
95
- const distributions = readDistributions(rootEl)
96
- const updateFrequency = readUpdateFrequency(rootEl)
97
-
98
- return {
99
- uniqueIdentifier,
100
- kind,
101
- languages: [],
102
- recordCreated,
103
- recordUpdated,
104
- recordPublished,
105
- status,
106
- title,
107
- abstract,
108
- ownerOrganization,
109
- contacts,
110
- contactsForResource: [], // FIXME: is that really useful??
111
- keywords,
112
- topics,
113
- licenses,
114
- legalConstraints,
115
- securityConstraints,
116
- otherConstraints,
117
- ...(datasetCreated && { datasetCreated }),
118
- ...(datasetUpdated && { datasetUpdated }),
119
- lineage,
120
- ...(spatialRepresentation && { spatialRepresentation }),
121
- overviews,
122
- spatialExtents,
123
- temporalExtents,
124
- distributions,
125
- updateFrequency,
126
- } as DatasetRecord
127
- } else {
128
- const onlineResources = readOnlineResources(rootEl)
129
- return {
130
- uniqueIdentifier,
131
- kind,
132
- languages: [],
133
- recordCreated,
134
- recordUpdated,
135
- recordPublished,
136
- title,
137
- abstract,
138
- ownerOrganization,
139
- contacts,
140
- keywords,
141
- topics,
142
- licenses,
143
- legalConstraints,
144
- securityConstraints,
145
- otherConstraints,
146
- overviews,
147
- onlineResources,
148
- } as ServiceRecord
149
- }
150
- }
151
-
152
- export function toXml(record: CatalogRecord, originalXml?: string): string {
153
- const originalDoc = originalXml ? parseXmlString(originalXml) : null
154
- const originalRecord = originalXml ? toModel(originalXml) : null
155
- const rootEl = originalDoc
156
- ? getRootElement(originalDoc)
157
- : createElement('gmd:MD_Metadata')()
158
-
159
- function fieldChanged(name: string) {
160
- return originalRecord !== null
161
- ? !isEqual(record[name], originalRecord[name])
162
- : true
163
- }
164
-
165
- writeUniqueIdentifier(record, rootEl)
166
- writeKind(record, rootEl)
167
- fieldChanged('ownerOrganization') && writeOwnerOrganization(record, rootEl)
168
- fieldChanged('recordUpdated') && writeRecordUpdated(record, rootEl)
169
- writeTitle(record, rootEl)
170
- writeAbstract(record, rootEl)
171
- fieldChanged('contacts') && writeContacts(record, rootEl)
172
- fieldChanged('keywords') && writeKeywords(record, rootEl)
173
- fieldChanged('topics') && writeTopics(record, rootEl)
174
- fieldChanged('legalConstraints') && writeLegalConstraints(record, rootEl)
175
- fieldChanged('securityConstraints') &&
176
- writeSecurityConstraints(record, rootEl)
177
- fieldChanged('licenses') && writeLicenses(record, rootEl)
178
- fieldChanged('otherConstraints') && writeOtherConstraints(record, rootEl)
179
-
180
- if (record.kind === 'dataset') {
181
- writeStatus(record, rootEl)
182
- fieldChanged('updateFrequency') && writeUpdateFrequency(record, rootEl)
183
- fieldChanged('datasetCreated') && writeDatasetCreated(record, rootEl)
184
- fieldChanged('datasetUpdated') && writeDatasetUpdated(record, rootEl)
185
- fieldChanged('spatialRepresentation') &&
186
- writeSpatialRepresentation(record, rootEl)
187
- fieldChanged('overviews') && writeGraphicOverviews(record, rootEl)
188
- fieldChanged('distributions') && writeDistributions(record, rootEl)
189
- writeLineage(record, rootEl)
190
- } else {
191
- fieldChanged('onlineResources') && writeOnlineResources(record, rootEl)
192
- }
193
-
194
- const newDocument = createDocument(rootEl)
195
- return xmlToString(newDocument)
196
- }