@opengeoweb/store 9.26.0 → 9.27.0

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.
package/index.esm.js CHANGED
@@ -1,17 +1,17 @@
1
- import { webmapUtils, LayerType, getWMJSMapById, WMLayer, webmapTestSettings, handleDateUtilsISOString, getCapabilities, getWMSRequests, isProjectionSupported } from '@opengeoweb/webmap';
1
+ import { webmapUtils, parseISO8601IntervalToDateInterval, LayerType, getWMJSMapById, WMLayer, webmapTestSettings, getWMSRequests, handleDateUtilsISOString, isProjectionSupported, getCapabilities } from '@opengeoweb/webmap';
2
2
  import { createAction, createSlice, createSelector, createEntityAdapter, createListenerMiddleware, isAnyOf } from '@reduxjs/toolkit';
3
3
  import { getGeoJson, moveFeature, createInterSections, getLastEmptyFeatureIndex, defaultLayers, emptyGeoJSON, addSelectionTypeToGeoJSON, getFeatureCollection, defaultIntersectionStyleProperties } from '@opengeoweb/webmap-react';
4
4
  export { defaultLayers } from '@opengeoweb/webmap-react';
5
5
  import { dateUtils, PROJECTION, defaultDelay, withEggs } from '@opengeoweb/shared';
6
6
  import { defaultTimeSpan, defaultTimeStep, defaultAnimationDelayAtStart, defaultSecondsPerPx, roundWithTimeStep, getSpeedDelay } from '@opengeoweb/timeslider';
7
7
  import { produce } from 'immer';
8
- import { isEqual, compact } from 'lodash';
8
+ import { isEqual, isEmpty, compact } from 'lodash';
9
9
  import { useSelector, useDispatch, Provider } from 'react-redux';
10
10
  import { useCallback, useEffect } from 'react';
11
11
  import { createStore } from '@redux-eggs/redux-toolkit';
12
12
  import { getSagaExtension } from '@redux-eggs/saga-extension';
13
- import { takeEvery, select, put, all, call as call$e, takeLatest } from 'redux-saga/effects';
14
13
  import { metronome } from '@opengeoweb/metronome';
14
+ import { takeLatest, select, put } from 'redux-saga/effects';
15
15
  import { jsx } from 'react/jsx-runtime';
16
16
 
17
17
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -34,7 +34,7 @@ var global$g =
34
34
 
35
35
  var objectGetOwnPropertyDescriptor = {};
36
36
 
37
- var fails$m = function (exec) {
37
+ var fails$n = function (exec) {
38
38
  try {
39
39
  return !!exec();
40
40
  } catch (error) {
@@ -42,17 +42,17 @@ var fails$m = function (exec) {
42
42
  }
43
43
  };
44
44
 
45
- var fails$l = fails$m;
45
+ var fails$m = fails$n;
46
46
 
47
47
  // Detect IE8's incomplete defineProperty implementation
48
- var descriptors = !fails$l(function () {
48
+ var descriptors = !fails$m(function () {
49
49
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
50
50
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
51
51
  });
52
52
 
53
- var fails$k = fails$m;
53
+ var fails$l = fails$n;
54
54
 
55
- var functionBindNative = !fails$k(function () {
55
+ var functionBindNative = !fails$l(function () {
56
56
  // eslint-disable-next-line es/no-function-prototype-bind -- safe
57
57
  var test = (function () { /* empty */ }).bind();
58
58
  // eslint-disable-next-line no-prototype-builtins -- safe
@@ -104,24 +104,24 @@ var functionUncurryThis = NATIVE_BIND$1 ? uncurryThisWithBind : function (fn) {
104
104
  };
105
105
  };
106
106
 
107
- var uncurryThis$j = functionUncurryThis;
107
+ var uncurryThis$k = functionUncurryThis;
108
108
 
109
- var toString$9 = uncurryThis$j({}.toString);
110
- var stringSlice$4 = uncurryThis$j(''.slice);
109
+ var toString$a = uncurryThis$k({}.toString);
110
+ var stringSlice$4 = uncurryThis$k(''.slice);
111
111
 
112
112
  var classofRaw$1 = function (it) {
113
- return stringSlice$4(toString$9(it), 8, -1);
113
+ return stringSlice$4(toString$a(it), 8, -1);
114
114
  };
115
115
 
116
- var uncurryThis$i = functionUncurryThis;
117
- var fails$j = fails$m;
116
+ var uncurryThis$j = functionUncurryThis;
117
+ var fails$k = fails$n;
118
118
  var classof$8 = classofRaw$1;
119
119
 
120
120
  var $Object$4 = Object;
121
- var split = uncurryThis$i(''.split);
121
+ var split = uncurryThis$j(''.split);
122
122
 
123
123
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
124
- var indexedObject = fails$j(function () {
124
+ var indexedObject = fails$k(function () {
125
125
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
126
126
  // eslint-disable-next-line no-prototype-builtins -- safe
127
127
  return !$Object$4('z').propertyIsEnumerable(0);
@@ -141,17 +141,17 @@ var $TypeError$d = TypeError;
141
141
 
142
142
  // `RequireObjectCoercible` abstract operation
143
143
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
144
- var requireObjectCoercible$6 = function (it) {
144
+ var requireObjectCoercible$7 = function (it) {
145
145
  if (isNullOrUndefined$3(it)) throw new $TypeError$d("Can't call method on " + it);
146
146
  return it;
147
147
  };
148
148
 
149
149
  // toObject with fallback for non-array-like ES3 strings
150
150
  var IndexedObject$2 = indexedObject;
151
- var requireObjectCoercible$5 = requireObjectCoercible$6;
151
+ var requireObjectCoercible$6 = requireObjectCoercible$7;
152
152
 
153
153
  var toIndexedObject$5 = function (it) {
154
- return IndexedObject$2(requireObjectCoercible$5(it));
154
+ return IndexedObject$2(requireObjectCoercible$6(it));
155
155
  };
156
156
 
157
157
  // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
@@ -183,9 +183,9 @@ var getBuiltIn$6 = function (namespace, method) {
183
183
  return arguments.length < 2 ? aFunction(global$f[namespace]) : global$f[namespace] && global$f[namespace][method];
184
184
  };
185
185
 
186
- var uncurryThis$h = functionUncurryThis;
186
+ var uncurryThis$i = functionUncurryThis;
187
187
 
188
- var objectIsPrototypeOf = uncurryThis$h({}.isPrototypeOf);
188
+ var objectIsPrototypeOf = uncurryThis$i({}.isPrototypeOf);
189
189
 
190
190
  var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
191
191
 
@@ -219,13 +219,13 @@ var engineV8Version = version;
219
219
 
220
220
  /* eslint-disable es/no-symbol -- required for testing */
221
221
  var V8_VERSION = engineV8Version;
222
- var fails$i = fails$m;
222
+ var fails$j = fails$n;
223
223
  var global$d = global$g;
224
224
 
225
225
  var $String$6 = global$d.String;
226
226
 
227
227
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
228
- var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$i(function () {
228
+ var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$j(function () {
229
229
  var symbol = Symbol('symbol detection');
230
230
  // Chrome 38 Symbol has incorrect toString conversion
231
231
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
@@ -341,20 +341,20 @@ var shared$4 = function (key, value) {
341
341
  return store$2[key] || (store$2[key] = value || {});
342
342
  };
343
343
 
344
- var requireObjectCoercible$4 = requireObjectCoercible$6;
344
+ var requireObjectCoercible$5 = requireObjectCoercible$7;
345
345
 
346
346
  var $Object$2 = Object;
347
347
 
348
348
  // `ToObject` abstract operation
349
349
  // https://tc39.es/ecma262/#sec-toobject
350
350
  var toObject$6 = function (argument) {
351
- return $Object$2(requireObjectCoercible$4(argument));
351
+ return $Object$2(requireObjectCoercible$5(argument));
352
352
  };
353
353
 
354
- var uncurryThis$g = functionUncurryThis;
354
+ var uncurryThis$h = functionUncurryThis;
355
355
  var toObject$5 = toObject$6;
356
356
 
357
- var hasOwnProperty = uncurryThis$g({}.hasOwnProperty);
357
+ var hasOwnProperty = uncurryThis$h({}.hasOwnProperty);
358
358
 
359
359
  // `HasOwnProperty` abstract operation
360
360
  // https://tc39.es/ecma262/#sec-hasownproperty
@@ -363,14 +363,14 @@ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
363
363
  return hasOwnProperty(toObject$5(it), key);
364
364
  };
365
365
 
366
- var uncurryThis$f = functionUncurryThis;
366
+ var uncurryThis$g = functionUncurryThis;
367
367
 
368
368
  var id = 0;
369
369
  var postfix = Math.random();
370
- var toString$8 = uncurryThis$f(1.0.toString);
370
+ var toString$9 = uncurryThis$g(1.0.toString);
371
371
 
372
372
  var uid$2 = function (key) {
373
- return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$8(++id + postfix, 36);
373
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$9(++id + postfix, 36);
374
374
  };
375
375
 
376
376
  var global$b = global$g;
@@ -440,11 +440,11 @@ var documentCreateElement$2 = function (it) {
440
440
  };
441
441
 
442
442
  var DESCRIPTORS$b = descriptors;
443
- var fails$h = fails$m;
443
+ var fails$i = fails$n;
444
444
  var createElement = documentCreateElement$2;
445
445
 
446
446
  // Thanks to IE8 for its funny defineProperty
447
- var ie8DomDefine = !DESCRIPTORS$b && !fails$h(function () {
447
+ var ie8DomDefine = !DESCRIPTORS$b && !fails$i(function () {
448
448
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
449
449
  return Object.defineProperty(createElement('div'), 'a', {
450
450
  get: function () { return 7; }
@@ -477,11 +477,11 @@ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$a ? $getOwnPropertyDescriptor$1 :
477
477
  var objectDefineProperty = {};
478
478
 
479
479
  var DESCRIPTORS$9 = descriptors;
480
- var fails$g = fails$m;
480
+ var fails$h = fails$n;
481
481
 
482
482
  // V8 ~ Chrome 36-
483
483
  // https://bugs.chromium.org/p/v8/issues/detail?id=3334
484
- var v8PrototypeDefineBug = DESCRIPTORS$9 && fails$g(function () {
484
+ var v8PrototypeDefineBug = DESCRIPTORS$9 && fails$h(function () {
485
485
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
486
486
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
487
487
  value: 42,
@@ -575,11 +575,11 @@ var functionName = {
575
575
  CONFIGURABLE: CONFIGURABLE
576
576
  };
577
577
 
578
- var uncurryThis$e = functionUncurryThis;
578
+ var uncurryThis$f = functionUncurryThis;
579
579
  var isCallable$e = isCallable$k;
580
580
  var store$1 = sharedStoreExports;
581
581
 
582
- var functionToString = uncurryThis$e(Function.toString);
582
+ var functionToString = uncurryThis$f(Function.toString);
583
583
 
584
584
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
585
585
  if (!isCallable$e(store$1.inspectSource)) {
@@ -679,8 +679,8 @@ var internalState = {
679
679
  getterFor: getterFor
680
680
  };
681
681
 
682
- var uncurryThis$d = functionUncurryThis;
683
- var fails$f = fails$m;
682
+ var uncurryThis$e = functionUncurryThis;
683
+ var fails$g = fails$n;
684
684
  var isCallable$c = isCallable$k;
685
685
  var hasOwn$5 = hasOwnProperty_1;
686
686
  var DESCRIPTORS$5 = descriptors;
@@ -693,11 +693,11 @@ var getInternalState$2 = InternalStateModule$1.get;
693
693
  var $String$3 = String;
694
694
  // eslint-disable-next-line es/no-object-defineproperty -- safe
695
695
  var defineProperty$5 = Object.defineProperty;
696
- var stringSlice$3 = uncurryThis$d(''.slice);
697
- var replace$3 = uncurryThis$d(''.replace);
698
- var join = uncurryThis$d([].join);
696
+ var stringSlice$3 = uncurryThis$e(''.slice);
697
+ var replace$4 = uncurryThis$e(''.replace);
698
+ var join = uncurryThis$e([].join);
699
699
 
700
- var CONFIGURABLE_LENGTH = DESCRIPTORS$5 && !fails$f(function () {
700
+ var CONFIGURABLE_LENGTH = DESCRIPTORS$5 && !fails$g(function () {
701
701
  return defineProperty$5(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
702
702
  });
703
703
 
@@ -705,7 +705,7 @@ var TEMPLATE = String(String).split('String');
705
705
 
706
706
  var makeBuiltIn$1 = makeBuiltIn$2.exports = function (value, name, options) {
707
707
  if (stringSlice$3($String$3(name), 0, 7) === 'Symbol(') {
708
- name = '[' + replace$3($String$3(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']';
708
+ name = '[' + replace$4($String$3(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']';
709
709
  }
710
710
  if (options && options.getter) name = 'get ' + name;
711
711
  if (options && options.setter) name = 'set ' + name;
@@ -824,7 +824,7 @@ var toAbsoluteIndex = toAbsoluteIndex$1;
824
824
  var lengthOfArrayLike$3 = lengthOfArrayLike$4;
825
825
 
826
826
  // `Array.prototype.{ indexOf, includes }` methods implementation
827
- var createMethod$2 = function (IS_INCLUDES) {
827
+ var createMethod$3 = function (IS_INCLUDES) {
828
828
  return function ($this, el, fromIndex) {
829
829
  var O = toIndexedObject$3($this);
830
830
  var length = lengthOfArrayLike$3(O);
@@ -847,19 +847,19 @@ var createMethod$2 = function (IS_INCLUDES) {
847
847
  var arrayIncludes = {
848
848
  // `Array.prototype.includes` method
849
849
  // https://tc39.es/ecma262/#sec-array.prototype.includes
850
- includes: createMethod$2(true),
850
+ includes: createMethod$3(true),
851
851
  // `Array.prototype.indexOf` method
852
852
  // https://tc39.es/ecma262/#sec-array.prototype.indexof
853
- indexOf: createMethod$2(false)
853
+ indexOf: createMethod$3(false)
854
854
  };
855
855
 
856
- var uncurryThis$c = functionUncurryThis;
856
+ var uncurryThis$d = functionUncurryThis;
857
857
  var hasOwn$4 = hasOwnProperty_1;
858
858
  var toIndexedObject$2 = toIndexedObject$5;
859
859
  var indexOf$1 = arrayIncludes.indexOf;
860
860
  var hiddenKeys$2 = hiddenKeys$4;
861
861
 
862
- var push$2 = uncurryThis$c([].push);
862
+ var push$2 = uncurryThis$d([].push);
863
863
 
864
864
  var objectKeysInternal = function (object, names) {
865
865
  var O = toIndexedObject$2(object);
@@ -903,12 +903,12 @@ var objectGetOwnPropertySymbols = {};
903
903
  objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
904
904
 
905
905
  var getBuiltIn$4 = getBuiltIn$6;
906
- var uncurryThis$b = functionUncurryThis;
906
+ var uncurryThis$c = functionUncurryThis;
907
907
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
908
908
  var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
909
909
  var anObject$7 = anObject$9;
910
910
 
911
- var concat$1 = uncurryThis$b([].concat);
911
+ var concat$1 = uncurryThis$c([].concat);
912
912
 
913
913
  // all object keys, includes non-enumerable and symbols
914
914
  var ownKeys$1 = getBuiltIn$4('Reflect', 'ownKeys') || function ownKeys(it) {
@@ -934,7 +934,7 @@ var copyConstructorProperties$2 = function (target, source, exceptions) {
934
934
  }
935
935
  };
936
936
 
937
- var fails$e = fails$m;
937
+ var fails$f = fails$n;
938
938
  var isCallable$a = isCallable$k;
939
939
 
940
940
  var replacement = /#|\.prototype\./;
@@ -943,7 +943,7 @@ var isForced$1 = function (feature, detection) {
943
943
  var value = data[normalize(feature)];
944
944
  return value === POLYFILL ? true
945
945
  : value === NATIVE ? false
946
- : isCallable$a(detection) ? fails$e(detection)
946
+ : isCallable$a(detection) ? fails$f(detection)
947
947
  : !!detection;
948
948
  };
949
949
 
@@ -1023,9 +1023,9 @@ var objectKeys$2 = Object.keys || function keys(O) {
1023
1023
  };
1024
1024
 
1025
1025
  var DESCRIPTORS$4 = descriptors;
1026
- var uncurryThis$a = functionUncurryThis;
1026
+ var uncurryThis$b = functionUncurryThis;
1027
1027
  var call$8 = functionCall;
1028
- var fails$d = fails$m;
1028
+ var fails$e = fails$n;
1029
1029
  var objectKeys$1 = objectKeys$2;
1030
1030
  var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
1031
1031
  var propertyIsEnumerableModule = objectPropertyIsEnumerable;
@@ -1036,11 +1036,11 @@ var IndexedObject$1 = indexedObject;
1036
1036
  var $assign = Object.assign;
1037
1037
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
1038
1038
  var defineProperty$4 = Object.defineProperty;
1039
- var concat = uncurryThis$a([].concat);
1039
+ var concat = uncurryThis$b([].concat);
1040
1040
 
1041
1041
  // `Object.assign` method
1042
1042
  // https://tc39.es/ecma262/#sec-object.assign
1043
- var objectAssign = !$assign || fails$d(function () {
1043
+ var objectAssign = !$assign || fails$e(function () {
1044
1044
  // should have correct order of operations (Edge bug)
1045
1045
  if (DESCRIPTORS$4 && $assign({ b: 1 }, $assign(defineProperty$4({}, 'a', {
1046
1046
  enumerable: true,
@@ -1079,13 +1079,13 @@ var objectAssign = !$assign || fails$d(function () {
1079
1079
  } return T;
1080
1080
  } : $assign;
1081
1081
 
1082
- var $$a = _export;
1082
+ var $$b = _export;
1083
1083
  var assign = objectAssign;
1084
1084
 
1085
1085
  // `Object.assign` method
1086
1086
  // https://tc39.es/ecma262/#sec-object.assign
1087
1087
  // eslint-disable-next-line es/no-object-assign -- required for testing
1088
- $$a({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
1088
+ $$b({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
1089
1089
  assign: assign
1090
1090
  });
1091
1091
 
@@ -1221,20 +1221,20 @@ var addToUnscopables$2 = function (key) {
1221
1221
  ArrayPrototype[UNSCOPABLES][key] = true;
1222
1222
  };
1223
1223
 
1224
- var $$9 = _export;
1224
+ var $$a = _export;
1225
1225
  var $includes = arrayIncludes.includes;
1226
- var fails$c = fails$m;
1226
+ var fails$d = fails$n;
1227
1227
  var addToUnscopables$1 = addToUnscopables$2;
1228
1228
 
1229
1229
  // FF99+ bug
1230
- var BROKEN_ON_SPARSE = fails$c(function () {
1230
+ var BROKEN_ON_SPARSE = fails$d(function () {
1231
1231
  // eslint-disable-next-line es/no-array-prototype-includes -- detection
1232
1232
  return !Array(1).includes();
1233
1233
  });
1234
1234
 
1235
1235
  // `Array.prototype.includes` method
1236
1236
  // https://tc39.es/ecma262/#sec-array.prototype.includes
1237
- $$9({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
1237
+ $$a({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
1238
1238
  includes: function includes(el /* , fromIndex = 0 */) {
1239
1239
  return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
1240
1240
  }
@@ -1245,9 +1245,9 @@ addToUnscopables$1('includes');
1245
1245
 
1246
1246
  var iterators = {};
1247
1247
 
1248
- var fails$b = fails$m;
1248
+ var fails$c = fails$n;
1249
1249
 
1250
- var correctPrototypeGetter = !fails$b(function () {
1250
+ var correctPrototypeGetter = !fails$c(function () {
1251
1251
  function F() { /* empty */ }
1252
1252
  F.prototype.constructor = null;
1253
1253
  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
@@ -1276,7 +1276,7 @@ var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object$1.getPrototypeOf :
1276
1276
  } return object instanceof $Object$1 ? ObjectPrototype : null;
1277
1277
  };
1278
1278
 
1279
- var fails$a = fails$m;
1279
+ var fails$b = fails$n;
1280
1280
  var isCallable$8 = isCallable$k;
1281
1281
  var isObject$5 = isObject$b;
1282
1282
  var getPrototypeOf$1 = objectGetPrototypeOf;
@@ -1301,7 +1301,7 @@ if ([].keys) {
1301
1301
  }
1302
1302
  }
1303
1303
 
1304
- var NEW_ITERATOR_PROTOTYPE = !isObject$5(IteratorPrototype$2) || fails$a(function () {
1304
+ var NEW_ITERATOR_PROTOTYPE = !isObject$5(IteratorPrototype$2) || fails$b(function () {
1305
1305
  var test = {};
1306
1306
  // FF44- legacy iterators case
1307
1307
  return IteratorPrototype$2[ITERATOR$2].call(test) !== test;
@@ -1351,13 +1351,13 @@ var iteratorCreateConstructor = function (IteratorConstructor, NAME, next, ENUME
1351
1351
  return IteratorConstructor;
1352
1352
  };
1353
1353
 
1354
- var uncurryThis$9 = functionUncurryThis;
1354
+ var uncurryThis$a = functionUncurryThis;
1355
1355
  var aCallable$1 = aCallable$3;
1356
1356
 
1357
1357
  var functionUncurryThisAccessor = function (object, key, method) {
1358
1358
  try {
1359
1359
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1360
- return uncurryThis$9(aCallable$1(Object.getOwnPropertyDescriptor(object, key)[method]));
1360
+ return uncurryThis$a(aCallable$1(Object.getOwnPropertyDescriptor(object, key)[method]));
1361
1361
  } catch (error) { /* empty */ }
1362
1362
  };
1363
1363
 
@@ -1380,7 +1380,7 @@ var aPossiblePrototype$1 = function (argument) {
1380
1380
  /* eslint-disable no-proto -- safe */
1381
1381
  var uncurryThisAccessor = functionUncurryThisAccessor;
1382
1382
  var isObject$3 = isObject$b;
1383
- var requireObjectCoercible$3 = requireObjectCoercible$6;
1383
+ var requireObjectCoercible$4 = requireObjectCoercible$7;
1384
1384
  var aPossiblePrototype = aPossiblePrototype$1;
1385
1385
 
1386
1386
  // `Object.setPrototypeOf` method
@@ -1397,7 +1397,7 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1397
1397
  CORRECT_SETTER = test instanceof Array;
1398
1398
  } catch (error) { /* empty */ }
1399
1399
  return function setPrototypeOf(O, proto) {
1400
- requireObjectCoercible$3(O);
1400
+ requireObjectCoercible$4(O);
1401
1401
  aPossiblePrototype(proto);
1402
1402
  if (!isObject$3(O)) return O;
1403
1403
  if (CORRECT_SETTER) setter(O, proto);
@@ -1406,7 +1406,7 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1406
1406
  };
1407
1407
  }() : undefined);
1408
1408
 
1409
- var $$8 = _export;
1409
+ var $$9 = _export;
1410
1410
  var call$7 = functionCall;
1411
1411
  var FunctionName = functionName;
1412
1412
  var isCallable$7 = isCallable$k;
@@ -1420,7 +1420,7 @@ var wellKnownSymbol$7 = wellKnownSymbol$c;
1420
1420
  var Iterators$1 = iterators;
1421
1421
  var IteratorsCore = iteratorsCore;
1422
1422
 
1423
- var PROPER_FUNCTION_NAME = FunctionName.PROPER;
1423
+ var PROPER_FUNCTION_NAME$1 = FunctionName.PROPER;
1424
1424
  var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
1425
1425
  var IteratorPrototype = IteratorsCore.IteratorPrototype;
1426
1426
  var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
@@ -1474,7 +1474,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1474
1474
  }
1475
1475
 
1476
1476
  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
1477
- if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {
1477
+ if (PROPER_FUNCTION_NAME$1 && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {
1478
1478
  if (CONFIGURABLE_FUNCTION_NAME) {
1479
1479
  createNonEnumerableProperty$5(IterablePrototype, 'name', VALUES);
1480
1480
  } else {
@@ -1494,7 +1494,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1494
1494
  if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
1495
1495
  defineBuiltIn$1(IterablePrototype, KEY, methods[KEY]);
1496
1496
  }
1497
- } else $$8({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1497
+ } else $$9({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1498
1498
  }
1499
1499
 
1500
1500
  // define iterator
@@ -1617,14 +1617,14 @@ var doesNotExceedSafeInteger$2 = function (it) {
1617
1617
  return it;
1618
1618
  };
1619
1619
 
1620
- var $$7 = _export;
1620
+ var $$8 = _export;
1621
1621
  var toObject$2 = toObject$6;
1622
1622
  var lengthOfArrayLike$2 = lengthOfArrayLike$4;
1623
1623
  var setArrayLength$1 = arraySetLength;
1624
1624
  var doesNotExceedSafeInteger$1 = doesNotExceedSafeInteger$2;
1625
- var fails$9 = fails$m;
1625
+ var fails$a = fails$n;
1626
1626
 
1627
- var INCORRECT_TO_LENGTH = fails$9(function () {
1627
+ var INCORRECT_TO_LENGTH = fails$a(function () {
1628
1628
  return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;
1629
1629
  });
1630
1630
 
@@ -1643,7 +1643,7 @@ var FORCED$3 = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength$1();
1643
1643
 
1644
1644
  // `Array.prototype.push` method
1645
1645
  // https://tc39.es/ecma262/#sec-array.prototype.push
1646
- $$7({ target: 'Array', proto: true, arity: 1, forced: FORCED$3 }, {
1646
+ $$8({ target: 'Array', proto: true, arity: 1, forced: FORCED$3 }, {
1647
1647
  // eslint-disable-next-line no-unused-vars -- required for `.length`
1648
1648
  push: function push(item) {
1649
1649
  var O = toObject$2(this);
@@ -1669,7 +1669,7 @@ var $TypeError$4 = TypeError;
1669
1669
  var REDUCE_EMPTY = 'Reduce of empty array with no initial value';
1670
1670
 
1671
1671
  // `Array.prototype.{ reduce, reduceRight }` methods implementation
1672
- var createMethod$1 = function (IS_RIGHT) {
1672
+ var createMethod$2 = function (IS_RIGHT) {
1673
1673
  return function (that, callbackfn, argumentsLength, memo) {
1674
1674
  var O = toObject$1(that);
1675
1675
  var self = IndexedObject(O);
@@ -1699,17 +1699,17 @@ var createMethod$1 = function (IS_RIGHT) {
1699
1699
  var arrayReduce = {
1700
1700
  // `Array.prototype.reduce` method
1701
1701
  // https://tc39.es/ecma262/#sec-array.prototype.reduce
1702
- left: createMethod$1(false),
1702
+ left: createMethod$2(false),
1703
1703
  // `Array.prototype.reduceRight` method
1704
1704
  // https://tc39.es/ecma262/#sec-array.prototype.reduceright
1705
- right: createMethod$1(true)
1705
+ right: createMethod$2(true)
1706
1706
  };
1707
1707
 
1708
- var fails$8 = fails$m;
1708
+ var fails$9 = fails$n;
1709
1709
 
1710
1710
  var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
1711
1711
  var method = [][METHOD_NAME];
1712
- return !!method && fails$8(function () {
1712
+ return !!method && fails$9(function () {
1713
1713
  // eslint-disable-next-line no-useless-call -- required for testing
1714
1714
  method.call(null, argument || function () { return 1; }, 1);
1715
1715
  });
@@ -1720,7 +1720,7 @@ var classof$6 = classofRaw$1;
1720
1720
 
1721
1721
  var engineIsNode = classof$6(global$6.process) === 'process';
1722
1722
 
1723
- var $$6 = _export;
1723
+ var $$7 = _export;
1724
1724
  var $reduce = arrayReduce.left;
1725
1725
  var arrayMethodIsStrict = arrayMethodIsStrict$1;
1726
1726
  var CHROME_VERSION = engineV8Version;
@@ -1733,7 +1733,7 @@ var FORCED$2 = CHROME_BUG || !arrayMethodIsStrict('reduce');
1733
1733
 
1734
1734
  // `Array.prototype.reduce` method
1735
1735
  // https://tc39.es/ecma262/#sec-array.prototype.reduce
1736
- $$6({ target: 'Array', proto: true, forced: FORCED$2 }, {
1736
+ $$7({ target: 'Array', proto: true, forced: FORCED$2 }, {
1737
1737
  reduce: function reduce(callbackfn /* , initialValue */) {
1738
1738
  var length = arguments.length;
1739
1739
  return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);
@@ -1806,7 +1806,7 @@ var classof$3 = classof$4;
1806
1806
 
1807
1807
  var $String$1 = String;
1808
1808
 
1809
- var toString$7 = function (argument) {
1809
+ var toString$8 = function (argument) {
1810
1810
  if (classof$3(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
1811
1811
  return $String$1(argument);
1812
1812
  };
@@ -1827,22 +1827,22 @@ var correctIsRegexpLogic = function (METHOD_NAME) {
1827
1827
  } return false;
1828
1828
  };
1829
1829
 
1830
- var $$5 = _export;
1831
- var uncurryThis$8 = functionUncurryThis;
1830
+ var $$6 = _export;
1831
+ var uncurryThis$9 = functionUncurryThis;
1832
1832
  var notARegExp = notARegexp;
1833
- var requireObjectCoercible$2 = requireObjectCoercible$6;
1834
- var toString$6 = toString$7;
1833
+ var requireObjectCoercible$3 = requireObjectCoercible$7;
1834
+ var toString$7 = toString$8;
1835
1835
  var correctIsRegExpLogic = correctIsRegexpLogic;
1836
1836
 
1837
- var stringIndexOf = uncurryThis$8(''.indexOf);
1837
+ var stringIndexOf = uncurryThis$9(''.indexOf);
1838
1838
 
1839
1839
  // `String.prototype.includes` method
1840
1840
  // https://tc39.es/ecma262/#sec-string.prototype.includes
1841
- $$5({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
1841
+ $$6({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
1842
1842
  includes: function includes(searchString /* , position = 0 */) {
1843
1843
  return !!~stringIndexOf(
1844
- toString$6(requireObjectCoercible$2(this)),
1845
- toString$6(notARegExp(searchString)),
1844
+ toString$7(requireObjectCoercible$3(this)),
1845
+ toString$7(notARegExp(searchString)),
1846
1846
  arguments.length > 1 ? arguments[1] : undefined
1847
1847
  );
1848
1848
  }
@@ -2011,6 +2011,69 @@ var types$5 = /*#__PURE__*/Object.freeze({
2011
2011
  get LayerStatus () { return LayerStatus; }
2012
2012
  });
2013
2013
 
2014
+ // a string of all valid unicode whitespaces
2015
+ var whitespaces$2 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
2016
+ '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
2017
+
2018
+ var uncurryThis$8 = functionUncurryThis;
2019
+ var requireObjectCoercible$2 = requireObjectCoercible$7;
2020
+ var toString$6 = toString$8;
2021
+ var whitespaces$1 = whitespaces$2;
2022
+
2023
+ var replace$3 = uncurryThis$8(''.replace);
2024
+ var ltrim = RegExp('^[' + whitespaces$1 + ']+');
2025
+ var rtrim = RegExp('(^|[^' + whitespaces$1 + '])[' + whitespaces$1 + ']+$');
2026
+
2027
+ // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
2028
+ var createMethod$1 = function (TYPE) {
2029
+ return function ($this) {
2030
+ var string = toString$6(requireObjectCoercible$2($this));
2031
+ if (TYPE & 1) string = replace$3(string, ltrim, '');
2032
+ if (TYPE & 2) string = replace$3(string, rtrim, '$1');
2033
+ return string;
2034
+ };
2035
+ };
2036
+
2037
+ var stringTrim = {
2038
+ // `String.prototype.{ trimLeft, trimStart }` methods
2039
+ // https://tc39.es/ecma262/#sec-string.prototype.trimstart
2040
+ start: createMethod$1(1),
2041
+ // `String.prototype.{ trimRight, trimEnd }` methods
2042
+ // https://tc39.es/ecma262/#sec-string.prototype.trimend
2043
+ end: createMethod$1(2),
2044
+ // `String.prototype.trim` method
2045
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
2046
+ trim: createMethod$1(3)
2047
+ };
2048
+
2049
+ var PROPER_FUNCTION_NAME = functionName.PROPER;
2050
+ var fails$8 = fails$n;
2051
+ var whitespaces = whitespaces$2;
2052
+
2053
+ var non = '\u200B\u0085\u180E';
2054
+
2055
+ // check that a method works with the correct list
2056
+ // of whitespaces and has a correct name
2057
+ var stringTrimForced = function (METHOD_NAME) {
2058
+ return fails$8(function () {
2059
+ return !!whitespaces[METHOD_NAME]()
2060
+ || non[METHOD_NAME]() !== non
2061
+ || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);
2062
+ });
2063
+ };
2064
+
2065
+ var $$5 = _export;
2066
+ var $trim = stringTrim.trim;
2067
+ var forcedStringTrimMethod = stringTrimForced;
2068
+
2069
+ // `String.prototype.trim` method
2070
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
2071
+ $$5({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
2072
+ trim: function trim() {
2073
+ return $trim(this);
2074
+ }
2075
+ });
2076
+
2014
2077
  const dateFormat = dateUtils.DATE_FORMAT_UTC;
2015
2078
  const createMap = ({
2016
2079
  id,
@@ -2205,16 +2268,16 @@ const getTimeStepFromDataInterval = timeInterval => {
2205
2268
  return timeInterval.year * 365 * 24 * 60;
2206
2269
  }
2207
2270
  case true:
2208
- if (timeInterval.day !== 0) {
2271
+ if (timeInterval.day !== 0 && !isNaN(timeInterval.day)) {
2209
2272
  return timeInterval.day * 24 * 60;
2210
2273
  }
2211
- if (timeInterval.hour !== 0) {
2274
+ if (timeInterval.hour !== 0 && !isNaN(timeInterval.hour)) {
2212
2275
  return timeInterval.hour * 60;
2213
2276
  }
2214
- if (timeInterval.minute !== 0) {
2277
+ if (timeInterval.minute !== 0 && !isNaN(timeInterval.minute)) {
2215
2278
  return timeInterval.minute;
2216
2279
  }
2217
- if (timeInterval.second !== 0) {
2280
+ if (timeInterval.second !== 0 && !isNaN(timeInterval.second)) {
2218
2281
  return timeInterval.second / 60.0;
2219
2282
  }
2220
2283
  return defaultTimeStep;
@@ -2226,6 +2289,81 @@ const getSpeedFactor = speedDelay => {
2226
2289
  return defaultDelay / speedDelay;
2227
2290
  };
2228
2291
  const getAnimationDuration = (animationEndTime, animationStartTime) => animationEndTime && animationStartTime ? dateUtils.differenceInMinutes(new Date(animationEndTime), new Date(animationStartTime)) : 0;
2292
+ /**
2293
+ * @param animationStart
2294
+ * @param animationEnd
2295
+ * @param iso8601Intervals
2296
+ * @returns WebMapAnimationList with time points
2297
+ */
2298
+ const generateAnimationList = (unixAnimationStart, unixAnimationEnd, timeValues) => {
2299
+ if (!unixAnimationStart || !unixAnimationEnd || !timeValues) {
2300
+ return [];
2301
+ }
2302
+ const iso8601Intervals = parseTimeDimToISO8601Interval(timeValues);
2303
+ const animationList = [];
2304
+ // If there are no ISO8601 intervals in the time dimension we treat it as a list of time values
2305
+ if (!iso8601Intervals.length) {
2306
+ timeValues.split(',').forEach(timeValue => {
2307
+ if (unixAnimationStart <= dateUtils.unix(dateUtils.utc(timeValue)) && dateUtils.unix(dateUtils.utc(timeValue)) <= unixAnimationEnd) {
2308
+ animationList.push({
2309
+ name: 'time',
2310
+ value: timeValue
2311
+ });
2312
+ }
2313
+ });
2314
+ return animationList;
2315
+ }
2316
+ // Initialize aggregate start time for animation points in case of multiple intervals
2317
+ let currentAnimationTime = unixAnimationStart;
2318
+ // Iterate over each iso8601 interval and generate animation points
2319
+ iso8601Intervals.forEach(timeInterval => {
2320
+ if (!timeInterval.duration) {
2321
+ return;
2322
+ }
2323
+ // Convert interval start and end times to Unix time
2324
+ const unixIntervalStart = dateUtils.unix(dateUtils.utc(timeInterval.startTime));
2325
+ const unixIntervalEnd = dateUtils.unix(dateUtils.utc(timeInterval.endTime));
2326
+ // Parse the duration and calculate interval step in seconds
2327
+ const interval = parseISO8601IntervalToDateInterval(timeInterval.duration);
2328
+ const intervalSeconds = getTimeStepFromDataInterval(interval) * 60;
2329
+ // Generate animation points for the current interval
2330
+ for (let i = currentAnimationTime; i <= unixAnimationEnd; i += intervalSeconds) {
2331
+ if (i >= unixIntervalStart && i <= unixIntervalEnd) {
2332
+ animationList.push({
2333
+ name: 'time',
2334
+ value: dateUtils.fromUnix(i).toISOString()
2335
+ });
2336
+ }
2337
+ // If the next step exceeds the current interval, break to switch to next interval
2338
+ if (i + intervalSeconds > unixIntervalEnd) {
2339
+ break;
2340
+ }
2341
+ }
2342
+ // Update the start time for the next interval
2343
+ currentAnimationTime = unixIntervalStart + intervalSeconds;
2344
+ });
2345
+ return animationList;
2346
+ };
2347
+ /**
2348
+ * Parses the time dimension values string to an array of ISO8601 intervals
2349
+ * @param timeInterval
2350
+ * @returns An array of ISO8601 intervals
2351
+ */
2352
+ const parseTimeDimToISO8601Interval = timeInterval => {
2353
+ if (!timeInterval || !timeInterval.includes('/')) {
2354
+ return [];
2355
+ }
2356
+ const intervalList = timeInterval.split(',').map(interval => {
2357
+ const [startTime, endTime, duration] = interval.split('/');
2358
+ return {
2359
+ startTime: startTime === null || startTime === void 0 ? void 0 : startTime.trim(),
2360
+ endTime: endTime === null || endTime === void 0 ? void 0 : endTime.trim(),
2361
+ duration: duration === null || duration === void 0 ? void 0 : duration.trim()
2362
+ };
2363
+ });
2364
+ // Filter out intervals with missing start, end or duration
2365
+ return intervalList.filter(interval => interval.startTime && interval.endTime && interval.duration);
2366
+ };
2229
2367
 
2230
2368
  var utils$3 = /*#__PURE__*/Object.freeze({
2231
2369
  __proto__: null,
@@ -2233,11 +2371,13 @@ var utils$3 = /*#__PURE__*/Object.freeze({
2233
2371
  createMap: createMap,
2234
2372
  dateFormat: dateFormat,
2235
2373
  findMapIdFromLayerId: findMapIdFromLayerId,
2374
+ generateAnimationList: generateAnimationList,
2236
2375
  getAnimationDuration: getAnimationDuration,
2237
2376
  getDraftMapById: getDraftMapById,
2238
2377
  getSpeedFactor: getSpeedFactor,
2239
2378
  getTimeStepFromDataInterval: getTimeStepFromDataInterval,
2240
2379
  moveArrayElements: moveArrayElements,
2380
+ parseTimeDimToISO8601Interval: parseTimeDimToISO8601Interval,
2241
2381
  produceDraftStateSetMapDimensionFromLayerChangeDimension: produceDraftStateSetMapDimensionFromLayerChangeDimension,
2242
2382
  produceDraftStateSetWebMapDimension: produceDraftStateSetWebMapDimension
2243
2383
  });
@@ -3424,7 +3564,32 @@ const getUseLatestReferenceTime = createSelector(getLayerById, layer => Boolean(
3424
3564
  * Returns the timestep for this layerId in seconds, or undefined if it has no time dimension or timeinterval.
3425
3565
  */
3426
3566
  const getTimeStepForLayerId = createSelector(getLayerTimeDimension, timeDimension => {
3427
- return timeDimension && timeDimension.timeInterval ? getTimeStepFromDataInterval(timeDimension.timeInterval) : undefined;
3567
+ if (!timeDimension) {
3568
+ return undefined;
3569
+ }
3570
+ const {
3571
+ values,
3572
+ currentValue,
3573
+ timeInterval = {}
3574
+ } = timeDimension;
3575
+ if (!values || !currentValue) {
3576
+ return isEmpty(timeInterval) ? undefined : getTimeStepFromDataInterval(timeInterval);
3577
+ }
3578
+ const iso8601Intervals = parseTimeDimToISO8601Interval(values);
3579
+ for (const {
3580
+ startTime,
3581
+ endTime,
3582
+ duration
3583
+ } of iso8601Intervals) {
3584
+ if (dateUtils.isWithinInterval(currentValue, {
3585
+ start: startTime,
3586
+ end: endTime
3587
+ })) {
3588
+ const parsedInterval = parseISO8601IntervalToDateInterval(duration);
3589
+ return getTimeStepFromDataInterval(parsedInterval);
3590
+ }
3591
+ }
3592
+ return getTimeStepFromDataInterval(timeInterval);
3428
3593
  }, selectorMemoizationOptions);
3429
3594
  const getActiveLayerInfo = createSelector(layerStore, store => store === null || store === void 0 ? void 0 : store.activeLayerInfo);
3430
3595
 
@@ -6092,28 +6257,36 @@ const getDockedLayerManagerSize = createSelector(getMapById, store => store ? st
6092
6257
  * @param {string} mapId mapId: string - Id of the map
6093
6258
  * @returns {animationList} returnType: WebMapAnimationList, list of timesteps to animate for this map.
6094
6259
  */
6095
- const getAnimationList = createSelector(getMapById, getAnimationStartTime, getAnimationEndTime, getMapTimeStep, (mapStore, animationStart, animationEnd, animationInterval) => {
6260
+ const getAnimationList = createSelector(getLayersById, getMapById, getAnimationStartTime, getAnimationEndTime, getMapTimeStep, (layers, mapStore, animationStart, animationEnd, animationInterval) => {
6096
6261
  // Animation is defined by one of the following:
6097
- // - start, end and interval for a continuous animation loop with constant interval
6262
+ // - start, end and interval for a continuous animation loop
6098
6263
  // - timeList, for a custom timeList
6264
+ var _a, _b, _c;
6099
6265
  // Here the animation is defined by a timeList
6100
- if (mapStore && (mapStore === null || mapStore === void 0 ? void 0 : mapStore.timeList) && mapStore.timeList.length > 0) {
6266
+ if ((_a = mapStore === null || mapStore === void 0 ? void 0 : mapStore.timeList) === null || _a === void 0 ? void 0 : _a.length) {
6101
6267
  return mapStore.timeList;
6102
6268
  }
6103
- // Here the animation is defined by a start/stop/interval
6104
- const roundedStart = roundWithTimeStep(Number(animationStart && dateUtils.unix(dateUtils.utc(animationStart))), animationInterval, 'ceil');
6105
- const roundedEnd = roundWithTimeStep(Number(animationEnd && dateUtils.unix(dateUtils.utc(animationEnd))), animationInterval, 'floor');
6106
- const timeList = [];
6107
- const unixStart = dateUtils.unix(dateUtils.fromUnix(roundedStart));
6108
- const unixEnd = dateUtils.unix(dateUtils.fromUnix(roundedEnd));
6109
- const intervalSeconds = animationInterval * 60;
6110
- for (let j = unixStart; j <= unixEnd; j += intervalSeconds) {
6111
- timeList.push({
6112
- name: 'time',
6113
- value: dateUtils.fromUnix(j).toISOString()
6114
- });
6269
+ const autoTimeStepLayerId = mapStore === null || mapStore === void 0 ? void 0 : mapStore.autoTimeStepLayerId;
6270
+ const timeDimension = autoTimeStepLayerId && ((_c = (_b = layers === null || layers === void 0 ? void 0 : layers[autoTimeStepLayerId]) === null || _b === void 0 ? void 0 : _b.dimensions) === null || _c === void 0 ? void 0 : _c.find(dimension => dimension.name === 'time'));
6271
+ const {
6272
+ values
6273
+ } = timeDimension || {};
6274
+ const unixAnimationStart = roundWithTimeStep(Number(animationStart && dateUtils.unix(dateUtils.utc(animationStart))), animationInterval, 'ceil');
6275
+ const unixAnimationEnd = roundWithTimeStep(Number(animationEnd && dateUtils.unix(dateUtils.utc(animationEnd))), animationInterval, 'floor');
6276
+ const animationList = generateAnimationList(unixAnimationStart, unixAnimationEnd, values);
6277
+ // If no animationList is generated, generate a default list using the interval from map
6278
+ if (!animationList.length) {
6279
+ const timeList = [];
6280
+ const intervalSeconds = animationInterval * 60;
6281
+ for (let j = unixAnimationStart; j <= unixAnimationEnd; j += intervalSeconds) {
6282
+ timeList.push({
6283
+ name: 'time',
6284
+ value: dateUtils.fromUnix(j).toISOString()
6285
+ });
6286
+ }
6287
+ return timeList;
6115
6288
  }
6116
- return timeList;
6289
+ return animationList;
6117
6290
  }, selectorMemoizationOptions);
6118
6291
  /**
6119
6292
  * @param {object} store store: object - store object
@@ -6329,7 +6502,9 @@ const slice$2 = createSlice({
6329
6502
  // eslint-disable-next-line no-unused-vars
6330
6503
  draft,
6331
6504
  // eslint-disable-next-line no-unused-vars
6332
- action) => {}
6505
+ action) => {
6506
+ // This block is intentionally left empty so no code should be put in here
6507
+ }
6333
6508
  }
6334
6509
  });
6335
6510
  const {
@@ -6483,7 +6658,7 @@ var uncurryThis$6 = functionUncurryThis;
6483
6658
  var isArray = isArray$2;
6484
6659
  var isCallable$5 = isCallable$k;
6485
6660
  var classof$2 = classofRaw$1;
6486
- var toString$5 = toString$7;
6661
+ var toString$5 = toString$8;
6487
6662
 
6488
6663
  var push$1 = uncurryThis$6([].push);
6489
6664
 
@@ -6514,7 +6689,7 @@ var getBuiltIn$2 = getBuiltIn$6;
6514
6689
  var apply$1 = functionApply;
6515
6690
  var call$5 = functionCall;
6516
6691
  var uncurryThis$5 = functionUncurryThis;
6517
- var fails$7 = fails$m;
6692
+ var fails$7 = fails$n;
6518
6693
  var isCallable$4 = isCallable$k;
6519
6694
  var isSymbol = isSymbol$3;
6520
6695
  var arraySlice = arraySlice$1;
@@ -6804,86 +6979,6 @@ var storeTestSettings = /*#__PURE__*/Object.freeze({
6804
6979
  styleListForRADNLOPERR25PCPRRL3KNMILayer: styleListForRADNLOPERR25PCPRRL3KNMILayer
6805
6980
  });
6806
6981
 
6807
- function* setStepBackwardOrForwardSaga({
6808
- payload
6809
- }) {
6810
- const {
6811
- mapId,
6812
- isForwardStep
6813
- } = payload;
6814
- const timeStep = yield select(getMapTimeStep, mapId);
6815
- const currentTime = yield select(getSelectedTime, mapId);
6816
- const [dataStartTime, dataEndTime] = yield select(getDataLimitsFromLayers, mapId);
6817
- if (dateUtils.isValid(currentTime)) {
6818
- const makeForwardStep = () => {
6819
- const nextTime = currentTime + timeStep;
6820
- const roundedTime = roundWithTimeStep(nextTime, timeStep, 'ceil');
6821
- const newTime = Math.min(roundedTime, dataEndTime || roundedTime);
6822
- return dateUtils.fromUnix(newTime).toISOString();
6823
- };
6824
- const makeBackwardStep = () => {
6825
- const nextTime = currentTime - timeStep;
6826
- const roundedTime = roundWithTimeStep(nextTime, timeStep, 'floor');
6827
- const newTime = Math.max(roundedTime, dataStartTime || roundedTime);
6828
- return dateUtils.fromUnix(newTime).toISOString();
6829
- };
6830
- const selectedTimeString = isForwardStep ? makeForwardStep() : makeBackwardStep();
6831
- const isMapAnimating = yield select(isAnimating, mapId);
6832
- if (isMapAnimating) {
6833
- yield put(mapActions.mapStopAnimation({
6834
- mapId,
6835
- origin: MapActionOrigin.map
6836
- }));
6837
- }
6838
- const isAutoUpdateOn = yield select(isAutoUpdating, mapId);
6839
- if (isAutoUpdateOn) {
6840
- yield put(mapActions.toggleAutoUpdate({
6841
- mapId,
6842
- shouldAutoUpdate: false
6843
- }));
6844
- }
6845
- yield put(genericActions.setTime({
6846
- origin: '',
6847
- sourceId: mapId,
6848
- value: handleDateUtilsISOString(selectedTimeString)
6849
- }));
6850
- }
6851
- }
6852
- function* rootSaga$2() {
6853
- // resets IWMJSMap state
6854
- yield takeEvery(mapActions.setStepBackwardOrForward.type, setStepBackwardOrForwardSaga);
6855
- }
6856
-
6857
- function* fetchServiceSaga(service) {
6858
- try {
6859
- const layers = yield call$e(getCapabilities.getLayersFlattenedFromService, service.serviceUrl);
6860
- yield put(serviceActions.serviceSetLayers(Object.assign(Object.assign({}, service), {
6861
- layers
6862
- })));
6863
- } catch (error) {
6864
- // not implemented yet
6865
- }
6866
- }
6867
- function* fetchInitialServicesSaga({
6868
- payload
6869
- }) {
6870
- const {
6871
- services
6872
- } = payload;
6873
- yield all(services.map(_a => {
6874
- var {
6875
- url
6876
- } = _a,
6877
- service = __rest(_a, ["url"]);
6878
- return call$e(fetchServiceSaga, Object.assign(Object.assign({}, service), {
6879
- serviceUrl: url
6880
- }));
6881
- }));
6882
- }
6883
- function* rootSaga$1() {
6884
- yield takeEvery(serviceActions.fetchInitialServices, fetchInitialServicesSaga);
6885
- }
6886
-
6887
6982
  /* A map with all the timerIds and their current step */
6888
6983
  const stepMap = new Map();
6889
6984
  /* A map with a list of timers and their dwell */
@@ -7184,7 +7279,7 @@ var inheritIfRequired$1 = function ($this, dummy, Wrapper) {
7184
7279
  return $this;
7185
7280
  };
7186
7281
 
7187
- var toString$4 = toString$7;
7282
+ var toString$4 = toString$8;
7188
7283
 
7189
7284
  var normalizeStringArgument$1 = function (argument, $default) {
7190
7285
  return argument === undefined ? arguments.length < 2 ? '' : $default : toString$4(argument);
@@ -7217,7 +7312,7 @@ var errorStackClear = function (stack, dropEntries) {
7217
7312
  } return stack;
7218
7313
  };
7219
7314
 
7220
- var fails$6 = fails$m;
7315
+ var fails$6 = fails$n;
7221
7316
  var createPropertyDescriptor = createPropertyDescriptor$4;
7222
7317
 
7223
7318
  var errorStackInstallable = !fails$6(function () {
@@ -7382,7 +7477,7 @@ var regexpFlags$1 = function () {
7382
7477
  return result;
7383
7478
  };
7384
7479
 
7385
- var fails$5 = fails$m;
7480
+ var fails$5 = fails$n;
7386
7481
  var global$3 = global$g;
7387
7482
 
7388
7483
  // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
@@ -7413,7 +7508,7 @@ var regexpStickyHelpers = {
7413
7508
  UNSUPPORTED_Y: UNSUPPORTED_Y$2
7414
7509
  };
7415
7510
 
7416
- var fails$4 = fails$m;
7511
+ var fails$4 = fails$n;
7417
7512
  var global$2 = global$g;
7418
7513
 
7419
7514
  // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
@@ -7424,7 +7519,7 @@ var regexpUnsupportedDotAll = fails$4(function () {
7424
7519
  return !(re.dotAll && re.test('\n') && re.flags === 's');
7425
7520
  });
7426
7521
 
7427
- var fails$3 = fails$m;
7522
+ var fails$3 = fails$n;
7428
7523
  var global$1 = global$g;
7429
7524
 
7430
7525
  // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
@@ -7440,7 +7535,7 @@ var regexpUnsupportedNcg = fails$3(function () {
7440
7535
  /* eslint-disable regexp/no-useless-quantifier -- testing */
7441
7536
  var call$4 = functionCall;
7442
7537
  var uncurryThis$3 = functionUncurryThis;
7443
- var toString$3 = toString$7;
7538
+ var toString$3 = toString$8;
7444
7539
  var regexpFlags = regexpFlags$1;
7445
7540
  var stickyHelpers$1 = regexpStickyHelpers;
7446
7541
  var shared = shared$4;
@@ -7568,7 +7663,7 @@ var $ = _export;
7568
7663
  var call$3 = functionCall;
7569
7664
  var isCallable$2 = isCallable$k;
7570
7665
  var anObject$3 = anObject$9;
7571
- var toString$2 = toString$7;
7666
+ var toString$2 = toString$8;
7572
7667
 
7573
7668
  var DELEGATES_TO_EXEC = function () {
7574
7669
  var execCalled = false;
@@ -7602,7 +7697,7 @@ $({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
7602
7697
  var call$2 = functionCall;
7603
7698
  var defineBuiltIn = defineBuiltIn$4;
7604
7699
  var regexpExec$1 = regexpExec$2;
7605
- var fails$2 = fails$m;
7700
+ var fails$2 = fails$n;
7606
7701
  var wellKnownSymbol$1 = wellKnownSymbol$c;
7607
7702
  var createNonEnumerableProperty = createNonEnumerableProperty$8;
7608
7703
 
@@ -7674,7 +7769,7 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
7674
7769
  };
7675
7770
 
7676
7771
  var uncurryThis$2 = functionUncurryThis;
7677
- var fails$1 = fails$m;
7772
+ var fails$1 = fails$n;
7678
7773
  var isCallable$1 = isCallable$k;
7679
7774
  var classof$1 = classof$4;
7680
7775
  var getBuiltIn = getBuiltIn$6;
@@ -7753,8 +7848,8 @@ var speciesConstructor$1 = function (O, defaultConstructor) {
7753
7848
 
7754
7849
  var uncurryThis$1 = functionUncurryThis;
7755
7850
  var toIntegerOrInfinity = toIntegerOrInfinity$3;
7756
- var toString$1 = toString$7;
7757
- var requireObjectCoercible$1 = requireObjectCoercible$6;
7851
+ var toString$1 = toString$8;
7852
+ var requireObjectCoercible$1 = requireObjectCoercible$7;
7758
7853
 
7759
7854
  var charAt$1 = uncurryThis$1(''.charAt);
7760
7855
  var charCodeAt = uncurryThis$1(''.charCodeAt);
@@ -7822,15 +7917,15 @@ var uncurryThis = functionUncurryThis;
7822
7917
  var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
7823
7918
  var anObject = anObject$9;
7824
7919
  var isNullOrUndefined = isNullOrUndefined$4;
7825
- var requireObjectCoercible = requireObjectCoercible$6;
7920
+ var requireObjectCoercible = requireObjectCoercible$7;
7826
7921
  var speciesConstructor = speciesConstructor$1;
7827
7922
  var advanceStringIndex = advanceStringIndex$1;
7828
7923
  var toLength = toLength$2;
7829
- var toString = toString$7;
7924
+ var toString = toString$8;
7830
7925
  var getMethod = getMethod$2;
7831
7926
  var regExpExec = regexpExecAbstract;
7832
7927
  var stickyHelpers = regexpStickyHelpers;
7833
- var fails = fails$m;
7928
+ var fails = fails$n;
7834
7929
 
7835
7930
  var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
7836
7931
  var MAX_UINT32 = 0xFFFFFFFF;
@@ -8424,6 +8519,94 @@ mapListener.startListening({
8424
8519
  })));
8425
8520
  }
8426
8521
  });
8522
+ mapListener.startListening({
8523
+ actionCreator: mapActions.setStepBackwardOrForward,
8524
+ effect: ({
8525
+ payload
8526
+ }, listenerApi) => {
8527
+ const {
8528
+ mapId,
8529
+ isForwardStep
8530
+ } = payload;
8531
+ const timeStep = getMapTimeStep(listenerApi.getState(), mapId);
8532
+ const currentTime = getSelectedTime(listenerApi.getState(), mapId);
8533
+ const [dataStartTime, dataEndTime] = getDataLimitsFromLayers(listenerApi.getState(), mapId);
8534
+ if (dateUtils.isValid(currentTime)) {
8535
+ const makeForwardStep = () => {
8536
+ const nextTime = currentTime + timeStep;
8537
+ const roundedTime = roundWithTimeStep(nextTime, timeStep, 'ceil');
8538
+ const newTime = Math.min(roundedTime, dataEndTime || roundedTime);
8539
+ return dateUtils.fromUnix(newTime).toISOString();
8540
+ };
8541
+ const makeBackwardStep = () => {
8542
+ const nextTime = currentTime - timeStep;
8543
+ const roundedTime = roundWithTimeStep(nextTime, timeStep, 'floor');
8544
+ const newTime = Math.max(roundedTime, dataStartTime || roundedTime);
8545
+ return dateUtils.fromUnix(newTime).toISOString();
8546
+ };
8547
+ const selectedTimeString = isForwardStep ? makeForwardStep() : makeBackwardStep();
8548
+ const isMapAnimating = isAnimating(listenerApi.getState(), mapId);
8549
+ if (isMapAnimating) {
8550
+ listenerApi.dispatch(mapActions.mapStopAnimation({
8551
+ mapId,
8552
+ origin: MapActionOrigin.map
8553
+ }));
8554
+ }
8555
+ const isAutoUpdateOn = isAutoUpdating(listenerApi.getState(), mapId);
8556
+ if (isAutoUpdateOn) {
8557
+ listenerApi.dispatch(mapActions.toggleAutoUpdate({
8558
+ mapId,
8559
+ shouldAutoUpdate: false
8560
+ }));
8561
+ }
8562
+ listenerApi.dispatch(genericActions.setTime({
8563
+ origin: '',
8564
+ sourceId: mapId,
8565
+ value: handleDateUtilsISOString(selectedTimeString)
8566
+ }));
8567
+ }
8568
+ }
8569
+ });
8570
+
8571
+ const serviceListener = createListenerMiddleware();
8572
+ const fetchService = (service, listenerApi) => __awaiter(void 0, void 0, void 0, function* () {
8573
+ try {
8574
+ const layers = yield getCapabilities.getLayersFlattenedFromService(service.serviceUrl);
8575
+ listenerApi.dispatch(serviceActions.serviceSetLayers(Object.assign(Object.assign({}, service), {
8576
+ layers
8577
+ })));
8578
+ } catch (error) {
8579
+ console.warn(error.message);
8580
+ }
8581
+ });
8582
+ const fetchInitialServices = (payload, listenerApi) => __awaiter(void 0, void 0, void 0, function* () {
8583
+ if (!payload || !payload.services) {
8584
+ return;
8585
+ }
8586
+ try {
8587
+ payload.services.map(_a => {
8588
+ var {
8589
+ url
8590
+ } = _a,
8591
+ service = __rest(_a, ["url"]);
8592
+ return fetchService(Object.assign(Object.assign({}, service), {
8593
+ serviceUrl: url
8594
+ }), listenerApi);
8595
+ });
8596
+ } catch (error) {
8597
+ // eslint-disable-next-line no-console
8598
+ console.warn(error);
8599
+ }
8600
+ });
8601
+ serviceListener.startListening({
8602
+ actionCreator: serviceActions.fetchInitialServices,
8603
+ effect: ({
8604
+ payload
8605
+ }, listenerApi) => __awaiter(void 0, void 0, void 0, function* () {
8606
+ listenerApi.cancelActiveListeners();
8607
+ fetchInitialServices(payload, listenerApi);
8608
+ })
8609
+ });
8427
8610
 
8428
8611
  // TODO: This fixes typecheck errors but maybe there is a better way to do that
8429
8612
  createStore({
@@ -8437,8 +8620,7 @@ const mapStoreReducers = {
8437
8620
  const mapStoreModuleConfig = {
8438
8621
  id: 'webmap-module',
8439
8622
  reducersMap: mapStoreReducers,
8440
- sagas: [rootSaga$2, rootSaga$1],
8441
- middlewares: [metronomeListener.middleware, layersListener.middleware, mapUiListener.middleware, mapListener.middleware]
8623
+ middlewares: [metronomeListener.middleware, layersListener.middleware, mapUiListener.middleware, mapListener.middleware, serviceListener.middleware]
8442
8624
  };
8443
8625
 
8444
8626
  const mapStoreActions = Object.assign(Object.assign(Object.assign({}, layerActions), mapActions), serviceActions);
@@ -9787,4 +9969,4 @@ const StoreProvider = ({
9787
9969
  })
9788
9970
  }));
9789
9971
 
9790
- export { IS_LEGEND_OPEN_BY_DEFAULT, StoreProvider, coreModuleConfig, createCustomStore, drawtoolActions, drawtoolModuleConfig, reducer as drawtoolReducer, selectors as drawtoolSelectors, filterLayers$1 as filterLayers, genericActions, genericListener, selectors$4 as genericSelectors, types$1 as genericTypes, getSingularDrawtoolDrawLayerId, getUserAddedServices, initialState$3 as initialState, layerActions, reducer$6 as layerReducer, selectors$7 as layerSelectors, types$5 as layerTypes, utils$2 as layerUtils, loadingIndicatorActions, constants as loadingIndicatorConstants, loadingIndicatorReducer, selectors$3 as loadingIndicatorSelectors, mapActions, enums as mapEnums, rootSaga$2 as mapSaga, selectors$2 as mapSelectors, mapStoreActions, mapStoreModuleConfig, mapStoreReducers, types$4 as mapTypes, mapUtils, routerActions, routerModuleConfig, utils as routerUtils, selectorMemoizationOptions, serviceActions, selectors$1 as serviceSelectors, types as serviceTypes, setUserAddedServices, storeTestSettings, storeTestUtils, utils$1 as storeUtils, constants$1 as syncConstants, actions as syncGroupsActions, reducer$3 as syncGroupsReducer, selector as syncGroupsSelector, selectors$5 as syncGroupsSelectors, types$2 as syncGroupsTypes, types$2 as types, uiActions, uiModuleConfig, reducer$5 as uiReducer, selectors$6 as uiSelectors, types$3 as uiTypes, useSetupDialog, reducer$4 as webmapReducer };
9972
+ export { IS_LEGEND_OPEN_BY_DEFAULT, StoreProvider, coreModuleConfig, createCustomStore, drawtoolActions, drawtoolModuleConfig, reducer as drawtoolReducer, selectors as drawtoolSelectors, filterLayers$1 as filterLayers, genericActions, genericListener, selectors$4 as genericSelectors, types$1 as genericTypes, getSingularDrawtoolDrawLayerId, getUserAddedServices, initialState$3 as initialState, layerActions, reducer$6 as layerReducer, selectors$7 as layerSelectors, types$5 as layerTypes, utils$2 as layerUtils, loadingIndicatorActions, constants as loadingIndicatorConstants, loadingIndicatorReducer, selectors$3 as loadingIndicatorSelectors, mapActions, enums as mapEnums, mapListener, selectors$2 as mapSelectors, mapStoreActions, mapStoreModuleConfig, mapStoreReducers, types$4 as mapTypes, mapUtils, routerActions, routerModuleConfig, utils as routerUtils, selectorMemoizationOptions, serviceActions, selectors$1 as serviceSelectors, types as serviceTypes, setUserAddedServices, storeTestSettings, storeTestUtils, utils$1 as storeUtils, constants$1 as syncConstants, actions as syncGroupsActions, reducer$3 as syncGroupsReducer, selector as syncGroupsSelector, selectors$5 as syncGroupsSelectors, types$2 as syncGroupsTypes, types$2 as types, uiActions, uiModuleConfig, reducer$5 as uiReducer, selectors$6 as uiSelectors, types$3 as uiTypes, useSetupDialog, reducer$4 as webmapReducer };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/store",
3
- "version": "9.26.0",
3
+ "version": "9.27.0",
4
4
  "description": "GeoWeb Store library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -2,6 +2,7 @@ export * from './mapStore';
2
2
  export * from './ui';
3
3
  export * from './generic';
4
4
  export { genericListener } from './generic/listener';
5
+ export { mapListener } from './mapStore/map/listener';
5
6
  export * from './router';
6
7
  export * from './drawingtool';
7
8
  export * from './types';
@@ -11,4 +12,3 @@ export * as storeUtils from './utils';
11
12
  export * from './utils';
12
13
  export { uiModuleConfig } from './ui/config';
13
14
  export * from './testUtils/Providers';
14
- export { rootSaga as mapSaga } from './mapStore/map/sagas';
@@ -13,6 +13,8 @@ export declare const mapUtils: {
13
13
  getTimeStepFromDataInterval: (timeInterval: import("dist/libs/webmap/src").TimeInterval) => number;
14
14
  getSpeedFactor: (speedDelay: number) => import("dist/libs/timeslider/src").SpeedFactorType;
15
15
  getAnimationDuration: (animationEndTime: string | undefined, animationStartTime: string | undefined) => number;
16
+ generateAnimationList: (unixAnimationStart: number, unixAnimationEnd: number, timeValues: string | undefined) => mapTypes.WebMapAnimationList;
17
+ parseTimeDimToISO8601Interval: (timeInterval: string | undefined) => mapTypes.ISO8601Interval[];
16
18
  };
17
19
  export { mapTypes };
18
20
  export { mapActions, reducer as webmapReducer } from './reducer';
@@ -710,7 +710,7 @@ export declare const getDockedLayerManagerSize: ((state: any, mapId: any) => imp
710
710
  * @param {string} mapId mapId: string - Id of the map
711
711
  * @returns {animationList} returnType: WebMapAnimationList, list of timesteps to animate for this map.
712
712
  */
713
- export declare const getAnimationList: ((state: any, mapId: any) => WebMapAnimationList) & import("reselect").OutputSelectorFields<(args_0: WebMap | undefined, args_1: string | undefined, args_2: string | undefined, args_3: number) => WebMapAnimationList, {
713
+ export declare const getAnimationList: ((state: any, mapId: any) => WebMapAnimationList) & import("reselect").OutputSelectorFields<(args_0: Record<string, ReduxLayer> | null, args_1: WebMap | undefined, args_2: string | undefined, args_3: string | undefined, args_4: number) => WebMapAnimationList, {
714
714
  clearCache: () => void;
715
715
  }> & {
716
716
  clearCache: () => void;
@@ -226,3 +226,8 @@ export interface SetDockedLayerManagerSize {
226
226
  mapId: string;
227
227
  dockedLayerManagerSize: DockedLayerManagerSize;
228
228
  }
229
+ export interface ISO8601Interval {
230
+ startTime: string;
231
+ endTime: string;
232
+ duration: string;
233
+ }
@@ -1,7 +1,7 @@
1
1
  import { TimeInterval } from '@opengeoweb/webmap';
2
2
  import { SpeedFactorType } from '@opengeoweb/timeslider';
3
3
  import { Bbox, Dimension } from './types';
4
- import type { WebMapState, WebMap } from '../types';
4
+ import type { WebMapState, WebMap, ISO8601Interval, WebMapAnimationList } from '../types';
5
5
  import type { Layer } from '../layers/types';
6
6
  export declare const dateFormat = "yyyy-MM-dd'T'HH:mm:ss'Z'";
7
7
  export interface CreateMapProps {
@@ -70,3 +70,16 @@ export declare function moveArrayElements<T>(array: T[], oldIndex: number, newIn
70
70
  export declare const getTimeStepFromDataInterval: (timeInterval: TimeInterval) => number;
71
71
  export declare const getSpeedFactor: (speedDelay: number) => SpeedFactorType;
72
72
  export declare const getAnimationDuration: (animationEndTime: string | undefined, animationStartTime: string | undefined) => number;
73
+ /**
74
+ * @param animationStart
75
+ * @param animationEnd
76
+ * @param iso8601Intervals
77
+ * @returns WebMapAnimationList with time points
78
+ */
79
+ export declare const generateAnimationList: (unixAnimationStart: number, unixAnimationEnd: number, timeValues: string | undefined) => WebMapAnimationList;
80
+ /**
81
+ * Parses the time dimension values string to an array of ISO8601 intervals
82
+ * @param timeInterval
83
+ * @returns An array of ISO8601 intervals
84
+ */
85
+ export declare const parseTimeDimToISO8601Interval: (timeInterval: string | undefined) => ISO8601Interval[];
@@ -0,0 +1,5 @@
1
+ import { AnyAction, ListenerEffectAPI, ThunkDispatch } from '@reduxjs/toolkit';
2
+ import { FetchInitialServicesPayload, SetLayersForServicePayload, WebMapStateModuleState } from '../types';
3
+ export declare const serviceListener: import("@reduxjs/toolkit").ListenerMiddlewareInstance<WebMapStateModuleState, ThunkDispatch<WebMapStateModuleState, unknown, AnyAction>, unknown>;
4
+ export declare const fetchService: (service: SetLayersForServicePayload, listenerApi: ListenerEffectAPI<WebMapStateModuleState, ThunkDispatch<WebMapStateModuleState, unknown, AnyAction>, unknown>) => Promise<void>;
5
+ export declare const fetchInitialServices: (payload: FetchInitialServicesPayload, listenerApi: ListenerEffectAPI<WebMapStateModuleState, ThunkDispatch<WebMapStateModuleState, unknown, AnyAction>, unknown>) => Promise<void>;
@@ -8,4 +8,4 @@ export declare const serviceActions: import("@reduxjs/toolkit").CaseReducerActio
8
8
  mapStoreRemoveService: (draft: Draft<ServiceState>, action: PayloadAction<MapStoreRemoveServicePayload>) => void;
9
9
  fetchInitialServices: (draft: Draft<ServiceState>, action: PayloadAction<FetchInitialServicesPayload>) => void;
10
10
  }, "serviceReducer">;
11
- export type ServiceActions = ReturnType<typeof serviceActions.mapStoreRemoveService> | ReturnType<typeof serviceActions.serviceSetLayers> | ReturnType<typeof layerActions.onUpdateLayerInformation>;
11
+ export type ServiceActions = ReturnType<typeof serviceActions.mapStoreRemoveService> | ReturnType<typeof serviceActions.serviceSetLayers> | ReturnType<typeof serviceActions.fetchInitialServices> | ReturnType<typeof layerActions.onUpdateLayerInformation>;
@@ -1,6 +0,0 @@
1
- import { SagaIterator } from 'redux-saga';
2
- import { mapActions } from '.';
3
- export declare function updateAnimation(mapId: string, maxValue: string): SagaIterator;
4
- export declare function setStepBackwardOrForwardSaga({ payload, }: ReturnType<typeof mapActions.setStepBackwardOrForward>): Generator;
5
- export declare function rootSaga(): SagaIterator;
6
- export default rootSaga;
@@ -1,7 +0,0 @@
1
- import { SagaIterator } from 'redux-saga';
2
- import { serviceActions } from './reducer';
3
- import { SetLayersForServicePayload } from './types';
4
- export declare function fetchServiceSaga(service: SetLayersForServicePayload): SagaIterator;
5
- export declare function fetchInitialServicesSaga({ payload, }: ReturnType<typeof serviceActions.fetchInitialServices>): SagaIterator;
6
- export declare function rootSaga(): SagaIterator;
7
- export default rootSaga;
@@ -1 +0,0 @@
1
- export {};