Merge pull request #1809 from umap-project/browser-labels

chore: better browser labels
This commit is contained in:
Yohan Boniface 2024-06-14 18:25:35 +02:00 committed by GitHub
commit 1ab987d519
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 36 additions and 35 deletions

View file

@ -150,7 +150,7 @@ export default class Browser {
// https://github.com/Leaflet/Leaflet/pull/9052 // https://github.com/Leaflet/Leaflet/pull/9052
DomEvent.disableClickPropagation(container) DomEvent.disableClickPropagation(container)
DomUtil.createTitle(container, translate('Browse data'), 'icon-layers') DomUtil.createTitle(container, translate('Data browser'), 'icon-layers')
const formContainer = DomUtil.createFieldset(container, L._('Filters'), { const formContainer = DomUtil.createFieldset(container, L._('Filters'), {
on: this.mode === 'filters', on: this.mode === 'filters',
className: 'filters', className: 'filters',

View file

@ -295,9 +295,9 @@ export const SCHEMA = {
choices: [ choices: [
['none', translate('None')], ['none', translate('None')],
['caption', translate('Caption')], ['caption', translate('Caption')],
['databrowser', translate('Browser in data mode')], ['databrowser', translate('Browser: data')],
['datalayers', translate('Browser in layers mode')], ['datalayers', translate('Browser: layers')],
['datafilters', translate('Browser in filters mode')], ['datafilters', translate('Browser: filters')],
], ],
default: 'none', default: 'none',
}, },

View file

@ -510,7 +510,7 @@ U.DataLayersControl = L.Control.Button.extend({
options: { options: {
position: 'topleft', position: 'topleft',
className: 'umap-control-browse', className: 'umap-control-browse',
title: L._('See layers'), title: L._('Open browser'),
}, },
afterAdd: function (container) { afterAdd: function (container) {
@ -992,7 +992,7 @@ U.AttributionControl = L.Control.Attribution.extend({
}) })
} }
if (captionMenus) { if (captionMenus) {
const link = L.DomUtil.add('a', '', container, `${L._('About')}`) const link = L.DomUtil.add('a', '', container, `${L._('Open caption')}`)
L.DomEvent.on(link, 'click', L.DomEvent.stop) L.DomEvent.on(link, 'click', L.DomEvent.stop)
.on(link, 'click', this._map.openCaption, this._map) .on(link, 'click', this._map.openCaption, this._map)
.on(link, 'dblclick', L.DomEvent.stop) .on(link, 'dblclick', L.DomEvent.stop)

View file

@ -1611,7 +1611,7 @@ U.Map = L.Map.extend({
L.DomUtil.createButton( L.DomUtil.createButton(
'umap-about-link flat', 'umap-about-link flat',
container, container,
L._('About'), L._('Open caption'),
this.openCaption, this.openCaption,
this this
) )
@ -1762,7 +1762,7 @@ U.Map = L.Map.extend({
items.push( items.push(
'-', '-',
{ {
text: L._('See layers'), text: L._('Open browser'),
callback: () => this.openBrowser('layers'), callback: () => this.openBrowser('layers'),
}, },
{ {
@ -1778,7 +1778,7 @@ U.Map = L.Map.extend({
} }
items.push( items.push(
{ {
text: L._('About'), text: L._('Open caption'),
callback: this.openCaption, callback: this.openCaption,
}, },
{ {

View file

@ -178,7 +178,7 @@ def test_data_browser_bbox_filter_should_be_persistent(
expect(browser.get_by_text("one point in france")).to_be_hidden() expect(browser.get_by_text("one point in france")).to_be_hidden()
expect(browser.get_by_text("one line in new zeland")).to_be_hidden() expect(browser.get_by_text("one line in new zeland")).to_be_hidden()
expect(browser.get_by_text("one polygon in greenland")).to_be_hidden() expect(browser.get_by_text("one polygon in greenland")).to_be_hidden()
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
expect(browser.get_by_text("one point in france")).to_be_visible() expect(browser.get_by_text("one point in france")).to_be_visible()
expect(browser.get_by_text("one line in new zeland")).to_be_hidden() expect(browser.get_by_text("one line in new zeland")).to_be_hidden()
expect(browser.get_by_text("one polygon in greenland")).to_be_hidden() expect(browser.get_by_text("one polygon in greenland")).to_be_hidden()

View file

@ -27,7 +27,7 @@ def test_honour_displayOnLoad_false(map, live_server, datalayer, page):
layers_off = page.locator(".umap-browser .datalayer.off") layers_off = page.locator(".umap-browser .datalayer.off")
expect(layers).to_have_count(1) expect(layers).to_have_count(1)
expect(layers_off).to_have_count(1) expect(layers_off).to_have_count(1)
page.get_by_role("button", name="See layers").click() page.get_by_role("button", name="Open browser").click()
page.get_by_label("Zoom in").click() page.get_by_label("Zoom in").click()
expect(markers).to_be_hidden() expect(markers).to_be_hidden()
page.get_by_title("Show/hide layer").click() page.get_by_title("Show/hide layer").click()

View file

@ -54,7 +54,7 @@ def test_cancel_deleting_datalayer_should_restore(
live_server, openmap, datalayer, page live_server, openmap, datalayer, page
): ):
page.goto(f"{live_server.url}{openmap.get_absolute_url()}?edit") page.goto(f"{live_server.url}{openmap.get_absolute_url()}?edit")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
expect(layers).to_have_count(1) expect(layers).to_have_count(1)
@ -63,7 +63,7 @@ def test_cancel_deleting_datalayer_should_restore(
page.once("dialog", lambda dialog: dialog.accept()) page.once("dialog", lambda dialog: dialog.accept())
page.locator(".panel.right").get_by_title("Delete layer").click() page.locator(".panel.right").get_by_title("Delete layer").click()
expect(markers).to_have_count(0) expect(markers).to_have_count(0)
page.get_by_role("button", name="See layers").click() page.get_by_role("button", name="Open browser").click()
expect(page.get_by_text("test datalayer")).to_be_hidden() expect(page.get_by_text("test datalayer")).to_be_hidden()
page.once("dialog", lambda dialog: dialog.accept()) page.once("dialog", lambda dialog: dialog.accept())
page.get_by_role("button", name="Cancel edits").click() page.get_by_role("button", name="Cancel edits").click()
@ -73,7 +73,7 @@ def test_cancel_deleting_datalayer_should_restore(
def test_can_clone_datalayer(live_server, openmap, login, datalayer, page): def test_can_clone_datalayer(live_server, openmap, login, datalayer, page):
page.goto(f"{live_server.url}{openmap.get_absolute_url()}?edit") page.goto(f"{live_server.url}{openmap.get_absolute_url()}?edit")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
expect(layers).to_have_count(1) expect(layers).to_have_count(1)
@ -191,7 +191,7 @@ def test_deleting_datalayer_should_remove_from_browser_and_layers_list(
page.goto(f"{live_server.url}{openmap.get_absolute_url()}?edit") page.goto(f"{live_server.url}{openmap.get_absolute_url()}?edit")
panel = page.locator(".panel.left") panel = page.locator(".panel.left")
edit_panel = page.locator(".panel.right") edit_panel = page.locator(".panel.right")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
page.get_by_role("link", name="Manage layers").click() page.get_by_role("link", name="Manage layers").click()
expect(panel.get_by_text("test datalayer")).to_be_visible() expect(panel.get_by_text("test datalayer")).to_be_visible()
expect(edit_panel.get_by_text("test datalayer")).to_be_visible() expect(edit_panel.get_by_text("test datalayer")).to_be_visible()

View file

@ -170,7 +170,7 @@ def test_sortkey_impacts_datalayerindex(map, live_server, page):
page.goto(f"{live_server.url}{map.get_absolute_url()}") page.goto(f"{live_server.url}{map.get_absolute_url()}")
# By default, features are sorted by name (Third, Second, First) # By default, features are sorted by name (Third, Second, First)
page.get_by_role("button", name="See layers").click() page.get_by_role("button", name="Open browser").click()
page.get_by_role("heading", name="Show/hide layer").locator("i").click() page.get_by_role("heading", name="Show/hide layer").locator("i").click()
first_listed_feature = page.locator(".umap-browser .datalayer ul > li").nth(0) first_listed_feature = page.locator(".umap-browser .datalayer ul > li").nth(0)

View file

@ -267,7 +267,7 @@ def test_facets_search_are_persistent_when_closing_panel(live_server, page, map)
expect(panel.locator("summary")).to_have_attribute("data-badge", " ") expect(panel.locator("summary")).to_have_attribute("data-badge", " ")
expect(page.locator(".umap-control-browse")).to_have_attribute("data-badge", " ") expect(page.locator(".umap-control-browse")).to_have_attribute("data-badge", " ")
panel.get_by_role("button", name="Close").click() panel.get_by_role("button", name="Close").click()
page.get_by_role("button", name="See layers").click() page.get_by_role("button", name="Open browser").click()
expect(panel.get_by_label("Min")).to_have_value("13") expect(panel.get_by_label("Min")).to_have_value("13")
expect(panel.get_by_label("Min")).to_have_attribute("data-modified", "true") expect(panel.get_by_label("Min")).to_have_attribute("data-modified", "true")
expect(panel.get_by_label("odd")).to_be_checked() expect(panel.get_by_label("odd")).to_be_checked()

View file

@ -55,7 +55,7 @@ def test_umap_import_from_file(live_server, tilelayer, page):
expect(page.locator(".umap-main-edit-toolbox .map-name")).to_have_text( expect(page.locator(".umap-main-edit-toolbox .map-name")).to_have_text(
"Carte sans nom" "Carte sans nom"
) )
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
expect(layers).to_have_count(2) expect(layers).to_have_count(2)
nonloaded = page.locator(".umap-browser .datalayer.off") nonloaded = page.locator(".umap-browser .datalayer.off")
@ -65,7 +65,7 @@ def test_umap_import_from_file(live_server, tilelayer, page):
def test_umap_import_from_textarea(live_server, tilelayer, page, settings): def test_umap_import_from_textarea(live_server, tilelayer, page, settings):
settings.UMAP_ALLOW_ANONYMOUS = True settings.UMAP_ALLOW_ANONYMOUS = True
page.goto(f"{live_server.url}/map/new/") page.goto(f"{live_server.url}/map/new/")
page.get_by_role("button", name="See layers").click() page.get_by_role("button", name="Open browser").click()
page.get_by_title("Import data").click() page.get_by_title("Import data").click()
textarea = page.locator(".umap-upload textarea") textarea = page.locator(".umap-upload textarea")
path = Path(__file__).parent.parent / "fixtures/test_upload_data.umap" path = Path(__file__).parent.parent / "fixtures/test_upload_data.umap"
@ -92,7 +92,7 @@ def test_umap_import_from_textarea(live_server, tilelayer, page, settings):
def test_import_geojson_from_textarea(tilelayer, live_server, page): def test_import_geojson_from_textarea(tilelayer, live_server, page):
page.goto(f"{live_server.url}/map/new/") page.goto(f"{live_server.url}/map/new/")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
paths = page.locator("path") paths = page.locator("path")
@ -117,7 +117,7 @@ def test_import_geojson_from_textarea(tilelayer, live_server, page):
def test_import_kml_from_textarea(tilelayer, live_server, page): def test_import_kml_from_textarea(tilelayer, live_server, page):
page.goto(f"{live_server.url}/map/new/") page.goto(f"{live_server.url}/map/new/")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
paths = page.locator("path") paths = page.locator("path")
@ -142,7 +142,7 @@ def test_import_kml_from_textarea(tilelayer, live_server, page):
def test_import_gpx_from_textarea(tilelayer, live_server, page): def test_import_gpx_from_textarea(tilelayer, live_server, page):
page.goto(f"{live_server.url}/map/new/") page.goto(f"{live_server.url}/map/new/")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
paths = page.locator("path") paths = page.locator("path")
@ -167,7 +167,7 @@ def test_import_gpx_from_textarea(tilelayer, live_server, page):
def test_import_osm_from_textarea(tilelayer, live_server, page): def test_import_osm_from_textarea(tilelayer, live_server, page):
page.goto(f"{live_server.url}/map/new/") page.goto(f"{live_server.url}/map/new/")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
expect(markers).to_have_count(0) expect(markers).to_have_count(0)
@ -187,7 +187,7 @@ def test_import_osm_from_textarea(tilelayer, live_server, page):
def test_import_csv_from_textarea(tilelayer, live_server, page): def test_import_csv_from_textarea(tilelayer, live_server, page):
page.goto(f"{live_server.url}/map/new/") page.goto(f"{live_server.url}/map/new/")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
expect(markers).to_have_count(0) expect(markers).to_have_count(0)
@ -207,7 +207,7 @@ def test_import_csv_from_textarea(tilelayer, live_server, page):
def test_can_import_in_existing_datalayer(live_server, datalayer, page, openmap): def test_can_import_in_existing_datalayer(live_server, datalayer, page, openmap):
page.goto(f"{live_server.url}{openmap.get_absolute_url()}") page.goto(f"{live_server.url}{openmap.get_absolute_url()}")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
expect(markers).to_have_count(1) expect(markers).to_have_count(1)
@ -226,7 +226,7 @@ def test_can_import_in_existing_datalayer(live_server, datalayer, page, openmap)
def test_can_replace_datalayer_data(live_server, datalayer, page, openmap): def test_can_replace_datalayer_data(live_server, datalayer, page, openmap):
page.goto(f"{live_server.url}{openmap.get_absolute_url()}") page.goto(f"{live_server.url}{openmap.get_absolute_url()}")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
expect(markers).to_have_count(1) expect(markers).to_have_count(1)
@ -246,7 +246,7 @@ def test_can_replace_datalayer_data(live_server, datalayer, page, openmap):
def test_can_import_in_new_datalayer(live_server, datalayer, page, openmap): def test_can_import_in_new_datalayer(live_server, datalayer, page, openmap):
page.goto(f"{live_server.url}{openmap.get_absolute_url()}") page.goto(f"{live_server.url}{openmap.get_absolute_url()}")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
expect(markers).to_have_count(1) expect(markers).to_have_count(1)
@ -350,7 +350,7 @@ def test_import_geometry_collection(live_server, page, tilelayer):
], ],
} }
page.goto(f"{live_server.url}/map/new/") page.goto(f"{live_server.url}/map/new/")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
paths = page.locator("path") paths = page.locator("path")
@ -386,7 +386,7 @@ def test_import_multipolygon(live_server, page, tilelayer):
}, },
} }
page.goto(f"{live_server.url}/map/new/") page.goto(f"{live_server.url}/map/new/")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
paths = page.locator("path") paths = page.locator("path")
expect(paths).to_have_count(0) expect(paths).to_have_count(0)
@ -418,7 +418,7 @@ def test_import_multipolyline(live_server, page, tilelayer):
], ],
} }
page.goto(f"{live_server.url}/map/new/") page.goto(f"{live_server.url}/map/new/")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
paths = page.locator("path") paths = page.locator("path")
expect(paths).to_have_count(0) expect(paths).to_have_count(0)
@ -437,7 +437,7 @@ def test_import_multipolyline(live_server, page, tilelayer):
def test_import_csv_without_valid_latlon_headers(tilelayer, live_server, page): def test_import_csv_without_valid_latlon_headers(tilelayer, live_server, page):
page.goto(f"{live_server.url}/map/new/") page.goto(f"{live_server.url}/map/new/")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
page.get_by_title("Import data").click() page.get_by_title("Import data").click()

View file

@ -169,7 +169,7 @@ def test_remote_layer_should_not_be_used_as_datalayer_for_created_features(
} }
datalayer.save() datalayer.save()
page.goto(f"{live_server.url}{openmap.get_absolute_url()}?edit") page.goto(f"{live_server.url}{openmap.get_absolute_url()}?edit")
toggle = page.get_by_role("button", name="See layers") toggle = page.get_by_role("button", name="Open browser")
expect(toggle).to_be_visible() expect(toggle).to_be_visible()
toggle.click() toggle.click()
layers = page.locator(".umap-browser .datalayer h5") layers = page.locator(".umap-browser .datalayer h5")
@ -184,7 +184,7 @@ def test_remote_layer_should_not_be_used_as_datalayer_for_created_features(
expect(marker).to_have_count(1) expect(marker).to_have_count(1)
# A new datalayer has been created to host this created feature # A new datalayer has been created to host this created feature
# given the remote one cannot accept new features # given the remote one cannot accept new features
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
expect(layers).to_have_count(2) expect(layers).to_have_count(2)

View file

@ -236,7 +236,7 @@ def test_can_change_owner(map, live_server, login, user):
def test_can_delete_datalayer(live_server, map, login, datalayer): def test_can_delete_datalayer(live_server, map, login, datalayer):
page = login(map.owner) page = login(map.owner)
page.goto(f"{live_server.url}{map.get_absolute_url()}?edit") page.goto(f"{live_server.url}{map.get_absolute_url()}?edit")
page.get_by_title("See layers").click() page.get_by_title("Open browser").click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
expect(layers).to_have_count(1) expect(layers).to_have_count(1)

View file

@ -40,7 +40,8 @@ def test_javascript_have_been_loaded(
expect(page).to_have_url(re.compile(r".*#7/48\..+/13\..+")) expect(page).to_have_url(re.compile(r".*#7/48\..+/13\..+"))
expect(page).to_have_url(re.compile(r".*/fr/")) expect(page).to_have_url(re.compile(r".*/fr/"))
# Should be in French, so hashed locale file has been loaded correctly # Should be in French, so hashed locale file has been loaded correctly
button = page.get_by_role("button", name="Voir les calques") # FIXME when labels are chosen and translations pulled from transifex
button = page.get_by_role("button", name="Open browser")
expect(button).to_be_visible() expect(button).to_be_visible()
button.click() button.click()
layers = page.locator(".umap-browser .datalayer") layers = page.locator(".umap-browser .datalayer")