umap-project 2.8.0a1__tar.gz → 2.8.0b0__tar.gz

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.

Files changed (583) hide show
  1. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/PKG-INFO +1 -1
  2. umap_project-2.8.0b0/umap/__init__.py +1 -0
  3. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/en/LC_MESSAGES/django.po +13 -13
  4. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/management/commands/empty_trash.py +5 -2
  5. umap_project-2.8.0b0/umap/settings/local_s3.py +45 -0
  6. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/form.css +3 -0
  7. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/data/features.js +12 -0
  8. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/data/layer.js +37 -18
  9. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/importer.js +65 -20
  10. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/rendering/icon.js +2 -1
  11. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/rendering/map.js +7 -7
  12. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/rendering/ui.js +6 -2
  13. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/request.js +2 -2
  14. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/ui/dialog.js +5 -0
  15. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/umap.js +32 -9
  16. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/umap.controls.js +7 -4
  17. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/umap.forms.js +44 -0
  18. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/en.js +3 -1
  19. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/en.json +3 -1
  20. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/fr.js +3 -1
  21. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/fr.json +3 -1
  22. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/map.css +34 -166
  23. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vars.css +0 -1
  24. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/base.html +2 -0
  25. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/components/alerts/alert.html +4 -0
  26. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/css.html +3 -0
  27. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/js.html +2 -0
  28. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/map_init.html +2 -0
  29. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/user_dashboard.html +2 -0
  30. umap_project-2.8.0b0/umap/tests/fixtures/test_upload_simple_marker.json +19 -0
  31. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_edit_datalayer.py +11 -0
  32. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_import.py +20 -1
  33. umap_project-2.8.0b0/umap/tests/test_dashboard.py +82 -0
  34. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_team_views.py +35 -1
  35. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_views.py +0 -74
  36. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/views.py +20 -15
  37. umap_project-2.8.0a1/umap/__init__.py +0 -1
  38. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/.gitignore +0 -0
  39. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/LICENSE +0 -0
  40. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/README.md +0 -0
  41. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/pyproject.toml +0 -0
  42. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/admin.py +0 -0
  43. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/apps.py +0 -0
  44. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/asgi.py +0 -0
  45. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/autocomplete.py +0 -0
  46. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/bin/__init__.py +0 -0
  47. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/context_processors.py +0 -0
  48. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/decorators.py +0 -0
  49. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/fields.py +0 -0
  50. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/forms.py +0 -0
  51. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/am_ET/LC_MESSAGES/django.mo +0 -0
  52. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/am_ET/LC_MESSAGES/django.po +0 -0
  53. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ar/LC_MESSAGES/django.mo +0 -0
  54. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ar/LC_MESSAGES/django.po +0 -0
  55. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ast/LC_MESSAGES/django.mo +0 -0
  56. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ast/LC_MESSAGES/django.po +0 -0
  57. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/bg/LC_MESSAGES/django.mo +0 -0
  58. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/bg/LC_MESSAGES/django.po +0 -0
  59. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/br/LC_MESSAGES/django.mo +0 -0
  60. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/br/LC_MESSAGES/django.po +0 -0
  61. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ca/LC_MESSAGES/django.mo +0 -0
  62. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ca/LC_MESSAGES/django.po +0 -0
  63. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  64. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/cs_CZ/LC_MESSAGES/django.po +0 -0
  65. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/da/LC_MESSAGES/django.mo +0 -0
  66. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/da/LC_MESSAGES/django.po +0 -0
  67. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/de/LC_MESSAGES/django.mo +0 -0
  68. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/de/LC_MESSAGES/django.po +0 -0
  69. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/el/LC_MESSAGES/django.mo +0 -0
  70. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/el/LC_MESSAGES/django.po +0 -0
  71. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/en/LC_MESSAGES/django.mo +0 -0
  72. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/es/LC_MESSAGES/django.mo +0 -0
  73. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/es/LC_MESSAGES/django.po +0 -0
  74. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/et/LC_MESSAGES/django.mo +0 -0
  75. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/et/LC_MESSAGES/django.po +0 -0
  76. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/eu/LC_MESSAGES/django.mo +0 -0
  77. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/eu/LC_MESSAGES/django.po +0 -0
  78. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/fa_IR/LC_MESSAGES/django.mo +0 -0
  79. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/fa_IR/LC_MESSAGES/django.po +0 -0
  80. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/fi/LC_MESSAGES/django.mo +0 -0
  81. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/fi/LC_MESSAGES/django.po +0 -0
  82. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/fr/LC_MESSAGES/django.mo +0 -0
  83. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/fr/LC_MESSAGES/django.po +0 -0
  84. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/gl/LC_MESSAGES/django.mo +0 -0
  85. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/gl/LC_MESSAGES/django.po +0 -0
  86. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/he/LC_MESSAGES/django.mo +0 -0
  87. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/he/LC_MESSAGES/django.po +0 -0
  88. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/hr/LC_MESSAGES/django.mo +0 -0
  89. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/hr/LC_MESSAGES/django.po +0 -0
  90. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/hu/LC_MESSAGES/django.mo +0 -0
  91. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/hu/LC_MESSAGES/django.po +0 -0
  92. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/id/LC_MESSAGES/django.mo +0 -0
  93. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/id/LC_MESSAGES/django.po +0 -0
  94. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/is/LC_MESSAGES/django.mo +0 -0
  95. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/is/LC_MESSAGES/django.po +0 -0
  96. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/it/LC_MESSAGES/django.mo +0 -0
  97. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/it/LC_MESSAGES/django.po +0 -0
  98. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ja/LC_MESSAGES/django.mo +0 -0
  99. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ja/LC_MESSAGES/django.po +0 -0
  100. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ko/LC_MESSAGES/django.mo +0 -0
  101. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ko/LC_MESSAGES/django.po +0 -0
  102. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/lt/LC_MESSAGES/django.mo +0 -0
  103. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/lt/LC_MESSAGES/django.po +0 -0
  104. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ms/LC_MESSAGES/django.mo +0 -0
  105. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ms/LC_MESSAGES/django.po +0 -0
  106. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/nl/LC_MESSAGES/django.mo +0 -0
  107. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/nl/LC_MESSAGES/django.po +0 -0
  108. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/no/LC_MESSAGES/django.mo +0 -0
  109. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/no/LC_MESSAGES/django.po +0 -0
  110. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/pl/LC_MESSAGES/django.mo +0 -0
  111. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/pl/LC_MESSAGES/django.po +0 -0
  112. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/pt/LC_MESSAGES/django.mo +0 -0
  113. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/pt/LC_MESSAGES/django.po +0 -0
  114. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  115. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/pt_BR/LC_MESSAGES/django.po +0 -0
  116. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  117. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/pt_PT/LC_MESSAGES/django.po +0 -0
  118. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ro/LC_MESSAGES/django.mo +0 -0
  119. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ro/LC_MESSAGES/django.po +0 -0
  120. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ru/LC_MESSAGES/django.mo +0 -0
  121. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/ru/LC_MESSAGES/django.po +0 -0
  122. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/si/LC_MESSAGES/django.mo +0 -0
  123. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/si/LC_MESSAGES/django.po +0 -0
  124. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  125. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/sk_SK/LC_MESSAGES/django.po +0 -0
  126. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/sl/LC_MESSAGES/django.mo +0 -0
  127. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/sl/LC_MESSAGES/django.po +0 -0
  128. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/sr/LC_MESSAGES/django.mo +0 -0
  129. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/sr/LC_MESSAGES/django.po +0 -0
  130. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/sv/LC_MESSAGES/django.mo +0 -0
  131. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/sv/LC_MESSAGES/django.po +0 -0
  132. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/th_TH/LC_MESSAGES/django.mo +0 -0
  133. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/th_TH/LC_MESSAGES/django.po +0 -0
  134. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/tr/LC_MESSAGES/django.mo +0 -0
  135. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/tr/LC_MESSAGES/django.po +0 -0
  136. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/uk_UA/LC_MESSAGES/django.mo +0 -0
  137. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/uk_UA/LC_MESSAGES/django.po +0 -0
  138. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/vi/LC_MESSAGES/django.mo +0 -0
  139. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/vi/LC_MESSAGES/django.po +0 -0
  140. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/zh/LC_MESSAGES/django.mo +0 -0
  141. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/zh/LC_MESSAGES/django.po +0 -0
  142. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  143. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/locale/zh_TW/LC_MESSAGES/django.po +0 -0
  144. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/management/__init__.py +0 -0
  145. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/management/commands/__init__.py +0 -0
  146. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/management/commands/anonymous_edit_url.py +0 -0
  147. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/management/commands/clean_tilelayer.py +0 -0
  148. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/management/commands/generate_js_locale.py +0 -0
  149. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/management/commands/import_pictograms.py +0 -0
  150. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/management/commands/migrate_to_S3.py +0 -0
  151. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/management/commands/run_websocket_server.py +0 -0
  152. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/managers.py +0 -0
  153. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/middleware.py +0 -0
  154. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0001_initial.py +0 -0
  155. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0002_tilelayer_tms.py +0 -0
  156. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0003_add_tilelayer.py +0 -0
  157. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0004_add_licence.py +0 -0
  158. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0005_remove_map_tilelayer.py +0 -0
  159. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0006_auto_20190407_0719.py +0 -0
  160. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0007_auto_20190416_1757.py +0 -0
  161. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0008_alter_map_settings.py +0 -0
  162. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0009_star.py +0 -0
  163. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0010_alter_map_edit_status_alter_map_share_status.py +0 -0
  164. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0011_alter_map_edit_status_alter_map_share_status.py +0 -0
  165. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0012_datalayer_settings.py +0 -0
  166. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0013_datalayer_edit_status.py +0 -0
  167. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0014_map_created_at.py +0 -0
  168. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0015_alter_pictogram_pictogram.py +0 -0
  169. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0016_pictogram_category.py +0 -0
  170. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0017_migrate_to_openstreetmap_oauth2.py +0 -0
  171. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0018_datalayer_uuid.py +0 -0
  172. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0019_migrate_internal_remote_datalayers.py +0 -0
  173. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0020_alter_tilelayer_url_template.py +0 -0
  174. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0021_remove_map_description.py +0 -0
  175. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0022_add_team.py +0 -0
  176. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0023_alter_datalayer_uuid.py +0 -0
  177. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0024_alter_map_share_status.py +0 -0
  178. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/0025_alter_datalayer_geojson.py +0 -0
  179. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/migrations/__init__.py +0 -0
  180. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/models.py +0 -0
  181. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/settings/__init__.py +0 -0
  182. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/settings/base.py +0 -0
  183. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/settings/dev.py +0 -0
  184. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/settings/local.py.sample +0 -0
  185. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/.gitignore +0 -0
  186. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/base.css +0 -0
  187. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/bitbucket.png +0 -0
  188. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/content.css +0 -0
  189. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/bar.css +0 -0
  190. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/contextmenu.css +0 -0
  191. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/dialog.css +0 -0
  192. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/icon.css +0 -0
  193. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/importers.css +0 -0
  194. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/panel.css +0 -0
  195. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/popup.css +0 -0
  196. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/slideshow.css +0 -0
  197. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/tableeditor.css +0 -0
  198. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/tooltip.css +0 -0
  199. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/css/window.css +0 -0
  200. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/favicons/apple-touch-icon.png +0 -0
  201. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/favicons/favicon.ico +0 -0
  202. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/favicons/icon-192.png +0 -0
  203. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/favicons/icon-512.png +0 -0
  204. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/favicons/icon.svg +0 -0
  205. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/font/FiraSans-Light.woff +0 -0
  206. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/font/FiraSans-Light.woff2 +0 -0
  207. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/font/FiraSans-LightItalic.woff +0 -0
  208. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/font/FiraSans-LightItalic.woff2 +0 -0
  209. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/font/FiraSans-SemiBold.woff +0 -0
  210. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/font/FiraSans-SemiBold.woff2 +0 -0
  211. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/font.css +0 -0
  212. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/github.png +0 -0
  213. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/16-white.svg +0 -0
  214. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/16.svg +0 -0
  215. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/24-white.svg +0 -0
  216. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/24.svg +0 -0
  217. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/alert-icon-error.svg +0 -0
  218. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/alert-icon-info.svg +0 -0
  219. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/alert-icon-success.svg +0 -0
  220. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/edit.svg +0 -0
  221. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/icon-bg.png +0 -0
  222. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/icon-delete.svg +0 -0
  223. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/icon-download.svg +0 -0
  224. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/icon-duplicate.svg +0 -0
  225. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/icon-edit.svg +0 -0
  226. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/icon-external-link.svg +0 -0
  227. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/icon-share.svg +0 -0
  228. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/icon-view.svg +0 -0
  229. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/importers/cadastrefr.svg +0 -0
  230. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/importers/communesfr.svg +0 -0
  231. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/importers/datasets.svg +0 -0
  232. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/importers/geodatamine.svg +0 -0
  233. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/importers/overpass.svg +0 -0
  234. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/importers/random.svg +0 -0
  235. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/importers/random1.svg +0 -0
  236. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/importers/random2.svg +0 -0
  237. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/logo.svg +0 -0
  238. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/logo_filigree.png +0 -0
  239. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/logo_small.svg +0 -0
  240. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/marker.png +0 -0
  241. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/marker.svg +0 -0
  242. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/opensource.svg +0 -0
  243. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/osm.svg +0 -0
  244. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/search.gif +0 -0
  245. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/source/16-white.svg +0 -0
  246. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/source/16.svg +0 -0
  247. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/source/24-white.svg +0 -0
  248. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/img/source/24.svg +0 -0
  249. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/components/alerts/alert.css +0 -0
  250. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/components/alerts/alert.js +0 -0
  251. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/components/base.js +0 -0
  252. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/components/fragment.js +0 -0
  253. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/autocomplete.js +0 -0
  254. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/browser.js +0 -0
  255. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/caption.js +0 -0
  256. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/dompurify.js +0 -0
  257. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/facets.js +0 -0
  258. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/formatter.js +0 -0
  259. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/global.js +0 -0
  260. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/help.js +0 -0
  261. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/i18n.js +0 -0
  262. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/importers/cadastrefr.js +0 -0
  263. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/importers/communesfr.js +0 -0
  264. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/importers/datasets.js +0 -0
  265. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/importers/geodatamine.js +0 -0
  266. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/importers/overpass.js +0 -0
  267. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/leaflet-configure.js +0 -0
  268. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/orderable.js +0 -0
  269. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/permissions.js +0 -0
  270. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/rendering/layers/base.js +0 -0
  271. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/rendering/layers/classified.js +0 -0
  272. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/rendering/layers/cluster.js +0 -0
  273. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/rendering/layers/heat.js +0 -0
  274. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/rendering/popup.js +0 -0
  275. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/rendering/template.js +0 -0
  276. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/rules.js +0 -0
  277. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/saving.js +0 -0
  278. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/schema.js +0 -0
  279. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/share.js +0 -0
  280. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/slideshow.js +0 -0
  281. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/sync/engine.js +0 -0
  282. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/sync/hlc.js +0 -0
  283. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/sync/updaters.js +0 -0
  284. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/sync/websocket.js +0 -0
  285. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/tableeditor.js +0 -0
  286. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/ui/bar.js +0 -0
  287. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/ui/base.js +0 -0
  288. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/ui/contextmenu.js +0 -0
  289. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/ui/panel.js +0 -0
  290. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/ui/tooltip.js +0 -0
  291. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/urls.js +0 -0
  292. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/modules/utils.js +0 -0
  293. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/js/umap.core.js +0 -0
  294. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/keycloak.png +0 -0
  295. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/am_ET.js +0 -0
  296. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/am_ET.json +0 -0
  297. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ar.js +0 -0
  298. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ar.json +0 -0
  299. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ast.js +0 -0
  300. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ast.json +0 -0
  301. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/bg.js +0 -0
  302. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/bg.json +0 -0
  303. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/br.js +0 -0
  304. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/br.json +0 -0
  305. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ca.js +0 -0
  306. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ca.json +0 -0
  307. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/cs_CZ.js +0 -0
  308. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/cs_CZ.json +0 -0
  309. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/da.js +0 -0
  310. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/da.json +0 -0
  311. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/de.js +0 -0
  312. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/de.json +0 -0
  313. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/el.js +0 -0
  314. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/el.json +0 -0
  315. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/en_US.json +0 -0
  316. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/es.js +0 -0
  317. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/es.json +0 -0
  318. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/et.js +0 -0
  319. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/et.json +0 -0
  320. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/eu.js +0 -0
  321. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/eu.json +0 -0
  322. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/fa_IR.js +0 -0
  323. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/fa_IR.json +0 -0
  324. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/fi.js +0 -0
  325. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/fi.json +0 -0
  326. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/gl.js +0 -0
  327. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/gl.json +0 -0
  328. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/he.js +0 -0
  329. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/he.json +0 -0
  330. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/hr.js +0 -0
  331. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/hr.json +0 -0
  332. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/hu.js +0 -0
  333. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/hu.json +0 -0
  334. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/id.js +0 -0
  335. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/id.json +0 -0
  336. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/is.js +0 -0
  337. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/is.json +0 -0
  338. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/it.js +0 -0
  339. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/it.json +0 -0
  340. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ja.js +0 -0
  341. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ja.json +0 -0
  342. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ko.js +0 -0
  343. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ko.json +0 -0
  344. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/lt.js +0 -0
  345. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/lt.json +0 -0
  346. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ms.js +0 -0
  347. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ms.json +0 -0
  348. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/nl.js +0 -0
  349. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/nl.json +0 -0
  350. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/no.js +0 -0
  351. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/no.json +0 -0
  352. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/pl.js +0 -0
  353. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/pl.json +0 -0
  354. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/pl_PL.json +0 -0
  355. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/pt.js +0 -0
  356. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/pt.json +0 -0
  357. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/pt_BR.js +0 -0
  358. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/pt_BR.json +0 -0
  359. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/pt_PT.js +0 -0
  360. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/pt_PT.json +0 -0
  361. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ro.js +0 -0
  362. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ro.json +0 -0
  363. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ru.js +0 -0
  364. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/ru.json +0 -0
  365. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/si.js +0 -0
  366. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/si.json +0 -0
  367. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/sk_SK.js +0 -0
  368. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/sk_SK.json +0 -0
  369. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/sl.js +0 -0
  370. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/sl.json +0 -0
  371. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/sr.js +0 -0
  372. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/sr.json +0 -0
  373. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/sv.js +0 -0
  374. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/sv.json +0 -0
  375. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/th_TH.js +0 -0
  376. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/th_TH.json +0 -0
  377. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/tr.js +0 -0
  378. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/tr.json +0 -0
  379. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/uk_UA.js +0 -0
  380. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/uk_UA.json +0 -0
  381. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/vi.js +0 -0
  382. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/vi.json +0 -0
  383. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/vi_VN.json +0 -0
  384. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/zh.js +0 -0
  385. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/zh.json +0 -0
  386. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/zh_CN.json +0 -0
  387. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/zh_TW.Big5.json +0 -0
  388. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/zh_TW.js +0 -0
  389. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/locale/zh_TW.json +0 -0
  390. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/nav.css +0 -0
  391. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/openstreetmap.png +0 -0
  392. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/test/.eslintrc +0 -0
  393. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/test/DataLayer.js +0 -0
  394. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/test/Feature.js +0 -0
  395. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/test/Map.js +0 -0
  396. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/test/Marker.js +0 -0
  397. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/test/Polygon.js +0 -0
  398. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/test/Polyline.js +0 -0
  399. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/test/Util.js +0 -0
  400. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/test/_pre.js +0 -0
  401. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/test/index.html +0 -0
  402. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/theme.css +0 -0
  403. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/twitter.png +0 -0
  404. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/unittests/URLs.js +0 -0
  405. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/unittests/hlc.js +0 -0
  406. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/unittests/sync.js +0 -0
  407. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/unittests/utils.js +0 -0
  408. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/colorbrewer/colorbrewer.js +0 -0
  409. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/csv2geojson/csv2geojson.js +0 -0
  410. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/dompurify/purify.es.js +0 -0
  411. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/dompurify/purify.es.mjs.map +0 -0
  412. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/editable/Leaflet.Editable.js +0 -0
  413. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/editable/Path.Drag.js +0 -0
  414. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/editinosm/Leaflet.EditInOSM.css +0 -0
  415. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/editinosm/Leaflet.EditInOSM.js +0 -0
  416. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/editinosm/edit-in-osm.png +0 -0
  417. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +0 -0
  418. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/fullscreen/Leaflet.fullscreen.js +0 -0
  419. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/fullscreen/Leaflet.fullscreen.min.js +0 -0
  420. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/fullscreen/fullscreen.png +0 -0
  421. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/fullscreen/fullscreen@2x.png +0 -0
  422. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/fullscreen/leaflet.fullscreen.css +0 -0
  423. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/geojson-to-gpx/index.js +0 -0
  424. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/georsstogeojson/GeoRSSToGeoJSON.js +0 -0
  425. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/hash/leaflet-hash.js +0 -0
  426. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/heat/leaflet-heat.js +0 -0
  427. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/i18n/Leaflet.i18n.js +0 -0
  428. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/iconlayers/check.png +0 -0
  429. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/iconlayers/iconLayers.css +0 -0
  430. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/iconlayers/iconLayers.js +0 -0
  431. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/iconlayers/transparent-pixel.png +0 -0
  432. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/leaflet/images/layers-2x.png +0 -0
  433. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/leaflet/images/layers.png +0 -0
  434. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/leaflet/images/marker-icon-2x.png +0 -0
  435. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/leaflet/images/marker-icon.png +0 -0
  436. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/leaflet/images/marker-shadow.png +0 -0
  437. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/leaflet/leaflet-src.esm.js +0 -0
  438. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/leaflet/leaflet-src.esm.js.map +0 -0
  439. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/leaflet/leaflet.css +0 -0
  440. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/loading/Control.Loading.css +0 -0
  441. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/loading/Control.Loading.js +0 -0
  442. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.css +0 -0
  443. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.css.map +0 -0
  444. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js +0 -0
  445. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js.map +0 -0
  446. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/markercluster/MarkerCluster.Default.css +0 -0
  447. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/markercluster/MarkerCluster.css +0 -0
  448. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/markercluster/leaflet.markercluster.js +0 -0
  449. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/markercluster/leaflet.markercluster.js.map +0 -0
  450. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/measurable/Leaflet.Measurable.css +0 -0
  451. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/measurable/Leaflet.Measurable.js +0 -0
  452. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/minimap/Control.MiniMap.min.css +0 -0
  453. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/minimap/Control.MiniMap.min.js +0 -0
  454. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/minimap/images/toggle.png +0 -0
  455. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/minimap/images/toggle.svg +0 -0
  456. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/osmtogeojson/osmtogeojson.js +0 -0
  457. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/photon/leaflet.photon.js +0 -0
  458. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/simple-statistics/simple-statistics.min.js +0 -0
  459. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/simple-statistics/simple-statistics.min.js.map +0 -0
  460. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/togeojson/togeojson.es.js +0 -0
  461. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/togeojson/togeojson.es.mjs.map +0 -0
  462. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/tokml/tokml.es.js +0 -0
  463. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/tokml/tokml.es.mjs.map +0 -0
  464. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/toolbar/leaflet.toolbar.css +0 -0
  465. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/static/umap/vendors/toolbar/leaflet.toolbar.js +0 -0
  466. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/storage/__init__.py +0 -0
  467. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/storage/fs.py +0 -0
  468. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/storage/s3.py +0 -0
  469. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/storage/staticfiles.py +0 -0
  470. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/404.html +0 -0
  471. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/500.html +0 -0
  472. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/auth/user_detail.html +0 -0
  473. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/auth/user_form.html +0 -0
  474. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/auth/user_stars.html +0 -0
  475. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/registration/login.html +0 -0
  476. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/about.html +0 -0
  477. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/about_summary.html +0 -0
  478. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/branding.html +0 -0
  479. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/content.html +0 -0
  480. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/content_footer.html +0 -0
  481. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/dashboard_menu.html +0 -0
  482. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/footer.html +0 -0
  483. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/header.html +0 -0
  484. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/home.html +0 -0
  485. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/locale.js +0 -0
  486. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/login_popup_end.html +0 -0
  487. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/map_detail.html +0 -0
  488. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/map_fragment.html +0 -0
  489. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/map_list.html +0 -0
  490. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/map_table.html +0 -0
  491. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/messages.html +0 -0
  492. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/navigation.html +0 -0
  493. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/password_change.html +0 -0
  494. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/password_change_done.html +0 -0
  495. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/search.html +0 -0
  496. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/search_bar.html +0 -0
  497. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/success.html +0 -0
  498. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/team_confirm_delete.html +0 -0
  499. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/team_detail.html +0 -0
  500. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/team_form.html +0 -0
  501. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templates/umap/user_teams.html +0 -0
  502. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templatetags/__init__.py +0 -0
  503. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/templatetags/umap_tags.py +0 -0
  504. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/__init__.py +0 -0
  505. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/base.py +0 -0
  506. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/conftest.py +0 -0
  507. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/categorized_highway.geojson +0 -0
  508. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/choropleth_region_chomage.geojson +0 -0
  509. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/circle.svg +0 -0
  510. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/display_on_load.umap +0 -0
  511. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/empty_tile.png +0 -0
  512. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/star.svg +0 -0
  513. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_circles_layer.geojson +0 -0
  514. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_import_osm_relation.json +0 -0
  515. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_upload_data.csv +0 -0
  516. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_upload_data.gpx +0 -0
  517. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_upload_data.json +0 -0
  518. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_upload_data.kml +0 -0
  519. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_upload_data.umap +0 -0
  520. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_upload_data_osm.json +0 -0
  521. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_upload_empty_coordinates.json +0 -0
  522. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_upload_georss.xml +0 -0
  523. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_upload_missing_name.json +0 -0
  524. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/fixtures/test_upload_non_linear_ring.json +0 -0
  525. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/__init__.py +0 -0
  526. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/conftest.py +0 -0
  527. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/helpers.py +0 -0
  528. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_anonymous_owned_map.py +0 -0
  529. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_basics.py +0 -0
  530. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_browser.py +0 -0
  531. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_caption.py +0 -0
  532. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_categorized_layer.py +0 -0
  533. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_choropleth.py +0 -0
  534. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_circles_layer.py +0 -0
  535. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_cluster.py +0 -0
  536. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_conditional_rules.py +0 -0
  537. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_dashboard.py +0 -0
  538. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_datalayer.py +0 -0
  539. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_draw_polygon.py +0 -0
  540. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_draw_polyline.py +0 -0
  541. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_edit_map.py +0 -0
  542. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_edit_marker.py +0 -0
  543. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_edit_polygon.py +0 -0
  544. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_export_map.py +0 -0
  545. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_facets_browser.py +0 -0
  546. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_features_id_generation.py +0 -0
  547. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_map.py +0 -0
  548. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_map_list.py +0 -0
  549. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_map_preview.py +0 -0
  550. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_optimistic_merge.py +0 -0
  551. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_owned_map.py +0 -0
  552. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_picto.py +0 -0
  553. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_popup.py +0 -0
  554. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_querystring.py +0 -0
  555. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_save.py +0 -0
  556. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_share.py +0 -0
  557. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_slideshow.py +0 -0
  558. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_star.py +0 -0
  559. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_tableeditor.py +0 -0
  560. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_team.py +0 -0
  561. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_tilelayer.py +0 -0
  562. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_view_marker.py +0 -0
  563. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_view_polygon.py +0 -0
  564. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_view_polyline.py +0 -0
  565. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/integration/test_websocket_sync.py +0 -0
  566. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/settings.py +0 -0
  567. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_clean_tilelayer.py +0 -0
  568. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_datalayer.py +0 -0
  569. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_datalayer_s3.py +0 -0
  570. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_datalayer_views.py +0 -0
  571. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_empty_trash.py +0 -0
  572. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_licence.py +0 -0
  573. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_map.py +0 -0
  574. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_map_views.py +0 -0
  575. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_merge_features.py +0 -0
  576. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_statics.py +0 -0
  577. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_tilelayer.py +0 -0
  578. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_utils.py +0 -0
  579. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/tests/test_websocket_server.py +0 -0
  580. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/urls.py +0 -0
  581. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/utils.py +0 -0
  582. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/websocket_server.py +0 -0
  583. {umap_project-2.8.0a1 → umap_project-2.8.0b0}/umap/wsgi.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: umap-project
3
- Version: 2.8.0a1
3
+ Version: 2.8.0b0
4
4
  Summary: Create maps with OpenStreetMap layers in a minute and embed them in your site.
5
5
  Author-email: Yohan Boniface <yb@enix.org>
6
6
  Maintainer-email: David Larlet <david@larlet.fr>
@@ -0,0 +1 @@
1
+ VERSION = "2.8.0b0"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2024-12-11 17:05+0000\n"
11
+ "POT-Creation-Date: 2024-12-13 08:26+0000\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -617,57 +617,57 @@ msgstr ""
617
617
  msgid "View the map"
618
618
  msgstr ""
619
619
 
620
- #: views.py:820
620
+ #: views.py:821
621
621
  msgid "See full screen"
622
622
  msgstr ""
623
623
 
624
- #: views.py:963
624
+ #: views.py:964
625
625
  msgid "Map editors updated with success!"
626
626
  msgstr ""
627
627
 
628
- #: views.py:999
628
+ #: views.py:1000
629
629
  #, python-format
630
630
  msgid "The uMap edit link for your map: %(map_name)s"
631
631
  msgstr ""
632
632
 
633
- #: views.py:1002
633
+ #: views.py:1003
634
634
  #, python-format
635
635
  msgid "Here is your secret edit link: %(link)s"
636
636
  msgstr ""
637
637
 
638
- #: views.py:1009
638
+ #: views.py:1010
639
639
  #, python-format
640
640
  msgid "Can't send email to %(email)s"
641
641
  msgstr ""
642
642
 
643
- #: views.py:1012
643
+ #: views.py:1013
644
644
  #, python-format
645
645
  msgid "Email sent to %(email)s"
646
646
  msgstr ""
647
647
 
648
- #: views.py:1023
648
+ #: views.py:1024
649
649
  msgid "Only its owner can delete the map."
650
650
  msgstr ""
651
651
 
652
- #: views.py:1026
652
+ #: views.py:1027
653
653
  msgid "Map successfully deleted."
654
654
  msgstr ""
655
655
 
656
- #: views.py:1052
656
+ #: views.py:1053
657
657
  #, python-format
658
658
  msgid ""
659
659
  "Your map has been cloned! If you want to edit this map from another "
660
660
  "computer, please use this link: %(anonymous_url)s"
661
661
  msgstr ""
662
662
 
663
- #: views.py:1057
663
+ #: views.py:1058
664
664
  msgid "Congratulations, your map has been cloned!"
665
665
  msgstr ""
666
666
 
667
- #: views.py:1308
667
+ #: views.py:1309
668
668
  msgid "Layer successfully deleted."
669
669
  msgstr ""
670
670
 
671
- #: views.py:1330
671
+ #: views.py:1331
672
672
  msgid "Permissions updated with success!"
673
673
  msgstr ""
@@ -23,10 +23,13 @@ class Command(BaseCommand):
23
23
 
24
24
  def handle(self, *args, **options):
25
25
  days = options["days"]
26
- since = datetime.utcnow() - timedelta(days=days)
26
+ since = (datetime.utcnow() - timedelta(days=days)).date()
27
27
  print(f"Deleting map in trash since {since}")
28
28
  maps = Map.objects.filter(share_status=Map.DELETED, modified_at__lt=since)
29
29
  for map in maps:
30
+ map_id = map.id
31
+ map_name = map.name
32
+ trashed_at = map.modified_at.date()
30
33
  if not options["dry_run"]:
31
34
  map.delete()
32
- print(f"Deleted map {map.name} ({map.id}), trashed on {map.modified_at}")
35
+ print(f"Deleted map {map_name} ({map_id}), trashed at {trashed_at}")
@@ -0,0 +1,45 @@
1
+ from umap.settings.local import *
2
+
3
+ DATABASES = {
4
+ "default": {
5
+ "ENGINE": "django.contrib.gis.db.backends.postgis",
6
+ "NAME": "umaps3",
7
+ }
8
+ }
9
+
10
+ STORAGES = {
11
+ "default": {
12
+ "BACKEND": "storages.backends.s3.S3Storage",
13
+ "OPTIONS": {
14
+ "access_key": "OScTD3CClCcO54Ax2DLz",
15
+ "secret_key": "eK9tfPRHoFh0nKLkZpJJoC4RJS1ptGfko3iBBd5k",
16
+ "bucket_name": "umap-default",
17
+ "region_name": "eu",
18
+ "endpoint_url": "http://127.0.0.1:9000",
19
+ },
20
+ },
21
+ "data": {
22
+ "BACKEND": "umap.storage.s3.S3DataStorage",
23
+ "OPTIONS": {
24
+ "access_key": "OScTD3CClCcO54Ax2DLz",
25
+ "secret_key": "eK9tfPRHoFh0nKLkZpJJoC4RJS1ptGfko3iBBd5k",
26
+ "bucket_name": "umap",
27
+ "region_name": "eu",
28
+ "endpoint_url": "http://127.0.0.1:9000",
29
+ },
30
+ },
31
+ "staticfiles": {
32
+ "BACKEND": "storages.backends.s3.S3Storage",
33
+ "OPTIONS": {
34
+ "access_key": "OScTD3CClCcO54Ax2DLz",
35
+ "secret_key": "eK9tfPRHoFh0nKLkZpJJoC4RJS1ptGfko3iBBd5k",
36
+ "bucket_name": "umap-staticfiles",
37
+ "region_name": "eu",
38
+ "endpoint_url": "http://127.0.0.1:9000",
39
+ "default_acl": "public-read",
40
+ # "querystring_auth": False,
41
+ },
42
+ },
43
+ }
44
+
45
+ # STATIC_URL = "http://127.0.0.1:9000/umap-staticfiles/"
@@ -1,3 +1,6 @@
1
+ .umap-form-inline {
2
+ display: inline;
3
+ }
1
4
  input[type="text"], input[type="password"], input[type="date"],
2
5
  input[type="datetime-local"], input[type="email"], input[type="number"],
3
6
  input[type="search"], input[type="tel"], input[type="time"], input[type="file"],
@@ -658,6 +658,18 @@ class Feature {
658
658
  )
659
659
  return items
660
660
  }
661
+
662
+ isActive() {
663
+ return this._umap.activeFeature === this
664
+ }
665
+
666
+ activate() {
667
+ this._umap.activeFeature = this
668
+ }
669
+
670
+ deactivate() {
671
+ if (this._umap.activeFeature === this) this._umap.activeFeature = undefined
672
+ }
661
673
  }
662
674
 
663
675
  export class Point extends Feature {
@@ -252,10 +252,11 @@ export class DataLayer extends ServerStored {
252
252
  }
253
253
 
254
254
  fromGeoJSON(geojson, sync = true) {
255
- this.addData(geojson, sync)
255
+ const features = this.addData(geojson, sync)
256
256
  this._geojson = geojson
257
257
  this.onDataLoaded()
258
258
  this.dataChanged()
259
+ return features
259
260
  }
260
261
 
261
262
  onDataLoaded() {
@@ -315,7 +316,7 @@ export class DataLayer extends ServerStored {
315
316
  const response = await this._umap.request.get(url)
316
317
  if (response?.ok) {
317
318
  this.clear()
318
- this._umap.formatter
319
+ return this._umap.formatter
319
320
  .parse(await response.text(), this.options.remoteData.format)
320
321
  .then((geojson) => this.fromGeoJSON(geojson))
321
322
  }
@@ -443,10 +444,11 @@ export class DataLayer extends ServerStored {
443
444
  try {
444
445
  // Do not fail if remote data is somehow invalid,
445
446
  // otherwise the layer becomes uneditable.
446
- this.makeFeatures(geojson, sync)
447
+ return this.makeFeatures(geojson, sync)
447
448
  } catch (err) {
448
449
  console.log('Error with DataLayer', this.id)
449
450
  console.error(err)
451
+ return []
450
452
  }
451
453
  }
452
454
 
@@ -463,10 +465,13 @@ export class DataLayer extends ServerStored {
463
465
  ? geojson
464
466
  : geojson.features || geojson.geometries
465
467
  if (!collection) return
468
+ const features = []
466
469
  this.sortFeatures(collection)
467
- for (const feature of collection) {
468
- this.makeFeature(feature, sync)
470
+ for (const featureJson of collection) {
471
+ const feature = this.makeFeature(featureJson, sync)
472
+ if (feature) features.push(feature)
469
473
  }
474
+ return features
470
475
  }
471
476
 
472
477
  makeFeature(geojson = {}, sync = true, id = null) {
@@ -503,31 +508,45 @@ export class DataLayer extends ServerStored {
503
508
  }
504
509
 
505
510
  async importRaw(raw, format) {
506
- this._umap.formatter
511
+ return this._umap.formatter
507
512
  .parse(raw, format)
508
513
  .then((geojson) => this.addData(geojson))
509
- .then(() => this.zoomTo())
510
- this.isDirty = true
514
+ .then((data) => {
515
+ if (data?.length) this.isDirty = true
516
+ return data
517
+ })
511
518
  }
512
519
 
513
- importFromFiles(files, type) {
514
- for (const f of files) {
515
- this.importFromFile(f, type)
520
+ readFile(f) {
521
+ return new Promise((resolve) => {
522
+ const reader = new FileReader()
523
+ reader.onloadend = () => resolve(reader.result)
524
+ reader.readAsText(f)
525
+ })
526
+ }
527
+
528
+ async importFromFiles(files, type) {
529
+ const toLoad = []
530
+ for (const file of files) {
531
+ toLoad.push(this.importFromFile(file, type))
516
532
  }
533
+ const features = await Promise.all(toLoad)
534
+ return new Promise((resolve) => {
535
+ resolve([].concat(...features))
536
+ })
517
537
  }
518
538
 
519
- importFromFile(f, type) {
520
- const reader = new FileReader()
539
+ async importFromFile(file, type) {
521
540
  type = type || Utils.detectFileType(f)
522
- reader.readAsText(f)
523
- reader.onload = (e) => this.importRaw(e.target.result, type)
541
+ const raw = await this.readFile(file)
542
+ return this.importRaw(raw, type)
524
543
  }
525
544
 
526
545
  async importFromUrl(uri, type) {
527
546
  uri = this._umap.renderUrl(uri)
528
547
  const response = await this._umap.request.get(uri)
529
548
  if (response?.ok) {
530
- this.importRaw(await response.text(), type)
549
+ return this.importRaw(await response.text(), type)
531
550
  }
532
551
  }
533
552
 
@@ -930,9 +949,9 @@ export class DataLayer extends ServerStored {
930
949
  else this.hide()
931
950
  }
932
951
 
933
- zoomTo() {
952
+ zoomTo(bounds) {
934
953
  if (!this.isVisible()) return
935
- const bounds = this.layer.getBounds()
954
+ bounds = bounds || this.layer.getBounds()
936
955
  if (bounds.isValid()) {
937
956
  const options = { maxZoom: this.getOption('zoomTo') }
938
957
  this._leafletMap.fitBounds(bounds, options)
@@ -1,4 +1,8 @@
1
- import { DomEvent, DomUtil } from '../../vendors/leaflet/leaflet-src.esm.js'
1
+ import {
2
+ DomEvent,
3
+ DomUtil,
4
+ LatLngBounds,
5
+ } from '../../vendors/leaflet/leaflet-src.esm.js'
2
6
  import { uMapAlert as Alert } from '../components/alerts/alert.js'
3
7
  import { translate } from './i18n.js'
4
8
  import { SCHEMA } from './schema.js'
@@ -60,7 +64,10 @@ export default class Importer extends Utils.WithTemplate {
60
64
  this.TYPES = ['geojson', 'csv', 'gpx', 'kml', 'osm', 'georss', 'umap']
61
65
  this.IMPORTERS = []
62
66
  this.loadImporters()
63
- this.dialog = new Dialog({ className: 'importers dark' })
67
+ this.dialog = new Dialog({
68
+ className: 'importers dark',
69
+ back: () => this.showImporters(),
70
+ })
64
71
  }
65
72
 
66
73
  loadImporters() {
@@ -168,7 +175,7 @@ export default class Importer extends Utils.WithTemplate {
168
175
  button.addEventListener('click', () => plugin.open(this))
169
176
  grid.appendChild(button)
170
177
  }
171
- this.dialog.open({ template: element, cancel: false, accept: false })
178
+ this.dialog.open({ template: element, cancel: false, accept: false, back: false })
172
179
  }
173
180
 
174
181
  build() {
@@ -270,16 +277,12 @@ export default class Importer extends Utils.WithTemplate {
270
277
  }
271
278
 
272
279
  submit() {
273
- let hasErrors
274
280
  if (this.format === 'umap') {
275
- hasErrors = !this.full()
281
+ this.full()
276
282
  } else if (!this.url) {
277
- hasErrors = !this.copy()
283
+ this.copy()
278
284
  } else if (this.action) {
279
- hasErrors = !this[this.action]()
280
- }
281
- if (hasErrors === false) {
282
- Alert.info(translate('Data successfully imported!'))
285
+ this[this.action]()
283
286
  }
284
287
  }
285
288
 
@@ -294,8 +297,9 @@ export default class Importer extends Utils.WithTemplate {
294
297
  } else if (this.url) {
295
298
  this._umap.importFromUrl(this.url, this.format)
296
299
  }
300
+ this.onSuccess()
297
301
  } catch (e) {
298
- Alert.error(translate('Invalid umap data'))
302
+ this.onError(translate('Invalid umap data'))
299
303
  console.error(e)
300
304
  return false
301
305
  }
@@ -306,7 +310,7 @@ export default class Importer extends Utils.WithTemplate {
306
310
  return false
307
311
  }
308
312
  if (!this.format) {
309
- Alert.error(translate('Please choose a format'))
313
+ this.onError(translate('Please choose a format'))
310
314
  return false
311
315
  }
312
316
  const layer = this.layer
@@ -318,26 +322,67 @@ export default class Importer extends Utils.WithTemplate {
318
322
  layer.options.remoteData.proxy = true
319
323
  layer.options.remoteData.ttl = SCHEMA.ttl.default
320
324
  }
321
- layer.fetchRemoteData(true)
325
+ layer.fetchRemoteData(true).then((features) => {
326
+ if (features?.length) {
327
+ layer.zoomTo()
328
+ this.onSuccess()
329
+ } else {
330
+ this.onError()
331
+ }
332
+ })
322
333
  }
323
334
 
324
- copy() {
335
+ async copy() {
325
336
  // Format may be guessed from file later.
326
337
  // Usefull in case of multiple files with different formats.
327
338
  if (!this.format && !this.files.length) {
328
- Alert.error(translate('Please choose a format'))
339
+ this.onError(translate('Please choose a format'))
329
340
  return false
330
341
  }
342
+ let promise
331
343
  const layer = this.layer
332
344
  if (this.clear) layer.empty()
333
345
  if (this.files.length) {
334
- for (const file of this.files) {
335
- this._umap.processFileToImport(file, layer, this.format)
336
- }
346
+ promise = layer.importFromFiles(this.files, this.format)
337
347
  } else if (this.raw) {
338
- layer.importRaw(this.raw, this.format)
348
+ promise = layer.importRaw(this.raw, this.format)
339
349
  } else if (this.url) {
340
- layer.importFromUrl(this.url, this.format)
350
+ promise = layer.importFromUrl(this.url, this.format)
351
+ }
352
+ if (promise) promise.then((data) => this.onCopyFinished(layer, data))
353
+ }
354
+
355
+ onError(message = translate('No data has been found for import')) {
356
+ Alert.error(message)
357
+ }
358
+
359
+ onSuccess(count) {
360
+ if (count) {
361
+ Alert.success(
362
+ translate('Successfully imported {count} feature(s)', {
363
+ count: count,
364
+ })
365
+ )
366
+ } else {
367
+ Alert.success(translate('Data successfully imported!'))
368
+ }
369
+ }
370
+
371
+ onCopyFinished(layer, features) {
372
+ // undefined features means error, let original error message pop
373
+ if (!features) return
374
+ if (!features.length) {
375
+ this.onError()
376
+ } else {
377
+ const bounds = new LatLngBounds()
378
+ for (const feature of features) {
379
+ const featureBounds = feature.ui.getBounds
380
+ ? feature.ui.getBounds()
381
+ : feature.ui.getCenter()
382
+ bounds.extend(featureBounds)
383
+ }
384
+ this.onSuccess(features.length)
385
+ layer.zoomTo(bounds)
341
386
  }
342
387
  }
343
388
  }
@@ -22,7 +22,7 @@ export function getClass(name) {
22
22
 
23
23
  export const RECENT = []
24
24
 
25
- const BaseIcon = L.DivIcon.extend({
25
+ const BaseIcon = DivIcon.extend({
26
26
  initialize: function (options) {
27
27
  const default_options = {
28
28
  iconSize: null, // Made in css
@@ -86,6 +86,7 @@ const DefaultIcon = BaseIcon.extend({
86
86
  },
87
87
 
88
88
  _setIconStyles: function (img, name) {
89
+ if (this.feature.isActive()) this.options.className += ' umap-icon-active'
89
90
  BaseIcon.prototype._setIconStyles.call(this, img, name)
90
91
  const color = this._getColor()
91
92
  const opacity = this._getOpacity()
@@ -233,12 +233,8 @@ const ManageTilelayerMixin = {
233
233
  },
234
234
 
235
235
  updateTileLayers: function () {
236
- const callback = (tilelayer) => {
237
- this.options.tilelayer = tilelayer.toJSON()
238
- this._umap.isDirty = true
239
- }
240
236
  if (this._controls.tilelayersChooser) {
241
- this._controls.tilelayersChooser.openSwitcher({ callback, edit: true })
237
+ this._controls.tilelayersChooser.openSwitcher({ edit: true })
242
238
  }
243
239
  },
244
240
  }
@@ -263,8 +259,12 @@ export const LeafletMap = BaseMap.extend({
263
259
  this.loader.onAdd(this)
264
260
 
265
261
  if (!this.options.noControl) {
266
- DomEvent.on(document.body, 'dataloading', (e) => this.fire('dataloading', e))
267
- DomEvent.on(document.body, 'dataload', (e) => this.fire('dataload', e))
262
+ DomEvent.on(document.body, 'dataloading', (event) =>
263
+ this.fire('dataloading', event.detail)
264
+ )
265
+ DomEvent.on(document.body, 'dataload', (event) =>
266
+ this.fire('dataload', event.detail)
267
+ )
268
268
  this.on('click', this.closeInplaceToolbar)
269
269
  }
270
270
 
@@ -238,11 +238,15 @@ export const LeafletMarker = Marker.extend({
238
238
  },
239
239
 
240
240
  highlight: function () {
241
- DomUtil.addClass(this.options.icon.elements.main, 'umap-icon-active')
241
+ this.feature.activate()
242
+ this._redraw()
243
+ this._bringToFront()
242
244
  },
243
245
 
244
246
  resetHighlight: function () {
245
- DomUtil.removeClass(this.options.icon.elements.main, 'umap-icon-active')
247
+ this.feature.deactivate()
248
+ this._redraw()
249
+ this._resetZIndex()
246
250
  },
247
251
 
248
252
  getPopupToolbarAnchor: function () {
@@ -47,8 +47,8 @@ class BaseRequest {
47
47
  // In case of error, an alert is sent, but non 20X status are not handled
48
48
  // The consumer must check the response status by hand
49
49
  export class Request extends BaseRequest {
50
- fire(name, params) {
51
- document.body.dispatchEvent(new CustomEvent(name, params))
50
+ fire(name, detail) {
51
+ document.body.dispatchEvent(new CustomEvent(name, { detail }))
52
52
  }
53
53
 
54
54
  async _fetch(method, uri, headers, data) {
@@ -6,6 +6,7 @@ const TEMPLATE = `
6
6
  <form method="dialog" data-ref="form">
7
7
  <ul class="buttons">
8
8
  <li><i class="icon icon-16 icon-close" data-close></i></li>
9
+ <li hidden data-ref="back"><i class="icon icon-16 icon-back"></i></li>
9
10
  </ul>
10
11
  <h3 data-ref="message" id="${Math.round(Date.now()).toString(36)}"></h3>
11
12
  <fieldset data-ref="fieldset" role="document">
@@ -123,6 +124,10 @@ export default class Dialog extends WithTemplate {
123
124
  } else {
124
125
  this.elements.template.innerHTML = dialog.template || ''
125
126
  }
127
+ this.elements.back.hidden = !dialog.back
128
+ if (dialog.back) {
129
+ this.elements.back.addEventListener('click', dialog.back)
130
+ }
126
131
 
127
132
  this.focusable = this.getFocusable()
128
133
  this.hasFormData = this.elements.fieldset.elements.length > 0
@@ -218,6 +218,14 @@ export default class Umap extends ServerStored {
218
218
  this.fire('seteditedfeature')
219
219
  }
220
220
 
221
+ get activeFeature() {
222
+ return this._activeFeature
223
+ }
224
+
225
+ set activeFeature(feature) {
226
+ this._activeFeature = feature
227
+ }
228
+
221
229
  setPropertiesFromQueryString() {
222
230
  const asBoolean = (key) => {
223
231
  const value = this.searchParams.get(key)
@@ -316,12 +324,14 @@ export default class Umap extends ServerStored {
316
324
  dataUrl = this.renderUrl(dataUrl)
317
325
  dataUrl = this.proxyUrl(dataUrl)
318
326
  const datalayer = this.createDataLayer()
319
- await datalayer.importFromUrl(dataUrl, dataFormat)
327
+ await datalayer
328
+ .importFromUrl(dataUrl, dataFormat)
329
+ .then(() => datalayer.zoomTo())
320
330
  }
321
331
  } else if (data) {
322
332
  data = decodeURIComponent(data)
323
333
  const datalayer = this.createDataLayer()
324
- await datalayer.importRaw(data, dataFormat)
334
+ await datalayer.importRaw(data, dataFormat).then(() => datalayer.zoomTo())
325
335
  }
326
336
  }
327
337
 
@@ -568,9 +578,11 @@ export default class Umap extends ServerStored {
568
578
  }
569
579
  this.datalayersLoaded = true
570
580
  this.fire('datalayersloaded')
581
+ const toLoad = []
571
582
  for (const datalayer of this.datalayersIndex) {
572
- if (datalayer.showAtLoad()) await datalayer.show()
583
+ if (datalayer.showAtLoad()) toLoad.push(datalayer.show())
573
584
  }
585
+ await Promise.all(toLoad)
574
586
  this.dataloaded = true
575
587
  this.fire('dataloaded')
576
588
  }
@@ -641,6 +653,12 @@ export default class Umap extends ServerStored {
641
653
  // have changed, we'll be more subtil when we'll remove the
642
654
  // save action
643
655
  this.render(['name', 'user', 'permissions'])
656
+ if (!this._leafletMap.listens('saved')) {
657
+ // When we save only layers, we don't have the map feedback message
658
+ this._leafletMap.on('saved', () => {
659
+ Alert.success(translate('Map has been saved!'))
660
+ })
661
+ }
644
662
  this.fire('saved')
645
663
  }
646
664
 
@@ -1182,7 +1200,7 @@ export default class Umap extends ServerStored {
1182
1200
  geometry() {
1183
1201
  /* Return a GeoJSON geometry Object */
1184
1202
  const latlng = this._leafletMap.latLng(
1185
- this._leafletMap.options.center || this._leafletMap.getCenter()
1203
+ this.properties.center || this._leafletMap.getCenter()
1186
1204
  )
1187
1205
  return {
1188
1206
  type: 'Point',
@@ -1424,9 +1442,14 @@ export default class Umap extends ServerStored {
1424
1442
  const row = DomUtil.create('li', 'orderable', ul)
1425
1443
  DomUtil.createIcon(row, 'icon-drag', translate('Drag to reorder'))
1426
1444
  datalayer.renderToolbox(row)
1427
- const title = DomUtil.add('span', '', row, datalayer.options.name)
1445
+ const builder = new U.FormBuilder(
1446
+ datalayer,
1447
+ [['options.name', { handler: 'EditableText' }]],
1448
+ { className: 'umap-form-inline' }
1449
+ )
1450
+ const form = builder.build()
1451
+ row.appendChild(form)
1428
1452
  row.classList.toggle('off', !datalayer.isVisible())
1429
- title.textContent = datalayer.options.name
1430
1453
  row.dataset.id = stamp(datalayer)
1431
1454
  })
1432
1455
  const onReorder = (src, dst, initialIndex, finalIndex) => {
@@ -1514,7 +1537,7 @@ export default class Umap extends ServerStored {
1514
1537
  processFileToImport(file, layer, type) {
1515
1538
  type = type || Utils.detectFileType(file)
1516
1539
  if (!type) {
1517
- U.Alert.error(
1540
+ Alert.error(
1518
1541
  translate('Unable to detect format of file {filename}', {
1519
1542
  filename: file.name,
1520
1543
  })
@@ -1660,8 +1683,8 @@ export default class Umap extends ServerStored {
1660
1683
  }
1661
1684
 
1662
1685
  _setCenterAndZoom() {
1663
- this._leafletMap.options.center = this._leafletMap.getCenter()
1664
- this._leafletMap.options.zoom = this._leafletMap.getZoom()
1686
+ this.properties.center = this._leafletMap.getCenter()
1687
+ this.properties.zoom = this._leafletMap.getZoom()
1665
1688
  this.isDirty = true
1666
1689
  this._defaultExtent = false
1667
1690
  }
@@ -683,10 +683,13 @@ U.TileLayerChooser = L.Control.extend({
683
683
  L.DomEvent.on(
684
684
  el,
685
685
  'click',
686
- function () {
686
+ () => {
687
687
  this.map.selectTileLayer(tilelayer)
688
688
  this.map._controls.tilelayers.setLayers()
689
- if (options?.callback) options.callback(tilelayer)
689
+ if (options?.edit) {
690
+ this.map._umap.properties.tilelayer = tilelayer.toJSON()
691
+ this.map._umap.isDirty = true
692
+ }
690
693
  },
691
694
  this
692
695
  )
@@ -942,11 +945,11 @@ L.Control.Loading.include({
942
945
  },
943
946
 
944
947
  _showIndicator: function () {
945
- L.DomUtil.addClass(this._map._container, 'umap-loading')
948
+ this._map._container.classList.add('umap-loading')
946
949
  },
947
950
 
948
951
  _hideIndicator: function () {
949
- L.DomUtil.removeClass(this._map._container, 'umap-loading')
952
+ this._map._container.classList.remove('umap-loading')
950
953
  },
951
954
  })
952
955