umap-project 2.2.0b0__tar.gz → 2.2.1__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 (506) hide show
  1. {umap_project-2.2.0b0 → umap_project-2.2.1}/PKG-INFO +6 -6
  2. {umap_project-2.2.0b0 → umap_project-2.2.1}/pyproject.toml +5 -5
  3. umap_project-2.2.1/umap/.DS_Store +0 -0
  4. umap_project-2.2.1/umap/__init__.py +1 -0
  5. umap_project-2.2.1/umap/static/.DS_Store +0 -0
  6. umap_project-2.2.1/umap/static/umap/.DS_Store +0 -0
  7. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/base.css +14 -5
  8. umap_project-2.2.1/umap/static/umap/favicons/.DS_Store +0 -0
  9. umap_project-2.2.1/umap/static/umap/fonts/.DS_Store +0 -0
  10. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/browser.js +16 -1
  11. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/dompurify.js +1 -1
  12. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/facets.js +1 -0
  13. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/utils.js +6 -6
  14. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.autocomplete.js +40 -25
  15. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.controls.js +48 -43
  16. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.core.js +27 -12
  17. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.features.js +2 -2
  18. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.forms.js +24 -18
  19. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.importer.js +60 -46
  20. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.js +9 -11
  21. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.layer.js +9 -1
  22. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.permissions.js +9 -3
  23. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.popup.js +16 -9
  24. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.share.js +1 -1
  25. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.ui.js +10 -9
  26. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/am_ET.js +4 -3
  27. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/am_ET.json +4 -3
  28. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ar.js +4 -3
  29. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ar.json +4 -3
  30. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ast.js +4 -3
  31. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ast.json +4 -3
  32. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/bg.js +4 -3
  33. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/bg.json +4 -3
  34. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/br.js +15 -14
  35. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/br.json +15 -14
  36. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ca.js +4 -3
  37. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ca.json +4 -3
  38. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/cs_CZ.js +4 -3
  39. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/cs_CZ.json +4 -3
  40. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/da.js +4 -3
  41. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/da.json +4 -3
  42. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/de.js +4 -3
  43. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/de.json +4 -3
  44. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/el.js +4 -3
  45. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/el.json +4 -3
  46. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/en.js +4 -3
  47. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/en.json +4 -3
  48. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/en_US.json +4 -3
  49. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/es.js +4 -3
  50. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/es.json +4 -3
  51. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/et.js +4 -3
  52. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/et.json +4 -3
  53. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/fa_IR.js +4 -3
  54. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/fa_IR.json +4 -3
  55. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/fi.js +4 -3
  56. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/fi.json +4 -3
  57. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/fr.js +4 -3
  58. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/fr.json +4 -3
  59. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/gl.js +4 -3
  60. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/gl.json +4 -3
  61. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/he.js +4 -3
  62. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/he.json +4 -3
  63. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/hr.js +4 -3
  64. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/hr.json +4 -3
  65. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/hu.js +4 -3
  66. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/hu.json +4 -3
  67. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/id.js +4 -3
  68. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/id.json +4 -3
  69. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/is.js +4 -3
  70. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/is.json +4 -3
  71. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/it.js +4 -3
  72. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/it.json +4 -3
  73. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ja.js +4 -3
  74. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ja.json +4 -3
  75. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ko.js +4 -3
  76. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ko.json +4 -3
  77. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/lt.js +4 -3
  78. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/lt.json +4 -3
  79. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ms.js +4 -3
  80. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ms.json +4 -3
  81. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/nl.js +4 -3
  82. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/nl.json +4 -3
  83. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/no.js +4 -3
  84. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/no.json +4 -3
  85. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/pl.js +4 -3
  86. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/pl.json +4 -3
  87. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/pl_PL.json +4 -3
  88. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/pt.js +4 -3
  89. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/pt.json +4 -3
  90. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/pt_BR.js +4 -3
  91. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/pt_BR.json +4 -3
  92. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/pt_PT.js +4 -3
  93. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/pt_PT.json +4 -3
  94. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ro.js +4 -3
  95. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ro.json +4 -3
  96. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ru.js +4 -3
  97. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/ru.json +4 -3
  98. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/sk_SK.js +4 -3
  99. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/sk_SK.json +4 -3
  100. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/sl.js +4 -3
  101. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/sl.json +4 -3
  102. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/sr.js +4 -3
  103. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/sr.json +4 -3
  104. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/sv.js +4 -3
  105. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/sv.json +4 -3
  106. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/th_TH.js +4 -3
  107. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/th_TH.json +4 -3
  108. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/tr.js +4 -3
  109. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/tr.json +4 -3
  110. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/uk_UA.js +4 -3
  111. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/uk_UA.json +4 -3
  112. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/vi.js +4 -3
  113. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/vi.json +4 -3
  114. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/vi_VN.json +4 -3
  115. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/zh.js +4 -3
  116. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/zh.json +4 -3
  117. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/zh_CN.json +4 -3
  118. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/zh_TW.Big5.json +4 -3
  119. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/zh_TW.js +4 -3
  120. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/zh_TW.json +4 -3
  121. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/map.css +12 -1
  122. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/iconlayers/iconLayers.js +1 -1
  123. umap_project-2.2.1/umap/tests/.DS_Store +0 -0
  124. umap_project-2.2.1/umap/tests/integration/.DS_Store +0 -0
  125. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_anonymous_owned_map.py +21 -0
  126. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_basics.py +21 -0
  127. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_edit_map.py +7 -0
  128. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_import.py +4 -2
  129. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_tilelayer.py +10 -0
  130. umap_project-2.2.0b0/umap/__init__.py +0 -1
  131. {umap_project-2.2.0b0 → umap_project-2.2.1}/.gitignore +0 -0
  132. {umap_project-2.2.0b0 → umap_project-2.2.1}/LICENSE +0 -0
  133. {umap_project-2.2.0b0 → umap_project-2.2.1}/README.md +0 -0
  134. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/admin.py +0 -0
  135. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/apps.py +0 -0
  136. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/autocomplete.py +0 -0
  137. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/bin/__init__.py +0 -0
  138. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/context_processors.py +0 -0
  139. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/decorators.py +0 -0
  140. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/fields.py +0 -0
  141. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/forms.py +0 -0
  142. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/am_ET/LC_MESSAGES/django.mo +0 -0
  143. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/am_ET/LC_MESSAGES/django.po +0 -0
  144. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ar/LC_MESSAGES/django.mo +0 -0
  145. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ar/LC_MESSAGES/django.po +0 -0
  146. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ast/LC_MESSAGES/django.mo +0 -0
  147. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ast/LC_MESSAGES/django.po +0 -0
  148. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/bg/LC_MESSAGES/django.mo +0 -0
  149. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/bg/LC_MESSAGES/django.po +0 -0
  150. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/br/LC_MESSAGES/django.mo +0 -0
  151. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/br/LC_MESSAGES/django.po +0 -0
  152. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ca/LC_MESSAGES/django.mo +0 -0
  153. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ca/LC_MESSAGES/django.po +0 -0
  154. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  155. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/cs_CZ/LC_MESSAGES/django.po +0 -0
  156. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/da/LC_MESSAGES/django.mo +0 -0
  157. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/da/LC_MESSAGES/django.po +0 -0
  158. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/de/LC_MESSAGES/django.mo +0 -0
  159. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/de/LC_MESSAGES/django.po +0 -0
  160. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/el/LC_MESSAGES/django.mo +0 -0
  161. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/el/LC_MESSAGES/django.po +0 -0
  162. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/en/LC_MESSAGES/django.mo +0 -0
  163. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/en/LC_MESSAGES/django.po +0 -0
  164. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/es/LC_MESSAGES/django.mo +0 -0
  165. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/es/LC_MESSAGES/django.po +0 -0
  166. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/et/LC_MESSAGES/django.mo +0 -0
  167. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/et/LC_MESSAGES/django.po +0 -0
  168. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/eu/LC_MESSAGES/django.mo +0 -0
  169. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/eu/LC_MESSAGES/django.po +0 -0
  170. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/fa_IR/LC_MESSAGES/django.mo +0 -0
  171. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/fa_IR/LC_MESSAGES/django.po +0 -0
  172. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/fi/LC_MESSAGES/django.mo +0 -0
  173. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/fi/LC_MESSAGES/django.po +0 -0
  174. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/fr/LC_MESSAGES/django.mo +0 -0
  175. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/fr/LC_MESSAGES/django.po +0 -0
  176. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/gl/LC_MESSAGES/django.mo +0 -0
  177. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/gl/LC_MESSAGES/django.po +0 -0
  178. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/he/LC_MESSAGES/django.mo +0 -0
  179. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/he/LC_MESSAGES/django.po +0 -0
  180. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/hr/LC_MESSAGES/django.mo +0 -0
  181. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/hr/LC_MESSAGES/django.po +0 -0
  182. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/hu/LC_MESSAGES/django.mo +0 -0
  183. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/hu/LC_MESSAGES/django.po +0 -0
  184. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/id/LC_MESSAGES/django.mo +0 -0
  185. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/id/LC_MESSAGES/django.po +0 -0
  186. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/is/LC_MESSAGES/django.mo +0 -0
  187. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/is/LC_MESSAGES/django.po +0 -0
  188. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/it/LC_MESSAGES/django.mo +0 -0
  189. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/it/LC_MESSAGES/django.po +0 -0
  190. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ja/LC_MESSAGES/django.mo +0 -0
  191. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ja/LC_MESSAGES/django.po +0 -0
  192. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ko/LC_MESSAGES/django.mo +0 -0
  193. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ko/LC_MESSAGES/django.po +0 -0
  194. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/lt/LC_MESSAGES/django.mo +0 -0
  195. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/lt/LC_MESSAGES/django.po +0 -0
  196. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ms/LC_MESSAGES/django.mo +0 -0
  197. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ms/LC_MESSAGES/django.po +0 -0
  198. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/nl/LC_MESSAGES/django.mo +0 -0
  199. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/nl/LC_MESSAGES/django.po +0 -0
  200. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/no/LC_MESSAGES/django.mo +0 -0
  201. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/no/LC_MESSAGES/django.po +0 -0
  202. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/pl/LC_MESSAGES/django.mo +0 -0
  203. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/pl/LC_MESSAGES/django.po +0 -0
  204. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/pt/LC_MESSAGES/django.mo +0 -0
  205. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/pt/LC_MESSAGES/django.po +0 -0
  206. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  207. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/pt_BR/LC_MESSAGES/django.po +0 -0
  208. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  209. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/pt_PT/LC_MESSAGES/django.po +0 -0
  210. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ro/LC_MESSAGES/django.mo +0 -0
  211. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ro/LC_MESSAGES/django.po +0 -0
  212. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ru/LC_MESSAGES/django.mo +0 -0
  213. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/ru/LC_MESSAGES/django.po +0 -0
  214. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/si/LC_MESSAGES/django.mo +0 -0
  215. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/si/LC_MESSAGES/django.po +0 -0
  216. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  217. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/sk_SK/LC_MESSAGES/django.po +0 -0
  218. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/sl/LC_MESSAGES/django.mo +0 -0
  219. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/sl/LC_MESSAGES/django.po +0 -0
  220. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/sr/LC_MESSAGES/django.mo +0 -0
  221. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/sr/LC_MESSAGES/django.po +0 -0
  222. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/sv/LC_MESSAGES/django.mo +0 -0
  223. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/sv/LC_MESSAGES/django.po +0 -0
  224. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/th_TH/LC_MESSAGES/django.mo +0 -0
  225. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/th_TH/LC_MESSAGES/django.po +0 -0
  226. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/tr/LC_MESSAGES/django.mo +0 -0
  227. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/tr/LC_MESSAGES/django.po +0 -0
  228. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/uk_UA/LC_MESSAGES/django.mo +0 -0
  229. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/uk_UA/LC_MESSAGES/django.po +0 -0
  230. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/vi/LC_MESSAGES/django.mo +0 -0
  231. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/vi/LC_MESSAGES/django.po +0 -0
  232. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/zh/LC_MESSAGES/django.mo +0 -0
  233. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/zh/LC_MESSAGES/django.po +0 -0
  234. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  235. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/locale/zh_TW/LC_MESSAGES/django.po +0 -0
  236. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/management/__init__.py +0 -0
  237. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/management/commands/__init__.py +0 -0
  238. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/management/commands/anonymous_edit_url.py +0 -0
  239. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/management/commands/generate_js_locale.py +0 -0
  240. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/management/commands/import_pictograms.py +0 -0
  241. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/managers.py +0 -0
  242. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/middleware.py +0 -0
  243. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0001_initial.py +0 -0
  244. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0002_tilelayer_tms.py +0 -0
  245. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0003_add_tilelayer.py +0 -0
  246. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0004_add_licence.py +0 -0
  247. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0005_remove_map_tilelayer.py +0 -0
  248. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0006_auto_20190407_0719.py +0 -0
  249. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0007_auto_20190416_1757.py +0 -0
  250. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0008_alter_map_settings.py +0 -0
  251. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0009_star.py +0 -0
  252. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0010_alter_map_edit_status_alter_map_share_status.py +0 -0
  253. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0011_alter_map_edit_status_alter_map_share_status.py +0 -0
  254. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0012_datalayer_settings.py +0 -0
  255. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0013_datalayer_edit_status.py +0 -0
  256. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0014_map_created_at.py +0 -0
  257. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0015_alter_pictogram_pictogram.py +0 -0
  258. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0016_pictogram_category.py +0 -0
  259. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0017_migrate_to_openstreetmap_oauth2.py +0 -0
  260. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0018_datalayer_uuid.py +0 -0
  261. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0019_migrate_internal_remote_datalayers.py +0 -0
  262. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0020_alter_tilelayer_url_template.py +0 -0
  263. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/0021_remove_map_description.py +0 -0
  264. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/migrations/__init__.py +0 -0
  265. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/models.py +0 -0
  266. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/settings/__init__.py +0 -0
  267. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/settings/base.py +0 -0
  268. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/settings/dev.py +0 -0
  269. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/settings/local.py.sample +0 -0
  270. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/.gitignore +0 -0
  271. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/bitbucket.png +0 -0
  272. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/content.css +0 -0
  273. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/css/icon.css +0 -0
  274. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/css/panel.css +0 -0
  275. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/favicons/apple-touch-icon.png +0 -0
  276. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/favicons/favicon.ico +0 -0
  277. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/favicons/icon-192.png +0 -0
  278. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/favicons/icon-512.png +0 -0
  279. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/favicons/icon.svg +0 -0
  280. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/font/FiraSans-Light.woff +0 -0
  281. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/font/FiraSans-Light.woff2 +0 -0
  282. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/font/FiraSans-LightItalic.woff +0 -0
  283. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/font/FiraSans-LightItalic.woff2 +0 -0
  284. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/font/FiraSans-SemiBold.woff +0 -0
  285. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/font/FiraSans-SemiBold.woff2 +0 -0
  286. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/font.css +0 -0
  287. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/github.png +0 -0
  288. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/16-white.svg +0 -0
  289. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/16.svg +0 -0
  290. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/24-white.svg +0 -0
  291. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/24.svg +0 -0
  292. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/edit.svg +0 -0
  293. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/icon-bg.png +0 -0
  294. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/icon-delete.svg +0 -0
  295. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/icon-download.svg +0 -0
  296. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/icon-duplicate.svg +0 -0
  297. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/icon-edit.svg +0 -0
  298. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/icon-share.svg +0 -0
  299. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/icon-view.svg +0 -0
  300. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/logo.svg +0 -0
  301. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/logo_filigree.png +0 -0
  302. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/logo_small.svg +0 -0
  303. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/marker.png +0 -0
  304. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/marker.svg +0 -0
  305. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/opensource.svg +0 -0
  306. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/osm.svg +0 -0
  307. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/search.gif +0 -0
  308. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/source/16-white.svg +0 -0
  309. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/source/16.svg +0 -0
  310. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/source/24-white.svg +0 -0
  311. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/img/source/24.svg +0 -0
  312. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/components/fragment.js +0 -0
  313. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/global.js +0 -0
  314. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/i18n.js +0 -0
  315. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/leaflet-configure.js +0 -0
  316. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/orderable.js +0 -0
  317. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/panel.js +0 -0
  318. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/request.js +0 -0
  319. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/schema.js +0 -0
  320. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/modules/urls.js +0 -0
  321. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.datalayer.permissions.js +0 -0
  322. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.icon.js +0 -0
  323. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.slideshow.js +0 -0
  324. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/js/umap.tableeditor.js +0 -0
  325. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/eu.js +0 -0
  326. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/eu.json +0 -0
  327. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/si.js +0 -0
  328. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/locale/si.json +0 -0
  329. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/nav.css +0 -0
  330. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/openstreetmap.png +0 -0
  331. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/test/.eslintrc +0 -0
  332. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/test/DataLayer.js +0 -0
  333. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/test/Feature.js +0 -0
  334. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/test/Map.js +0 -0
  335. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/test/Marker.js +0 -0
  336. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/test/Polygon.js +0 -0
  337. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/test/Polyline.js +0 -0
  338. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/test/TableEditor.js +0 -0
  339. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/test/Util.js +0 -0
  340. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/test/_pre.js +0 -0
  341. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/test/index.html +0 -0
  342. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/theme.css +0 -0
  343. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/twitter.png +0 -0
  344. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/unittests/URLs.js +0 -0
  345. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/unittests/utils.js +0 -0
  346. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vars.css +0 -0
  347. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/colorbrewer/colorbrewer.js +0 -0
  348. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/contextmenu/leaflet.contextmenu.min.css +0 -0
  349. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/contextmenu/leaflet.contextmenu.min.js +0 -0
  350. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/csv2geojson/csv2geojson.js +0 -0
  351. /umap_project-2.2.0b0/umap/static/umap/vendors/dompurify/purify.es.mjs → /umap_project-2.2.1/umap/static/umap/vendors/dompurify/purify.es.js +0 -0
  352. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/editable/Leaflet.Editable.js +0 -0
  353. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/editable/Path.Drag.js +0 -0
  354. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/editinosm/Leaflet.EditInOSM.css +0 -0
  355. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/editinosm/Leaflet.EditInOSM.js +0 -0
  356. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/editinosm/edit-in-osm.png +0 -0
  357. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +0 -0
  358. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/fullscreen/Leaflet.fullscreen.js +0 -0
  359. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/fullscreen/Leaflet.fullscreen.min.js +0 -0
  360. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/fullscreen/fullscreen.png +0 -0
  361. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/fullscreen/fullscreen@2x.png +0 -0
  362. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/fullscreen/leaflet.fullscreen.css +0 -0
  363. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/georsstogeojson/GeoRSSToGeoJSON.js +0 -0
  364. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/hash/leaflet-hash.js +0 -0
  365. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/heat/leaflet-heat.js +0 -0
  366. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/i18n/Leaflet.i18n.js +0 -0
  367. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/iconlayers/check.png +0 -0
  368. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/iconlayers/iconLayers.css +0 -0
  369. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/iconlayers/transparent-pixel.png +0 -0
  370. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/images/layers-2x.png +0 -0
  371. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/images/layers.png +0 -0
  372. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/images/marker-icon-2x.png +0 -0
  373. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/images/marker-icon.png +0 -0
  374. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/images/marker-shadow.png +0 -0
  375. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/leaflet-src.esm.js +0 -0
  376. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/leaflet-src.esm.js.map +0 -0
  377. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/leaflet-src.js +0 -0
  378. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/leaflet-src.js.map +0 -0
  379. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/leaflet.css +0 -0
  380. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/leaflet.js +0 -0
  381. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/leaflet/leaflet.js.map +0 -0
  382. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/loading/Control.Loading.css +0 -0
  383. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/loading/Control.Loading.js +0 -0
  384. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.css +0 -0
  385. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.css.map +0 -0
  386. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js +0 -0
  387. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js.map +0 -0
  388. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/markercluster/MarkerCluster.Default.css +0 -0
  389. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/markercluster/MarkerCluster.css +0 -0
  390. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/markercluster/WhereAreTheJavascriptFiles.txt +0 -0
  391. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/markercluster/leaflet.markercluster-src.js +0 -0
  392. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/markercluster/leaflet.markercluster-src.js.map +0 -0
  393. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/markercluster/leaflet.markercluster.js +0 -0
  394. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/markercluster/leaflet.markercluster.js.map +0 -0
  395. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/measurable/Leaflet.Measurable.css +0 -0
  396. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/measurable/Leaflet.Measurable.js +0 -0
  397. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/minimap/Control.MiniMap.min.css +0 -0
  398. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/minimap/Control.MiniMap.min.js +0 -0
  399. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/minimap/images/toggle.png +0 -0
  400. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/minimap/images/toggle.svg +0 -0
  401. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/osmtogeojson/osmtogeojson.js +0 -0
  402. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/photon/leaflet.photon.js +0 -0
  403. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/simple-statistics/simple-statistics.min.js +0 -0
  404. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/simple-statistics/simple-statistics.min.js.map +0 -0
  405. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/togeojson/togeojson.umd.js +0 -0
  406. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/togeojson/togeojson.umd.js.map +0 -0
  407. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/togpx/togpx.js +0 -0
  408. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/tokml/tokml.js +0 -0
  409. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/toolbar/leaflet.toolbar-src.css +0 -0
  410. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/toolbar/leaflet.toolbar-src.js +0 -0
  411. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/toolbar/leaflet.toolbar.css +0 -0
  412. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/static/umap/vendors/toolbar/leaflet.toolbar.js +0 -0
  413. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/storage.py +0 -0
  414. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/404.html +0 -0
  415. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/500.html +0 -0
  416. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/auth/user_detail.html +0 -0
  417. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/auth/user_form.html +0 -0
  418. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/auth/user_stars.html +0 -0
  419. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/base.html +0 -0
  420. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/registration/login.html +0 -0
  421. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/about.html +0 -0
  422. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/about_summary.html +0 -0
  423. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/branding.html +0 -0
  424. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/content.html +0 -0
  425. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/content_footer.html +0 -0
  426. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/css.html +0 -0
  427. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/footer.html +0 -0
  428. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/header.html +0 -0
  429. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/home.html +0 -0
  430. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/js.html +0 -0
  431. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/locale.js +0 -0
  432. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/login_popup_end.html +0 -0
  433. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/map_detail.html +0 -0
  434. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/map_fragment.html +0 -0
  435. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/map_init.html +0 -0
  436. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/map_list.html +0 -0
  437. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/map_table.html +0 -0
  438. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/messages.html +0 -0
  439. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/navigation.html +0 -0
  440. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/password_change.html +0 -0
  441. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/password_change_done.html +0 -0
  442. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/search.html +0 -0
  443. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/search_bar.html +0 -0
  444. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/success.html +0 -0
  445. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templates/umap/user_dashboard.html +0 -0
  446. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templatetags/__init__.py +0 -0
  447. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/templatetags/umap_tags.py +0 -0
  448. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/__init__.py +0 -0
  449. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/base.py +0 -0
  450. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/conftest.py +0 -0
  451. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/choropleth_region_chomage.geojson +0 -0
  452. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/circle.svg +0 -0
  453. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/display_on_load.umap +0 -0
  454. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/star.svg +0 -0
  455. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/test_upload_data.csv +0 -0
  456. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/test_upload_data.gpx +0 -0
  457. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/test_upload_data.json +0 -0
  458. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/test_upload_data.kml +0 -0
  459. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/test_upload_data.umap +0 -0
  460. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/test_upload_data_osm.json +0 -0
  461. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/test_upload_empty_coordinates.json +0 -0
  462. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/test_upload_missing_name.json +0 -0
  463. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/fixtures/test_upload_non_linear_ring.json +0 -0
  464. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/__init__.py +0 -0
  465. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/conftest.py +0 -0
  466. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_browser.py +0 -0
  467. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_choropleth.py +0 -0
  468. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_collaborative_editing.py +0 -0
  469. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_dashboard.py +0 -0
  470. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_datalayer.py +0 -0
  471. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_draw_polygon.py +0 -0
  472. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_draw_polyline.py +0 -0
  473. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_edit_datalayer.py +0 -0
  474. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_edit_marker.py +0 -0
  475. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_edit_polygon.py +0 -0
  476. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_export_map.py +0 -0
  477. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_facets_browser.py +0 -0
  478. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_features_id_generation.py +0 -0
  479. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_map.py +0 -0
  480. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_map_list.py +0 -0
  481. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_map_preview.py +0 -0
  482. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_owned_map.py +0 -0
  483. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_picto.py +0 -0
  484. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_querystring.py +0 -0
  485. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_share.py +0 -0
  486. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_slideshow.py +0 -0
  487. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_star.py +0 -0
  488. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_statics.py +0 -0
  489. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_tableeditor.py +0 -0
  490. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_view_marker.py +0 -0
  491. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_view_polygon.py +0 -0
  492. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/integration/test_view_polyline.py +0 -0
  493. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/settings.py +0 -0
  494. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/test_datalayer.py +0 -0
  495. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/test_datalayer_views.py +0 -0
  496. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/test_licence.py +0 -0
  497. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/test_map.py +0 -0
  498. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/test_map_views.py +0 -0
  499. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/test_merge_features.py +0 -0
  500. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/test_tilelayer.py +0 -0
  501. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/test_utils.py +0 -0
  502. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/tests/test_views.py +0 -0
  503. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/urls.py +0 -0
  504. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/utils.py +0 -0
  505. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/views.py +0 -0
  506. {umap_project-2.2.0b0 → umap_project-2.2.1}/umap/wsgi.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: umap-project
3
- Version: 2.2.0b0
3
+ Version: 2.2.1
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>
@@ -26,15 +26,15 @@ Requires-Dist: rcssmin==1.1.2
26
26
  Requires-Dist: requests==2.31.0
27
27
  Requires-Dist: rjsmin==1.2.2
28
28
  Requires-Dist: social-auth-app-django==5.4.1
29
- Requires-Dist: social-auth-core==4.5.3
29
+ Requires-Dist: social-auth-core==4.5.4
30
30
  Provides-Extra: dev
31
31
  Requires-Dist: djlint==1.34.1; extra == 'dev'
32
- Requires-Dist: hatch==1.9.4; extra == 'dev'
32
+ Requires-Dist: hatch==1.9.7; extra == 'dev'
33
33
  Requires-Dist: isort==5.13.2; extra == 'dev'
34
34
  Requires-Dist: mkdocs-material==9.5.18; extra == 'dev'
35
35
  Requires-Dist: mkdocs==1.5.3; extra == 'dev'
36
- Requires-Dist: pymdown-extensions==10.8; extra == 'dev'
37
- Requires-Dist: ruff==0.4.1; extra == 'dev'
36
+ Requires-Dist: pymdown-extensions==10.8.1; extra == 'dev'
37
+ Requires-Dist: ruff==0.4.2; extra == 'dev'
38
38
  Requires-Dist: vermin==1.6.0; extra == 'dev'
39
39
  Provides-Extra: docker
40
40
  Requires-Dist: uwsgi==2.0.25.1; extra == 'docker'
@@ -44,7 +44,7 @@ Requires-Dist: playwright>=1.39; extra == 'test'
44
44
  Requires-Dist: pytest-django==4.8.0; extra == 'test'
45
45
  Requires-Dist: pytest-playwright==0.4.4; extra == 'test'
46
46
  Requires-Dist: pytest-xdist<4,>=3.5.0; extra == 'test'
47
- Requires-Dist: pytest==8.1.1; extra == 'test'
47
+ Requires-Dist: pytest==8.2.0; extra == 'test'
48
48
  Description-Content-Type: text/markdown
49
49
 
50
50
  # uMap project
@@ -37,25 +37,25 @@ dependencies = [
37
37
  "requests==2.31.0",
38
38
  "rcssmin==1.1.2",
39
39
  "rjsmin==1.2.2",
40
- "social-auth-core==4.5.3",
40
+ "social-auth-core==4.5.4",
41
41
  "social-auth-app-django==5.4.1",
42
42
  ]
43
43
 
44
44
  [project.optional-dependencies]
45
45
  dev = [
46
- "hatch==1.9.4",
47
- "ruff==0.4.1",
46
+ "hatch==1.9.7",
47
+ "ruff==0.4.2",
48
48
  "djlint==1.34.1",
49
49
  "mkdocs==1.5.3",
50
50
  "mkdocs-material==9.5.18",
51
51
  "vermin==1.6.0",
52
- "pymdown-extensions==10.8",
52
+ "pymdown-extensions==10.8.1",
53
53
  "isort==5.13.2",
54
54
  ]
55
55
  test = [
56
56
  "factory-boy==3.2.1",
57
57
  "playwright>=1.39",
58
- "pytest==8.1.1",
58
+ "pytest==8.2.0",
59
59
  "pytest-django==4.8.0",
60
60
  "pytest-playwright==0.4.4",
61
61
  "pytest-xdist>=3.5.0,<4",
Binary file
@@ -0,0 +1 @@
1
+ VERSION = "2.2.1"
Binary file
@@ -580,20 +580,29 @@ i.info {
580
580
  margin-top: -8px;
581
581
  padding: 0 5px;
582
582
  }
583
- .pictogram-tabs {
583
+ .flat-tabs {
584
584
  display: flex;
585
585
  justify-content: space-around;
586
586
  font-size: 1.2em;
587
- padding-bottom: 20px;
587
+ margin-bottom: 20px;
588
+ border-bottom: 1px solid #bebebe;
588
589
  }
589
- .pictogram-tabs button {
590
+ .flat-tabs button {
590
591
  padding: 10px;
591
- color: #fff;
592
592
  text-decoration: none;
593
593
  cursor: pointer;
594
+ border-bottom: 1px solid transparent;
594
595
  }
595
- .pictogram-tabs .on {
596
+ .flat-tabs button:hover,
597
+ .flat-tabs .on {
596
598
  font-weight: bold;
599
+ border-bottom: 1px solid #444;
600
+ }
601
+ .dark .flat-tabs button {
602
+ color: #fff;
603
+ }
604
+ .dark .flat-tabs button:hover,
605
+ .dark .flat-tabs .on {
597
606
  border-bottom: 1px solid #fff;
598
607
  }
599
608
  .umap-pictogram-category h6 {
@@ -44,7 +44,7 @@ export default class Browser {
44
44
  U.Icon.setIconContrast(icon, colorBox, symbol, bgcolor)
45
45
  }
46
46
  const viewFeature = (e) => {
47
- feature.zoomTo({...e, callback: feature.view})
47
+ feature.zoomTo({ ...e, callback: feature.view })
48
48
  }
49
49
  DomEvent.on(zoom_to, 'click', viewFeature)
50
50
  DomEvent.on(title, 'click', viewFeature)
@@ -135,6 +135,7 @@ export default class Browser {
135
135
  DomEvent.disableClickPropagation(container)
136
136
 
137
137
  DomUtil.createTitle(container, translate('Browse data'), 'icon-layers')
138
+ this.tabsMenu(container, 'browse')
138
139
  const formContainer = DomUtil.create('div', '', container)
139
140
  this.dataContainer = DomUtil.create('div', '', container)
140
141
 
@@ -165,4 +166,18 @@ export default class Browser {
165
166
  DomEvent.on(button, 'click', map.openBrowser, map)
166
167
  return button
167
168
  }
169
+
170
+ tabsMenu(container, active) {
171
+ const tabs = L.DomUtil.create('div', 'flat-tabs', container)
172
+ const browse = L.DomUtil.add('button', 'flat tab-browse', tabs, L._('Data'))
173
+ DomEvent.on(browse, 'click', this.open, this)
174
+ if (this.map.options.facetKey) {
175
+ const facets = L.DomUtil.add('button', 'flat tab-facets', tabs, L._('Filters'))
176
+ DomEvent.on(facets, 'click', this.map.facets.open, this.map.facets)
177
+ }
178
+ const info = L.DomUtil.add('button', 'flat tab-info', tabs, L._('About'))
179
+ DomEvent.on(info, 'click', this.map.displayCaption, this.map)
180
+ let el = tabs.querySelector(`.tab-${active}`)
181
+ L.DomUtil.addClass(el, 'on')
182
+ }
168
183
  }
@@ -1,4 +1,4 @@
1
- import {default as DOMPurifyInitializer} from '../../vendors/dompurify/purify.es.mjs'
1
+ import { default as DOMPurifyInitializer } from '../../vendors/dompurify/purify.es.js'
2
2
  import { JSDOM } from 'jsdom'
3
3
 
4
4
  console.log(DOMPurifyInitializer)
@@ -69,6 +69,7 @@ export default class Facets {
69
69
  container,
70
70
  translate('Facet search')
71
71
  )
72
+ this.map.browser.tabsMenu(container, 'facets')
72
73
  const defined = this.getDefined()
73
74
  const names = Object.keys(defined)
74
75
  const facetProperties = this.compute(names, defined)
@@ -1,4 +1,4 @@
1
- import { default as DOMPurifyInitializer } from '../../vendors/dompurify/purify.es.mjs'
1
+ import { default as DOMPurifyInitializer } from '../../vendors/dompurify/purify.es.js'
2
2
 
3
3
  /**
4
4
  * Generate a pseudo-unique identifier (5 chars long, mixed-case alphanumeric)
@@ -70,7 +70,6 @@ export default function getPurify() {
70
70
  export function escapeHTML(s) {
71
71
  s = s ? s.toString() : ''
72
72
  s = getPurify().sanitize(s, {
73
- USE_PROFILES: { html: true },
74
73
  ADD_TAGS: ['iframe'],
75
74
  ALLOWED_TAGS: [
76
75
  'h3',
@@ -86,9 +85,10 @@ export function escapeHTML(s) {
86
85
  'iframe',
87
86
  'img',
88
87
  'br',
88
+ 'span',
89
89
  ],
90
90
  ADD_ATTR: ['target', 'allow', 'allowfullscreen', 'frameborder', 'scrolling'],
91
- ALLOWED_ATTR: ['href', 'src', 'width', 'height'],
91
+ ALLOWED_ATTR: ['href', 'src', 'width', 'height', 'style'],
92
92
  // Added: `geo:` URL scheme as defined in RFC5870:
93
93
  // https://www.rfc-editor.org/rfc/rfc5870.html
94
94
  // The base RegExp comes from:
@@ -358,7 +358,7 @@ export function template(str, data) {
358
358
  }
359
359
 
360
360
  export function parseNaiveDate(value) {
361
- const naive = new Date(value)
362
- // Let's pretend naive date are UTC, and remove time…
363
- return new Date(Date.UTC(naive.getFullYear(), naive.getMonth(), naive.getDate()))
361
+ const naive = new Date(value)
362
+ // Let's pretend naive date are UTC, and remove time…
363
+ return new Date(Date.UTC(naive.getFullYear(), naive.getMonth(), naive.getDate()))
364
364
  }
@@ -35,27 +35,25 @@ U.AutoComplete = L.Class.extend({
35
35
  },
36
36
 
37
37
  createInput: function () {
38
- this.input = L.DomUtil.element(
39
- 'input',
40
- {
41
- type: 'text',
42
- placeholder: this.options.placeholder,
43
- autocomplete: 'off',
44
- className: this.options.className,
45
- },
46
- this.el
47
- )
38
+ this.input = L.DomUtil.element({
39
+ tagName: 'input',
40
+ type: 'text',
41
+ parent: this.el,
42
+ placeholder: this.options.placeholder,
43
+ autocomplete: 'off',
44
+ className: this.options.className,
45
+ })
48
46
  L.DomEvent.on(this.input, 'keydown', this.onKeyDown, this)
49
47
  L.DomEvent.on(this.input, 'keyup', this.onKeyUp, this)
50
48
  L.DomEvent.on(this.input, 'blur', this.onBlur, this)
51
49
  },
52
50
 
53
51
  createContainer: function () {
54
- this.container = L.DomUtil.element(
55
- 'ul',
56
- { className: 'umap-autocomplete' },
57
- document.body
58
- )
52
+ this.container = L.DomUtil.element({
53
+ tagName: 'ul',
54
+ parent: document.body,
55
+ className: 'umap-autocomplete',
56
+ })
59
57
  },
60
58
 
61
59
  resizeContainer: function () {
@@ -174,8 +172,11 @@ U.AutoComplete = L.Class.extend({
174
172
  },
175
173
 
176
174
  createResult: function (item) {
177
- const el = L.DomUtil.element('li', {}, this.container)
178
- el.textContent = item.label
175
+ const el = L.DomUtil.element({
176
+ tagName: 'li',
177
+ parent: this.container,
178
+ textContent: item.label,
179
+ })
179
180
  const result = {
180
181
  item: item,
181
182
  el: el,
@@ -276,15 +277,22 @@ U.AutoComplete.Ajax.SelectMultiple = U.AutoComplete.Ajax.extend({
276
277
  initSelectedContainer: function () {
277
278
  return L.DomUtil.after(
278
279
  this.input,
279
- L.DomUtil.element('ul', { className: 'umap-multiresult' })
280
+ L.DomUtil.element({ tagName: 'ul', className: 'umap-multiresult' })
280
281
  )
281
282
  },
282
283
 
283
284
  displaySelected: function (result) {
284
- const result_el = L.DomUtil.element('li', {}, this.selected_container)
285
+ const result_el = L.DomUtil.element({
286
+ tagName: 'li',
287
+ parent: this.selected_container,
288
+ })
285
289
  result_el.textContent = result.item.label
286
- const close = L.DomUtil.element('span', { className: 'close' }, result_el)
287
- close.textContent = '×'
290
+ const close = L.DomUtil.element({
291
+ tagName: 'span',
292
+ parent: result_el,
293
+ className: 'close',
294
+ textContent: '×',
295
+ })
288
296
  L.DomEvent.on(
289
297
  close,
290
298
  'click',
@@ -302,15 +310,22 @@ U.AutoComplete.Ajax.Select = U.AutoComplete.Ajax.extend({
302
310
  initSelectedContainer: function () {
303
311
  return L.DomUtil.after(
304
312
  this.input,
305
- L.DomUtil.element('div', { className: 'umap-singleresult' })
313
+ L.DomUtil.element({ tagName: 'div', className: 'umap-singleresult' })
306
314
  )
307
315
  },
308
316
 
309
317
  displaySelected: function (result) {
310
- const result_el = L.DomUtil.element('div', {}, this.selected_container)
318
+ const result_el = L.DomUtil.element({
319
+ tagName: 'div',
320
+ parent: this.selected_container,
321
+ })
311
322
  result_el.textContent = result.item.label
312
- const close = L.DomUtil.element('span', { className: 'close' }, result_el)
313
- close.textContent = '×'
323
+ const close = L.DomUtil.element({
324
+ tagName: 'span',
325
+ parent: result_el,
326
+ className: 'close',
327
+ textContent: '×',
328
+ })
314
329
  this.input.style.display = 'none'
315
330
  L.DomEvent.on(
316
331
  close,
@@ -392,7 +392,7 @@ U.EditControl = L.Control.extend({
392
392
  'mouseover',
393
393
  function () {
394
394
  map.ui.tooltip({
395
- content: `${L._('Switch to edit mode')} (<kbd>Ctrl+E</kbd>)`,
395
+ content: map.help.displayLabel('TOGGLE_EDIT'),
396
396
  anchor: enableEditing,
397
397
  position: 'bottom',
398
398
  delay: 750,
@@ -668,21 +668,29 @@ const ControlsMixin = {
668
668
  const container = L.DomUtil.create('div', 'umap-caption')
669
669
  L.DomUtil.createTitle(container, this.options.name, 'icon-caption')
670
670
  this.permissions.addOwnerLink('h5', container)
671
+ this.browser.tabsMenu(container, 'info')
671
672
  if (this.options.description) {
672
- const description = L.DomUtil.create('div', 'umap-map-description', container)
673
- description.innerHTML = U.Utils.toHTML(this.options.description)
673
+ const description = L.DomUtil.element({
674
+ tagName: 'div',
675
+ className: 'umap-map-description',
676
+ safeHTML: U.Utils.toHTML(this.options.description),
677
+ parent: container,
678
+ })
674
679
  }
675
680
  const datalayerContainer = L.DomUtil.create('div', 'datalayer-container', container)
676
681
  this.eachVisibleDataLayer((datalayer) => {
677
682
  if (!datalayer.options.inCaption) return
678
683
  const p = L.DomUtil.create('p', 'datalayer-legend', datalayerContainer),
679
684
  legend = L.DomUtil.create('span', '', p),
680
- headline = L.DomUtil.create('strong', '', p),
681
- description = L.DomUtil.create('span', '', p)
685
+ headline = L.DomUtil.create('strong', '', p)
682
686
  datalayer.onceLoaded(function () {
683
687
  datalayer.renderLegend(legend)
684
688
  if (datalayer.options.description) {
685
- description.innerHTML = U.Utils.toHTML(datalayer.options.description)
689
+ L.DomUtil.element({
690
+ tagName: 'span',
691
+ parent: p,
692
+ safeHTML: U.Utils.toHTML(datalayer.options.description),
693
+ })
686
694
  }
687
695
  })
688
696
  datalayer.renderToolbox(headline)
@@ -692,12 +700,11 @@ const ControlsMixin = {
692
700
  credits = L.DomUtil.createFieldset(creditsContainer, L._('Credits'))
693
701
  title = L.DomUtil.add('h5', '', credits, L._('User content credits'))
694
702
  if (this.options.shortCredit || this.options.longCredit) {
695
- L.DomUtil.add(
696
- 'p',
697
- '',
698
- credits,
699
- U.Utils.toHTML(this.options.longCredit || this.options.shortCredit)
700
- )
703
+ L.DomUtil.element({
704
+ tagName: 'p',
705
+ parent: credits,
706
+ safeHTML: U.Utils.toHTML(this.options.longCredit || this.options.shortCredit),
707
+ })
701
708
  }
702
709
  if (this.options.licence) {
703
710
  const licence = L.DomUtil.add(
@@ -715,24 +722,27 @@ const ControlsMixin = {
715
722
  } else {
716
723
  L.DomUtil.add('p', '', credits, L._('No licence has been set'))
717
724
  }
718
- L.DomUtil.create('hr', '', credits)
719
725
  title = L.DomUtil.create('h5', '', credits)
720
726
  title.textContent = L._('Map background credits')
721
- const tilelayerCredit = L.DomUtil.create('p', '', credits),
722
- name = L.DomUtil.create('strong', '', tilelayerCredit),
723
- attribution = L.DomUtil.create('span', '', tilelayerCredit)
724
- name.textContent = `${this.selected_tilelayer.options.name} `
725
- attribution.innerHTML = this.selected_tilelayer.getAttribution()
726
- L.DomUtil.create('hr', '', credits)
727
- const umapCredit = L.DomUtil.create('p', '', credits),
728
- urls = {
729
- leaflet: 'http://leafletjs.com',
730
- django: 'https://www.djangoproject.com',
731
- umap: 'http://wiki.openstreetmap.org/wiki/UMap',
732
- changelog: 'https://umap-project.readthedocs.io/en/master/changelog/',
733
- version: this.options.umap_version,
734
- }
735
- umapCredit.innerHTML = L._(
727
+ const tilelayerCredit = L.DomUtil.create('p', '', credits)
728
+ L.DomUtil.element({
729
+ tagName: 'strong',
730
+ parent: tilelayerCredit,
731
+ textContent: `${this.selected_tilelayer.options.name} `,
732
+ })
733
+ L.DomUtil.element({
734
+ tagName: 'span',
735
+ parent: tilelayerCredit,
736
+ safeHTML: this.selected_tilelayer.getAttribution(),
737
+ })
738
+ const urls = {
739
+ leaflet: 'http://leafletjs.com',
740
+ django: 'https://www.djangoproject.com',
741
+ umap: 'http://wiki.openstreetmap.org/wiki/UMap',
742
+ changelog: 'https://umap-project.readthedocs.io/en/master/changelog/',
743
+ version: this.options.umap_version,
744
+ }
745
+ const creditHTML = L._(
736
746
  `
737
747
  Powered by <a href="{leaflet}">Leaflet</a> and
738
748
  <a href="{django}">Django</a>,
@@ -741,6 +751,7 @@ const ControlsMixin = {
741
751
  `,
742
752
  urls
743
753
  )
754
+ L.DomUtil.element({ tagName: 'p', innerHTML: creditHTML, parent: credits })
744
755
  this.panel.open({ content: container })
745
756
  },
746
757
 
@@ -754,13 +765,7 @@ const ControlsMixin = {
754
765
  const rightContainer = L.DomUtil.create('div', 'umap-right-edit-toolbox', container)
755
766
  const logo = L.DomUtil.create('div', 'logo', leftContainer)
756
767
  L.DomUtil.createLink('', logo, 'uMap', '/', null, L._('Go to the homepage'))
757
- const nameButton = L.DomUtil.createButton(
758
- 'map-name',
759
- leftContainer,
760
- '',
761
- this.edit,
762
- this
763
- )
768
+ const nameButton = L.DomUtil.createButton('map-name', leftContainer, '')
764
769
  L.DomEvent.on(
765
770
  nameButton,
766
771
  'mouseover',
@@ -809,7 +814,7 @@ const ControlsMixin = {
809
814
  update()
810
815
  this.once('saved', L.bind(update, this))
811
816
  if (this.options.editMode === 'advanced') {
812
- L.DomEvent.on(nameButton, 'click', this.edit, this)
817
+ L.DomEvent.on(nameButton, 'click', this.editCaption, this)
813
818
  L.DomEvent.on(shareStatusButton, 'click', this.permissions.edit, this.permissions)
814
819
  }
815
820
  this.on('postsync', L.bind(update, this))
@@ -1052,16 +1057,16 @@ U.AttributionControl = L.Control.Attribution.extend({
1052
1057
  // Use our own container, so we can hide/show on small screens
1053
1058
  const credits = this._container.innerHTML
1054
1059
  this._container.innerHTML = ''
1055
- const container = L.DomUtil.add(
1056
- 'div',
1057
- 'attribution-container',
1058
- this._container,
1059
- credits
1060
- )
1060
+ const container = L.DomUtil.create('div', 'attribution-container', this._container)
1061
+ container.innerHTML = credits
1061
1062
  const shortCredit = this._map.getOption('shortCredit'),
1062
1063
  captionMenus = this._map.getOption('captionMenus')
1063
1064
  if (shortCredit) {
1064
- L.DomUtil.add('span', '', container, ` — ${U.Utils.toHTML(shortCredit)}`)
1065
+ L.DomUtil.element({
1066
+ tagName: 'span',
1067
+ parent: container,
1068
+ safeHTML: ` — ${U.Utils.toHTML(shortCredit)}`,
1069
+ })
1065
1070
  }
1066
1071
  if (captionMenus) {
1067
1072
  const link = L.DomUtil.add('a', '', container, ` — ${L._('About')}`)
@@ -118,19 +118,21 @@ L.DomUtil.createLink = (className, container, content, url, target, title) => {
118
118
  }
119
119
 
120
120
  L.DomUtil.createIcon = (parent, className, title, size = 16) => {
121
- return L.DomUtil.element(
122
- 'i',
123
- { className: `icon icon-${size} ${className}`, title: title || '' },
124
- parent
125
- )
121
+ return L.DomUtil.element({
122
+ tagName: 'i',
123
+ parent: parent,
124
+ className: `icon icon-${size} ${className}`,
125
+ title: title || '',
126
+ })
126
127
  }
127
128
 
128
129
  L.DomUtil.createButtonIcon = (parent, className, title, size = 16) => {
129
- return L.DomUtil.element(
130
- 'button',
131
- { className: `icon icon-${size} ${className}`, title: title || '' },
132
- parent
133
- )
130
+ return L.DomUtil.element({
131
+ tagName: 'button',
132
+ parent: parent,
133
+ className: `icon icon-${size} ${className}`,
134
+ title: title || '',
135
+ })
134
136
  }
135
137
 
136
138
  L.DomUtil.createTitle = (parent, text, className, tag = 'h3') => {
@@ -163,8 +165,13 @@ L.DomUtil.classIf = (el, className, bool) => {
163
165
  else L.DomUtil.removeClass(el, className)
164
166
  }
165
167
 
166
- L.DomUtil.element = (what, attrs, parent) => {
167
- const el = document.createElement(what)
168
+ L.DomUtil.element = ({ tagName, parent, ...attrs }) => {
169
+ const el = document.createElement(tagName)
170
+ if (attrs.innerHTML) {
171
+ attrs.innerHTML = U.Utils.escapeHTML(attrs.innerHTML)
172
+ } else if (attrs.safeHTML) {
173
+ attrs.innerHTML = attrs.safeHTML
174
+ }
168
175
  for (const attr in attrs) {
169
176
  el[attr] = attrs[attr]
170
177
  }
@@ -314,6 +321,14 @@ U.Help = L.Class.extend({
314
321
  shortcut: 'Modifier+S',
315
322
  label: L._('Save current edits'),
316
323
  },
324
+ EDIT_FEATURE_LAYER: {
325
+ shortcut: 'Modifier+⇧+Click',
326
+ label: L._("Edit feature's layer"),
327
+ },
328
+ CONTINUE_LINE: {
329
+ shortcut: 'Modifier+Click',
330
+ label: L._('Continue line'),
331
+ },
317
332
  },
318
333
 
319
334
  displayLabel: function (action, withKbdTag = true) {
@@ -448,7 +448,7 @@ U.FeatureMixin = {
448
448
  }
449
449
  items = items.concat(
450
450
  {
451
- text: L._("Edit feature's layer") + ' (Ctrl+⇧+Click)',
451
+ text: this.map.help.displayLabel('EDIT_FEATURE_LAYER'),
452
452
  callback: this.datalayer.edit,
453
453
  context: this.datalayer,
454
454
  iconCls: 'umap-edit',
@@ -1055,7 +1055,7 @@ U.Polyline = L.Polyline.extend({
1055
1055
  })
1056
1056
  } else if (index === 0 || index === e.vertex.getLastIndex()) {
1057
1057
  items.push({
1058
- text: L._('Continue line (Ctrl+Click)'),
1058
+ text: this.map.help.displayLabel('CONTINUE_LINE'),
1059
1059
  callback: e.vertex.continue,
1060
1060
  context: e.vertex.continue,
1061
1061
  })
@@ -475,7 +475,7 @@ L.FormBuilder.IconUrl = L.FormBuilder.BlurInput.extend({
475
475
  build: function () {
476
476
  L.FormBuilder.BlurInput.prototype.build.call(this)
477
477
  this.buttons = L.DomUtil.create('div', '', this.parentNode)
478
- this.tabs = L.DomUtil.create('div', 'pictogram-tabs', this.parentNode)
478
+ this.tabs = L.DomUtil.create('div', 'flat-tabs', this.parentNode)
479
479
  this.body = L.DomUtil.create('div', 'umap-pictogram-body', this.parentNode)
480
480
  this.footer = L.DomUtil.create('div', '', this.parentNode)
481
481
  this.updatePreview()
@@ -757,12 +757,15 @@ L.FormBuilder.FacetSearchChoices = L.FormBuilder.Element.extend({
757
757
  },
758
758
 
759
759
  buildLabel: function () {
760
- this.label = L.DomUtil.element('legend', {textContent: this.options.label})
760
+ this.label = L.DomUtil.element({
761
+ tagName: 'legend',
762
+ textContent: this.options.label,
763
+ })
761
764
  },
762
765
 
763
766
  buildLi: function (value) {
764
767
  const property_li = L.DomUtil.create('li', '', this.ul)
765
- const label = L.DomUtil.add('label', '', property_li)
768
+ const label = L.DomUtil.create('label', '', property_li)
766
769
  const input = L.DomUtil.create('input', '', label)
767
770
  L.DomUtil.add('span', '', label, value)
768
771
 
@@ -800,14 +803,14 @@ L.FormBuilder.MinMaxBase = L.FormBuilder.Element.extend({
800
803
  build: function () {
801
804
  this.container = L.DomUtil.create('fieldset', 'umap-facet', this.parentNode)
802
805
  this.container.appendChild(this.label)
803
- const {min, max, type} = this.options.criteria
806
+ const { min, max, type } = this.options.criteria
804
807
  this.type = type
805
808
  this.inputType = this.getInputType(this.type)
806
809
 
807
810
  const [minLabel, maxLabel] = this.getLabels()
808
811
 
809
812
  this.minLabel = L.DomUtil.create('label', '', this.container)
810
- this.minLabel.innerHTML = minLabel
813
+ this.minLabel.textContent = minLabel
811
814
 
812
815
  this.minInput = L.DomUtil.create('input', '', this.minLabel)
813
816
  this.minInput.type = this.inputType
@@ -817,9 +820,8 @@ L.FormBuilder.MinMaxBase = L.FormBuilder.Element.extend({
817
820
  this.minInput.dataset.value = min
818
821
  }
819
822
 
820
-
821
823
  this.maxLabel = L.DomUtil.create('label', '', this.container)
822
- this.maxLabel.innerHTML = maxLabel
824
+ this.maxLabel.textContent = maxLabel
823
825
 
824
826
  this.maxInput = L.DomUtil.create('input', '', this.maxLabel)
825
827
  this.maxInput.type = this.inputType
@@ -834,7 +836,10 @@ L.FormBuilder.MinMaxBase = L.FormBuilder.Element.extend({
834
836
  },
835
837
 
836
838
  buildLabel: function () {
837
- this.label = L.DomUtil.element('legend', {textContent: this.options.label})
839
+ this.label = L.DomUtil.element({
840
+ tagName: 'legend',
841
+ textContent: this.options.label,
842
+ })
838
843
  },
839
844
 
840
845
  toJS: function () {
@@ -974,22 +979,23 @@ L.FormBuilder.Range = L.FormBuilder.FloatInput.extend({
974
979
  },
975
980
 
976
981
  buildHelpText: function () {
977
- const datalist = L.DomUtil.create(
978
- 'datalist',
979
- 'umap-field-datalist',
980
- this.getHelpTextParent()
981
- )
982
- datalist.id = `range-${this.options.label || this.name}`
983
- this.input.setAttribute('list', datalist.id)
984
982
  let options = ''
985
- const step = this.options.step || 1,
986
- digits = step < 1 ? 1 : 0
983
+ const step = this.options.step || 1
984
+ const digits = step < 1 ? 1 : 0
985
+ const id = `range-${this.options.label || this.name}`
987
986
  for (let i = this.options.min; i <= this.options.max; i += this.options.step) {
988
987
  options += `<option value="${i.toFixed(digits)}" label="${i.toFixed(
989
988
  digits
990
989
  )}"></option>`
991
990
  }
992
- datalist.innerHTML = options
991
+ const datalist = L.DomUtil.element({
992
+ tagName: 'datalist',
993
+ parent: this.getHelpTextParent(),
994
+ className: 'umap-field-datalist',
995
+ safeHTML: options,
996
+ id: id,
997
+ })
998
+ this.input.setAttribute('list', id)
993
999
  L.FormBuilder.Input.prototype.buildHelpText.call(this)
994
1000
  },
995
1001
  })