umap-project 2.7.2__py3-none-any.whl → 2.8.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.
- umap/__init__.py +1 -1
- umap/forms.py +4 -14
- umap/locale/am_ET/LC_MESSAGES/django.mo +0 -0
- umap/locale/am_ET/LC_MESSAGES/django.po +278 -151
- umap/locale/ar/LC_MESSAGES/django.mo +0 -0
- umap/locale/ar/LC_MESSAGES/django.po +335 -141
- umap/locale/bg/LC_MESSAGES/django.mo +0 -0
- umap/locale/bg/LC_MESSAGES/django.po +279 -152
- umap/locale/br/LC_MESSAGES/django.mo +0 -0
- umap/locale/br/LC_MESSAGES/django.po +95 -79
- umap/locale/ca/LC_MESSAGES/django.mo +0 -0
- umap/locale/ca/LC_MESSAGES/django.po +85 -68
- umap/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- umap/locale/cs_CZ/LC_MESSAGES/django.po +78 -66
- umap/locale/da/LC_MESSAGES/django.mo +0 -0
- umap/locale/da/LC_MESSAGES/django.po +280 -153
- umap/locale/de/LC_MESSAGES/django.mo +0 -0
- umap/locale/de/LC_MESSAGES/django.po +80 -64
- umap/locale/el/LC_MESSAGES/django.mo +0 -0
- umap/locale/el/LC_MESSAGES/django.po +82 -66
- umap/locale/en/LC_MESSAGES/django.po +73 -61
- umap/locale/es/LC_MESSAGES/django.mo +0 -0
- umap/locale/es/LC_MESSAGES/django.po +75 -63
- umap/locale/et/LC_MESSAGES/django.mo +0 -0
- umap/locale/et/LC_MESSAGES/django.po +280 -153
- umap/locale/eu/LC_MESSAGES/django.mo +0 -0
- umap/locale/eu/LC_MESSAGES/django.po +82 -66
- umap/locale/fa_IR/LC_MESSAGES/django.mo +0 -0
- umap/locale/fa_IR/LC_MESSAGES/django.po +80 -64
- umap/locale/fi/LC_MESSAGES/django.mo +0 -0
- umap/locale/fi/LC_MESSAGES/django.po +278 -151
- umap/locale/fr/LC_MESSAGES/django.mo +0 -0
- umap/locale/fr/LC_MESSAGES/django.po +75 -63
- umap/locale/gl/LC_MESSAGES/django.mo +0 -0
- umap/locale/gl/LC_MESSAGES/django.po +280 -153
- umap/locale/he/LC_MESSAGES/django.mo +0 -0
- umap/locale/he/LC_MESSAGES/django.po +281 -154
- umap/locale/hu/LC_MESSAGES/django.mo +0 -0
- umap/locale/hu/LC_MESSAGES/django.po +80 -64
- umap/locale/is/LC_MESSAGES/django.mo +0 -0
- umap/locale/is/LC_MESSAGES/django.po +280 -153
- umap/locale/it/LC_MESSAGES/django.mo +0 -0
- umap/locale/it/LC_MESSAGES/django.po +82 -66
- umap/locale/ja/LC_MESSAGES/django.mo +0 -0
- umap/locale/ja/LC_MESSAGES/django.po +280 -153
- umap/locale/ko/LC_MESSAGES/django.mo +0 -0
- umap/locale/ko/LC_MESSAGES/django.po +280 -153
- umap/locale/lt/LC_MESSAGES/django.mo +0 -0
- umap/locale/lt/LC_MESSAGES/django.po +280 -153
- umap/locale/ms/LC_MESSAGES/django.mo +0 -0
- umap/locale/ms/LC_MESSAGES/django.po +82 -66
- umap/locale/nl/LC_MESSAGES/django.mo +0 -0
- umap/locale/nl/LC_MESSAGES/django.po +280 -153
- umap/locale/pl/LC_MESSAGES/django.mo +0 -0
- umap/locale/pl/LC_MESSAGES/django.po +82 -66
- umap/locale/pt/LC_MESSAGES/django.mo +0 -0
- umap/locale/pt/LC_MESSAGES/django.po +75 -63
- umap/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- umap/locale/pt_BR/LC_MESSAGES/django.po +280 -153
- umap/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- umap/locale/pt_PT/LC_MESSAGES/django.po +280 -153
- umap/locale/ru/LC_MESSAGES/django.mo +0 -0
- umap/locale/ru/LC_MESSAGES/django.po +280 -153
- umap/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
- umap/locale/sk_SK/LC_MESSAGES/django.po +280 -153
- umap/locale/sl/LC_MESSAGES/django.mo +0 -0
- umap/locale/sl/LC_MESSAGES/django.po +280 -153
- umap/locale/sr/LC_MESSAGES/django.mo +0 -0
- umap/locale/sr/LC_MESSAGES/django.po +280 -153
- umap/locale/sv/LC_MESSAGES/django.mo +0 -0
- umap/locale/sv/LC_MESSAGES/django.po +81 -65
- umap/locale/th_TH/LC_MESSAGES/django.mo +0 -0
- umap/locale/th_TH/LC_MESSAGES/django.po +257 -185
- umap/locale/tr/LC_MESSAGES/django.mo +0 -0
- umap/locale/tr/LC_MESSAGES/django.po +280 -153
- umap/locale/uk_UA/LC_MESSAGES/django.mo +0 -0
- umap/locale/uk_UA/LC_MESSAGES/django.po +280 -153
- umap/locale/vi/LC_MESSAGES/django.mo +0 -0
- umap/locale/vi/LC_MESSAGES/django.po +278 -151
- umap/locale/zh/LC_MESSAGES/django.mo +0 -0
- umap/locale/zh/LC_MESSAGES/django.po +278 -151
- umap/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
- umap/locale/zh_TW/LC_MESSAGES/django.po +97 -81
- umap/management/commands/empty_trash.py +35 -0
- umap/management/commands/migrate_to_S3.py +29 -0
- umap/migrations/0023_alter_datalayer_uuid.py +19 -0
- umap/migrations/0024_alter_map_share_status.py +30 -0
- umap/migrations/0025_alter_datalayer_geojson.py +24 -0
- umap/models.py +68 -116
- umap/settings/base.py +23 -3
- umap/settings/local_s3.py +45 -0
- umap/static/umap/base.css +3 -603
- umap/static/umap/content.css +5 -3
- umap/static/umap/css/bar.css +202 -0
- umap/static/umap/css/form.css +620 -0
- umap/static/umap/css/icon.css +21 -1
- umap/static/umap/css/popup.css +125 -0
- umap/static/umap/img/16-white.svg +16 -4
- umap/static/umap/img/16.svg +1 -1
- umap/static/umap/img/source/16-white.svg +46 -45
- umap/static/umap/img/source/16.svg +1 -753
- umap/static/umap/js/components/fragment.js +3 -1
- umap/static/umap/js/modules/browser.js +20 -19
- umap/static/umap/js/modules/caption.js +21 -22
- umap/static/umap/js/modules/data/features.js +120 -78
- umap/static/umap/js/modules/data/layer.js +195 -153
- umap/static/umap/js/modules/facets.js +9 -9
- umap/static/umap/js/modules/formatter.js +5 -5
- umap/static/umap/js/modules/global.js +4 -52
- umap/static/umap/js/modules/help.js +18 -21
- umap/static/umap/js/modules/importer.js +133 -56
- umap/static/umap/js/modules/importers/cadastrefr.js +4 -0
- umap/static/umap/js/modules/importers/geodatamine.js +3 -3
- umap/static/umap/js/modules/importers/overpass.js +5 -0
- umap/static/umap/js/modules/permissions.js +85 -87
- umap/static/umap/js/modules/rendering/icon.js +2 -1
- umap/static/umap/js/modules/rendering/layers/base.js +15 -15
- umap/static/umap/js/modules/rendering/layers/classified.js +1 -1
- umap/static/umap/js/modules/rendering/layers/cluster.js +1 -1
- umap/static/umap/js/modules/rendering/layers/heat.js +1 -1
- umap/static/umap/js/modules/rendering/map.js +390 -0
- umap/static/umap/js/modules/rendering/popup.js +19 -19
- umap/static/umap/js/modules/rendering/template.js +88 -21
- umap/static/umap/js/modules/rendering/ui.js +63 -14
- umap/static/umap/js/modules/request.js +2 -2
- umap/static/umap/js/modules/rules.js +22 -25
- umap/static/umap/js/modules/saving.js +47 -0
- umap/static/umap/js/modules/schema.js +6 -0
- umap/static/umap/js/modules/share.js +21 -24
- umap/static/umap/js/modules/slideshow.js +24 -20
- umap/static/umap/js/modules/sync/updaters.js +7 -9
- umap/static/umap/js/modules/tableeditor.js +20 -19
- umap/static/umap/js/modules/ui/bar.js +196 -0
- umap/static/umap/js/modules/ui/dialog.js +6 -1
- umap/static/umap/js/modules/ui/panel.js +10 -9
- umap/static/umap/js/modules/umap.js +1691 -0
- umap/static/umap/js/modules/urls.js +2 -2
- umap/static/umap/js/modules/utils.js +22 -6
- umap/static/umap/js/umap.controls.js +81 -305
- umap/static/umap/js/umap.core.js +29 -50
- umap/static/umap/js/umap.forms.js +78 -27
- umap/static/umap/keycloak.png +0 -0
- umap/static/umap/locale/am_ET.js +26 -10
- umap/static/umap/locale/am_ET.json +26 -10
- umap/static/umap/locale/ar.js +26 -10
- umap/static/umap/locale/ar.json +26 -10
- umap/static/umap/locale/ast.js +26 -10
- umap/static/umap/locale/ast.json +26 -10
- umap/static/umap/locale/bg.js +26 -10
- umap/static/umap/locale/bg.json +26 -10
- umap/static/umap/locale/br.js +27 -20
- umap/static/umap/locale/br.json +27 -20
- umap/static/umap/locale/ca.js +32 -29
- umap/static/umap/locale/ca.json +32 -29
- umap/static/umap/locale/cs_CZ.js +24 -17
- umap/static/umap/locale/cs_CZ.json +24 -17
- umap/static/umap/locale/da.js +26 -10
- umap/static/umap/locale/da.json +26 -10
- umap/static/umap/locale/de.js +21 -14
- umap/static/umap/locale/de.json +21 -14
- umap/static/umap/locale/el.js +28 -12
- umap/static/umap/locale/el.json +28 -12
- umap/static/umap/locale/en.js +14 -9
- umap/static/umap/locale/en.json +14 -9
- umap/static/umap/locale/en_US.json +26 -10
- umap/static/umap/locale/es.js +16 -13
- umap/static/umap/locale/es.json +16 -13
- umap/static/umap/locale/et.js +26 -10
- umap/static/umap/locale/et.json +26 -10
- umap/static/umap/locale/eu.js +16 -9
- umap/static/umap/locale/eu.json +16 -9
- umap/static/umap/locale/fa_IR.js +16 -9
- umap/static/umap/locale/fa_IR.json +16 -9
- umap/static/umap/locale/fi.js +26 -10
- umap/static/umap/locale/fi.json +26 -10
- umap/static/umap/locale/fr.js +14 -9
- umap/static/umap/locale/fr.json +14 -9
- umap/static/umap/locale/gl.js +26 -10
- umap/static/umap/locale/gl.json +26 -10
- umap/static/umap/locale/he.js +26 -10
- umap/static/umap/locale/he.json +26 -10
- umap/static/umap/locale/hr.js +26 -10
- umap/static/umap/locale/hr.json +26 -10
- umap/static/umap/locale/hu.js +16 -9
- umap/static/umap/locale/hu.json +16 -9
- umap/static/umap/locale/id.js +26 -10
- umap/static/umap/locale/id.json +26 -10
- umap/static/umap/locale/is.js +26 -10
- umap/static/umap/locale/is.json +26 -10
- umap/static/umap/locale/it.js +26 -10
- umap/static/umap/locale/it.json +26 -10
- umap/static/umap/locale/ja.js +26 -10
- umap/static/umap/locale/ja.json +26 -10
- umap/static/umap/locale/ko.js +26 -10
- umap/static/umap/locale/ko.json +26 -10
- umap/static/umap/locale/lt.js +26 -10
- umap/static/umap/locale/lt.json +26 -10
- umap/static/umap/locale/ms.js +28 -12
- umap/static/umap/locale/ms.json +28 -12
- umap/static/umap/locale/nl.js +28 -12
- umap/static/umap/locale/nl.json +28 -12
- umap/static/umap/locale/no.js +26 -10
- umap/static/umap/locale/no.json +26 -10
- umap/static/umap/locale/pl.js +28 -12
- umap/static/umap/locale/pl.json +28 -12
- umap/static/umap/locale/pl_PL.json +26 -10
- umap/static/umap/locale/pt.js +16 -9
- umap/static/umap/locale/pt.json +16 -9
- umap/static/umap/locale/pt_BR.js +26 -10
- umap/static/umap/locale/pt_BR.json +26 -10
- umap/static/umap/locale/pt_PT.js +16 -9
- umap/static/umap/locale/pt_PT.json +16 -9
- umap/static/umap/locale/ro.js +26 -10
- umap/static/umap/locale/ro.json +26 -10
- umap/static/umap/locale/ru.js +26 -10
- umap/static/umap/locale/ru.json +26 -10
- umap/static/umap/locale/si.js +7 -7
- umap/static/umap/locale/si.json +7 -7
- umap/static/umap/locale/sk_SK.js +26 -10
- umap/static/umap/locale/sk_SK.json +26 -10
- umap/static/umap/locale/sl.js +26 -10
- umap/static/umap/locale/sl.json +26 -10
- umap/static/umap/locale/sr.js +26 -10
- umap/static/umap/locale/sr.json +26 -10
- umap/static/umap/locale/sv.js +27 -11
- umap/static/umap/locale/sv.json +27 -11
- umap/static/umap/locale/th_TH.js +28 -12
- umap/static/umap/locale/th_TH.json +28 -12
- umap/static/umap/locale/tr.js +26 -10
- umap/static/umap/locale/tr.json +26 -10
- umap/static/umap/locale/uk_UA.js +26 -10
- umap/static/umap/locale/uk_UA.json +26 -10
- umap/static/umap/locale/vi.js +26 -10
- umap/static/umap/locale/vi.json +26 -10
- umap/static/umap/locale/vi_VN.json +26 -10
- umap/static/umap/locale/zh.js +26 -10
- umap/static/umap/locale/zh.json +26 -10
- umap/static/umap/locale/zh_CN.json +26 -10
- umap/static/umap/locale/zh_TW.Big5.json +26 -10
- umap/static/umap/locale/zh_TW.js +34 -27
- umap/static/umap/locale/zh_TW.json +34 -27
- umap/static/umap/map.css +39 -530
- umap/static/umap/unittests/URLs.js +15 -15
- umap/static/umap/unittests/utils.js +23 -1
- umap/static/umap/vars.css +2 -1
- umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +5 -1
- umap/storage/__init__.py +3 -0
- umap/storage/fs.py +101 -0
- umap/storage/s3.py +61 -0
- umap/templates/base.html +2 -0
- umap/templates/registration/login.html +7 -6
- umap/templates/umap/components/alerts/alert.html +4 -0
- umap/templates/umap/css.html +6 -0
- umap/templates/umap/js.html +3 -2
- umap/templates/umap/map_init.html +6 -5
- umap/templates/umap/user_dashboard.html +20 -19
- umap/tests/base.py +11 -1
- umap/tests/fixtures/empty_tile.png +0 -0
- umap/tests/fixtures/test_upload_simple_marker.json +19 -0
- umap/tests/integration/conftest.py +4 -1
- umap/tests/integration/test_anonymous_owned_map.py +18 -10
- umap/tests/integration/test_browser.py +16 -1
- umap/tests/integration/test_dashboard.py +1 -1
- umap/tests/integration/test_edit_datalayer.py +29 -7
- umap/tests/integration/test_import.py +28 -4
- umap/tests/integration/test_optimistic_merge.py +31 -8
- umap/tests/integration/test_owned_map.py +22 -16
- umap/tests/integration/test_popup.py +44 -0
- umap/tests/integration/test_save.py +35 -0
- umap/tests/integration/test_view_marker.py +12 -0
- umap/tests/integration/test_view_polyline.py +257 -0
- umap/tests/integration/test_websocket_sync.py +81 -9
- umap/tests/test_dashboard.py +82 -0
- umap/tests/test_datalayer.py +6 -7
- umap/tests/test_datalayer_s3.py +135 -0
- umap/tests/test_datalayer_views.py +28 -10
- umap/tests/test_empty_trash.py +34 -0
- umap/tests/test_map.py +12 -3
- umap/tests/test_map_views.py +69 -37
- umap/tests/test_statics.py +1 -1
- umap/tests/test_team_views.py +35 -1
- umap/tests/test_views.py +31 -52
- umap/urls.py +3 -3
- umap/views.py +126 -90
- {umap_project-2.7.2.dist-info → umap_project-2.8.0.dist-info}/METADATA +16 -14
- {umap_project-2.7.2.dist-info → umap_project-2.8.0.dist-info}/RECORD +290 -269
- {umap_project-2.7.2.dist-info → umap_project-2.8.0.dist-info}/WHEEL +1 -1
- umap/management/commands/purge_purgatory.py +0 -28
- umap/static/umap/js/umap.js +0 -1903
- umap/tests/test_purge_purgatory.py +0 -25
- /umap/{storage.py → storage/staticfiles.py} +0 -0
- {umap_project-2.7.2.dist-info → umap_project-2.8.0.dist-info}/entry_points.txt +0 -0
- {umap_project-2.7.2.dist-info → umap_project-2.8.0.dist-info}/licenses/LICENSE +0 -0
umap/static/umap/js/umap.core.js
CHANGED
|
@@ -25,48 +25,6 @@ L.Util.copyToClipboard = (textToCopy) => {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
L.Util.queryString = (name, fallback) => {
|
|
29
|
-
const decode = (s) => decodeURIComponent(s.replace(/\+/g, ' '))
|
|
30
|
-
const qs = window.location.search.slice(1).split('&')
|
|
31
|
-
const qa = {}
|
|
32
|
-
for (const i in qs) {
|
|
33
|
-
const key = qs[i].split('=')
|
|
34
|
-
if (!key) continue
|
|
35
|
-
qa[decode(key[0])] = key[1] ? decode(key[1]) : 1
|
|
36
|
-
}
|
|
37
|
-
return qa[name] || fallback
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
L.Util.booleanFromQueryString = (name) => {
|
|
41
|
-
const value = L.Util.queryString(name)
|
|
42
|
-
return value === '1' || value === 'true'
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
L.Util.setFromQueryString = (options, name) => {
|
|
46
|
-
const value = L.Util.queryString(name)
|
|
47
|
-
if (typeof value !== 'undefined') options[name] = value
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
L.Util.setBooleanFromQueryString = (options, name) => {
|
|
51
|
-
const value = L.Util.queryString(name)
|
|
52
|
-
if (typeof value !== 'undefined') options[name] = value === '1' || value === 'true'
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
L.Util.setNumberFromQueryString = (options, name) => {
|
|
56
|
-
const value = +L.Util.queryString(name)
|
|
57
|
-
if (!Number.isNaN(value)) options[name] = value
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
L.Util.setNullableBooleanFromQueryString = (options, name) => {
|
|
61
|
-
let value = L.Util.queryString(name)
|
|
62
|
-
if (typeof value !== 'undefined') {
|
|
63
|
-
if (value === 'null') value = null
|
|
64
|
-
else if (value === '0' || value === 'false') value = false
|
|
65
|
-
else value = true
|
|
66
|
-
options[name] = value
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
28
|
L.DomUtil.add = (tagName, className, container, content) => {
|
|
71
29
|
const el = L.DomUtil.create(tagName, className, container)
|
|
72
30
|
if (content) {
|
|
@@ -212,22 +170,43 @@ L.DomUtil.contrastWCAG21 = (rgb) => {
|
|
|
212
170
|
const contrast = (whiteLum + 0.05) / (lum + 0.05)
|
|
213
171
|
return contrast > 3 ? 1 : 0
|
|
214
172
|
}
|
|
173
|
+
L.DomUtil.colorNameToHex = (str) => {
|
|
174
|
+
const ctx = document.createElement('canvas').getContext('2d')
|
|
175
|
+
ctx.fillStyle = str
|
|
176
|
+
return ctx.fillStyle
|
|
177
|
+
}
|
|
178
|
+
L.DomUtil.hexToRGB = (hex) => {
|
|
179
|
+
return hex
|
|
180
|
+
.replace(
|
|
181
|
+
/^#?([a-f\d])([a-f\d])([a-f\d])$/i,
|
|
182
|
+
(m, r, g, b) => `#${r}${r}${g}${g}${b}${b}`
|
|
183
|
+
)
|
|
184
|
+
.substring(1)
|
|
185
|
+
.match(/.{2}/g)
|
|
186
|
+
.map((x) => Number.parseInt(x, 16))
|
|
187
|
+
}
|
|
215
188
|
|
|
216
189
|
const _CACHE_CONSTRAST = {}
|
|
217
190
|
L.DomUtil.contrastedColor = (el, bgcolor) => {
|
|
218
191
|
// Return 0 for black and 1 for white
|
|
219
192
|
// bgcolor is a human color, it can be a any keyword (purple…)
|
|
220
193
|
if (typeof _CACHE_CONSTRAST[bgcolor] !== 'undefined') return _CACHE_CONSTRAST[bgcolor]
|
|
221
|
-
let out = 0
|
|
222
194
|
let rgb = window.getComputedStyle(el).getPropertyValue('background-color')
|
|
223
195
|
rgb = L.DomUtil.RGBRegex.exec(rgb)
|
|
224
|
-
if (
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
196
|
+
if (rgb && rgb.length === 4) {
|
|
197
|
+
rgb = [
|
|
198
|
+
Number.parseInt(rgb[1], 10),
|
|
199
|
+
Number.parseInt(rgb[2], 10),
|
|
200
|
+
Number.parseInt(rgb[3], 10),
|
|
201
|
+
]
|
|
202
|
+
} else {
|
|
203
|
+
// The element may not yet be added to the DOM, so let's try
|
|
204
|
+
// another way
|
|
205
|
+
const hex = L.DomUtil.colorNameToHex(bgcolor)
|
|
206
|
+
rgb = L.DomUtil.hexToRGB(hex)
|
|
207
|
+
}
|
|
208
|
+
if (!rgb) return 1
|
|
209
|
+
const out = L.DomUtil.contrastWCAG21(rgb)
|
|
231
210
|
if (bgcolor) _CACHE_CONSTRAST[bgcolor] = out
|
|
232
211
|
return out
|
|
233
212
|
}
|
|
@@ -221,21 +221,16 @@ L.FormBuilder.Element.include({
|
|
|
221
221
|
this.label = L.DomUtil.create('label', '', this.getLabelParent())
|
|
222
222
|
this.label.textContent = this.label.title = this.options.label
|
|
223
223
|
if (this.options.helpEntries) {
|
|
224
|
-
this.builder.
|
|
224
|
+
this.builder._umap.help.button(this.label, this.options.helpEntries)
|
|
225
225
|
} else if (this.options.helpTooltip) {
|
|
226
226
|
const info = L.DomUtil.create('i', 'info', this.label)
|
|
227
|
-
L.DomEvent.on(
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
position: 'top',
|
|
235
|
-
})
|
|
236
|
-
},
|
|
237
|
-
this
|
|
238
|
-
)
|
|
227
|
+
L.DomEvent.on(info, 'mouseover', () => {
|
|
228
|
+
this.builder._umap.tooltip.open({
|
|
229
|
+
anchor: info,
|
|
230
|
+
content: this.options.helpTooltip,
|
|
231
|
+
position: 'top',
|
|
232
|
+
})
|
|
233
|
+
})
|
|
239
234
|
}
|
|
240
235
|
}
|
|
241
236
|
},
|
|
@@ -264,6 +259,35 @@ L.FormBuilder.CheckBox.include({
|
|
|
264
259
|
},
|
|
265
260
|
})
|
|
266
261
|
|
|
262
|
+
L.FormBuilder.EditableText = L.FormBuilder.Element.extend({
|
|
263
|
+
build: function () {
|
|
264
|
+
this.input = L.DomUtil.create('span', this.options.className || '', this.parentNode)
|
|
265
|
+
this.input.contentEditable = true
|
|
266
|
+
this.fetch()
|
|
267
|
+
L.DomEvent.on(this.input, 'input', this.sync, this)
|
|
268
|
+
L.DomEvent.on(this.input, 'keypress', this.onKeyPress, this)
|
|
269
|
+
},
|
|
270
|
+
|
|
271
|
+
getParentNode: function () {
|
|
272
|
+
return this.form
|
|
273
|
+
},
|
|
274
|
+
|
|
275
|
+
value: function () {
|
|
276
|
+
return this.input.textContent
|
|
277
|
+
},
|
|
278
|
+
|
|
279
|
+
fetch: function () {
|
|
280
|
+
this.input.textContent = this.toHTML()
|
|
281
|
+
},
|
|
282
|
+
|
|
283
|
+
onKeyPress: function (event) {
|
|
284
|
+
if (event.keyCode === 13) {
|
|
285
|
+
event.preventDefault()
|
|
286
|
+
this.input.blur()
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
})
|
|
290
|
+
|
|
267
291
|
L.FormBuilder.ColorPicker = L.FormBuilder.Input.extend({
|
|
268
292
|
colors: U.COLORS,
|
|
269
293
|
getParentNode: function () {
|
|
@@ -359,7 +383,7 @@ L.FormBuilder.SlideshowDelay = L.FormBuilder.IntSelect.extend({
|
|
|
359
383
|
L.FormBuilder.DataLayerSwitcher = L.FormBuilder.Select.extend({
|
|
360
384
|
getOptions: function () {
|
|
361
385
|
const options = []
|
|
362
|
-
this.builder.
|
|
386
|
+
this.builder._umap.eachDataLayerReverse((datalayer) => {
|
|
363
387
|
if (
|
|
364
388
|
datalayer.isLoaded() &&
|
|
365
389
|
!datalayer.isDataReadOnly() &&
|
|
@@ -376,11 +400,11 @@ L.FormBuilder.DataLayerSwitcher = L.FormBuilder.Select.extend({
|
|
|
376
400
|
},
|
|
377
401
|
|
|
378
402
|
toJS: function () {
|
|
379
|
-
return this.builder.
|
|
403
|
+
return this.builder._umap.datalayers[this.value()]
|
|
380
404
|
},
|
|
381
405
|
|
|
382
406
|
set: function () {
|
|
383
|
-
this.builder.
|
|
407
|
+
this.builder._umap.lastUsedDataLayer = this.toJS()
|
|
384
408
|
this.obj.changeDataLayer(this.toJS())
|
|
385
409
|
},
|
|
386
410
|
})
|
|
@@ -400,7 +424,7 @@ L.FormBuilder.DataFormat = L.FormBuilder.Select.extend({
|
|
|
400
424
|
L.FormBuilder.LicenceChooser = L.FormBuilder.Select.extend({
|
|
401
425
|
getOptions: function () {
|
|
402
426
|
const licences = []
|
|
403
|
-
const licencesList = this.builder.obj.
|
|
427
|
+
const licencesList = this.builder.obj.properties.licences
|
|
404
428
|
let licence
|
|
405
429
|
for (const i in licencesList) {
|
|
406
430
|
licence = licencesList[i]
|
|
@@ -410,11 +434,11 @@ L.FormBuilder.LicenceChooser = L.FormBuilder.Select.extend({
|
|
|
410
434
|
},
|
|
411
435
|
|
|
412
436
|
toHTML: function () {
|
|
413
|
-
return this.get()
|
|
437
|
+
return this.get()?.name
|
|
414
438
|
},
|
|
415
439
|
|
|
416
440
|
toJS: function () {
|
|
417
|
-
return this.builder.obj.
|
|
441
|
+
return this.builder.obj.properties.licences[this.value()]
|
|
418
442
|
},
|
|
419
443
|
})
|
|
420
444
|
|
|
@@ -453,6 +477,17 @@ L.FormBuilder.BlurInput.include({
|
|
|
453
477
|
},
|
|
454
478
|
})
|
|
455
479
|
|
|
480
|
+
// Adds an autocomplete using all available user defined properties
|
|
481
|
+
L.FormBuilder.PropertyInput = L.FormBuilder.BlurInput.extend({
|
|
482
|
+
build: function () {
|
|
483
|
+
L.FormBuilder.BlurInput.prototype.build.call(this)
|
|
484
|
+
const autocomplete = new U.AutocompleteDatalist(this.input)
|
|
485
|
+
// Will be used on Umap and DataLayer
|
|
486
|
+
const properties = this.builder.obj.allProperties()
|
|
487
|
+
autocomplete.suggestions = properties
|
|
488
|
+
},
|
|
489
|
+
})
|
|
490
|
+
|
|
456
491
|
L.FormBuilder.IconUrl = L.FormBuilder.BlurInput.extend({
|
|
457
492
|
type: () => 'hidden',
|
|
458
493
|
|
|
@@ -469,8 +504,8 @@ L.FormBuilder.IconUrl = L.FormBuilder.BlurInput.extend({
|
|
|
469
504
|
onDefine: async function () {
|
|
470
505
|
this.buttons.innerHTML = ''
|
|
471
506
|
this.footer.innerHTML = ''
|
|
472
|
-
const [{ pictogram_list }, response, error] = await this.builder.
|
|
473
|
-
this.builder.
|
|
507
|
+
const [{ pictogram_list }, response, error] = await this.builder._umap.server.get(
|
|
508
|
+
this.builder._umap.properties.urls.pictogram_list_json
|
|
474
509
|
)
|
|
475
510
|
if (!error) this.pictogram_list = pictogram_list
|
|
476
511
|
this.buildTabs()
|
|
@@ -616,7 +651,7 @@ L.FormBuilder.IconUrl = L.FormBuilder.BlurInput.extend({
|
|
|
616
651
|
categories[category].push(props)
|
|
617
652
|
}
|
|
618
653
|
const sorted = Object.entries(categories).toSorted(([a], [b]) =>
|
|
619
|
-
U.Utils.naturalSort(a, b,
|
|
654
|
+
U.Utils.naturalSort(a, b, U.lang)
|
|
620
655
|
)
|
|
621
656
|
for (const [name, items] of sorted) {
|
|
622
657
|
this.addCategory(items, name)
|
|
@@ -1115,10 +1150,11 @@ U.FormBuilder = L.FormBuilder.extend({
|
|
|
1115
1150
|
},
|
|
1116
1151
|
|
|
1117
1152
|
customHandlers: {
|
|
1118
|
-
sortKey: '
|
|
1153
|
+
sortKey: 'PropertyInput',
|
|
1119
1154
|
easing: 'Switch',
|
|
1120
|
-
facetKey: '
|
|
1121
|
-
slugKey: '
|
|
1155
|
+
facetKey: 'PropertyInput',
|
|
1156
|
+
slugKey: 'PropertyInput',
|
|
1157
|
+
labelKey: 'PropertyInput',
|
|
1122
1158
|
},
|
|
1123
1159
|
|
|
1124
1160
|
computeDefaultOptions: function () {
|
|
@@ -1167,8 +1203,8 @@ U.FormBuilder = L.FormBuilder.extend({
|
|
|
1167
1203
|
}
|
|
1168
1204
|
},
|
|
1169
1205
|
|
|
1170
|
-
initialize: function (obj, fields, options) {
|
|
1171
|
-
this.
|
|
1206
|
+
initialize: function (obj, fields, options = {}) {
|
|
1207
|
+
this._umap = obj._umap || options.umap
|
|
1172
1208
|
this.computeDefaultOptions()
|
|
1173
1209
|
L.FormBuilder.prototype.initialize.call(this, obj, fields, options)
|
|
1174
1210
|
this.on('finish', this.finish)
|
|
@@ -1185,6 +1221,21 @@ U.FormBuilder = L.FormBuilder.extend({
|
|
|
1185
1221
|
}
|
|
1186
1222
|
},
|
|
1187
1223
|
|
|
1224
|
+
getter: function (field) {
|
|
1225
|
+
const path = field.split('.')
|
|
1226
|
+
let value = this.obj
|
|
1227
|
+
let sub
|
|
1228
|
+
for (sub of path) {
|
|
1229
|
+
try {
|
|
1230
|
+
value = value[sub]
|
|
1231
|
+
} catch {
|
|
1232
|
+
console.log(field)
|
|
1233
|
+
}
|
|
1234
|
+
}
|
|
1235
|
+
if (value === undefined) values = U.SCHEMA[sub]?.default
|
|
1236
|
+
return value
|
|
1237
|
+
},
|
|
1238
|
+
|
|
1188
1239
|
finish: (event) => {
|
|
1189
1240
|
event.helper?.input?.blur()
|
|
1190
1241
|
},
|
|
Binary file
|
umap/static/umap/locale/am_ET.js
CHANGED
|
@@ -183,12 +183,12 @@ const locale = {
|
|
|
183
183
|
"Icon shape": "Icon shape",
|
|
184
184
|
"Icon symbol": "Icon symbol",
|
|
185
185
|
"If false, the polygon or line will act as a part of the underlying map.": "If false, the polygon or line will act as a part of the underlying map.",
|
|
186
|
-
"Iframe with custom height (in px): {{{
|
|
187
|
-
"Iframe with custom height and width (in px): {{{
|
|
186
|
+
"Iframe with custom height (in px): {{{https://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{https://iframe.url.com|height}}}",
|
|
187
|
+
"Iframe with custom height and width (in px): {{{https://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{https://iframe.url.com|height*width}}}",
|
|
188
188
|
"iframe": "iframe",
|
|
189
|
-
"Iframe: {{{
|
|
190
|
-
"Image with custom width (in px): {{
|
|
191
|
-
"Image: {{
|
|
189
|
+
"Iframe: {{{https://iframe.url.com}}}": "Iframe: {{{https://iframe.url.com}}}",
|
|
190
|
+
"Image with custom width (in px): {{https://image.url.com|width}}": "Image with custom width (in px): {{https://image.url.com|width}}",
|
|
191
|
+
"Image: {{https://image.url.com}}": "Image: {{https://image.url.com}}",
|
|
192
192
|
"Import data": "መረጃ አምጣ",
|
|
193
193
|
"Import in a new layer": "አዲስ ሌየር አምጣ",
|
|
194
194
|
"Imports all umap data, including layers and settings.": "ሌየር እና ሁኔታዎቹን ጨምሮ ሁሉንም የዩማፕ መረጃ ያመጣል",
|
|
@@ -216,7 +216,7 @@ const locale = {
|
|
|
216
216
|
"Limit bounds": "መድረሻዎቹን ምረጥ",
|
|
217
217
|
"Link to view the map": "Link to view the map",
|
|
218
218
|
"Link to…": "Link to…",
|
|
219
|
-
"Link with text: [[
|
|
219
|
+
"Link with text: [[https://example.com|text of the link]]": "Link with text: [[https://example.com|text of the link]]",
|
|
220
220
|
"Long credits": "ክሬዲቶች በመጫን ላይ",
|
|
221
221
|
"Longitude": "ሎንጊትዩድ",
|
|
222
222
|
"Make main shape": "ዋና ቅርፅ አድርግ",
|
|
@@ -320,7 +320,7 @@ const locale = {
|
|
|
320
320
|
"Show this layer in the caption": "Show this layer in the caption",
|
|
321
321
|
"Show/hide layer": "ሌየሩን አሳይ/ደብቅ",
|
|
322
322
|
"Side panel": "የጎን ፓኔል",
|
|
323
|
-
"Simple link: [[
|
|
323
|
+
"Simple link: [[https://example.com]]": "Simple link: [[https://example.com]]",
|
|
324
324
|
"Simplify": "Simplify",
|
|
325
325
|
"Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}",
|
|
326
326
|
"Slideshow": "ስላይድሾው",
|
|
@@ -445,7 +445,6 @@ const locale = {
|
|
|
445
445
|
"More info about Overpass syntax": "More info about Overpass syntax",
|
|
446
446
|
"For more complex needs, see": "For more complex needs, see",
|
|
447
447
|
"Choose data": "Choose data",
|
|
448
|
-
"Import helpers:": "Import helpers:",
|
|
449
448
|
"Choose the format": "Choose the format",
|
|
450
449
|
"Choose the layer": "Choose the layer",
|
|
451
450
|
"Layer name": "Layer name",
|
|
@@ -477,7 +476,6 @@ const locale = {
|
|
|
477
476
|
"Search area": "Search area",
|
|
478
477
|
"Type area name, or let empty to load data in current map view": "Type area name, or let empty to load data in current map view",
|
|
479
478
|
"Data successfully imported!": "Data successfully imported!",
|
|
480
|
-
"My Dashboard ({username})": "My Dashboard ({username})",
|
|
481
479
|
"Clear data": "Clear data",
|
|
482
480
|
"Remove layers": "Remove layers",
|
|
483
481
|
"Categorized": "Categorized",
|
|
@@ -504,7 +502,25 @@ const locale = {
|
|
|
504
502
|
"Property name to compute circles": "Property name to compute circles",
|
|
505
503
|
"Min circle radius": "Min circle radius",
|
|
506
504
|
"Max circle radius": "Max circle radius",
|
|
507
|
-
"Display the open browser control": "Display the open browser control"
|
|
505
|
+
"Display the open browser control": "Display the open browser control",
|
|
506
|
+
"Copy as GeoJSON": "Copy as GeoJSON",
|
|
507
|
+
"Please zoom in to edit the geometry": "Please zoom in to edit the geometry",
|
|
508
|
+
"New map": "New map",
|
|
509
|
+
"My maps": "My maps",
|
|
510
|
+
"My teams": "My teams",
|
|
511
|
+
"My profile": "My profile",
|
|
512
|
+
"Type new owner's username": "Type new owner's username",
|
|
513
|
+
"Type editor's username": "Type editor's username",
|
|
514
|
+
"Map": "Map",
|
|
515
|
+
"Manage collaborators": "Manage collaborators",
|
|
516
|
+
"show/hide all layers": "show/hide all layers",
|
|
517
|
+
"zoom to data extent": "zoom to data extent",
|
|
518
|
+
"download visible data": "download visible data",
|
|
519
|
+
"{connectedPeers} peer(s) currently connected to this map": "{connectedPeers} peer(s) currently connected to this map",
|
|
520
|
+
"Import helpers": "Import helpers",
|
|
521
|
+
"Import helpers will fill the URL field for you.": "Import helpers will fill the URL field for you.",
|
|
522
|
+
"Wikipedia": "Wikipedia",
|
|
523
|
+
"Save draft": "Save draft"
|
|
508
524
|
}
|
|
509
525
|
L.registerLocale("am_ET", locale)
|
|
510
526
|
L.setLocale("am_ET")
|
|
@@ -183,12 +183,12 @@
|
|
|
183
183
|
"Icon shape": "Icon shape",
|
|
184
184
|
"Icon symbol": "Icon symbol",
|
|
185
185
|
"If false, the polygon or line will act as a part of the underlying map.": "If false, the polygon or line will act as a part of the underlying map.",
|
|
186
|
-
"Iframe with custom height (in px): {{{
|
|
187
|
-
"Iframe with custom height and width (in px): {{{
|
|
186
|
+
"Iframe with custom height (in px): {{{https://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{https://iframe.url.com|height}}}",
|
|
187
|
+
"Iframe with custom height and width (in px): {{{https://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{https://iframe.url.com|height*width}}}",
|
|
188
188
|
"iframe": "iframe",
|
|
189
|
-
"Iframe: {{{
|
|
190
|
-
"Image with custom width (in px): {{
|
|
191
|
-
"Image: {{
|
|
189
|
+
"Iframe: {{{https://iframe.url.com}}}": "Iframe: {{{https://iframe.url.com}}}",
|
|
190
|
+
"Image with custom width (in px): {{https://image.url.com|width}}": "Image with custom width (in px): {{https://image.url.com|width}}",
|
|
191
|
+
"Image: {{https://image.url.com}}": "Image: {{https://image.url.com}}",
|
|
192
192
|
"Import data": "መረጃ አምጣ",
|
|
193
193
|
"Import in a new layer": "አዲስ ሌየር አምጣ",
|
|
194
194
|
"Imports all umap data, including layers and settings.": "ሌየር እና ሁኔታዎቹን ጨምሮ ሁሉንም የዩማፕ መረጃ ያመጣል",
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
"Limit bounds": "መድረሻዎቹን ምረጥ",
|
|
217
217
|
"Link to view the map": "Link to view the map",
|
|
218
218
|
"Link to…": "Link to…",
|
|
219
|
-
"Link with text: [[
|
|
219
|
+
"Link with text: [[https://example.com|text of the link]]": "Link with text: [[https://example.com|text of the link]]",
|
|
220
220
|
"Long credits": "ክሬዲቶች በመጫን ላይ",
|
|
221
221
|
"Longitude": "ሎንጊትዩድ",
|
|
222
222
|
"Make main shape": "ዋና ቅርፅ አድርግ",
|
|
@@ -320,7 +320,7 @@
|
|
|
320
320
|
"Show this layer in the caption": "Show this layer in the caption",
|
|
321
321
|
"Show/hide layer": "ሌየሩን አሳይ/ደብቅ",
|
|
322
322
|
"Side panel": "የጎን ፓኔል",
|
|
323
|
-
"Simple link: [[
|
|
323
|
+
"Simple link: [[https://example.com]]": "Simple link: [[https://example.com]]",
|
|
324
324
|
"Simplify": "Simplify",
|
|
325
325
|
"Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}",
|
|
326
326
|
"Slideshow": "ስላይድሾው",
|
|
@@ -445,7 +445,6 @@
|
|
|
445
445
|
"More info about Overpass syntax": "More info about Overpass syntax",
|
|
446
446
|
"For more complex needs, see": "For more complex needs, see",
|
|
447
447
|
"Choose data": "Choose data",
|
|
448
|
-
"Import helpers:": "Import helpers:",
|
|
449
448
|
"Choose the format": "Choose the format",
|
|
450
449
|
"Choose the layer": "Choose the layer",
|
|
451
450
|
"Layer name": "Layer name",
|
|
@@ -477,7 +476,6 @@
|
|
|
477
476
|
"Search area": "Search area",
|
|
478
477
|
"Type area name, or let empty to load data in current map view": "Type area name, or let empty to load data in current map view",
|
|
479
478
|
"Data successfully imported!": "Data successfully imported!",
|
|
480
|
-
"My Dashboard ({username})": "My Dashboard ({username})",
|
|
481
479
|
"Clear data": "Clear data",
|
|
482
480
|
"Remove layers": "Remove layers",
|
|
483
481
|
"Categorized": "Categorized",
|
|
@@ -504,5 +502,23 @@
|
|
|
504
502
|
"Property name to compute circles": "Property name to compute circles",
|
|
505
503
|
"Min circle radius": "Min circle radius",
|
|
506
504
|
"Max circle radius": "Max circle radius",
|
|
507
|
-
"Display the open browser control": "Display the open browser control"
|
|
505
|
+
"Display the open browser control": "Display the open browser control",
|
|
506
|
+
"Copy as GeoJSON": "Copy as GeoJSON",
|
|
507
|
+
"Please zoom in to edit the geometry": "Please zoom in to edit the geometry",
|
|
508
|
+
"New map": "New map",
|
|
509
|
+
"My maps": "My maps",
|
|
510
|
+
"My teams": "My teams",
|
|
511
|
+
"My profile": "My profile",
|
|
512
|
+
"Type new owner's username": "Type new owner's username",
|
|
513
|
+
"Type editor's username": "Type editor's username",
|
|
514
|
+
"Map": "Map",
|
|
515
|
+
"Manage collaborators": "Manage collaborators",
|
|
516
|
+
"show/hide all layers": "show/hide all layers",
|
|
517
|
+
"zoom to data extent": "zoom to data extent",
|
|
518
|
+
"download visible data": "download visible data",
|
|
519
|
+
"{connectedPeers} peer(s) currently connected to this map": "{connectedPeers} peer(s) currently connected to this map",
|
|
520
|
+
"Import helpers": "Import helpers",
|
|
521
|
+
"Import helpers will fill the URL field for you.": "Import helpers will fill the URL field for you.",
|
|
522
|
+
"Wikipedia": "Wikipedia",
|
|
523
|
+
"Save draft": "Save draft"
|
|
508
524
|
}
|
umap/static/umap/locale/ar.js
CHANGED
|
@@ -183,12 +183,12 @@ const locale = {
|
|
|
183
183
|
"Icon shape": "Icon shape",
|
|
184
184
|
"Icon symbol": "Icon symbol",
|
|
185
185
|
"If false, the polygon or line will act as a part of the underlying map.": "If false, the polygon or line will act as a part of the underlying map.",
|
|
186
|
-
"Iframe with custom height (in px): {{{
|
|
187
|
-
"Iframe with custom height and width (in px): {{{
|
|
186
|
+
"Iframe with custom height (in px): {{{https://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{https://iframe.url.com|height}}}",
|
|
187
|
+
"Iframe with custom height and width (in px): {{{https://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{https://iframe.url.com|height*width}}}",
|
|
188
188
|
"iframe": "iframe",
|
|
189
|
-
"Iframe: {{{
|
|
190
|
-
"Image with custom width (in px): {{
|
|
191
|
-
"Image: {{
|
|
189
|
+
"Iframe: {{{https://iframe.url.com}}}": "Iframe: {{{https://iframe.url.com}}}",
|
|
190
|
+
"Image with custom width (in px): {{https://image.url.com|width}}": "Image with custom width (in px): {{https://image.url.com|width}}",
|
|
191
|
+
"Image: {{https://image.url.com}}": "Image: {{https://image.url.com}}",
|
|
192
192
|
"Import data": "Import data",
|
|
193
193
|
"Import in a new layer": "Import in a new layer",
|
|
194
194
|
"Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.",
|
|
@@ -216,7 +216,7 @@ const locale = {
|
|
|
216
216
|
"Limit bounds": "Limit bounds",
|
|
217
217
|
"Link to view the map": "Link to view the map",
|
|
218
218
|
"Link to…": "الرابط إلى...",
|
|
219
|
-
"Link with text: [[
|
|
219
|
+
"Link with text: [[https://example.com|text of the link]]": "Link with text: [[https://example.com|text of the link]]",
|
|
220
220
|
"Long credits": "Long credits",
|
|
221
221
|
"Longitude": "Longitude",
|
|
222
222
|
"Make main shape": "Make main shape",
|
|
@@ -320,7 +320,7 @@ const locale = {
|
|
|
320
320
|
"Show this layer in the caption": "Show this layer in the caption",
|
|
321
321
|
"Show/hide layer": "Show/hide layer",
|
|
322
322
|
"Side panel": "لوحة جانبية",
|
|
323
|
-
"Simple link: [[
|
|
323
|
+
"Simple link: [[https://example.com]]": "Simple link: [[https://example.com]]",
|
|
324
324
|
"Simplify": "بسّط",
|
|
325
325
|
"Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}",
|
|
326
326
|
"Slideshow": "Slideshow",
|
|
@@ -445,7 +445,6 @@ const locale = {
|
|
|
445
445
|
"More info about Overpass syntax": "More info about Overpass syntax",
|
|
446
446
|
"For more complex needs, see": "For more complex needs, see",
|
|
447
447
|
"Choose data": "Choose data",
|
|
448
|
-
"Import helpers:": "Import helpers:",
|
|
449
448
|
"Choose the format": "Choose the format",
|
|
450
449
|
"Choose the layer": "Choose the layer",
|
|
451
450
|
"Layer name": "Layer name",
|
|
@@ -477,7 +476,6 @@ const locale = {
|
|
|
477
476
|
"Search area": "Search area",
|
|
478
477
|
"Type area name, or let empty to load data in current map view": "Type area name, or let empty to load data in current map view",
|
|
479
478
|
"Data successfully imported!": "Data successfully imported!",
|
|
480
|
-
"My Dashboard ({username})": "My Dashboard ({username})",
|
|
481
479
|
"Clear data": "Clear data",
|
|
482
480
|
"Remove layers": "Remove layers",
|
|
483
481
|
"Categorized": "Categorized",
|
|
@@ -504,7 +502,25 @@ const locale = {
|
|
|
504
502
|
"Property name to compute circles": "Property name to compute circles",
|
|
505
503
|
"Min circle radius": "Min circle radius",
|
|
506
504
|
"Max circle radius": "Max circle radius",
|
|
507
|
-
"Display the open browser control": "Display the open browser control"
|
|
505
|
+
"Display the open browser control": "Display the open browser control",
|
|
506
|
+
"Copy as GeoJSON": "Copy as GeoJSON",
|
|
507
|
+
"Please zoom in to edit the geometry": "Please zoom in to edit the geometry",
|
|
508
|
+
"New map": "New map",
|
|
509
|
+
"My maps": "My maps",
|
|
510
|
+
"My teams": "My teams",
|
|
511
|
+
"My profile": "My profile",
|
|
512
|
+
"Type new owner's username": "Type new owner's username",
|
|
513
|
+
"Type editor's username": "Type editor's username",
|
|
514
|
+
"Map": "Map",
|
|
515
|
+
"Manage collaborators": "Manage collaborators",
|
|
516
|
+
"show/hide all layers": "show/hide all layers",
|
|
517
|
+
"zoom to data extent": "zoom to data extent",
|
|
518
|
+
"download visible data": "download visible data",
|
|
519
|
+
"{connectedPeers} peer(s) currently connected to this map": "{connectedPeers} peer(s) currently connected to this map",
|
|
520
|
+
"Import helpers": "Import helpers",
|
|
521
|
+
"Import helpers will fill the URL field for you.": "Import helpers will fill the URL field for you.",
|
|
522
|
+
"Wikipedia": "Wikipedia",
|
|
523
|
+
"Save draft": "Save draft"
|
|
508
524
|
}
|
|
509
525
|
L.registerLocale("ar", locale)
|
|
510
526
|
L.setLocale("ar")
|
umap/static/umap/locale/ar.json
CHANGED
|
@@ -183,12 +183,12 @@
|
|
|
183
183
|
"Icon shape": "Icon shape",
|
|
184
184
|
"Icon symbol": "Icon symbol",
|
|
185
185
|
"If false, the polygon or line will act as a part of the underlying map.": "If false, the polygon or line will act as a part of the underlying map.",
|
|
186
|
-
"Iframe with custom height (in px): {{{
|
|
187
|
-
"Iframe with custom height and width (in px): {{{
|
|
186
|
+
"Iframe with custom height (in px): {{{https://iframe.url.com|height}}}": "Iframe with custom height (in px): {{{https://iframe.url.com|height}}}",
|
|
187
|
+
"Iframe with custom height and width (in px): {{{https://iframe.url.com|height*width}}}": "Iframe with custom height and width (in px): {{{https://iframe.url.com|height*width}}}",
|
|
188
188
|
"iframe": "iframe",
|
|
189
|
-
"Iframe: {{{
|
|
190
|
-
"Image with custom width (in px): {{
|
|
191
|
-
"Image: {{
|
|
189
|
+
"Iframe: {{{https://iframe.url.com}}}": "Iframe: {{{https://iframe.url.com}}}",
|
|
190
|
+
"Image with custom width (in px): {{https://image.url.com|width}}": "Image with custom width (in px): {{https://image.url.com|width}}",
|
|
191
|
+
"Image: {{https://image.url.com}}": "Image: {{https://image.url.com}}",
|
|
192
192
|
"Import data": "Import data",
|
|
193
193
|
"Import in a new layer": "Import in a new layer",
|
|
194
194
|
"Imports all umap data, including layers and settings.": "Imports all umap data, including layers and settings.",
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
"Limit bounds": "Limit bounds",
|
|
217
217
|
"Link to view the map": "Link to view the map",
|
|
218
218
|
"Link to…": "الرابط إلى...",
|
|
219
|
-
"Link with text: [[
|
|
219
|
+
"Link with text: [[https://example.com|text of the link]]": "Link with text: [[https://example.com|text of the link]]",
|
|
220
220
|
"Long credits": "Long credits",
|
|
221
221
|
"Longitude": "Longitude",
|
|
222
222
|
"Make main shape": "Make main shape",
|
|
@@ -320,7 +320,7 @@
|
|
|
320
320
|
"Show this layer in the caption": "Show this layer in the caption",
|
|
321
321
|
"Show/hide layer": "Show/hide layer",
|
|
322
322
|
"Side panel": "لوحة جانبية",
|
|
323
|
-
"Simple link: [[
|
|
323
|
+
"Simple link: [[https://example.com]]": "Simple link: [[https://example.com]]",
|
|
324
324
|
"Simplify": "بسّط",
|
|
325
325
|
"Skipping unknown geometry.type: {type}": "Skipping unknown geometry.type: {type}",
|
|
326
326
|
"Slideshow": "Slideshow",
|
|
@@ -445,7 +445,6 @@
|
|
|
445
445
|
"More info about Overpass syntax": "More info about Overpass syntax",
|
|
446
446
|
"For more complex needs, see": "For more complex needs, see",
|
|
447
447
|
"Choose data": "Choose data",
|
|
448
|
-
"Import helpers:": "Import helpers:",
|
|
449
448
|
"Choose the format": "Choose the format",
|
|
450
449
|
"Choose the layer": "Choose the layer",
|
|
451
450
|
"Layer name": "Layer name",
|
|
@@ -477,7 +476,6 @@
|
|
|
477
476
|
"Search area": "Search area",
|
|
478
477
|
"Type area name, or let empty to load data in current map view": "Type area name, or let empty to load data in current map view",
|
|
479
478
|
"Data successfully imported!": "Data successfully imported!",
|
|
480
|
-
"My Dashboard ({username})": "My Dashboard ({username})",
|
|
481
479
|
"Clear data": "Clear data",
|
|
482
480
|
"Remove layers": "Remove layers",
|
|
483
481
|
"Categorized": "Categorized",
|
|
@@ -504,5 +502,23 @@
|
|
|
504
502
|
"Property name to compute circles": "Property name to compute circles",
|
|
505
503
|
"Min circle radius": "Min circle radius",
|
|
506
504
|
"Max circle radius": "Max circle radius",
|
|
507
|
-
"Display the open browser control": "Display the open browser control"
|
|
505
|
+
"Display the open browser control": "Display the open browser control",
|
|
506
|
+
"Copy as GeoJSON": "Copy as GeoJSON",
|
|
507
|
+
"Please zoom in to edit the geometry": "Please zoom in to edit the geometry",
|
|
508
|
+
"New map": "New map",
|
|
509
|
+
"My maps": "My maps",
|
|
510
|
+
"My teams": "My teams",
|
|
511
|
+
"My profile": "My profile",
|
|
512
|
+
"Type new owner's username": "Type new owner's username",
|
|
513
|
+
"Type editor's username": "Type editor's username",
|
|
514
|
+
"Map": "Map",
|
|
515
|
+
"Manage collaborators": "Manage collaborators",
|
|
516
|
+
"show/hide all layers": "show/hide all layers",
|
|
517
|
+
"zoom to data extent": "zoom to data extent",
|
|
518
|
+
"download visible data": "download visible data",
|
|
519
|
+
"{connectedPeers} peer(s) currently connected to this map": "{connectedPeers} peer(s) currently connected to this map",
|
|
520
|
+
"Import helpers": "Import helpers",
|
|
521
|
+
"Import helpers will fill the URL field for you.": "Import helpers will fill the URL field for you.",
|
|
522
|
+
"Wikipedia": "Wikipedia",
|
|
523
|
+
"Save draft": "Save draft"
|
|
508
524
|
}
|