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.
Files changed (293) hide show
  1. umap/__init__.py +1 -1
  2. umap/forms.py +4 -14
  3. umap/locale/am_ET/LC_MESSAGES/django.mo +0 -0
  4. umap/locale/am_ET/LC_MESSAGES/django.po +278 -151
  5. umap/locale/ar/LC_MESSAGES/django.mo +0 -0
  6. umap/locale/ar/LC_MESSAGES/django.po +335 -141
  7. umap/locale/bg/LC_MESSAGES/django.mo +0 -0
  8. umap/locale/bg/LC_MESSAGES/django.po +279 -152
  9. umap/locale/br/LC_MESSAGES/django.mo +0 -0
  10. umap/locale/br/LC_MESSAGES/django.po +95 -79
  11. umap/locale/ca/LC_MESSAGES/django.mo +0 -0
  12. umap/locale/ca/LC_MESSAGES/django.po +85 -68
  13. umap/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  14. umap/locale/cs_CZ/LC_MESSAGES/django.po +78 -66
  15. umap/locale/da/LC_MESSAGES/django.mo +0 -0
  16. umap/locale/da/LC_MESSAGES/django.po +280 -153
  17. umap/locale/de/LC_MESSAGES/django.mo +0 -0
  18. umap/locale/de/LC_MESSAGES/django.po +80 -64
  19. umap/locale/el/LC_MESSAGES/django.mo +0 -0
  20. umap/locale/el/LC_MESSAGES/django.po +82 -66
  21. umap/locale/en/LC_MESSAGES/django.po +73 -61
  22. umap/locale/es/LC_MESSAGES/django.mo +0 -0
  23. umap/locale/es/LC_MESSAGES/django.po +75 -63
  24. umap/locale/et/LC_MESSAGES/django.mo +0 -0
  25. umap/locale/et/LC_MESSAGES/django.po +280 -153
  26. umap/locale/eu/LC_MESSAGES/django.mo +0 -0
  27. umap/locale/eu/LC_MESSAGES/django.po +82 -66
  28. umap/locale/fa_IR/LC_MESSAGES/django.mo +0 -0
  29. umap/locale/fa_IR/LC_MESSAGES/django.po +80 -64
  30. umap/locale/fi/LC_MESSAGES/django.mo +0 -0
  31. umap/locale/fi/LC_MESSAGES/django.po +278 -151
  32. umap/locale/fr/LC_MESSAGES/django.mo +0 -0
  33. umap/locale/fr/LC_MESSAGES/django.po +75 -63
  34. umap/locale/gl/LC_MESSAGES/django.mo +0 -0
  35. umap/locale/gl/LC_MESSAGES/django.po +280 -153
  36. umap/locale/he/LC_MESSAGES/django.mo +0 -0
  37. umap/locale/he/LC_MESSAGES/django.po +281 -154
  38. umap/locale/hu/LC_MESSAGES/django.mo +0 -0
  39. umap/locale/hu/LC_MESSAGES/django.po +80 -64
  40. umap/locale/is/LC_MESSAGES/django.mo +0 -0
  41. umap/locale/is/LC_MESSAGES/django.po +280 -153
  42. umap/locale/it/LC_MESSAGES/django.mo +0 -0
  43. umap/locale/it/LC_MESSAGES/django.po +82 -66
  44. umap/locale/ja/LC_MESSAGES/django.mo +0 -0
  45. umap/locale/ja/LC_MESSAGES/django.po +280 -153
  46. umap/locale/ko/LC_MESSAGES/django.mo +0 -0
  47. umap/locale/ko/LC_MESSAGES/django.po +280 -153
  48. umap/locale/lt/LC_MESSAGES/django.mo +0 -0
  49. umap/locale/lt/LC_MESSAGES/django.po +280 -153
  50. umap/locale/ms/LC_MESSAGES/django.mo +0 -0
  51. umap/locale/ms/LC_MESSAGES/django.po +82 -66
  52. umap/locale/nl/LC_MESSAGES/django.mo +0 -0
  53. umap/locale/nl/LC_MESSAGES/django.po +280 -153
  54. umap/locale/pl/LC_MESSAGES/django.mo +0 -0
  55. umap/locale/pl/LC_MESSAGES/django.po +82 -66
  56. umap/locale/pt/LC_MESSAGES/django.mo +0 -0
  57. umap/locale/pt/LC_MESSAGES/django.po +75 -63
  58. umap/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  59. umap/locale/pt_BR/LC_MESSAGES/django.po +280 -153
  60. umap/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  61. umap/locale/pt_PT/LC_MESSAGES/django.po +280 -153
  62. umap/locale/ru/LC_MESSAGES/django.mo +0 -0
  63. umap/locale/ru/LC_MESSAGES/django.po +280 -153
  64. umap/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  65. umap/locale/sk_SK/LC_MESSAGES/django.po +280 -153
  66. umap/locale/sl/LC_MESSAGES/django.mo +0 -0
  67. umap/locale/sl/LC_MESSAGES/django.po +280 -153
  68. umap/locale/sr/LC_MESSAGES/django.mo +0 -0
  69. umap/locale/sr/LC_MESSAGES/django.po +280 -153
  70. umap/locale/sv/LC_MESSAGES/django.mo +0 -0
  71. umap/locale/sv/LC_MESSAGES/django.po +81 -65
  72. umap/locale/th_TH/LC_MESSAGES/django.mo +0 -0
  73. umap/locale/th_TH/LC_MESSAGES/django.po +257 -185
  74. umap/locale/tr/LC_MESSAGES/django.mo +0 -0
  75. umap/locale/tr/LC_MESSAGES/django.po +280 -153
  76. umap/locale/uk_UA/LC_MESSAGES/django.mo +0 -0
  77. umap/locale/uk_UA/LC_MESSAGES/django.po +280 -153
  78. umap/locale/vi/LC_MESSAGES/django.mo +0 -0
  79. umap/locale/vi/LC_MESSAGES/django.po +278 -151
  80. umap/locale/zh/LC_MESSAGES/django.mo +0 -0
  81. umap/locale/zh/LC_MESSAGES/django.po +278 -151
  82. umap/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  83. umap/locale/zh_TW/LC_MESSAGES/django.po +97 -81
  84. umap/management/commands/empty_trash.py +35 -0
  85. umap/management/commands/migrate_to_S3.py +29 -0
  86. umap/migrations/0023_alter_datalayer_uuid.py +19 -0
  87. umap/migrations/0024_alter_map_share_status.py +30 -0
  88. umap/migrations/0025_alter_datalayer_geojson.py +24 -0
  89. umap/models.py +68 -116
  90. umap/settings/base.py +23 -3
  91. umap/settings/local_s3.py +45 -0
  92. umap/static/umap/base.css +3 -603
  93. umap/static/umap/content.css +5 -3
  94. umap/static/umap/css/bar.css +202 -0
  95. umap/static/umap/css/form.css +620 -0
  96. umap/static/umap/css/icon.css +21 -1
  97. umap/static/umap/css/popup.css +125 -0
  98. umap/static/umap/img/16-white.svg +16 -4
  99. umap/static/umap/img/16.svg +1 -1
  100. umap/static/umap/img/source/16-white.svg +46 -45
  101. umap/static/umap/img/source/16.svg +1 -753
  102. umap/static/umap/js/components/fragment.js +3 -1
  103. umap/static/umap/js/modules/browser.js +20 -19
  104. umap/static/umap/js/modules/caption.js +21 -22
  105. umap/static/umap/js/modules/data/features.js +120 -78
  106. umap/static/umap/js/modules/data/layer.js +195 -153
  107. umap/static/umap/js/modules/facets.js +9 -9
  108. umap/static/umap/js/modules/formatter.js +5 -5
  109. umap/static/umap/js/modules/global.js +4 -52
  110. umap/static/umap/js/modules/help.js +18 -21
  111. umap/static/umap/js/modules/importer.js +133 -56
  112. umap/static/umap/js/modules/importers/cadastrefr.js +4 -0
  113. umap/static/umap/js/modules/importers/geodatamine.js +3 -3
  114. umap/static/umap/js/modules/importers/overpass.js +5 -0
  115. umap/static/umap/js/modules/permissions.js +85 -87
  116. umap/static/umap/js/modules/rendering/icon.js +2 -1
  117. umap/static/umap/js/modules/rendering/layers/base.js +15 -15
  118. umap/static/umap/js/modules/rendering/layers/classified.js +1 -1
  119. umap/static/umap/js/modules/rendering/layers/cluster.js +1 -1
  120. umap/static/umap/js/modules/rendering/layers/heat.js +1 -1
  121. umap/static/umap/js/modules/rendering/map.js +390 -0
  122. umap/static/umap/js/modules/rendering/popup.js +19 -19
  123. umap/static/umap/js/modules/rendering/template.js +88 -21
  124. umap/static/umap/js/modules/rendering/ui.js +63 -14
  125. umap/static/umap/js/modules/request.js +2 -2
  126. umap/static/umap/js/modules/rules.js +22 -25
  127. umap/static/umap/js/modules/saving.js +47 -0
  128. umap/static/umap/js/modules/schema.js +6 -0
  129. umap/static/umap/js/modules/share.js +21 -24
  130. umap/static/umap/js/modules/slideshow.js +24 -20
  131. umap/static/umap/js/modules/sync/updaters.js +7 -9
  132. umap/static/umap/js/modules/tableeditor.js +20 -19
  133. umap/static/umap/js/modules/ui/bar.js +196 -0
  134. umap/static/umap/js/modules/ui/dialog.js +6 -1
  135. umap/static/umap/js/modules/ui/panel.js +10 -9
  136. umap/static/umap/js/modules/umap.js +1691 -0
  137. umap/static/umap/js/modules/urls.js +2 -2
  138. umap/static/umap/js/modules/utils.js +22 -6
  139. umap/static/umap/js/umap.controls.js +81 -305
  140. umap/static/umap/js/umap.core.js +29 -50
  141. umap/static/umap/js/umap.forms.js +78 -27
  142. umap/static/umap/keycloak.png +0 -0
  143. umap/static/umap/locale/am_ET.js +26 -10
  144. umap/static/umap/locale/am_ET.json +26 -10
  145. umap/static/umap/locale/ar.js +26 -10
  146. umap/static/umap/locale/ar.json +26 -10
  147. umap/static/umap/locale/ast.js +26 -10
  148. umap/static/umap/locale/ast.json +26 -10
  149. umap/static/umap/locale/bg.js +26 -10
  150. umap/static/umap/locale/bg.json +26 -10
  151. umap/static/umap/locale/br.js +27 -20
  152. umap/static/umap/locale/br.json +27 -20
  153. umap/static/umap/locale/ca.js +32 -29
  154. umap/static/umap/locale/ca.json +32 -29
  155. umap/static/umap/locale/cs_CZ.js +24 -17
  156. umap/static/umap/locale/cs_CZ.json +24 -17
  157. umap/static/umap/locale/da.js +26 -10
  158. umap/static/umap/locale/da.json +26 -10
  159. umap/static/umap/locale/de.js +21 -14
  160. umap/static/umap/locale/de.json +21 -14
  161. umap/static/umap/locale/el.js +28 -12
  162. umap/static/umap/locale/el.json +28 -12
  163. umap/static/umap/locale/en.js +14 -9
  164. umap/static/umap/locale/en.json +14 -9
  165. umap/static/umap/locale/en_US.json +26 -10
  166. umap/static/umap/locale/es.js +16 -13
  167. umap/static/umap/locale/es.json +16 -13
  168. umap/static/umap/locale/et.js +26 -10
  169. umap/static/umap/locale/et.json +26 -10
  170. umap/static/umap/locale/eu.js +16 -9
  171. umap/static/umap/locale/eu.json +16 -9
  172. umap/static/umap/locale/fa_IR.js +16 -9
  173. umap/static/umap/locale/fa_IR.json +16 -9
  174. umap/static/umap/locale/fi.js +26 -10
  175. umap/static/umap/locale/fi.json +26 -10
  176. umap/static/umap/locale/fr.js +14 -9
  177. umap/static/umap/locale/fr.json +14 -9
  178. umap/static/umap/locale/gl.js +26 -10
  179. umap/static/umap/locale/gl.json +26 -10
  180. umap/static/umap/locale/he.js +26 -10
  181. umap/static/umap/locale/he.json +26 -10
  182. umap/static/umap/locale/hr.js +26 -10
  183. umap/static/umap/locale/hr.json +26 -10
  184. umap/static/umap/locale/hu.js +16 -9
  185. umap/static/umap/locale/hu.json +16 -9
  186. umap/static/umap/locale/id.js +26 -10
  187. umap/static/umap/locale/id.json +26 -10
  188. umap/static/umap/locale/is.js +26 -10
  189. umap/static/umap/locale/is.json +26 -10
  190. umap/static/umap/locale/it.js +26 -10
  191. umap/static/umap/locale/it.json +26 -10
  192. umap/static/umap/locale/ja.js +26 -10
  193. umap/static/umap/locale/ja.json +26 -10
  194. umap/static/umap/locale/ko.js +26 -10
  195. umap/static/umap/locale/ko.json +26 -10
  196. umap/static/umap/locale/lt.js +26 -10
  197. umap/static/umap/locale/lt.json +26 -10
  198. umap/static/umap/locale/ms.js +28 -12
  199. umap/static/umap/locale/ms.json +28 -12
  200. umap/static/umap/locale/nl.js +28 -12
  201. umap/static/umap/locale/nl.json +28 -12
  202. umap/static/umap/locale/no.js +26 -10
  203. umap/static/umap/locale/no.json +26 -10
  204. umap/static/umap/locale/pl.js +28 -12
  205. umap/static/umap/locale/pl.json +28 -12
  206. umap/static/umap/locale/pl_PL.json +26 -10
  207. umap/static/umap/locale/pt.js +16 -9
  208. umap/static/umap/locale/pt.json +16 -9
  209. umap/static/umap/locale/pt_BR.js +26 -10
  210. umap/static/umap/locale/pt_BR.json +26 -10
  211. umap/static/umap/locale/pt_PT.js +16 -9
  212. umap/static/umap/locale/pt_PT.json +16 -9
  213. umap/static/umap/locale/ro.js +26 -10
  214. umap/static/umap/locale/ro.json +26 -10
  215. umap/static/umap/locale/ru.js +26 -10
  216. umap/static/umap/locale/ru.json +26 -10
  217. umap/static/umap/locale/si.js +7 -7
  218. umap/static/umap/locale/si.json +7 -7
  219. umap/static/umap/locale/sk_SK.js +26 -10
  220. umap/static/umap/locale/sk_SK.json +26 -10
  221. umap/static/umap/locale/sl.js +26 -10
  222. umap/static/umap/locale/sl.json +26 -10
  223. umap/static/umap/locale/sr.js +26 -10
  224. umap/static/umap/locale/sr.json +26 -10
  225. umap/static/umap/locale/sv.js +27 -11
  226. umap/static/umap/locale/sv.json +27 -11
  227. umap/static/umap/locale/th_TH.js +28 -12
  228. umap/static/umap/locale/th_TH.json +28 -12
  229. umap/static/umap/locale/tr.js +26 -10
  230. umap/static/umap/locale/tr.json +26 -10
  231. umap/static/umap/locale/uk_UA.js +26 -10
  232. umap/static/umap/locale/uk_UA.json +26 -10
  233. umap/static/umap/locale/vi.js +26 -10
  234. umap/static/umap/locale/vi.json +26 -10
  235. umap/static/umap/locale/vi_VN.json +26 -10
  236. umap/static/umap/locale/zh.js +26 -10
  237. umap/static/umap/locale/zh.json +26 -10
  238. umap/static/umap/locale/zh_CN.json +26 -10
  239. umap/static/umap/locale/zh_TW.Big5.json +26 -10
  240. umap/static/umap/locale/zh_TW.js +34 -27
  241. umap/static/umap/locale/zh_TW.json +34 -27
  242. umap/static/umap/map.css +39 -530
  243. umap/static/umap/unittests/URLs.js +15 -15
  244. umap/static/umap/unittests/utils.js +23 -1
  245. umap/static/umap/vars.css +2 -1
  246. umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +5 -1
  247. umap/storage/__init__.py +3 -0
  248. umap/storage/fs.py +101 -0
  249. umap/storage/s3.py +61 -0
  250. umap/templates/base.html +2 -0
  251. umap/templates/registration/login.html +7 -6
  252. umap/templates/umap/components/alerts/alert.html +4 -0
  253. umap/templates/umap/css.html +6 -0
  254. umap/templates/umap/js.html +3 -2
  255. umap/templates/umap/map_init.html +6 -5
  256. umap/templates/umap/user_dashboard.html +20 -19
  257. umap/tests/base.py +11 -1
  258. umap/tests/fixtures/empty_tile.png +0 -0
  259. umap/tests/fixtures/test_upload_simple_marker.json +19 -0
  260. umap/tests/integration/conftest.py +4 -1
  261. umap/tests/integration/test_anonymous_owned_map.py +18 -10
  262. umap/tests/integration/test_browser.py +16 -1
  263. umap/tests/integration/test_dashboard.py +1 -1
  264. umap/tests/integration/test_edit_datalayer.py +29 -7
  265. umap/tests/integration/test_import.py +28 -4
  266. umap/tests/integration/test_optimistic_merge.py +31 -8
  267. umap/tests/integration/test_owned_map.py +22 -16
  268. umap/tests/integration/test_popup.py +44 -0
  269. umap/tests/integration/test_save.py +35 -0
  270. umap/tests/integration/test_view_marker.py +12 -0
  271. umap/tests/integration/test_view_polyline.py +257 -0
  272. umap/tests/integration/test_websocket_sync.py +81 -9
  273. umap/tests/test_dashboard.py +82 -0
  274. umap/tests/test_datalayer.py +6 -7
  275. umap/tests/test_datalayer_s3.py +135 -0
  276. umap/tests/test_datalayer_views.py +28 -10
  277. umap/tests/test_empty_trash.py +34 -0
  278. umap/tests/test_map.py +12 -3
  279. umap/tests/test_map_views.py +69 -37
  280. umap/tests/test_statics.py +1 -1
  281. umap/tests/test_team_views.py +35 -1
  282. umap/tests/test_views.py +31 -52
  283. umap/urls.py +3 -3
  284. umap/views.py +126 -90
  285. {umap_project-2.7.2.dist-info → umap_project-2.8.0.dist-info}/METADATA +16 -14
  286. {umap_project-2.7.2.dist-info → umap_project-2.8.0.dist-info}/RECORD +290 -269
  287. {umap_project-2.7.2.dist-info → umap_project-2.8.0.dist-info}/WHEEL +1 -1
  288. umap/management/commands/purge_purgatory.py +0 -28
  289. umap/static/umap/js/umap.js +0 -1903
  290. umap/tests/test_purge_purgatory.py +0 -25
  291. /umap/{storage.py → storage/staticfiles.py} +0 -0
  292. {umap_project-2.7.2.dist-info → umap_project-2.8.0.dist-info}/entry_points.txt +0 -0
  293. {umap_project-2.7.2.dist-info → umap_project-2.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,8 @@
1
+ import Umap from '../modules/umap.js'
2
+
1
3
  class UmapFragment extends HTMLElement {
2
4
  connectedCallback() {
3
- new U.Map(this.firstElementChild.id, JSON.parse(this.dataset.settings))
5
+ new Umap(this.firstElementChild.id, JSON.parse(this.dataset.settings))
4
6
  }
5
7
  }
6
8
 
@@ -6,9 +6,10 @@ import { EXPORT_FORMATS } from './formatter.js'
6
6
  import ContextMenu from './ui/contextmenu.js'
7
7
 
8
8
  export default class Browser {
9
- constructor(map) {
10
- this.map = map
11
- this.map.on('moveend', this.onMoveEnd, this)
9
+ constructor(umap, leafletMap) {
10
+ this._umap = umap
11
+ this._leafletMap = leafletMap
12
+ this._leafletMap.on('moveend', this.onMoveEnd, this)
12
13
  this.options = {
13
14
  filter: '',
14
15
  inBbox: false,
@@ -82,7 +83,7 @@ export default class Browser {
82
83
 
83
84
  updateDatalayer(datalayer) {
84
85
  // Compute once, but use it for each feature later.
85
- this.bounds = this.map.getBounds()
86
+ this.bounds = this._leafletMap.getBounds()
86
87
  const parent = DomUtil.get(this.datalayerId(datalayer))
87
88
  // Panel is not open
88
89
  if (!parent) return
@@ -115,10 +116,10 @@ export default class Browser {
115
116
  }
116
117
 
117
118
  onFormChange() {
118
- this.map.eachBrowsableDataLayer((datalayer) => {
119
+ this._umap.eachBrowsableDataLayer((datalayer) => {
119
120
  datalayer.resetLayer(true)
120
121
  this.updateDatalayer(datalayer)
121
- if (this.map.fullPanel?.isOpen()) datalayer.tableEdit()
122
+ if (this._umap.fullPanel?.isOpen()) datalayer.tableEdit()
122
123
  })
123
124
  this.toggleBadge()
124
125
  }
@@ -132,13 +133,13 @@ export default class Browser {
132
133
  }
133
134
 
134
135
  hasFilters() {
135
- return !!this.options.filter || this.map.facets.isActive()
136
+ return !!this.options.filter || this._umap.facets.isActive()
136
137
  }
137
138
 
138
139
  onMoveEnd() {
139
140
  if (!this.isOpen()) return
140
141
  const isListDynamic = this.options.inBbox
141
- this.map.eachBrowsableDataLayer((datalayer) => {
142
+ this._umap.eachBrowsableDataLayer((datalayer) => {
142
143
  if (!isListDynamic && !datalayer.hasDynamicData()) return
143
144
  this.updateDatalayer(datalayer)
144
145
  })
@@ -147,7 +148,7 @@ export default class Browser {
147
148
  update() {
148
149
  if (!this.isOpen()) return
149
150
  this.dataContainer.innerHTML = ''
150
- this.map.eachBrowsableDataLayer((datalayer) => {
151
+ this._umap.eachBrowsableDataLayer((datalayer) => {
151
152
  this.addDataLayer(datalayer, this.dataContainer)
152
153
  })
153
154
  }
@@ -186,9 +187,9 @@ export default class Browser {
186
187
  DomEvent.on(builder.form, 'reset', () => {
187
188
  window.setTimeout(builder.syncAll.bind(builder))
188
189
  })
189
- if (this.map.options.facetKey) {
190
- fields = this.map.facets.build()
191
- filtersBuilder = new L.FormBuilder(this.map.facets, fields, {
190
+ if (this._umap.properties.facetKey) {
191
+ fields = this._umap.facets.build()
192
+ filtersBuilder = new L.FormBuilder(this._umap.facets, fields, {
192
193
  callback: () => this.onFormChange(),
193
194
  })
194
195
  DomEvent.on(filtersBuilder.form, 'reset', () => {
@@ -206,7 +207,7 @@ export default class Browser {
206
207
  textContent: translate('Reset all'),
207
208
  })
208
209
 
209
- this.map.panel.open({
210
+ this._umap.panel.open({
210
211
  content: container,
211
212
  className: 'umap-browser',
212
213
  })
@@ -230,7 +231,7 @@ export default class Browser {
230
231
  `)
231
232
  container.appendChild(toolbox)
232
233
  toggle.addEventListener('click', () => this.toggleLayers())
233
- fitBounds.addEventListener('click', () => this.map.fitDataBounds())
234
+ fitBounds.addEventListener('click', () => this._umap.fitDataBounds())
234
235
  download.addEventListener('click', () => this.downloadVisible(download))
235
236
  }
236
237
 
@@ -240,7 +241,7 @@ export default class Browser {
240
241
  for (const format of Object.keys(EXPORT_FORMATS)) {
241
242
  items.push({
242
243
  label: format,
243
- action: () => this.map.share.download(format),
244
+ action: () => this._umap.share.download(format),
244
245
  })
245
246
  }
246
247
  menu.openBelow(element, items)
@@ -250,10 +251,10 @@ export default class Browser {
250
251
  // If at least one layer is shown, hide it
251
252
  // otherwise show all
252
253
  let allHidden = true
253
- this.map.eachBrowsableDataLayer((datalayer) => {
254
+ this._umap.eachBrowsableDataLayer((datalayer) => {
254
255
  if (datalayer.isVisible()) allHidden = false
255
256
  })
256
- this.map.eachBrowsableDataLayer((datalayer) => {
257
+ this._umap.eachBrowsableDataLayer((datalayer) => {
257
258
  if (allHidden) {
258
259
  datalayer.show()
259
260
  } else {
@@ -262,7 +263,7 @@ export default class Browser {
262
263
  })
263
264
  }
264
265
 
265
- static backButton(map) {
266
+ static backButton(umap) {
266
267
  const button = DomUtil.createButtonIcon(
267
268
  DomUtil.create('li', '', undefined),
268
269
  'icon-back',
@@ -271,7 +272,7 @@ export default class Browser {
271
272
  // Fixme: remove me when this is merged and released
272
273
  // https://github.com/Leaflet/Leaflet/pull/9052
273
274
  DomEvent.disableClickPropagation(button)
274
- DomEvent.on(button, 'click', map.openBrowser, map)
275
+ DomEvent.on(button, 'click', () => umap.openBrowser())
275
276
  return button
276
277
  }
277
278
  }
@@ -3,8 +3,9 @@ import { translate } from './i18n.js'
3
3
  import * as Utils from './utils.js'
4
4
 
5
5
  export default class Caption {
6
- constructor(map) {
7
- this.map = map
6
+ constructor(umap, leafletMap) {
7
+ this._umap = umap
8
+ this._leafletMap = leafletMap
8
9
  }
9
10
 
10
11
  isOpen() {
@@ -21,38 +22,36 @@ export default class Caption {
21
22
  const hgroup = DomUtil.element({ tagName: 'hgroup', parent: container })
22
23
  DomUtil.createTitle(
23
24
  hgroup,
24
- this.map.getDisplayName(),
25
+ this._umap.getDisplayName(),
25
26
  'icon-caption icon-block',
26
27
  'map-name'
27
28
  )
28
- this.map.addAuthorLink('h4', hgroup)
29
- if (this.map.options.description) {
29
+ const title = Utils.loadTemplate('<h4></h4>')
30
+ hgroup.appendChild(title)
31
+ this._umap.addAuthorLink(title)
32
+ if (this._umap.properties.description) {
30
33
  const description = DomUtil.element({
31
34
  tagName: 'div',
32
35
  className: 'umap-map-description text',
33
- safeHTML: Utils.toHTML(this.map.options.description),
36
+ safeHTML: Utils.toHTML(this._umap.properties.description),
34
37
  parent: container,
35
38
  })
36
39
  }
37
40
  const datalayerContainer = DomUtil.create('div', 'datalayer-container', container)
38
- this.map.eachDataLayerReverse((datalayer) =>
41
+ this._umap.eachDataLayerReverse((datalayer) =>
39
42
  this.addDataLayer(datalayer, datalayerContainer)
40
43
  )
41
44
  const creditsContainer = DomUtil.create('div', 'credits-container', container)
42
45
  this.addCredits(creditsContainer)
43
- this.map.panel.open({ content: container }).then(() => {
46
+ this._umap.panel.open({ content: container }).then(() => {
44
47
  // Create the legend when the panel is actually on the DOM
45
- this.map.eachDataLayerReverse((datalayer) => datalayer.renderLegend())
48
+ this._umap.eachDataLayerReverse((datalayer) => datalayer.renderLegend())
46
49
  })
47
50
  }
48
51
 
49
52
  addDataLayer(datalayer, container) {
50
53
  if (!datalayer.options.inCaption) return
51
- const p = DomUtil.create(
52
- 'p',
53
- `caption-item ${datalayer.cssId}`,
54
- container
55
- )
54
+ const p = DomUtil.create('p', `caption-item ${datalayer.cssId}`, container)
56
55
  const legend = DomUtil.create('span', 'datalayer-legend', p)
57
56
  const headline = DomUtil.create('strong', '', p)
58
57
  if (datalayer.options.description) {
@@ -69,16 +68,16 @@ export default class Caption {
69
68
  addCredits(container) {
70
69
  const credits = DomUtil.createFieldset(container, translate('Credits'))
71
70
  let title = DomUtil.add('h5', '', credits, translate('User content credits'))
72
- if (this.map.options.shortCredit || this.map.options.longCredit) {
71
+ if (this._umap.properties.shortCredit || this._umap.properties.longCredit) {
73
72
  DomUtil.element({
74
73
  tagName: 'p',
75
74
  parent: credits,
76
75
  safeHTML: Utils.toHTML(
77
- this.map.options.longCredit || this.map.options.shortCredit
76
+ this._umap.properties.longCredit || this._umap.properties.shortCredit
78
77
  ),
79
78
  })
80
79
  }
81
- if (this.map.options.licence) {
80
+ if (this._umap.properties.licence) {
82
81
  const licence = DomUtil.add(
83
82
  'p',
84
83
  '',
@@ -88,8 +87,8 @@ export default class Caption {
88
87
  DomUtil.createLink(
89
88
  '',
90
89
  licence,
91
- this.map.options.licence.name,
92
- this.map.options.licence.url
90
+ this._umap.properties.licence.name,
91
+ this._umap.properties.licence.url
93
92
  )
94
93
  } else {
95
94
  DomUtil.add('p', '', credits, translate('No licence has been set'))
@@ -100,19 +99,19 @@ export default class Caption {
100
99
  DomUtil.element({
101
100
  tagName: 'strong',
102
101
  parent: tilelayerCredit,
103
- textContent: `${this.map.selected_tilelayer.options.name} `,
102
+ textContent: `${this._leafletMap.selectedTilelayer.options.name} `,
104
103
  })
105
104
  DomUtil.element({
106
105
  tagName: 'span',
107
106
  parent: tilelayerCredit,
108
- safeHTML: this.map.selected_tilelayer.getAttribution(),
107
+ safeHTML: this._leafletMap.selectedTilelayer.getAttribution(),
109
108
  })
110
109
  const urls = {
111
110
  leaflet: 'http://leafletjs.com',
112
111
  django: 'https://www.djangoproject.com',
113
112
  umap: 'https://umap-project.org/',
114
113
  changelog: 'https://docs.umap-project.org/en/master/changelog/',
115
- version: this.map.options.umap_version,
114
+ version: this._umap.properties.umap_version,
116
115
  }
117
116
  const creditHTML = translate(
118
117
  `