umap-project 2.1.3__py3-none-any.whl → 2.2.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of umap-project might be problematic. Click here for more details.

Files changed (196) hide show
  1. umap/__init__.py +1 -1
  2. umap/context_processors.py +1 -0
  3. umap/locale/br/LC_MESSAGES/django.mo +0 -0
  4. umap/locale/en/LC_MESSAGES/django.po +32 -32
  5. umap/locale/hu/LC_MESSAGES/django.mo +0 -0
  6. umap/locale/it/LC_MESSAGES/django.mo +0 -0
  7. umap/locale/ms/LC_MESSAGES/django.mo +0 -0
  8. umap/migrations/0020_alter_tilelayer_url_template.py +19 -0
  9. umap/migrations/0021_remove_map_description.py +16 -0
  10. umap/models.py +8 -6
  11. umap/settings/base.py +1 -0
  12. umap/static/umap/base.css +29 -151
  13. umap/static/umap/content.css +7 -25
  14. umap/static/umap/css/icon.css +112 -0
  15. umap/static/umap/css/panel.css +140 -0
  16. umap/static/umap/img/16-white.svg +5 -1
  17. umap/static/umap/img/16.svg +7 -4
  18. umap/static/umap/img/24-white.svg +3 -1
  19. umap/static/umap/img/24.svg +3 -4
  20. umap/static/umap/img/source/16-white.svg +176 -940
  21. umap/static/umap/img/source/16.svg +8 -5
  22. umap/static/umap/img/source/24-white.svg +5 -3
  23. umap/static/umap/img/source/24.svg +6 -7
  24. umap/static/umap/js/modules/browser.js +82 -73
  25. umap/static/umap/js/modules/dompurify.js +12 -0
  26. umap/static/umap/js/modules/facets.js +148 -0
  27. umap/static/umap/js/modules/global.js +9 -1
  28. umap/static/umap/js/modules/i18n.js +7 -0
  29. umap/static/umap/js/modules/orderable.js +84 -0
  30. umap/static/umap/js/modules/panel.js +76 -0
  31. umap/static/umap/js/modules/request.js +0 -1
  32. umap/static/umap/js/modules/schema.js +324 -223
  33. umap/static/umap/js/modules/urls.js +1 -16
  34. umap/static/umap/js/modules/utils.js +340 -0
  35. umap/static/umap/js/umap.controls.js +183 -330
  36. umap/static/umap/js/umap.core.js +60 -364
  37. umap/static/umap/js/umap.datalayer.permissions.js +1 -1
  38. umap/static/umap/js/umap.features.js +60 -40
  39. umap/static/umap/js/umap.forms.js +111 -25
  40. umap/static/umap/js/umap.icon.js +11 -4
  41. umap/static/umap/js/umap.importer.js +24 -17
  42. umap/static/umap/js/umap.js +170 -145
  43. umap/static/umap/js/umap.layer.js +71 -40
  44. umap/static/umap/js/umap.permissions.js +9 -11
  45. umap/static/umap/js/umap.popup.js +10 -21
  46. umap/static/umap/js/umap.share.js +11 -8
  47. umap/static/umap/js/umap.tableeditor.js +4 -6
  48. umap/static/umap/js/umap.ui.js +0 -51
  49. umap/static/umap/locale/am_ET.js +242 -227
  50. umap/static/umap/locale/am_ET.json +18 -7
  51. umap/static/umap/locale/ar.js +242 -227
  52. umap/static/umap/locale/ar.json +18 -7
  53. umap/static/umap/locale/ast.js +242 -227
  54. umap/static/umap/locale/ast.json +18 -7
  55. umap/static/umap/locale/bg.js +242 -227
  56. umap/static/umap/locale/bg.json +18 -7
  57. umap/static/umap/locale/br.js +252 -237
  58. umap/static/umap/locale/br.json +22 -11
  59. umap/static/umap/locale/ca.js +242 -227
  60. umap/static/umap/locale/ca.json +18 -7
  61. umap/static/umap/locale/cs_CZ.js +242 -227
  62. umap/static/umap/locale/cs_CZ.json +18 -7
  63. umap/static/umap/locale/da.js +242 -227
  64. umap/static/umap/locale/da.json +18 -7
  65. umap/static/umap/locale/de.js +242 -227
  66. umap/static/umap/locale/de.json +18 -7
  67. umap/static/umap/locale/el.js +242 -227
  68. umap/static/umap/locale/el.json +18 -7
  69. umap/static/umap/locale/en.js +242 -234
  70. umap/static/umap/locale/en.json +19 -8
  71. umap/static/umap/locale/en_US.json +18 -7
  72. umap/static/umap/locale/es.js +242 -227
  73. umap/static/umap/locale/es.json +18 -7
  74. umap/static/umap/locale/et.js +242 -227
  75. umap/static/umap/locale/et.json +18 -7
  76. umap/static/umap/locale/eu.js +227 -199
  77. umap/static/umap/locale/eu.json +1 -1
  78. umap/static/umap/locale/fa_IR.js +242 -227
  79. umap/static/umap/locale/fa_IR.json +18 -7
  80. umap/static/umap/locale/fi.js +242 -227
  81. umap/static/umap/locale/fi.json +18 -7
  82. umap/static/umap/locale/fr.js +242 -234
  83. umap/static/umap/locale/fr.json +18 -7
  84. umap/static/umap/locale/gl.js +242 -227
  85. umap/static/umap/locale/gl.json +18 -7
  86. umap/static/umap/locale/he.js +242 -227
  87. umap/static/umap/locale/he.json +18 -7
  88. umap/static/umap/locale/hr.js +242 -227
  89. umap/static/umap/locale/hr.json +18 -7
  90. umap/static/umap/locale/hu.js +242 -234
  91. umap/static/umap/locale/hu.json +18 -7
  92. umap/static/umap/locale/id.js +242 -227
  93. umap/static/umap/locale/id.json +18 -7
  94. umap/static/umap/locale/is.js +242 -227
  95. umap/static/umap/locale/is.json +18 -7
  96. umap/static/umap/locale/it.js +242 -234
  97. umap/static/umap/locale/it.json +18 -7
  98. umap/static/umap/locale/ja.js +242 -227
  99. umap/static/umap/locale/ja.json +18 -7
  100. umap/static/umap/locale/ko.js +242 -227
  101. umap/static/umap/locale/ko.json +18 -7
  102. umap/static/umap/locale/lt.js +242 -227
  103. umap/static/umap/locale/lt.json +18 -7
  104. umap/static/umap/locale/ms.js +242 -234
  105. umap/static/umap/locale/ms.json +19 -8
  106. umap/static/umap/locale/nl.js +245 -230
  107. umap/static/umap/locale/nl.json +18 -7
  108. umap/static/umap/locale/no.js +242 -227
  109. umap/static/umap/locale/no.json +18 -7
  110. umap/static/umap/locale/pl.js +242 -227
  111. umap/static/umap/locale/pl.json +18 -7
  112. umap/static/umap/locale/pl_PL.json +18 -7
  113. umap/static/umap/locale/pt.js +242 -227
  114. umap/static/umap/locale/pt.json +18 -7
  115. umap/static/umap/locale/pt_BR.js +242 -227
  116. umap/static/umap/locale/pt_BR.json +18 -7
  117. umap/static/umap/locale/pt_PT.js +242 -227
  118. umap/static/umap/locale/pt_PT.json +18 -7
  119. umap/static/umap/locale/ro.js +242 -227
  120. umap/static/umap/locale/ro.json +18 -7
  121. umap/static/umap/locale/ru.js +242 -227
  122. umap/static/umap/locale/ru.json +18 -7
  123. umap/static/umap/locale/si.js +1 -1
  124. umap/static/umap/locale/si.json +1 -1
  125. umap/static/umap/locale/sk_SK.js +242 -227
  126. umap/static/umap/locale/sk_SK.json +18 -7
  127. umap/static/umap/locale/sl.js +242 -227
  128. umap/static/umap/locale/sl.json +18 -7
  129. umap/static/umap/locale/sr.js +242 -227
  130. umap/static/umap/locale/sr.json +18 -7
  131. umap/static/umap/locale/sv.js +242 -227
  132. umap/static/umap/locale/sv.json +18 -7
  133. umap/static/umap/locale/th_TH.js +242 -227
  134. umap/static/umap/locale/th_TH.json +18 -7
  135. umap/static/umap/locale/tr.js +242 -227
  136. umap/static/umap/locale/tr.json +18 -7
  137. umap/static/umap/locale/uk_UA.js +242 -227
  138. umap/static/umap/locale/uk_UA.json +18 -7
  139. umap/static/umap/locale/vi.js +242 -227
  140. umap/static/umap/locale/vi.json +18 -7
  141. umap/static/umap/locale/vi_VN.json +18 -7
  142. umap/static/umap/locale/zh.js +242 -227
  143. umap/static/umap/locale/zh.json +18 -7
  144. umap/static/umap/locale/zh_CN.json +18 -7
  145. umap/static/umap/locale/zh_TW.Big5.json +18 -7
  146. umap/static/umap/locale/zh_TW.js +242 -234
  147. umap/static/umap/locale/zh_TW.json +18 -7
  148. umap/static/umap/map.css +114 -265
  149. umap/static/umap/test/DataLayer.js +463 -0
  150. umap/static/umap/test/Feature.js +0 -226
  151. umap/static/umap/test/TableEditor.js +104 -0
  152. umap/static/umap/test/Util.js +0 -521
  153. umap/static/umap/test/index.html +0 -1
  154. umap/static/umap/unittests/URLs.js +1 -1
  155. umap/static/umap/unittests/utils.js +610 -0
  156. umap/static/umap/vars.css +9 -0
  157. umap/static/umap/vendors/dompurify/purify.es.mjs +1525 -0
  158. umap/static/umap/vendors/iconlayers/iconLayers.js +1 -1
  159. umap/templates/umap/css.html +2 -0
  160. umap/templates/umap/js.html +0 -1
  161. umap/templates/umap/map_detail.html +4 -0
  162. umap/templates/umap/map_table.html +12 -10
  163. umap/templatetags/umap_tags.py +5 -0
  164. umap/tests/integration/conftest.py +12 -1
  165. umap/tests/integration/test_anonymous_owned_map.py +6 -5
  166. umap/tests/integration/test_browser.py +12 -25
  167. umap/tests/integration/test_choropleth.py +1 -1
  168. umap/tests/integration/test_dashboard.py +10 -0
  169. umap/tests/integration/test_datalayer.py +8 -6
  170. umap/tests/integration/test_edit_datalayer.py +24 -19
  171. umap/tests/integration/test_edit_map.py +182 -2
  172. umap/tests/integration/test_edit_marker.py +120 -0
  173. umap/tests/integration/test_edit_polygon.py +122 -0
  174. umap/tests/integration/test_facets_browser.py +104 -14
  175. umap/tests/integration/test_import.py +70 -20
  176. umap/tests/integration/test_map.py +19 -17
  177. umap/tests/integration/test_map_list.py +28 -0
  178. umap/tests/integration/test_owned_map.py +10 -10
  179. umap/tests/integration/test_picto.py +5 -5
  180. umap/tests/integration/test_querystring.py +9 -15
  181. umap/tests/integration/test_slideshow.py +0 -5
  182. umap/tests/integration/test_statics.py +3 -2
  183. umap/tests/integration/test_tableeditor.py +1 -5
  184. umap/tests/integration/test_view_marker.py +64 -0
  185. umap/tests/integration/test_view_polygon.py +59 -0
  186. umap/tests/integration/test_view_polyline.py +51 -0
  187. umap/tests/test_map_views.py +13 -0
  188. {umap_project-2.1.3.dist-info → umap_project-2.2.0b0.dist-info}/METADATA +8 -8
  189. {umap_project-2.1.3.dist-info → umap_project-2.2.0b0.dist-info}/RECORD +194 -178
  190. umap/static/umap/vendors/dompurify/purify.min.js +0 -3
  191. umap/static/umap/vendors/dompurify/purify.min.js.map +0 -1
  192. /umap/tests/integration/{test_polygon.py → test_draw_polygon.py} +0 -0
  193. /umap/tests/integration/{test_polyline.py → test_draw_polyline.py} +0 -0
  194. {umap_project-2.1.3.dist-info → umap_project-2.2.0b0.dist-info}/WHEEL +0 -0
  195. {umap_project-2.1.3.dist-info → umap_project-2.2.0b0.dist-info}/entry_points.txt +0 -0
  196. {umap_project-2.1.3.dist-info → umap_project-2.2.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,46 +1,60 @@
1
1
  import { translate } from './i18n.js'
2
2
 
3
+ // Possible impacts
4
+ // ['ui', 'data', 'limit-bounds', 'datalayer-index', 'remote-data', 'background']
5
+
3
6
  export const SCHEMA = {
4
- zoom: {
5
- type: Number,
6
- },
7
- scrollWheelZoom: {
7
+ browsable: {
8
+ impacts: ['ui'],
8
9
  type: Boolean,
9
- label: translate('Allow scroll wheel zoom?'),
10
10
  },
11
- scaleControl: {
11
+ captionBar: {
12
12
  type: Boolean,
13
- label: translate('Do you want to display the scale control?'),
14
- default: true,
13
+ impacts: ['ui'],
14
+ label: translate('Do you want to display a caption bar?'),
15
+ default: false,
15
16
  },
16
- moreControl: {
17
+ captionMenus: {
17
18
  type: Boolean,
18
- label: translate('Do you want to display the «more» control?'),
19
+ impacts: ['ui'],
20
+ label: translate('Do you want to display caption menus?'),
19
21
  default: true,
20
22
  },
21
- miniMap: {
22
- type: Boolean,
23
- label: translate('Do you want to display a minimap?'),
24
- default: false,
23
+ color: {
24
+ type: String,
25
+ impacts: ['data'],
26
+ handler: 'ColorPicker',
27
+ label: translate('color'),
28
+ helpEntries: 'colorValue',
29
+ inheritable: true,
30
+ default: 'DarkBlue',
25
31
  },
26
- displayPopupFooter: {
27
- type: Boolean,
28
- label: translate('Do you want to display popup footer?'),
29
- default: false,
32
+ choropleth: {
33
+ type: Object,
34
+ impacts: ['data'],
30
35
  },
31
- onLoadPanel: {
36
+ cluster: {
37
+ type: Object,
38
+ impacts: ['data'],
39
+ },
40
+ dashArray: {
32
41
  type: String,
33
- label: translate('Do you want to display a panel on load?'),
34
- choices: [
35
- ['none', translate('None')],
36
- ['caption', translate('Caption')],
37
- ['databrowser', translate('Data browser')],
38
- ['facet', translate('Facet search')],
39
- ],
40
- default: 'none',
42
+ impacts: ['data'],
43
+ label: translate('dash array'),
44
+ helpEntries: 'dashArray',
45
+ inheritable: true,
46
+ },
47
+ datalayersControl: {
48
+ type: Boolean,
49
+ impacts: ['ui'],
50
+ nullable: true,
51
+ handler: 'DataLayersControl',
52
+ label: translate('Display the data layers control'),
53
+ default: true,
41
54
  },
42
55
  defaultView: {
43
56
  type: String,
57
+ impacts: [], // no need to update the ui, only useful when loading the map
44
58
  label: translate('Default view'),
45
59
  choices: [
46
60
  ['center', translate('Saved center and zoom')],
@@ -50,96 +64,48 @@ export const SCHEMA = {
50
64
  ],
51
65
  default: 'center',
52
66
  },
53
- name: {
54
- type: String,
55
- label: translate('name'),
56
- },
57
67
  description: {
58
- label: translate('description'),
59
68
  type: 'Text',
69
+ impacts: ['ui'],
70
+ label: translate('description'),
60
71
  helpEntries: 'textFormatting',
61
72
  },
62
- licence: {
63
- type: String,
64
- label: translate('licence'),
65
- },
66
- tilelayer: {
67
- type: Object,
73
+ displayOnLoad: {
74
+ type: Boolean,
75
+ impacts: [],
68
76
  },
69
- overlay: {
70
- type: Object,
77
+ displayPopupFooter: {
78
+ type: Boolean,
79
+ impacts: ['ui'],
80
+ label: translate('Do you want to display popup footer?'),
81
+ default: false,
71
82
  },
72
- limitBounds: {
73
- type: Object,
83
+ easing: {
84
+ type: Boolean,
85
+ impacts: [],
86
+ default: false
74
87
  },
75
- color: {
76
- type: String,
77
- handler: 'ColorPicker',
78
- label: translate('color'),
79
- helpEntries: 'colorValue',
80
- inheritable: true,
81
- default: 'DarkBlue',
88
+ editinosmControl: {
89
+ type: Boolean,
90
+ impacts: ['ui'],
91
+ nullable: true,
92
+ label: translate('Display the control to open OpenStreetMap editor'),
93
+ default: null,
82
94
  },
83
- iconClass: {
84
- type: String,
85
- label: translate('Icon shape'),
86
- inheritable: true,
87
- choices: [
88
- ['Default', translate('Default')],
89
- ['Circle', translate('Circle')],
90
- ['Drop', translate('Drop')],
91
- ['Ball', translate('Ball')],
92
- ],
93
- default: 'Default',
95
+ embedControl: {
96
+ type: Boolean,
97
+ impacts: ['ui'],
98
+ nullable: true,
99
+ label: translate('Display the embed control'),
100
+ default: true,
94
101
  },
95
- iconUrl: {
102
+ facetKey: {
96
103
  type: String,
97
- handler: 'IconUrl',
98
- label: translate('Icon symbol'),
99
- inheritable: true,
100
- // helpText: translate(
101
- // 'Symbol can be either a unicode character or an URL. You can use feature properties as variables: ex.: with "http://myserver.org/images/{name}.png", the {name} variable will be replaced by the "name" value of each marker.'
102
- // ),
103
- },
104
- smoothFactor: {
105
- type: Number,
106
- min: 0,
107
- max: 10,
108
- step: 0.5,
109
- label: translate('Simplify'),
110
- helpEntries: 'smoothFactor',
111
- inheritable: true,
112
- default: 1.0,
113
- },
114
- iconOpacity: {
115
- type: Number,
116
- min: 0.1,
117
- max: 1,
118
- step: 0.1,
119
- label: translate('icon opacity'),
120
- inheritable: true,
121
- default: 1,
122
- },
123
- opacity: {
124
- type: Number,
125
- min: 0.1,
126
- max: 1,
127
- step: 0.1,
128
- label: translate('opacity'),
129
- inheritable: true,
130
- default: 0.5,
131
- },
132
- weight: {
133
- type: Number,
134
- min: 1,
135
- max: 20,
136
- step: 1,
137
- label: translate('weight'),
138
- inheritable: true,
139
- default: 3,
104
+ impacts: ['ui'],
140
105
  },
141
106
  fill: {
142
107
  type: Boolean,
108
+ impacts: ['data'],
143
109
  label: translate('fill'),
144
110
  helpEntries: 'fill',
145
111
  inheritable: true,
@@ -147,6 +113,7 @@ export const SCHEMA = {
147
113
  },
148
114
  fillColor: {
149
115
  type: String,
116
+ impacts: ['data'],
150
117
  handler: 'ColorPicker',
151
118
  label: translate('fill color'),
152
119
  helpEntries: 'fillColor',
@@ -154,6 +121,7 @@ export const SCHEMA = {
154
121
  },
155
122
  fillOpacity: {
156
123
  type: Number,
124
+ impacts: ['data'],
157
125
  min: 0.1,
158
126
  max: 1,
159
127
  step: 0.1,
@@ -161,110 +129,175 @@ export const SCHEMA = {
161
129
  inheritable: true,
162
130
  default: 0.3,
163
131
  },
164
- dashArray: {
132
+ filterKey: {
165
133
  type: String,
166
- label: translate('dash array'),
167
- helpEntries: 'dashArray',
168
- inheritable: true,
134
+ impacts: [],
169
135
  },
170
- popupShape: {
171
- type: String,
172
- label: translate('Popup shape'),
173
- inheritable: true,
174
- choices: [
175
- ['Default', translate('Popup')],
176
- ['Large', translate('Popup (large)')],
177
- ['Panel', translate('Side panel')],
178
- ],
179
- default: 'Default',
136
+ fromZoom: {
137
+ type: Number,
138
+ impacts: [], // not needed
139
+ label: translate('From zoom'),
140
+ helpText: translate('Optional.'),
180
141
  },
181
- popupTemplate: {
142
+ fullscreenControl: {
143
+ type: Boolean,
144
+ impacts: ['ui'],
145
+ nullable: true,
146
+ label: translate('Display the fullscreen control'),
147
+ default: true,
148
+ },
149
+ heat: {
150
+ type: Object,
151
+ impacts: ['data'],
152
+ },
153
+ iconClass: {
182
154
  type: String,
183
- label: translate('Popup content style'),
155
+ impacts: ['data'],
156
+ label: translate('Icon shape'),
184
157
  inheritable: true,
185
158
  choices: [
186
159
  ['Default', translate('Default')],
187
- ['Table', translate('Table')],
188
- ['GeoRSSImage', translate('GeoRSS (title + image)')],
189
- ['GeoRSSLink', translate('GeoRSS (only link)')],
190
- ['OSM', translate('OpenStreetMap')],
160
+ ['Circle', translate('Circle')],
161
+ ['Drop', translate('Drop')],
162
+ ['Ball', translate('Ball')],
191
163
  ],
192
164
  default: 'Default',
193
165
  },
194
- popupContentTemplate: {
195
- type: 'Text',
196
- label: translate('Popup content template'),
197
- helpEntries: ['dynamicProperties', 'textFormatting'],
198
- placeholder: '# {name}',
166
+ iconOpacity: {
167
+ type: Number,
168
+ impacts: ['data'],
169
+ min: 0.1,
170
+ max: 1,
171
+ step: 0.1,
172
+ label: translate('icon opacity'),
199
173
  inheritable: true,
200
- default: '# {name}\n{description}',
174
+ default: 1,
201
175
  },
202
- zoomTo: {
203
- type: Number,
204
- placeholder: translate('Inherit'),
205
- helpEntries: 'zoomTo',
206
- label: translate('Default zoom level'),
176
+ iconUrl: {
177
+ type: String,
178
+ impacts: ['data'],
179
+ handler: 'IconUrl',
180
+ label: translate('Icon symbol'),
207
181
  inheritable: true,
208
182
  },
209
- captionBar: {
183
+ inCaption: {
210
184
  type: Boolean,
211
- label: translate('Do you want to display a caption bar?'),
212
- default: false,
185
+ impacts: ['ui'],
213
186
  },
214
- captionMenus: {
187
+
188
+ interactive: {
215
189
  type: Boolean,
216
- label: translate('Do you want to display caption menus?'),
190
+ impacts: ['data'],
191
+ label: translate('Allow interactions'),
192
+ helpEntries: 'interactive',
193
+ inheritable: true,
217
194
  default: true,
218
195
  },
219
- slideshow: {
220
- type: Object,
221
- },
222
- sortKey: {
196
+ labelDirection: {
223
197
  type: String,
198
+ impacts: ['data'],
199
+ label: translate('Label direction'),
200
+ inheritable: true,
201
+ choices: [
202
+ ['auto', translate('Automatic')],
203
+ ['left', translate('On the left')],
204
+ ['right', translate('On the right')],
205
+ ['top', translate('On the top')],
206
+ ['bottom', translate('On the bottom')],
207
+ ],
208
+ default: 'auto',
209
+ },
210
+ labelInteractive: {
211
+ type: Boolean,
212
+ impacts: ['data'],
213
+ label: translate('Labels are clickable'),
214
+ inheritable: true,
224
215
  },
225
216
  labelKey: {
226
217
  type: String,
218
+ impacts: ['data'],
227
219
  helpEntries: 'labelKey',
228
220
  placeholder: translate('Default: name'),
229
221
  label: translate('Label key'),
230
222
  inheritable: true,
231
223
  },
232
- filterKey: {
224
+ licence: {
233
225
  type: String,
226
+ impacts: ['ui'],
227
+ label: translate('licence'),
234
228
  },
235
- facetKey: {
236
- type: String,
229
+ limitBounds: {
230
+ type: Object,
231
+ impacts: ['limit-bounds'],
237
232
  },
238
- slugKey: {
239
- type: String,
233
+ locateControl: {
234
+ type: Boolean,
235
+ impacts: ['ui'],
236
+ nullable: true,
237
+ label: translate('Display the locate control'),
240
238
  },
241
- showLabel: {
239
+ longCredit: {
240
+ type: 'Text',
241
+ impacts: ['ui'],
242
+ label: translate('Long credits'),
243
+ helpEntries: ['longCredit', 'textFormatting'],
244
+ },
245
+ measureControl: {
242
246
  type: Boolean,
247
+ impacts: ['ui'],
243
248
  nullable: true,
244
- label: translate('Display label'),
245
- inheritable: true,
249
+ label: translate('Display the measure control'),
250
+ },
251
+ miniMap: {
252
+ type: Boolean,
253
+ impacts: ['ui'],
254
+ label: translate('Do you want to display a minimap?'),
246
255
  default: false,
247
256
  },
248
- labelDirection: {
257
+ moreControl: {
258
+ type: Boolean,
259
+ impacts: ['ui'],
260
+ label: translate('Do you want to display the «more» control?'),
261
+ default: true,
262
+ },
263
+ name: {
249
264
  type: String,
250
- label: translate('Label direction'),
251
- inheritable: true,
265
+ impacts: ['ui', 'data'],
266
+ label: translate('name'),
267
+ },
268
+ onLoadPanel: {
269
+ type: String,
270
+ impacts: [], // This is what happens during the map instantiation
271
+ label: translate('Do you want to display a panel on load?'),
252
272
  choices: [
253
- ['auto', translate('Automatic')],
254
- ['left', translate('On the left')],
255
- ['right', translate('On the right')],
256
- ['top', translate('On the top')],
257
- ['bottom', translate('On the bottom')],
273
+ ['none', translate('None')],
274
+ ['caption', translate('Caption')],
275
+ ['databrowser', translate('Data browser')],
276
+ ['datalayers', translate('Layers')],
277
+ ['facet', translate('Facet search')],
258
278
  ],
259
- default: 'auto',
279
+ default: 'none',
260
280
  },
261
- labelInteractive: {
262
- type: Boolean,
263
- label: translate('Labels are clickable'),
281
+ opacity: {
282
+ type: Number,
283
+ impacts: ['data'],
284
+ min: 0.1,
285
+ max: 1,
286
+ step: 0.1,
287
+ label: translate('opacity'),
288
+ inheritable: true,
289
+ default: 0.5,
290
+ },
291
+ outlink: {
292
+ type: String,
293
+ label: translate('Link to…'),
294
+ helpEntries: 'outlink',
295
+ placeholder: 'http://...',
264
296
  inheritable: true,
265
297
  },
266
298
  outlinkTarget: {
267
299
  type: String,
300
+ impacts: [],
268
301
  label: translate('Open link in…'),
269
302
  inheritable: true,
270
303
  default: 'blank',
@@ -274,115 +307,183 @@ export const SCHEMA = {
274
307
  ['parent', translate('parent window')],
275
308
  ],
276
309
  },
277
- shortCredit: {
278
- type: String,
279
- label: translate('Short credits'),
280
- helpEntries: ['shortCredit', 'textFormatting'],
281
- },
282
- longCredit: {
283
- type: 'Text',
284
- label: translate('Long credits'),
285
- helpEntries: ['longCredit', 'textFormatting'],
310
+ overlay: {
311
+ type: Object,
312
+ impacts: ['background'],
286
313
  },
287
314
  permanentCredit: {
288
315
  type: 'Text',
316
+ impacts: ['ui'],
289
317
  label: translate('Permanent credits'),
290
318
  helpEntries: ['permanentCredit', 'textFormatting'],
291
319
  },
292
320
  permanentCreditBackground: {
293
321
  type: Boolean,
322
+ impacts: ['ui'],
294
323
  label: translate('Permanent credits background'),
295
324
  default: true,
296
325
  },
297
- zoomControl: {
326
+ popupContentTemplate: {
327
+ type: 'Text',
328
+ impacts: [], // not needed
329
+ label: translate('Popup content template'),
330
+ helpEntries: ['dynamicProperties', 'textFormatting'],
331
+ placeholder: '# {name}',
332
+ inheritable: true,
333
+ default: '# {name}\n{description}',
334
+ },
335
+ popupShape: {
336
+ type: String,
337
+ impacts: [], // not needed
338
+ label: translate('Popup shape'),
339
+ inheritable: true,
340
+ choices: [
341
+ ['Default', translate('Popup')],
342
+ ['Large', translate('Popup (large)')],
343
+ ['Panel', translate('Side panel')],
344
+ ],
345
+ default: 'Default',
346
+ },
347
+ popupTemplate: {
348
+ type: String,
349
+ impacts: [], // not needed
350
+ label: translate('Popup content style'),
351
+ inheritable: true,
352
+ choices: [
353
+ ['Default', translate('Default')],
354
+ ['Table', translate('Table')],
355
+ ['GeoRSSImage', translate('GeoRSS (title + image)')],
356
+ ['GeoRSSLink', translate('GeoRSS (only link)')],
357
+ ['OSM', translate('OpenStreetMap')],
358
+ ],
359
+ default: 'Default',
360
+ },
361
+ remoteData: {
362
+ type: Object,
363
+ impacts: ['remote-data'],
364
+ },
365
+ scaleControl: {
298
366
  type: Boolean,
299
- nullable: true,
300
- label: translate('Display the zoom control'),
367
+ impacts: ['ui'],
368
+ label: translate('Do you want to display the scale control?'),
301
369
  default: true,
302
370
  },
303
- datalayersControl: {
371
+ scrollWheelZoom: {
372
+ type: Boolean,
373
+ impacts: ['ui'],
374
+ label: translate('Allow scroll wheel zoom?'),
375
+ },
376
+ captionControl: {
304
377
  type: Boolean,
305
378
  nullable: true,
306
- handler: 'DataLayersControl',
307
- label: translate('Display the data layers control'),
379
+ label: translate('Display the caption control'),
308
380
  default: true,
309
381
  },
310
382
  searchControl: {
311
383
  type: Boolean,
384
+ impacts: ['ui'],
312
385
  nullable: true,
313
386
  label: translate('Display the search control'),
314
387
  default: true,
315
388
  },
316
- locateControl: {
317
- type: Boolean,
318
- nullable: true,
319
- label: translate('Display the locate control'),
389
+ shortCredit: {
390
+ type: String,
391
+ impacts: ['ui'],
392
+ label: translate('Short credits'),
393
+ helpEntries: ['shortCredit', 'textFormatting'],
320
394
  },
321
- fullscreenControl: {
395
+ showLabel: {
322
396
  type: Boolean,
397
+ impacts: ['data'],
323
398
  nullable: true,
324
- label: translate('Display the fullscreen control'),
325
- default: true,
399
+ label: translate('Display label'),
400
+ inheritable: true,
401
+ default: false,
326
402
  },
327
- editinosmControl: {
328
- type: Boolean,
329
- nullable: true,
330
- label: translate('Display the control to open OpenStreetMap editor'),
331
- default: null,
403
+ slideshow: {
404
+ type: Object,
405
+ impacts: ['ui'],
332
406
  },
333
- embedControl: {
334
- type: Boolean,
335
- nullable: true,
336
- label: translate('Display the embed control'),
337
- default: true,
407
+ slugKey: {
408
+ type: String,
409
+ impacts: [],
338
410
  },
339
- measureControl: {
340
- type: Boolean,
341
- nullable: true,
342
- label: translate('Display the measure control'),
411
+ smoothFactor: {
412
+ type: Number,
413
+ impacts: ['data'],
414
+ min: 0,
415
+ max: 10,
416
+ step: 0.5,
417
+ label: translate('Simplify'),
418
+ helpEntries: 'smoothFactor',
419
+ inheritable: true,
420
+ default: 1.0,
343
421
  },
344
- tilelayersControl: {
345
- type: Boolean,
346
- nullable: true,
347
- label: translate('Display the tile layers control'),
422
+ sortKey: {
423
+ type: String,
424
+ impacts: ['datalayer-index', 'data'],
348
425
  },
349
426
  starControl: {
350
427
  type: Boolean,
428
+ impacts: ['ui'],
351
429
  nullable: true,
352
430
  label: translate('Display the star map button'),
353
431
  },
354
- easing: {
355
- type: Boolean,
356
- default: false,
357
- },
358
- interactive: {
432
+ stroke: {
359
433
  type: Boolean,
360
- label: translate('Allow interactions'),
361
- helpEntries: 'interactive',
434
+ impacts: ['data'],
435
+ label: translate('stroke'),
436
+ helpEntries: 'stroke',
362
437
  inheritable: true,
363
438
  default: true,
364
439
  },
365
- fromZoom: {
366
- type: Number,
367
- label: translate('From zoom'),
368
- helpText: translate('Optional.'),
440
+ tilelayer: {
441
+ type: Object,
442
+ impacts: ['background'],
443
+ },
444
+ tilelayersControl: {
445
+ type: Boolean,
446
+ impacts: ['ui'],
447
+ nullable: true,
448
+ label: translate('Display the tile layers control'),
369
449
  },
370
450
  toZoom: {
371
451
  type: Number,
452
+ impacts: [], // not needed
372
453
  label: translate('To zoom'),
373
454
  helpText: translate('Optional.'),
374
455
  },
375
- stroke: {
376
- type: Boolean,
377
- label: translate('stroke'),
378
- helpEntries: 'stroke',
456
+ type: {
457
+ type: 'String',
458
+ impacts: ['data'],
459
+ },
460
+ weight: {
461
+ type: Number,
462
+ impacts: ['data'],
463
+ min: 1,
464
+ max: 20,
465
+ step: 1,
466
+ label: translate('weight'),
379
467
  inheritable: true,
468
+ default: 3,
469
+ },
470
+ zoom: {
471
+ type: Number,
472
+ impacts: [], // default zoom, doesn't need to be updated
473
+ },
474
+ zoomControl: {
475
+ type: Boolean,
476
+ impacts: ['ui'],
477
+ nullable: true,
478
+ label: translate('Display the zoom control'),
380
479
  default: true,
381
480
  },
382
- outlink: {
383
- label: translate('Link to…'),
384
- helpEntries: 'outlink',
385
- placeholder: 'http://...',
481
+ zoomTo: {
482
+ type: Number,
483
+ impacts: [], // not need to update the view
484
+ placeholder: translate('Inherit'),
485
+ helpEntries: 'zoomTo',
486
+ label: translate('Default zoom level'),
386
487
  inheritable: true,
387
488
  },
388
489
  }