Skip to content

Commit 5b07d9c

Browse files
committed
Combine values in change map if the same WFS field name is used in multiple field configuration entries
1 parent 7448ca3 commit 5b07d9c

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

src/server/sendDataToGeoserver.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,15 +307,23 @@ function addToChangeMap(wfsFieldName, fieldValue, changeMap) {
307307
if (!fieldValue) return;
308308

309309
if (typeof fieldValue === 'string') {
310-
changeMap[wfsFieldName] = escapeSpecialCharacters(fieldValue);
310+
setOrAdd(wfsFieldName, escapeSpecialCharacters(fieldValue), changeMap);
311311
} else if (typeof fieldValue === 'number') {
312-
changeMap[wfsFieldName] = fieldValue;
312+
setOrAdd(wfsFieldName, fieldValue, changeMap);
313313
} else if (isDanteConcept(fieldValue)) {
314314
changeMap[wfsFieldName + '_uri'] = escapeSpecialCharacters(fieldValue.conceptURI);
315315
changeMap[wfsFieldName + '_text'] = escapeSpecialCharacters(fieldValue.conceptName);
316316
}
317317
}
318318

319+
function setOrAdd(wfsFieldName, value, changeMap) {
320+
if (changeMap[wfsFieldName] !== undefined) {
321+
changeMap[wfsFieldName] = changeMap[wfsFieldName] + ' ' + value;
322+
} else {
323+
changeMap[wfsFieldName] = value;
324+
}
325+
}
326+
319327
function escapeSpecialCharacters(fieldValue) {
320328
return fieldValue.replaceAll('&', '&')
321329
.replaceAll('"', '"')

0 commit comments

Comments
 (0)