@opengeoweb/core 9.9.0 → 9.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.esm.js +237 -371
- package/package.json +2 -4
- package/src/lib/components/ComponentsLookUp/componentsLookUp.d.ts +4 -10
- package/src/lib/components/MapDrawToolRedux/MapDrawToolRedux.stories.d.ts +1 -0
- package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.d.ts +2 -1
- package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/DimensionSelectSliderConnect.d.ts +0 -2
- package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/MultiDimensionSelectConnect.stories.d.ts +0 -1
- package/src/lib/components/SyncGroups/SyncGroups.FourMapsSynced.stories.d.ts +6 -0
- package/src/lib/components/SyncGroups/SyncGroups.TwoMapsSynced.stories.d.ts +6 -0
- package/src/lib/components/TimeSliderLite/TimeSliderLiteConnect.d.ts +7 -1
- package/src/lib/components/TimeSliderLite/TimeSliderLiteOptionsMenu/TimeRangeOptions/DayHourSelector.d.ts +3 -3
- package/src/lib/components/TimeSliderLite/TimeSliderLiteOptionsMenu/TimeStepOptions/TimeStepSelector.d.ts +3 -3
- package/src/lib/components/TimeSliderLite/TimeSliderLiteOptionsMenu/UpdateIntervalOptions/UpdateIntervalOptions.d.ts +4 -1
- package/src/lib/components/TimeSliderLite/timeSliderLiteUtils.d.ts +31 -0
- package/src/lib/components/TimeSliderLite/useOnToggleAnimation.d.ts +2 -2
- package/src/lib/index.d.ts +7 -7
- package/src/lib/utils/jsonPresetFilter.d.ts +1 -1
- package/src/lib/components/MultiMapDimensionSelect/DimensionSelectButton.d.ts +0 -8
- package/src/lib/components/MultiMapDimensionSelect/DimensionSelectButton.spec.d.ts +0 -1
- package/src/lib/components/MultiMapDimensionSelect/DimensionSelectDialogConnect.stories.d.ts +0 -29
- package/src/lib/components/MultiMapDimensionSelect/DimensionSelectSlider.d.ts +0 -14
- package/src/lib/components/MultiMapDimensionSelect/DimensionSelectSlider.spec.d.ts +0 -1
- package/src/lib/components/MultiMapDimensionSelect/MultiDimensionSelectConfig.d.ts +0 -11
- package/src/lib/storybookUtils/HelperComponents.d.ts +0 -15
- package/src/lib/storybookUtils/defaultStorySettings.d.ts +0 -22
- package/src/lib/storybookUtils/store.d.ts +0 -2
- package/src/lib/utils/dimensionUtils.d.ts +0 -7
- package/src/lib/utils/dimensionUtils.spec.d.ts +0 -1
- /package/src/lib/components/{ConfigurableMap → ConfigurableMapConnect}/ConfigurableMapConnect.d.ts +0 -0
- /package/src/lib/components/{ConfigurableMap → ConfigurableMapConnect}/ConfigurableMapConnect.spec.d.ts +0 -0
- /package/src/lib/components/{ConfigurableMap → ConfigurableMapConnect}/ConfigurableMapConnect.stories.d.ts +0 -0
- /package/src/lib/components/{ConfigurableMap → ConfigurableMapConnect}/index.d.ts +0 -0
- /package/src/lib/components/{Legend → LegendConnect}/LegendConnect.d.ts +0 -0
- /package/src/lib/components/{Legend → LegendConnect}/LegendConnect.spec.d.ts +0 -0
- /package/src/lib/components/{Legend → LegendConnect}/LegendConnect.stories.d.ts +0 -0
- /package/src/lib/components/{Legend → LegendConnect}/LegendMapButtonConnect.d.ts +0 -0
- /package/src/lib/components/{Legend → LegendConnect}/LegendMapButtonConnect.spec.d.ts +0 -0
- /package/src/lib/components/{Legend → LegendConnect}/index.d.ts +0 -0
- /package/src/lib/components/{MapControls → MapControlsConnect}/ZoomControlsConnect.d.ts +0 -0
- /package/src/lib/components/{MapControls → MapControlsConnect}/ZoomControlsConnect.spec.d.ts +0 -0
- /package/src/lib/components/{MapControls → MapControlsConnect}/index.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.DoubleMap.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.Errors.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.FeatureLayers.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.InitialBBoxAndWithout.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.LayerActions.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.LayerChangeEnabledOpacity.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.MapModuleOverDefaultMap.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.MapPin.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.MultiMapLayerManager.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.SelectorTest.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.SetBaseLayers.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.ToggleControls.stories.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/MapViewConnect.spec.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/index.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/types.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/useKeyboardZoomAndPan.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/useKeyboardZoomAndPan.spec.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/useTouchZoomPan.d.ts +0 -0
- /package/src/lib/components/{MapView → MapViewConnect}/useTouchZoomPan.spec.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/DimensionSelectButtonConnect.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/DimensionSelectButtonConnect.spec.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/DimensionSelectDialogConnect.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/DimensionSelectDialogConnect.spec.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/DimensionSelectSliderConnect.spec.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/EnsembleDimensionExample.stories.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/MultiDimensionSelectMapButtonsConnect.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/MultiDimensionSelectMapButtonsConnect.spec.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/MultiMapMultiDimensionSelect.stories.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/MultiMapMultiDimensionSelectConnect.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/MultiMapMultiDimensionSelectConnect.spec.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/MultiMapSingleDimensionSelectConnect.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/MultiMapSingleDimensionSelectConnect.spec.d.ts +0 -0
- /package/src/lib/components/{MultiMapDimensionSelect → MultiMapDimensionSelectConnect}/index.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/HarmoniePresets/HarmonieTempAndPrecipPreset.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/HarmoniePresets/index.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/ModelRunInterval/ModelRunInterval.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/ModelRunInterval/ModelRunInterval.spec.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/ModelRunInterval/ModelRunInterval.stories.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/ModelRunInterval/index.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/MultiMapView.stories.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/MultiMapView10x10.stories.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/MultiMapView2x2.stories.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/MultiMapView4x3.stories.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/MultiMapViewConnect.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/MultiMapViewConnect.spec.d.ts +0 -0
- /package/src/lib/components/{MultiMapView → MultiMapViewConnect}/storyUtils/mapPresets.d.ts +0 -0
- /package/src/lib/components/{TimeSlider → TimeSliderConnect}/AutoUpdate.stories.d.ts +0 -0
- /package/src/lib/components/{TimeSlider → TimeSliderConnect}/TimeSliderConnect.stories.d.ts +0 -0
package/index.esm.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import React__default, { useState, useCallback, useRef, useEffect, useLayoutEffect } from 'react';
|
|
3
|
-
import { Grid, Box, MenuItem, Typography, useTheme, Button, Popper, ListItemText, ListItemIcon, FormControl, InputLabel, Paper, List, ListItemButton, CircularProgress, ListSubheader, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, InputAdornment, DialogActions,
|
|
3
|
+
import { Grid, Box, MenuItem, Typography, useTheme, Button, Popper, ListItemText, ListItemIcon, LinearProgress, FormControl, InputLabel, Paper, List, ListItemButton, CircularProgress, ListSubheader, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, InputAdornment, DialogActions, Checkbox, Card, IconButton, Select, CardContent, RadioGroup, FormControlLabel, Radio, ToggleButtonGroup, ToggleButton, Divider, Tooltip, ButtonGroup } from '@mui/material';
|
|
4
4
|
import { CustomIconButton, TooltipSelect, AlertIcon, useControlledTooltip, CustomTooltip, tooltipContainerStyles, sliderHeaderStyle, CustomSlider, ToggleMenu, renderCounter, AlertBanner, CustomAccordion, calculateStartSize, ToolContainerDraggable, dateUtils, withEggs } from '@opengeoweb/shared';
|
|
5
5
|
import { LayerSelectButtonConnect, LayerInfoButton, LayerInfoButtonConnect, getUserAddedServices, layerSelectConfig } from '@opengeoweb/layer-select';
|
|
6
|
-
import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, Copy, None, FastForward, AutoUpdateActive, Both, Visibility, VisibilityOff, Delete, DragHandle as DragHandle$1, Cached, Add, MapAdd, WorldMapProjection, Layers,
|
|
7
|
-
import { useDispatch, useSelector, connect, Provider } from 'react-redux';
|
|
6
|
+
import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, Copy, None, FastForward, AutoUpdateActive, Both, Visibility, VisibilityOff, Delete, DragHandle as DragHandle$1, Cached, Add, MapAdd, WorldMapProjection, Layers, List as List$1, ExitDomain, Info, Search, MyLocation, Close, ChevronDown, ChevronUp, StepForward, StepBackward, Pause, Play, Options, ThemeWrapper, lightTheme } from '@opengeoweb/theme';
|
|
7
|
+
import { useDispatch, useSelector, connect, useStore, Provider } from 'react-redux';
|
|
8
8
|
import { ReactSortable } from 'react-sortablejs';
|
|
9
9
|
import Sortable from 'sortablejs';
|
|
10
|
-
import { layerTypes, layerUtils, layerActions, layerSelectors, serviceSelectors, serviceActions, mapSelectors, mapActions, mapEnums, mapConstants, filterLayers, uiSelectors, uiTypes, useSetupDialog, uiActions,
|
|
11
|
-
import { WMGetServiceFromStore, getCapabilities, webmapUtils, LayerType, handleMomentISOString, WMLayer } from '@opengeoweb/webmap';
|
|
10
|
+
import { layerTypes, layerUtils, layerActions, layerSelectors, serviceSelectors, serviceActions, mapSelectors, mapActions, mapEnums, mapConstants, filterLayers, uiSelectors, uiTypes, useSetupDialog, uiActions, genericActions, drawtoolSelectors, syncConstants, defaultLayers, mapStoreActions, getSingularDrawtoolDrawLayerId, syncGroupsSelectors, syncGroupsSelector, coreModuleConfig, routerUtils, routerModuleConfig, appModuleConfig, appActions } from '@opengeoweb/store';
|
|
11
|
+
import { WMGetServiceFromStore, getCapabilities, webmapUtils, LayerType, handleMomentISOString, WMLayer, getWMJSMapById } from '@opengeoweb/webmap';
|
|
12
12
|
import { Box as Box$1 } from '@mui/system';
|
|
13
13
|
import _, { isEqual, range } from 'lodash';
|
|
14
|
-
import { MapControlButton, ZoomControls, MapView, MapViewLayer, LegendDialog, registerDrawFunction, emptyGeoJSON, MapControls, publicLayers } from '@opengeoweb/webmap-react';
|
|
14
|
+
import { MapControlButton, MapDimensionSelect, dimensionConfig, DimensionSelectDialog, DimensionSelectButton, ZoomControls, MapView, MapViewLayer, LegendDialog, registerDrawFunction, emptyGeoJSON, MapControls, publicLayers } from '@opengeoweb/webmap-react';
|
|
15
15
|
import { TIME_SLIDER_LEGEND_HEIGHT, TimeSliderConnect, TimeSliderClockConnect, speedFactors } from '@opengeoweb/timeslider';
|
|
16
16
|
import axios from 'axios';
|
|
17
17
|
import { useDebounce } from '@opengeoweb/api';
|
|
@@ -922,6 +922,9 @@ var DimensionSelectValue = function DimensionSelectValue(_ref) {
|
|
|
922
922
|
var isLatest = isReferenceTimeDimensionAndUseLatestIsAvailable && useLatestReferenceTime && selectedDimension.maxValue === selectedDimension.currentValue;
|
|
923
923
|
return /*#__PURE__*/React__default.createElement(TooltipSelect, {
|
|
924
924
|
disableUnderline: true,
|
|
925
|
+
SelectDisplayProps: {
|
|
926
|
+
'aria-label': 'dimensionSelectValue'
|
|
927
|
+
},
|
|
925
928
|
tooltip: tooltip,
|
|
926
929
|
isEnabled: isEnabled,
|
|
927
930
|
value: isLatest ? 'Latest' : selectedDimension.currentValue,
|
|
@@ -986,6 +989,9 @@ var DimensionSelectName = function DimensionSelectName(_ref) {
|
|
|
986
989
|
return /*#__PURE__*/React__default.createElement(TooltipSelect, {
|
|
987
990
|
disableUnderline: true,
|
|
988
991
|
tooltip: tooltip,
|
|
992
|
+
SelectDisplayProps: {
|
|
993
|
+
'aria-label': 'dimensionSelectName'
|
|
994
|
+
},
|
|
989
995
|
isEnabled: isEnabled,
|
|
990
996
|
value: selectedDimensionName,
|
|
991
997
|
list: dimensionNames.map(function (name) {
|
|
@@ -3116,7 +3122,7 @@ var DragHandle = function DragHandle(_ref) {
|
|
|
3116
3122
|
}, icon);
|
|
3117
3123
|
};
|
|
3118
3124
|
|
|
3119
|
-
var LayerContainerRow = function
|
|
3125
|
+
var LayerContainerRow = /*#__PURE__*/React.memo(function (_a) {
|
|
3120
3126
|
var mapId = _a.mapId,
|
|
3121
3127
|
settings = _a.settings,
|
|
3122
3128
|
gridProps = __rest(_a, ["mapId", "settings"]);
|
|
@@ -3125,6 +3131,14 @@ var LayerContainerRow = function LayerContainerRow(_a) {
|
|
|
3125
3131
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
3126
3132
|
keyPressed = _React$useState2[0],
|
|
3127
3133
|
setKeyPressed = _React$useState2[1];
|
|
3134
|
+
var _React$useTransition = React.useTransition(),
|
|
3135
|
+
_React$useTransition2 = _slicedToArray(_React$useTransition, 2),
|
|
3136
|
+
isPending = _React$useTransition2[0],
|
|
3137
|
+
startTransition = _React$useTransition2[1];
|
|
3138
|
+
var _React$useState3 = React.useState(0),
|
|
3139
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
3140
|
+
rowsToDisplay = _React$useState4[0],
|
|
3141
|
+
setRowsToDisplay = _React$useState4[1];
|
|
3128
3142
|
var layerIds = useSelector(function (store) {
|
|
3129
3143
|
return mapSelectors.getLayerIds(store, mapId);
|
|
3130
3144
|
});
|
|
@@ -3139,10 +3153,10 @@ var LayerContainerRow = function LayerContainerRow(_a) {
|
|
|
3139
3153
|
origin: layerTypes.LayerActionOrigin.layerManager
|
|
3140
3154
|
}));
|
|
3141
3155
|
}, [dispatch]);
|
|
3142
|
-
var _React$
|
|
3143
|
-
_React$
|
|
3144
|
-
activeDragIndex = _React$
|
|
3145
|
-
setActiveDragIndex = _React$
|
|
3156
|
+
var _React$useState5 = React.useState(null),
|
|
3157
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
3158
|
+
activeDragIndex = _React$useState6[0],
|
|
3159
|
+
setActiveDragIndex = _React$useState6[1];
|
|
3146
3160
|
var onSetList = function onSetList() {}; // since we use activeDragIndex, we don't need inner state handling of ReactSortable
|
|
3147
3161
|
var onStart = React.useCallback(function (_ref2) {
|
|
3148
3162
|
var oldIndex = _ref2.oldIndex;
|
|
@@ -3200,6 +3214,31 @@ var LayerContainerRow = function LayerContainerRow(_a) {
|
|
|
3200
3214
|
return window.removeEventListener('wheel', preventDefault);
|
|
3201
3215
|
};
|
|
3202
3216
|
}, [keyPressed, preventDefault]);
|
|
3217
|
+
var contents = layerIds.map(function (layerId, index) {
|
|
3218
|
+
var _a, _b;
|
|
3219
|
+
return /*#__PURE__*/React.createElement(LayerRowConnect, {
|
|
3220
|
+
mapId: mapId,
|
|
3221
|
+
layerId: layerId,
|
|
3222
|
+
layerIndex: index,
|
|
3223
|
+
key: "layerRowConnect-".concat(layerId),
|
|
3224
|
+
dragHandle: /*#__PURE__*/React.createElement(DragHandle, {
|
|
3225
|
+
isDisabled: isDragDisabled,
|
|
3226
|
+
index: index,
|
|
3227
|
+
hideTooltip: isSorting || isDragDisabled,
|
|
3228
|
+
isSorting: isSorting,
|
|
3229
|
+
icon: (_a = settings === null || settings === void 0 ? void 0 : settings.dragHandle) === null || _a === void 0 ? void 0 : _a.icon,
|
|
3230
|
+
tooltipTitle: (_b = settings === null || settings === void 0 ? void 0 : settings.dragHandle) === null || _b === void 0 ? void 0 : _b.tooltipTitle
|
|
3231
|
+
}),
|
|
3232
|
+
settings: settings
|
|
3233
|
+
});
|
|
3234
|
+
});
|
|
3235
|
+
React.useEffect(function () {
|
|
3236
|
+
if (rowsToDisplay < contents.length) {
|
|
3237
|
+
startTransition(function () {
|
|
3238
|
+
setRowsToDisplay(rowsToDisplay + contents.length);
|
|
3239
|
+
});
|
|
3240
|
+
}
|
|
3241
|
+
}, [contents.length, rowsToDisplay]);
|
|
3203
3242
|
return /*#__PURE__*/React.createElement(Grid, Object.assign({
|
|
3204
3243
|
container: true,
|
|
3205
3244
|
item: true,
|
|
@@ -3229,25 +3268,10 @@ var LayerContainerRow = function LayerContainerRow(_a) {
|
|
|
3229
3268
|
style: {
|
|
3230
3269
|
width: '100%'
|
|
3231
3270
|
}
|
|
3232
|
-
},
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
layerId: layerId,
|
|
3237
|
-
layerIndex: index,
|
|
3238
|
-
key: "layerRowConnect-".concat(layerId),
|
|
3239
|
-
dragHandle: /*#__PURE__*/React.createElement(DragHandle, {
|
|
3240
|
-
isDisabled: isDragDisabled,
|
|
3241
|
-
index: index,
|
|
3242
|
-
hideTooltip: isSorting || isDragDisabled,
|
|
3243
|
-
isSorting: isSorting,
|
|
3244
|
-
icon: (_a = settings === null || settings === void 0 ? void 0 : settings.dragHandle) === null || _a === void 0 ? void 0 : _a.icon,
|
|
3245
|
-
tooltipTitle: (_b = settings === null || settings === void 0 ? void 0 : settings.dragHandle) === null || _b === void 0 ? void 0 : _b.tooltipTitle
|
|
3246
|
-
}),
|
|
3247
|
-
settings: settings
|
|
3248
|
-
});
|
|
3249
|
-
})));
|
|
3250
|
-
};
|
|
3271
|
+
}, isPending ? ( /*#__PURE__*/React.createElement(LinearProgress, {
|
|
3272
|
+
"data-testid": "loading-bar"
|
|
3273
|
+
})) : contents.slice(0, rowsToDisplay)));
|
|
3274
|
+
});
|
|
3251
3275
|
|
|
3252
3276
|
/* *
|
|
3253
3277
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -4400,6 +4424,9 @@ var ProjectionSelect = function ProjectionSelect(_ref) {
|
|
|
4400
4424
|
}
|
|
4401
4425
|
}, /*#__PURE__*/React.createElement(TooltipSelect, {
|
|
4402
4426
|
disableUnderline: true,
|
|
4427
|
+
SelectDisplayProps: {
|
|
4428
|
+
'aria-label': 'projectionSelect'
|
|
4429
|
+
},
|
|
4403
4430
|
tooltip: "Projection: ".concat(currentProjectionObject === null || currentProjectionObject === void 0 ? void 0 : currentProjectionObject.name),
|
|
4404
4431
|
isEnabled: true,
|
|
4405
4432
|
style: {
|
|
@@ -4873,203 +4900,6 @@ var LayerManagerMapButtonConnect = function LayerManagerMapButtonConnect(_ref) {
|
|
|
4873
4900
|
}, /*#__PURE__*/React.createElement(Layers, null));
|
|
4874
4901
|
};
|
|
4875
4902
|
|
|
4876
|
-
var dimensionConfig = [{
|
|
4877
|
-
name: 'elevation',
|
|
4878
|
-
label: 'Vertical level',
|
|
4879
|
-
defaultUnit: 'hPa',
|
|
4880
|
-
reversed: true,
|
|
4881
|
-
iconType: 'IconLevels'
|
|
4882
|
-
}, {
|
|
4883
|
-
name: 'ensemble_member',
|
|
4884
|
-
label: 'Ensemble member',
|
|
4885
|
-
defaultUnit: 'member',
|
|
4886
|
-
reversed: false,
|
|
4887
|
-
iconType: 'IconEnsemble'
|
|
4888
|
-
}, {
|
|
4889
|
-
name: 'probability',
|
|
4890
|
-
label: 'Probability',
|
|
4891
|
-
defaultUnit: '%',
|
|
4892
|
-
reversed: false,
|
|
4893
|
-
iconType: 'IconLevels'
|
|
4894
|
-
}, {
|
|
4895
|
-
name: 'level',
|
|
4896
|
-
label: 'Level',
|
|
4897
|
-
defaultUnit: 'level',
|
|
4898
|
-
reversed: false,
|
|
4899
|
-
iconType: 'IconLevels'
|
|
4900
|
-
}];
|
|
4901
|
-
var getDimensionIcon = function getDimensionIcon(iconType) {
|
|
4902
|
-
if (iconType === 'IconEnsemble') {
|
|
4903
|
-
return Equalizer;
|
|
4904
|
-
}
|
|
4905
|
-
return DimensionsElevation;
|
|
4906
|
-
};
|
|
4907
|
-
|
|
4908
|
-
/* *
|
|
4909
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4910
|
-
* you may not use this file except in compliance with the License.
|
|
4911
|
-
* You may obtain a copy of the License at
|
|
4912
|
-
*
|
|
4913
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
4914
|
-
*
|
|
4915
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
4916
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
4917
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4918
|
-
* See the License for the specific language governing permissions and
|
|
4919
|
-
* limitations under the License.
|
|
4920
|
-
*
|
|
4921
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4922
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
4923
|
-
* */
|
|
4924
|
-
var DimensionSelectButton = function DimensionSelectButton(_ref) {
|
|
4925
|
-
var dimension = _ref.dimension,
|
|
4926
|
-
onClickDimensionButton = _ref.onClickDimensionButton,
|
|
4927
|
-
_ref$isActive = _ref.isActive,
|
|
4928
|
-
isActive = _ref$isActive === void 0 ? false : _ref$isActive;
|
|
4929
|
-
var dimConfig = dimensionConfig.find(function (cnf) {
|
|
4930
|
-
return cnf.name === dimension;
|
|
4931
|
-
});
|
|
4932
|
-
var Icon = getDimensionIcon(dimConfig && dimConfig.iconType || 'IconLevels');
|
|
4933
|
-
var title = "Show ".concat(dimConfig ? dimConfig.label.toLowerCase() : dimension.toLowerCase());
|
|
4934
|
-
return /*#__PURE__*/React.createElement(MapControlButton, {
|
|
4935
|
-
title: title,
|
|
4936
|
-
"data-testid": "dimensionMapBtn-".concat(dimension),
|
|
4937
|
-
onClick: onClickDimensionButton,
|
|
4938
|
-
isActive: isActive
|
|
4939
|
-
}, /*#__PURE__*/React.createElement(Icon, null));
|
|
4940
|
-
};
|
|
4941
|
-
|
|
4942
|
-
var SmallFontSlider = styled(Slider)(function () {
|
|
4943
|
-
return {
|
|
4944
|
-
'& .MuiSlider-markLabel': {
|
|
4945
|
-
fontSize: '80%'
|
|
4946
|
-
}
|
|
4947
|
-
};
|
|
4948
|
-
});
|
|
4949
|
-
var DimensionSelectSlider = function DimensionSelectSlider(_ref) {
|
|
4950
|
-
var marks = _ref.marks,
|
|
4951
|
-
layerTitle = _ref.layerTitle,
|
|
4952
|
-
_ref$reverse = _ref.reverse,
|
|
4953
|
-
reverse = _ref$reverse === void 0 ? false : _ref$reverse,
|
|
4954
|
-
_ref$isDisabled = _ref.isDisabled,
|
|
4955
|
-
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
4956
|
-
_ref$managedValue = _ref.managedValue,
|
|
4957
|
-
managedValue = _ref$managedValue === void 0 ? null : _ref$managedValue,
|
|
4958
|
-
_ref$validSelection = _ref.validSelection,
|
|
4959
|
-
validSelection = _ref$validSelection === void 0 ? true : _ref$validSelection,
|
|
4960
|
-
_ref$alertColor = _ref.alertColor,
|
|
4961
|
-
alertColor = _ref$alertColor === void 0 ? 'red' : _ref$alertColor,
|
|
4962
|
-
onChangeDimensionValue = _ref.onChangeDimensionValue;
|
|
4963
|
-
var _useState = useState(0),
|
|
4964
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
4965
|
-
currentIndex = _useState2[0],
|
|
4966
|
-
setCurrentIndex = _useState2[1];
|
|
4967
|
-
if (!marks || !marks.length) {
|
|
4968
|
-
return null;
|
|
4969
|
-
}
|
|
4970
|
-
var sortedMarks = _toConsumableArray(marks).sort(function (a, b) {
|
|
4971
|
-
return Number(typeof a.value === 'number' && typeof b.value === 'number' && a.value - b.value);
|
|
4972
|
-
});
|
|
4973
|
-
var adaptedMarks = reverse ? sortedMarks.reverse() : sortedMarks;
|
|
4974
|
-
var values = adaptedMarks.map(function (m) {
|
|
4975
|
-
return m.value;
|
|
4976
|
-
});
|
|
4977
|
-
// using index as values in slider to get constant spacing between marks
|
|
4978
|
-
var indexLabelMarks = adaptedMarks.map(function (m, index) {
|
|
4979
|
-
return {
|
|
4980
|
-
value: index,
|
|
4981
|
-
label: m.label
|
|
4982
|
-
};
|
|
4983
|
-
});
|
|
4984
|
-
var sliderValue = managedValue !== null ? values.findIndex(function (v) {
|
|
4985
|
-
return v === managedValue;
|
|
4986
|
-
}) : currentIndex;
|
|
4987
|
-
var upDownNavigation = function upDownNavigation(event) {
|
|
4988
|
-
if (event.key === 'ArrowLeft' || event.key === 'ArrowRight' || event.metaKey || event.ctrlKey) {
|
|
4989
|
-
event.preventDefault();
|
|
4990
|
-
}
|
|
4991
|
-
};
|
|
4992
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, {
|
|
4993
|
-
"data-testid": "slider-dimensionSelect",
|
|
4994
|
-
sx: {
|
|
4995
|
-
height: '320px',
|
|
4996
|
-
margin: '10px',
|
|
4997
|
-
marginLeft: '-5px',
|
|
4998
|
-
minWidth: 120,
|
|
4999
|
-
fontSize: '90%'
|
|
5000
|
-
}
|
|
5001
|
-
}, /*#__PURE__*/React.createElement(Box, {
|
|
5002
|
-
component: "span",
|
|
5003
|
-
m: 1
|
|
5004
|
-
}, /*#__PURE__*/React.createElement(SmallFontSlider, {
|
|
5005
|
-
"data-testid": "verticalSlider",
|
|
5006
|
-
orientation: "vertical",
|
|
5007
|
-
"aria-labelledby": "vertical-slider",
|
|
5008
|
-
step: null,
|
|
5009
|
-
min: 0,
|
|
5010
|
-
max: indexLabelMarks.length - 1,
|
|
5011
|
-
marks: indexLabelMarks,
|
|
5012
|
-
style: !validSelection ? {
|
|
5013
|
-
color: alertColor
|
|
5014
|
-
} : {},
|
|
5015
|
-
disabled: isDisabled,
|
|
5016
|
-
value: sliderValue,
|
|
5017
|
-
onKeyDown: upDownNavigation,
|
|
5018
|
-
onChange: function onChange(e, val) {
|
|
5019
|
-
onChangeDimensionValue(values[val].toString());
|
|
5020
|
-
if (!managedValue) {
|
|
5021
|
-
setCurrentIndex(val);
|
|
5022
|
-
}
|
|
5023
|
-
}
|
|
5024
|
-
}))), /*#__PURE__*/React.createElement(CustomTooltip, {
|
|
5025
|
-
title: layerTitle
|
|
5026
|
-
}, /*#__PURE__*/React.createElement(Typography, {
|
|
5027
|
-
variant: "body2",
|
|
5028
|
-
sx: {
|
|
5029
|
-
paddingLeft: '10px',
|
|
5030
|
-
maxWidth: 130,
|
|
5031
|
-
overflow: 'hidden',
|
|
5032
|
-
textOverflow: 'ellipsis'
|
|
5033
|
-
}
|
|
5034
|
-
}, layerTitle)));
|
|
5035
|
-
};
|
|
5036
|
-
|
|
5037
|
-
/* *
|
|
5038
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5039
|
-
* you may not use this file except in compliance with the License.
|
|
5040
|
-
* You may obtain a copy of the License at
|
|
5041
|
-
*
|
|
5042
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
5043
|
-
*
|
|
5044
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
5045
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
5046
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5047
|
-
* See the License for the specific language governing permissions and
|
|
5048
|
-
* limitations under the License.
|
|
5049
|
-
*
|
|
5050
|
-
* Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
5051
|
-
* Copyright 2020 - Finnish Meteorological Institute (FMI)
|
|
5052
|
-
* */
|
|
5053
|
-
var marksByDimension = function marksByDimension(dim) {
|
|
5054
|
-
if (!dim || !dim.name) {
|
|
5055
|
-
return [];
|
|
5056
|
-
}
|
|
5057
|
-
var dimCnf = dimensionConfig.find(function (cnf) {
|
|
5058
|
-
return cnf.name === dim.name;
|
|
5059
|
-
});
|
|
5060
|
-
var defaultUnit = dimCnf ? dimCnf.defaultUnit : '';
|
|
5061
|
-
var marks = [];
|
|
5062
|
-
if (dim && dim.size) {
|
|
5063
|
-
for (var i = 0; i < dim.size(); i += 1) {
|
|
5064
|
-
marks.push({
|
|
5065
|
-
value: Number(dim.getValueForIndex(i)) || dim.getValueForIndex(i),
|
|
5066
|
-
label: "".concat(Number(dim.getValueForIndex(i)) || dim.getValueForIndex(i), " ").concat(dim.unitSymbol ? dim.unitSymbol : defaultUnit)
|
|
5067
|
-
});
|
|
5068
|
-
}
|
|
5069
|
-
}
|
|
5070
|
-
return marks;
|
|
5071
|
-
};
|
|
5072
|
-
|
|
5073
4903
|
/* *
|
|
5074
4904
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5075
4905
|
* you may not use this file except in compliance with the License.
|
|
@@ -5083,64 +4913,27 @@ var marksByDimension = function marksByDimension(dim) {
|
|
|
5083
4913
|
* See the License for the specific language governing permissions and
|
|
5084
4914
|
* limitations under the License.
|
|
5085
4915
|
*
|
|
5086
|
-
* Copyright
|
|
5087
|
-
* Copyright
|
|
4916
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4917
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
5088
4918
|
* */
|
|
5089
|
-
var
|
|
5090
|
-
var
|
|
5091
|
-
|
|
5092
|
-
|
|
5093
|
-
|
|
5094
|
-
"data-testid": "syncDisIcon"
|
|
5095
|
-
}));
|
|
5096
|
-
};
|
|
5097
|
-
var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref2) {
|
|
5098
|
-
var layerId = _ref2.layerId,
|
|
5099
|
-
dimConfig = _ref2.dimConfig,
|
|
5100
|
-
dimensionName = _ref2.dimensionName,
|
|
5101
|
-
handleDimensionValueChanged = _ref2.handleDimensionValueChanged,
|
|
5102
|
-
handleSyncChanged = _ref2.handleSyncChanged;
|
|
4919
|
+
var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref) {
|
|
4920
|
+
var layerId = _ref.layerId,
|
|
4921
|
+
dimensionName = _ref.dimensionName,
|
|
4922
|
+
handleDimensionValueChanged = _ref.handleDimensionValueChanged,
|
|
4923
|
+
handleSyncChanged = _ref.handleSyncChanged;
|
|
5103
4924
|
var layerDimension = useSelector(function (store) {
|
|
5104
4925
|
return layerSelectors.getLayerDimension(store, layerId, dimensionName);
|
|
5105
4926
|
});
|
|
5106
|
-
|
|
5107
|
-
if (!layerDimension || !wmLayer) {
|
|
5108
|
-
return null;
|
|
5109
|
-
}
|
|
5110
|
-
var wmsDimension = wmLayer.getDimension(dimensionName);
|
|
5111
|
-
if (!wmsDimension) {
|
|
4927
|
+
if (!layerDimension) {
|
|
5112
4928
|
return null;
|
|
5113
4929
|
}
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5117
|
-
|
|
5118
|
-
|
|
5119
|
-
|
|
5120
|
-
|
|
5121
|
-
xs: "auto"
|
|
5122
|
-
}, /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
5123
|
-
tooltipTitle: tooltipTitle,
|
|
5124
|
-
"data-testid": "syncButton",
|
|
5125
|
-
onClick: function onClick() {
|
|
5126
|
-
return handleSyncChanged(layerId, dimensionName, layerDimension.currentValue, !layerDimension.synced);
|
|
5127
|
-
},
|
|
5128
|
-
sx: {
|
|
5129
|
-
margin: '5px'
|
|
5130
|
-
}
|
|
5131
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
5132
|
-
isLayerDimensionSynced: isLayerDimensionSynced
|
|
5133
|
-
})), /*#__PURE__*/React.createElement(DimensionSelectSlider, {
|
|
5134
|
-
marks: marks,
|
|
5135
|
-
layerTitle: layerTitle,
|
|
5136
|
-
reverse: dimConfig ? dimConfig.reversed : false,
|
|
5137
|
-
managedValue: Number(layerDimension.currentValue) || layerDimension.currentValue,
|
|
5138
|
-
onChangeDimensionValue: function onChangeDimensionValue(value) {
|
|
5139
|
-
handleDimensionValueChanged(layerId, dimensionName, value);
|
|
5140
|
-
},
|
|
5141
|
-
isDisabled: false,
|
|
5142
|
-
validSelection: layerDimension.synced === false || !(layerDimension.validSyncSelection !== undefined && layerDimension.validSyncSelection === false)
|
|
5143
|
-
}));
|
|
4930
|
+
return /*#__PURE__*/React.createElement(MapDimensionSelect, {
|
|
4931
|
+
layerId: layerId,
|
|
4932
|
+
dimensionName: dimensionName,
|
|
4933
|
+
handleDimensionValueChanged: handleDimensionValueChanged,
|
|
4934
|
+
handleSyncChanged: handleSyncChanged,
|
|
4935
|
+
layerDimension: layerDimension
|
|
4936
|
+
});
|
|
5144
4937
|
};
|
|
5145
4938
|
|
|
5146
4939
|
/* *
|
|
@@ -5156,8 +4949,8 @@ var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref2)
|
|
|
5156
4949
|
* See the License for the specific language governing permissions and
|
|
5157
4950
|
* limitations under the License.
|
|
5158
4951
|
*
|
|
5159
|
-
* Copyright
|
|
5160
|
-
* Copyright
|
|
4952
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4953
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
5161
4954
|
* */
|
|
5162
4955
|
var DimensionSelectDialogConnect = function DimensionSelectDialogConnect(_ref) {
|
|
5163
4956
|
var mapId = _ref.mapId,
|
|
@@ -5207,38 +5000,24 @@ var DimensionSelectDialogConnect = function DimensionSelectDialogConnect(_ref) {
|
|
|
5207
5000
|
return cnf.name === dimensionName;
|
|
5208
5001
|
});
|
|
5209
5002
|
var title = dimConfig ? dimConfig.label : dimensionName;
|
|
5210
|
-
|
|
5211
|
-
|
|
5212
|
-
startPosition: {
|
|
5213
|
-
left: 50,
|
|
5214
|
-
top: topPos
|
|
5215
|
-
},
|
|
5216
|
-
minWidth: 180,
|
|
5217
|
-
title: title,
|
|
5003
|
+
return /*#__PURE__*/React.createElement(DimensionSelectDialog, {
|
|
5004
|
+
dimensionName: dimensionName,
|
|
5218
5005
|
isOpen: isOpen,
|
|
5219
5006
|
"data-testid": "multidimensionContent-".concat(title),
|
|
5220
5007
|
onClose: onCloseDialog,
|
|
5221
|
-
bounds: "parent",
|
|
5222
5008
|
onMouseDown: onMouseDown,
|
|
5223
5009
|
order: order,
|
|
5224
|
-
source: source
|
|
5225
|
-
|
|
5226
|
-
style: {
|
|
5227
|
-
padding: 4
|
|
5228
|
-
}
|
|
5229
|
-
}, /*#__PURE__*/React.createElement(Grid, {
|
|
5230
|
-
container: true,
|
|
5231
|
-
direction: "row"
|
|
5010
|
+
source: source,
|
|
5011
|
+
index: index
|
|
5232
5012
|
}, layerIds.map(function (layerId) {
|
|
5233
5013
|
return /*#__PURE__*/React.createElement(DimensionSelectSliderConnect, {
|
|
5234
5014
|
key: layerId,
|
|
5235
5015
|
handleDimensionValueChanged: handleDimensionValueChanged,
|
|
5236
5016
|
handleSyncChanged: handleSyncChanged,
|
|
5237
5017
|
layerId: layerId,
|
|
5238
|
-
dimConfig: dimConfig,
|
|
5239
5018
|
dimensionName: dimensionName
|
|
5240
5019
|
});
|
|
5241
|
-
}))
|
|
5020
|
+
}));
|
|
5242
5021
|
};
|
|
5243
5022
|
|
|
5244
5023
|
/* *
|
|
@@ -5695,6 +5474,7 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5695
5474
|
var mapId = _a.mapId,
|
|
5696
5475
|
children = _a.children,
|
|
5697
5476
|
props = __rest(_a, ["mapId", "children"]);
|
|
5477
|
+
var store = useStore();
|
|
5698
5478
|
var mapDimensions = useSelector(function (store) {
|
|
5699
5479
|
return mapSelectors.getMapDimensions(store, mapId);
|
|
5700
5480
|
});
|
|
@@ -5734,19 +5514,6 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5734
5514
|
var timestep = useSelector(function (store) {
|
|
5735
5515
|
return mapSelectors.getMapTimeStep(store, mapId);
|
|
5736
5516
|
});
|
|
5737
|
-
// draw tool selectors
|
|
5738
|
-
var activeDrawToolId = useSelector(function (store) {
|
|
5739
|
-
return drawtoolSelectors.getActiveDrawToolId(store);
|
|
5740
|
-
});
|
|
5741
|
-
var shouldAllowMultipleDrawShapes = useSelector(function (store) {
|
|
5742
|
-
return drawtoolSelectors.getShouldAllowMultipleShapes(store, activeDrawToolId);
|
|
5743
|
-
});
|
|
5744
|
-
var geoJSONIntersectionLayerId = useSelector(function (store) {
|
|
5745
|
-
return drawtoolSelectors.getGeoJSONIntersectionLayerId(store, activeDrawToolId);
|
|
5746
|
-
});
|
|
5747
|
-
var geoJSONIntersectionBoundsLayerId = useSelector(function (store) {
|
|
5748
|
-
return drawtoolSelectors.getGeoJSONIntersectionBoundsLayerId(store, activeDrawToolId);
|
|
5749
|
-
});
|
|
5750
5517
|
var dispatch = useDispatch();
|
|
5751
5518
|
var mapChangeDimension = React.useCallback(function (mapDimensionPayload) {
|
|
5752
5519
|
if (mapDimensionPayload.dimension) {
|
|
@@ -5793,18 +5560,46 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5793
5560
|
var setSelectedFeature = React.useCallback(function (payload) {
|
|
5794
5561
|
dispatch(layerActions.setSelectedFeature(payload));
|
|
5795
5562
|
}, [dispatch]);
|
|
5796
|
-
var updateFeature = React.useCallback(function (
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
|
|
5563
|
+
var updateFeature = React.useCallback(function (_ref) {
|
|
5564
|
+
var geojson = _ref.geojson,
|
|
5565
|
+
reason = _ref.reason,
|
|
5566
|
+
layerId = _ref.layerId;
|
|
5567
|
+
var activeDrawToolId = drawtoolSelectors.getActiveDrawToolId(store.getState());
|
|
5568
|
+
var activeDrawMode = drawtoolSelectors.getActiveDrawMode(store.getState(), activeDrawToolId);
|
|
5569
|
+
dispatch(layerActions.updateFeature({
|
|
5570
|
+
geojson: geojson,
|
|
5571
|
+
reason: reason,
|
|
5572
|
+
layerId: layerId,
|
|
5573
|
+
shouldAllowMultipleShapes: drawtoolSelectors.getShouldAllowMultipleShapes(store.getState(), activeDrawToolId),
|
|
5574
|
+
geoJSONIntersectionLayerId: drawtoolSelectors.getGeoJSONIntersectionLayerId(store.getState(), activeDrawToolId),
|
|
5575
|
+
geoJSONIntersectionBoundsLayerId: drawtoolSelectors.getGeoJSONIntersectionBoundsLayerId(store.getState(), activeDrawToolId),
|
|
5576
|
+
selectionType: activeDrawMode === null || activeDrawMode === void 0 ? void 0 : activeDrawMode.selectionType
|
|
5577
|
+
}));
|
|
5578
|
+
}, [dispatch, store]);
|
|
5579
|
+
var exitFeatureDrawMode = React.useCallback(function (_ref2) {
|
|
5580
|
+
var reason = _ref2.reason,
|
|
5581
|
+
layerId = _ref2.layerId;
|
|
5582
|
+
var activeDrawToolId = drawtoolSelectors.getActiveDrawToolId(store.getState());
|
|
5583
|
+
dispatch(layerActions.exitFeatureDrawMode({
|
|
5584
|
+
reason: reason,
|
|
5585
|
+
layerId: layerId,
|
|
5586
|
+
shouldAllowMultipleShapes: drawtoolSelectors.getShouldAllowMultipleShapes(store.getState(), activeDrawToolId)
|
|
5587
|
+
}));
|
|
5588
|
+
}, [dispatch, store]);
|
|
5802
5589
|
var activeWindowId = useSelector(uiSelectors.getActiveWindowId);
|
|
5803
5590
|
var isActiveWindowId = function isActiveWindowId() {
|
|
5804
5591
|
return activeWindowId === mapId;
|
|
5805
5592
|
};
|
|
5806
5593
|
useKeyboardZoomAndPan(isActiveWindowId(), mapId);
|
|
5807
5594
|
useTouchZoomPan(isActiveWindowId(), mapId);
|
|
5595
|
+
var unRegister = React.useCallback(function (mapId) {
|
|
5596
|
+
unregisterMap({
|
|
5597
|
+
mapId: mapId
|
|
5598
|
+
});
|
|
5599
|
+
syncGroupRemoveSource({
|
|
5600
|
+
id: mapId
|
|
5601
|
+
});
|
|
5602
|
+
}, [syncGroupRemoveSource, unregisterMap]);
|
|
5808
5603
|
React.useEffect(function () {
|
|
5809
5604
|
registerMap({
|
|
5810
5605
|
mapId: mapId
|
|
@@ -5813,15 +5608,7 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5813
5608
|
id: mapId,
|
|
5814
5609
|
type: [syncConstants.SYNCGROUPS_TYPE_SETTIME, syncConstants.SYNCGROUPS_TYPE_SETBBOX]
|
|
5815
5610
|
});
|
|
5816
|
-
|
|
5817
|
-
unregisterMap({
|
|
5818
|
-
mapId: mapId
|
|
5819
|
-
});
|
|
5820
|
-
syncGroupRemoveSource({
|
|
5821
|
-
id: mapId
|
|
5822
|
-
});
|
|
5823
|
-
};
|
|
5824
|
-
}, [mapId, registerMap, syncGroupAddSource, syncGroupRemoveSource, unregisterMap]);
|
|
5611
|
+
}, [mapId, registerMap, syncGroupAddSource]);
|
|
5825
5612
|
return /*#__PURE__*/React.createElement("div", {
|
|
5826
5613
|
style: {
|
|
5827
5614
|
height: '100%'
|
|
@@ -5858,6 +5645,9 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5858
5645
|
origin: mapEnums.MapActionOrigin.map,
|
|
5859
5646
|
mapId: mapId
|
|
5860
5647
|
});
|
|
5648
|
+
},
|
|
5649
|
+
onWMJSUnMount: function onWMJSUnMount(mapId) {
|
|
5650
|
+
unRegister(mapId);
|
|
5861
5651
|
}
|
|
5862
5652
|
}), baseLayers.map(function (layer) {
|
|
5863
5653
|
return /*#__PURE__*/React.createElement(MapViewLayer, Object.assign({
|
|
@@ -5911,17 +5701,13 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5911
5701
|
updateFeature({
|
|
5912
5702
|
geojson: geojson,
|
|
5913
5703
|
layerId: layer.id,
|
|
5914
|
-
reason: reason
|
|
5915
|
-
shouldAllowMultipleShapes: shouldAllowMultipleDrawShapes,
|
|
5916
|
-
geoJSONIntersectionLayerId: geoJSONIntersectionLayerId,
|
|
5917
|
-
geoJSONIntersectionBoundsLayerId: geoJSONIntersectionBoundsLayerId
|
|
5704
|
+
reason: reason
|
|
5918
5705
|
});
|
|
5919
5706
|
},
|
|
5920
5707
|
exitDrawModeCallback: function exitDrawModeCallback(reason) {
|
|
5921
5708
|
return exitFeatureDrawMode({
|
|
5922
5709
|
reason: reason,
|
|
5923
|
-
layerId: layer.id
|
|
5924
|
-
shouldAllowMultipleShapes: shouldAllowMultipleDrawShapes
|
|
5710
|
+
layerId: layer.id
|
|
5925
5711
|
});
|
|
5926
5712
|
}
|
|
5927
5713
|
}, layer));
|
|
@@ -6886,6 +6672,7 @@ var ConfigurableMapConnect = function ConfigurableMapConnect(_a) {
|
|
|
6886
6672
|
controls: {},
|
|
6887
6673
|
displayTimeInMap: displayTimeInMap,
|
|
6888
6674
|
showScaleBar: false,
|
|
6675
|
+
shouldAutoFetch: shouldAutoUpdate,
|
|
6889
6676
|
mapId: mapId
|
|
6890
6677
|
}, children), multiLegend && ( /*#__PURE__*/React__default.createElement(LegendConnect, {
|
|
6891
6678
|
showMapId: true,
|
|
@@ -6904,7 +6691,7 @@ var ConfigurableMapConnect = function ConfigurableMapConnect(_a) {
|
|
|
6904
6691
|
isDocked: true,
|
|
6905
6692
|
mapWidthRef: mapWidthRef
|
|
6906
6693
|
}));
|
|
6907
|
-
}, [children, disableTimeSlider, displayDimensionSelectButtonInMap, displayGetFeatureInfoButtonInMap, displayLayerManagerAndLegendButtonInMap, displaySearchButtonInMap, displayTimeInMap, id, mapControls, mapControlsPositionTop, mapId, multiLegend, showClock, title, mapWidthRef]);
|
|
6694
|
+
}, [children, disableTimeSlider, displayDimensionSelectButtonInMap, displayGetFeatureInfoButtonInMap, displayLayerManagerAndLegendButtonInMap, displaySearchButtonInMap, displayTimeInMap, id, mapControls, mapControlsPositionTop, mapId, multiLegend, showClock, shouldAutoUpdate, title, mapWidthRef]);
|
|
6908
6695
|
};
|
|
6909
6696
|
|
|
6910
6697
|
/* *
|
|
@@ -7226,8 +7013,8 @@ var HarmonieTempAndPrecipPreset = function HarmonieTempAndPrecipPreset(_ref) {
|
|
|
7226
7013
|
* See the License for the specific language governing permissions and
|
|
7227
7014
|
* limitations under the License.
|
|
7228
7015
|
*
|
|
7229
|
-
* Copyright
|
|
7230
|
-
* Copyright
|
|
7016
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7017
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
7231
7018
|
* */
|
|
7232
7019
|
var componentsLookUp = function componentsLookUp(_ref) {
|
|
7233
7020
|
var componentType = _ref.componentType,
|
|
@@ -7293,14 +7080,6 @@ var componentsLookUp = function componentsLookUp(_ref) {
|
|
|
7293
7080
|
"data-testid": "coreModelRunInterval"
|
|
7294
7081
|
}));
|
|
7295
7082
|
}
|
|
7296
|
-
case 'TimeSlider':
|
|
7297
|
-
{
|
|
7298
|
-
var sliderPreset = initialProps.sliderPreset;
|
|
7299
|
-
return /*#__PURE__*/React__default.createElement(TimeSliderConnect, Object.assign({}, sliderPreset, {
|
|
7300
|
-
sourceId: id,
|
|
7301
|
-
"data-testid": "coreTimeSliderConnect"
|
|
7302
|
-
}));
|
|
7303
|
-
}
|
|
7304
7083
|
default:
|
|
7305
7084
|
return null;
|
|
7306
7085
|
}
|
|
@@ -7691,11 +7470,76 @@ var MILLISECOND_TO_DAY = 1 / 86400000;
|
|
|
7691
7470
|
var MILLISECOND_TO_SECOND = 1 / 1000;
|
|
7692
7471
|
var MILLISECOND_TO_MINUTE = 1 / 60000;
|
|
7693
7472
|
var MINUTE_TO_SECOND = 60;
|
|
7473
|
+
var MINUTE_TO_MILLISECOND = 60000;
|
|
7694
7474
|
var SECOND_TO_DAY = 1 / 86400;
|
|
7695
7475
|
var SECOND_TO_HOUR = 1 / 3600;
|
|
7696
7476
|
var SECOND_TO_MILLISECOND = 1000;
|
|
7697
7477
|
var SEVEN_DAYS_IN_SECONDS = 7 * 24 * 60 * 60;
|
|
7698
7478
|
var ONE_DAY_IN_SECONDS = DAY_TO_SECOND;
|
|
7479
|
+
/**
|
|
7480
|
+
* Default behaviour for time slider lite to update
|
|
7481
|
+
* - Update current time
|
|
7482
|
+
* - Update time range
|
|
7483
|
+
* - Update layers
|
|
7484
|
+
* @param mapId
|
|
7485
|
+
* @param options
|
|
7486
|
+
*/
|
|
7487
|
+
var defaultTimeSliderLiteUpdate = function defaultTimeSliderLiteUpdate(mapId, options) {
|
|
7488
|
+
var _a;
|
|
7489
|
+
var updateIntervalSeconds = options.updateIntervalSeconds,
|
|
7490
|
+
setCurrentTime = options.setCurrentTime,
|
|
7491
|
+
timeRange = options.timeRange,
|
|
7492
|
+
setTimeRange = options.setTimeRange;
|
|
7493
|
+
setCurrentTime(Math.floor(Date.now() * MILLISECOND_TO_SECOND));
|
|
7494
|
+
if (timeRange) {
|
|
7495
|
+
setTimeRange([timeRange[0] + updateIntervalSeconds, timeRange[1] + updateIntervalSeconds]);
|
|
7496
|
+
}
|
|
7497
|
+
var layers = (_a = getWMJSMapById(mapId)) === null || _a === void 0 ? void 0 : _a.getLayers();
|
|
7498
|
+
layers === null || layers === void 0 ? void 0 : layers.forEach(function (layer) {
|
|
7499
|
+
layer.parseLayer(undefined, true, 'WMLayer timeSliderLite auto update');
|
|
7500
|
+
});
|
|
7501
|
+
};
|
|
7502
|
+
/**
|
|
7503
|
+
* Connected hook for updating time range and current time
|
|
7504
|
+
* @param updateInterval Update interval in minutes
|
|
7505
|
+
* @param timeRange [startTime, endTime] in seconds
|
|
7506
|
+
* @param setTimeRange Sets the time range
|
|
7507
|
+
* @param options Options
|
|
7508
|
+
*/
|
|
7509
|
+
var useAutoUpdate = function useAutoUpdate(mapId, updateInterval, timeRange, setTimeRange, options) {
|
|
7510
|
+
var _a;
|
|
7511
|
+
var _useState = useState(Math.floor(Date.now() * MILLISECOND_TO_SECOND)),
|
|
7512
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
7513
|
+
currentTime = _useState2[0],
|
|
7514
|
+
setCurrentTime = _useState2[1];
|
|
7515
|
+
var _useState3 = useState(),
|
|
7516
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
7517
|
+
updateIntervalInstance = _useState4[0],
|
|
7518
|
+
setUpdateIntervalInstance = _useState4[1];
|
|
7519
|
+
var updateIntervalSeconds = ((_a = updateInterval !== null && updateInterval !== void 0 ? updateInterval : options === null || options === void 0 ? void 0 : options.defaultUpdateInterval) !== null && _a !== void 0 ? _a : 1) * MINUTE_TO_SECOND;
|
|
7520
|
+
useEffect(function () {
|
|
7521
|
+
clearInterval(updateIntervalInstance);
|
|
7522
|
+
var intervalCallback = function intervalCallback() {
|
|
7523
|
+
var _a;
|
|
7524
|
+
return ((_a = options === null || options === void 0 ? void 0 : options.handleUpdate) !== null && _a !== void 0 ? _a : defaultTimeSliderLiteUpdate)(mapId, {
|
|
7525
|
+
updateIntervalSeconds: updateIntervalSeconds,
|
|
7526
|
+
setCurrentTime: setCurrentTime,
|
|
7527
|
+
timeRange: timeRange,
|
|
7528
|
+
setTimeRange: setTimeRange
|
|
7529
|
+
});
|
|
7530
|
+
};
|
|
7531
|
+
var interval = setInterval(intervalCallback, updateIntervalSeconds * SECOND_TO_MILLISECOND);
|
|
7532
|
+
setUpdateIntervalInstance(interval);
|
|
7533
|
+
return function () {
|
|
7534
|
+
return clearInterval(interval);
|
|
7535
|
+
};
|
|
7536
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
7537
|
+
}, [updateIntervalSeconds, timeRange]);
|
|
7538
|
+
return {
|
|
7539
|
+
currentTime: currentTime,
|
|
7540
|
+
updateIntervalSeconds: updateIntervalSeconds
|
|
7541
|
+
};
|
|
7542
|
+
};
|
|
7699
7543
|
/**
|
|
7700
7544
|
* Reformats a date that has capitalized first letter and colon separator for time
|
|
7701
7545
|
* @param dateString Date string from Date.toLocaleDateString
|
|
@@ -7832,12 +7676,12 @@ var defaultTimeRange = function defaultTimeRange(layers) {
|
|
|
7832
7676
|
};
|
|
7833
7677
|
var useDefaultTimeRange = function useDefaultTimeRange(layers, updateThreshold) {
|
|
7834
7678
|
var currentTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Math.floor(Date.now() * MILLISECOND_TO_SECOND);
|
|
7835
|
-
var
|
|
7836
|
-
|
|
7837
|
-
|
|
7838
|
-
defaultStartTime =
|
|
7839
|
-
defaultEndTime =
|
|
7840
|
-
setDefaultTimeRange =
|
|
7679
|
+
var _useState5 = useState([0, 0]),
|
|
7680
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
7681
|
+
_useState6$ = _slicedToArray(_useState6[0], 2),
|
|
7682
|
+
defaultStartTime = _useState6$[0],
|
|
7683
|
+
defaultEndTime = _useState6$[1],
|
|
7684
|
+
setDefaultTimeRange = _useState6[1];
|
|
7841
7685
|
var updateThresholdInMinutes = updateThreshold * MINUTE_TO_SECOND;
|
|
7842
7686
|
var updateDefaultTimeRange = function updateDefaultTimeRange() {
|
|
7843
7687
|
var newTimeRange = defaultTimeRange(layers, currentTime);
|
|
@@ -7850,7 +7694,7 @@ var useDefaultTimeRange = function useDefaultTimeRange(layers, updateThreshold)
|
|
|
7850
7694
|
useEffect(function () {
|
|
7851
7695
|
updateDefaultTimeRange();
|
|
7852
7696
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
7853
|
-
}, [layers]);
|
|
7697
|
+
}, [layers, currentTime]);
|
|
7854
7698
|
return [defaultStartTime, defaultEndTime];
|
|
7855
7699
|
};
|
|
7856
7700
|
var generateCustomTimeList = function generateCustomTimeList(currentTime, startTime, endTime, timeStep, timeZoneOffsetSeconds) {
|
|
@@ -7948,10 +7792,13 @@ var timeSliderLiteUtils = /*#__PURE__*/Object.freeze({
|
|
|
7948
7792
|
MILLISECOND_TO_SECOND: MILLISECOND_TO_SECOND,
|
|
7949
7793
|
MILLISECOND_TO_MINUTE: MILLISECOND_TO_MINUTE,
|
|
7950
7794
|
MINUTE_TO_SECOND: MINUTE_TO_SECOND,
|
|
7795
|
+
MINUTE_TO_MILLISECOND: MINUTE_TO_MILLISECOND,
|
|
7951
7796
|
SECOND_TO_DAY: SECOND_TO_DAY,
|
|
7952
7797
|
SECOND_TO_HOUR: SECOND_TO_HOUR,
|
|
7953
7798
|
SECOND_TO_MILLISECOND: SECOND_TO_MILLISECOND,
|
|
7954
7799
|
SEVEN_DAYS_IN_SECONDS: SEVEN_DAYS_IN_SECONDS,
|
|
7800
|
+
defaultTimeSliderLiteUpdate: defaultTimeSliderLiteUpdate,
|
|
7801
|
+
useAutoUpdate: useAutoUpdate,
|
|
7955
7802
|
reformatFinnishDateString: reformatFinnishDateString,
|
|
7956
7803
|
shortUTCTime: shortUTCTime,
|
|
7957
7804
|
getMonthChanges: getMonthChanges,
|
|
@@ -8454,7 +8301,8 @@ var AnimationSpeedOptions = function AnimationSpeedOptions(_ref) {
|
|
|
8454
8301
|
|
|
8455
8302
|
var defaultUpdateIntervalOptions = [1, 2, 5, 10, 15, 30, 60];
|
|
8456
8303
|
var UpdateIntervalOptions = function UpdateIntervalOptions(_ref) {
|
|
8457
|
-
var
|
|
8304
|
+
var _ref$defaultUpdateInt = _ref.defaultUpdateInterval,
|
|
8305
|
+
defaultUpdateInterval = _ref$defaultUpdateInt === void 0 ? 1 : _ref$defaultUpdateInt,
|
|
8458
8306
|
dropdownButtonIcon = _ref.dropdownButtonIcon,
|
|
8459
8307
|
_ref$intervalOptionPr = _ref.intervalOptionPrefix,
|
|
8460
8308
|
intervalOptionPrefix = _ref$intervalOptionPr === void 0 ? '' : _ref$intervalOptionPr,
|
|
@@ -8496,7 +8344,7 @@ var UpdateIntervalOptions = function UpdateIntervalOptions(_ref) {
|
|
|
8496
8344
|
onChange: function onChange(event) {
|
|
8497
8345
|
var _a;
|
|
8498
8346
|
var newValue = Number((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value);
|
|
8499
|
-
setUpdateInterval && setUpdateInterval(newValue);
|
|
8347
|
+
setUpdateInterval && setUpdateInterval(newValue === defaultValue ? null : newValue);
|
|
8500
8348
|
},
|
|
8501
8349
|
IconComponent: dropdownButtonIcon
|
|
8502
8350
|
}, updateIntervalOptions.map(function (option) {
|
|
@@ -9657,9 +9505,7 @@ var TimeSliderLite = function TimeSliderLite(_ref) {
|
|
|
9657
9505
|
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
9658
9506
|
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
9659
9507
|
* */
|
|
9660
|
-
var useOnToggleAnimation = function useOnToggleAnimation(
|
|
9661
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9662
|
-
dispatch, mapId, selectedTime, timeStep, defaultTimeStep, startTime, endTime, isAnimating, timeSliderProps) {
|
|
9508
|
+
var useOnToggleAnimation = function useOnToggleAnimation(dispatch, mapId, selectedTime, timeStep, defaultTimeStep, startTime, endTime, isAnimating, timeSliderProps) {
|
|
9663
9509
|
var startMapAnimation = function startMapAnimation() {
|
|
9664
9510
|
var _a, _b, _c;
|
|
9665
9511
|
var observedTimeStep = (_a = timeStep === null || timeStep === void 0 ? void 0 : timeStep[0]) !== null && _a !== void 0 ? _a : defaultTimeStep[0];
|
|
@@ -9674,8 +9520,8 @@ dispatch, mapId, selectedTime, timeStep, defaultTimeStep, startTime, endTime, is
|
|
|
9674
9520
|
origin: mapEnums.MapActionOrigin.map
|
|
9675
9521
|
}));
|
|
9676
9522
|
};
|
|
9677
|
-
var onToggleAnimation = function onToggleAnimation() {
|
|
9678
|
-
if (isAnimating) {
|
|
9523
|
+
var onToggleAnimation = function onToggleAnimation(forceStart) {
|
|
9524
|
+
if (isAnimating && !forceStart) {
|
|
9679
9525
|
dispatch(mapActions.mapStopAnimation({
|
|
9680
9526
|
mapId: mapId,
|
|
9681
9527
|
origin: mapEnums.MapActionOrigin.map
|
|
@@ -9700,31 +9546,42 @@ var TimeSliderLiteConnect = function TimeSliderLiteConnect(_a) {
|
|
|
9700
9546
|
var overrideUseTimeRange = _a.overrideUseTimeRange,
|
|
9701
9547
|
overrideUseTimeStep = _a.overrideUseTimeStep,
|
|
9702
9548
|
overrideUseTimeZone = _a.overrideUseTimeZone,
|
|
9549
|
+
overrideUseUpdateInterval = _a.overrideUseUpdateInterval,
|
|
9550
|
+
overrideHandleAutoUpdate = _a.overrideHandleAutoUpdate,
|
|
9703
9551
|
sourceId = _a.sourceId,
|
|
9704
9552
|
mapId = _a.mapId,
|
|
9705
9553
|
_a$isAlwaysVisible = _a.isAlwaysVisible,
|
|
9706
9554
|
isAlwaysVisible = _a$isAlwaysVisible === void 0 ? false : _a$isAlwaysVisible,
|
|
9707
9555
|
TimeSliderLiteOptionsMenuProps = _a.TimeSliderLiteOptionsMenuProps,
|
|
9708
|
-
timeSliderProps = __rest(_a, ["overrideUseTimeRange", "overrideUseTimeStep", "overrideUseTimeZone", "sourceId", "mapId", "isAlwaysVisible", "TimeSliderLiteOptionsMenuProps"]);
|
|
9709
|
-
var _React$useState =
|
|
9556
|
+
timeSliderProps = __rest(_a, ["overrideUseTimeRange", "overrideUseTimeStep", "overrideUseTimeZone", "overrideUseUpdateInterval", "overrideHandleAutoUpdate", "sourceId", "mapId", "isAlwaysVisible", "TimeSliderLiteOptionsMenuProps"]);
|
|
9557
|
+
var _React$useState = React__default.useState(false),
|
|
9710
9558
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
9711
9559
|
menuOpen = _React$useState2[0],
|
|
9712
9560
|
setMenuOpen = _React$useState2[1];
|
|
9713
|
-
var useTimeRange =
|
|
9561
|
+
var useTimeRange = React__default.useState(null);
|
|
9714
9562
|
var _ref = overrideUseTimeRange || useTimeRange,
|
|
9715
9563
|
_ref2 = _slicedToArray(_ref, 2),
|
|
9716
9564
|
timeRange = _ref2[0],
|
|
9717
9565
|
setTimeRange = _ref2[1];
|
|
9718
|
-
var useTimeStep =
|
|
9566
|
+
var useTimeStep = React__default.useState(null);
|
|
9719
9567
|
var _ref3 = overrideUseTimeStep || useTimeStep,
|
|
9720
9568
|
_ref4 = _slicedToArray(_ref3, 2),
|
|
9721
9569
|
timeStep = _ref4[0],
|
|
9722
9570
|
setTimeStep = _ref4[1];
|
|
9723
|
-
var useTimeZone =
|
|
9571
|
+
var useTimeZone = React__default.useState('LT');
|
|
9724
9572
|
var _ref5 = overrideUseTimeZone || useTimeZone,
|
|
9725
9573
|
_ref6 = _slicedToArray(_ref5, 2),
|
|
9726
9574
|
timeZone = _ref6[0],
|
|
9727
9575
|
setTimeZone = _ref6[1];
|
|
9576
|
+
var useUpdateInterval = React__default.useState(null);
|
|
9577
|
+
var _ref7 = overrideUseUpdateInterval || useUpdateInterval,
|
|
9578
|
+
_ref8 = _slicedToArray(_ref7, 2),
|
|
9579
|
+
updateInterval = _ref8[0],
|
|
9580
|
+
setUpdateInterval = _ref8[1];
|
|
9581
|
+
var _useAutoUpdate = useAutoUpdate(mapId, updateInterval, timeRange, setTimeRange, Object.assign(Object.assign({}, TimeSliderLiteOptionsMenuProps), {
|
|
9582
|
+
handleUpdate: overrideHandleAutoUpdate
|
|
9583
|
+
})),
|
|
9584
|
+
currentTime = _useAutoUpdate.currentTime;
|
|
9728
9585
|
var isTimeSliderVisible = useSelector(function (store) {
|
|
9729
9586
|
return mapSelectors.isTimeSliderVisible(store, mapId);
|
|
9730
9587
|
});
|
|
@@ -9756,18 +9613,25 @@ var TimeSliderLiteConnect = function TimeSliderLiteConnect(_a) {
|
|
|
9756
9613
|
var layers = useSelector(function (store) {
|
|
9757
9614
|
return mapSelectors.getMapLayers(store, mapId);
|
|
9758
9615
|
});
|
|
9759
|
-
var _useDefaultTimeRange = useDefaultTimeRange(layers, HOUR_TO_MINUTE),
|
|
9616
|
+
var _useDefaultTimeRange = useDefaultTimeRange(layers, HOUR_TO_MINUTE, currentTime),
|
|
9760
9617
|
_useDefaultTimeRange2 = _slicedToArray(_useDefaultTimeRange, 2),
|
|
9761
9618
|
defaultStartTime = _useDefaultTimeRange2[0],
|
|
9762
9619
|
defaultEndTime = _useDefaultTimeRange2[1];
|
|
9763
|
-
var
|
|
9764
|
-
|
|
9765
|
-
startTime =
|
|
9766
|
-
endTime =
|
|
9620
|
+
var _ref9 = timeRange || [defaultStartTime, defaultEndTime],
|
|
9621
|
+
_ref10 = _slicedToArray(_ref9, 2),
|
|
9622
|
+
startTime = _ref10[0],
|
|
9623
|
+
endTime = _ref10[1];
|
|
9767
9624
|
var selectedTime = useSelector(function (store) {
|
|
9768
9625
|
return mapSelectors.getSelectedTime(store, mapId);
|
|
9769
9626
|
});
|
|
9770
9627
|
var onToggleAnimation = useOnToggleAnimation(dispatch, mapId, selectedTime, timeStep, defaultTimeStep, startTime, endTime, isAnimating, timeSliderProps);
|
|
9628
|
+
// Restart animation if auto updated
|
|
9629
|
+
useEffect(function () {
|
|
9630
|
+
if (isAnimating) {
|
|
9631
|
+
onToggleAnimation(true);
|
|
9632
|
+
}
|
|
9633
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
9634
|
+
}, [currentTime]);
|
|
9771
9635
|
var handleTimeRangeChange = function handleTimeRangeChange(newTimeRange) {
|
|
9772
9636
|
if (isAnimating && newTimeRange) {
|
|
9773
9637
|
dispatch(mapActions.mapStopAnimation({
|
|
@@ -9784,7 +9648,7 @@ var TimeSliderLiteConnect = function TimeSliderLiteConnect(_a) {
|
|
|
9784
9648
|
}
|
|
9785
9649
|
setTimeStep(newTimeStep);
|
|
9786
9650
|
};
|
|
9787
|
-
return /*#__PURE__*/
|
|
9651
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isVisible && menuOpen && ( /*#__PURE__*/React__default.createElement(TimeSliderLiteOptionsMenu, Object.assign({
|
|
9788
9652
|
menuOpen: menuOpen,
|
|
9789
9653
|
setMenuOpen: setMenuOpen,
|
|
9790
9654
|
defaultTimeRange: [defaultStartTime, defaultEndTime],
|
|
@@ -9792,11 +9656,13 @@ var TimeSliderLiteConnect = function TimeSliderLiteConnect(_a) {
|
|
|
9792
9656
|
useTimeRange: [timeRange, handleTimeRangeChange],
|
|
9793
9657
|
useTimeStep: [timeStep, handleTimeStepChange],
|
|
9794
9658
|
useAnimationSpeed: [animationSpeed, handleAnimationSpeedChange],
|
|
9659
|
+
useUpdateInterval: [updateInterval, setUpdateInterval],
|
|
9795
9660
|
useTimeZone: [timeZone, setTimeZone],
|
|
9796
9661
|
closeButtonIcon: (_d = (_c = timeSliderProps.settings) === null || _c === void 0 ? void 0 : _c.closeButton) === null || _d === void 0 ? void 0 : _d.icon,
|
|
9797
9662
|
dropdownButtonIcon: (_f = (_e = timeSliderProps.settings) === null || _e === void 0 ? void 0 : _e.dropdownButton) === null || _f === void 0 ? void 0 : _f.icon,
|
|
9798
9663
|
TimeZoneSwitch: (_g = timeSliderProps === null || timeSliderProps === void 0 ? void 0 : timeSliderProps.settings) === null || _g === void 0 ? void 0 : _g.TimeZoneSwitch
|
|
9799
|
-
}, TimeSliderLiteOptionsMenuProps))), /*#__PURE__*/
|
|
9664
|
+
}, TimeSliderLiteOptionsMenuProps))), /*#__PURE__*/React__default.createElement(TimeSliderLite, Object.assign({
|
|
9665
|
+
currentTime: currentTime,
|
|
9800
9666
|
selectedTime: selectedTime,
|
|
9801
9667
|
timeStep: timeStep !== null && timeStep !== void 0 ? timeStep : defaultTimeStep,
|
|
9802
9668
|
timeZone: timeZone,
|