Commit graph

304 commits

Author SHA1 Message Date
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
91badcdb5e wip: rework dialog class 2024-07-02 18:11:22 +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
4f1eb20be9 wip: move importers css to a dedicated file and refactor 2024-06-14 18:40:05 +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
7e86bc6db8 wip: do not display alerts from the maps in a content list page 2024-06-14 17:51:42 +02:00
David Larlet
fb1407cdbf
chore: overall alerts improvements 2024-06-14 11:08:59 -04:00
David Larlet
c0ecc39439
chore: uniformize buttons across panels and alerts 2024-06-12 18:03:05 -04:00
David Larlet
5c2528900e
chore: Use web components to display alerts + a11y roles 2024-06-12 18:03:04 -04:00
Yohan Boniface
ebf9be296d chore: move importer to modules/ 2024-05-23 19:32:07 +02:00
Yohan Boniface
1836647c00 chore: move autocomplete to modules/ 2024-05-23 15:10:46 +02:00
Yohan Boniface
776d92e7cc chore: add minimal dialog class to replace custom made help box 2024-05-22 14:00:53 +02:00
Yohan Boniface
2ed9bc65ee chore: move tooltip to a dedicated module 2024-05-22 11:40:48 +02:00
Yohan Boniface
8ddc570e23 chore: move alert to dedicated module 2024-05-22 11:39:16 +02:00
Yohan Boniface
d985a6585e chore: formatting 2024-04-17 14:58:04 +02:00
Yohan Boniface
17e96e6c63 feat: add minimal OpenGraph links
cf #1591
2024-04-17 10:55:07 +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
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
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
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
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
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
David Larlet
337c75151c
Merge pull request #1589 from umap-project/css-vars
chore: Use CSS variables
2024-02-27 08:57:04 -05:00
d5b1821117 chore: format templates 2024-02-26 09:11:57 +01:00
David Larlet
6300696a22
Merge branch 'master' into css-vars 2024-02-23 14:37:09 -05:00
David Larlet
5c0ca55f8c
chore: generate messages following map creation
Also, reuse the `U` global namespace for `MAP`.
2024-02-19 17:08:48 -05:00
Yohan Boniface
434a292878 fix: dashboard preview was still calling L.U. 2024-02-16 12:36:05 +01:00
David Larlet
c86e01ffd0
Merge pull request #1601 from umap-project/oembed-quote
fix: encode the whole url parameter for OEmbed
2024-02-13 08:29:19 -05:00
David Larlet
4f469ced47
fix: improve dashboard styles 2024-02-12 20:59:35 -05:00
David Larlet
9426570b6e
fix: encode the whole url parameter for OEmbed
See https://github.com/umap-project/umap/pull/1526#issuecomment-1937040472
2024-02-12 15:58:16 -05:00
David Larlet
22412ffe13
chore: Use CSS variables 2024-02-09 22:22:21 -05:00
Yohan Boniface
92cc014c2e fix: delete map from dashboard confirm was not active 2024-02-09 18:58:58 +01:00
Yohan Boniface
d6c4dfa332 fix: remove umap.browser.js from <head> as it does not exist anymore 2024-02-09 18:42:18 +01:00
Yohan Boniface
a0634e5f55
Merge pull request #1587 from umap-project/use-global-l
chore: do not introduce a new global, use L and L.U already there
2024-02-09 18:04:48 +01:00
David Larlet
4ac5d4c056
fix: lint template 2024-02-09 12:01:13 -05:00
Yohan Boniface
074bf675c4 chore: replace window.L.U by window.U 2024-02-09 18:01:05 +01:00
Yohan Boniface
68f2de7f44 chore: do not introduce a new global, use L and L.U already there 2024-02-09 17:10:19 +01:00
David Larlet
81a1367696
fix: color consistency between buttons and icons 2024-02-09 10:47:04 -05:00
David Larlet
96acd710dc
fix: improve responsiveness of dashboard header 2024-02-09 10:30:48 -05:00
David Larlet
8eec5e7d12
fix: trim translate blocks contents to ease translations 2024-02-09 10:18:57 -05:00
David Larlet
5827a4cab0
fix: make dashboard table scrollable 2024-02-09 10:14:44 -05:00
David Larlet
afdc732204
Merge pull request #1430 from umap-project/download-all-from-dashboard
Ability to clone, delete and download all maps from user’s dashboard
2024-02-08 09:51:01 -05:00
Yohan Boniface
a7425aa121 fix: messages coming from Django where never displayed in map view 2024-02-08 14:45:47 +01:00
David Larlet
1acadc746a
fix: use the regular delete view instead of ajax 2024-02-07 17:38:39 -05:00
David Larlet
2af7705d4c
Use the request module for dashboard deletions 2024-02-07 12:32:01 -05:00
David Larlet
d4b380aa5f
feat: add icons to the dashboard actions 2024-02-07 12:32:00 -05:00
David Larlet
8a6e992b9c
Ability to clone a map and overall UI improvements 2024-02-07 12:32:00 -05:00
David Larlet
5d69d3c22f
Provide a link to delete maps from user’s dashboard 2024-02-07 12:32:00 -05:00
David Larlet
46cf432eb4
Paginate user’s maps combined downloads 2024-02-07 12:32:00 -05:00
David Larlet
5476cbee0f
Ability to download all maps from user’s dashboard 2024-02-07 12:32:00 -05:00
David Larlet
1ee9d7dd52
feat: allow to inject a header.html template
Useful to add scripts integration like Sentry
2024-02-06 12:45:40 -05:00
Yohan Boniface
5926eb53ba chore: catch error in getMore 2024-02-05 07:22:53 +01:00
Yohan Boniface
16265b566e chore: remove xhr module, now replaced by request.js 2024-02-05 07:22:53 +01:00
Yohan Boniface
8b2778116d wip: make the getMore button work again with new Request 2024-02-05 07:22:53 +01:00
Yohan Boniface
49f600adfa wip: refactor login flow
Instead of dealing with in JavaScript, let's do a more classic
HTTP flow.

The main flows work, but there is still at least one to deal with:
when editing a map without being logged in, the server may ask for
login, and in this case we should login THEN reissue the request,
so we need to interrupt the first request in some way,
otherwise the server will still answer with a 403, which is what
happens after this commit.
2024-02-05 07:22:53 +01:00
Yohan Boniface
074fc1bc18
Merge pull request #1552 from umap-project/preconnect-tilelayer
feat: set preconnect link for tilelayer
2024-01-29 18:26:24 +01:00
Yohan Boniface
caeb9d5b44
Merge pull request #1531 from umap-project/home-highlighted
Introduce UMAP_HOME_FEED to control which maps are shown on the home page
2024-01-29 12:48:24 +01:00
Yohan Boniface
dadcaa0b76
Merge pull request #1526 from umap-project/oembed
Create an oEmbed endpoint for maps
2024-01-29 12:44:03 +01:00
Yohan Boniface
d4e253190f feat: set preconnect link for tilelayer 2024-01-22 18:14:41 +01:00
Yohan Boniface
abbc5237bd chore: try to force browser to load Leaflet script soon
Leaflet file is the bigger, and it is otherwise only loaded
when the browser understand that it needs it, which means when
global.js is parsed, which means after all scripts have been loaded.
2024-01-22 14:41:22 +01:00
David Larlet
7c4009965a
Use minified versions + sourcemaps of vendor statics 2024-01-21 14:02:16 -05:00
Yohan Boniface
96ae7ddbc7 chore: deactivate custom statics manager for test by default
And add one file that run it and check all js files are loaded.
2024-01-17 18:42:46 +01:00
Yohan Boniface
1b8e6164ed fix: use dynamic path for locale javascript 2024-01-17 16:36:17 +01:00
David Larlet
656e29c72b
Use custom storage instead of django-compressor 2024-01-17 09:09:00 -05:00
Yohan Boniface
9f377da1b2 Introduce UMAP_HOME_FEED to control which maps are shown on the home page
For now we have only three modes:
- latest, which is the default and shows the last updated maps
- highlighted, which shows only the map that have been starred by a least
  one staff member
- None, which does not show any map
2024-01-16 12:31:50 +01:00
1eb0f352c9 Expose the MAP variable at the global scope to ease debugging 2024-01-15 12:15:35 +01:00
David Larlet
df76ffd80e
feat: Create an oEmbed endpoint for maps
Fix #162
2024-01-11 15:08:10 -05:00
Yohan Boniface
66d2345841 Escape map settings in map_fragment.html 2024-01-11 11:13:13 +01:00
David Larlet
5d758ebc0d
Create a dedicated js/components folder 2024-01-10 14:31:54 -05:00
David Larlet
7b5b5b1b22
Set a umap-fragment web component for lists 2024-01-09 14:49:14 -05:00
4b34a7d300 merge index.js with global.js 2024-01-08 19:29:43 +01:00
7c697f7529 Merge @ybon changes 2024-01-08 18:49:03 +01:00
Yohan Boniface
c6ce22f319 Also run login javascript when page is loaded 2024-01-08 18:43:54 +01:00
Yohan Boniface
ce22a2ee74 Only load Leaflet once, as module 2024-01-08 18:43:54 +01:00
95212dbdf5 [refactor] Use JS modules for client URL routing
Also expose some vendorized libs as modules in `modules/vendors.js`
2024-01-08 18:43:54 +01:00
Yohan Boniface
ab82fd975f
Merge pull request #1478 from umap-project/preview-map-on-click
Preview map only on click in user’s dashboard
2024-01-03 22:17:55 +01:00
Yohan Boniface
37b97403dc Use neutral button for preview in user dashboard 2024-01-03 21:49:20 +01:00
David Larlet
36f72e3154
Linting templates 2023-12-27 13:50:21 -05:00
David Larlet
7484e52142
Improve maps’ pagination for the dashboard 2023-12-27 13:26:31 -05:00
Yohan Boniface
c3cb813c23
Allow to reopen a dialog in dashboard previews 2023-12-27 11:41:08 -05:00
David Larlet
ded244c9ff
Put CSS and JS blocks to their dedicated places 2023-12-27 11:41:08 -05:00
David Larlet
7ff543e1d5
Create the unique_id in the template (vs. model) 2023-12-27 11:41:08 -05:00
David Larlet
c9b4b96c01
Preview map only on click in user’s dashboard
Refs #1459
2023-12-27 11:41:07 -05:00
Joachim Schleicher
d19cc60a7a refactor shareBox into separate class
download() and format() functions as well as dialog itself and
IFrameExporter helper moved into new file umap.share.js
2023-12-18 19:26:16 +01:00
Yohan Boniface
fe9f4b4a48 WIP: POC of using Leaflet.IconLayers as tilelayers switcher 2023-12-15 11:40:52 +01:00
Yohan Boniface
84b5e2188a Move importer panel to a separate class 2023-12-05 12:59:43 +01:00
aff0181636 [style] Format the code 2023-11-24 23:31:18 +01:00
David Larlet
56bb414113
Provide space/separators between Dashboard actions 2023-11-24 15:32:44 -05:00
David Larlet
b4464a7ca2
Reuse the map_download view/url for the dashboard
Refs #1396
2023-11-24 15:28:58 -05:00
David Larlet
6f73038f92
Redirect favicon.ico and dynamic webmanifest 2023-11-14 22:50:25 -05:00
David Larlet
915d6b6db4
Set a default favicon 2023-11-14 17:32:40 -05:00
Yohan Boniface
739626351c Choropleth: replace chromajs by colorbrewer + simple-statistics
simple-statistics has a few advantages:
- faster
- more accurate kmeans algo
- Jenks-Fisher algo

Also, I suspect will use it again for next step, which is Bubble
mode layer.
2023-10-11 19:36:12 +02:00
Yohan Boniface
8e12e6cf24 POC of a choropleth layer 2023-10-10 21:16:01 +02:00
Yohan Boniface
0ad6e425b5 Refactor data browser
- move a dedicated class (function was becoming big)
- user FormBuilder instead of custom form elements
2023-09-25 13:42:14 +02:00
Yohan Boniface
3cbd6cca40 Add back Map.edit_status
Revert "Fix existing permissions related tests"

This reverts commit 36d7d87301.

WIP
2023-09-22 17:32:19 +02:00
Yohan Boniface
3d2e62c858 Do not use Map.edit_status anymore
But keep it for now, for data migration, and just in case
2023-09-22 17:26:55 +02:00
Yohan Boniface
89ab029cab WIP: move edit_status from Map to DataLayer 2023-09-22 17:25:55 +02:00
Yohan Boniface
174e6ddc6b i18n 2023-08-25 10:18:22 +02:00