Commit graph

3015 commits

Author SHA1 Message Date
Yohan Boniface
4949fcb4a4 feat: try to guess RGB from color name when element is not in DOM
We often need to compute the text/icon constrast color, but often
the element is not yet in the DOM, so we can't get the background
easily. Let's have a fallback for that instead of trying to have
"load" events everywhere.
2024-12-05 11:53:01 +01:00
Yohan Boniface
430dede0dd fix: fix broken OSM template 2024-12-05 11:46:52 +01:00
Yohan Boniface
d9c04c7d0a fix: do not render normal popup title in OSM template 2024-12-05 11:46:26 +01:00
Yohan Boniface
8f7e5c7252 chore: add missing import in cadastrefr
Some checks failed
Test & Docs / docs (push) Has been cancelled
Test & Docs / tests (postgresql, 3.10) (push) Has been cancelled
Test & Docs / tests (postgresql, 3.12) (push) Has been cancelled
Test & Docs / lint (push) Has been cancelled
2024-12-03 18:07:26 +01:00
Yohan Boniface
c9d532508d
chore: change cadastrefr buttons (#2333)
We remove the cancel button and change the accept label.
2024-12-03 17:56:57 +01:00
Yohan Boniface
6221b709f4
fix: importer.map is undefined in geodatamine importer (#2332)
Broken since the map split I guess.
2024-12-03 17:54:20 +01:00
Yohan Boniface
26ff82e838 chore: change cadastrefr buttons
We remove the cancel button and change the accept label.
2024-12-03 16:24:30 +01:00
Yohan Boniface
8fa26a02a2 fix: importer.map is undefined
Broken this the map split I guess.
2024-12-03 16:21:37 +01:00
Yohan Boniface
9a900319af feat: swap import and settings buttons in edit toolbar
fix #2297
2024-12-03 15:20:22 +01:00
Yohan Boniface
8569b827ca
fix: compute length of all shapes for MultiLineString (not only first) (#2310) 2024-12-02 19:46:45 +01:00
Yohan Boniface
666a92ec44 fix: compute length of all shapes for MultiLineString not only first 2024-12-02 19:39:57 +01:00
Yohan Boniface
2f776dab59
feat: highlight importer URL field when it is fulfilled (#2323)
Very small step of #2302 


![image](https://github.com/user-attachments/assets/0ff2c056-91ad-4daa-9882-dd44a4c6ef9f)
2024-12-02 19:04:04 +01:00
Yohan Boniface
bba9487847 feat: highlight importer URL field when it is fulfilled
cf #2302
2024-12-02 18:56:24 +01:00
Yohan Boniface
177a4edc1d
fix: broken ctrl+i and ctrl+o (#2322) 2024-12-02 17:19:53 +01:00
Yohan Boniface
31c8bf95ba fix: broken ctrl+i and ctrl+o 2024-12-02 17:10:06 +01:00
Yohan Boniface
f6f42f5e6b chore: move form css to a separate file 2024-12-02 17:07:06 +01:00
Yohan Boniface
d9998efc0f
Fix reordering of layers (#2316)
Broken in the map split I guess.

(Only the first line is the fix, the other are just naming, cf the two
commits.)
2024-12-02 15:43:14 +01:00
Yohan Boniface
30d9e43cd4
Add logo for social_core.backends.keycloak.KeycloakOAuth2 (#2258)
Some checks are pending
Test & Docs / tests (postgresql, 3.10) (push) Waiting to run
Test & Docs / tests (postgresql, 3.12) (push) Waiting to run
Test & Docs / lint (push) Waiting to run
Test & Docs / docs (push) Waiting to run
2024-12-02 13:14:06 +01:00
Yohan Boniface
1a88c11289 fix: don't show default label if another is found in features edit 2024-12-02 12:58:19 +01:00
Yohan Boniface
78d6699a81 feat: allow to configure the default label keys per instance
fix #2289
2024-12-02 12:58:19 +01:00
Yohan Boniface
35b541f200 chore: better naming in layer reordering 2024-12-02 12:55:57 +01:00
Yohan Boniface
8624209e1b fix: iter on the right elements after reordering layers 2024-12-02 12:55:57 +01:00
Yohan Boniface
471de78ab3 chore: fix failing test 2024-12-02 12:46:09 +01:00
Yohan Boniface
e33fc787ab
fix: do not fail when navigating with popup arrows in cluster mode (#2307)
Some checks failed
Test & Docs / tests (postgresql, 3.10) (push) Has been cancelled
Test & Docs / tests (postgresql, 3.12) (push) Has been cancelled
Test & Docs / lint (push) Has been cancelled
Test & Docs / docs (push) Has been cancelled
- make sure we have correct `this` in callback
- do not call anymatePan if icon is not added to map (because
clusterized)
2024-11-29 21:43:52 +01:00
Yohan Boniface
ca127c8c3c fix: do not fail when navigating with popup arrows in cluster mode
- make sure we have correct `this` in callback
- do not call anymatePan if icon is not added to map (because clusterized)
2024-11-29 18:32:14 +01:00
David Larlet
b6229a05b7
Better login page styles and incentive (#2293)
Some checks failed
Test & Docs / tests (postgresql, 3.10) (push) Has been cancelled
Test & Docs / tests (postgresql, 3.12) (push) Has been cancelled
Test & Docs / lint (push) Has been cancelled
Test & Docs / docs (push) Has been cancelled
Fixes https://github.com/umap-project/umap-dsfr/issues/21

Rel.
24f23874f7
2024-11-22 09:29:47 -05:00
Yohan Boniface
4350f55e67
fix: do not fail when editing map infos if no licence is set (#2287) 2024-11-22 10:17:37 +01:00
Yohan Boniface
735c74dcb3
fix: allow spaces in iframe query strings in HTML formatting (#2292)
fix #2269
2024-11-22 09:46:56 +01:00
David Larlet
1073fe6142
Better login page styles and incentive
Fixes https://github.com/umap-project/umap-dsfr/issues/21

Rel. 24f23874f7
2024-11-21 15:37:21 -05:00
Yohan Boniface
95710a4dab fix: allow spaces in iframe query strings in HTML formatting
fix #2269
2024-11-21 15:21:35 +01:00
Yohan Boniface
f7c1b8f123 fix: do not fail when editing map infos if no licence is set 2024-11-20 16:44:15 +01:00
Yohan Boniface
ccd6a21958
chore: explicitely set postgis as db engine (#2285)
Some checks failed
Test & Docs / tests (postgresql, 3.10) (push) Has been cancelled
Test & Docs / tests (postgresql, 3.12) (push) Has been cancelled
Test & Docs / lint (push) Has been cancelled
Test & Docs / docs (push) Has been cancelled
While working on a helm chart, we do not control the creation of the db
URL, which use "postgres://" instead of "postgis://", so Django does not
set the correct engine. So let's be explicit here.
2024-11-20 10:49:38 +01:00
Yohan Boniface
5cef79d395 i18n 2024-11-20 10:47:28 +01:00
Yohan Boniface
833941a9e6 chore: set an explicit db engine (postgis)
While working on a helm chart, we do not control the creation of
the db URL, which use "postgres://" instead of "postgis://", so
Django does not set the correct engine.
2024-11-19 18:44:35 +01:00
Yohan Boniface
4acb20f3bb feat: add basic autocompletion on inputs expecting a field name
Eg. the labelKey or filterKey input.
2024-11-19 13:59:55 +01:00
Yohan Boniface
346597533c chore: a bit of CSS cleaning in bar.css 2024-11-19 13:16:02 +01:00
Yohan Boniface
5ceda7b2a3 chore: move editToolBar and captionBar to modules
This also tries to rework a bit the "reflow" process, which how
to edit the UI when something changes in the data.

The idea is to build the whole HTML, then:
- the `propagate` method tries to change the UI with targetted CSS
selector, but anywhere
- while `render` hide/show some elements

This is not the destination, but just another step. We certainly
need to refactor the SCHEMA to make the next step (as we want to associate
some data change to UI change).
2024-11-18 19:43:28 +01:00
Yohan Boniface
2c64745c52
fix: honour rules and slideshow when importing a umap file (#2270)
Some checks are pending
Test & Docs / tests (postgresql, 3.10) (push) Waiting to run
Test & Docs / tests (postgresql, 3.12) (push) Waiting to run
Test & Docs / lint (push) Waiting to run
Test & Docs / docs (push) Waiting to run
Side note (for another PR I'd say): this usually occurs on a non saved
map, but in case the map already exist and is in sync mode, should we
sync each property (safer but one call per property) or the whole
properties object (lighter, but may override unwanted things in remote,
and currently there is no method to do so).
2024-11-18 19:41:40 +01:00
Yohan Boniface
4b170df1c2 fix: honour custom labelKey in default popup template
The default popup template expects a `name` key, so let's populate
it.
2024-11-16 11:20:23 +01:00
Yohan Boniface
123a6ea508 fix: honour rules and slideshow when importing a umap file
Side note (for another PR I'd say): this usually occurs on a non
saved map, but in case the map already exist and is in sync mode,
should we sync each property (safer but one call per property)
or the whole properties object (lighter, but may override unwanted
things in remote, and currently there is no method to do so).
2024-11-16 10:30:15 +01:00
Yohan Boniface
7de3ebd2d1
fix: fix event name in drop util (#2261)
Some checks failed
Test & Docs / tests (postgresql, 3.10) (push) Has been cancelled
Test & Docs / tests (postgresql, 3.12) (push) Has been cancelled
Test & Docs / lint (push) Has been cancelled
Test & Docs / docs (push) Has been cancelled
2024-11-15 18:45:43 +01:00
Yohan Boniface
8c6766157a chore: add test for CSV latlng parsing with commas 2024-11-15 18:24:57 +01:00
Yohan Boniface
92ef4b25b4 fix: use our fork of csv2geojson to be able to parse lat/lon with commas 2024-11-15 18:10:08 +01:00
Yohan Boniface
4acf0db17f fix: fix evenet name in drop util 2024-11-15 16:43:58 +01:00
7dadb83ff5 feat(sync): Let the clients set layers UUID
This make it possible to synchronize datalayers before their creation on
the server, allowing at the same time to solve issues related to them
not being saved (e.g. duplication of geometries)

We use the DataLayer._referenceVersion to track if a DataLayer has been
saved on the server.

After a save, the _referenceVersion is synched with other peers.

To pass the reference version from the server to the frontend, we have two
options:
- use a header
- populate the `options.version` field

In the case of a GET on a Datalayer, we could not use the `options` scenario
because:
- the value in the file is not up to date (it was the value the client has
 before the save)
- the python cannot change it on the fly, as the file is served by nginx

So we decided to keep using a header. But on the map view, we load all
datalayers metadatas in the map options, so here we cannot use the header
scenario, so in this specific case we had to populate `options._referenceVersion`.

At the same time, we also changed:
- Umap.options.umap_id => Umap.id
- DataLayer.umap_id => Datalayer.id
- fixed the version number returned by DataLayer.version_metadata
2024-11-15 15:22:36 +01:00
Yohan Boniface
378e0f3ad3 chore: review with Alexis 2024-11-13 14:27:39 +01:00
Thomas Legay
4bd7bd7d48 Add logo for social_core.backends.keycloak.KeycloakOAuth2 2024-11-12 23:58:30 +01:00
Yohan Boniface
51e41b7bce chore: remove unused imports from global.js 2024-11-12 15:28:05 +01:00
Yohan Boniface
b49f3d7633 chore: remove old umap.js file 2024-11-12 15:06:34 +01:00
Yohan Boniface
0dbac92853 chore: remove 'postsync' event 2024-11-12 14:50:08 +01:00
Yohan Boniface
6d56bbb5de chore: refactore LeafletMap.setup/update 2024-11-12 14:36:59 +01:00
Yohan Boniface
e1a24b6180 chore: fix updaters to use umap instead of map and properties instead of options 2024-11-12 13:27:29 +01:00
Yohan Boniface
b0eb263d93 chore: remove use of L. in umap.js 2024-11-12 11:38:38 +01:00
Yohan Boniface
491d0515cd chore: fix help module not using umap module 2024-11-12 11:31:14 +01:00
Yohan Boniface
55f04a2f10 chore: remove DomEvent import from umap.js 2024-11-12 11:23:18 +01:00
Yohan Boniface
c952fed96a chore: split umap.js in two modules 2024-11-12 10:17:12 +01:00
Yohan Boniface
36efa9c4cc chore: use SAVEMANAGER as a module singleton 2024-10-30 17:14:35 +01:00
Yohan Boniface
488b5882e7 fixup: renaming 2024-10-30 09:43:31 +01:00
Yohan Boniface
7f65b1de57 chore: listen for later _trySave status 2024-10-30 09:42:06 +01:00
Yohan Boniface
ed232e59b8 chore: introduce SaveManager class
The last refactor of the save process (0fdb70ce66)
has introduced a bug: the save flow was not more stopped when a layer fail to save.
This ends with a broken UI, as the map is not dirty anymore, so the save button
is not active anymore, while at least one layer still needs to be saved.

Save can fail in two scenarios:
  - there is a conflict (status 412)
  - the server is down or as an issue (eg. disk is full)

I tried a more modest scenario (listening for status in map.save and
recallign the map save after a conflict), but this ended with calling
map.save uselessly even more.

So I decided to try this refactor, which also totally remove the useless
map.save we were sending at each save until now.
2024-10-28 18:15:18 +01:00
Yohan Boniface
bcea419bfd 2.7.1 2024-10-25 15:44:52 +02:00
Yohan Boniface
b36c03a203 fix: prevent feature.edit to be called twice on polygon/line end edit
When finishing drawing a polygon/line, Leaflet.Editable will send
both `editable:drawing:end` and `editable:drawing:commit`. In normal
flow, we only need to listen to the later, and we only need to
listen for the former in the case of pressing escape while drawing.
2024-10-24 21:07:58 +02:00
Yohan Boniface
71b55e7759 fix: always unset editedFeature on editPanel close
And only this panel.

This was creating a weird bug, steps to reproduce:

- create a marker
- shift-click on the marker to edit the layer (so without explicitly
  closing the panel)
- try to type the layer name: the panel would close

This is also because currently the schema and render() are too
dump, and when any `name` is changed then the `data` reflow is
called, while it should not when editing the datalayer name.

We want to:
- have more targeted schema
- have more specific reflow in render

But that's for other PRs!
2024-10-24 19:22:46 +02:00
Yohan Boniface
023f48ee94
chore: use shutil.move instead of Path.rename to move to purgatory (#2236)
Otherwise it will fail if src and dest are not on the same FS.
2024-10-24 19:18:21 +02:00
Yohan Boniface
bdf0bee156 2.7.0 2024-10-24 18:03:11 +02:00
Yohan Boniface
9fe96a98d1 i18n 2024-10-24 17:51:20 +02:00
Yohan Boniface
bda1984f44
chore: explicitely add geojson extension when downloading a layer (#2228)
This was added by the browser I think, but let's be explicit, just in
case.

cf
https://github.com/umap-project/umap/pull/2224#pullrequestreview-2382243375
2024-10-24 17:47:11 +02:00
Yohan Boniface
2dcd61a96d
Allow to run umap with asgi (#2209)
Follow up of #1701 

cf #2174
2024-10-24 17:46:33 +02:00
Yohan Boniface
455ddd455d
fix: do not try to create legend for non loaded classified layer (#2234)
fix #2232

A classified layer needs to have compiled the data to known its
classes/categories.

This commit review the way we build the legend: instead of creating with
the whole caption panel, we just set a container and we populate it
later. This opens the door for live changing the legend when editing the
layer.

But we have to clarify that "reactive" pattern at some point, as we have
some concurrent pattern laying around: the `render()`, which coupled
with the schema and this is nice, but for now it's a bit rough (changing
the whole UI each time); the `propagate` way, which is more specific,
but not coupled to the schema; the `dataChanged`; and the `onDataLoaded`
now, which is a bit different, as it's about the data being loaded, not
changed/modified, but for the DOM it may at the end be the same. Well,
food for thoughts…
2024-10-24 17:39:12 +02:00
Yohan Boniface
200e12e0d9 chore: apply Biome hints
Co-authored-by: Alexis Métaireau <alexis@notmyidea.org>
2024-10-24 12:39:22 +02:00
Yohan Boniface
3477be99b8 fix: do not try to create legend for non loaded classified layer
fix #2232

A classified layer needs to have compiled the data to known its
classes/categories.

This commit review the way we build the legend: instead of creating
with the whole caption panel, we just set a container and we populate
it later. This opens the door for live changing the legend when
editing the layer.

But we have to clarify that "reactive" pattern at some point, as we
have some concurrent pattern laying around: the `render()`, which
coupled with the schema and this is nice, but for now it's a bit rough
(changing the whole UI each time); the `propagate` way, which is
more specific, but not coupled to the schema; the `dataChanged`; and
the `onDataLoaded` now, which is a bit different, as it's about the
data being loaded, not changed/modified, but for the DOM it may at
the end be the same. Well, food for thoughts…
2024-10-23 18:56:26 +02:00
45f1221d00 Use fake timers on the HLC tests 2024-10-22 13:50:46 +02:00
8eae7990dd Add a fieldInSchema utility function.
Check that fields are present in the schema before calling render
2024-10-22 13:50:46 +02:00
4f0404149e feat(sync): Display the number of connected peers in the interface. 2024-10-22 13:50:46 +02:00
Yohan Boniface
c6c255e216 chore: use shutil.move instead of Path.rename to move to purgatory
Otherwise it will fail if src and dest are not on the same FS.
2024-10-22 12:14:04 +02:00
Yohan Boniface
d2832be6d5
fix: always call propagate at end of save (#2226)
Otherwise the renderEditToolbar will reset name and all.

fix #2225
2024-10-21 16:40:01 +02:00
Yohan Boniface
e0e7e0961c chore: explicitely add geojson extension when downloading a layer
This was added by the browser I think, but let's be explicit, just
in case.
2024-10-21 16:38:08 +02:00
Yohan Boniface
a2af7171d9 chore: call render at end of save
All changes at some point should call render, and render should
become more subtle to update only the needed part according to
the actual changes
2024-10-21 16:25:07 +02:00
Yohan Boniface
132be80a48 chore: remove postsync in captionBar and let map.propagate do its job 2024-10-21 16:05:26 +02:00
Yohan Boniface
ae79daec7e fix: always call propagate at end of save
Otherwise the renderEditToolbar will reset name and all.

fix #2225
2024-10-21 15:41:30 +02:00
Yohan Boniface
e100809d24
fix: use correct icon for layer download advanced action (#2224)
Replace #2221
2024-10-21 12:15:05 +02:00
Yohan Boniface
c74971bc0e chore: move pydantic and websocket in sync dependencies target 2024-10-21 11:50:10 +02:00
Yohan Boniface
9520a99d11 feat: add importer for French cadastre 2024-10-21 11:28:15 +02:00
Yohan Boniface
a1a4904f02 fix: use correct icon for layer download advanced action 2024-10-21 10:41:41 +02:00
Yohan Boniface
e0da3163ec fix: fix dispeared icons from panel titles 2024-10-18 12:08:28 +02:00
Yohan Boniface
0b23f1acd1 2.7.0b3 2024-10-16 19:55:32 +02:00
Yohan Boniface
0b6c66a841 i18n 2024-10-16 19:51:20 +02:00
Yohan Boniface
ab703e081b
feat: add a global toolbox in browser (#2160)
fix #2097
cf #1500


![image](https://github.com/user-attachments/assets/2c8b96e4-8cf7-4d5f-afed-11adf73e98a8)

This is an alternative proposal for #2097:

- adding the button near the "Filter" toggle was a bit ugly, CSS/HTML
talking, because this "Filters" box is a details/summary
- I thought that other needs could live in the same place: a link to
download the filtered/visible data, and a button to show the map data
extent

The "toggle all" button works this way:
- if one or more layers are shown, it will hide those layers
- otherwise it will show all layers

I've preferred not to change the button icon according to map state,
because I didn't find a reliable way to do so, thus I'm afraid to have
inconsistency, but I can't try harder if needed.

Related: I'm thinking of adding a "Download" button for each layers, as
it's a request that comes quite often.

@Aurelie-Jallut could you have a look ? :)
2024-10-16 19:45:56 +02:00
Yohan Boniface
47364904bd
chore: simplify contextmenu items (#2216)
Do not show generic map items when clicking on a feature.

cf #2109

Click on map:


![image](https://github.com/user-attachments/assets/b3717d4a-6f6c-4976-a86b-f97bd1239cea)

Click on feature:


![image](https://github.com/user-attachments/assets/c7f75afb-4a8a-446a-b7f4-a4a790c148c3)
2024-10-16 19:25:06 +02:00
Yohan Boniface
f8e53e7c48
feat: only add visible markers (and tooltips) to DOM (#2204) 2024-10-16 19:20:05 +02:00
Yohan Boniface
d8383dafba fix: do not show browser counter when layer is empty or not loaded
fix #2215
2024-10-16 09:48:03 +02:00
Yohan Boniface
61c3be59a8 chore: use colorbrewer as ES module 2024-10-16 09:01:31 +02:00
Yohan Boniface
8daf4cd652 chore: bump and pin front facing JS deps 2024-10-15 11:28:39 +02:00
Yohan Boniface
966c74b85b chore: simplify contextmenu items
Do not show generic map items when clicking on a feature.

cf #2109
2024-10-15 10:32:07 +02:00
Yohan Boniface
b3e88b6096 chore: make daphne/asgi optional for now 2024-10-14 12:10:13 +02:00
aa246aaf05 WIP: Add an async route for WS 2024-10-14 12:04:46 +02:00
71943c0ab3 chore: use asgi rather than wsgi
By relying on Django Channels and Daphne.
This requires a change in how the application is deployed to take that into account.
2024-10-14 12:04:44 +02:00
Yohan Boniface
a2b8145cde
fix: make sure maps of demo instances of uMap are no indexed (#2203)
fix #2201
2024-10-10 21:00:27 +02:00
Yohan Boniface
ca3451ce14 chore: do not try to remove an icon not in DOM
This occurs when using cluster, which already add/remove markers
2024-10-10 19:50:40 +02:00
Yohan Boniface
c6da1f91cf feat: only add visible markers (and tooltips) to DOM 2024-10-10 19:50:40 +02:00
Yohan Boniface
8635ebf330
chore: use pytest-rerunfailed (#2205)
I first thought about marking test as flaky one by one, but my
impression is mainly all playwright test can become flacky, and we
actually only see some as their appear in the list.
2024-10-10 19:48:54 +02:00
Yohan Boniface
7aa445f01b Update umap/templates/umap/map_detail.html
Co-authored-by: David Larlet <3556+davidbgk@users.noreply.github.com>
2024-10-10 11:00:46 +02:00
Yohan Boniface
60c2b07f9b fix: honour carriage returns in permanent credits
fix #2197
2024-10-10 10:33:12 +02:00
Yohan Boniface
1be7c8d3a9 chore: use pytest-rerunfailed 2024-10-10 10:31:25 +02:00
Yohan Boniface
97d2ebae34 fix: make sure maps of demo instances of uMap are no indexed
fix #2201
2024-10-09 10:15:54 +02:00
Yohan Boniface
b7ee50980f
chore: deactivate contextmenu and shortcuts in map preview (#2199)
Contextmenu and keyboard shortcuts open controls, which are not fully
initiated when in mode `noControl`, which is the case for preview.
2024-10-07 22:28:30 +02:00
David Larlet
76ebe1c0ea
tests: use at.least to compare dates on the hlc tests. (#2196)
Should fix [this
error](https://github.com/umap-project/umap/actions/runs/11165503827/job/31037336947?pr=2188)
2024-10-07 08:20:58 -04:00
Yohan Boniface
e7ed14f216 chore: deactivate contextmenu and shortcuts in map preview
Contextmenu and keyboard shortcuts open controls, which are not
fully initiated when in mode `noControl`, which is the case for
preview.
2024-10-07 12:27:33 +02:00
Yohan Boniface
4b66e0fa83 chore: add border top to browser toolbox 2024-10-07 11:57:37 +02:00
Yohan Boniface
36afe0ead5 chore: open dropdown on download click in browser
Instead of switching context and opening the share panel.
2024-10-07 11:46:01 +02:00
Yohan Boniface
2923e1ca51 feat: add a global toolbox in browser
fix #2097
cf #1500
2024-10-07 10:20:17 +02:00
Yohan Boniface
2ca6ffd5ca 2.7.0b2 2024-10-06 10:20:18 +02:00
Yohan Boniface
581ec242b8 chore: always insert contextmenu on map container parent
offsetParent will return whatever positionned parent element, so
when clicking on a marker it will be the marker container.
And we cannot add the contextmenu inside the map container, as it
the focusout element will be sent before the click action happen
on any item of the contextmenu.
2024-10-06 09:46:23 +02:00
37ffea97a9
FIXUP: adapt the tests to a slow CI 2024-10-05 21:16:45 +02:00
Yohan Boniface
3c0d2b79ef fix: allow to call contextmenu with given positions 2024-10-05 11:26:05 +02:00
Yohan Boniface
c844e1c03d chore: use position: fixed for contextmenu 2024-10-05 11:22:02 +02:00
Yohan Boniface
70f06e7852 fix: insert contextmenu in the offsetParent
Otherwise when parent is a dialog, if the the contextemenu is in
the body, it will be below the dialog forever
2024-10-05 11:08:50 +02:00
Yohan Boniface
89c13a3b7e fix: window.offsetHeight does not means anything 2024-10-05 11:08:36 +02:00
Yohan Boniface
42e7fb8dae chore: pass event to ContextMenu.open 2024-10-05 10:41:33 +02:00
Yohan Boniface
c4b80afb15 fix: simpler way to deal with positionning contextmenu
Use pageX/Y from the begginning instead of recomputing it later.
2024-10-05 10:38:51 +02:00
Yohan Boniface
cba0af96f6 fix: fix contextmenu positionning when map is not full screen 2024-10-05 10:02:41 +02:00
Yohan Boniface
c90618a248 fix: do not show separator in contextmenu when nothing before 2024-10-05 09:09:30 +02:00
979d34f3fa
tests: use at.least to compare dates on the hlc tests. 2024-10-04 22:46:33 +02:00
Yohan Boniface
16b759973b 2.7.0b1 2024-10-04 19:31:57 +02:00
Yohan Boniface
8788f97791 2.7.0b0 2024-10-04 19:18:07 +02:00
Yohan Boniface
a8d04a6abb i18n 2024-10-04 18:38:00 +02:00
Yohan Boniface
f9cf923684
feat: add a profile drop-down menu (#2194)
fix #2115
2024-10-04 18:26:49 +02:00
Yohan Boniface
8d59220d05
fix: make sure anonymous is owner at create (#2189)
The tricky thing is that the Map.is_owner() method check for cookies on
the request, but at create this cookie is not set yet on the request, so
we have to deal with an exception here.

fix #2176
2024-10-04 17:55:29 +02:00
Yohan Boniface
21be2e4fd0 fix: hide "my profile" from dropdown menu if ALLOW_EDIT_PROFILE=False 2024-10-04 17:54:13 +02:00
Yohan Boniface
6876bb1ba5 fix: listen just once for escape key in contextmenu 2024-10-04 17:44:50 +02:00
Yohan Boniface
1029c2655e wip: add a profile drop-down menu
fix #2113
2024-10-04 17:44:50 +02:00
Yohan Boniface
de93446af2
clean: remove zoom in and out from contextmenu (#2195)
Let's make it smaller (unless proven otherwise!).
2024-10-04 17:43:23 +02:00
Yohan Boniface
03ae31c18b chore: remove map.dirty_datalayers
Let's try to make it simpler.
map.datalayers stores all datalayers
map.datalayers_index the non deleted ones sorted
2024-10-04 17:35:35 +02:00
Yohan Boniface
a35b37f423 chore: use map getter instead of getMap in permissions 2024-10-04 17:35:35 +02:00
Yohan Boniface
0d7c6e451d chore: new strategy to update map name when editing it
Also propagate share_status (this may be moved to permissions)
2024-10-04 17:35:33 +02:00
Yohan Boniface
0fdb70ce66 chore: review save strategy
All is now orchestrated from a single method, instead of chaining
calls.
2024-10-04 17:34:59 +02:00
Yohan Boniface
73c83cfa86 chore: always return user infos on map save 2024-10-04 17:34:59 +02:00
Yohan Boniface
13a7a2257d fix: do not fail in autocomplete if on_unselect is undefined 2024-10-04 17:34:59 +02:00
Yohan Boniface
ff5195a787 fix: make sure anonymous is owner at create
The tricky thing is that the Map.is_owner() method check for cookies
on the request, but at create this cookie is not set yet on the
request, so we have to deal with an exception here.

fix #2176
2024-10-04 17:34:59 +02:00
Yohan Boniface
ebd3896e91 chore: replace native confirm by our styled ones 2024-10-04 17:34:20 +02:00
Yohan Boniface
9b29b705da clean: remove zoom in and out from contextmenu
Let's make it smaller (unless proven otherwise!).
2024-10-04 17:32:39 +02:00
Yohan Boniface
4940f6c329 test: fix playwright selector 2024-10-04 17:31:05 +02:00
Yohan Boniface
c8ffe4273f
fix: allow to draw new proprotional circles and to drag them (#2172)
The main issue was because we overrided the `getLatLngs` function in our
PointMixin class, so I changed the way feature get the latlngs from the
UI classes. Plus getting CircleMarker to inherit more from Marker,
through PointMixin.

fix #2171
2024-10-04 16:43:49 +02:00
Yohan Boniface
4b4546991a
chore: display user maps in admin and add in csv export (#2169)
maps are owned maps + maps as editor

cf https://github.com/umap-project/umap/pull/2131#discussion_r1772775039
2024-10-04 16:42:53 +02:00
Yohan Boniface
5d5be52337
feat: delete datalayer's files on delete (#2158)
Until now, uMap was not deleting files on delete, which can increase
file storage a lot after some time.

The files are not deleted, but moved to a "purgatory" folder, from where
they can be deleted after some time.
2024-10-04 16:41:11 +02:00
Yohan Boniface
91800d104d
fix: polygon with interactive=false was still interactive (#2151)
This bug has been introduced when spliting features, as we now only set
the Leaflet Polygon options with setStyle, will the `interactive` option
is only used in the init by Leaflet.

See https://github.com/Leaflet/Leaflet/pull/9475
2024-10-04 16:36:21 +02:00
Yohan Boniface
d95f06abab
chore: use our own contextmenu (#2109)
Let's start from here to clean the contextmenu items.

Current status:

### Some entries are generic, and always present:

In preview mode:


![image](https://github.com/user-attachments/assets/ea5cf2d3-f8f7-4d6a-8bf5-4c0334334bbc)

In edit mode:


![image](https://github.com/user-attachments/assets/2d2fa5c1-a275-4037-8780-d18a5e31949b)

### Some entries are specific to a clicked feature

In preview mode (Marker):


![image](https://github.com/user-attachments/assets/2d03f640-fb62-4be8-893d-d1ffc09d66f1)

In edit mode (Marker):


![image](https://github.com/user-attachments/assets/3f5ede89-fe3e-41a0-ac9a-575ef04e7a41)

In preview mode (Polygon):


![image](https://github.com/user-attachments/assets/fa88b13a-ac53-4bdd-896c-ada025640c35)

In edit mode (Polygon):


![image](https://github.com/user-attachments/assets/c2b46f2a-4f6d-4660-9654-d4f775386898)

In preview mode (Line):


![image](https://github.com/user-attachments/assets/74cd5c21-ad17-4592-b3da-f82f12c60baf)

In edit mode (Line):


![image](https://github.com/user-attachments/assets/4c9f89c6-a30e-4f40-84fe-3fff306358aa)


@Aurelie-Jallut Do you want to make suggestion on what to show or not in
this menu, depending on the context (feature or not, preview or edit
mode) ?
2024-10-04 16:34:06 +02:00
Yohan Boniface
f1619579a4 feat: allow to search by code INSEE in communes importer 2024-10-03 18:03:43 +02:00
Yohan Boniface
c2833987b7 fix: remoteData helpEntries were not on the right format
Should be now an array (not guessing anymore).
2024-10-01 08:55:58 +02:00
0a1d98b146 ci: Skip intermittent-failing tests when on the CI.
A few tests have been failing randomly, leading to developers not having
a lot of trust in the CI, and having to retrigger the runs.

Here is the list of tests:

- `test_should_honor_toZoom`
- `test_default_view_locate`
- `test_umap_import_from_textarea`

This skips these tests when running in the CI, by looking at the `CI`
environment variable, set by Github Actions [0]

[0] https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#default-environment-variables
2024-09-27 18:26:47 +02:00
5485fb99ab feat(sync): Send remote operations to peers when they join.
- Operations are now stored locally in memory. All operations are tied
  to an HLC (Hybrid Logical Clock), making it possible to order them
  concistently.

- Messages are handled in their `on*` methods, leading to a clearer
  implementation.

- When a new peer joins, it asks a random peer for the list of
  operations, and re-apply them locally.

- Messages types names have been updated to follow CamelCase, and to be
  similar across the client and the server.

- Pass `sync=False` to `makeFeature` in the updaters, to avoid
  generating duplicate operations on message retrieval.
2024-09-27 18:26:47 +02:00
Yohan Boniface
7dbb3e0b9a fix: allow to draw new proprotional circles and to drag them
The main issue was because we overrided the `getLatLngs` function
in our PointMixin class, so I changed the way feature get the latlngs
from the UI classes.

fix #2171
2024-09-27 08:58:08 +02:00
Yohan Boniface
5836ae859a
Merge pull request #1670 from umap-project/clean-tilelayer-command
chore: add clean_tilelayer management command
2024-09-26 09:20:54 +02:00
Yohan Boniface
3719e88643 chore: display user maps in admin and add in csv export
maps are owner maps + maps as editor

cf https://github.com/umap-project/umap/pull/2131#discussion_r1772775039
2024-09-24 20:07:03 +02:00
Yohan Boniface
2d905bd048 chore: use GeoRSStoGeoJSON as ES module 2024-09-24 10:24:50 +02:00
Yohan Boniface
49eb121c68 feat: delete datalayer's files on delete
Until now, uMap was not deleting files on delete, which can increase
file storage a lot after some time.

The files are not deleted, but moved to a "purgatory" folder, from
where they can be deleted after some time.
2024-09-23 09:56:20 +02:00
Yohan Boniface
6618ff5648 fix: polygon with interactive=false was still interactive
This bug has been introduced when spliting features, as we now
only set the Leaflet Polygon options with setStyle, will the
`interactive` option is only used in the init by Leaflet.

See https://github.com/Leaflet/Leaflet/pull/9475

fix #2149
2024-09-20 10:21:57 +02:00
Yohan Boniface
051dd90450 fix: editing coordinates manually would not be saved
The primary coordinates is a two-elements Array in Point.coordinates,
but FormBuilder does not know how to edit an Array, so we edit the
`ui._latlngs` instead.

The proper fix would have been to teach FormBuilder how to edit an
Array, but that path is way longer, and given we plan to refactor
it totally, let's wait for that.

fix #2144
2024-09-17 08:57:10 +02:00
Yohan Boniface
8ecc231816 i18n 2024-09-13 19:09:17 +02:00
David Larlet
52e0259a64
Merge pull request #2121 from umap-project/permissions-revamp
Chore: rework permissions panel
2024-09-13 12:32:49 -04:00
David Larlet
d159fdc2cb
feat: add a setting to prevent users from editing their profile
In some situations, the profile comes from the OAuth provider and shouldn’t be modified by users.
2024-09-12 14:23:50 -04:00
Yohan Boniface
b48f911bf2 chore: revamp permissions panel 2024-09-12 17:15:43 +02:00
Yohan Boniface
575b563c67 chore: remove unused class umap-facet-search from css 2024-09-12 17:15:43 +02:00
Yohan Boniface
6d777d9d46 feat: use a copiable input for secret edit link in permissions panel 2024-09-12 17:15:41 +02:00
Yohan Boniface
eda1223516 fix: do not show "Attache to my account" button if no logged in user 2024-09-12 16:53:27 +02:00
Yohan Boniface
445127254b fix: do not show "Layers" title if not layers in permissions panel 2024-09-12 16:53:27 +02:00
Yohan Boniface
289bef7ba8
Merge pull request #2132 from umap-project/fix-poly-icon-alignement
fix: icon alignement in browser, and user icon-xxx class
2024-09-12 15:34:12 +02:00
Yohan Boniface
9848abb3b1 wip: use model specific filename in admin CSV export 2024-09-12 15:23:26 +02:00
Yohan Boniface
ba01f09476 fix: icon alignement in browser, and user icon-xxx class 2024-09-12 15:04:13 +02:00
Yohan Boniface
33c6ee7925 chore: add clean_tilelayer management command
It can be useful to manage the tilelayer registered in the map
settings in db.
2024-09-12 11:52:56 +02:00
Yohan Boniface
17b67cc5de feat: very minimal CSV export of users and maps in admin
fix #2020
2024-09-12 10:30:35 +02:00
Yohan Boniface
010329dce5 2.6.3 2024-09-11 18:36:38 +02:00
Yohan Boniface
409ec13163 i18n 2024-09-11 15:44:33 +02:00
Yohan Boniface
51c1fb0a8f
Merge pull request #2129 from umap-project/fix-cluster-browser-view
fix: clicking feature in the browser would not open popup in cluster
2024-09-11 15:30:37 +02:00
Yohan Boniface
f232bf476c fix: clicking feature in the browser would not open popup in cluster
fix #2127
2024-09-11 14:54:54 +02:00
Yohan Boniface
c804a01bfb fix: fix merge lines on vertex click
fix #2125
2024-09-11 11:39:01 +02:00
Yohan Boniface
cd4b2189ee fix: delete shape from edit toolbar
fix #2124
2024-09-11 10:01:39 +02:00
Yohan Boniface
bdcbd09064 2.6.2 2024-09-10 21:37:40 +02:00
Yohan Boniface
7e8800cd44 fix: german translation breaking home page 2024-09-10 21:36:39 +02:00
Yohan Boniface
f28ec81c36 2.6.1 2024-09-10 18:07:51 +02:00
Yohan Boniface
5f67c9c229 fix: do not call teams.all() on anonymous user
In the same move, refactor the can_edit/_view/_delete functions to
only take the request, which is what really happen in the code, and
adapt the test in that way.
2024-09-10 17:56:14 +02:00
Yohan Boniface
6194bb8258 2.6.0 2024-09-10 16:31:59 +02:00
Yohan Boniface
e4202eb609 i18n 2024-09-10 16:31:49 +02:00
Yohan Boniface
c58964d797 fix: filter feature by displayName by default
fix #2106
2024-09-10 10:02:41 +02:00
Yohan Boniface
9d727bd01f wip: use our own contextmenu 2024-09-09 15:53:55 +02:00
Yohan Boniface
8c05937075 2.6.0b2 2024-09-06 17:25:31 +02:00
Yohan Boniface
b218fc572b i18n 2024-09-06 17:24:51 +02:00
Yohan Boniface
ae09c343d1
Merge pull request #2107 from umap-project/visible-vertexmarkers
wip: only show visible vertexmarkers and do not show when there are too much
2024-09-06 17:21:03 +02:00
Yohan Boniface
dc0cf50513 chore: bump Leaflet.Editable to 1.3.0 2024-09-06 17:01:07 +02:00
Yohan Boniface
7c94cc05ad
Merge pull request #2105 from umap-project/explicit-empty-rule
feat: add explicit empty/not empty check in conditional rules
2024-09-06 16:47:37 +02:00
Yohan Boniface
6d21d47af9 feat: add explicit empty/not empty check in conditional rules
Also fix boolean behaviour (only true was working)
2024-09-06 16:47:19 +02:00
Yohan Boniface
e0b8e88de4
Merge pull request #2112 from umap-project/bottom-controls-zindex
fix: move bottom controls below panels
2024-09-06 16:37:34 +02:00
Yohan Boniface
d019a260c0 fix: move bottom controls below panels
fix #2103
2024-09-06 16:29:40 +02:00
Yohan Boniface
c879914eb8 fix: feature.isOnScreen is now passing the "bounds" argument
Otherwise, when using the browser, we'll end up using
this._map.getBounds(), but in this case the UI may not be in the
map (may be filtered).
2024-09-06 16:08:15 +02:00
Yohan Boniface
b8abc03684 feat: add a "Copy as GeoJSON" entry in the contextmenu 2024-09-05 17:57:23 +02:00
Yohan Boniface
a67c800ee0 wip: add integration test coverring huge path geometry editing 2024-09-05 17:54:01 +02:00
Yohan Boniface
76c3f87f67 wip: only display visible vertexmarker and do not display if too much
This should improve the edit experience with huge geometries. So one
can still edit the properties event if the path is big, and should
zoom in to allow the geometry to be editable.
2024-09-05 17:17:35 +02:00
Yohan Boniface
5010a09cd8 2.6.0b1 2024-09-04 16:06:08 +02:00
Yohan Boniface
a25dc0c5a1 i18n 2024-09-04 16:05:23 +02:00
Yohan Boniface
95cb396459
Merge pull request #2104 from umap-project/fix-anonymous-author
fix: do not try to display author name/url for anonymous maps
2024-09-04 16:01:30 +02:00
Yohan Boniface
ff014429b9
Merge pull request #2102 from umap-project/edit-circlemarker-properties
fix: do not fail when trying to edit a circlemarker
2024-09-04 16:00:55 +02:00
Yohan Boniface
31371cc38c
Merge pull request #2101 from umap-project/datalayers-control-expanded-with-onloadpanel
fix: make sure datalayersControl=expanded does not override onLoadPanel
2024-09-04 15:55:27 +02:00
Yohan Boniface
1d7ad0b4d1
Merge pull request #2099 from umap-project/register-fa-ir
fix: register fa-ir in LANG_INFO
2024-09-04 15:46:44 +02:00
Yohan Boniface
0d5f0b175a fix: do not try to display author name/url for anonymous maps 2024-09-04 15:39:48 +02:00
Yohan Boniface
71ceb87fe2 fix: make sure datalayersControl=expanded does not override onLoadPanel
This value of datalayersControl exists for retrocompat only (it's now
replaced by onLoadPanel=browser)
2024-09-04 15:00:14 +02:00
Yohan Boniface
4f9b4a80c3 fix: do not fail when trying to edit a circlemarker
And for now open the properties panel (geometry/position may be
edited later, when Leaflet.Editable knows about CircleMarker)
2024-09-04 14:36:03 +02:00
Yohan Boniface
c976a86982 fix: make sure to compare comparable values in ternary operators
Comparing `"null"` (in the HTML) and `null` (in the JS) was returning
false.
2024-09-04 11:32:14 +02:00
Yohan Boniface
0be0a3d1a9 feat: display language code in footer language selector 2024-09-04 11:31:56 +02:00
Yohan Boniface
9bde88a513 fix: register fa-ir in LANG_INFO
fix #2086
2024-09-04 11:31:56 +02:00
Yohan Boniface
ee7439a0f9 fix: tilelayer plus icon where never displayed
We were testing the length of the `_layers` property, which where
sliced to `maxShown` before…
2024-09-04 11:23:20 +02:00
Yohan Boniface
c33adcf0e7
Merge pull request #2096 from umap-project/fix-more-button-icon
fix: correct position for more button icon
2024-09-03 15:44:12 +02:00
Yohan Boniface
f986ebf3b3 fix: correct position for more button icon 2024-09-03 15:43:19 +02:00
Yohan Boniface
c321a9e70d
Merge pull request #2095 from umap-project/fix-tilelayer-plus-button
fix: only show + button in tilelayer switcher when more available
2024-09-03 15:35:08 +02:00
Yohan Boniface
ca75955ca9 fix: only show + button in tilelayer switcher when more available 2024-09-03 15:34:15 +02:00
Yohan Boniface
e9b17ea9f2 feat: make boundary persistent in overpass importer 2024-09-03 15:29:40 +02:00
Yohan Boniface
f3f61f5d98 feat: add more context in overpass importer autocomplete results 2024-09-02 17:01:04 +02:00
Yohan Boniface
fe36f44d1a 2.6.0b0 2024-08-30 20:50:33 +02:00
Yohan Boniface
661c57ebc8 i18n 2024-08-30 20:29:27 +02:00
Yohan Boniface
2b3f0b00fb
Merge pull request #2055 from umap-project/dependabot/pip/django-5.1
chore: bump django from 5.0.8 to 5.1
2024-08-30 20:28:28 +02:00
David Larlet
5ca26335d4 exp: try to increase the number of process passes 2024-08-30 20:16:51 +02:00
David Larlet
aeee58b42a
Merge pull request #2062 from umap-project/user-groups
feat: add teams
2024-08-30 13:05:02 -04:00
David Larlet
c6ebfd4363
fix: proper way to test if we have a user 2024-08-30 12:37:48 -04:00
David Larlet
2a2a4be357
lint: fix imports order 2024-08-30 12:34:04 -04:00
David Larlet
5c31014086
tests: check collectstatic generates files with hash 2024-08-30 12:32:10 -04:00
David Larlet
11d3152682
chore: display user’s teams with a table 2024-08-30 11:12:36 -04:00
David Larlet
426780af2c
chore: clean up CSS for buttons in content pages 2024-08-30 11:03:00 -04:00
David Larlet
a202ed4767
chore: add Team to django admin 2024-08-30 10:55:46 -04:00
David Larlet
a877dd1714
chore: remove logo_url from Team model 2024-08-30 10:55:26 -04:00
Yohan Boniface
b895013709 fix: do not redraw remote layer if not dynamic 2024-08-30 16:03:14 +02:00
Yohan Boniface
13735a5739 chore: use our own Team model
We suppose we'll quickly want more than a name, like a description
or a logo_url, and maybe a access_status or permissions…
2024-08-30 15:53:18 +02:00
Yohan Boniface
a45f6ddbe5 i18n 2024-08-30 15:44:56 +02:00
Yohan Boniface
360014901c
Merge pull request #2076 from umap-project/table-input-position
fix: remove position fixed for input and textarea in tableeditor
2024-08-30 15:38:47 +02:00
Yohan Boniface
6b6be017bb wip: use autocomplete to add users in groups 2024-08-29 20:12:24 +02:00
Yohan Boniface
1058e6074f chore: lint 2024-08-29 20:12:24 +02:00
Yohan Boniface
a5a68cc922 wip: show user groups maps in dashboard 2024-08-29 20:12:24 +02:00
Yohan Boniface
eccbbda44d wip: add basic tests for group views 2024-08-29 20:12:24 +02:00
Yohan Boniface
9b2a99019b wip: add very basic CRUD for groups 2024-08-29 20:12:24 +02:00
Yohan Boniface
a3e972bf5d wip: add group maps page and display group as author when defined 2024-08-29 20:12:22 +02:00
Yohan Boniface
dce0ee5f73 wip: use auth.models.Group and manage permissions 2024-08-29 20:11:19 +02:00
Yohan Boniface
061edd3198
Merge pull request #2081 from umap-project/fix-white-space-panel
fix: white space was broken since using loadTemplate
2024-08-29 20:08:51 +02:00
Yohan Boniface
d208b19ddb fix: use position fixed for input and textarea in tableeditor
Otherwise when scrolling the table, the input will not appear at
the expected position, and may even appear outside of the view when
the table is bigger than the viewport.

Drawback: the table will resize its columns when the input/textarea
is created (as position: sticky is in the flow). So I've also removed
the width reset.

fix #2071
2024-08-29 20:07:28 +02:00
Yohan Boniface
f236e7e3b6
Merge pull request #2077 from umap-project/fix-continue-backward-measure
fix: correctly add drawn latlng when continuing line backward
2024-08-29 20:01:01 +02:00
Yohan Boniface
f96f2e1405
Merge pull request #2079 from umap-project/delete-button-tiled
chore: use tiled icon css for big delete buttons
2024-08-29 19:59:44 +02:00
Yohan Boniface
9894c6a669 chore: use tiled icon css for big delete buttons
That's a bit of an experiment, so to see what needs to be done:
- move the icon in the 24px svg normal and white to it's on the same
  place as in the 16px
- replace the JS code (which used a :before class) to use a <i> element
- remove the old CSS class

I've a concern that the way we create elements using the loadTemplate is
more verbose and not DRY, let's discuss this :)
2024-08-29 19:52:29 +02:00
Yohan Boniface
957e80edf9
Update umap/templates/umap/content_footer.html
Co-authored-by: David Larlet <3556+davidbgk@users.noreply.github.com>
2024-08-29 19:41:40 +02:00
Yohan Boniface
5bbbf6a988 fix: white space was broken since using loadTemplate
Since a2ca3a1436, the panel/popup
template uses loadTemplate, which used to remove all white spaces
from the inner html. We had to do this to workaround white space
breaking the slideshow toolbox buttons.

So this commits fixes this problem in another way: do not remove
white space (usefull for text content in popup/panels), but use
a display: flex instead of inline-block.
2024-08-29 12:21:51 +02:00
Yohan Boniface
a72691e390 feat: display contact infos in the footer
This adds a new settings: UMAP_HOST_INFOS

Also, renames UMAP_FEEDBACK_LINK in UMAP_HELP_URL.

cf #2004
2024-08-29 11:41:11 +02:00
Yohan Boniface
3b66c40b01
Merge pull request #2078 from umap-project/fim100-RTL-support--css-logical-properties
Fim100 rtl support  css logical properties
2024-08-29 09:30:43 +02:00
Yohan Boniface
5314fcc13b chore: better icon css default so to work in RTL too 2024-08-28 22:40:44 +02:00
Yohan Boniface
7a7553c52f chore: use imports instead of globals in share.js 2024-08-28 22:40:44 +02:00
Yohan Boniface
d0c1a55b2f chore: make icon.css more logical and working in rtl 2024-08-28 22:40:44 +02:00
fim100
ca86721b89 revert MarkerCluster.Default.css 2024-08-28 22:39:48 +02:00
fim100
431cd91d4c revert leaflet.css 2024-08-28 22:39:48 +02:00
fim100
f9ba7f3c50 Update map.css 2024-08-28 22:39:48 +02:00
fim100
e74ca192d6 fix placement of navigation links in dashboard
My Map and My Profile
2024-08-28 22:39:48 +02:00
fim100
80a842bd32 fix icon position in dashboard 2024-08-28 22:39:48 +02:00
fim100
c52207ee0f make map.css rtl-friendly 2024-08-28 22:39:48 +02:00
fim100
c554427fa8 make alert.css rtl-friendly 2024-08-28 22:39:48 +02:00
fim100
ed2a91330f make nav.css rtl-friendly 2024-08-28 22:39:48 +02:00
fim100
3d7ca9c6f9 make importers.css rtl-friendly 2024-08-28 22:39:48 +02:00
fim100
b886dbac3c make content.css rtl-friendly 2024-08-28 22:39:48 +02:00
fim100
26b1369a3c make base.css rtl-friendly 2024-08-28 22:39:48 +02:00
fim100
a39d89295c making slideshow.css rtl-friendly 2024-08-28 22:39:48 +02:00
fim100
1671a0bef1 making Update icon.css rtl-friendly 2024-08-28 22:39:48 +02:00
fim100
d65c48a88a making Update leaflet.css rtl-friendly 2024-08-28 22:39:48 +02:00
fim100
ec790ad296 making MarkerCluster.Default.css rtl-friendly 2024-08-28 22:39:48 +02:00
Yohan Boniface
ca4df94e7f fix: correctly add drawn latlng when continuing line backward
Otherwise the measure if wrong.

fix #2069
2024-08-28 15:01:43 +02:00
Dimitar
f4c3a10251
Also update regex 2024-08-19 12:20:58 +03:00
Dimitar
92e3de87db
Use preferred tile.openstreetmap.org URL
For reference: https://github.com/openstreetmap/operations/issues/737
2024-08-15 19:58:15 +03:00
Yohan Boniface
ab8bce985e
Merge pull request #2053 from umap-project/bubble-layer
Add "Proportional Circles" layer type
2024-08-15 11:04:47 +02:00
Yohan Boniface
f05590e605
Merge pull request #2025 from umap-project/login-from-map
fix: catch login_required from map page and add a way to login
2024-08-15 10:57:10 +02:00
Yohan Boniface
e42ed4373f wip: do not fail when setting "Circles" layer with non markers data 2024-08-15 10:36:54 +02:00
Yohan Boniface
b0c37671a8
Merge pull request #2060 from umap-project/georss-link-title
fix: do not append HTML element as title in GeoRSSLink popup
2024-08-15 10:25:21 +02:00
Yohan Boniface
bc34851def fix: do not append HTML element as title in GeoRSSLink popup 2024-08-15 10:17:43 +02:00
Yohan Boniface
0847dc1ba6 fix: import GPX desc as description 2024-08-14 11:01:31 +02:00
Yohan Boniface
930463032b wip: add minimal legend for circles layer 2024-08-13 12:30:39 +02:00
Yohan Boniface
cbb022f804 wip: use sqrt for computing circles radius to smooth the sizes
The theory is that the circles surface should be proportional, not
the radius.
2024-08-13 11:11:24 +02:00
Yohan Boniface
6b60b0de64 wip: add "Proportional Circles" layer 2024-08-13 11:11:24 +02:00
Yohan Boniface
5a33709cc9
Merge pull request #2057 from umap-project/icon-to-modules
chore: move icon.js to modules
2024-08-13 11:10:32 +02:00
Yohan Boniface
a04accf16c
Merge pull request #1994 from umap-project/more-tilelayers-button
feat: add a "+" button in the tilelayer switcher
2024-08-13 11:05:02 +02:00
Yohan Boniface
f9484c3336 chore: move icon.js to modules 2024-08-13 11:00:17 +02:00
Yohan Boniface
f08e9cadb5
Merge pull request #2041 from umap-project/mask-polygon
feat: allow to display a polygon "negative"
2024-08-13 10:57:37 +02:00
Yohan Boniface
327c1603f5 Revert "chore: switch to an UI class getter"
This reverts commit 6b793758c5d7d85a2120a5376134f485ea0807bc.
2024-08-13 10:20:46 +02:00
David Larlet
7863cebc32 chore: switch to an UI class getter 2024-08-13 10:20:46 +02:00
Yohan Boniface
00c384bf25 feat: allow to display a polygon "negative"
fix #1125
2024-08-13 10:20:44 +02:00
Yohan Boniface
a0ec0de6f7 feat: align celllayer and cellayerplus border 2024-08-07 09:12:46 +02:00
Yohan Boniface
facccc1c70 feat: add a "+" button in the tilelayer switcher 2024-08-06 13:38:39 +02:00
Yohan Boniface
91c9088082 i18n 2024-08-03 07:37:20 +02:00
David Larlet
29c07755b5
fix: reposition convert to polyline icon 2024-08-02 15:03:40 -04:00
Yohan Boniface
d574abfc36 chore: remove umap.popup.js from js.html
The file has been deleted.
2024-08-02 17:39:45 +02:00
David Larlet
a73134cdb0
Merge pull request #2042 from umap-project/vendors-included
chore: include vendorized static dependencies
2024-08-02 11:19:35 -04:00
Yohan Boniface
5d0abe7dc1
Merge pull request #2033 from umap-project/nocontrol-no-loading
fix: deactivate loader on map fragments
2024-08-02 17:18:02 +02:00
Yohan Boniface
9f5361f2c0
Merge pull request #2034 from umap-project/popup-to-modules
chore: move popups to modules
2024-08-02 17:15:26 +02:00
David Larlet
ff8903e751
fix: remove Ctrl from tests for cross OS compatibility 2024-08-02 11:04:24 -04:00
David Larlet
c6b2dbd04c
fix: avoid vendorizing lealfet useless files 2024-08-02 10:13:55 -04:00
David Larlet
5c7624a08e
fix: avoid vendorizing markercluster sources 2024-08-02 10:06:27 -04:00
David Larlet
cf00069017
fix: avoid vendorizing leaflet.toolbar sources 2024-08-02 10:01:57 -04:00
David Larlet
4125bd1be0
chore: include vendorized static dependencies 2024-08-02 09:54:54 -04:00
Yohan Boniface
5a0b75fd33
Merge pull request #2027 from umap-project/tableditor-direct-import
chore: import TableEditor directly from layer
2024-07-31 22:53:19 +02:00
Yohan Boniface
144c757e0f chore: remove old TableEditor.js tests file 2024-07-31 22:42:23 +02:00
Yohan Boniface
222e69fbf4 chore: import TableEditor directly from layer 2024-07-31 22:42:22 +02:00
Yohan Boniface
6de5dabcc6 fix: fix georss import 2024-07-31 22:31:43 +02:00
Yohan Boniface
5145404dc4 fix: show delete button for owner and anonymous owner 2024-07-31 22:29:29 +02:00
Yohan Boniface
a2ca3a1436 chore: move popups to modules 2024-07-30 16:59:44 +02:00
Yohan Boniface
3bdd5bedf1 fix: catch login_required from map page and add a way to login 2024-07-30 14:41:10 +02:00
Yohan Boniface
084c674847 fix: deactivate loader on map fragments
Since 8ddc570e23 we lost the link
request <=> map, so the "dataloading" and "dataload" events are
global to the DOM, so when loading a list of maps, all instances
react to all dataloading events, which makes the list a mess.

I'd prefer to keep this loading indicator per map, but it's much
easier to just hide it, so let's go that way.
2024-07-30 14:28:41 +02:00
David Larlet
c240357922
fix: do not rely on the hasChildNodes() method
Introduced in 5ba1c28408

TIL: `hasChildNodes()` is sensitive to white spaces.
2024-07-29 21:15:24 -04:00
David Larlet
5ba1c28408
chore: reformat templates with djlint 2024-07-29 10:53:34 -04:00
Yohan Boniface
671d88296f wip: remove print 2024-07-29 16:24:59 +02:00
Yohan Boniface
cd439bb7d0 wip: remove umap.features.js 2024-07-29 16:24:59 +02:00
Yohan Boniface
65c5cb5ab5 wip: refactor isolateShape 2024-07-29 16:24:59 +02:00
Yohan Boniface
cd30f49773 wip: move back click handler to Leaflet Marker/Path
We tried to have only one listened at map level, but we get into
troubles with bindTooltip({permanent: false} and MarkerClusterGroup
stoping the event to each the map.

Let's go back to previous behaviour, and try later to clean this
event management.
2024-07-29 16:24:59 +02:00
Yohan Boniface
1bbdaa4c90 wip: do not try to redraw cluserized marker 2024-07-29 16:24:59 +02:00
Yohan Boniface
565f6d87b6 wip: fix editing Point coordinates by hand
For now we edit ui._latlng, but in an ideal world, we should edit
Point coordinates and then sync to the ui Marker.
2024-07-29 16:24:59 +02:00
Yohan Boniface
25d12420b2 wip: fix popup position for markers
Not sure what changed during the refactor, but now all popups
where opening at click position (plus the popupAnchor for markers).
2024-07-29 16:24:59 +02:00
Yohan Boniface
f80d471203 wip: do not sync twice on commit 2024-07-29 16:24:59 +02:00
Yohan Boniface
a022619625 wip: refactor DataLayer.geojsonToFeatures and fix sync tests 2024-07-29 16:24:59 +02:00
Yohan Boniface
081323dc8a wip: (almost) fix tests 2024-07-29 16:24:59 +02:00
Yohan Boniface
7aa07709b3 wip: first step in moving features to modules (work in progress) 2024-07-29 16:24:56 +02:00
Yohan Boniface
e2d8201321 chore: move permissions to modules 2024-07-29 15:18:25 +02:00
Yohan Boniface
aae75d86e9
Merge pull request #2008 from umap-project/layer-var-in-popup
feat: add {layer} as popup variable (aka extended properties)
2024-07-23 21:49:04 +02:00
Yohan Boniface
ab34765c30
Merge pull request #1989 from umap-project/layer-to-modules
chore: move layers to modules/
2024-07-23 21:42:22 +02:00
Yohan Boniface
6b67ce26a1 feat: expose marker altitude in variables (as "alt") 2024-07-23 21:33:55 +02:00
Yohan Boniface
ef4e33a6ec
Merge pull request #2010 from umap-project/var-null
Fix variable pointing to null value displayed instead of the fallback
2024-07-22 17:58:15 +02:00
David Larlet
a8468cb4fa
chore: modern JS 2024-07-22 09:58:17 -04:00
Yohan Boniface
6b4b6ce53b fix: do not consider null as value in greedyTemplate
cf #820#issuecomment-2227821746
2024-07-22 11:56:10 +02:00
Yohan Boniface
da8e206cd0 chore: pass biome on utils unittests 2024-07-22 11:55:35 +02:00
Yohan Boniface
67ec77fd8a fix: broken sortKey help
And move properties to shema.js. Given those keys does not have
a "guessable" handler, let's have a "customHandlers" prop to deal
with those (instead of keeping them outside of the schema…)

fix #2006
2024-07-22 11:09:25 +02:00
Yohan Boniface
d54843bbe2 feat: add {layer} as popup variable (aka extended properties)
fix #2007
2024-07-22 10:41:46 +02:00
David Larlet
9609fafe93
fix: handle the 'auto' value special case for z-index
Fix #1997
2024-07-15 13:33:07 -04:00
Yohan Boniface
abbd0e4803 chore: move layers to modules/
This is a small step in the direction of spliting the data part
and the rendering part.

Basically in modules/data relies the data part, and in modules/rendering
the rendering part, which at some point in the history should be
the only place where we use and inherit from Leaflet, including utils
and such.
2024-07-12 23:21:41 +02:00
David Larlet
f5fd0eb6e9
fix: remove padding from table editor inputs
Also, decrease line-height of header cells
2024-07-12 14:23:54 -04:00
Yohan Boniface
764fbb4247 2.5.1 2024-07-12 19:01:42 +02:00
Yohan Boniface
163d24c7d0 fix: correct way to replace imports in collecstatic 2024-07-12 19:00:59 +02:00
Yohan Boniface
3226be1bdb 2.5.0 2024-07-12 18:46:45 +02:00
Yohan Boniface
8c58b06ce4 i18n 2024-07-12 18:34:03 +02:00
David Larlet
f40387d5fc
Merge pull request #1968 from umap-project/filter-layer-3
Refactor the table editor including mass actions and filters
2024-07-12 12:18:47 -04:00
David Larlet
75e4679cc9
chore: fix tests 2024-07-12 12:12:29 -04:00
David Larlet
f8cb195336
chore: back to this.properties for TableEditor 2024-07-12 12:02:28 -04:00
David Larlet
b63a0f7f2d
chore: better errors on name validation 2024-07-12 11:53:12 -04:00
David Larlet
85a4fda0ed
chore: use datalayer._propertiesIndex directly 2024-07-12 11:51:04 -04:00
David Larlet
238798acc3
chore: clean table editor CSS 2024-07-12 11:41:14 -04:00
David Larlet
7ce5646c54
chore: move computePosition to Positioned base class 2024-07-12 11:37:03 -04:00
Yohan Boniface
b4d13304f0 fix: add back slideshow.setOptions method, called from U.Map 2024-07-12 15:18:52 +02:00
Yohan Boniface
a51cc8102f fix: fix race condition when slideshow is in autostart mode
Given `setViewFromQueryString` is now async, the slideshow may start
before it is run and thus it has called `initCaptionBar`, so let's
call it directly (and it's not linked to query string, so…)
2024-07-12 15:16:42 +02:00
Yohan Boniface
a101309e03 wip: use Input not BlurInput in tableeditor
BlurInput adds a "check" button we don't want here.
2024-07-12 12:31:50 +02:00
Yohan Boniface
96c9bf9413 wip: set contextmenu x/y according to position in window 2024-07-12 12:21:30 +02:00
Yohan Boniface
4a6b271bbe wip: deal with escape in tableeditor input/textarea 2024-07-11 20:39:05 +02:00
Yohan Boniface
9f04f56c7c wip: use position: fixed for input/textarea in tableeditor
so it does not increase the cell width and does not change all
the table size.
Actually, there is still a small size change as we remove the cell
content before adding the input/textarea, but more subtle than before
2024-07-11 20:39:05 +02:00
Yohan Boniface
3fb7be28ec wip: remove old tableeditor class 2024-07-11 20:39:05 +02:00
Yohan Boniface
2f8cda83b6 wip: do not try to read map.fullPanel blindly
It is only defined when user has write permissions.
2024-07-11 20:39:05 +02:00
Yohan Boniface
f1c34f9d27 wip: minimal keyboard navigation in table editor 2024-07-11 20:39:05 +02:00
Yohan Boniface
f62f3b4ab9 wip: make outline appears on click on table editor 2024-07-11 20:39:05 +02:00
Yohan Boniface
1ef416a622 wip: allow to open table "editor" (readonly) for remote data layers 2024-07-11 20:39:05 +02:00
Yohan Boniface
5909630e0e wip: fix bugs and add tests for table editor 2024-07-11 20:39:05 +02:00
Yohan Boniface
9ac3de2b33 wip: (huge) table editor refactor 2024-07-11 20:39:05 +02:00
Yohan Boniface
ae9659620a wip: another attemp to massiverly delete features from a condition 2024-07-11 20:39:05 +02:00
Yohan Boniface
ec7b546bf5 chore: try to fix toZoom and fromZoom randomly failing tests 2024-07-11 16:07:27 +02:00
Yohan Boniface
a035b6cb38 chore: use our own page fixture so to print console messages 2024-07-11 10:53:33 +02:00
Yohan Boniface
3fa478abac
Merge pull request #1981 from umap-project/autocomplete-datalist
feat: add AutocompleteDatalist and use it for conditional rules
2024-07-10 11:36:59 +02:00
Yohan Boniface
75e36f1c54
Merge pull request #1980 from umap-project/osm-relation-tags
fix: import unified relations from OSM data (use latest osmtogeojson)
2024-07-10 10:34:03 +02:00
Yohan Boniface
7baa70d1b6 feat: add AutocompleteDatalist and use it for conditional rules 2024-07-10 10:10:53 +02:00
Yohan Boniface
d830978f6f fix: import unified relations and tags from OSM data (use latest osmtogeojson)
fix #1011
2024-07-10 09:23:52 +02:00
Yohan Boniface
76fbb306fc
Merge pull request #1982 from umap-project/categorized-color
fix: use correct color for categorized/choropleth layers in browser
2024-07-09 15:16:19 +02:00
Yohan Boniface
ed6f0fcdf1
Merge pull request #1979 from umap-project/fix-blurinput
fix: BlurInput was not updating the object in some situations
2024-07-09 15:15:26 +02:00
Yohan Boniface
e3f59850a7 fix: fix preview color for polygons
Use usually set the `color` property, but we want to use the
fillColor if it sets.
2024-07-09 12:47:10 +02:00
Yohan Boniface
00483882a1 fix: use correct color for categorized/choropleth layers in browser 2024-07-09 11:58:29 +02:00
Yohan Boniface
dd9c3ba194 chore: biome 2024-07-09 11:47:34 +02:00
Yohan Boniface
3be274929a fix: BlurInput was not updating the object in some situations
Steps to reproduce:
- click in any BlurInput
- change to any value
- click outside the input => the value will be set to the object
- click again in the input
- change value to the initial
- click outside => the value will not be set

This is because the BlurInput in sync on blur, and it was comparing
the current field value with an "initial" one, only set at build.
This check is made because we don't want to trigger an edit when a
user click in a blurinput and click outside without changing the value.
2024-07-09 10:46:22 +02:00
Yohan Boniface
36b4510e46 fix: make sure panels are above controls
fix #1954
2024-07-05 18:59:13 +02:00
Yohan Boniface
4ae47de8a9
Merge pull request #1958 from umap-project/broken-help
fix: main help button from edit toolbar was broken
2024-07-05 18:51:14 +02:00
Yohan Boniface
207860ecf5 chore: refactor help.button arguments 2024-07-05 18:27:53 +02:00
Yohan Boniface
ec5f8d7b3c
Update umap/static/umap/js/modules/help.js
Co-authored-by: David Larlet <3556+davidbgk@users.noreply.github.com>
2024-07-05 18:19:00 +02:00
Yohan Boniface
257d205690
Merge pull request #1953 from umap-project/categorized-layer
feat: add new type of layer Categorized
2024-07-05 18:18:36 +02:00
Yohan Boniface
1b8b130805 wip: no need for await here 2024-07-05 17:52:35 +02:00
Yohan Boniface
cc6ae95371 wip: make Map.initialize async
We want to be able to await function there.

Specifically, we want to await the data creation when it comes from
the `data` url param, so when we also consume the `feature` url param,
that feature is already on the map so we can open it
2024-07-05 17:52:35 +02:00
Yohan Boniface
49db1f9aaa chore: move share to modules 2024-07-05 17:52:33 +02:00
Yohan Boniface
741fc70a17 wip: simpler syntax for dynamic import in formatters 2024-07-05 17:51:53 +02:00
Yohan Boniface
891f04656f wip: make collectstatic happy with import() in comments
Also add missing .map files.

Maybe a proper solution would be to commit the vendors/ and
remove manually the comments.
2024-07-05 17:51:53 +02:00
Yohan Boniface
ca0f771947 wip: move formatters to a module
This mainly allows to dynamically load the third party libraries.

In the same process, those libs have changed:

- tokml => switch to placemarkio fork, more up to date and available
  as ESM
- togpx => switch to geojson-to-gpx, more up to date and available as
  ESM (note: this lib does not export polygons, because they do not
  make sense in GPX world, while the previous was converting them as
  lines before)
2024-07-05 17:51:53 +02:00
Yohan Boniface
f293f9c929 chore: move slideshow to a module 2024-07-05 17:35:08 +02:00
Yohan Boniface
6aa74060ad chore: make explicit that the "show get started dialog" is a special case 2024-07-05 09:52:39 +02:00
David Larlet
8b62aecd31
chore: create a WithTemplate base class
Allows to load a string/template and bind all `data-ref` references to `this.elements`.
2024-07-04 20:11:38 -04:00
Yohan Boniface
6976fd1f63
Merge pull request #1963 from umap-project/overpass-departement
fix: allow to search a French departement in Overpass importer
2024-07-02 22:51:40 +02:00
Yohan Boniface
6cbda1f373
Merge pull request #1964 from umap-project/throttle-search
fix: add throttle in autocomplete
2024-07-02 22:51:09 +02:00
Yohan Boniface
1839c48234
Merge pull request #1956 from umap-project/custom-prompt
chore: add custom prompt
2024-07-02 22:49:05 +02:00
Yohan Boniface
6872a584be wip: fix tests 2024-07-02 21:09:23 +02:00
Yohan Boniface
4c1ea8b97f wip: make sure dialog polyfill works 2024-07-02 20:49:14 +02:00
Yohan Boniface
f8577c3639 chore: always use real tiles in playwright when in debug mode 2024-07-02 19:11:39 +02:00
Yohan Boniface
abbd0eef62 fix: add throttle in autocomplete 2024-07-02 19:06:11 +02:00
Yohan Boniface
91badcdb5e wip: rework dialog class 2024-07-02 18:11:22 +02:00
Yohan Boniface
23396ad4df fix: allow to search a French departement in Overpass importer
And make it configurable in the same time.
2024-07-02 10:45:05 +02:00
Yohan Boniface
759dd34ef3 fix: main help button from edit toolbar was broken 2024-07-01 18:58:01 +02:00
Yohan Boniface
186025e0f0 chore: add custom prompt 2024-07-01 18:54:06 +02:00
Yohan Boniface
ce3439f6b5 feat: add new type of layer Categorized
This is like Choropleth, but with categories instead of graduated.

fix #1433
2024-07-01 12:48:46 +02:00
Yohan Boniface
796037cd74 2.4.2 2024-06-26 23:19:28 +02:00
Yohan Boniface
3a10b0c4e0 i18n 2024-06-26 23:18:30 +02:00
Yohan Boniface
3db414cb97 fix tests broken in c09adffb64 2024-06-26 23:16:02 +02:00
Yohan Boniface
c09adffb64 fix: make sure to quote spaces in URL when using proxy
space is a control character, and thus is forbidden in an URL, and
we do have spaces in overpass URL (containing raw queries).
2024-06-26 22:57:25 +02:00
David Larlet
3805d7f308
fix: better line-height for importers’ names 2024-06-26 15:43:46 -04:00
David Larlet
b01a194469
Merge pull request #1943 from umap-project/multiple-dataurl-onload
feat: handle multiple dataUrl parameters on map load
2024-06-26 14:22:11 -04:00
David Larlet
84e7f7a0a8
Merge pull request #1944 from umap-project/apply-biome-unsafe-2
chore: apply Biome unsafe changes
2024-06-26 13:21:56 -04:00
David Larlet
31d1c36a48
chore: explicit comment for global isNaN usage 2024-06-26 13:05:24 -04:00
7a7977c5cd fix(sync): do not send messages when loading data from the server
This introduces a `sync=true/false` parameter that can be passed along
when loading data from our own server, in which case we don't want to
send "operation" messages.
2024-06-26 18:59:20 +02:00
0dcedeb525 fix(sync): sync feature layer changes
This commits adds a way to differenciate "end of edit" events that are
triggered rightfully and the one which are triggered during the deletion
of a feature.

Also, directly call the `sync.upsert()` method after the move happened.
2024-06-26 18:59:20 +02:00
4f19824805 fix(sync): pass the correct datalayer uuid 2024-06-26 18:59:20 +02:00
David Larlet
b5cb092cd4
chore: from switch with unique case to if/else 2024-06-26 11:29:20 -04:00
David Larlet
04c50c4453
chore: deal with missing label for url_template 2024-06-26 10:35:46 -04:00
David Larlet
7c2b5839a9
Merge pull request #1942 from umap-project/rational-zindexes
chore: rationalize z-indexes in CSS
2024-06-26 10:10:47 -04:00
David Larlet
d1ded301a5
chore: do not use Number.isNaN in special cases 2024-06-25 21:41:29 -04:00
David Larlet
c61ca9c506
chore: remove the noDelete rule completely 2024-06-25 21:31:37 -04:00
David Larlet
b819c554ee
chore: there is a difference between unset and delete 2024-06-25 20:53:02 -04:00
David Larlet
7a82b6547e
chore: do not use Number.isNaN in special cases 2024-06-25 18:14:34 -04:00
David Larlet
5c88502a2e
chore: set a sync default value on createDataLayer
Rel: https://biomejs.dev/linter/rules/use-default-parameter-last/
2024-06-25 17:23:52 -04:00
David Larlet
445a793c3e
chore: apply Biome unsafe changes
Without `useBlockStatements`
2024-06-25 17:11:17 -04:00
David Larlet
b426d212f0
feat: handle multiple dataUrl parameters on map load 2024-06-25 16:41:39 -04:00
David Larlet
735c9dc6d8
chore: rationalize z-indexes in CSS
Positive side-effect: alerts are now above importers panel.
2024-06-25 14:56:25 -04:00
David Larlet
ef33a26f11
chore: apply Biome safe changes 2024-06-25 10:00:57 -04:00
David Larlet
e32deedcc8
chore: setup Biome to replace Prettier
If you are using SublimeText: https://packagecontrol.io/packages/LSP-biome
2024-06-25 09:59:40 -04:00
adc1cf460f Use css variables
Co-authored-by: David Larlet <3556+davidbgk@users.noreply.github.com>
2024-06-25 14:15:23 +02:00
c3a412059a fix: better spacing for the alert box, when activated 2024-06-25 14:15:23 +02:00
David Larlet
0b031dc7cc
fix: Distinction between clearing data vs. layers
Fix #1934
2024-06-24 17:04:33 -04:00
Yohan Boniface
5a5bada7b8 2.4.1 2024-06-24 08:33:23 +02:00
Yohan Boniface
e4af031ca1
Merge pull request #1933 from umap-project/fix-change-datalayer
fix: fix path disappearing when changing its datalayer
2024-06-24 08:32:32 +02:00
Yohan Boniface
d1fd842c1a i18n 2024-06-24 08:16:41 +02:00
Yohan Boniface
8d9bd4aec1 fix: fix path disappearing when changing its datalayer
fix #1931
2024-06-24 08:08:23 +02:00
Yohan Boniface
2123f7d1e6 2.4.0 2024-06-21 22:09:51 +02:00
Yohan Boniface
37c5601609
Merge pull request #1930 from umap-project/feature-panel-querystring
feat: give precedence to feature in query string over onLoadPanel
2024-06-21 22:04:05 +02:00
Yohan Boniface
a8daca425c i18n 2024-06-21 21:59:43 +02:00
Yohan Boniface
82c9ec7d39 feat: give precedence to feature in query string over onLoadPanel
cf #1893
2024-06-21 21:57:34 +02:00
Yohan Boniface
c2fc9ffb57 chore: use button element for "back to browser" action
As we did for other actions in c0ecc39439
2024-06-21 21:53:22 +02:00
Yohan Boniface
2b2a63fe29 chore: fix failing test 2024-06-21 18:29:40 +02:00
Yohan Boniface
02dd29a55f chore: add margin left to radio buttons 2024-06-21 18:03:02 +02:00
Yohan Boniface
e5259b3ffe
Merge pull request #1929 from umap-project/heading-css-size
chore: change heading CSS size
2024-06-21 17:46:44 +02:00
Yohan Boniface
9fabfe08cd
Merge pull request #1922 from umap-project/smaller-headings
chore: smaller headings in descriptions
2024-06-21 16:39:44 +02:00
Yohan Boniface
2b8326bd61
Merge pull request #1928 from umap-project/fix-slideshow-buttons
fix: fix slideshow toolbar position and size
2024-06-21 16:38:28 +02:00
Yohan Boniface
cd69e5fbb0
Merge pull request #1924 from umap-project/popup-min-width
fix: increase popup min-width
2024-06-21 16:38:06 +02:00
Yohan Boniface
5e480627cc
Merge pull request #1923 from umap-project/white-space-description
fix: also use white-space: pre-line on map description
2024-06-21 16:37:43 +02:00
Yohan Boniface
25cd19049e
Merge pull request #1921 from umap-project/fix-layer-labelkey
fix: use layer labelKey if any when filtering features
2024-06-21 16:37:14 +02:00
Yohan Boniface
73493258f1
Merge pull request #1920 from umap-project/fix-overlay-null
chore: do not set overlay=null as default
2024-06-21 16:36:57 +02:00
Yohan Boniface
ebafb6d40a chore: change heading CSS size 2024-06-21 16:35:07 +02:00
Yohan Boniface
7be62f3dab fix: fix slideshow toolbar position and size
broken by c0ecc39439
2024-06-21 16:33:37 +02:00
Yohan Boniface
3037128540 fix: add icon to "edit map details" panel title 2024-06-21 15:14:27 +02:00
Yohan Boniface
36db88f5a6 fix: increase popup min-width
Since fa2bef85d3 popup are smaller,
let's try to have them as before.
2024-06-21 14:55:42 +02:00
Yohan Boniface
25f338f51d fix: also use white-space: pre-line on map description
We removed line breaks management on the JS side so to manage it
in CSS, but this CSS was only active on popup/panels for features.
Let's have a class for this, and add it to the map description to
(about panel).
2024-06-21 14:39:12 +02:00
Yohan Boniface
6f38dcf4d7 fix: this css var has been renamed elsewhere 2024-06-21 14:07:48 +02:00
Yohan Boniface
3ed548b097 chore: smaller headings in descriptions
We already have a h3 as title, both in the popup or in the panel
2024-06-21 14:05:47 +02:00
Yohan Boniface
4fc66da80c fix: use layer labelKey if any when filtering features
fix #1908
2024-06-21 13:35:06 +02:00
Yohan Boniface
5609092cc0 chore: do not set overlay=null as default
FormBuilder will break when reimporting an exported map with this
default value (at the casting to object was only made on the init,
so reimporting will override this to null again).
2024-06-21 11:39:39 +02:00
David Larlet
ed2386eaae
2.4.0b2 2024-06-20 10:56:26 -04:00
David Larlet
0edf7cc5d9
i18n 2024-06-20 10:56:04 -04:00
David Larlet
8b2610947a
Merge pull request #1917 from umap-project/1911-better-importers-styles
fix: CSS adjustments for importers
2024-06-20 09:59:40 -04:00
David Larlet
f78320d153
Merge pull request #1916 from umap-project/1913-alert-on-import
fix: display an alert if the import is successful
2024-06-20 09:59:26 -04:00
David Larlet
41abbc90d0
Merge pull request #1914 from umap-project/1912-native-radio-inputs
fix: remove custom styles for radio inputs
2024-06-20 09:59:00 -04:00
David Larlet
0a9f57d2d8
fix: CSS adjustments for importers
Fix #1911
2024-06-18 15:11:58 -04:00
David Larlet
7e6d264796
fix: display an alert if the import is successful
Fix #1913
2024-06-18 14:53:27 -04:00
David Larlet
f1b1abb38f
Merge pull request #1903 from umap-project/set-layername-from-dataset
feat: set layer name when importing from dataset
2024-06-18 14:41:02 -04:00
David Larlet
08f5debd62
fix: remove custom styles for radio inputs
Fix #1912
2024-06-18 14:38:00 -04:00
Yohan Boniface
b977d26eae feat: set layer name when importing from dataset 2024-06-17 11:54:06 +02:00
Yohan Boniface
afcaf2a07a fix: correct way to open files dialgo with ctrl+O 2024-06-17 10:46:46 +02:00
David Larlet
1a3377723b
2.4.0b1 2024-06-14 21:44:44 -04:00
David Larlet
411452ac70
fix: allow first radio input click when second selected 2024-06-14 17:43:00 -04:00
David Larlet
a3afadb677
fix: hide importers section if none is defined 2024-06-14 17:21:09 -04:00
David Larlet
ceab5090a7
fix: explicit import paths for collectstatic hashes 2024-06-14 17:20:16 -04:00
David Larlet
6de3e1f881
2.4.0b0 2024-06-14 16:42:13 -04:00
Yohan Boniface
c144c9d958 fix: django cannot run collectstatic with circular imports in modules
alert.js was importing request.js which then imports alert.js

In the process, we moved the post to send the email out of the
alert.js file, and thus tried another pattern to communicate data
between an alert and its caller.
2024-06-14 22:05:56 +02:00
Yohan Boniface
99595e3e2f chore: fix translated test 2024-06-14 20:51:29 +02:00
Yohan Boniface
b747b347f4 fix: dialog class should have "window" class to get propert buttons 2024-06-14 20:45:39 +02:00
Yohan Boniface
74e0b43311 fix: correct syntax for translating string when sending emails 2024-06-14 20:41:53 +02:00
Yohan Boniface
ca18c5b7df chore: move alert.html inside templates and update translations
When alert.html was in static, Django was creating a new translation
file, while we want it to just add those strings in the backend
po file.
2024-06-14 20:41:53 +02:00
Yohan Boniface
34f00dfec1 tests: try to fix randomly failing test test_should_honour_fromZoom 2024-06-14 18:51:58 +02:00
Yohan Boniface
710b0cf1d9
Merge pull request #1857 from umap-project/geodatamine-plugin
Importers for custom external sources
2024-06-14 18:47:45 +02:00
Yohan Boniface
88b7e401c0
Merge pull request #1776 from umap-project/conditional-rules
feat: very minimal experimental conditional style rules
2024-06-14 18:40:37 +02:00
Yohan Boniface
e16d3a629c wip: fix tests 2024-06-14 18:40:05 +02:00
Yohan Boniface
ca16e5b2c9 wip: use new alert API after rebase 2024-06-14 18:40:05 +02:00
Yohan Boniface
e9f9c30639 wip: shorter labels in importer panel 2024-06-14 18:40:05 +02:00
Yohan Boniface
6f0d42d817 wip: re-center radio and checkbox inputs 2024-06-14 18:40:05 +02:00
Yohan Boniface
4ed7c45086 wip: use same label in buttons and title for "Import data"
The control says "Import data", let's keep this for now.
2024-06-14 18:40:05 +02:00
Yohan Boniface
e90ad4b9cd wip: sort themes in GeoDataMine importer 2024-06-14 18:40:05 +02:00
Yohan Boniface
d928195a5b wip: rename and document UMAP_IMPORTERS 2024-06-14 18:40:05 +02:00
Yohan Boniface
4127ffb891 wip: simplify a bit input CSS height 2024-06-14 18:40:05 +02:00
Yohan Boniface
4f1eb20be9 wip: move importers css to a dedicated file and refactor 2024-06-14 18:40:05 +02:00
Yohan Boniface
017e407758 wip: refactor margin bottom management in caption title 2024-06-14 18:40:05 +02:00
Yohan Boniface
3f6940cd5b wip: make sure importers are always in the same order
Given they are loaded from an import() call, the order they are
added in IMPORTERS in asynchronous, so we cannot rely on this order
2024-06-14 18:40:05 +02:00
Yohan Boniface
c51f8ae5ce wip: close importer dialog on escape in any 2024-06-14 18:40:05 +02:00
Yohan Boniface
460843b900 wip: add icons for importers 2024-06-14 18:40:05 +02:00
Yohan Boniface
115130083d wip: make sure we do not add an invalid overpass URL 2024-06-14 18:40:05 +02:00
Yohan Boniface
a70307ea29 wip: rename presets to datasets 2024-06-14 18:40:05 +02:00
Yohan Boniface
2c9623aff6 wip: refine geodatamine importer 2024-06-14 18:40:05 +02:00
Yohan Boniface
f1901ea84c wip: add margin-bottom on select element 2024-06-14 18:40:04 +02:00
Yohan Boniface
c1ab57d952 wip: add quick help for overpass importer expressions syntax 2024-06-14 18:38:44 +02:00
Yohan Boniface
c599082eca wip: deal with multiple dialog z-index 2024-06-14 18:38:44 +02:00
Yohan Boniface
b7dd771a7f wip: prettier 2024-06-14 18:38:44 +02:00
Yohan Boniface
c3ae3b5770 wip: minimal overpass importer
cf #112
2024-06-14 18:38:44 +02:00
Yohan Boniface
43f7e6a467 feat: allow to set the new layer name at import 2024-06-14 18:38:44 +02:00
Yohan Boniface
3998a88d43 wip: use dt/dd for import formats help box 2024-06-14 18:38:43 +02:00
Yohan Boniface
b0e9bbd86c wip: smaller dialog width 2024-06-14 18:38:30 +02:00
Yohan Boniface
35189cc9fb wip(importer): use only one submit button and be smarter to guess action 2024-06-14 18:38:30 +02:00
Yohan Boniface
8dd1c4bc7f wip: remove AutoComplete.URL (can't set class properties yet) 2024-06-14 18:38:30 +02:00
Yohan Boniface
1cefd4c9a7 wip: allow to control geodatamine baseUrl from settings 2024-06-14 18:38:30 +02:00
Yohan Boniface
d35e72dab9 wip: add aspoint attribute to geodatamine URL 2024-06-14 18:38:30 +02:00
Yohan Boniface
4e3228d114 feat: allow to create remote data layer from import panel
And make the form conditional.
2024-06-14 18:38:30 +02:00
Yohan Boniface
dbafe19b7f chore: declare ttl property in schema 2024-06-14 18:38:30 +02:00
Yohan Boniface
16fd5d8ca3 wip: typo 2024-06-14 18:38:30 +02:00
Yohan Boniface
342dcbabbe wip: no need for AVAILABLE_IMPORTERS 2024-06-14 18:38:30 +02:00
Yohan Boniface
f5eea1fe3f wip(naming): replace "plugin" by "importer"
We are not ready yet to talk about plugins
2024-06-14 18:38:30 +02:00
Yohan Boniface
93a189497b wip: control plugins from settings 2024-06-14 18:38:29 +02:00
Yohan Boniface
a7a214d7fe wip: deal with boundary types in geodatamine importer 2024-06-14 18:38:29 +02:00
Yohan Boniface
03ce8e90d6 wip: refactor importer 2024-06-14 18:38:29 +02:00
Yohan Boniface
c7cd87ec8a wip: move presets to importer plugins 2024-06-14 18:38:29 +02:00
Yohan Boniface
b657a5e9b3 wip: simpler importer API 2024-06-14 18:38:29 +02:00
Yohan Boniface
1e4de02694 wip: add a basic importer for commune shapes
Mainly wanted to have two improters to play with, in order to
better understand the common part, and thus the API we may define
between them and the importer panel.
2024-06-14 18:38:29 +02:00
Yohan Boniface
5b914c1bd2 wip: make it simpler to create an autocomplete class 2024-06-14 18:38:29 +02:00
Yohan Boniface
e51347e239 wip: very naive geodatamine and communes importers 2024-06-14 18:38:29 +02:00
Yohan Boniface
22ccd61d87 chore: remove empty help entry inclusion 2024-06-14 18:30:32 +02:00
Yohan Boniface
191fb6d853 chore: reviewing labels with Aurélie 2024-06-14 18:24:56 +02:00
Yohan Boniface
59dbde4f32 chore: make browser labels consistent 2024-06-14 18:24:54 +02:00
Yohan Boniface
d407949138 chore: be more explicit on browser modes 2024-06-14 18:24:10 +02:00
Yohan Boniface
e023321ee5
Merge pull request #1895 from umap-project/request-error-alert
fix: display an alert on any request error
2024-06-14 18:22:54 +02:00
Yohan Boniface
713be1538c chore: change alert CSS sizing 2024-06-14 18:21:44 +02:00
David Larlet
eda3823b3a
Merge pull request #1896 from umap-project/better-alerts
chore: overall alerts improvements
2024-06-14 11:51:46 -04:00
Yohan Boniface
7e86bc6db8 wip: do not display alerts from the maps in a content list page 2024-06-14 17:51:42 +02:00
Yohan Boniface
a2ba35cb93
Merge pull request #1894 from umap-project/fix-feature-edit-icon
fix: use correct icon class in edit feature panel
2024-06-14 17:31:42 +02:00
David Larlet
fb1407cdbf
chore: overall alerts improvements 2024-06-14 11:08:59 -04:00
Yohan Boniface
9dc11ec9f9 wip: fix tests after rebase on master 2024-06-14 16:55:36 +02:00
Yohan Boniface
6bdba1d0ed wip: do not use public class fields yet
Browser support is not enough.
2024-06-14 16:55:36 +02:00
Yohan Boniface
f10d345113 wip: use this.rules.getOption directly 2024-06-14 16:55:36 +02:00
Yohan Boniface
907ba09c45 wip: do not use private property yet
Support is not ready for us.
2024-06-14 16:55:36 +02:00
Yohan Boniface
05ea45acd2 wip: use getter/setter for Rule dynamic properties 2024-06-14 16:55:36 +02:00
Yohan Boniface
7367de5545 wip: deal with boolean values in conditional rules 2024-06-14 16:55:36 +02:00
Yohan Boniface
5ec944fce0 wip: deal with gt/lt and numbers in conditional rules 2024-06-14 16:55:36 +02:00
Yohan Boniface
129f46dd6d wip: add minimal tests for conditional rules 2024-06-14 16:55:36 +02:00
Yohan Boniface
d6ae4744a6 wip: make sure we update rule when condition is changed
And make sure we redraw data on map
2024-06-14 16:55:36 +02:00
Yohan Boniface
805c09e34e wip: allow to deactivate a conditional rule from list 2024-06-14 16:55:36 +02:00
Yohan Boniface
a2d04b9ad4 wip: use direct imports instead of L. global 2024-06-14 16:55:36 +02:00
Yohan Boniface
4f8e453012 wip: allow to reorder rules 2024-06-14 16:55:36 +02:00
Yohan Boniface
05eab25da4 feat: very minimal experimental conditional style rules 2024-06-14 16:55:33 +02:00
Yohan Boniface
15de486425 fix: use correct icon class in edit feature panel 2024-06-14 15:31:16 +02:00
Yohan Boniface
d221a98e78 fix: display an alert on any request error
This used to be the case, but was changed by mistake in the
request refactor (swicht from xhr)
2024-06-14 15:24:01 +02:00
b94995120a refactoring(sync): Simplify the design of the sync engine.
Removes the concept of message dispatcher and message sender, all of
it can be done by the syncengine class, making it easier to grasp.
2024-06-14 00:20:59 +02:00
Yohan Boniface
e968261dff wip: fix more tests 2024-06-13 20:53:07 +02:00
Yohan Boniface
897d4f22f4 chore(tests): make sure we send a valid geojson when data is empty 2024-06-13 20:52:28 +02:00
David Larlet
b863beaec9
chore: fix tests 2024-06-13 14:13:42 -04:00
David Larlet
802d5d9d6c
chore: set default language for tests as en-GB 2024-06-13 13:41:00 -04:00
David Larlet
b197e067e8
fix: listen to the correct event for conflicts 2024-06-12 19:06:28 -04:00
David Larlet
8400b55b9d
chore: direct import of the Alert class in modules 2024-06-12 18:30:40 -04:00
David Larlet
cea2aee88f
chore: rename alert choice to conflict + CSS vars 2024-06-12 18:15:28 -04:00
David Larlet
10e398d222
chore: better alerts CSS 2024-06-12 18:03:05 -04:00
David Larlet
6cb1be1fd4
chore: use direct import for ServerRequest in alerts 2024-06-12 18:03:05 -04:00
David Larlet
ddaafa8cda
chore: scroll when the help box is too big 2024-06-12 18:03:05 -04:00