@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 +397 -215
- package/package.json +1 -1
- package/src/store/index.d.ts +1 -1
- package/src/store/mapStore/map/index.d.ts +2 -0
- package/src/store/mapStore/map/selectors.d.ts +1 -1
- package/src/store/mapStore/map/types.d.ts +5 -0
- package/src/store/mapStore/map/utils.d.ts +14 -1
- package/src/store/mapStore/service/listener.d.ts +5 -0
- package/src/store/mapStore/service/reducer.d.ts +1 -1
- package/src/store/mapStore/map/sagas.d.ts +0 -6
- package/src/store/mapStore/service/sagas.d.ts +0 -7
- package/src/store/mapStore/service/sagas.spec.d.ts +0 -1
- /package/src/store/mapStore/{map/sagas.spec.d.ts → service/listener.spec.d.ts} +0 -0
package/index.esm.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { webmapUtils, LayerType, getWMJSMapById, WMLayer, webmapTestSettings,
|
|
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$
|
|
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$
|
|
45
|
+
var fails$m = fails$n;
|
|
46
46
|
|
|
47
47
|
// Detect IE8's incomplete defineProperty implementation
|
|
48
|
-
var descriptors = !fails$
|
|
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$
|
|
53
|
+
var fails$l = fails$n;
|
|
54
54
|
|
|
55
|
-
var functionBindNative = !fails$
|
|
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$
|
|
107
|
+
var uncurryThis$k = functionUncurryThis;
|
|
108
108
|
|
|
109
|
-
var toString$
|
|
110
|
-
var stringSlice$4 = uncurryThis$
|
|
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$
|
|
113
|
+
return stringSlice$4(toString$a(it), 8, -1);
|
|
114
114
|
};
|
|
115
115
|
|
|
116
|
-
var uncurryThis$
|
|
117
|
-
var fails$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
151
|
+
var requireObjectCoercible$6 = requireObjectCoercible$7;
|
|
152
152
|
|
|
153
153
|
var toIndexedObject$5 = function (it) {
|
|
154
|
-
return IndexedObject$2(requireObjectCoercible$
|
|
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$
|
|
186
|
+
var uncurryThis$i = functionUncurryThis;
|
|
187
187
|
|
|
188
|
-
var objectIsPrototypeOf = uncurryThis$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
351
|
+
return $Object$2(requireObjectCoercible$5(argument));
|
|
352
352
|
};
|
|
353
353
|
|
|
354
|
-
var uncurryThis$
|
|
354
|
+
var uncurryThis$h = functionUncurryThis;
|
|
355
355
|
var toObject$5 = toObject$6;
|
|
356
356
|
|
|
357
|
-
var hasOwnProperty = uncurryThis$
|
|
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$
|
|
366
|
+
var uncurryThis$g = functionUncurryThis;
|
|
367
367
|
|
|
368
368
|
var id = 0;
|
|
369
369
|
var postfix = Math.random();
|
|
370
|
-
var 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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
578
|
+
var uncurryThis$f = functionUncurryThis;
|
|
579
579
|
var isCallable$e = isCallable$k;
|
|
580
580
|
var store$1 = sharedStoreExports;
|
|
581
581
|
|
|
582
|
-
var functionToString = uncurryThis$
|
|
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$
|
|
683
|
-
var fails$
|
|
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$
|
|
697
|
-
var replace$
|
|
698
|
-
var join = uncurryThis$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
850
|
+
includes: createMethod$3(true),
|
|
851
851
|
// `Array.prototype.indexOf` method
|
|
852
852
|
// https://tc39.es/ecma262/#sec-array.prototype.indexof
|
|
853
|
-
indexOf: createMethod$
|
|
853
|
+
indexOf: createMethod$3(false)
|
|
854
854
|
};
|
|
855
855
|
|
|
856
|
-
var uncurryThis$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
1026
|
+
var uncurryThis$b = functionUncurryThis;
|
|
1027
1027
|
var call$8 = functionCall;
|
|
1028
|
-
var fails$
|
|
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$
|
|
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$
|
|
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 $$
|
|
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
|
-
$$
|
|
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 $$
|
|
1224
|
+
var $$a = _export;
|
|
1225
1225
|
var $includes = arrayIncludes.includes;
|
|
1226
|
-
var fails$
|
|
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$
|
|
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
|
-
$$
|
|
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$
|
|
1248
|
+
var fails$c = fails$n;
|
|
1249
1249
|
|
|
1250
|
-
var correctPrototypeGetter = !fails$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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 $$
|
|
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 $$
|
|
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 $$
|
|
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$
|
|
1625
|
+
var fails$a = fails$n;
|
|
1626
1626
|
|
|
1627
|
-
var INCORRECT_TO_LENGTH = fails$
|
|
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
|
-
$$
|
|
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$
|
|
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$
|
|
1702
|
+
left: createMethod$2(false),
|
|
1703
1703
|
// `Array.prototype.reduceRight` method
|
|
1704
1704
|
// https://tc39.es/ecma262/#sec-array.prototype.reduceright
|
|
1705
|
-
right: createMethod$
|
|
1705
|
+
right: createMethod$2(true)
|
|
1706
1706
|
};
|
|
1707
1707
|
|
|
1708
|
-
var fails$
|
|
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$
|
|
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 $$
|
|
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
|
-
$$
|
|
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$
|
|
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 $$
|
|
1831
|
-
var uncurryThis$
|
|
1830
|
+
var $$6 = _export;
|
|
1831
|
+
var uncurryThis$9 = functionUncurryThis;
|
|
1832
1832
|
var notARegExp = notARegexp;
|
|
1833
|
-
var requireObjectCoercible$
|
|
1834
|
-
var toString$
|
|
1833
|
+
var requireObjectCoercible$3 = requireObjectCoercible$7;
|
|
1834
|
+
var toString$7 = toString$8;
|
|
1835
1835
|
var correctIsRegExpLogic = correctIsRegexpLogic;
|
|
1836
1836
|
|
|
1837
|
-
var stringIndexOf = uncurryThis$
|
|
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
|
-
$$
|
|
1841
|
+
$$6({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
|
|
1842
1842
|
includes: function includes(searchString /* , position = 0 */) {
|
|
1843
1843
|
return !!~stringIndexOf(
|
|
1844
|
-
toString$
|
|
1845
|
-
toString$
|
|
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
|
-
|
|
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
|
|
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 (
|
|
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
|
-
|
|
6104
|
-
const
|
|
6105
|
-
const
|
|
6106
|
-
|
|
6107
|
-
|
|
6108
|
-
const
|
|
6109
|
-
const
|
|
6110
|
-
|
|
6111
|
-
|
|
6112
|
-
|
|
6113
|
-
|
|
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
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
7757
|
-
var requireObjectCoercible$1 = requireObjectCoercible$
|
|
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$
|
|
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$
|
|
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$
|
|
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
|
-
|
|
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,
|
|
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
package/src/store/index.d.ts
CHANGED
|
@@ -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:
|
|
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;
|
|
@@ -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 {};
|
|
File without changes
|