@opengeoweb/core 9.8.0 → 9.10.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 +246 -372
- package/package.json +2 -4
- package/src/lib/components/ComponentsLookUp/componentsLookUp.d.ts +4 -10
- package/src/lib/components/LayerManager/LayerManagerHeaderOptions.d.ts +2 -2
- package/src/lib/components/LayerManager/LayerManagerUtils.d.ts +2 -6
- package/src/lib/components/LayerManager/ProjectionSelect/ProjectionSelect.d.ts +2 -2
- 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 +4 -6
- 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 +4 -2
- 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';
|
|
@@ -561,7 +561,9 @@ var HeaderOptions = function HeaderOptions(_ref) {
|
|
|
561
561
|
tooltipTitle: "small",
|
|
562
562
|
"data-testid": "collapseSmall-btn",
|
|
563
563
|
onClick: function onClick() {
|
|
564
|
-
if (
|
|
564
|
+
if (!isDockedLayerManager) {
|
|
565
|
+
onChangeSize(sizeSmall);
|
|
566
|
+
} else if (mapWidth && mapWidth > sizeSmall.width) {
|
|
565
567
|
onChangeSize(sizeSmall);
|
|
566
568
|
}
|
|
567
569
|
},
|
|
@@ -570,7 +572,9 @@ var HeaderOptions = function HeaderOptions(_ref) {
|
|
|
570
572
|
tooltipTitle: "medium",
|
|
571
573
|
"data-testid": "collapseMedium-btn",
|
|
572
574
|
onClick: function onClick() {
|
|
573
|
-
if (
|
|
575
|
+
if (!isDockedLayerManager) {
|
|
576
|
+
onChangeSize(sizeMedium);
|
|
577
|
+
} else if (mapWidth && mapWidth > sizeMedium.width) {
|
|
574
578
|
onChangeSize(sizeMedium);
|
|
575
579
|
}
|
|
576
580
|
},
|
|
@@ -579,7 +583,9 @@ var HeaderOptions = function HeaderOptions(_ref) {
|
|
|
579
583
|
tooltipTitle: "large",
|
|
580
584
|
"data-testid": "collapseLarge-btn",
|
|
581
585
|
onClick: function onClick() {
|
|
582
|
-
if (
|
|
586
|
+
if (!isDockedLayerManager) {
|
|
587
|
+
onChangeSize(sizeLarge);
|
|
588
|
+
} else if (mapWidth && mapWidth > sizeLarge.width) {
|
|
583
589
|
onChangeSize(sizeLarge);
|
|
584
590
|
}
|
|
585
591
|
},
|
|
@@ -916,6 +922,9 @@ var DimensionSelectValue = function DimensionSelectValue(_ref) {
|
|
|
916
922
|
var isLatest = isReferenceTimeDimensionAndUseLatestIsAvailable && useLatestReferenceTime && selectedDimension.maxValue === selectedDimension.currentValue;
|
|
917
923
|
return /*#__PURE__*/React__default.createElement(TooltipSelect, {
|
|
918
924
|
disableUnderline: true,
|
|
925
|
+
SelectDisplayProps: {
|
|
926
|
+
'aria-label': 'dimensionSelectValue'
|
|
927
|
+
},
|
|
919
928
|
tooltip: tooltip,
|
|
920
929
|
isEnabled: isEnabled,
|
|
921
930
|
value: isLatest ? 'Latest' : selectedDimension.currentValue,
|
|
@@ -980,6 +989,9 @@ var DimensionSelectName = function DimensionSelectName(_ref) {
|
|
|
980
989
|
return /*#__PURE__*/React__default.createElement(TooltipSelect, {
|
|
981
990
|
disableUnderline: true,
|
|
982
991
|
tooltip: tooltip,
|
|
992
|
+
SelectDisplayProps: {
|
|
993
|
+
'aria-label': 'dimensionSelectName'
|
|
994
|
+
},
|
|
983
995
|
isEnabled: isEnabled,
|
|
984
996
|
value: selectedDimensionName,
|
|
985
997
|
list: dimensionNames.map(function (name) {
|
|
@@ -3110,7 +3122,7 @@ var DragHandle = function DragHandle(_ref) {
|
|
|
3110
3122
|
}, icon);
|
|
3111
3123
|
};
|
|
3112
3124
|
|
|
3113
|
-
var LayerContainerRow = function
|
|
3125
|
+
var LayerContainerRow = /*#__PURE__*/React.memo(function (_a) {
|
|
3114
3126
|
var mapId = _a.mapId,
|
|
3115
3127
|
settings = _a.settings,
|
|
3116
3128
|
gridProps = __rest(_a, ["mapId", "settings"]);
|
|
@@ -3119,6 +3131,14 @@ var LayerContainerRow = function LayerContainerRow(_a) {
|
|
|
3119
3131
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
3120
3132
|
keyPressed = _React$useState2[0],
|
|
3121
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];
|
|
3122
3142
|
var layerIds = useSelector(function (store) {
|
|
3123
3143
|
return mapSelectors.getLayerIds(store, mapId);
|
|
3124
3144
|
});
|
|
@@ -3133,10 +3153,10 @@ var LayerContainerRow = function LayerContainerRow(_a) {
|
|
|
3133
3153
|
origin: layerTypes.LayerActionOrigin.layerManager
|
|
3134
3154
|
}));
|
|
3135
3155
|
}, [dispatch]);
|
|
3136
|
-
var _React$
|
|
3137
|
-
_React$
|
|
3138
|
-
activeDragIndex = _React$
|
|
3139
|
-
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];
|
|
3140
3160
|
var onSetList = function onSetList() {}; // since we use activeDragIndex, we don't need inner state handling of ReactSortable
|
|
3141
3161
|
var onStart = React.useCallback(function (_ref2) {
|
|
3142
3162
|
var oldIndex = _ref2.oldIndex;
|
|
@@ -3194,6 +3214,31 @@ var LayerContainerRow = function LayerContainerRow(_a) {
|
|
|
3194
3214
|
return window.removeEventListener('wheel', preventDefault);
|
|
3195
3215
|
};
|
|
3196
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]);
|
|
3197
3242
|
return /*#__PURE__*/React.createElement(Grid, Object.assign({
|
|
3198
3243
|
container: true,
|
|
3199
3244
|
item: true,
|
|
@@ -3223,25 +3268,10 @@ var LayerContainerRow = function LayerContainerRow(_a) {
|
|
|
3223
3268
|
style: {
|
|
3224
3269
|
width: '100%'
|
|
3225
3270
|
}
|
|
3226
|
-
},
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
layerId: layerId,
|
|
3231
|
-
layerIndex: index,
|
|
3232
|
-
key: "layerRowConnect-".concat(layerId),
|
|
3233
|
-
dragHandle: /*#__PURE__*/React.createElement(DragHandle, {
|
|
3234
|
-
isDisabled: isDragDisabled,
|
|
3235
|
-
index: index,
|
|
3236
|
-
hideTooltip: isSorting || isDragDisabled,
|
|
3237
|
-
isSorting: isSorting,
|
|
3238
|
-
icon: (_a = settings === null || settings === void 0 ? void 0 : settings.dragHandle) === null || _a === void 0 ? void 0 : _a.icon,
|
|
3239
|
-
tooltipTitle: (_b = settings === null || settings === void 0 ? void 0 : settings.dragHandle) === null || _b === void 0 ? void 0 : _b.tooltipTitle
|
|
3240
|
-
}),
|
|
3241
|
-
settings: settings
|
|
3242
|
-
});
|
|
3243
|
-
})));
|
|
3244
|
-
};
|
|
3271
|
+
}, isPending ? ( /*#__PURE__*/React.createElement(LinearProgress, {
|
|
3272
|
+
"data-testid": "loading-bar"
|
|
3273
|
+
})) : contents.slice(0, rowsToDisplay)));
|
|
3274
|
+
});
|
|
3245
3275
|
|
|
3246
3276
|
/* *
|
|
3247
3277
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -4394,6 +4424,9 @@ var ProjectionSelect = function ProjectionSelect(_ref) {
|
|
|
4394
4424
|
}
|
|
4395
4425
|
}, /*#__PURE__*/React.createElement(TooltipSelect, {
|
|
4396
4426
|
disableUnderline: true,
|
|
4427
|
+
SelectDisplayProps: {
|
|
4428
|
+
'aria-label': 'projectionSelect'
|
|
4429
|
+
},
|
|
4397
4430
|
tooltip: "Projection: ".concat(currentProjectionObject === null || currentProjectionObject === void 0 ? void 0 : currentProjectionObject.name),
|
|
4398
4431
|
isEnabled: true,
|
|
4399
4432
|
style: {
|
|
@@ -4867,167 +4900,6 @@ var LayerManagerMapButtonConnect = function LayerManagerMapButtonConnect(_ref) {
|
|
|
4867
4900
|
}, /*#__PURE__*/React.createElement(Layers, null));
|
|
4868
4901
|
};
|
|
4869
4902
|
|
|
4870
|
-
var dimensionConfig = [{
|
|
4871
|
-
name: 'elevation',
|
|
4872
|
-
label: 'Vertical level',
|
|
4873
|
-
defaultUnit: 'hPa',
|
|
4874
|
-
reversed: true,
|
|
4875
|
-
iconType: 'IconLevels'
|
|
4876
|
-
}, {
|
|
4877
|
-
name: 'ensemble_member',
|
|
4878
|
-
label: 'Ensemble member',
|
|
4879
|
-
defaultUnit: 'member',
|
|
4880
|
-
reversed: false,
|
|
4881
|
-
iconType: 'IconEnsemble'
|
|
4882
|
-
}, {
|
|
4883
|
-
name: 'probability',
|
|
4884
|
-
label: 'Probability',
|
|
4885
|
-
defaultUnit: '%',
|
|
4886
|
-
reversed: false,
|
|
4887
|
-
iconType: 'IconLevels'
|
|
4888
|
-
}, {
|
|
4889
|
-
name: 'level',
|
|
4890
|
-
label: 'Level',
|
|
4891
|
-
defaultUnit: 'level',
|
|
4892
|
-
reversed: false,
|
|
4893
|
-
iconType: 'IconLevels'
|
|
4894
|
-
}];
|
|
4895
|
-
var getDimensionIcon = function getDimensionIcon(iconType) {
|
|
4896
|
-
if (iconType === 'IconEnsemble') {
|
|
4897
|
-
return Equalizer;
|
|
4898
|
-
}
|
|
4899
|
-
return DimensionsElevation;
|
|
4900
|
-
};
|
|
4901
|
-
|
|
4902
|
-
/* *
|
|
4903
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4904
|
-
* you may not use this file except in compliance with the License.
|
|
4905
|
-
* You may obtain a copy of the License at
|
|
4906
|
-
*
|
|
4907
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
4908
|
-
*
|
|
4909
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
4910
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
4911
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4912
|
-
* See the License for the specific language governing permissions and
|
|
4913
|
-
* limitations under the License.
|
|
4914
|
-
*
|
|
4915
|
-
* Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4916
|
-
* Copyright 2021 - Finnish Meteorological Institute (FMI)
|
|
4917
|
-
* */
|
|
4918
|
-
var DimensionSelectButton = function DimensionSelectButton(_ref) {
|
|
4919
|
-
var dimension = _ref.dimension,
|
|
4920
|
-
onClickDimensionButton = _ref.onClickDimensionButton,
|
|
4921
|
-
_ref$isActive = _ref.isActive,
|
|
4922
|
-
isActive = _ref$isActive === void 0 ? false : _ref$isActive;
|
|
4923
|
-
var dimConfig = dimensionConfig.find(function (cnf) {
|
|
4924
|
-
return cnf.name === dimension;
|
|
4925
|
-
});
|
|
4926
|
-
var Icon = getDimensionIcon(dimConfig && dimConfig.iconType || 'IconLevels');
|
|
4927
|
-
var title = "Show ".concat(dimConfig ? dimConfig.label.toLowerCase() : dimension.toLowerCase());
|
|
4928
|
-
return /*#__PURE__*/React.createElement(MapControlButton, {
|
|
4929
|
-
title: title,
|
|
4930
|
-
"data-testid": "dimensionMapBtn-".concat(dimension),
|
|
4931
|
-
onClick: onClickDimensionButton,
|
|
4932
|
-
isActive: isActive
|
|
4933
|
-
}, /*#__PURE__*/React.createElement(Icon, null));
|
|
4934
|
-
};
|
|
4935
|
-
|
|
4936
|
-
var SmallFontSlider = styled(Slider)(function () {
|
|
4937
|
-
return {
|
|
4938
|
-
'& .MuiSlider-markLabel': {
|
|
4939
|
-
fontSize: '80%'
|
|
4940
|
-
}
|
|
4941
|
-
};
|
|
4942
|
-
});
|
|
4943
|
-
var DimensionSelectSlider = function DimensionSelectSlider(_ref) {
|
|
4944
|
-
var marks = _ref.marks,
|
|
4945
|
-
layerTitle = _ref.layerTitle,
|
|
4946
|
-
_ref$reverse = _ref.reverse,
|
|
4947
|
-
reverse = _ref$reverse === void 0 ? false : _ref$reverse,
|
|
4948
|
-
_ref$isDisabled = _ref.isDisabled,
|
|
4949
|
-
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
4950
|
-
_ref$managedValue = _ref.managedValue,
|
|
4951
|
-
managedValue = _ref$managedValue === void 0 ? null : _ref$managedValue,
|
|
4952
|
-
_ref$validSelection = _ref.validSelection,
|
|
4953
|
-
validSelection = _ref$validSelection === void 0 ? true : _ref$validSelection,
|
|
4954
|
-
_ref$alertColor = _ref.alertColor,
|
|
4955
|
-
alertColor = _ref$alertColor === void 0 ? 'red' : _ref$alertColor,
|
|
4956
|
-
onChangeDimensionValue = _ref.onChangeDimensionValue;
|
|
4957
|
-
var _useState = useState(0),
|
|
4958
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
4959
|
-
currentIndex = _useState2[0],
|
|
4960
|
-
setCurrentIndex = _useState2[1];
|
|
4961
|
-
if (!marks || !marks.length) {
|
|
4962
|
-
return null;
|
|
4963
|
-
}
|
|
4964
|
-
var sortedMarks = _toConsumableArray(marks).sort(function (a, b) {
|
|
4965
|
-
return Number(typeof a.value === 'number' && typeof b.value === 'number' && a.value - b.value);
|
|
4966
|
-
});
|
|
4967
|
-
var adaptedMarks = reverse ? sortedMarks.reverse() : sortedMarks;
|
|
4968
|
-
var values = adaptedMarks.map(function (m) {
|
|
4969
|
-
return m.value;
|
|
4970
|
-
});
|
|
4971
|
-
// using index as values in slider to get constant spacing between marks
|
|
4972
|
-
var indexLabelMarks = adaptedMarks.map(function (m, index) {
|
|
4973
|
-
return {
|
|
4974
|
-
value: index,
|
|
4975
|
-
label: m.label
|
|
4976
|
-
};
|
|
4977
|
-
});
|
|
4978
|
-
var sliderValue = managedValue !== null ? values.findIndex(function (v) {
|
|
4979
|
-
return v === managedValue;
|
|
4980
|
-
}) : currentIndex;
|
|
4981
|
-
var upDownNavigation = function upDownNavigation(event) {
|
|
4982
|
-
if (event.key === 'ArrowLeft' || event.key === 'ArrowRight' || event.metaKey || event.ctrlKey) {
|
|
4983
|
-
event.preventDefault();
|
|
4984
|
-
}
|
|
4985
|
-
};
|
|
4986
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, {
|
|
4987
|
-
"data-testid": "slider-dimensionSelect",
|
|
4988
|
-
sx: {
|
|
4989
|
-
height: '320px',
|
|
4990
|
-
margin: '10px',
|
|
4991
|
-
marginLeft: '-5px',
|
|
4992
|
-
minWidth: 120,
|
|
4993
|
-
fontSize: '90%'
|
|
4994
|
-
}
|
|
4995
|
-
}, /*#__PURE__*/React.createElement(Box, {
|
|
4996
|
-
component: "span",
|
|
4997
|
-
m: 1
|
|
4998
|
-
}, /*#__PURE__*/React.createElement(SmallFontSlider, {
|
|
4999
|
-
"data-testid": "verticalSlider",
|
|
5000
|
-
orientation: "vertical",
|
|
5001
|
-
"aria-labelledby": "vertical-slider",
|
|
5002
|
-
step: null,
|
|
5003
|
-
min: 0,
|
|
5004
|
-
max: indexLabelMarks.length - 1,
|
|
5005
|
-
marks: indexLabelMarks,
|
|
5006
|
-
style: !validSelection ? {
|
|
5007
|
-
color: alertColor
|
|
5008
|
-
} : {},
|
|
5009
|
-
disabled: isDisabled,
|
|
5010
|
-
value: sliderValue,
|
|
5011
|
-
onKeyDown: upDownNavigation,
|
|
5012
|
-
onChange: function onChange(e, val) {
|
|
5013
|
-
onChangeDimensionValue(values[val].toString());
|
|
5014
|
-
if (!managedValue) {
|
|
5015
|
-
setCurrentIndex(val);
|
|
5016
|
-
}
|
|
5017
|
-
}
|
|
5018
|
-
}))), /*#__PURE__*/React.createElement(CustomTooltip, {
|
|
5019
|
-
title: layerTitle
|
|
5020
|
-
}, /*#__PURE__*/React.createElement(Typography, {
|
|
5021
|
-
variant: "body2",
|
|
5022
|
-
sx: {
|
|
5023
|
-
paddingLeft: '10px',
|
|
5024
|
-
maxWidth: 130,
|
|
5025
|
-
overflow: 'hidden',
|
|
5026
|
-
textOverflow: 'ellipsis'
|
|
5027
|
-
}
|
|
5028
|
-
}, layerTitle)));
|
|
5029
|
-
};
|
|
5030
|
-
|
|
5031
4903
|
/* *
|
|
5032
4904
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5033
4905
|
* you may not use this file except in compliance with the License.
|
|
@@ -5041,100 +4913,27 @@ var DimensionSelectSlider = function DimensionSelectSlider(_ref) {
|
|
|
5041
4913
|
* See the License for the specific language governing permissions and
|
|
5042
4914
|
* limitations under the License.
|
|
5043
4915
|
*
|
|
5044
|
-
* Copyright
|
|
5045
|
-
* Copyright
|
|
4916
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4917
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
5046
4918
|
* */
|
|
5047
|
-
var
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
|
|
5051
|
-
|
|
5052
|
-
return cnf.name === dim.name;
|
|
5053
|
-
});
|
|
5054
|
-
var defaultUnit = dimCnf ? dimCnf.defaultUnit : '';
|
|
5055
|
-
var marks = [];
|
|
5056
|
-
if (dim && dim.size) {
|
|
5057
|
-
for (var i = 0; i < dim.size(); i += 1) {
|
|
5058
|
-
marks.push({
|
|
5059
|
-
value: Number(dim.getValueForIndex(i)) || dim.getValueForIndex(i),
|
|
5060
|
-
label: "".concat(Number(dim.getValueForIndex(i)) || dim.getValueForIndex(i), " ").concat(dim.unitSymbol ? dim.unitSymbol : defaultUnit)
|
|
5061
|
-
});
|
|
5062
|
-
}
|
|
5063
|
-
}
|
|
5064
|
-
return marks;
|
|
5065
|
-
};
|
|
5066
|
-
|
|
5067
|
-
/* *
|
|
5068
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5069
|
-
* you may not use this file except in compliance with the License.
|
|
5070
|
-
* You may obtain a copy of the License at
|
|
5071
|
-
*
|
|
5072
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
5073
|
-
*
|
|
5074
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
5075
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
5076
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5077
|
-
* See the License for the specific language governing permissions and
|
|
5078
|
-
* limitations under the License.
|
|
5079
|
-
*
|
|
5080
|
-
* Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
5081
|
-
* Copyright 2023 - Finnish Meteorological Institute (FMI)
|
|
5082
|
-
* */
|
|
5083
|
-
var Icon = function Icon(_ref) {
|
|
5084
|
-
var isLayerDimensionSynced = _ref.isLayerDimensionSynced;
|
|
5085
|
-
return isLayerDimensionSynced ? ( /*#__PURE__*/React.createElement(Link, {
|
|
5086
|
-
"data-testid": "syncIcon"
|
|
5087
|
-
})) : ( /*#__PURE__*/React.createElement(LinkOff, {
|
|
5088
|
-
"data-testid": "syncDisIcon"
|
|
5089
|
-
}));
|
|
5090
|
-
};
|
|
5091
|
-
var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref2) {
|
|
5092
|
-
var layerId = _ref2.layerId,
|
|
5093
|
-
dimConfig = _ref2.dimConfig,
|
|
5094
|
-
dimensionName = _ref2.dimensionName,
|
|
5095
|
-
handleDimensionValueChanged = _ref2.handleDimensionValueChanged,
|
|
5096
|
-
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;
|
|
5097
4924
|
var layerDimension = useSelector(function (store) {
|
|
5098
4925
|
return layerSelectors.getLayerDimension(store, layerId, dimensionName);
|
|
5099
4926
|
});
|
|
5100
|
-
|
|
5101
|
-
if (!layerDimension || !wmLayer) {
|
|
5102
|
-
return null;
|
|
5103
|
-
}
|
|
5104
|
-
var wmsDimension = wmLayer.getDimension(dimensionName);
|
|
5105
|
-
if (!wmsDimension) {
|
|
4927
|
+
if (!layerDimension) {
|
|
5106
4928
|
return null;
|
|
5107
4929
|
}
|
|
5108
|
-
|
|
5109
|
-
|
|
5110
|
-
|
|
5111
|
-
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
xs: "auto"
|
|
5116
|
-
}, /*#__PURE__*/React.createElement(CustomIconButton, {
|
|
5117
|
-
tooltipTitle: tooltipTitle,
|
|
5118
|
-
"data-testid": "syncButton",
|
|
5119
|
-
onClick: function onClick() {
|
|
5120
|
-
return handleSyncChanged(layerId, dimensionName, layerDimension.currentValue, !layerDimension.synced);
|
|
5121
|
-
},
|
|
5122
|
-
sx: {
|
|
5123
|
-
margin: '5px'
|
|
5124
|
-
}
|
|
5125
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
5126
|
-
isLayerDimensionSynced: isLayerDimensionSynced
|
|
5127
|
-
})), /*#__PURE__*/React.createElement(DimensionSelectSlider, {
|
|
5128
|
-
marks: marks,
|
|
5129
|
-
layerTitle: layerTitle,
|
|
5130
|
-
reverse: dimConfig ? dimConfig.reversed : false,
|
|
5131
|
-
managedValue: Number(layerDimension.currentValue) || layerDimension.currentValue,
|
|
5132
|
-
onChangeDimensionValue: function onChangeDimensionValue(value) {
|
|
5133
|
-
handleDimensionValueChanged(layerId, dimensionName, value);
|
|
5134
|
-
},
|
|
5135
|
-
isDisabled: false,
|
|
5136
|
-
validSelection: layerDimension.synced === false || !(layerDimension.validSyncSelection !== undefined && layerDimension.validSyncSelection === false)
|
|
5137
|
-
}));
|
|
4930
|
+
return /*#__PURE__*/React.createElement(MapDimensionSelect, {
|
|
4931
|
+
layerId: layerId,
|
|
4932
|
+
dimensionName: dimensionName,
|
|
4933
|
+
handleDimensionValueChanged: handleDimensionValueChanged,
|
|
4934
|
+
handleSyncChanged: handleSyncChanged,
|
|
4935
|
+
layerDimension: layerDimension
|
|
4936
|
+
});
|
|
5138
4937
|
};
|
|
5139
4938
|
|
|
5140
4939
|
/* *
|
|
@@ -5150,8 +4949,8 @@ var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref2)
|
|
|
5150
4949
|
* See the License for the specific language governing permissions and
|
|
5151
4950
|
* limitations under the License.
|
|
5152
4951
|
*
|
|
5153
|
-
* Copyright
|
|
5154
|
-
* Copyright
|
|
4952
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
4953
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
5155
4954
|
* */
|
|
5156
4955
|
var DimensionSelectDialogConnect = function DimensionSelectDialogConnect(_ref) {
|
|
5157
4956
|
var mapId = _ref.mapId,
|
|
@@ -5201,38 +5000,24 @@ var DimensionSelectDialogConnect = function DimensionSelectDialogConnect(_ref) {
|
|
|
5201
5000
|
return cnf.name === dimensionName;
|
|
5202
5001
|
});
|
|
5203
5002
|
var title = dimConfig ? dimConfig.label : dimensionName;
|
|
5204
|
-
|
|
5205
|
-
|
|
5206
|
-
startPosition: {
|
|
5207
|
-
left: 50,
|
|
5208
|
-
top: topPos
|
|
5209
|
-
},
|
|
5210
|
-
minWidth: 180,
|
|
5211
|
-
title: title,
|
|
5003
|
+
return /*#__PURE__*/React.createElement(DimensionSelectDialog, {
|
|
5004
|
+
dimensionName: dimensionName,
|
|
5212
5005
|
isOpen: isOpen,
|
|
5213
5006
|
"data-testid": "multidimensionContent-".concat(title),
|
|
5214
5007
|
onClose: onCloseDialog,
|
|
5215
|
-
bounds: "parent",
|
|
5216
5008
|
onMouseDown: onMouseDown,
|
|
5217
5009
|
order: order,
|
|
5218
|
-
source: source
|
|
5219
|
-
|
|
5220
|
-
style: {
|
|
5221
|
-
padding: 4
|
|
5222
|
-
}
|
|
5223
|
-
}, /*#__PURE__*/React.createElement(Grid, {
|
|
5224
|
-
container: true,
|
|
5225
|
-
direction: "row"
|
|
5010
|
+
source: source,
|
|
5011
|
+
index: index
|
|
5226
5012
|
}, layerIds.map(function (layerId) {
|
|
5227
5013
|
return /*#__PURE__*/React.createElement(DimensionSelectSliderConnect, {
|
|
5228
5014
|
key: layerId,
|
|
5229
5015
|
handleDimensionValueChanged: handleDimensionValueChanged,
|
|
5230
5016
|
handleSyncChanged: handleSyncChanged,
|
|
5231
5017
|
layerId: layerId,
|
|
5232
|
-
dimConfig: dimConfig,
|
|
5233
5018
|
dimensionName: dimensionName
|
|
5234
5019
|
});
|
|
5235
|
-
}))
|
|
5020
|
+
}));
|
|
5236
5021
|
};
|
|
5237
5022
|
|
|
5238
5023
|
/* *
|
|
@@ -5689,6 +5474,7 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5689
5474
|
var mapId = _a.mapId,
|
|
5690
5475
|
children = _a.children,
|
|
5691
5476
|
props = __rest(_a, ["mapId", "children"]);
|
|
5477
|
+
var store = useStore();
|
|
5692
5478
|
var mapDimensions = useSelector(function (store) {
|
|
5693
5479
|
return mapSelectors.getMapDimensions(store, mapId);
|
|
5694
5480
|
});
|
|
@@ -5728,19 +5514,6 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5728
5514
|
var timestep = useSelector(function (store) {
|
|
5729
5515
|
return mapSelectors.getMapTimeStep(store, mapId);
|
|
5730
5516
|
});
|
|
5731
|
-
// draw tool selectors
|
|
5732
|
-
var activeDrawToolId = useSelector(function (store) {
|
|
5733
|
-
return drawtoolSelectors.getActiveDrawToolId(store);
|
|
5734
|
-
});
|
|
5735
|
-
var shouldAllowMultipleDrawShapes = useSelector(function (store) {
|
|
5736
|
-
return drawtoolSelectors.getShouldAllowMultipleShapes(store, activeDrawToolId);
|
|
5737
|
-
});
|
|
5738
|
-
var geoJSONIntersectionLayerId = useSelector(function (store) {
|
|
5739
|
-
return drawtoolSelectors.getGeoJSONIntersectionLayerId(store, activeDrawToolId);
|
|
5740
|
-
});
|
|
5741
|
-
var geoJSONIntersectionBoundsLayerId = useSelector(function (store) {
|
|
5742
|
-
return drawtoolSelectors.getGeoJSONIntersectionBoundsLayerId(store, activeDrawToolId);
|
|
5743
|
-
});
|
|
5744
5517
|
var dispatch = useDispatch();
|
|
5745
5518
|
var mapChangeDimension = React.useCallback(function (mapDimensionPayload) {
|
|
5746
5519
|
if (mapDimensionPayload.dimension) {
|
|
@@ -5787,18 +5560,46 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5787
5560
|
var setSelectedFeature = React.useCallback(function (payload) {
|
|
5788
5561
|
dispatch(layerActions.setSelectedFeature(payload));
|
|
5789
5562
|
}, [dispatch]);
|
|
5790
|
-
var updateFeature = React.useCallback(function (
|
|
5791
|
-
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
|
|
5795
|
-
|
|
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]);
|
|
5796
5589
|
var activeWindowId = useSelector(uiSelectors.getActiveWindowId);
|
|
5797
5590
|
var isActiveWindowId = function isActiveWindowId() {
|
|
5798
5591
|
return activeWindowId === mapId;
|
|
5799
5592
|
};
|
|
5800
5593
|
useKeyboardZoomAndPan(isActiveWindowId(), mapId);
|
|
5801
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]);
|
|
5802
5603
|
React.useEffect(function () {
|
|
5803
5604
|
registerMap({
|
|
5804
5605
|
mapId: mapId
|
|
@@ -5807,15 +5608,7 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5807
5608
|
id: mapId,
|
|
5808
5609
|
type: [syncConstants.SYNCGROUPS_TYPE_SETTIME, syncConstants.SYNCGROUPS_TYPE_SETBBOX]
|
|
5809
5610
|
});
|
|
5810
|
-
|
|
5811
|
-
unregisterMap({
|
|
5812
|
-
mapId: mapId
|
|
5813
|
-
});
|
|
5814
|
-
syncGroupRemoveSource({
|
|
5815
|
-
id: mapId
|
|
5816
|
-
});
|
|
5817
|
-
};
|
|
5818
|
-
}, [mapId, registerMap, syncGroupAddSource, syncGroupRemoveSource, unregisterMap]);
|
|
5611
|
+
}, [mapId, registerMap, syncGroupAddSource]);
|
|
5819
5612
|
return /*#__PURE__*/React.createElement("div", {
|
|
5820
5613
|
style: {
|
|
5821
5614
|
height: '100%'
|
|
@@ -5852,6 +5645,9 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5852
5645
|
origin: mapEnums.MapActionOrigin.map,
|
|
5853
5646
|
mapId: mapId
|
|
5854
5647
|
});
|
|
5648
|
+
},
|
|
5649
|
+
onWMJSUnMount: function onWMJSUnMount(mapId) {
|
|
5650
|
+
unRegister(mapId);
|
|
5855
5651
|
}
|
|
5856
5652
|
}), baseLayers.map(function (layer) {
|
|
5857
5653
|
return /*#__PURE__*/React.createElement(MapViewLayer, Object.assign({
|
|
@@ -5905,17 +5701,13 @@ var MapViewConnect = function MapViewConnect(_a) {
|
|
|
5905
5701
|
updateFeature({
|
|
5906
5702
|
geojson: geojson,
|
|
5907
5703
|
layerId: layer.id,
|
|
5908
|
-
reason: reason
|
|
5909
|
-
shouldAllowMultipleShapes: shouldAllowMultipleDrawShapes,
|
|
5910
|
-
geoJSONIntersectionLayerId: geoJSONIntersectionLayerId,
|
|
5911
|
-
geoJSONIntersectionBoundsLayerId: geoJSONIntersectionBoundsLayerId
|
|
5704
|
+
reason: reason
|
|
5912
5705
|
});
|
|
5913
5706
|
},
|
|
5914
5707
|
exitDrawModeCallback: function exitDrawModeCallback(reason) {
|
|
5915
5708
|
return exitFeatureDrawMode({
|
|
5916
5709
|
reason: reason,
|
|
5917
|
-
layerId: layer.id
|
|
5918
|
-
shouldAllowMultipleShapes: shouldAllowMultipleDrawShapes
|
|
5710
|
+
layerId: layer.id
|
|
5919
5711
|
});
|
|
5920
5712
|
}
|
|
5921
5713
|
}, layer));
|
|
@@ -6880,6 +6672,7 @@ var ConfigurableMapConnect = function ConfigurableMapConnect(_a) {
|
|
|
6880
6672
|
controls: {},
|
|
6881
6673
|
displayTimeInMap: displayTimeInMap,
|
|
6882
6674
|
showScaleBar: false,
|
|
6675
|
+
shouldAutoFetch: shouldAutoUpdate,
|
|
6883
6676
|
mapId: mapId
|
|
6884
6677
|
}, children), multiLegend && ( /*#__PURE__*/React__default.createElement(LegendConnect, {
|
|
6885
6678
|
showMapId: true,
|
|
@@ -6898,7 +6691,7 @@ var ConfigurableMapConnect = function ConfigurableMapConnect(_a) {
|
|
|
6898
6691
|
isDocked: true,
|
|
6899
6692
|
mapWidthRef: mapWidthRef
|
|
6900
6693
|
}));
|
|
6901
|
-
}, [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]);
|
|
6902
6695
|
};
|
|
6903
6696
|
|
|
6904
6697
|
/* *
|
|
@@ -7062,7 +6855,7 @@ var useHasSyncGroupWithLayerActions = function useHasSyncGroupWithLayerActions(s
|
|
|
7062
6855
|
var makeMapPreset = function makeMapPreset(timeIncrement, uniqueId, referenceTime, layers, syncGroupsIds, displayLayerManagerAndLegendButtonInMap, displayDimensionSelectButtonInMap) {
|
|
7063
6856
|
var mapTime = dateUtils.dateToString(dateUtils.add(dateUtils.utc(referenceTime), {
|
|
7064
6857
|
hours: timeIncrement
|
|
7065
|
-
}), "yyyy-MM-dd'T'HH:mm:ss'Z'");
|
|
6858
|
+
}), "yyyy-MM-dd'T'HH:mm:ss'Z'") || dateUtils.getCurrentTimeAsString();
|
|
7066
6859
|
return {
|
|
7067
6860
|
id: uniqueId,
|
|
7068
6861
|
syncGroupsIds: syncGroupsIds,
|
|
@@ -7220,8 +7013,8 @@ var HarmonieTempAndPrecipPreset = function HarmonieTempAndPrecipPreset(_ref) {
|
|
|
7220
7013
|
* See the License for the specific language governing permissions and
|
|
7221
7014
|
* limitations under the License.
|
|
7222
7015
|
*
|
|
7223
|
-
* Copyright
|
|
7224
|
-
* Copyright
|
|
7016
|
+
* Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
|
|
7017
|
+
* Copyright 2024 - Finnish Meteorological Institute (FMI)
|
|
7225
7018
|
* */
|
|
7226
7019
|
var componentsLookUp = function componentsLookUp(_ref) {
|
|
7227
7020
|
var componentType = _ref.componentType,
|
|
@@ -7287,14 +7080,6 @@ var componentsLookUp = function componentsLookUp(_ref) {
|
|
|
7287
7080
|
"data-testid": "coreModelRunInterval"
|
|
7288
7081
|
}));
|
|
7289
7082
|
}
|
|
7290
|
-
case 'TimeSlider':
|
|
7291
|
-
{
|
|
7292
|
-
var sliderPreset = initialProps.sliderPreset;
|
|
7293
|
-
return /*#__PURE__*/React__default.createElement(TimeSliderConnect, Object.assign({}, sliderPreset, {
|
|
7294
|
-
sourceId: id,
|
|
7295
|
-
"data-testid": "coreTimeSliderConnect"
|
|
7296
|
-
}));
|
|
7297
|
-
}
|
|
7298
7083
|
default:
|
|
7299
7084
|
return null;
|
|
7300
7085
|
}
|
|
@@ -7685,11 +7470,76 @@ var MILLISECOND_TO_DAY = 1 / 86400000;
|
|
|
7685
7470
|
var MILLISECOND_TO_SECOND = 1 / 1000;
|
|
7686
7471
|
var MILLISECOND_TO_MINUTE = 1 / 60000;
|
|
7687
7472
|
var MINUTE_TO_SECOND = 60;
|
|
7473
|
+
var MINUTE_TO_MILLISECOND = 60000;
|
|
7688
7474
|
var SECOND_TO_DAY = 1 / 86400;
|
|
7689
7475
|
var SECOND_TO_HOUR = 1 / 3600;
|
|
7690
7476
|
var SECOND_TO_MILLISECOND = 1000;
|
|
7691
7477
|
var SEVEN_DAYS_IN_SECONDS = 7 * 24 * 60 * 60;
|
|
7692
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
|
+
};
|
|
7693
7543
|
/**
|
|
7694
7544
|
* Reformats a date that has capitalized first letter and colon separator for time
|
|
7695
7545
|
* @param dateString Date string from Date.toLocaleDateString
|
|
@@ -7826,12 +7676,12 @@ var defaultTimeRange = function defaultTimeRange(layers) {
|
|
|
7826
7676
|
};
|
|
7827
7677
|
var useDefaultTimeRange = function useDefaultTimeRange(layers, updateThreshold) {
|
|
7828
7678
|
var currentTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Math.floor(Date.now() * MILLISECOND_TO_SECOND);
|
|
7829
|
-
var
|
|
7830
|
-
|
|
7831
|
-
|
|
7832
|
-
defaultStartTime =
|
|
7833
|
-
defaultEndTime =
|
|
7834
|
-
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];
|
|
7835
7685
|
var updateThresholdInMinutes = updateThreshold * MINUTE_TO_SECOND;
|
|
7836
7686
|
var updateDefaultTimeRange = function updateDefaultTimeRange() {
|
|
7837
7687
|
var newTimeRange = defaultTimeRange(layers, currentTime);
|
|
@@ -7844,7 +7694,7 @@ var useDefaultTimeRange = function useDefaultTimeRange(layers, updateThreshold)
|
|
|
7844
7694
|
useEffect(function () {
|
|
7845
7695
|
updateDefaultTimeRange();
|
|
7846
7696
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
7847
|
-
}, [layers]);
|
|
7697
|
+
}, [layers, currentTime]);
|
|
7848
7698
|
return [defaultStartTime, defaultEndTime];
|
|
7849
7699
|
};
|
|
7850
7700
|
var generateCustomTimeList = function generateCustomTimeList(currentTime, startTime, endTime, timeStep, timeZoneOffsetSeconds) {
|
|
@@ -7942,10 +7792,13 @@ var timeSliderLiteUtils = /*#__PURE__*/Object.freeze({
|
|
|
7942
7792
|
MILLISECOND_TO_SECOND: MILLISECOND_TO_SECOND,
|
|
7943
7793
|
MILLISECOND_TO_MINUTE: MILLISECOND_TO_MINUTE,
|
|
7944
7794
|
MINUTE_TO_SECOND: MINUTE_TO_SECOND,
|
|
7795
|
+
MINUTE_TO_MILLISECOND: MINUTE_TO_MILLISECOND,
|
|
7945
7796
|
SECOND_TO_DAY: SECOND_TO_DAY,
|
|
7946
7797
|
SECOND_TO_HOUR: SECOND_TO_HOUR,
|
|
7947
7798
|
SECOND_TO_MILLISECOND: SECOND_TO_MILLISECOND,
|
|
7948
7799
|
SEVEN_DAYS_IN_SECONDS: SEVEN_DAYS_IN_SECONDS,
|
|
7800
|
+
defaultTimeSliderLiteUpdate: defaultTimeSliderLiteUpdate,
|
|
7801
|
+
useAutoUpdate: useAutoUpdate,
|
|
7949
7802
|
reformatFinnishDateString: reformatFinnishDateString,
|
|
7950
7803
|
shortUTCTime: shortUTCTime,
|
|
7951
7804
|
getMonthChanges: getMonthChanges,
|
|
@@ -8448,7 +8301,8 @@ var AnimationSpeedOptions = function AnimationSpeedOptions(_ref) {
|
|
|
8448
8301
|
|
|
8449
8302
|
var defaultUpdateIntervalOptions = [1, 2, 5, 10, 15, 30, 60];
|
|
8450
8303
|
var UpdateIntervalOptions = function UpdateIntervalOptions(_ref) {
|
|
8451
|
-
var
|
|
8304
|
+
var _ref$defaultUpdateInt = _ref.defaultUpdateInterval,
|
|
8305
|
+
defaultUpdateInterval = _ref$defaultUpdateInt === void 0 ? 1 : _ref$defaultUpdateInt,
|
|
8452
8306
|
dropdownButtonIcon = _ref.dropdownButtonIcon,
|
|
8453
8307
|
_ref$intervalOptionPr = _ref.intervalOptionPrefix,
|
|
8454
8308
|
intervalOptionPrefix = _ref$intervalOptionPr === void 0 ? '' : _ref$intervalOptionPr,
|
|
@@ -8490,7 +8344,7 @@ var UpdateIntervalOptions = function UpdateIntervalOptions(_ref) {
|
|
|
8490
8344
|
onChange: function onChange(event) {
|
|
8491
8345
|
var _a;
|
|
8492
8346
|
var newValue = Number((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value);
|
|
8493
|
-
setUpdateInterval && setUpdateInterval(newValue);
|
|
8347
|
+
setUpdateInterval && setUpdateInterval(newValue === defaultValue ? null : newValue);
|
|
8494
8348
|
},
|
|
8495
8349
|
IconComponent: dropdownButtonIcon
|
|
8496
8350
|
}, updateIntervalOptions.map(function (option) {
|
|
@@ -9666,8 +9520,8 @@ var useOnToggleAnimation = function useOnToggleAnimation(dispatch, mapId, select
|
|
|
9666
9520
|
origin: mapEnums.MapActionOrigin.map
|
|
9667
9521
|
}));
|
|
9668
9522
|
};
|
|
9669
|
-
var onToggleAnimation = function onToggleAnimation() {
|
|
9670
|
-
if (isAnimating) {
|
|
9523
|
+
var onToggleAnimation = function onToggleAnimation(forceStart) {
|
|
9524
|
+
if (isAnimating && !forceStart) {
|
|
9671
9525
|
dispatch(mapActions.mapStopAnimation({
|
|
9672
9526
|
mapId: mapId,
|
|
9673
9527
|
origin: mapEnums.MapActionOrigin.map
|
|
@@ -9692,31 +9546,42 @@ var TimeSliderLiteConnect = function TimeSliderLiteConnect(_a) {
|
|
|
9692
9546
|
var overrideUseTimeRange = _a.overrideUseTimeRange,
|
|
9693
9547
|
overrideUseTimeStep = _a.overrideUseTimeStep,
|
|
9694
9548
|
overrideUseTimeZone = _a.overrideUseTimeZone,
|
|
9549
|
+
overrideUseUpdateInterval = _a.overrideUseUpdateInterval,
|
|
9550
|
+
overrideHandleAutoUpdate = _a.overrideHandleAutoUpdate,
|
|
9695
9551
|
sourceId = _a.sourceId,
|
|
9696
9552
|
mapId = _a.mapId,
|
|
9697
9553
|
_a$isAlwaysVisible = _a.isAlwaysVisible,
|
|
9698
9554
|
isAlwaysVisible = _a$isAlwaysVisible === void 0 ? false : _a$isAlwaysVisible,
|
|
9699
9555
|
TimeSliderLiteOptionsMenuProps = _a.TimeSliderLiteOptionsMenuProps,
|
|
9700
|
-
timeSliderProps = __rest(_a, ["overrideUseTimeRange", "overrideUseTimeStep", "overrideUseTimeZone", "sourceId", "mapId", "isAlwaysVisible", "TimeSliderLiteOptionsMenuProps"]);
|
|
9701
|
-
var _React$useState =
|
|
9556
|
+
timeSliderProps = __rest(_a, ["overrideUseTimeRange", "overrideUseTimeStep", "overrideUseTimeZone", "overrideUseUpdateInterval", "overrideHandleAutoUpdate", "sourceId", "mapId", "isAlwaysVisible", "TimeSliderLiteOptionsMenuProps"]);
|
|
9557
|
+
var _React$useState = React__default.useState(false),
|
|
9702
9558
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
9703
9559
|
menuOpen = _React$useState2[0],
|
|
9704
9560
|
setMenuOpen = _React$useState2[1];
|
|
9705
|
-
var useTimeRange =
|
|
9561
|
+
var useTimeRange = React__default.useState(null);
|
|
9706
9562
|
var _ref = overrideUseTimeRange || useTimeRange,
|
|
9707
9563
|
_ref2 = _slicedToArray(_ref, 2),
|
|
9708
9564
|
timeRange = _ref2[0],
|
|
9709
9565
|
setTimeRange = _ref2[1];
|
|
9710
|
-
var useTimeStep =
|
|
9566
|
+
var useTimeStep = React__default.useState(null);
|
|
9711
9567
|
var _ref3 = overrideUseTimeStep || useTimeStep,
|
|
9712
9568
|
_ref4 = _slicedToArray(_ref3, 2),
|
|
9713
9569
|
timeStep = _ref4[0],
|
|
9714
9570
|
setTimeStep = _ref4[1];
|
|
9715
|
-
var useTimeZone =
|
|
9571
|
+
var useTimeZone = React__default.useState('LT');
|
|
9716
9572
|
var _ref5 = overrideUseTimeZone || useTimeZone,
|
|
9717
9573
|
_ref6 = _slicedToArray(_ref5, 2),
|
|
9718
9574
|
timeZone = _ref6[0],
|
|
9719
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;
|
|
9720
9585
|
var isTimeSliderVisible = useSelector(function (store) {
|
|
9721
9586
|
return mapSelectors.isTimeSliderVisible(store, mapId);
|
|
9722
9587
|
});
|
|
@@ -9748,18 +9613,25 @@ var TimeSliderLiteConnect = function TimeSliderLiteConnect(_a) {
|
|
|
9748
9613
|
var layers = useSelector(function (store) {
|
|
9749
9614
|
return mapSelectors.getMapLayers(store, mapId);
|
|
9750
9615
|
});
|
|
9751
|
-
var _useDefaultTimeRange = useDefaultTimeRange(layers, HOUR_TO_MINUTE),
|
|
9616
|
+
var _useDefaultTimeRange = useDefaultTimeRange(layers, HOUR_TO_MINUTE, currentTime),
|
|
9752
9617
|
_useDefaultTimeRange2 = _slicedToArray(_useDefaultTimeRange, 2),
|
|
9753
9618
|
defaultStartTime = _useDefaultTimeRange2[0],
|
|
9754
9619
|
defaultEndTime = _useDefaultTimeRange2[1];
|
|
9755
|
-
var
|
|
9756
|
-
|
|
9757
|
-
startTime =
|
|
9758
|
-
endTime =
|
|
9620
|
+
var _ref9 = timeRange || [defaultStartTime, defaultEndTime],
|
|
9621
|
+
_ref10 = _slicedToArray(_ref9, 2),
|
|
9622
|
+
startTime = _ref10[0],
|
|
9623
|
+
endTime = _ref10[1];
|
|
9759
9624
|
var selectedTime = useSelector(function (store) {
|
|
9760
9625
|
return mapSelectors.getSelectedTime(store, mapId);
|
|
9761
9626
|
});
|
|
9762
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]);
|
|
9763
9635
|
var handleTimeRangeChange = function handleTimeRangeChange(newTimeRange) {
|
|
9764
9636
|
if (isAnimating && newTimeRange) {
|
|
9765
9637
|
dispatch(mapActions.mapStopAnimation({
|
|
@@ -9776,7 +9648,7 @@ var TimeSliderLiteConnect = function TimeSliderLiteConnect(_a) {
|
|
|
9776
9648
|
}
|
|
9777
9649
|
setTimeStep(newTimeStep);
|
|
9778
9650
|
};
|
|
9779
|
-
return /*#__PURE__*/
|
|
9651
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, isVisible && menuOpen && ( /*#__PURE__*/React__default.createElement(TimeSliderLiteOptionsMenu, Object.assign({
|
|
9780
9652
|
menuOpen: menuOpen,
|
|
9781
9653
|
setMenuOpen: setMenuOpen,
|
|
9782
9654
|
defaultTimeRange: [defaultStartTime, defaultEndTime],
|
|
@@ -9784,11 +9656,13 @@ var TimeSliderLiteConnect = function TimeSliderLiteConnect(_a) {
|
|
|
9784
9656
|
useTimeRange: [timeRange, handleTimeRangeChange],
|
|
9785
9657
|
useTimeStep: [timeStep, handleTimeStepChange],
|
|
9786
9658
|
useAnimationSpeed: [animationSpeed, handleAnimationSpeedChange],
|
|
9659
|
+
useUpdateInterval: [updateInterval, setUpdateInterval],
|
|
9787
9660
|
useTimeZone: [timeZone, setTimeZone],
|
|
9788
9661
|
closeButtonIcon: (_d = (_c = timeSliderProps.settings) === null || _c === void 0 ? void 0 : _c.closeButton) === null || _d === void 0 ? void 0 : _d.icon,
|
|
9789
9662
|
dropdownButtonIcon: (_f = (_e = timeSliderProps.settings) === null || _e === void 0 ? void 0 : _e.dropdownButton) === null || _f === void 0 ? void 0 : _f.icon,
|
|
9790
9663
|
TimeZoneSwitch: (_g = timeSliderProps === null || timeSliderProps === void 0 ? void 0 : timeSliderProps.settings) === null || _g === void 0 ? void 0 : _g.TimeZoneSwitch
|
|
9791
|
-
}, TimeSliderLiteOptionsMenuProps))), /*#__PURE__*/
|
|
9664
|
+
}, TimeSliderLiteOptionsMenuProps))), /*#__PURE__*/React__default.createElement(TimeSliderLite, Object.assign({
|
|
9665
|
+
currentTime: currentTime,
|
|
9792
9666
|
selectedTime: selectedTime,
|
|
9793
9667
|
timeStep: timeStep !== null && timeStep !== void 0 ? timeStep : defaultTimeStep,
|
|
9794
9668
|
timeZone: timeZone,
|