Commit graph

1847 commits

Author SHA1 Message Date
David Larlet
836c3361d7
ci: mock OSM tiles requests in Playwright for speed
Also, cast the PLAYWRIGHT_TIMEOUT parameter.
2024-04-18 14:08:57 -04:00
Yohan Boniface
4ded52e3fc chore: change Panel.open signature 2024-04-18 17:46:56 +02:00
Yohan Boniface
9a46901795
Merge pull request #1750 from umap-project/latest-open-popup
feat: open popup when default view is set to latest
2024-04-17 19:30:10 +02:00
Yohan Boniface
62e7e3c01a
Merge pull request #1755 from umap-project/browser-no-control
fix: make sure we do not render browser in map fragment
2024-04-17 18:33:54 +02:00
Yohan Boniface
1bd1511d6d
Merge pull request #1757 from umap-project/fix-browser-on-save
fix: prevent rebuilding the browser at each save
2024-04-17 18:33:19 +02:00
Yohan Boniface
ba72f59624
Merge pull request #1760 from umap-project/fix-esc-fragment
fix: do not try to close editPanel if not set
2024-04-17 15:10:12 +02:00
Yohan Boniface
67bc181098
Merge pull request #1756 from umap-project/edit-in-osm-in-contextmenu
feat: add link in contextmenu to edit map in OSM
2024-04-17 15:04:09 +02:00
Yohan Boniface
1bf2642090
Merge pull request #1762 from umap-project/pw-timeout
chore: allow to set playwright timeout from env var
2024-04-17 15:03:46 +02:00
Yohan Boniface
0c1c5f117d fix: do not try to close editPanel if not set
When in the user dashboard and opening a map preview, when we
press escape it will try to close non existing panels (they are
not instantiated given there is not edit mode there)
2024-04-17 15:03:25 +02:00
Yohan Boniface
d985a6585e chore: formatting 2024-04-17 14:58:04 +02:00
Yohan Boniface
89c92471bd
Merge pull request #1761 from umap-project/increase-url-template
fix: increase TileLayer.url_template size
2024-04-17 14:57:30 +02:00
Yohan Boniface
c79660c354 chore: allow to set playwright timeout from env var
so we can increase it in the CI
2024-04-17 14:57:02 +02:00
Yohan Boniface
0acf5f2f2f chore: change zoomTo signature to make it more explicit 2024-04-17 14:55:20 +02:00
Yohan Boniface
d743ffeea0 fix: increase TileLayer.url_template size
fix #255
2024-04-17 11:19:31 +02:00
Yohan Boniface
17e96e6c63 feat: add minimal OpenGraph links
cf #1591
2024-04-17 10:55:07 +02:00
Yohan Boniface
c4b8e24dab fix: prevent rebuilding the browser at each save
Otherwise we lose the browser current context (some layer may
be opened, or user may have scrolled down)
2024-04-17 10:03:30 +02:00
Yohan Boniface
d0cc1cdd3d i18n 2024-04-17 09:45:13 +02:00
Yohan Boniface
87e2467a4c feat: add link in contextmenu to edit map in OSM
fix #1651
2024-04-17 09:34:39 +02:00
Yohan Boniface
99d5165fcf fix: make sure we do not render browser in map fragment
There was an edge case when map has "dataLayersControl=expanded":
we only overrided "onLoadPanel", so dataLayersControl was still
considerer. Let's have a more generic stop.
2024-04-17 08:27:58 +02:00
Yohan Boniface
a6ed20b120 wip: make that "browse data" opens the browser in expanded mode
And also add a "See layer" action in the context menu.

I'm not totally sure it's the way to go, but it's closer to the
current behaviour, and as a user a way missing a way to go straight
to the extanded browser version.
2024-04-16 18:07:21 +02:00
Yohan Boniface
8c418287e4 feat: display a message when importer cannot find lat/lng columns
fix #1699
2024-04-16 17:39:15 +02:00
Yohan Boniface
e2413d1b83
Merge pull request #1749 from umap-project/layers-list-import-panel
fix: update layers list in import panel
2024-04-16 16:36:12 +02:00
Yohan Boniface
4b05a62b8b feat: open popup when default view is set to latest
fix #1726
2024-04-16 14:52:52 +02:00
Yohan Boniface
4f58b64ce5 fix: update layers list in import panel
fix #1729
2024-04-16 13:49:03 +02:00
Yohan Boniface
d3bf9fcdf0 fix: hide delete button for editors in dashboard
fix #1739
2024-04-16 11:32:00 +02:00
Yohan Boniface
2602b27f34 chore: fix tests after rebase 2024-04-16 10:30:05 +02:00
Yohan Boniface
65bad68efe wip: change icon for panel expanded/condensed 2024-04-16 09:09:59 +02:00
Yohan Boniface
9ee672f1e7 wip: fix border for dark panel 2024-04-16 09:09:59 +02:00
Yohan Boniface
4cfe319a91 fix: remove white border from black edit buttons 2024-04-16 09:09:59 +02:00
Yohan Boniface
b933c4badd wip: align panel bottom above scale control 2024-04-16 09:09:59 +02:00
Yohan Boniface
e615e0926a chore: fix tests 2024-04-16 09:09:59 +02:00
Yohan Boniface
573a33df5a chore: use CSS vars for panel 2024-04-16 09:09:59 +02:00
Yohan Boniface
211a86f27c chore: lint 2024-04-16 09:09:59 +02:00
Yohan Boniface
2f1a85144e chore: make panel toolbox sticky instead of fixed
No need to deal with width, that way.
2024-04-16 09:09:59 +02:00
Yohan Boniface
cd01e4085f chore: better align icon and title in panels 2024-04-16 09:09:59 +02:00
Yohan Boniface
8279ae8a62 chore: put back order of edit buttons
We'll certainly change them later, but for now let's create
useless noise for users
2024-04-16 09:09:59 +02:00
Yohan Boniface
2f3d579079 chore: make captionControl nullable in schema.js
So it can be configured to appears in the "More" button
2024-04-16 09:09:59 +02:00
Yohan Boniface
c9acb22d64 chore: remove calls to L. from browser.js 2024-04-16 09:09:59 +02:00
Yohan Boniface
2c248ea124 chore: panel.MODE has been renamed to panel.mode 2024-04-16 09:09:59 +02:00
Yohan Boniface
70cca268e8 chore: fix icons in the dashboard 2024-04-16 09:09:59 +02:00
Yohan Boniface
fa69192804 chore: add min-height for textarea 2024-04-16 09:09:59 +02:00
Yohan Boniface
737292ca76 chore: remove unused CSS 2024-04-16 09:09:59 +02:00
Yohan Boniface
11cd61ff84 chore: remove useless back button from table editor 2024-04-16 09:09:59 +02:00
Yohan Boniface
c5e3dfb95c chore: fix JS syntax to be compatible with browser >= 2020
Safari only supports public field since 2021…
2024-04-16 09:09:59 +02:00
Yohan Boniface
46016cb10b chore: replace panel:xxx events 2024-04-16 09:09:59 +02:00
Yohan Boniface
581f7134fd chore: fix integration tests 2024-04-16 09:09:59 +02:00
Yohan Boniface
7fd2f0ded9 chore: fix drag class 2024-04-16 09:09:59 +02:00
Yohan Boniface
44bae50c85 chore: remove remaining openPanel/closePanel calls 2024-04-16 09:09:59 +02:00
Yohan Boniface
e3ff769ab9 chore: import modules in panel.js 2024-04-16 09:09:59 +02:00
Yohan Boniface
849b194d4f chore: use a specific panel class for table view 2024-04-16 09:09:59 +02:00
Yohan Boniface
0b175d1a56 chore: use icon buttons where possible 2024-04-16 09:09:59 +02:00
Yohan Boniface
3bc57a8512 chore: refactor simple button controls 2024-04-16 09:09:59 +02:00
Yohan Boniface
c4e86c4ab9 wip: move panel to a dedicated module 2024-04-16 09:09:58 +02:00
Yohan Boniface
1e2d990a3a chore: start moving icon related CSS rules to a dedicated file 2024-04-16 09:08:15 +02:00
Yohan Boniface
a516cbd2a3 chore: panel in condensed mode by default 2024-04-16 09:08:15 +02:00
Yohan Boniface
2a2f38e3cd chore: change edit button order 2024-04-16 09:08:15 +02:00
Yohan Boniface
e4ecb1a847 chore: fix test
This action is managed in the header panel, thus it's not a button.
We may make all header actions proper buttons, but maybe in another
PR ?
2024-04-16 09:08:15 +02:00
Yohan Boniface
a360ca0e13 chore: make browser expanded/condensed mode persistent 2024-04-16 09:08:15 +02:00
Yohan Boniface
2147e5a612 chore: add missing umap-icon-16 class in browser toggle button 2024-04-16 09:08:15 +02:00
Yohan Boniface
a018b8863f chore: refactor browser back button 2024-04-16 09:08:15 +02:00
Yohan Boniface
86956c4563 chore: use umap-icon-16 CSS class in panel toolbox 2024-04-16 09:08:15 +02:00
Yohan Boniface
87f611d0b5 chore: refactore panel header/toolbox 2024-04-16 09:08:15 +02:00
Yohan Boniface
8524cc785f chore: fix tests 2024-04-16 09:08:15 +02:00
Yohan Boniface
56e6b20087 wip: add resize button in panel 2024-04-16 09:08:15 +02:00
Yohan Boniface
af203d7b90 wip: remove extra actions from browser/facets 2024-04-16 09:08:15 +02:00
Yohan Boniface
9e3984fdcb wip: do not change panel color if it's not browser
Ugly way to do, but for now I haven't found a better option
2024-04-16 09:08:15 +02:00
Yohan Boniface
41e7b34813 wip: allow to open browser in condensed mode 2024-04-16 09:08:14 +02:00
Yohan Boniface
5b78d6f0ff wip: refactor browser related CSS 2024-04-16 09:04:10 +02:00
Yohan Boniface
b92695dd7f wip: first shot on merging data browser and features browser 2024-04-16 09:04:07 +02:00
517d3a1a81 tests: move functional tests in test_edit_map.py. 2024-04-15 23:46:43 +02:00
6e71009467 chore: Schema: deduplicate impacts keys.
Also:

- move the `type` key before the `impacts` one.
- avoid one-line objects
2024-04-15 23:46:43 +02:00
6841b5fc0f tests: Fix the test with the proper data. 2024-04-15 23:46:43 +02:00
5526a3f4d2 fix: Fix module location for some utils. 2024-04-15 23:46:43 +02:00
5aedf51d0c fix: Use formatNum from Leaflet.Util
It was currently looked for in the uMap utils, where it wasn't present.
2024-04-15 23:46:43 +02:00
3764bcfe3e tests: Use the first visible name when testing.
There are now multiple elements accessed with the same CSS selector.
2024-04-15 23:46:43 +02:00
d52a0c63f0 chore: Always put type before impacts in the schema definition. 2024-04-15 23:46:43 +02:00
0e12e0e5c3 chore: Add schema entries for layers. 2024-04-15 23:46:43 +02:00
ac866e3943 chore: Reorganize tests, remove duplicated ones. 2024-04-15 23:46:43 +02:00
2bcb862319 tests: Add on_edit integration tests 2024-04-15 23:46:43 +02:00
ff019d08de tests: Add getImpactsFromSchema tests 2024-04-15 23:46:43 +02:00
55cc7a098f refactor: Separate ui rendering from data updates
`U.SCHEMA` now contains an `impacts` key, which makes it possible to
specify what part of the UI is impacted by data changes.

A new `render` method has been added on `U.Map` and `U.DataLayer`, which
is used to rerender the proper parts of the UI depending on the passed
properties.

`U.FormBuilder` calls this `render()` method (if present), during form
changes.
2024-04-15 23:46:43 +02:00
David Larlet
8c4d887999
chore: bump the timeout for integration tests 2024-04-02 14:01:27 -04:00
05a25ed8fe [tests] actually add the tests 2024-04-01 11:12:44 +02:00
c4e527bf8e [chore] move umap utils to a module
Allow the tests to be run from inside a cli, without requiring a browser.
2024-04-01 11:12:44 +02:00
Yohan Boniface
a28db94f72 chore: move Feature.js integration tests to PW 2024-04-01 11:12:26 +02:00
Yohan Boniface
5d88e0e270 fix: fix L.locale no more set 2024-04-01 11:12:26 +02:00
Yohan Boniface
bf769f26c1 2.1.3 2024-03-27 22:22:28 +01:00
Yohan Boniface
90ced76a11 fix: honour old_id in datalayers= query string parameter
fix #1714
2024-03-27 22:10:38 +01:00
Yohan Boniface
c92d24100f
Merge pull request #1716 from umap-project/refactor-init-center
chore: refactor initCenter and controls ordering
2024-03-27 21:38:22 +01:00
Yohan Boniface
e0ff82298a chore: move table editor tests to PW 2024-03-27 21:06:46 +01:00
Yohan Boniface
4669053b18 chore: refactor initCenter and controls ordering
We had an issue (not in Github :p) where a map was not loading
because the defaultView was set to "data", and the layers were
remote data layers. In this case, when computing the remote URL,
we allow to replace georelated variables (like east, west, north,
lat…), which needs the map to have a view.
So:
- the default view was expecting the data to be loaded (="data")
- the data to be loaded needed a default view…

So instead of adding yet another call to _setDefaultView in an
edge case, we reordered the way we initialize the map elements:

- first we initialize the controls (because initCenter needs the
  locate control to exist)
- then we call initCenter
- then we initialize the tile layers (because the miniMap needs it
  to render itself)
- then we call renderControls
2024-03-27 20:14:43 +01:00
Yohan Boniface
ca8f7bf280 chore: add openmap fixture 2024-03-27 13:01:01 +01:00
Yohan Boniface
490a1a6e19 chore: port DataLayer.js tests to PW 2024-03-27 13:00:45 +01:00
Yohan Boniface
6a1fb44085 chore: add leaflet-configure.js in test loaded scripts 2024-03-27 13:00:45 +01:00
Yohan Boniface
b1fbccbdc5 chore: move Map and import tests to PW 2024-03-27 13:00:45 +01:00
Yohan Boniface
8392a748f1
Merge pull request #1704 from umap-project/remove-js-tests
chore: move js tests to PW
2024-03-26 08:55:20 +01:00
Yohan Boniface
c57469ee8b chore: move part of Polyline.js tests to PW 2024-03-26 08:50:55 +01:00
Yohan Boniface
1a2482f1e4 chore: move Polygon integration tests to PW 2024-03-26 08:50:55 +01:00
Yohan Boniface
bd438605f3 2.1.2 2024-03-25 20:13:54 +01:00
Yohan Boniface
99207638d9 fix: make sure to order datalayer versions by time
When we changed from id to uuid, we broke the sorting, which
supposed to have a constant id as string prefix from version to
the other.
2024-03-25 20:13:34 +01:00
Yohan Boniface
258262ae14 fix: do not try to read undefined message on error in request.js 2024-03-25 19:44:14 +01:00
Yohan Boniface
b9e27fc885 chore: change default playwright timeout to 5000ms 2024-03-25 15:20:16 +01:00
Yohan Boniface
5d8706c261 chore: remove Permissions tests from JS and update PW ones 2024-03-25 15:20:16 +01:00
Yohan Boniface
98f1e48df9 chore: move Choropleth tests to PW 2024-03-25 15:20:16 +01:00
Yohan Boniface
288c7983fc fix: Path.replace called instead str.replace 2024-03-25 14:40:48 +01:00
Yohan Boniface
8d9468df00 2.1.0 2024-03-25 13:55:08 +01:00
Yohan Boniface
9d407c6b06 i18n 2024-03-25 13:52:48 +01:00
David Larlet
d1784b64a8
fix: See all button closing panel
Fixes #1700
2024-03-22 12:30:04 -04:00
998732b070 chore: move URLs tests to mocha cli 2024-03-22 17:05:40 +01:00
Yohan Boniface
15964b2edb chore: lint 2024-03-22 11:16:32 +01:00
Yohan Boniface
f8d08ea539 chore: more pw tests 2024-03-22 11:10:56 +01:00
Yohan Boniface
9e3eef341e chore: move exports tests from js to playwright 2024-03-22 10:50:50 +01:00
Yohan Boniface
01e94d45dc
Merge pull request #1666 from umap-project/almet/fix-same-second-last-modified
fix: Replace Last-Modified with custom headers
2024-03-14 18:15:36 +01:00
Yohan Boniface
093eb6b56b
Merge pull request #1690 from umap-project/photon-location-bias
fix: only use location bias in search for close zoom
2024-03-14 14:53:30 +01:00
Yohan Boniface
375ef69b1b fix: only use location bias in search for close zoom
And add a lower location bias
2024-03-14 14:45:39 +01:00
David Larlet
d050a70017
Set CORS-related header for oEmbed and map views 2024-03-13 14:02:34 -04:00
Yohan Boniface
8cc6d58752
Merge pull request #1688 from umap-project/fix-oembed-i18n
fix: deal with i18n in oembed URLs
2024-03-13 18:36:14 +01:00
Yohan Boniface
409c79415f fix: deal with i18n in oembed URLs 2024-03-13 18:03:20 +01:00
Yohan Boniface
d431acd4e3
Merge pull request #1669 from umap-project/make-remodata-async
fix: make sure we wait for remote data before sending "dataloaded" event
2024-03-12 09:15:12 +01:00
29992e10e6 fix: Replace Last-Modified with custom headers.
`X-Datalayer-Version` and `X-Datalayer-Reference` are now used instead
of the `Last-Modified` and `If-Unmodified-Since` headers.

`Last-Modified` is granular to the second, which led to problems with
the versionning. The new system uses timestamps instead.

This commit also changes the way versions were created. Previously,
the associated version was coming from two different places:
the last modified time from the filesystem and a `time.time()` call
done when saving the model, which could result in the two getting
out of sync.
2024-03-08 22:34:54 +01:00
9071d92986 chore: ensure merge + assigning ids are rejected
The current code already ensures that items
changed in the reference weren't also changed
in the latest changes, so we are covered.
2024-03-08 18:01:58 +01:00
Yohan Boniface
6396ee5e58
Merge pull request #1661 from umap-project/schema-i18n
Add minimal schema module
2024-03-05 17:57:40 +01:00
Yohan Boniface
6ed5ebc9fb
Merge pull request #1630 from umap-project/datalayer-uuids
chore: replace datalayer ids with uuids
2024-03-05 17:26:50 +01:00
Yohan Boniface
bfcdfdcfc1 chore: bump ruff 2024-03-05 17:23:49 +01:00
b0c1f56979 chore: factorize json.dumps in an util function.
In order to use the Django JSON Encoder by default.
2024-03-05 11:25:37 +01:00
1b41ff0ddc chore: Rename datalayer id to old_id 2024-03-05 11:23:12 +01:00
Yohan Boniface
e7bd94a099 wip: do not expose UMAP_SCHEMA for now 2024-03-04 17:43:40 +01:00
Yohan Boniface
24e46847b7 chore: use } for consistency 2024-03-04 17:43:40 +01:00
David Larlet
908750b42b chore: escape help messages with curly brackets 2024-03-04 17:43:40 +01:00
David Larlet
ba41ae4000 fix: wait for agnocomplete in test 2024-03-04 17:43:40 +01:00
David Larlet
5295e931a5 wip(forms): remove defaultOptions from builder 2024-03-04 17:43:40 +01:00
Yohan Boniface
4cdf682706 wip(forms): Try to be smart and use MultiChoice only for short labels 2024-03-04 17:43:40 +01:00
Yohan Boniface
a7a854dd74 wip: move default options to schema
This commit also introduce a new settings UMAP_SCHEMA, that could
be used to easily override schema default, like the default color, the
default path weigth and so on. I'm not documenting yet, because I'm
not yet totally sure we want this.
2024-03-04 17:43:40 +01:00
Yohan Boniface
da945cf733 wip: remove Leaflet.i18n from frontend and expose L._
But we keep Leaflet.i18n for now, as we use its script to collect
strings (this script to be tweaked to support also `translate`).
2024-03-04 17:43:40 +01:00
Yohan Boniface
fcf22195cb chore: move defaultOptions from forms to schema 2024-03-04 17:43:38 +01:00
David Larlet
68f3a9686a chore: Extract a schema module from Map 2024-03-04 17:43:15 +01:00
David Larlet
a6a1959c09 chore: Integrate i18n changes from Leaflet PR
See https://github.com/Leaflet/Leaflet/pull/9281
2024-03-04 17:42:23 +01:00
Yohan Boniface
fa0208519e
Merge pull request #1649 from umap-project/add-features-ids
chore: add ids on features
2024-03-04 11:18:39 +01:00
Yohan Boniface
17120537e3 fix: make sure we wait for remote data before sending "dataloaded" event 2024-03-01 18:39:59 +01:00
Yohan Boniface
c658b28f6e 2.0.4 2024-03-01 18:18:07 +01:00
Yohan Boniface
3e651956f1 2.0.3 2024-03-01 17:55:05 +01:00
Yohan Boniface
a67ee1d1c0 i18n 2024-03-01 17:54:18 +01:00
Yohan Boniface
aa25867517 chore: fix js tests 2024-03-01 17:52:00 +01:00
Yohan Boniface
40d0095b3c
Merge pull request #1658 from umap-project/catch-mail-error
fix: catch SMTPException when sending secret edit link
2024-03-01 17:45:18 +01:00
Yohan Boniface
bb002dffba
Merge pull request #1668 from umap-project/fix-osmid-popup
fix: read id and @id as osm id in osm template
2024-03-01 17:02:20 +01:00
Yohan Boniface
42129a3a45
Merge pull request #1667 from umap-project/fix-querystring-feature
fix: make sure to reset feature query string parameter
2024-03-01 17:02:03 +01:00
Yohan Boniface
103893def2 fix: read id and @id as osm id in osm template
cf #1663
2024-03-01 16:05:41 +01:00
Yohan Boniface
dee6073428 chore: add test to cover opening feature on load 2024-03-01 15:49:27 +01:00
Yohan Boniface
2a084466df fix: make sure to reset feature query string parameter
fix #1662
2024-03-01 15:45:07 +01:00
d0738e93e7 fix: allow empty datalayers reference on merges.
Previously, an error was thrown when the reference datalayer
had no `features`defined.

When looking for features, it now defaults to an empty list if the key
doesn't exist.
2024-02-29 22:41:20 +01:00