Merge pull request #1667 from umap-project/fix-querystring-feature
fix: make sure to reset feature query string parameter
This commit is contained in:
commit
42129a3a45
3 changed files with 29 additions and 1 deletions
|
@ -226,6 +226,8 @@ U.IframeExporter = L.Evented.extend({
|
||||||
const datalayers = []
|
const datalayers = []
|
||||||
if (this.options.viewCurrentFeature && this.map.currentFeature) {
|
if (this.options.viewCurrentFeature && this.map.currentFeature) {
|
||||||
this.queryString.feature = this.map.currentFeature.getSlug()
|
this.queryString.feature = this.map.currentFeature.getSlug()
|
||||||
|
} else {
|
||||||
|
delete this.queryString.feature
|
||||||
}
|
}
|
||||||
if (this.options.keepCurrentDatalayers) {
|
if (this.options.keepCurrentDatalayers) {
|
||||||
this.map.eachDataLayer((datalayer) => {
|
this.map.eachDataLayer((datalayer) => {
|
||||||
|
|
|
@ -73,3 +73,11 @@ def test_map_preview_can_change_styling_from_querystring(page, live_server, tile
|
||||||
markers = page.locator(".leaflet-marker-icon .icon_container")
|
markers = page.locator(".leaflet-marker-icon .icon_container")
|
||||||
expect(markers).to_have_count(1)
|
expect(markers).to_have_count(1)
|
||||||
expect(markers).to_have_css("background-color", "rgb(139, 0, 0)")
|
expect(markers).to_have_css("background-color", "rgb(139, 0, 0)")
|
||||||
|
|
||||||
|
|
||||||
|
def test_can_open_feature_on_load(page, live_server, tilelayer):
|
||||||
|
page.goto(
|
||||||
|
f"{live_server.url}/map/?data={quote(json.dumps(GEOJSON))}&feature=Niagara Falls"
|
||||||
|
)
|
||||||
|
# Popup is open.
|
||||||
|
expect(page.get_by_text("Niagara Falls")).to_be_visible()
|
||||||
|
|
|
@ -6,7 +6,7 @@ from playwright.sync_api import expect
|
||||||
pytestmark = pytest.mark.django_db
|
pytestmark = pytest.mark.django_db
|
||||||
|
|
||||||
|
|
||||||
def test_iframe_code(map, live_server, datalayer, page):
|
def test_iframe_code_can_contain_datalayers(map, live_server, datalayer, page):
|
||||||
page.goto(f"{live_server.url}{map.get_absolute_url()}?share")
|
page.goto(f"{live_server.url}{map.get_absolute_url()}?share")
|
||||||
textarea = page.locator(".umap-share-iframe")
|
textarea = page.locator(".umap-share-iframe")
|
||||||
expect(textarea).to_be_visible()
|
expect(textarea).to_be_visible()
|
||||||
|
@ -20,3 +20,21 @@ def test_iframe_code(map, live_server, datalayer, page):
|
||||||
page.get_by_text("Embed and link options").click()
|
page.get_by_text("Embed and link options").click()
|
||||||
page.get_by_title("Keep current visible layers").click()
|
page.get_by_title("Keep current visible layers").click()
|
||||||
expect(textarea).to_have_text(re.compile(f"datalayers={datalayer.pk}"))
|
expect(textarea).to_have_text(re.compile(f"datalayers={datalayer.pk}"))
|
||||||
|
# Now click again
|
||||||
|
page.get_by_title("Keep current visible layers").click()
|
||||||
|
expect(textarea).not_to_have_text(re.compile(f"datalayers={datalayer.pk}"))
|
||||||
|
|
||||||
|
|
||||||
|
def test_iframe_code_can_contain_feature(map, live_server, datalayer, page):
|
||||||
|
page.goto(f"{live_server.url}{map.get_absolute_url()}?share")
|
||||||
|
page.locator(".icon_container").click()
|
||||||
|
textarea = page.locator(".umap-share-iframe")
|
||||||
|
expect(textarea).to_be_visible()
|
||||||
|
expect(textarea).not_to_have_text(re.compile("feature=Here"))
|
||||||
|
# Open options
|
||||||
|
page.get_by_text("Embed and link options").click()
|
||||||
|
page.get_by_title("Open current feature on load").click()
|
||||||
|
expect(textarea).to_have_text(re.compile("feature=Here"))
|
||||||
|
# Click again to deactivate it
|
||||||
|
page.get_by_title("Open current feature on load").click()
|
||||||
|
expect(textarea).not_to_have_text(re.compile("feature=Here"))
|
||||||
|
|
Loading…
Reference in a new issue