umap-project 2.5.1__py3-none-any.whl → 2.6.0b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of umap-project might be problematic. Click here for more details.
- umap/__init__.py +1 -1
- umap/admin.py +6 -1
- umap/context_processors.py +2 -1
- umap/decorators.py +13 -2
- umap/forms.py +26 -2
- umap/locale/br/LC_MESSAGES/django.mo +0 -0
- umap/locale/br/LC_MESSAGES/django.po +252 -146
- umap/locale/ca/LC_MESSAGES/django.mo +0 -0
- umap/locale/ca/LC_MESSAGES/django.po +274 -162
- umap/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- umap/locale/cs_CZ/LC_MESSAGES/django.po +261 -150
- umap/locale/de/LC_MESSAGES/django.mo +0 -0
- umap/locale/de/LC_MESSAGES/django.po +299 -187
- umap/locale/el/LC_MESSAGES/django.mo +0 -0
- umap/locale/el/LC_MESSAGES/django.po +215 -159
- umap/locale/en/LC_MESSAGES/django.po +211 -155
- umap/locale/es/LC_MESSAGES/django.mo +0 -0
- umap/locale/es/LC_MESSAGES/django.po +255 -144
- umap/locale/eu/LC_MESSAGES/django.mo +0 -0
- umap/locale/eu/LC_MESSAGES/django.po +254 -198
- umap/locale/fa_IR/LC_MESSAGES/django.mo +0 -0
- umap/locale/fa_IR/LC_MESSAGES/django.po +346 -234
- umap/locale/fr/LC_MESSAGES/django.mo +0 -0
- umap/locale/fr/LC_MESSAGES/django.po +216 -160
- umap/locale/hu/LC_MESSAGES/django.mo +0 -0
- umap/locale/hu/LC_MESSAGES/django.po +215 -159
- umap/locale/it/LC_MESSAGES/django.mo +0 -0
- umap/locale/it/LC_MESSAGES/django.po +252 -146
- umap/locale/ms/LC_MESSAGES/django.mo +0 -0
- umap/locale/ms/LC_MESSAGES/django.po +252 -146
- umap/locale/pl/LC_MESSAGES/django.mo +0 -0
- umap/locale/pl/LC_MESSAGES/django.po +254 -148
- umap/locale/pt/LC_MESSAGES/django.mo +0 -0
- umap/locale/pt/LC_MESSAGES/django.po +215 -159
- umap/locale/sv/LC_MESSAGES/django.mo +0 -0
- umap/locale/sv/LC_MESSAGES/django.po +254 -143
- umap/locale/th_TH/LC_MESSAGES/django.mo +0 -0
- umap/locale/th_TH/LC_MESSAGES/django.po +125 -70
- umap/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
- umap/locale/zh_TW/LC_MESSAGES/django.po +256 -145
- umap/migrations/0022_add_team.py +94 -0
- umap/models.py +45 -10
- umap/settings/__init__.py +2 -0
- umap/settings/base.py +3 -2
- umap/static/umap/base.css +32 -41
- umap/static/umap/content.css +19 -25
- umap/static/umap/css/icon.css +63 -37
- umap/static/umap/css/importers.css +1 -1
- umap/static/umap/css/slideshow.css +7 -5
- umap/static/umap/css/tableeditor.css +4 -3
- umap/static/umap/img/16-white.svg +1 -4
- umap/static/umap/img/16.svg +2 -6
- umap/static/umap/img/24-white.svg +4 -4
- umap/static/umap/img/24.svg +6 -6
- umap/static/umap/img/source/16-white.svg +2 -5
- umap/static/umap/img/source/16.svg +3 -7
- umap/static/umap/img/source/24-white.svg +7 -14
- umap/static/umap/img/source/24.svg +10 -17
- umap/static/umap/js/components/alerts/alert.css +20 -8
- umap/static/umap/js/modules/autocomplete.js +3 -3
- umap/static/umap/js/modules/browser.js +4 -3
- umap/static/umap/js/modules/caption.js +9 -11
- umap/static/umap/js/modules/data/features.js +994 -0
- umap/static/umap/js/modules/data/layer.js +1210 -0
- umap/static/umap/js/modules/formatter.js +12 -3
- umap/static/umap/js/modules/global.js +21 -5
- umap/static/umap/js/modules/permissions.js +280 -0
- umap/static/umap/js/{umap.icon.js → modules/rendering/icon.js} +77 -56
- umap/static/umap/js/modules/rendering/layers/base.js +105 -0
- umap/static/umap/js/modules/rendering/layers/classified.js +484 -0
- umap/static/umap/js/modules/rendering/layers/cluster.js +103 -0
- umap/static/umap/js/modules/rendering/layers/heat.js +182 -0
- umap/static/umap/js/modules/rendering/popup.js +99 -0
- umap/static/umap/js/modules/rendering/template.js +217 -0
- umap/static/umap/js/modules/rendering/ui.js +573 -0
- umap/static/umap/js/modules/schema.js +24 -0
- umap/static/umap/js/modules/share.js +66 -45
- umap/static/umap/js/modules/sync/updaters.js +9 -10
- umap/static/umap/js/modules/tableeditor.js +7 -7
- umap/static/umap/js/modules/ui/dialog.js +8 -4
- umap/static/umap/js/modules/utils.js +22 -13
- umap/static/umap/js/umap.controls.js +79 -146
- umap/static/umap/js/umap.core.js +9 -9
- umap/static/umap/js/umap.forms.js +32 -12
- umap/static/umap/js/umap.js +65 -63
- umap/static/umap/locale/br.js +35 -35
- umap/static/umap/locale/br.json +35 -35
- umap/static/umap/locale/ca.js +50 -50
- umap/static/umap/locale/ca.json +50 -50
- umap/static/umap/locale/de.js +136 -136
- umap/static/umap/locale/de.json +136 -136
- umap/static/umap/locale/el.js +47 -47
- umap/static/umap/locale/el.json +47 -47
- umap/static/umap/locale/en.js +7 -1
- umap/static/umap/locale/en.json +7 -1
- umap/static/umap/locale/fa_IR.js +44 -44
- umap/static/umap/locale/fa_IR.json +44 -44
- umap/static/umap/locale/fr.js +8 -2
- umap/static/umap/locale/fr.json +8 -2
- umap/static/umap/locale/pt.js +17 -17
- umap/static/umap/locale/pt.json +17 -17
- umap/static/umap/locale/pt_PT.js +207 -207
- umap/static/umap/locale/pt_PT.json +207 -207
- umap/static/umap/locale/th_TH.js +25 -25
- umap/static/umap/locale/th_TH.json +25 -25
- umap/static/umap/map.css +107 -104
- umap/static/umap/nav.css +19 -10
- umap/static/umap/unittests/utils.js +230 -107
- umap/static/umap/vendors/csv2geojson/csv2geojson.js +62 -40
- umap/static/umap/vendors/markercluster/MarkerCluster.Default.css +1 -1
- umap/storage.py +1 -0
- umap/templates/404.html +5 -1
- umap/templates/500.html +3 -1
- umap/templates/auth/user_detail.html +8 -2
- umap/templates/auth/user_form.html +19 -10
- umap/templates/auth/user_stars.html +8 -2
- umap/templates/base.html +1 -0
- umap/templates/registration/login.html +18 -3
- umap/templates/umap/about.html +1 -0
- umap/templates/umap/about_summary.html +22 -7
- umap/templates/umap/components/alerts/alert.html +42 -21
- umap/templates/umap/content.html +2 -0
- umap/templates/umap/content_footer.html +6 -2
- umap/templates/umap/css.html +1 -0
- umap/templates/umap/dashboard_menu.html +15 -0
- umap/templates/umap/home.html +14 -4
- umap/templates/umap/js.html +4 -9
- umap/templates/umap/login_popup_end.html +10 -4
- umap/templates/umap/map_detail.html +8 -2
- umap/templates/umap/map_fragment.html +3 -1
- umap/templates/umap/map_init.html +2 -1
- umap/templates/umap/map_list.html +4 -3
- umap/templates/umap/map_table.html +36 -12
- umap/templates/umap/messages.html +0 -1
- umap/templates/umap/navigation.html +2 -1
- umap/templates/umap/password_change.html +5 -1
- umap/templates/umap/password_change_done.html +8 -2
- umap/templates/umap/search.html +8 -2
- umap/templates/umap/search_bar.html +1 -0
- umap/templates/umap/team_confirm_delete.html +19 -0
- umap/templates/umap/team_detail.html +27 -0
- umap/templates/umap/team_form.html +60 -0
- umap/templates/umap/user_dashboard.html +7 -9
- umap/templates/umap/user_teams.html +51 -0
- umap/tests/base.py +8 -1
- umap/tests/conftest.py +6 -0
- umap/tests/fixtures/test_circles_layer.geojson +219 -0
- umap/tests/fixtures/test_upload_georss.xml +20 -0
- umap/tests/integration/conftest.py +18 -4
- umap/tests/integration/helpers.py +12 -0
- umap/tests/integration/test_anonymous_owned_map.py +23 -0
- umap/tests/integration/test_basics.py +29 -0
- umap/tests/integration/test_caption.py +20 -0
- umap/tests/integration/test_circles_layer.py +69 -0
- umap/tests/integration/test_draw_polygon.py +110 -13
- umap/tests/integration/test_draw_polyline.py +8 -18
- umap/tests/integration/test_edit_datalayer.py +1 -1
- umap/tests/integration/test_import.py +64 -5
- umap/tests/integration/test_owned_map.py +21 -13
- umap/tests/integration/test_team.py +47 -0
- umap/tests/integration/test_tilelayer.py +19 -2
- umap/tests/integration/test_view_marker.py +28 -1
- umap/tests/integration/test_websocket_sync.py +5 -5
- umap/tests/test_datalayer.py +32 -7
- umap/tests/test_datalayer_views.py +1 -1
- umap/tests/test_map.py +30 -4
- umap/tests/test_map_views.py +2 -2
- umap/tests/test_statics.py +40 -0
- umap/tests/test_team_views.py +131 -0
- umap/tests/test_views.py +15 -1
- umap/urls.py +23 -13
- umap/views.py +116 -10
- {umap_project-2.5.1.dist-info → umap_project-2.6.0b0.dist-info}/METADATA +9 -9
- {umap_project-2.5.1.dist-info → umap_project-2.6.0b0.dist-info}/RECORD +177 -170
- umap/static/umap/js/umap.datalayer.permissions.js +0 -70
- umap/static/umap/js/umap.features.js +0 -1290
- umap/static/umap/js/umap.layer.js +0 -1837
- umap/static/umap/js/umap.permissions.js +0 -208
- umap/static/umap/js/umap.popup.js +0 -341
- umap/static/umap/test/TableEditor.js +0 -104
- umap/static/umap/vendors/leaflet/leaflet-src.js +0 -14512
- umap/static/umap/vendors/leaflet/leaflet-src.js.map +0 -1
- umap/static/umap/vendors/leaflet/leaflet.js +0 -6
- umap/static/umap/vendors/leaflet/leaflet.js.map +0 -1
- umap/static/umap/vendors/markercluster/WhereAreTheJavascriptFiles.txt +0 -5
- umap/static/umap/vendors/markercluster/leaflet.markercluster-src.js +0 -2718
- umap/static/umap/vendors/markercluster/leaflet.markercluster-src.js.map +0 -1
- umap/static/umap/vendors/toolbar/leaflet.toolbar-src.css +0 -117
- umap/static/umap/vendors/toolbar/leaflet.toolbar-src.js +0 -365
- umap/tests/integration/test_statics.py +0 -47
- {umap_project-2.5.1.dist-info → umap_project-2.6.0b0.dist-info}/WHEEL +0 -0
- {umap_project-2.5.1.dist-info → umap_project-2.6.0b0.dist-info}/entry_points.txt +0 -0
- {umap_project-2.5.1.dist-info → umap_project-2.6.0b0.dist-info}/licenses/LICENSE +0 -0
|
@@ -266,34 +266,36 @@ module.exports.format = format;
|
|
|
266
266
|
module.exports.formatPair = formatPair;
|
|
267
267
|
module.exports.coordToDMS = coordToDMS;
|
|
268
268
|
|
|
269
|
-
|
|
270
|
-
|
|
269
|
+
|
|
270
|
+
function element(input, dims) {
|
|
271
|
+
var result = search(input, dims);
|
|
272
|
+
return (result === null) ? null : result.val;
|
|
271
273
|
}
|
|
272
274
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
+
|
|
276
|
+
function formatPair(input) {
|
|
277
|
+
return format(input.lat, 'lat') + ' ' + format(input.lon, 'lon');
|
|
275
278
|
}
|
|
276
279
|
|
|
280
|
+
|
|
277
281
|
// Is 0 North or South?
|
|
278
|
-
function format(
|
|
279
|
-
var dms = coordToDMS(
|
|
282
|
+
function format(input, dim) {
|
|
283
|
+
var dms = coordToDMS(input, dim);
|
|
280
284
|
return dms.whole + '° ' +
|
|
281
285
|
(dms.minutes ? dms.minutes + '\' ' : '') +
|
|
282
286
|
(dms.seconds ? dms.seconds + '" ' : '') + dms.dir;
|
|
283
287
|
}
|
|
284
288
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
minutes = Math.floor(fractionMinutes),
|
|
296
|
-
seconds = Math.floor((fractionMinutes - minutes) * 60);
|
|
289
|
+
|
|
290
|
+
function coordToDMS(input, dim) {
|
|
291
|
+
var dirs = { lat: ['N', 'S'], lon: ['E', 'W'] }[dim] || '';
|
|
292
|
+
var dir = dirs[input >= 0 ? 0 : 1];
|
|
293
|
+
var abs = Math.abs(input);
|
|
294
|
+
var whole = Math.floor(abs);
|
|
295
|
+
var fraction = abs - whole;
|
|
296
|
+
var fractionMinutes = fraction * 60;
|
|
297
|
+
var minutes = Math.floor(fractionMinutes);
|
|
298
|
+
var seconds = Math.floor((fractionMinutes - minutes) * 60);
|
|
297
299
|
|
|
298
300
|
return {
|
|
299
301
|
whole: whole,
|
|
@@ -303,37 +305,56 @@ function coordToDMS(x,dim) {
|
|
|
303
305
|
};
|
|
304
306
|
}
|
|
305
307
|
|
|
306
|
-
|
|
308
|
+
|
|
309
|
+
function search(input, dims) {
|
|
307
310
|
if (!dims) dims = 'NSEW';
|
|
308
|
-
if (typeof
|
|
311
|
+
if (typeof input !== 'string') return null;
|
|
312
|
+
|
|
313
|
+
input = input.toUpperCase();
|
|
314
|
+
var regex = /^[\s\,]*([NSEW])?\s*([\-|\—|\―]?[0-9.]+)[°º˚]?\s*(?:([0-9.]+)['’′‘]\s*)?(?:([0-9.]+)(?:''|"|”|″)\s*)?([NSEW])?/;
|
|
315
|
+
|
|
316
|
+
var m = input.match(regex);
|
|
317
|
+
if (!m) return null; // no match
|
|
309
318
|
|
|
310
|
-
|
|
319
|
+
var matched = m[0];
|
|
311
320
|
|
|
312
|
-
|
|
313
|
-
|
|
321
|
+
// extract dimension.. m[1] = leading, m[5] = trailing
|
|
322
|
+
var dim;
|
|
323
|
+
if (m[1] && m[5]) { // if matched both..
|
|
324
|
+
dim = m[1]; // keep leading
|
|
325
|
+
matched = matched.slice(0, -1); // remove trailing dimension from match
|
|
326
|
+
} else {
|
|
327
|
+
dim = m[1] || m[5];
|
|
328
|
+
}
|
|
314
329
|
|
|
315
|
-
|
|
316
|
-
if (dim && dims.indexOf(dim) === -1) return
|
|
330
|
+
// if unrecognized dimension
|
|
331
|
+
if (dim && dims.indexOf(dim) === -1) return null;
|
|
332
|
+
|
|
333
|
+
// extract DMS
|
|
334
|
+
var deg = m[2] ? parseFloat(m[2]) : 0;
|
|
335
|
+
var min = m[3] ? parseFloat(m[3]) / 60 : 0;
|
|
336
|
+
var sec = m[4] ? parseFloat(m[4]) / 3600 : 0;
|
|
337
|
+
var sign = (deg < 0) ? -1 : 1;
|
|
338
|
+
if (dim === 'S' || dim === 'W') sign *= -1;
|
|
317
339
|
|
|
318
340
|
return {
|
|
319
|
-
val: ((
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
regex: r,
|
|
324
|
-
raw: m[0],
|
|
325
|
-
dim: dim
|
|
341
|
+
val: (Math.abs(deg) + min + sec) * sign,
|
|
342
|
+
dim: dim,
|
|
343
|
+
matched: matched,
|
|
344
|
+
remain: input.slice(matched.length)
|
|
326
345
|
};
|
|
327
346
|
}
|
|
328
347
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
348
|
+
|
|
349
|
+
function pair(input, dims) {
|
|
350
|
+
input = input.trim();
|
|
351
|
+
var one = search(input, dims);
|
|
352
|
+
if (!one) return null;
|
|
353
|
+
|
|
354
|
+
input = one.remain.trim();
|
|
355
|
+
var two = search(input, dims);
|
|
356
|
+
if (!two || two.remain) return null;
|
|
357
|
+
|
|
337
358
|
if (one.dim) {
|
|
338
359
|
return swapdim(one.val, two.val, one.dim);
|
|
339
360
|
} else {
|
|
@@ -341,6 +362,7 @@ function pair(x, dims) {
|
|
|
341
362
|
}
|
|
342
363
|
}
|
|
343
364
|
|
|
365
|
+
|
|
344
366
|
function swapdim(a, b, dim) {
|
|
345
367
|
if (dim === 'N' || dim === 'S') return [a, b];
|
|
346
368
|
if (dim === 'W' || dim === 'E') return [b, a];
|
umap/storage.py
CHANGED
|
@@ -8,6 +8,7 @@ from rjsmin import jsmin
|
|
|
8
8
|
|
|
9
9
|
class UmapManifestStaticFilesStorage(ManifestStaticFilesStorage):
|
|
10
10
|
support_js_module_import_aggregation = True
|
|
11
|
+
max_post_process_passes = 15
|
|
11
12
|
|
|
12
13
|
# We remove `;` at the end of all regexps to match our biome config.
|
|
13
14
|
_js_module_import_aggregation_patterns = (
|
umap/templates/404.html
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
{% extends "base.html" %}
|
|
2
|
+
|
|
2
3
|
{% load i18n static %}
|
|
4
|
+
|
|
3
5
|
{% block content %}
|
|
4
6
|
<div class="content404">
|
|
5
7
|
<a href="{% url "home" %}"
|
|
@@ -9,7 +11,9 @@
|
|
|
9
11
|
<img alt="0" width="128px" height="128px" src="{% static "umap/img/logo.svg" %}">
|
|
10
12
|
4
|
|
11
13
|
</h1>
|
|
12
|
-
<h2>
|
|
14
|
+
<h2>
|
|
15
|
+
Not Found
|
|
16
|
+
</h2>
|
|
13
17
|
</a>
|
|
14
18
|
</div>
|
|
15
19
|
{% endblock content %}
|
umap/templates/500.html
CHANGED
|
@@ -22,7 +22,9 @@
|
|
|
22
22
|
width="128px"
|
|
23
23
|
height="128px"
|
|
24
24
|
src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iMTI4IgogICBoZWlnaHQ9IjEyOCIKICAgaWQ9InN2ZzIiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC40IHI5OTM5IgogICBzb2RpcG9kaTpkb2NuYW1lPSJsb2dvLnN2ZyIKICAgaW5rc2NhcGU6ZXhwb3J0LWZpbGVuYW1lPSIvaG9tZS95Ym9uL0NvZGUvcHJvamVjdHMvdW1hcC91bWFwL3N0YXRpYy91bWFwL2ltZy9sb2dvX2ZpbGlncmVlLnBuZyIKICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjExNS4yIgogICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTE1LjIiPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpZD0iYmFzZSIKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMS4wIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSI0IgogICAgIGlua3NjYXBlOmN4PSI1OC40MDU5NTIiCiAgICAgaW5rc2NhcGU6Y3k9IjYwLjAxMTEyMiIKICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0icHgiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIgogICAgIHNob3dncmlkPSJ0cnVlIgogICAgIGlua3NjYXBlOnNuYXAtcGFnZT0iZmFsc2UiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxMzY2IgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9Ijc0NCIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMjQiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSI+CiAgICA8aW5rc2NhcGU6Z3JpZAogICAgICAgdHlwZT0ieHlncmlkIgogICAgICAgaWQ9ImdyaWQyOTg1IgogICAgICAgZW1wc3BhY2luZz0iNCIKICAgICAgIHZpc2libGU9InRydWUiCiAgICAgICBlbmFibGVkPSJ0cnVlIgogICAgICAgc25hcHZpc2libGVncmlkbGluZXNvbmx5PSJ0cnVlIgogICAgICAgZW1wY29sb3I9IiMwMDAwM2IiCiAgICAgICBlbXBvcGFjaXR5PSIwLjI1MDk4MDM5IiAvPgogIDwvc29kaXBvZGk6bmFtZWR2aWV3PgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTkyNC4zNjIxOCkiPgogICAgPGcKICAgICAgIHN0eWxlPSJzdHJva2U6bm9uZTtkaXNwbGF5OmJsb2NrIgogICAgICAgaWQ9ImxheWVyNCIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDg3OTg0MDUsMCwwLDAuMDg1OTUyMTIsLTExMS44MDEzNywxMDIzLjI4NzkpIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LWZpbGVuYW1lPSIvaG9tZS95Ym9uL1dvcmsvb3NtdG91Y2g2NC5wbmciCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMjguNzk5OTk5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjI4Ljc5OTk5OSIgLz4KICAgIDxwYXRoCiAgICAgICBzdHlsZT0iZmlsbDojMzIzZTU2O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgZD0iTSAzNi41MzEyNSA2LjE4NzUgQyAxNC45MzEzMTUgMTYuNDY3NjY5IDAgMzguNDg1OTA4IDAgNjQgQyAwIDk5LjM0NjIyNCAyOC42NTM3NzYgMTI4IDY0IDEyOCBDIDE0LjUzMTY5NyA4MS44Mjk1ODQgMy4xNDE4OTY1IDI0Ljc5MTUyIDM2LjUzMTI1IDYuMTg3NSB6IE0gNjQgMTI4IEMgOTkuMzQ2MjI0IDEyOCAxMjggOTkuMzQ2MjI0IDEyOCA2NCBDIDEyOCAzOC40ODU5MDggMTEzLjA2ODY4IDE2LjQ2NzY2OSA5MS40Njg3NSA2LjE4NzUgQyAxMjQuODU4MSAyNC43OTE1MiAxMTMuNDY4MyA4MS44Mjk1ODQgNjQgMTI4IHogIgogICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCw5MjQuMzYyMTgpIgogICAgICAgaWQ9InBhdGgyOTg3IiAvPgogICAgPGcKICAgICAgIGlkPSJnNDkxMiIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDIuNTYsMCwwLDIuNTYsLTE4MS4xMiwtMTM2Ny43NjUpIgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2U6bm9uZSIgLz4KICAgIDxwYXRoCiAgICAgICBzb2RpcG9kaTp0eXBlPSJhcmMiCiAgICAgICBzdHlsZT0iZmlsbDojMzIzZTU2O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIgogICAgICAgaWQ9InBhdGg1MjYzIgogICAgICAgc29kaXBvZGk6Y3g9IjcwIgogICAgICAgc29kaXBvZGk6Y3k9IjE4IgogICAgICAgc29kaXBvZGk6cng9IjE4IgogICAgICAgc29kaXBvZGk6cnk9IjE4IgogICAgICAgZD0iTSA4OCwxOCBDIDg4LDI3Ljk0MTEyNSA3OS45NDExMjUsMzYgNzAsMzYgNjAuMDU4ODc1LDM2IDUyLDI3Ljk0MTEyNSA1MiwxOCA1Miw4LjA1ODg3NDUgNjAuMDU4ODc1LDAgNzAsMCA3OS45NDExMjUsMCA4OCw4LjA1ODg3NDUgODgsMTggeiIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMzE0MjY5NywwLDAsMS4zMTQyNjk3LC0yNy45OTg4NzgsOTM0LjUyODU1KSIgLz4KICA8L2c+Cjwvc3ZnPgo=" />
|
|
25
|
-
<h1>
|
|
25
|
+
<h1>
|
|
26
|
+
Oops, Server error…
|
|
27
|
+
</h1>
|
|
26
28
|
</div>
|
|
27
29
|
</body>
|
|
28
30
|
</html>
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
{% extends "umap/content.html" %}
|
|
2
|
+
|
|
2
3
|
{% load i18n %}
|
|
4
|
+
|
|
3
5
|
{% block maincontent %}
|
|
4
6
|
<div class="col wide">
|
|
5
|
-
<h2 class="section">
|
|
7
|
+
<h2 class="section">
|
|
8
|
+
{% blocktrans %}Browse {{ current_user }}'s maps{% endblocktrans %}
|
|
9
|
+
</h2>
|
|
6
10
|
</div>
|
|
7
11
|
<div class="wrapper">
|
|
8
12
|
<div class="map_list row">
|
|
9
13
|
{% if maps %}
|
|
10
14
|
{% include "umap/map_list.html" %}
|
|
11
15
|
{% else %}
|
|
12
|
-
<div>
|
|
16
|
+
<div>
|
|
17
|
+
{% blocktrans %}{{ current_user }} has no maps.{% endblocktrans %}
|
|
18
|
+
</div>
|
|
13
19
|
{% endif %}
|
|
14
20
|
</div>
|
|
15
21
|
</div>
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{% extends "umap/content.html" %}
|
|
2
|
+
|
|
2
3
|
{% load i18n %}
|
|
4
|
+
|
|
3
5
|
{% block maincontent %}
|
|
4
|
-
|
|
5
|
-
<h2 class="section tabs">
|
|
6
|
-
<a href="{% url "user_dashboard" %}">{% trans "My Maps" %}</a>
|
|
7
|
-
<a class="selected" href="{% url 'user_profile' %}">{% trans "My Profile" %}</a>
|
|
8
|
-
</h2>
|
|
9
|
-
</div>
|
|
6
|
+
{% include "umap/dashboard_menu.html" with selected="profile" %}
|
|
10
7
|
<div class="wrapper">
|
|
11
8
|
<div class="row">
|
|
12
9
|
{% if form.non_field_errors %}
|
|
13
10
|
<ul class="form-errors">
|
|
14
|
-
{% for error in form.non_field_errors %}
|
|
11
|
+
{% for error in form.non_field_errors %}
|
|
12
|
+
<li>
|
|
13
|
+
{{ error }}
|
|
14
|
+
</li>
|
|
15
|
+
{% endfor %}
|
|
15
16
|
</ul>
|
|
16
17
|
{% endif %}
|
|
17
18
|
<form id="user_form" method="post">
|
|
@@ -22,13 +23,21 @@
|
|
|
22
23
|
</div>
|
|
23
24
|
{% if backends.backends|length %}
|
|
24
25
|
<div class="row">
|
|
25
|
-
<h3>
|
|
26
|
+
<h3>
|
|
27
|
+
{% trans "Your current providers" %}
|
|
28
|
+
</h3>
|
|
26
29
|
<ul>
|
|
27
|
-
{% for name in providers %}
|
|
30
|
+
{% for name in providers %}
|
|
31
|
+
<li>
|
|
32
|
+
{{ name|title }}
|
|
33
|
+
</li>
|
|
34
|
+
{% endfor %}
|
|
28
35
|
</ul>
|
|
29
36
|
</div>
|
|
30
37
|
<div class="row">
|
|
31
|
-
<h3>
|
|
38
|
+
<h3>
|
|
39
|
+
{% trans "Connect to another provider" %}
|
|
40
|
+
</h3>
|
|
32
41
|
<p>
|
|
33
42
|
{% blocktrans %}It's a good habit to connect your account to more than one provider, in case one provider becomes unavailable, temporarily or even permanently.{% endblocktrans %}
|
|
34
43
|
</p>
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
{% extends "umap/content.html" %}
|
|
2
|
+
|
|
2
3
|
{% load i18n %}
|
|
4
|
+
|
|
3
5
|
{% block maincontent %}
|
|
4
6
|
<div class="col wide">
|
|
5
|
-
<h2 class="section">
|
|
7
|
+
<h2 class="section">
|
|
8
|
+
{% blocktrans %}Browse {{ current_user }}'s starred maps{% endblocktrans %}
|
|
9
|
+
</h2>
|
|
6
10
|
</div>
|
|
7
11
|
<div class="wrapper">
|
|
8
12
|
<div class="map_list row">
|
|
9
13
|
{% if maps %}
|
|
10
14
|
{% include "umap/map_list.html" %}
|
|
11
15
|
{% else %}
|
|
12
|
-
<div>
|
|
16
|
+
<div>
|
|
17
|
+
{% blocktrans %}{{ current_user }} has no starred maps yet.{% endblocktrans %}
|
|
18
|
+
</div>
|
|
13
19
|
{% endif %}
|
|
14
20
|
</div>
|
|
15
21
|
</div>
|
umap/templates/base.html
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
{% extends "base.html" %}
|
|
2
|
+
|
|
3
|
+
{% load i18n %}
|
|
4
|
+
|
|
5
|
+
{% block head_title %}
|
|
6
|
+
{% trans "Login" %}
|
|
7
|
+
{% endblock head_title %}
|
|
2
8
|
{% load umap_tags i18n %}
|
|
9
|
+
|
|
3
10
|
{% block extra_head %}
|
|
4
11
|
{% umap_css %}
|
|
5
12
|
{{ block.super }}
|
|
@@ -13,11 +20,17 @@
|
|
|
13
20
|
{% include "umap/branding.html" %}
|
|
14
21
|
</header>
|
|
15
22
|
{% if ENABLE_ACCOUNT_LOGIN %}
|
|
16
|
-
<h2>
|
|
23
|
+
<h2>
|
|
24
|
+
{% trans "Please log in with your account" %}
|
|
25
|
+
</h2>
|
|
17
26
|
<div>
|
|
18
27
|
{% if form.non_field_errors %}
|
|
19
28
|
<ul class="form-errors">
|
|
20
|
-
{% for error in form.non_field_errors %}
|
|
29
|
+
{% for error in form.non_field_errors %}
|
|
30
|
+
<li>
|
|
31
|
+
{{ error }}
|
|
32
|
+
</li>
|
|
33
|
+
{% endfor %}
|
|
21
34
|
</ul>
|
|
22
35
|
{% endif %}
|
|
23
36
|
<form id="login_form" action="{% url "login" %}" method="post">
|
|
@@ -34,7 +47,9 @@
|
|
|
34
47
|
</div>
|
|
35
48
|
{% endif %}
|
|
36
49
|
{% if backends.backends|length %}
|
|
37
|
-
<h2>
|
|
50
|
+
<h2>
|
|
51
|
+
{% trans "Please choose a provider" %}
|
|
52
|
+
</h2>
|
|
38
53
|
<div>
|
|
39
54
|
<ul class="login-grid block-grid">
|
|
40
55
|
{% for name in backends.backends %}
|
umap/templates/umap/about.html
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{% load i18n static %}
|
|
2
|
+
|
|
2
3
|
<div class="wrapper about_summary highlights">
|
|
3
4
|
<div class="row">
|
|
4
5
|
<div class="col quarter mwide">
|
|
@@ -18,13 +19,27 @@
|
|
|
18
19
|
width="128px"
|
|
19
20
|
height="128px" />
|
|
20
21
|
<ul>
|
|
21
|
-
<li>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
<li>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
<li>
|
|
22
|
+
<li>
|
|
23
|
+
{% trans "Choose the layers of your map" %}
|
|
24
|
+
</li>
|
|
25
|
+
<li>
|
|
26
|
+
{% trans "Add POIs: markers, lines, polygons..." %}
|
|
27
|
+
</li>
|
|
28
|
+
<li>
|
|
29
|
+
{% trans "Manage POIs colours and icons" %}
|
|
30
|
+
</li>
|
|
31
|
+
<li>
|
|
32
|
+
{% trans "Manage map options: display a minimap, locate user on load…" %}
|
|
33
|
+
</li>
|
|
34
|
+
<li>
|
|
35
|
+
{% trans "Batch import geostructured data (geojson, gpx, kml, osm...)" %}
|
|
36
|
+
</li>
|
|
37
|
+
<li>
|
|
38
|
+
{% trans "Choose the license for your data" %}
|
|
39
|
+
</li>
|
|
40
|
+
<li>
|
|
41
|
+
{% trans "Embed and share your map" %}
|
|
42
|
+
</li>
|
|
28
43
|
</ul>
|
|
29
44
|
</div>
|
|
30
45
|
<div class="col quarter mwide">
|
|
@@ -1,33 +1,39 @@
|
|
|
1
1
|
{% load i18n static %}
|
|
2
2
|
|
|
3
3
|
<style type="text/css">
|
|
4
|
-
|
|
4
|
+
@import "{% static 'umap/js/components/alerts/alert.css' %}";
|
|
5
5
|
</style>
|
|
6
|
-
|
|
7
6
|
<template id="umap-alert-template">
|
|
8
7
|
<div role="dialog" class="dark window umap-alert">
|
|
9
8
|
<div>
|
|
10
|
-
<p role="alert"
|
|
9
|
+
<p role="alert">
|
|
10
|
+
</p>
|
|
11
11
|
</div>
|
|
12
12
|
<ul class="buttons">
|
|
13
13
|
<li>
|
|
14
|
-
<button class="icon icon-16 icon-close"
|
|
14
|
+
<button class="icon icon-16 icon-close"
|
|
15
|
+
aria-label="{% translate "Close" %}"
|
|
16
|
+
data-close>
|
|
17
|
+
</button>
|
|
15
18
|
</li>
|
|
16
19
|
</ul>
|
|
17
20
|
</div>
|
|
18
21
|
</template>
|
|
19
|
-
|
|
20
22
|
<umap-alert></umap-alert>
|
|
21
|
-
|
|
22
23
|
<template id="umap-alert-creation-template">
|
|
23
24
|
<div role="dialog" class="dark window umap-alert">
|
|
24
25
|
<div>
|
|
25
|
-
<h3 role="alert"
|
|
26
|
+
<h3 role="alert">
|
|
27
|
+
</h3>
|
|
26
28
|
{% url "login" as login_url %}
|
|
27
|
-
<p
|
|
29
|
+
<p>
|
|
30
|
+
<em>{% blocktranslate %}Pro-tip: to easily find back your maps, <a href="{{ login_url }}" target="_blank">create an account</a> or <a href="{{ login_url }}" target="_blank">log in</a>.{% endblocktranslate %}</em>
|
|
31
|
+
</p>
|
|
28
32
|
<div id="link-wrapper">
|
|
29
33
|
<form>
|
|
30
|
-
<label for="url">
|
|
34
|
+
<label for="url">
|
|
35
|
+
{% translate "Here is your secret link to edit the map, please keep it safe:" %}
|
|
36
|
+
</label>
|
|
31
37
|
<fieldset role="group">
|
|
32
38
|
<input type="url" name="url" id="url">
|
|
33
39
|
<input type="button" value="{% translate "Copy link" %}">
|
|
@@ -36,46 +42,61 @@
|
|
|
36
42
|
</div>
|
|
37
43
|
<div id="form-wrapper" hidden>
|
|
38
44
|
<form>
|
|
39
|
-
<label for="email">
|
|
45
|
+
<label for="email">
|
|
46
|
+
{% translate "Enter your email address to receive the secret link:" %}
|
|
47
|
+
</label>
|
|
40
48
|
<fieldset role="group">
|
|
41
|
-
<input type="email"
|
|
42
|
-
|
|
49
|
+
<input type="email"
|
|
50
|
+
name="email"
|
|
51
|
+
id="email"
|
|
52
|
+
placeholder="{% translate "Email" %}"
|
|
53
|
+
required>
|
|
54
|
+
<input type="submit"
|
|
55
|
+
value="{% translate "Send me the link" %}"
|
|
56
|
+
class="umap-action">
|
|
43
57
|
</fieldset>
|
|
44
58
|
</form>
|
|
45
59
|
</div>
|
|
46
60
|
</div>
|
|
47
61
|
<ul class="buttons">
|
|
48
62
|
<li>
|
|
49
|
-
<button class="icon icon-16 icon-close"
|
|
63
|
+
<button class="icon icon-16 icon-close"
|
|
64
|
+
aria-label="{% translate "Close" %}"
|
|
65
|
+
data-close>
|
|
66
|
+
</button>
|
|
50
67
|
</li>
|
|
51
68
|
</ul>
|
|
52
69
|
</div>
|
|
53
70
|
</template>
|
|
54
|
-
|
|
55
71
|
<umap-alert-creation></umap-alert-creation>
|
|
56
|
-
|
|
57
72
|
<template id="umap-alert-conflict-template">
|
|
58
73
|
<div role="dialog" class="dark window umap-alert">
|
|
59
74
|
<div>
|
|
60
|
-
<p role="alert"
|
|
75
|
+
<p role="alert">
|
|
76
|
+
</p>
|
|
61
77
|
<div id="conflict-wrapper">
|
|
62
78
|
<form>
|
|
63
79
|
<a href="#" onclick="document.url" target="_blank">{% translate "See their edits in another tab" %}</a>
|
|
64
|
-
<input id="your-changes"
|
|
65
|
-
|
|
80
|
+
<input id="your-changes"
|
|
81
|
+
type="submit"
|
|
82
|
+
value="{% translate "Keep your changes and loose theirs" %}">
|
|
83
|
+
<input id="their-changes"
|
|
84
|
+
type="submit"
|
|
85
|
+
value="{% translate "Keep their changes and loose yours" %}">
|
|
66
86
|
</form>
|
|
67
87
|
</div>
|
|
68
88
|
</div>
|
|
69
89
|
<ul class="buttons">
|
|
70
90
|
<li>
|
|
71
|
-
<button class="icon icon-16 icon-close"
|
|
91
|
+
<button class="icon icon-16 icon-close"
|
|
92
|
+
aria-label="{% translate "Close" %}"
|
|
93
|
+
data-close>
|
|
94
|
+
</button>
|
|
72
95
|
</li>
|
|
73
96
|
</ul>
|
|
74
97
|
</div>
|
|
75
98
|
</template>
|
|
76
|
-
|
|
77
99
|
<umap-alert-conflict></umap-alert-conflict>
|
|
78
|
-
|
|
79
100
|
<script type="module">
|
|
80
101
|
import { register } from '{% static 'umap/js/components/base.js' %}'
|
|
81
102
|
import {
|
umap/templates/umap/content.html
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
{% load i18n %}
|
|
2
|
+
|
|
2
3
|
<footer>
|
|
3
4
|
<a href="https://wiki.openstreetmap.org/wiki/UMap" class="branding">uMap</a>
|
|
4
|
-
|
|
5
|
-
(version <a href="https://umap-project.
|
|
5
|
+
<span>{% trans "An OpenStreetMap project" %}
|
|
6
|
+
({% trans "version" %} <a href="https://docs.umap-project.org/en/stable/changelog/">{{ UMAP_VERSION }}</a>)</span>
|
|
7
|
+
{% if UMAP_HOST_INFOS.url and UMAP_HOST_INFOS.name %}<span>{% trans "Hosted by" %} <a href="{{ UMAP_HOST_INFOS.url }}">{{ UMAP_HOST_INFOS.name }}</a></span>{% endif %}
|
|
8
|
+
{% if UMAP_HOST_INFOS.email %}<a href="mailto:{{ UMAP_HOST_INFOS.email }}">{% trans "Contact" %}</a>{% endif %}
|
|
9
|
+
{% if UMAP_HELP_URL %}<a href="{{ UMAP_HELP_URL }}">{% trans "Help" %}</a>{% endif %}
|
|
6
10
|
{% get_language_info_list for LANGUAGES as languages %}
|
|
7
11
|
<form action="{% url "set_language" %}" method="post" class="i18n_switch">
|
|
8
12
|
{% csrf_token %}
|
umap/templates/umap/css.html
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{% load i18n %}
|
|
2
|
+
|
|
3
|
+
<div class="row">
|
|
4
|
+
<h2 class="section tabs">
|
|
5
|
+
{% if selected == "maps" %}
|
|
6
|
+
<a class="selected" href="{% url 'user_dashboard' %}">{% blocktranslate with count=maps.paginator.count %}My Maps ({{ count }}){% endblocktranslate %}</a>
|
|
7
|
+
{% else %}
|
|
8
|
+
<a href="{% url 'user_dashboard' %}">{% trans "My Maps" %}</a>
|
|
9
|
+
{% endif %}
|
|
10
|
+
<a {% if selected == "profile" %}class="selected"{% endif %}
|
|
11
|
+
href="{% url 'user_profile' %}">{% trans "My profile" %}</a>
|
|
12
|
+
<a {% if selected == "teams" %}class="selected"{% endif %}
|
|
13
|
+
href="{% url 'user_teams' %}">{% trans "My teams" %}</a>
|
|
14
|
+
</h2>
|
|
15
|
+
</div>
|
umap/templates/umap/home.html
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
{% extends "umap/content.html" %}
|
|
2
|
+
|
|
2
3
|
{% load umap_tags i18n %}
|
|
4
|
+
|
|
3
5
|
{% block messages %}
|
|
4
6
|
{# We don't want maps in the list to display errors. #}
|
|
5
7
|
{% endblock messages %}
|
|
@@ -8,14 +10,22 @@
|
|
|
8
10
|
{% include "umap/about_summary.html" %}
|
|
9
11
|
{% if showcase_map %}
|
|
10
12
|
<div class="wrapper showcase-map">
|
|
11
|
-
<h2 class="section">
|
|
12
|
-
|
|
13
|
+
<h2 class="section">
|
|
14
|
+
{% blocktrans %}Map of the uMaps{% endblocktrans %}
|
|
15
|
+
</h2>
|
|
16
|
+
<div class="row">
|
|
17
|
+
{% map_fragment showcase_map zoomControl=1 %}
|
|
18
|
+
</div>
|
|
13
19
|
</div>
|
|
14
20
|
{% endif %}
|
|
15
21
|
<div class="wrapper">
|
|
16
22
|
{% if maps %}
|
|
17
|
-
<h2 class="section">
|
|
18
|
-
|
|
23
|
+
<h2 class="section">
|
|
24
|
+
{% blocktrans %}Get inspired, browse maps{% endblocktrans %}
|
|
25
|
+
</h2>
|
|
26
|
+
<div class="map_list row">
|
|
27
|
+
{% include "umap/map_list.html" %}
|
|
28
|
+
</div>
|
|
19
29
|
{% endif %}
|
|
20
30
|
</div>
|
|
21
31
|
{% endblock maincontent %}
|
umap/templates/umap/js.html
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
{% load static %}
|
|
2
|
+
|
|
2
3
|
<script type="module"
|
|
3
4
|
src="{% static 'umap/vendors/leaflet/leaflet-src.esm.js' %}"
|
|
4
5
|
defer></script>
|
|
5
6
|
<script type="module"
|
|
6
7
|
src="{% static 'umap/js/modules/leaflet-configure.js' %}"
|
|
7
8
|
defer></script>
|
|
9
|
+
<script src="{% static 'umap/vendors/markercluster/leaflet.markercluster.js' %}"
|
|
10
|
+
defer></script>
|
|
11
|
+
<script src="{% static 'umap/vendors/heat/leaflet-heat.js' %}" defer></script>
|
|
8
12
|
{% if locale %}
|
|
9
13
|
{% with "umap/locale/"|add:locale|add:".js" as path %}
|
|
10
14
|
<script src="{% static path %}" defer></script>
|
|
@@ -21,14 +25,11 @@
|
|
|
21
25
|
<script src="{% static 'umap/vendors/csv2geojson/csv2geojson.js' %}" defer></script>
|
|
22
26
|
<script src="{% static 'umap/vendors/osmtogeojson/osmtogeojson.js' %}" defer></script>
|
|
23
27
|
<script src="{% static 'umap/vendors/loading/Control.Loading.js' %}" defer></script>
|
|
24
|
-
<script src="{% static 'umap/vendors/markercluster/leaflet.markercluster.js' %}"
|
|
25
|
-
defer></script>
|
|
26
28
|
<script src="{% static 'umap/vendors/contextmenu/leaflet.contextmenu.min.js' %}"
|
|
27
29
|
defer></script>
|
|
28
30
|
<script src="{% static 'umap/vendors/photon/leaflet.photon.js' %}" defer></script>
|
|
29
31
|
<script src="{% static 'umap/vendors/georsstogeojson/GeoRSSToGeoJSON.js' %}"
|
|
30
32
|
defer></script>
|
|
31
|
-
<script src="{% static 'umap/vendors/heat/leaflet-heat.js' %}" defer></script>
|
|
32
33
|
<script src="{% static 'umap/vendors/fullscreen/Leaflet.fullscreen.min.js' %}"
|
|
33
34
|
defer></script>
|
|
34
35
|
<script src="{% static 'umap/vendors/toolbar/leaflet.toolbar.js' %}" defer></script>
|
|
@@ -43,13 +44,7 @@
|
|
|
43
44
|
<script src="{% static 'umap/vendors/simple-statistics/simple-statistics.min.js' %}"
|
|
44
45
|
defer></script>
|
|
45
46
|
<script src="{% static 'umap/js/umap.core.js' %}" defer></script>
|
|
46
|
-
<script src="{% static 'umap/js/umap.popup.js' %}" defer></script>
|
|
47
47
|
<script src="{% static 'umap/js/umap.forms.js' %}" defer></script>
|
|
48
|
-
<script src="{% static 'umap/js/umap.icon.js' %}" defer></script>
|
|
49
|
-
<script src="{% static 'umap/js/umap.features.js' %}" defer></script>
|
|
50
|
-
<script src="{% static 'umap/js/umap.permissions.js' %}" defer></script>
|
|
51
|
-
<script src="{% static 'umap/js/umap.datalayer.permissions.js' %}" defer></script>
|
|
52
|
-
<script src="{% static 'umap/js/umap.layer.js' %}" defer></script>
|
|
53
48
|
<script src="{% static 'umap/js/umap.controls.js' %}" defer></script>
|
|
54
49
|
<script src="{% static 'umap/js/umap.js' %}" defer></script>
|
|
55
50
|
<script src="{% static 'umap/js/components/fragment.js' %}" defer></script>
|