Merge pull request #1422 from umap-project/slideshow-buttons

Restore missing buttons in caption bar
This commit is contained in:
Yohan Boniface 2023-11-23 21:22:09 +01:00 committed by GitHub
commit 1b87df7a7f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 84 additions and 4 deletions

View file

@ -202,6 +202,8 @@ button.flat,
padding: 0; padding: 0;
text-align: left; text-align: left;
min-height: inherit; min-height: inherit;
width: initial;
display: initial;
text-decoration: underline; text-decoration: underline;
} }
.help-text, .helptext { .help-text, .helptext {

View file

@ -1744,16 +1744,16 @@ L.U.Map.include({
this.permissions.addOwnerLink('span', container) this.permissions.addOwnerLink('span', container)
if (this.options.captionMenus) { if (this.options.captionMenus) {
L.DomUtil.createButton( L.DomUtil.createButton(
'umap-about-link', 'umap-about-link flat',
container, container,
`${L._('About')}`, L._('About'),
this.displayCaption, this.displayCaption,
this this
) )
L.DomUtil.createButton( L.DomUtil.createButton(
'umap-open-browser-link', 'umap-open-browser-link flat',
container, container,
` | ${L._('Browse data')}`, L._('Browse data'),
this.openBrowser, this.openBrowser,
this this
) )

View file

@ -600,6 +600,13 @@ ul.photon-autocomplete {
.umap-main-edit-toolbox h3 { .umap-main-edit-toolbox h3 {
display: inline; display: inline;
} }
.umap-caption-bar button {
margin-left: 10px;
}
.umap-caption-bar button + button:before {
content: '|';
padding-right: 10px;
}
.umap-main-edit-toolbox .umap-user { .umap-main-edit-toolbox .umap-user {
color: #fff; color: #fff;
} }

View file

@ -124,6 +124,7 @@ class DataLayerFactory(factory.django.DjangoModelFactory):
**DataLayerFactory.settings._defaults, **DataLayerFactory.settings._defaults,
**kwargs["settings"], **kwargs["settings"],
} }
data.setdefault("_umap_options", {})
data["_umap_options"]["name"] = kwargs["name"] data["_umap_options"]["name"] = kwargs["name"]
kwargs["geojson"] = ContentFile(json.dumps(data), "foo.json") kwargs["geojson"] = ContentFile(json.dumps(data), "foo.json")
return kwargs return kwargs

View file

@ -0,0 +1,70 @@
from pathlib import Path
import pytest
from playwright.sync_api import expect
from django.core.files.base import ContentFile
from umap.models import Map, Pictogram
from ..base import DataLayerFactory
pytestmark = pytest.mark.django_db
DATALAYER_DATA = {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [13.6, 48.5],
},
"properties": {"name": "1st Point"},
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [13.7, 48.4],
},
"properties": {"name": "2d Point"},
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [13.5, 48.6],
},
"properties": {"name": "3d Point"},
},
],
}
def test_can_use_slideshow_manually(map, live_server, page):
map.settings["properties"]["slideshow"] = {"active": True, "delay": 5000}
map.save()
DataLayerFactory(map=map, data=DATALAYER_DATA)
page.goto(f"{live_server.url}{map.get_absolute_url()}")
first_point = page.get_by_text("1st Point")
second_point = page.get_by_text("2d Point")
third_point = page.get_by_text("3d Point")
expect(first_point).to_be_hidden()
expect(second_point).to_be_hidden()
expect(third_point).to_be_hidden()
next_ = page.get_by_title("Zoom to the next")
expect(next_).to_be_visible()
next_.click()
expect(first_point).to_be_visible()
next_.click()
expect(first_point).to_be_hidden()
expect(second_point).to_be_visible()
next_.click()
expect(first_point).to_be_hidden()
expect(second_point).to_be_hidden()
expect(third_point).to_be_visible()
next_.click()
expect(first_point).to_be_visible()
expect(second_point).to_be_hidden()
expect(third_point).to_be_hidden()