fix: make sure datalayersControl=expanded does not override onLoadPanel

This value of datalayersControl exists for retrocompat only (it's now
replaced by onLoadPanel=browser)
This commit is contained in:
Yohan Boniface 2024-09-04 12:11:50 +02:00
parent 185cc65f68
commit 71ceb87fe2
4 changed files with 17 additions and 5 deletions

View file

@ -81,7 +81,7 @@ export const SCHEMA = {
impacts: ['ui'], impacts: ['ui'],
nullable: true, nullable: true,
handler: 'DataLayersControl', handler: 'DataLayersControl',
label: translate('Display the data layers control'), label: translate('Display the open browser control'),
default: true, default: true,
}, },
defaultView: { defaultView: {

View file

@ -144,8 +144,11 @@ U.Map = L.Map.extend({
delete this.options.displayDataBrowserOnLoad delete this.options.displayDataBrowserOnLoad
} }
if (this.options.datalayersControl === 'expanded') { if (this.options.datalayersControl === 'expanded') {
if (!this.options.onLoadPanel) {
this.options.onLoadPanel = 'datalayers' this.options.onLoadPanel = 'datalayers'
} }
delete this.options.datalayersControl
}
if (this.options.onLoadPanel === 'facet') { if (this.options.onLoadPanel === 'facet') {
this.options.onLoadPanel = 'datafilters' this.options.onLoadPanel = 'datafilters'
} }
@ -280,8 +283,10 @@ U.Map = L.Map.extend({
// Specific case for datalayersControl // Specific case for datalayersControl
// which accepts "expanded" value, on top of true/false/null // which accepts "expanded" value, on top of true/false/null
if (L.Util.queryString('datalayersControl') === 'expanded') { if (L.Util.queryString('datalayersControl') === 'expanded') {
if (!options.onLoadPanel) {
options.onLoadPanel = 'datalayers' options.onLoadPanel = 'datalayers'
} }
}
}, },
loadDataFromQueryString: async function () { loadDataFromQueryString: async function () {

View file

@ -114,7 +114,7 @@ def test_can_change_icon_class(live_server, openmap, page):
def test_can_change_name(live_server, openmap, page, datalayer): def test_can_change_name(live_server, openmap, page, datalayer):
page.goto( page.goto(
f"{live_server.url}{openmap.get_absolute_url()}?edit&datalayersControl=expanded" f"{live_server.url}{openmap.get_absolute_url()}?edit&onLoadPanel=databrowser"
) )
page.get_by_role("link", name="Manage layers").click() page.get_by_role("link", name="Manage layers").click()
page.locator(".panel.right").get_by_title("Edit", exact=True).click() page.locator(".panel.right").get_by_title("Edit", exact=True).click()
@ -133,7 +133,7 @@ def test_can_change_name(live_server, openmap, page, datalayer):
def test_can_create_new_datalayer(live_server, openmap, page, datalayer): def test_can_create_new_datalayer(live_server, openmap, page, datalayer):
page.goto( page.goto(
f"{live_server.url}{openmap.get_absolute_url()}?edit&datalayersControl=expanded" f"{live_server.url}{openmap.get_absolute_url()}?edit&onLoadPanel=databrowser"
) )
page.get_by_role("link", name="Manage layers").click() page.get_by_role("link", name="Manage layers").click()
page.get_by_role("button", name="Add a layer").click() page.get_by_role("button", name="Add a layer").click()

View file

@ -33,6 +33,13 @@ def test_datalayers_control(map, live_server, datalayer, page):
page.goto(f"{live_server.url}{map.get_absolute_url()}?datalayersControl=expanded") page.goto(f"{live_server.url}{map.get_absolute_url()}?datalayersControl=expanded")
expect(control).to_be_visible() expect(control).to_be_visible()
expect(browser).to_be_visible() expect(browser).to_be_visible()
# Should not override onLoadPanel
page.goto(
f"{live_server.url}{map.get_absolute_url()}?datalayersControl=expanded&onLoadPanel=caption"
)
expect(control).to_be_visible()
expect(browser).to_be_hidden()
expect(page.locator(".umap-caption")).to_be_visible()
def test_can_deactivate_wheel_from_query_string(map, live_server, page): def test_can_deactivate_wheel_from_query_string(map, live_server, page):