Here is the initial issue:
- when using defaultView=latest (means latest element of the default layer)
- when map loads, we find the element, call getCenter to center the map on it
- but Polygon/Polyline needs the element to be already on the map to call
this method (at least because the map CRS is needed)
So while trying to fix that issue, I also found that using a centroid for
a complex geometry was not very friendly: the map zoom on a part of this
geometry, while it seems to be that it's better to have a full view of it.
Now that we highlight the selected element, it's also easier to get which
element is focused when there are a lot close one to the others.
When DataLayer._dataloaded is set, DataLayer.addLayer will send 'datachanged'
event (for once for each feature). When the data browser panel is open, the
browser is listening to 'datachanged' to rebuild itself.
Not sure this is the real final fix, but that may need more refactoring, so
I think this approach is already a better situation than the current.
fix#1457
* search and share icons on the left get an `title` attribute
* all panels start with an `h3` headline including the corresponding icon
* thus add smaller versions of the 24px-icons to 16.svg or 16-white.svg
* unify strings for button and headline to match
The server tries to merge conflicting saves of
the same layer.
What it does:
- use the `If-Unmodified-Since` header to check
if changes happened to the stored data ;
- Compare the incoming version with its reference version
to get a diff.
- Reapply the diff on top of the latest version.
- If the merge is not possible, return a
"422 Conflict" HTTP response.
- If the merge worked, return the merged document,
to be updated by the client.
Adding a property when table is not in fullwidth is buguish, so
let's make it simple.
In the future, we'd replace this table editor with a dedicated lib.
cf #1363
There is an edge case when using "locate" a default view AND
activating easing for transitions: in this case, Leaflet.locate needs
a "starting view" to compute the easing to the new position (the
user location).
I could have only set the default_view when easing is on, but I
thought it was simpler to just set it anyway…