@opengeoweb/store 6.0.4 → 6.1.1

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 (30) hide show
  1. package/index.esm.js +847 -428
  2. package/package.json +3 -2
  3. package/src/store/coreModuleConfig.d.ts +1 -1
  4. package/src/store/drawingtool/config.d.ts +4 -0
  5. package/src/store/drawingtool/index.d.ts +4 -0
  6. package/src/store/drawingtool/reducer.d.ts +33 -0
  7. package/src/store/drawingtool/reducer.spec.d.ts +21 -0
  8. package/src/store/drawingtool/sagas.d.ts +6 -0
  9. package/src/store/drawingtool/sagas.spec.d.ts +1 -0
  10. package/src/store/drawingtool/selectors.d.ts +8 -0
  11. package/src/store/drawingtool/selectors.spec.d.ts +1 -0
  12. package/src/store/drawingtool/testUtils.d.ts +1 -0
  13. package/src/store/generic/synchronizationGroups/selectors.d.ts +3 -1
  14. package/src/store/generic/synchronizationGroups/types.d.ts +2 -0
  15. package/src/store/generic/types.d.ts +2 -1
  16. package/src/store/index.d.ts +1 -0
  17. package/src/store/layerSelect/types.d.ts +1 -0
  18. package/src/store/mapStore/index.d.ts +11 -7
  19. package/src/store/mapStore/layers/reducer.d.ts +10 -1
  20. package/src/store/mapStore/layers/selectors.d.ts +43 -4
  21. package/src/store/mapStore/layers/types.d.ts +25 -36
  22. package/src/store/mapStore/layers/utils.d.ts +6 -0
  23. package/src/store/mapStore/map/actions.d.ts +2 -1
  24. package/src/store/mapStore/map/index.d.ts +1 -1
  25. package/src/store/mapStore/map/reducer.d.ts +3 -2
  26. package/src/store/mapStore/map/selectors.d.ts +14 -9
  27. package/src/store/mapStore/map/types.d.ts +1 -23
  28. package/src/store/mapStore/storeTestUtils.d.ts +3 -1
  29. package/src/store/types.d.ts +2 -1
  30. package/src/store/mapStore/map/defaultLayers.d.ts +0 -15
package/index.esm.js CHANGED
@@ -1,336 +1,343 @@
1
- import { webmapUtils, webmapTestSettings, WMLayer, getCapabilities } from '@opengeoweb/webmap';
2
-
3
- function _iterableToArrayLimit(arr, i) {
4
- var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
5
- if (null != _i) {
6
- var _s,
7
- _e,
8
- _x,
9
- _r,
10
- _arr = [],
11
- _n = !0,
12
- _d = !1;
1
+ import { webmapUtils, LayerType, webmapTestSettings, WMLayer, getCapabilities } from '@opengeoweb/webmap';
2
+ import { defaultLayers } from '@opengeoweb/webmap-react';
3
+ export { defaultLayers } from '@opengeoweb/webmap-react';
4
+
5
+ function _iterableToArrayLimit(r, l) {
6
+ var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
7
+ if (null != t) {
8
+ var e,
9
+ n,
10
+ i,
11
+ u,
12
+ a = [],
13
+ f = !0,
14
+ o = !1;
13
15
  try {
14
- if (_x = (_i = _i.call(arr)).next, 0 === i) {
15
- if (Object(_i) !== _i) return;
16
- _n = !1;
17
- } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
18
- } catch (err) {
19
- _d = !0, _e = err;
16
+ if (i = (t = t.call(r)).next, 0 === l) {
17
+ if (Object(t) !== t) return;
18
+ f = !1;
19
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
20
+ } catch (r) {
21
+ o = !0, n = r;
20
22
  } finally {
21
23
  try {
22
- if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;
24
+ if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
23
25
  } finally {
24
- if (_d) throw _e;
26
+ if (o) throw n;
25
27
  }
26
28
  }
27
- return _arr;
29
+ return a;
28
30
  }
29
31
  }
30
32
  function _regeneratorRuntime() {
31
33
  _regeneratorRuntime = function () {
32
- return exports;
34
+ return e;
33
35
  };
34
- var exports = {},
35
- Op = Object.prototype,
36
- hasOwn = Op.hasOwnProperty,
37
- defineProperty = Object.defineProperty || function (obj, key, desc) {
38
- obj[key] = desc.value;
36
+ var t,
37
+ e = {},
38
+ r = Object.prototype,
39
+ n = r.hasOwnProperty,
40
+ o = Object.defineProperty || function (t, e, r) {
41
+ t[e] = r.value;
39
42
  },
40
- $Symbol = "function" == typeof Symbol ? Symbol : {},
41
- iteratorSymbol = $Symbol.iterator || "@@iterator",
42
- asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator",
43
- toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
44
- function define(obj, key, value) {
45
- return Object.defineProperty(obj, key, {
46
- value: value,
43
+ i = "function" == typeof Symbol ? Symbol : {},
44
+ a = i.iterator || "@@iterator",
45
+ c = i.asyncIterator || "@@asyncIterator",
46
+ u = i.toStringTag || "@@toStringTag";
47
+ function define(t, e, r) {
48
+ return Object.defineProperty(t, e, {
49
+ value: r,
47
50
  enumerable: !0,
48
51
  configurable: !0,
49
52
  writable: !0
50
- }), obj[key];
53
+ }), t[e];
51
54
  }
52
55
  try {
53
56
  define({}, "");
54
- } catch (err) {
55
- define = function (obj, key, value) {
56
- return obj[key] = value;
57
+ } catch (t) {
58
+ define = function (t, e, r) {
59
+ return t[e] = r;
57
60
  };
58
61
  }
59
- function wrap(innerFn, outerFn, self, tryLocsList) {
60
- var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,
61
- generator = Object.create(protoGenerator.prototype),
62
- context = new Context(tryLocsList || []);
63
- return defineProperty(generator, "_invoke", {
64
- value: makeInvokeMethod(innerFn, self, context)
65
- }), generator;
62
+ function wrap(t, e, r, n) {
63
+ var i = e && e.prototype instanceof Generator ? e : Generator,
64
+ a = Object.create(i.prototype),
65
+ c = new Context(n || []);
66
+ return o(a, "_invoke", {
67
+ value: makeInvokeMethod(t, r, c)
68
+ }), a;
66
69
  }
67
- function tryCatch(fn, obj, arg) {
70
+ function tryCatch(t, e, r) {
68
71
  try {
69
72
  return {
70
73
  type: "normal",
71
- arg: fn.call(obj, arg)
74
+ arg: t.call(e, r)
72
75
  };
73
- } catch (err) {
76
+ } catch (t) {
74
77
  return {
75
78
  type: "throw",
76
- arg: err
79
+ arg: t
77
80
  };
78
81
  }
79
82
  }
80
- exports.wrap = wrap;
81
- var ContinueSentinel = {};
83
+ e.wrap = wrap;
84
+ var h = "suspendedStart",
85
+ l = "suspendedYield",
86
+ f = "executing",
87
+ s = "completed",
88
+ y = {};
82
89
  function Generator() {}
83
90
  function GeneratorFunction() {}
84
91
  function GeneratorFunctionPrototype() {}
85
- var IteratorPrototype = {};
86
- define(IteratorPrototype, iteratorSymbol, function () {
92
+ var p = {};
93
+ define(p, a, function () {
87
94
  return this;
88
95
  });
89
- var getProto = Object.getPrototypeOf,
90
- NativeIteratorPrototype = getProto && getProto(getProto(values([])));
91
- NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);
92
- var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
93
- function defineIteratorMethods(prototype) {
94
- ["next", "throw", "return"].forEach(function (method) {
95
- define(prototype, method, function (arg) {
96
- return this._invoke(method, arg);
96
+ var d = Object.getPrototypeOf,
97
+ v = d && d(d(values([])));
98
+ v && v !== r && n.call(v, a) && (p = v);
99
+ var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
100
+ function defineIteratorMethods(t) {
101
+ ["next", "throw", "return"].forEach(function (e) {
102
+ define(t, e, function (t) {
103
+ return this._invoke(e, t);
97
104
  });
98
105
  });
99
106
  }
100
- function AsyncIterator(generator, PromiseImpl) {
101
- function invoke(method, arg, resolve, reject) {
102
- var record = tryCatch(generator[method], generator, arg);
103
- if ("throw" !== record.type) {
104
- var result = record.arg,
105
- value = result.value;
106
- return value && "object" == typeof value && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) {
107
- invoke("next", value, resolve, reject);
108
- }, function (err) {
109
- invoke("throw", err, resolve, reject);
110
- }) : PromiseImpl.resolve(value).then(function (unwrapped) {
111
- result.value = unwrapped, resolve(result);
112
- }, function (error) {
113
- return invoke("throw", error, resolve, reject);
107
+ function AsyncIterator(t, e) {
108
+ function invoke(r, o, i, a) {
109
+ var c = tryCatch(t[r], t, o);
110
+ if ("throw" !== c.type) {
111
+ var u = c.arg,
112
+ h = u.value;
113
+ return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
114
+ invoke("next", t, i, a);
115
+ }, function (t) {
116
+ invoke("throw", t, i, a);
117
+ }) : e.resolve(h).then(function (t) {
118
+ u.value = t, i(u);
119
+ }, function (t) {
120
+ return invoke("throw", t, i, a);
114
121
  });
115
122
  }
116
- reject(record.arg);
123
+ a(c.arg);
117
124
  }
118
- var previousPromise;
119
- defineProperty(this, "_invoke", {
120
- value: function (method, arg) {
125
+ var r;
126
+ o(this, "_invoke", {
127
+ value: function (t, n) {
121
128
  function callInvokeWithMethodAndArg() {
122
- return new PromiseImpl(function (resolve, reject) {
123
- invoke(method, arg, resolve, reject);
129
+ return new e(function (e, r) {
130
+ invoke(t, n, e, r);
124
131
  });
125
132
  }
126
- return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
133
+ return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
127
134
  }
128
135
  });
129
136
  }
130
- function makeInvokeMethod(innerFn, self, context) {
131
- var state = "suspendedStart";
132
- return function (method, arg) {
133
- if ("executing" === state) throw new Error("Generator is already running");
134
- if ("completed" === state) {
135
- if ("throw" === method) throw arg;
137
+ function makeInvokeMethod(e, r, n) {
138
+ var o = h;
139
+ return function (i, a) {
140
+ if (o === f) throw new Error("Generator is already running");
141
+ if (o === s) {
142
+ if ("throw" === i) throw a;
136
143
  return {
137
- value: void 0,
144
+ value: t,
138
145
  done: !0
139
146
  };
140
147
  }
141
- for (context.method = method, context.arg = arg;;) {
142
- var delegate = context.delegate;
143
- if (delegate) {
144
- var delegateResult = maybeInvokeDelegate(delegate, context);
145
- if (delegateResult) {
146
- if (delegateResult === ContinueSentinel) continue;
147
- return delegateResult;
148
+ for (n.method = i, n.arg = a;;) {
149
+ var c = n.delegate;
150
+ if (c) {
151
+ var u = maybeInvokeDelegate(c, n);
152
+ if (u) {
153
+ if (u === y) continue;
154
+ return u;
148
155
  }
149
156
  }
150
- if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) {
151
- if ("suspendedStart" === state) throw state = "completed", context.arg;
152
- context.dispatchException(context.arg);
153
- } else "return" === context.method && context.abrupt("return", context.arg);
154
- state = "executing";
155
- var record = tryCatch(innerFn, self, context);
156
- if ("normal" === record.type) {
157
- if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue;
157
+ if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
158
+ if (o === h) throw o = s, n.arg;
159
+ n.dispatchException(n.arg);
160
+ } else "return" === n.method && n.abrupt("return", n.arg);
161
+ o = f;
162
+ var p = tryCatch(e, r, n);
163
+ if ("normal" === p.type) {
164
+ if (o = n.done ? s : l, p.arg === y) continue;
158
165
  return {
159
- value: record.arg,
160
- done: context.done
166
+ value: p.arg,
167
+ done: n.done
161
168
  };
162
169
  }
163
- "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg);
170
+ "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
164
171
  }
165
172
  };
166
173
  }
167
- function maybeInvokeDelegate(delegate, context) {
168
- var methodName = context.method,
169
- method = delegate.iterator[methodName];
170
- if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel;
171
- var record = tryCatch(method, delegate.iterator, context.arg);
172
- if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel;
173
- var info = record.arg;
174
- return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel);
175
- }
176
- function pushTryEntry(locs) {
177
- var entry = {
178
- tryLoc: locs[0]
174
+ function maybeInvokeDelegate(e, r) {
175
+ var n = r.method,
176
+ o = e.iterator[n];
177
+ 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;
178
+ var i = tryCatch(o, e.iterator, r.arg);
179
+ if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
180
+ var a = i.arg;
181
+ 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);
182
+ }
183
+ function pushTryEntry(t) {
184
+ var e = {
185
+ tryLoc: t[0]
179
186
  };
180
- 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);
187
+ 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
181
188
  }
182
- function resetTryEntry(entry) {
183
- var record = entry.completion || {};
184
- record.type = "normal", delete record.arg, entry.completion = record;
189
+ function resetTryEntry(t) {
190
+ var e = t.completion || {};
191
+ e.type = "normal", delete e.arg, t.completion = e;
185
192
  }
186
- function Context(tryLocsList) {
193
+ function Context(t) {
187
194
  this.tryEntries = [{
188
195
  tryLoc: "root"
189
- }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);
190
- }
191
- function values(iterable) {
192
- if (iterable || "" === iterable) {
193
- var iteratorMethod = iterable[iteratorSymbol];
194
- if (iteratorMethod) return iteratorMethod.call(iterable);
195
- if ("function" == typeof iterable.next) return iterable;
196
- if (!isNaN(iterable.length)) {
197
- var i = -1,
198
- next = function next() {
199
- for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;
200
- return next.value = undefined, next.done = !0, next;
196
+ }], t.forEach(pushTryEntry, this), this.reset(!0);
197
+ }
198
+ function values(e) {
199
+ if (e || "" === e) {
200
+ var r = e[a];
201
+ if (r) return r.call(e);
202
+ if ("function" == typeof e.next) return e;
203
+ if (!isNaN(e.length)) {
204
+ var o = -1,
205
+ i = function next() {
206
+ for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
207
+ return next.value = t, next.done = !0, next;
201
208
  };
202
- return next.next = next;
209
+ return i.next = i;
203
210
  }
204
211
  }
205
- throw new TypeError(typeof iterable + " is not iterable");
212
+ throw new TypeError(typeof e + " is not iterable");
206
213
  }
207
- return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", {
214
+ return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
208
215
  value: GeneratorFunctionPrototype,
209
216
  configurable: !0
210
- }), defineProperty(GeneratorFunctionPrototype, "constructor", {
217
+ }), o(GeneratorFunctionPrototype, "constructor", {
211
218
  value: GeneratorFunction,
212
219
  configurable: !0
213
- }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) {
214
- var ctor = "function" == typeof genFun && genFun.constructor;
215
- return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name));
216
- }, exports.mark = function (genFun) {
217
- return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun;
218
- }, exports.awrap = function (arg) {
220
+ }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
221
+ var e = "function" == typeof t && t.constructor;
222
+ return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
223
+ }, e.mark = function (t) {
224
+ return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
225
+ }, e.awrap = function (t) {
219
226
  return {
220
- __await: arg
227
+ __await: t
221
228
  };
222
- }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
229
+ }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
223
230
  return this;
224
- }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
225
- void 0 === PromiseImpl && (PromiseImpl = Promise);
226
- var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
227
- return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
228
- return result.done ? result.value : iter.next();
231
+ }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
232
+ void 0 === i && (i = Promise);
233
+ var a = new AsyncIterator(wrap(t, r, n, o), i);
234
+ return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
235
+ return t.done ? t.value : a.next();
229
236
  });
230
- }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () {
237
+ }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
231
238
  return this;
232
- }), define(Gp, "toString", function () {
239
+ }), define(g, "toString", function () {
233
240
  return "[object Generator]";
234
- }), exports.keys = function (val) {
235
- var object = Object(val),
236
- keys = [];
237
- for (var key in object) keys.push(key);
238
- return keys.reverse(), function next() {
239
- for (; keys.length;) {
240
- var key = keys.pop();
241
- if (key in object) return next.value = key, next.done = !1, next;
241
+ }), e.keys = function (t) {
242
+ var e = Object(t),
243
+ r = [];
244
+ for (var n in e) r.push(n);
245
+ return r.reverse(), function next() {
246
+ for (; r.length;) {
247
+ var t = r.pop();
248
+ if (t in e) return next.value = t, next.done = !1, next;
242
249
  }
243
250
  return next.done = !0, next;
244
251
  };
245
- }, exports.values = values, Context.prototype = {
252
+ }, e.values = values, Context.prototype = {
246
253
  constructor: Context,
247
- reset: function (skipTempReset) {
248
- if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);
254
+ reset: function (e) {
255
+ 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);
249
256
  },
250
257
  stop: function () {
251
258
  this.done = !0;
252
- var rootRecord = this.tryEntries[0].completion;
253
- if ("throw" === rootRecord.type) throw rootRecord.arg;
259
+ var t = this.tryEntries[0].completion;
260
+ if ("throw" === t.type) throw t.arg;
254
261
  return this.rval;
255
262
  },
256
- dispatchException: function (exception) {
257
- if (this.done) throw exception;
258
- var context = this;
259
- function handle(loc, caught) {
260
- return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught;
261
- }
262
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
263
- var entry = this.tryEntries[i],
264
- record = entry.completion;
265
- if ("root" === entry.tryLoc) return handle("end");
266
- if (entry.tryLoc <= this.prev) {
267
- var hasCatch = hasOwn.call(entry, "catchLoc"),
268
- hasFinally = hasOwn.call(entry, "finallyLoc");
269
- if (hasCatch && hasFinally) {
270
- if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
271
- if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
272
- } else if (hasCatch) {
273
- if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
263
+ dispatchException: function (e) {
264
+ if (this.done) throw e;
265
+ var r = this;
266
+ function handle(n, o) {
267
+ return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
268
+ }
269
+ for (var o = this.tryEntries.length - 1; o >= 0; --o) {
270
+ var i = this.tryEntries[o],
271
+ a = i.completion;
272
+ if ("root" === i.tryLoc) return handle("end");
273
+ if (i.tryLoc <= this.prev) {
274
+ var c = n.call(i, "catchLoc"),
275
+ u = n.call(i, "finallyLoc");
276
+ if (c && u) {
277
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
278
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
279
+ } else if (c) {
280
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
274
281
  } else {
275
- if (!hasFinally) throw new Error("try statement without catch or finally");
276
- if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
282
+ if (!u) throw new Error("try statement without catch or finally");
283
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
277
284
  }
278
285
  }
279
286
  }
280
287
  },
281
- abrupt: function (type, arg) {
282
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
283
- var entry = this.tryEntries[i];
284
- if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
285
- var finallyEntry = entry;
288
+ abrupt: function (t, e) {
289
+ for (var r = this.tryEntries.length - 1; r >= 0; --r) {
290
+ var o = this.tryEntries[r];
291
+ if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
292
+ var i = o;
286
293
  break;
287
294
  }
288
295
  }
289
- finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);
290
- var record = finallyEntry ? finallyEntry.completion : {};
291
- return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);
296
+ i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
297
+ var a = i ? i.completion : {};
298
+ return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
292
299
  },
293
- complete: function (record, afterLoc) {
294
- if ("throw" === record.type) throw record.arg;
295
- return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;
300
+ complete: function (t, e) {
301
+ if ("throw" === t.type) throw t.arg;
302
+ 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;
296
303
  },
297
- finish: function (finallyLoc) {
298
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
299
- var entry = this.tryEntries[i];
300
- if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;
304
+ finish: function (t) {
305
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
306
+ var r = this.tryEntries[e];
307
+ if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
301
308
  }
302
309
  },
303
- catch: function (tryLoc) {
304
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
305
- var entry = this.tryEntries[i];
306
- if (entry.tryLoc === tryLoc) {
307
- var record = entry.completion;
308
- if ("throw" === record.type) {
309
- var thrown = record.arg;
310
- resetTryEntry(entry);
310
+ catch: function (t) {
311
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
312
+ var r = this.tryEntries[e];
313
+ if (r.tryLoc === t) {
314
+ var n = r.completion;
315
+ if ("throw" === n.type) {
316
+ var o = n.arg;
317
+ resetTryEntry(r);
311
318
  }
312
- return thrown;
319
+ return o;
313
320
  }
314
321
  }
315
322
  throw new Error("illegal catch attempt");
316
323
  },
317
- delegateYield: function (iterable, resultName, nextLoc) {
324
+ delegateYield: function (e, r, n) {
318
325
  return this.delegate = {
319
- iterator: values(iterable),
320
- resultName: resultName,
321
- nextLoc: nextLoc
322
- }, "next" === this.method && (this.arg = undefined), ContinueSentinel;
326
+ iterator: values(e),
327
+ resultName: r,
328
+ nextLoc: n
329
+ }, "next" === this.method && (this.arg = t), y;
323
330
  }
324
- }, exports;
331
+ }, e;
325
332
  }
326
- function _typeof$1(obj) {
333
+ function _typeof$1(o) {
327
334
  "@babel/helpers - typeof";
328
335
 
329
- return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
330
- return typeof obj;
331
- } : function (obj) {
332
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
333
- }, _typeof$1(obj);
336
+ return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
337
+ return typeof o;
338
+ } : function (o) {
339
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
340
+ }, _typeof$1(o);
334
341
  }
335
342
  function _defineProperty$1(obj, key, value) {
336
343
  key = _toPropertyKey$1(key);
@@ -478,16 +485,16 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
478
485
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
479
486
  };
480
487
 
481
- function n$1(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if("production"!==process.env.NODE_ENV){var i=Y[n],o=i?"function"==typeof i?i.apply(null,t):i:"unknown error nr: "+n;throw Error("[Immer] "+o)}throw Error("[Immer] minified error nr: "+n+(t.length?" "+t.map((function(n){return "'"+n+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function r$1(n){return !!n&&!!n[Q]}function t$3(n){var r;return !!n&&(function(n){if(!n||"object"!=typeof n)return !1;var r=Object.getPrototypeOf(n);if(null===r)return !0;var t=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return t===Object||"function"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!(null===(r=n.constructor)||void 0===r?void 0:r[L])||s(n)||v(n))}function i$1(n,r,t){void 0===t&&(t=!1),0===o$1(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&"symbol"==typeof e||r(e,n[e],n);})):n.forEach((function(t,e){return r(e,t,n)}));}function o$1(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u$1(n,r){return 2===o$1(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a$1(n,r){return 2===o$1(n)?n.get(r):n[r]}function f(n,r,t){var e=o$1(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t;}function c$1(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]});}return Object.create(Object.getPrototypeOf(n),r)}function d(n,e){return void 0===e&&(e=!1),y(n)||r$1(n)||!t$3(n)||(o$1(n)>1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i$1(n,(function(n,r){return d(r,!0)}),!0)),n}function h(){n$1(2);}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n$1(18,r),t}function m(n,r){tn[n]||(tn[n]=r);}function _(){return "production"===process.env.NODE_ENV||U||n$1(0),U}function j(n,r){r&&(b("Patches"),n.u=[],n.s=[],n.v=r);}function g(n){O(n),n.p.forEach(S),n.p=null;}function O(n){n===U&&(U=n.l);}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0;}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b("ES5").S(e,r,o),o?(i[Q].P&&(g(e),n$1(4)),t$3(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i$1(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i$1(u,(function(r,i){return A(n,e,o,r,i,t,a)})),x(n,o,!1),t&&n.u&&b("Patches").N(e,t,n.u,n.s);}return e.o}function A(e,i,o,a,c,s,v){if("production"!==process.env.NODE_ENV&&c===o&&n$1(5),r$1(c)){var p=M(e,c,s&&i&&3!==i.i&&!u$1(i.R,a)?s.concat(a):void 0);if(f(o,a,p),!r$1(p))return;e.m=!1;}else v&&o.add(c);if(t$3(c)&&!y(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x(e,c);}}function x(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d(r,t);}function z(n,r){var t=n[Q];return (t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t);}}function k(n){n.P||(n.P=!0,n.l&&k(n.l));}function E(n){n.o||(n.o=l(n.t));}function N(n,r,t){var e=s(r)?b("MapSet").F(r,t):v(r)?b("MapSet").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b("ES5").J(r,t);return (t?t.A:_()).p.push(e),e}function R(e){return r$1(e)||n$1(22,e),function n(r){if(!t$3(r))return r;var e,u=r[Q],c=o$1(r);if(u){if(!u.P&&(u.i<4||!b("ES5").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1;}else e=D(r,c);return i$1(e,(function(r,t){u&&a$1(u.t,r)===t||f(e,r,n(t));})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function F(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return "production"!==process.env.NODE_ENV&&f(r),en.get(r,n)},set:function(r){var t=this[Q];"production"!==process.env.NODE_ENV&&f(t),en.set(t,n,r);}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t);}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u$1(r,o))return !0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c$1(f,a))return !0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return !0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return !0;for(var e=0;e<r.length;e++)if(!r.hasOwnProperty(e))return !0;return !1}function f(r){r.g&&n$1(3,JSON.stringify(p(r)));}var s={};m("ES5",{J:function(n,r){var e=Array.isArray(n),i=function(n,r){if(n){for(var e=Array(r.length),i=0;i<r.length;i++)Object.defineProperty(e,""+i,t(i,!0));return e}var o=rn(r);delete o[Q];for(var u=nn(o),a=0;a<u.length;a++){var f=u[a];o[f]=t(f,n||!!o[f].enumerable);}return Object.create(Object.getPrototypeOf(r),o)}(e,n),o={i:e?5:4,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:i,o:null,g:!1,C:!1};return Object.defineProperty(i,Q,{value:o,writable:!0}),i},S:function(n,t,o){o?r$1(t)&&t[Q].A===n&&e(n.p):(n.u&&function n(r){if(r&&"object"==typeof r){var t=r[Q];if(t){var e=t.t,o=t.k,f=t.R,c=t.i;if(4===c)i$1(o,(function(r){r!==Q&&(void 0!==e[r]||u$1(e,r)?f[r]||n(o[r]):(f[r]=!0,k(t)));})),i$1(e,(function(n){void 0!==o[n]||u$1(o,n)||(f[n]=!1,k(t));}));else if(5===c){if(a(t)&&(k(t),f.length=!0),o.length<e.length)for(var s=o.length;s<e.length;s++)f[s]=!1;else for(var v=e.length;v<o.length;v++)f[v]=!0;for(var p=Math.min(o.length,e.length),l=0;l<p;l++)o.hasOwnProperty(l)||(f[l]=!0),void 0===f[l]&&n(o[l]);}}}}(n.p[0]),e(n.p));},K:function(n){return 4===n.i?o(n):a(n)}});}var G,U,W="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),X="undefined"!=typeof Map,q="undefined"!=typeof Set,B="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=W?Symbol.for("immer-nothing"):((G={})["immer-nothing"]=!0,G),L=W?Symbol.for("immer-draftable"):"__$immer_draftable",Q=W?Symbol.for("immer-state"):"__$immer_state",Y={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(n){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+n},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(n){return "Cannot apply patch, path doesn't resolve: "+n},16:'Sets cannot have "replace" patches.',17:function(n){return "Unsupported patch operation: "+n},18:function(n){return "The plugin for '"+n+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+n+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(n){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+n+"'"},22:function(n){return "'current' expects a draft, got: "+n},23:function(n){return "'original' expects a draft, got: "+n},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},Z=""+Object.prototype.constructor,nn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t);})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p(n);if(!u$1(e,r))return function(n,r,t){var e,i=I(r,t);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t$3(i)?i:i===z(n.t,r)?(E(n),n.o[r]=N(n.A.h,i,n)):i},has:function(n,r){return r in p(n)},ownKeys:function(n){return Reflect.ownKeys(p(n))},set:function(n,r,t){var e=I(p(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z(p(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.R[r]=!1,!0;if(c$1(t,i)&&(void 0!==t||u$1(n.t,r)))return !0;E(n),k(n);}return n.o[r]===t&&(void 0!==t||r in n.o)||Number.isNaN(t)&&Number.isNaN(n.o[r])||(n.o[r]=t,n.R[r]=!0),!0},deleteProperty:function(n,r){return void 0!==z(n.t,r)||r in n.t?(n.R[r]=!1,E(n),k(n)):delete n.R[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||"length"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n$1(11);},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n$1(12);}},on={};i$1(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)};})),on.deleteProperty=function(r,t){return "production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n$1(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return "production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&n$1(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.O=B,this.D=!0,this.produce=function(r,i,o){if("function"==typeof r&&"function"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return (t=i).call.apply(t,[r,n].concat(e))}))}}var f;if("function"!=typeof i&&n$1(6),void 0!==o&&"function"!=typeof o&&n$1(7),t$3(r)){var c=w(e),s=N(e,r,void 0),v=!0;try{f=i(s),v=!1;}finally{v?g(c):O(c);}return "undefined"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P(n,c)}),(function(n){throw g(c),n})):(j(c,o),P(f,c))}if(!r||"object"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.D&&d(f,!0),o){var p=[],l=[];b("Patches").M(r,f,p,l),o(p,l);}return f}n$1(21,r);},this.produceWithPatches=function(n,r){if("function"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r;}));return "undefined"!=typeof Promise&&o instanceof Promise?o.then((function(n){return [n,t,i]})):[o,t,i]},"boolean"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),"boolean"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze);}var i=e.prototype;return i.createDraft=function(e){t$3(e)||n$1(8),r$1(e)&&(e=R(e));var i=w(this),o=N(this,e,void 0);return o[Q].C=!0,O(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];"production"!==process.env.NODE_ENV&&(e&&e.C||n$1(9),e.I&&n$1(10));var i=e.A;return j(i,t),P(void 0,i)},i.setAutoFreeze=function(n){this.D=n;},i.setUseProxies=function(r){r&&!B&&n$1(20),this.O=r;},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b("Patches").$;return r$1(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce;an.produceWithPatches.bind(an);an.setAutoFreeze.bind(an);an.setUseProxies.bind(an);an.applyPatches.bind(an);an.createDraft.bind(an);an.finishDraft.bind(an);var createNextState3 = fn;
488
+ function n$1(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if("production"!==process.env.NODE_ENV){var i=Y[n],o=i?"function"==typeof i?i.apply(null,t):i:"unknown error nr: "+n;throw Error("[Immer] "+o)}throw Error("[Immer] minified error nr: "+n+(t.length?" "+t.map((function(n){return "'"+n+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function r$1(n){return !!n&&!!n[Q]}function t$3(n){var r;return !!n&&(function(n){if(!n||"object"!=typeof n)return !1;var r=Object.getPrototypeOf(n);if(null===r)return !0;var t=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return t===Object||"function"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!(null===(r=n.constructor)||void 0===r?void 0:r[L])||s(n)||v(n))}function i$1(n,r,t){void 0===t&&(t=!1),0===o$1(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&"symbol"==typeof e||r(e,n[e],n);})):n.forEach((function(t,e){return r(e,t,n)}));}function o$1(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u$1(n,r){return 2===o$1(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a$1(n,r){return 2===o$1(n)?n.get(r):n[r]}function f(n,r,t){var e=o$1(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t;}function c$1(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]});}return Object.create(Object.getPrototypeOf(n),r)}function d(n,e){return void 0===e&&(e=!1),y(n)||r$1(n)||!t$3(n)||(o$1(n)>1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i$1(n,(function(n,r){return d(r,!0)}),!0)),n}function h(){n$1(2);}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n$1(18,r),t}function m(n,r){tn[n]||(tn[n]=r);}function _(){return "production"===process.env.NODE_ENV||U||n$1(0),U}function j(n,r){r&&(b("Patches"),n.u=[],n.s=[],n.v=r);}function g(n){O(n),n.p.forEach(S),n.p=null;}function O(n){n===U&&(U=n.l);}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0;}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b("ES5").S(e,r,o),o?(i[Q].P&&(g(e),n$1(4)),t$3(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i$1(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i$1(u,(function(r,i){return A(n,e,o,r,i,t,a)})),x(n,o,!1),t&&n.u&&b("Patches").N(e,t,n.u,n.s);}return e.o}function A(e,i,o,a,c,s,v){if("production"!==process.env.NODE_ENV&&c===o&&n$1(5),r$1(c)){var p=M(e,c,s&&i&&3!==i.i&&!u$1(i.R,a)?s.concat(a):void 0);if(f(o,a,p),!r$1(p))return;e.m=!1;}else v&&o.add(c);if(t$3(c)&&!y(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x(e,c);}}function x(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d(r,t);}function z(n,r){var t=n[Q];return (t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t);}}function k(n){n.P||(n.P=!0,n.l&&k(n.l));}function E(n){n.o||(n.o=l(n.t));}function N(n,r,t){var e=s(r)?b("MapSet").F(r,t):v(r)?b("MapSet").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b("ES5").J(r,t);return (t?t.A:_()).p.push(e),e}function R(e){return r$1(e)||n$1(22,e),function n(r){if(!t$3(r))return r;var e,u=r[Q],c=o$1(r);if(u){if(!u.P&&(u.i<4||!b("ES5").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1;}else e=D(r,c);return i$1(e,(function(r,t){u&&a$1(u.t,r)===t||f(e,r,n(t));})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function F(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return "production"!==process.env.NODE_ENV&&f(r),en.get(r,n)},set:function(r){var t=this[Q];"production"!==process.env.NODE_ENV&&f(t),en.set(t,n,r);}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t);}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u$1(r,o))return !0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c$1(f,a))return !0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return !0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return !0;for(var e=0;e<r.length;e++)if(!r.hasOwnProperty(e))return !0;return !1}function f(r){r.g&&n$1(3,JSON.stringify(p(r)));}var s={};m("ES5",{J:function(n,r){var e=Array.isArray(n),i=function(n,r){if(n){for(var e=Array(r.length),i=0;i<r.length;i++)Object.defineProperty(e,""+i,t(i,!0));return e}var o=rn(r);delete o[Q];for(var u=nn(o),a=0;a<u.length;a++){var f=u[a];o[f]=t(f,n||!!o[f].enumerable);}return Object.create(Object.getPrototypeOf(r),o)}(e,n),o={i:e?5:4,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:i,o:null,g:!1,C:!1};return Object.defineProperty(i,Q,{value:o,writable:!0}),i},S:function(n,t,o){o?r$1(t)&&t[Q].A===n&&e(n.p):(n.u&&function n(r){if(r&&"object"==typeof r){var t=r[Q];if(t){var e=t.t,o=t.k,f=t.R,c=t.i;if(4===c)i$1(o,(function(r){r!==Q&&(void 0!==e[r]||u$1(e,r)?f[r]||n(o[r]):(f[r]=!0,k(t)));})),i$1(e,(function(n){void 0!==o[n]||u$1(o,n)||(f[n]=!1,k(t));}));else if(5===c){if(a(t)&&(k(t),f.length=!0),o.length<e.length)for(var s=o.length;s<e.length;s++)f[s]=!1;else for(var v=e.length;v<o.length;v++)f[v]=!0;for(var p=Math.min(o.length,e.length),l=0;l<p;l++)o.hasOwnProperty(l)||(f[l]=!0),void 0===f[l]&&n(o[l]);}}}}(n.p[0]),e(n.p));},K:function(n){return 4===n.i?o(n):a(n)}});}var G,U,W="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),X="undefined"!=typeof Map,q="undefined"!=typeof Set,B="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=W?Symbol.for("immer-nothing"):((G={})["immer-nothing"]=!0,G),L=W?Symbol.for("immer-draftable"):"__$immer_draftable",Q=W?Symbol.for("immer-state"):"__$immer_state",Y={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(n){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+n},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(n){return "Cannot apply patch, path doesn't resolve: "+n},16:'Sets cannot have "replace" patches.',17:function(n){return "Unsupported patch operation: "+n},18:function(n){return "The plugin for '"+n+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+n+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(n){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+n+"'"},22:function(n){return "'current' expects a draft, got: "+n},23:function(n){return "'original' expects a draft, got: "+n},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},Z=""+Object.prototype.constructor,nn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t);})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p(n);if(!u$1(e,r))return function(n,r,t){var e,i=I(r,t);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t$3(i)?i:i===z(n.t,r)?(E(n),n.o[r]=N(n.A.h,i,n)):i},has:function(n,r){return r in p(n)},ownKeys:function(n){return Reflect.ownKeys(p(n))},set:function(n,r,t){var e=I(p(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z(p(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.R[r]=!1,!0;if(c$1(t,i)&&(void 0!==t||u$1(n.t,r)))return !0;E(n),k(n);}return n.o[r]===t&&(void 0!==t||r in n.o)||Number.isNaN(t)&&Number.isNaN(n.o[r])||(n.o[r]=t,n.R[r]=!0),!0},deleteProperty:function(n,r){return void 0!==z(n.t,r)||r in n.t?(n.R[r]=!1,E(n),k(n)):delete n.R[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||"length"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n$1(11);},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n$1(12);}},on={};i$1(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)};})),on.deleteProperty=function(r,t){return "production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n$1(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return "production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&n$1(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.O=B,this.D=!0,this.produce=function(r,i,o){if("function"==typeof r&&"function"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return (t=i).call.apply(t,[r,n].concat(e))}))}}var f;if("function"!=typeof i&&n$1(6),void 0!==o&&"function"!=typeof o&&n$1(7),t$3(r)){var c=w(e),s=N(e,r,void 0),v=!0;try{f=i(s),v=!1;}finally{v?g(c):O(c);}return "undefined"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P(n,c)}),(function(n){throw g(c),n})):(j(c,o),P(f,c))}if(!r||"object"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.D&&d(f,!0),o){var p=[],l=[];b("Patches").M(r,f,p,l),o(p,l);}return f}n$1(21,r);},this.produceWithPatches=function(n,r){if("function"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r;}));return "undefined"!=typeof Promise&&o instanceof Promise?o.then((function(n){return [n,t,i]})):[o,t,i]},"boolean"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),"boolean"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze);}var i=e.prototype;return i.createDraft=function(e){t$3(e)||n$1(8),r$1(e)&&(e=R(e));var i=w(this),o=N(this,e,void 0);return o[Q].C=!0,O(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];"production"!==process.env.NODE_ENV&&(e&&e.C||n$1(9),e.I&&n$1(10));var i=e.A;return j(i,t),P(void 0,i)},i.setAutoFreeze=function(n){this.D=n;},i.setUseProxies=function(r){r&&!B&&n$1(20),this.O=r;},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b("Patches").$;return r$1(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce;an.produceWithPatches.bind(an);an.setAutoFreeze.bind(an);an.setUseProxies.bind(an);an.applyPatches.bind(an);an.createDraft.bind(an);an.finishDraft.bind(an);var produce = fn;
482
489
 
483
- function _typeof(obj) {
490
+ function _typeof(o) {
484
491
  "@babel/helpers - typeof";
485
492
 
486
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
487
- return typeof obj;
488
- } : function (obj) {
489
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
490
- }, _typeof(obj);
493
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
494
+ return typeof o;
495
+ } : function (o) {
496
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
497
+ }, _typeof(o);
491
498
  }
492
499
 
493
500
  function _toPrimitive(input, hint) {
@@ -521,26 +528,26 @@ function _defineProperty(obj, key, value) {
521
528
  return obj;
522
529
  }
523
530
 
524
- function ownKeys(object, enumerableOnly) {
525
- var keys = Object.keys(object);
531
+ function ownKeys(e, r) {
532
+ var t = Object.keys(e);
526
533
  if (Object.getOwnPropertySymbols) {
527
- var symbols = Object.getOwnPropertySymbols(object);
528
- enumerableOnly && (symbols = symbols.filter(function (sym) {
529
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
530
- })), keys.push.apply(keys, symbols);
534
+ var o = Object.getOwnPropertySymbols(e);
535
+ r && (o = o.filter(function (r) {
536
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
537
+ })), t.push.apply(t, o);
531
538
  }
532
- return keys;
539
+ return t;
533
540
  }
534
- function _objectSpread2(target) {
535
- for (var i = 1; i < arguments.length; i++) {
536
- var source = null != arguments[i] ? arguments[i] : {};
537
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
538
- _defineProperty(target, key, source[key]);
539
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
540
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
541
+ function _objectSpread2(e) {
542
+ for (var r = 1; r < arguments.length; r++) {
543
+ var t = null != arguments[r] ? arguments[r] : {};
544
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
545
+ _defineProperty(e, r, t[r]);
546
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
547
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
541
548
  });
542
549
  }
543
- return target;
550
+ return e;
544
551
  }
545
552
 
546
553
  /**
@@ -1665,7 +1672,7 @@ var EnhancerArray = /** @class */ (function (_super) {
1665
1672
  return EnhancerArray;
1666
1673
  }(Array));
1667
1674
  function freezeDraftable(val) {
1668
- return t$3(val) ? createNextState3(val, function () {
1675
+ return t$3(val) ? produce(val, function () {
1669
1676
  }) : val;
1670
1677
  }
1671
1678
  // src/immutableStateInvariantMiddleware.ts
@@ -2131,7 +2138,7 @@ function createReducer(initialState, mapOrBuilderCallback, actionMatchers, defau
2131
2138
  return result;
2132
2139
  }
2133
2140
  else {
2134
- return createNextState3(previousState, function (draft) {
2141
+ return produce(previousState, function (draft) {
2135
2142
  return caseReducer(draft, action);
2136
2143
  });
2137
2144
  }
@@ -2287,7 +2294,7 @@ function createStateOperator(mutator) {
2287
2294
  return state;
2288
2295
  }
2289
2296
  else {
2290
- return createNextState3(state, runMutator);
2297
+ return produce(state, runMutator);
2291
2298
  }
2292
2299
  };
2293
2300
  }
@@ -2792,12 +2799,6 @@ F();
2792
2799
  * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
2793
2800
  * Copyright 2020 - Finnish Meteorological Institute (FMI)
2794
2801
  * */
2795
- var LayerType;
2796
- (function (LayerType) {
2797
- LayerType["mapLayer"] = "mapLayer";
2798
- LayerType["baseLayer"] = "baseLayer";
2799
- LayerType["overLayer"] = "overLayer";
2800
- })(LayerType || (LayerType = {}));
2801
2802
  var LayerStatus;
2802
2803
  (function (LayerStatus) {
2803
2804
  LayerStatus["default"] = "default";
@@ -2815,7 +2816,6 @@ var LayerActionOrigin;
2815
2816
 
2816
2817
  var types$8 = /*#__PURE__*/Object.freeze({
2817
2818
  __proto__: null,
2818
- get LayerType () { return LayerType; },
2819
2819
  get LayerStatus () { return LayerStatus; },
2820
2820
  get LayerActionOrigin () { return LayerActionOrigin; }
2821
2821
  });
@@ -8685,7 +8685,7 @@ var createMap = function createMap(_ref) {
8685
8685
  };
8686
8686
  var checkValidLayersPayload = function checkValidLayersPayload(layers, mapId) {
8687
8687
  /* Check for duplicate ids */
8688
- var layerIds = [];
8688
+ var layerIds = {};
8689
8689
  for (var i = 0; i < layers.length; i += 1) {
8690
8690
  if (layers[i].id) {
8691
8691
  /* Check if layer is already added to a different map */
@@ -9036,13 +9036,32 @@ var filterNonTimeDimensions = function filterNonTimeDimensions(dimensions) {
9036
9036
  return dim.name !== 'time';
9037
9037
  }) : [];
9038
9038
  };
9039
+ /**
9040
+ * Returns geoJSON based on type and multipleShapes
9041
+ * @param geoJSON: GeoJSON.FeatureCollection
9042
+ * @param shouldAllowMultipleshapes: boolean
9043
+ */
9044
+ var getGeoJson = function getGeoJson(geojson, shouldAllowMultipleshapes) {
9045
+ if (shouldAllowMultipleshapes || !geojson.features.length) {
9046
+ return geojson;
9047
+ }
9048
+ var geometry = geojson.features[0].geometry;
9049
+ if (geometry.type === 'Point' || geometry.type === 'LineString') {
9050
+ return geojson;
9051
+ }
9052
+ return geometry.coordinates.length > 1 ? produce(geojson, function (draft) {
9053
+ var draftFeature = draft.features[0];
9054
+ draftFeature.geometry.coordinates = [draftFeature.geometry.coordinates[1]];
9055
+ }) : geojson;
9056
+ };
9039
9057
 
9040
9058
  var utils$2 = /*#__PURE__*/Object.freeze({
9041
9059
  __proto__: null,
9042
9060
  isActionLayerSynced: isActionLayerSynced,
9043
9061
  produceDimensionActionForMapLayer: produceDimensionActionForMapLayer,
9044
9062
  produceDraftStateForAllLayersForDimensionWithinMap: produceDraftStateForAllLayersForDimensionWithinMap,
9045
- filterNonTimeDimensions: filterNonTimeDimensions
9063
+ filterNonTimeDimensions: filterNonTimeDimensions,
9064
+ getGeoJson: getGeoJson
9046
9065
  });
9047
9066
 
9048
9067
  /* *
@@ -9195,7 +9214,7 @@ var createLayer = function createLayer(_a) {
9195
9214
  status: status
9196
9215
  });
9197
9216
  };
9198
- var initialState$9 = {
9217
+ var initialState$a = {
9199
9218
  byId: {},
9200
9219
  allIds: [],
9201
9220
  availableBaseLayers: {
@@ -9203,8 +9222,8 @@ var initialState$9 = {
9203
9222
  allIds: []
9204
9223
  }
9205
9224
  };
9206
- var slice$9 = createSlice({
9207
- initialState: initialState$9,
9225
+ var slice$a = createSlice({
9226
+ initialState: initialState$a,
9208
9227
  name: 'layerReducer',
9209
9228
  reducers: {
9210
9229
  addLayer: function addLayer(draft, action) {
@@ -9510,6 +9529,7 @@ var slice$9 = createSlice({
9510
9529
  });
9511
9530
  }
9512
9531
  },
9532
+ // feature layer actions
9513
9533
  setSelectedFeature: function setSelectedFeature(draft, action) {
9514
9534
  var _action$payload14 = action.payload,
9515
9535
  layerId = _action$payload14.layerId,
@@ -9518,13 +9538,64 @@ var slice$9 = createSlice({
9518
9538
  return;
9519
9539
  }
9520
9540
  draft.byId[layerId].selectedFeatureIndex = selectedFeatureIndex;
9541
+ },
9542
+ updateFeature: function updateFeature(draft, action) {
9543
+ var _action$payload15 = action.payload,
9544
+ layerId = _action$payload15.layerId,
9545
+ geojson = _action$payload15.geojson,
9546
+ _action$payload15$sho = _action$payload15.shouldAllowMultipleShapes,
9547
+ shouldAllowMultipleShapes = _action$payload15$sho === void 0 ? false : _action$payload15$sho;
9548
+ if (!draft.byId[layerId]) {
9549
+ return;
9550
+ }
9551
+ var geoJSON = getGeoJson(geojson, shouldAllowMultipleShapes);
9552
+ draft.byId[layerId].geojson = geoJSON;
9553
+ },
9554
+ updateFeatureProperties: function updateFeatureProperties(draft, action) {
9555
+ var _action$payload16 = action.payload,
9556
+ layerId = _action$payload16.layerId,
9557
+ properties = _action$payload16.properties;
9558
+ var currentLayer = draft.byId[layerId];
9559
+ if (!currentLayer) {
9560
+ return;
9561
+ }
9562
+ if (currentLayer.geojson && currentLayer.geojson.features.length) {
9563
+ currentLayer.geojson.features.forEach(function (_, index) {
9564
+ Object.keys(properties).forEach(function (key) {
9565
+ draft.byId[layerId].geojson.features[index].properties[key] = properties[key];
9566
+ });
9567
+ });
9568
+ }
9569
+ },
9570
+ toggleFeatureMode: function toggleFeatureMode(draft, action) {
9571
+ var _action$payload17 = action.payload,
9572
+ layerId = _action$payload17.layerId,
9573
+ isInEditMode = _action$payload17.isInEditMode,
9574
+ drawMode = _action$payload17.drawMode;
9575
+ if (!draft.byId[layerId]) {
9576
+ return;
9577
+ }
9578
+ if (isInEditMode !== undefined) {
9579
+ draft.byId[layerId].isInEditMode = isInEditMode;
9580
+ }
9581
+ if (drawMode !== undefined) {
9582
+ draft.byId[layerId].drawMode = drawMode;
9583
+ }
9584
+ },
9585
+ exitFeatureDrawMode: function exitFeatureDrawMode(draft, action) {
9586
+ var layerId = action.payload.layerId;
9587
+ if (!draft.byId[layerId]) {
9588
+ return;
9589
+ }
9590
+ draft.byId[layerId].isInEditMode = false;
9591
+ draft.byId[layerId].drawMode = '';
9521
9592
  }
9522
9593
  },
9523
9594
  extraReducers: function extraReducers(builder) {
9524
9595
  builder.addCase(setTimeSync, function (draft, action) {
9525
- var _action$payload15 = action.payload,
9526
- targetsFromAction = _action$payload15.targets,
9527
- source = _action$payload15.source;
9596
+ var _action$payload18 = action.payload,
9597
+ targetsFromAction = _action$payload18.targets,
9598
+ source = _action$payload18.source;
9528
9599
  /* Because we want backwards compatibility with the previous code, we also need to listen to the original source action */
9529
9600
  var targets = [{
9530
9601
  targetId: source.payload.sourceId,
@@ -9548,9 +9619,9 @@ var slice$9 = createSlice({
9548
9619
  * These targets can be used as payloads in new Layer actions.
9549
9620
  * These actions are here handled via the layer reducer, as it is the same logic
9550
9621
  */
9551
- var _action$payload16 = action.payload,
9552
- targets = _action$payload16.targets,
9553
- source = _action$payload16.source;
9622
+ var _action$payload19 = action.payload,
9623
+ targets = _action$payload19.targets,
9624
+ source = _action$payload19.source;
9554
9625
  var state = R(draft);
9555
9626
  return targets.reduce(function (prevState, target) {
9556
9627
  var action = {
@@ -9558,7 +9629,7 @@ var slice$9 = createSlice({
9558
9629
  type: source.type
9559
9630
  };
9560
9631
  /* Handle the Layer action with the same logic, using the same reducer */
9561
- return reducer$9(prevState, action);
9632
+ return reducer$a(prevState, action);
9562
9633
  }, state);
9563
9634
  }).addCase(setMapPreset, function (draft, action) {
9564
9635
  var mapId = action.payload.mapId;
@@ -9578,8 +9649,8 @@ var slice$9 = createSlice({
9578
9649
  });
9579
9650
  }
9580
9651
  });
9581
- var reducer$9 = slice$9.reducer;
9582
- var layerActions = slice$9.actions;
9652
+ var reducer$a = slice$a.reducer;
9653
+ var layerActions = slice$a.actions;
9583
9654
 
9584
9655
  var lodash = {exports: {}};
9585
9656
 
@@ -26932,6 +27003,18 @@ var getOverLayers = createSelector(getAllLayers, function (layers) {
26932
27003
  return layer.layerType === LayerType.overLayer;
26933
27004
  });
26934
27005
  }, selectorMemoizationOptions);
27006
+ /**
27007
+ * Retrieves all featureLayers
27008
+ *
27009
+ * Example: layers = getFeatureLayers(store)
27010
+ * @param {object} store store: object - object from which the layers state will be extracted
27011
+ * @returns {array} returnType: array - an array of all featureLayers
27012
+ */
27013
+ var getFeatureLayers = createSelector(getAllLayers, function (layers) {
27014
+ return layers.filter(function (layer) {
27015
+ return layer.layerType === LayerType.featureLayer;
27016
+ });
27017
+ }, selectorMemoizationOptions);
26935
27018
  /**
26936
27019
  * Gets dimensions of the passed layer
26937
27020
  *
@@ -27086,6 +27169,24 @@ var getAvailableBaseLayersForMap = createSelector(layerStore, function (_store,
27086
27169
  var getSelectedFeatureIndex = createSelector(getLayerById, function (layer) {
27087
27170
  return layer === null || layer === void 0 ? void 0 : layer.selectedFeatureIndex;
27088
27171
  });
27172
+ /**
27173
+ * Returns the layer is in edit mode
27174
+ *
27175
+ * Example const isLayerInEditMode = getIsLayerInEditMode(store, 'layerId1')
27176
+ * @param {object} store store: object - store object
27177
+ * @param {string} mapId layerId: string - Id of the layer
27178
+ * @returns {number} isLayerInEditMode: boolean - isInEditMode
27179
+ */
27180
+ var getIsLayerInEditMode = createSelector(getLayerById, function (layer) {
27181
+ return (layer === null || layer === void 0 ? void 0 : layer.isInEditMode) || false;
27182
+ });
27183
+ var getFeatureLayerGeoJSON = createSelector(getLayerById, function (layer) {
27184
+ return (layer === null || layer === void 0 ? void 0 : layer.geojson) || undefined;
27185
+ });
27186
+ var getFeatureLayerGeoJSONProperties = createSelector(getLayerById, function (layer) {
27187
+ var _a, _b;
27188
+ return ((_b = (_a = layer === null || layer === void 0 ? void 0 : layer.geojson) === null || _a === void 0 ? void 0 : _a.features[0]) === null || _b === void 0 ? void 0 : _b.properties) || {};
27189
+ });
27089
27190
  /**
27090
27191
  * Gets layerIds that contain passed dimension
27091
27192
  *
@@ -27133,7 +27234,7 @@ var getLayerIsInsideAcceptanceTime = createSelector(getAcceptanceTimeInMinutes,
27133
27234
  return 'inside';
27134
27235
  });
27135
27236
 
27136
- var selectors$8 = /*#__PURE__*/Object.freeze({
27237
+ var selectors$9 = /*#__PURE__*/Object.freeze({
27137
27238
  __proto__: null,
27138
27239
  getLayerById: getLayerById,
27139
27240
  getLayersById: getLayersById,
@@ -27143,6 +27244,7 @@ var selectors$8 = /*#__PURE__*/Object.freeze({
27143
27244
  getLayers: getLayers,
27144
27245
  getBaseLayers: getBaseLayers,
27145
27246
  getOverLayers: getOverLayers,
27247
+ getFeatureLayers: getFeatureLayers,
27146
27248
  getLayerDimensions: getLayerDimensions,
27147
27249
  getLayerNonTimeDimensions: getLayerNonTimeDimensions,
27148
27250
  getLayerTimeDimension: getLayerTimeDimension,
@@ -27156,6 +27258,9 @@ var selectors$8 = /*#__PURE__*/Object.freeze({
27156
27258
  getLayerStatus: getLayerStatus,
27157
27259
  getAvailableBaseLayersForMap: getAvailableBaseLayersForMap,
27158
27260
  getSelectedFeatureIndex: getSelectedFeatureIndex,
27261
+ getIsLayerInEditMode: getIsLayerInEditMode,
27262
+ getFeatureLayerGeoJSON: getFeatureLayerGeoJSON,
27263
+ getFeatureLayerGeoJSONProperties: getFeatureLayerGeoJSONProperties,
27159
27264
  getDimensionLayerIds: getDimensionLayerIds,
27160
27265
  getAcceptanceTimeInMinutes: getAcceptanceTimeInMinutes,
27161
27266
  getLayerIsInsideAcceptanceTime: getLayerIsInsideAcceptanceTime
@@ -27294,27 +27399,6 @@ function replaceLayerIds(layers, autoLayerIdOld, autoLayerIdNew) {
27294
27399
  return layersWithNewIds;
27295
27400
  }
27296
27401
 
27297
- /* *
27298
- * Licensed under the Apache License, Version 2.0 (the "License");
27299
- * you may not use this file except in compliance with the License.
27300
- * You may obtain a copy of the License at
27301
- *
27302
- * http://www.apache.org/licenses/LICENSE-2.0
27303
- *
27304
- * Unless required by applicable law or agreed to in writing, software
27305
- * distributed under the License is distributed on an "AS IS" BASIS,
27306
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27307
- * See the License for the specific language governing permissions and
27308
- * limitations under the License.
27309
- *
27310
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
27311
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
27312
- * */
27313
-
27314
- var types$6 = /*#__PURE__*/Object.freeze({
27315
- __proto__: null
27316
- });
27317
-
27318
27402
  var moveToTop = function moveToTop(list, element) {
27319
27403
  var filteredList = list.filter(function (item) {
27320
27404
  return item !== element;
@@ -27338,13 +27422,13 @@ var createUIDialogElement = function createUIDialogElement(_ref) {
27338
27422
  focused: false
27339
27423
  };
27340
27424
  };
27341
- var initialState$8 = {
27425
+ var initialState$9 = {
27342
27426
  order: [],
27343
27427
  dialogs: {},
27344
27428
  activeWindowId: undefined
27345
27429
  };
27346
- var slice$8 = createSlice({
27347
- initialState: initialState$8,
27430
+ var slice$9 = createSlice({
27431
+ initialState: initialState$9,
27348
27432
  name: 'uiReducer',
27349
27433
  reducers: {
27350
27434
  registerDialog: function registerDialog(draft, action) {
@@ -27436,8 +27520,8 @@ var slice$8 = createSlice({
27436
27520
  }
27437
27521
  }
27438
27522
  });
27439
- var reducer$8 = slice$8.reducer;
27440
- var uiActions = slice$8.actions;
27523
+ var reducer$9 = slice$9.reducer;
27524
+ var uiActions = slice$9.actions;
27441
27525
 
27442
27526
  var addBaseLayer = layerActions.addBaseLayer,
27443
27527
  addLayer$1 = layerActions.addLayer,
@@ -27484,12 +27568,12 @@ var createLayersWithIds = function createLayersWithIds(state, layers) {
27484
27568
  }
27485
27569
  });
27486
27570
  };
27487
- var initialState$7 = {
27571
+ var initialState$8 = {
27488
27572
  byId: {},
27489
27573
  allIds: []
27490
27574
  };
27491
- var slice$7 = createSlice({
27492
- initialState: initialState$7,
27575
+ var slice$8 = createSlice({
27576
+ initialState: initialState$8,
27493
27577
  name: 'mapReducer',
27494
27578
  reducers: {
27495
27579
  registerMap: function registerMap(draft, action) {
@@ -27793,7 +27877,8 @@ var slice$7 = createSlice({
27793
27877
  builder.addCase(addLayer$1, function (draft, action) {
27794
27878
  var _action$payload27 = action.payload,
27795
27879
  layerId = _action$payload27.layerId,
27796
- mapId = _action$payload27.mapId;
27880
+ mapId = _action$payload27.mapId,
27881
+ layer = _action$payload27.layer;
27797
27882
  if (!draft.byId[mapId]) {
27798
27883
  return;
27799
27884
  }
@@ -27805,7 +27890,12 @@ var slice$7 = createSlice({
27805
27890
  draft.byId[mapId].autoUpdateLayerId = layerId;
27806
27891
  draft.byId[mapId].autoTimeStepLayerId = layerId;
27807
27892
  }
27808
- draft.byId[mapId].mapLayers.unshift(layerId);
27893
+ var isFeatureLayer = layer && layer.layerType === LayerType.featureLayer;
27894
+ if (isFeatureLayer) {
27895
+ draft.byId[mapId].featureLayers.unshift(layerId);
27896
+ } else {
27897
+ draft.byId[mapId].mapLayers.unshift(layerId);
27898
+ }
27809
27899
  }).addCase(addBaseLayer, function (draft, action) {
27810
27900
  var _action$payload28 = action.payload,
27811
27901
  layer = _action$payload28.layer,
@@ -27922,6 +28012,9 @@ var slice$7 = createSlice({
27922
28012
  if (map.autoTimeStepLayerId === layerId) {
27923
28013
  map.autoTimeStepLayerId = activeLayerId;
27924
28014
  }
28015
+ map.featureLayers = map.featureLayers.filter(function (id) {
28016
+ return id !== layerId;
28017
+ });
27925
28018
  }).addCase(baseLayerDelete, function (draft, action) {
27926
28019
  var _action$payload31 = action.payload,
27927
28020
  mapId = _action$payload31.mapId,
@@ -28004,7 +28097,7 @@ var slice$7 = createSlice({
28004
28097
  type: source.type
28005
28098
  };
28006
28099
  /* Handle the Layer action with the same logic, using the same reducer */
28007
- return reducer$7(prevState, action);
28100
+ return reducer$8(prevState, action);
28008
28101
  }, draft);
28009
28102
  }).addCase(onUpdateLayerInformation, function (draft, action) {
28010
28103
  var mapDimensions = action.payload.mapDimensions;
@@ -28050,11 +28143,11 @@ var slice$7 = createSlice({
28050
28143
  });
28051
28144
  }
28052
28145
  });
28053
- var mapActions = Object.assign(Object.assign({}, slice$7.actions), {
28146
+ var mapActions = Object.assign(Object.assign({}, slice$8.actions), {
28054
28147
  setMapPreset: setMapPreset,
28055
28148
  mapChangeDimension: mapChangeDimension
28056
28149
  });
28057
- var reducer$7 = slice$7.reducer;
28150
+ var reducer$8 = slice$8.reducer;
28058
28151
 
28059
28152
  /* *
28060
28153
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -28181,7 +28274,7 @@ var getDialogError = createSelector(getDialogDetailsByType, function (details) {
28181
28274
  return details && details.error || '';
28182
28275
  });
28183
28276
 
28184
- var selectors$7 = /*#__PURE__*/Object.freeze({
28277
+ var selectors$8 = /*#__PURE__*/Object.freeze({
28185
28278
  __proto__: null,
28186
28279
  getUiStore: getUiStore,
28187
28280
  getDialogDetailsByType: getDialogDetailsByType,
@@ -28228,7 +28321,7 @@ var DialogTypes;
28228
28321
  DialogTypes["AreaManager"] = "areaManager";
28229
28322
  })(DialogTypes || (DialogTypes = {}));
28230
28323
 
28231
- var types$5 = /*#__PURE__*/Object.freeze({
28324
+ var types$6 = /*#__PURE__*/Object.freeze({
28232
28325
  __proto__: null,
28233
28326
  get DialogTypes () { return DialogTypes; }
28234
28327
  });
@@ -28318,7 +28411,7 @@ var removeInPlace = function removeInPlace(inDraftArray, condition) {
28318
28411
  * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
28319
28412
  * Copyright 2020 - Finnish Meteorological Institute (FMI)
28320
28413
  * */
28321
- var initialState$6 = {
28414
+ var initialState$7 = {
28322
28415
  sources: {
28323
28416
  byId: {},
28324
28417
  allIds: []
@@ -28342,8 +28435,8 @@ var initialState$6 = {
28342
28435
  }
28343
28436
  }
28344
28437
  };
28345
- var slice$6 = createSlice({
28346
- initialState: initialState$6,
28438
+ var slice$7 = createSlice({
28439
+ initialState: initialState$7,
28347
28440
  name: 'synchronizationGroupsReducer',
28348
28441
  reducers: {
28349
28442
  syncGroupAddSource: function syncGroupAddSource(draft, action) {
@@ -28472,7 +28565,7 @@ var slice$6 = createSlice({
28472
28565
  });
28473
28566
  },
28474
28567
  syncGroupClear: function syncGroupClear() {
28475
- return initialState$6;
28568
+ return initialState$7;
28476
28569
  },
28477
28570
  syncGroupSetViewState: function syncGroupSetViewState(draft, action) {
28478
28571
  var viewState = action.payload.viewState;
@@ -28531,7 +28624,7 @@ var setBboxOrTimeSync = function setBboxOrTimeSync(state, action) {
28531
28624
  });
28532
28625
  });
28533
28626
  };
28534
- var _slice$actions = slice$6.actions,
28627
+ var _slice$actions = slice$7.actions,
28535
28628
  syncGroupAddGroup = _slice$actions.syncGroupAddGroup,
28536
28629
  syncGroupAddSource = _slice$actions.syncGroupAddSource,
28537
28630
  syncGroupAddTarget = _slice$actions.syncGroupAddTarget;
@@ -28541,8 +28634,8 @@ var _slice$actions = slice$6.actions,
28541
28634
  syncGroupRemoveSource = _slice$actions.syncGroupRemoveSource,
28542
28635
  syncGroupRemoveTarget = _slice$actions.syncGroupRemoveTarget,
28543
28636
  syncGroupSetViewState = _slice$actions.syncGroupSetViewState;
28544
- var actions = slice$6.actions,
28545
- reducer$6 = slice$6.reducer;
28637
+ var actions = slice$7.actions,
28638
+ reducer$7 = slice$7.reducer;
28546
28639
 
28547
28640
  /* *
28548
28641
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -28570,7 +28663,7 @@ var SyncGroupActionOrigin;
28570
28663
  SyncGroupActionOrigin["activateLayerId"] = "ORIGIN_GENERIC_SYNCHRONIZATIONGROUP_UTILS_ACTIVELAYERIDACTION";
28571
28664
  })(SyncGroupActionOrigin || (SyncGroupActionOrigin = {}));
28572
28665
 
28573
- var types$4 = /*#__PURE__*/Object.freeze({
28666
+ var types$5 = /*#__PURE__*/Object.freeze({
28574
28667
  __proto__: null,
28575
28668
  SyncGroupTypeList: SyncGroupTypeList,
28576
28669
  get SyncGroupActionOrigin () { return SyncGroupActionOrigin; }
@@ -28672,8 +28765,8 @@ var getTargetGroups = function getTargetGroups(state, payload, actionType) {
28672
28765
  }, []);
28673
28766
  return groups;
28674
28767
  };
28675
- var getSourceId = function getSourceId(_, sourceId) {
28676
- return sourceId;
28768
+ var getSourceId = function getSourceId(_state, sourceId) {
28769
+ return typeof sourceId === 'string' ? sourceId : sourceId.sourceId;
28677
28770
  };
28678
28771
  var getAllTargetGroupsForSource = createSelector([syncGroupStore, getSourceId], function (syncGroupStore, sourceId) {
28679
28772
  if (syncGroupStore === null || syncGroupStore === void 0 ? void 0 : syncGroupStore.groups) {
@@ -28711,7 +28804,7 @@ var getSyncGroupTargets = createSelector(syncGroupStore, function (store) {
28711
28804
  }, []);
28712
28805
  });
28713
28806
 
28714
- var selectors$6 = /*#__PURE__*/Object.freeze({
28807
+ var selectors$7 = /*#__PURE__*/Object.freeze({
28715
28808
  __proto__: null,
28716
28809
  syncGroupStore: syncGroupStore,
28717
28810
  getSynchronizationGroupState: getSynchronizationGroupState,
@@ -28863,7 +28956,7 @@ var getTime = createSelector(getSyncSourceBySourceId, function (store) {
28863
28956
  return store && store.payloadByType && store.payloadByType[SYNCGROUPS_TYPE_SETTIME] ? store.payloadByType[SYNCGROUPS_TYPE_SETTIME].value : null;
28864
28957
  });
28865
28958
 
28866
- var selectors$5 = /*#__PURE__*/Object.freeze({
28959
+ var selectors$6 = /*#__PURE__*/Object.freeze({
28867
28960
  __proto__: null,
28868
28961
  getSynchronizationGroupStore: getSynchronizationGroupStore,
28869
28962
  getTime: getTime
@@ -28886,7 +28979,7 @@ var selectors$5 = /*#__PURE__*/Object.freeze({
28886
28979
  * Copyright 2020 - Finnish Meteorological Institute (FMI)
28887
28980
  * */
28888
28981
 
28889
- var types$3 = /*#__PURE__*/Object.freeze({
28982
+ var types$4 = /*#__PURE__*/Object.freeze({
28890
28983
  __proto__: null
28891
28984
  });
28892
28985
 
@@ -29035,6 +29128,12 @@ var getMapBaseLayers = createSelector(getMapBaseLayersIds, getLayersById, functi
29035
29128
  var getMapOverLayersIds = createSelector(getMapById, function (store) {
29036
29129
  return store ? store.overLayers : [];
29037
29130
  }, selectorMemoizationOptions);
29131
+ var getMapFeatureLayers = createSelector(getMapById, getFeatureLayers, function (store, featureLayers) {
29132
+ var featureLayersOnMap = (store === null || store === void 0 ? void 0 : store.featureLayers) || [];
29133
+ return featureLayers.filter(function (layer) {
29134
+ return featureLayersOnMap.indexOf(layer.id) !== -1;
29135
+ });
29136
+ }, selectorMemoizationOptions);
29038
29137
  /**
29039
29138
  * Gets all overLayers for a map
29040
29139
  *
@@ -29137,7 +29236,7 @@ var linkedMapAnimationInfo = createSelector(function (store, mapId) {
29137
29236
  return animationInfo;
29138
29237
  }, function (animationInfo) {
29139
29238
  return animationInfo;
29140
- });
29239
+ }, selectorMemoizationOptions);
29141
29240
  /**
29142
29241
  * Gets start time of animation
29143
29242
  *
@@ -29590,7 +29689,7 @@ var getDockedLayerManagerSize = createSelector(getMapById, function (store) {
29590
29689
  return store ? store.dockedLayerManagerSize : 'sizeSmall';
29591
29690
  });
29592
29691
 
29593
- var selectors$4 = /*#__PURE__*/Object.freeze({
29692
+ var selectors$5 = /*#__PURE__*/Object.freeze({
29594
29693
  __proto__: null,
29595
29694
  getMapById: getMapById,
29596
29695
  getAllMapIds: getAllMapIds,
@@ -29602,6 +29701,7 @@ var selectors$4 = /*#__PURE__*/Object.freeze({
29602
29701
  getMapBaseLayersIds: getMapBaseLayersIds,
29603
29702
  getMapBaseLayers: getMapBaseLayers,
29604
29703
  getMapOverLayersIds: getMapOverLayersIds,
29704
+ getMapFeatureLayers: getMapFeatureLayers,
29605
29705
  getMapOverLayers: getMapOverLayers,
29606
29706
  getMapDimensions: getMapDimensions,
29607
29707
  getMapDimension: getMapDimension,
@@ -29645,49 +29745,6 @@ var selectors$4 = /*#__PURE__*/Object.freeze({
29645
29745
  getDockedLayerManagerSize: getDockedLayerManagerSize
29646
29746
  });
29647
29747
 
29648
- /* *
29649
- * Licensed under the Apache License, Version 2.0 (the "License");
29650
- * you may not use this file except in compliance with the License.
29651
- * You may obtain a copy of the License at
29652
- *
29653
- * http://www.apache.org/licenses/LICENSE-2.0
29654
- *
29655
- * Unless required by applicable law or agreed to in writing, software
29656
- * distributed under the License is distributed on an "AS IS" BASIS,
29657
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29658
- * See the License for the specific language governing permissions and
29659
- * limitations under the License.
29660
- *
29661
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
29662
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
29663
- * */
29664
- var baseLayerGrey = {
29665
- id: webmapUtils.generateLayerId(),
29666
- name: 'WorldMap_Light_Grey_Canvas',
29667
- type: 'twms',
29668
- layerType: LayerType.baseLayer
29669
- };
29670
- // Over Layers List
29671
- var KNMIgeoservicesBaselayers = {
29672
- name: 'KNMIgeoservicesBaselayers',
29673
- url: 'https://geoservices.knmi.nl/wms?DATASET=baselayers&',
29674
- id: 'KNMIgeoservicesBaselayers'
29675
- };
29676
- var overLayer = {
29677
- service: KNMIgeoservicesBaselayers.url,
29678
- name: 'countryborders',
29679
- format: 'image/png',
29680
- enabled: true,
29681
- id: webmapUtils.generateLayerId(),
29682
- layerType: LayerType.overLayer
29683
- };
29684
-
29685
- var defaultLayers = /*#__PURE__*/Object.freeze({
29686
- __proto__: null,
29687
- baseLayerGrey: baseLayerGrey,
29688
- overLayer: overLayer
29689
- });
29690
-
29691
29748
  /* *
29692
29749
  * Licensed under the Apache License, Version 2.0 (the "License");
29693
29750
  * you may not use this file except in compliance with the License.
@@ -29800,12 +29857,12 @@ var mapUtils = Object.assign(Object.assign({}, utils$3), {
29800
29857
  * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
29801
29858
  * Copyright 2020 - Finnish Meteorological Institute (FMI)
29802
29859
  * */
29803
- var initialState$5 = {
29860
+ var initialState$6 = {
29804
29861
  byId: {},
29805
29862
  allIds: []
29806
29863
  };
29807
- var slice$5 = createSlice({
29808
- initialState: initialState$5,
29864
+ var slice$6 = createSlice({
29865
+ initialState: initialState$6,
29809
29866
  name: 'serviceReducer',
29810
29867
  reducers: {
29811
29868
  serviceSetLayers: function serviceSetLayers(draft, action) {
@@ -29834,8 +29891,8 @@ var slice$5 = createSlice({
29834
29891
  action) {}
29835
29892
  }
29836
29893
  });
29837
- var reducer$5 = slice$5.reducer;
29838
- var serviceActions = slice$5.actions;
29894
+ var reducer$6 = slice$6.reducer;
29895
+ var serviceActions = slice$6.actions;
29839
29896
 
29840
29897
  /* *
29841
29898
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -29947,7 +30004,7 @@ var getLayerStyles = createSelector(getLayerFromService, function (layer) {
29947
30004
  return layer && layer.styles ? layer.styles : [];
29948
30005
  }, selectorMemoizationOptions);
29949
30006
 
29950
- var selectors$3 = /*#__PURE__*/Object.freeze({
30007
+ var selectors$4 = /*#__PURE__*/Object.freeze({
29951
30008
  __proto__: null,
29952
30009
  getServiceIds: getServiceIds,
29953
30010
  getServices: getServices,
@@ -29957,6 +30014,27 @@ var selectors$3 = /*#__PURE__*/Object.freeze({
29957
30014
  getLayerStyles: getLayerStyles
29958
30015
  });
29959
30016
 
30017
+ /* *
30018
+ * Licensed under the Apache License, Version 2.0 (the "License");
30019
+ * you may not use this file except in compliance with the License.
30020
+ * You may obtain a copy of the License at
30021
+ *
30022
+ * http://www.apache.org/licenses/LICENSE-2.0
30023
+ *
30024
+ * Unless required by applicable law or agreed to in writing, software
30025
+ * distributed under the License is distributed on an "AS IS" BASIS,
30026
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30027
+ * See the License for the specific language governing permissions and
30028
+ * limitations under the License.
30029
+ *
30030
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
30031
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
30032
+ * */
30033
+
30034
+ var types$3 = /*#__PURE__*/Object.freeze({
30035
+ __proto__: null
30036
+ });
30037
+
29960
30038
  /* *
29961
30039
  * Licensed under the Apache License, Version 2.0 (the "License");
29962
30040
  * you may not use this file except in compliance with the License.
@@ -32326,7 +32404,7 @@ function takeLatest$1(patternOrChannel, worker) {
32326
32404
  return fork.apply(void 0, [takeLatest, patternOrChannel, worker].concat(args));
32327
32405
  }
32328
32406
 
32329
- var _marked$7 = /*#__PURE__*/_regeneratorRuntime().mark(updateAnimation),
32407
+ var _marked$8 = /*#__PURE__*/_regeneratorRuntime().mark(updateAnimation),
32330
32408
  _marked2$6 = /*#__PURE__*/_regeneratorRuntime().mark(handleBaseLayersSaga),
32331
32409
  _marked3$2 = /*#__PURE__*/_regeneratorRuntime().mark(rootSaga$7);
32332
32410
  // Expects start, end time as moment object and interval in minutes
@@ -32497,7 +32575,7 @@ function updateAnimation(mapId, maxValue) {
32497
32575
  case "end":
32498
32576
  return _context4.stop();
32499
32577
  }
32500
- }, _marked$7);
32578
+ }, _marked$8);
32501
32579
  }
32502
32580
  function setLayerDimensionsSaga(_ref4) {
32503
32581
  var payload = _ref4.payload;
@@ -32802,8 +32880,8 @@ function setMapPresetSaga(_ref6) {
32802
32880
  }));
32803
32881
  case 19:
32804
32882
  // sets (default) baseLayers
32805
- baseLayersWithDefaultLayer = baseLayers.length ? baseLayers : [baseLayerGrey]; // sets (default) overLayers
32806
- overLayersWithDefaultLayer = overLayers.length ? overLayers : [overLayer];
32883
+ baseLayersWithDefaultLayer = baseLayers.length ? baseLayers : [defaultLayers.baseLayerGrey]; // sets (default) overLayers
32884
+ overLayersWithDefaultLayer = overLayers.length ? overLayers : [defaultLayers.overLayer];
32807
32885
  allBaseLayers = [].concat(_toConsumableArray(baseLayersWithDefaultLayer), _toConsumableArray(overLayersWithDefaultLayer)).map(function (layer) {
32808
32886
  return Object.assign(Object.assign({}, layer), {
32809
32887
  id: webmapUtils.generateLayerId()
@@ -33130,7 +33208,7 @@ function rootSaga$7() {
33130
33208
  }, _marked3$2);
33131
33209
  }
33132
33210
 
33133
- var _marked$6 = /*#__PURE__*/_regeneratorRuntime().mark(fetchServiceSaga),
33211
+ var _marked$7 = /*#__PURE__*/_regeneratorRuntime().mark(fetchServiceSaga),
33134
33212
  _marked2$5 = /*#__PURE__*/_regeneratorRuntime().mark(rootSaga$6);
33135
33213
  function fetchServiceSaga(service) {
33136
33214
  var layers;
@@ -33156,7 +33234,7 @@ function fetchServiceSaga(service) {
33156
33234
  case "end":
33157
33235
  return _context.stop();
33158
33236
  }
33159
- }, _marked$6, null, [[0, 8]]);
33237
+ }, _marked$7, null, [[0, 8]]);
33160
33238
  }
33161
33239
  function fetchInitialServicesSaga(_ref) {
33162
33240
  var payload = _ref.payload;
@@ -33197,9 +33275,9 @@ i({
33197
33275
  var mapStoreModuleConfig = {
33198
33276
  id: 'webmap-module',
33199
33277
  reducersMap: {
33200
- webmap: reducer$7,
33201
- services: reducer$5,
33202
- layers: reducer$9
33278
+ webmap: reducer$8,
33279
+ services: reducer$6,
33280
+ layers: reducer$a
33203
33281
  },
33204
33282
  sagas: [rootSaga$7, rootSaga$6]
33205
33283
  };
@@ -33334,7 +33412,7 @@ var initialServicePopupState = {
33334
33412
  serviceId: '',
33335
33413
  variant: 'add'
33336
33414
  };
33337
- var initialState$4 = {
33415
+ var initialState$5 = {
33338
33416
  filters: {
33339
33417
  searchFilter: '',
33340
33418
  activeServices: layerSelectActiveServicesAdapter.getInitialState(),
@@ -33350,8 +33428,8 @@ var initialState$4 = {
33350
33428
  },
33351
33429
  servicePopup: initialServicePopupState
33352
33430
  };
33353
- var slice$4 = createSlice({
33354
- initialState: initialState$4,
33431
+ var slice$5 = createSlice({
33432
+ initialState: initialState$5,
33355
33433
  name: DialogTypes.LayerSelect,
33356
33434
  reducers: {
33357
33435
  setSearchFilter: function setSearchFilter(draft, action) {
@@ -33525,8 +33603,8 @@ var slice$4 = createSlice({
33525
33603
  });
33526
33604
  }
33527
33605
  });
33528
- var reducer$4 = slice$4.reducer;
33529
- var layerSelectActions = slice$4.actions;
33606
+ var reducer$5 = slice$5.reducer;
33607
+ var layerSelectActions = slice$5.actions;
33530
33608
 
33531
33609
  /* *
33532
33610
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -33691,7 +33769,7 @@ var getServicePopupDetails = function getServicePopupDetails(store) {
33691
33769
  return ((_a = store === null || store === void 0 ? void 0 : store.layerSelect) === null || _a === void 0 ? void 0 : _a.servicePopup) || initialServicePopupState;
33692
33770
  };
33693
33771
 
33694
- var selectors$2 = /*#__PURE__*/Object.freeze({
33772
+ var selectors$3 = /*#__PURE__*/Object.freeze({
33695
33773
  __proto__: null,
33696
33774
  getSearchFilter: getSearchFilter,
33697
33775
  getActiveServices: getActiveServices,
@@ -33772,9 +33850,9 @@ var isNoIdService = function isNoIdService(param) {
33772
33850
  * Copyright 2022 - Finnish Meteorological Institute (FMI)
33773
33851
  * */
33774
33852
  var snackbarAdapter = createEntityAdapter();
33775
- var initialState$3 = snackbarAdapter.getInitialState();
33776
- var slice$3 = createSlice({
33777
- initialState: initialState$3,
33853
+ var initialState$4 = snackbarAdapter.getInitialState();
33854
+ var slice$4 = createSlice({
33855
+ initialState: initialState$4,
33778
33856
  name: 'snackbar',
33779
33857
  reducers: {
33780
33858
  // To open the snackbar call this action
@@ -33798,8 +33876,8 @@ var slice$3 = createSlice({
33798
33876
  }
33799
33877
  }
33800
33878
  });
33801
- var reducer$3 = slice$3.reducer;
33802
- var snackbarActions = slice$3.actions;
33879
+ var reducer$4 = slice$4.reducer;
33880
+ var snackbarActions = slice$4.actions;
33803
33881
 
33804
33882
  /* *
33805
33883
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -33835,7 +33913,7 @@ var getFirstSnackbarMessage = createSelector(getCurrentSnackbarMessages, functio
33835
33913
  return currentMessages.length > 0 ? currentMessages[0] : undefined;
33836
33914
  });
33837
33915
 
33838
- var selectors$1 = /*#__PURE__*/Object.freeze({
33916
+ var selectors$2 = /*#__PURE__*/Object.freeze({
33839
33917
  __proto__: null,
33840
33918
  getSnackbarStore: getSnackbarStore,
33841
33919
  getCurrentSnackbarMessages: getCurrentSnackbarMessages,
@@ -33863,7 +33941,7 @@ var types$1 = /*#__PURE__*/Object.freeze({
33863
33941
  __proto__: null
33864
33942
  });
33865
33943
 
33866
- var _marked$5 = /*#__PURE__*/_regeneratorRuntime().mark(openSnackbarSaga),
33944
+ var _marked$6 = /*#__PURE__*/_regeneratorRuntime().mark(openSnackbarSaga),
33867
33945
  _marked2$4 = /*#__PURE__*/_regeneratorRuntime().mark(rootSaga$5);
33868
33946
  var hideTime = 4000;
33869
33947
  function openSnackbarSaga(capturedAction) {
@@ -33910,7 +33988,7 @@ function openSnackbarSaga(capturedAction) {
33910
33988
  case "end":
33911
33989
  return _context.stop();
33912
33990
  }
33913
- }, _marked$5);
33991
+ }, _marked$6);
33914
33992
  }
33915
33993
  function rootSaga$5() {
33916
33994
  return _regeneratorRuntime().wrap(function rootSaga$(_context2) {
@@ -33944,7 +34022,7 @@ function rootSaga$5() {
33944
34022
  var snackbarModuleConfig = {
33945
34023
  id: 'snackbar-module',
33946
34024
  reducersMap: {
33947
- snackbar: reducer$3
34025
+ snackbar: reducer$4
33948
34026
  },
33949
34027
  sagas: [rootSaga$5]
33950
34028
  };
@@ -33965,9 +34043,9 @@ var snackbarModuleConfig = {
33965
34043
  * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
33966
34044
  * Copyright 2023 - Finnish Meteorological Institute (FMI)
33967
34045
  * */
33968
- var initialState$2 = {};
33969
- var slice$2 = createSlice({
33970
- initialState: initialState$2,
34046
+ var initialState$3 = {};
34047
+ var slice$3 = createSlice({
34048
+ initialState: initialState$3,
33971
34049
  name: 'router',
33972
34050
  reducers: {
33973
34051
  navigateToUrl: function navigateToUrl(
@@ -33977,8 +34055,8 @@ var slice$2 = createSlice({
33977
34055
  action) {}
33978
34056
  }
33979
34057
  });
33980
- var reducer$2 = slice$2.reducer;
33981
- var routerActions = slice$2.actions;
34058
+ var reducer$3 = slice$3.reducer;
34059
+ var routerActions = slice$3.actions;
33982
34060
 
33983
34061
  /* *
33984
34062
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -34007,7 +34085,7 @@ var utils = /*#__PURE__*/Object.freeze({
34007
34085
  historyDict: historyDict
34008
34086
  });
34009
34087
 
34010
- var _marked$4 = /*#__PURE__*/_regeneratorRuntime().mark(navigateToUrlSaga),
34088
+ var _marked$5 = /*#__PURE__*/_regeneratorRuntime().mark(navigateToUrlSaga),
34011
34089
  _marked2$3 = /*#__PURE__*/_regeneratorRuntime().mark(rootSaga$4);
34012
34090
  function navigateToUrlSaga(action) {
34013
34091
  var payload;
@@ -34021,7 +34099,7 @@ function navigateToUrlSaga(action) {
34021
34099
  case "end":
34022
34100
  return _context.stop();
34023
34101
  }
34024
- }, _marked$4);
34102
+ }, _marked$5);
34025
34103
  }
34026
34104
  function rootSaga$4() {
34027
34105
  return _regeneratorRuntime().wrap(function rootSaga$(_context2) {
@@ -34055,7 +34133,7 @@ function rootSaga$4() {
34055
34133
  var routerModuleConfig = {
34056
34134
  id: 'router',
34057
34135
  reducersMap: {
34058
- router: reducer$2
34136
+ router: reducer$3
34059
34137
  },
34060
34138
  sagas: [rootSaga$4]
34061
34139
  };
@@ -34076,11 +34154,11 @@ var routerModuleConfig = {
34076
34154
  * Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
34077
34155
  * Copyright 2022 - Finnish Meteorological Institute (FMI)
34078
34156
  * */
34079
- var initialState$1 = {
34157
+ var initialState$2 = {
34080
34158
  isInitialised: false
34081
34159
  };
34082
- var slice$1 = createSlice({
34083
- initialState: initialState$1,
34160
+ var slice$2 = createSlice({
34161
+ initialState: initialState$2,
34084
34162
  name: 'app',
34085
34163
  reducers: {
34086
34164
  initialiseApp: function initialiseApp(draft) {
@@ -34088,8 +34166,8 @@ var slice$1 = createSlice({
34088
34166
  }
34089
34167
  }
34090
34168
  });
34091
- var reducer$1 = slice$1.reducer;
34092
- var appActions = slice$1.actions;
34169
+ var reducer$2 = slice$2.reducer;
34170
+ var appActions = slice$2.actions;
34093
34171
 
34094
34172
  /* *
34095
34173
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -34110,7 +34188,7 @@ var appActions = slice$1.actions;
34110
34188
  var appModuleConfig = {
34111
34189
  id: 'app-module',
34112
34190
  reducersMap: {
34113
- app: reducer$1
34191
+ app: reducer$2
34114
34192
  }
34115
34193
  };
34116
34194
 
@@ -34130,19 +34208,19 @@ var appModuleConfig = {
34130
34208
  * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
34131
34209
  * Copyright 2023 - Finnish Meteorological Institute (FMI)
34132
34210
  * */
34133
- var drawAdapter = createEntityAdapter({
34211
+ var drawAdapter$1 = createEntityAdapter({
34134
34212
  selectId: function selectId(draw) {
34135
34213
  return draw.mapId;
34136
34214
  }
34137
34215
  });
34138
- var initialState = drawAdapter.getInitialState();
34139
- var slice = createSlice({
34140
- initialState: initialState,
34216
+ var initialState$1 = drawAdapter$1.getInitialState();
34217
+ var slice$1 = createSlice({
34218
+ initialState: initialState$1,
34141
34219
  name: 'draw',
34142
34220
  reducers: {
34143
34221
  setDrawValues: function setDrawValues(draft, action) {
34144
34222
  if (draft.entities[action.payload.mapId]) {
34145
- drawAdapter.setOne(draft, action.payload);
34223
+ drawAdapter$1.setOne(draft, action.payload);
34146
34224
  }
34147
34225
  },
34148
34226
  // action caught in drawings/saga
@@ -34154,19 +34232,19 @@ var slice = createSlice({
34154
34232
  },
34155
34233
  extraReducers: function extraReducers(builder) {
34156
34234
  builder.addCase(mapActions.registerMap, function (draft, action) {
34157
- drawAdapter.addOne(draft, {
34235
+ drawAdapter$1.addOne(draft, {
34158
34236
  mapId: action.payload.mapId,
34159
34237
  area: undefined,
34160
34238
  areaName: '',
34161
34239
  id: ''
34162
34240
  });
34163
34241
  }).addCase(mapActions.unregisterMap, function (draft, action) {
34164
- drawAdapter.removeOne(draft, action.payload.mapId);
34242
+ drawAdapter$1.removeOne(draft, action.payload.mapId);
34165
34243
  });
34166
34244
  }
34167
34245
  });
34168
- var reducer = slice.reducer;
34169
- var drawActions = slice.actions;
34246
+ var reducer$1 = slice$1.reducer;
34247
+ var drawActions = slice$1.actions;
34170
34248
 
34171
34249
  /* *
34172
34250
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -34190,16 +34268,16 @@ var getDrawStore = function getDrawStore(store) {
34190
34268
  }
34191
34269
  return null;
34192
34270
  };
34193
- var _drawAdapter$getSelec = drawAdapter.getSelectors(function (state) {
34271
+ var _drawAdapter$getSelec$1 = drawAdapter$1.getSelectors(function (state) {
34194
34272
  var _a;
34195
34273
  return (_a = state === null || state === void 0 ? void 0 : state.drawings) !== null && _a !== void 0 ? _a : {
34196
34274
  entities: {},
34197
34275
  ids: []
34198
34276
  };
34199
34277
  }),
34200
- selectDrawByMapId = _drawAdapter$getSelec.selectById;
34278
+ selectDrawByMapId = _drawAdapter$getSelec$1.selectById;
34201
34279
 
34202
- var selectors = /*#__PURE__*/Object.freeze({
34280
+ var selectors$1 = /*#__PURE__*/Object.freeze({
34203
34281
  __proto__: null,
34204
34282
  getDrawStore: getDrawStore,
34205
34283
  selectDrawByMapId: selectDrawByMapId
@@ -34245,11 +34323,331 @@ var types = /*#__PURE__*/Object.freeze({
34245
34323
  var drawModuleConfig = {
34246
34324
  id: 'draw-module',
34247
34325
  reducersMap: {
34248
- drawings: reducer
34326
+ drawings: reducer$1
34249
34327
  },
34250
34328
  sagas: []
34251
34329
  };
34252
34330
 
34331
+ /* *
34332
+ * Licensed under the Apache License, Version 2.0 (the "License");
34333
+ * you may not use this file except in compliance with the License.
34334
+ * You may obtain a copy of the License at
34335
+ *
34336
+ * http://www.apache.org/licenses/LICENSE-2.0
34337
+ *
34338
+ * Unless required by applicable law or agreed to in writing, software
34339
+ * distributed under the License is distributed on an "AS IS" BASIS,
34340
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34341
+ * See the License for the specific language governing permissions and
34342
+ * limitations under the License.
34343
+ *
34344
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
34345
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
34346
+ * */
34347
+ // reducer utils
34348
+ var drawAdapter = createEntityAdapter({
34349
+ selectId: function selectId(draw) {
34350
+ return draw.drawToolId;
34351
+ }
34352
+ });
34353
+ var getDrawLayerId = function getDrawLayerId(drawToolId) {
34354
+ return "drawlayer-".concat(drawToolId);
34355
+ };
34356
+ var getDrawToolByLayerId = function getDrawToolByLayerId(draft, layerId) {
34357
+ var state = R(draft);
34358
+ var drawTool = state.ids.map(function (id) {
34359
+ return state.entities[id];
34360
+ }).find(function (tool) {
34361
+ return (tool === null || tool === void 0 ? void 0 : tool.geoJSONLayerId) === layerId;
34362
+ });
34363
+ return (drawTool === null || drawTool === void 0 ? void 0 : drawTool.drawToolId) || undefined;
34364
+ };
34365
+ var initialState = drawAdapter.getInitialState();
34366
+ var slice = createSlice({
34367
+ initialState: initialState,
34368
+ name: 'draw',
34369
+ reducers: {
34370
+ registerDrawTool: function registerDrawTool(draft, action) {
34371
+ var _action$payload = action.payload,
34372
+ drawToolId = _action$payload.drawToolId,
34373
+ drawModes = _action$payload.drawModes;
34374
+ drawAdapter.addOne(draft, {
34375
+ drawToolId: drawToolId,
34376
+ geoJSONLayerId: getDrawLayerId(drawToolId),
34377
+ activeDrawModeId: '',
34378
+ drawModes: drawModes
34379
+ });
34380
+ },
34381
+ changeDrawToolMode: function changeDrawToolMode(draft, action) {
34382
+ var _action$payload2 = action.payload,
34383
+ drawModeId = _action$payload2.drawModeId,
34384
+ drawToolId = _action$payload2.drawToolId;
34385
+ var drawTool = draft.entities[drawToolId];
34386
+ if (!drawTool) {
34387
+ return;
34388
+ }
34389
+ var tool = drawTool.drawModes.find(function (drawMode) {
34390
+ return drawMode.drawModeId === drawModeId;
34391
+ });
34392
+ if ((tool === null || tool === void 0 ? void 0 : tool.isSelectable) === false) {
34393
+ drawTool.activeDrawModeId = '';
34394
+ return;
34395
+ }
34396
+ if ((drawTool === null || drawTool === void 0 ? void 0 : drawTool.activeDrawModeId) !== drawModeId) {
34397
+ drawTool.activeDrawModeId = drawModeId;
34398
+ } else {
34399
+ drawTool.activeDrawModeId = '';
34400
+ }
34401
+ }
34402
+ },
34403
+ extraReducers: function extraReducers(builder) {
34404
+ builder.addCase(layerActions.exitFeatureDrawMode, function (draft, action) {
34405
+ var layerId = action.payload.layerId;
34406
+ var drawToolId = getDrawToolByLayerId(draft, layerId);
34407
+ if (drawToolId && draft.entities[drawToolId] !== undefined) {
34408
+ draft.entities[drawToolId].activeDrawModeId = '';
34409
+ }
34410
+ }).addCase(layerActions.updateFeatureProperties, function (draft, action) {
34411
+ var _a;
34412
+ var _action$payload3 = action.payload,
34413
+ properties = _action$payload3.properties,
34414
+ layerId = _action$payload3.layerId;
34415
+ var drawToolId = getDrawToolByLayerId(draft, layerId);
34416
+ var entity = draft.entities[drawToolId];
34417
+ if (drawToolId && entity !== undefined) {
34418
+ var newDrawModes = (_a = entity === null || entity === void 0 ? void 0 : entity.drawModes) === null || _a === void 0 ? void 0 : _a.map(function (mode) {
34419
+ if (mode.shape.type === 'Feature') {
34420
+ return Object.assign(Object.assign({}, mode), {
34421
+ shape: Object.assign(Object.assign({}, mode.shape), {
34422
+ properties: Object.assign(Object.assign({}, mode.shape.properties), properties)
34423
+ })
34424
+ });
34425
+ }
34426
+ return mode;
34427
+ });
34428
+ entity.drawModes = newDrawModes;
34429
+ drawAdapter.setOne(draft, entity);
34430
+ }
34431
+ });
34432
+ // TODO: https://gitlab.com/opengeoweb/opengeoweb/-/issues/4065 enable auto registering again in
34433
+ // .addCase(mapActions.registerMap, (draft: Draft<DrawState>, action) => {
34434
+ // // drawAdapter.addOne(draft, {
34435
+ // // mapId: action.payload.mapId,
34436
+ // // area: undefined!,
34437
+ // // areaName: '',
34438
+ // // id: '',
34439
+ // // });
34440
+ // })
34441
+ // .addCase(mapActions.unregisterMap, (draft: Draft<DrawState>, action) => {
34442
+ // // drawAdapter.removeOne(draft, action.payload.mapId);
34443
+ // });
34444
+ }
34445
+ });
34446
+
34447
+ var reducer = slice.reducer;
34448
+ var drawtoolActions = slice.actions;
34449
+
34450
+ /* *
34451
+ * Licensed under the Apache License, Version 2.0 (the "License");
34452
+ * you may not use this file except in compliance with the License.
34453
+ * You may obtain a copy of the License at
34454
+ *
34455
+ * http://www.apache.org/licenses/LICENSE-2.0
34456
+ *
34457
+ * Unless required by applicable law or agreed to in writing, software
34458
+ * distributed under the License is distributed on an "AS IS" BASIS,
34459
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34460
+ * See the License for the specific language governing permissions and
34461
+ * limitations under the License.
34462
+ *
34463
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
34464
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
34465
+ * */
34466
+ var getDrawingtoolStore = function getDrawingtoolStore(store) {
34467
+ if (store && store.drawingtools) {
34468
+ return store.drawingtools;
34469
+ }
34470
+ return null;
34471
+ };
34472
+ var _drawAdapter$getSelec = drawAdapter.getSelectors(function (state) {
34473
+ var _a;
34474
+ return (_a = state === null || state === void 0 ? void 0 : state.drawingtools) !== null && _a !== void 0 ? _a : {
34475
+ entities: {},
34476
+ ids: []
34477
+ };
34478
+ }),
34479
+ selectDrawingToolByMapId = _drawAdapter$getSelec.selectById;
34480
+ var getDrawModeById = createSelector(selectDrawingToolByMapId, function (_store, _drawToolId, drawModeId) {
34481
+ return drawModeId;
34482
+ }, function (draw, drawModeId) {
34483
+ return draw === null || draw === void 0 ? void 0 : draw.drawModes.find(function (tool) {
34484
+ return tool.drawModeId === drawModeId;
34485
+ });
34486
+ });
34487
+
34488
+ var selectors = /*#__PURE__*/Object.freeze({
34489
+ __proto__: null,
34490
+ getDrawingtoolStore: getDrawingtoolStore,
34491
+ selectDrawingToolByMapId: selectDrawingToolByMapId,
34492
+ getDrawModeById: getDrawModeById
34493
+ });
34494
+
34495
+ var _marked$4 = /*#__PURE__*/_regeneratorRuntime().mark(drawingSaga);
34496
+ function registerDrawToolSaga(_ref) {
34497
+ var payload = _ref.payload;
34498
+ return /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
34499
+ var drawToolId, mapId, drawLayerId;
34500
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
34501
+ while (1) switch (_context.prev = _context.next) {
34502
+ case 0:
34503
+ drawToolId = payload.drawToolId, mapId = payload.mapId;
34504
+ drawLayerId = getDrawLayerId(drawToolId); // create for every drawTool a draw layer
34505
+ _context.next = 4;
34506
+ return put(mapStoreActions.addLayer({
34507
+ mapId: mapId,
34508
+ layer: {
34509
+ // empty geoJSON
34510
+ geojson: {
34511
+ type: 'FeatureCollection',
34512
+ features: []
34513
+ },
34514
+ layerType: LayerType.featureLayer
34515
+ },
34516
+ layerId: drawLayerId,
34517
+ origin: 'drawings saga:registerDrawToolSaga'
34518
+ }));
34519
+ case 4:
34520
+ case "end":
34521
+ return _context.stop();
34522
+ }
34523
+ }, _callee);
34524
+ })();
34525
+ }
34526
+ function changeDrawToolSaga(_ref2) {
34527
+ var payload = _ref2.payload;
34528
+ return /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
34529
+ var _a, _b, _c, _d, drawModeId, drawToolId, drawingTool, newDrawMode, currentGeoJSONLayer, currentSelectionType, newSelectionType;
34530
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
34531
+ while (1) switch (_context2.prev = _context2.next) {
34532
+ case 0:
34533
+ _context2.prev = 0;
34534
+ drawModeId = payload.drawModeId, drawToolId = payload.drawToolId;
34535
+ _context2.next = 4;
34536
+ return select(selectDrawingToolByMapId, drawToolId);
34537
+ case 4:
34538
+ drawingTool = _context2.sent;
34539
+ _context2.next = 7;
34540
+ return select(getDrawModeById, drawToolId, drawModeId);
34541
+ case 7:
34542
+ newDrawMode = _context2.sent;
34543
+ if (!(newDrawMode.value === 'DELETE')) {
34544
+ _context2.next = 12;
34545
+ break;
34546
+ }
34547
+ _context2.next = 11;
34548
+ return put(layerActions.layerChangeGeojson({
34549
+ layerId: drawingTool.geoJSONLayerId,
34550
+ geojson: {
34551
+ type: 'FeatureCollection',
34552
+ features: []
34553
+ }
34554
+ }));
34555
+ case 11:
34556
+ return _context2.abrupt("return");
34557
+ case 12:
34558
+ if (drawingTool.activeDrawModeId) {
34559
+ _context2.next = 16;
34560
+ break;
34561
+ }
34562
+ _context2.next = 15;
34563
+ return put(layerActions.toggleFeatureMode({
34564
+ layerId: drawingTool.geoJSONLayerId,
34565
+ isInEditMode: false,
34566
+ drawMode: ''
34567
+ }));
34568
+ case 15:
34569
+ return _context2.abrupt("return");
34570
+ case 16:
34571
+ _context2.next = 18;
34572
+ return select(getLayerById, drawingTool.geoJSONLayerId);
34573
+ case 18:
34574
+ currentGeoJSONLayer = _context2.sent;
34575
+ currentSelectionType = (_c = (_b = (_a = currentGeoJSONLayer === null || currentGeoJSONLayer === void 0 ? void 0 : currentGeoJSONLayer.geojson) === null || _a === void 0 ? void 0 : _a.features[0]) === null || _b === void 0 ? void 0 : _b.properties) === null || _c === void 0 ? void 0 : _c.selectionType;
34576
+ newSelectionType = (_d = newDrawMode.shape.properties) === null || _d === void 0 ? void 0 : _d.selectionType; // don't change anything if same tool is selected again
34577
+ if (!(currentSelectionType !== newSelectionType)) {
34578
+ _context2.next = 24;
34579
+ break;
34580
+ }
34581
+ _context2.next = 24;
34582
+ return put(mapStoreActions.layerChangeGeojson({
34583
+ layerId: drawingTool.geoJSONLayerId,
34584
+ geojson: {
34585
+ type: 'FeatureCollection',
34586
+ features: [newDrawMode.shape]
34587
+ }
34588
+ }));
34589
+ case 24:
34590
+ _context2.next = 26;
34591
+ return put(layerActions.toggleFeatureMode({
34592
+ layerId: drawingTool.geoJSONLayerId,
34593
+ isInEditMode: true,
34594
+ drawMode: newDrawMode.value
34595
+ }));
34596
+ case 26:
34597
+ _context2.next = 31;
34598
+ break;
34599
+ case 28:
34600
+ _context2.prev = 28;
34601
+ _context2.t0 = _context2["catch"](0);
34602
+ // eslint-disable-next-line no-console
34603
+ console.log('error changeDrawToolSaga', _context2.t0);
34604
+ case 31:
34605
+ case "end":
34606
+ return _context2.stop();
34607
+ }
34608
+ }, _callee2, null, [[0, 28]]);
34609
+ })();
34610
+ }
34611
+ function drawingSaga() {
34612
+ return _regeneratorRuntime().wrap(function drawingSaga$(_context3) {
34613
+ while (1) switch (_context3.prev = _context3.next) {
34614
+ case 0:
34615
+ _context3.next = 2;
34616
+ return takeLatest$1(drawtoolActions.registerDrawTool, registerDrawToolSaga);
34617
+ case 2:
34618
+ _context3.next = 4;
34619
+ return takeLatest$1(drawtoolActions.changeDrawToolMode, changeDrawToolSaga);
34620
+ case 4:
34621
+ case "end":
34622
+ return _context3.stop();
34623
+ }
34624
+ }, _marked$4);
34625
+ }
34626
+
34627
+ /* *
34628
+ * Licensed under the Apache License, Version 2.0 (the "License");
34629
+ * you may not use this file except in compliance with the License.
34630
+ * You may obtain a copy of the License at
34631
+ *
34632
+ * http://www.apache.org/licenses/LICENSE-2.0
34633
+ *
34634
+ * Unless required by applicable law or agreed to in writing, software
34635
+ * distributed under the License is distributed on an "AS IS" BASIS,
34636
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34637
+ * See the License for the specific language governing permissions and
34638
+ * limitations under the License.
34639
+ *
34640
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
34641
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
34642
+ * */
34643
+ var drawtoolModuleConfig = {
34644
+ id: 'drawtool-module',
34645
+ reducersMap: {
34646
+ drawingtools: reducer
34647
+ },
34648
+ sagas: [drawingSaga]
34649
+ };
34650
+
34253
34651
  var createLayersState = function createLayersState(layerId) {
34254
34652
  var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
34255
34653
  return {
@@ -34403,6 +34801,9 @@ var webmapStateWithMultipleLayers = function webmapStateWithMultipleLayers(layer
34403
34801
  case LayerType.overLayer:
34404
34802
  webmap.byId[mapId].overLayers.push(layer.id);
34405
34803
  break;
34804
+ case LayerType.featureLayer:
34805
+ webmap.byId[mapId].featureLayers.push(layer.id);
34806
+ break;
34406
34807
  }
34407
34808
  });
34408
34809
  // first layer is active layer
@@ -34449,6 +34850,23 @@ var mockStateMapWithMultipleLayers = function mockStateMapWithMultipleLayers(lay
34449
34850
  }
34450
34851
  };
34451
34852
  };
34853
+ var testGeoJSON = {
34854
+ type: 'FeatureCollection',
34855
+ features: [{
34856
+ type: 'Feature',
34857
+ geometry: {
34858
+ type: 'Polygon',
34859
+ coordinates: [[[5.0, 55.0], [4.331914, 55.332644], [3.368817, 55.764314], [2.761908, 54.379261], [3.15576, 52.913554], [2.000002, 51.500002], [3.370001, 51.369722], [3.370527, 51.36867], [3.362223, 51.320002], [3.36389, 51.313608], [3.373613, 51.309999], [3.952501, 51.214441], [4.397501, 51.452776], [5.078611, 51.391665], [5.848333, 51.139444], [5.651667, 50.824717], [6.011797, 50.757273], [5.934168, 51.036386], [6.222223, 51.361666], [5.94639, 51.811663], [6.405001, 51.830828], [7.053095, 52.237764], [7.031389, 52.268885], [7.063612, 52.346109], [7.065557, 52.385828], [7.133055, 52.888887], [7.14218, 52.898244], [7.191667, 53.3], [6.5, 53.666667], [6.500002, 55.000002], [5.0, 55.0]]]
34860
+ },
34861
+ properties: {
34862
+ fill: '#ff7800',
34863
+ 'fill-opacity': 0.2,
34864
+ stroke: '#ff7800',
34865
+ 'stroke-width': 2,
34866
+ 'stroke-opacity': 1
34867
+ }
34868
+ }]
34869
+ };
34452
34870
 
34453
34871
  var storeTestUtils = /*#__PURE__*/Object.freeze({
34454
34872
  __proto__: null,
@@ -34458,7 +34876,8 @@ var storeTestUtils = /*#__PURE__*/Object.freeze({
34458
34876
  createMapDimensionsState: createMapDimensionsState,
34459
34877
  webmapStateWithAddedLayer: webmapStateWithAddedLayer,
34460
34878
  mockStateMapWithLayer: mockStateMapWithLayer,
34461
- mockStateMapWithMultipleLayers: mockStateMapWithMultipleLayers
34879
+ mockStateMapWithMultipleLayers: mockStateMapWithMultipleLayers,
34880
+ testGeoJSON: testGeoJSON
34462
34881
  });
34463
34882
 
34464
34883
  /* *
@@ -35108,7 +35527,7 @@ function rootSaga$2() {
35108
35527
  var synchronizationGroupConfig = {
35109
35528
  id: 'syncronizationGroupStore-module',
35110
35529
  reducersMap: {
35111
- syncronizationGroupStore: reducer$6
35530
+ syncronizationGroupStore: reducer$7
35112
35531
  },
35113
35532
  sagas: [rootSaga$3, rootSaga$2]
35114
35533
  };
@@ -35288,7 +35707,7 @@ function rootSaga$1() {
35288
35707
  var layerSelectConfig = {
35289
35708
  id: 'layerSelect-module',
35290
35709
  reducersMap: {
35291
- layerSelect: reducer$4
35710
+ layerSelect: reducer$5
35292
35711
  },
35293
35712
  sagas: [rootSaga$1]
35294
35713
  };
@@ -35403,7 +35822,7 @@ function rootSaga() {
35403
35822
  var uiModuleConfig = {
35404
35823
  id: 'ui-module',
35405
35824
  reducersMap: {
35406
- ui: reducer$8
35825
+ ui: reducer$9
35407
35826
  },
35408
35827
  sagas: [rootSaga]
35409
35828
  };
@@ -35424,6 +35843,6 @@ var uiModuleConfig = {
35424
35843
  * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
35425
35844
  * Copyright 2021 - Finnish Meteorological Institute (FMI)
35426
35845
  * */
35427
- var coreModuleConfig = [mapStoreModuleConfig, synchronizationGroupConfig, uiModuleConfig, layerSelectConfig, snackbarModuleConfig, drawModuleConfig];
35846
+ var coreModuleConfig = [mapStoreModuleConfig, synchronizationGroupConfig, uiModuleConfig, layerSelectConfig, snackbarModuleConfig, drawModuleConfig, drawtoolModuleConfig];
35428
35847
 
35429
- export { appActions, appModuleConfig, coreModuleConfig, defaultLayers, drawActions, drawModuleConfig, selectors as drawSelectors, types as drawTypes, filterLayers$1 as filterLayers, genericActions, selectors$5 as genericSelectors, types$3 as genericTypes, getUserAddedServices, initialState$6 as initialState, layerActions, reducer$9 as layerReducer, layerSelectActions, initialState$4 as layerSelectInitialState, selectors$2 as layerSelectSelectors, types$2 as layerSelectTypes, selectors$8 as layerSelectors, types$8 as layerTypes, utils$2 as layerUtils, mapActions, constants$1 as mapConstants, enums as mapEnums, selectors$4 as mapSelectors, mapStoreActions, mapStoreModuleConfig, types$7 as mapTypes, mapUtils, routerActions, routerModuleConfig, utils as routerUtils, serviceActions, selectors$3 as serviceSelectors, types$6 as serviceTypes, setUserAddedServices, snackbarActions, snackbarModuleConfig, selectors$1 as snackbarSelectors, types$1 as snackbarTypes, storeTestSettings, storeTestUtils, utils$1 as storeUtils, constants as syncConstants, actions as syncGroupsActions, selector as syncGroupsSelector, selectors$6 as syncGroupsSelectors, types$4 as syncGroupsTypes, types$4 as types, uiActions, uiModuleConfig, reducer$8 as uiReducer, selectors$7 as uiSelectors, types$5 as uiTypes, reducer$7 as webmapReducer };
35848
+ export { appActions, appModuleConfig, coreModuleConfig, drawActions, drawModuleConfig, selectors$1 as drawSelectors, types as drawTypes, drawtoolActions, drawtoolModuleConfig, selectors as drawtoolSelectors, filterLayers$1 as filterLayers, genericActions, selectors$6 as genericSelectors, types$4 as genericTypes, getUserAddedServices, initialState$7 as initialState, layerActions, reducer$a as layerReducer, layerSelectActions, initialState$5 as layerSelectInitialState, selectors$3 as layerSelectSelectors, types$2 as layerSelectTypes, selectors$9 as layerSelectors, types$8 as layerTypes, utils$2 as layerUtils, mapActions, constants$1 as mapConstants, enums as mapEnums, selectors$5 as mapSelectors, mapStoreActions, mapStoreModuleConfig, types$7 as mapTypes, mapUtils, routerActions, routerModuleConfig, utils as routerUtils, serviceActions, selectors$4 as serviceSelectors, types$3 as serviceTypes, setUserAddedServices, snackbarActions, snackbarModuleConfig, selectors$2 as snackbarSelectors, types$1 as snackbarTypes, storeTestSettings, storeTestUtils, utils$1 as storeUtils, constants as syncConstants, actions as syncGroupsActions, selector as syncGroupsSelector, selectors$7 as syncGroupsSelectors, types$5 as syncGroupsTypes, types$5 as types, uiActions, uiModuleConfig, reducer$9 as uiReducer, selectors$8 as uiSelectors, types$6 as uiTypes, reducer$8 as webmapReducer };