Skip to content

Commit 884746d

Browse files
authored
Fix draw support for folium >= 0.15 (#162)
* Fix draw support for folium >= 0.15 * Bump version
1 parent abb655e commit 884746d

File tree

5 files changed

+23
-4
lines changed

5 files changed

+23
-4
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
setuptools.setup(
44
name="streamlit_folium",
5-
version="0.17.2",
5+
version="0.17.3",
66
author="Randy Zwitch",
77
author_email="[email protected]",
88
description="Render Folium objects in Streamlit",

streamlit_folium/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ def _get_map_string(fig: folium.Map) -> str:
132132
# Get rid of the annoying popup
133133
leaflet = leaflet.replace("alert(coords);", "")
134134

135+
# Rename drawnItems
136+
leaflet = leaflet.replace("drawnItems_draw_control_div_1", "drawnItems")
137+
135138
leaflet = dedent(leaflet)
136139

137140
if "drawnItems" not in leaflet:

streamlit_folium/frontend/src/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Streamlit, RenderData } from "streamlit-component-lib"
1+
import { RenderData, Streamlit } from "streamlit-component-lib"
22
import { debounce } from "underscore"
33
import { circleToPolygon } from "./circle-to-polygon"
44

tests/test_frontend.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,22 @@ def test_draw(page: Page):
9191
'internal:attr=[title="streamlit_folium.st_folium"i]'
9292
).get_by_role("link", name="Draw a polygon").click()
9393

94+
# Should be no drawings
95+
expect(page.get_by_text('"all_drawings":NULL')).to_be_visible()
96+
97+
page.frame_locator('iframe[title="streamlit_folium\\.st_folium"]').get_by_role(
98+
"link", name="Draw a marker"
99+
).click()
100+
page.frame_locator('iframe[title="streamlit_folium\\.st_folium"]').locator(
101+
".leaflet-marker-icon"
102+
).first.click()
103+
page.frame_locator('iframe[title="streamlit_folium\\.st_folium"]').locator(
104+
"#map_div"
105+
).click()
106+
107+
# Should be one item in drawings after having placed a marker
108+
expect(page.get_by_text('"all_drawings":NULL')).to_be_hidden()
109+
94110

95111
def test_limit_data(page: Page):
96112
# Test limit data support

tests/test_package.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ def test_draw_support():
5050
map.render()
5151
leaflet = _get_map_string(map)
5252
assert "map_div.on(L.Draw.Event.CREATED, function(e) {" in leaflet
53-
assert "drawnItems_draw_control_div_1.addLayer(layer);" in leaflet
53+
assert "drawnItems.addLayer(layer);" in leaflet
5454

5555
assert (
5656
"""map_div.on('draw:created', function(e) {
57-
drawnItems_draw_control_div_1.addLayer(e.layer);
57+
drawnItems.addLayer(e.layer);
5858
});"""
5959
in leaflet
6060
)

0 commit comments

Comments
 (0)