qwc2 2025.11.19 → 2025.11.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/components/AppMenu.js +141 -204
  2. package/components/AttributeTableWidget.js +5 -0
  3. package/components/FeatureAttributesWindow.js +1 -2
  4. package/components/FullscreenSwitcher.js +3 -0
  5. package/components/Icon.js +6 -0
  6. package/components/ImportLayer.js +3 -9
  7. package/components/LayerInfoWindow.js +1 -2
  8. package/components/MapButton.js +2 -0
  9. package/components/NumericInputWindow.js +1 -2
  10. package/components/PickFeature.js +1 -1
  11. package/components/PluginsContainer.js +54 -9
  12. package/components/ResizeableWindow.js +18 -9
  13. package/components/SearchBox.js +117 -124
  14. package/components/ServiceInfoWindow.js +1 -2
  15. package/components/StandardApp.js +0 -1
  16. package/components/ThemeLayersListWindow.js +8 -7
  17. package/components/ThemeList.js +7 -2
  18. package/components/WindowManager.js +0 -1
  19. package/components/map/layers/VectorLayer.js +4 -2
  20. package/components/map3d/HeightProfile3D.js +0 -1
  21. package/components/map3d/Map3D.js +1 -1
  22. package/components/map3d/View3DSwitcher.js +2 -1
  23. package/components/map3d/drawtool/NumericInput3D.js +1 -2
  24. package/components/map3d/layers/VectorLayer3D.js +2 -2
  25. package/components/style/App.css +4 -0
  26. package/components/style/AppMenu.css +33 -48
  27. package/components/style/DefaultColorScheme.css +1 -0
  28. package/components/style/PickFeature.css +0 -6
  29. package/components/style/ResizeableWindow.css +0 -4
  30. package/components/style/SearchBox.css +0 -21
  31. package/components/widgets/ColorButton.js +7 -2
  32. package/components/widgets/ComboBox.js +18 -16
  33. package/components/widgets/EditableSelect.js +5 -10
  34. package/components/widgets/LayerCatalogWidget.js +66 -16
  35. package/components/widgets/MenuButton.js +16 -15
  36. package/components/widgets/PopupMenu.js +153 -13
  37. package/components/widgets/ToggleSwitch.js +5 -2
  38. package/components/widgets/style/ComboBox.css +7 -20
  39. package/components/widgets/style/EditableSelect.css +0 -2
  40. package/components/widgets/style/MenuButton.css +1 -17
  41. package/components/widgets/style/PopupMenu.css +20 -0
  42. package/package.json +1 -1
  43. package/plugins/AttributeTable.js +0 -1
  44. package/plugins/BackgroundSwitcher.js +104 -8
  45. package/plugins/Cyclomedia.js +1 -2
  46. package/plugins/FeatureForm.js +3 -6
  47. package/plugins/GeometryDigitizer.js +1 -2
  48. package/plugins/HeightProfile.js +2 -5
  49. package/plugins/Identify.js +2 -5
  50. package/plugins/LayerCatalog.js +2 -13
  51. package/plugins/LayerTree.js +30 -17
  52. package/plugins/MapLegend.js +1 -2
  53. package/plugins/ObjectList.js +0 -1
  54. package/plugins/Panoramax.js +1 -2
  55. package/plugins/Print.js +1 -2
  56. package/plugins/Routing.js +1 -2
  57. package/plugins/TimeManager.js +2 -5
  58. package/plugins/ValueTool.js +1 -2
  59. package/plugins/View3D.js +0 -1
  60. package/plugins/map/MeasurementSupport.js +2 -2
  61. package/plugins/map3d/Identify3D.js +1 -2
  62. package/plugins/map3d/Measure3D.js +21 -12
  63. package/plugins/style/BackgroundSwitcher.css +2 -1
  64. package/plugins/style/LayerTree.css +3 -18
  65. package/static/translations/ca-ES.json +29 -29
  66. package/static/translations/es-ES.json +34 -34
  67. package/utils/MapUtils.js +6 -0
  68. package/utils/MiscUtils.js +12 -0
@@ -256,14 +256,17 @@ var Measure3D = /*#__PURE__*/function (_React$Component) {
256
256
  });
257
257
  });
258
258
  _defineProperty(_this, "clearResult", function () {
259
- _this.drawLayer.source.clear();
260
- _this.measurementObjects.forEach(function (object) {
261
- _this.props.sceneContext.scene.remove(object);
262
- });
263
- _this.measurementObjects = [];
264
- _this.setState({
265
- result: null
266
- });
259
+ if (_this.state.haveResult) {
260
+ _this.drawLayer.source.clear();
261
+ _this.measurementObjects.forEach(function (object) {
262
+ _this.props.sceneContext.scene.remove(object);
263
+ });
264
+ _this.measurementObjects = [];
265
+ _this.setState({
266
+ result: null,
267
+ haveResult: false
268
+ });
269
+ }
267
270
  });
268
271
  _defineProperty(_this, "restart", function () {
269
272
  if (_this.abortController) {
@@ -340,7 +343,8 @@ var Measure3D = /*#__PURE__*/function (_React$Component) {
340
343
  _this.setState({
341
344
  result: {
342
345
  pos: [pos.x, pos.y, pos.z],
343
- ground: ground
346
+ ground: ground,
347
+ haveResult: true
344
348
  }
345
349
  });
346
350
 
@@ -357,6 +361,7 @@ var Measure3D = /*#__PURE__*/function (_React$Component) {
357
361
  _this.clearResult();
358
362
  }
359
363
  var pos = point.points[0];
364
+ var haveResult = false;
360
365
  if ((_this.state.result || []).length === 1) {
361
366
  // Add line if two points drawn
362
367
  var points = [_this.state.result[0], pos];
@@ -373,6 +378,7 @@ var Measure3D = /*#__PURE__*/function (_React$Component) {
373
378
  line.setPoints([new Vector3(points[0].x, points[0].y, points[0].z), new Vector3(points[1].x, points[1].y, points[0].z), new Vector3(points[1].x, points[1].y, points[1].z)]);
374
379
  _this.props.sceneContext.scene.add(line);
375
380
  _this.measurementObjects.push(line);
381
+ haveResult = true;
376
382
  } else {
377
383
  // Add first drawn point
378
384
  var shape = new Shape({
@@ -389,7 +395,8 @@ var Measure3D = /*#__PURE__*/function (_React$Component) {
389
395
  x: pos.x,
390
396
  y: pos.y,
391
397
  z: pos.z
392
- }])
398
+ }]),
399
+ haveResult: haveResult
393
400
  };
394
401
  });
395
402
  _this.restart();
@@ -434,7 +441,8 @@ var Measure3D = /*#__PURE__*/function (_React$Component) {
434
441
  result: {
435
442
  length: len3d,
436
443
  profile: line3d
437
- }
444
+ },
445
+ haveResult: true
438
446
  });
439
447
  _this.restart();
440
448
  });
@@ -497,7 +505,8 @@ var Measure3D = /*#__PURE__*/function (_React$Component) {
497
505
  }
498
506
  }
499
507
  _this.setState({
500
- result: area
508
+ result: area,
509
+ haveResult: true
501
510
  });
502
511
 
503
512
  // Setup for next measurement
@@ -32,7 +32,8 @@ div.background-switcher-item:hover {
32
32
  border: 1px solid var(--color-active);
33
33
  }
34
34
 
35
- div.background-switcher-item:hover div.background-switcher-group {
35
+ div.background-switcher-item:hover div.background-switcher-group,
36
+ div.background-switcher-item:focus-within div.background-switcher-group {
36
37
  display: block;
37
38
  }
38
39
 
@@ -20,33 +20,18 @@
20
20
  font-size: 80%;
21
21
  }
22
22
 
23
- #LayerTree div.layertree-visibility-menu {
24
- z-index: 1;
25
- position: absolute;
26
- top: 100%;
27
- border: 1px solid var(--border-color);
28
- background-color: var(--list-bg-color);
29
- color: var(--text-color);
30
- cursor: default;
31
- }
32
-
33
- #LayerTree div.layertree-visibility-menu > div {
23
+ div.layertree-visibility-menu > div {
34
24
  white-space: nowrap;
35
25
  padding: 0.25em 1em 0.25em 0.5em;
36
26
  display: flex;
37
27
  align-items: start;
38
28
  }
39
29
 
40
- #LayerTree div.layertree-visibility-menu > div:hover {
41
- background-color: var(--list-item-bg-color-hover);
42
- color: var(--list-item-text-color-hover);
43
- }
44
-
45
- #LayerTree div.layertree-visibility-menu > div > span.icon {
30
+ div.layertree-visibility-menu > div > span.icon {
46
31
  margin-right: 0.5em;
47
32
  }
48
33
 
49
- #LayerTree div.layertree-visibility-menu-sep:not(:first-child) {
34
+ div.layertree-visibility-menu-sep:not(:first-child) {
50
35
  border-top: 1px solid var(--border-color);
51
36
  }
52
37
 
@@ -3,7 +3,7 @@
3
3
  "messages": {
4
4
  "app": {
5
5
  "missingbg": "No s'ha pogut trobar el fons \"{0}\", es mostra el fons per defecte.",
6
- "missingdefaulttheme": "",
6
+ "missingdefaulttheme": "No s'ha pogut carregar el tema per defecte.",
7
7
  "missinglayers": "No s'han pogut trobar les següents capes: {0}.",
8
8
  "missingpermalink": "L'enllaç permanent o marcador especificat no és vàlid o ha caducat.",
9
9
  "missingprojection": "No s'ha pogut carregar el tema \"{0}\": la projecció {1} no està definida.",
@@ -24,11 +24,11 @@
24
24
  "MapExport3D": "Exportar mapa",
25
25
  "MapFilter": "Filtre de mapa",
26
26
  "MapLight3D": "Llum i ombres",
27
- "ObjectList": "",
27
+ "ObjectList": "Llistat d'objectes",
28
28
  "Print": "Imprimir",
29
29
  "Reports": "Informes",
30
30
  "Settings": "Opcions",
31
- "Settings3D": "",
31
+ "Settings3D": "Opcions 3D",
32
32
  "Share": "Compartir link",
33
33
  "ThemeSwitcher": "Tema",
34
34
  "AttributeTable": "Taula d'atributs",
@@ -112,8 +112,8 @@
112
112
  "compare3d": {
113
113
  "clipplane": "Pla de retall",
114
114
  "compare_objects": "Comparar objectes",
115
- "info_message": "",
116
- "modify": "",
115
+ "info_message": "Comparació d'objectes activa",
116
+ "modify": "Modificar",
117
117
  "toggleall": "Alternar tot"
118
118
  },
119
119
  "cookiepopup": {
@@ -161,22 +161,22 @@
161
161
  "wedge": "Cunya"
162
162
  },
163
163
  "editdataset3d": {
164
- "moveobj": "",
165
- "zoomto": ""
164
+ "moveobj": "Moure objecte a la vista",
165
+ "zoomto": "Fer zoom a l'objecte"
166
166
  },
167
167
  "editing": {
168
168
  "add": "Afegir",
169
169
  "attrtable": "Taula",
170
170
  "canceldelete": "No esborrar",
171
171
  "clearpicture": "Netejar imatge",
172
- "clone_all": "",
173
- "clone_copy": "",
174
- "clone_defaulted": "",
175
- "clone_dontcopy": "",
176
- "clone_hidden": "",
177
- "clone_none": "",
178
- "clone_select_attrs": "",
179
- "clone_visible": "",
172
+ "clone_all": "Tots",
173
+ "clone_copy": "Copiar seleccionats",
174
+ "clone_defaulted": "(valor per defecte)",
175
+ "clone_dontcopy": "No copiar",
176
+ "clone_hidden": "(amagat)",
177
+ "clone_none": "Cap",
178
+ "clone_select_attrs": "Seleccionar atributs a copiar:",
179
+ "clone_visible": "Visibles sense valor per defecte",
180
180
  "commit": "Confirmar",
181
181
  "commitfailed": "Ha fallat el commit",
182
182
  "contraintviolation": "Violació de restricció",
@@ -197,15 +197,15 @@
197
197
  "reallydelete": "Esborrar",
198
198
  "relationcommitfailed": "Ha fallat el commit",
199
199
  "select": "Seleccionar",
200
- "selectlayer": "",
200
+ "selectlayer": "Escollir capa...",
201
201
  "takepicture": "Escull imatge",
202
202
  "unsavedchanged": "Hi ha canvis sense guardar. Vols sortir de la pàgina sense guardar?"
203
203
  },
204
204
  "featureattributes": {
205
- "name": "",
206
- "nofeatureormultiple": "",
207
- "value": "",
208
- "windowtitle": ""
205
+ "name": "Nom",
206
+ "nofeatureormultiple": "Sense element actiu o múltiples elements actius",
207
+ "value": "Valor ",
208
+ "windowtitle": "Atributs de l'element"
209
209
  },
210
210
  "featureform": {
211
211
  "feature": "Element",
@@ -239,7 +239,7 @@
239
239
  },
240
240
  "heightprofile": {
241
241
  "asl": "a.s.l.",
242
- "dhmdefaultname": "",
242
+ "dhmdefaultname": "Conjunt de dades",
243
243
  "distance": "Distància",
244
244
  "drawnodes": "Dibuixar nodes",
245
245
  "error": "No s'ha pogut calcular el perfil d'alçada",
@@ -259,8 +259,8 @@
259
259
  "identify": {
260
260
  "aggregatedreport": "Informe agregat",
261
261
  "clipboard": "Copiar al porta-retalls",
262
- "compare": "",
263
- "comparing": "",
262
+ "compare": "Comparar amb els objectes seleccionats",
263
+ "comparing": "Comparant {0} elements",
264
264
  "download": "Descarregar",
265
265
  "export": "Exportar",
266
266
  "featureReport": "Informe d'element",
@@ -271,7 +271,7 @@
271
271
  "noresults": "Sense informació disponible sobre el punt seleccionat",
272
272
  "querying": "Consultant...",
273
273
  "reportfail": "No s'ha pogut generar l'informe",
274
- "results": "",
274
+ "results": "Resultats",
275
275
  "selectreport": "Seleccionar informe...",
276
276
  "title": "Informació del element"
277
277
  },
@@ -297,7 +297,7 @@
297
297
  "shpreprojectionerror": "La geometria del Shapefile no s'ha pogut reproyectar i pot estar desplaçada.",
298
298
  "supportedformats": "Formats suportats: KML, GeoJSON, GeoPDF, SHP (en zip)",
299
299
  "unknownproj": "El GeoPDF seleccionat utilitza una projecció desconeguda: {0}.",
300
- "unsupportedfile": "",
300
+ "unsupportedfile": "El format de fitxer seleccionat no és suportat",
301
301
  "url": "URL",
302
302
  "urlplaceholder": "Adreça URL o WMS, WMTS, WFS..."
303
303
  },
@@ -362,8 +362,8 @@
362
362
  }
363
363
  },
364
364
  "locationrecorder": {
365
- "record": "",
366
- "stop": ""
365
+ "record": "Registrar",
366
+ "stop": "Parar"
367
367
  },
368
368
  "map": {
369
369
  "loading": "Carregant...",
@@ -542,7 +542,7 @@
542
542
  },
543
543
  "routing": {
544
544
  "add": "Afegir punt",
545
- "addlayer": "",
545
+ "addlayer": "Afegir capa",
546
546
  "addviapoint": "Passar per aquí",
547
547
  "arriveat": "Arribar a",
548
548
  "clear": "Netejar",
@@ -650,7 +650,7 @@
650
650
  "vertex": "Ajustar als vèrtexs"
651
651
  },
652
652
  "themelayerslist": {
653
- "addanyway": "",
653
+ "addanyway": "Afegir de totes maneres",
654
654
  "addlayer": "Afegir capa",
655
655
  "addlayerstotheme": "Afegir capa al mapa actual",
656
656
  "addselectedlayers": "Afegir capa(s) seleccionada(s)",
@@ -3,7 +3,7 @@
3
3
  "messages": {
4
4
  "app": {
5
5
  "missingbg": "No se pudo encontrar el fondo \"{0}\", mostrando el fondo predeterminado.",
6
- "missingdefaulttheme": "",
6
+ "missingdefaulttheme": "No se pudo cargar el tema predeterminado.",
7
7
  "missinglayers": "No se pudieron encontrar las siguientes capas: {0}.",
8
8
  "missingpermalink": "El enlace permanente o marcador especificado es inválido o ha expirado.",
9
9
  "missingprojection": "No se pudo cargar el tema \"{0}\": la proyección {1} no está definida.",
@@ -24,11 +24,11 @@
24
24
  "MapExport3D": "Exportar mapa",
25
25
  "MapFilter": "Filtro de mapa",
26
26
  "MapLight3D": "Luz y sombras",
27
- "ObjectList": "",
27
+ "ObjectList": "Lista de objetos",
28
28
  "Print": "Imprimir",
29
29
  "Reports": "Informes",
30
30
  "Settings": "Opciones",
31
- "Settings3D": "",
31
+ "Settings3D": "Configuración 3D",
32
32
  "Share": "Compartir enlace",
33
33
  "ThemeSwitcher": "Tema",
34
34
  "AttributeTable": "Tabla de Atributos",
@@ -112,8 +112,8 @@
112
112
  "compare3d": {
113
113
  "clipplane": "Plano de recorte",
114
114
  "compare_objects": "Comparar objetos",
115
- "info_message": "",
116
- "modify": "",
115
+ "info_message": "Comparación de objetos activa",
116
+ "modify": "Modificar",
117
117
  "toggleall": "Alternar todo"
118
118
  },
119
119
  "cookiepopup": {
@@ -161,22 +161,22 @@
161
161
  "wedge": "Cuña"
162
162
  },
163
163
  "editdataset3d": {
164
- "moveobj": "",
165
- "zoomto": ""
164
+ "moveobj": "Mover objeto a la vista",
165
+ "zoomto": "Zoom al objeto"
166
166
  },
167
167
  "editing": {
168
168
  "add": "Añadir",
169
169
  "attrtable": "Tabla",
170
170
  "canceldelete": "No borrar",
171
171
  "clearpicture": "Limpiar",
172
- "clone_all": "",
173
- "clone_copy": "",
174
- "clone_defaulted": "",
175
- "clone_dontcopy": "",
176
- "clone_hidden": "",
177
- "clone_none": "",
178
- "clone_select_attrs": "",
179
- "clone_visible": "",
172
+ "clone_all": "Todos",
173
+ "clone_copy": "Copiar seleccionados",
174
+ "clone_defaulted": "(valor por defecto)",
175
+ "clone_dontcopy": "No copiar",
176
+ "clone_hidden": "(oculto)",
177
+ "clone_none": "Ninguno",
178
+ "clone_select_attrs": "Seleccionar atributos a copiar:",
179
+ "clone_visible": "Visibles sin valor por defecto",
180
180
  "commit": "Confirmar",
181
181
  "commitfailed": "Fallo al guardar cambios",
182
182
  "contraintviolation": "Violación de restricción",
@@ -197,15 +197,15 @@
197
197
  "reallydelete": "Borrar",
198
198
  "relationcommitfailed": "Algunos valores de las relaciones no han podido guardarse, verifique los tooltips de los iconos para más detalles",
199
199
  "select": "Seleccionar",
200
- "selectlayer": "",
200
+ "selectlayer": "Seleccionar capa...",
201
201
  "takepicture": "Tomar fotografía",
202
202
  "unsavedchanged": "Hay cambios sin guardar. Quieres salir de la página sin guardar?"
203
203
  },
204
204
  "featureattributes": {
205
- "name": "",
206
- "nofeatureormultiple": "",
207
- "value": "",
208
- "windowtitle": ""
205
+ "name": "Nombre",
206
+ "nofeatureormultiple": "Sin elemento activo o múltiples elementos activos",
207
+ "value": "Valor ",
208
+ "windowtitle": "Atributos del elemento"
209
209
  },
210
210
  "featureform": {
211
211
  "feature": "Elemento",
@@ -239,7 +239,7 @@
239
239
  },
240
240
  "heightprofile": {
241
241
  "asl": "a.s.l.",
242
- "dhmdefaultname": "",
242
+ "dhmdefaultname": "Conjunto de datos",
243
243
  "distance": "Distancia",
244
244
  "drawnodes": "Dibujar nodos",
245
245
  "error": "No se pudo calcular el perfil de altura",
@@ -259,8 +259,8 @@
259
259
  "identify": {
260
260
  "aggregatedreport": "Informe agregado",
261
261
  "clipboard": "Copiar al portapapeles",
262
- "compare": "",
263
- "comparing": "",
262
+ "compare": "Comparar con los objetos seleccionados",
263
+ "comparing": "Comparando {0} elementos",
264
264
  "download": "Descargar",
265
265
  "export": "Exportar",
266
266
  "featureReport": "Informe del elemento",
@@ -271,7 +271,7 @@
271
271
  "noresults": "Sin información disponible sobre el punto seleccionado",
272
272
  "querying": "Consultando...",
273
273
  "reportfail": "No se pudo generar el informe",
274
- "results": "",
274
+ "results": "Resultados",
275
275
  "selectreport": "Seleccionar informe...",
276
276
  "title": "Información del elemento"
277
277
  },
@@ -297,7 +297,7 @@
297
297
  "shpreprojectionerror": "La geometría del Shapefile no se pudo reproyectar y puede estar desplazada.",
298
298
  "supportedformats": "Formatos soportados: KML, GeoJSON, GeoPDF, SHP (en zip)",
299
299
  "unknownproj": "El GeoPDF seleccionado utiliza una proyección desconocida: {0}.",
300
- "unsupportedfile": "",
300
+ "unsupportedfile": "El formato de archivo seleccionado no es compatible",
301
301
  "url": "URL",
302
302
  "urlplaceholder": "Ingrese dirección URL o WMS, WMTS, WFS..."
303
303
  },
@@ -362,8 +362,8 @@
362
362
  }
363
363
  },
364
364
  "locationrecorder": {
365
- "record": "",
366
- "stop": ""
365
+ "record": "Registrar",
366
+ "stop": "Parar"
367
367
  },
368
368
  "map": {
369
369
  "loading": "Cargando...",
@@ -456,7 +456,7 @@
456
456
  "angle": "Ángulo",
457
457
  "featureunsupported": "Entrada numérica no disponible para esta geometría",
458
458
  "height": "Altura",
459
- "nofeatureormultiple": "",
459
+ "nofeatureormultiple": "Sin elemento activo o múltiples elementos activos",
460
460
  "side": "Lado",
461
461
  "width": "Ancho",
462
462
  "windowtitle": "Entrada numérica"
@@ -501,7 +501,7 @@
501
501
  "loading": "Cargando formulario..."
502
502
  },
503
503
  "redlining": {
504
- "attributes": "",
504
+ "attributes": "Atributos",
505
505
  "buffer": "Bufer",
506
506
  "buffercompute": "Computar",
507
507
  "bufferdistance": "Distancia",
@@ -510,7 +510,7 @@
510
510
  "bufferselectfeature": "Seleccione un elemento para almacenar en bufer",
511
511
  "circle": "Círculo",
512
512
  "clone": "Clonar",
513
- "ctrlhint": "",
513
+ "ctrlhint": "Abrir con Ctrl+Click",
514
514
  "delete": "Eliminar",
515
515
  "draw": "Dibujar",
516
516
  "edit": "Editar",
@@ -542,7 +542,7 @@
542
542
  },
543
543
  "routing": {
544
544
  "add": "Añadir punto",
545
- "addlayer": "",
545
+ "addlayer": "Agregar capa",
546
546
  "addviapoint": "Pasar por aquí",
547
547
  "arriveat": "Llegar a",
548
548
  "clear": "Limpiar",
@@ -602,7 +602,7 @@
602
602
  "providerselection": "Proveedores de búsqueda",
603
603
  "recent": "Búsquedas recientes",
604
604
  "search": "Buscar",
605
- "tasks": "",
605
+ "tasks": "Tareas",
606
606
  "themelayers": "Capas del tema",
607
607
  "themes": "Temas",
608
608
  "unknownmore": "Más resultados"
@@ -630,7 +630,7 @@
630
630
  "themes": "Temas"
631
631
  },
632
632
  "settings3d": {
633
- "quality": ""
633
+ "quality": "Calidad"
634
634
  },
635
635
  "share": {
636
636
  "QRCodeLinkTitle": "Código QR",
@@ -650,7 +650,7 @@
650
650
  "vertex": "Ajustar a los vértices"
651
651
  },
652
652
  "themelayerslist": {
653
- "addanyway": "",
653
+ "addanyway": "Agregar de todas formas",
654
654
  "addlayer": "Agregar capa",
655
655
  "addlayerstotheme": "Agregar capas al mapa actual",
656
656
  "addselectedlayers": "Agregar capa(s) seleccionada(s)",
package/utils/MapUtils.js CHANGED
@@ -209,6 +209,12 @@ var MapUtils = {
209
209
  var positionFormat = ConfigUtils.getConfigProp("urlPositionFormat");
210
210
  var positionCrs = ConfigUtils.getConfigProp("urlPositionCrs") || state.projection;
211
211
  var prec = CoordinatesUtils.getPrecision(positionCrs);
212
+ // Don't set params for empty map
213
+ if (state.bbox.bounds.every(function (x) {
214
+ return x === 0;
215
+ })) {
216
+ return;
217
+ }
212
218
  if (positionFormat === "centerAndZoom") {
213
219
  var center = CoordinatesUtils.reproject(state.center, state.projection, positionCrs);
214
220
  var scale = Math.round(MapUtils.computeForZoom(state.scales, state.zoom));
@@ -85,10 +85,22 @@ var MiscUtils = {
85
85
  },
86
86
  killEvent: function killEvent(ev) {
87
87
  if (ev.cancelable) {
88
+ var _ev$nativeEvent, _ev$nativeEvent$stopI;
88
89
  ev.stopPropagation();
90
+ (_ev$nativeEvent = ev.nativeEvent) === null || _ev$nativeEvent === void 0 || (_ev$nativeEvent$stopI = _ev$nativeEvent.stopImmediatePropagation) === null || _ev$nativeEvent$stopI === void 0 || _ev$nativeEvent$stopI.call(_ev$nativeEvent);
89
91
  ev.preventDefault();
90
92
  }
91
93
  },
94
+ checkKeyActivate: function checkKeyActivate(ev) {
95
+ var onEsc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
96
+ if (ev.code === "Space" || ev.code === "Enter") {
97
+ MiscUtils.killEvent(ev);
98
+ ev.currentTarget.click();
99
+ } else if (ev.code === "Escape" && onEsc) {
100
+ MiscUtils.killEvent(ev);
101
+ onEsc();
102
+ }
103
+ },
92
104
  blendColors: function blendColors(color1, color2, ratio) {
93
105
  color1 = [parseInt(color1[1] + color1[2], 16), parseInt(color1[3] + color1[4], 16), parseInt(color1[5] + color1[6], 16)];
94
106
  color2 = [parseInt(color2[1] + color2[2], 16), parseInt(color2[3] + color2[4], 16), parseInt(color2[5] + color2[6], 16)];