don't forget about created geometry when the editor form is invalid

This commit is contained in:
Laura Klünder 2018-12-11 01:47:42 +01:00
parent 4d837cfddd
commit f2248a6c74

View file

@ -1027,23 +1027,33 @@ editor = {
var sidebarcontent = $('#sidebar').find('.content'); var sidebarcontent = $('#sidebar').find('.content');
var geometry_field = sidebarcontent.find('input[name=geometry]'); var geometry_field = sidebarcontent.find('input[name=geometry]');
var options;
if (geometry_field.length) { if (geometry_field.length) {
var form = geometry_field.closest('form'); var form = geometry_field.closest('form');
if (editor._editing_layer !== null) { var options, mapitem_type = form.attr('data-new');
options = editor._editing_layer.options; var geometry_value = geometry_field.val();
editor._editing_layer.remove(); if (geometry_value) {
editor._editing_layer = L.geoJSON(JSON.parse(geometry_field.val()), { if (editor._editing_layer !== null) {
style: function() { return options; }, options = editor._editing_layer.options;
pointToLayer: editor._point_to_layer, editor._editing_layer.remove();
}).getLayers()[0].addTo(editor._geometries_layer); } else if (mapitem_type) {
editor._editing_layer.enableEdit(); // creating a new geometry, already drawn but form was rejected
if (editor._editing_layer.editor._resizeLatLng !== undefined) { options = editor._get_mapitem_type_style(mapitem_type);
editor._editing_layer.editor._resizeLatLng.__vertex._icon.style.display = 'none'; if (mapitem_type === 'area') {
options.fillOpacity = 0.5;
}
}
if (options) {
editor._editing_layer = L.geoJSON(JSON.parse(geometry_field.val()), {
style: function() { return options; },
pointToLayer: editor._point_to_layer,
}).getLayers()[0].addTo(editor._geometries_layer);
editor._editing_layer.enableEdit();
if (editor._editing_layer.editor._resizeLatLng !== undefined) {
editor._editing_layer.editor._resizeLatLng.__vertex._icon.style.display = 'none';
}
} }
} else if (form.is('[data-new]')) { } else if (form.is('[data-new]')) {
// create new geometry // create new geometry
var mapitem_type = form.attr('data-new');
options = editor._get_mapitem_type_style(mapitem_type); options = editor._get_mapitem_type_style(mapitem_type);
if (mapitem_type === 'area') { if (mapitem_type === 'area') {
options.fillOpacity = 0.5; options.fillOpacity = 0.5;