Commit graph

994 commits

Author SHA1 Message Date
Yohan Boniface
2986e8cec9
Merge pull request #1288 from umap-project/clean-onbeforeunload
Remove custom message from onbeforeunload event
2023-08-29 17:52:11 +02:00
Yohan Boniface
51c1990681 Explicitly set DataLayer._dataloaded status, instead of guessing it
fix #438
2023-08-29 17:49:19 +02:00
Yohan Boniface
02eb69a280 Add a button to load remote data from configuration form
cf #438
2023-08-29 16:56:04 +02:00
Yohan Boniface
ed7181ba24 Remove custom message from onbeforeunload event
It's not supported anymore by browsers.
2023-08-29 16:36:04 +02:00
Yohan Boniface
38bed0a6cf Move "My Dashboard" and "Help" to the right of the edit toolbar 2023-08-29 13:57:00 +02:00
Yohan Boniface
fc42eb2573 Add a small asterisk near map title when it's dirty 2023-08-29 11:22:23 +02:00
Yohan Boniface
949f245c00 1.7.1 2023-08-28 18:00:58 +02:00
Yohan Boniface
bcdac413be ajax proxy: quote URL before passing it to Nginx 2023-08-28 18:00:40 +02:00
Yohan Boniface
8c9ee91b42 Add test for ajax-proxy internal redirect 2023-08-28 16:49:32 +02:00
Yohan Boniface
a4b0961163 1.7.0 2023-08-28 16:42:24 +02:00
Yohan Boniface
dbba8d2744
Merge pull request #1280 from umap-project/ajax-proxy-redirect
Use X-Accel-Redirect for serving ajax-proxy request
2023-08-28 16:37:19 +02:00
Yohan Boniface
6f3803cce3 1.6.1 2023-08-25 10:19:45 +02:00
Yohan Boniface
174e6ddc6b i18n 2023-08-25 10:18:22 +02:00
Yohan Boniface
1b769bf07c Change "My Maps" to "My Dashboard" in navigation 2023-08-25 10:11:04 +02:00
Yohan Boniface
77a13eb0f0
Merge pull request #1284 from umap-project/fix-minimap-changing-center-3
Remove default center to prevent multiple map initialisations
2023-08-25 10:07:23 +02:00
Yohan Boniface
bdbde7cfd2 Ensure default view when map as no data at load 2023-08-25 09:59:02 +02:00
Yohan Boniface
e636ced4c6 Set default center in case of location error at load 2023-08-24 21:24:02 +02:00
Yohan Boniface
9c16bbfe51 Remove default center to prevent multiple map initialisations
We want to init the map view once, in our initCenter method,
so we remove any center from the option, to prevent Leaflet
to init the map on this centers

fix #1277
2023-08-24 20:48:24 +02:00
Yohan Boniface
f12e87e727 Fix datalayers being shown on zoom even if displayOnLoad is false
fix #1276
2023-08-24 19:57:47 +02:00
Yohan Boniface
c4bdb04795 Use X-Accel-Redirect for serving ajax-proxy request
uMap allows to use remote URL as data sources, but those URLs
are not always CORS open, so this is why there is this "ajax-proxy"
feature, where the URL is passed to the backend.

Additionally, there is a caching feature, which duration is configurable
through frontend settings. Valid values are: disabled, 5 min, 1 hour,
1 day.

Initially, I wanted this to be totally handled by Nginx, but I never
found a wayt to set the proxy_cache_valid value from a query string.

Since then, at least in OSM France servers, the ajax-proxy is still
handled by a Django view, which then opens the remote URL and transfert
the data. This is not optimal. And I suppose this is what is causing
hicups on the OSM France servers lately.

This PR provides a mix option, where python deals with validating the
URL and parsing the TTL parameter, and then it passes the hand to
nginx which will serve the remote content.

So, roughtly:

- the client calls /ajax-proxy/?url=xxx&ttl=300
- python will validate the URL (not internal calls…)
- if UMAP_SENDFILE_HEADER is set, then the python returns an empty
  response with the path /proxy/http://url plus it will set the
  cache ttl through the header X-Accel-Expires
- this /proxy/ location is then handled by nginx
2023-08-24 13:41:34 +02:00
Brice Maron
cd29486b84 fix: correct changelog link 2023-08-23 08:31:15 +02:00
David Larlet
29a96e5fdc
Fix tests with the latest version of mocha 2023-08-22 12:29:13 -04:00
Yohan Boniface
994a73ef2d 1.6.0 2023-08-22 15:33:50 +02:00
Yohan Boniface
debe128bd7 i18n 2023-08-22 15:33:27 +02:00
Yohan Boniface
1e1d271064 Only call propagateShow at init if layer is visible
fix #1263

We were calling popagateShow at datalayer init, which then
add a listener to "loaded" event, and then do the propagate.
So when the layer is hidden at load, when dragging it in the
datalayers list, it will be loaded (because we need to save it
with its new position) and it will appears as shown whatever
its real status.
2023-08-22 10:20:46 +02:00
Yohan Boniface
08f1e3f61b i18n 2023-08-21 17:26:48 +02:00
Yohan Boniface
a997b5454b
Merge pull request #1268 from umap-project/search-bounds
When map has max bounds, use those bounds for limiting search
2023-08-21 17:20:30 +02:00
Yohan Boniface
8095c5721d
Merge pull request #1266 from umap-project/zoom-from-to-at-load
Store DataLayer's settings in DB
2023-08-21 17:18:48 +02:00
Yohan Boniface
085721e3de
Merge pull request #1270 from umap-project/protect-username
Protect back username field from being modified by social auth login
2023-08-21 17:18:09 +02:00
Yohan Boniface
90a272aabc
Merge pull request #1271 from umap-project/add-provider
Allow to add more than one OAuth provider
2023-08-21 17:17:45 +02:00
Yohan Boniface
a89e6622ed User profile page: only display providers if there are some
Someone uses uMap with classic auth username/password, and they
don't want those empty HTML elements
2023-08-21 17:16:34 +02:00
Yohan Boniface
7814702721 Lite styling of user profile form 2023-08-21 17:10:12 +02:00
Yohan Boniface
25b3a66351 Allow to add more than one OAuth provider 2023-08-21 17:08:57 +02:00
Yohan Boniface
15e9cf0b5f Protect back username field from being modified by social auth login 2023-08-21 17:05:01 +02:00
Yohan Boniface
2b471be171 Very lite "My Profile" page to allow changing username 2023-08-21 15:09:30 +02:00
Yohan Boniface
311809520c When map has max bounds, use those bounds for limiting search
fix #1264
2023-08-21 10:06:54 +02:00
Yohan Boniface
fb6b0f4d9b Tests: fix CSS selector 2023-08-21 08:27:47 +02:00
Yohan Boniface
9bbc901150 Make sure tilelayers exist before trying to create miniMap 2023-08-20 18:44:25 +02:00
Yohan Boniface
fa090b89df Store DataLayer's settings in DB
This allows to known the full datalayer behaviour without needing
to load all the data, including the zoom from and to (new settings),
but also the color for example.

This will help also understanding datalayers usage and making
stats.

But no data migration is provided, it's retrocompatible (data
migration in OSM FR servers would be huge, so let's see if it's
really needed).
2023-08-20 09:48:01 +02:00
Yohan Boniface
b5d0b50183 Catch timeout error in ajax proxy 2023-08-17 17:43:25 +02:00
Yohan Boniface
bb922d1418 Call DataLayer.show instead of manually adding layer to the map 2023-08-17 08:14:53 +02:00
Yohan Boniface
7452681b31 Rename forgotten DataLayer.openFilter to DataLayer.openFacet 2023-08-17 08:14:22 +02:00
Yohan Boniface
ea21857bd3 1.5.1 2023-08-15 23:09:42 +02:00
Yohan Boniface
99c0271285 Update edit header when map has been saved
We need to update the share status display at first save
2023-08-15 22:42:58 +02:00
Yohan Boniface
26b3b4b5c7 Do not try to display share status until map is created 2023-08-15 22:36:11 +02:00
Yohan Boniface
b06cfca1f2 Revert "More readable check from DataLayer.showAtZoom"
This reverts commit c0dd8901e4.
2023-08-15 22:26:33 +02:00
Yohan Boniface
7078557831 Fix tests: add now mandatory share_statuses in test map 2023-08-15 21:48:54 +02:00
Yohan Boniface
88e3da70f5 1.5.0 2023-08-15 16:51:25 +02:00
Yohan Boniface
0e81030481 i18n 2023-08-15 16:47:23 +02:00
Yohan Boniface
b083bae906
Merge pull request #1238 from umap-project/iframe-popup-large
adapt iframe min-width for popup large
2023-08-15 16:39:13 +02:00
Yohan Boniface
5765daa4bf
Merge pull request #1233 from umap-project/edit-header-revamp
Edit header revamp
2023-08-15 16:35:57 +02:00
Yohan Boniface
379d75239d Update umap/static/umap/js/umap.core.js
Co-authored-by: David Larlet <3556+davidbgk@users.noreply.github.com>
2023-08-15 16:21:44 +02:00
Yohan Boniface
d2c3b8694b Allow to control facet labels 2023-08-15 16:21:42 +02:00
Yohan Boniface
b013692527 Make sure filters are called before actually displaying a feature
on the map

fix #1005
2023-08-15 16:20:49 +02:00
Yohan Boniface
80e62f3046 Better CSS for facet search 2023-08-15 16:20:49 +02:00
Yohan Boniface
d188525c74 Compute _layers for MarkerCluster, so to easily know if layer has data 2023-08-15 16:20:49 +02:00
Yohan Boniface
81a7bdcd6a Rename advancedFilters to facet search 2023-08-15 16:20:49 +02:00
Yohan Boniface
9abbfbc01e Use Leaflet.FormBuilder to build advanced filters form 2023-08-15 16:20:49 +02:00
Yohan Boniface
56cb4b44d0 Factorize about link 2023-08-15 16:20:49 +02:00
Yohan Boniface
3d45242684 Remove use of getMap on the map itself 2023-08-15 16:20:48 +02:00
Yohan Boniface
ac30e71e74 Do not let advancedFilters control add/remove features from map
This should be done by the datalayer itself, which is now the case.
2023-08-15 16:20:48 +02:00
Yohan Boniface
d8a1592fcf Smaller iframe min-width for screen < 480px 2023-08-15 08:31:14 +02:00
Yohan Boniface
5058e27496
Merge pull request #1253 from umap-project/from-to-zoom
Make fromZoom and toZoom options available for all layers
2023-08-15 07:58:33 +02:00
Yohan Boniface
c0dd8901e4 More readable check from DataLayer.showAtZoom 2023-08-15 07:57:38 +02:00
Yohan Boniface
b70e20cc89
Merge pull request #1251 from umap-project/explicit-default
Explicitely use map default when dynamic var is unset
2023-08-15 07:50:42 +02:00
Yohan Boniface
dfe4db1f0d Add and use L.Util.hasVar 2023-08-15 07:48:59 +02:00
Yohan Boniface
ebeeee072f
Merge pull request #1255 from umap-project/default-view
Better control of default view
2023-08-15 07:32:07 +02:00
Yohan Boniface
92fbc0a81c
Merge pull request #1252 from umap-project/tilelayer-panel
Do not close panel when switching tilelayer
2023-08-15 07:28:55 +02:00
Yohan Boniface
567a3fb308
Merge pull request #1250 from umap-project/has-geom
Do not try to compute geom based property before we have a geom
2023-08-15 07:28:02 +02:00
Yohan Boniface
48750b3fde
Merge pull request #1245 from umap-project/dynamic-default-status
Allow to configure default share and edit status
2023-08-15 07:26:29 +02:00
Yohan Boniface
fefa6954eb
Merge pull request #1241 from umap-project/misplaced-icons
Fix misplaced icons
2023-08-15 07:25:57 +02:00
Yohan Boniface
5b867bacfa
Merge pull request #1240 from umap-project/fix-panel-popup
Fix popup panel not opening from the data browser
2023-08-15 07:25:30 +02:00
Yohan Boniface
f94a513c4a
Merge pull request #1235 from umap-project/logout-redirect
Adapt logout behaviour in ajax/not ajax modes
2023-08-15 07:24:55 +02:00
Yohan Boniface
d008bc7539 Better control of default view
fix #40

Let the user choose the map behaviour to define default view:

- saved center and zoom: current behaviour, and default
- bounds: will compute the view to fit all the map data, useful for
  having the same view in different sized devices (mobile…)
- latest feature: useful in some situation, where the map tracks some
  progress (travel…), this will certainly needs a bit more iterations,
  mainly to have an explicit default datalayer
- user location: this option used to exist but was then removed, I
  can remember when and why

Note: when there is a URL hash, the hash will be used
2023-08-12 07:39:13 +02:00
Yohan Boniface
322c9fe042 Make fromZoom and toZoom options available for all layers
fix #473
2023-08-10 09:46:17 +02:00
Yohan Boniface
e8f9ed5a9d Do not close panel when switching tilelayer
fix #190
2023-08-10 07:10:27 +02:00
Yohan Boniface
1d0c7008fa Explicitely use map default when dynamic var is unset 2023-08-09 09:06:26 +02:00
Yohan Boniface
38c29b9cc1 Do not try to compute geom based property before we have a geom
fix #1177
2023-08-09 08:09:26 +02:00
Yohan Boniface
8758c0dc65 i18n 2023-08-07 08:17:39 +02:00
Yohan Boniface
0c3dc02fc1 Allow to configure default share and edit status
fix #1244
2023-08-07 08:16:49 +02:00
Yohan Boniface
88209158cc Fix test failing due to attribute order
Let's fix by hand for this time and see if happen again…
2023-08-02 16:29:45 +02:00
Yohan Boniface
8491276e04 Fix misplaced icons 2023-08-01 10:37:25 +02:00
Yohan Boniface
3115038ba6 Fix popup panel not opening from the data browser
The issue was:
- clicking on feature in the data browser replaces the panel content
- then the clicked link (the feature name or the little glass icon) is removed
- thus it is detached from the DOM
- and specially from its parent on which disableClickPropagation was called
- so Leaflet fails to prevent click propagation
- so the map received the click, and thus it call the onRemove method on
  the panel, as expected (clicking on the map always close the current
  open popup, if any)

This could be removed when this is released:

https://github.com/Leaflet/Leaflet/pull/9052
2023-07-31 20:59:09 +02:00
Yohan Boniface
50b8b66261 Simplify Panel popup inheritance
Panel is not a real popup, so the less we inherit the better
2023-07-31 20:58:25 +02:00
Yohan Boniface
d0ce5f68cd adapt iframe min-width for popup large
fix #1236
2023-07-31 11:34:25 +02:00
Yohan Boniface
fc37ad7c17 Adapt logout behaviour in ajax/not ajax modes 2023-07-27 15:02:51 +02:00
Yohan Boniface
d449564250 Move Map.renderEditToolbar to controls, for consistency 2023-07-25 17:50:28 +02:00
Yohan Boniface
bd48bfc617 Align edit toolbar icon with vertical icons 2023-07-25 11:47:30 +02:00
Yohan Boniface
701f2704f6 Pool man responsive edit toolbar 2023-07-25 11:43:59 +02:00
Yohan Boniface
ccac42d25a Full text edit button 2023-07-25 11:19:00 +02:00
Yohan Boniface
10b1e0bb0a Add icons to cancel and save buttons 2023-07-25 10:43:35 +02:00
Yohan Boniface
7287d4a528 Change "my maps" link label in edit toolbar 2023-07-25 10:18:30 +02:00
Yohan Boniface
b48b4ce2d3 Add underline on hover on edit toolbar links 2023-07-25 10:18:30 +02:00
Yohan Boniface
4e606d81bc Add share_status in edit toolbar 2023-07-25 10:18:30 +02:00
Yohan Boniface
a74439ac47 Remove click-to-edit 2023-07-25 10:18:30 +02:00
Yohan Boniface
202c73c35a Add logo in edit header
cf #609
2023-07-25 10:18:30 +02:00
Yohan Boniface
d56162390d
Merge pull request #1232 from umap-project/edit-panel-icon
Add icons to better distinguish edit panels
2023-07-25 10:18:11 +02:00
Yohan Boniface
5825b54d9e
Merge pull request #1229 from umap-project/gpx-mimetype
Use proper GPX mimetype
2023-07-25 10:16:58 +02:00
Yohan Boniface
2821cfba86
Merge pull request #1228 from umap-project/url-in-cors-message
Add target URL in CORS error message
2023-07-25 10:15:49 +02:00
Yohan Boniface
831d09c6e1 Make URL available for translators in CORS message 2023-07-25 10:14:57 +02:00