Skip to content

Commit fb8f77a

Browse files
committed
Remove newly drawn geometry IDs from save data if empty
1 parent 138b1a3 commit fb8f77a

3 files changed

Lines changed: 8 additions & 7 deletions

File tree

src/server/sendDataToGeoserver.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -456,8 +456,10 @@ async function handleNewlyDrawnGeometries(object, tagGroups) {
456456
for (let fieldConfiguration of wfsConfiguration.geometry_fields) {
457457
for (let fieldValue of await getFieldValues(object[object._objecttype], fieldConfiguration.field_path.split('.'))) {
458458
const newlyDrawnGeometryIds = fieldValue.newly_drawn_geometry_ids;
459-
delete fieldValue.newly_drawn_geometry_ids;
460-
changed = true;
459+
if (newlyDrawnGeometryIds) {
460+
delete fieldValue.newly_drawn_geometry_ids;
461+
changed = true;
462+
}
461463
if (!newlyDrawnGeometryIds?.length) continue;
462464

463465
if (wfsTemporaryGeometryFieldName) {

src/webfrontend/js/customDataType/contentLoader.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ function renderEditorButtons(contentElement, cdata, settings, wfsData, selectedG
114114
buttons.push(createDeleteGeometryButton(contentElement, cdata, settings, selectedGeometryId));
115115
}
116116

117-
const buttonBarElement = new CUI.Buttonbar({ buttons: buttons });
117+
const buttonBarElement = new CUI.Buttonbar({ buttons });
118118

119119
CUI.dom.append(contentElement, buttonBarElement);
120120
}

src/webfrontend/js/customDataType/main.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,9 @@ CustomDataTypeNFISGeometry = (function(superClass) {
9494
Plugin.getSaveData = function(data, save_data, opts = {}) {
9595
const cdata = data[this.name()];
9696
if (this.__isValidData(cdata)) {
97-
save_data[this.name()] = {
98-
geometry_ids: cdata.geometry_ids,
99-
newly_drawn_geometry_ids: cdata.newly_drawn_geometry_ids
100-
};
97+
const saveData = { geometry_ids: cdata.geometry_ids };
98+
if (cdata.newly_drawn_geometry_ids?.length) saveData.newly_drawn_geometry_ids = cdata.newly_drawn_geometry_ids;
99+
save_data[this.name()] = saveData;
101100
} else {
102101
save_data[this.name()] = null;
103102
}

0 commit comments

Comments
 (0)