umap-project 2.9.3__py3-none-any.whl → 3.0.0__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/context_processors.py +1 -0
- umap/forms.py +1 -2
- umap/locale/de/LC_MESSAGES/django.mo +0 -0
- umap/locale/de/LC_MESSAGES/django.po +218 -96
- umap/locale/en/LC_MESSAGES/django.po +128 -52
- umap/locale/fr/LC_MESSAGES/django.mo +0 -0
- umap/locale/fr/LC_MESSAGES/django.po +128 -52
- umap/locale/hu/LC_MESSAGES/django.mo +0 -0
- umap/locale/hu/LC_MESSAGES/django.po +209 -88
- umap/locale/is/LC_MESSAGES/django.mo +0 -0
- umap/locale/is/LC_MESSAGES/django.po +296 -175
- umap/migrations/0027_map_tags.py +23 -0
- umap/models.py +13 -2
- umap/settings/base.py +23 -5
- umap/static/umap/base.css +41 -8
- umap/static/umap/content.css +72 -37
- umap/static/umap/css/bar.css +43 -21
- umap/static/umap/css/dialog.css +4 -1
- umap/static/umap/css/form.css +40 -27
- umap/static/umap/css/icon.css +11 -1
- umap/static/umap/css/importers.css +7 -0
- umap/static/umap/img/16-white.svg +23 -2
- umap/static/umap/img/16.svg +1 -1
- umap/static/umap/img/24.svg +4 -4
- umap/static/umap/img/home.svg +7 -0
- umap/static/umap/img/importers/banfr.svg +1 -0
- umap/static/umap/img/marker.svg +2 -5
- umap/static/umap/img/source/16-white.svg +24 -3
- umap/static/umap/img/source/16.svg +1 -1
- umap/static/umap/img/source/24.svg +5 -5
- umap/static/umap/img/target.svg +1 -0
- umap/static/umap/js/components/alerts/alert.js +0 -1
- umap/static/umap/js/modules/browser.js +4 -4
- umap/static/umap/js/modules/caption.js +1 -1
- umap/static/umap/js/modules/data/features.js +25 -25
- umap/static/umap/js/modules/data/layer.js +91 -97
- umap/static/umap/js/modules/facets.js +9 -5
- umap/static/umap/js/modules/form/builder.js +21 -29
- umap/static/umap/js/modules/form/fields.js +40 -14
- umap/static/umap/js/modules/formatter.js +1 -1
- umap/static/umap/js/modules/global.js +9 -5
- umap/static/umap/js/modules/help.js +18 -5
- umap/static/umap/js/modules/importer.js +5 -2
- umap/static/umap/js/modules/importers/banfr.js +93 -0
- umap/static/umap/js/modules/importers/cadastrefr.js +2 -2
- umap/static/umap/js/modules/importers/communesfr.js +1 -1
- umap/static/umap/js/modules/permissions.js +20 -10
- umap/static/umap/js/modules/rendering/icon.js +15 -2
- umap/static/umap/js/modules/rendering/layers/classified.js +7 -7
- umap/static/umap/js/modules/rendering/layers/cluster.js +2 -2
- umap/static/umap/js/modules/rendering/layers/heat.js +4 -4
- umap/static/umap/js/modules/rendering/map.js +14 -6
- umap/static/umap/js/modules/rendering/popup.js +2 -2
- umap/static/umap/js/modules/rendering/template.js +3 -3
- umap/static/umap/js/modules/rendering/ui.js +17 -11
- umap/static/umap/js/modules/rules.js +13 -16
- umap/static/umap/js/modules/schema.js +23 -1
- umap/static/umap/js/modules/share.js +1 -1
- umap/static/umap/js/modules/slideshow.js +1 -0
- umap/static/umap/js/modules/sync/engine.js +141 -19
- umap/static/umap/js/modules/sync/undo.js +101 -0
- umap/static/umap/js/modules/sync/updaters.js +51 -28
- umap/static/umap/js/modules/tableeditor.js +1 -1
- umap/static/umap/js/modules/ui/bar.js +61 -21
- umap/static/umap/js/modules/ui/tooltip.js +1 -1
- umap/static/umap/js/modules/umap.js +190 -176
- umap/static/umap/js/modules/utils.js +30 -4
- umap/static/umap/js/umap.controls.js +82 -38
- umap/static/umap/locale/am_ET.js +11 -6
- umap/static/umap/locale/am_ET.json +11 -6
- umap/static/umap/locale/ar.js +11 -6
- umap/static/umap/locale/ar.json +11 -6
- umap/static/umap/locale/ast.js +11 -6
- umap/static/umap/locale/ast.json +11 -6
- umap/static/umap/locale/bg.js +11 -6
- umap/static/umap/locale/bg.json +11 -6
- umap/static/umap/locale/br.js +12 -7
- umap/static/umap/locale/br.json +12 -7
- umap/static/umap/locale/ca.js +11 -6
- umap/static/umap/locale/ca.json +11 -6
- umap/static/umap/locale/cs_CZ.js +11 -6
- umap/static/umap/locale/cs_CZ.json +11 -6
- umap/static/umap/locale/da.js +11 -6
- umap/static/umap/locale/da.json +11 -6
- umap/static/umap/locale/de.js +47 -42
- umap/static/umap/locale/de.json +47 -42
- umap/static/umap/locale/el.js +11 -6
- umap/static/umap/locale/el.json +11 -6
- umap/static/umap/locale/en.js +11 -6
- umap/static/umap/locale/en.json +11 -6
- umap/static/umap/locale/en_US.json +11 -6
- umap/static/umap/locale/es.js +11 -6
- umap/static/umap/locale/es.json +11 -6
- umap/static/umap/locale/et.js +11 -6
- umap/static/umap/locale/et.json +11 -6
- umap/static/umap/locale/eu.js +11 -6
- umap/static/umap/locale/eu.json +11 -6
- umap/static/umap/locale/fa_IR.js +11 -6
- umap/static/umap/locale/fa_IR.json +11 -6
- umap/static/umap/locale/fi.js +11 -6
- umap/static/umap/locale/fi.json +11 -6
- umap/static/umap/locale/fr.js +11 -6
- umap/static/umap/locale/fr.json +11 -6
- umap/static/umap/locale/gl.js +12 -7
- umap/static/umap/locale/gl.json +12 -7
- umap/static/umap/locale/he.js +11 -6
- umap/static/umap/locale/he.json +11 -6
- umap/static/umap/locale/hr.js +11 -6
- umap/static/umap/locale/hr.json +11 -6
- umap/static/umap/locale/hu.js +25 -20
- umap/static/umap/locale/hu.json +25 -20
- umap/static/umap/locale/id.js +11 -6
- umap/static/umap/locale/id.json +11 -6
- umap/static/umap/locale/is.js +151 -146
- umap/static/umap/locale/is.json +151 -146
- umap/static/umap/locale/it.js +11 -6
- umap/static/umap/locale/it.json +11 -6
- umap/static/umap/locale/ja.js +11 -6
- umap/static/umap/locale/ja.json +11 -6
- umap/static/umap/locale/ko.js +11 -6
- umap/static/umap/locale/ko.json +11 -6
- umap/static/umap/locale/lt.js +11 -6
- umap/static/umap/locale/lt.json +11 -6
- umap/static/umap/locale/ms.js +11 -6
- umap/static/umap/locale/ms.json +11 -6
- umap/static/umap/locale/nl.js +12 -7
- umap/static/umap/locale/nl.json +12 -7
- umap/static/umap/locale/no.js +11 -6
- umap/static/umap/locale/no.json +11 -6
- umap/static/umap/locale/pl.js +11 -6
- umap/static/umap/locale/pl.json +11 -6
- umap/static/umap/locale/pl_PL.json +11 -6
- umap/static/umap/locale/pt.js +11 -6
- umap/static/umap/locale/pt.json +11 -6
- umap/static/umap/locale/pt_BR.js +11 -6
- umap/static/umap/locale/pt_BR.json +11 -6
- umap/static/umap/locale/pt_PT.js +11 -6
- umap/static/umap/locale/pt_PT.json +11 -6
- umap/static/umap/locale/ro.js +11 -6
- umap/static/umap/locale/ro.json +11 -6
- umap/static/umap/locale/ru.js +11 -6
- umap/static/umap/locale/ru.json +11 -6
- umap/static/umap/locale/sk_SK.js +11 -6
- umap/static/umap/locale/sk_SK.json +11 -6
- umap/static/umap/locale/sl.js +11 -6
- umap/static/umap/locale/sl.json +11 -6
- umap/static/umap/locale/sr.js +11 -6
- umap/static/umap/locale/sr.json +11 -6
- umap/static/umap/locale/sv.js +11 -6
- umap/static/umap/locale/sv.json +11 -6
- umap/static/umap/locale/th_TH.js +11 -6
- umap/static/umap/locale/th_TH.json +11 -6
- umap/static/umap/locale/tr.js +11 -6
- umap/static/umap/locale/tr.json +11 -6
- umap/static/umap/locale/uk_UA.js +11 -6
- umap/static/umap/locale/uk_UA.json +11 -6
- umap/static/umap/locale/vi.js +11 -6
- umap/static/umap/locale/vi.json +11 -6
- umap/static/umap/locale/vi_VN.json +11 -6
- umap/static/umap/locale/zh.js +11 -6
- umap/static/umap/locale/zh.json +11 -6
- umap/static/umap/locale/zh_CN.json +11 -6
- umap/static/umap/locale/zh_TW.Big5.json +11 -6
- umap/static/umap/locale/zh_TW.js +19 -14
- umap/static/umap/locale/zh_TW.json +19 -14
- umap/static/umap/map.css +58 -28
- umap/static/umap/unittests/sync.js +0 -57
- umap/static/umap/unittests/utils.js +47 -0
- umap/static/umap/vars.css +5 -2
- umap/static/umap/vendors/photon/leaflet.photon.js +3 -0
- umap/sync/payloads.py +3 -2
- umap/templates/auth/user_detail.html +1 -1
- umap/templates/auth/user_stars.html +1 -1
- umap/templates/umap/content.html +17 -12
- umap/templates/umap/home.html +7 -5
- umap/templates/umap/map_fragment.html +1 -1
- umap/templates/umap/map_list.html +20 -13
- umap/templates/umap/search.html +7 -3
- umap/templates/umap/search_bar.html +13 -11
- umap/templates/umap/team_detail.html +1 -1
- umap/tests/base.py +2 -1
- umap/tests/fixtures/remote_data.umap +55 -0
- umap/tests/fixtures/test_upload_data_with_iconurl.umap +122 -0
- umap/tests/integration/test_browser.py +1 -3
- umap/tests/integration/test_conditional_rules.py +3 -0
- umap/tests/integration/test_edit_datalayer.py +2 -7
- umap/tests/integration/test_edit_map.py +15 -0
- umap/tests/integration/test_edit_polygon.py +1 -2
- umap/tests/integration/test_import.py +59 -2
- umap/tests/integration/test_optimistic_merge.py +4 -3
- umap/tests/integration/test_owned_map.py +0 -1
- umap/tests/integration/test_save.py +2 -4
- umap/tests/integration/test_undo_redo.py +267 -0
- umap/tests/integration/test_websocket_sync.py +78 -11
- umap/tests/settings.py +1 -3
- umap/tests/test_datalayer_s3.py +1 -0
- umap/tests/test_map_views.py +1 -0
- umap/tests/test_views.py +34 -0
- umap/utils.py +1 -1
- umap/views.py +23 -2
- {umap_project-2.9.3.dist-info → umap_project-3.0.0.dist-info}/METADATA +13 -12
- {umap_project-2.9.3.dist-info → umap_project-3.0.0.dist-info}/RECORD +206 -208
- umap/static/umap/js/modules/saving.js +0 -52
- umap/static/umap/test/.eslintrc +0 -21
- umap/static/umap/test/DataLayer.js +0 -463
- umap/static/umap/test/Feature.js +0 -131
- umap/static/umap/test/Map.js +0 -37
- umap/static/umap/test/Marker.js +0 -126
- umap/static/umap/test/Polygon.js +0 -111
- umap/static/umap/test/Polyline.js +0 -286
- umap/static/umap/test/Util.js +0 -28
- umap/static/umap/test/_pre.js +0 -455
- umap/static/umap/test/index.html +0 -139
- {umap_project-2.9.3.dist-info → umap_project-3.0.0.dist-info}/WHEEL +0 -0
- {umap_project-2.9.3.dist-info → umap_project-3.0.0.dist-info}/entry_points.txt +0 -0
- {umap_project-2.9.3.dist-info → umap_project-3.0.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Generated by Django 5.1.6 on 2025-02-26 16:18
|
|
2
|
+
|
|
3
|
+
import django.contrib.postgres.fields
|
|
4
|
+
from django.db import migrations, models
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Migration(migrations.Migration):
|
|
8
|
+
dependencies = [
|
|
9
|
+
("umap", "0026_datalayer_modified_at_datalayer_share_status"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.AddField(
|
|
14
|
+
model_name="map",
|
|
15
|
+
name="tags",
|
|
16
|
+
field=django.contrib.postgres.fields.ArrayField(
|
|
17
|
+
base_field=models.CharField(max_length=200),
|
|
18
|
+
blank=True,
|
|
19
|
+
default=list,
|
|
20
|
+
size=None,
|
|
21
|
+
),
|
|
22
|
+
),
|
|
23
|
+
]
|
umap/models.py
CHANGED
|
@@ -4,6 +4,7 @@ import uuid
|
|
|
4
4
|
from django.conf import settings
|
|
5
5
|
from django.contrib.auth.models import User
|
|
6
6
|
from django.contrib.gis.db import models
|
|
7
|
+
from django.contrib.postgres.fields import ArrayField
|
|
7
8
|
from django.core.files.base import File
|
|
8
9
|
from django.core.files.storage import storages
|
|
9
10
|
from django.core.signing import Signer
|
|
@@ -236,6 +237,7 @@ class Map(NamedModel):
|
|
|
236
237
|
settings = models.JSONField(
|
|
237
238
|
blank=True, null=True, verbose_name=_("settings"), default=dict
|
|
238
239
|
)
|
|
240
|
+
tags = ArrayField(models.CharField(max_length=200), blank=True, default=list)
|
|
239
241
|
|
|
240
242
|
objects = models.Manager()
|
|
241
243
|
public = PublicManager()
|
|
@@ -296,6 +298,7 @@ class Map(NamedModel):
|
|
|
296
298
|
with datalayer.geojson.open("rb") as f:
|
|
297
299
|
layer = json.loads(f.read())
|
|
298
300
|
if datalayer.settings:
|
|
301
|
+
datalayer.settings.pop("id", None)
|
|
299
302
|
layer["_umap_options"] = datalayer.settings
|
|
300
303
|
datalayers.append(layer)
|
|
301
304
|
umapjson["layers"] = datalayers
|
|
@@ -415,12 +418,17 @@ class Map(NamedModel):
|
|
|
415
418
|
datalayer.clone(map_inst=new)
|
|
416
419
|
return new
|
|
417
420
|
|
|
421
|
+
def get_tags_display(self):
|
|
422
|
+
labels = dict(settings.UMAP_TAGS)
|
|
423
|
+
return [(t, labels.get(t, t)) for t in self.tags]
|
|
424
|
+
|
|
418
425
|
@classproperty
|
|
419
426
|
def extra_schema(self):
|
|
420
427
|
return {
|
|
421
428
|
"iconUrl": {
|
|
422
429
|
"default": "%sumap/img/marker.svg" % settings.STATIC_URL,
|
|
423
|
-
}
|
|
430
|
+
},
|
|
431
|
+
"tags": {"choices": sorted(settings.UMAP_TAGS, key=lambda i: i[0])},
|
|
424
432
|
}
|
|
425
433
|
|
|
426
434
|
|
|
@@ -526,7 +534,10 @@ class DataLayer(NamedModel):
|
|
|
526
534
|
metadata = self.settings
|
|
527
535
|
if not metadata:
|
|
528
536
|
# Fallback to file for old datalayers.
|
|
529
|
-
|
|
537
|
+
try:
|
|
538
|
+
data = json.loads(self.geojson.read().decode())
|
|
539
|
+
except FileNotFoundError:
|
|
540
|
+
data = {}
|
|
530
541
|
metadata = data.get("_umap_options")
|
|
531
542
|
if not metadata:
|
|
532
543
|
metadata = {
|
umap/settings/base.py
CHANGED
|
@@ -6,6 +6,7 @@ from email.utils import parseaddr
|
|
|
6
6
|
|
|
7
7
|
import environ
|
|
8
8
|
from django.conf.locale import LANG_INFO
|
|
9
|
+
from django.utils.translation import gettext_lazy as _
|
|
9
10
|
|
|
10
11
|
import umap as project_module
|
|
11
12
|
|
|
@@ -290,6 +291,25 @@ UMAP_HOME_FEED = "latest"
|
|
|
290
291
|
UMAP_IMPORTERS = {}
|
|
291
292
|
UMAP_HOST_INFOS = {}
|
|
292
293
|
UMAP_LABEL_KEYS = ["name", "title"]
|
|
294
|
+
UMAP_TAGS = (
|
|
295
|
+
("arts", _("Art and Culture")),
|
|
296
|
+
("cycling", _("Cycling")),
|
|
297
|
+
("business", _("Business")),
|
|
298
|
+
("environment", _("Environment")),
|
|
299
|
+
("education", _("Education")),
|
|
300
|
+
("food", _("Food and Agriculture")),
|
|
301
|
+
("geopolitics", _("Geopolitics")),
|
|
302
|
+
("health", _("Health")),
|
|
303
|
+
("hiking", _("Hiking")),
|
|
304
|
+
("history", _("History")),
|
|
305
|
+
("public", _("Public sector")),
|
|
306
|
+
("science", _("Science")),
|
|
307
|
+
("shopping", _("Shopping")),
|
|
308
|
+
("sport", _("Sport and Leisure")),
|
|
309
|
+
("travel", _("Travel")),
|
|
310
|
+
("transports", _("Transports")),
|
|
311
|
+
("tourism", _("Tourism")),
|
|
312
|
+
)
|
|
293
313
|
|
|
294
314
|
UMAP_READONLY = env("UMAP_READONLY", default=False)
|
|
295
315
|
UMAP_GZIP = True
|
|
@@ -340,10 +360,8 @@ LOGGING = {
|
|
|
340
360
|
},
|
|
341
361
|
}
|
|
342
362
|
|
|
343
|
-
#
|
|
363
|
+
# Real-time editing configuration
|
|
344
364
|
|
|
345
|
-
|
|
346
|
-
WEBSOCKET_BACK_HOST = env("WEBSOCKET_BACK_HOST", default="localhost")
|
|
347
|
-
WEBSOCKET_BACK_PORT = env.int("WEBSOCKET_BACK_PORT", default=8001)
|
|
365
|
+
REALTIME_ENABLED = env.bool("REALTIME_ENABLED", default=False)
|
|
348
366
|
|
|
349
|
-
REDIS_URL = "redis://localhost:6379"
|
|
367
|
+
REDIS_URL = env("REDIS_URL", default="redis://localhost:6379")
|
umap/static/umap/base.css
CHANGED
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
body, div, ul, ol, li, a, section, nav,
|
|
5
5
|
h1, h2, h3, h4, h5, h6, label,
|
|
6
|
-
hr, input, textarea {
|
|
7
|
-
-moz-box-sizing:border-box;
|
|
8
|
-
-webkit-box-sizing:border-box;
|
|
6
|
+
hr, input, textarea, select {
|
|
9
7
|
box-sizing: border-box;
|
|
10
8
|
margin: 0;
|
|
11
9
|
padding: 0;
|
|
@@ -19,7 +17,11 @@ h1, h2, h3, h4, h5, h6, label, hr {
|
|
|
19
17
|
}
|
|
20
18
|
a {
|
|
21
19
|
text-decoration: none;
|
|
22
|
-
color:
|
|
20
|
+
color: var(--link-color);
|
|
21
|
+
}
|
|
22
|
+
a.main {
|
|
23
|
+
font-weight: bold;
|
|
24
|
+
text-decoration: underline;
|
|
23
25
|
}
|
|
24
26
|
a[href^="http"]:not(nav.umap-nav a) {
|
|
25
27
|
text-decoration: underline;
|
|
@@ -81,10 +83,12 @@ hgroup > * {
|
|
|
81
83
|
hgroup {
|
|
82
84
|
margin-bottom: var(--box-margin);
|
|
83
85
|
}
|
|
84
|
-
hgroup
|
|
85
|
-
|
|
86
|
+
hgroup p,
|
|
87
|
+
hgroup button {
|
|
88
|
+
margin: 0;
|
|
86
89
|
}
|
|
87
90
|
|
|
91
|
+
|
|
88
92
|
/*
|
|
89
93
|
* List
|
|
90
94
|
*/
|
|
@@ -158,10 +162,23 @@ dt {
|
|
|
158
162
|
}
|
|
159
163
|
.grid-container {
|
|
160
164
|
display: grid;
|
|
161
|
-
grid-
|
|
165
|
+
--grid-layout-gap: calc(var(--gutter) * 2);
|
|
166
|
+
--grid-column-count: 3;
|
|
167
|
+
--grid-item--min-width: 300px;
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Calculated values.
|
|
171
|
+
*/
|
|
172
|
+
--gap-count: calc(var(--grid-column-count) - 1);
|
|
173
|
+
--total-gap-width: calc(var(--gap-count) * var(--grid-layout-gap));
|
|
174
|
+
--grid-item--max-width: calc((100% - var(--total-gap-width)) / var(--grid-column-count));
|
|
175
|
+
|
|
176
|
+
grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item--min-width), var(--grid-item--max-width)), 1fr));
|
|
177
|
+
grid-gap: var(--grid-layout-gap);
|
|
162
178
|
}
|
|
163
179
|
.grid-container.by4 {
|
|
164
|
-
grid-
|
|
180
|
+
--grid-column-count: 4;
|
|
181
|
+
--grid-item--min-width: 60px;
|
|
165
182
|
}
|
|
166
183
|
.grid-container > * {
|
|
167
184
|
text-align: center;
|
|
@@ -184,6 +201,10 @@ dt {
|
|
|
184
201
|
/* Various */
|
|
185
202
|
/* *********** */
|
|
186
203
|
|
|
204
|
+
.nobr {
|
|
205
|
+
white-space: nowrap;
|
|
206
|
+
}
|
|
207
|
+
|
|
187
208
|
.text {
|
|
188
209
|
word-break: break-word;
|
|
189
210
|
white-space: pre-line;
|
|
@@ -202,3 +223,15 @@ dt {
|
|
|
202
223
|
height: 100vh;
|
|
203
224
|
opacity: 0.5;
|
|
204
225
|
}
|
|
226
|
+
.table-scrollable {
|
|
227
|
+
background-image: linear-gradient(to right, var(--background-color), var(--background-color)),
|
|
228
|
+
linear-gradient(to right, var(--background-color), var(--background-color)),
|
|
229
|
+
linear-gradient(to right, rgba(0, 0, 20, .50), rgba(255, 255, 255, 0)),
|
|
230
|
+
linear-gradient(to left, rgba(0, 0, 20, .50), rgba(255, 255, 255, 0));
|
|
231
|
+
background-position: left center, right center, left center, right center;
|
|
232
|
+
background-repeat: no-repeat;
|
|
233
|
+
background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;
|
|
234
|
+
background-attachment: local, local, scroll, scroll;
|
|
235
|
+
display: block;
|
|
236
|
+
overflow-x: auto;
|
|
237
|
+
}
|
umap/static/umap/content.css
CHANGED
|
@@ -16,6 +16,21 @@ input::-webkit-input-placeholder, ::-webkit-input-placeholder {
|
|
|
16
16
|
input:-moz-placeholder, :-moz-placeholder {
|
|
17
17
|
color: #a5a5a5;
|
|
18
18
|
}
|
|
19
|
+
.search-form {
|
|
20
|
+
display: flex;
|
|
21
|
+
align-items: baseline;
|
|
22
|
+
max-width: 800px;
|
|
23
|
+
margin: 0 auto;
|
|
24
|
+
}
|
|
25
|
+
.search-form select {
|
|
26
|
+
max-width: 200px;
|
|
27
|
+
}
|
|
28
|
+
.search-form input[type=submit] {
|
|
29
|
+
min-width: 200px;
|
|
30
|
+
}
|
|
31
|
+
.flex-break {
|
|
32
|
+
justify-content: center;
|
|
33
|
+
}
|
|
19
34
|
|
|
20
35
|
|
|
21
36
|
/* **************** */
|
|
@@ -56,30 +71,12 @@ body.login header {
|
|
|
56
71
|
.map_fragment {
|
|
57
72
|
width: 100%;
|
|
58
73
|
}
|
|
59
|
-
.
|
|
74
|
+
.map_fragment,
|
|
60
75
|
.demo_map .map_fragment {
|
|
61
|
-
height:
|
|
62
|
-
}
|
|
63
|
-
.map_list .legend {
|
|
64
|
-
padding-top: 7px;
|
|
65
|
-
margin-bottom: 28px;
|
|
66
|
-
text-align: center;
|
|
67
|
-
font-size: 1.2em;
|
|
68
|
-
}
|
|
69
|
-
.map_list .legend a {
|
|
70
|
-
color: #222;
|
|
71
|
-
font-weight: bold;
|
|
72
|
-
}
|
|
73
|
-
.map_list .legend em,
|
|
74
|
-
.map_list .legend em a {
|
|
75
|
-
color: #444;
|
|
76
|
-
font-weight: normal;
|
|
76
|
+
height: var(--map-fragment-height);
|
|
77
77
|
}
|
|
78
|
-
.
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
.map_list .wide + hr {
|
|
82
|
-
display: block;
|
|
78
|
+
.grid-container hgroup {
|
|
79
|
+
text-align: left;
|
|
83
80
|
}
|
|
84
81
|
.umap-features-list ul {
|
|
85
82
|
margin-top: 14px;
|
|
@@ -164,13 +161,59 @@ h2.tabs a:hover {
|
|
|
164
161
|
color: #efefef;
|
|
165
162
|
text-decoration: underline;
|
|
166
163
|
}
|
|
167
|
-
|
|
164
|
+
.more_button {
|
|
165
|
+
min-height: var(--map-fragment-height);
|
|
166
|
+
}
|
|
167
|
+
.tag-list {
|
|
168
|
+
margin-top: var(--text-margin);
|
|
169
|
+
margin-bottom: var(--text-margin);
|
|
170
|
+
display: flex;
|
|
171
|
+
flex-wrap: wrap;
|
|
172
|
+
gap: calc(var(--gutter) / 2 );
|
|
173
|
+
}
|
|
174
|
+
.tag-list li {
|
|
175
|
+
border: 1px solid var(--color-darkBlue);
|
|
176
|
+
border-radius: 3vmin;
|
|
177
|
+
display: inline-block;
|
|
178
|
+
padding: var(--button-padding-small);
|
|
179
|
+
}
|
|
180
|
+
.tag-list li a {
|
|
181
|
+
color: var(--color-darkBlue);
|
|
182
|
+
max-width: 125px;
|
|
183
|
+
display: inline-block;
|
|
184
|
+
overflow: hidden;
|
|
185
|
+
white-space: nowrap;
|
|
186
|
+
text-overflow: ellipsis;
|
|
187
|
+
vertical-align: middle;
|
|
188
|
+
font-size: small;
|
|
189
|
+
padding: 0 3px;
|
|
190
|
+
}
|
|
191
|
+
.card {
|
|
192
|
+
border: 1px solid var(--color-lightGray);
|
|
193
|
+
border-radius: var(--border-radius);
|
|
194
|
+
padding: var(--box-padding);
|
|
195
|
+
display: flex;
|
|
196
|
+
flex-direction: column;
|
|
197
|
+
}
|
|
198
|
+
.card .button {
|
|
199
|
+
margin-bottom: 0;
|
|
200
|
+
}
|
|
201
|
+
.card hgroup {
|
|
202
|
+
display: flex;
|
|
203
|
+
flex-direction: column;
|
|
204
|
+
justify-content: space-between;
|
|
205
|
+
margin-bottom: 0;
|
|
206
|
+
flex-grow: 1;
|
|
207
|
+
gap: var(--gutter);
|
|
208
|
+
}
|
|
209
|
+
.card h3 {
|
|
210
|
+
margin-bottom: 0;
|
|
211
|
+
}
|
|
168
212
|
|
|
169
213
|
/* **************************** */
|
|
170
214
|
/* colors */
|
|
171
215
|
/* **************************** */
|
|
172
216
|
|
|
173
|
-
input[type="submit"],
|
|
174
217
|
.button {
|
|
175
218
|
background-color: var(--button-primary-background);
|
|
176
219
|
color: var(--button-primary-color);
|
|
@@ -362,22 +405,9 @@ html[dir="rtl"] .content .icon-delete {
|
|
|
362
405
|
align-items: center;
|
|
363
406
|
}
|
|
364
407
|
}
|
|
365
|
-
.table-header form input {
|
|
366
|
-
border: 2px solid var(--color-darkBlue);
|
|
367
|
-
border-radius: 0;
|
|
368
|
-
padding: .5rem 1rem;
|
|
369
|
-
margin-bottom: 0;
|
|
370
|
-
line-height: inherit;
|
|
371
|
-
height: 40px;
|
|
372
|
-
}
|
|
373
408
|
.table-header form input[type="search"] {
|
|
374
409
|
width: 30ch;
|
|
375
410
|
}
|
|
376
|
-
.table-header form input[type="submit"] {
|
|
377
|
-
background-color: var(--color-darkBlue);
|
|
378
|
-
color: white;
|
|
379
|
-
font-weight: bold;
|
|
380
|
-
}
|
|
381
411
|
|
|
382
412
|
.table-header .button-download {
|
|
383
413
|
width: inherit;
|
|
@@ -538,4 +568,9 @@ dialog::backdrop {
|
|
|
538
568
|
.mhide {
|
|
539
569
|
display: none;
|
|
540
570
|
}
|
|
571
|
+
.flex-break {
|
|
572
|
+
flex-direction: column;
|
|
573
|
+
align-items: center;
|
|
574
|
+
}
|
|
575
|
+
|
|
541
576
|
}
|
umap/static/umap/css/bar.css
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
background-color: var(--color-darkGray);
|
|
5
5
|
width: auto;
|
|
6
6
|
margin-bottom: 0;
|
|
7
|
+
min-height: initial;
|
|
7
8
|
}
|
|
8
9
|
.umap-main-edit-toolbox [type=button]:hover {
|
|
9
10
|
text-decoration: underline;
|
|
@@ -13,12 +14,18 @@
|
|
|
13
14
|
padding: 0 var(--text-margin);
|
|
14
15
|
background-color: inherit;
|
|
15
16
|
}
|
|
17
|
+
.leaflet-container .edit-undo {
|
|
18
|
+
margin-left: var(--box-margin);
|
|
19
|
+
}
|
|
20
|
+
.leaflet-container .edit-undo[disabled],
|
|
21
|
+
.leaflet-container .edit-redo[disabled] {
|
|
22
|
+
filter: invert(.5);
|
|
23
|
+
}
|
|
16
24
|
.leaflet-container .edit-save,
|
|
17
|
-
.leaflet-container .edit-cancel,
|
|
18
25
|
.leaflet-container .edit-disable,
|
|
19
26
|
.leaflet-container .connected-peers
|
|
20
27
|
{
|
|
21
|
-
display: block;
|
|
28
|
+
display: inline-block;
|
|
22
29
|
height: 32px;
|
|
23
30
|
line-height: 30px;
|
|
24
31
|
padding: 0 20px;
|
|
@@ -39,7 +46,6 @@
|
|
|
39
46
|
color: var(--color-darkGray);
|
|
40
47
|
}
|
|
41
48
|
|
|
42
|
-
.leaflet-container .edit-cancel:hover,
|
|
43
49
|
.leaflet-container .edit-disable:hover {
|
|
44
50
|
border: 0.5px solid rgba(153, 153, 153, 0.80);
|
|
45
51
|
text-decoration: none;
|
|
@@ -76,19 +82,13 @@
|
|
|
76
82
|
background: rgba(66, 236, 230, 0.10);
|
|
77
83
|
}
|
|
78
84
|
.leaflet-container .edit-save,
|
|
79
|
-
.leaflet-container .edit-cancel,
|
|
80
|
-
.leaflet-container .edit-disable,
|
|
81
85
|
.umap-edit-enabled .edit-enable {
|
|
82
86
|
display: none;
|
|
83
87
|
}
|
|
84
88
|
.umap-edit-enabled .edit-save,
|
|
85
|
-
.umap-edit-enabled .edit-disable
|
|
86
|
-
.umap-edit-enabled.umap-is-dirty .edit-cancel {
|
|
89
|
+
.umap-edit-enabled .edit-disable {
|
|
87
90
|
display: inline-block;
|
|
88
91
|
}
|
|
89
|
-
.umap-is-dirty .edit-disable {
|
|
90
|
-
display: none;
|
|
91
|
-
}
|
|
92
92
|
.umap-caption-bar {
|
|
93
93
|
display: none;
|
|
94
94
|
}
|
|
@@ -115,8 +115,6 @@
|
|
|
115
115
|
.umap-right-edit-toolbox {
|
|
116
116
|
display: flex;
|
|
117
117
|
column-gap: 10px;
|
|
118
|
-
}
|
|
119
|
-
.umap-right-edit-toolbox {
|
|
120
118
|
align-items: center;
|
|
121
119
|
}
|
|
122
120
|
|
|
@@ -135,17 +133,20 @@
|
|
|
135
133
|
text-indent: -9999px;
|
|
136
134
|
}
|
|
137
135
|
.umap-main-edit-toolbox .map-name {
|
|
138
|
-
|
|
136
|
+
font-weight: bold;
|
|
137
|
+
text-align: start;
|
|
138
|
+
}
|
|
139
|
+
.truncate {
|
|
140
|
+
display: inline-flex;
|
|
139
141
|
overflow: hidden;
|
|
140
142
|
white-space: nowrap;
|
|
141
143
|
text-overflow: ellipsis;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
}
|
|
145
|
+
.umap-main-edit-toolbox .username {
|
|
146
|
+
max-width: 100px;
|
|
144
147
|
}
|
|
145
148
|
.umap-main-edit-toolbox .share-status {
|
|
146
149
|
font-style: italic;
|
|
147
|
-
overflow: hidden;
|
|
148
|
-
text-overflow: ellipsis;
|
|
149
150
|
}
|
|
150
151
|
.map-name:after {
|
|
151
152
|
content: '\00a0';
|
|
@@ -163,11 +164,13 @@
|
|
|
163
164
|
.umap-main-edit-toolbox h3 {
|
|
164
165
|
display: inline;
|
|
165
166
|
}
|
|
166
|
-
.umap-caption-bar
|
|
167
|
-
margin-inline-
|
|
167
|
+
.umap-caption-bar .umap-map-author {
|
|
168
|
+
margin-inline-end: 10px;
|
|
168
169
|
}
|
|
169
|
-
.umap-caption-bar button + button:
|
|
170
|
+
.umap-caption-bar > button + button:after,
|
|
171
|
+
.umap-caption-bar > button + button:before {
|
|
170
172
|
content: '|';
|
|
173
|
+
padding-inline-start: 10px;
|
|
171
174
|
padding-inline-end: 10px;
|
|
172
175
|
}
|
|
173
176
|
.umap-main-edit-toolbox .umap-user:hover {
|
|
@@ -196,7 +199,15 @@
|
|
|
196
199
|
z-index: var(--zindex-panels);
|
|
197
200
|
}
|
|
198
201
|
.umap-caption-bar-enabled .umap-caption-bar {
|
|
199
|
-
display:
|
|
202
|
+
display: flex;
|
|
203
|
+
align-items: baseline;
|
|
204
|
+
}
|
|
205
|
+
.umap-caption-bar select {
|
|
206
|
+
margin-top: 0;
|
|
207
|
+
line-height: initial;
|
|
208
|
+
height: initial;
|
|
209
|
+
width: auto;
|
|
210
|
+
padding: 0 var(--text-margin);
|
|
200
211
|
}
|
|
201
212
|
.umap-caption-bar-enabled {
|
|
202
213
|
--current-footer-height: var(--footer-height);
|
|
@@ -233,3 +244,14 @@
|
|
|
233
244
|
padding: 0;
|
|
234
245
|
margin: 0;
|
|
235
246
|
}
|
|
247
|
+
@media all and (max-width: 980px) {
|
|
248
|
+
.umap-main-edit-toolbox button span {
|
|
249
|
+
display: none;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
@media all and (max-width: 770px) {
|
|
253
|
+
.umap-main-edit-toolbox .umap-help-link,
|
|
254
|
+
.umap-main-edit-toolbox .share-status {
|
|
255
|
+
display: none !important;
|
|
256
|
+
}
|
|
257
|
+
}
|
umap/static/umap/css/dialog.css
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
z-index: var(--zindex-dialog);
|
|
3
3
|
margin: auto;
|
|
4
4
|
margin-top: 100px;
|
|
5
|
-
width:
|
|
5
|
+
width: var(--dialog-width);
|
|
6
6
|
max-width: 100vw;
|
|
7
7
|
max-height: 50vh;
|
|
8
8
|
padding: 20px;
|
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
height: fit-content;
|
|
15
15
|
max-height: 90vh;
|
|
16
16
|
}
|
|
17
|
+
.umap-dialog ul + h4 {
|
|
18
|
+
margin-top: var(--box-margin);
|
|
19
|
+
}
|
|
17
20
|
:where([data-component="no-dialog"]:not([hidden])) {
|
|
18
21
|
display: block;
|
|
19
22
|
position: relative;
|
umap/static/umap/css/form.css
CHANGED
|
@@ -7,16 +7,15 @@ input[type="datetime-local"], input[type="email"], input[type="number"],
|
|
|
7
7
|
input[type="search"], input[type="tel"], input[type="time"], input[type="file"],
|
|
8
8
|
input[type="url"], textarea {
|
|
9
9
|
background-color: white;
|
|
10
|
-
border:
|
|
11
|
-
|
|
12
|
-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset;
|
|
13
|
-
color: rgba(0, 0, 0, 0.75);
|
|
10
|
+
border: 2px solid var(--color-darkBlue);
|
|
11
|
+
color: var(--text-color);
|
|
14
12
|
display: block;
|
|
15
13
|
font-family: inherit;
|
|
16
14
|
margin: 0;
|
|
17
|
-
|
|
18
|
-
padding: 7px;
|
|
15
|
+
padding: .5rem 1rem;
|
|
19
16
|
width: 100%;
|
|
17
|
+
line-height: inherit;
|
|
18
|
+
min-height: 40px;
|
|
20
19
|
}
|
|
21
20
|
input[type="range"] {
|
|
22
21
|
margin-top: 10px;
|
|
@@ -47,11 +46,15 @@ input[type=checkbox]:checked:after {
|
|
|
47
46
|
content: '✓';
|
|
48
47
|
color: var(--color-darkGray);
|
|
49
48
|
}
|
|
50
|
-
|
|
51
49
|
input[data-modified=true] {
|
|
52
50
|
background-color: var(--color-lightCyan);
|
|
53
51
|
border: 1px solid var(--color-darkGray);
|
|
54
52
|
}
|
|
53
|
+
input + select,
|
|
54
|
+
select + input,
|
|
55
|
+
input + input {
|
|
56
|
+
border-left: none;
|
|
57
|
+
}
|
|
55
58
|
textarea {
|
|
56
59
|
height: inherit;
|
|
57
60
|
padding: 7px;
|
|
@@ -59,16 +62,18 @@ textarea {
|
|
|
59
62
|
min-height: 6rlh;
|
|
60
63
|
}
|
|
61
64
|
select {
|
|
62
|
-
border:
|
|
65
|
+
border: 2px solid var(--color-darkBlue);
|
|
63
66
|
width: 100%;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
padding: var(--button-padding);
|
|
68
|
+
background-color: var(--background-color);
|
|
69
|
+
color: var(--text-color);
|
|
70
|
+
min-height: 40px;
|
|
68
71
|
}
|
|
69
72
|
.dark select {
|
|
70
|
-
color:
|
|
71
|
-
background-color:
|
|
73
|
+
color: var(--text-color);
|
|
74
|
+
background-color: var(--color-darkGray);
|
|
75
|
+
border-color: var(--color-dark);
|
|
76
|
+
border-width: 1px;
|
|
72
77
|
}
|
|
73
78
|
select[multiple="multiple"] {
|
|
74
79
|
height: auto;
|
|
@@ -78,16 +83,16 @@ select[multiple="multiple"] {
|
|
|
78
83
|
input[type="submit"] {
|
|
79
84
|
display: flex;
|
|
80
85
|
align-items: center;
|
|
81
|
-
margin-bottom: 14px;
|
|
82
86
|
text-align: center;
|
|
83
|
-
border-radius: 2px;
|
|
84
|
-
font-weight: normal;
|
|
85
87
|
cursor: pointer;
|
|
86
88
|
padding: var(--button-padding);
|
|
87
89
|
border: none;
|
|
88
90
|
text-decoration: none;
|
|
89
|
-
background-color: white;
|
|
90
91
|
justify-content: center;
|
|
92
|
+
background-color: var(--color-darkBlue);
|
|
93
|
+
color: white;
|
|
94
|
+
font-weight: normal;
|
|
95
|
+
min-height: 40px;
|
|
91
96
|
}
|
|
92
97
|
.dark .button,
|
|
93
98
|
.dark [type="button"] {
|
|
@@ -95,6 +100,9 @@ input[type="submit"] {
|
|
|
95
100
|
color: var(--text-color);
|
|
96
101
|
border: 1px solid #1b1f20;
|
|
97
102
|
}
|
|
103
|
+
.button.primary {
|
|
104
|
+
font-weight: bold;
|
|
105
|
+
}
|
|
98
106
|
.dark .button.primary:not([disabled]),
|
|
99
107
|
.dark [type="button"].primary:not([disabled]) {
|
|
100
108
|
background-color: var(--color-brightCyan);
|
|
@@ -163,6 +171,14 @@ input + .help-text {
|
|
|
163
171
|
.formbox.with-switch {
|
|
164
172
|
padding-top: 2px;
|
|
165
173
|
}
|
|
174
|
+
.with-switch {
|
|
175
|
+
overflow: hidden;
|
|
176
|
+
}
|
|
177
|
+
.formbox select,
|
|
178
|
+
.formbox textarea,
|
|
179
|
+
.formbox input {
|
|
180
|
+
margin-bottom: var(--text-margin);
|
|
181
|
+
}
|
|
166
182
|
fieldset.formbox {
|
|
167
183
|
border: none;
|
|
168
184
|
border-top: 1px solid var(--color-lightGray);
|
|
@@ -203,8 +219,9 @@ input[value]:invalid {
|
|
|
203
219
|
background-color: darkred;
|
|
204
220
|
}
|
|
205
221
|
.dark input, .dark textarea {
|
|
206
|
-
background-color:
|
|
207
|
-
border-color:
|
|
222
|
+
background-color: var(--color-darkerGray);
|
|
223
|
+
border-color: var(--color-dark);
|
|
224
|
+
border-width: 1px;
|
|
208
225
|
color: #efefef;
|
|
209
226
|
}
|
|
210
227
|
details {
|
|
@@ -280,9 +297,6 @@ input.switch:empty ~ label {
|
|
|
280
297
|
text-indent: 6em;
|
|
281
298
|
margin: 0.2em 0;
|
|
282
299
|
cursor: pointer;
|
|
283
|
-
-webkit-user-select: none;
|
|
284
|
-
-moz-user-select: none;
|
|
285
|
-
-ms-user-select: none;
|
|
286
300
|
user-select: none;
|
|
287
301
|
text-shadow: 0 1px rgba(0, 0, 0, 0.1);
|
|
288
302
|
width: 80px;
|
|
@@ -487,15 +501,12 @@ i.info {
|
|
|
487
501
|
padding: 0 5px;
|
|
488
502
|
}
|
|
489
503
|
.flat-tabs {
|
|
490
|
-
display:
|
|
504
|
+
display: flex;
|
|
491
505
|
justify-content: space-around;
|
|
492
506
|
font-size: 1.2em;
|
|
493
507
|
margin-bottom: 20px;
|
|
494
508
|
border-bottom: 1px solid #bebebe;
|
|
495
509
|
}
|
|
496
|
-
.flat-tabs:has(.flat) {
|
|
497
|
-
display: flex;
|
|
498
|
-
}
|
|
499
510
|
.flat-tabs button {
|
|
500
511
|
padding: 10px;
|
|
501
512
|
text-decoration: none;
|
|
@@ -534,6 +545,7 @@ i.info {
|
|
|
534
545
|
display: inline-block;
|
|
535
546
|
color: black;
|
|
536
547
|
font-weight: bold;
|
|
548
|
+
overflow: hidden;
|
|
537
549
|
}
|
|
538
550
|
.umap-pictogram-choice img {
|
|
539
551
|
vertical-align: middle;
|
|
@@ -572,6 +584,7 @@ input.blur {
|
|
|
572
584
|
vertical-align: middle;
|
|
573
585
|
border-start-end-radius: 0;
|
|
574
586
|
border-end-end-radius: 0;
|
|
587
|
+
margin-bottom: 0;
|
|
575
588
|
}
|
|
576
589
|
.blur + .button,
|
|
577
590
|
.blur + [type="button"] {
|