Commit graph

1643 commits

Author SHA1 Message Date
Yohan Boniface
0dc49d2de3 fix: do not try to animate the panel
The panel inherits from the classic Popup, but given it's fixed on
the UI, it does not make sense to try to move it, and it some
situation there is a race condition that make Leaflet try to animate
but this fails
2024-02-14 17:54:48 +01:00
Yohan Boniface
a99ee90e15 chore: migrate to OAuth 2 for OpenStreetMap backend
fix #1279
2024-02-14 11:30:16 +01:00
Yohan Boniface
c378d5dc60 feat: allow to set zoomTo from query string
When using data/dataUrl querystring, uMap will import data at load,
and will set view using this data bounds. In some situation (Deveco),
the user wants to control the max zoom of the final view.

Also add labelKey and showLabel to be parsed from query string, still
for Deveco needs.
2024-02-13 18:00:23 +01:00
Yohan Boniface
e1e255f709
Merge pull request #1593 from umap-project/icon-img-breakpoint
feat: change breakpoint to switch black SVG img to white
2024-02-13 14:16:25 +01:00
David Larlet
44a254725f
Merge pull request #1604 from umap-project/fix-dashboard-style
fix: improve dashboard styles
2024-02-13 07:52:10 -05:00
Yohan Boniface
59cb10342b chore: prettier 2024-02-13 12:10:47 +01:00
Yohan Boniface
6c38a063fd i18n 2024-02-13 11:57:09 +01:00
Yohan Boniface
9ba8adbd85 feat: use a WCAG algo to define contrast colour
I've decided for a basic home made util, because:
- I'm not sure color is still maintained
- colorjs.io sounds very cool and maintained, but is 105k
- there is no custom bundle yet
- it uses proper modules, but for just the contrast util we need
  to pull all the class logic, and it's a lot
2024-02-13 11:29:56 +01:00
David Larlet
4f469ced47
fix: improve dashboard styles 2024-02-12 20:59:35 -05:00
Yohan Boniface
a239633fae feat: change threshold to switch black SVG img to white 2024-02-12 17:54:53 +01:00
David Larlet
22412ffe13
chore: Use CSS variables 2024-02-09 22:22:21 -05:00
Yohan Boniface
f3d1a3995c fix: add pointer cursor to buttons in dashboard 2024-02-09 19:08:43 +01:00
Yohan Boniface
06d5af2a84 i18n 2024-02-09 18:19:20 +01:00
Yohan Boniface
a0634e5f55
Merge pull request #1587 from umap-project/use-global-l
chore: do not introduce a new global, use L and L.U already there
2024-02-09 18:04:48 +01:00
Yohan Boniface
074bf675c4 chore: replace window.L.U by window.U 2024-02-09 18:01:05 +01:00
David Larlet
285b9337ad
fix: consistency in logos colors and links 2024-02-09 11:54:37 -05:00
Yohan Boniface
68f2de7f44 chore: do not introduce a new global, use L and L.U already there 2024-02-09 17:10:19 +01:00
Yohan Boniface
1f5bfcb567
Merge pull request #1586 from umap-project/fix-browser-inbbox
fix: browser inBbox setting not persistent and features click not opening popup
2024-02-09 17:09:11 +01:00
David Larlet
81a1367696
fix: color consistency between buttons and icons 2024-02-09 10:47:04 -05:00
Yohan Boniface
e8a9c68dde fix: fix dashboard buttons height and alignment in Firefox Linux 2024-02-09 16:35:20 +01:00
David Larlet
96acd710dc
fix: improve responsiveness of dashboard header 2024-02-09 10:30:48 -05:00
David Larlet
63a213a95f
fix: dashboard title alignments and links 2024-02-09 10:15:14 -05:00
David Larlet
5827a4cab0
fix: make dashboard table scrollable 2024-02-09 10:14:44 -05:00
Yohan Boniface
275c012e4e i18n 2024-02-09 11:58:44 +01:00
David Larlet
afdc732204
Merge pull request #1430 from umap-project/download-all-from-dashboard
Ability to clone, delete and download all maps from user’s dashboard
2024-02-08 09:51:01 -05:00
Yohan Boniface
4cec24797e chore: move Browser to a module 2024-02-08 13:09:18 +01:00
Yohan Boniface
355cdd9f07 fix: browser inBbox setting not persistent and features click not opening popup
Refactor the way it updates itself in the process.
2024-02-08 12:57:08 +01:00
David Larlet
1acadc746a
fix: use the regular delete view instead of ajax 2024-02-07 17:38:39 -05:00
Yohan Boniface
009f2c916f fix: use variable for color in browser if any 2024-02-07 19:38:46 +01:00
Yohan Boniface
10efc5d103
Merge pull request #1573 from umap-project/map-preview
feat: add experimental "map preview" in /map/ endpoint
2024-02-07 19:14:37 +01:00
Yohan Boniface
7943c61b3e chore: do not consume style query string now that we handle keys separatly 2024-02-07 18:47:00 +01:00
David Larlet
d4b380aa5f
feat: add icons to the dashboard actions 2024-02-07 12:32:00 -05:00
David Larlet
8a6e992b9c
Ability to clone a map and overall UI improvements 2024-02-07 12:32:00 -05:00
David Larlet
46cf432eb4
Paginate user’s maps combined downloads 2024-02-07 12:32:00 -05:00
Yohan Boniface
f09e399b3c chore: refactor setting Map options from querystring 2024-02-07 17:53:45 +01:00
Yohan Boniface
bd626690ef fix: non loaded layers should still be visible in legend and data browser
Also rework the browsable/browse methods to try to make them more
understandable…

fix #1554
2024-02-07 16:32:51 +01:00
Yohan Boniface
c334f7554e feat: add experimental "map preview"
This is the same as "map new", but it is not in edit mode. This
allow to click on the elements and see the popups instead of editing
it when using a `dataUrl` query string.
This way of using uMap is not documented, but it's used by some
partners (Deveco recently, data.gouv.fr historicaly).

In the same time, this PR adds two things:
- possibility to pass data direclty in querystring (instead of an URL):
  in the case of Deveco, they have pages where only point is shown (for
  each company)
- possibility to pass style options directly from query string: may
  allow for example to control the `popupTemplate`, eg. to use a table
  one that will display all properties of the clicked feature

Note: dataUrl and such also works in normal "map new" view. There are
two use cases around those parameters, from external sites:
- see this data on uMap (should point on map preview)
- create a map with those data (should point on map new)
2024-02-07 13:57:20 +01:00
Yohan Boniface
0ebb7615aa chore: make Request and ServerRequest pure JS class
And use UI for dealing with dataloading/dataload events (used
for progress bar).
2024-02-05 07:23:16 +01:00
Yohan Boniface
325880f86f chore: make all request errors inherit the same parent class 2024-02-05 07:23:16 +01:00
Yohan Boniface
6b5ecac9c6 chore: move Map.Init.js test to playwright suite 2024-02-05 07:23:16 +01:00
Yohan Boniface
0b65d0dd9d chore: move iframe options test to playwright 2024-02-05 07:23:16 +01:00
Yohan Boniface
2271669e80 chore: move browser tests to playwright 2024-02-05 07:23:16 +01:00
Yohan Boniface
e44e0df69a tests: fix 90% of the javascript tests 2024-02-05 07:23:15 +01:00
Yohan Boniface
d1df70b0f4 fix: proper way to deal with 412 2024-02-05 07:22:53 +01:00
Yohan Boniface
d07d9f61d2 chore: refactore datalayers loading 2024-02-05 07:22:53 +01:00
Yohan Boniface
3f1070c90d chore: rename NokError and fix init param 2024-02-05 07:22:53 +01:00
Yohan Boniface
da7d09527b chore: catch error when using Request, and make remote URL working again
I decided to remove the check `is_ajax` from `validate_url` to simplify
and edge case, and because I think it was more or less useless.
Basically, when getting remote data, we have two cases:
- direct call to the remote URL
- proxy through our `ajax_proxy` system (to work around CORS limitations)

In the first case, we cannot set the `X-Requested-With` header, otherwise
preflight step will fail, and in the second case, until now, we needed
to set this header for this `is_ajax` check to pass. So keeping this check
would mean adapting the behaviour of the Request/ServerRequest class in
a non elegant way. So let's make it simple…
2024-02-05 07:22:53 +01:00
Yohan Boniface
16265b566e chore: remove xhr module, now replaced by request.js 2024-02-05 07:22:53 +01:00
Yohan Boniface
ab966722f9 wip: rework request error flow 2024-02-05 07:22:53 +01:00
Yohan Boniface
b947134fa2 chore: ServerRequest returns an explicit error if any 2024-02-05 07:22:53 +01:00
Yohan Boniface
c50be398ab wip: use new request for fetching remote data 2024-02-05 07:22:53 +01:00
Yohan Boniface
8b2778116d wip: make the getMore button work again with new Request 2024-02-05 07:22:53 +01:00
Yohan Boniface
49f600adfa wip: refactor login flow
Instead of dealing with in JavaScript, let's do a more classic
HTTP flow.

The main flows work, but there is still at least one to deal with:
when editing a map without being logged in, the server may ask for
login, and in this case we should login THEN reissue the request,
so we need to interrupt the first request in some way,
otherwise the server will still answer with a 403, which is what
happens after this commit.
2024-02-05 07:22:53 +01:00
Yohan Boniface
084bc3d518 wip: move xhr management to a module and refactor
It sort of work for common cases, but edge cases needs work,
specifically the login flow.
2024-02-05 07:22:53 +01:00
Yohan Boniface
1d80645eda
Merge pull request #1576 from umap-project/fix-redraw-zoomend
fix: do not try to reset tooltip of feature not on map
2024-02-05 07:13:51 +01:00
Yohan Boniface
84bff2e416 fix: do not try to reset tooltip of feature not on map
This can happen in a situation where:
- a layer as zoom limits
- we click on a feature, which opens a popup
- then zoom over the layer's limit (with
  scroll or keyboard, not keyboard, in order to not close the popup)
- then click in anywhere in the map, which will close the popup

Since the highlight of features on click (cf #1359), we redraw them
on popupclose, which explains the bug described above.

fix #1575
2024-02-04 19:33:01 +01:00
Yohan Boniface
79bac2c353
Merge pull request #1572 from umap-project/real-counters
feat: adapt browser counter to the currently displayed features
2024-02-01 08:52:54 +01:00
Yohan Boniface
60832797d0 feat: adapt browser counter to the currently displayed features 2024-01-31 08:06:21 +01:00
Yohan Boniface
1c88f7f88c
Merge pull request #1571 from umap-project/intercept-options-geojson
fix: make sure we do not add geojson in options
2024-01-31 06:57:00 +01:00
Yohan Boniface
9cb6ed6400 fix: make sure we do not add geojson in options
This change is already in production, but has not been commited yet…
2024-01-30 19:04:59 +01:00
David Larlet
65f1cdd6b4
lint: use eslint with a browserslist configuration 2024-01-29 16:44:04 -05:00
Yohan Boniface
dd57794ca6
Merge pull request #1562 from umap-project/svg-default-icon
feat: use svg for default icon (circle)
2024-01-29 18:05:45 +01:00
Yohan Boniface
dee5af33a5
Merge pull request #1535 from umap-project/empty-fileinput
fix: empty file input when closing the importer panel
2024-01-29 12:47:15 +01:00
Yohan Boniface
c5270fb165
Merge pull request #1538 from umap-project/test-querystring
fix: honour datalayersControl=expanded in querystring
2024-01-29 12:46:55 +01:00
Yohan Boniface
1fdd5bbb78
Merge pull request #1541 from umap-project/site-link
chore: use https://umap-project.org link in map footer
2024-01-29 12:46:27 +01:00
Yohan Boniface
e69b5a7af0
Merge pull request #1547 from umap-project/1545-fix-icons
fix(1545): fix icons for mailto and tel
2024-01-29 12:46:03 +01:00
Yohan Boniface
cfe3bad5a4
Merge pull request #1550 from umap-project/choropleth-min-classes
fix: do not ask more classes than available values in choropleth mode
2024-01-29 12:45:40 +01:00
Yohan Boniface
95b457b38c
Merge pull request #1551 from umap-project/fix-browser-with-variable
fix: build browser once features are on the map, not before
2024-01-29 12:45:16 +01:00
Yohan Boniface
256d6c631c feat: use svg for default icon (circle)
fix #1560
2024-01-29 12:24:16 +01:00
Yohan Boniface
53ad987aea fix: prevent datalayer to resetting to an old version on save
This happens in collaborative mode only.

cf #1536
cf #1537

cf https://forum.openstreetmap.fr/t/probleme-de-sauvegarde-des-cartes/20596
cf https://forum.openstreetmap.fr/t/umap-soucis-de-debutants/20538
cf https://forum.openstreetmap.fr/t/probleme-de-maj-des-icones/20565
2024-01-25 15:42:00 +01:00
Yohan Boniface
7ae742ca70 chore: add grey background to body on map page to prevent blinking
Otherwise the DOM loads and create a white script before the JS is
parsed and ready to display the map. This is due to using modules
and scripts in defer mode.
2024-01-22 14:41:21 +01:00
Yohan Boniface
ae4c1a9454 fix: build browser once features are on the map, not before
Features title may contain variables, which include geographical
ones (center, lat, lon…), and in this case the feature must be
on the map to be able to compute them (eg. the polygon center).

fix #1519
2024-01-22 12:49:33 +01:00
Yohan Boniface
d696fe885f fix: do not ask more classes than available values in choropleth
It actually does not make sense, and it's a sanity check: some
computation algorithms fail in this situation.
2024-01-22 11:12:14 +01:00
David Larlet
7c4009965a
Use minified versions + sourcemaps of vendor statics 2024-01-21 14:02:16 -05:00
David Larlet
7e5c15b5b0
fix(1545): fix icons for mailto and tel
Fix #1545
2024-01-19 11:48:23 -05:00
Yohan Boniface
11045345fc i18n 2024-01-17 18:50:24 +01:00
Yohan Boniface
fb63588ac5 chore: use https://umap-project.org link in map footer 2024-01-17 11:25:47 +01:00
Yohan Boniface
cf13d15753 fix: honour datalayersControl=expanded in querystring
fix #1525
2024-01-16 19:58:10 +01:00
Yohan Boniface
4227e171f3 fix: empty file input when closing the importer panel
Otherwise, we cannot import anything else than a file, even when
closing and reopening the panel. User needs to refresh the page.
2024-01-16 12:28:59 +01:00
Yohan Boniface
8026c16926 i18n 2024-01-15 18:32:51 +01:00
David Larlet
5d758ebc0d
Create a dedicated js/components folder 2024-01-10 14:31:54 -05:00
David Larlet
7b5b5b1b22
Set a umap-fragment web component for lists 2024-01-09 14:49:14 -05:00
4b34a7d300 merge index.js with global.js 2024-01-08 19:29:43 +01:00
7c697f7529 Merge @ybon changes 2024-01-08 18:49:03 +01:00
Yohan Boniface
ce22a2ee74 Only load Leaflet once, as module 2024-01-08 18:43:54 +01:00
95212dbdf5 [refactor] Use JS modules for client URL routing
Also expose some vendorized libs as modules in `modules/vendors.js`
2024-01-08 18:43:54 +01:00
Yohan Boniface
067d74de9f fix: icon element is undefined when clustered 2024-01-08 16:35:41 +01:00
Yohan Boniface
d0c560e29a i18n 2024-01-08 13:43:48 +01:00
Yohan Boniface
0f1e13b994 chore: fix failing JS test 2024-01-08 13:31:02 +01:00
Yohan Boniface
2812431722 feat(browser): add counter in datalayer headline 2024-01-08 12:46:06 +01:00
Yohan Boniface
cea5e30582
Merge pull request #1499 from umap-project/dedicated-layer-settings
Move layer specific settings to a dedicated fieldset
2024-01-08 12:30:41 +01:00
Yohan Boniface
75ff147371 Move layer specific settings to a dedicated fieldset
cf #1490
2024-01-08 12:25:40 +01:00
Yohan Boniface
fe61acd6c1
Merge pull request #1479 from umap-project/osm-template
Add a popup template to showcase OpenStreetMap data
2024-01-08 12:10:48 +01:00
Yohan Boniface
ba6371381a Better margin around popup title icon 2024-01-08 12:00:19 +01:00
Yohan Boniface
86de16521f Refactor icon element create and constrast 2024-01-08 11:52:15 +01:00
Yohan Boniface
ab82fd975f
Merge pull request #1478 from umap-project/preview-map-on-click
Preview map only on click in user’s dashboard
2024-01-03 22:17:55 +01:00
Yohan Boniface
d54b0e94b7 Only close ui panel if it is open
When calling ui.closePanel, this will fire "panel:closed", which
is listened by uMap to blindly call map.invalidateSize, which
creates trouble in the dashboard preview: when pressing twice ESC
key (eg. when switching from a preview to another), the map would pan once
to the north east (I guess because invalidateSize is called while
the map is not displayed, but not sure).
2024-01-03 21:25:20 +01:00
Yohan Boniface
558dabd113
Merge pull request #1480 from umap-project/search-latlng
Allow to type a latlng in the search box
2024-01-03 20:59:11 +01:00
Yohan Boniface
fb6230d1db
Merge pull request #1490 from umap-project/fix-choropleth-update
Be more explicit on changed fields when updating choropleth form
2024-01-03 20:52:06 +01:00
Yohan Boniface
7f4d5b270b Rename Layer.postUpdate to Layer.onEdit and pass explicit params 2024-01-03 18:09:09 +01:00
Yohan Boniface
1ed6a5972d Run prettier 2024-01-02 23:18:24 +01:00
Yohan Boniface
4b0bde5c90 Align copy button to input in share box
cf #1454
2024-01-02 22:14:13 +01:00
Yohan Boniface
05401af06b
Merge pull request #1454 from jschleic/download-ui
Refactor Share & Download UI for better usability
2024-01-02 21:42:34 +01:00
Yohan Boniface
ced7f3d6ff
Merge pull request #1497 from jschleic/fix-rank-on-reordering
fix dirty flags when re-ordering layers
2023-12-31 11:16:06 +01:00
Joachim Schleicher
70e5dbe7dd fix dirty flags when re-ordering layers
The index of the top layer in the view starts with zero, while the rank of
the layers count backwards. Thus moving the second-last to the last
position should set the dirty flag of rank 0 and 1.
Instead the former implementation set the dirty flag for layers >= 19 in
a list of 20 layers - resulting in the wrong layers saved.

Fixes #375
2023-12-30 21:39:48 +01:00
Joachim Schleicher
dbf0179297 cleanup sharebox changes
* "data" moved to helptext
* drop css introduced in previous draft
* prettier.js
2023-12-29 21:23:03 +01:00
Yohan Boniface
2bb104d29e
Merge pull request #1493 from umap-project/tilelayer-preview-border
Add a small box-shadow to tilelayer preview
2023-12-28 20:36:27 +01:00
Yohan Boniface
974536debe
Merge pull request #1492 from umap-project/fix-tms-url-preview
Fix preview of TMS TileLayer preview
2023-12-28 20:36:06 +01:00
Yohan Boniface
ab54580820 Fix preview of TMS TileLayer preview
This is not the ideal fix, instead we'd prefer to use
`TileLayer.getTileUrl`, but this is not possible yet.

cf https://github.com/Leaflet/Leaflet/pull/9201

cf https://lists.openstreetmap.org/pipermail/umap/2023-December/000557.html
2023-12-28 16:32:57 +01:00
Yohan Boniface
1d85ee5167 Add a small box-shadow to tilelayer preview
In some situation, the preview is very close to the background, so
it's not visible enough.

fix #1485
2023-12-28 11:51:04 +01:00
Yohan Boniface
0a099b6ee1 i18n 2023-12-28 11:44:44 +01:00
David Larlet
7484e52142
Improve maps’ pagination for the dashboard 2023-12-27 13:26:31 -05:00
David Larlet
ded244c9ff
Put CSS and JS blocks to their dedicated places 2023-12-27 11:41:08 -05:00
Yohan Boniface
936bbb9464 Be more explicit on changed fields when updating choropleth form
The postUpdate method of the Choropleth layer is called after
any form field change, even if this field is not in the dedicated
choropleth helper. So the previous check was too broad, and it
would try to fetch the breaks input value on any form helper, which
would fail if someone change any "non choropleth" property (like
the colour)
2023-12-27 09:17:29 +01:00
Yohan Boniface
9e346d2d4c search input: add a placeholder to mention typing coordinates 2023-12-26 12:37:17 +01:00
Yohan Boniface
a4dbb69545 Prettier on popup.js 2023-12-26 12:09:27 +01:00
Yohan Boniface
50e8161b89 Rename var in popup.js 2023-12-26 12:08:20 +01:00
Yohan Boniface
01d89dbd93 Fix zoomEnd tests
By moving the tests that delete the datalayer at the end.
2023-12-23 09:12:34 +01:00
Yohan Boniface
acfcc2e2a6
Merge pull request #1482 from umap-project/greedytemplate-object
Do not fail on greedyTemplate when description is an object
2023-12-23 08:41:48 +01:00
Yohan Boniface
b19638bb8d
Merge pull request #1483 from umap-project/escape-drawing
Better way of handling escape while drawing
2023-12-23 08:41:33 +01:00
Yohan Boniface
5f8147c274 Remove zoom/moeveend events when deleting datalayer 2023-12-22 18:45:21 +01:00
Yohan Boniface
da2fb856c2 Better way of handling escape while drawing
With previous fix (in 60c002f94a), the
feature was created even if invalid.

cf #1428
2023-12-22 13:01:06 +01:00
Yohan Boniface
6890d47b91 Do not fail on greedyTemplate when description is an object
Quick fix for not failing with an error in case of #1481
2023-12-22 11:03:38 +01:00
Yohan Boniface
554352e003 Allow to type a latlng in the search box
fix #1000
cf #1001
2023-12-21 13:41:19 +01:00
Yohan Boniface
48ab865b9a More work on OpenStreetMap popup template 2023-12-20 12:16:35 +01:00
Yohan Boniface
2208a6c67d WIP: OpenStreetMap dedicated popup template 2023-12-20 12:16:35 +01:00
Yohan Boniface
cab87cd59f Deal with data:image in icon image form 2023-12-20 12:16:35 +01:00
Joachim Schleicher
3f6c705d2e re-style download panel
according to suggestion by @Aurelie-Jallut in
https://github.com/umap-project/umap/pull/1454#issuecomment-1858062371
2023-12-19 17:27:27 +01:00
Joachim Schleicher
aec4330df6 add download icons
file icon CC0 from https://www.iconfinder.com/icons/9110902/file_download_icon
arrow down drawn in inkscape
2023-12-19 16:44:04 +01:00
Yohan Boniface
417f1b9d08 i18n 2023-12-18 23:41:06 +01:00
Joachim Schleicher
d19cc60a7a refactor shareBox into separate class
download() and format() functions as well as dialog itself and
IFrameExporter helper moved into new file umap.share.js
2023-12-18 19:26:16 +01:00
Joachim Schleicher
931ac7442d refactor share dialog for better usability
* ordering is now short URL - download - backup - embed ordered by
  easier use cases for everyone to complex iframe code for web experts
* show available formats as buttons instead of hiding them in a dropdown
* add explaining labels
* change the dark options fieldset to light gray
2023-12-18 19:25:22 +01:00
Yohan Boniface
a3abd5394e Increase iconlayers titles on hover 2023-12-17 10:58:02 +01:00
Yohan Boniface
3d92a8e845
Merge pull request #1475 from umap-project/iconlayers-polish
Iconlayers polish
2023-12-17 09:59:56 +01:00
4fbd2fabe5 chore: fix a typo in umap.forms.js
Renamed `udpatePreview()` to `updatePreview()`
2023-12-16 18:20:23 +00:00
Yohan Boniface
629a049eba Inform iconLayers when we change current tilelayer
When an editor change the background layer from our own selector,
we need to inform iconLayers, so it can update its list and order
accordingly
2023-12-16 18:50:08 +01:00
Yohan Boniface
426297df4f Make sure we do not display twice the same background layer in selector
At this stage, uMap does not distinguish between a custom background
and the default background, both are saved in map.options.tilelayer.

Given we want a custom background (so not in the list) to appear in
the selector, we need this check to be sure we are not adding again
one layer from the list
2023-12-16 18:47:14 +01:00
Yohan Boniface
cbb02f9890 Make sure we update the tilelayers switcher when setting a custom one 2023-12-16 09:17:02 +01:00
Yohan Boniface
5d2b968863 chore: prettier 2023-12-16 09:16:13 +01:00
Yohan Boniface
625131f7df i18n 2023-12-16 08:22:16 +01:00
Yohan Boniface
e54e5752ae chore: Remove duplicate key in Map.editable_options 2023-12-15 23:20:35 +01:00
Yohan Boniface
7bcf751d46
Merge pull request #1449 from umap-project/kbd
Replace "Ctrl" by "Cmd" under macOS and style the "kbd" tag in keyboard shortcuts labels
2023-12-15 17:48:42 +01:00
Yohan Boniface
97068bdfdf
Merge pull request #1469 from umap-project/iconlayers
Use Leaflet.IconLayers as tilelayers switcher
2023-12-15 17:30:11 +01:00
Yohan Boniface
7f5960d1c4 Add parenthesis around keyboard when there is no kbd tag
This happens in title attributes, for example.
2023-12-15 17:24:55 +01:00
Yohan Boniface
87132314df
Merge pull request #1446 from umap-project/interactive-layer
Allow to control the `interactive` option from the layer
2023-12-15 17:18:57 +01:00
Yohan Boniface
3ffa29802e Use a variable to make explicit max number of shown layers 2023-12-15 17:11:49 +01:00
Yohan Boniface
49c17d6fd1 Simplify eachTilelayer method
Having a custom layer also in the predefined layers list is a
edge case we can deal with.
2023-12-15 17:05:00 +01:00
Yohan Boniface
b6b6139c79 Hide overflow from tilelayer title for now 2023-12-15 16:19:31 +01:00
Yohan Boniface
34d3beef25 Make sure custom tilelayer is displayed first, if any 2023-12-15 16:19:15 +01:00
Yohan Boniface
afd57d6806 Control the tilelayer change, instead of letting iconLayers do it
We want to control min/max zoom and such.
2023-12-15 16:16:53 +01:00
Yohan Boniface
fe9f4b4a48 WIP: POC of using Leaflet.IconLayers as tilelayers switcher 2023-12-15 11:40:52 +01:00
Yohan Boniface
2f89a76e08 Add minimal CSS for kbd tag 2023-12-15 09:14:20 +01:00
Yohan Boniface
5a6cd9a5b5 Do not display keyboard shortcuts in main help for now
This main help already display some of them, so let's first
focus on this label refactor, and then do a refactor of that
main help modal.
2023-12-15 09:14:20 +01:00
Yohan Boniface
d98d5686fb Display Cmd instead of Ctrl for shortcuts on MacOS 2023-12-15 09:14:20 +01:00
Yohan Boniface
9c71d74ec9 WIP 2023-12-15 09:14:20 +01:00
Yohan Boniface
445ce7b6ba
Merge pull request #1468 from umap-project/fix-toolbox-overflow
Fix toolbox overflow with facets’ search
2023-12-15 08:26:56 +01:00
Yohan Boniface
a32b680a74
Merge pull request #1465 from umap-project/defaultview-latest-path
Use bounds instead of center when zooming to Polyline/Polygon
2023-12-15 08:24:58 +01:00
Yohan Boniface
8568159589
Merge pull request #1466 from umap-project/fix-remove-tilelayer
Do not call AttributionControl._update for removed tile layer
2023-12-15 08:24:41 +01:00
David Larlet
45c0805319
Fix toolbox overflow with facets’ search 2023-12-14 17:03:53 -05:00
Yohan Boniface
d1912f57e9 Do not call AttributionControl._update for removed tile layer 2023-12-14 22:55:01 +01:00
David Larlet
b25bb16858
Merge pull request #1455 from jschleic/tooltip-and-headline
Unify tooltip and headline and add the corresponding icon
2023-12-14 14:26:06 -05:00
Yohan Boniface
0852077634 Use bounds instead of center when zooming to Polyline/Polygon
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.
2023-12-14 15:45:43 +01:00
Yohan Boniface
d93a963e1f Wait for data to be loaded before opening the data browser
We need the map bounds to compute the isOnScreen check
2023-12-14 15:20:59 +01:00
Yohan Boniface
8ce09b039f
Merge pull request #1458 from umap-project/fix-datachanged
Make sure DataLayer._dataloaded is set only once all data is imported
2023-12-12 10:20:54 +01:00
Joachim Schleicher
e020a3656c finetune
* left align share icon
* add light tilelayer icon in "view" mode
2023-12-11 11:39:54 +01:00
Yohan Boniface
f54992c0e5 Make sure DataLayer._dataloaded is set only once all data is imported
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
2023-12-11 10:36:39 +01:00
Joachim Schleicher
69939ec2a3 add title and heading to layer and tilelayer 2023-12-08 21:11:19 +01:00
Joachim Schleicher
3b89c22c23 add title and icon to buttons
* 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
2023-12-08 21:11:19 +01:00
Yohan Boniface
7ef3fb2caa
Merge pull request #1445 from umap-project/importer-class
Make it easier to open file dialog
2023-12-08 06:48:38 +01:00
Yohan Boniface
c62c327878 Importer: call showPicker only on openFiles, not at each open
This allows to open the files dialog with Ctrl+O
2023-12-05 12:59:49 +01:00
David Larlet
1bfbde320c Add working showPicker to open files dialog 2023-12-05 12:59:49 +01:00
Yohan Boniface
67f6fa7587 Add non working ways to focus the importer file input 2023-12-05 12:59:49 +01:00
Yohan Boniface
42906ea8b4 Add non working way to open files dialog 2023-12-05 12:59:49 +01:00
Yohan Boniface
84b5e2188a Move importer panel to a separate class 2023-12-05 12:59:43 +01:00
3st3ban3
daeaf093f1 fix: no data in facet filters when set as default panel 2023-12-03 17:45:17 +01:00
Yohan Boniface
d928028a97 Allow to control the interactive flag from the layer
This flag deactivate all interactions for a path. It can be useful
when some polygon is used to delimitate an area on the map, but
when we don't want this area to be clickable.

I've a case where I've many of those polygons in a given map, and
they are imported, so I don't want to go one by one to deactivate it.
2023-12-02 10:13:35 +01:00
Yohan Boniface
e251c84298
Merge pull request #1442 from umap-project/log-tilelayer-error
Log error when loading tilelayer
2023-11-29 18:10:01 +01:00
Yohan Boniface
9b28a48c9b
Merge pull request #772 from umap-project/optimistic-merge
Optimistic conflicts resolution mecanism
2023-11-29 17:56:17 +01:00
Yohan Boniface
312863b2d4
Merge pull request #1443 from umap-project/minimap-style
Use map style options to style minimap bbox rectangle
2023-11-29 17:51:40 +01:00
Yohan Boniface
7591031e63 Add integration tests covering basic polygon drawing 2023-11-29 17:34:12 +01:00
Yohan Boniface
60c002f94a Call commitDrawing instead of stopDrawing on ESC
fix #1428
2023-11-29 16:32:22 +01:00
Yohan Boniface
f8d2ecdd32 Use map style options to style minimap bbox rectangle
Ref:

https://forum.openstreetmap.fr/t/option-dexport-mini-carte/19223/6
2023-11-29 16:15:33 +01:00
Yohan Boniface
7a78645055 Log error when loading tilelayer
I see this message from time to time, but I've no details so I
cannot investigate easily. Let's log the error to help.
2023-11-29 15:49:17 +01:00
f37ed700f6 [feat] add a simple conflict resolution mecanism.
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.
2023-11-29 13:04:24 +01:00
Yohan Boniface
34e0461ca8 Run prettier on umap.layer.js 2023-11-28 15:28:57 +01:00
Yohan Boniface
fc2b7e5d4b
Merge pull request #1438 from umap-project/table-fullwidth
Always use fullwidth table editor
2023-11-28 08:47:06 +01:00
Yohan Boniface
b716530f99 Remove '|' from label, now added in CSS
(Since #1422)
2023-11-27 22:44:35 +01:00
Yohan Boniface
d47c6f3214 Always use fullwidth table editor
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
2023-11-27 22:43:14 +01:00
Yohan Boniface
c34e39319e Mention more keyboard shortcuts
cf #1436
2023-11-27 20:24:50 +01:00
Yohan Boniface
f274b39fc9 Fix slideshow buttons not show when facets are active
cf #1422
2023-11-27 16:39:42 +01:00
Yohan Boniface
ab2bb6bb5c
Merge pull request #1419 from umap-project/stop-drag
Prevent dragging a datalayer to activate drag on the map
2023-11-26 21:59:16 +01:00
Yohan Boniface
3d7f87354b
Merge pull request #1420 from umap-project/restore-button
Restore style of "restore version button"
2023-11-26 21:58:58 +01:00
Yohan Boniface
84d7c8771e
Merge pull request #1432 from umap-project/locate-easing
Set map default center even if waiting for user location
2023-11-26 21:58:36 +01:00
Yohan Boniface
25a61f1808 Reset increasing icon text size
There are some usage with 5 chars that do not fit anymore.
Let's reset for now and maybe introduce later a way for the user
to configure the size
2023-11-26 17:17:19 +01:00
Yohan Boniface
4347d40e64 Set map default center even if waiting for user location
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…
2023-11-26 11:13:56 +01:00
Yohan Boniface
1b87df7a7f
Merge pull request #1422 from umap-project/slideshow-buttons
Restore missing buttons in caption bar
2023-11-23 21:22:09 +01:00
Yohan Boniface
09903a8808
Merge pull request #1425 from umap-project/blue-links
But back blue links in popup and small credit
2023-11-23 17:37:45 +01:00
Yohan Boniface
e891ed61dd But back blue links in popup and small credit
fix #1418
2023-11-23 17:19:31 +01:00
Yohan Boniface
9781f6eb9c Restore missing buttons in caption bar
Those button, being width: 100% and display: block were not displayed
AND were pushing out also the slideshow buttons.
2023-11-23 13:07:18 +01:00
Yohan Boniface
4936a97218 Use step=any by default for FloatInput
This is fixed in Leaflet.FormBuilder itself
2023-11-23 12:29:52 +01:00
Yohan Boniface
fd2fb2a405 Restore style of "restore version button" 2023-11-23 11:00:35 +01:00
Yohan Boniface
0c99bc45a8 Prevent dragging a datalayer to activate drag on the map 2023-11-23 10:00:02 +01:00
Yohan Boniface
9fca9861dd i18n 2023-11-20 11:30:56 +01:00
Yohan Boniface
ed99a3642f Rename test 2023-11-20 11:27:44 +01:00
Yohan Boniface
0db7f377c3
Merge pull request #1395 from umap-project/picto-ui
Refactor icon selector: use tabs, make options more explicit
2023-11-18 12:13:14 +01:00
Yohan Boniface
c99892b51e Picto field: fix clicking on preview to open the form 2023-11-16 11:46:49 +01:00
Yohan Boniface
cdfcce297d picto field: better handling of default input values
We don't want to have an URL in the "char" field, and vice versa
2023-11-16 10:31:40 +01:00
Yohan Boniface
c581172197 Make icons search accent insensitive 2023-11-15 21:06:40 +01:00
Yohan Boniface
8a2109948f Picto field: add hover and selected style 2023-11-15 18:15:30 +01:00
Yohan Boniface
9d30e150a3
Merge pull request #1409 from umap-project/form-button-css
More targeted CSS rule for button color
2023-11-15 18:00:37 +01:00
Yohan Boniface
5aa7ea6a7f More targeted CSS rule for button color
Otherwise it override forms button (which are in dark mode and thus
need to keep the clear grey color)
2023-11-15 17:51:35 +01:00
Yohan Boniface
fdbf814fac Fix accordion arrow not displayed on Chromium 2023-11-15 16:54:20 +01:00
Yohan Boniface
91ea6ac318
Merge branch 'master' into highlight-style-for-selected-lines 2023-11-15 16:05:56 +01:00
Yohan Boniface
a850900891
Merge pull request #1407 from jschleic/fix-lineedit-icons
fix icons
2023-11-15 15:59:23 +01:00
Yohan Boniface
be0cefd02a
Merge pull request #1396 from umap-project/backup-api
Full map download endpoint
2023-11-15 15:39:36 +01:00
David Larlet
0a8848874c
Remove the static webmanifest (dynamic now) 2023-11-14 22:51:34 -05:00
David Larlet
6f73038f92
Redirect favicon.ico and dynamic webmanifest 2023-11-14 22:50:25 -05:00
David Larlet
915d6b6db4
Set a default favicon 2023-11-14 17:32:40 -05:00
Joachim Schleicher
637c982add fix icons
probably moved accidentally in c8065fb29e
2023-11-14 21:20:00 +01:00
Joachim Schleicher
34bb2d6eb8 fix null opacity
partly revert 952385 - since ´null´ is actually used in ternary fields.
Remove null opacity from the testcase. It should be either unset or a
numeric value.
2023-11-14 20:48:11 +01:00
David Larlet
bf4e481f28
Fix download umap data JS tests 2023-11-14 14:19:54 -05:00
David Larlet
2274243662
Fix integration tests for download view 2023-11-14 14:10:25 -05:00
David Larlet
97fa8c2754
Allow the ?download option in URL 2023-11-14 13:26:52 -05:00
Yohan Boniface
4bfc3d6666 Picto field: make sure we open on the right tab 2023-11-14 18:45:40 +01:00
David Larlet
3a0bcd76da
Align link styles to button ones 2023-11-14 12:16:47 -05:00
Yohan Boniface
686ce1fe2d
Merge pull request #1403 from umap-project/fix-1400
Fix next/previous in popup footer in panel not openning next panel
2023-11-14 18:15:36 +01:00
David Larlet
207c47d078
Button to download umap backup from backend url 2023-11-14 12:07:17 -05:00
David Larlet
bdd7ad17e6
Improve buttons’ contrasts on the homepage #a11y 2023-11-14 11:59:03 -05:00
Yohan Boniface
9e33144d34 Fix next/previous in popup footer in panel not openning next panel
fix #1400
cf #1240
2023-11-13 21:12:53 +01:00
Yohan Boniface
5267d3e9b8 Fix wrong css selector for umap-alert-container elements
umap-alert is set on the body to show/hide the alert container

fix #1398
2023-11-13 20:36:48 +01:00
Yohan Boniface
35afd02551 Increase pictogram category title font size 2023-11-13 19:55:37 +01:00
Yohan Boniface
eaf6c17db4 Picto field: only add category when at least one picto matches search 2023-11-13 17:11:40 +01:00
Yohan Boniface
2026a2c7e6 picto field: only add close button once 2023-11-13 17:02:35 +01:00
Yohan Boniface
d63d81fec3 Refactor icon search 2023-11-09 08:31:24 +01:00
Yohan Boniface
e509687956 Add first test for pictogram selection 2023-11-09 00:02:44 +01:00
Yohan Boniface
1bf1543668 Refactor icon selector: use tabs, make options more explicit 2023-11-08 18:00:12 +01:00
Yohan Boniface
c16a01778b
Merge pull request #1393 from umap-project/fieldset-triangle
Add triangle icon to form fieldset to make toggle clearer
2023-11-07 22:39:00 +01:00
Yohan Boniface
09fda11242 Use smaller triangles for fieldsets 2023-11-07 19:24:05 +01:00
Yohan Boniface
41f5a51069 Change background in pictograms list 2023-11-07 19:09:37 +01:00
Yohan Boniface
3034ebc50b
Merge pull request #1388 from umap-project/pictogram-category
Pictogram category
2023-11-07 18:01:15 +01:00
Yohan Boniface
03b837ade6 Add triangle icon to form fieldset to make toggle clearer 2023-11-07 17:57:10 +01:00
Joachim Schleicher
952385b1cd default fill-opacity for polygons
'null' is not a sensible default
2023-11-01 15:55:06 +01:00
Joachim Schleicher
af969eb5c0 incorporate review feedback for markers
* drop and div marker increased to 36px size
* adjust drop arrow accordingly
* black box-shadow with increased spread
2023-11-01 14:32:09 +01:00
Yohan Boniface
407e2dc46a Fix race condition with cluster layer
This occurs when the cluster layer has a min/maxZoom defined, the
map is loaded inside this zoom range BUT the defaultView=data, and
would immediately change the current zoom to a value outside this range.

In this case, the datalayer is added to the map, then the data is requested,
then the map view is recomputed with the full data bounds.

There may be a better fix on our side, but given there is async in the middle,
it can be time consuming and can add complexity (with more events and listeners)
to properly make it work.
2023-11-01 10:49:31 +01:00
Yohan Boniface
e9deaab2bc i18n 2023-11-01 08:17:56 +01:00
Yohan Boniface
402455c494 Change edit toolbar secondary button style 2023-10-31 17:57:01 +01:00
Yohan Boniface
5d410c94e3 Update save button style 2023-10-31 17:28:42 +01:00
Yohan Boniface
37094ec6df Update white eye closed 2023-10-31 16:32:54 +01:00
Yohan Boniface
8c774fb7b3 Add Pictogram.category and list pictos grouped by category 2023-10-30 21:07:55 +01:00
Yohan Boniface
b10838c5ba Automagically change svg icon color according to background color 2023-10-30 18:14:41 +01:00
Yohan Boniface
40addf2ce4 i18n 2023-10-27 20:06:37 +02:00
David Larlet
539175f89c
Default message when drawing an existing line/shape 2023-10-27 13:49:26 -04:00
David Larlet
4250712741
More consistent color for close button in alert 2023-10-27 13:40:44 -04:00
David Larlet
bfd4b96807
Better responsive alignment of topbar icons and texts 2023-10-27 13:37:17 -04:00
David Larlet
c25de24009
Fix the bottom padding of help button in topbar 2023-10-27 13:24:12 -04:00
David Larlet
0c4495e356
Fix the z-index of the tooltip above sidepanel 2023-10-27 13:19:47 -04:00
David Larlet
a79e165de1
Fix position of pencil for deactivated layers 2023-10-27 13:18:19 -04:00
Yohan Boniface
8773a63e90
Merge pull request #1386 from umap-project/update-eye-icon
Update eye icon
2023-10-27 19:12:33 +02:00
Yohan Boniface
20767f7dc6
Merge pull request #1385 from umap-project/tooltip-mouseout
Cancel tooltip on mouseout
2023-10-27 19:12:03 +02:00
Yohan Boniface
d5ab5ac529 Update eye icon 2023-10-27 19:11:07 +02:00
Yohan Boniface
80a88d2c6f Change save button display 2023-10-27 18:58:41 +02:00
Yohan Boniface
9d9b726af5 Cancel tooltip on mouseout
Prevent a tooltip to be displayed if the user has moved out
the mouse from the anchor.
2023-10-27 18:45:58 +02:00
David Larlet
dde6254d16
Fix: set step any for float input with decimals
Useful for latitudes and longitudes.
2023-10-27 11:56:02 -04:00
David Larlet
67d89874e8
Merge pull request #1290 from umap-project/a11y-from-links-to-buttons
A11Y: switch from links to buttons when pertinent
2023-10-27 11:53:23 -04:00
David Larlet
312ebf5a0d
Remove JS inline style made useless 2023-10-27 11:47:33 -04:00
David Larlet
ff9b462531
All left sidebar icons with white background 2023-10-27 11:40:28 -04:00
David Larlet
860e475219
Center the tooltip (arrow) for bottom position 2023-10-27 11:32:03 -04:00
David Larlet
1d65ce6b49
Better labels and icons for edit/preview modes
Fix #556
2023-10-27 11:31:34 -04:00
David Larlet
2f424b7539
Flat button for icon shapes direct input 2023-10-27 10:35:26 -04:00
Yohan Boniface
60a0f14439
Merge pull request #1382 from umap-project/fix-global-variable
Fix variable declared globally by mistake
2023-10-27 16:12:44 +02:00
Yohan Boniface
41ec18a08d Fix variable declared globally by mistake
This can have an impact in map listing, because dataToload will
be shared.
2023-10-27 16:12:12 +02:00
Yohan Boniface
a0da0b31a7
Merge pull request #1383 from umap-project/default-view-datalayer
Split defaultDatalayer in defaultView/EditDatalayer
2023-10-27 16:03:14 +02:00
Yohan Boniface
f053e06686 Default view datalayer code refacto 2023-10-27 15:59:37 +02:00
Yohan Boniface
b80d88f7b9
Merge pull request #1384 from umap-project/onload-at-import
Fix displayOnLoad not honoured at import
2023-10-27 15:47:35 +02:00
Yohan Boniface
c5a28755a2 Fix JS tests related to a11y a to button change 2023-10-27 12:55:24 +02:00
Yohan Boniface
882cc74bcf Fix displayOnLoad not honoured at import
fix #1043
2023-10-27 12:25:40 +02:00
Yohan Boniface
29ab98ede3 Split defaultDatalayer in defaultView/EditDatalayer
In view mode, we don't want the fallback to create a new datalayer.
2023-10-27 11:54:35 +02:00
Yohan Boniface
85389699fd
Merge pull request #1379 from umap-project/default-props-no-redraw
Keep only non graphic props in default properties, to prevent useless redraw
2023-10-27 09:11:07 +02:00
Yohan Boniface
986e70637a Prevent more useless redraw when editing global settings 2023-10-26 23:07:02 +02:00
Yohan Boniface
9eea9f942d
Merge pull request #1380 from umap-project/range-step-rounding
Round range step to 1 digit
2023-10-26 22:56:47 +02:00
Yohan Boniface
ac56194487
Merge pull request #1381 from umap-project/max-zoom-limit-24
Increase maxZoomLimit to 24
2023-10-26 22:56:22 +02:00
Yohan Boniface
852857412b Increase maxZoomLimit to 24
Even if this limit is not a hard limit, just a warning, we now
have been proven some maps using custom backgrounds use zooms
greater than 20.

Eg. this maps which allows zoom until 23:

https://umap.openstreetmap.fr/fr/map/cimetiere-asnieres-la-giraud_716488
2023-10-26 22:40:54 +02:00
Yohan Boniface
bacf8922c8 Round range step to 1 digit 2023-10-26 22:38:41 +02:00
Yohan Boniface
59e4fb9663
Merge pull request #1376 from umap-project/csv-export
Add minimal CSV export
2023-10-26 19:23:34 +02:00
Yohan Boniface
9d5ff35636 Keep only non graphic props in default properties, to prevent useless redraw 2023-10-26 17:21:45 +02:00
Yohan Boniface
9434744219 Fix filter data crashing when data contains non string values
It may happen when data comes from an import.

fix #1377
2023-10-26 16:54:43 +02:00
Yohan Boniface
78b6025ef1 Add minimal CSV export
cf https://forum.openstreetmap.fr/t/export-csv-depuis-une-umap/18290
cf #123
fix #608
2023-10-26 14:28:18 +02:00
Yohan Boniface
47e5a0676a Fix max not loading when defaultView=latest and datalayer has no data
When the default datalayer has no data, we need a fallback

fix #1374
2023-10-24 15:08:42 +02:00
Joachim Schleicher
9b22cb4ab7 prettier.js
fixup 836c17f
2023-10-22 20:52:35 +02:00
Joachim Schleicher
86b27ceb0f pin marker: fix ball 'square'ish 2023-10-22 19:49:52 +02:00
Joachim Schleicher
b149a69efd add test case for path higlight
therefore setting opacity of the example path to 0.6
2023-10-19 21:31:52 +02:00
Joachim Schleicher
7d6830c7c6 add test case for 88746d5 2023-10-19 21:08:57 +02:00
Joachim Schleicher
88746d593c move higlight() into Marker class
options.icon pointer is invalid after hide() show() cycle.
2023-10-19 20:57:40 +02:00
Yohan Boniface
219b3e17dd Fix picto in add datalayer button 2023-10-18 11:52:07 +02:00
Yohan Boniface
412a159cc2
Merge pull request #1370 from umap-project/drag-n-drop
Add experimental drag and drop of file on the map container
2023-10-18 09:12:10 +02:00
Joachim Schleicher
5778c4ff65 add testcase for marker highlight 2023-10-17 21:45:05 +02:00
Yohan Boniface
c50e21e395 Release scroll wheel zoom on drop 2023-10-17 21:15:47 +02:00
Joachim Schleicher
65ba1cd3ee simply call _redraw to reset style
thanks for the review to @yohanboniface
2023-10-17 20:55:37 +02:00
Yohan Boniface
48c86812b6 i18n 2023-10-17 10:35:51 +02:00
David Larlet
1d94ebbaa3
Responsiveness of the header when logged in 2023-10-16 16:28:41 -04:00
David Larlet
85c1af2b50
Use the createLink function when pertinent 2023-10-16 16:19:03 -04:00
David Larlet
8656ca3059
Deal with browsable layers from left sidebar 2023-10-16 15:46:11 -04:00
David Larlet
740ff90262
Keep save button in blue on hover 2023-10-16 15:37:25 -04:00
David Larlet
222af1b528
Header’s styles for logged in user 2023-10-16 15:37:09 -04:00
David Larlet
e87a77cf43
Hide the next icon in buttons’ sprites 2023-10-16 15:18:16 -04:00
David Larlet
9c7269eabc
Better styles for buttons and tooltips 2023-10-16 14:48:20 -04:00
David Larlet
79117f2a66
Better styles for buttons (vs. links) 2023-10-16 10:23:31 -04:00
David Larlet
7695906c38
Better styles for buttons (vs. links) 2023-10-16 10:23:30 -04:00
David Larlet
a28d427ba1
Set a default type="button" for JS buttons
> The `button` [type] has no default behavior, and does nothing when pressed by default. It can have client-side scripts listen to the element's events, which are triggered when the events occur. — https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button
2023-10-16 10:22:21 -04:00
David Larlet
688ef19c04
A11Y: switch from links to buttons when pertinent 2023-10-16 10:22:20 -04:00
Yohan Boniface
eda14bd742 Add affordance to drag-n-drop file onto the map 2023-10-13 17:02:08 +02:00
Yohan Boniface
b5bf1396f3 Experimental drag and drop of file on the map container 2023-10-13 12:01:19 +02:00
Yohan Boniface
3c234ead5b Add missing function after cherry-picking 2023-10-13 12:00:59 +02:00
Yohan Boniface
a94cac53ac Move map.importPanel to controls, as other similar functions 2023-10-13 11:58:47 +02:00
Yohan Boniface
7bdd56ee9e
Merge pull request #1369 from umap-project/heatlayer-map
Add back HeatLayer._map reference check
2023-10-12 11:45:05 +02:00
Yohan Boniface
1e8c51b0e5 Add back HeatLayer._map reference check
In some situation, the property is undefined, given the call is async,
and we can add/remove the layer during the async stack
2023-10-12 11:06:14 +02:00
Yohan Boniface
1f61378aac Fix map reference in DataLayersControl
This would create an error when DataLayersControl is not added to
the map, but the mouseenter/leave event would still be active through
the datalayers list
2023-10-12 10:57:05 +02:00
Yohan Boniface
8fdddddc9e Prevent computing choropleth breaks for each feature when importing
When importing a choropleth layer, the layer does not have a umap_id,
thus "hasDataLoaded" is immediately true, instead of being true when
all the "known" data is imported.

At this point, I can't find a good reason to keep the check on umap_id,
so let's remove and move forward.
2023-10-12 10:07:51 +02:00
Yohan Boniface
7318ebd2f9 choropleth: be more defensive when consuming breaks 2023-10-12 10:06:19 +02:00
Yohan Boniface
3119c75fb2 i18n 2023-10-12 09:19:37 +02:00
Yohan Boniface
6aa6eb4c11
Merge pull request #1136 from umap-project/choropleth
Add experimental choropleth datalayer type
2023-10-12 08:47:30 +02:00
Yohan Boniface
02342c487a Choropleth: allow to control breakpoints manually 2023-10-12 08:39:47 +02:00
Yohan Boniface
dac1f16bc6
Merge pull request #1358 from umap-project/heat-improvements
Heatmap improvements
2023-10-11 22:50:30 +02:00
Yohan Boniface
c2feba1df0
Merge pull request #1349 from umap-project/toggle-attribution
Hide attribution on small screen and add a small ? to display it
2023-10-11 22:49:44 +02:00
Yohan Boniface
739626351c Choropleth: replace chromajs by colorbrewer + simple-statistics
simple-statistics has a few advantages:
- faster
- more accurate kmeans algo
- Jenks-Fisher algo

Also, I suspect will use it again for next step, which is Bubble
mode layer.
2023-10-11 19:36:12 +02:00
Yohan Boniface
e97e566c42 Use non full white as left color for default choropleth color scale 2023-10-10 21:58:38 +02:00
Yohan Boniface
3d2ad3c1c6
Update umap/static/umap/map.css
Co-authored-by: David Larlet <3556+davidbgk@users.noreply.github.com>
2023-10-10 21:40:34 +02:00
Yohan Boniface
bcd9b1ac04 Fix getOption not considering null values 2023-10-10 21:22:19 +02:00
Yohan Boniface
84a5b3c6f5 Fix Choropleth JS tests 2023-10-10 21:22:19 +02:00
Yohan Boniface
35758a1e13 Choropleth: do not add layer before knowing the whole dataset
And only compute limits once.
2023-10-10 21:16:01 +02:00
Yohan Boniface
d9522d9c1f Add default value to choropleth mode MultiChoice 2023-10-10 21:16:01 +02:00
Yohan Boniface
ce39afc64a Allow to override MultiChoice default value 2023-10-10 21:16:01 +02:00
Yohan Boniface
7fd905741a Use MultiChoice input for "choropleth mode" 2023-10-10 21:16:01 +02:00
Yohan Boniface
3334db3fa2 Use Range input for choropleth steps, and limit to 9
This limit comes from ColorBrower sequential color sets, which
we use.
2023-10-10 21:16:01 +02:00
Yohan Boniface
82bb017b23 Basic Choropleth tests 2023-10-10 21:16:01 +02:00
Yohan Boniface
125aa72785 Make choropleth mode work with lines 2023-10-10 21:16:01 +02:00
Yohan Boniface
7b68c52a15 Allow to select choropleth property from a list instead of gessing it 2023-10-10 21:16:01 +02:00
Yohan Boniface
6c502c54b4 Better defaults for choropleth layer 2023-10-10 21:16:01 +02:00
Yohan Boniface
451eb8c0bf Naive Choropleth legend, WIP 2023-10-10 21:16:01 +02:00
Yohan Boniface
7a0dbd014a There is one more limit than the number of steps
Limits are steps boundaries, and first limit is always the lower value,
and latest limit always the bigger.
2023-10-10 21:16:01 +02:00
Yohan Boniface
bf116e8d93 Use brewer palettes for choropleth colors
cf https://gka.github.io/chroma.js/#chroma-brewer
2023-10-10 21:16:01 +02:00
Yohan Boniface
5d350a7cc9 Control property used in choropleth 2023-10-10 21:16:01 +02:00
Yohan Boniface
8e12e6cf24 POC of a choropleth layer 2023-10-10 21:16:01 +02:00
Yohan Boniface
31ea8d1a83
Merge pull request #1362 from umap-project/hide-datalayer-in-caption
Allow to hide a datalayer from the caption list
2023-10-10 21:06:09 +02:00
Joachim Schleicher
9ef09512db highlight: increase fillOpacity for polygons
sqrt gives larger increase for low opacities like 0.2
while preserving some (tiny) shine-through for large values like 0.8
and is limited to the desired range of (0,1]
2023-10-10 10:47:36 +02:00
Joachim Schleicher
836c17f2e8 fire events from Popup Panel
to also highlight path and markers when using the side panel.
Therefore we duplicate the event code from the base class.
2023-10-10 10:29:20 +02:00
Joachim Schleicher
3594bc2605 highlight markers
add .umap-icon-active class for currently selected marker icon.
CSS styles override the marker styles to display
* in the foreground
* with full opacity
* with larger sizes where possible (ball and circle)
2023-10-10 10:29:20 +02:00
Yohan Boniface
da01977414 Fix permissions tests 2023-10-09 18:30:44 +02:00
Yohan Boniface
547485e50f Allow to hide a datalayer from the caption list 2023-10-06 22:26:31 +02:00
Joachim Schleicher
7696203159 highlight selected path
when opening a popup increase opacity and weight.
In maps with multiple lines one can see much easier, where the line
starts and ends.
2023-10-05 21:18:05 +02:00
Yohan Boniface
5bfa2fce38 Patch HeatLayer for better rendering
Patch comes from https://github.com/Leaflet/Leaflet.heat/pull/78

We'll remove it when this PR get merged and released.
2023-10-05 18:15:59 +02:00
Yohan Boniface
ca7257658c Make that Range inherit from FloatInput
Otherwise we store a string
2023-10-05 18:15:21 +02:00
Yohan Boniface
3e54310c8d Add Range input for heatmap radius 2023-10-05 17:36:07 +02:00
Yohan Boniface
a5c7214533 Add back helpText on Range input 2023-10-05 17:32:27 +02:00
Yohan Boniface
20cdc837af Use toFixed instead of toPrecision in Range input
toPrecision returns an exponential notation for example for:
 const x = 100
 x.toPrecision(2)
2023-10-05 15:14:28 +02:00
Yohan Boniface
34122b1549
Remove unused CSS class .third
Co-authored-by: Joachim Schleicher <joachimsl@gmx.de>
2023-10-04 09:36:55 +02:00
Joachim Schleicher
79a1ea232a switch to grid layout for multiple choice buttons
to allow multi-line texts in translations
2023-10-04 09:19:09 +02:00
Yohan Boniface
ff27cdd04a Hide attribution on small screen and add a small ? to display it
fix #844
2023-09-27 10:30:57 +02:00
Yohan Boniface
677fd3d982
Merge pull request #1336 from umap-project/shared-edit-url
Redirect to canonical when URL contains the ?edit parameter
2023-09-27 07:17:29 +02:00
Yohan Boniface
013d2fd5ee Always remove ?edit from URL, so users do not share it by mistake 2023-09-27 07:13:30 +02:00
Yohan Boniface
50591e1ac5 i18n 2023-09-27 06:48:00 +02:00
Joachim Schleicher
ccda9aca3f Fix #1308
The star indicating a dirty map uses more than 5px (depending on font-size).
So the additional star switched from showing the map name to
ellipses-overflow in px-implementation.
1ch is the with of the digit '0'.
2023-09-26 20:57:58 +02:00
Yohan Boniface
44910f5410 Do no try to fit data bounds if bounds are not valid
This may happen if:
- the map as some layers containing data, but set as not browsable
- any other layer is empty
2023-09-26 10:49:01 +02:00
Yohan Boniface
649f21a0d5
Merge pull request #1339 from umap-project/browse-in-bbox
Allow to restrict data browser items to current map view
2023-09-26 08:16:22 +02:00
Yohan Boniface
af78d1e348
Merge pull request #1343 from umap-project/popup-large-width
Set an explicit width to popup large container
2023-09-25 22:00:15 +02:00
Yohan Boniface
a37c6005ce Set an explicit width to popup large container
Until now, the width was computed on the fly by Leaflet, based
on the popup content, but this leads to a bunch of issue on
image/iframe width.

cf https://forum.openstreetmap.fr/t/bugs-divers-relevees-sur-une-umap-absent-sur-une-autre/17254/8
2023-09-25 18:30:58 +02:00
David Larlet
27e8fd0cac
Merge pull request #1324 from openbrian/add-username-to-features
Add username to features
2023-09-25 11:08:32 -04:00
Yohan Boniface
1597cd731e Data browser: add back placeholder 2023-09-25 14:35:27 +02:00
Yohan Boniface
0ad6e425b5 Refactor data browser
- move a dedicated class (function was becoming big)
- user FormBuilder instead of custom form elements
2023-09-25 13:42:14 +02:00
Yohan Boniface
9cf2bf1578 Allow to restrict browser items to current map view 2023-09-25 13:33:58 +02:00
Yohan Boniface
ff89125c80 Redirect to canonical URL when people share the ?edit link 2023-09-23 20:48:45 +02:00
Yohan Boniface
dcbec3534c Fix datalayer's data duplicated at first save 2023-09-22 20:48:08 +02:00
Yohan Boniface
17104bfcbd Consume editMode from query string the proper way 2023-09-22 20:21:49 +02:00
Yohan Boniface
d67a17eca3 Do not try to set editMode on _umap_options for old maps 2023-09-22 19:03:01 +02:00
Yohan Boniface
76debf318b i18n 2023-09-22 18:28:41 +02:00
Yohan Boniface
2c7b6153b4 i18n 2023-09-22 18:27:41 +02:00
David Larlet
2563357c02
Merge pull request #1321 from umap-project/1318-restrict-zoom-options
Restrict possible min/max zoom values
2023-09-22 12:12:56 -04:00
David Larlet
f6dbb7d45b
Correct url type for background url templates 2023-09-22 12:10:53 -04:00
David Larlet
aed9e898e9
Restrict possible min/max zoom values
Fix #1318
2023-09-22 12:00:15 -04:00
Yohan Boniface
c36ea1e4b8 Fix error when trying to change map owner
This bug has been introduced with this change:

8b4842ff21

That was not the correct fix, and this one should be the proper one.

We don't want to edit the permissions reference until we do save, otherwise user
cannot save as it is already no more the owner.

So:
- change permissions.options
- save
- commit those changes to map.options.permissions
- use only those values to check for isOwner and isAnonymousMap
2023-09-22 17:34:44 +02:00
Yohan Boniface
157146dc04 Do not make map name and share status label clickable unless user can edit 2023-09-22 17:32:19 +02:00
Yohan Boniface
f05bdb2ac3 Use datalayer.isDataReadOnly in feature.isReadOnly 2023-09-22 17:32:19 +02:00
Yohan Boniface
e13f3ac235 Add DataLayer.isDataReadonly
In some places we need to know if a given datalayer can accept new
features, or not, whether because being readonly or being remote
2023-09-22 17:32:19 +02:00
Yohan Boniface
5ffd1a1b10 Expose DataLayer.edit_status separately to the front
They now differ from the Map.edit_status ones
2023-09-22 17:32:19 +02:00
Yohan Boniface
3cbd6cca40 Add back Map.edit_status
Revert "Fix existing permissions related tests"

This reverts commit 36d7d87301.

WIP
2023-09-22 17:32:19 +02:00
Yohan Boniface
5f5196a52d Make sure to select only editable layers for attachin to features 2023-09-22 17:32:19 +02:00
Yohan Boniface
0afb0bff82 Include layer name in translation 2023-09-22 17:32:19 +02:00
Yohan Boniface
36befefbc6 Fix permissions related frontend tests 2023-09-22 17:32:19 +02:00
Yohan Boniface
84e3aa7121 Add default value for DataLayer.options.editMode 2023-09-22 17:32:19 +02:00
Yohan Boniface
6b269125d4 Make sure only owner see the delete map button 2023-09-22 17:32:19 +02:00
David Larlet
ddada8fb2b Remove the hasDirty concept
And only save the map in case of an `advanced` `editMode`.
2023-09-22 17:32:19 +02:00
Yohan Boniface
24e4aed8d3 Rename allowEdit in editMode 2023-09-22 17:32:17 +02:00
Yohan Boniface
de7c693c7b Remove console.log 2023-09-22 17:30:08 +02:00
Yohan Boniface
e06da18f1e Fix helptext not displayed in anonymous permissions panel 2023-09-22 17:26:57 +02:00
Yohan Boniface
1cefd4e851 Hide create/delete datalayers button + map settings to users without rights 2023-09-22 17:26:57 +02:00
Yohan Boniface
35d7a5c550 Remove unused icon in 16.svg 2023-09-22 17:26:57 +02:00
Yohan Boniface
9189262855 Do not try to save map itself unless it has been modified 2023-09-22 17:26:57 +02:00
Yohan Boniface
70a1a1d584 Move copyToClipboard to L.Util 2023-09-22 17:26:57 +02:00
Yohan Boniface
76239ef55c Make DataLayer.isReadOnly explicit and true by default 2023-09-22 17:26:56 +02:00
Yohan Boniface
3d2e62c858 Do not use Map.edit_status anymore
But keep it for now, for data migration, and just in case
2023-09-22 17:26:55 +02:00
Yohan Boniface
de907dcb50 Do not expose readonly datalayers for features 2023-09-22 17:25:55 +02:00
Yohan Boniface
89ab029cab WIP: move edit_status from Map to DataLayer 2023-09-22 17:25:55 +02:00
Brian DeRocher
6720f76d85 Set the map option. No need for setting boolean from query string.
Only add the owner property if the feature flag (map.options.featuresHaveOwner) is enabled.

Default to features do NOT have owners.
2023-09-20 13:16:52 -04:00
Brian DeRocher
77b56623ed Remove field from map settings form. 2023-09-20 13:07:12 -04:00
Brian DeRocher
6c58bf367d Use camelcase and fix typo. 2023-09-20 13:03:36 -04:00
Brian DeRocher
e25fb5d04f Add FeaturesHaveOwners map option.
WIP
2023-09-20 12:48:32 -04:00
Brian DeRocher
e76c147b65 owner is no longer a form field. 2023-09-20 10:53:27 -04:00
Brian DeRocher
35e37c2d4b Add translation for "owner". 2023-09-20 10:52:13 -04:00
Brian DeRocher
e2b789e575 Do not use the form for the owner property.
Only add the owner property to defaultProperties, if there is a user.  In other words the user can use the map without logging in.
2023-09-20 10:51:01 -04:00
Brian DeRocher
9c89c50560 Set a default property for features that the owner is the current user.
https://github.com/umap-project/umap/issues/430
2023-09-19 19:13:14 -04:00
Yohan Boniface
038a1a3c4d
Merge pull request #1315 from umap-project/dot-in-property
Remove dot in property name
2023-09-19 07:35:10 +02:00
Yohan Boniface
9120d54be7 Fix table editor not closing anymore from fullwidth
(From f3b5c82767)
2023-09-18 13:02:19 +02:00
Yohan Boniface
647d8910c0 Remove dot in property name
Otherwise it will break when trying to access it in FormBuilder
2023-09-18 12:21:06 +02:00
Yohan Boniface
9f47b0fc55 i18n 2023-09-18 11:19:40 +02:00
Yohan Boniface
0a83c42724
Merge pull request #1313 from jschleic/feature-1312
Add outlinkTarget to default interactionProperties
2023-09-15 12:15:47 +02:00
Yohan Boniface
13d398318d Tests: fix toggle edit panel check
We do not remove the panel content anymore
2023-09-15 12:11:13 +02:00
Joachim Schleicher
db31aa119e Add outlinkTarget to default interactionProperties
Fix #1312
2023-09-14 10:36:23 +02:00
David Larlet
f535993201
Add a powered by uMap footer
Fix #1304
2023-09-08 17:17:11 -04:00
Yohan Boniface
aa1b04b3ad
Merge pull request #1298 from umap-project/fix-remotelayer-with-zoom-onload
Try to fix remote datalayer not sending dataloaded
2023-09-08 16:02:37 +02:00
Yohan Boniface
aca473692a
Merge pull request #1303 from umap-project/icons-quick-changes
Enhance icon selector form
2023-09-08 16:01:25 +02:00
Yohan Boniface
4857d7c29c Use css width for img custom width
The width attribute is the intrinsic width of the image, and thus
it will not overwrite the default CSS

cf https://forum.openstreetmap.fr/t/bugs-divers-relevees-sur-une-umap-absent-sur-une-autre/17254/5
2023-09-07 07:16:55 +02:00
Yohan Boniface
4009e759dc Prevent HTML blinking when loading icons list 2023-09-05 11:21:17 +02:00
Yohan Boniface
d72ae3fc34 Very minimal search input for icons list
fix #1302
2023-09-05 10:55:35 +02:00
Yohan Boniface
ce7575c5eb But back icon preview 2023-09-05 10:29:44 +02:00
Yohan Boniface
c5084c4332 Add toggle link to show/hide iconUrl raw input 2023-09-05 10:14:24 +02:00
Yohan Boniface
91e71eccda Change button look in icon form 2023-09-05 09:41:09 +02:00
Yohan Boniface
bfd36bc0e1 Do not reset icon list on icon choice
cf #1302
2023-09-05 09:38:07 +02:00
Yohan Boniface
c08e7c5527 Remove duplicate help text in icon advanced free field 2023-09-05 09:36:30 +02:00
Yohan Boniface
09d0891318 Change link color in dark mode 2023-09-05 09:36:05 +02:00
Yohan Boniface
648fe65f14 WIP: try to fix remote datalayer not sending dataloaded
This occurs when the remote datalayer has a min or maxZoom defined,
and the map is loaded outside those zooms. In this case, when
calling fetchRemoteData, the fetch was never done, nor the final
call to fromGeoJSON, which would have sent the dataloaded event.
2023-09-01 20:31:34 +02:00
Yohan Boniface
33e1bb87ca i18n 2023-09-01 17:35:05 +02:00
Yohan Boniface
d4c0bc0854
Merge pull request #1292 from umap-project/panel-portrait
Better distinguish panel behaviour in portrait vs landscape modes
2023-09-01 17:28:58 +02:00
Yohan Boniface
1cd1094398
Merge pull request #1293 from umap-project/feature-name-focus
Put focus on name when opening feature edit panel
2023-09-01 17:26:10 +02:00
Yohan Boniface
078bff3f2b
Merge pull request #1294 from umap-project/help-button-icon
Restore help button icon
2023-09-01 17:24:42 +02:00
Yohan Boniface
cb13b4e04d
Merge pull request #1297 from umap-project/popup-large-img-min-width
Add back min-width for img in popup-large
2023-09-01 17:23:01 +02:00
Yohan Boniface
87f6b98a99 Add back min-width for img in popup-large 2023-09-01 17:21:43 +02:00
Yohan Boniface
d89d2287b9 Fix datalayers with min/maxZoom never sending dataloaded event 2023-09-01 17:02:23 +02:00
Yohan Boniface
1b60b46a3f Delete old options after consuming them 2023-09-01 17:00:51 +02:00
Yohan Boniface
562f516272 Minimap exports tests 2023-08-31 17:48:59 +02:00
Yohan Boniface
bf66036b7b Make sure we load all data before downloading it
fix #980
2023-08-31 16:36:34 +02:00
Yohan Boniface
d78f2e087e Restore help button icon
While changing the edit header help link, I've changed all help
buttons, which was not intended.
2023-08-31 15:24:21 +02:00
Yohan Boniface
3d32bf206b i18n 2023-08-31 12:07:33 +02:00
Yohan Boniface
96d6b45734 Put focus on name when opening feature edit panel
cf #243
2023-08-30 13:26:16 +02:00
Yohan Boniface
f3b5c82767 Better distinguish panel behaviour in portrait vs landscape modes
fix #870
2023-08-30 12:36:40 +02:00
Yohan Boniface
7ed6cfb2a4 Better position for disable icon 2023-08-30 11:35:52 +02:00
David Larlet
c122ecf5e4
Merge pull request #1287 from umap-project/edit-header-polish
Edit header polish: move "My Dashboard" and "Help" to the right, display asterisk in dirty mode
2023-08-29 13:14:30 -04:00
Yohan Boniface
4c8b4c66d0 Add border around minor button in edit toolbar 2023-08-29 18:14:36 +02:00
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
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
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
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
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
7814702721 Lite styling of user profile form 2023-08-21 17:10:12 +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
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
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
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
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
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
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
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
Yohan Boniface
3b1b877f64 i18n 2023-07-24 16:44:07 +02:00
Yohan Boniface
7a5a8794fd Add icons to better distinguish edit panels
cf #1156
2023-07-24 16:40:08 +02:00
Yohan Boniface
429e5d0b93 Use proper GPX mimetype
fix #1225
2023-07-24 09:33:20 +02:00
Yohan Boniface
cd49d11e5e Add target URL in CORS error message
fix #1226
2023-07-24 08:51:55 +02:00
Yohan Boniface
bd339db397
Merge pull request #1224 from umap-project/fix-tooltip-position
Do not modify tooltipAnchor inplace, as it's shared by all markers
2023-07-22 09:11:53 +02:00
Yohan Boniface
5261daf6ec
Merge pull request #1221 from umap-project/non-ascii-variables
Be more liberal in what chars a variable can contain
2023-07-22 09:10:12 +02:00
Yohan Boniface
fc7d693984 i18n 2023-07-22 09:07:56 +02:00
Yohan Boniface
2b1b80ae23 Do not modify tooltipAnchor inplace, as it's shared by all markers
fix #1223
2023-07-22 09:04:29 +02:00
Yohan Boniface
299e9e0821 Fix two JS tests broken since 8b4842ff21 2023-07-20 14:19:50 +02:00
Yohan Boniface
95e1745e6f Be more liberal in what chars a variable can contain
May break some undocumented cases…

cf #139 #676
2023-07-20 14:14:56 +02:00
Yohan Boniface
0d4d4cd147 i18n 2023-07-20 09:08:51 +02:00
Yohan Boniface
145d5c6c7d i18n 2023-07-19 21:53:18 +02:00
Yohan Boniface
48b8ec4ed6 i18n 2023-07-19 15:49:20 +02:00
Yohan Boniface
261a7547a6 i18n 2023-07-19 15:47:13 +02:00
Yohan Boniface
04a36556bd
Merge pull request #1217 from umap-project/arobase-in-variable
Allow to use arobase in variables
2023-07-19 15:42:22 +02:00
Yohan Boniface
6a7eefe460
Merge pull request #1214 from umap-project/labelkey-help
Update labelKey help text
2023-07-19 15:22:36 +02:00
Richlv
d921d3d6dd
typo fixes 2023-07-19 13:45:13 +03:00
Yohan Boniface
56586125a4 Allow to use arobase in variables
fix #1028
2023-07-19 08:25:31 +02:00
Yohan Boniface
54e5064d70 Update labelKey help text
fix #1022
2023-07-19 08:16:14 +02:00
Yohan Boniface
6abc088121 i18n 2023-07-17 16:16:08 +02:00
Yohan Boniface
c1f8684a29 Replace si_LK by si 2023-07-17 16:00:55 +02:00
Yohan Boniface
6021191522 i18n 2023-07-17 15:16:45 +02:00
Yohan Boniface
d26db7f0bc
Merge pull request #1211 from umap-project/mousewheel-to-wheel
Switch from mousewheel to wheel, as Leaflet did
2023-07-17 15:06:18 +02:00
Yohan Boniface
bbcf9d8b96 Switch from mousewheel to wheel, as Leaflet did
Otherwise, wheel will zoom the map even when sent on a panel or
control.
2023-07-17 12:33:35 +02:00
Yohan Boniface
37732b8f16 Fix tooltip anchor not updated anymore according to the direction
This is a change in Leaflet 1.7.0

cf https://github.com/Leaflet/Leaflet/issues/7302
2023-07-16 11:35:33 +02:00
Yohan Boniface
25d2d5adf5
Merge pull request #1203 from umap-project/iframe-popup
Better fit iframe in popup
2023-07-15 09:37:16 +02:00
Yohan Boniface
301f123371
Merge pull request #1205 from umap-project/fix-line-icons
Fix line edit icons
2023-07-15 09:36:56 +02:00
Yohan Boniface
7fb776c2a4 add thead and tbody in maps table 2023-07-15 09:31:54 +02:00
Yohan Boniface
bb4c027ec7 Allow to use http://umap.fr/map/xxxx?share to open shareBox on load
That way is more consistent with ?download and ?edit
2023-07-15 09:31:37 +02:00
Yohan Boniface
4c879ca991 Fix drag-hangle icon missing since svg switch 2023-07-13 19:38:13 +02:00
Yohan Boniface
c8065fb29e Fix line edit icons
fix #1204
2023-07-13 19:38:11 +02:00
Yohan Boniface
4d0ced9a98 Add very basic user dashboard 2023-07-12 09:09:01 +02:00
Yohan Boniface
3592307b4e Allow to download the full map data at load 2023-07-12 09:09:01 +02:00
Yohan Boniface
3786a767f2 Allow to open the map in edit mode 2023-07-12 09:09:01 +02:00
Yohan Boniface
63a7ef00ea Allow to open the share form on map load 2023-07-12 09:09:01 +02:00
Yohan Boniface
e1f34e20ff Fix typo in dataloading event names 2023-07-12 09:09:01 +02:00
Yohan Boniface
5088d97ca0 Better fit iframe in popup 2023-07-12 08:45:47 +02:00
Yohan Boniface
c2d8e93e8e i18n 2023-07-12 07:37:52 +02:00
Yohan Boniface
adb325bb79
Merge pull request #1201 from umap-project/bump-leaflet
Bump Leaflet to 1.9.4
2023-07-11 22:45:23 +02:00
Yohan Boniface
67e7ec7424
Merge pull request #1199 from umap-project/popup-overflow-x
We do not want horizontal overflow/scroll bar in popups
2023-07-11 22:43:05 +02:00
Yohan Boniface
08fed332cb Bump Leaflet to 1.9.4
Changelog:

https://github.com/Leaflet/Leaflet/blob/main/CHANGELOG.md

Sounds safe for us. Tested localy. Tests pass. Inch Allah.
2023-07-11 16:01:39 +02:00
Yohan Boniface
8b4842ff21 Fix permissions panel empty at first save
cf https://forum.openstreetmap.fr/t/apres-enregistrement-dune-carte-les-permissions-ne-sont-pas-presentes/15995
2023-07-11 08:33:32 +02:00
Yohan Boniface
3978e46356 We do not want horizontal overflow/scroll bar in popups
fix #1198
2023-07-10 07:04:51 +02:00
Yohan Boniface
31bf449e73 Display time in datalayer versions list
fix #852
2023-07-04 10:19:05 +02:00
Yohan Boniface
cf397956f9 i18n 2023-07-03 22:07:21 +02:00
Yohan Boniface
4b5234389e
Merge pull request #1188 from umap-project/layers-icons
Layers icons
2023-07-03 20:54:14 +02:00
Yohan Boniface
d05cd1ecff Adjust multiline icon so it does not show up on datalayer icon box 2023-07-03 20:52:33 +02:00
Yohan Boniface
f9e4f13e86 Fix datalayers icon position
Otherwise we see the top border of the icon below…
2023-07-03 20:47:25 +02:00
Yohan Boniface
133a74b1f9
Merge pull request #1190 from umap-project/locale-vs-lang
Use LANGUAGE_CODE instead of locale name for browser APIs
2023-07-03 20:41:30 +02:00
Yohan Boniface
3ebc83c133 Do not ignore punctuation when sorting features
fix #1189
2023-07-03 20:19:39 +02:00
Yohan Boniface
339ef3555f Use LANGUAGE_CODE instead of locale name for browser APIs
fix #1187
2023-07-03 19:44:49 +02:00
Yohan Boniface
4153580a6a Invert datalayers and tilelayers icons in main toolbar 2023-07-03 19:07:30 +02:00
Yohan Boniface
1a5276d649 Invert tilelayers and datalayers icons on edit toolbar 2023-07-03 19:04:36 +02:00
Yohan Boniface
a2f98f989c change tilelayers icon 2023-07-03 19:02:07 +02:00
Yohan Boniface
30bbffff61 change datalayer icon 2023-06-30 18:33:56 +02:00
Yohan Boniface
9000e7c2f4
Merge pull request #1174 from umap-project/svg-icons
Svg icons
2023-06-30 16:26:32 +02:00
Yohan Boniface
78d0f13f97 Change arrow box border 2023-06-29 22:41:29 +02:00
Yohan Boniface
a27db07879 Use correct arrow more/less 2023-06-29 22:36:13 +02:00
Yohan Boniface
fa742a329f Move border of arrow more/less box to div to better align with other icons 2023-06-29 22:30:57 +02:00
Yohan Boniface
86bff268ba Move arrow icon to 24px
So we have more space around, otherwise there 1px of the narrow
icons appear.
2023-06-29 22:23:23 +02:00
Yohan Boniface
146e58a5bc Update icons from base.css too
A bunch of those are unused:

- i.info was used in helpTooltip, but it's not anymore
- umap-delete, umap-to-polyline and such was used in contextmenu,
  but are not anymore
2023-06-29 07:46:26 +02:00
Yohan Boniface
ad5057c5b8 Fix click-to-edit icon position 2023-06-28 22:12:39 +02:00
Yohan Boniface
9056b8603f Use svg for 16 px icons too
Those icons would need more love to better factorize the way
they are used:
- the size of the HTML element including the icon is not consistent
- some icons are on the default file but could be in the white one

To be done in a later step
2023-06-28 21:39:43 +02:00
Yohan Boniface
2e6272f8e2 Remove unused icon 2023-06-28 07:36:08 +02:00
Yohan Boniface
4a43c653f1 Switch 24-white.png to 24-white.svg 2023-06-28 07:34:07 +02:00
David Larlet
a96a1fa527
Reduce a bit the line-height for +/- zoom buttons 2023-06-27 16:03:04 -04:00
David Larlet
a62d88140e
Merge pull request #1175 from umap-project/1026-cors-error
Handle CORS errors with an explicit message
2023-06-27 15:51:36 -04:00
Yohan Boniface
509ff4efed
Merge pull request #1173 from umap-project/reverse-sort
Allow to sort reverse
2023-06-27 21:51:30 +02:00
Yohan Boniface
549f077f7b Update ru from transifex 2023-06-27 21:24:29 +02:00
Yohan Boniface
2149fd35a3 Better help message for sortKey 2023-06-27 18:39:06 +02:00
David Larlet
14830b867b
Handle CORS errors with an explicit message
Fix #1026
2023-06-27 11:59:38 -04:00
Yohan Boniface
df90340937 Switch 24.png to 24.svg 2023-06-27 14:04:02 +02:00
Yohan Boniface
1a8c6c846b Allow to sort reverse
cf #698
2023-06-26 09:44:21 +02:00
Yohan Boniface
5b151296e2 Move browser tests to Controls.js with others 2023-06-26 09:40:11 +02:00
Yohan Boniface
4c5fb43720
Merge pull request #1171 from umap-project/fullscreen-link-querystring
Fullscreen link should reflect the user choices
2023-06-26 08:10:07 +02:00
Yohan Boniface
d8dc71affc Declare directly fullUrl as a const 2023-06-26 08:09:19 +02:00
Yohan Boniface
75326aa6ee Prevent from using an id when restoring a umap backup
cf #1042
2023-06-26 08:02:15 +02:00
Yohan Boniface
10af29d01c WIP 2023-06-26 07:25:40 +02:00
Yohan Boniface
05a029f261 Fullscreen link should reflect the user choices
But the scollWheelZoom that is forced to true.

fix #390
2023-06-24 11:23:38 +02:00
Yohan Boniface
001b79795a
Merge pull request #1168 from umap-project/invalid-latlng
Be more strict when coordinates are set manually
2023-06-23 21:03:55 +02:00
Yohan Boniface
c8f853cbaf prettier js 2023-06-23 21:02:54 +02:00
Yohan Boniface
fe80358fd5
Merge pull request #1170 from umap-project/natural-sort
More natural sort of features
2023-06-23 18:12:12 +02:00
Yohan Boniface
ec021c7d02 Move Map.renderShareBox to controls, for consistency 2023-06-23 18:09:35 +02:00
Yohan Boniface
21b6c2f034 More natural sort of features
fix #353

+ a bit of prettier noise, sorry
2023-06-23 18:03:03 +02:00
Yohan Boniface
cf0c07b1b2
Merge pull request #1169 from umap-project/quick-delete
Add "delete" link in data browser
2023-06-23 15:29:09 +02:00
Yohan Boniface
bea0f441c3
Merge pull request #1160 from umap-project/smart-color
Allow to use properties as color value
2023-06-23 15:26:50 +02:00
Yohan Boniface
31f158abe1
Update umap/static/umap/js/umap.features.js
Co-authored-by: David Larlet <3556+davidbgk@users.noreply.github.com>
2023-06-23 15:26:00 +02:00
Yohan Boniface
c3aa2aeb30
Merge pull request #1162 from umap-project/link-target
Control links target
2023-06-23 15:25:34 +02:00
Yohan Boniface
b267615062 Remove unused vars 2023-06-23 15:24:50 +02:00
Yohan Boniface
1e96515669 Add "delete" link in data browser
fix #692
2023-06-23 14:53:07 +02:00
Yohan Boniface
98f4e69abb getSmartOption => getDynamicOption 2023-06-23 08:15:39 +02:00
Yohan Boniface
d16feca225
Merge pull request #1163 from umap-project/fix-1042
Pass options at datalayer creation when importing from umap file
2023-06-23 08:12:21 +02:00
Yohan Boniface
666fed3d9c Be more strict when coordinates are set manually
cf https://forum.openstreetmap.fr/t/impossible-de-charger-la-carte-carte-acteurs-naturels-batiment/15607/7
2023-06-23 08:07:49 +02:00
Yohan Boniface
da1c0addbc Expose 'locale' parameter in templates
fix #183
2023-06-22 07:06:44 +02:00
Yohan Boniface
e7d47b4ce5 Pass options at datalayer creation when importing from umap file
fix #1042

Until now, we create an empty datalayer (which has some defaults),
then we overwrite the options while calling fromGeoJSON method
2023-06-21 13:47:12 +02:00
Yohan Boniface
a1ec50ed8c Allow to define outlinkTarget at layer level 2023-06-21 12:24:29 +02:00
Yohan Boniface
3f8db1191f Allow to control popup links target 2023-06-21 12:19:01 +02:00
Yohan Boniface
2a04af162a Make outlink and outlinkTarget available for each feature
It was only for polygon until then.

cf #323
2023-06-21 12:00:34 +02:00
Yohan Boniface
d54d3aa514 Allow to use properties as color value
cf #858
2023-06-21 09:59:37 +02:00
Yohan Boniface
0aec986c10 Advanced filter should not affect non browsable layers 2023-06-20 21:57:35 +02:00
Yohan Boniface
1620c0567b Create DataLayer.renderLegend 2023-06-20 20:35:17 +02:00
Yohan Boniface
615498d3bf
Merge pull request #1151 from umap-project/ctrl-shift-click
Document Shift-Click and add Ctrl-Shift-click to edit datalayer
2023-06-20 20:24:50 +02:00
Yohan Boniface
2f4fe8a011 Uppercase "Click" 2023-06-20 20:22:17 +02:00
Yohan Boniface
12df0f757e Move L.U.Map.displayCaption to umap.controls.js
Let's be consistent, all other control like actions are there.
2023-06-20 20:21:00 +02:00
Yohan Boniface
3b466c2d19 Use + between keys in help texts 2023-06-20 20:12:38 +02:00
Yohan Boniface
97fe3d7d20 Do not force scroll on popup content
fix #1152
2023-06-20 20:08:29 +02:00
Yohan Boniface
6642d4a4f4 Use ⇧ instead of Shift in help messages 2023-06-20 19:50:11 +02:00
Yohan Boniface
58cf784b7e Make ctrl-shift-click work on MacOS too 2023-06-20 19:15:57 +02:00
David Larlet
4e8ebfa722
Set font-display: swap; for fonts definition
> Gives the font face an extremely small block period and an infinite swap period. — https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display#values
2023-06-20 10:20:21 -04:00
Yohan Boniface
3cee4fda01 Document Shift-Click and add Ctrl-Shift-click to edit datalayer 2023-06-19 10:45:18 +02:00
David Larlet
ac8f343d67
Back to max-height only for datalayers
Refs https://github.com/umap-project/umap/pull/1149
Refs https://github.com/umap-project/umap/pull/1143

There are still issues with resize+(max-)height combination, to be addressed in a future release.
2023-06-17 09:06:36 -04:00
pfbreton-perso
5dd0c2394a
browse datalayers overflow fix
In my previous improvement where I suggested to set the height of datalayers to the size of the content and add a resize handle i neglected the case where a very long list of layers could make the control unusable by overflowing the available screen space.

I suggest to reintroduce a maximum height so that we have a good compromize between resizing the datalayer list and the maximum possible size.
2023-06-17 09:06:36 -04:00
Yohan Boniface
7320e6f9fd
Merge pull request #1148 from umap-project/overflow-popup
Overflow popup
2023-06-16 19:34:46 +02:00
Yohan Boniface
b04016d305 Remove unused CSS class 2023-06-16 19:32:01 +02:00
Yohan Boniface
4ee33c0434 Move overflow-y directive to umap-popup-content
fix #1146
2023-06-16 19:06:53 +02:00
Yohan Boniface
8701358b2b Remove DOM unused element from popup 2023-06-16 19:06:31 +02:00
Yohan Boniface
8b4ffba859 Show messages also in the content part
Messages are already shown in the map, if any.
2023-06-16 14:45:43 +02:00
pfbreton-perso
d53bbf84f2
Ability to resize the list of layers displayed on the map
This is a proposed change to resize the list of layers to fit the content of the list by default and give the ability to resize the window.

I felt that I was constrained by the fixed size that wasn't displaying enough layers to be comfortable to use.
2023-06-15 11:52:10 -04:00
David Larlet
8400d9f03a
Even better with a test
Refs 4fca2cccca
2023-06-14 12:59:44 -04:00
David Larlet
4fca2cccca
Allow geo: scheme in (description) links
Fix #1140
2023-06-14 12:56:32 -04:00
Yohan Boniface
65628fe202 make lebab :p 2023-06-08 14:46:50 +02:00
Yohan Boniface
6efa674884 Allow to control icon opacity
fix #236
2023-06-08 10:09:31 +02:00
Yohan Boniface
5870d55fff Remove L.U.Icon._setColor
Let's use setIconStyles from Leaflet instead
2023-06-08 09:53:18 +02:00
Yohan Boniface
74844f53a3 i18n 2023-06-07 09:12:33 +02:00
Yohan Boniface
1eec9011ff i18n 2023-06-07 09:11:45 +02:00
David Larlet
fad196bff7
Display the current version + link to changelog 2023-06-06 14:05:35 -04:00
David Larlet
b1179a7443
Avoid popup content to extend beyond the space allowed
Fix #1126
2023-06-06 09:10:51 -04:00
Yohan Boniface
9fc1c3f336 i18n 2023-06-05 09:22:31 +02:00
Yohan Boniface
06c156ffcf i18n 2023-06-04 08:52:03 +02:00
Yohan Boniface
863c2e18d2 Display username in edit-toolbar when logged in 2023-06-04 08:45:10 +02:00
Yohan Boniface
6e0c4723a4
Merge pull request #1102 from umap-project/mail-link
Add a button to send edit link by email in anonymous mode
2023-06-02 23:32:34 +02:00
David Larlet
8b1b36f740
Fix width of columns in popups and tables
See https://umap.openstreetmap.fr/en/map/example01_923828#5/53.606/9.009 for example
2023-06-02 14:24:28 -04:00
David Larlet
725feb8d01
Fallback to copy to clipboard without HTTPS 2023-06-02 11:50:03 -04:00
David Larlet
ca97a4d745
Bump constrasts on buttons 2023-06-02 11:41:40 -04:00
Yohan Boniface
d180caa0d5 Fix closing alert on callback 2023-06-01 09:32:44 +02:00
Yohan Boniface
cfe6bdf2a8 Fix closing the alert when clicking on an action button 2023-05-31 18:40:52 +02:00
Yohan Boniface
5d6afdfb1b Add a "Copy link" button near to the anonymous edit link 2023-05-31 18:32:51 +02:00
Yohan Boniface
e0760ca403 Only ask to send edit link if email has been set up 2023-05-31 17:20:22 +02:00
Yohan Boniface
8f52d34bb2 WIP: final bit to make sending edit link working 2023-05-31 17:05:57 +02:00
Yohan Boniface
7f2545f09b Allow to use Infinity for an alert duration 2023-05-31 16:16:31 +02:00
Yohan Boniface
69bf6593ac (WIP) Add a button to send edit link by email in anonymous mode 2023-05-31 14:50:43 +02:00
Yohan Boniface
b61b5a48a3 Fix wrong assignement to const 2023-05-31 10:22:37 +02:00
Yohan Boniface
945042a65f i18n 2023-05-31 09:14:32 +02:00
David Larlet
2c2bd10e27
Better zoom set/modified wording
Fix #420, hopefully the fuzzy translations will be updated!
2023-05-30 18:29:57 -04:00
David Larlet
0cd1cf4ffc
Merge pull request #1094 from umap-project/use-dompurify
Use DOMPurify to escape malicious input from user
2023-05-30 15:49:29 -04:00
David Larlet
0a75998f11
Apply Lebab for template conversions 2023-05-30 14:53:53 -04:00
David Larlet
4a3c845eca
Handle iframes and target attribute with dompurify 2023-05-30 14:23:06 -04:00
David Larlet
fa3d653944
Update the test template to add the purify depency 2023-05-30 14:23:05 -04:00
David Larlet
3122286c8e
Use DOMPurify in escapeHTML() for a global impact 2023-05-30 14:22:04 -04:00
David Larlet
fd3f854a9c
Use DOMPurify to escape malicious input from user 2023-05-30 14:22:04 -04:00
David Larlet
8d6185c476
Manual review of Lebab for let/const conversions 2023-05-30 14:16:10 -04:00
David Larlet
56ce9ae22c
Apply Lebab for let/const conversions
As far as I understand, it default to `let` in these cases because the tool cannot figure out if a `const` is possible. It has to be checked manually:

```
./node_modules/lebab/bin/index.js --replace "umap/static/umap/js/*.js" --transform let
umap/static/umap/js/umap.xhr.js:
228:  warning  Unable to transform var  (let)
umap/static/umap/js/umap.ui.js:
83:  warning  Unable to transform var  (let)
umap/static/umap/js/umap.slideshow.js:
15:  warning  Unable to transform var  (let)
83:  warning  Unable to transform var  (let)
umap/static/umap/js/umap.popup.js:
100:  warning  Unable to transform var  (let)
umap/static/umap/js/umap.permissions.js:
14:  warning  Unable to transform var  (let)
umap/static/umap/js/umap.layer.js:
195:  warning  Unable to transform var  (let)
436:  warning  Unable to transform var  (let)
568:  warning  Unable to transform var  (let)
584:  warning  Unable to transform var  (let)
989:  warning  Unable to transform var  (let)
1088:  warning  Unable to transform var  (let)
1098:  warning  Unable to transform var  (let)
umap/static/umap/js/umap.js:
124:  warning  Unable to transform var  (let)
223:  warning  Unable to transform var  (let)
343:  warning  Unable to transform var  (let)
376:  warning  Unable to transform var  (let)
406:  warning  Unable to transform var  (let)
849:  warning  Unable to transform var  (let)
732:  warning  Unable to transform var  (let)
948:  warning  Unable to transform var  (let)
959:  warning  Unable to transform var  (let)
878:  warning  Unable to transform var  (let)
1085:  warning  Unable to transform var  (let)
umap/static/umap/js/umap.icon.js:
145:  warning  Unable to transform var  (let)
184:  warning  Unable to transform var  (let)
umap/static/umap/js/umap.forms.js:
453:  warning  Unable to transform var  (let)
umap/static/umap/js/umap.features.js:
15:  warning  Unable to transform var  (let)
101:  warning  Unable to transform var  (let)
143:  warning  Unable to transform var  (let)
373:  warning  Unable to transform var  (let)
429:  warning  Unable to transform var  (let)
890:  warning  Unable to transform var  (let)
949:  warning  Unable to transform var  (let)
umap/static/umap/js/umap.core.js:
149:  warning  Unable to transform var  (let)
175:  warning  Unable to transform var  (let)
umap/static/umap/js/umap.controls.js:
665:  warning  Unable to transform var  (let)
876:  warning  Unable to transform var  (let)
1249:  warning  Unable to transform var  (let)
```
2023-05-30 14:16:09 -04:00
Yohan Boniface
99b2bfb811 i18n 2023-05-30 17:52:33 +02:00
Yohan Boniface
bd769091a7
Merge pull request #1109 from umap-project/direct-link
Also expose direct map URL in the export panel
2023-05-30 14:50:45 +02:00
Yohan Boniface
c52e093db8 Also expose direct map URL in the export panel
cf #699
2023-05-30 11:04:10 +02:00
Yohan Boniface
2f79078141
Merge pull request #1108 from umap-project/fix-js-tests
Fix JS tests
2023-05-30 08:46:38 +02:00
Yohan Boniface
18232bcad0 Rename class to match switching to Twitter OAuth V2 2023-05-30 08:42:23 +02:00
David Larlet
23053a26fc Correct tests fixtures for options permissions 2023-05-26 14:12:08 -04:00
David Larlet
c5b19728f0 Fix sinon’s fakeServer’s URLs with /?date param
Since this commit 97e2df0a8d tests were broken because the URL has an extra date parameter to update the cache for datalayers. With the new regexp, we match these new URLs with the fakeServer from sinon.

Also update sinon to v15.
2023-05-26 13:39:58 -04:00
David Larlet
06a354730b Apply PrettierJS to tests files
Command: `make pretty filepath="umap/static/umap/test/*"`
2023-05-26 13:25:21 -04:00
David Larlet
b4b5497b09 Follow up on #1090 for overlay’s opacity
I missed that one and I fixed a bug in the meantime setting a correct label (vs. invisible placeholder for an input of type range).

I set a fallback on the datalist id in case no label is specified (which is probably not a good idea).
2023-05-22 14:41:45 -04:00
Yohan Boniface
32873b7fe3
Merge pull request #1092 from umap-project/713-better-anonymous-editing
Do not display an alert if the map is not created
2023-05-20 08:56:52 +02:00
David Larlet
f83a666aa1 Do not display an alert if the map is not created
Refs #713, otherwise that first message is displayed and then override by the map creation one.
2023-05-19 11:32:40 -04:00
David Larlet
f604c12be3 Max width for the help box (on small screens)
Fix #887 as suggested by @esteban-em
2023-05-19 10:21:34 -04:00
Yohan Boniface
cd32b0eb3e
Merge pull request #1090 from umap-project/877-sliders-thickness
Display the steps for inputs of type range
2023-05-19 12:09:06 +02:00
David Larlet
6156993536 Display the steps for inputs of type range
Fix #877
2023-05-18 14:20:46 -04:00
David Larlet
18cb5ba7c6 Lazy load tile layers thumbnails
The list can be pretty big (like on OSMfr).
2023-05-18 12:54:36 -04:00
David Larlet
d0f89c3be2
Merge pull request #1086 from umap-project/lebab-arrow
Install and apply Lebab for JS arrows’ conversions
2023-05-17 10:59:19 -04:00
David Larlet
d88eee9ca4 Manual lebab conversions 2023-05-16 16:19:14 -04:00
Yohan Boniface
30f9612a12 Adapt star icon bg position after rebase 2023-05-15 12:22:28 +02:00
Yohan Boniface
37b4d05da5 (WIP) Allow to star map and retrieve starred maps 2023-05-15 12:22:26 +02:00
David Larlet
d859b3f153 Allow geolocation from iframe embeds, fix #898 2023-05-12 14:12:56 -04:00
David Larlet
838bd73458 Install and apply Lebab for JS arrows’ conversions 2023-05-12 14:04:59 -04:00
David Larlet
f43742212b Apply PrettierJS to the whole codebase 2023-05-12 13:57:03 -04:00
Yohan Boniface
2bcac67dec Use flyTo option in locate if map settings aks for it 2023-05-11 12:34:39 +02:00
Yohan Boniface
1fce475e41 i18n 2023-05-10 10:25:14 +02:00
David Larlet
aa68e096d0 Typo: missing h in character’s string
Thanks @andrew-black512

Fixes #1009
2023-05-05 14:46:23 -04:00
Yohan Boniface
f732db9fa3 Delete _storage_options when save a feature
fix #1076
2023-05-05 18:40:04 +02:00
Yohan Boniface
25ab9f943c Refactor bringToCenter, flyTo and zoomTo in only one function
In the same move:
- Map.options.easing is now false by default
- if zoomTo options is set, it should be honoured each time we
  use the zoomTo function

fix #679 #179
2023-05-05 18:39:51 +02:00
Yohan Boniface
207b5e7792 i18n 2023-05-03 11:25:33 +02:00
Yohan Boniface
4251a65816 i18n 2023-05-02 18:56:17 +02:00
Yohan Boniface
515aee9324 Enhance measure messages 2023-05-02 17:52:25 +02:00
Philip Beelmann
9d79f2ba83 remove translation template (will be done by transifex) 2023-05-02 10:34:14 +00:00
Philip Beelmann
be806435f9 use "line length", remove translations (will be done by transifex) 2023-05-02 10:29:55 +00:00
Philip Beelmann
f737d81b40 refactor 2023-05-02 10:07:53 +00:00
Philip Beelmann
afbe7c90d8 dont show popup "click to add a marker" when moving marker 2023-05-02 08:00:46 +00:00
Philip Beelmann
d1ffd76d47 cleanup 2023-04-28 12:55:01 +00:00
Philip Beelmann
ca40e762c1 Remove "({distance})" from locale "Click last point to finish shape" 2023-04-27 12:14:04 +00:00
Philip Beelmann
3d5da276d5 refactor: translation variables 2023-04-27 10:27:53 +00:00
Philip Beelmann
62c7a5f689 refactor: No need to translate ({distance}) 2023-04-27 10:20:43 +00:00
Philip Beelmann
077688fc16 Revert "add distance to "continue drawing message""
This reverts commit 839ffd89bb.
2023-04-27 10:18:59 +00:00
Philip Beelmann
eb1cfdbab0 bugfixes: copy/paste + renaming 2023-04-27 10:12:20 +00:00
Philip Beelmann
5d2a4cab5f fix syntax 2023-04-27 09:39:15 +00:00
Philip Beelmann
c916a67ae0 bugfix 2023-04-27 09:27:57 +00:00
Philip Beelmann
693b32c0ee refactor getMeasure function 2023-04-27 09:13:13 +00:00
Philip Beelmann
3f12b69c25 extend getMeasure by argument extraPoint 2023-04-25 11:11:00 +00:00
Philip Beelmann
ee6724cddb show line and polygon measurements while drawing / editing 2023-04-25 10:58:47 +00:00
Philip Beelmann
60fb67516d add line distance and polygon area messages 2023-04-25 10:58:46 +00:00
Philip Beelmann
839ffd89bb add distance to "continue drawing message" 2023-04-25 10:57:58 +00:00
Yohan Boniface
fec581548e i18n 2023-04-25 10:57:56 +00:00
knowname
0ea3678c78
Merge branch 'master' into dev 2023-04-24 12:15:23 +02:00
David Larlet
9e688f4d24 Optimize SVG icons sizes
Using Jake Archibald’s tool: https://jakearchibald.github.io/svgomg/ with default settings except keeping width/height attributes because some old browsers require default sizes for rendering (it also avoid huge/100% icons in case the CSS is not applied for whatever reason).
2023-04-22 19:05:05 -04:00
Yohan Boniface
50fffd0417 i18n 2023-04-21 23:19:18 +02:00
Philip Beelmann
ec6239a837 append distance as variable to all translations 2023-04-21 14:55:20 +00:00
Philip Beelmann
aeb48a40ee show line length while drawing line 2023-04-21 14:49:03 +00:00
Yohan Boniface
b493334803 Exclude remoteLayer from import targets
Those layers cannot contain data, as they use an URL to fetch it.
2023-03-01 18:27:20 +01:00
Yohan Boniface
ae6f9fda57 Fix restauring full umap with remoteData
The check about umap_id was before isLoaded and hasDataLoaded split,
so I guess (hope) it's useless here.

A bit of history:

217f2fcb15
2ea27c87f6
2023-03-01 18:21:24 +01:00
Yohan Boniface
58cee72915 CSS: move alert above panel 2023-03-01 18:19:58 +01:00
Yohan Boniface
f6f765e52f Catch empty attribution in overlay 2023-03-01 17:35:07 +01:00
Yohan Boniface
169f7e954c Allow to add an overlay tilelayer
cf #71 #976
2023-02-28 14:08:34 +01:00
Yohan Boniface
1c3fe61aa4 Split L.Map.edit function 2023-02-28 11:02:07 +01:00
Yohan Boniface
0cb72fb5f6 i18n 2023-02-27 18:54:51 +01:00
Yohan Boniface
238401f983 i18n 2023-02-27 14:39:59 +01:00
Yohan Boniface
41e40a1ea8 i18n 2023-02-27 13:52:05 +01:00
Yohan Boniface
6694306660 Use If-Unmodified-Since istead of If-Match
If-Match relies on ETag, which depends on the Content-Encoding,
which is more fragile given we updated the etag on save, while normal
files are served by nginx. So this may occurs false mismatch.
2023-02-27 13:45:15 +01:00
Yohan Boniface
97e2df0a8d Prevent caching datalayer's data for owners/editors
cf #1038
2023-02-25 22:17:10 +01:00
Yohan Boniface
e60227f7da
Merge pull request #1041 from k-3st3ban/master
New asked features: checkbox filters, permanent credits, and caption menus options
2023-02-23 10:28:53 +01:00
3st3ban3
eed12fdf87 Update wording to avoid confusion for data checkboxes 2023-02-22 17:36:22 +01:00
Yohan Boniface
bd1dd4e233 i18n 2023-02-22 10:23:03 +01:00
3st3ban3
6d900ac79f Show filters menu only if filter keys are defined 2023-02-18 10:13:12 +01:00
3st3ban3
ce17f8dfe0 Fix undefined error without refreshing page after creating advanced filters 2023-02-15 18:46:20 +01:00
3st3ban3
2221806b7e Update permanent credits alignement and shape 2023-02-13 17:33:50 +01:00
3st3ban3
ced62d8eed Fix controls errors with permanent credits 2023-01-22 00:28:56 +01:00
3st3ban3
423084e9ea Interface option to hide caption menus 2023-01-14 23:15:27 +01:00
3st3ban3
57ba42061c Permanent credits feature in the bottom left corner 2023-01-14 22:48:16 +01:00