Merge pull request #2126 from umap-project/fix-delete-shape

fix: delete shape from edit toolbar
This commit is contained in:
Yohan Boniface 2024-09-11 15:26:18 +02:00 committed by GitHub
commit 43ca0ae157
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 33 additions and 1 deletions

View file

@ -231,7 +231,7 @@ U.DeleteShapeAction = U.BaseFeatureAction.extend({
}, },
onClick: function (e) { onClick: function (e) {
this.feature.enableEdit().deleteShapeAt(e.latlng) this.feature.ui.enableEdit().deleteShapeAt(e.latlng)
}, },
}) })

View file

@ -319,3 +319,35 @@ def test_can_transform_polyline_to_polygon(live_server, page, tilelayer, setting
data = save_and_get_json(page) data = save_and_get_json(page)
assert len(data["features"]) == 1 assert len(data["features"]) == 1
assert data["features"][0]["geometry"]["type"] == "Polygon" assert data["features"][0]["geometry"]["type"] == "Polygon"
def test_can_delete_shape_using_toolbar(live_server, page, tilelayer, settings):
settings.UMAP_ALLOW_ANONYMOUS = True
page.goto(f"{live_server.url}/en/map/new/")
page.get_by_title("Draw a polyline").click()
map = page.locator("#map")
map.click(position={"x": 200, "y": 100})
map.click(position={"x": 100, "y": 100})
map.click(position={"x": 100, "y": 200})
map.click(position={"x": 100, "y": 200})
# Now split the line
map.click(position={"x": 100, "y": 100})
page.get_by_role("link", name="Split line").click()
# Delete part of it
map.click(position={"x": 125, "y": 100})
page.get_by_role("link", name="Delete this shape").click()
data = save_and_get_json(page)
assert len(data["features"]) == 1
assert data["features"][0]["geometry"]["type"] == "LineString"
assert data["features"][0]["geometry"]["coordinates"] == [
[
-9.865723,
54.457267,
],
[
-9.865723,
53.159947,
],
]