qwc2 2025.12.18 → 2025.12.24

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 (71) hide show
  1. package/actions/display.js +6 -6
  2. package/actions/theme.js +4 -19
  3. package/components/AppMenu.js +1 -1
  4. package/components/AttributeForm.js +7 -7
  5. package/components/AttributeTableWidget.js +2 -2
  6. package/components/AutoEditForm.js +6 -3
  7. package/components/EditComboField.js +1 -4
  8. package/components/IdentifyViewer.js +33 -34
  9. package/components/ImportLayer.js +78 -79
  10. package/components/OverviewMapButton.js +147 -0
  11. package/components/PluginsContainer.js +2 -2
  12. package/components/ResizeableWindow.js +8 -1
  13. package/components/SearchBox.js +2 -2
  14. package/components/SideBar.js +1 -0
  15. package/components/StandardApp.js +1 -2
  16. package/components/ThemeLayersListWindow.js +10 -1
  17. package/components/{map3d/View3DSwitcher.js → ViewSwitcher.js} +74 -29
  18. package/components/map/OlMap.js +1 -1
  19. package/components/map3d/Map3D.js +50 -48
  20. package/components/map3d/MapControls3D.js +4 -1
  21. package/components/map3d/drawtool/EditTool3D.js +1 -1
  22. package/components/map3d/layers/WFSLayer3D.js +1 -1
  23. package/components/share/ShareQRCode.js +1 -1
  24. package/{plugins/map3d/style/OverviewMap3D.css → components/style/OverviewMapButton.css} +4 -4
  25. package/components/style/ViewSwitcher.css +36 -0
  26. package/components/widgets/ColorButton.js +2 -2
  27. package/components/widgets/CopyButton.js +1 -1
  28. package/components/widgets/LayerCatalogWidget.js +4 -4
  29. package/libs/openlayers.js +11 -11
  30. package/package.json +54 -55
  31. package/plugins/API.js +4 -4
  32. package/plugins/FeatureForm.js +2 -2
  33. package/plugins/FeatureSearch.js +12 -12
  34. package/plugins/GeometryDigitizer.js +12 -13
  35. package/plugins/Map.js +11 -4
  36. package/plugins/MapFilter.js +12 -12
  37. package/plugins/MapTip.js +1 -1
  38. package/plugins/ObliqueView.js +115 -51
  39. package/plugins/Print.js +79 -91
  40. package/plugins/Routing.js +1 -1
  41. package/plugins/Share.js +5 -5
  42. package/plugins/TimeManager.js +1 -2
  43. package/plugins/View3D.js +135 -123
  44. package/plugins/map/RedliningSupport.js +3 -3
  45. package/plugins/map3d/Draw3D.js +4 -4
  46. package/plugins/map3d/ExportObjects3D.js +1 -1
  47. package/plugins/map3d/HideObjects3D.js +7 -7
  48. package/plugins/map3d/Identify3D.js +1 -1
  49. package/plugins/map3d/LayerTree3D.js +1 -1
  50. package/plugins/map3d/MapExport3D.js +25 -25
  51. package/plugins/map3d/Measure3D.js +1 -1
  52. package/plugins/map3d/OverviewMap3D.js +27 -102
  53. package/plugins/map3d/TopBar3D.js +7 -7
  54. package/plugins/style/ObliqueView.css +27 -11
  55. package/reducers/display.js +2 -2
  56. package/reducers/layers.js +11 -11
  57. package/scripts/gen-plugin-docs.js +11 -4
  58. package/scripts/makeIconkit.js +2 -2
  59. package/scripts/themesConfig.js +5 -5
  60. package/scripts/updateTranslations.js +2 -2
  61. package/utils/CoordinatesUtils.js +1 -1
  62. package/utils/EditingUtils.js +6 -6
  63. package/utils/FeatureStyles.js +1 -1
  64. package/utils/LayerUtils.js +73 -74
  65. package/utils/MiscUtils.js +10 -3
  66. package/utils/PermaLinkUtils.js +68 -71
  67. package/utils/SearchProviders.js +2 -2
  68. package/utils/ServiceLayerUtils.js +12 -12
  69. package/utils/ThemeUtils.js +1 -1
  70. package/utils/VectorLayerUtils.js +3 -3
  71. package/components/map3d/style/View3DSwitcher.css +0 -19
@@ -1,5 +1,6 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
2
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
3
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
3
4
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
4
5
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
6
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
@@ -133,65 +134,64 @@ function executePermalinkDataStoreHooks(_x) {
133
134
  return _executePermalinkDataStoreHooks.apply(this, arguments);
134
135
  }
135
136
  function _executePermalinkDataStoreHooks() {
136
- _executePermalinkDataStoreHooks = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(permalinkState) {
137
- var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step$value, key, storeFn;
138
- return _regeneratorRuntime().wrap(function _callee$(_context) {
139
- while (1) switch (_context.prev = _context.next) {
137
+ _executePermalinkDataStoreHooks = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(permalinkState) {
138
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _step$value, key, storeFn, _t;
139
+ return _regenerator().w(function (_context) {
140
+ while (1) switch (_context.p = _context.n) {
140
141
  case 0:
141
142
  _iteratorAbruptCompletion = false;
142
143
  _didIteratorError = false;
143
- _context.prev = 2;
144
+ _context.p = 1;
144
145
  _iterator = _asyncIterator(Object.entries(PermalinkDataHooks));
145
- case 4:
146
- _context.next = 6;
146
+ case 2:
147
+ _context.n = 3;
147
148
  return _iterator.next();
148
- case 6:
149
- if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
150
- _context.next = 14;
149
+ case 3:
150
+ if (!(_iteratorAbruptCompletion = !(_step = _context.v).done)) {
151
+ _context.n = 6;
151
152
  break;
152
153
  }
153
154
  _step$value = _slicedToArray(_step.value, 2), key = _step$value[0], storeFn = _step$value[1];
154
- _context.next = 10;
155
+ _context.n = 4;
155
156
  return storeFn();
156
- case 10:
157
- permalinkState[key] = _context.sent;
158
- case 11:
157
+ case 4:
158
+ permalinkState[key] = _context.v;
159
+ case 5:
159
160
  _iteratorAbruptCompletion = false;
160
- _context.next = 4;
161
+ _context.n = 2;
161
162
  break;
162
- case 14:
163
- _context.next = 20;
163
+ case 6:
164
+ _context.n = 8;
164
165
  break;
165
- case 16:
166
- _context.prev = 16;
167
- _context.t0 = _context["catch"](2);
166
+ case 7:
167
+ _context.p = 7;
168
+ _t = _context.v;
168
169
  _didIteratorError = true;
169
- _iteratorError = _context.t0;
170
- case 20:
171
- _context.prev = 20;
172
- _context.prev = 21;
170
+ _iteratorError = _t;
171
+ case 8:
172
+ _context.p = 8;
173
+ _context.p = 9;
173
174
  if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) {
174
- _context.next = 25;
175
+ _context.n = 10;
175
176
  break;
176
177
  }
177
- _context.next = 25;
178
+ _context.n = 10;
178
179
  return _iterator["return"]();
179
- case 25:
180
- _context.prev = 25;
180
+ case 10:
181
+ _context.p = 10;
181
182
  if (!_didIteratorError) {
182
- _context.next = 28;
183
+ _context.n = 11;
183
184
  break;
184
185
  }
185
186
  throw _iteratorError;
186
- case 28:
187
- return _context.finish(25);
188
- case 29:
189
- return _context.finish(20);
190
- case 30:
191
- case "end":
192
- return _context.stop();
187
+ case 11:
188
+ return _context.f(10);
189
+ case 12:
190
+ return _context.f(8);
191
+ case 13:
192
+ return _context.a(2);
193
193
  }
194
- }, _callee, null, [[2, 16, 20, 30], [21,, 25, 29]]);
194
+ }, _callee, null, [[9,, 10, 12], [1, 7, 8, 13]]);
195
195
  }));
196
196
  return _executePermalinkDataStoreHooks.apply(this, arguments);
197
197
  }
@@ -199,7 +199,7 @@ export function generatePermaLink(_x2) {
199
199
  return _generatePermaLink.apply(this, arguments);
200
200
  }
201
201
  function _generatePermaLink() {
202
- _generatePermaLink = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(callback) {
202
+ _generatePermaLink = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(callback) {
203
203
  var user,
204
204
  permittedGroup,
205
205
  state,
@@ -210,20 +210,20 @@ function _generatePermaLink() {
210
210
  params,
211
211
  route,
212
212
  _args2 = arguments;
213
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
214
- while (1) switch (_context2.prev = _context2.next) {
213
+ return _regenerator().w(function (_context2) {
214
+ while (1) switch (_context2.n) {
215
215
  case 0:
216
216
  user = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : false;
217
217
  permittedGroup = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : "";
218
218
  state = StandardApp.store.getState();
219
219
  fullUrl = UrlParams.getFullUrl();
220
220
  if (ConfigUtils.getConfigProp("permalinkServiceUrl")) {
221
- _context2.next = 7;
221
+ _context2.n = 1;
222
222
  break;
223
223
  }
224
224
  callback(fullUrl);
225
- return _context2.abrupt("return");
226
- case 7:
225
+ return _context2.a(2);
226
+ case 1:
227
227
  permalinkState = {};
228
228
  if (ConfigUtils.getConfigProp("storeAllLayersInPermalink")) {
229
229
  permalinkState.layers = state.layers.flat.filter(function (layer) {
@@ -252,9 +252,9 @@ function _generatePermaLink() {
252
252
  params = {
253
253
  permitted_group: permittedGroup || null
254
254
  };
255
- _context2.next = 14;
255
+ _context2.n = 2;
256
256
  return executePermalinkDataStoreHooks(permalinkState);
257
- case 14:
257
+ case 2:
258
258
  route = user ? "userpermalink" : "createpermalink";
259
259
  axios.post(ConfigUtils.getConfigProp("permalinkServiceUrl").replace(/\/$/, '') + "/" + route, permalinkState, {
260
260
  params: params
@@ -263,9 +263,8 @@ function _generatePermaLink() {
263
263
  })["catch"](function () {
264
264
  return callback(fullUrl);
265
265
  });
266
- case 16:
267
- case "end":
268
- return _context2.stop();
266
+ case 3:
267
+ return _context2.a(2);
269
268
  }
270
269
  }, _callee2);
271
270
  }));
@@ -313,18 +312,18 @@ export function createBookmark(_x3, _x4) {
313
312
  return _createBookmark.apply(this, arguments);
314
313
  }
315
314
  function _createBookmark() {
316
- _createBookmark = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(description, callback) {
315
+ _createBookmark = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(description, callback) {
317
316
  var state, exploded, bookmarkState, redliningLayers;
318
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
319
- while (1) switch (_context3.prev = _context3.next) {
317
+ return _regenerator().w(function (_context3) {
318
+ while (1) switch (_context3.n) {
320
319
  case 0:
321
320
  if (ConfigUtils.getConfigProp("permalinkServiceUrl")) {
322
- _context3.next = 3;
321
+ _context3.n = 1;
323
322
  break;
324
323
  }
325
324
  callback(false);
326
- return _context3.abrupt("return");
327
- case 3:
325
+ return _context3.a(2);
326
+ case 1:
328
327
  state = StandardApp.store.getState(); // Only store redlining layers
329
328
  exploded = LayerUtils.explodeLayers(state.layers.flat.filter(function (layer) {
330
329
  return layer.role !== LayerRole.BACKGROUND;
@@ -350,17 +349,16 @@ function _createBookmark() {
350
349
  }
351
350
  bookmarkState.permalinkParams = state.localConfig.permalinkParams;
352
351
  bookmarkState.url = UrlParams.getFullUrl();
353
- _context3.next = 11;
352
+ _context3.n = 2;
354
353
  return executePermalinkDataStoreHooks(bookmarkState);
355
- case 11:
354
+ case 2:
356
355
  axios.post(ConfigUtils.getConfigProp("permalinkServiceUrl").replace(/\/$/, '') + "/bookmarks/" + "?description=" + description, bookmarkState).then(function () {
357
356
  return callback(true);
358
357
  })["catch"](function () {
359
358
  return callback(false);
360
359
  });
361
- case 12:
362
- case "end":
363
- return _context3.stop();
360
+ case 3:
361
+ return _context3.a(2);
364
362
  }
365
363
  }, _callee3);
366
364
  }));
@@ -370,18 +368,18 @@ export function updateBookmark(_x5, _x6, _x7) {
370
368
  return _updateBookmark.apply(this, arguments);
371
369
  }
372
370
  function _updateBookmark() {
373
- _updateBookmark = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(bkey, description, callback) {
371
+ _updateBookmark = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(bkey, description, callback) {
374
372
  var state, exploded, bookmarkState, redliningLayers;
375
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
376
- while (1) switch (_context4.prev = _context4.next) {
373
+ return _regenerator().w(function (_context4) {
374
+ while (1) switch (_context4.n) {
377
375
  case 0:
378
376
  if (ConfigUtils.getConfigProp("permalinkServiceUrl")) {
379
- _context4.next = 3;
377
+ _context4.n = 1;
380
378
  break;
381
379
  }
382
380
  callback(false);
383
- return _context4.abrupt("return");
384
- case 3:
381
+ return _context4.a(2);
382
+ case 1:
385
383
  state = StandardApp.store.getState(); // Only store redlining layers
386
384
  exploded = LayerUtils.explodeLayers(state.layers.flat.filter(function (layer) {
387
385
  return layer.role !== LayerRole.BACKGROUND;
@@ -407,17 +405,16 @@ function _updateBookmark() {
407
405
  }
408
406
  bookmarkState.permalinkParams = state.localConfig.permalinkParams;
409
407
  bookmarkState.url = UrlParams.getFullUrl();
410
- _context4.next = 11;
408
+ _context4.n = 2;
411
409
  return executePermalinkDataStoreHooks(bookmarkState);
412
- case 11:
410
+ case 2:
413
411
  axios.put(ConfigUtils.getConfigProp("permalinkServiceUrl").replace(/\/$/, '') + "/bookmarks/" + bkey + "?description=" + description, bookmarkState).then(function () {
414
412
  return callback(true);
415
413
  })["catch"](function () {
416
414
  return callback(false);
417
415
  });
418
- case 12:
419
- case "end":
420
- return _context4.stop();
416
+ case 3:
417
+ return _context4.a(2);
421
418
  }
422
419
  }, _callee4);
423
420
  }));
@@ -148,7 +148,7 @@ var NominatimSearch = /*#__PURE__*/function () {
148
148
  var title = entry.type;
149
149
  try {
150
150
  title = translations[entry["class"]][entry.type] || entry.type;
151
- } catch (e) {
151
+ } catch (_unused) {
152
152
  /* pass */
153
153
  }
154
154
  groups[entry["class"]] = {
@@ -240,7 +240,7 @@ var NominatimSearch = /*#__PURE__*/function () {
240
240
  });
241
241
  try {
242
242
  return doc[locale].geocoder.search_osm_nominatim.prefix;
243
- } catch (e) {
243
+ } catch (_unused2) {
244
244
  return {};
245
245
  }
246
246
  }
@@ -111,7 +111,7 @@ var ServiceLayerUtils = {
111
111
  if (axisOrder === 'ne') {
112
112
  origin = [topMatrix.TopLeftCorner[1], topMatrix.TopLeftCorner[0]];
113
113
  }
114
- } catch (e) {
114
+ } catch (_unused) {
115
115
  // eslint-disable-next-line
116
116
  console.warn("Could not determine axis order for projection " + tileMatrices[tileMatrixSet].crs);
117
117
  return null;
@@ -200,19 +200,19 @@ var ServiceLayerUtils = {
200
200
  var featureInfoUrl = getMapUrl;
201
201
  try {
202
202
  featureInfoUrl = this.mergeCalledServiceUrlQuery(ServiceLayerUtils.getDCPTypes(capabilities.Capability.Request.GetFeatureInfo.DCPType).HTTP.Get.OnlineResource.href, calledUrlParts);
203
- } catch (e) {
203
+ } catch (_unused2) {
204
204
  // pass
205
205
  }
206
206
  var mapFormats = null;
207
207
  try {
208
208
  mapFormats = MiscUtils.ensureArray(capabilities.Capability.Request.GetMap.Format);
209
- } catch (e) {
209
+ } catch (_unused3) {
210
210
  mapFormats = ['image/png'];
211
211
  }
212
212
  var infoFormats = null;
213
213
  try {
214
214
  infoFormats = MiscUtils.ensureArray(capabilities.Capability.Request.GetFeatureInfo.Format);
215
- } catch (e) {
215
+ } catch (_unused4) {
216
216
  infoFormats = ['text/plain'];
217
217
  }
218
218
  var externalLayerFeatureInfoFormats = ConfigUtils.getConfigProp("externalLayerFeatureInfoFormats") || {};
@@ -297,7 +297,7 @@ var ServiceLayerUtils = {
297
297
  var legendUrl = getMapUrl;
298
298
  try {
299
299
  legendUrl = this.mergeCalledServiceUrlQuery(MiscUtils.ensureArray(MiscUtils.ensureArray(layer.Style)[0].LegendURL)[0].OnlineResource.href, calledUrlParts);
300
- } catch (e) {
300
+ } catch (_unused5) {
301
301
  /* pass */
302
302
  }
303
303
  var editConfigUrl = null;
@@ -305,13 +305,13 @@ var ServiceLayerUtils = {
305
305
  try {
306
306
  editConfigUrl = layer.EditConfig.OnlineResource.href;
307
307
  wmsName = layer.EditConfig.wms_name;
308
- } catch (e) {
308
+ } catch (_unused6) {
309
309
  /* pass */
310
310
  }
311
311
  var translationsUrl = null;
312
312
  try {
313
313
  translationsUrl = layer.Traslations.OnlineResource.href;
314
- } catch (e) {
314
+ } catch (_unused7) {
315
315
  /* pass */
316
316
  }
317
317
  var dimensions = [];
@@ -394,7 +394,7 @@ var ServiceLayerUtils = {
394
394
  // convert to list if single entry
395
395
  formats = [formats];
396
396
  }
397
- } catch (e) {
397
+ } catch (_unused8) {
398
398
  return [];
399
399
  }
400
400
  var layers = [];
@@ -412,7 +412,7 @@ var ServiceLayerUtils = {
412
412
  crs: featureType.SRS,
413
413
  bounds: [llbbox.minx, llbbox.miny, llbbox.maxx, llbbox.maxy]
414
414
  };
415
- } catch (e) {
415
+ } catch (_unused9) {
416
416
  continue; // Name and bbox are required
417
417
  }
418
418
  var title = featureType.Title || name;
@@ -452,7 +452,7 @@ var ServiceLayerUtils = {
452
452
  return el.name === "outputFormat";
453
453
  });
454
454
  formats = MiscUtils.ensureArray(outputFormat.AllowedValues ? outputFormat.AllowedValues.Value : outputFormat.Value);
455
- } catch (e) {
455
+ } catch (_unused0) {
456
456
  return [];
457
457
  }
458
458
  var layers = [];
@@ -471,7 +471,7 @@ var ServiceLayerUtils = {
471
471
  crs: "EPSG:4326",
472
472
  bounds: [lc[0], lc[1], uc[0], uc[1]]
473
473
  };
474
- } catch (e) {
474
+ } catch (_unused1) {
475
475
  continue; // Name and bbox are required
476
476
  }
477
477
  var title = featureType.Title || name;
@@ -719,7 +719,7 @@ var ServiceLayerUtils = {
719
719
  urlParts.query = _objectSpread(_objectSpread({}, calledServiceUrlParts.query), urlParts.query);
720
720
  delete urlParts.search;
721
721
  return url.format(urlParts);
722
- } catch (e) {
722
+ } catch (_unused10) {
723
723
  return url.format(capabilityUrl);
724
724
  }
725
725
  }
@@ -342,7 +342,7 @@ var ThemeUtils = {
342
342
  subdirs: group.subdirs ? group.subdirs.map(ThemeUtils.applyTranslations) : null,
343
343
  items: group.items ? group.items.map(function (item) {
344
344
  var _item$translations$th, _item$translations;
345
- return _objectSpread(_objectSpread({}, LayerUtils.applyTranslations(item, deepmerge(commonTranslations, item.translations))), {}, {
345
+ return _objectSpread(_objectSpread({}, LayerUtils.applyTranslations(item, deepmerge(commonTranslations, item.translations || {}))), {}, {
346
346
  title: (_item$translations$th = (_item$translations = item.translations) === null || _item$translations === void 0 || (_item$translations = _item$translations.theme) === null || _item$translations === void 0 ? void 0 : _item$translations.title) !== null && _item$translations$th !== void 0 ? _item$translations$th : item.title
347
347
  });
348
348
  }) : null
@@ -77,7 +77,7 @@ var VectorLayerUtils = {
77
77
  }
78
78
  try {
79
79
  return VectorLayerUtils.simplifyFeature(feature);
80
- } catch (e) {
80
+ } catch (_unused) {
81
81
  /* eslint-disable-next-line */
82
82
  console.warn("Skipping invalid geometry");
83
83
  return null;
@@ -293,7 +293,7 @@ var VectorLayerUtils = {
293
293
  width = parseInt(svgDoc.getElementsByTagName("svg")[0].getAttribute("width"), 10);
294
294
  height = parseInt(svgDoc.getElementsByTagName("svg")[0].getAttribute("height"), 10);
295
295
  path = svgDoc.getElementsByTagName("path")[0].getAttribute("d");
296
- } catch (e) {
296
+ } catch (_unused2) {
297
297
  /* eslint-disable-next-line */
298
298
  console.warn("Could not parse path for marker " + markername);
299
299
  return;
@@ -407,7 +407,7 @@ var VectorLayerUtils = {
407
407
  var featureObj = new ol.format.GeoJSON().writeFeatureObject(feature);
408
408
  featureObj.id = id;
409
409
  return featureObj;
410
- } catch (e) {
410
+ } catch (_unused3) {
411
411
  /* eslint-disable-next-line */
412
412
  console.warn("Failed to parse geometry: " + wkt);
413
413
  return null;
@@ -1,19 +0,0 @@
1
- div.view3d-switcher-buttons > button {
2
- transition: right 0.25s;
3
- position: absolute;
4
- right: 0;
5
- bottom: 0;
6
- z-index: -1;
7
- }
8
-
9
- div.view3d-switcher-buttons-expanded > button:nth-child(1) {
10
- right: 3.5em;
11
- }
12
-
13
- div.view3d-switcher-buttons-expanded > button:nth-child(2) {
14
- right: 7em;
15
- }
16
-
17
- div.view3d-switcher-buttons-expanded > button:nth-child(3) {
18
- right: 10.5em;
19
- }